/* Kranenburg Power Advisors: shared styles for every page */
:root{
  --delft:#1F3A68; --delft-deep:#152A4D; --delft-mid:#4E6A93; --wash:#DCE4EF; --wash-2:#CBD6E5;
  --copper:#B8692E; --copper-dk:#9E5824; --copper-lt:#D99A62; --copper-text:#A35A24;
  --porcelain:#F6F8FB; --white:#FFFFFF; --ink:#1B1F24; --grey:#5C6370; --line:#D3DBE7;
  --sans:"Montserrat",system-ui,sans-serif; --serif:"Source Serif 4",Georgia,serif;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{background:var(--porcelain);scroll-behavior:smooth}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--copper-text);color:#fff;padding:8px 14px;font-family:var(--sans);font-weight:600;z-index:30}
.skip:focus{left:8px}

/* ---------- masthead and menu ---------- */
.mast{background:var(--delft);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.mast .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand svg{width:34px;height:34px;flex:none}
.brand-name{display:flex;flex-direction:column;font-family:var(--sans);color:#fff;white-space:nowrap;line-height:1}
.brand-name .b1{font-weight:700;font-size:15px;letter-spacing:.1em;padding-bottom:5px;border-bottom:1.5px solid var(--copper)}
.brand-name .b2{font-weight:500;font-size:9.5px;letter-spacing:.34em;margin-top:5px;color:var(--wash)}
.brand svg{width:38px;height:38px}
.menu{display:flex;align-items:center;gap:4px;height:100%}
.menu a{display:flex;align-items:center;height:100%;padding:0 14px;font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--wash);text-decoration:none;border-bottom:3px solid transparent;border-top:3px solid transparent}
.menu a:hover{color:#fff;background:rgba(255,255,255,.05)}
.menu a[aria-current="page"]{color:#fff;font-weight:600;border-bottom-color:var(--copper-text)}
.mast-cta{font-family:var(--sans);font-weight:600;font-size:14px;text-decoration:none;color:#fff;background:var(--copper-text);padding:10px 16px;white-space:nowrap}
.mast-cta:hover{background:#8A4C1F}
.menu-btn{display:none;font-family:var(--sans);font-weight:600;font-size:14px;color:#fff;background:transparent;border:1.5px solid var(--delft-mid);padding:8px 14px;cursor:pointer}
.menu-btn:hover{border-color:var(--copper-lt)}

/* ---------- crenellated edges ---------- */
.crenel{height:30px;background:
  linear-gradient(var(--delft),var(--delft)) top/100% 8px no-repeat,
  repeating-linear-gradient(90deg,var(--delft) 0 64px,transparent 64px 104px)}
.foot-crenel{height:22px;background:repeating-linear-gradient(90deg,var(--delft-deep) 0 48px,transparent 48px 80px)}

/* ---------- home hero ---------- */
.hero{background:var(--delft);color:#fff;padding:clamp(28px,5vw,56px) 0 clamp(48px,7vw,84px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(32px,6vw,80px);align-items:end}
.hero-note{font-family:var(--sans);font-weight:500;font-size:15px;color:var(--wash);margin:0 0 18px}
.hero-note b{color:var(--copper-lt);font-weight:600}
.hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(56px,10.5vw,148px);line-height:.88;letter-spacing:-.035em;margin:0}
.hero h1 span{display:block}
.beam{height:10px;background:var(--copper);margin:22px 0 26px;width:calc(100% + clamp(32px,6vw,80px));position:relative}
.beam::before,.beam::after{content:"";position:absolute;top:10px;width:10px;height:22px;background:var(--copper)}
.beam::before{left:12%}
.beam::after{right:18%}
.hero .sub{font-family:var(--sans);font-weight:400;font-size:clamp(18px,2vw,22px);line-height:1.42;color:var(--wash);margin:34px 0 10px;max-width:34ch}
.hero .by{font-family:var(--sans);font-size:14px;color:var(--wash);margin:0 0 30px}
.hero .by b{color:#fff;font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.read-btn{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;padding:15px 24px;background:var(--copper-text);color:#fff;transition:background .2s}
.read-btn:hover{background:#8A4C1F}
.pdf-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;padding:12px 2px;color:#fff;border-bottom:1.5px solid var(--copper-lt)}
.pdf-link small{font-weight:400;color:var(--wash);font-size:13px}
.pdf-link:hover{color:var(--copper-lt)}
.cover{display:block;justify-self:end;width:min(100%,340px);transform:rotate(1.4deg);box-shadow:0 34px 60px -24px rgba(5,14,30,.7),0 0 0 1px rgba(255,255,255,.08);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cover:hover{transform:rotate(0) translateY(-6px)}
.cover img{display:block;width:100%}

/* ---------- page header for inner pages ---------- */
.page-head{background:var(--delft);color:#fff;padding:clamp(36px,6vw,72px) 0 clamp(40px,6vw,64px)}
.crumbs{font-family:var(--sans);font-size:13.5px;color:var(--wash);margin:0 0 18px}
.crumbs a{color:var(--wash);text-decoration:none;border-bottom:1px solid var(--delft-mid)}
.crumbs a:hover{color:#fff;border-color:var(--copper-lt)}
.page-head h1{font-family:var(--sans);font-weight:700;font-size:clamp(44px,7vw,96px);line-height:.94;letter-spacing:-.035em;margin:0;max-width:14ch}
.page-head .beam{width:min(100%,520px);margin:20px 0 0}
.page-head .lede{font-family:var(--sans);font-size:clamp(18px,2vw,22px);line-height:1.45;color:var(--wash);margin:42px 0 0;max-width:46ch}
.page-head.split .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(32px,6vw,80px);align-items:end}
.page-head .meta{font-family:var(--sans);font-size:14px;color:var(--wash);margin:16px 0 26px}
.page-head .meta b{color:#fff;font-weight:600}

/* ---------- section heads ---------- */
.sec{padding:clamp(56px,8vw,96px) 0}
.sec.tight{padding-top:clamp(36px,5vw,56px)}
.band{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:36px}
.sec-head h2{font-family:var(--sans);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.04;letter-spacing:-.02em;color:var(--delft);margin:0}
.sec-head p{margin:0;color:var(--grey);font-size:17px;max-width:46ch}
.tag{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);margin:0 0 12px}
.text-link{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--copper-text);text-decoration:none;border-bottom:1.5px solid currentColor}
.text-link:hover{color:var(--copper-dk)}
.sec-foot{margin-top:28px}

/* ---------- start here: three gates ---------- */
.gates{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.gate{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;padding:66px 26px 26px;text-decoration:none;background:var(--wash);color:var(--delft);transition:background .2s,color .2s}
.gate::before{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:repeating-linear-gradient(90deg,transparent 0 22%,var(--porcelain) 22% 34%,transparent 34% 56%)}
.gate .k{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);margin-bottom:auto}
.gate strong{font-family:var(--sans);font-weight:700;font-size:clamp(24px,2.6vw,32px);line-height:1.08;letter-spacing:-.02em;margin:18px 0 10px}
.gate span.d{font-size:16px;line-height:1.5;color:var(--ink);max-width:34ch}
.gate .go{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);margin-top:18px;border-bottom:1.5px solid currentColor;align-self:flex-start}
.gate:hover{background:var(--delft);color:#fff}
.gate:hover span.d{color:var(--wash)}
.gate:hover .go,.gate:hover .k{color:var(--copper-lt)}
.gate.main{background:var(--delft);color:#fff}
.gate.main span.d{color:var(--wash)}
.gate.main .k,.gate.main .go{color:var(--copper-lt)}
.gate.main:hover{background:var(--delft-deep)}

/* ---------- the findings wall ---------- */
.wall-zone{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.wall-top{height:26px;margin-bottom:10px;background:repeating-linear-gradient(90deg,var(--wash) 0 56px,transparent 56px 92px)}
.wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(132px,auto);grid-auto-flow:dense;gap:10px}
.stone{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:14px;text-align:left;font:inherit;color:var(--delft);background:var(--wash);border:0;border-radius:0;padding:18px 18px 16px;cursor:pointer;transition:background .2s,color .2s}
.stone:hover{background:var(--wash-2)}
.stone[aria-pressed="true"]{background:var(--delft);color:#fff}
.stone .fig{font-family:var(--sans);font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:.95;letter-spacing:-.03em;white-space:nowrap}
.stone .cap{font-family:var(--sans);font-weight:500;font-size:13.5px;line-height:1.35;max-width:26ch;color:var(--delft-mid)}
.stone .theme{display:none}
.stone[aria-pressed="true"] .cap,.stone[aria-pressed="true"] .theme{color:var(--wash)}
.stone .more{display:none}
.stone[hidden]{display:none}
.s-xl .fig{font-size:clamp(56px,8vw,112px)}
.s-l .fig{font-size:clamp(44px,5.6vw,80px)}
.s-xl::after{content:"";position:absolute;right:13%;bottom:14%;width:12px;height:34%;background:var(--porcelain)}
.s-xl[aria-pressed="true"]::after{background:var(--copper)}
.c6r2{grid-column:span 6;grid-row:span 2}.c5r2{grid-column:span 5;grid-row:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}
.wall.filtered .stone{grid-column:span 4;grid-row:span 1}
.wall.filtered .s-xl .fig,.wall.filtered .s-l .fig{font-size:clamp(30px,3.4vw,48px)}
.wall.filtered .s-xl::after{display:none}

.slit{position:sticky;top:96px;background:var(--white);border-top:6px solid var(--copper);padding:26px 26px 24px;box-shadow:0 1px 0 var(--line)}
.slit .slit-fig{font-family:var(--sans);font-weight:700;font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--delft);margin:0 0 10px}
.slit h3{font-family:var(--sans);font-weight:600;font-size:18px;line-height:1.3;color:var(--delft);margin:0 0 12px}
.slit p{font-size:16.5px;line-height:1.6;margin:0 0 14px}
.slit .src{font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--grey);padding-top:12px;border-top:1px solid var(--line)}
.slit .slit-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.slit a{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);text-decoration:none;border-bottom:1.5px solid currentColor}
.slit a:hover{color:var(--copper-dk)}

@media (prefers-reduced-motion:no-preference){
  .js .wall.lay .stone{animation:lay .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 55ms)}
  @keyframes lay{from{transform:translateY(28px)}to{transform:none}}
}

/* filters and shuffle */
.tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}
.chip{font-family:var(--sans);font-weight:500;font-size:14px;color:var(--delft);background:transparent;border:1.5px solid var(--wash-2);padding:8px 14px;cursor:pointer}
.chip:hover{border-color:var(--delft-mid)}
.chip[aria-pressed="true"]{background:var(--delft);border-color:var(--delft);color:#fff}
.chip .n{font-weight:600;color:var(--copper-text);margin-left:6px}
.chip[aria-pressed="true"] .n{color:var(--copper-lt)}
.shuffle{margin-left:auto;font-family:var(--sans);font-weight:600;font-size:14px;color:#fff;background:var(--copper-text);border:0;padding:10px 16px;cursor:pointer}
.shuffle:hover{background:#8A4C1F}

/* ---------- on the desk ---------- */
.desk{list-style:none;margin:0;padding:0;border-top:2px solid var(--delft)}
.desk li{display:grid;grid-template-columns:170px minmax(0,1fr) 150px;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.desk time{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--delft)}
.desk h3{font-family:var(--sans);font-weight:600;font-size:18px;color:var(--delft);margin:0 0 4px;line-height:1.3}
.desk p{margin:0;font-size:16px;color:var(--grey);line-height:1.5}
.desk p a{color:var(--copper-text);font-family:var(--sans);font-weight:600;font-size:14px;text-decoration:none;border-bottom:1.5px solid currentColor}
.count{justify-self:end;font-family:var(--sans);font-weight:600;font-size:13px;color:var(--delft);background:var(--wash);padding:6px 10px;white-space:nowrap}
.count.soon{background:var(--copper-text);color:#fff}
.count.past{background:transparent;color:var(--grey);border:1px solid var(--line)}

/* ---------- briefs list ---------- */
.brief-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:32px;align-items:center;padding:26px 0;border-top:2px solid var(--delft);border-bottom:1px solid var(--line)}
.brief-row img{display:block;width:150px;box-shadow:0 14px 30px -18px rgba(5,14,30,.6);transition:transform .3s}
.brief-row a:hover img{transform:translateY(-4px)}
.brief-row h3{font-family:var(--sans);font-weight:700;font-size:30px;letter-spacing:-.02em;color:var(--delft);margin:0 0 6px}
.brief-row h3 a{text-decoration:none}
.brief-row h3 a:hover{text-decoration:underline;text-decoration-color:var(--copper-text);text-underline-offset:5px}
.brief-row p{margin:0;color:var(--grey);font-size:17px;max-width:52ch}
.brief-row .kind{font-family:var(--sans);font-size:14px;color:var(--ink);margin-top:10px}
.brief-row .links{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.next-up{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.next-up .slot{width:150px;aspect-ratio:1275/1650;background:repeating-linear-gradient(90deg,var(--wash) 0 30%,transparent 30% 42%,var(--wash) 42% 100%) top/100% 14% no-repeat,linear-gradient(var(--wash),var(--wash)) bottom/100% 86% no-repeat;opacity:.7}
.next-up h3{font-family:var(--sans);font-weight:700;font-size:22px;color:var(--delft-mid);margin:0 0 6px}
.next-up p{margin:0;color:var(--grey);font-size:16.5px;max-width:52ch}

/* ---------- brief page tabs ---------- */
.tabs{position:sticky;top:72px;z-index:10;background:var(--porcelain);border-bottom:1px solid var(--line)}
.tabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tab{flex:none;font-family:var(--sans);font-weight:500;font-size:15px;color:var(--grey);background:transparent;border:0;border-bottom:3px solid transparent;padding:18px 16px 15px;cursor:pointer;text-decoration:none}
.tab:hover{color:var(--delft)}
.tab[aria-selected="true"]{color:var(--delft);font-weight:600;border-bottom-color:var(--copper-text)}
.panel{padding:clamp(40px,6vw,64px) 0}
.js .panel[hidden]{display:none}
.prose{max-width:700px}
.prose p{margin:0 0 20px}
.prose ul{list-style:none;padding:0;margin:0 0 22px}
.prose ul li{position:relative;padding-left:24px;margin:0 0 16px}
.prose ul li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;background:var(--delft)}
.prose ul li b{font-family:var(--sans);font-weight:600;font-size:.94em;color:var(--delft)}
.ki-box{background:var(--white);border-top:6px solid var(--copper);padding:30px 34px 26px;box-shadow:0 1px 0 var(--line)}
.ki-box h2{font-family:var(--sans);font-weight:700;font-size:24px;color:var(--delft);margin:0 0 14px}
.ki-box .sig{font-style:italic;color:var(--grey);margin:6px 0 0}
.overview{display:grid;grid-template-columns:minmax(0,700px) minmax(0,1fr);gap:48px;align-items:start}
.facts{font-family:var(--sans);border-top:2px solid var(--delft)}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--grey)}
.facts b{color:var(--delft);font-weight:600;text-align:right}
.facts .read-btn{margin-top:20px;width:100%;justify-content:center}
.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 36px}
.figure{margin:0}
.figure .flabel{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--copper-text);margin:0 0 4px}
.figure .ftitle{font-family:var(--sans);font-weight:600;font-size:17px;line-height:1.35;color:var(--delft);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--delft)}
.figure img{display:block;width:100%;background:#fff}
.figure figcaption{font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--grey);margin-top:10px}
.figure a{display:block}
.sources-list{max-width:820px;margin:0;padding-left:30px;font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--grey)}
.sources-list li{margin-bottom:10px;padding-left:6px}
.sources-list li::marker{color:var(--copper-text);font-weight:700}

/* ---------- method ---------- */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--delft)}
.stats div{padding:22px 18px 22px 0;border-bottom:1px solid var(--line)}
.stats strong{display:block;font-family:var(--sans);font-weight:700;font-size:clamp(34px,4vw,54px);line-height:1;color:var(--delft);letter-spacing:-.03em}
.stats span{display:block;margin-top:8px;font-family:var(--sans);font-size:13.5px;color:var(--grey)}
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{counter-increment:step;display:grid;grid-template-columns:120px minmax(0,1fr);gap:32px;padding:30px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(step);font-family:var(--sans);font-weight:700;font-size:64px;line-height:.9;color:var(--wash-2);letter-spacing:-.04em}
.steps h3{font-family:var(--sans);font-weight:700;font-size:24px;color:var(--delft);margin:0 0 8px;letter-spacing:-.01em}
.steps p{margin:0;max-width:62ch}
.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.rules div{padding:22px 0;border-top:1px solid var(--line)}
.rules h3{font-family:var(--sans);font-weight:600;font-size:18px;color:var(--delft);margin:0 0 6px}
.rules p{margin:0;font-size:16.5px;color:var(--ink)}
.voice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.voice div{padding:24px 26px;background:var(--wash)}
.voice div.not{background:transparent;border:1.5px solid var(--wash-2)}
.voice h3{font-family:var(--sans);font-weight:700;font-size:16px;color:var(--delft);margin:0 0 12px}
.voice ul{margin:0;padding-left:18px;font-size:16.5px}
.voice li{margin-bottom:8px}

/* ---------- story ---------- */
.story{display:grid;grid-template-columns:220px minmax(0,680px);gap:48px}
.story-rail{position:sticky;top:110px;align-self:start;font-family:var(--sans)}
.story-rail ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.story-rail a{display:block;padding:8px 0 8px 14px;margin-left:-2px;border-left:2px solid transparent;font-size:14px;color:var(--grey);text-decoration:none}
.story-rail a:hover{color:var(--delft)}
.story-rail a.on{color:var(--delft);font-weight:600;border-color:var(--copper-text)}
.chapter{padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.chapter:last-child{border-bottom:0}
.chapter .when{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);margin:0 0 8px}
.chapter h2{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3vw,36px);line-height:1.12;letter-spacing:-.02em;color:var(--delft);margin:0 0 18px}
.chapter p{margin:0 0 18px}
.chapter p.big{font-size:22px;line-height:1.5}
.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:24px;background:var(--white);border-top:6px solid var(--copper);box-shadow:0 1px 0 var(--line)}
.person .mono{width:72px;height:72px}
.person h3{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--delft);margin:0 0 4px}
.person p{margin:0 0 6px;font-size:16px}

