/* Site additions on top of nfs.css (design-system tokens + components). Tokens only, no new colours. */

[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 56px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
main{flex:1}
p{margin:0}
h1,h2,h3,h4{margin:0}
button{font-family:inherit}
ul,ol{margin:0;padding:0}
figure{margin:0}
.nfs-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--violet);color:var(--white);padding:10px 14px;border-radius:var(--radius-control)}
.nfs-skip:focus{left:8px}
.nfs-icon{display:inline-block;flex:none}
.nfs-logo{display:block}
.nfs-pattern{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* ---------- utilities ---------- */
.nfs-rel{position:relative}
.nfs-flex{display:flex}
.nfs-row{display:flex;align-items:center}
.nfs-wrap-row{display:flex;flex-wrap:wrap;align-items:center}
.nfs-between{justify-content:space-between}
.nfs-stack{display:flex;flex-direction:column}
.nfs-stack-4{display:flex;flex-direction:column;gap:4px}
.nfs-stack-6{display:flex;flex-direction:column;gap:6px}
.nfs-stack-8{display:flex;flex-direction:column;gap:8px}
.nfs-stack-12{display:flex;flex-direction:column;gap:12px}
.nfs-stack-16{display:flex;flex-direction:column;gap:16px}
.nfs-stack-20{display:flex;flex-direction:column;gap:20px}
.nfs-stack-24{display:flex;flex-direction:column;gap:24px}
.nfs-stack-32{display:flex;flex-direction:column;gap:32px}
.nfs-stack-48{display:flex;flex-direction:column;gap:48px}
.nfs-gap-4{gap:4px}.nfs-gap-8{gap:8px}.nfs-gap-10{gap:10px}.nfs-gap-12{gap:12px}.nfs-gap-16{gap:16px}.nfs-gap-24{gap:24px}
.nfs-min0{min-width:0}
.nfs-self-start{align-self:flex-start}
.nfs-mt-4{margin-top:4px}.nfs-mt-10{margin-top:10px}.nfs-mt-12{margin-top:12px}.nfs-mt-24{margin-top:24px}.nfs-mt-32{margin-top:32px}.nfs-mt-48{margin-top:48px}
.nfs-mb-16{margin-bottom:16px}.nfs-mb-24{margin-bottom:24px}.nfs-mb-32{margin-bottom:32px}
.nfs-pad-y-8{padding:8px 0}
.nfs-white{color:var(--white)}.nfs-lilac{color:var(--lilac)}.nfs-mute{color:var(--mute)}.nfs-signal{color:var(--signal)}.nfs-inherit{color:inherit}
.nfs-o85{opacity:.85}
.nfs-fs13{font-size:13px}.nfs-fs14{font-size:14px}.nfs-fs15{font-size:15px}
.nfs-mono{font-family:var(--font-mono)}
.nfs-italic-lead{font-style:italic;font-weight:400}
.nfs-measure{max-width:var(--measure)}
.nfs-center{text-align:center}
.nfs-bg-ink2{background:var(--ink-2)}
.nfs-hairline-top{border-top:1px solid var(--line)}
.nfs-hairline-bottom{border-bottom:1px solid var(--line)}
.nfs-section--tight{padding:48px 0}
.nfs-section--flush-top{padding-top:0}
@media (min-width:1200px){.nfs-section--tight{padding:80px 0}}
.nfs-violet{background:var(--violet);color:var(--white);position:relative;overflow:hidden}
.nfs-paper{background:var(--paper);color:var(--paper-ink)}
.nfs-paper .nfs-eyebrow{color:var(--paper-mute)}
.nfs-paper .nfs-rule{background:var(--line-on-paper)}
.nfs-paper a:not(.nfs-btn){color:var(--violet-deep)}
.nfs-paper a:not(.nfs-btn):hover{color:var(--ink)}
.nfs-on-violet a:not(.nfs-btn):not(.nfs-marquee__logo){color:var(--white)}
.nfs-on-violet .nfs-eyebrow{color:var(--white)}
.nfs-on-violet .nfs-lilac{color:var(--white)}
.nfs-req{color:var(--lilac)}
.nfs-hide-mobile{display:none}
@media (min-width:1024px){.nfs-hide-mobile{display:revert}.nfs-hide-desktop{display:none!important}}
.nfs-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- reveal (JS adds .is-in; without JS everything is visible) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger))}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}}

/* ---------- header / mega / menu ---------- */
.nfs-header__logo{display:flex;align-items:center;height:100%}
.nfs-header__mob{display:inline-flex}
@media (min-width:1024px){.nfs-header__mob{display:none}}
.nfs-header__cta{height:40px;padding:0 16px;font-size:12px}
@media (min-width:1024px){.nfs-header__cta{height:44px;padding:0 22px}}
.nfs-header.is-scrolled{background:var(--ink)}
.nfs-mega{top:100%}
.nfs-mega__title{font-style:italic;font-size:32px;line-height:38px;font-weight:500}
.nfs-mega__feature{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--ink-2);color:var(--white)}
.nfs-mega__feature:hover{background:var(--ink-3);color:var(--white)}
.nfs-menu__row{text-decoration:none}
.nfs-menu__kid{text-decoration:none}
body.is-locked{overflow:hidden}

