/* Final shared presentation layer for native components and retained Studio markup.
   Layout belongs to layout.css; content/URLs stay in their existing components. */
:root {
 --font-ui:"Inter Variable","Noto Sans JP Variable",sans-serif;
 --ui-radius:8px;
 --ui-control-height:52px;
 --ui-action-size:15px;
 --ui-body-size:16px;
 --ui-body-leading:1.95;
 --ui-h3-size:20px;
 --ui-ink:#20231f;
 --ui-muted:#596051;
 --ui-primary:#20231f;
 --ui-primary-hover:#475344;
 --ui-surface:#fafaf7;
 --ui-hover:#e9ede3;
 --ui-border:#a8b09f;
 --ui-focus:#356348;
 --ui-duration:160ms;
 --ui-easing:cubic-bezier(.22,1,.36,1);
}
/* An Inter-only legacy declaration left Japanese glyphs to the browser fallback.
   Apply the complete stack to text, retaining icon ligatures and code fonts. */
html body[data-page],
body[data-page] :is(.ux-header,.ux-menu,.ux-footer,.ux-closing) *,
body[data-page] #main-content :where(*):not(:where(.material-icons,.icon,.fa,.fas,.far,.fab,[class^="fa-"],pre,code,pre *,code *)) {
 font-family:var(--font-ui)!important;
}
body[data-page]{--s-font-828e29d0:var(--font-ui);--s-font-b9ab5616:var(--font-ui);--s-font-298bf6d2:var(--font-ui);--s-font-0eb65862:var(--font-ui);--s-font-98976a98:var(--font-ui);--s-font-5683b5c1:var(--font-ui)}
/* A reading scale, separate from compact navigation, captions and numeric prices. */
body[data-page] #main-content :is(.sp-description,.sp-lead,.vg-heading p,.vg-detail-copy p,.sp-answer,.ux-hero-description,[data-layout-copy],[data-readable-copy]){font-size:var(--ui-body-size)!important;line-height:var(--ui-body-leading)!important}
body[data-page] #main-content :is(.vg-card h3,.sp-flow-list h3,.hc-voice h3,.hc-purpose-grid h3){font-size:var(--ui-h3-size)!important;line-height:1.7!important;font-weight:600!important}
body[data-page] #main-content :is(.ux-page-intro h1,.ux-article-header h1){font-weight:650!important;line-height:1.6!important}
/* Primary and secondary actions use identical geometry and differ by emphasis. */
body[data-page] :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]),
body[data-page] #main-content :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]){
 --button-bg:var(--ui-primary);--button-fg:#fff;--button-border:var(--ui-primary);--button-hover:var(--ui-primary-hover);--button-hover-fg:#fff;
 box-sizing:border-box!important;align-items:center!important;justify-content:center!important;gap:12px!important;
 min-width:0!important;max-width:100%!important;min-height:var(--ui-control-height)!important;height:auto!important;
 padding:14px 22px!important;border:1px solid var(--button-border)!important;border-radius:var(--ui-radius)!important;
 background:var(--button-bg)!important;color:var(--button-fg)!important;font-size:var(--ui-action-size)!important;font-weight:600!important;
 line-height:1.7!important;letter-spacing:.01em!important;text-align:center!important;text-decoration:none!important;
 white-space:normal!important;overflow-wrap:anywhere!important;cursor:pointer;
 box-shadow:none!important;transform:none!important;opacity:1;
 transition:background-color var(--ui-duration) var(--ui-easing),border-color var(--ui-duration) var(--ui-easing),color var(--ui-duration) var(--ui-easing),transform var(--ui-duration) var(--ui-easing)!important;
}
body[data-page] #main-content :is([data-ui-button="secondary"],.session-card__button--secondary){--button-bg:var(--ui-surface);--button-fg:var(--ui-ink);--button-border:var(--ui-border);--button-hover:var(--ui-hover);--button-hover-fg:var(--ui-ink)}
body[data-page] #main-content :is([data-ui-button],.session-card__button) :is(p,span){color:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;white-space:normal!important;height:auto!important;min-width:0!important;max-width:100%!important;margin:0!important;text-align:inherit!important}
body[data-page] .ux-header .ux-header-cta{--ui-control-height:44px;--ui-action-size:13px;padding:10px 18px!important}
body[data-page] #main-content .vg-cta{max-width:min(400px,100%)!important}
/* Navigation controls are compact, but share corners, focus and feedback. */
body[data-page] :is(.ux-menu-button,.ux-menu-top button,.ux-search input,.ux-field input,.ux-field textarea,.ux-session-options>label,.ux-topics a,.sp-nav a,.sp-related a){border-radius:var(--ui-radius)!important}
body[data-page] :is(.ux-menu-button,.ux-menu-top button,.ux-topics a,.sp-nav a,.sp-related a){min-height:44px!important}
body[data-page] #main-content :is(summary,[data-toggle-trigger]){cursor:pointer;min-height:44px!important;white-space:normal!important;overflow-wrap:anywhere!important}
body[data-page] :is(a,button,summary,input,textarea,select){-webkit-tap-highlight-color:rgba(71,83,68,.14)}
body[data-page] :is(a,button,summary,input,textarea,select):focus-visible,
body[data-page] #main-content :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:4px!important}
body[data-page] #main-content :is(.ux-text-link,.sp-consult,.area-map-link,.hc-links a,.sp-answer a,.ux-prose a:not(.ux-button):not([data-ui-button])),body[data-page] .ux-menu>.ux-text-link{text-decoration:underline!important;text-underline-offset:4px!important;text-decoration-thickness:1px!important}
body[data-page] #main-content :is(summary,[data-toggle-trigger]),body[data-page] :is(.ux-menu-button,.ux-menu-top button,.ux-topics a,.sp-nav a,.sp-related a,.ux-text-link,.sp-consult,.area-map-link){transition:background-color var(--ui-duration) var(--ui-easing),color var(--ui-duration) var(--ui-easing)!important}
@media(hover:hover) and (pointer:fine){
 body[data-page] :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):not(:disabled):not([aria-disabled="true"]):hover,
 body[data-page] #main-content :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):not(:disabled):not([aria-disabled="true"]):hover{background:var(--button-hover)!important;border-color:var(--ui-primary-hover)!important;color:var(--button-hover-fg)!important}
 body[data-page] #main-content :is(summary,[data-toggle-trigger]):hover,
 body[data-page] :is(.ux-menu-button,.ux-menu-top button,.sp-nav a,.sp-related a,.ux-topics a:not([aria-current])):hover{background-color:var(--ui-hover)!important;color:var(--ui-ink)!important}
 body[data-page] #main-content :is(.ux-text-link,.sp-consult,.area-map-link,.hc-links a,.ux-prose a:not(.ux-button):not([data-ui-button])):hover{color:var(--ui-focus)!important;text-decoration-thickness:2px!important}
}
body[data-page] :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):not(:disabled):not([aria-disabled="true"]):active,
body[data-page] #main-content :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px)!important}
body[data-page] :is(button:disabled,[aria-disabled="true"]){opacity:.55!important;cursor:not-allowed!important;transform:none!important}
body[data-page] .ux-field :is(input,textarea),body[data-page] .ux-search input{font-size:16px!important;line-height:1.7!important;border-color:var(--ui-border)!important;transition:border-color var(--ui-duration) var(--ui-easing)!important}
body[data-page] .ux-field :is(input,textarea):focus,body[data-page] .ux-search input:focus{border-color:var(--ui-focus)!important}
@media(max-width:700px){:root{--ui-body-size:15px;--ui-action-size:14px;--ui-h3-size:18px}body[data-page] #main-content :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]){padding:14px 16px!important}}
@media(prefers-reduced-motion:reduce){
 html:focus-within,html{scroll-behavior:auto!important}
 body[data-page] *,body[data-page] #main-content *{animation:none!important;transition:none!important}
 body[data-page] :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):active,body[data-page] #main-content :is(.ux-button,.vg-cta,.session-card__button,[data-ui-button]):active{transform:none!important}
}
