/* source_agent=codex / machine=mac-mini. Public production parity, 2026-11-09. */
:root{--font-sans:"Hiragino Sans","Yu Gothic",Meiryo,system-ui,sans-serif}
body{font-family:var(--font-sans)}
#hearing-popup{font-family:var(--font-sans)}
#hearing-popup[open]{animation:hearing-enter 1400ms cubic-bezier(.25,.1,.25,1) both}
#hearing-popup[open]::backdrop{animation:hearing-backdrop-enter 1500ms cubic-bezier(.25,.1,.25,1) both}
#hearing-popup[open].is-closing{animation:hearing-leave 480ms cubic-bezier(.25,.1,.25,1) both;pointer-events:none}
#hearing-popup[open].is-closing::backdrop{animation:hearing-backdrop-leave 480ms cubic-bezier(.25,.1,.25,1) both}
@keyframes hearing-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes hearing-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes hearing-leave{from{opacity:var(--hearing-exit-opacity,1);transform:var(--hearing-exit-transform,translateY(0))}to{opacity:0;transform:translateY(24px)}}
@keyframes hearing-backdrop-leave{from{opacity:var(--hearing-backdrop-exit-opacity,1)}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#hearing-popup[open],#hearing-popup[open]::backdrop,#hearing-popup[open].is-closing,#hearing-popup[open].is-closing::backdrop{animation:none}}

/* Canonical close control, also reachable on short mobile viewports. */
#hearing-popup .hearing-popup-close{position:absolute;right:12px;top:12px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;line-height:1}
#hearing-popup .hearing-popup-close svg{display:block;width:23px;height:23px}
#hearing-popup .hearing-popup-close:hover{background:rgba(127,145,160,.12)}
/* source_agent=codex / machine=mac-mini: same attribution on new service pages. */
.data-footer .footer-inner{flex-wrap:wrap}
.data-footer .brand-trademark-note{flex-basis:100%;font-size:10px;line-height:1.7;color:inherit;opacity:.75}

.case-article-entry{margin:25px 0 0}.lp-evidence-copy>.button{margin-top:24px}

/* Plain common navigation: body CTAs keep their button design. */
:is(.site-header,.data-header) :is(nav a,.header-cta,.header-link),:is(.site-footer,.data-footer,.footer.container) nav a{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;transform:none!important;text-decoration:none;color:inherit;padding:0;gap:0}
:is(.site-header,.data-header) :is(nav a,.header-cta,.header-link){display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;white-space:nowrap;font-weight:700}
:is(.site-header,.data-header) :is(nav a,.header-cta,.header-link)::before,:is(.site-header,.data-header) :is(nav a,.header-cta,.header-link)::after,:is(.site-footer,.data-footer,.footer.container) nav a::before,:is(.site-footer,.data-footer,.footer.container) nav a::after{content:none!important;display:none!important}
:is(.site-header,.data-header) :is(nav a,.header-cta,.header-link):hover,:is(.site-footer,.data-footer,.footer.container) nav a:hover{text-decoration:underline;text-underline-offset:.3em}
.site-header .header-cta{font-size:15px;line-height:1.5;flex-shrink:0}
.site-header nav{column-gap:24px}
.site-header :is(.mobile-contact,.mobile-nav-contact){display:none!important}
@media(max-width:899px){.site-header nav{column-gap:18px}}
@media(max-width:699px){.site-header nav.is-open{row-gap:12px}.site-header nav.is-open a{justify-content:flex-start;padding-block:8px;min-height:44px}.site-header nav.is-open .mobile-contact{display:inline-flex!important}.site-header .header-cta{font-size:13px;min-height:44px;padding:0;min-width:52px}}

/* Legacy button rules must not obscure the plain navigation on dark headers. */
body.marketing-pass .site-header .header-cta{color:inherit!important}
body.marketing-pass .site-header .menu-toggle{color:inherit!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important}
body.marketing-pass .site-header :is(.menu-toggle,.header-cta):focus-visible{outline-color:currentColor}
@media(max-width:900px){.site-header nav.is-open :is(.mobile-contact,.mobile-nav-contact){display:inline-flex!important}}

/* Common navigation has no directional decorations, including legacy child spans. */
:is(.site-header,.data-header) a :is(.chevron,svg){display:none!important}

/* source_agent=codex / machine=mac-mini. Text enlargement may create another header row. */
:is(.site-header,.data-header) .header-inner{flex-wrap:wrap;row-gap:8px;padding-block:8px}
:is(.site-header,.data-header) .header-inner>.brand{max-inline-size:100%}
:is(.site-header,.data-header) :is(.header-cta,.header-link){max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
.site-header nav:not(.is-open){flex-wrap:wrap;min-width:0}
.site-header nav.is-open{flex-wrap:nowrap;overflow-y:auto;justify-content:flex-start}
.site-header nav.is-open>a{flex:none}
.site-header nav.is-open>a:first-child{margin-top:auto}
.site-header nav.is-open>a:last-child{margin-bottom:auto}
@media(max-width:899px){.hero-track .hero{padding-top:var(--site-header-height,86px)}}
.article-page:has(.article-hero) main{padding-top:var(--site-header-height,100px)}

/* source_agent=codex / machine=mac-mini. One two-line icon for every header,
   independent of the legacy one-span/two-span markup and body button styles. */
.site-header .menu-toggle{position:relative;font-size:0;line-height:0;flex-shrink:0;border:0!important;box-shadow:none!important;background:transparent!important}
.site-header .menu-toggle>span{display:none!important}
.site-header .menu-toggle::before,.site-header .menu-toggle::after{content:"";display:block;position:absolute;left:50%;margin:0;width:24px;height:1px;min-height:0;border:0;border-radius:0;box-shadow:none;background:currentColor;opacity:1;transform:translateX(-50%);transform-origin:center;transition:top .2s,transform .2s}
.site-header .menu-toggle::before{top:calc(50% - 4px)}
.site-header .menu-toggle::after{top:calc(50% + 4px)}
.site-header .menu-toggle[aria-expanded=true]::before{top:50%;transform:translateX(-50%) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true]::after{top:50%;transform:translateX(-50%) rotate(-45deg)}
.site-header .menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.site-header .menu-toggle::before,.site-header .menu-toggle::after{transition:none}}