/* ---------- footer ---------- */
.nfs-footer__tag{font-style:italic;font-size:18px;line-height:26px;color:var(--lilac)}
.js .nfs-footer__gl{display:none}
.js .nfs-footer__g.is-open .nfs-footer__gl{display:flex}
.nfs-footer__g.is-open .nfs-chev{transform:rotate(180deg)}
.nfs-footer__gh .nfs-chev{display:flex;transition:transform var(--dur-header)}
.nfs-footer__base a{text-decoration:none}

/* ---------- hero ---------- */
.nfs-hero__in{position:relative;display:flex;flex-direction:column;gap:16px}
.nfs-hero__t{max-width:18ch}
.nfs-hero__intro{color:var(--lilac);max-width:44ch}
.nfs-hero--violet .nfs-hero__intro{color:var(--white)}
.nfs-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.nfs-crumbs a{color:inherit}
.nfs-crumbs a:hover{color:var(--white)}
@media (min-width:1200px){.nfs-hero{padding:80px 0 96px}}

/* home hero */
.nfs-homehero{position:relative;overflow:hidden;min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:space-between}
.nfs-homehero__bg{position:absolute;inset:0}
.nfs-homehero__bg img{width:100%;height:100%;object-fit:cover}
.nfs-homehero__bg::after{content:"";position:absolute;inset:0;background:rgba(13,0,25,.6)}
.nfs-homehero__in{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding-top:48px;padding-bottom:48px}
.nfs-homehero__actions{display:flex;flex-direction:column;gap:12px;margin-top:12px}
@media (min-width:768px){.nfs-homehero__actions{flex-direction:row}}
.nfs-nextstrip{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);color:var(--white);text-decoration:none}
.nfs-nextstrip:hover{color:var(--white);background:var(--ink-2)}
.nfs-nextstrip__arrow{font-family:var(--font-mono);font-size:22px;transition:transform var(--dur-fast) var(--ease-out)}
.nfs-nextstrip:hover .nfs-nextstrip__arrow{transform:translateX(3px)}
@media (min-width:1024px){.nfs-nextstrip{grid-template-columns:minmax(0,1fr) auto auto;gap:48px}}

/* ---------- section header ---------- */
.nfs-sechead__t{display:flex;flex-direction:column;gap:12px;max-width:640px}
.nfs-sechead__links{display:flex;gap:24px;flex:none;flex-wrap:wrap}

/* ---------- CTA band ---------- */
.nfs-band__copy{display:flex;flex-direction:column;gap:12px;max-width:720px}
.nfs-band__t{font-size:calc(var(--fs-h2) + 4px);line-height:1.15}

/* ---------- cards ---------- */
.nfs-pcard{text-decoration:none;color:inherit}
.nfs-pcard:hover{color:inherit}
.nfs-pcard__sname{font-size:14px;line-height:20px;font-weight:500}
.nfs-pcard--small .nfs-pcard__body{padding-top:10px;gap:2px}
.nfs-pcard--small .nfs-pcard__role{font-size:11px;line-height:16px}
.nfs-pcard__cta{margin-top:6px;font-size:15px}
.nfs-pcard__badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.nfs-portrait--violet{background:var(--violet)}
.nfs-portrait--round{border-radius:50%;flex:none}
.nfs-portrait{container-type:inline-size}
.nfs-portrait__ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:clamp(18px,22cqw,120px);color:var(--mute);letter-spacing:-.02em}
.nfs-portrait--violet .nfs-portrait__ini{color:rgba(255,255,255,.55)}
.nfs-avatars .nfs-portrait{border:2px solid var(--ink)}
.nfs-paper .nfs-avatars .nfs-portrait{border-color:var(--paper)}
.nfs-sgcard__body{display:flex;flex-direction:column;gap:6px;padding-top:14px}
.nfs-sgcard .nfs-pcard__badges .nfs-badge{height:20px;font-size:10px;padding:0 6px}
.nfs-ecard{gap:0}
.nfs-ecard:hover{color:inherit}
.nfs-ecard:hover .nfs-h3,.nfs-ecard:hover .nfs-h2{color:var(--lilac)}
.nfs-ecard__body{display:flex;flex-direction:column;gap:10px;padding-top:16px}
.nfs-ecard--feature .nfs-ecard__body{gap:14px}
.nfs-ecard .nfs-media img{transition:transform 600ms var(--ease-out)}
.nfs-ecard:hover .nfs-media img{transform:scale(1.03)}
.nfs-ccard:hover{color:inherit}
.nfs-ccard__lt{font-size:18px;line-height:25px}
.nfs-ccard__thumb{width:72px;flex:none}
.nfs-ccard--author{padding:20px 0;border-bottom:1px solid var(--line);gap:14px}
.nfs-ccard__an{font-weight:500;font-size:15px}
.nfs-media__overlay{position:absolute;inset:0}

/* rail */
.nfs-railwrap{display:flex;flex-direction:column;gap:16px}
.nfs-rail{outline:none}
.nfs-rail__ctl{display:flex;align-items:center;justify-content:space-between}
.nfs-rail__n{font-size:12px;letter-spacing:.1em;color:var(--lilac)}
.nfs-rail__arrows{display:none;gap:4px}
@media (min-width:1024px){.nfs-rail__arrows{display:flex}}
.nfs-rail--small{grid-auto-columns:42%}
@media (min-width:1024px){.nfs-rail--small{grid-auto-columns:calc((100% - 80px)/6)}}

