/* Motion enhances the layout; content remains available without JavaScript. */
:root{--ease-editorial:cubic-bezier(.22,.7,.3,1)}
.site-header{transition:box-shadow .3s ease,background-color .3s ease}
.site-header.is-scrolled{box-shadow:0 5px 22px #1d3f230b;background-color:rgba(253,253,242,.98)}
.nav a:not(.pill){position:relative}
.nav a:not(.pill)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-editorial)}
.nav a:not(.pill):hover::after,.nav a[aria-current="location"]:not(.pill)::after{transform:scaleX(1)}
.pill{transition:background-color .25s ease,box-shadow .25s ease,transform .25s var(--ease-editorial),filter .25s ease}
.pill:hover{transform:translateY(-3px);box-shadow:0 7px 17px #1d3f231a}
.pill:active{transform:translateY(0);box-shadow:none}
.pill:disabled{transform:none;box-shadow:none;filter:none}
.motion-ready .hero-copy{animation:hero-copy-in .75s var(--ease-editorial) both}
.motion-ready .hero-art{animation:hero-art-in 1s var(--ease-editorial) .12s both}
.hero-art>.cutout{transform:translate3d(0,var(--hero-shift,0px),0)}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-art-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.motion-reveal{opacity:1;transform:translateY(0);transition:opacity .7s var(--ease-editorial),transform .7s var(--ease-editorial);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.motion-pending{opacity:0;transform:translateY(22px)}
.motion-reveal:focus-within{opacity:1;transform:none}
.speaker .speaker-image>.cutout{transition:transform .5s var(--ease-editorial)}
.resource-tabs button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.resource-tabs button:active{transform:scale(.97)}
.resource-card{transition:border-color .3s ease,opacity .45s var(--ease-editorial),transform .45s var(--ease-editorial)}
.resource-card .play{transition:background-color .3s ease}
@media(hover:hover) and (pointer:fine){.speaker:hover .speaker-image>.cutout{transform:translateY(-5px)}.resource-card:hover{border-color:var(--green)}.resource-card:hover .play{background-color:#d3ddc5}}
@media(max-width:700px){.motion-reveal.motion-pending{transform:translateY(14px)}.hero-art>.cutout{transform:none}.nav a:not(.pill)::after{bottom:2px;right:auto;width:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.motion-reveal,.motion-reveal.motion-pending{opacity:1!important;transform:none!important}.hero-art>.cutout,.speaker .speaker-image>.cutout{transform:none!important}}
@media print{.motion-reveal,.motion-reveal.motion-pending{opacity:1!important;transform:none!important}.hero-copy,.hero-art{animation:none!important}}

/* Stronger scroll rhythm and clear rollover feedback. */
.site-header::after{content:"";position:absolute;bottom:0;left:0;height:2px;width:calc(var(--reading-progress,0)*100%);background:var(--red);pointer-events:none}
.motion-reveal{transition-duration:.9s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.motion-reveal.motion-pending{opacity:0;transform:translateY(48px)}
.speaker.motion-reveal.motion-pending,.resource-card.motion-reveal.motion-pending{transform:translateY(55px) scale(.965)}
.photo-band.motion-reveal.motion-pending{transform:translateY(35px) scale(.98)}
.motion-ready .hero-copy{animation-duration:1s}.motion-ready .hero-art{animation-duration:1.2s}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-art-in{from{opacity:0;transform:translateX(45px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}
.hero-art>.cutout{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1));transform-origin:60% 50%}
.photo-band>.cutout{transform:translate3d(0,var(--scroll-drift,0px),0);transition:none}
.program-aside>.cutout{transform:translate3d(0,var(--scroll-drift,0px),0);transition:none}
.action>.cutout{transform:translate3d(var(--scroll-slide,0px),var(--scroll-drift,0px),0)}
.speaker{transition:opacity .9s var(--ease-editorial),transform .55s var(--ease-editorial);transition-delay:var(--reveal-delay,0ms)}
.speaker .speaker-image>.cutout{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .5s ease;transform-origin:50% 80%}
.speaker h3{transition:color .3s ease}
.benefit-icon{transition:transform .4s var(--ease-editorial)}
.resource-card .play{transition:background-color .3s ease,transform .45s var(--ease-editorial)}
.hero .pill{gap:12px}.hero .pill::after{content:'→';display:inline-block;transition:transform .3s var(--ease-editorial)}
.privacy-disclosure summary::after{transition:transform .3s var(--ease-editorial)}
.privacy-disclosure summary:hover::after{transform:rotate(90deg)}
@media(hover:hover) and (pointer:fine){
 .speaker.motion-reveal:not(.motion-pending):hover{transform:translateY(-10px);transition-delay:0ms}
 .speaker:hover .speaker-image>.cutout{transform:translateY(-7px) scale(1.045) rotate(-.6deg);filter:drop-shadow(0 12px 9px #1d3f2312)}
 .speaker:hover h3{color:var(--red)}
 .benefits article:hover .benefit-icon{transform:translateY(-4px) rotate(-5deg) scale(1.08)}
 .resource-card.motion-reveal:not(.motion-pending):hover{transform:translateY(-8px);transition-delay:0ms}
 .resource-card:hover .play{background-color:#d3ddc5;transform:scale(1.025)}
 .pill:not(:disabled):hover{transform:translateY(-5px) scale(1.035);box-shadow:0 12px 24px #1d3f2326}
 .hero .pill:hover::after{transform:translateX(6px)}
 .nav a:not(.pill):hover{color:var(--red)}
}
.pill:not(:disabled):active{transform:translateY(-1px) scale(.99)}
@media(max-width:700px){.motion-reveal.motion-pending{transform:translateY(30px)}.speaker.motion-reveal.motion-pending,.resource-card.motion-reveal.motion-pending{transform:translateY(35px) scale(.98)}.hero-art>.cutout{transform:translate3d(0,var(--hero-shift,0px),0)}.hero .pill::after{font-size:18px}}
@media(prefers-reduced-motion:reduce){.hero-art>.cutout,.photo-band>.cutout,.program-aside>.cutout,.action>.cutout,.speaker,.resource-card,.speaker .speaker-image>.cutout,.benefit-icon,.pill,.hero .pill::after,.privacy-disclosure summary::after{transform:none!important;filter:none!important}.motion-reveal.motion-pending{opacity:1!important;transform:none!important}}
@media print{.photo-band>.cutout,.program-aside>.cutout,.action>.cutout{transform:none!important}.site-header::after{display:none}}
