/* Layout: Route B, The Documentary. Photography-led founder site on a strict 12-column grid; mono archive codes in [ BRACKETS ]; one red accent from the wordmark's full stop. Dark-first with a full light theme. */
:root{
  --paper:#0E0E0D;
  --paper-2:#1A1918;
  --ink:#EDEBE7;
  --mute:#9A958D;
  --line:#33302C;
  --soft:#CFCBC4;
  --near:#5E5A55;
  --band:#161514;
  --band-mute:#BDB7AF;
  --band-code:#A9A39B;
  --band-line:#5A5550;
  --hot:var(--dot);
  --logo-filter:invert(1);
  color-scheme:dark;
  --red:#007F70;
  --dot:#2BF0D0;
  --display:"DM Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --read:"DM Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --italic:"DM Serif Display", Georgia, "Times New Roman", serif;
  --code:"DM Mono", ui-monospace, Menlo, Consolas, monospace;
  --mark:"Bricolage Grotesque", "Helvetica Neue", Arial, system-ui, sans-serif;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--paper:#F6F5F2;--paper-2:#ECEAE6;--ink:#121110;--mute:#67615A;--line:#D8D4CC;--soft:#3C3934;--near:#B3AB9F;--band:#ECEAE6;--band-mute:#5A554F;--band-code:#67615A;--band-line:#CFC9C0;--hot:#007F70;--logo-filter:none;color-scheme:light}}
:root[data-theme="light"]{--paper:#F6F5F2;--paper-2:#ECEAE6;--ink:#121110;--mute:#67615A;--line:#D8D4CC;--soft:#3C3934;--near:#B3AB9F;--band:#ECEAE6;--band-mute:#5A554F;--band-code:#67615A;--band-line:#CFC9C0;--hot:#007F70;--logo-filter:none;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--read);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
.pad{padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
.wrap{max-width:1320px;margin:0 auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:800;text-wrap:balance}
.code{font-family:var(--code);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.code.red{color:var(--ink)}
.dot{color:var(--dot)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.risk{grid-column:1 / -1;font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding-top:16px;max-width:90ch}
.caps{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.035em;line-height:.88}
.arrow{font-family:var(--code);font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px;display:inline-block;align-self:flex-start}
.arrow:hover{color:var(--mute);border-color:var(--mute)}
.cap{font-style:italic;font-size:15px;color:var(--mute);margin-top:8px}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);border-bottom:1px solid var(--ink)}
header .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-block:14px}
.wordmark{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.055em;line-height:1;text-decoration:none;white-space:nowrap}
header nav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
header nav a{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--mute)}
header nav a:hover{color:var(--ink)}
.join{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap}
.join:hover{color:var(--mute);border-color:var(--mute)}
@media (max-width:900px){header nav{display:none}header .wrap{grid-template-columns:1fr auto}}

/* hero */
.meta-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px 0}
.hero h1{font-size:clamp(64px,13.5vw,212px);margin-top:28px}
.hero h1 .thin{font-style:italic;color:var(--mute)}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:56px 112px;align-items:end}
.hero-grid .intro{grid-column:1 / span 6;display:grid;gap:20px;font-size:22px;line-height:1.5}
.hero-grid .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tag{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--ink);padding:5px 9px}
.hero-grid figure{grid-column:8 / span 5;margin:0}
.hero-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:36px;padding-block:32px 64px}.hero-grid .intro,.hero-grid figure{grid-column:auto}.hero-grid .intro{font-size:20px}}

/* chapter scaffold */
.chapter{border-top:1px solid var(--ink);padding-block:28px 128px}
.ch-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:56px}
.ch-title{font-size:clamp(52px,9vw,140px)}
.lede{font-size:24px;line-height:1.45;max-width:30ch;margin-block:28px 72px}
@media (max-width:760px){.chapter{padding-block:24px 80px}.ch-head{margin-bottom:36px}.lede{font-size:21px;margin-block:20px 48px}}

/* BUILD: projects */
.project{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:48px;border-top:1px solid var(--line)}
.project .txt{grid-column:1 / span 5;display:flex;flex-direction:column;gap:16px}
.project .vis{grid-column:7 / span 6;margin:0}
.project h3{font-family:var(--display);font-size:clamp(30px,3.4vw,44px);line-height:1.02;letter-spacing:-.03em}
.project h3 span{font-weight:500;color:var(--mute)}
.project .vis img.photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.logo-plate{background:var(--paper-2);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:12%}
.logo-plate img{width:58%;height:auto;display:block}
.logo-plate .wm{font-family:var(--display);font-weight:800;font-size:clamp(40px,6vw,88px);letter-spacing:-.055em;line-height:1}
@media (max-width:860px){.project{grid-template-columns:1fr}.project .txt,.project .vis{grid-column:auto}}

/* BELIEVE: manifesto */
.beliefs{list-style:none;margin:0;padding:0;counter-reset:b}
.beliefs li{counter-increment:b;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:28px;border-top:1px solid var(--line);align-items:baseline}
.beliefs li::before{content:"B-0" counter(b);grid-column:1 / span 2;font-family:var(--code);font-size:12px;color:var(--red)}
.beliefs h3{grid-column:3 / span 5;font-family:var(--display);font-size:clamp(24px,2.6vw,34px);line-height:1.08;letter-spacing:-.025em}
.beliefs p{grid-column:9 / span 4;color:var(--mute)}
@media (max-width:760px){.beliefs li{grid-template-columns:1fr;gap:8px}.beliefs li::before,.beliefs h3,.beliefs p{grid-column:auto}}