/* ticket */
.nfs-ticket__top{padding:28px 24px 24px;display:flex;flex-direction:column;gap:16px}
.nfs-ticket__tier{font-size:32px;line-height:36px;font-weight:600;letter-spacing:-.01em}
.nfs-ticket__price{font-size:44px;line-height:1;font-weight:500}
.nfs-ticket__cur{font-size:16px;margin-right:6px;opacity:.8}
.nfs-ticket__inc{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:22px}
.nfs-ticket__inc li{display:flex;gap:10px}
.nfs-ticket__inc .nfs-num{opacity:.7}
.nfs-ticket__stub{height:132px;padding:18px 24px 20px;display:flex;flex-direction:column;justify-content:space-between}
.nfs-ticket__left{font-size:12px;letter-spacing:.1em}
.nfs-ticket__serial{font-size:11px;letter-spacing:.14em;opacity:.7}
.nfs-ticket.is-soldout .nfs-ticket__top{opacity:.55}

/* lockup */
.nfs-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.nfs-lockup--center{align-items:center;text-align:center}
.nfs-lockup__ed{color:inherit;opacity:.85}
.nfs-lockup__t{font-weight:600;line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
.nfs-lockup__y{line-height:1;font-weight:500;letter-spacing:.04em}
.nfs-lockup__theme{font-style:italic;line-height:1.35;max-width:28ch;margin-top:4px}
.nfs-lockup--s{gap:4px}.nfs-lockup--s .nfs-lockup__t{font-size:28px}.nfs-lockup--s .nfs-lockup__y{font-size:14px}.nfs-lockup--s .nfs-lockup__ed{font-size:11px}.nfs-lockup--s .nfs-lockup__theme{font-size:13px}
.nfs-lockup--m .nfs-lockup__t{font-size:56px}.nfs-lockup--m .nfs-lockup__y{font-size:22px}.nfs-lockup--m .nfs-lockup__theme{font-size:18px}
.nfs-lockup--l .nfs-lockup__t{font-size:clamp(56px,10vw,140px)}.nfs-lockup--l .nfs-lockup__y{font-size:clamp(22px,3vw,40px)}.nfs-lockup--l .nfs-lockup__ed{font-size:13px}.nfs-lockup--l .nfs-lockup__theme{font-size:clamp(18px,2vw,26px)}

/* key facts */
.nfs-facts{margin:0;border-top:1px solid var(--line)}
.nfs-facts__r{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.nfs-facts dd{margin:0}
.nfs-paper .nfs-facts,.nfs-paper .nfs-facts__r{border-color:var(--line-on-paper)}
.nfs-on-violet .nfs-facts,.nfs-on-violet .nfs-facts__r{border-color:var(--line-on-violet)}

/* story */
.nfs-story__pin{top:var(--header-h)}
.nfs-story__count{position:absolute;top:12px;right:12px;font-size:12px;letter-spacing:.1em;background:var(--ink);padding:6px 8px}
.nfs-story__img .nfs-media{height:100%}
@media (max-height:600px){.nfs-story__pin{position:static}.nfs-story__step{min-height:0;opacity:1}}

/* marquee */
.nfs-marquee__word{font-weight:600;font-size:20px;letter-spacing:-.01em;white-space:nowrap}
.nfs-marquee__logo img.is-white{filter:none}
.nfs-ticker__sep{margin-left:16px;opacity:.6}

/* ---------- forms ---------- */
select.nfs-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C9A6FF' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
select.nfs-input option{background:var(--ink-2);color:var(--white)}
.nfs-paper .nfs-input{background:var(--white);color:var(--paper-ink);border-color:var(--line-on-paper)}
.nfs-paper .nfs-field label{color:var(--paper-ink)}
.nfs-on-violet .nfs-input{background:var(--white);color:var(--ink)}
.nfs-on-violet .nfs-input::placeholder{color:var(--paper-mute)}
.nfs-on-violet .nfs-field label{color:var(--white)}
.nfs-field.is-error .nfs-field__help{color:var(--signal)}
.nfs-alert{padding:14px 16px;border-left:2px solid var(--signal);background:var(--ink-2);color:var(--white);font-size:15px;line-height:22px}
.nfs-alert--ok{border-color:var(--violet)}
.nfs-formgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:768px){.nfs-formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.nfs-formgrid>.nfs-field--full,.nfs-formgrid>.nfs-full{grid-column:1/-1}}
.nfs-success{display:flex;flex-direction:column;gap:16px;padding:32px 0}
.nfs-inline-form{display:flex;flex-direction:column;gap:12px}
@media (min-width:768px){.nfs-inline-form{flex-direction:row}.nfs-inline-form .nfs-input{flex:1}}
.nfs-btn.is-loading{opacity:.6;pointer-events:none}

/* ---------- dialogs (partner / contact) ---------- */
.nfs-dialog{position:fixed;inset:0;z-index:70;background:rgba(13,0,25,.72);display:flex;align-items:flex-end;justify-content:center;animation:nfs-fade var(--dur-header)}
.nfs-dialog__panel{position:relative;width:100%;max-height:calc(100% - 24px);overflow-y:auto;background:var(--ink);border-top:1px solid var(--line);padding:56px var(--gutter) 32px;animation:nfs-sheet 320ms var(--ease-out)}
.nfs-dialog__close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:var(--ink-2);color:var(--white);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.nfs-dialog__close:hover{background:var(--ink-3)}
@media (min-width:768px){.nfs-dialog{align-items:center}.nfs-dialog__panel{max-width:560px;border:1px solid var(--line);padding:56px 40px 40px;max-height:calc(100% - 64px)}}

/* ---------- profile sheet ---------- */
.nfs-sheet-scrim{display:block}
.nfs-sheet__media .nfs-portrait{aspect-ratio:auto!important;height:60vh;min-height:360px}
.nfs-sheet__content{padding:28px 20px 48px;display:flex;flex-direction:column;gap:20px}
.nfs-sheet__role{font-size:13px;color:var(--violet-deep);letter-spacing:.04em}
.nfs-sheet__list a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-on-paper);color:var(--paper-ink)}
.nfs-sheet .nfs-rule{background:var(--line-on-paper)}
.nfs-sheet .nfs-eyebrow{color:var(--paper-mute)}
.nfs-sheet .nfs-link{color:var(--violet-deep)}
.nfs-sheet .nfs-link:hover{color:var(--ink)}
@media (min-width:1024px){.nfs-sheet__media .nfs-portrait{height:100%;max-height:none}.nfs-sheet__content{padding:72px 56px 56px}}

