/* Navigation concepts for review only. Not part of the site. */

.nc-switch{position:fixed;left:16px;bottom:16px;z-index:10000;background:#0a0a0a;color:#fafafa;border:2px solid #0a0a0a;font-family:'JetBrains Mono',monospace;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
.nc-switch b{display:block;padding:10px 12px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.nc-switch div{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px 8px}
.nc-switch button{all:unset;cursor:pointer;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:9px 10px;border:1px solid #fafafa;color:#fafafa}
.nc-switch button[aria-pressed=true]{background:#d92e1c;border-color:#d92e1c;color:#fff}
.nc-switch button:focus-visible{outline:2px solid #fafafa;outline-offset:2px}
.nc-switch p{margin:0;padding:0 12px 10px;font:400 12px/1.4 'Inter Tight',sans-serif;max-width:340px;color:#fafafa}

/* Shared new nav */
.ncnav{display:none}
body.nc-on .nav{display:none!important}
body.nc-on .ncnav{display:flex}
.ncnav{position:sticky;top:0;z-index:60;align-items:center;justify-content:space-between;gap:24px;padding:0 28px;height:64px;border-bottom:1px solid var(--nc-rule);background:var(--nc-bg);color:var(--nc-fg)}
.ncnav a{color:inherit;text-decoration:none}
.ncnav .brand{font-family:'Inter Tight',sans-serif;font-weight:600;font-size:19px;letter-spacing:-.02em;display:flex;align-items:center}
.ncnav .brand .bar{background:var(--nc-fg);color:var(--nc-bg);padding:0 4px;margin:0 2px}
.ncnav .brand-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nc-dot);margin-left:4px}
.nc-links{display:flex;align-items:stretch;height:100%;gap:0}
.nc-links>a,.nc-links>button{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;padding:0 16px;font:500 15px/1 'Inter Tight',sans-serif;color:var(--nc-fg);position:relative}
.nc-links>a:hover,.nc-links>button:hover,.nc-links>button[aria-expanded=true]{text-decoration:underline;text-underline-offset:6px}
.nc-links>a:focus-visible,.nc-links>button:focus-visible,.nc-cta:focus-visible,.nc-menu:focus-visible{outline:2px solid var(--nc-fg);outline-offset:-4px}
.nc-links .chev{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.nc-links button[aria-expanded=true] .chev{transform:rotate(-135deg) translateY(-1px)}
.nc-cta{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;font:600 14px/1 'Inter Tight',sans-serif;background:var(--nc-cta-bg);color:var(--nc-cta-fg)!important;border:1px solid var(--nc-cta-bg)}
.nc-cta:hover{background:transparent;color:var(--nc-fg)!important;border-color:var(--nc-fg)}
.nc-right{display:flex;align-items:center;gap:16px}
.nc-menu{all:unset;cursor:pointer;display:none;align-items:center;gap:10px;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--nc-fg);min-height:40px;padding:0 4px}
.nc-menu i{display:inline-block;width:22px;height:9px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}

/* Editions drop panel */
.nc-panel{position:fixed;left:0;right:0;top:var(--nc-top,64px);z-index:59;background:var(--nc-bg);color:var(--nc-fg);border-bottom:1px solid var(--nc-rule);display:none;box-shadow:0 24px 40px rgba(0,0,0,.12)}
.nc-panel.open{display:block}
.nc-panel .in{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,5fr);border-top:1px solid var(--nc-rule);margin:0 28px}
.nc-panel .lead{padding:28px 28px 28px 0;border-right:1px solid var(--nc-rule)}
.nc-panel .lead span{display:block;font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-kick);margin-bottom:12px}
.nc-panel .lead p{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.015em;color:var(--nc-fg)}
.nc-panel .lead p em{font-family:'Fraunces',serif;font-weight:300}
.nc-ed{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:28px;border-right:1px solid var(--nc-rule);color:var(--nc-fg)!important}
.nc-ed:last-child{border-right:0;padding-right:0}
.nc-ed img{width:150px;height:110px;object-fit:cover;filter:grayscale(1)}
.nc-ed:hover img{filter:none}
.nc-ed small{display:block;font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-kick);margin-bottom:8px}
.nc-ed strong{display:block;font-size:30px;line-height:1;font-weight:500;letter-spacing:-.03em;margin-bottom:10px}
.nc-ed p{margin:0 0 12px;font-size:15px;line-height:1.45;color:var(--nc-fg)}
.nc-ed u{font:500 11px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;text-underline-offset:4px}
.nc-ed:hover strong{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

/* Full-screen overlay */
.nc-over{position:fixed;inset:0;z-index:70;background:var(--nc-ov-bg);color:var(--nc-ov-fg);display:none;overflow:auto}
.nc-over.open{display:block}
.nc-over a{color:inherit;text-decoration:none}
.nc-over .top{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 28px;border-bottom:1px solid var(--nc-ov-rule)}
.nc-over .top .brand{font:600 19px/1 'Inter Tight',sans-serif;letter-spacing:-.02em}
.nc-over .top .brand .bar{background:var(--nc-ov-fg);color:var(--nc-ov-bg);padding:0 4px;margin:0 2px}
.nc-over .x{all:unset;cursor:pointer;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;min-height:40px;display:flex;align-items:center;gap:10px}
.nc-over .x:focus-visible,.nc-over a:focus-visible{outline:2px solid var(--nc-ov-fg);outline-offset:3px}
.nc-over .body{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);margin:0 28px;min-height:calc(100vh - 64px)}
.nc-over ol{list-style:none;margin:0;padding:0;border-right:1px solid var(--nc-ov-rule)}
.nc-over ol>li{border-bottom:1px solid var(--nc-ov-rule)}
.nc-over ol>li>a,.nc-over ol>li>div{display:flex;align-items:baseline;gap:24px;padding:18px 28px 18px 0;font:500 clamp(36px,5.4vw,76px)/1 'Inter Tight',sans-serif;letter-spacing:-.04em}
.nc-over ol>li>a:hover .t{font-family:'Fraunces',serif;font-style:italic;font-weight:300}
.nc-over ol .n{font:500 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;min-width:28px}
.nc-over .subs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--nc-ov-rule);margin-left:52px}
.nc-over .subs a{display:block;padding:16px 20px 18px 0;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.nc-over .subs a+a{padding-left:20px;border-left:1px solid var(--nc-ov-rule)}
.nc-over .subs small{display:block;font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.nc-over .subs a:hover span{text-decoration:underline;text-underline-offset:5px}
.nc-over aside{padding:28px 0 28px 28px;display:flex;flex-direction:column;gap:24px}
.nc-over aside img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.nc-over aside p{margin:0;font-size:17px;line-height:1.45}
.nc-over aside .cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;font:600 15px/1 'Inter Tight',sans-serif;background:var(--nc-ov-fg);color:var(--nc-ov-bg)}
.nc-over aside .meta{font:500 11px/1.8 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-top:auto}

/* Themes */
body.nc-1{--nc-bg:#fafafa;--nc-fg:#0a0a0a;--nc-rule:#0a0a0a;--nc-kick:#b8261a;--nc-dot:#d92e1c;--nc-cta-bg:#d92e1c;--nc-cta-fg:#fff;--nc-ov-bg:#fafafa;--nc-ov-fg:#0a0a0a;--nc-ov-rule:#0a0a0a}
body.nc-2{--nc-bg:#0a0a0a;--nc-fg:#fafafa;--nc-rule:#fafafa;--nc-kick:#ff5a47;--nc-dot:#ff5a47;--nc-cta-bg:#d92e1c;--nc-cta-fg:#fff;--nc-ov-bg:#0a0a0a;--nc-ov-fg:#fafafa;--nc-ov-rule:#fafafa}
body.nc-3{--nc-bg:#fafafa;--nc-fg:#0a0a0a;--nc-rule:#0a0a0a;--nc-kick:#0a0a0a;--nc-dot:#d92e1c;--nc-cta-bg:#0a0a0a;--nc-cta-fg:#fafafa;--nc-ov-bg:#c42717;--nc-ov-fg:#ffffff;--nc-ov-rule:rgba(255,255,255,.9)}
body.nc-4{--nc-bg:#0a0a0a;--nc-fg:#fafafa;--nc-rule:#fafafa;--nc-kick:#ff5a47;--nc-dot:#ff5a47;--nc-cta-bg:#d92e1c;--nc-cta-fg:#fff;--nc-ov-bg:#0a0a0a;--nc-ov-fg:#fafafa;--nc-ov-rule:#fafafa}
/* Overlay concepts: the menu button shows on desktop too, the inline links go */
body.nc-3 .nc-links,body.nc-4 .nc-links{display:none}
body.nc-3 .nc-menu,body.nc-4 .nc-menu{display:inline-flex}

@media(max-width:960px){
.nc-links{display:none!important}
.nc-menu{display:inline-flex}
.nc-panel{display:none!important}
.ncnav{padding:0 18px}
.nc-right .nc-cta{display:none}
.nc-over .top{padding:0 18px}
.nc-over .body{grid-template-columns:1fr;margin:0 18px}
.nc-over ol{border-right:0}
.nc-over ol>li>a,.nc-over ol>li>div{font-size:40px;gap:14px;padding:16px 0}
.nc-over .subs{grid-template-columns:1fr;margin-left:42px}
.nc-over .subs a+a{padding-left:0;border-left:0;border-top:1px solid var(--nc-ov-rule)}
.nc-over aside{padding:24px 0 40px}
.nc-over aside img{display:none}
}
.nc-ed,.nc-ed p,.nc-ed strong,.nc-ed small,.nc-over a,.ncnav .brand{text-decoration:none!important}
.nc-ed u{text-decoration:underline!important}
.nc-ed:hover strong{text-decoration:underline!important}

/* 5 · White bar, black menu (Aaron's direction, 6 Nov 2026) */
body.nc-5{--nc-bg:#fafafa;--nc-fg:#0a0a0a;--nc-rule:#0a0a0a;--nc-kick:#b8261a;--nc-dot:#d92e1c;--nc-cta-bg:#d92e1c;--nc-cta-fg:#fff;--nc-ov-bg:#0a0a0a;--nc-ov-fg:#fafafa;--nc-ov-rule:rgba(250,250,250,.9)}
body.nc-5 .nc-links{display:none}
body.nc-5 .nc-menu{display:inline-flex;border:1px solid var(--nc-fg);padding:0 14px}
body.nc-5 .ncnav{height:68px}
/* Balanced overlay: the wordmark and Close sit on the same grid as the bar; the list and the side column share one top and one bottom line; everything fits one screen */
body.nc-5 .nc-over .top{height:68px}
body.nc-5 .nc-over .top .brand{display:flex;align-items:center;font-size:19px}
body.nc-5 .nc-over .top .brand::after{content:"";width:7px;height:7px;border-radius:50%;background:#ff5a47;margin-left:4px}
body.nc-5 .nc-over .body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:calc(100vh - 68px);align-items:stretch}
body.nc-5 .nc-over ol{display:flex;flex-direction:column}
body.nc-5 .nc-over ol>li>a,body.nc-5 .nc-over ol>li>div{font-size:clamp(30px,3.6vw,54px);padding:16px 28px 16px 0}
body.nc-5 .nc-over .subs a{font-size:18px;padding:12px 20px 14px 0}
body.nc-5 .nc-over .subs a+a{padding-left:20px}
body.nc-5 .nc-over aside{padding:24px 0 24px 32px;gap:20px}
body.nc-5 .nc-over aside img{aspect-ratio:3/2}
body.nc-5 .nc-over aside .cta{align-self:flex-start;background:#d92e1c;color:#fff}
body.nc-5 .nc-over aside .cta:hover{background:#fafafa;color:#0a0a0a}
body.nc-5 .nc-over ol .n{color:#ff5a47}
@media(max-width:960px){body.nc-5 .nc-menu{padding:0 12px}body.nc-5 .nc-over .body{grid-template-columns:1fr}body.nc-5 .nc-over ol>li>a,body.nc-5 .nc-over ol>li>div{font-size:34px;padding:14px 0}body.nc-5 .nc-over aside{padding:24px 0 40px}}

/* Buttons in the bar and the menu set like the site's other buttons: mono, capitals */
.nc-cta,.nc-over aside .cta{font:600 11.5px/1 'JetBrains Mono',monospace!important;letter-spacing:.1em;text-transform:uppercase;min-height:42px;padding:0 18px}
.nc-over aside .cta{min-height:50px;padding:0 22px}
.nc-menu{min-height:42px}

/* 6 · White bar, white menu */
body.nc-6{--nc-bg:#fafafa;--nc-fg:#0a0a0a;--nc-rule:#0a0a0a;--nc-kick:#b8261a;--nc-dot:#d92e1c;--nc-cta-bg:#d92e1c;--nc-cta-fg:#fff;--nc-ov-bg:#fafafa;--nc-ov-fg:#0a0a0a;--nc-ov-rule:#0a0a0a}
body.nc-6 .nc-links{display:none}
body.nc-6 .nc-menu{display:inline-flex;border:1px solid var(--nc-fg);padding:0 14px}
body.nc-6 .ncnav,body.nc-6 .nc-over .top{height:68px}
body.nc-6 .nc-over .top .brand{display:flex;align-items:center}
body.nc-6 .nc-over .top .brand::after{content:"";width:7px;height:7px;border-radius:50%;background:#d92e1c;margin-left:4px}
body.nc-6 .nc-over .body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:calc(100vh - 68px)}
body.nc-6 .nc-over ol>li>a,body.nc-6 .nc-over ol>li>div{font-size:clamp(30px,3.6vw,54px);padding:16px 28px 16px 0}
body.nc-6 .nc-over .subs a{font-size:18px;padding:12px 20px 14px 0}
body.nc-6 .nc-over .subs a+a{padding-left:20px}
body.nc-6 .nc-over aside{padding:24px 0 24px 32px;gap:20px}
body.nc-6 .nc-over aside img{aspect-ratio:3/2}
body.nc-6 .nc-over aside .cta{align-self:flex-start;background:#d92e1c;color:#fff}
body.nc-6 .nc-over aside .cta:hover{background:#0a0a0a}
body.nc-6 .nc-over ol .n{color:#b8261a}
body.nc-5 .nc-over aside .cta{align-self:flex-start}
@media(max-width:960px){body.nc-6 .nc-over .body{grid-template-columns:1fr}body.nc-6 .nc-over ol>li>a,body.nc-6 .nc-over ol>li>div{font-size:34px;padding:14px 0}body.nc-6 .nc-over aside{padding:24px 0 40px}}

/* iPad and tablet menu (6 Nov 2026): two columns down to 720px, Editions pair side by side, one left edge for every item */
body.nc-5 .nc-over .subs a+a,body.nc-6 .nc-over .subs a+a{padding-left:20px}
@media(max-width:1100px) and (min-width:721px){
 body.nc-5 .nc-over .top,body.nc-6 .nc-over .top{padding:0 32px}
 body.nc-5 .nc-over .body,body.nc-6 .nc-over .body{grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important;margin:0 32px;min-height:calc(100vh - 68px)}
 body.nc-5 .nc-over ol,body.nc-6 .nc-over ol{border-right:1px solid var(--nc-ov-rule)!important}
 body.nc-5 .nc-over ol>li>a,body.nc-5 .nc-over ol>li>div,body.nc-6 .nc-over ol>li>a,body.nc-6 .nc-over ol>li>div{font-size:clamp(34px,4.6vw,48px)!important;padding:16px 24px 16px 0!important;gap:20px}
 body.nc-5 .nc-over .subs,body.nc-6 .nc-over .subs{grid-template-columns:1fr 1fr!important;margin-left:48px}
 body.nc-5 .nc-over .subs a,body.nc-6 .nc-over .subs a{font-size:18px;padding:14px 16px 16px 0}
 body.nc-5 .nc-over .subs a+a,body.nc-6 .nc-over .subs a+a{border-top:0!important;border-left:1px solid var(--nc-ov-rule)!important;padding-left:16px!important}
 body.nc-5 .nc-over aside,body.nc-6 .nc-over aside{padding:24px 0 24px 28px!important}
 body.nc-5 .nc-over aside img,body.nc-6 .nc-over aside img{display:block!important;aspect-ratio:4/5}
 body.nc-5 .nc-over aside p,body.nc-6 .nc-over aside p{font-size:16px}
 body.nc-5 .nc-over aside .cta,body.nc-6 .nc-over aside .cta{align-self:stretch;justify-content:center}
}
@media(max-width:720px){
 body.nc-5 .nc-over .subs a+a,body.nc-6 .nc-over .subs a+a{padding-left:0!important}
 body.nc-5 .nc-over .subs,body.nc-6 .nc-over .subs{margin-left:42px}
}

/* High-end italic (6 Nov 2026): Fraunces always at its display optical size, as in the TDR PDFs (Fraunces Light Italic, opsz 144). Browsers otherwise pick opsz from the font size, which makes smaller italics heavier and plainer. Fonts without an opsz axis ignore this. */
:where(h1,h2,.hero-title,.section-title) :where(em,i){font-variation-settings:"opsz" 144}
@media(max-width:720px){:where(h1,h2,.hero-title,.section-title) :where(em,i){font-variation-settings:"opsz" 72}}
/* Smaller italics (body, captions, cards, quotes) use the text optical size, which has sturdier strokes. */
:where(p,li,dd,td,small,span,a,blockquote,figcaption,h3,h4) :where(em,i){font-variation-settings:normal;font-optical-sizing:auto}
.nc-over .subs a span{display:block;line-height:1.25}
body.nc-5 .nc-over ol>li>a,body.nc-5 .nc-over ol>li>div{padding-top:14px;padding-bottom:14px}

/* Italic size (6 Nov 2026): Fraunces sits smaller than Inter Tight at the same size, so the italic accent in headings is set 12% larger to match the weight of the line. line-height 0 keeps the line spacing as it was. */
:is(h1,h2,h3,.hero-title,.section-title,.page-header h1) em{font-size:1.12em;line-height:0}

/* Menu right column: two essays from The Record replace the photo (6 Nov 2026) */
.nc-over aside .rec{display:flex;flex-direction:column;border-top:1px solid var(--nc-ov-rule)}
.nc-over aside .rec-k{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;padding:18px 0 4px;color:var(--nc-ov-fg)}
.nc-over aside .rec a{display:block;padding:18px 0 22px;border-bottom:1px solid var(--nc-ov-rule);text-decoration:none}
.nc-over aside .rec small{display:block;font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;color:#ff5a47}
body.nc-6 .nc-over aside .rec small{color:#b8261a}
.nc-over aside .rec span{display:block;font:500 clamp(20px,1.9vw,26px)/1.2 'Inter Tight',sans-serif;letter-spacing:-.02em}
.nc-over aside .rec u{display:inline-block;margin-top:14px;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:4px}
.nc-over aside .rec a:hover span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
body.nc-5 .nc-over aside,body.nc-6 .nc-over aside{padding-top:0!important}
body.nc-5 .nc-over aside>p,body.nc-6 .nc-over aside>p{margin-top:8px}
@media(max-width:720px){.nc-over aside .rec{margin-top:8px}.nc-over aside .rec span{font-size:21px}}
.nc-over aside .rec{border-top:0}
.nc-over aside .rec>span.rec-k{display:block;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;padding:26px 0 6px;border-bottom:1px solid var(--nc-ov-rule);padding-bottom:18px}

/* Small italics thicker (6 Nov 2026): below headline size Fraunces Light reads thin, so these use Regular (400). Large headline italics stay Light. */
em,i,.note-sign,.e2x-q,.e2x-colon,.room-row-title,.partner-tier-hook,.programme-card-q{font-weight:400}
:is(h1,h2,.hero-title,.section-title) :is(em,i){font-weight:300}
.featured-quote-text{font-weight:300}
@media(max-width:720px){:is(h1,h2,.hero-title,.section-title) :is(em,i){font-weight:400}}

/* Wordmark box (6 Nov 2026): even space around "decision" on all four sides, equal gaps to "the" and "room" */
.ncnav .brand,.nc-over .top .brand{gap:0;line-height:1}
.ncnav .brand .bar,.nc-over .top .brand .bar{display:inline-block;line-height:1;padding:3.25px 5px 2.5px 4.75px;margin:0 .2em}
/* Wordmark box, optical fix (6 Nov 2026): same visible space above the letters and below them. Browsers that can trim the text box use it; others use tuned padding. */
.ncnav .brand .bar,.nc-over .top .brand .bar{padding:2.25px 5px 3px 4.75px}
@supports (text-box: trim-both cap alphabetic){
 .ncnav .brand .bar,.nc-over .top .brand .bar{text-box:trim-both cap alphabetic;padding:4.8px 5px 4.8px 4.75px}
}
