/* Native details handles accessibility; only its ordinary inner box animates. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
summary{list-style:none;cursor:pointer;touch-action:manipulation}
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
.disclosure-clip{display:block;overflow:hidden}
details:not([open])>.disclosure-clip{display:none}
.disclosure-content{display:flow-root;min-width:0}
.service .disclosure-clip{width:100%}
.service-copy,.service-image{opacity:1;transform:none;transition:none}
.faq .disclosure-content>p{animation:none}
.ui-icon{display:block;width:1em;height:1em;flex-shrink:0;pointer-events:none}
.button .ui-icon,.text-link .ui-icon{width:22px;height:22px}
.scene-note>span>.ui-icon{width:28px;height:28px}
.service-plus,.journey-toggle-icon,.faq summary>span,.footer-disclosures summary>span{display:flex;align-items:center;justify-content:center}
.service-plus>.ui-icon{width:20px;height:20px}
.journey-toggle-icon>.ui-icon,.faq summary>span>.ui-icon,.footer-disclosures summary>span>.ui-icon{width:18px;height:18px}
.journey-toggle-icon>.ui-icon{width:16px;height:16px}
.journey-trigger[aria-expanded=true] .journey-toggle-icon,.service[data-expanded=true] .service-plus,.faq details[open] summary>span,.footer-disclosures details[open] summary>span{transform:none;rotate:none}
.journey-toggle-icon>.ui-icon,.service-plus>.ui-icon,.faq summary>span>.ui-icon,.footer-disclosures summary>span>.ui-icon{transition:transform .25s ease}
.journey-trigger[aria-expanded=true] .journey-toggle-icon>.ui-icon,.service[data-expanded=true] .service-plus>.ui-icon,.faq details[data-expanded=true] summary>span>.ui-icon,.footer-disclosures details[data-expanded=true] summary>span>.ui-icon{transform:rotate(45deg)}
.dialog-close{display:flex;align-items:center;justify-content:center}
.dialog-close>.ui-icon{width:24px;height:24px}
.cookie-settings-toggle>span>.ui-icon{width:16px;height:16px}
.contact-caption-mark>.ui-icon{width:22px;height:22px}
.inquiry input,.inquiry select,.inquiry textarea{font-size:16px;max-width:100%}
.inquiry textarea{font:inherit;font-size:16px;display:block;width:100%;min-height:96px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);resize:vertical;margin-bottom:18px}
.inquiry input[type=email]{width:100%}
.form-email{font-size:12px;line-height:1.6;margin:0 0 20px;color:var(--purple-dark)}
.form-email a{text-decoration:underline;text-underline-offset:3px}
.form-email span{white-space:nowrap}
.external-icon{display:inline-block;vertical-align:middle;width:14px;height:14px}
.cookie-settings-toggle[aria-expanded=true] span{rotate:none;transform:rotate(180deg)}
.inquiry select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d26bf' stroke-width='1.7'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-size:20px;background-repeat:no-repeat;background-position:right 14px center;padding-right:43px}
.inquiry{max-height:calc(100vh - 32px);max-height:min(calc(100svh - 24px),calc(var(--visible-height,100dvh) - 24px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.inquiry::backdrop{background:#140c2080}
.scene-note{background:#ffffffed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.journey-step{overflow-anchor:none}

/* Keep all three touch targets in place, with independently open explanations. */
@media(max-width:740px){
 .journey-steps[data-controlled]>.journey-step,.journey-steps[data-controlled]>.journey-step.active,.journey-steps[data-controlled]>.journey-step:not(.active){display:block;min-height:0;padding:24px 0;animation:none}
 .journey-trigger{padding-right:30px}
 .journey-toggle-icon{display:flex;top:5px;right:0}
 .journey-step h3{font-size:clamp(27px,7vw,36px)}
 .journey-frame img.journey-layer{will-change:auto;transform:none;transition:opacity .3s ease}
 .journey-steps[data-controlled] .journey-details{transition:grid-template-rows .3s ease,opacity .2s ease}
 .service summary{scroll-margin-top:90px}
 .hero-orbit{transition-duration:.65s}
 .brand-enhanced [data-brand-media],.brand-enhanced [data-brand-media]:not([data-revealed=true]),.brand-enhanced [data-brand-media][data-revealed=true]{clip-path:none;translate:none;opacity:1;transition:none}
 .brand-enhanced [data-brand-media]>img,.brand-enhanced [data-brand-media]:not([data-revealed=true])>img,.brand-enhanced [data-brand-media][data-revealed=true]>img{scale:1;transition:none}
 .motion .reveal{opacity:1;transform:none;transition:none}
 .hero:after,.intro:after,.insurance:after,.journey:after,.contact:after{background-image:repeating-linear-gradient(0deg,#fff6 0 1px,transparent 1px 5px);background-size:auto;mix-blend-mode:normal;opacity:.035}
 .ambient-lights svg g:nth-of-type(n+3){display:none}
 .light-glow{display:none}
 .ambient-wash span,.hero-orbit svg{animation:none}
 .hero-sparks i:nth-child(n+4){display:none}
 .hero-orbit svg{filter:none}
 .scene-note{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
}
@media(hover:none),(pointer:coarse){
 .button:hover,.button:hover span,.text-link:hover span,.service-image:hover img{transform:none}
 .contact-options button:hover{translate:none}
 .ambient-wash span,.hero-orbit svg{animation:none}
}
@media(prefers-reduced-motion:reduce){.journey-steps[data-controlled] .journey-details{transition:none}}