/* ---------- people grids ---------- */
.nfs-pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}
.nfs-pgrid--lead>*:first-child{grid-column:1/-1}
@media (min-width:1024px){.nfs-pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}.nfs-pgrid--lead>*:first-child{grid-column:auto}}
.nfs-pgrid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}
@media (min-width:1024px){.nfs-pgrid--3{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* filter empty state */
.nfs-empty{padding:48px 0;color:var(--mute);border-top:1px solid var(--line)}

/* profile hero (speaker / researcher) */
.nfs-profhero{display:grid;grid-template-columns:minmax(0,1fr)}
.nfs-profhero__body{padding:32px var(--gutter) 48px;display:flex;flex-direction:column;gap:16px}
@media (min-width:1024px){.nfs-profhero{grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--header-h))}.nfs-profhero__body{padding:96px 64px;justify-content:center}.nfs-profhero .nfs-portrait{height:100%;aspect-ratio:auto!important}}
.nfs-quote{font-style:italic;font-size:26px;line-height:36px;font-weight:400;border-left:2px solid var(--violet);padding-left:20px;max-width:32ch}
@media (min-width:1024px){.nfs-quote{font-size:36px;line-height:46px}}
.nfs-rowlist{border-top:1px solid var(--line)}
.nfs-rowlist__i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);color:var(--white);text-decoration:none}
a.nfs-rowlist__i:hover{color:var(--lilac)}
.nfs-paper .nfs-rowlist,.nfs-paper .nfs-rowlist__i{border-color:var(--line-on-paper);color:var(--paper-ink)}

/* rich text (bios, articles) */
.nfs-prose{font-size:var(--fs-article);line-height:var(--lh-article);max-width:var(--measure)}
.nfs-prose>*+*{margin-top:1.1em}
.nfs-prose h2{font-size:26px;line-height:32px;font-weight:600;margin-top:1.8em}
.nfs-prose h3{font-size:20px;line-height:26px;font-weight:500;margin-top:1.5em}
.nfs-prose ul,.nfs-prose ol{padding-left:1.3em}
.nfs-prose li+li{margin-top:.4em}
.nfs-prose blockquote{margin:1.6em 0;font-style:italic;font-size:24px;line-height:34px;border-left:2px solid var(--violet);padding-left:20px}
.nfs-prose img{width:100%;height:auto}
.nfs-prose figcaption{font-size:14px;color:var(--paper-mute);margin-top:8px}
.nfs-prose pre,.nfs-prose code{font-family:var(--font-mono);font-size:15px}
.nfs-prose pre{background:var(--ink);color:var(--white);padding:16px;overflow-x:auto}
.nfs-prose table{width:100%;border-collapse:collapse;font-size:16px}
.nfs-prose th,.nfs-prose td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line-on-paper)}
.nfs-prose .callout{background:var(--white);border-left:2px solid var(--violet);padding:16px 20px}
.nfs-prose .data{display:flex;flex-direction:column;gap:4px;padding:20px 0;border-top:1px solid var(--line-on-paper);border-bottom:1px solid var(--line-on-paper)}
.nfs-prose .data strong{font-family:var(--font-mono);font-size:48px;line-height:1;font-weight:500}
@media (min-width:1024px){.nfs-prose{font-size:19px;line-height:32px}}

