/* Shared accessibility and small-screen behavior, after the page styles. */
html{scroll-padding-top:116px}
body:has(dialog[open]){overflow:hidden}
[id]{scroll-margin-top:1rem}
button{color:inherit}
.btn{text-align:center}
/* Keep the brand accent; use a deeper shade under small white button text. */
.btn-pink,.btn-dark:hover,.trial{background:#D82E75}
.btn-pink:hover{background:var(--pink-deep)}
.trial-kick,.trial-act p{color:#fff}
.calc-note,.calc-range,.prod-price span,.prod-foot,.price-note{color:#63636a}
.hero-fine{color:rgba(255,255,255,.7)}
.faq-list summary::after{top:50%;right:6px;width:14px;transform:translateY(-50%)}
.faq-list summary::before{top:50%;right:12px;width:2px;height:14px;transform:translateY(-50%)}
.faq-list details[open] summary::before{transform:translateY(-50%) rotate(90deg)}
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;padding:.75rem 1rem;border-radius:8px;background:#fff;color:#141416;transform:translateY(-160%);font-weight:600}
.skip-link:focus{transform:translateY(0)}
.logo-full[aria-hidden="true"],.logo-mini[aria-hidden="true"]{visibility:hidden}
.logo-mini .mark{max-width:100%}
.menu-btn{min-height:44px}
.mobile-nav.open{max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav .btn{border-bottom:0}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.hero-grid>*{min-width:0}
.choice-tx{min-width:0}
.service-notice{position:relative;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:3.2rem 2rem 2rem;border:0;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 30px 100px #0005;overflow:auto}
.service-notice::backdrop{background:#000a;backdrop-filter:blur(6px)}
.service-notice h2{font-size:1.8rem;line-height:1.15}
.service-notice p{margin:1rem 0 1.6rem;color:#4a4a4f}
.notice-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;background:#fff;color:var(--ink);font-size:1.8rem;line-height:1}
dialog{overscroll-behavior:contain}
dialog .r-close,dialog .pk-close{min-width:44px;min-height:44px}
.site-foot li a,.site-foot li button{display:inline-block;padding:.25rem 0}
.site-foot .legal{overflow-wrap:anywhere}
@media(min-width:1181px){.mobile-nav.open{display:none}}
@media(max-width:640px){
  .close-cta h2 em{white-space:normal}
  .sticky-cta{box-sizing:border-box;max-width:calc(100% - 24px)}
  .sticky-cta .btn{flex-shrink:0}
  .goal-grid{grid-template-columns:1fr}
  .calc-range{font-size:.875rem}
  .hero h1{overflow-wrap:normal}
}
@media(max-width:380px){
  .page-longevity .hero h1{font-size:clamp(2.5rem,14vw,3.6rem)}
  .page-index .hero h1{font-size:2.25rem}
  .choice-img{width:56px;height:64px}
  .choice-go{width:30px;height:30px}
  .choice-tx b{font-size:1.08rem}
  .choice-tx small{font-size:.875rem}
  .sticky-cta{gap:.5rem;padding-left:.85rem}
  .sticky-cta p{font-size:.875rem}
  .sticky-cta .btn{font-size:.875rem;padding:.85rem .8rem}
  .pk-tags{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .marquee-track{width:auto;flex-wrap:wrap;justify-content:center}
  .marquee-track [aria-hidden="true"]{display:none}
}