/* RUN + MATCHDAY */
.passion{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.passion .big{grid-column:1 / span 7;font-size:clamp(56px,10vw,150px)}
.passion .side{grid-column:9 / span 4;display:grid;gap:18px}
.passion .side .muted{color:var(--mute)}
.notes{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:72px}
.notes article{border-top:1px solid var(--ink);padding-top:14px;display:grid;gap:8px;align-content:start}
.notes h4{font-family:var(--display);font-size:22px;letter-spacing:-.02em;line-height:1.15}
.notes p{color:var(--mute);font-size:17px}
.match{background:var(--band);color:var(--ink)}
.match .chapter{border-top-color:var(--paper)}
.match .code{color:var(--band-code)}
.match .code.red,.match .gun{color:var(--hot)}
.match .passion .side .muted,.match .notes p{color:var(--band-mute)}
.match .notes article{border-top-color:var(--band-line)}
@media (max-width:860px){.passion .big,.passion .side{grid-column:1 / -1}.notes{grid-template-columns:1fr;margin-top:40px}}

/* ARCHIVE index */
.archive{border-top:1px solid var(--ink)}
.arow{display:grid;grid-template-columns:90px 70px minmax(0,1fr) minmax(0,220px) 90px;gap:20px;padding-block:16px;border-bottom:1px solid var(--line);align-items:center}
.arow .t{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.2}
.arow .d{font-family:var(--code);font-size:12px;text-transform:uppercase;color:var(--mute)}
.arow .th{width:90px;aspect-ratio:1/1;background:var(--paper-2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.arow .th img{width:100%;height:100%;object-fit:cover;display:block}
.arow .th img.contain{object-fit:contain;padding:12px}
.arow .th svg{width:56%;fill:none;stroke:#ADA597;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.arow .th .wmth{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.06em}
@media (max-width:760px){.arow{grid-template-columns:64px minmax(0,1fr);gap:4px 14px;align-items:start}.arow .th{grid-row:1 / span 4;grid-column:1;width:64px}.arow > :not(.th){grid-column:2}}

/* NOTEBOOK */
.essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.essay{display:grid;gap:12px;align-content:start}
.essay .ph{aspect-ratio:4/3;background:var(--paper-2);display:flex;align-items:center;justify-content:center}
.essay .ph svg{width:34%;fill:none;stroke:#ADA597;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
img{max-width:100%}
.essay img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.essay h4{font-family:var(--display);font-size:26px;letter-spacing:-.025em;line-height:1.1}
.essay p{color:var(--mute);font-size:17px}
.newsletter{margin-top:80px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;border:1px solid var(--ink);padding:40px}
.newsletter .l{grid-column:1 / span 6;display:grid;gap:12px}
.newsletter h3{font-family:var(--display);font-size:clamp(34px,4vw,52px);letter-spacing:-.035em;line-height:1}
.newsletter form{grid-column:8 / span 5;display:grid;gap:12px}
.newsletter label{font-family:var(--code);font-size:12px;text-transform:uppercase;color:var(--mute)}
.newsletter .inrow{display:flex}
.newsletter input{flex:1;min-width:0;font:inherit;font-size:17px;border:1px solid var(--ink);border-right:0;padding:12px 14px;background:var(--paper);color:var(--ink);border-radius:0}
.newsletter button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:0 18px;min-height:48px;cursor:pointer}
.newsletter button:hover{background:var(--red);border-color:var(--red)}
.status{font-size:15px;color:var(--mute);min-height:1.4em}
@media (max-width:860px){.essays{grid-template-columns:1fr}.newsletter{grid-template-columns:minmax(0,1fr);padding:24px}.newsletter > *{min-width:0}.newsletter form{grid-template-columns:minmax(0,1fr)}.newsletter form > *{min-width:0}.newsletter input{width:100%}.newsletter .l,.newsletter form{grid-column:auto}}

/* PATCH */
.patch{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.patch .area{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.6vw,64px);letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}
.patch .near{color:var(--near)}
.patch sup{font-family:var(--code);font-size:12px;font-weight:400;letter-spacing:0;vertical-align:top;margin-left:4px;color:var(--red)}
.patch-legend{margin-top:28px;display:flex;gap:24px;flex-wrap:wrap}

/* CONTACT */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.contact .big{grid-column:1 / span 7;font-size:clamp(56px,10vw,150px)}
.contact .det{grid-column:9 / span 4;display:grid;align-content:end}
.det .row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;padding-block:14px;border-top:1px solid var(--line)}
.det .v{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;user-select:all;word-break:break-word}
.copy{font-family:var(--code);font-size:11px;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--mute);padding:6px 10px;min-height:32px;cursor:pointer}
.copy:hover{border-color:var(--ink);color:var(--ink)}
@media (max-width:860px){.contact .big,.contact .det{grid-column:1 / -1}}

/* interactive layer */
header{position:sticky}
.bar{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--dot);transition:width .1s linear}
.marquee{overflow:hidden;border-block:1px solid var(--ink);background:var(--ink);color:var(--paper);padding-block:18px}
.track{display:flex;width:max-content;animation:slide 38s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.track span{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(40px,6vw,84px);line-height:1;padding-right:.5em;white-space:nowrap}
.track .o{color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.track .r{color:var(--dot)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.track{animation:none}}
.swap{position:relative;display:block}
.swap img{transition:opacity .5s ease}
.swap img + img{position:absolute;inset:0;opacity:0}
.swap:hover img + img,.swap:focus-within img + img{opacity:1}
.swap .hint{position:absolute;top:12px;left:12px;background:var(--paper);padding:4px 8px}
.beliefs li h3,.beliefs li::before{transition:color .2s,transform .2s}
.beliefs li:hover h3{color:var(--mute)}
.essay .ph svg{transition:transform .4s ease}

.essay h4{transition:color .2s}
.essay:hover h4{color:var(--mute)}
.project .vis img.photo,.logo-plate{transition:transform .5s ease}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.filters button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:8px 12px;min-height:40px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.arow{transition:background .2s,padding .2s}
.arow:hover{background:var(--paper-2);padding-inline:12px}
.arow:hover .t{color:var(--red)}
.peek{display:none!important;position:fixed;z-index:20;width:220px;aspect-ratio:4/5;pointer-events:none;opacity:0;transform:translate(-50%,-110%) rotate(-3deg);transition:opacity .2s;box-shadow:0 20px 40px rgba(18,17,16,.25);background:var(--paper-2)}
.peek img{width:100%;height:100%;object-fit:cover;display:block}
.peek.on{opacity:1}
@media (hover:none){.peek{display:none}}
.score{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.board{border:1px solid #5A5550;padding:20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;transition:transform .25s ease,border-color .25s}
.board:hover{transform:translateY(-6px);border-color:var(--dot)}
.board .team{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#BDB7AF}
.board .team:last-child{text-align:right}
.board .sc{font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--paper);font-variant-numeric:tabular-nums}
.board .sc b{color:var(--dot);font-weight:800}
@media (max-width:860px){.score{grid-template-columns:1fr}}
.patch button.area{background:none;border:0;padding:0;font:inherit;font-family:var(--display);font-weight:800;font-size:clamp(30px,4.6vw,64px);letter-spacing:-.04em;line-height:1.05;text-transform:uppercase;cursor:pointer;color:var(--ink);transition:color .2s}
.patch button.area.near{color:var(--near)}
.patch button.area:hover,.patch button.area[aria-pressed="true"]{color:var(--red)}
.panel{margin-top:36px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--ink);padding-top:18px}
.panel .code{grid-column:1 / span 3}
.panel p{grid-column:4 / span 6;font-size:22px;line-height:1.45}
@media (max-width:760px){.panel{grid-template-columns:1fr}.panel .code,.panel p{grid-column:auto}}

/* MARKET */
.mtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.mtabs button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:10px 14px;min-height:44px;cursor:pointer}
.mtabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.mgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.mhead{grid-column:1 / span 4;display:grid;gap:10px}
.mbig{font-family:var(--display);font-weight:800;font-size:clamp(56px,8vw,112px);letter-spacing:-.045em;line-height:.9;font-variant-numeric:tabular-nums}
.mhead .note{color:var(--mute);font-size:17px}
.bars{grid-column:6 / span 7;display:grid;gap:14px}
.brow{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:14px;align-items:center}
.brow .k{font-family:var(--code);font-size:12px;text-transform:uppercase;color:var(--mute)}
.brow .track2{height:28px;background:var(--paper-2);position:relative}
.brow .fill{position:absolute;inset:0 auto 0 0;background:var(--ink);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.brow:first-child .fill{background:var(--ink)}
.brow .v{font-family:var(--display);font-weight:700;font-size:19px;text-align:right;font-variant-numeric:tabular-nums}
.scale{display:flex;justify-content:space-between;padding-left:124px;padding-right:124px}
.mfacts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.mfacts div{border-top:1px solid var(--ink);padding-top:12px;display:grid;gap:6px}
.mfacts b{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.mfacts .soon b{color:#B3AB9F}
.msrc{grid-column:1 / -1;margin-top:28px;color:var(--mute);font-size:15px;max-width:80ch}
@media (max-width:860px){.mhead,.bars{grid-column:1 / -1}.mfacts{grid-template-columns:1fr}.brow{grid-template-columns:84px minmax(0,1fr) 92px;gap:10px}.scale{padding-left:94px;padding-right:102px}}

/* running photos */
.runpics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:72px;align-items:end}
.runpics figure{margin:0}
.runpics .a{grid-column:1 / span 7}
.runpics .b{grid-column:9 / span 4}
.runpics img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.runpics .a img{object-position:50% 60%}
@media (max-width:760px){.runpics{grid-template-columns:1fr;margin-top:48px}.runpics .a,.runpics .b{grid-column:auto}}

/* race file */
.race{grid-column:1 / -1;margin-top:96px;border-top:1px solid var(--ink);padding-top:24px}
.race-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.race-head .l{grid-column:1 / span 7;display:grid;gap:14px}
.race-head h3{font-size:clamp(40px,6.4vw,96px)}
.race-head p{grid-column:9 / span 4;font-size:20px;line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:48px}
.stats div{border-top:1px solid var(--ink);padding-top:12px;display:grid;gap:4px}
.stats b{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.4vw,60px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.race .wide{margin:48px 0 0}
.race .wide img{display:block;width:100%;height:clamp(280px,52vw,780px);object-fit:cover;object-position:60% 50%}
.race .pair{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:24px;align-items:start}
.race .pair figure{margin:0}
.race .pair .a{grid-column:1 / span 6}
.race .pair .b{grid-column:8 / span 5;margin-top:120px}
.race .pair img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
.dawn{grid-column:1 / -1;margin:96px 0 0;position:relative}
.dawn video{display:block;width:100%;height:clamp(240px,46vw,680px);object-fit:cover;object-position:50% 55%;background:var(--soft);filter:grayscale(1) contrast(1.06)}
.trio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:72px;align-items:start}
.trio figure{margin:0}
.trio .a{grid-column:1 / span 5}
.trio .b{grid-column:7 / span 3;margin-top:96px}
.trio .c{grid-column:10 / span 3;margin-top:200px}
.trio img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.trio .b img{object-position:50% 50%}
.trio .c img{aspect-ratio:auto}
@media (max-width:860px){.trio{grid-template-columns:1fr 1fr}.trio .a{grid-column:1 / -1}.trio .b,.trio .c{grid-column:auto;margin-top:0}}
@media (max-width:860px){.race-head .l,.race-head p{grid-column:1 / -1}.stats{grid-template-columns:1fr 1fr}.race .pair{grid-template-columns:1fr}.race .pair .a,.race .pair .b{grid-column:auto;margin-top:0}}

/* giving */
.giving{grid-column:1 / -1;margin-top:96px;border-top:1px solid var(--ink);padding-top:24px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.giving .l{grid-column:1 / span 5;display:grid;gap:14px;align-content:start}
.giving h3{font-size:clamp(40px,6vw,88px)}
.giving .l p{font-size:20px;line-height:1.5}
.giving ol{grid-column:7 / span 6;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.giving li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding-block:22px;border-bottom:1px solid var(--line)}
.giving li h4{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);letter-spacing:-.025em;line-height:1.1}
.giving li p{color:var(--mute);font-size:17px;margin-top:6px}
@media (max-width:860px){.giving .l,.giving ol{grid-column:1 / -1}.giving li{grid-template-columns:1fr;gap:4px}}

/* lume plate */
.lume-plate{background:#0B0B0C;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;gap:18px}
.lume-plate .beacon{width:34px;height:34px;border-radius:999px;background:#2BF0D0;box-shadow:0 0 0 14px rgba(43,240,208,.16),0 0 0 30px rgba(43,240,208,.07)}
.lume-plate .lw{font-family:"Archivo","Arial Black",system-ui,sans-serif;font-stretch:125%;font-weight:800;font-size:clamp(48px,6.4vw,92px);letter-spacing:-.02em;line-height:1;color:#F2F2F0}
.lume-plate .tag{position:absolute;bottom:16px;right:18px;font-family:var(--code);font-size:12px;color:#5AF5DC;text-transform:uppercase;letter-spacing:.06em}
.lume-plate{position:relative}

/* pace theory */
.pt{grid-column:1 / -1;margin-top:96px;border-top:1px solid var(--ink);padding-top:24px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.pt .l{grid-column:1 / span 7;display:grid;gap:14px;align-content:start}
.pt h3{font-size:clamp(52px,9vw,136px)}
.pt .r{grid-column:9 / span 4;display:grid;gap:18px;align-content:start}
.pt .r > p{font-size:20px;line-height:1.5}
.pt dl{margin:0;display:grid;border-top:1px solid var(--line)}
.pt dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding-block:10px;border-bottom:1px solid var(--line)}
.pt dt{font-family:var(--code);font-size:12px;text-transform:uppercase;color:var(--mute);padding-top:3px}
.pt dd{margin:0}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;background:var(--ink);color:var(--paper);text-decoration:none;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;align-self:start;justify-self:start}
.cta:hover{background:var(--soft)}
@media (max-width:860px){.pt .l,.pt .r{grid-column:1 / -1}}

/* ask on whatsapp */
.ask{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.ask .l{grid-column:1 / span 5;display:grid;gap:20px}
.ask .big{font-size:clamp(56px,10vw,150px)}
.ask .l p{font-size:21px;line-height:1.5;max-width:30ch}
.ask form{grid-column:7 / span 6;display:grid;gap:22px;border:1px solid var(--ink);padding:32px}
.ask fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.ask legend,.ask label > span{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);padding:0;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{border:1px solid var(--line);padding:9px 14px;min-height:42px;display:inline-flex;align-items:center;cursor:pointer;font-size:16px}
.chips input:checked + label{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips input:focus-visible + label{outline:2px solid var(--red);outline-offset:2px}
.ask label{display:grid}
.ask input[type=text],.ask textarea{font:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
.ask textarea{min-height:110px;resize:vertical}
.ask input[type=text]:focus,.ask textarea:focus{outline:none;border-bottom-color:var(--mute)}
.ask .row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ask .foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.ask .fine{font-size:14px;color:var(--mute);max-width:52ch}
@media (max-width:860px){.ask .l,.ask form{grid-column:1 / -1}.ask form{padding:20px}.ask .row2{grid-template-columns:1fr}}

/* launch countdown */
.count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:440px}
.count div{border-top:1px solid var(--ink);padding-top:8px;display:grid;gap:2px}
.count b{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.count span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.count-label{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}

/* buying agent */
.buy-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:64px}
.buy-top .ch-title{grid-column:1 / span 7}
.buy-top .r{grid-column:9 / span 4;display:grid;gap:18px}
.buy-top .r p{font-size:20px;line-height:1.5}
.steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.steps li{counter-increment:st;border-top:1px solid var(--ink);padding-top:14px;display:grid;gap:8px;align-content:start}
.steps li::before{content:"0" counter(st);font-family:var(--code);font-size:12px;color:var(--mute)}
.steps h3{font-family:var(--display);font-size:24px;letter-spacing:-.02em;line-height:1.1}
.steps p{color:var(--mute);font-size:16.5px}
.buy-meta{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:64px}
.buy-meta .why{grid-column:1 / span 6;display:grid;gap:10px}
.buy-meta .why ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.buy-meta .why li{padding-block:10px;border-bottom:1px solid var(--line)}
.buy-meta .note{grid-column:8 / span 5;font-size:15px;color:var(--mute);border-left:2px solid var(--ink);padding-left:16px;align-self:start}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.buy-top .ch-title,.buy-top .r,.buy-meta .why,.buy-meta .note{grid-column:1 / -1}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* origin + photography */
.story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.story-grid .ch-title{grid-column:1 / span 5}
.story{grid-column:7 / span 6;display:grid;gap:22px;font-size:23px;line-height:1.55}
.story p:first-child::first-letter{font-family:var(--display);font-weight:700;float:left;font-size:3.4em;line-height:.8;padding:6px 10px 0 0}
.plate{margin:80px 0 0}
.plate img{display:block;width:100%;height:clamp(320px,56vw,820px);object-fit:cover;object-position:50% 28%}
main img:not(.contain):not([src*="logo"]){filter:grayscale(1) contrast(1.06)}
@media (max-width:860px){.story-grid .ch-title,.story{grid-column:1 / -1}.story{font-size:20px}.plate{margin-top:48px}}

footer{border-top:1px solid var(--ink)}
footer .wrap{padding-block:32px 40px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
footer .sign{grid-column:1 / span 6;font-style:italic;font-size:22px}
footer .biz{grid-column:7 / span 3;display:flex;align-items:center;gap:24px}
footer .biz img{display:block}
footer .legal{grid-column:10 / span 3;text-align:right}
@media (max-width:860px){footer .sign,footer .biz,footer .legal{grid-column:1 / -1;text-align:left}}

/* Route B: The Documentary. Near-black ground, DM Sans (Colophon, London) in light and medium weights, DM Serif Display italic for captions and asides, DM Mono for frame numbers and labels. Photography leads; wordmark keeps its own face. */
*{font-synthesis:none}
h1,h2,h3,h4{font-weight:500}
.caps{font-weight:500;text-transform:none;letter-spacing:-.045em;line-height:.9}
.project h3,.beliefs h3,.notes h4,.essay h4,.steps h3,.giving li h4,.newsletter h3,.race-head h3,.pt h3,.giving h3{font-weight:500;letter-spacing:-.03em}
.project h3 span{font-weight:300}
.stats b,.count b,.mbig,.mfacts b,.det .v,.arow .t,.brow .v{font-weight:400;letter-spacing:-.04em}
.patch button.area{font-weight:500;letter-spacing:-.04em;text-transform:none}
body{font-size:18px;line-height:1.65;font-weight:300}
.lede,.story,.passion .side p,.race-head p,.giving .l p,.pt .r > p,.buy-top .r p,.ask .l p{font-weight:300}
.story{font-size:24px;line-height:1.5}
.cap,.essay p em,i{font-family:var(--italic);font-style:italic;font-weight:400}
.cap{font-size:17px;color:var(--soft)}
.wordmark,.logo-plate .wm,.wmth{font-family:var(--mark)!important;font-weight:800}
.code,.arrow,.cta,.join,header nav a,.tag,.filters button,.mtabs button,.copy{letter-spacing:.04em}
img[src*="logo"]{filter:var(--logo-filter)!important}
/* header extras */
.hd-r{display:flex;align-items:center;gap:16px}
.clock{white-space:nowrap}
.mode{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:none;border:1px solid var(--line);color:var(--ink);padding:6px 10px;min-height:32px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.mode:hover{border-color:var(--ink)}
.mode i{width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:inset -4px 0 0 var(--paper);font-style:normal}
@media (max-width:900px){.clock{display:none}}
/* breathing layer */
html.theming,html.theming *{transition:background-color .5s ease,color .5s ease,border-color .5s ease!important}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:vt-reveal .75s cubic-bezier(.2,.7,.2,1)}
@keyframes vt-reveal{from{clip-path:circle(0 at var(--vx,90%) var(--vy,3%))}to{clip-path:circle(160% at var(--vx,90%) var(--vy,3%))}}
.frame{overflow:hidden}
.sheet img,.runpics img,.race .pair img,.trio img,.plate img,.project .vis img.photo{transition:filter .8s ease,transform .8s ease}
.sheet figure:hover img,.runpics figure:hover img,.race .pair figure:hover img,.trio figure:hover img{filter:none!important;transform:scale(1.02)}
@media (prefers-reduced-motion: no-preference){
  .frame img{animation:breathe 26s ease-in-out infinite alternate;transform-origin:60% 50%}
  @keyframes breathe{from{transform:scale(1)}to{transform:scale(1.07)}}
  .rv{transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
  .rv.pre{opacity:.5;transform:translateY(32px)}
  .lume-plate .beacon{animation:pulse 1.8s ease-out infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(43,240,208,.45),0 0 0 0 rgba(43,240,208,.18)}100%{box-shadow:0 0 0 22px rgba(43,240,208,0),0 0 0 44px rgba(43,240,208,0)}}
  .dot{display:inline-block;animation:dotbreath 4s ease-in-out infinite}
  @keyframes dotbreath{50%{opacity:.55}}
}
/* miles on the patch */
.miles{grid-column:1 / -1;margin-top:96px;border-top:1px solid var(--ink);padding-top:24px}
.miles-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.miles-head .l{grid-column:1 / span 7;display:grid;gap:14px}
.miles-head h3{font-size:clamp(44px,6.4vw,96px)}
.miles-head p{grid-column:9 / span 4;font-size:20px;line-height:1.5;font-weight:300}
.mstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:48px}
.mstats div{border-top:1px solid var(--ink);padding-top:12px;display:grid;gap:4px}
.mstats b{font-weight:400;font-size:clamp(34px,4.4vw,60px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.mtable-wrap{overflow-x:auto;margin-top:40px}
.mtable{width:100%;border-collapse:collapse;min-width:560px;font-variant-numeric:tabular-nums}
.mtable th{font-family:var(--code);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);text-align:right;padding:10px 12px;border-bottom:1px solid var(--ink)}
.mtable th:first-child,.mtable td:first-child{text-align:left;padding-left:0}
.mtable td{text-align:right;padding:14px 12px;border-bottom:1px solid var(--line);font-size:19px}
.mtable td:first-child{font-size:20px}
.mtable td:first-child span{font-family:var(--code);font-size:11px;color:var(--mute);margin-left:8px}
.msync{margin-top:16px}
@media (max-width:860px){.miles-head .l,.miles-head p{grid-column:1 / -1}.mstats{grid-template-columns:1fr 1fr}}
header{border-bottom-color:var(--line)}
.chapter{border-top-color:var(--line)}
/* documentary hero */
.frame{margin:0}
.frame img{display:block;width:100%;height:clamp(320px,60vw,860px);object-fit:cover;object-position:60% 50%}
.frame figcaption .wrap{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-top:12px}
.name-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;padding-block:72px 96px}
.name-row h1{grid-column:1 / span 8;font-size:clamp(64px,11.5vw,168px);line-height:.9;letter-spacing:-.045em}
.name-row p{grid-column:9 / span 4;font-size:22px;line-height:1.45;color:var(--soft)}
.sheet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sheet figure{margin:0}
.sheet .no{font-family:var(--code);font-size:11px;color:var(--dot);margin-bottom:8px}
.sheet img{display:block;width:100%;height:clamp(220px,30vw,440px);object-fit:cover}
.intro-b{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:112px 120px}
.intro-b .code{grid-column:1 / span 3}
.intro-b .t{grid-column:4 / span 8;display:grid;gap:22px;font-size:clamp(24px,2.7vw,36px);line-height:1.32;letter-spacing:-.01em;font-weight:300}
@media (max-width:860px){.name-row,.intro-b{grid-template-columns:1fr;padding-block:48px 64px}.name-row h1,.name-row p,.intro-b .code,.intro-b .t{grid-column:auto}.sheet{grid-template-columns:1fr 1fr}}

/* run sound toggle */
.snd{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:none;border:1px solid var(--line);color:var(--ink);padding:6px 10px;min-height:32px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.snd:hover{border-color:var(--ink)}
.snd .eq{display:inline-flex;align-items:flex-end;gap:2px;height:10px}
.snd .eq b{width:2px;height:3px;background:var(--ink);display:block}
.snd[aria-pressed="true"] .eq b{background:var(--dot)}
@media (prefers-reduced-motion: no-preference){.snd[aria-pressed="true"] .eq b{animation:eq .7s ease-in-out infinite alternate}.snd[aria-pressed="true"] .eq b:nth-child(2){animation-delay:.2s}.snd[aria-pressed="true"] .eq b:nth-child(3){animation-delay:.4s}}
@keyframes eq{from{height:2px}to{height:10px}}
@media (max-width:560px){.snd .lbl{display:none}}

/* postcode checker + valuation */
.pc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:64px}
.pc form{grid-column:1 / span 7;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.pc > *,.pc form > *,.val > *,.val form > *{min-width:0}
.pc label{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.pc .row{display:flex;border-bottom:1px solid var(--ink)}
.pc input{flex:1;min-width:0;font:inherit;font-size:clamp(28px,4vw,48px);letter-spacing:-.03em;background:transparent;color:var(--ink);border:0;padding:8px 0;text-transform:uppercase;border-radius:0}
.pc input::placeholder{color:var(--near);text-transform:none}
.pc input:focus{outline:none}
.pc button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);border:0;padding:0 20px;min-height:48px;cursor:pointer;align-self:center}
.pc .out{grid-column:9 / span 4;font-size:18px;line-height:1.5;color:var(--soft);min-height:3em}
.pc .out b{color:var(--ink);font-weight:500}
.pc .out a{color:var(--ink)}
.val{grid-column:1 / -1;margin-top:72px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:32px}
.val .l{grid-column:1 / span 4;display:grid;gap:12px;align-content:start}
.val .l h3{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em}
.val .l p{color:var(--soft);font-weight:300}
.val form{grid-column:6 / span 7;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.val label{display:grid;gap:6px}
.val label span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.val input,.val select{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
.val select option{background:var(--paper);color:var(--ink)}
.val .full{grid-column:1 / -1}
@media (max-width:860px){.pc form,.pc .out,.val .l,.val form{grid-column:1 / -1}.val form{grid-template-columns:1fr}}
/* black book */
.bb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.bb .l{grid-column:1 / span 6;display:grid;gap:22px}
.bb .l p{font-size:21px;line-height:1.55;font-weight:300;color:var(--soft)}
.bb .feature{grid-column:8 / span 5;border:1px solid var(--ink);padding:32px;display:grid;gap:16px}
.bb .feature h3{font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:.95}
.bb .feature p{color:var(--soft);font-weight:300}
.roads{display:flex;flex-wrap:wrap;gap:8px}
.roads span{border:1px solid var(--line);padding:7px 12px;font-size:15px}
.also{grid-column:1 / -1;margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.also div{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:4px}
.also b{font-weight:500;font-size:22px;letter-spacing:-.02em}
.ask-road{grid-column:1 / -1;margin-top:56px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;border-top:1px solid var(--line);padding-top:32px}
.ask-road .t{grid-column:1 / span 4;font-size:24px;letter-spacing:-.02em}
.ask-road form{grid-column:6 / span 7;display:flex;gap:16px;flex-wrap:wrap;align-items:end}
.ask-road label{flex:1 1 200px;display:grid;gap:6px}
.ask-road label span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.ask-road input{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
@media (max-width:860px){.bb .l,.bb .feature,.ask-road .t,.ask-road form{grid-column:1 / -1}.also{grid-template-columns:1fr 1fr}}

.pt-logo{margin:8px 0 0}
.pt-logo img{display:block;width:100%;max-width:520px;height:auto}

/* start here */
.start{border-top:1px solid var(--line);padding-block:56px 120px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.start .l{grid-column:1 / span 5;display:grid;gap:14px}
.start h2{font-size:clamp(36px,4.6vw,64px);letter-spacing:-.04em;line-height:.95}
.start form{display:grid;gap:8px;margin-top:12px;grid-template-columns:minmax(0,1fr)}
.start form > *{min-width:0}
.start label{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.start .row{display:flex;border-bottom:1px solid var(--ink)}
.start input{flex:1;min-width:0;font:inherit;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.03em;text-transform:uppercase;background:transparent;color:var(--ink);border:0;padding:8px 0;border-radius:0}
.start input::placeholder{color:var(--near);text-transform:none}
.start input:focus{outline:none}
.start form button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);border:0;padding:0 18px;min-height:48px;cursor:pointer;align-self:center}
.paths{grid-column:7 / span 6;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
.paths a{display:grid;gap:6px;padding:20px 16px 20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.paths a:nth-child(odd){padding-right:24px;border-right:1px solid var(--line)}
.paths a:nth-child(even){padding-left:24px}
.paths b{font-weight:500;font-size:22px;letter-spacing:-.02em;line-height:1.15}
.paths span{font-size:15px;color:var(--mute);font-weight:300}
.paths a:hover b{color:var(--soft)}
.paths a:hover b::after{content:"  \2192"}
@media (max-width:860px){.start .l,.paths{grid-column:1 / -1}.paths{grid-template-columns:1fr}.paths a:nth-child(odd),.paths a:nth-child(even){padding:18px 0;border-right:0}}
/* quick-actions dock */
.dock{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;transform:translate(-50%,140%);opacity:0;display:flex;gap:2px;padding:5px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 12px 32px rgba(0,0,0,.28);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease;max-width:calc(100vw - 32px)}
.dock.on{transform:translate(-50%,0);opacity:1}
.dock a{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);text-decoration:none;padding:10px 12px;min-height:40px;display:inline-flex;align-items:center;white-space:nowrap}
.dock a:hover{background:var(--paper-2)}
.dock a.wa{background:var(--ink);color:var(--paper)}
@media (max-width:420px){.dock a{padding:10px 8px;font-size:10px}}
@media (prefers-reduced-motion: reduce){.dock{transition:opacity .2s ease}}

/* footer lume mark */
:root{--lume-signal:#2BF0D0}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--lume-signal:#00B39A}}
:root[data-theme="light"]{--lume-signal:#00B39A}
.lume-mini{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink)}
.lume-mini i{width:9px;height:9px;border-radius:50%;background:var(--lume-signal);box-shadow:0 0 0 4px color-mix(in srgb,var(--lume-signal) 22%,transparent)}
.lume-mini b{font-family:"Archivo","Arial Black",system-ui,sans-serif;font-stretch:125%;font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1}
footer .biz{flex-wrap:wrap}

/* 2026 type refinements: one italic accent word per headline, body at 17/1.55, optical sizing */
.ac{font-family:var(--italic);font-style:italic;font-weight:400;letter-spacing:-.01em}
h1,h2,h3,h4,.caps{font-optical-sizing:auto}
body{font-size:17px;line-height:1.55;font-weight:400}
.lede,.story,.intro-b .t,.name-row p,.passion .side p,.race-head p,.giving .l p,.pt .r > p,.buy-top .r p,.ask .l p,.bb .l p,.miles-head p{font-weight:300}

/* founder why + neighbours */
.why{margin:4px 0 6px;padding:0;border:0;display:grid;gap:8px}
.why p{font-size:clamp(20px,1.9vw,25px);line-height:1.45;font-weight:300;letter-spacing:-.01em;color:var(--ink)}
.nb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.nb .l{grid-column:1 / span 6;display:grid;gap:20px}
.nb .l p{font-size:21px;line-height:1.55;font-weight:300;color:var(--soft)}
.nb .l .quiet{font-size:17px;color:var(--mute)}
.nb .r{grid-column:8 / span 5;display:grid;gap:22px;border:1px solid var(--ink);padding:28px;grid-template-columns:minmax(0,1fr)}
.nb .r > *{min-width:0}
.nb fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.nb legend,.nb label > span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);padding:0;margin-bottom:8px}
.nb label{display:grid}
.nb textarea{font:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;min-height:80px;resize:vertical;width:100%}
.nb textarea:focus{outline:none;border-bottom-color:var(--mute)}
.nb .foot{display:grid;gap:12px}
.nb .fine{font-size:14px;color:var(--mute)}
@media (max-width:860px){.nb .l,.nb .r{grid-column:1 / -1}.nb .r{padding:20px}}

/* Cleaner pass: fewer rules, more air, calmer labels */
.chapter{padding-block:40px 160px}
.ch-head{margin-bottom:72px}
.code{font-size:11px;letter-spacing:.06em}
.code.red{color:var(--mute)}
.lede{color:var(--soft)}
@media (prefers-reduced-motion: no-preference){.dot{animation:none}}
.mtable-wrap{display:none}
.miles.has-data .mtable-wrap{display:block}
.miles,.race,.giving,.pt{margin-top:128px}
.runpics,.plate{margin-top:96px}
header nav{gap:28px}
header nav a{text-transform:none;font-family:var(--read);font-size:14px;letter-spacing:0}
.bar{height:2px}
@media (max-width:760px){.chapter{padding-block:28px 96px}.ch-head{margin-bottom:40px}}

/* Intro: word rain that tells stories, a greeting, the name assembled from the rain, doors open with a lit edge */
.intro-x{position:fixed;inset:0;z-index:9999;background:#000;color:#fff;overflow:hidden;clip-path:polygon(0 0,50% 0,50% 100%,50% 100%,50% 0,100% 0,100% 100%,0 100%);transition:clip-path 1.05s cubic-bezier(.76,0,.2,1);animation:ix-failsafe 0s linear 40s forwards;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.intro-x.out{clip-path:polygon(0 0,0 0,0 100%,100% 100%,100% 0,100% 0,100% 100%,0 100%)}
.intro-x.gone{display:none}
@keyframes ix-failsafe{to{visibility:hidden;pointer-events:none}}
.intro-x::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(120% 90% at 50% 45%,transparent 45%,rgba(0,0,0,.75) 100%)}
.intro-x canvas{position:absolute;inset:0;width:100%;height:100%}
#ix-rain{transition:opacity 1s ease,filter 1s ease}
#ix-fx{z-index:3;pointer-events:none}
.intro-x.term #ix-rain{opacity:.34;filter:blur(1.2px)}
.intro-x.named #ix-rain{opacity:.16;filter:blur(3px)}
.intro-x.held #ix-rain{opacity:1!important;filter:none!important}
.intro-x .ix-term{position:absolute;inset:0;display:grid;place-items:center;z-index:2;font-family:var(--code);font-weight:400;font-size:clamp(20px,3vw,40px);letter-spacing:-.01em;color:#fff;padding:0 24px;text-align:center;pointer-events:none;transition:opacity .4s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.intro-x .ix-term em{font-style:normal;color:#2BF0D0}
.intro-x .car{display:inline-block;width:.55em;height:1.05em;vertical-align:-.16em;background:#2BF0D0;margin-left:.08em;animation:ix-blink .9s steps(1) infinite}
@keyframes ix-blink{50%{opacity:0}}
.intro-x.held .ix-term,.intro-x.story .ix-term{opacity:.25}
.intro-x.named .ix-term{transform:translateY(calc(-1 * clamp(40px,7.5vw,135px)));opacity:0}
.intro-x.choose .ix-term{transform:translateY(calc(-14vh - clamp(40px,7.5vw,135px)))}
@media (max-width:600px){.intro-x.named .ix-term{transform:translateY(-34px);opacity:0}.intro-x.choose .ix-term{transform:translateY(calc(-20vh - 34px))}}
.intro-x .ix-name{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.intro-x .ix-name span{font-family:var(--mark);font-weight:800;font-size:clamp(46px,13vw,230px);letter-spacing:-.055em;line-height:1;white-space:nowrap;color:#fff;opacity:0;transition:opacity .45s ease}
.intro-x .ix-name i{font-style:normal;color:#2BF0D0;display:inline-block;opacity:0;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.8,.5,1),opacity .2s}
.intro-x.named .ix-name span{opacity:1}
.intro-x.dotted .ix-name i{opacity:1;transform:scale(1)}
.intro-x.choose .ix-name{transform:translateY(-14vh)}
.intro-x .ix-choose{position:absolute;left:0;right:0;top:50%;z-index:4;display:grid;justify-items:center;gap:18px;padding:0 16px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.intro-x.choose .ix-choose{opacity:1;transform:none;pointer-events:auto}
.intro-x .ix-choose p{margin:0;font-family:var(--code);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.intro-x .ix-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:820px}
.intro-x .ix-opts button{font-family:var(--read);font-size:16px;font-weight:400;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.35);padding:12px 18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.intro-x .ix-opts button:hover,.intro-x .ix-opts button:focus-visible{background:#fff;color:#000;border-color:#fff;outline:none}
.intro-x .ix-opts button.q{border-color:transparent;background:transparent;color:rgba(255,255,255,.7)}
.intro-x .ix-opts button.q:hover{background:transparent;color:#fff}
@media (max-width:600px){.intro-x .ix-opts{display:grid;grid-template-columns:1fr 1fr;width:100%}.intro-x .ix-opts button{font-size:15px;padding:12px 10px}.intro-x .ix-opts button.q{grid-column:1 / -1}.intro-x.choose .ix-name{transform:translateY(-20vh)}}
.intro-x .ix-skip{position:absolute;z-index:5;right:18px;bottom:18px;font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:transparent;border:0;color:rgba(255,255,255,.55);padding:10px 12px;cursor:pointer}
.intro-x .ix-skip:hover{color:#fff}
.intro-x .ix-hint{position:absolute;z-index:5;left:20px;bottom:24px;font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(43,240,208,.65);transition:opacity .4s;pointer-events:none}
.intro-x.held .ix-hint,.intro-x.story .ix-hint,.intro-x.choose .ix-hint{opacity:0}
.intro-x .ix-voice{position:absolute;z-index:5;left:16px;top:16px;font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.5);border:1px solid rgba(43,240,208,.45);color:#2BF0D0;padding:9px 12px;cursor:pointer;border-radius:999px}
.intro-x .ix-voice[hidden]{display:none}
.intro-x .ix-voice.on{background:#2BF0D0;color:#000}
.intro-x .ix-tip{position:absolute;z-index:6;max-width:300px;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .25s ease;background:rgba(5,8,8,.92);border:1px solid rgba(43,240,208,.5);box-shadow:0 0 24px rgba(43,240,208,.18);padding:12px 14px;display:grid;gap:4px}
.intro-x .ix-tip.on{opacity:1;transform:none}
.intro-x .ix-tip b{font-family:var(--code);font-weight:500;font-size:12px;letter-spacing:.12em;color:#2BF0D0}
.intro-x .ix-tip span{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-size:19px;line-height:1.3;color:#fff}
.ix-edge{position:fixed;top:0;bottom:0;width:2px;z-index:10000;background:#2BF0D0;box-shadow:0 0 18px 2px rgba(43,240,208,.85),0 0 60px 6px rgba(43,240,208,.35);pointer-events:none;left:50%;margin-left:-1px;transition:left 1.05s cubic-bezier(.76,0,.2,1),opacity .5s ease .75s}
.ix-edge.go-l{left:0}.ix-edge.go-r{left:100%}.ix-edge.fade{opacity:0}
html.ix-lock,html.ix-lock body{overflow:hidden}
@media (prefers-reduced-motion: reduce){.intro-x{display:none}}

/* Kinetic type: weight and spacing follow the scroll; key sentences light up word by word */
h2.caps.kin{font-weight:var(--kw,500);letter-spacing:var(--kls,-.045em)}
.kw-w{opacity:.2;transition:opacity .45s ease}
.kw-w.lit{opacity:1}
@media (max-width:560px){.intro-x .bl{display:none}.intro-x .ix-l{font-size:22px}}

/* road to London */
.road{grid-column:1 / -1;margin-top:128px;border-top:1px solid var(--ink);padding-top:24px}
.road-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.road-head .l{grid-column:1 / span 7;display:grid;gap:14px}
.road-head h3{font-size:clamp(44px,6.4vw,96px)}
.road-head .r{grid-column:9 / span 4;display:grid;gap:14px;font-size:20px;line-height:1.5;font-weight:300}
.road-main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:56px;align-items:end}
.road-main .l{grid-column:1 / span 6;display:grid;gap:10px}
.road-main .l h4{font-family:var(--display);font-weight:500;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.03em;line-height:1.02;margin:0}
.road-main .count{grid-column:7 / span 6;max-width:none}
.road-main .count b{font-size:clamp(34px,4.6vw,70px)}
.races{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--line)}
.races li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:20px;border-bottom:1px solid var(--line);align-items:baseline}
.races .d{grid-column:1 / span 2;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.races h4{grid-column:3 / span 5;margin:0;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.025em;line-height:1.1}
.races h4 span{display:block;font-family:var(--read);font-weight:300;font-size:16px;letter-spacing:0;color:var(--mute);margin-top:4px}
.races .cd{grid-column:9 / span 4;text-align:right;font-family:var(--code);font-size:clamp(15px,1.4vw,19px);font-variant-numeric:tabular-nums}
.races .cd.goal{color:var(--mute)}
@media (max-width:860px){.road-head .l,.road-head .r,.road-main .l,.road-main .count{grid-column:1 / -1}.races li{grid-template-columns:1fr;gap:6px}.races .d,.races h4,.races .cd{grid-column:auto;text-align:left}}

.miles .msync{display:none}.miles.has-data .msync{display:block}
.mstats b.sm{font-size:clamp(20px,2vw,28px);line-height:1.15;letter-spacing:-.02em}
.essay .soon-tag{color:var(--red)}

/* sub-sections that continue the previous chapter */
.cont .chapter{border-top:1px dashed var(--line);padding-top:28px}
section.pad:has(+ .cont) .chapter{padding-bottom:72px}
@media (max-width:760px){section.pad:has(+ .cont) .chapter{padding-bottom:48px}}

/* give big italic headings room before the copy that follows */
h2.caps{padding-bottom:.1em;margin-bottom:28px}
@media (max-width:860px){h2.caps{margin-bottom:22px}}

/* featured Notebook essay */
.feat-essay{border-top:1px solid var(--ink);padding-top:28px;margin-bottom:72px}
.feat-essay + .feat-essay{margin-top:-8px}
.fe-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 24px}
.fe-head .code{grid-column:1 / -1}
.fe-head h3{grid-column:1 / span 9;font-family:var(--display);font-weight:500;font-size:clamp(32px,4.4vw,64px);letter-spacing:-.035em;line-height:1.02;margin:0;text-wrap:balance}
.fe-stand{grid-column:1 / span 7;font-size:clamp(19px,1.6vw,22px);line-height:1.55;font-weight:300;color:var(--soft);margin:8px 0 0}
.fe-body{margin-top:28px}
.fe-body summary{list-style:none;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--ink);padding-bottom:4px}
.fe-body summary::-webkit-details-marker{display:none}
.fe-body summary .close{display:none}
.fe-body[open] summary .open{display:none}.fe-body[open] summary .close{display:inline}
.fe-text{max-width:68ch;margin-top:40px;font-size:19px;line-height:1.7;font-weight:300}
.fe-text h4{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;line-height:1.15;margin:44px 0 12px}
.fe-text p{margin:0 0 18px}
.fe-text b{font-weight:500}
.fe-text ul{margin:0 0 18px;padding-left:1.1em}
.fe-text li{margin-bottom:10px}
.fe-text .fe-note{font-size:12px;line-height:1.6;color:var(--mute);text-transform:none;letter-spacing:.01em;margin-top:40px;border-top:1px solid var(--line);padding-top:16px}
@media (max-width:860px){.fe-head h3,.fe-stand{grid-column:1 / -1}.fe-text{font-size:18px}}

.champs{grid-column:1 / span 8;margin:64px 0 0}
.champs img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;transition:filter .8s ease}
.champs:hover img{filter:none!important}
@media (max-width:860px){.champs{grid-column:1 / -1;margin-top:40px}}

/* Help us: the ambition */
.help{margin-bottom:96px}
.help-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.help-head .ch-title{grid-column:1 / span 7;margin-bottom:0}
.help-lede{grid-column:8 / span 5;display:grid;gap:14px;font-size:20px;line-height:1.5;font-weight:300}
.help-lede p{margin:0}
.help-ways{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.help-ways li{border-right:1px solid var(--line)}
.help-ways li:last-child{border-right:0}
.help-ways a{display:grid;gap:8px;padding:22px 20px 26px;text-decoration:none;color:var(--ink);height:100%;transition:background .25s}
.help-ways a:hover{background:var(--band, rgba(127,127,127,.08))}
.help-ways b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;line-height:1.1}
.help-ways a > span:last-child{color:var(--mute);font-size:16px;line-height:1.45}
.nb-title{font-family:var(--display);font-weight:500;font-size:clamp(32px,3.6vw,52px);letter-spacing:-.035em;line-height:1.02;margin:0 0 20px}
@media (max-width:860px){.help-head .ch-title{margin-bottom:22px}.help-head .ch-title,.help-lede{grid-column:1 / -1}.help-ways{grid-template-columns:1fr 1fr}.help-ways li{border-bottom:1px solid var(--line)}.help-ways li:nth-child(2){border-right:0}}
@media (max-width:480px){.help-ways{grid-template-columns:1fr}.help-ways li{border-right:0}}

.change{margin-top:72px;border-top:1px solid var(--line);padding-top:32px}
.change-t{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.4vw,48px);letter-spacing:-.035em;line-height:1.02;margin:0 0 32px}
.change-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.change-cols div{display:grid;gap:10px;align-content:start}
.change-cols p{margin:0;font-size:18px;line-height:1.6;font-weight:300}
@media (max-width:860px){.change-cols{grid-template-columns:1fr;gap:28px}}

/* wordmark: first name in the display sans, surname in the serif italic */
.wordmark em,.intro-x .ix-name em,.mark em{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.015em;font-size:1.1em;line-height:.8}
.wordmark em{margin-left:.04em}
.intro-x .ix-name em{margin-left:.02em}

/* Help us: the two businesses */
.help-brands{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.hb{display:grid;gap:12px;align-content:start;border:1px solid var(--line);padding:28px;text-decoration:none;color:var(--ink);transition:border-color .25s,background .25s}
.hb:hover{border-color:var(--dot);background:color-mix(in srgb,var(--dot) 5%,transparent)}
.hb-logo{height:44px;display:flex;align-items:center}
.hb-logo img{display:block;max-height:100%;width:auto;max-width:220px}
.hb b{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.025em}
.hb > span:not(.hb-logo){color:var(--mute);font-size:17px;line-height:1.5}
.hb i{font-style:normal;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--dot)}
.fca-note{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--mute);max-width:80ch}
.fca-note b{font-weight:500;color:var(--ink)}
@media (max-width:760px){.help-brands{grid-template-columns:1fr}.hb{padding:22px}}

/* logos: always their true proportions */
img[src*="bb-logo"]{aspect-ratio:1200/158;height:auto!important;object-fit:contain}
img[src*="pillar-logo"]{aspect-ratio:900/396;height:auto!important;object-fit:contain}
.hb-logo img[src*="bb-logo"]{width:240px;max-width:100%;max-height:none}
.hb-logo img[src*="pillar-logo"]{width:auto;height:44px!important;max-height:none}

/* hero: hover a role, the photo changes */
.hero-flip .hf-stack{position:relative;height:clamp(320px,60vw,860px);overflow:hidden}
.hero-flip .hf-stack img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;opacity:0;transition:opacity .9s ease,transform 1.6s cubic-bezier(.2,.7,.2,1);transform:scale(1.04)}
.hero-flip .hf-stack img.on{opacity:1;transform:scale(1)}
.hero-flip .hf-stack::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.28) 34%,transparent 60%)}
.hf-roles{position:absolute;z-index:2;left:max(16px,calc((100vw - 1320px)/2));bottom:clamp(20px,4vw,56px);display:grid;justify-items:start;gap:2px}
.hf-k{color:rgba(255,255,255,.7)!important;margin-bottom:8px}
.hf-roles button{background:none;border:0;padding:2px 0;cursor:pointer;font-family:var(--display);font-weight:500;font-size:clamp(28px,4.4vw,64px);letter-spacing:-.04em;line-height:1.02;color:rgba(255,255,255,.62);text-align:left;text-shadow:0 2px 18px rgba(0,0,0,.55);transition:color .3s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.hf-roles button:hover,.hf-roles button:focus-visible,.hf-roles button.on{color:#fff;transform:translateX(10px);outline:none}
.hf-roles button.on::after{content:".";color:var(--dot)}
.hero-flip figcaption .code{transition:opacity .3s}
@media (max-width:700px){.hf-roles button{font-size:26px}.hero-flip .hf-stack::after{background:linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.2) 55%,transparent 80%)}}


.menu-btn{display:none;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 12px;cursor:pointer}
.mnav{position:fixed;inset:var(--hdr-h,61px) 0 0 0;z-index:40;background:var(--paper);padding:28px 16px 40px;display:grid;align-content:start;gap:4px;overflow-y:auto}
.mnav[hidden]{display:none}
.mnav > a{font-family:var(--display);font-weight:500;font-size:40px;letter-spacing:-.035em;line-height:1.15;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);padding:10px 0}
.mnav > a[aria-current="page"]{color:var(--dot)}
.mnav-foot{display:flex;gap:24px;margin-top:24px}
.mnav-foot a{font-family:var(--code);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
html.menu-open,html.menu-open body{overflow:hidden}
@media (max-width:900px){.menu-btn{display:inline-block}.hd-r .clock{display:none}}
@media (max-width:520px){.hd-r .join{display:none}.hd-r{gap:10px}.hd-r .mode span{display:none}}
@media (min-width:901px){.mnav{display:none!important}}
/* ===== multi-page additions ===== */
header nav a[aria-current="page"]{color:var(--ink);border-bottom:1px solid var(--dot);padding-bottom:2px}
.phero .wrap{padding-block:72px 40px;display:grid;gap:22px;border-top:0}
.phero .ph-title{font-size:clamp(64px,12vw,176px);margin:0}
.phero .ph-lede{max-width:46ch;font-size:clamp(20px,1.8vw,25px);line-height:1.5;font-weight:300;margin:0;color:var(--soft)}
.ph-links{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:8px}
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.svc li{border-right:1px solid var(--line)}.svc li:last-child{border-right:0}
.svc a{display:grid;gap:12px;align-content:start;padding:24px 22px 28px;height:100%;text-decoration:none;color:var(--ink);transition:background .25s}
.svc a:hover{background:rgba(127,127,127,.08)}
.svc b{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1.05}
.svc a > span:not(.code){color:var(--mute);font-size:17px;line-height:1.5}
.svc i{font-style:normal;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.nb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nb-card{display:grid;gap:12px;align-content:start;border-top:1px solid var(--ink);padding-top:18px;text-decoration:none;color:var(--ink)}
.nb-card b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;line-height:1.12}
.nb-card > span:last-child{color:var(--mute);font-size:16px}
.nb-card:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.home-about{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.home-about figure{grid-column:1 / span 5;margin:0}
.home-about img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.ha-txt{grid-column:7 / span 6;display:grid;gap:20px}
.ha-txt h2{font-size:clamp(40px,5vw,76px);margin:0}
.ha-txt p{font-size:20px;line-height:1.55;font-weight:300;margin:0;color:var(--soft)}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.steps4 li{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:10px;align-content:start}
.steps4 b{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.025em}
.steps4 p{margin:0;color:var(--mute);font-size:17px;line-height:1.55}
.fees-note{margin-top:40px;font-size:18px;font-weight:300}
.pstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:48px}
.pstats div{border-top:1px solid var(--ink);padding-top:10px;display:grid;gap:6px}
.pstats b{font-family:var(--display);font-weight:500;font-size:clamp(34px,4vw,56px);letter-spacing:-.03em}
.sales{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sales li{display:grid;gap:6px;align-content:start}
.sales img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:8px}
.sales b{font-family:var(--display);font-weight:500;font-size:22px}
.sales .sn{color:var(--dot)}
.reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px}
.reviews blockquote{margin:0;border-top:1px solid var(--line);padding-top:18px}
.reviews p{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-size:24px;line-height:1.35;margin:0 0 12px}
.rent-top{margin-bottom:24px}.rfacts{margin-top:0}
.rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;counter-reset:r}
.rules li{counter-increment:r;border-top:1px solid var(--line);padding:20px 0 24px;display:grid;gap:8px}
.rules li::before{content:"R-0" counter(r);font-family:var(--code);font-size:12px;color:var(--dot)}
.rules b{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.025em}
.rules p{margin:0;color:var(--mute);font-size:17px;line-height:1.55}
.check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.check li{border-top:1px solid var(--line);padding:16px 0 18px 32px;display:grid;gap:4px;position:relative}
.check li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:14px;border:1px solid var(--ink)}
.check b{font-weight:500;font-size:19px}
.check span{color:var(--mute);font-size:16px;line-height:1.5}
.tax-note{margin-top:56px;border:1px solid var(--ink);padding:28px;display:grid;gap:12px;max-width:760px}
.tax-note p{margin:0;font-size:18px;font-weight:300;line-height:1.6}
.ftb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.ftb .ch-title{grid-column:1 / span 6}
.ftb-r{grid-column:8 / span 5;display:grid;gap:16px;font-size:18px;font-weight:300;line-height:1.6}
.ftb-r p{margin:0}.ftb-r ul{margin:0;padding-left:1.1em}.ftb-r li{margin-bottom:8px}
.nlist{list-style:none;margin:0 0 80px;padding:0;border-top:1px solid var(--ink)}
.nlist a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px 24px;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.nlist .code{grid-column:1 / span 4}
.nlist b{grid-column:5 / span 6;font-family:var(--display);font-weight:500;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em;line-height:1.1}
.nlist a > span:last-child{grid-column:5 / span 6;color:var(--mute)}
.nlist a:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.art-wrap{border-top:0}
.crumbs a{color:var(--mute)}
.feat-essay.art{border-top:0;padding-top:8px}
.feat-essay.art h1{grid-column:1 / span 10;font-family:var(--display);font-weight:500;font-size:clamp(40px,5.6vw,84px);letter-spacing:-.04em;line-height:1;margin:0;text-wrap:balance}
.art-open .fe-text{margin-top:48px}
.art-foot{max-width:68ch;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.area-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.afacts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:40px}
.afacts div{border-top:1px solid var(--ink);padding-top:10px;display:grid;gap:6px}
.afacts b{font-family:var(--display);font-weight:500;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em}
.area-text{grid-column:1 / span 7;font-size:19px;line-height:1.7;font-weight:300}
.area-text h2{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.025em;margin:40px 0 10px}
.area-text h2:first-child{margin-top:0}
.area-text p{margin:0 0 16px}
.area-cta{grid-column:9 / span 4;position:sticky;top:110px;border:1px solid var(--ink);padding:24px;display:grid;gap:14px}
.area-cta p{margin:0;font-size:17px;font-weight:300}
.site-foot .wrap{align-items:start}
.fcols{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:8px}
.fcols div{display:grid;gap:8px;align-content:start}
.fcols a,.fcols .addr{color:var(--ink);text-decoration:none;font-size:15px}
.fcols a:hover{text-decoration:underline}
.fcols .addr{color:var(--mute)}
@media (max-width:860px){
  .svc{grid-template-columns:1fr 1fr}.svc li{border-bottom:1px solid var(--line)}.svc li:nth-child(2){border-right:0}
  .nb-cards,.steps4,.sales,.reviews,.rules,.check{grid-template-columns:1fr}
  .home-about figure,.ha-txt,.ftb .ch-title,.ftb-r,.area-text,.area-cta{grid-column:1 / -1}
  .area-cta{position:static}
  .afacts,.pstats{grid-template-columns:1fr 1fr}
  .nlist .code,.nlist b,.nlist a > span:last-child{grid-column:1 / -1}
  .fcols{grid-template-columns:1fr 1fr}
  .phero .wrap{padding-block:48px 24px}
}
@media (max-width:480px){.svc{grid-template-columns:1fr}.svc li{border-right:0}}

/* ===== Lume phone preview ===== */
.lume-stage{background:#0B0B0C;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:36px 36px 36px 40px}
.lume-phone{width:240px;aspect-ratio:390/844;border-radius:40px;padding:8px;background:#000;border:1px solid #2C3234;box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 80px rgba(43,240,208,.12)}
.lume-phone video{display:block;width:100%;height:100%;object-fit:cover;border-radius:32px;background:#000}
.lume-phone.sm{width:220px}
.lume-side{display:grid;gap:18px;color:#F2F2F0}
.lume-side .lume-mini{color:#F2F2F0}.lume-side .lume-mini b{font-size:30px}.lume-side .lume-mini i{width:14px;height:14px;background:#2BF0D0}
.lume-side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lume-side li{font-size:17px;padding-left:18px;position:relative;color:#D9DEDE}
.lume-side li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#2BF0D0;box-shadow:0 0 8px #2BF0D0}
.lume-side .code{color:#7FE9D8}
@media (max-width:860px){.lume-stage{grid-template-columns:1fr;justify-items:center;padding:32px 20px}.lume-phone{width:min(240px,64vw)}}

/* ===== The Pace Theory page ===== */
.ptm-hero{background:#F1ECE3;color:#121110;padding:56px max(16px,env(safe-area-inset-left)) 64px}
.ptm-hero .wrap{display:grid;gap:22px;justify-items:start}
.ptm-k{color:#6E675E}
.ptm-logo{margin:8px 0 0;width:min(560px,86vw)}
.ptm-logo img{display:block;width:100%;height:auto;filter:none!important}
.ptm-line{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(30px,4.2vw,56px);line-height:1.05;margin:0;letter-spacing:-.01em}
.ptm-line em{font-style:italic;color:#007F70}
.ptm-launch{display:grid;grid-template-columns:auto minmax(0,440px);gap:16px 48px;align-items:end;margin-top:12px}
.ptm-launch > div:first-child{display:grid;gap:6px}
.ptm-launch > div:first-child b{font-size:22px;font-weight:500}
.ptm-hero .count div{border-top-color:#121110}.ptm-hero .count span{color:#6E675E}
.ptm-ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:8px}
.ptm-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border-radius:999px;background:#121110;color:#F1ECE3;text-decoration:none;font-family:var(--code);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.ptm-btn:hover{background:#007F70}
.ptm-link{font-family:var(--code);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#121110;border-bottom:1px solid currentColor;text-decoration:none;padding-bottom:2px}
.ptm-link.light{color:#F2F2F0}
.ptm-rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ptm-rules li{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:10px;align-content:start}
.ptm-rules b{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.025em}
.ptm-rules p{margin:0;color:var(--mute);font-size:17px;line-height:1.55}
.ptm-groups{background:#F1ECE3;color:#121110;padding:72px max(16px,env(safe-area-inset-left)) 64px}
.ptm-groups .wrap{display:grid;gap:18px}
.ptm-h{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(40px,5.6vw,80px);line-height:1;letter-spacing:-.015em;margin:0}
.ptm-h em{font-style:italic;color:#007F70}
.ptm-h.light{color:#F2F2F0}.ptm-h.light em{color:#2BF0D0}
.ptm-cards{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ptm-cards li{background:#FBF8F3;border:1px solid #D9D1C4;border-radius:20px;padding:22px;display:grid;gap:10px;align-content:start;min-height:260px}
.ptm-cards b{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:38px;line-height:1}
.ptm-cards .pace{font-family:var(--code);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#007F70}
.ptm-cards p{margin:0;color:#4E4840;font-size:16px;line-height:1.55}
.ptm-note{color:#6E675E}
.ptm-lume{background:#0B0B0C;color:#F2F2F0;padding:72px max(16px,env(safe-area-inset-left))}
.ptm-lume .wrap{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.ptm-lume-txt{display:grid;gap:20px;max-width:560px}
.ptm-lume-txt .lume-mini{color:#F2F2F0}.ptm-lume-txt .lume-mini i{background:#2BF0D0}
.ptm-lume-txt p{margin:0;font-size:20px;line-height:1.55;font-weight:300;color:#D9DEDE}
.ptm-faq{display:grid;max-width:860px;border-top:1px solid var(--line)}
.ptm-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.ptm-faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-weight:500;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;display:flex;justify-content:space-between;gap:16px}
.ptm-faq summary::-webkit-details-marker{display:none}
.ptm-faq summary::after{content:"+";font-family:var(--code);color:var(--dot)}
.ptm-faq details[open] summary::after{content:"–"}
.ptm-faq p{margin:12px 0 0;color:var(--mute);font-size:18px;line-height:1.6;max-width:64ch}
.ptm-final{margin-top:80px;display:grid;gap:24px;justify-items:start}
.ptm-final h2{font-size:clamp(48px,8vw,120px);margin:0}
@media (max-width:860px){.ptm-launch{grid-template-columns:1fr}.ptm-rules,.ptm-cards{grid-template-columns:1fr 1fr}.ptm-lume .wrap{grid-template-columns:1fr;justify-items:center}}
@media (max-width:520px){.ptm-rules,.ptm-cards{grid-template-columns:1fr}.ptm-cards li{min-height:0}}

/* company spotlight */
.co-dim{transition:filter .8s cubic-bezier(.2,.7,.2,1),opacity .8s ease!important;filter:blur(7px) saturate(.4);opacity:.22;pointer-events:none}
.co-lift{transition:filter .8s,opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1)}
.co-on{position:relative;transform:scale(1.015);z-index:5}
.co-on::before{content:"";position:absolute;inset:-18px;border:1px solid var(--dot,#2BF0D0);border-radius:6px;pointer-events:none;opacity:0;animation:coRing 1.2s .25s cubic-bezier(.2,.7,.2,1) forwards;box-shadow:0 0 60px -12px var(--dot,#2BF0D0)}
@keyframes coRing{from{opacity:0;inset:-48px}to{opacity:1;inset:-18px}}
.co-veil{position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.45));opacity:0;transition:opacity .8s}
.co-veil.on{opacity:1}
.co-back{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:60;opacity:0;transition:.5s;font:12px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em;padding:12px 18px;border-radius:99px;border:1px solid var(--dot,#2BF0D0);background:var(--paper,#0E0E0D);color:var(--ink,#EDEBE7);cursor:pointer}
.co-back.on{opacity:1;transform:translate(-50%,0)}
.biz a{transition:transform .3s,opacity .3s}.biz a:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.co-dim,.co-on,.co-on::before{transition:none;animation:none}}

/* accessibility + language */
.kacc{position:fixed;left:18px;bottom:18px;z-index:60}
.kacc-btn{display:flex;align-items:center;gap:8px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:11px 16px 11px 12px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.kacc-btn:focus-visible,.kacc-panel :focus-visible{outline:3px solid var(--dot,#2BF0D0);outline-offset:2px}
.kacc-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 120px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:14px;padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.kacc-panel[hidden]{display:none}
.kacc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.kacc-x{background:none;border:0;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}
.kacc-row{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:8px}
.kacc-row button,.kacc-row select{font:13px/1.2 var(--code,monospace);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;min-height:40px}
.kacc-row select{width:100%;background:var(--paper)}
.kacc-row button[aria-pressed="true"],.kacc-play button.on{border-color:var(--dot,#2BF0D0);box-shadow:inset 0 0 0 1px var(--dot,#2BF0D0)}
.kacc-row button:disabled{opacity:.4;cursor:default}
.kacc-play,.kacc-seg{display:flex;gap:6px;flex-wrap:wrap}
.kacc-rate{display:flex;align-items:center;gap:10px}.kacc-rate input{flex:1;accent-color:var(--dot,#2BF0D0)}
.kacc-tog{grid-template-columns:1fr 1fr}.kacc-tog label{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.kacc-tog input{accent-color:var(--dot,#2BF0D0);width:18px;height:18px}
.kacc-note{font-size:12px;color:var(--mute);margin:0;line-height:1.45}
.kacc-reading{outline:2px solid var(--dot,#2BF0D0)!important;outline-offset:6px;border-radius:2px;background:color-mix(in srgb,var(--dot,#2BF0D0) 10%,transparent)}
html.a-size1 body>*:not(.kacc):not(.kchat):not(.dock):not(.co-back):not(.co-veil){zoom:1.12}
html.a-size1,html.a-size2{overflow-x:clip}
html.a-size2 body>*:not(.kacc):not(.kchat):not(.dock):not(.co-back):not(.co-veil){zoom:1.25}
html.a-contrast{--paper:#000!important;--paper-2:#111!important;--ink:#fff!important;--mute:#e6e6e6!important;--line:#fff!important}
html.a-contrast body{background:#000!important;color:#fff!important}
html.a-contrast img,html.a-contrast video{filter:contrast(1.1)!important}
html.a-readable body{letter-spacing:.03em;word-spacing:.12em}html.a-readable p,html.a-readable li{line-height:1.9!important;max-width:68ch}
html.a-calm *,html.a-calm *::before,html.a-calm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a-links a{text-decoration:underline!important;text-underline-offset:3px}
/* hide Google's own bar */
.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}.goog-text-highlight{background:none!important;box-shadow:none!important}
@media (max-width:600px){.kacc{left:12px;bottom:82px}.kacc-btn span{display:none}.kacc-btn{padding:13px}}
@media print{.kacc{display:none}}

.lang-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 10px;cursor:pointer;border-radius:999px;margin-right:6px}
.lang-btn:hover,.lang-btn:focus-visible{border-color:var(--dot,#2BF0D0);outline:none}
.lang-btn svg{color:var(--dot,#2BF0D0)}

/* Lume glow: halos and colour bands as you scroll */
main>.kt-glow{position:relative;isolation:isolate;overflow-x:clip}
main>.kt-glow::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(70vmax,1100px);aspect-ratio:1;left:var(--hx,78%);top:var(--hy,10%);
  transform:translate(-50%,-20%) scale(.7);border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--dot) 26%,transparent) 0%,color-mix(in srgb,var(--dot) 9%,transparent) 38%,transparent 66%);
  filter:blur(30px);opacity:0;transition:opacity 1.4s ease,transform 2s cubic-bezier(.2,.7,.2,1)}
main>.kt-glow.lit::before{opacity:1;transform:translate(-50%,-20%) scale(1)}
main>.kt-glow.left{--hx:18%}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) main>.kt-glow::before{background:radial-gradient(circle,color-mix(in srgb,var(--dot) 30%,transparent) 0%,color-mix(in srgb,var(--dot) 11%,transparent) 38%,transparent 66%)}}
.kt-band{position:relative;overflow:hidden;background:var(--dot);color:#0B0B0A;padding:18px 0;margin:8px 0;border-block:1px solid color-mix(in srgb,#000 12%,var(--dot))}
.kt-band::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 140% at var(--bx,50%) 50%,rgba(255,255,255,.35),transparent 60%);mix-blend-mode:soft-light}
.kt-band .kb-row{display:flex;gap:28px;white-space:nowrap;will-change:transform;font-family:var(--code);font-size:clamp(13px,1.4vw,16px);text-transform:uppercase;letter-spacing:.14em}
.kt-band .kb-row span{display:inline-flex;align-items:center;gap:28px}
.kt-band .kb-row span::after{content:"";width:7px;height:7px;border-radius:50%;background:#0B0B0A;opacity:.75}
html.a-calm main>.kt-glow::before{transition:none}
html.a-contrast main>.kt-glow::before{display:none}
@media (prefers-reduced-motion:reduce){main>.kt-glow::before{transition:none}}
@media print{main>.kt-glow::before,.kt-band{display:none}}

.appr{border:1px solid var(--dot);padding:14px 16px 6px;margin:4px 0 8px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;background:color-mix(in srgb,var(--dot) 5%,transparent)}
.appr legend{padding:0 6px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.appr legend span{color:var(--mute)}
.appr .appr-n{grid-column:1/-1;margin:0 0 8px;font-size:13px;color:var(--mute);line-height:1.5}
.appr input[type=date]{color-scheme:light dark}
@media (max-width:560px){.appr{grid-template-columns:1fr}}

.pc-find{display:flex;gap:8px;align-items:stretch}
.pc-find input{flex:1;min-width:0}
.pc-btn{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);border:0;padding:0 14px;cursor:pointer;white-space:nowrap}
.pc-btn[disabled]{opacity:.5}
.pc-pick{grid-column:1/-1}
.pc-pick select{width:100%}
.pc-msg{grid-column:1/-1;margin:-4px 0 4px;font-size:13px;color:var(--mute)}

.live-hero{padding-top:56px}
.lv-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:7px 12px;border:1px solid var(--line);border-radius:999px}
.lv-badge i{width:9px;height:9px;border-radius:50%;background:var(--mute)}
.lv-badge.is-live{border-color:var(--dot);color:var(--ink)}
.lv-badge.is-live i{background:var(--dot);box-shadow:0 0 0 0 color-mix(in srgb,var(--dot) 70%,transparent);animation:lvPulse 1.6s infinite}
@keyframes lvPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--dot) 60%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.lv-title{font-weight:500;font-size:clamp(40px,7vw,88px);letter-spacing:-.04em;line-height:.98;margin:22px 0 14px}
.lv-sub{max-width:62ch;font-size:clamp(17px,1.6vw,20px);color:var(--mute);margin:0 0 10px}
.lv-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
@media (max-width:900px){.lv-grid{grid-template-columns:1fr}}
.lv-filter{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.lv-filter button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:1px solid var(--line);color:var(--ink);padding:9px 12px;cursor:pointer}
.lv-filter button.on{border-color:var(--dot);box-shadow:inset 0 0 0 1px var(--dot)}
.lv-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.lv-e{position:relative;padding:4px 0 34px 28px}
.lv-e::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1px solid var(--mute)}
.lv-e.t-official::before,.lv-e.t-breaking::before{background:var(--dot);border-color:var(--dot)}
.lv-e.fresh{animation:lvIn .9s cubic-bezier(.2,.7,.2,1)}
@keyframes lvIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lv-time{font-family:var(--code);font-size:12px;letter-spacing:.06em;color:var(--mute);text-transform:uppercase;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lv-tag{padding:3px 7px;border:1px solid var(--line);font-size:11px}
.t-official .lv-tag,.t-breaking .lv-tag{border-color:var(--dot);color:var(--ink);background:color-mix(in srgb,var(--dot) 12%,transparent)}
.lv-pin{color:var(--dot)}
.lv-e h2{font-weight:500;font-size:clamp(21px,2.2vw,26px);letter-spacing:-.02em;line-height:1.2;margin:8px 0 8px}
.lv-e p{margin:0 0 10px;font-size:17px;line-height:1.6;max-width:68ch}
.lv-num{font-size:clamp(34px,5vw,54px);font-weight:500;letter-spacing:-.03em;color:var(--dot);line-height:1;margin:6px 0 8px}
.lv-impact{border-left:3px solid var(--dot);padding:10px 14px;margin:10px 0 12px;background:color-mix(in srgb,var(--dot) 6%,transparent);max-width:68ch}
.lv-impact b{display:block;font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-weight:400;color:var(--ink)}
.lv-impact span{font-size:16px;line-height:1.55}
.lv-src{font-size:13px;color:var(--mute)}
.lv-share{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.lv-share a,.lv-share button{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);background:none;border:1px solid var(--line);padding:6px 9px;cursor:pointer;text-decoration:none}
.lv-share a:hover,.lv-share button:hover{color:var(--ink);border-color:var(--ink)}
.lv-new{position:sticky;top:calc(var(--hdr-h,61px) + 10px);z-index:5;margin:0 0 12px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--dot);color:#0B0B0A;border:0;padding:10px 16px;border-radius:999px;cursor:pointer}
.lv-side{position:sticky;top:calc(var(--hdr-h,61px) + 20px);display:grid;gap:16px}
@media (max-width:900px){.lv-side{position:static}}
.lv-box{border:1px solid var(--line);padding:16px 18px}
.lv-box ul{margin:10px 0 0;padding-left:1.1em}.lv-box li{margin:0 0 8px;font-size:15px}
.lv-box p{font-size:15px;margin:8px 0 10px}
.lv-disc{font-size:12px;color:var(--mute);line-height:1.5;margin:0}
.lv-strip{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;background:var(--dot);color:#0B0B0A;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;text-align:center}
.lv-strip i{width:8px;height:8px;border-radius:50%;background:#0B0B0A;animation:lvBlink 1.2s infinite}
@keyframes lvBlink{50%{opacity:.25}}
nav a.lv-nav{display:inline-flex;align-items:center;gap:6px}
nav a.lv-nav::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mute)}
nav a.lv-nav.is-live::before{background:var(--dot);animation:lvBlink 1.2s infinite}
html.a-calm .lv-badge i,html.a-calm .lv-strip i,html.a-calm nav a.lv-nav::before{animation:none}

.kst{grid-column:1/-1;display:block}
.kst-top{display:grid;gap:10px;margin:0 0 18px}
.kst-prize{position:relative;overflow:hidden;border:1px solid var(--dot);padding:16px 18px 16px 18px;background:color-mix(in srgb,var(--dot) 10%,transparent)}
.kst-prize::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--dot) 45%,transparent),transparent 65%);filter:blur(8px);pointer-events:none}
.kst-prize b{display:block;font-size:clamp(20px,2.2vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:4px 0 6px}
.kst-prize .code{color:var(--ink)}
.kst-prize p{margin:0;font-size:14px;color:var(--mute);line-height:1.5;max-width:52ch}
.kst-prize a{color:inherit}
.kst-prog{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.kst-bar{height:3px;background:var(--line);position:relative;overflow:hidden}
.kst-bar i{position:absolute;inset:0 auto 0 0;width:20%;background:var(--dot);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.kst-step{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;animation:kstIn .45s cubic-bezier(.2,.7,.2,1)}
.kst-step[hidden]{display:none}
.kst-step>*{grid-column:1/-1;min-width:0}
.kst-step>.kst-half{grid-column:auto}
@media (max-width:560px){.kst-step>.kst-half{grid-column:1/-1}}
@keyframes kstIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.kst-step.back{animation-name:kstBack}@keyframes kstBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.kst-q{font-size:clamp(24px,2.6vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.1;margin:0}
.kst-hint{margin:-8px 0 0;font-size:14px;color:var(--mute)}
.kst-chips{display:flex;flex-wrap:wrap;gap:8px}
.kst-chips button{font:inherit;font-size:15px;line-height:1.2;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;padding:10px 15px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.kst-chips button:hover{border-color:var(--ink)}
.kst-chips button:active{transform:scale(.97)}
.kst-chips button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kst-chips+select{display:none}
.kst-nav{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.kst-next{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:var(--paper);border:0;padding:15px 22px;cursor:pointer;min-height:48px}
.kst-next:hover{background:color-mix(in srgb,var(--ink) 85%,var(--dot))}
.kst-back{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:none;border:0;color:var(--mute);cursor:pointer;padding:12px 4px}
.kst-back[hidden]{display:none}
.kst-err{font-size:14px;color:#2BF0D0;margin:10px 0 0;min-height:1px}
.kst-check{display:flex!important;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.kst-check input{accent-color:var(--dot);width:18px!important;height:18px;margin-top:3px;flex:none}
.kst-check span{font-family:inherit!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}
.kst-sum{border:1px solid var(--line);padding:12px 14px;font-size:14px;color:var(--mute);line-height:1.6}
.kst-sum b{color:var(--ink);font-weight:500}
.kst .kt-actions .kt-send{min-height:52px;padding:0 26px}
.kst-step .appr{margin:0}
.kst-step label input:focus,.kst-step label select:focus{outline:none;border-bottom-color:var(--dot);box-shadow:0 1px 0 var(--dot)}

.pc-pick[hidden],.pc-msg[hidden]{display:none!important}
.kst .nr-claim span{font-family:inherit;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);line-height:1.5}
.kt-thanks strong{font-weight:500;color:var(--ink)}

.lv-kw{margin:-4px 0 14px;color:var(--mute)}

.ms-head{display:grid;gap:14px;margin:0 0 40px;max-width:70ch}
.ms-title{font-weight:500;font-size:clamp(34px,5vw,64px);letter-spacing:-.035em;line-height:1;margin:0}
.ms-lede{font-size:clamp(17px,1.5vw,19px);color:var(--mute);margin:0}
.ms-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ms-item{border-top:1px solid var(--line);padding:32px 0 36px;display:grid;gap:12px;max-width:78ch}
.ms-item h3{font-weight:500;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.025em;line-height:1.1;margin:0}
.ms-item p{margin:0;font-size:17px;line-height:1.65}
.ms-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
.ms-facts div{border-top:2px solid var(--dot);padding-top:10px;display:grid;gap:4px}
.ms-facts b{font-weight:500;font-size:clamp(17px,1.8vw,22px);letter-spacing:-.01em}
@media (max-width:600px){.ms-facts{grid-template-columns:1fr 1fr}}
.ms-fca{font-size:13px!important;color:var(--mute);line-height:1.55!important;border-left:2px solid var(--line);padding-left:12px}
.ms-fca b{color:var(--ink);font-weight:500}
.ms-sign{margin:28px 0 0;font-size:17px;color:var(--mute)}

/* hero: photo + three doors */
.h2-pad{padding-top:clamp(28px,4vw,56px);overflow-x:clip}
.h2-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center;padding-bottom:clamp(40px,6vw,88px)}
.h2-photo{position:relative;margin:0;isolation:isolate}
.h2-photo::before{content:"";position:absolute;inset:8% -10% -6% 10%;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--dot) 34%,transparent),transparent 65%);filter:blur(36px)}
.h2-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.h2-photo figcaption{margin-top:10px;color:var(--mute)}
.h2-copy{display:grid;gap:18px;align-content:center}
.h2-k{color:var(--mute)}
.h2-name{font-family:"Bricolage Grotesque",var(--sans,sans-serif);font-weight:800;font-size:clamp(56px,8.5vw,132px);letter-spacing:-.055em;line-height:.88;margin:0}
.h2-name em{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.02em}
.h2-lede{font-size:clamp(19px,1.8vw,24px);line-height:1.4;margin:0;max-width:34ch}
.h2-doors{display:grid;gap:10px;margin-top:6px}
.h2-doors a{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:var(--paper);transition:border-color .25s,transform .25s,box-shadow .25s}
.h2-doors a .code{color:var(--mute)}
.h2-doors .d-t{display:grid;gap:3px}
.h2-doors b{font-weight:500;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em}
.h2-doors .d-t span{font-size:14px;color:var(--mute);line-height:1.4}
.h2-doors i{font-style:normal;font-size:22px;color:var(--dot);transition:transform .25s}
.h2-doors a:hover,.h2-doors a:focus-visible{border-color:var(--dot);transform:translateX(4px);box-shadow:0 10px 30px -18px var(--dot);outline:none}
.h2-doors a:hover i,.h2-doors a:focus-visible i{transform:translateX(4px)}
.h2-doors a:first-child{border-color:var(--dot);background:color-mix(in srgb,var(--dot) 7%,var(--paper))}
.h2-sub{font-size:15px;color:var(--mute);margin:4px 0 0;max-width:56ch}
@media (max-width:860px){.h2-grid{grid-template-columns:1fr}.h2-photo{max-width:420px}.h2-photo img{aspect-ratio:1/1;object-position:50% 8%}}

.hm-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 22px}
.hm-filter{display:flex;gap:6px;flex-wrap:wrap}
.hm-filter button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:1px solid var(--line);color:var(--ink);padding:9px 13px;cursor:pointer}
.hm-filter button.on{border-color:var(--dot);box-shadow:inset 0 0 0 1px var(--dot)}
.hm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:26px 22px}
.hm-card{display:grid;gap:10px;text-align:left;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;font:inherit}
.hm-img{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--paper-2,#222)}
.hm-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s}
.hm-card:hover .hm-img img,.hm-card:focus-visible .hm-img img{transform:scale(1.045)}
.hm-pill{position:absolute;left:12px;top:12px;font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;background:var(--paper);color:var(--ink)}
.hm-pill.fs{background:var(--dot);color:#0B0B0A}
.hm-card.sa .hm-img img{filter:grayscale(.35)}
.hm-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hm-street{font-size:20px;font-weight:500;letter-spacing:-.015em;line-height:1.2}
.hm-price{font-size:19px;font-weight:500;white-space:nowrap}
.hm-meta{font-size:14px;color:var(--mute);display:flex;justify-content:space-between;gap:10px}
.hm-q{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.hm-ask{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dot)}
.hm-note{margin:28px 0 0;font-size:13px;color:var(--mute)}
.hv-dlg{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 40px)}
.hv-dlg::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.hv-dlg form{display:grid;gap:16px;padding:26px 24px 24px;position:relative}
.hv-dlg h3{font-size:clamp(24px,3vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.1;margin:0}
.hv-dlg label{display:grid;gap:6px}
.hv-dlg label>span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.hv-dlg input:not([type=checkbox]),.hv-dlg select{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:8px 0;width:100%}
.hv-dlg select option{background:var(--paper)}
.hv-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.hv-row{grid-template-columns:1fr}}
.hv-x{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--ink);font-size:28px;cursor:pointer;padding:4px 10px}
.hv-more{font-size:13px;color:var(--mute)}

.lj{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:start;border:1px solid var(--dot);padding:clamp(22px,3vw,40px);position:relative;overflow:hidden;isolation:isolate}
.lj::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;z-index:-1;background:radial-gradient(circle,color-mix(in srgb,var(--dot) 35%,transparent),transparent 65%);filter:blur(20px)}
.lj h2{font-weight:500;font-size:clamp(32px,4.4vw,56px);letter-spacing:-.035em;line-height:1;margin:10px 0 14px}
.lj-l p{font-size:17px;line-height:1.6;color:var(--mute);max-width:52ch;margin:0}
.lj form{display:grid;gap:14px}
.lj label{display:grid;gap:6px}
.lj label>span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.lj input,.lj select{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:8px 0;width:100%}
.lj select option{background:var(--paper)}
.lj-n{font-size:12px;color:var(--mute);margin:0}
@media (max-width:820px){.lj{grid-template-columns:1fr}}

.kst-priv{font-size:12px;color:var(--mute);margin:0}

.hm-feat{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}
.hm-feat .hm-big{grid-column:span 2;grid-row:span 2}
.hm-feat .hm-big .hm-img{aspect-ratio:auto;height:100%;min-height:340px}
.hm-feat .hm-big .hm-street{font-size:clamp(22px,2.4vw,30px)}
.hm-feat .hm-card:not(.hm-big) .hm-street{font-size:17px}
.hm-feat .hm-card:not(.hm-big) .hm-price{font-size:16px}
@media (max-width:980px){.hm-feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hm-feat{grid-template-columns:1fr}.hm-feat .hm-big{grid-column:auto;grid-row:auto}.hm-feat .hm-big .hm-img{min-height:0;aspect-ratio:3/2}}
.hm-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,260px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.hm-strip .hm-card{scroll-snap-align:start}
.hm-strip .hm-street{font-size:16px}.hm-strip .hm-price{font-size:15px}.hm-strip .hm-meta{font-size:13px}
.hm-strip .hm-q{display:none}
.hm-sub{margin-top:48px}
.hm-swipe{color:var(--mute)}
.hm-where{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start}
.hm-where h2{font-weight:500;font-size:clamp(28px,3.6vw,46px);letter-spacing:-.03em;line-height:1.05;margin:12px 0 14px}
.hm-where p{color:var(--mute);font-size:17px;margin:0 0 20px;max-width:46ch}
.hm-areas ul{list-style:none;margin:10px 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hm-areas li{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:15px}
@media (max-width:820px){.hm-where{grid-template-columns:1fr}}

/* homes drawer */
.hd-veil{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.hd-veil[hidden],.hd[hidden]{display:none}
.hd{position:fixed;top:0;right:0;bottom:0;z-index:71;width:min(420px,100vw);background:var(--paper);color:var(--ink);border-left:1px solid var(--ink);display:flex;flex-direction:column;padding:18px 18px 16px;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.hd.in{transform:none}
html.hd-open{overflow:hidden}
.hd-top{display:flex;justify-content:space-between;align-items:center}
.hd-x,.hx-x{background:none;border:0;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;padding:2px 8px}
.hd-tog{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin:14px 0 10px}
.hd-tog button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:0;color:var(--mute);padding:11px 8px;cursor:pointer}
.hd-tog button.on{background:var(--ink);color:var(--paper)}
.hd-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;display:grid;align-content:start;gap:2px}
.hd-row{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 2px;color:var(--ink);text-align:left;cursor:pointer;font:inherit}
.hd-row:hover{background:color-mix(in srgb,var(--dot) 7%,transparent)}
.hd-row img{width:76px;height:56px;object-fit:cover;background:var(--line)}
.hd-row b{display:block;font-weight:500;font-size:15px}.hd-row small{color:var(--mute);font-size:13px}
.hd-row em{font-style:normal;font-size:14px;white-space:nowrap}
.hd-all{margin-top:12px;align-self:flex-start}
/* detail view */
.hx{border:0;padding:0;width:min(1120px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:var(--paper);color:var(--ink);overflow:auto}
.hx::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.hx-x{position:sticky;top:6px;float:right;z-index:3;margin:6px 8px 0 0;background:var(--paper);border-radius:50%}
.hx-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0}
@media (max-width:860px){.hx-grid{grid-template-columns:1fr}}
.hx-gal{background:#0B0B0A;min-width:0}
.hx-main{position:relative;aspect-ratio:3/2;overflow:hidden}
.hx-main img{width:100%;height:100%;object-fit:cover;display:block}
.hx-prev,.hx-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#0B0B0A;font-size:26px;line-height:1;cursor:pointer}
.hx-prev{left:12px}.hx-next{right:12px}
.hx-n{position:absolute;right:12px;bottom:10px;color:#fff;background:rgba(0,0,0,.45);padding:4px 8px}
.hx-th{display:flex;gap:6px;overflow-x:auto;padding:8px}
.hx-th button{flex:none;width:78px;height:54px;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.65}
.hx-th button.on{border-color:var(--dot);opacity:1}
.hx-th img{width:100%;height:100%;object-fit:cover;display:block}
.hx-info{padding:26px 26px 30px;display:grid;gap:14px;align-content:start}
.hx-info h3{font-weight:500;font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;line-height:1.05;margin:0}
.hx-info h3 small{display:block;font-size:16px;color:var(--mute);letter-spacing:0;margin-top:6px;font-weight:400}
.hx-price{font-size:clamp(24px,2.6vw,32px);font-weight:500;margin:0;color:var(--ink)}
.hx-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0}
.hx-facts div{border-top:2px solid var(--dot);padding-top:8px}
.hx-facts dd{margin:4px 0 0;font-size:17px}
.hx-acts{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hx-feat{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:15px;line-height:1.5}
.hx-desc{margin:0;font-size:15px;line-height:1.65;color:var(--mute)}
.hx-src{margin:0;font-size:13px;color:var(--mute)}

.h2-doors a{padding:15px 18px}
.h2-doors a.h2-run{border-style:dashed}
.h2-doors a.h2-run b{font-size:clamp(18px,1.7vw,22px)}
.h2-sub a{color:var(--ink)}

.hx-gal{align-self:start;position:sticky;top:0}
@media (max-width:860px){.hx-gal{position:static}}


/* enquiry forms */
.kt-contact span{display:block}
.kt-send{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--ink);color:var(--paper);border:0;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;justify-self:start;align-self:start}
.kt-send:hover{background:var(--dot);color:#04110E}
.kt-send[disabled]{opacity:.6;cursor:progress}
.kt-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.kt-actions .arrow{align-self:center}
.kt-err{margin:0;font-size:14px;color:var(--dot);min-height:0}
.kt-err a{color:inherit}
.kt-thanks{display:grid;gap:10px;padding:24px;border:1px solid var(--dot);outline:none}
.kt-thanks b{font-family:var(--display);font-weight:500;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em}
.kt-thanks p{margin:0;color:var(--mute);font-size:17px;line-height:1.55}
.kt-thanks .code{color:var(--dot)}
.pt-join{display:grid;gap:16px;max-width:640px}
.pt-join-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pt-join label{display:grid;gap:6px}
.pt-join label span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.pt-join input,.pt-join select{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
.pt-join select option{background:var(--paper);color:var(--ink)}
@media (max-width:600px){.pt-join-row{grid-template-columns:1fr}}


/* Good Neighbour Reward */
.nreward{margin-top:72px;border:1px solid var(--dot);padding:clamp(24px,4vw,48px);display:grid;gap:36px;background:color-mix(in srgb,var(--dot) 4%,transparent)}
.nr-k{color:var(--dot)}
.nr-head{display:grid;gap:16px;max-width:900px}
.nr-title{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(40px,5.6vw,84px);letter-spacing:-.04em;line-height:1}
.nr-title em{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--dot)}
.nr-lede{margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.55;font-weight:300;color:var(--soft);max-width:60ch}
.nr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nr-steps li{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:8px;align-content:start}
.nr-n{font-family:var(--display);font-weight:500;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.04em;line-height:1;color:var(--dot)}
.nr-steps b{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em}
.nr-steps p{margin:0;color:var(--mute);font-size:16px;line-height:1.55}
.nr-actions{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.nr-actions .arrow{align-self:center}
.nr-refer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px}
.nr-refer .l{grid-column:1 / span 4;display:grid;gap:10px;align-content:start}
.nr-refer h3{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-.03em;margin:0}
.nr-refer .l p{margin:0;color:var(--mute);font-size:16px;line-height:1.55}
.nr-refer form{grid-column:6 / span 7}
#ref-form{display:grid;gap:16px}
#ref-form label{display:grid;gap:6px}
#ref-form label span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
#ref-form input[type=text],#ref-form select{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
#ref-form select option{background:var(--paper);color:var(--ink)}
#ref-form .ref-ok{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--soft)}
.nr-terms summary{cursor:pointer;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.nr-terms ul{margin:12px 0 0;padding-left:1.1em;color:var(--mute);font-size:14px;line-height:1.6;max-width:90ch}
.nr-flag{margin:0;grid-column:1 / -1;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--dot)}
@media (max-width:860px){.nr-steps{grid-template-columns:1fr}.nr-refer .l,.nr-refer form{grid-column:1 / -1}}
/* chat */
.kchat{position:fixed;right:18px;bottom:18px;z-index:60}
.kchat-btn{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:13px 18px 13px 14px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.kchat-btn i{width:10px;height:10px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 4px color-mix(in srgb,var(--dot) 25%,transparent)}
.kchat.open .kchat-btn{opacity:0;pointer-events:none}
.kchat-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr auto;max-height:min(600px,calc(100vh - 40px))}
.kchat-panel[hidden]{display:none}
.kchat-top{display:flex;gap:12px;align-items:center;padding:14px 14px 14px 16px;border-bottom:1px solid var(--line)}
.kchat-top b{display:block;font-weight:500;font-size:16px}
.kchat-top small{display:block;font-size:12px;color:var(--mute)}
.kchat-av{width:38px;height:38px;border-radius:50%;background:var(--dot);color:#04110E;display:grid;place-items:center;font-family:var(--mark);font-weight:800;font-size:14px;flex:none}
.kchat-x{margin-left:auto;background:none;border:0;color:var(--mute);font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.kchat-body{padding:16px;overflow-y:auto;display:grid;gap:12px;align-content:start}
.kchat-msg{margin:0;background:color-mix(in srgb,var(--dot) 10%,transparent);border:1px solid color-mix(in srgb,var(--dot) 35%,transparent);padding:12px 14px;border-radius:4px 16px 16px 16px;font-size:15px;line-height:1.5}
.kchat-chips{display:flex;flex-wrap:wrap;gap:8px}
.kchat-chips button{font:inherit;font-size:13px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer}
.kchat-chips button:hover{border-color:var(--dot);color:var(--dot)}
.kchat-form{border-top:1px solid var(--line);padding:12px 16px 16px;display:grid;gap:10px}
.kchat-form textarea,.kchat-more input{font:inherit;font-size:15px;width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 12px;resize:none;border-radius:0}
.kchat-form textarea:focus,.kchat-more input:focus{outline:none;border-color:var(--dot)}
.kchat-more{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kchat-more[hidden]{display:none}
.kchat-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.kchat-wa{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;background:var(--dot);color:#04110E;text-decoration:none;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.kchat-alt{background:none;border:0;color:var(--mute);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.kchat-send{min-height:42px}
.kchat-send[hidden]{display:none}
.kchat .kt-thanks{border-color:var(--dot)}
@media (max-width:600px){.kchat{right:12px;bottom:82px}.kchat-btn span{display:none}.kchat-btn{padding:14px}.kchat-panel{position:fixed;left:12px;right:12px;bottom:12px;width:auto}}

.nr-mini{display:grid;grid-template-columns:auto 1fr auto;gap:12px 28px;align-items:center;border:1px solid var(--dot);padding:18px 22px;text-decoration:none;color:var(--ink);background:color-mix(in srgb,var(--dot) 5%,transparent)}
.nr-mini b{font-weight:400;font-size:18px;line-height:1.45}
.nr-mini i{font-style:normal;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--dot);white-space:nowrap}
.nr-mini:hover{background:color-mix(in srgb,var(--dot) 10%,transparent)}
@media (max-width:760px){.nr-mini{grid-template-columns:1fr}}

.nr-how{max-width:70ch;margin:18px 0 0;font-size:16px;line-height:1.6}
.nr-terms h4{margin:20px 0 6px;font-size:15px;font-weight:500;color:var(--ink)}
.nr-terms ol{margin:0;padding-left:1.3em;color:var(--mute);font-size:14px;line-height:1.6;max-width:90ch}
.nr-terms ol li{margin:0 0 8px}.nr-terms ol b{color:var(--ink);font-weight:500}
.nr-claim{display:flex;gap:10px;align-items:flex-start;margin:6px 0 12px;font-size:15px;line-height:1.5;padding:12px 14px;border:1px solid var(--dot);background:color-mix(in srgb,var(--dot) 6%,transparent)}
.nr-claim input{accent-color:var(--dot);width:18px;height:18px;margin-top:3px;flex:none}
.kt-thanks .kt-code-l,.kt-code-l{margin:14px 0 6px!important;font-size:15px}
.kt-thanks .kt-code,.kt-code{font-family:var(--code);font-size:clamp(26px,5vw,36px);letter-spacing:.08em;color:var(--dot);margin:0!important;user-select:all}
.kt-thanks .kt-code-n,.kt-code-n{font-size:13px;color:var(--mute)}

.disclaim{margin-bottom:0}.disclaim+.risk{border-top:0;padding-top:4px}.disclaim b{font-weight:500;color:var(--ink)}

/* accent: Lume teal (positive) instead of red */
:root{--dot:#2BF0D0;--red:#2BF0D0;--hot:#2BF0D0}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--dot:#00A88F;--red:#007F70;--hot:#007F70}}
:root[data-theme="light"]{--dot:#00A88F;--red:#007F70;--hot:#007F70}
::selection{background:color-mix(in srgb,var(--dot) 35%,transparent)}

/* listing detail: full-screen on phones, close button no longer squeezes the layout (28 Oct) */
.hx-x{float:none;position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:10px;width:44px;height:44px;padding:0;display:grid;place-items:center;margin:0;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:10}
html:has(.hx[open]){overflow:hidden}
@media (max-width:860px){.hx{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;inset:0;overscroll-behavior:contain}.hx-info{padding:22px 18px calc(30px + env(safe-area-inset-bottom,0px))}.hx-main{aspect-ratio:4/3}.hx-prev,.hx-next{width:40px;height:40px}}

/* ===== 28 Oct 2026: Black & Blanc Run Club ===== */
.rc-lock{margin:8px 0 0;display:grid;gap:clamp(8px,1.4vw,16px);justify-items:start;width:min(620px,100%)}
.rc-lock img{display:block;width:100%;height:auto}
.rc-hero .rc-lock img{filter:none!important}
.rc-lock{justify-items:stretch;gap:clamp(10px,1.6vw,18px)}
.rc-word{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5em;font-family:"DM Mono",var(--code);font-weight:500;text-transform:uppercase;letter-spacing:.42em;line-height:1;font-size:clamp(20px,4.4vw,52px);text-align:center;padding-left:.42em}
.rc-word::before,.rc-word::after{content:"";height:2px;background:currentColor;opacity:.9}
.rc-meta{display:block;text-align:center;font-family:"DM Mono",var(--code);font-size:clamp(10px,1.1vw,13px);text-transform:uppercase;letter-spacing:.32em;opacity:.6}
.rc-hero .rc-word::before{background:linear-gradient(90deg,transparent,#121110)}.rc-hero .rc-word::after{background:linear-gradient(90deg,#121110,transparent)}
.rc-lock-sm{width:min(440px,100%)}.rc-lock-sm .rc-word{font-size:clamp(16px,3vw,34px)}
.rc-facts{margin:0 0 56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border-top:1px solid var(--line)}
.rc-facts div{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}
.rc-facts dt{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.rc-facts dd{margin:0;font-size:18px;line-height:1.45}
@media (max-width:860px){.rc-facts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rc-facts{grid-template-columns:1fr}}
.rc-form{max-width:720px;width:100%}
.rc-form textarea{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:0;padding:10px;width:100%;resize:vertical}
.rc-goals{border:0;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.rc-goals legend{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin-bottom:10px;padding:0}
.rc-goals label{display:flex!important;gap:10px;align-items:center;font-size:17px;cursor:pointer}
.rc-goals input,.rc-ok input{width:20px;height:20px;accent-color:var(--dot);flex:none}
.rc-goals label span{font-family:var(--read)!important;font-size:17px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}
.rc-ok{display:flex!important;gap:10px;align-items:flex-start}
.rc-ok span{font-family:var(--read)!important;font-size:16px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}
@media (max-width:600px){.rc-goals{grid-template-columns:1fr}}

/* About: where you'll find me */
.favs{grid-column:1 / -1;margin-top:96px;border-top:1px solid var(--ink);padding-top:24px}
.favs-h{font-family:var(--display);font-weight:500;letter-spacing:-.03em;font-size:clamp(36px,5vw,64px);margin:0}
.favs-l{color:var(--mute);font-size:18px;margin:12px 0 32px;max-width:52ch}
.favs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.favs-grid li{border:1px solid var(--line);padding:22px;display:grid;gap:10px;align-content:start;min-height:170px}
.favs-grid b{font-family:var(--italic);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1}
.favs-grid li > span:last-child{color:var(--mute);font-size:16px;line-height:1.5}
@media (max-width:860px){.favs-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.favs-grid{grid-template-columns:1fr}.favs-grid li{min-height:0}}

/* Mobile: no sideways scroll, 16px form fields (stops iOS zoom) */
html,body{overflow-x:clip}
img,video,iframe,table{max-width:100%}
@media (max-width:600px){input,select,textarea{font-size:16px!important}}

/* Live: Budget explainer */
.bx .wrap{display:grid;gap:14px}
.bx-h{font-family:var(--display);font-weight:500;letter-spacing:-.03em;font-size:clamp(34px,5vw,64px);line-height:1.02;margin:0}
.bx-l{color:var(--mute);font-size:18px;max-width:60ch;margin:0 0 12px}
.bx-grid{display:grid;border-top:1px solid var(--ink)}
.bx-p{border-bottom:1px solid var(--line)}
.bx-p summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:18px 0}
.bx-p summary::-webkit-details-marker{display:none}
.bx-p summary::after{content:"+";font-family:var(--code);color:var(--dot);font-size:20px}
.bx-p[open] summary::after{content:"–"}
.bx-p summary b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}
.bx-p summary .code{color:var(--mute)}
.bx-b{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;padding:0 0 24px}
.bx-b ul{margin:10px 0 0;padding-left:18px;display:grid;gap:8px;font-size:17px;line-height:1.55}
.bx-n{font-size:14px;color:var(--mute);margin-top:8px}
@media (max-width:760px){.bx-b{grid-template-columns:1fr}.bx-p summary{grid-template-columns:1fr auto}.bx-p summary .code{display:none}}

/* Area guides: numbers and what's new */
.area-nums{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.area-nums li{background:var(--paper);padding:16px;display:grid;gap:6px}
.area-nums b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}
.area-nums span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);line-height:1.4}
.area-note{font-size:14px!important;color:var(--mute);line-height:1.55}
.area-new{margin:12px 0 0;padding-left:20px;display:grid;gap:10px}
.area-src a{color:inherit}

/* Buy: buying agent */
.ba-stat{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
.ba-stat b{font-family:var(--display);font-weight:500;font-size:clamp(40px,5vw,64px);letter-spacing:-.03em;line-height:1}
.ba-stat span{color:var(--mute)}
.ba-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:72px}
.ba-grid > div{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:10px;align-content:start}
.ba-grid h3{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.025em;margin:0}
.ba-grid p{margin:0;color:var(--mute);font-size:17px;line-height:1.6}
.ba-form{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);margin-top:96px;border:1px solid var(--line);padding:clamp(20px,3vw,40px)}
.ba-form-l{display:grid;gap:14px;align-content:start}
.ba-form-l h3{font-size:clamp(36px,4.6vw,64px);margin:0;line-height:1}
.ba-form-l p{color:var(--mute);font-size:18px;margin:0}
.ba-form textarea{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px;width:100%}
@media (max-width:860px){.ba-grid,.ba-form{grid-template-columns:1fr}}

/* Glossary */
.gl-az{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.gl-az a{font-family:var(--code);font-size:14px;min-width:38px;min-height:38px;display:grid;place-items:center;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.gl-az a:hover{border-color:var(--dot);color:var(--dot)}
.gl-l{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;border-top:1px solid var(--ink);padding:24px 0;scroll-margin-top:90px}
.gl-k{font-family:var(--italic);font-weight:400;font-size:64px;line-height:.9;margin:0;color:var(--dot)}
.gl-l dl{margin:0;display:grid;gap:22px}
.gl-l dl > div{scroll-margin-top:90px}
.gl-l dt{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em}
.gl-l dd{margin:6px 0 0;color:var(--soft);font-size:17px;line-height:1.6;max-width:68ch}
.gl-l dd a{color:var(--ink)}
.gl-n{color:var(--mute);font-size:14px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
@media (max-width:600px){.gl-l{grid-template-columns:1fr;gap:8px}.gl-k{font-size:48px}}
/* Header fits small phones (320–380px) */
@media (max-width:380px){header .wrap{gap:10px}.hd-r{gap:6px}.lang-btn{margin-right:0;padding:7px 8px}.lang-btn #lang-cur{display:none}.menu-btn{padding:8px 9px}.wordmark{font-size:21px}}
.bx{padding-top:clamp(56px,7vw,104px)!important}.bx .wrap{border-top:1px solid var(--line);padding-top:28px}

/* ===== School catchment map ===== */
.cm{padding:0 max(16px,env(safe-area-inset-left)) 48px}
.cm-wrap{display:grid;gap:14px}
.cm-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;border-top:1px solid var(--ink);padding-top:18px}
.cm-pc{display:flex;gap:10px;align-items:end}
.cm-pc label{display:grid;gap:6px}
.cm-pc input{font:inherit;font-size:18px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:8px 0;width:150px;text-transform:uppercase}
.cm-pc .kt-send{min-height:44px}
.cm-seg{display:inline-flex;border:1px solid var(--line)}
.cm-seg button{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:none;border:0;color:var(--mute);padding:10px 14px;cursor:pointer;min-height:42px}
.cm-seg button.on{background:var(--ink);color:var(--paper)}
.cm-tog{display:inline-flex;gap:8px;align-items:center;font-size:15px;min-height:42px}
.cm-tog input{width:18px;height:18px;accent-color:var(--dot)}
.cm-msg{margin:0;min-height:1.4em;font-size:16px}
.cm-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:stretch}
.cm-map{height:min(72vh,680px);min-height:420px;border:1px solid var(--line);background:var(--band);z-index:0}
.cm-side{display:grid;grid-template-rows:auto 1fr;gap:10px;min-height:0;max-height:min(72vh,680px)}
.cm-key{display:flex;flex-wrap:wrap;gap:8px 14px;font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}
.cm-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.k-ring{background:#00A88F}.k-open{background:#8A857D}.k-other{background:#9B6BFF}.k-home{background:#FF3B30}
.cm-list{list-style:none;margin:0;padding:0;overflow:auto;border-top:1px solid var(--line)}
.cm-list button{display:grid;gap:3px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:10px 4px;cursor:pointer;font:inherit}
.cm-list button:hover{background:var(--band)}
.cm-list b{font-weight:500;font-size:15px}
.cm-list span{font-size:13px;color:var(--mute)}
.cm-list em,.cm-pop em{font-style:normal;font-weight:500}
.s-in{color:#00A88F}.s-out{color:#E0533D}.s-open{color:var(--mute)}.s-other{color:#9B6BFF}.s-ring{color:var(--ink)}
.cm-src{font-size:13px;color:var(--mute);line-height:1.55;margin:4px 0 0}
.cm-src a{color:inherit}
.cm-pop{display:grid;gap:6px;font-family:var(--read)}
.cm-pop .code{font-size:10px}
.cm-pop b{font-size:16px;font-weight:600;line-height:1.25}
.cm-addr{font-size:12px;color:#666}
.cm-you{font-size:13px}
.cm-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:2px}
.cm-t{display:grid;gap:2px;font-size:11px;padding:6px;border:1px solid #ddd;line-height:1.25}
.cm-t b{font-family:var(--code);font-size:10px;color:#777;font-weight:400}
.cm-t.on{border-color:#00A88F;background:rgba(0,168,143,.08)}
.cm-note{margin:0;font-size:12px;color:#555}
.cm-pop a{font-size:12px}
.leaflet-container{font-family:var(--read)}
.leaflet-popup-content{margin:12px 14px}
.cm-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
.cm-cols > div{border-top:1px solid var(--ink);padding-top:16px}
.cm-cols h3{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;margin:0 0 10px}
.cm-cols p{margin:0;color:var(--soft);font-size:17px;line-height:1.6}
.cm-more{margin-top:24px;font-size:17px}
.cm-cta{margin-top:0}.cm-cta-r{display:grid;gap:16px;align-content:center;justify-items:start}
@media (max-width:860px){.cm-grid{grid-template-columns:1fr}.cm-map{height:62vh;min-height:360px}.cm-side{max-height:none}.cm-list{max-height:420px}.cm-cols{grid-template-columns:1fr}}
@media (max-width:520px){.cm-bar{gap:10px}.cm-pc{width:100%}.cm-pc label{flex:1}.cm-pc input{width:100%}}
.rc-meta-out{width:min(620px,100%);margin:-10px 0 0;color:inherit}
.cm-map .leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.04)}
.cm-map.cm-dark .leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.82) contrast(.92)}
/* Live: automatic headline entries */
.lv-e.t-headline h2{font-size:clamp(18px,1.8vw,22px);font-weight:500}
.lv-e.t-headline .lv-tag{background:transparent;border:1px solid var(--line);color:var(--mute)}
.lv-e.t-announcement .lv-tag{background:var(--dot);color:#0E0E0D}

/* Budget breakdown */
.bd .wrap{display:grid;gap:14px}
.bd-h{font-family:var(--display);font-weight:500;letter-spacing:-.035em;font-size:clamp(40px,6vw,84px);line-height:1;margin:0}
.bd-l{color:var(--mute);font-size:19px;max-width:62ch;margin:0 0 16px}
.bd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--ink)}
.bd-g{border-bottom:1px solid var(--line);padding:22px 0}
.bd-g h3{margin:0 0 10px;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;display:flex;gap:12px;align-items:baseline}
.bd-g h3 .code{color:var(--dot)}
.bd-g ul{margin:0;padding-left:18px;display:grid;gap:10px;font-size:17px;line-height:1.55;color:var(--soft)}
.bd-g b{color:var(--ink);font-weight:500}
.bd-take{margin-top:24px;border:1px solid var(--dot);padding:clamp(18px,3vw,32px);display:grid;gap:10px}
.bd-take p{margin:0;font-size:18px;line-height:1.6}
@media (max-width:860px){.bd-grid{grid-template-columns:1fr}}

/* Home: Budget call-out */
.h2-budget{display:grid;gap:6px;padding:18px 20px;margin:4px 0 10px;border:1px solid var(--dot);background:linear-gradient(135deg,rgba(43,240,208,.14),rgba(43,240,208,0) 70%);color:var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s}
.h2-budget:hover,.h2-budget:focus-visible{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.h2-budget-k{display:flex;align-items:center;gap:10px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--hot)}
.h2-budget-k i{width:8px;height:8px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 4px rgba(43,240,208,.25)}
.h2-budget b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.025em;line-height:1.15}
.h2-budget-s{color:var(--soft);font-size:16px;line-height:1.5}
.h2-budget-go{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}

/* Budget breakdown: interactive */
.bd-bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);padding-top:16px}
.bd-who{display:flex;flex-wrap:wrap;gap:8px}
.bd-who button,.bd-mode button,.bdk-tabs button,.bdc-more{font:inherit;font-size:15px;min-height:42px;padding:8px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;border-radius:999px}
.bd-who button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bd-mode{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.bd-mode button{border:0;min-height:36px;font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.bd-mode button.on{background:var(--dot);color:#0E0E0D}
.bd-count{margin:8px 0 0;color:var(--mute)}
.bd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:8px}
.bdc{border:1px solid var(--line);padding:22px;display:grid;gap:10px;align-content:start;background:var(--paper);transition:border-color .2s,transform .2s}
.bdc:hover{border-color:var(--dot);transform:translateY(-2px)}
.bdc-stat{font-family:var(--display);font-weight:600;font-size:clamp(36px,4vw,52px);letter-spacing:-.04em;line-height:1;color:var(--hot)}
.bdc h3{margin:0;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em}
.bdc-s{margin:0;font-size:17px;line-height:1.5;color:var(--ink)}
.bdc-d{margin:4px 0 0;padding-left:18px;display:grid;gap:8px;font-size:15px;line-height:1.55;color:var(--soft)}
.bdc-act{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:4px}
.bdc-more{font-size:13px;min-height:34px;padding:6px 12px}
.bdc-calc{font-family:var(--code);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--hot)}
.bd-simple .bdc-s{font-size:18px}
.bdk{margin-top:48px;border:1px solid var(--dot);padding:clamp(18px,3vw,32px);display:grid;gap:16px;background:linear-gradient(135deg,rgba(43,240,208,.08),rgba(43,240,208,0) 60%)}
.bdk-head h3{margin:6px 0 0;font-family:var(--display);font-weight:500;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.03em}
.bdk-tabs{display:flex;flex-wrap:wrap;gap:8px}
.bdk-tabs button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bdk-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.bdk-in label{display:grid;gap:6px}
.bdk-in label span{font-family:var(--code);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.bdk-in input,.bdk-in select{font:inherit;font-size:18px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:8px 0;width:100%;border-radius:0}
.bdk-in select option{background:var(--paper);color:var(--ink)}
.bdk-out{display:grid;gap:10px;min-height:60px}
.bdk-out p{margin:0;font-size:16px}
.bdk-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.bdk-res>div{background:var(--paper);padding:14px;display:grid;gap:4px}
.bdk-res b{font-family:var(--display);font-weight:600;font-size:clamp(26px,3vw,36px);letter-spacing:-.03em}
.bdk-res .hl b{color:var(--hot)}
.bdk-n{font-size:13px!important;color:var(--mute)}
.bdk-warn{color:#E0533D}.bdk-ok{color:var(--hot)}
/* mobile fit fix 28 Oct */
.bd .wrap{grid-template-columns:minmax(0,1fr)}.bd .wrap>*,.bd-bar>*,.bdk>*,.bdk-in>*{min-width:0}
@media (max-width:600px){.bd-bar{flex-direction:column;align-items:stretch}.bd-who{flex-wrap:wrap;gap:8px}.bd-who button{flex:none;font-size:14px;min-height:40px;padding:7px 12px}.bd-mode{align-self:flex-start}.bd-cards{grid-template-columns:minmax(0,1fr)}.bdk-in{grid-template-columns:minmax(0,1fr)}.bdk-res{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bd-h{font-size:clamp(34px,10vw,48px);overflow-wrap:anywhere}.bd-l{font-size:17px}}
.bdc-d[hidden],.bdk-p[hidden]{display:none!important}
footer .addr.cover{margin-top:8px;color:var(--mute);font-size:14px;line-height:1.45;max-width:30ch}
/* Budget page: folded day timeline */
.lv-day{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.lv-day>summary{list-style:none;cursor:pointer;display:grid;gap:4px;padding:20px 0;position:relative}
.lv-day>summary::-webkit-details-marker{display:none}
.lv-day>summary::after{content:"+";position:absolute;right:0;top:22px;font-family:var(--code);font-size:22px;color:var(--dot)}
.lv-day[open]>summary::after{content:"–"}
.lv-day>summary b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}
.lv-day-n{color:var(--mute);font-size:15px}
.lv-day[open]>summary{margin-bottom:12px}

/* ===== App (28 Oct): install prompt + app-mode tab bar ===== */
.kt-install{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:72;display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:start;padding:16px;background:#0E0E0D;color:#EDEBE7;border:1px solid rgba(43,240,208,.45);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.35);animation:ktUp .45s cubic-bezier(.2,.7,.2,1)}
@keyframes ktUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.kt-install img{border-radius:12px;display:block}
.kt-install-t{display:grid;gap:4px;min-width:0}
.kt-install-t b{font-size:16px;font-weight:600}
.kt-install-t>span{font-size:14px;line-height:1.4;color:#B8B3AB}
.kt-install-how{margin:6px 0 0;font-size:14px;line-height:1.4;color:#EDEBE7}
.kt-install-how b{color:#2BF0D0;font-weight:600}
.kt-share{display:inline-flex;vertical-align:-4px;width:20px;height:20px;color:#2BF0D0}
.kt-share svg,.kt-tabs svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kt-install-go{justify-self:start;margin-top:8px;font:inherit;font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;border:0;background:#2BF0D0;color:#0E0E0D;cursor:pointer}
.kt-install-x{font:inherit;font-size:24px;line-height:1;width:34px;height:34px;border-radius:50%;border:1px solid #33302C;background:transparent;color:#B8B3AB;cursor:pointer}
html.kt-install-on .kchat,html.kt-install-on .kacc{bottom:calc(150px + env(safe-area-inset-bottom))}
.kt-tabs{display:none}
@media (display-mode: standalone){
  header{top:0;padding-top:env(safe-area-inset-top)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .kt-tabs{position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--paper);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border-top:1px solid var(--line)}
  .kt-tabs a{display:grid;justify-items:center;gap:3px;padding:6px 0 4px;text-decoration:none;color:var(--mute);font-family:var(--code);font-size:10px;letter-spacing:.06em;text-transform:uppercase;-webkit-tap-highlight-color:transparent}
  .kt-tabs a svg{width:24px;height:24px}
  .kt-tabs a[aria-current="page"]{color:var(--ink)}
  .kt-tabs a[aria-current="page"] svg{color:var(--dot)}
  .kchat-btn{display:none!important}
  .kacc{bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .kchat{bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .kchat-panel{bottom:calc(78px + env(safe-area-inset-bottom))!important}
}