/* spotlight (featured speaker auto-advance) */
.nfs-spot{position:relative}
.nfs-spot__bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--line-on-violet);z-index:3}
.nfs-spot__bar i{display:block;height:100%;width:0;background:var(--white)}
.nfs-spot__slide{display:grid;grid-template-columns:minmax(0,1fr)}
.nfs-spot__slide[hidden]{display:none}
.nfs-spot__body{padding:28px var(--gutter) 40px;display:flex;flex-direction:column;gap:14px}
@media (min-width:1024px){.nfs-spot__slide{grid-template-columns:5fr 7fr}.nfs-spot__body{padding:80px 64px;justify-content:center}}
.nfs-spot__dots{display:flex;gap:6px;padding:0 var(--gutter) 24px}
@media (min-width:1024px){.nfs-spot__dots{position:absolute;right:64px;bottom:40px;padding:0}}
.nfs-spot__dot{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center}
.nfs-spot__dot::before{content:"";display:block;width:100%;height:2px;background:rgba(255,255,255,.35)}
.nfs-spot__dot.is-active::before{background:var(--white)}

/* split block (ambassador teaser, president) */
.nfs-split{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:1024px){.nfs-split{grid-template-columns:1fr 1fr;gap:96px;align-items:center}.nfs-split--5-7{grid-template-columns:5fr 7fr}}

/* timeline (about story) */
.nfs-timeline{display:grid;grid-auto-flow:column;grid-auto-columns:75%;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}
.nfs-timeline::-webkit-scrollbar{display:none}
.nfs-timeline__i{scroll-snap-align:start;border-top:1px solid var(--line-strong);padding:20px 24px 0 0;position:relative;display:flex;flex-direction:column;gap:8px}
.nfs-timeline__i::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--violet)}
.nfs-timeline__y{font-family:var(--font-mono);font-size:40px;line-height:1;font-weight:500}

/* explore cards */
.nfs-explore{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:768px){.nfs-explore{grid-template-columns:1fr 1fr}}
.nfs-explore a{display:flex;flex-direction:column;gap:14px;color:var(--white);text-decoration:none}
.nfs-explore a:hover .nfs-h2{color:var(--lilac)}

/* reading progress */
.nfs-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;pointer-events:none}
.nfs-progress i{display:block;height:100%;width:0;background:var(--violet)}

/* load more */
.nfs-more{display:flex;justify-content:center;margin-top:40px}

/* 404 */
.nfs-404{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:20px}

/* home: latest reads (lead card, then list/author rows; 3 across on desktop) */
.nfs-reads{display:flex;flex-direction:column}
.nfs-reads__i.is-lead{margin-bottom:16px}
@media (min-width:1024px){.nfs-reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.nfs-reads__i.is-lead{margin:0}}

