/* SENSHIN Renewal 3.6.0 / approval-gated refinement.
   Reuses existing brand tokens; no reset, font downloads or layout replacement. */
body.ssui-refined {
  --ssui-edge:var(--ss-line,#dde2dd);
  --ssui-radius:var(--ss-radius,18px);
  --ssui-small:var(--ss-radius-small,12px);
  --ssui-shadow:0 2px 5px rgba(25,56,47,.035),0 12px 32px rgba(25,56,47,.055);
  --ssui-shadow-hover:0 4px 8px rgba(25,56,47,.035),0 16px 38px rgba(25,56,47,.095);
  --ssui-bottom:0px;--ssui-header:108px;--ssui-vh:100dvh;
  --ssui-section:clamp(3.5rem,6.2vw,6rem);--ssui-card:clamp(1.25rem,2.3vw,2rem);
}
body.ssui-spacing-relaxed {--ssui-section:clamp(4rem,7.3vw,7rem)}
body.ssui-refined [hidden] {display:none!important}
body.ssui-visual {line-height:1.9;letter-spacing:.015em;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.ssui-visual :where(h1,h2,h3,h4) {line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
body.ssui-visual :where(h1,h2) {letter-spacing:.015em}
body.ssui-visual :where(p,li,dd) {line-break:strict}
body.ssui-visual :where(.ss-heading h2,.ssx-heading h2) {line-height:1.5;margin-bottom:1.15rem}
body.ssui-visual :where(.ss-heading,.ssx-heading) {margin-bottom:clamp(1.5rem,3vw,2.5rem)}
body.ssui-visual :where(.ss-section,.ssx-section) {padding-block:var(--ssui-section)}
body.ssui-visual .ssx-section--audience {padding-block:2.25rem}
body.ssui-visual :where(.ss-grid,.ssx-grid) {gap:clamp(1rem,2vw,1.75rem)}
body.ssui-visual :where(.ss-grid,.ssx-grid)>* {min-width:0}
body.ssui-visual :where(.ss-content-container,.ss-depth-prose) {overflow-wrap:anywhere}
body.ssui-visual :where(.ss-eyebrow,.ssx-kicker) {font-size:.75rem;letter-spacing:.12em;line-height:1.6}
body.ssui-visual .ssx-shell {--ssx-green:var(--ss-primary);--ssx-ink:var(--ss-ink);--ssx-muted:var(--ss-muted);--ssx-line:var(--ss-line)}
body.ssui-visual :where(.ss-card,.ss-action-card,.ss-program-card,.ssx-audience,.ssx-year,.ssx-belief,.ssx-life-card,.ssx-program,.ssx-story) {
  border:1px solid var(--ssui-edge);border-radius:var(--ssui-radius);box-shadow:var(--ssui-shadow);
}
body.ssui-visual :where(.ssx-audience,.ssx-year,.ssx-program) {padding:var(--ssui-card)}
body.ssui-visual .ssx-audience {padding-right:3.5rem}
body.ssui-visual :where(.ssx-belief>div,.ssx-life-card>div,.ssx-story>a>div) {padding:var(--ssui-card)}
body.ssui-visual :where(.ss-card h3,.ss-action-card h3,.ssx-audience h3,.ssx-program h3) {line-height:1.65;margin-bottom:.7rem}
body.ssui-visual :where(.ssx-audience p,.ssx-program p,.ssx-life-card p) {font-size:.875rem}
body.ssui-visual .ssx-year h3 {font-variant-numeric:tabular-nums;letter-spacing:0}
body.ssui-visual :where(.ss-badge,.ssx-tag) {border-radius:999px;padding:.3rem .8rem;font-size:.75rem;line-height:1.5}
body.ssui-visual :where(.ss-button,.ss-header-cta,.ssx-button) {
  min-height:3.25rem;padding:.85rem 1.5rem;gap:.85rem;line-height:1.55;font-size:.9375rem;
  border-radius:999px;box-shadow:0 2px 3px rgba(25,56,47,.045),0 7px 18px rgba(25,56,47,.07);
  white-space:normal;max-width:100%;text-align:center;
}
body.ssui-visual .ss-header-cta {white-space:nowrap;font-size:.875rem;flex-shrink:0}
body.ssui-visual :where(.ss-button--outline,.ssx-button--ghost) {box-shadow:none;border-width:1px}
body.ssui-visual .ssx-button--light {border-color:rgba(255,255,255,.9)}
body.ssui-visual .ss-primary-nav a {line-height:1.6;font-weight:700}
body.ssui-visual .ss-primary-nav .sub-menu {border-radius:var(--ssui-radius);box-shadow:var(--ssui-shadow-hover)}
body.ssui-visual .ss-site-header {box-shadow:none}
body.ssui-visual .ss-site-header.is-scrolled {box-shadow:0 5px 22px rgba(25,56,47,.08)}
body.ssui-visual .ss-utility a {min-height:28px;display:inline-flex;align-items:center}
body.ssui-visual .ss-hero__content,body.ssui-visual .ssx-hero__copy {max-width:44rem}
body.ssui-visual :where(.ss-hero h1,.ssx-hero h1) {line-height:1.5;text-shadow:0 2px 18px rgba(0,0,0,.2)}
body.ssui-visual .ssx-hero__lead {line-height:2;font-size:1.0625rem}
body.ssui-visual .ss-site-footer {border-top:1px solid var(--ssui-edge)}
body.ssui-visual .ss-footer-sitemap a {display:inline-flex;align-items:center;min-height:38px;text-underline-offset:.28em}
body.ssui-visual :where(.ss-news-list time,.ssx-news time) {font-variant-numeric:tabular-nums;font-size:.875rem}
body.ssui-visual .ssx-faq-item {border:1px solid var(--ssui-edge);border-radius:var(--ssui-small);margin-bottom:12px;overflow:clip}
body.ssui-visual .ssx-faq-item[open] {box-shadow:var(--ssui-shadow)}
body.ssui-visual .ssx-faq-item summary {padding-block:1.25rem}
body.ssui-visual .ssx-faq-answer {line-height:1.95}
body.ssui-visual :where(.ss-actions,.ssx-actions) {gap:1rem}
/* Strong focus, not color alone. Scrolling is synchronized to the actual header. */
body.ssui-refined :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ss-primary-dark,#19382f);outline-offset:4px;box-shadow:0 0 0 7px #fff;
}
body.ssui-reading :where(h2[id],h3[id],details[id],[data-ssx-toc],.ss-inquiry-errors,[aria-invalid=true]) {
  scroll-margin-top:calc(var(--ssui-header) + 24px);scroll-margin-bottom:calc(var(--ssui-bottom) + 28px);
}
body.ssui-reading :where(.ss-depth-prose,.ss-principal-standard__chapters) {line-height:2;word-break:normal}
body.ssui-reading :where(.ss-depth-prose p,.ss-principal-standard__chapters p) {margin-bottom:1.35em}
body.ssui-reading :where(.ss-table-scroll,.ss-learning-table-scroll) {overscroll-behavior-inline:contain;scrollbar-width:thin}
body.ssui-reading :where(table th,table td) {line-height:1.8}
body.ssui-reading .ssx-toc a[aria-current="location"] {color:var(--ss-primary-dark);font-weight:800;text-decoration:underline}
/* Known inputs only; never change hidden, checkbox, radio, file or payment controls. */
body.ssui-forms :where(.ss-inquiry-form,.ss-search-form,.ssx-faq,.ssx-course-search,.ss-faq) :where(input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea) {
  min-height:48px;border:1px solid #819489;border-radius:var(--ssui-small);background:#fff;color:var(--ss-ink);font-size:1rem;padding:.8rem 1rem;max-width:100%;
}
body.ssui-forms [data-senshin-inquiry-form] :where(input[type=text],input[type=email],input[type=tel],textarea,select) {
  min-height:48px;border:1px solid #819489;border-radius:var(--ssui-small);background:#fff;color:var(--ss-ink);font-size:1rem;padding:.8rem 1rem;max-width:100%;
}
body.ssui-forms :where(.ss-inquiry-errors,[aria-invalid=true]) {border-color:#ad392d}
body.ssui-refined :where(button:disabled,[aria-disabled=true]) {cursor:not-allowed}
/* Menus. The same mobile breakpoint is used by the companion JS. */
body.ssui-navigation .ss-primary-nav [aria-current=page] {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
body.ssui-navigation .ssui-submenu-toggle {display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:40px;padding:0;border:0;background:transparent;color:var(--ss-primary-dark);border-radius:8px}
body.ssui-navigation .ssui-submenu-toggle svg {width:16px;height:16px;transition:transform .16s}
body.ssui-navigation .ssui-submenu-toggle[aria-expanded=true] svg {transform:rotate(180deg)}
body.ssui-navigation .ss-primary-nav li.ssui-has-submenu>a {padding-right:28px}
body.ssui-navigation .ssui-submenu-toggle {position:absolute;right:-3px;top:3px}
body.ssui-navigation .ss-primary-nav .sub-menu.ssui-submenu-closed {opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px)}
body.ssui-navigation .ss-primary-nav .sub-menu.ssui-submenu-open {opacity:1;visibility:visible;pointer-events:auto;transform:none}
body.ssui-refined .ss-skip-link:focus {top:12px;z-index:100001}
body.ssui-refined.ssui-keyboard .ss-mobile-actions {visibility:hidden;pointer-events:none}
body.ssui-refined.ss-menu-open .ss-guide-chat {visibility:hidden;pointer-events:none}
body.ssui-refined .ss-guide-chat {bottom:calc(var(--ssui-bottom) + 16px);z-index:1300}
body.ssui-refined .ss-guide-chat__panel {max-height:calc(var(--ssui-vh) - var(--ssui-bottom) - 96px)}
body.ssui-refined .ssx-hero__media :where(.ss-top-media__pause,.ss-top-media__video-toggle) {min-height:44px}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 body.ssui-motion :where(.ss-button,.ss-header-cta,.ssx-button,.ssx-audience,.ssx-year,.ssx-life-card,.ssx-program,.ssx-story>a) {transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
 body.ssui-motion :where(.ssx-audience,.ssx-year,.ssx-life-card,.ssx-program):hover {transform:translateY(-3px);box-shadow:var(--ssui-shadow-hover);border-color:var(--ss-secondary)}
 body.ssui-motion :where(.ss-button,.ss-header-cta,.ssx-button):hover {transform:translateY(-2px)}
 body.ssui-motion :where(.ss-button,.ss-header-cta,.ssx-button):active {transform:translateY(0)}
}
body.ssui-refined:not(.ssui-motion) :where(.ss-button,.ss-header-cta,.ssx-button):hover {transform:none}
@media(max-width:1150px) and (min-width:981px) {
 body.ssui-navigation .ss-header-main__inner {gap:12px}
 body.ssui-navigation .ss-brand {min-width:248px;gap:9px}
 body.ssui-navigation .ss-brand__copy strong {font-size:14px}
 body.ssui-navigation .ss-primary-nav__list {gap:10px}
 body.ssui-navigation .ss-header-cta {padding-inline:15px}
}
@media(max-width:980px) {
 body.ssui-navigation .ss-primary-nav {top:100%;height:auto;max-height:calc(var(--ssui-vh) - var(--ssui-menu-top,68px));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#fff;overflow-y:auto;overscroll-behavior:contain}
 body.ssui-navigation .ss-primary-nav.is-open {display:flex;height:calc(var(--ssui-vh) - var(--ssui-menu-top,68px))}
 body.ssui-navigation .ss-primary-nav .sub-menu {border-radius:0;box-shadow:none;min-width:0}
 body.ssui-navigation .ss-primary-nav .ssui-submenu-toggle {display:none}
 body.ssui-navigation .ss-primary-nav .sub-menu.ssui-submenu-closed {opacity:1;visibility:visible;pointer-events:auto;transform:none}
 body.ssui-navigation .ss-primary-nav li.ssui-has-submenu>a {padding-right:0}
 body.ssui-navigation .ss-menu-button {min-width:44px;min-height:48px;border:1px solid var(--ssui-edge);border-radius:12px;background:rgba(255,255,255,.7)}
 body.ssui-navigation .ss-menu-button {width:44px;min-height:48px;padding:8px 6px;gap:4px;flex:0 0 44px}
 body.ssui-navigation .ss-menu-button span {height:1px;flex:0 0 1px;margin:0}
 body.ssui-navigation .ss-menu-button[aria-expanded=true] span:nth-child(1) {transform:translateY(5px) rotate(45deg)}
 body.ssui-navigation .ss-menu-button[aria-expanded=true] span:nth-child(3) {transform:translateY(-5px) rotate(-45deg)}
 body.ssui-navigation .ss-menu-button b {font-size:9px;line-height:1.2;flex:none;white-space:nowrap;letter-spacing:0}
 body.ssui-navigation.ss-menu-open :where(main,.ss-site-footer,.ss-mobile-actions) {pointer-events:none}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-primary-nav {position:static;display:block;max-height:none;width:100%;padding:18px}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-header-main__inner {flex-wrap:wrap}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-header-main {height:auto}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-primary-nav {order:3}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-site-header {position:relative}
 body.ssui-navigation:not(.ssui-nav-ready) .ss-menu-button {display:none}
}
@media(max-width:680px) {
 body.ssui-refined {--ssui-header:68px;padding-bottom:calc(var(--ssui-bottom) + 12px)}
 body.ssui-visual .ss-brand__copy strong {font-size:12px;line-height:1.4;letter-spacing:0}
 body.ssui-visual :where(.ss-brand__name,.ss-brand__type) {display:inline-block;white-space:nowrap}
 body.ssui-visual .ss-header-cta {font-size:12px;min-height:44px;padding:0 12px}
 body.ssui-navigation .ss-header-main__inner {gap:8px}
 body.ssui-visual :where(.ss-container,.ss-content-container,.ssx-container) {width:calc(100% - 40px)}
 body.ssui-visual :where(.ssx-section,.ss-section) {padding-block:48px}
 body.ssui-visual .ssx-section--audience {padding-block:28px}
 body.ssui-visual :where(.ss-button,.ssx-button) {min-height:52px;font-size:.9375rem;padding-inline:1.15rem}
 body.ssui-visual :where(.ssx-hero h1,.ss-hero h1) {line-height:1.52;letter-spacing:.01em}
 body.ssui-visual .ssx-hero__lead {font-size:1rem;line-height:1.95}
 body.ssui-refined .ss-mobile-actions {height:auto;min-height:64px;grid-auto-rows:minmax(56px,auto);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 24px rgba(25,56,47,.07);z-index:1200}
 body.ssui-refined .ss-mobile-actions a {padding:14px 8px;align-content:center;line-height:1.5;min-height:56px;font-size:13px}
 body.ssui-refined .ss-mobile-actions a[aria-current=page] {text-decoration:underline;text-underline-offset:.25em}
 body.ssui-refined .ss-guide-chat {right:max(12px,env(safe-area-inset-right))}
 body.ssui-refined .ss-guide-chat__panel {bottom:calc(var(--ssui-bottom) + 14px);height:min(640px,calc(var(--ssui-vh) - var(--ssui-bottom) - 28px))}
 body.ssui-visual .ssx-year h3 {font-size:1.9rem}
 body.ssui-visual .ssx-faq-item summary {padding:18px 42px 18px 16px;font-size:1rem}
 body.ssui-visual .ssx-faq-answer {padding:0 18px 20px 18px}
}
@media(max-width:359px) {
 body.ssui-visual :where(.ss-container,.ss-content-container,.ssx-container) {width:calc(100% - 32px)}
 body.ssui-visual .ssx-hero h1 {font-size:2rem}
 body.ssui-navigation .ss-header-main__inner {gap:8px}
 body.ssui-navigation .ss-brand {min-width:0;flex:1}
 body.ssui-navigation .ss-brand__copy strong {font-size:12px;white-space:normal}
 body.ssui-visual .ss-brand__type {display:block}
 body.ssui-navigation .ss-brand__mark {width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce) {
 html:has(body.ssui-refined) {scroll-behavior:auto!important}
 body.ssui-refined *,body.ssui-refined *::before,body.ssui-refined *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 body.ssui-refined :where(.ss-button,.ssx-button,.ss-header-cta):hover {transform:none!important}
}
@media(forced-colors:active) {
 body.ssui-refined :where(.ssx-button,.ss-button,.ssx-audience,.ssx-year,.ssx-program) {border:1px solid ButtonText;box-shadow:none}
 body.ssui-refined :focus-visible {outline:3px solid Highlight;box-shadow:none}
}
@media print {
 body.ssui-refined {padding:0!important}
 body.ssui-refined :where(.ssui-search-trigger,.ssui-search-dialog,.ssui-preview-bar,.ssui-submenu-toggle,.ssui-faq-tools,.ssui-clear,.ssui-table-hint) {display:none!important}
 body.ssui-visual :where(.ssx-section,.ss-section) {padding-block:18px}
 body.ssui-visual :where(.ssx-audience,.ssx-year,.ssx-belief,.ssx-program) {box-shadow:none;break-inside:avoid}
}
