/* Motion connects the chapters; the content keeps its own space. */
.flight-layer{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}
.flight-layer #spatial-field{position:absolute;inset:0;width:100%;height:100%}
html.reduced-motion .flight-layer{display:none}
.speaking{padding-top:110px;scroll-margin-top:-60px}
.speaking-heading{margin-bottom:50px}
.speaking-heading h3{font-size:clamp(36px,4.6vw,66px);font-weight:400;letter-spacing:-.045em;line-height:1.14;margin:20px 0 0}
.speaking-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr);gap:clamp(50px,8vw,130px);align-items:center;padding:47px 0 60px;border-top:1px solid #ffffff26}
.speaking-meta{display:flex;flex-wrap:wrap;gap:12px 26px;color:#9db0cf;font-size:13px;letter-spacing:.03em;line-height:1.6;margin:0}
.speaking-copy h4{font-size:clamp(42px,5.4vw,76px);font-weight:400;line-height:1.04;letter-spacing:-.045em;margin:34px 0 27px;color:#edf3ff}
.speaking-copy h4 em{font-style:normal;color:#8cbaff}
.speaking-description{font-size:18px;line-height:1.8;color:#b7c5d9;max-width:46ch;margin:0}
.speaking-role{font-size:16px;line-height:1.8;color:#edf3ff;margin:28px 0}
.speaking-role span{color:#94a8c8;font-size:14px}
.speaking-actions{display:flex;gap:18px 24px;flex-wrap:wrap;align-items:center}
.speaking-actions button,.speaking-actions a,.conference-feature button{color:#d2e3ff;font-size:14px;line-height:1.7;padding:10px 0;border-bottom:1px solid #57759f;cursor:pointer;text-align:left}
.speaking-actions button:hover,.speaking-actions a:hover,.conference-feature button:hover{color:#fff;border-bottom-color:#a0c6ff}
.speaker-poster{display:block;max-width:355px;width:100%;justify-self:end;padding:0;text-align:left;cursor:zoom-in}
.speaker-poster img{display:block;width:100%;height:auto;box-shadow:0 18px 60px #0006;border:1px solid #ffffff22;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s}
.speaker-poster:hover img{transform:translateY(-4px);box-shadow:0 24px 70px #0009}
.speaker-poster>span{display:block;margin-top:15px;color:#98abc6;font-size:12px;letter-spacing:.025em}
.conference-feature{display:grid;grid-template-columns:.65fr 1.3fr auto;gap:30px;align-items:center;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;padding:34px 0}
.conference-feature .speaking-meta{display:flex;flex-direction:column;gap:5px}
.conference-feature h4{font-size:clamp(25px,2.6vw,36px);letter-spacing:-.035em;line-height:1.25;margin:0;font-weight:400}
.conference-feature p:not(.speaking-meta){font-size:15px;line-height:1.65;color:#9eb0ca;margin:9px 0 0}
.professional-service{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:30px;margin-top:68px;padding-top:30px;border-top:1px solid #ffffff20}
.professional-service>p{margin:0;font-size:13px;color:#92a7c9}
.professional-service h3{font-size:17px;font-weight:400;margin:0 0 8px;color:#e2ebf8}
.professional-service div p{margin:0;color:#98abc6;font-size:14px;line-height:1.7}
.story-artifact-dialog{width:min(920px,calc(100% - 40px));max-height:calc(100svh - 48px);padding:0;border:1px solid #435575;background:#0b1019;color:#eaf2ff;overflow:auto;margin:auto;box-shadow:0 30px 100px #000b}
.story-artifact-dialog::backdrop{background:#01040bdb;backdrop-filter:blur(9px)}
.artifact-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;background:#0b1019f5;border-bottom:1px solid #ffffff20}
.artifact-toolbar h2{font-size:16px;font-weight:400;line-height:1.5;margin:0}
.artifact-toolbar button{display:flex;align-items:center;gap:15px;min-height:44px;font-size:14px;color:#b9ceeb;cursor:pointer}
.artifact-toolbar button span{font-size:28px;line-height:1}
.story-artifact-dialog figure{margin:0;padding:25px}
.story-artifact-dialog figure img{display:block;width:100%;height:auto;max-width:740px;margin:auto}
.story-artifact-dialog figcaption{max-width:740px;margin:20px auto 0;color:#aabbd3;font-size:14px;line-height:1.75}
.journey-ready [data-reveal]{opacity:.35;transform:translate3d(0,24px,0);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.journey-ready [data-reveal].is-revealed{opacity:1;transform:none}
html.reduced-motion [data-reveal]{opacity:1;transform:none;transition:none}
@media(max-width:1100px){.speaking-feature{gap:45px}.conference-feature{grid-template-columns:.55fr 1fr;gap:25px}.conference-feature button{grid-column:2;justify-self:start;margin-top:-12px}.site-header nav{gap:22px}}
@media(max-width:899px){.speaking{padding-top:75px}.speaking-feature{grid-template-columns:1fr .8fr;gap:32px}.speaking-heading{margin-bottom:34px}.speaking-copy h4{font-size:45px}.speaking-description{font-size:17px}.speaking-actions{gap:10px}.professional-service{grid-template-columns:1fr 1fr}.professional-service>p{grid-column:1/-1}.site-header nav{font-size:14px;gap:18px}}
@media(max-width:599px){.site-header nav{justify-content:space-between;gap:16px;font-size:14px}.speaking{padding-top:67px;scroll-margin-top:-25px}.speaking-heading h3{font-size:39px;max-width:10ch}.speaking-feature{display:flex;flex-direction:column;align-items:stretch;padding:29px 0 36px;gap:34px}.speaking-copy h4{font-size:49px;margin-top:26px}.speaking-description{font-size:17px}.speaking-role{margin:24px 0}.speaking-actions{gap:7px 21px}.speaker-poster{max-width:310px;align-self:center}.conference-feature{display:flex;flex-direction:column;align-items:flex-start;gap:19px;padding:27px 0}.conference-feature .speaking-meta{flex-direction:row;gap:25px}.conference-feature h4{font-size:31px}.conference-feature button{margin:0}.professional-service{grid-template-columns:1fr;gap:23px;margin-top:45px}.professional-service>p{grid-column:auto}.story-artifact-dialog{width:calc(100% - 20px);max-height:calc(100svh - 24px)}.artifact-toolbar{padding:12px 17px;gap:12px}.artifact-toolbar h2{font-size:14px}.story-artifact-dialog figure{padding:15px}.story-artifact-dialog figcaption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.journey-ready [data-reveal]{opacity:1;transform:none;transition:none}.speaker-poster img{transition:none}.speaker-poster:hover img{transform:none}}