/* sponsors wall (tiered, static) and plans */
.sp-wall{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.sp-wall--lg{grid-template-columns:minmax(0,1fr)}
.sp-wall--md{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-wall--sm{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.sp-wall--lg{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-wall--md{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-wall--sm{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sp-tile{background:var(--ink);display:flex;flex-direction:column;gap:12px;padding:24px;color:var(--white);text-decoration:none}
a.sp-tile:hover{background:var(--ink-2);color:var(--white)}
.sp-tile__logo{display:flex;align-items:center;height:56px}
.sp-wall--lg .sp-tile{padding:40px 32px}.sp-wall--lg .sp-tile__logo{height:88px}
.sp-wall--sm .sp-tile__logo{height:40px}
.sp-tile__logo img{max-height:100%;max-width:100%;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;transition:filter var(--dur-fast),opacity var(--dur-fast)}
a.sp-tile:hover .sp-tile__logo img{filter:none;opacity:1}
.sp-tile__name{font-size:14px;color:var(--lilac)}
.sp-plans{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:768px){.sp-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.sp-plans{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sp-plan{display:flex;flex-direction:column;gap:24px;padding:28px 24px;background:var(--ink-2)}
.sp-plan--featured{background:var(--violet);color:var(--white)}
.sp-plan__price{font-size:30px;line-height:1.1;font-weight:500}
.sp-plan__inc{list-style:none;flex:1;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:22px}
.sp-plan__inc li{display:flex;gap:10px}
.sp-plan__inc .nfs-num{opacity:.7}
@media (min-width:1024px) and (max-width:1279px){.nfs-header__nav{gap:20px}.nfs-header__lnk{letter-spacing:.08em;font-size:12px}}

/* events */
.ev-year{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ev-year__y{position:sticky;top:var(--header-h);z-index:1;background:var(--ink);font-size:40px;line-height:56px;color:var(--mute)}
@media (min-width:1024px){.ev-year{grid-template-columns:200px minmax(0,1fr);gap:48px}.ev-year__y{top:calc(var(--header-h) + 24px);align-self:start}}
.ev-past{grid-template-columns:72px minmax(0,1fr)!important;align-items:start}
.ev-agenda{border-top:1px solid var(--line)}
.ev-agenda__day{padding:24px 0 8px}
.ev-agenda__row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--mute)}
.ev-agenda__row.is-heavy{padding:20px 0;color:var(--white)}
.ev-agenda__t{font-size:13px;padding-top:2px}
.ev-agenda__title{font-size:15px;line-height:1.4}
.ev-agenda__row.is-heavy .ev-agenda__title{font-size:18px;font-weight:500}
.ev-quote{display:flex;flex-direction:column;gap:20px;padding:24px 0;border-top:1px solid var(--line);height:100%}
.ev-quote blockquote{margin:0;font-style:italic;font-size:22px;line-height:32px}
.ev-panel{border-top:1px solid var(--line);padding:28px 0;display:flex;flex-direction:column;gap:14px}
.ev-panel__people{display:grid;grid-auto-flow:column;grid-auto-columns:112px;gap:12px;overflow-x:auto;scrollbar-width:none}
@media (min-width:1024px){.ev-panel__people{grid-auto-columns:160px}}
.ev-keynote{display:grid;grid-template-columns:minmax(0,1fr);min-height:100svh}
.ev-keynote .nfs-portrait{height:56svh;aspect-ratio:auto!important}
.ev-keynote__body{padding:24px var(--gutter) 48px;display:flex;flex-direction:column;gap:12px;justify-content:center}
@media (min-width:1024px){.ev-keynote{grid-template-columns:1fr 1fr;min-height:auto}.ev-keynote .nfs-portrait{height:auto;min-height:80vh;position:sticky;top:var(--header-h)}.ev-keynote:nth-of-type(even) .nfs-portrait{order:2}.ev-keynote__body{padding:96px 64px}}
.ev-cinema{position:relative;min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;overflow:hidden}
.ev-cinema__bg{position:absolute;inset:0}
.ev-cinema__bg img,.ev-cinema__bg video{width:100%;height:100%;object-fit:cover}
.ev-cinema__bg::after{content:"";position:absolute;inset:0;background:rgba(13,0,25,.6)}
.ev-cinema__in{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-top:48px;padding-bottom:48px}
.ev-subnav{top:var(--header-h);transition:top var(--dur-header) var(--ease-std)}
.nfs-header.is-hidden~main .ev-subnav{top:0}
.ev-subnav a{flex:none;position:relative;display:flex;align-items:center;height:48px;color:var(--mute);font:500 14px/1 var(--font-sans);text-decoration:none}
.ev-subnav a:hover,.ev-subnav a.is-active{color:var(--white)}
.ev-subnav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--violet)}
.ev-announce{background:var(--signal);color:var(--white);padding:10px 0;font-size:14px}
.nfs-mw{color:var(--mute);transition:color 200ms}.nfs-mw.is-lit{color:var(--white)}
.ev-film{position:relative;display:block;aspect-ratio:16/9;background:var(--ink-2);overflow:hidden;color:var(--white)}
.ev-film img{width:100%;height:100%;object-fit:cover;opacity:.6}
.ev-film__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ev-film__play span{width:72px;height:72px;border-radius:50%;background:var(--violet);display:flex;align-items:center;justify-content:center}
.ev-film:hover .ev-film__play span{background:var(--violet-deep)}
.ev-tickets{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:768px){.ev-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.ev-tickets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ev-std__img{width:100%}
.hx-track .nfs-acc__q{min-height:88px}
.hx-prizes{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.hx-prize{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 16px;align-items:baseline;padding:24px 16px;border-bottom:1px solid var(--line)}
.hx-prize .nfs-small{grid-column:2}
.hx-prize__pos{font-size:14px;letter-spacing:.12em}
.hx-prize__amt{font-size:32px;line-height:1.1;font-weight:500}
.hx-prize.nfs-violet .hx-prize__amt{font-size:48px}
.hx-phases-list{list-style:none;display:flex;flex-direction:column;border-left:1px solid var(--line-strong);margin-left:6px}
.hx-phase{position:relative;display:flex;gap:16px;padding:0 0 28px 24px}
.hx-phase__dot{position:absolute;left:-7px;top:4px;width:13px;height:13px;border:1px solid var(--lilac);background:var(--ink)}
.hx-phase.is-past{opacity:.45}.hx-phase.is-past .hx-phase__dot{background:var(--lilac)}
.hx-phase.is-now .hx-phase__dot{background:var(--violet);border-color:var(--violet)}
@media (min-width:1024px){.hx-phases-list{flex-direction:row;border-left:0;border-top:1px solid var(--line-strong);margin:6px 0 0}.hx-phase{flex:1;padding:24px 16px 0 0}.hx-phase__dot{left:0;top:-7px}}
.hx-crit{grid-template-columns:40px minmax(0,1fr) 56px!important;align-items:center!important}

/* launchpad */
.lp-logo{flex:none;display:flex;align-items:center;justify-content:center;background:var(--ink-2);overflow:hidden}
.lp-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.lp-logo--ini{background:var(--violet);color:var(--white);font-weight:600;letter-spacing:-.02em}
.lp-name{font-size:17px;font-weight:500;color:var(--white)}
.lp-row{color:inherit}
.lp-row[hidden]{display:none}
/* research */
.rs-feature{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.rs-feature{grid-template-columns:1fr 2fr}}
.rs-feature__pub{padding:28px 24px;display:flex;flex-direction:column;gap:16px}
@media (min-width:1024px){.rs-feature__pub{padding:48px}}
.rs-authors{display:flex;flex-direction:column;gap:12px}
.rs-author{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.rs-author:hover .rs-author__n{text-decoration:underline;text-underline-offset:3px}
.rs-author__n{font-weight:500;font-size:15px}
.rs-search{position:relative}
.rs-search .nfs-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--mute)}
.rs-search .nfs-input{padding-left:42px}
.rs-note{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1024px){.rs-note{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:48px}}
.rs-findings{counter-reset:k;list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line-on-paper)}
.rs-findings li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--line-on-paper)}
.rs-full{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:40px 0;border-top:1px solid var(--line)}
@media (min-width:768px){.rs-full{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}}
/* blog */
.bl-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;color:inherit;text-decoration:none}
.bl-feature:hover .nfs-h1{color:var(--lilac)}
@media (min-width:1024px){.bl-feature{grid-template-columns:7fr 5fr;gap:48px;align-items:center}}
.bl-share{display:flex;flex-wrap:wrap;gap:8px}
.bl-author{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:start;padding:24px 0;border-top:1px solid var(--line-on-paper);border-bottom:1px solid var(--line-on-paper)}
.is-search-hidden{display:none!important}
.bl-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.bl-list__i.is-card{padding-bottom:32px}
@media (min-width:1024px){.bl-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}.bl-list__i:not(.is-card){grid-column:1/-1}}
.lp-feature{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.lp-feature{grid-template-columns:7fr 5fr;gap:48px;align-items:center}}
.lp-feature[hidden]{display:none}
.lp-phone{justify-self:center;width:260px;aspect-ratio:9/19;border:8px solid var(--ink-3);border-radius:32px;overflow:hidden;background:var(--ink-2)}
.lp-phone img{width:100%;height:100%;object-fit:cover}
.lp-founder .nfs-portrait{max-width:360px}
[data-spot] .nfs-spot__dot::before{background:var(--line-strong)}
[data-spot] .nfs-spot__dot.is-active::before{background:var(--violet)}
.nfs-on-violet[data-spot] .nfs-spot__dot::before{background:rgba(255,255,255,.35)}
.nfs-on-violet[data-spot] .nfs-spot__dot.is-active::before{background:var(--white)}
.nfs-header__acct{color:var(--lilac);font:500 13px/1 var(--font-sans);letter-spacing:.06em;padding:0 12px;white-space:nowrap}.nfs-header__acct:hover{color:var(--white)}

/* discussion: comments, ratings, reported issues */
.cm-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line)}
.cm-tabs button{position:relative;height:40px;background:none;border:0;padding:0;color:var(--mute);font:500 14px/1 var(--font-sans);cursor:pointer}
.cm-tabs button.is-on{color:var(--white)}
.cm-tabs button.is-on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--violet)}
.cm-rate{border:0;padding:0;margin:0;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;align-items:center}
.cm-rate legend{float:left;margin-right:12px}
.cm-rate input{position:absolute;opacity:0;width:1px;height:1px}
.cm-rate label{font-size:26px;line-height:1;color:var(--ink-3);cursor:pointer;padding:2px}
.cm-rate label:hover,.cm-rate label:hover~label,.cm-rate input:checked~label{color:var(--violet)}
.cm-rate input:focus-visible+label{outline:2px solid var(--focus-ring)}
.cm-stars{color:var(--violet);font-size:20px;letter-spacing:2px}
.cm-list{display:flex;flex-direction:column;margin-top:32px;border-top:1px solid var(--line)}
.cm-item{display:flex;flex-direction:column;gap:12px;padding:24px 0;border-bottom:1px solid var(--line)}
.cm-item.is-issue{border-left:2px solid var(--signal);padding-left:16px}
.cm-quote{margin:0;padding:8px 12px;background:var(--ink-2);font-style:italic;color:var(--lilac)}
.cm-body p+p{margin-top:.6em}
.cm-reply{margin-left:20px;padding:12px 16px;background:var(--ink-2);display:flex;flex-direction:column;gap:8px}
.cm-pop{position:absolute;z-index:60;height:36px;padding:0 12px;border:0;border-radius:4px;background:var(--signal);color:var(--white);font:500 13px/1 var(--font-sans);cursor:pointer}

