/* One shared motion layer. Content is visible before JS and between entrances. */
:root{--dio-alive-ease:cubic-bezier(.22,.7,.25,1);--dio-alive-enter:520ms;--dio-alive-stagger:60ms}
.dio-alive-label{position:relative}
.dio-alive-label-line{position:absolute;left:0;bottom:-8px;width:42px;height:2px;background:#4c7288;opacity:.65;pointer-events:none;transform-origin:left}
.dio-blue-field .dio-alive-label-line{background:#a9c1d1}
.dio-alive-card{position:relative;isolation:isolate;transition:transform 240ms var(--dio-alive-ease)}
.dio-alive-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-bottom:2px solid #ed873c;box-shadow:0 14px 28px -18px rgba(32,56,70,.38);opacity:0;transition:opacity 240ms var(--dio-alive-ease);z-index:-1}
@media(hover:hover){.dio-alive-card:hover{transform:translateY(-3px)}.dio-alive-card:hover::after{opacity:1}}
.dio-alive-card:focus-within{transform:translateY(-3px)}
.dio-alive-card:active{transform:translateY(-1px)}
.dio-alive-card:is(:focus-within,:active)::after{opacity:1}
.dio-alive-chip{transition:transform 160ms var(--dio-alive-ease)}
@media(hover:hover){.dio-alive-chip:hover{transform:translateY(-2px)}}
.dio-alive-chip:active{transform:translateY(1px)}
.dio-alive-drift{overflow:hidden}
.dio-alive-drift>img{transform:translate3d(0,var(--dio-alive-drift-y,0px),0) scale(1.04);transform-origin:center}

/* Ring masks decompose the actual approved tile; the existing wave keeps its timing. */
.dio-alive-arch-field>.dio-field-pattern{-webkit-mask-image:var(--dio-reading-fade),var(--dio-edge-fade);mask-image:var(--dio-reading-fade),var(--dio-edge-fade);-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}
.dio-alive-arch-field>.dio-field-pattern>.dio-field-wave{opacity:0}
.dio-alive-ring{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-size:var(--dio-wave-tile) var(--dio-wave-tile);mask-size:var(--dio-wave-tile) var(--dio-wave-tile);-webkit-mask-repeat:repeat;mask-repeat:repeat}
.dio-alive-ring:nth-of-type(2){-webkit-mask-image:url(assets/alive-arch-ring-1.svg);mask-image:url(assets/alive-arch-ring-1.svg)}
.dio-alive-ring:nth-of-type(3){-webkit-mask-image:url(assets/alive-arch-ring-2.svg);mask-image:url(assets/alive-arch-ring-2.svg)}
.dio-alive-ring:nth-of-type(4){-webkit-mask-image:url(assets/alive-arch-ring-3.svg);mask-image:url(assets/alive-arch-ring-3.svg)}
.dio-alive-ring:nth-of-type(5){-webkit-mask-image:url(assets/alive-arch-ring-4.svg);mask-image:url(assets/alive-arch-ring-4.svg)}
.dio-alive-ring>.dio-field-wave{position:absolute;inset:0 auto 0 0;width:calc(100% + var(--dio-wave-travel));background:var(--dio-wave-colour);animation:dio-field-flow var(--dio-wave-duration) linear -2s infinite}
.dio-blue-field--light .dio-alive-ring>.dio-field-wave{background:var(--dio-wave-colour-light)}
.dio-field-paused .dio-alive-ring>.dio-field-wave{animation-play-state:paused}

/* L05: the visual bar contracts, its document footprint never changes. */
.dio-life-ready .site-head{height:82px!important;background:transparent;border-color:transparent!important;transition:none;isolation:isolate;--dio-head-scale:1;--dio-head-lift:0px}
.dio-life-ready .site-head::before{content:'';position:absolute;inset:0;z-index:-1;background:#fff;box-shadow:0 1px 0 #cad5da;transform:scaleY(var(--dio-head-scale));transform-origin:top;transition:transform 260ms var(--dio-alive-ease);pointer-events:none}
.dio-life-ready .site-head> :not(#explore-panel){transform:translateY(var(--dio-head-lift));transition:transform 260ms var(--dio-alive-ease)}
.dio-life-ready:not(.dio-alive-off):not(.menu-is-open) .site-head.slim:not(:has(.explore-toggle[aria-expanded=true])){--dio-head-scale:.829268;--dio-head-lift:-7px}
@media(max-width:1000px){.dio-life-ready .site-head{height:68px!important}.dio-life-ready .site-head.slim{--dio-head-scale:1!important;--dio-head-lift:0px!important}}

/* Migration bridge: local art direction remains, old hiding/reveal engines do not stack. */
html.dio-life-ready.pod-alive:not(.reduce-motion) .reveal:not(.is-in),html.dio-life-ready.pod-alive .reveal,html.dio-life-ready.faq-alive:not(.reduce-motion) .faq-topic:not(.is-in) .dio-answer-row,html.dio-life-ready.faq-alive .faq-topic .dio-answer-row{opacity:1;transform:none;transition:none}
.dio-life-ready.faq-alive .faq-topic h2::after,.dio-life-ready.pod-alive #start-here h2::after{transform:none;transition:none}
.dio-life-ready .faq-topic h2.dio-alive-label::after,.dio-life-ready #start-here h2.dio-alive-label::after{display:none}
.dio-life-ready.faq-alive .dio-answer-row[open]>div{animation:none}
.dio-life-ready.faq-alive .faq-list .dio-answer-row::details-content{transition:none!important;block-size:auto}
.dio-life-ready #eps .ep-row.dio-alive-card,.dio-life-ready #start-here-cards .start-card.dio-alive-card{transition:transform 240ms var(--dio-alive-ease);box-shadow:none}
.dio-life-ready #eps .ep-row.dio-alive-card::before,.dio-life-ready #start-here-cards .start-card.dio-alive-card::before{display:none}
.dio-life-ready #eps .ep-row.dio-alive-card:is(:hover,:focus-visible,:active),.dio-life-ready #start-here-cards .start-card.dio-alive-card:is(:hover,:focus-within,:active){box-shadow:none}

/* Protected zones also cancel legacy decorative arrivals; content/focus stay intact. */
.dio-alive-quiet .dio-alive-label-line{display:none}
/* Explainer animations and charts in answer sections keep their own motion (2026-10-22): they carry their own pause and reduced-motion still.
   The owner-approved widgets (figure.ans-anim-widget in answers, figure.dio-anim-widget on main pages) too (2026-11-03, GPT's alive.css:50 finding):
   each has its own pause, still view and reduced-motion rules, so the quiet zone no longer cancels their motion. */
.dio-alive-quiet,.dio-alive-quiet *:not(.ans-anim *,.ans-chart *,.ans-anim-widget *,.dio-anim-widget *),.dio-alive-quiet::before,.dio-alive-quiet::after,.dio-alive-quiet *:not(.ans-anim *,.ans-chart *,.ans-anim-widget *,.dio-anim-widget *)::before,.dio-alive-quiet *:not(.ans-anim *,.ans-chart *,.ans-anim-widget *,.dio-anim-widget *)::after{animation:none!important;transition:none!important}
.dio-alive-quiet .dio-field-wave{animation:none!important;transform:none!important;background:rgba(169,193,209,.14)!important}
.dio-alive-quiet .cta-arrival{animation:none!important}
.dio-alive-quiet .cta-arrival::before,.dio-alive-quiet .cta-arrival::after{animation:none!important}
.dio-alive-quiet .cta-arrival::after{content:none!important}
.dio-alive-quiet a.button{background:#4c7288!important;color:#fff!important}
.dio-alive-quiet a.button::before{content:none!important}

/* Daniel 2026-10-09: only deliberate selector interaction moves here. */
html .dio-alive-quiet .dio-segmented-control > .dio-segmented-thumb{transition:transform var(--dio-pill-slide),width var(--dio-pill-slide)!important}
html .dio-alive-quiet .dio-segmented-control > button{transition:color var(--dio-pill-label)!important}
html .dio-alive-quiet .dio-segmented-control[data-dio-segmented-instant] > :is(.dio-segmented-thumb,button),
html:is(.reduce-motion,.dio-alive-off) .dio-alive-quiet .dio-segmented-control > :is(.dio-segmented-thumb,button){transition:none!important}
@media(prefers-reduced-motion:reduce){html .dio-alive-quiet .dio-segmented-control > :is(.dio-segmented-thumb,button){transition:none!important}}

/* Both switches stop current effects as well as future entrances. */
.dio-alive-off{scroll-behavior:auto!important}
.dio-alive-off :is(.dio-alive-card,.dio-alive-chip,.dio-alive-label-line,.dio-alive-ring),.dio-alive-off .dio-alive-drift>img{transform:none!important;transition:none!important;animation:none!important;opacity:1!important}
.dio-alive-off .dio-alive-card::after{transition:none!important}
.dio-alive-off .site-head::before,.dio-alive-off .site-head>*{transition:none!important}
.dio-alive-off .dio-alive-ring>.dio-field-wave{animation:none!important;transform:none!important;background:rgba(169,193,209,.14)!important}
.dio-alive-off .dio-blue-field--light .dio-alive-ring>.dio-field-wave{background:rgba(76,114,136,.17)!important}
.dio-alive-off :is(.faq-topic .dio-answer-row,.pod-alive .reveal){opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .dio-alive-card,.dio-alive-chip,.dio-alive-drift>img,.dio-alive-label-line,.dio-alive-ring{transform:none!important;transition:none!important;animation:none!important;opacity:1!important}
 .dio-alive-card::after,.dio-life-ready .site-head::before,.dio-life-ready .site-head>*{transition:none!important}
 .dio-life-ready .site-head.slim{--dio-head-scale:1!important;--dio-head-lift:0px!important}
 .dio-alive-ring>.dio-field-wave{animation:none!important;transform:none!important;background:rgba(169,193,209,.14)!important}
 .dio-blue-field--light .dio-alive-ring>.dio-field-wave{background:rgba(76,114,136,.17)!important}
 .faq-alive .faq-topic .dio-answer-row,.pod-alive .reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
}
@media print{.dio-alive-label-line,.dio-alive-ring{display:none}.dio-alive-card,.dio-alive-drift>img{transform:none!important}.dio-alive-card::after{display:none}}

