/* Ninefold. One module, square, drives the grid. */
@font-face{font-family:"Chivo";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/specimen/chivo-var.woff2") format("woff2")}
@font-face{font-family:"Fragment Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/specimen/fragment-mono-400.woff2") format("woff2")}
body.spec-ninefold{margin:0;background:#D22B1E}
.nf-page{
--nf-red:#D22B1E;--nf-white:#fff;--nf-black:#0E0E0E;--nf-yellow:#FFD21F;--nf-blue:#1F4FD1;
--nf-cols:12;--nf-gut:24px;
--m:calc((100cqw - 2 * var(--nf-gut)) / var(--nf-cols));
--in:max(16px, calc(var(--m) / 4));
--f:"Chivo","Helvetica Neue",Arial,system-ui,sans-serif;
--mono:"Fragment Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
--e:cubic-bezier(.2,0,0,1);
container-type:inline-size;position:relative;
background:var(--nf-red);color:#fff;
font:400 clamp(1.0625rem,1.039rem + .095vw,1.125rem)/1.5 var(--f);
font-variant-numeric:tabular-nums;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
hyphens:manual;padding-bottom:1px
}
@media (max-width:1199px){.nf-page{--nf-gut:20px}}
@media (max-width:699px){.nf-page{--nf-cols:6;--nf-gut:16px}}
.nf-page *,.nf-page *::before,.nf-page *::after{box-sizing:border-box}
.nf-page :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset,legend){margin:0;padding:0}
.nf-page :where(ul,ol){list-style:none}
.nf-page :where(p,dd,li){text-wrap:pretty}
.nf-page a{color:inherit}
.nf-page img{display:block;width:100%;height:100%;object-fit:cover}
.nf-page :focus-visible{outline:3px solid var(--nf-yellow);outline-offset:2px}
.nf-page :where(.nf-w,.nf-ky,.nf-index li:nth-child(odd)) :focus-visible,.nf-page .nf-w:focus-visible,.nf-sub:focus-visible{outline-color:var(--nf-black)}
.nf-index a:focus-visible{outline-offset:-8px}
.nf-index li:nth-child(odd) a:hover:focus-visible{outline-color:var(--nf-yellow)}
.nf-index li:nth-child(even) a:hover:focus-visible{outline-color:var(--nf-black)}
.nf-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nf-probe{position:absolute;left:0;top:0;width:var(--m);height:0;visibility:hidden;pointer-events:none}
.nf-jso,.nf-hint{display:none}
.nf-js .nf-jso{display:inline}
.nf-narrow{display:none}
.nf-mono,.nf-live,.nf-coffee,.nf-read,.nf-tl,.nf-tp,.nf-dir,.nf-ph,.nf-mins,.nf-fc-tag,.nf-cap,.nf-hint,.nf-sum{font-family:var(--mono);font-weight:400;letter-spacing:.02em;text-transform:uppercase}
.nf-hero,.nf-sec,.nf-g{display:grid;grid-template-columns:repeat(var(--nf-cols),var(--m))}
.nf-sec,.nf-g{grid-auto-rows:minmax(var(--m),auto)}
.nf-hero,.nf-sec,.nf-index,.nf-strip{padding-inline:var(--nf-gut)}
.nf-fit{grid-row-end:span var(--r,2)}
.nf-measure .nf-fit{align-self:start}
.nf-hero{grid-template-rows:repeat(14,calc(var(--m) / 2));position:relative}
.nf-lock{grid-column:1/span 4;grid-row:1/span 2;padding-top:20px}
.nf-wm{display:block;font:800 32px/1 var(--f);letter-spacing:-.02em}
.nf-lock-s{display:block;margin-top:9px;font:700 13px/1.3 var(--f);letter-spacing:.08em;text-transform:uppercase}
.nf-live{grid-column:5/span 4;grid-row:1/span 2;display:flex;gap:10px;align-items:flex-start;padding:22px 16px 0 0;font-size:16px;line-height:1.35}
.nf-live-sq{display:none;flex:none;width:14px;height:14px;margin-top:4px;background:var(--nf-yellow)}
.nf-live2{display:block}
.nf-live2:empty{display:none}
.nf-js .nf-live-sq{display:block}
.nf-hl{grid-column:9/span 4;grid-row:1/span 2;padding-top:20px}
.nf-hl a{display:inline-block;margin-right:28px;font:700 18px/1.2 var(--f);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;transition:color .1s var(--e)}
.nf-hl a:hover{color:var(--nf-black)}
.nf-h1{grid-column:1/span 8;grid-row:3/span 4;font:900 clamp(2.5rem,var(--m),7.25rem)/var(--m) var(--f);letter-spacing:-.035em;margin-left:-.04em}
.nf-l{display:block;overflow:hidden;white-space:nowrap;padding-right:.1em}
.nf-l>span{display:inline-block}
.nf-subl{grid-column:2/span 5;grid-row:7/span 4;position:relative;z-index:2;pointer-events:none;padding-top:6px}
.nf-subl>p:first-child{font:700 clamp(1.125rem,1.079rem + .19vw,1.25rem)/1.4 var(--f)}
.nf-cap{margin-top:14px;font-size:14px;line-height:1.3}
.nf-card{grid-column:9/span 4;grid-row:3/span 4;position:relative;z-index:3;background:#fff;color:var(--nf-black);padding:14px 16px;display:flex;flex-direction:column;gap:5px}
.nf-rn{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px}
.nf-rname{font:800 clamp(1.5rem,1.407rem + .381vw,1.75rem)/1.1 var(--f);letter-spacing:-.01em}
.nf-coffee{font-size:13px}
.nf-notes{font-size:clamp(1.25rem,1.157rem + .381vw,1.5rem);line-height:1.17;letter-spacing:-.01em;font-weight:var(--w,600);font-variation-settings:"wght" var(--w,600)}
.nf-read{display:grid;grid-template-columns:auto auto;justify-content:start;gap:6px 30px;margin-top:2px}
.nf-read dt{font-size:11px;line-height:15px}
.nf-read dd{margin:0;font-size:14px;line-height:19px}
.nf-notes.nf-long{font-size:clamp(1.125rem,1.08rem + .19vw,1.25rem)}
.nf-u{font-family:var(--f);font-weight:300;letter-spacing:0}
.nf-sent{font-size:15px;line-height:1.33}
.nf-sum{font-size:13px}
.nf-sum{display:none}
.nf-plot{grid-column:1/-1;grid-row:7/span 8;position:relative;touch-action:pan-y;--pr:3;--br:1;-webkit-user-select:none;user-select:none}
.nf-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.nf-band-bg{fill:var(--nf-black)}
.nf-temp,.nf-ror,.nf-sm path,.nf-mini path{fill:none;stroke-linejoin:round;stroke-linecap:round}
.nf-temp{stroke:#fff;stroke-width:5}
.nf-ror{stroke:#fff;stroke-width:3}
.nf-tick{stroke:#fff;stroke-width:2}
.nf-tl,.nf-tp,.nf-dir,.nf-ph,.nf-fc-tag{position:absolute;white-space:nowrap;font-size:14px;line-height:16px;pointer-events:none}
.nf-tl{right:0;padding-right:14px}
.nf-t200{top:calc(13.24% + 6px)}
.nf-t150{top:calc(35.29% + 6px)}
.nf-t100{top:calc(57.35% + 6px)}
.nf-tp{left:13.33%;top:calc(63.66% + 12px);margin-left:-12px}
.nf-dir,.nf-ph{font-size:13px}
.nf-dir{top:calc(75% + 10px)}
.nf-page:not(.nf-js) .nf-dir{display:none}
.nf-dk{right:calc(20% + 12px)}
.nf-lt{left:calc(80% + 12px)}
.nf-ph{bottom:32px}
.nf-ph1{left:12px}.nf-ph2{left:calc(47.5% + 10px)}.nf-ph3{left:calc(80% + 10px)}
.nf-lg span{margin-left:6px}
.nf-sh{display:none}
.nf-mins{position:absolute;left:0;right:0;bottom:8px;display:grid;grid-template-columns:repeat(12,1fr);font-size:13px;line-height:16px;pointer-events:none}
.nf-mins span{padding-left:6px}
.nf-mins span:first-child{padding-left:12px}
.nf-mins span:last-child{position:absolute;right:10px;padding:0}
.nf-drop{position:absolute;left:80%;top:15%;bottom:0;width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.nf-js .nf-drop{background:var(--nf-yellow)}
.nf-fc{position:absolute;left:80%;top:15%;width:48px;height:48px;margin:-24px 0 0 -24px;z-index:4;touch-action:none}
.nf-fc::before{content:"";position:absolute;inset:4px;background:#fff}
.nf-js .nf-fc{cursor:grab}
.nf-js .nf-fc::before{background:var(--nf-yellow)}
.nf-js .nf-fc:active{cursor:grabbing}
.nf-fc:focus-visible{outline-offset:-1px}
.nf-fc-tag{left:4px;bottom:calc(100% + 2px);padding:1px 5px;background:#fff;color:var(--nf-black);font-size:13px}
.nf-js .nf-fc-tag{background:var(--nf-yellow)}
.nf-index{display:grid;grid-template-columns:repeat(var(--nf-cols),var(--m))}
.nf-index ol{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,calc(2 * var(--m)))}
.nf-index a{display:flex;flex-direction:column;justify-content:space-between;height:calc(2 * var(--m));padding:var(--in);background:#fff;color:var(--nf-black);text-decoration:none;transition:background-color .1s var(--e),color .1s var(--e)}
.nf-index li:nth-child(even) a{background:var(--nf-black);color:#fff}
.nf-index li:nth-child(odd) a:hover{background:var(--nf-black);color:#fff}
.nf-index li:nth-child(even) a:hover{background:#fff;color:var(--nf-black)}
.nf-in{font:900 calc(var(--m) * 1.4)/.74 var(--f);letter-spacing:-.06em;margin-left:-.05em}
.nf-it{font:700 18px/1.2 var(--f)}
.nf-strip{position:sticky;top:var(--bar-h,42px);z-index:50;height:48px;display:grid;grid-template-columns:repeat(var(--nf-cols),var(--m));align-items:stretch;background:var(--nf-black);color:#fff}
.nf-sw{grid-column:1/span 2;align-self:center;font:800 18px/1 var(--f);letter-spacing:-.02em;text-decoration:none}
.nf-sl{grid-column:3/span 6;display:grid;grid-template-columns:repeat(6,var(--m))}
.nf-sl a{display:flex;align-items:center;gap:5px;height:100%;font:400 12px/1 var(--mono);letter-spacing:0;text-transform:uppercase;text-decoration:none}
.nf-sl a:hover .nf-st,.nf-sl a:hover .nf-sn{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.nf-sq{display:none;flex:none;width:14px;height:14px;background:var(--nf-yellow)}
.nf-sl [aria-current] .nf-sq{display:block}
.nf-strip .nf-sub{grid-column:11/span 2;display:flex;align-items:center;padding-inline:16px;background:#fff;color:var(--nf-black);font:700 16px/1 var(--f);text-decoration:none;transition:background-color .1s var(--e),color .1s var(--e)}
.nf-strip .nf-sub:hover{background:var(--nf-black);color:#fff;outline:2px solid #fff;outline-offset:-2px}
.nf-strip .nf-sub:focus-visible{outline:3px solid var(--nf-black);outline-offset:-6px}
.nf-strip .nf-sub:hover:focus-visible{outline-color:#fff}
.nf-hero{scroll-margin-top:var(--bar-h,42px)}
.nf-sec{scroll-margin-top:calc(var(--bar-h,42px) + 48px)}
.nf-sec{padding-top:var(--m)}
.nf-num{grid-column:1/span 5;grid-row:span 3;display:flex;align-items:flex-end;overflow:hidden}
.nf-num span{display:block;font:900 calc(var(--m) * 3 / .7)/1 var(--f);letter-spacing:-.06em;margin:0 0 -.215em -.06em}
@supports (text-box:trim-both cap alphabetic){.nf-num span{text-box:trim-both cap alphabetic;margin-bottom:0}}
.nf-head{grid-column:6/-1;--r:3}
.nf-s2 .nf-head,.nf-s4 .nf-head,.nf-s6 .nf-head{--r:2}
@media (min-width:1200px){.nf-s2 .nf-head{--r:1}}
.nf-head h2,.nf-trih{font:800 clamp(2rem,1.396rem + 2.476vw,3.625rem)/1.04 var(--f);letter-spacing:-.02em}
.nf-head h2{max-width:calc(7 * var(--m));margin-top:-.08em}
.nf-lead{margin-top:calc(var(--m) / 3);max-width:calc(6 * var(--m));font:700 clamp(1.125rem,1.079rem + .19vw,1.25rem)/1.4 var(--f)}
.nf-w{background:#fff;color:var(--nf-black);padding:var(--in)}
.nf-k{background:var(--nf-black);color:#fff;padding:var(--in)}
.nf-lw{grid-column:6/-1;font-size:clamp(1.125rem,1.05rem + .3vw,1.375rem);line-height:1.45}
.nf-page h3{font:800 clamp(1.5rem,1.407rem + .381vw,1.75rem)/1.15 var(--f);letter-spacing:-.01em}
.nf-w h3+p,.nf-k h3+p{margin-top:12px}
.nf-pic{display:block;overflow:hidden;background:var(--nf-black)}
.nf-note{grid-column:1/-1;align-self:center;font:400 14px/1.4 var(--mono);letter-spacing:.02em}
.nf-map{grid-column:1/-1;display:grid;grid-template-rows:calc(4 * var(--m)) calc(var(--m) / 2)}
.nf-map-f{position:relative;overflow:hidden;background:var(--nf-blue)}
.nf-page:not(.nf-js) .nf-map{grid-template-rows:auto calc(var(--m) / 2)}
.nf-page:not(.nf-js) .nf-map-f{aspect-ratio:3/1}
.nf-smap,.nf-map-f svg{display:block;width:100%;height:100%}
.nf-water{fill:var(--nf-blue)}
.nf-land{fill:#fff}
.nf-orig{fill:var(--nf-red);stroke:#fff;stroke-width:2;stroke-linejoin:round}
.nf-orig.nf-on{fill:var(--nf-yellow)}
.nf-trop{stroke:var(--nf-black);stroke-width:2}
.nf-mt{fill:#fff;font:400 12px var(--mono);letter-spacing:.02em}
.nf-trt rect{fill:var(--nf-black)}
.nf-tag rect{fill:var(--nf-black)}
.nf-tag text{fill:#fff;font:400 12px var(--mono);letter-spacing:.02em}
.nf-tag.nf-on rect{fill:var(--nf-yellow)}
.nf-tag.nf-on text{fill:var(--nf-black)}
.nf-tag,.nf-map .nf-orig{cursor:pointer}
.nf-hit{fill:transparent}
.nf-pan{transition:transform .3s var(--e)}
.nf-map figcaption{align-self:center;font:400 13px/1.3 var(--mono);letter-spacing:.02em}
.nf-ol{grid-column:1/span 4;--r:4;padding:0;display:flex;flex-direction:column}
.nf-olh,.nf-oback{min-height:calc(var(--m) / 2);display:flex;align-items:center;padding:6px var(--in);font:400 13px/1.3 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-oback[hidden]{display:none}
.nf-oback a{margin-left:.6em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.nf-olist li{min-height:calc(var(--m) / 2);display:flex;align-items:center;border-top:2px solid #fff;padding:0 var(--in);font:400 13px/1.25 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-olist li:last-child{border-bottom:2px solid #fff}
.nf-olist li:has(button){padding:0}
.nf-olist button{all:unset;box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:calc(var(--m) / 2 - 2px);padding:4px var(--in);cursor:pointer;transition:background-color .1s var(--e),color .1s var(--e)}
.nf-olist button:hover{background:#fff;color:var(--nf-black)}
.nf-olist button[aria-pressed="true"]{background:var(--nf-yellow);color:var(--nf-black)}
.nf-olist button:focus-visible{outline-offset:-3px}
.nf-olist button[aria-pressed="true"]:focus-visible{outline-color:var(--nf-black)}
.nf-oc{flex:none;width:4.2ch}
.nf-direct{grid-column:5/span 5;--r:3;display:flex;flex-direction:column}
.nf-direct p{max-width:36em}
.nf-steps{margin-top:auto;padding-top:20px;font:400 13px/1.4 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-steps li{display:flex;gap:14px;padding:10px 0;border-top:2px solid var(--nf-black)}
.nf-steps span{flex:none}
.nf-p-green{grid-column:10/span 3;grid-row:span 4}
.nf-phases,.nf-tri,.nf-recipes,.nf-facts,.nf-keys{grid-column:1/-1;display:grid;grid-auto-rows:minmax(var(--m),auto)}
.nf-phases{grid-template-columns:repeat(3,calc(4 * var(--m)))}
.nf-phase{--r:3;display:flex;flex-direction:column}
.nf-phase:not(:nth-child(3n+1)){border-left:2px solid var(--nf-black)}
.nf-phase:nth-child(n+4){border-top:2px solid var(--nf-black)}
.nf-sm{display:block;width:100%;height:calc(var(--m) * .6);margin-bottom:14px;overflow:visible}
.nf-sm-k{stroke:var(--nf-black);stroke-width:1.5}
.nf-sm-r{stroke:var(--nf-red);stroke-width:4}
.nf-rng{margin:6px 0 10px;font:400 13px/1.3 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-phase p:last-child{max-width:34em}
.nf-trih{grid-column:1/-1;align-self:end;padding-bottom:calc(var(--m) / 4)}
.nf-tri{grid-template-columns:repeat(3,calc(4 * var(--m)))}
.nf-po{--r:4;display:flex;flex-direction:column;padding:var(--in)}
.nf-po-l{background:#fff;color:var(--nf-black)}
.nf-po-m{background:var(--nf-red);color:#fff;border:2px solid #fff}
.nf-po-d{background:var(--nf-black);color:#fff}
.nf-po h4{font:800 clamp(1.5rem,1.407rem + .381vw,1.75rem)/1.15 var(--f);letter-spacing:-.01em}
.nf-pm{margin-top:6px;font:400 14px/1.4 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-mini{display:block;width:100%;height:calc(var(--m) * .8);margin:18px 0 16px;overflow:visible}
.nf-mini path{stroke:currentColor;stroke-width:3}
.nf-mini line{stroke:currentColor;stroke-width:2}
.nf-pn{font-size:clamp(1.375rem,1.19rem + .76vw,1.75rem);line-height:1.2;letter-spacing:-.01em}
.nf-po-l .nf-pn{font-weight:350;font-variation-settings:"wght" 350}
.nf-po-m .nf-pn{font-weight:600;font-variation-settings:"wght" 600}
.nf-po-d .nf-pn{font-weight:850;font-variation-settings:"wght" 850}
.nf-ps{margin-top:10px}
.nf-po-m .nf-ps{font-weight:700;font-size:18px}
.nf-set{all:unset;margin-top:auto;padding-top:14px;align-self:flex-start;font:700 17px/1.3 var(--f);cursor:pointer}
.nf-set[hidden]{display:none}
.nf-set span{border-bottom:2px solid currentColor}
.nf-set:hover span{border-bottom-color:transparent}
.nf-set:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.nf-po-l .nf-set:focus-visible{outline-color:var(--nf-black)}
.nf-week{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,var(--m));grid-template-rows:calc(3 * var(--m)) var(--m);background:#fff;color:var(--nf-black)}
.nf-day{grid-row:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:12px 10px;border-left:2px solid var(--nf-black)}
.nf-d1{grid-column:1;border-left:0}
.nf-tue{grid-column:2/span 6}
.nf-d3{grid-column:8}.nf-d4{grid-column:9}.nf-d5{grid-column:10}.nf-d6{grid-column:11}.nf-d0{grid-column:12}
.nf-dn,.nf-hrs,.nf-ev p,.nf-wk,.nf-now span{font:400 13px/1.4 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-dn span{margin-left:.5em}
.nf-dw{font:800 clamp(1.125rem,.95rem + .6vw,1.5rem)/1 var(--f);letter-spacing:-.01em}
.nf-day.nf-today{background:var(--nf-yellow)}
.nf-tue{justify-content:flex-start;padding:0}
.nf-tue .nf-dn{padding:12px 12px 0}
.nf-hrs{position:absolute;left:0;right:0;top:38px;display:grid;grid-template-columns:repeat(6,1fr)}
.nf-hrs span{position:relative;padding:10px 0 0 6px}
.nf-hrs span::before{content:"";position:absolute;left:0;top:0;width:2px;height:8px;background:var(--nf-black)}
.nf-hrs span:first-child::before,.nf-hrs span:last-child::before{display:none}
.nf-hrs span:last-child{position:absolute;right:6px;top:0}
.nf-ev{position:absolute;left:0;right:0;top:84px;display:grid;gap:12px}
.nf-gs{display:block;height:10px;background:var(--nf-black)}
.nf-e1 .nf-gs{width:calc(100% / 12)}
.nf-e2 .nf-gs{margin-left:calc(100% / 12);width:50%}
.nf-e3 .nf-gs{margin-left:calc(700% / 12);width:calc(200% / 12)}
.nf-e4 .nf-gs{margin-left:75%;width:calc(200% / 12)}
.nf-ev p{display:table;position:relative;z-index:2;padding:5px 12px 2px;background:#fff}
.nf-ev b{font-weight:400;margin-right:.5em}
.nf-now{position:absolute;left:calc(var(--t,0) * 100%);top:30px;bottom:0;width:4px;margin-left:-2px;background:var(--nf-yellow);z-index:1}
.nf-now[hidden]{display:none}
.nf-now span{position:absolute;left:2px;top:-30px;padding:6px 7px;background:var(--nf-yellow);color:var(--nf-black);white-space:nowrap}
.nf-wk{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(4,calc(3 * var(--m)));border-top:2px solid var(--nf-black)}
.nf-wk div{padding:12px 12px 10px}
.nf-wk div+div{border-left:2px solid var(--nf-black)}
.nf-wk dt{font-weight:400}
.nf-wk dd{margin:4px 0 0;font:400 16px/1.4 var(--f);letter-spacing:0;text-transform:none}
.nf-p-cool{grid-column:1/span 3;grid-row:span 3}
.nf-rest{grid-column:4/span 6;--r:3}
.nf-rest p{max-width:36em}
.nf-restd{grid-column:10/span 3;--r:3;display:flex;flex-direction:column;justify-content:space-between}
.nf-rh{font:800 clamp(1.5rem,1.407rem + .381vw,1.75rem)/1.1 var(--f);letter-spacing:-.01em}
.nf-restd dl{font:400 clamp(.875rem,.829rem + .19vw,1rem)/1.4 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-restd dl div{display:grid;grid-template-columns:9ch 1fr;padding:9px 0;border-top:2px solid #fff}
.nf-restd dd{margin:0}
.nf-tw{grid-column:1/-1;overflow-x:auto}
.nf-tab{width:calc(12 * var(--m));border-collapse:collapse;table-layout:fixed;background:var(--nf-black);color:#fff;font:400 13px/1.3 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-c1{width:var(--m)}.nf-c2{width:calc(2 * var(--m))}
.nf-tab th,.nf-tab td{height:calc(var(--m) * .75);padding:8px 8px 8px 10px;text-align:left;vertical-align:middle;font-weight:400;border-top:2px solid #fff}
.nf-tab thead th{height:calc(var(--m) / 2);border-top:0;font-size:13px}
.nf-tab tbody th{font:800 20px/1.1 var(--f);letter-spacing:-.01em;text-transform:none}
.nf-tab td:last-child{font:400 16px/1.3 var(--f);letter-spacing:0;text-transform:none}
.nf-cc{display:block;margin-bottom:5px;font:400 13px/1 var(--mono);letter-spacing:.02em}
.nf-tab tbody tr{transition:background-color .1s var(--e),color .1s var(--e)}
.nf-js .nf-tab tbody tr{cursor:pointer}
.nf-js .nf-tab tbody tr:hover{background:#fff;color:var(--nf-black)}
.nf-tab tbody tr.nf-on{background:var(--nf-yellow);color:var(--nf-black)}
.nf-tab th button{all:unset;display:block;cursor:pointer}
.nf-tab th button:focus-visible{outline:3px solid var(--nf-yellow);outline-offset:6px}
.nf-tab tr.nf-on th button:focus-visible{outline-color:var(--nf-black)}
.nf-note-t{padding-top:14px}
.nf-map{--r:5}.nf-week{--r:4}.nf-tw{--r:6}.nf-trih{--r:1}
.nf-words{grid-column:1/span 6;--r:4}
.nf-words dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:16px}
.nf-words dt{font:800 17px/1.3 var(--f)}
.nf-words dd{margin:2px 0 0;font-size:16px;line-height:1.4}
.nf-p-cup{grid-column:7/span 6;grid-row:span 4}
.nf-hu{grid-column:1/span 10;--r:1;align-self:end;padding-bottom:calc(var(--m) / 4)}
.nf-recipes{grid-template-columns:repeat(4,calc(3 * var(--m)))}
.nf-rc{--r:3;display:flex;flex-direction:column}
.nf-rc+.nf-rc{border-left:2px solid var(--nf-black)}
.nf-ratio{margin:auto 0 14px;padding-top:18px;font:400 clamp(2.75rem,2.286rem + 1.905vw,4rem)/1 var(--mono);letter-spacing:-.02em;text-transform:uppercase}
.nf-rc p:last-child{font-size:16px;line-height:1.45}
.nf-subf{grid-column:1/span 7;--r:5}
.nf-rcpt{grid-column:8/span 5;grid-row:span 9;align-self:start;position:sticky;top:calc(var(--bar-h,42px) + 64px);min-height:calc(3 * var(--m));font:400 clamp(.875rem,.829rem + .19vw,1rem)/1.5 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-rh{margin-bottom:14px}
.nf-rcpt .nf-rh{font:400 13px/1.3 var(--mono);letter-spacing:.02em;padding-bottom:12px;border-bottom:2px solid #fff}
.nf-rb p,.nf-rb dl{margin-top:10px}
.nf-rb dl div{display:grid;grid-template-columns:14ch 1fr;gap:0 1ch}
.nf-rb dd{margin:0}
.nf-rb .nf-nw{white-space:nowrap}
.nf-rb .nf-y{margin:6px calc(0px - var(--in));padding:8px var(--in);background:var(--nf-yellow);color:var(--nf-black)}
.nf-rb .nf-fine{font-size:13px}
.nf-p-post{grid-column:1/span 6;grid-row:span 4}
.nf-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;align-content:start}
.nf-form h3,.nf-go,.nf-fs3,.nf-fsc,.nf-fld-w{grid-column:1/-1}
.nf-fld{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.nf-fld label,.nf-fs legend{font:700 13px/1.3 var(--f);letter-spacing:.08em;text-transform:uppercase}
.nf-optl{letter-spacing:0;text-transform:none;font-weight:400}
.nf-form select,.nf-form input[type=text],.nf-form input[type=email],.nf-form textarea{width:100%;min-height:48px;margin:0;padding:11px 12px;border:2px solid var(--nf-black);border-radius:0;background:#fff;color:var(--nf-black);font:400 17px/1.3 var(--f);-webkit-appearance:none;appearance:none}
.nf-form select{padding-right:40px;cursor:pointer}
.nf-fld:has(select)::after{content:"\2193";position:absolute;right:14px;bottom:12px;font:700 17px/1 var(--f);pointer-events:none}
.nf-form textarea{resize:vertical;min-height:112px}
.nf-form :is(select,input,textarea):focus-visible{outline:3px solid var(--nf-black);outline-offset:2px}
.nf-fs{border:0;min-width:0;display:flex;flex-wrap:wrap;gap:0 22px}
.nf-fs legend{margin-bottom:6px;padding:0}
.nf-fsc{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.nf-opt{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font:400 17px/1.25 var(--f)}
.nf-opt input{-webkit-appearance:none;appearance:none;flex:none;display:grid;place-content:center;width:20px;height:20px;margin:0;border:2px solid var(--nf-black);border-radius:0;background:#fff;cursor:pointer}
.nf-opt input:checked{background:var(--nf-black)}
.nf-opt input:checked::before{content:"";width:8px;height:8px;background:#fff}
.nf-opt input:focus-visible{outline:3px solid var(--nf-black);outline-offset:2px}
.nf-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:6px}
.nf-btn{min-height:52px;padding:0 24px;border:2px solid var(--nf-black);border-radius:0;background:var(--nf-black);color:#fff;font:700 18px/1 var(--f);cursor:pointer;transition:background-color .1s var(--e),color .1s var(--e)}
.nf-btn:hover{background:#fff;color:var(--nf-black)}
.nf-status{font:400 14px/1.4 var(--mono);letter-spacing:.02em}
.nf-facts{grid-template-columns:repeat(4,calc(3 * var(--m)))}
.nf-facts li{--r:3}
.nf-facts li+li{border-left:2px solid var(--nf-black)}
.nf-facts h3{max-width:9em}
.nf-p-cafe{grid-column:1/span 4;grid-row:span 6}
.nf-enq{grid-column:5/span 8;--r:6}
.nf-keys{grid-template-columns:repeat(4,calc(3 * var(--m)));grid-auto-rows:calc(2 * var(--m))}
.nf-keys li{padding:var(--in);font-size:17px;line-height:1.4}
.nf-keys b{display:block;margin-bottom:6px;font:800 clamp(1.5rem,1.407rem + .381vw,1.75rem)/1.1 var(--f);letter-spacing:-.01em}
.nf-kw{background:#fff;color:var(--nf-black)}
.nf-kk{background:var(--nf-black)}
.nf-kb{background:var(--nf-blue)}
.nf-ky{background:var(--nf-yellow);color:var(--nf-black)}
.nf-why{grid-column:1/span 6;--r:2}
.nf-colo{grid-column:7/span 6;--r:2;font:400 13px/1.55 var(--mono);letter-spacing:.02em}
.nf-p-cher{grid-column:1/span 3;grid-row:span 3;background:var(--nf-red)}
.nf-close{grid-column:4/span 9;grid-row:span 3;align-self:end;padding:0 0 calc(var(--m) / 4) var(--in);font:800 28px/1.2 var(--f);letter-spacing:-.01em}
.nf-key{padding-bottom:var(--m)}
@media (min-width:1200px) and (max-width:1439px){
.nf-hero{grid-template-rows:repeat(16,calc(var(--m) / 2))}
.nf-card{grid-row:3/span 6}
.nf-subl{grid-column:1/span 8;grid-row:7/span 3;padding-top:10px}
.nf-cap{margin-top:40px}
.nf-plot{grid-row:9/span 8}
.nf-wk dd{font-size:15px}
}
@media (max-width:1199px){
.nf-hero{grid-template-rows:repeat(26,calc(var(--m) / 2))}
.nf-lock{grid-column:1/span 5;padding-top:12px}
.nf-wm{font-size:26px}
.nf-lock-s{margin-top:6px;font-size:12px}
.nf-live{grid-column:6/span 7;font-size:14px;padding-top:20px}
.nf-hl{display:none}
.nf-h1{grid-column:1/-1}
.nf-subl{grid-column:1/span 6;grid-row:7/span 8;padding:14px 20px 0 0;pointer-events:auto}
.nf-card{grid-column:7/span 6;grid-row:7/span 8}
.nf-plot{grid-row:15/span 12;--pr:4;--br:2}
.nf-cap{font-size:13px}
.nf-live{padding-top:14px}
.nf-index ol{grid-template-columns:repeat(6,calc(2 * var(--m)))}
.nf-sw{grid-column:1/span 3}
.nf-sl{grid-column:4/span 6}
.nf-st{display:none}
.nf-sub{grid-column:10/span 3}
.nf-num{grid-column:1/span 5}
.nf-head{grid-column:6/-1}
.nf-phases{grid-template-columns:repeat(2,calc(6 * var(--m)))}
.nf-phase:not(:nth-child(3n+1)){border-left:0}
.nf-phase:nth-child(n+4){border-top:0}
.nf-phase:nth-child(even){border-left:2px solid var(--nf-black)}
.nf-phase:nth-child(n+3){border-top:2px solid var(--nf-black)}
.nf-tri .nf-po{padding:16px}
.nf-tri .nf-pn{font-size:20px}
.nf-ol{grid-column:1/-1}
.nf-direct{grid-column:1/span 7}
.nf-p-green{grid-column:8/span 5;grid-row:span 5}
.nf-week{grid-template-rows:calc(4 * var(--m)) calc(2 * var(--m)) auto}
.nf-tue{grid-column:1/-1;grid-row:1;border-left:0}
.nf-d1,.nf-d3,.nf-d4,.nf-d5,.nf-d6,.nf-d0{grid-row:2;border-top:2px solid var(--nf-black)}
.nf-d1{grid-column:1/span 2}.nf-d3{grid-column:3/span 2;border-left:2px solid var(--nf-black)}.nf-d4{grid-column:5/span 2}.nf-d5{grid-column:7/span 2}.nf-d6{grid-column:9/span 2}.nf-d0{grid-column:11/span 2}
.nf-wk{grid-row:3;grid-template-columns:repeat(2,calc(6 * var(--m)))}
.nf-wk div:nth-child(3){border-left:0}
.nf-wk div:nth-child(n+3){border-top:2px solid var(--nf-black)}
.nf-p-cool{grid-column:1/span 6;grid-row:span 6}
.nf-rest{grid-column:7/span 6}
.nf-restd{grid-column:7/span 6}
.nf-tab{width:100%;min-width:0;background:none;display:block}
.nf-tab thead,.nf-tab colgroup{display:none}
.nf-tab tbody{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}
.nf-tab tr{display:block;min-height:calc(2 * var(--m));padding:12px var(--in) 14px;background:var(--nf-black)}
.nf-tab th,.nf-tab td{display:inline;height:auto;padding:0;border:0}
.nf-tab tbody th{display:block;margin-bottom:8px;font-size:24px}
.nf-cc{display:inline;margin:0 .6em 0 0;vertical-align:.25em}
.nf-tab td{font-size:12px;line-height:1.55}
.nf-tab td:last-child{font:400 12px/1.55 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nf-tab td+td::before{content:" \00B7  "}
.nf-tab td:nth-child(4)::before,.nf-tab td:nth-child(6)::before{content:"\A";white-space:pre}
.nf-note,.nf-map figcaption{background:var(--nf-black);padding:10px var(--in) 12px;font-size:13px}
.nf-note{border-top:2px solid #fff;align-self:stretch;display:flex;align-items:center}
.nf-map{grid-template-rows:calc(4 * var(--m)) auto}
.nf-words{grid-column:1/-1}
.nf-p-cup{grid-column:1/-1;grid-row:span 8}
.nf-recipes,.nf-facts{grid-template-columns:repeat(2,calc(6 * var(--m)))}
.nf-rc:nth-child(3),.nf-facts li:nth-child(3){border-left:0}
.nf-rc:nth-child(n+3),.nf-facts li:nth-child(n+3){border-top:2px solid var(--nf-black)}
.nf-subf{grid-column:1/-1}
.nf-rcpt{grid-column:1/-1;grid-row:span var(--r,4);position:static;align-self:stretch}
.nf-p-post{grid-column:1/-1;grid-row:span 8}
.nf-p-cafe{grid-column:1/span 4;grid-row:span 6}
.nf-enq{grid-column:5/span 8}
.nf-keys{grid-template-columns:repeat(2,calc(6 * var(--m)))}
.nf-why,.nf-colo{grid-column:1/-1}
.nf-p-cher{grid-column:1/span 4;grid-row:span 4}
.nf-close{grid-column:5/span 8;grid-row:span 4}
}
@media (max-width:699px){
.nf-wide{display:none}
.nf-narrow{display:inline}
.nf-hero{grid-template-rows:var(--m) calc(var(--m) / 2) calc(4 * var(--m)) calc(4.5 * var(--m)) auto auto}
.nf-lock{grid-column:1/-1;grid-row:1;padding-top:10px}
.nf-wm{font-size:24px}
.nf-lock-s{margin-top:7px;font-size:11px;letter-spacing:.07em}
.nf-hl{display:block;grid-column:5/span 2;grid-row:1;padding-top:10px;position:relative;z-index:2}
.nf-hl a{margin:0}
.nf-hl-c{display:none!important}
.nf-live{grid-column:1/-1;grid-row:2;align-items:center;padding:0;font-size:13px}
.nf-live-sq{width:12px;height:12px;margin:0}
.nf-h1{grid-column:1/-1;grid-row:3}
.nf-l{white-space:normal}
.nf-plot{grid-row:4;--br:1.5}
.nf-card{grid-column:1/-1;grid-row:5;min-height:calc(4 * var(--m));padding:14px 16px 12px}
.nf-hint{display:none}
.nf-js .nf-hint{display:block;margin-top:auto;padding-top:4px;font-size:12px}
.nf-subl{grid-column:1/-1;grid-row:6;min-height:calc(3 * var(--m));padding:var(--in) 0 0}
.nf-subl>p:first-child{font-size:18px;line-height:26px}
.nf-cap{display:none}
.nf-tl,.nf-tp{font-size:12px}
.nf-t200,.nf-t150,.nf-dir,.nf-lg{display:none}
.nf-sh{display:inline}
.nf-ph{bottom:24px;font-size:12px}
.nf-ph1{left:6px}
.nf-mins{bottom:5px;font-size:12px}
.nf-mins span:nth-child(even){visibility:hidden}
.nf-mins span,.nf-mins span:first-child{padding-left:4px}
.nf-mins span:last-child{right:4px}
.nf-fc::before{inset:8px}
.nf-fc-tag{left:auto;right:100%;bottom:auto;top:13px;font-size:12px}
.nf-index ol{grid-template-columns:repeat(3,calc(2 * var(--m)))}
.nf-in{font-size:calc(var(--m) * 1.3)}
.nf-it{font-size:16px}
.nf-strip{height:44px}
.nf-sw,.nf-strip .nf-sub{display:none}
.nf-sl{grid-column:1/-1}
.nf-sl a{gap:5px}
.nf-sn{font:900 20px/1 var(--f);letter-spacing:-.02em}
.nf-sl .nf-sq{width:10px;height:10px}
.nf-num{grid-column:1/span 4;grid-row:span 2}
.nf-num span{font-size:calc(var(--m) * 2 / .7)}
.nf-head,.nf-s2 .nf-head,.nf-s4 .nf-head,.nf-s6 .nf-head{grid-column:1/-1;--r:1;padding-top:calc(var(--m) / 3)}
.nf-head h2{margin-top:0}
.nf-lead{margin-top:14px}
.nf-lw,.nf-ol,.nf-direct,.nf-rest,.nf-restd,.nf-words,.nf-subf,.nf-enq,.nf-why,.nf-colo{grid-column:1/-1}
.nf-page .nf-map-f{aspect-ratio:auto}
.nf-page:not(.nf-js) .nf-map-f{aspect-ratio:3/1}
.nf-map{grid-template-rows:calc(4 * var(--m)) auto}
.nf-map figcaption{padding:10px 0 16px}
.nf-olist li{min-height:calc(var(--m) * .75)}
.nf-olist button{min-height:calc(var(--m) * .75 - 2px)}
.nf-p-green,.nf-p-cool{grid-column:1/-1;grid-row:span 6}
.nf-phases,.nf-tri,.nf-recipes,.nf-facts,.nf-keys{grid-template-columns:calc(6 * var(--m))}
.nf-page .nf-phase,.nf-page .nf-rc,.nf-page .nf-facts li{border-left:0}
.nf-phase+.nf-phase,.nf-rc+.nf-rc,.nf-facts li+li{border-top:2px solid var(--nf-black)}
.nf-phase{display:grid;grid-template-columns:calc(2 * var(--m) - var(--in)) 1fr;grid-template-rows:auto auto 1fr;gap:0 var(--in);align-content:start}
.nf-phase .nf-sm{grid-row:1/span 3;height:calc(var(--m) * 1.1);margin:4px 0 0}
.nf-phase h3{font-size:22px}
.nf-rng{margin:4px 0 8px}
.nf-phase p:last-child{font-size:16px}
.nf-po-d{grid-column:auto}
.nf-week{grid-template-columns:repeat(6,var(--m));grid-template-rows:calc(5 * var(--m)) calc(2 * var(--m)) auto}
.nf-d1,.nf-d3,.nf-d4,.nf-d5,.nf-d6,.nf-d0{grid-column:auto;border-left:2px solid var(--nf-black);padding:8px 4px 8px 6px}
.nf-d1{grid-column:1;border-left:0}.nf-d3{grid-column:2}.nf-d4{grid-column:3}.nf-d5{grid-column:4}.nf-d6{grid-column:5}.nf-d0{grid-column:6}
.nf-dn,.nf-hrs,.nf-ev p,.nf-now span{font-size:12px}
.nf-dw{font-size:min(15px,calc(var(--m) / 4.4))}
.nf-dn span{display:block;margin:2px 0 0}
.nf-hrs{top:48px}
.nf-hrs span{padding-left:4px}
.nf-ev{top:78px;gap:8px}
.nf-gs{height:8px}
.nf-ev p{padding:4px 10px 0}
.nf-wk{grid-template-columns:calc(6 * var(--m))}
.nf-wk div+div{border-left:0;border-top:2px solid var(--nf-black)}
.nf-restd{--r:3}
.nf-tab tbody{grid-template-columns:1fr}
.nf-words dl{grid-template-columns:1fr}
.nf-p-cup,.nf-p-post{grid-column:1/-1;grid-row:span 4}
.nf-form{grid-template-columns:1fr}
.nf-fsc{grid-template-columns:1fr}
.nf-rcpt{grid-column:1/-1}
.nf-rb dl div{grid-template-columns:13.5ch 1fr}
.nf-p-cafe{grid-column:1/span 4;grid-row:span 6}
.nf-keys{grid-auto-rows:minmax(calc(1.5 * var(--m)),auto)}
.nf-p-cher{grid-column:1/span 4;grid-row:span 4}
.nf-close{grid-column:1/-1;grid-row:span 1;padding:18px 0 0;font-size:24px}
}
@media (max-width:379px){
.nf-ev{gap:4px}
.nf-ev p{padding-top:2px}
}
@media (max-width:699px) and (max-height:640px){
.nf-hero{grid-template-rows:var(--m) 22px 88px calc(var(--m) * 3.25) auto auto}
.nf-h1{font-size:42px;line-height:42px;padding-top:2px}
.nf-l{white-space:nowrap}
.nf-plot{--pr:2.5;--br:.75}
.nf-t100,.nf-ph{display:none}
.nf-card{min-height:0;padding-top:10px}
.nf-sum{display:block;order:-2}
.nf-rn{display:none}
.nf-notes{order:-1}
}
@media (prefers-reduced-motion:no-preference){
.nf-go .nf-l>span{animation:nf-rise .4s var(--e) both}
.nf-go .nf-l+.nf-l>span{animation-delay:60ms}
.nf-go .nf-card{animation:nf-wipe .24s var(--e) .12s both}
.nf-go .nf-fc,.nf-go .nf-drop{animation:nf-cut 1.5s steps(1) both}
.nf-go .nf-cut{animation:nf-cut var(--cut,.3s) steps(1) both}
/* only the numerals are scrubbed by the scroll; modules that carry words wipe on once, whole, when they arrive */
@supports (animation-timeline:view()){
.nf-num span{animation:nf-num linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
}
.nf-io-n .nf-num span{transform:translateY(var(--m));transition:transform .4s var(--e)}
.nf-io-n .nf-num.nf-seen span{transform:none}
.nf-io .nf-sec :is(.nf-w,.nf-k,.nf-map-f,.nf-pic,.nf-week,.nf-tw,.nf-po,.nf-keys li){clip-path:inset(0 100% 0 0);transition:clip-path .24s var(--e)}
.nf-io .nf-sec .nf-seen:is(.nf-w,.nf-k,.nf-map-f,.nf-pic,.nf-week,.nf-tw,.nf-po,.nf-keys li){clip-path:inset(-12px)}
}
@keyframes nf-rise{from{transform:translateY(100%)}}
@keyframes nf-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(-12px)}}
@keyframes nf-cut{from{visibility:hidden}}
@keyframes nf-num{from{transform:translateY(var(--m))}}