/* writing editor (public submissions) */
.ed{display:flex;flex-direction:column;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--ink-2)}
.ed-bar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--line);position:sticky;top:var(--header-h);background:var(--ink-2);z-index:2}
.ed-bar button{height:32px;min-width:36px;padding:0 10px;border:0;border-radius:2px;background:none;color:var(--lilac);font:500 13px/1 var(--font-mono);cursor:pointer}
.ed-bar button:hover{background:var(--ink-3);color:var(--white)}
.ed-area{min-height:320px;padding:16px;outline:none;color:var(--white);font-size:17px;line-height:28px;max-width:none}
.ed-area:focus{box-shadow:inset 0 0 0 1px var(--lilac)}
.ed-area h2{font-size:24px;line-height:30px}.ed-area blockquote{color:var(--lilac)}
.ed-link{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px;border-bottom:1px solid var(--line)}
.ed-foot{display:flex;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--line);font:500 12px/1 var(--font-mono);color:var(--mute)}
.sub-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;counter-reset:s}
.sub-steps li{padding:14px;border-top:2px solid var(--line-strong);font-size:14px;color:var(--lilac)}
.sub-steps li strong{display:block;color:var(--white);font-weight:500;margin-bottom:4px}

/* ---------- choice groups (Launchpad application, form builder) ---------- */
.lp-choices,.frm-choices{display:flex;flex-wrap:wrap;gap:8px}
.lp-choices--stack,.frm-choices--stack{flex-direction:column;align-items:stretch}
.lp-choices label,.frm-choices label{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-control);cursor:pointer;font-size:15px;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}
.lp-choices label:hover,.frm-choices label:hover{border-color:var(--lilac)}
.lp-choices label:has(input:checked),.frm-choices label:has(input:checked){border-color:var(--violet);background:rgba(127,0,248,.14)}
.lp-choices input,.frm-choices input{accent-color:var(--violet);width:18px;height:18px;margin:0}
.frm-section{padding-top:24px;border-top:1px solid var(--line)}
.frm-rating{display:flex;gap:8px}
.frm-rating label{cursor:pointer}
.frm-rating input{position:absolute;opacity:0;pointer-events:none}
.frm-rating span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line-strong);border-radius:var(--radius-control);font:500 16px/1 var(--font-mono)}
.frm-rating input:checked+span{background:var(--violet);border-color:var(--violet);color:var(--white)}
.frm-rating input:focus-visible+span{outline:2px solid var(--lilac);outline-offset:2px}
[data-show-if][hidden]{display:none!important}

