/* Shared header, footer and questions list for every page (source: site-chrome.css, built to /site-chrome.css).
   Selectors are deliberately specific: pages carry older styles (.wordmark in styles.css, .hdr on About, .lab-header in the lab). */

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:20px;height:var(--sh,76px);padding:0 max(20px,4.5vw);background:rgba(20,20,20,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff0e;font-family:'DM Sans',Arial,sans-serif;box-sizing:border-box}
.site-header.fixed{position:fixed;inset:0 0 auto;background:rgba(20,20,20,.97)}
.site-header .wordmark{font-family:'DM Sans',Arial,sans-serif!important;font-weight:800!important;font-size:28px!important;letter-spacing:-.025em!important;line-height:1!important;transform:none!important;color:#f1efea;text-decoration:none;white-space:nowrap;flex:none}
.site-header .wordmark .u,.site-footer .u{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:0;margin-right:.02em}
.site-header .wordmark .st,.site-footer .st{color:#e8553f}
.sh-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.sh-nav a{position:relative;font:500 15px/1 'DM Sans',Arial,sans-serif;color:#cfcac2;text-decoration:none;padding:11px 14px;border-radius:999px;transition:color .2s,background .2s;white-space:nowrap}
.sh-nav a:hover{color:#fff;background:#ffffff0d}
.sh-nav a[aria-current=page]{color:#fff}
.sh-nav a[aria-current=page]::after{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#e8553f}
.sh-nav a.sh-hello{margin-left:10px;color:#fff;border:1px solid #ffffff40;padding:10px 16px}
.sh-nav a.sh-hello:hover{background:#e8553f;border-color:#e8553f}
.sh-nav a:focus-visible,.site-header .wordmark:focus-visible{outline:2px solid #e8553f;outline-offset:3px}
.sh-tools{display:flex;align-items:center;gap:10px;margin-left:6px;padding-left:14px;border-left:1px solid #ffffff1a}
@media(max-width:600px){.site-header{height:var(--sh,64px);gap:10px}.site-header .wordmark{font-size:23px!important}.sh-nav a{padding:10px 9px;font-size:14px}.sh-nav a.sh-hello{display:none}.sh-tools{padding-left:8px;margin-left:0}}

/* ---------- footer: one slim band ---------- */
.site-footer{background:#0e0e0e;border-top:1px solid #ffffff10;padding:30px max(20px,4.5vw) 22px;font-family:'DM Sans',Arial,sans-serif;color:#f1efea;box-sizing:border-box;text-align:left;
  /* always edge to edge, even when a page places it inside a centred column (About, the Netflix lab) */
  width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important}
html{overflow-x:clip}
.sf-row{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.sf-logo{font:800 24px/1 'DM Sans',Arial,sans-serif;letter-spacing:-.025em;color:#f1efea;text-decoration:none;white-space:nowrap;font-optical-sizing:none;font-variation-settings:"opsz" 14}
.sf-nav{display:flex;align-items:center;gap:6px 26px;flex-wrap:wrap}
.sf-nav a{font:500 15px/1 'DM Sans',Arial,sans-serif;color:#cfcac2;text-decoration:none;padding:8px 0;transition:color .2s}
.sf-nav a:hover{color:#e8553f}
.sf-sep{width:1px;height:16px;background:#ffffff26}
.sf-base{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #ffffff10}
.sf-base small{font-size:12.5px;color:#7d7871}
@media(max-width:600px){.sf-row{flex-direction:column;align-items:flex-start;gap:14px}.sf-nav{gap:4px 20px}}

/* ---------- the questions list (homepage and Experiments) ---------- */
.qx{list-style:none;margin:0;padding:0}
.qx li+li{border-top:1px solid #ffffff14}
.qx-i{display:grid;grid-template-columns:44px 1fr 170px;gap:18px;align-items:center;padding:20px 12px;border-radius:14px;color:#f1efea;text-decoration:none;transition:background .25s}
.qx-n{font:600 13px/1 'DM Sans',Arial,sans-serif;color:#9b958c;align-self:start;padding-top:8px}
.qx-t{font:700 clamp(21px,1.75vw,28px)/1.15 'DM Sans',Arial,sans-serif;letter-spacing:-.025em;text-wrap:balance}
.qx-soon{display:table;margin-top:10px;font:600 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#d9d4cc;border:1px solid #ffffff30;border-radius:999px;padding:5px 8px}
.qx-i>img,.qx-pulse{width:170px;aspect-ratio:16/10;height:auto;border-radius:10px;object-fit:cover;box-shadow:0 8px 20px #00000066;display:block}
.qx-pulse{position:relative;background:radial-gradient(120% 100% at 70% 30%,#3a1d17,#160f0e)}
.qx-pulse svg{position:absolute;left:0;top:28%;width:100%;height:44%}.qx-pulse path{fill:none;stroke:#e8553f;stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.qx-i.live .qx-n{color:#e8553f}
.qx-i.live:hover,.qx-i.live:focus-visible{background:#ffffff0a}
.qx-i.live:hover .qx-t{text-decoration:underline;text-decoration-color:#e8553f;text-underline-offset:5px}
.qx-i:not(.live){cursor:default}.qx-i:not(.live)>img{filter:saturate(.75) brightness(.8)}
@media(max-width:900px){.qx-i{grid-template-columns:30px 1fr 96px;gap:12px;padding:16px 4px}.qx-i>img,.qx-pulse{width:96px}}

/* ---------- the Experiments page (same list as the homepage) ---------- */
.exp-page{min-height:60vh;max-width:1000px;margin:0 auto;padding:9vh max(20px,4.5vw) 12vh;color:#f1efea}
.exp-page h1{font:800 clamp(48px,6vw,96px)/.95 'DM Sans',Arial,sans-serif;letter-spacing:-.05em;margin:0 0 6vh}
.exp-page h1 .st{color:#e8553f}

/* ---------- one ink and one typeface for every template page (articles, 404) ---------- */
body{background:#141414;font-family:'DM Sans',Arial,sans-serif}

/* pages that load DM Sans with an optical-size axis (About, the Netflix lab): keep the header logo's shape the same everywhere */
.site-header .wordmark{font-optical-sizing:none;font-variation-settings:"opsz" 14}

/* Keep the chapter control reachable on narrow phones. */
@media(max-width:600px){.site-header .sh-tools #current-chapter{display:none}.site-header .sh-tools{flex:none;padding-left:6px;margin-left:0}.site-header .sh-nav{min-width:0;gap:0}.site-header .sh-tools button{flex:none}}
@media(max-width:420px){.site-header{padding-inline:12px;gap:6px}.site-header .wordmark{font-size:21px!important}.sh-nav a{font-size:13px;padding-inline:7px}.site-header .sh-tools{padding-left:4px}}

/* Small editorial artwork needs its complete silhouette, including the pin. */
.qx-i>img.tile-art{object-fit:contain;padding:5px;background:#1c1a19;filter:none}

/* slim footer: one band (10 Nov 2026, author: "reduce the size of the footer") */
.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 32px;padding:16px max(20px,4.5vw)}
.sf-row{flex:1 1 auto;gap:10px 32px}
.sf-logo{font-size:22px}
.sf-nav a{padding:6px 0}
.sf-base{margin:0;padding:0;border:0;gap:6px 18px}
@media(max-width:600px){.site-footer{padding:16px 20px 18px}.sf-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 20px}}
/* skip link: out of the flow until focused (About had no rule, so it pushed every page down 32px) */
.skip{position:absolute;left:16px;top:-80px;z-index:300;background:#f1efea;color:#141414;padding:10px 14px;border-radius:8px;font:600 14px/1 'DM Sans',Arial,sans-serif;text-decoration:none}
.skip:focus{top:12px}
/* the contact page marks "Say hello" as the current page */
.site-header .sh-hello[aria-current]{background:#e8553f;border-color:#e8553f;color:#141414}
/* phone menu, the same on every page (10 Nov 2026): About and Say hello; the logo is the way home */
@media(max-width:600px){.sh-nav a.sh-hello{display:inline-flex;margin-left:4px;padding:9px 13px}.sh-nav a[href="/"]{display:none}}
@media(max-width:360px){.sh-nav a.sh-hello{padding:8px 10px}}
/* Netflix chapters (10 Nov 2026): the chapter name is the button; the header's bottom edge fills as you read; the menu marks where you are */
.site-header #menu-toggle.ch-btn{width:auto;height:40px;display:inline-flex;align-items:center;gap:9px;padding:0 14px;border-radius:999px;border:0;background:none;color:#e9e5df;font:500 14px/1 'DM Sans',Arial,sans-serif;cursor:pointer;transition:background .2s}
.site-header #menu-toggle.ch-btn:hover,.site-header #menu-toggle.ch-btn[aria-expanded=true]{background:#ffffff0d}
.site-header #menu-toggle.ch-btn:focus-visible{outline:2px solid #e8553f;outline-offset:3px}
.site-header .ch-btn #current-chapter{display:inline;min-width:0;text-align:left;font:inherit;color:inherit}
.site-header .ch-btn .ch-l{display:none}
.site-header .ch-btn .chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.site-header .ch-btn[aria-expanded=true] .chev{transform:translateY(2px) rotate(225deg)}
.site-header.reading::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#e8553f;transform-origin:0 50%;transform:scaleX(var(--read,0));pointer-events:none}
#chapter-menu a[aria-current]{color:#fff;position:relative;padding-left:28px}
#chapter-menu a[aria-current]::before{content:"";position:absolute;left:12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#e8553f}
#chapter-menu a.past{color:#8f8a83}
@media(max-width:600px){.site-header .ch-btn #current-chapter{display:none}.site-header .ch-btn .ch-l{display:inline}.site-header #menu-toggle.ch-btn{padding:0 10px;gap:7px}}

/* readability and tap targets (10 Nov 2026): small print over 4.5:1, links at least 44px tall */
.sf-base small{color:#9a948c}
.sf-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0}

/* brand frame (10 Nov 2026): header and footer in ink #0d0b0a, like the homepage journal */
.site-header.fixed{background:rgba(13,11,10,.97)}
.site-header{background:rgba(13,11,10,.86)}
.site-footer{background:#0d0b0a}
