/* ---------- 1. reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img,picture,video,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}

/* ---------- 2. tokens ---------- */
:root{
  --paper:#FDFBF6;
  --paper-2:#F2ECE1;
  --dark:#171310;
  --ink:#17110E;
  --ink-soft:#6A5F57;
  --ink-inv:#FBF7F0;
  --ochre:#D2582A;
  --euc:#14544A;
  --tint:#D2582A;
  --rule:rgba(23,17,14,.14);
  --rule-inv:rgba(251,247,240,.20);
  --t-huge:clamp(2.5rem,6.4vw,5.75rem);
  --t-big:clamp(1.75rem,3.2vw,2.9rem);
  --t-mid:clamp(1.15rem,1.8vw,1.5rem);
  --t-lead:clamp(1.05rem,1.4vw,1.3rem);
  --t-text:1.0625rem;
  --t-micro:.72rem;
  --sec:clamp(72px,8vw,132px);
  --edge:clamp(20px,4vw,56px);
  --wide:1280px;
  --read:62ch;
  --ease:cubic-bezier(.24,.72,.26,1);
}

/* ---------- 3. base ---------- */
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:var(--t-text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-weight:400;line-height:1.05}
h1{font-size:var(--t-huge);letter-spacing:-.02em}
h2{font-size:var(--t-big);letter-spacing:-.01em}
h3{font-size:var(--t-mid)}
p{max-width:var(--read)}
p + p{margin-top:1em}