/* ---------- careers ---------- */
.jb-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding:20px 0}
.jb-row__logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--ink-3);border-radius:var(--radius-control);overflow:hidden}
.jb-row__logo img{width:100%;height:100%;object-fit:contain;padding:6px;background:var(--white)}
.jb-row__title{font-size:19px;line-height:26px;font-weight:600;color:var(--white)}
.jb-row__side{grid-column:2;align-items:flex-start}
@media (min-width:768px){.jb-row{grid-template-columns:48px minmax(0,1fr) auto}.jb-row__side{grid-column:auto;align-items:flex-end;text-align:right}}
.jb-detail{display:grid;gap:48px}
@media (min-width:1024px){.jb-detail{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.jb-detail>aside{position:sticky;top:calc(var(--header-h) + 24px)}}
.jb-lead{font-size:20px;line-height:30px;color:var(--lilac)}

/* ---------- header account menu ---------- */
.nfs-acctmenu{position:relative}
.nfs-acctmenu__btn{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px;list-style:none;cursor:pointer;color:var(--white);font:500 13px/1 var(--font-sans);letter-spacing:.06em;border-radius:var(--radius-control)}
.nfs-acctmenu__btn::-webkit-details-marker{display:none}
.nfs-acctmenu__btn:hover,.nfs-acctmenu[open] .nfs-acctmenu__btn{background:var(--ink-3)}
.nfs-acctmenu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;display:flex;flex-direction:column;padding:8px;background:var(--ink);border:1px solid var(--line-strong);border-radius:4px;box-shadow:0 16px 40px rgba(0,0,0,.4);z-index:60}
.nfs-acctmenu__panel a{padding:10px 12px;border-radius:2px;color:var(--white);font-size:15px}
.nfs-acctmenu__panel a:hover,.nfs-acctmenu__panel a:focus-visible{background:var(--ink-3)}
.nfs-acctmenu__note{padding:4px 12px 10px;font-size:12px;color:var(--mute)}
.nfs-acctmenu__team{margin-top:4px;border-top:1px solid var(--line);color:var(--lilac)!important;font-size:13px!important}

/* ---------- team member profile ---------- */
.tm-profile{display:grid;gap:40px}
.tm-profile__photo{max-width:360px}
.tm-profile__quote{font-size:24px;line-height:32px;font-style:italic;color:var(--lilac);margin:0}
@media (min-width:900px){.tm-profile{grid-template-columns:340px minmax(0,1fr);align-items:start}.tm-profile__photo{position:sticky;top:calc(var(--header-h) + 24px)}}

/* ---------- shared Drive links ---------- */
.ds-row{display:flex;align-items:center;gap:14px;padding:12px 0}
.ds-thumb{flex:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--ink-3);border-radius:var(--radius-control);overflow:hidden;color:var(--lilac)}
.ds-thumb img{width:100%;height:100%;object-fit:cover}
.nfs-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Chip rows that do not fit get left/right arrows and a fade at the cut edge (nfs.js adds them). */
.nfs-chipsx{position:relative;min-width:0}
.nfs-chipsx::before,.nfs-chipsx::after{content:"";position:absolute;top:0;bottom:0;width:64px;pointer-events:none;opacity:0;transition:opacity var(--dur-fast);z-index:1}
.nfs-chipsx::before{left:0;background:linear-gradient(90deg,var(--ink) 35%,transparent)}
.nfs-chipsx::after{right:0;background:linear-gradient(270deg,var(--ink) 35%,transparent)}
.nfs-chipsx.can-prev::before,.nfs-chipsx.can-next::after{opacity:1}
.nfs-chipsx__btn{position:absolute;top:50%;z-index:2;width:36px;height:36px;margin-top:-18px;display:none;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-strong);background:var(--ink-2);color:var(--white);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}
.nfs-chipsx__btn:hover{background:var(--violet);border-color:var(--violet)}
.nfs-chipsx__btn:focus-visible{outline:2px solid var(--lilac);outline-offset:2px}
.nfs-chipsx__btn--prev{left:0}
.nfs-chipsx__btn--next{right:0}
.nfs-chipsx.can-prev .nfs-chipsx__btn--prev,.nfs-chipsx.can-next .nfs-chipsx__btn--next{display:inline-flex}
