/* Readability edition: 18px reading copy, 16px supporting text.
   Floors intentionally override earlier art-direction sizes at every breakpoint. */
:root{--fs-body:1.125rem;--fs-body-lg:1.25rem;--fs-small:1rem;--slate:#35415b}
main p,main li,main dd,.footer p{font-size:1.125rem!important;line-height:1.65!important}
main p{max-width:70ch}
main :is(.eyebrow,.speaker-set__label,.stakes__stack-label,.hero__system-kicker,.media-card__kicker,.panel__topic),
main :is(dt,small,figcaption,summary,label),main .field__label,
main .framework__lens span,main .organizations__who span,
main .media-card__facts :is(span,strong),main .destination__facts :is(span,strong),
main .destination__hosts span,main .destination__portrait figcaption span,
main .hero__fact :is(span,strong),main .faculty__bar strong,
main .panel__toggle-text,main .ticket-ribbon__facts small,
main #videoPosition,.footer a,.footer small,.footer__bottom,
.nav__links a,.nav__drawer a,.btn,.text-link,.mobilebar{
 font-size:1rem!important;line-height:1.5!important;letter-spacing:.015em!important
}
main :is(.eyebrow,.speaker-set__label,.stakes__stack-label,.hero__system-kicker,.media-card__kicker){letter-spacing:.07em!important}
main .panel__topic,main .framework__lens span{text-transform:none;letter-spacing:.01em!important}
main .btn,.nav .btn,.mobilebar{font-size:1rem!important;line-height:1.45!important;white-space:normal;text-align:center}
.btn{min-height:54px;padding:15px 22px}
.text-link{white-space:normal}
.hero__details>div{grid-template-columns:65px minmax(0,1fr)}
.hero__details :is(dt,dd){color:#f6f1e6}
.hero__facts{align-items:start}
.hero__fact{align-items:baseline}
.hero__sub,.final .body-lg{color:#f6f1e6!important}
.hero__wash{background:linear-gradient(90deg,#040e2bf5,#06163fe0 40%,#06163f94),linear-gradient(0deg,#040e2be6,transparent 65%)}
.hero__content{padding-top:64px;padding-bottom:36px}
.hero__system{align-self:center}
.nav__links a{color:#f6f1e6}
.nav__logo-sub{font-size:.875rem;letter-spacing:.07em}
.motion-toggle{width:44px;height:44px;flex-basis:44px}
.speakers__head{grid-template-columns:minmax(0,1fr) 340px}
#speakers .muted,#speakers .faculty__bar strong{color:#e2e8f0}
/* Bios expand beneath the photograph, with no fixed-height clipping. */
#speakers .panel{height:auto;min-height:0;display:flex;flex-direction:column;align-self:start;background:#081b39}
#speakers .panel>img{display:block;position:static;width:100%;height:320px;flex:none;object-fit:cover}
#speakers .panel__scrim{display:none}
#speakers .panel__body{position:relative;inset:auto;width:100%;padding:24px;background:#081b39;gap:14px}
#speakers .panel__topic{color:#f4d77e;background:transparent;border:0;padding:0;font-weight:550}
#speakers .panel__cred{color:#f4d77e}
#speakers .panel__bio{color:#f6f1e6}
#speakers .panel:not([data-open="true"]) .panel__reveal{display:none}
#speakers .panel[data-open="true"] .panel__reveal{display:block;max-height:none;overflow:visible;opacity:1;transform:none;margin-top:4px}
#speakers .panel__toggle{background:#081b39;min-height:48px}
.framework .light-muted,.framework__sub,.framework__lede{color:#e2e8f0}
.framework__canvas{opacity:.25}
.framework__phase h3{font-size:1.25rem!important;line-height:1.5!important}
.framework__lens span{color:#f6f1e6}
.media-card__copy>p,.media-card__facts strong{color:#f6f1e6!important}
.media-card__facts span{color:#f4d77e!important}
.media__controls{max-width:none;gap:16px;padding:20px 0}
.video-arrow{width:48px;height:48px;flex-shrink:0}
.destination__portrait figcaption{letter-spacing:.015em;flex-wrap:wrap;color:#e2e8f0}
.destination__hosts,.destination__body,.destination__hosts span,.destination__facts strong{color:#f6f1e6!important}
.destination__facts span{color:#f4d77e!important}
.destination__facts{gap:24px}
.organizations__facts dt,.organizations__cta-foot{color:#e2e8f0}
.organizations__facts dd{color:#f6f1e6}
.pass__note,.pass__per,.pass__list{color:#f6f1e6}
.field input{font-size:1.125rem;min-height:54px}
.field input::placeholder{color:#526078;opacity:1}
.faq__q{font-size:1.125rem;line-height:1.5;min-height:56px}
.partner-card summary{padding:12px 0;min-height:48px}
.partnership{gap:40px}
.partnership p,.partnership li{color:#f6f1e6}
.partnership__contacts a{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.social__panel p{color:#35415b}
.footer p,.footer a,.footer__bottom{color:#e2e8f0}
.footer__nav{gap:16px 24px}
/* Reading text stays visible during transitions and keyboard navigation. */
html[data-motion="on"] .reveal:not(.in){opacity:1}
@media(max-width:1350px){.nav__links,.nav__cta{display:none}.nav__burger{display:flex}}
@media(max-width:1100px){.speakers__head{grid-template-columns:1fr}.hero__content{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:900px){.hero__content{grid-template-columns:1fr}.faculty__bar{grid-template-columns:1fr}.faculty__bar div{padding:12px 0}.media-card__facts{grid-template-columns:1fr}.destination__inner{grid-template-columns:1fr}.destination .sec__head{grid-column:1;grid-row:1}.destination__portrait{grid-column:1;grid-row:2;min-height:0}.destination__portrait img{height:auto;aspect-ratio:4/3}.destination__facts{grid-column:1;grid-row:3}}
@media(max-width:600px){
 .hero__content{padding-top:40px}.hero__ctas{gap:22px}.hero__ctas .btn{padding-inline:12px}
 .nav__logo-top{font-size:22px}.nav__logo-sub{font-size:12px;letter-spacing:.04em}.nav__right{gap:6px}
 .framework__rail--five{grid-template-columns:1fr}.framework__rail--five .framework__phase{min-height:0;padding:24px 0;border-right:0}.framework__rail--five .framework__phase h3{margin-top:18px}
 .destination__facts{grid-template-columns:1fr}.destination__portrait figcaption{flex-direction:column;gap:8px}
 .media-card__facts{grid-template-columns:1fr}.media__controls{gap:12px}.media__progress{width:56px;flex-shrink:0}
 #speakers .panel>img{height:300px}.partnership{padding:24px}.partnership .btn{width:100%;padding-inline:12px}
 .organizations__facts div{flex-direction:column;gap:4px}.organizations__facts dd{text-align:left}
 .mobilebar{min-height:54px}.footer{padding-bottom:110px}.pass,.reg{padding:24px}
}
html:not([data-js-build]) #speakers .panel .panel__reveal{display:block;max-height:none;opacity:1;transform:none}

main .hero__system-price{font-size:3.25rem!important;line-height:1.1!important}
main .pass__price{font-size:4.5rem!important;line-height:1.1!important;flex-wrap:wrap}
.pass__keyfacts span,.social__panel-link,.footer .nav__logo-sub{font-size:1rem!important;line-height:1.5}
.pass__keyfacts span{color:#f4d77e}
#speakers .panel{cursor:default}
#speakers .panel:not([data-open="true"]) .panel__toggle-icon::before{opacity:1;transform:none}
.stakes__stack article,.partner-card details>p{animation:none!important;opacity:1}
@media(max-width:600px){.pass__keyfacts{grid-template-columns:1fr}.nav__logo-sub{max-width:178px;white-space:normal;line-height:1.3}}

.nav__drawer a{font-size:1.125rem!important}
@media(max-width:1350px){.nav[data-open="true"] .nav__drawer{display:flex}}

.btn--gold,.nav__drawer .btn--gold{color:#06163f!important}
@media(max-width:600px){.nav__logo-sub{font-size:14px}}

@media(max-width:600px){
 .media__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .media__controls #videoPosition{grid-column:1;grid-row:1;white-space:nowrap}
 .media__controls>div{grid-column:2;grid-row:1}
 .media__controls .media__progress{grid-column:1/-1;grid-row:2;width:100%}
}

/* Standalone travel booking module. */
.travel-desk{grid-column:1/-1;width:100%;max-width:1040px;justify-self:center;border:2px solid #d4af48;border-radius:20px;overflow:hidden;background:#fffaf0;color:#14233d;box-shadow:0 24px 64px #0005;scroll-margin-top:120px}
.travel-desk__header{display:flex;align-items:center;gap:20px;padding:24px 32px;background:#081b39;color:#fff}
.travel-desk__header h3{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;color:#fff;margin-top:8px}
.travel-desk__header .eyebrow{color:#f4d77e}
.travel-desk__icon{font-size:2.5rem;line-height:1;flex-shrink:0;color:#f4d77e}
.travel-desk__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;padding:32px}
.travel-desk__intro h4{font-size:clamp(1.75rem,3vw,2.3rem);line-height:1.2;color:#14233d}
.travel-desk__intro p{margin-top:20px;color:#35415b}
.travel-desk__booking{padding:24px;background:#fff;border:1px solid #d9d1bd;border-radius:12px}
.travel-desk__label{font-weight:700;color:#14233d}
.travel-desk__trip{margin:16px 0 24px;display:grid;gap:16px}
.travel-desk__trip div{border-bottom:1px solid #e8e1d3;padding-bottom:12px}
.travel-desk__trip dt{font-size:1rem;color:#35415b;line-height:1.5}
.travel-desk__trip dd{font-size:1.125rem;color:#14233d;font-weight:700;line-height:1.5;margin:4px 0 0}
.travel-desk .btn{white-space:normal;text-align:center;gap:10px;min-height:56px;padding-inline:16px}
.travel-desk__note{margin-top:16px;color:#35415b}
.travel-desk__footer{max-width:none!important;width:100%;margin:0;padding:20px 32px;background:#ece5d5;color:#14233d;border-top:1px solid #d9d1bd}
.travel-desk__footer a,.faq__a a,.partner-card details a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.travel-desk__body{grid-template-columns:1fr;gap:24px;padding:24px}.travel-desk__header{padding:24px;gap:12px}.travel-desk__booking{padding:20px}.travel-desk__footer{max-width:none!important;width:100%;margin:0;padding:20px 24px}}

/* Persistent travel access, sharing the phone action row with tickets. */
.travel-float{position:fixed;right:24px;bottom:24px;z-index:46;display:flex;align-items:center;gap:12px;padding:14px 18px;min-height:56px;border:1px solid #d4af48;border-radius:10px;background:#081b39;color:#fff;box-shadow:0 6px 24px #0004;font-size:1rem;line-height:1.4;text-decoration:none}
.travel-float strong,.travel-float small{display:block}.travel-float small{font-size:1rem;color:#f4d77e}.travel-float:focus-visible{outline:3px solid #f4d77e;outline-offset:4px}.travel-float:hover{background:#173054}
@media(max-width:700px){.travel-float{left:14px;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(50% - 20px);padding:10px;justify-content:center;gap:8px;min-height:64px;border-radius:7px}.travel-float small{display:none}.mobilebar{left:calc(50% + 6px);right:14px;min-height:64px;padding:10px;font-size:1rem!important;line-height:1.3!important}.footer{padding-bottom:110px}}
body[data-menu-open="true"] .travel-float{visibility:hidden}

.nav__travel{display:none;color:#f4d77e;font-size:1rem;font-weight:700;min-height:44px;align-items:center;padding:8px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1350px){.nav__travel{display:flex}}
@media(max-width:420px){.nav__logo{min-width:0}.nav__logo-sub{max-width:calc(100vw - 212px)}.nav__logo-top{font-size:20px}.nav__right{gap:2px}.nav__travel{padding:6px}.motion-toggle{width:36px;min-width:36px}}

/* Equal-weight pass comparison with shared checkout beneath. */
#tickets .tickets{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
#tickets .pass{margin:0;min-width:0;height:100%}
#tickets .pass__keyfacts{grid-template-columns:1fr;gap:18px}
#tickets .pass__keyfacts strong{font-size:1.125rem;line-height:1.5}
#tickets .reg{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;align-items:start}
#tickets .reg .title,#tickets .reg__sub{grid-column:1}
#tickets .reg .field{grid-column:2;grid-row:1/3;margin:0}
#tickets .reg .btn{grid-column:1;margin:0}
#tickets .reg__foot{grid-column:2;margin:0}
.snapshot-passes{display:grid;gap:16px}.snapshot-passes span{display:grid;gap:4px}.snapshot-passes strong{font-size:1rem;line-height:1.5}.snapshot-passes em{font-size:1rem;line-height:1.5;color:#e2e8f0}
@media(max-width:900px){.hero__system{display:block;align-self:start;margin-top:24px}}
@media(max-width:700px){#tickets .tickets,#tickets .reg{grid-template-columns:1fr}#tickets .reg>*{grid-column:1!important;grid-row:auto!important}.hero__system{padding:24px 0;border-left:0;border-top:1px solid #e6c66b80}}

/* October 23: authentic featured guest and student registration. */
.guest-spotlight { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; margin-top:48px; padding:clamp(20px,3vw,40px); background:var(--navy,#071c33); color:#fff; border-radius:16px; }
.guest-spotlight > img { display:block; width:100%; height:auto; border-radius:8px; }
.guest-spotlight__copy { min-width:0; }
.guest-spotlight__copy p { margin:0 0 20px; line-height:1.65; }
.guest-spotlight__copy h3 { color:#fff; margin-bottom:20px; }
.student-registration { margin-top:56px; scroll-margin-top:100px; }
.student-registration > .body-lg { margin:16px 0 24px; }
.student-passes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:20px; }
.student-passes .pass { display:flex; flex-direction:column; min-width:0; color:#f8fafc; }
.student-passes .pass > p:not(.pass__price) { margin:0 0 20px; line-height:1.65; color:inherit; }
.student-passes .btn { margin-top:auto; white-space:normal; text-align:center; }
@media(max-width:700px) { .guest-spotlight,.student-passes { grid-template-columns:1fr; } .guest-spotlight { padding:20px; } .student-passes .pass__price .num { font-size:clamp(36px,10vw,52px); } }

.travel-float[hidden] { display:none; }

/* October 26: online attendance in the approved navy/gold system. */
.tickets__subtitle{font-family:var(--font-display,'Oswald',sans-serif);font-size:clamp(1.5rem,3vw,2.25rem)!important;line-height:1.3;color:#06163f;margin:18px 0}
.streaming{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:56px;padding:40px;background:#06163f;color:#f6f1e6;scroll-margin-top:100px;border-top:4px solid #d6b65f}
.streaming__copy{min-width:0}.streaming .heading{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15}.streaming p{margin:20px 0;line-height:1.6}.streaming .eyebrow{margin-top:0}.streaming__prices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;padding:20px 0;border-block:1px solid #69718a}.streaming__prices dt{font-size:1rem}.streaming .streaming__prices dd{font-family:var(--font-display,'Oswald',sans-serif);font-size:2.75rem!important;color:#f2d577;margin:8px 0 0}.streaming__art{margin:0;align-self:center;min-width:0}.streaming__art img{display:block;width:100%;height:auto}.streaming .streaming__note{font-size:1rem;color:#dddfe7}.streaming .btn{white-space:normal;text-align:center;line-height:1.5;padding:16px}
.partner-card .duke-description{font-size:1.125rem;line-height:1.65;margin-top:20px;color:#343e50}
@media(max-width:800px){.streaming{grid-template-columns:1fr;padding:24px;gap:24px}.streaming__art{max-width:560px}.streaming .heading{font-size:2rem}}