/* ---------- 4. layout ---------- */
.nx-wrap{width:100%;max-width:var(--wide);margin:0 auto;padding-left:var(--edge);padding-right:var(--edge)}
.nx-sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.nx-sec-dark{background:var(--dark);color:var(--ink-inv)}
.nx-sec-tone{background:var(--paper-2)}
.nx-grid{display:grid;gap:clamp(24px,3vw,48px)}
@media (min-width:900px){
  .nx-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .nx-split-wide{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
  .nx-sticky{position:sticky;top:96px}
}

/* ---------- 5. components ---------- */
.nx-skip{position:absolute;left:-9999px}
.nx-skip:focus{left:var(--edge);top:12px;z-index:50;background:var(--paper);padding:10px 14px}
.nx-nav{border-bottom:1px solid var(--rule);background:var(--paper)}
.nx-nav-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px 24px;padding-top:18px;padding-bottom:18px}
.nx-mark{font-family:"Instrument Serif",Georgia,serif;font-size:1.35rem;letter-spacing:-.01em;text-decoration:none;margin-right:auto}
.nx-nav a{text-decoration:none;font-size:.95rem}
.nx-nav a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ochre)}
.nx-eyebrow{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--tint);font-weight:600}
.nx-lead{font-size:var(--t-lead);color:var(--ink-soft);max-width:52ch}
.nx-rule{height:1px;background:var(--rule);border:0;margin:0}
.nx-pill{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:5px 13px;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase}
.nx-pill-on{background:var(--tint);border-color:var(--tint);color:#fff}
.nx-link{display:inline-block;text-decoration:none;border-bottom:1px solid var(--tint);padding-bottom:2px;transition:opacity .3s var(--ease)}
.nx-link:hover{opacity:.6}
.nx-num{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);line-height:1;color:var(--tint)}
.nx-shot{overflow:hidden;background:var(--paper-2)}
.nx-shot img{width:100%;transition:transform .8s var(--ease)}
.nx-shot:hover img{transform:scale(1.03)}
.nx-cap{font-size:var(--t-micro);color:var(--ink-soft);margin-top:10px}
.nx-chapter{border-top:1px solid var(--rule);padding-top:var(--sec);padding-bottom:var(--sec)}
.nx-band{background:var(--tint);color:#fff}
.nx-months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;max-width:420px}
.nx-month{height:26px;background:var(--paper-2);border:1px solid var(--rule)}
.nx-month-on{background:var(--tint);border-color:var(--tint)}
.nx-details{border-top:1px solid var(--rule);padding:14px 0}
.nx-details summary{cursor:pointer;list-style:none;font-weight:600}
.nx-details summary::-webkit-details-marker{display:none}
.nx-foot{background:var(--dark);color:var(--ink-inv)}
.nx-foot a{text-decoration:none}
.nx-foot a:hover{text-decoration:underline;text-underline-offset:4px}
:focus-visible{outline:2px solid var(--tint);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- 6. site additions (flat rules only) ---------- */
.nx-nav-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:baseline;width:100%}
.nx-nav-toggle{display:none;background:none;border:1px solid var(--rule);border-radius:999px;padding:6px 14px;cursor:pointer;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.nx-js .nx-nav-links{display:none}
.nx-js .nx-nav-links.is-open{display:flex}
.nx-js .nx-nav-toggle{display:inline-block}
.nx-nav-cur{border-bottom:1px solid var(--ochre);padding-bottom:2px}

.nx-stack-s{margin-top:14px}
.nx-stack-m{margin-top:24px}
.nx-stack-l{margin-top:44px}
.nx-measure{max-width:var(--read)}
.nx-quiet{color:var(--ink-soft)}
.nx-small{font-size:.9rem}
.nx-micro{font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.nx-big-line{font-family:"Instrument Serif",Georgia,serif;font-size:var(--t-big);line-height:1.12;max-width:22ch}
.nx-huge-line{font-family:"Instrument Serif",Georgia,serif;font-size:var(--t-huge);line-height:1.05;letter-spacing:-.02em;max-width:16ch}

.nx-shot-34{aspect-ratio:3 / 4}
.nx-shot-169{aspect-ratio:16 / 9}
.nx-shot-219{aspect-ratio:21 / 9}
.nx-shot-ph{background:var(--tint);color:#fff;display:flex;align-items:flex-end;padding:clamp(18px,2.4vw,32px)}
.nx-shot-ph span{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.1;display:block;max-width:22ch}
.nx-shot img{height:100%;object-fit:cover}

.nx-spread{border-top:1px solid var(--rule);padding-top:var(--sec);padding-bottom:var(--sec)}
.nx-spread-fig{min-width:0}
.nx-spread-body{min-width:0}
.nx-spread-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 18px}
.nx-place{color:var(--ink-soft);margin-top:10px}
.nx-months-wrap{margin-top:36px}
.nx-details-set{margin-top:36px;border-bottom:1px solid var(--rule)}
.nx-details p{margin-top:8px;color:var(--ink-soft)}
@media (min-width:900px){
  .nx-spread-fig{order:1}
  .nx-spread-body{order:2}
  .nx-spread-alt .nx-spread-fig{order:2}
  .nx-spread-alt .nx-spread-body{order:1}
}

.nx-rows{border-top:1px solid var(--rule)}
.nx-row{display:block;border-bottom:1px solid var(--rule);padding:clamp(22px,3vw,38px) 0;text-decoration:none;transition:color .3s var(--ease)}
.nx-row:hover{color:var(--tint)}
.nx-row-in{display:grid;gap:6px 28px}
.nx-row-crit{color:var(--ink-soft);max-width:46ch}
.nx-row:hover .nx-row-crit{color:var(--tint)}
@media (min-width:900px){
  .nx-row-in{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,2fr);align-items:baseline}
}

.nx-notes{display:grid;gap:clamp(28px,3.4vw,52px)}
@media (min-width:640px){.nx-notes-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.nx-note{border-top:1px solid var(--rule);padding-top:20px}
.nx-note h3{margin-top:10px}
.nx-note-meta{margin-top:14px;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}

.nx-foot-top{padding-top:var(--sec);padding-bottom:44px}
.nx-foot-cols{display:grid;gap:32px;padding-bottom:48px}
@media (min-width:640px){.nx-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.nx-foot-cols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nx-foot-col h2{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;font-family:inherit;font-weight:600;color:var(--ink-inv);opacity:.6}
.nx-foot-col li{margin-top:12px}
.nx-foot-count{color:rgba(251,247,240,.5)}
.nx-foot-bottom{border-top:1px solid var(--rule-inv);padding-top:28px;padding-bottom:56px}
.nx-foot-bottom p{color:rgba(251,247,240,.62);font-size:.9rem;max-width:70ch}
.nx-foot-rule{height:1px;background:var(--rule-inv);border:0;margin:0}

.nx-form{margin-top:32px;max-width:52ch}
.nx-field{display:block;margin-bottom:20px}
.nx-field span{display:block;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.nx-input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:10px 0}
.nx-input:focus{border-bottom-color:var(--tint);outline:none}
.nx-check{display:flex;gap:12px;align-items:flex-start;margin-bottom:24px;font-size:.9rem}
.nx-btn{background:var(--ink);color:var(--ink-inv);border:0;border-radius:999px;padding:13px 30px;cursor:pointer;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;transition:opacity .3s var(--ease)}
.nx-btn:hover{opacity:.75}
.nx-select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:10px 0}

.nx-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.nx-note-line{border-left:2px solid var(--tint);padding-left:16px;margin-top:32px}
.is-hidden{display:none}
.nx-list-num{border-top:1px solid var(--rule);padding-top:16px;margin-top:16px}
.nx-list-num p{margin-top:6px;color:var(--ink-soft)}
.nx-foot-cols{padding-top:48px}
.nx-pt{padding-top:var(--sec)}
.nx-narrow{max-width:32ch}
.nx-narrow-2{max-width:44ch}
.nx-pb{padding-bottom:var(--sec)}
.nx-sec-sm{display:block;margin-bottom:44px}
.nx-sec-sm h2{font-size:var(--t-mid)}
.nx-check span{display:inline}
.nx-band-pad{padding-top:44px;padding-bottom:44px}
@media (min-width:900px){
  .nx-nav-links{width:auto;display:flex}
  .nx-js .nx-nav-links{display:flex}
  .nx-js .nx-nav-toggle{display:none}
}
@media (min-width:900px){
  .nx-spread-alt{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.nx-details summary::after{content:"+";float:right;color:var(--tint);font-weight:400}
.nx-details[open] summary::after{content:"\2212"}