/* ---------- keep reading ---------- */
.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.more-card{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--delft);text-decoration:none;transition:border-color .2s,transform .2s}
.more-card:hover{border-top-color:var(--copper-text);transform:translateY(-3px)}
.more-card .k{font-family:var(--sans);font-weight:600;font-size:13px;color:var(--copper-text)}
.more-card strong{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--delft);line-height:1.2}
.more-card span.d{font-size:16px;color:var(--grey);line-height:1.5}

/* ---------- about strip ---------- */
.fine{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--grey)}
.story-teaser{background:var(--delft-deep);color:#fff}
.story-teaser .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.story-teaser h2{font-family:var(--sans);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.02em;margin:0 0 22px}
.story-teaser p{margin:0 0 20px;color:var(--wash);font-size:19px}
.story-teaser .tag{color:var(--copper-lt)}
.story-teaser .text-link{color:var(--copper-lt)}
.timeline-mini{list-style:none;margin:0;padding:0;border-left:2px solid var(--delft-mid)}
.timeline-mini li{position:relative;padding:0 0 18px 22px;font-family:var(--sans);font-size:15px;color:var(--wash)}
.timeline-mini li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--delft-mid)}
.timeline-mini li:last-child::before{background:var(--copper)}
.timeline-mini b{display:block;color:#fff;font-weight:600}

/* ---------- footer ---------- */
footer{background:var(--delft-deep);color:var(--wash);font-family:var(--sans);font-size:14px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:36px}
.foot-top h2{font-weight:600;font-size:13px;color:var(--copper-lt);margin:0 0 14px}
.foot-top ul{list-style:none;margin:0;padding:0}
.foot-top li{margin-bottom:10px}
.foot-top a{color:#fff;text-decoration:none;border-bottom:1px solid transparent}
.foot-top a:hover{border-color:var(--copper-lt)}
.foot-top p{margin:12px 0 0;max-width:34ch;line-height:1.55;color:#AFC0D8;font-size:13.5px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:18px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#AFC0D8}

/* ---------- 404 ---------- */
.lost{min-height:50vh;display:flex;align-items:center}
.lost h1{font-family:var(--sans);font-weight:700;font-size:clamp(44px,7vw,88px);color:var(--delft);letter-spacing:-.03em;margin:0 0 14px;line-height:1}

/* =================== responsive =================== */
@media (max-width:1020px){
  .wall-zone{grid-template-columns:1fr}
  .slit{display:none}
  .stone .more{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--white)}
  .stone[aria-pressed="true"]{grid-column:1 / -1;grid-row:auto}
  .stone[aria-pressed="true"] .more{display:block}
  .stone .more .h{display:block;font-family:var(--sans);font-weight:600;font-size:16px;margin-bottom:6px}
  .stone .more .p{display:block}
  .stone .more .src{display:block;margin-top:10px;font-family:var(--sans);font-size:12.5px;color:var(--wash)}
  .stone .more .pg{display:block;margin-top:8px;font-family:var(--sans);font-weight:600;font-size:13px;color:var(--copper-lt)}
  .s-xl[aria-pressed="true"]::after{display:none}
  .overview{grid-template-columns:1fr}
  .facts{position:static}
  .story{grid-template-columns:1fr}
  .story-rail{display:none}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:901px) and (max-width:1180px){
  .mast .wrap{gap:16px}
  .menu a{padding:0 9px;white-space:nowrap}
}
@media (max-width:900px){
  .menu-btn{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:72px;height:auto;flex-direction:column;align-items:stretch;gap:0;background:var(--delft);padding:8px var(--gutter) 20px;box-shadow:0 20px 30px -20px rgba(0,0,0,.5)}
  .menu.open{display:flex}
  .menu a{height:auto;padding:14px 0;border-top:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu a[aria-current="page"]{border-bottom-color:rgba(255,255,255,.08);color:var(--copper-lt)}
  .mast-cta{display:none}
  .menu .mast-cta-m{display:flex}
}
@media (min-width:901px){.menu .mast-cta-m{display:none}}
@media (max-width:860px){
  body{font-size:17px}
  .hero .wrap,.page-head.split .wrap{grid-template-columns:1fr}
  .beam{width:100%}
  .cover{justify-self:start;width:min(70%,280px);transform:none}
  .sec-head{grid-template-columns:1fr}
  .gates{grid-template-columns:1fr}
  .gate{min-height:200px}
  .wall{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(118px,auto)}
  .c6r2{grid-column:span 6;grid-row:span 1;min-height:200px}.c3,.c4{grid-column:span 3}.c5r2{grid-column:span 6;grid-row:span 1;min-height:170px}
  .wall.filtered .stone{grid-column:span 3}
  .desk li{grid-template-columns:1fr auto;gap:6px 16px}
  .desk li > div{grid-column:1 / -1;grid-row:2}
  .brief-row,.next-up{grid-template-columns:96px minmax(0,1fr)}
  .brief-row img,.next-up .slot{width:96px}
  .brief-row .links{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:18px}
  .figs,.rules,.voice,.more-grid,.story-teaser .wrap{grid-template-columns:1fr}
  .steps li{grid-template-columns:56px minmax(0,1fr);gap:16px}
  .steps li::before{font-size:44px}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .brand-name .b1{font-size:13.5px}
  .brand-name .b2{font-size:8.5px;letter-spacing:.3em}
  .brand{gap:9px}
  .brand svg{width:28px;height:28px}
  .stone{padding:14px}
  .stone .theme{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shuffle{margin-left:0}
  .person{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cover,.cover:hover,.more-card,.brief-row img{transition:none;transform:none}
  .stone,.gate{transition:none}
}

/* ---------- about: masthead, profile, contact ---------- */
.h2{font-family:var(--sans);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.04;letter-spacing:-.02em;color:var(--delft);margin:0 0 28px}
.team{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:start}
.roster{margin:0;border-top:2px solid var(--delft)}
.roster div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.roster dt{font-family:var(--sans);font-weight:500;font-size:15px;color:var(--grey)}
.roster dd{margin:0;font-family:var(--sans);font-weight:600;font-size:16px;color:var(--delft)}
.roster div:last-child dd{color:var(--copper-text)}
.roster.kit div:last-child dd{color:var(--delft)}
.profile{background:var(--white);border-top:6px solid var(--copper);padding:30px;box-shadow:0 1px 0 var(--line)}
.profile .mono{width:64px;height:64px;display:block;margin-bottom:18px}
.profile h3{font-family:var(--sans);font-weight:700;font-size:26px;color:var(--delft);margin:0;letter-spacing:-.01em}
.profile .role{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);margin:4px 0 16px}
.profile p{font-size:16.5px;margin:0 0 16px}
.person-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contact{display:flex;flex-direction:column;gap:10px;padding:26px;background:var(--wash);color:var(--delft);text-decoration:none;transition:background .2s,color .2s;min-width:0}
.contact .k{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text)}
.contact strong{font-family:var(--sans);font-weight:700;font-size:clamp(16px,1.3vw,19px);line-height:1.25;overflow-wrap:anywhere}
.contact .go{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--copper-text);border-bottom:1.5px solid currentColor;align-self:flex-start;margin-top:8px}
.contact:hover{background:var(--delft);color:#fff}
.contact:hover .k,.contact:hover .go{color:var(--copper-lt)}
.reasons{margin-top:40px;max-width:700px}
.reasons h3{font-family:var(--sans);font-weight:600;font-size:18px;color:var(--delft);margin:0 0 12px}
.reasons ul{list-style:none;margin:0;padding:0}
.reasons li{position:relative;padding:0 0 12px 24px;font-size:16.5px}
.reasons li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;background:var(--copper)}
.reasons b{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--delft)}

/* ---------- cite and share ---------- */
.cite,.share{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--sans)}
.cite h2,.share h2{font-weight:600;font-size:14px;color:var(--copper-text);margin:0 0 10px}
.cite p{font-family:var(--serif);font-size:14.5px;line-height:1.55;color:var(--ink);margin:0 0 12px;padding:12px 14px;background:var(--white);border-left:3px solid var(--wash-2)}
.share p{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0}
.share a{font-weight:600;font-size:14px;color:var(--copper-text);text-decoration:none;border-bottom:1.5px solid currentColor}
.copy{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--delft);background:transparent;border:1.5px solid var(--wash-2);padding:8px 14px;cursor:pointer}
.copy:hover{border-color:var(--delft-mid)}
.copy.done{background:var(--delft);border-color:var(--delft);color:#fff}

@media (max-width:860px){
  .team,.contact-grid{grid-template-columns:1fr}
  .roster div{grid-template-columns:1fr;gap:2px}
}
.facts .cite,.facts .share{display:block;padding:18px 0 0;border-bottom:0;color:var(--ink)}
.contact strong.addr{font-size:clamp(15px,1.15vw,17px)}
