/* The Neon Rose v2: "After Dark, in Silver". Spec: DESIGN-v2.md */
:root{
  --ink:#0B0809; --ink-2:#151012; --ink-3:#221A1D; --line:#3A2F33;
  --bone:#F3ECE6; --ash:#B9ADA8; --smoke:#8C807B;
  --neon:#FF2E93; --neon-deep:#B0125F; --neon-soft:rgba(255,46,147,.22);
  --ice:#9FE8F2; --ice-deep:#0E6F7C; --paper:#EFE8E1; --on-neon:#0B0809;
  --gutter:clamp(16px,4vw,56px); --max:1320px; --sect:clamp(96px,11vw,160px);
  --ease:cubic-bezier(.2,.7,0,1);
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-text:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --t-xl:clamp(64px,16vw,224px); --t-l:clamp(44px,8.5vw,120px); --t-m:clamp(30px,4.6vw,56px);
  --t-lead:clamp(19px,2vw,23px); --hdr:64px;
  color-scheme:dark;
}
@media (max-width:899px){:root{--gutter:16px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--bone);font:400 18px/1.65 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (max-width:899px){body{font-size:17px}}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit}
h1,h2,h3,p,ul,blockquote,figure{margin:0}
ul{padding:0;list-style:none}
p{text-wrap:pretty}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px;box-shadow:0 0 0 6px var(--neon-soft)}
.paper :focus-visible{outline-color:var(--neon-deep);box-shadow:0 0 0 6px rgba(176,18,95,.18)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[hidden]{display:none!important}
html:not(.js) .js-only{display:none!important}
::selection{background:var(--neon);color:var(--on-neon)}

.skip{position:absolute;left:12px;top:-100px;z-index:200;background:var(--neon);color:var(--on-neon);padding:12px 20px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none}
.skip:focus{top:10px}

/* ---------- type ---------- */
.d{font-family:var(--f-display);font-weight:380;line-height:1.04;text-wrap:balance}
.d em{font-style:italic;color:var(--neon);font-weight:inherit}
.t-xl{font-size:var(--t-xl);line-height:.86;letter-spacing:-.035em;font-weight:300}
.t-l{font-size:var(--t-l);line-height:.92;letter-spacing:-.025em}
.t-m{font-size:var(--t-m);line-height:1.04;letter-spacing:-.015em}
@media (min-width:760px){.t-l{font-weight:300}}
.lead{font-size:var(--t-lead);line-height:1.5}
.eyebrow{display:block;font:600 12px/1.3 var(--f-text);text-transform:uppercase;letter-spacing:.18em;color:var(--ash);font-variant-numeric:tabular-nums}
.meta{font:500 13px/1.5 var(--f-text);color:var(--smoke)}
.body{max-width:62ch}
.ash{color:var(--ash)}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sect{padding-block:var(--sect)}
@media (min-width:900px){.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}}
[id]{scroll-margin-top:80px}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 15px/1.1 var(--f-text);letter-spacing:.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;background:none;transition:box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn--sm{min-height:44px;padding:0 18px}
.btn--neon{background:var(--neon);color:var(--on-neon)}
.btn--neon:hover{box-shadow:0 0 0 6px var(--neon-soft)}
.btn--line{border-color:var(--bone);color:var(--bone)}
.btn--line:hover{background:var(--bone);color:var(--ink)}
.btn--line-ink{border-color:var(--ink);color:var(--ink)}
.btn--line-ink:hover{background:var(--ink);color:var(--paper)}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 15px/1.2 var(--f-text);letter-spacing:.02em;color:var(--bone);text-decoration:none}
.link-arrow>span:first-child{padding-bottom:3px;background:linear-gradient(var(--neon),var(--neon)) 0 100%/0 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease)}
.link-arrow:hover>span:first-child,.link-arrow:focus-visible>span:first-child{background-size:100% 1px,100% 1px}
.link-arrow .arr{display:inline-block;color:var(--neon);transition:transform .3s var(--ease)}
.link-arrow:hover .arr,.link-arrow:focus-visible .arr{transform:translateX(4px)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);transition:background-color .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr--solid{background:rgba(11,8,9,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.hdr__in{height:100%;display:flex;align-items:center;gap:24px;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.wm{font-family:var(--f-display);font-weight:300;font-size:22px;line-height:1;letter-spacing:-.01em;color:var(--bone);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.wm em{font-style:italic;color:var(--neon);margin-left:.22em}
.hdr__nav{margin-left:auto}
.hdr__nav ul{display:flex;gap:28px}
.hdr__nav a{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1 var(--f-text);color:var(--ash);text-decoration:none;background:linear-gradient(var(--neon),var(--neon)) 0 calc(50% + 12px)/0 1px no-repeat;transition:color .25s,background-size .3s var(--ease)}
.hdr__nav a:hover,.hdr__nav a:focus-visible,.hdr__nav a[aria-current="page"]{color:var(--bone);background-size:100% 1px}
.hdr__book{min-height:44px;padding:0 20px}
.hdr__book:hover{background:var(--neon);border-color:var(--neon);color:var(--on-neon)}
.hdr__pill,.hdr__menu{display:none}
@media (max-width:899px){
  .hdr__nav,.hdr__book{display:none}
  .hdr__in{gap:8px}
  .wm{margin-right:auto;font-size:21px}
  .hdr__pill{display:inline-flex;transition:opacity .25s,visibility .25s}
  .menu-ready .hdr__menu{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 6px 0 10px;border:0;background:none;font:600 15px/1 var(--f-text);letter-spacing:.02em;cursor:pointer}
  .hdr--bar-on .hdr__pill{opacity:0;visibility:hidden}
}

/* ---------- menu sheet ---------- */
.menu{position:fixed;inset:0;z-index:100;background:var(--ink);display:flex;flex-direction:column;padding:0 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}
.menu__top{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;flex:none}
.menu__close{min-width:44px;min-height:44px;border:0;background:none;font:600 15px/1 var(--f-text);cursor:pointer;padding:0 6px}
.menu__links{margin-top:24px;border-top:1px solid var(--line)}
.menu__links li{border-bottom:1px solid var(--line)}
.menu__links a{display:flex;align-items:center;justify-content:space-between;min-height:76px;font-family:var(--f-display);font-weight:380;font-size:var(--t-m);letter-spacing:-.015em;line-height:1;text-decoration:none}
.menu__links a::after{content:"→";font:400 20px/1 var(--f-text);color:var(--neon)}
.menu__cta{margin-top:auto;padding-top:32px;display:grid;gap:12px}
.menu-open{overflow:hidden}

/* ---------- sticky bar ---------- */
.bar{display:none}
@media (max-width:899px){
  .js body.has-bar{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .js .bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px 12px calc(8px + env(safe-area-inset-bottom));min-height:60px;background:rgba(21,16,18,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(100%);transition:transform .3s var(--ease),visibility .3s;visibility:hidden}
  .js .bar.is-on{transform:none;visibility:visible}
  .bar .btn{min-height:44px;padding:0 12px}
}

/* ---------- hero ---------- */
.hero{position:relative;margin-top:calc(var(--hdr) * -1)}
.hero__media{position:relative;overflow:hidden;background:var(--ink-2)}
.hero__media picture,.hero__media img{width:100%;height:100%}
.hero__media img{object-fit:cover}
.hero__media::before,.hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1}
.hero h1 .ln{display:block;white-space:nowrap}
.hero h1 em{text-shadow:0 0 .35em var(--neon-soft)}
.hero .eyebrow{margin-bottom:16px}
.micro{display:flex;align-items:center;gap:10px;margin-top:20px;font:500 13px/1.5 var(--f-text);color:var(--ash);min-height:24px}
.micro::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ice);flex:none}
.micro a{color:var(--bone);text-underline-offset:3px;text-decoration-color:var(--neon);display:inline-flex;align-items:center;min-height:44px}

@media (max-width:899px){
  .hero__media{height:min(74svh,133vw);min-height:440px}
  .hero__media img{object-position:50% 30%}
  .hero__media::after{background:linear-gradient(to top,var(--ink) 0%,rgba(11,8,9,.85) 30%,rgba(11,8,9,.55) 45%,transparent 65%)}
  .hero__head .eyebrow{display:none}
  .hero__body .eyebrow{margin-bottom:16px}
  .hero__media::before{background:linear-gradient(to bottom,rgba(11,8,9,.55),transparent 22%)}
  .hero{display:grid;grid-template-columns:minmax(0,1fr)}
  .hero__grid{display:contents}
  .hero__media{grid-area:1 / 1}
  .hero__head{grid-area:1 / 1;align-self:end;position:relative;z-index:2;padding:0 16px 20px}
  .hero__body{grid-area:2 / 1;padding:20px 16px 0}
  .hero__body .btns{flex-direction:column;align-items:stretch;margin-top:24px}
  .hero__body .link-arrow{display:none}
}
@media (min-width:900px){
  .hero{min-height:clamp(680px,100svh,1000px)}
  .hero__media{position:absolute;top:0;bottom:0;left:calc(50% + 12px);right:0}
  .hero__media::after{background:linear-gradient(to right,var(--ink) 0%,rgba(11,8,9,.6) 18%,transparent 45%)}
  .hero__media::before{background:linear-gradient(to bottom,rgba(11,8,9,.75),transparent 26%)}
  .hero__body .eyebrow{display:none}
  .hdr:not(.hdr--solid) .hdr__nav a{color:var(--bone)}
  .hero__grid{position:relative;z-index:2;min-height:inherit;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:end;padding-top:calc(var(--hdr) + 48px);padding-bottom:72px}
  .hero__head,.hero__body{grid-column:1 / 8}
  .hero h1{font-size:clamp(64px,10vw,150px)}
  .hero h1 .ln:first-child{text-shadow:0 0 40px rgba(11,8,9,.6)}
  .hero__body .lead{max-width:34ch;margin-top:36px}
  .hero__body .btns{margin-top:32px;gap:28px}
  .hero__body .btn--line{display:none}
}

/* ---------- manifesto ---------- */
.rw__body{margin-top:40px;color:var(--ash)}
.rw__body .first{color:var(--bone)}
.rw__img{margin-top:48px;width:80%;margin-left:auto}
.outcomes{margin-top:96px;border-top:1px solid var(--line)}
.outcomes li{padding:20px 0;border-bottom:1px solid var(--line)}
.outcomes .eyebrow{color:var(--smoke);margin-bottom:10px}
.outcomes .d{font-style:italic;color:var(--bone)}
@media (min-width:900px){
  .rw .grid{align-items:start}
  .rw h2{grid-column:1 / 9;grid-row:1}
  .rw__body{grid-column:2 / 8;grid-row:2}
  .rw__img{grid-column:9 / 13;grid-row:1 / 4;width:auto;margin:120px 0 0}
  .outcomes{display:grid;grid-template-columns:repeat(3,1fr);border-top:0}
  .outcomes li{border-bottom:0;border-left:1px solid var(--line);padding:8px 32px}
  .outcomes li:first-child{border-left:0;padding-left:0}
}

/* ---------- photos ---------- */
.ph{position:relative;overflow:hidden;background:var(--ink-3)}
.ph img{width:100%;height:auto}

/* ---------- disciplines ---------- */
.cls{padding-top:calc(var(--sect) * .5)}
.cls__head .eyebrow{margin-bottom:18px}
.panel .eyebrow{color:var(--neon);margin-top:24px}
.panel h3{margin-top:10px}
.panel p{margin-top:12px;color:var(--ash);max-width:34ch}
.panel .link-arrow{margin-top:10px}
.counter{margin-top:16px;font:500 13px/1 var(--f-text);color:var(--smoke);font-variant-numeric:tabular-nums}
@media (min-width:900px){
  .cls__list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:72px;align-items:start}
  .cls__list>li:nth-child(1){grid-column:1 / 5}
  .cls__list>li:nth-child(2){grid-column:5 / 9;margin-top:96px}
  .cls__list>li:nth-child(3){grid-column:9 / 13}
  .counter{display:none}
}
@media (max-width:899px){
  .snap-wrap{overflow:hidden;margin-inline:-16px;margin-top:40px}
  .snap{display:grid;grid-auto-flow:column;grid-auto-columns:82vw;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;padding-inline:16px;scrollbar-width:none;overscroll-behavior-x:contain;align-items:start}
  .snap::-webkit-scrollbar{display:none}
  .snap>li{scroll-snap-align:start}
  .snap--g{grid-auto-columns:78vw}
}
.every{margin-top:var(--sect);text-align:center}
.every .ln{display:block}
.every p:not(.d){margin:28px auto 0;color:var(--ash)}

/* ---------- marquee ---------- */
.mq{position:relative;border-block:1px solid var(--line);padding:40px 0;overflow:hidden}
.mq__toggle{position:absolute;right:var(--gutter);bottom:8px;z-index:2;min-width:44px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(11,8,9,.8);color:var(--ash);font:500 13px/1 var(--f-text);cursor:pointer}
.mq__toggle:hover{color:var(--bone);border-color:var(--ash)}
.mq--paused .mq__track{animation-play-state:paused!important}
.mq--static .mq__toggle{display:none}
.mq__track{display:flex;width:max-content}
.mq__grp{display:flex;flex:none}
.mq__w{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:var(--t-xl);line-height:1.02;letter-spacing:-.03em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(243,236,230,.6);padding-right:.3em;display:inline-flex;align-items:center;gap:.3em}
.mq__w.f{color:var(--neon);-webkit-text-stroke:0}
.mq__w .s{color:var(--neon);-webkit-text-stroke:0;font-style:normal;font-size:.32em}
.mq__static{display:none;text-align:center;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:var(--t-l);line-height:1;letter-spacing:-.025em;padding-inline:16px;color:var(--bone)}
.mq__static em{color:var(--neon)}
.mq--static .mq__track{display:none}
.mq--static .mq__static{display:block}
@media (prefers-reduced-motion:reduce){.mq__track,.mq__toggle{display:none}.mq__static{display:block}}

/* ---------- pole in the park ---------- */
.paper{background:var(--paper);color:var(--ink)}
.paper .eyebrow{color:var(--ice-deep)}
.paper .d em{color:var(--neon-deep)}
.park .eyebrow{margin-bottom:18px}
.park__img{margin-top:40px}
.park__copy{margin-top:40px;color:rgba(11,8,9,.8)}
.park__copy strong{display:block;margin-top:18px;font:600 17px/1.4 var(--f-text);color:var(--ink)}
.dates{margin-top:40px;border:1px solid rgba(11,8,9,.2);padding:28px}
.dates__empty{display:flex;align-items:baseline;gap:14px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ice-deep);flex:none;transform:translateY(-.35em)}
.dates .dot{align-self:flex-start;transform:none;margin-top:.55em}
.dates .btns{margin-top:24px}
.dates .btn{white-space:normal;text-align:center}
@media (max-width:899px){.dates{padding:24px 20px}.dates .btns{flex-direction:column;align-items:stretch}}
.dates__list li{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(11,8,9,.15)}
.dates__list li:first-child{padding-top:0}
.dates__d{font-family:var(--f-display);font-weight:380;font-size:28px;line-height:1.1;letter-spacing:-.01em}
.dates__tp{font-size:16px;line-height:1.4;grid-column:1}
.dates__n{font-size:13px;color:rgba(11,8,9,.72);grid-column:1}
.paper .link-arrow{color:var(--ink)}
.paper .link-arrow .arr{color:var(--neon-deep)}
.paper .link-arrow>span:first-child{background-image:linear-gradient(var(--neon-deep),var(--neon-deep)),linear-gradient(rgba(11,8,9,.25),rgba(11,8,9,.25))}
.dates__list .link-arrow{grid-column:2;grid-row:1 / 4}
.dates__more{margin-top:12px}
@media (min-width:900px){
  .park h2{grid-column:1 / 9}
  .park .eyebrow{grid-column:1 / 9}
  .park__img{grid-column:1 / 13;margin-top:48px}
  .park__copy{grid-column:1 / 7;margin-top:56px}
  .dates{grid-column:8 / 13;margin-top:56px;align-self:start}
}

/* ---------- updates ---------- */
.upd.sect,.ft.sect,.ct.sect{padding-block:clamp(72px,7.5vw,112px)}
.ft{background:var(--ink-2)}
.ct{border-top:1px solid var(--line)}
.sign{position:relative;max-width:603px;margin-inline:auto}
.sign::before{content:"";position:absolute;inset:-20%;background:radial-gradient(closest-side,rgba(255,46,147,.16),transparent);pointer-events:none}
.sign picture{position:relative}
.sign img{mix-blend-mode:screen;width:100%}
.upd__txt .eyebrow{margin-bottom:18px}
.upd__txt h2{font-size:clamp(36px,5vw,64px)}
.upd__txt>p{margin-top:24px;color:var(--ash)}
.notify{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}
.notify p{color:var(--bone)}
.notify .btn{margin-top:16px}
.notify .meta{margin-top:10px;color:var(--smoke)}
@media (max-width:899px){.upd__txt{margin-top:48px}}
@media (min-width:900px){
  .upd .grid{align-items:center}
  .sign{grid-column:1 / 7;width:100%}
  .upd__txt{grid-column:8 / 13}
}

/* ---------- founder teaser ---------- */
.rose{max-width:520px}
.ft__txt{margin-top:32px}
.ft blockquote{margin-top:22px;font-style:italic;color:var(--bone);hanging-punctuation:first}
.ft .sig{margin-top:24px;text-transform:uppercase;letter-spacing:.14em}
.ft .ash{margin-top:16px}
.ft .link-arrow{margin-top:12px}
@media (min-width:900px){
  .ft .grid{align-items:center}
  .ft .rose{grid-column:2 / 7}
  .ft__txt{grid-column:7 / 13;margin-top:0;padding-left:24px}
}

/* ---------- contact ---------- */
.ct{text-align:center}
.ct h2{font-size:var(--t-l);line-height:.95;letter-spacing:-.025em}
@media (min-width:900px){.ct h2{font-size:var(--t-xl);line-height:.86;letter-spacing:-.035em;font-weight:300}}
.ct__sub{margin:28px auto 0;max-width:40ch;color:var(--ash);text-wrap:balance}
.tiles{margin-top:64px;display:grid;gap:16px;text-align:left}
.tile{border:1px solid var(--line);background:var(--ink-2);padding:32px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.tile .eyebrow{margin-bottom:14px}
.tile__v{font-size:clamp(26px,7.4vw,56px);overflow-wrap:anywhere;line-height:1.08;text-decoration:none;color:var(--bone);display:block;max-width:100%}
a.tile__v{min-height:44px;display:flex;align-items:center}
.tile__v.sel{text-wrap:balance;user-select:all;-webkit-user-select:all}
@media (min-width:900px){.tile__v{font-size:clamp(24px,2.1vw,34px)}}
.tile .btns{margin-top:auto;padding-top:28px}
.tile__note{margin-top:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{min-height:44px;padding:0 16px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--ash);font:500 14px/1 var(--f-text);cursor:pointer;transition:border-color .2s,color .2s}
.chip[aria-pressed="true"]{border-color:var(--neon);color:var(--bone)}
.chip:hover{color:var(--bone)}
@media (max-width:899px){.tile{padding:24px 20px}.ct__sub{margin-top:20px}.tiles{margin-top:40px}}
@media (min-width:900px){
  .tiles{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .tile:nth-child(1){grid-column:2 / 7}
  .tile:nth-child(2){grid-column:7 / 12}
}

/* ---------- footer ---------- */
.ftr{background:var(--ink-2);padding-top:88px;overflow:hidden}
.ftr__top{display:grid;gap:48px}
.ftr .wm{font-size:28px}
.ftr__tag{margin-top:10px;color:var(--ash);font-size:15px}
.ftr__logo{margin-top:28px;display:flex;align-items:center;gap:16px}
.ftr__logo img{width:72px;height:74px;border-radius:6px;border:1px solid var(--line);filter:saturate(1.15) contrast(1.05)}
.ftr__nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;font-size:15px;align-content:start}
.ftr__nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--bone);text-decoration:none;overflow-wrap:anywhere}
.ftr__nav a:hover{color:var(--neon)}
.ftr__nav .wide{grid-column:1 / -1}
.ftr__nav .sep{grid-column:1 / -1;border-top:1px solid var(--line);margin:12px 0}
.ftr__bot{margin-top:64px;border-top:1px solid var(--line);padding-block:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font:500 12px/1.6 var(--f-text);text-transform:uppercase;letter-spacing:.14em;color:var(--smoke)}
.ftr__big{height:.62em;overflow:hidden;font-size:15.5vw;width:100%;text-align:center;font-family:var(--f-display);font-weight:300;line-height:.8;white-space:nowrap;letter-spacing:-.035em;color:rgba(243,236,230,.07);user-select:none;margin-top:8px}
.ftr__big em{font-style:italic;color:rgba(255,46,147,.35)}
@media (min-width:900px){
  .ftr__top{grid-template-columns:1fr 1fr}
  .ftr__nav{justify-self:end;width:min(100%,440px)}
}

/* ---------- founder page ---------- */
.cover{padding-top:88px}
.cover h1{margin-top:16px}
.cover h1 .ln{display:block}
.cover .rose{margin-top:28px}
.cover .lead{margin-top:28px;color:var(--bone);max-width:30ch}
@media (max-width:899px){
  .cover .grid{display:flex;flex-direction:column}
  .cover__txt{display:contents}
  .cover .lead{order:3}
  .cover .rose{order:2}
}
.origin h2{font-size:clamp(44px,7.4vw,104px)}
.origin h2 em{white-space:nowrap}
@media (min-width:900px){
  .cover{padding-top:64px;min-height:clamp(680px,calc(100svh - 64px),1000px);display:flex;align-items:center}
  .cover .wrap{width:100%}
  .cover .grid{align-items:end}
  .cover .rose{grid-column:2 / 7;grid-row:1 / 3;margin-top:0}
  .cover__txt{grid-column:7 / 13;grid-row:1 / 3;align-self:end;padding-left:24px;padding-bottom:8px}
  .cover__txt .lead{margin-top:36px}
}
.pull{text-align:center}
.pull::before{content:"";display:block;width:48px;height:2px;background:var(--neon);margin:0 auto 40px}
.pull blockquote{max-width:18ch;margin-inline:auto;font-style:italic;color:var(--bone);hanging-punctuation:first}
.pull figcaption{margin-top:32px;font:600 15px/1 var(--f-text);color:var(--ash)}
.origin blockquote{margin-top:28px;font-style:italic;color:var(--bone);hanging-punctuation:first;max-width:22ch}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:48px;align-items:start}
.pair>:nth-child(2){margin-top:48px}
@media (min-width:900px){
  .origin .grid{align-items:center}
  .origin__txt{grid-column:1 / 6}
  .pair{grid-column:7 / 13;gap:24px;margin-top:0}
  .pair>:nth-child(2){margin-top:96px}
}
.story{max-width:62ch;margin-inline:auto}
.story p{font-size:19px;line-height:1.7;color:var(--bone)}
.story p+p{margin-top:1.1em}
.story p:first-child::first-letter{font-family:var(--f-display);font-weight:300;font-size:4.2em;float:left;color:var(--neon);line-height:.8;margin:.06em .1em 0 0}
.bridge{text-align:center}
.bridge p{max-width:40ch;margin-inline:auto;color:var(--ash)}
.bridge .row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 32px;margin-top:24px}
.gal{padding-top:0}
@media (min-width:900px){
  .gal__list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  .gal__list>li:nth-child(1){grid-column:1 / 5}
  .gal__list>li:nth-child(2){grid-column:5 / 9;margin-top:64px}
  .gal__list>li:nth-child(3){grid-column:9 / 13}
}
@media (max-width:899px){.gal .snap-wrap{margin-top:0}.gal .ph img{aspect-ratio:4/5;object-fit:cover;height:auto}}

/* ---------- 404 ---------- */
.lost{min-height:clamp(600px,calc(100svh - 64px),960px);display:flex;align-items:center;padding-block:48px 96px}
.lost .wrap{width:100%}
.lost .grid{align-items:center}
.lost .eyebrow{color:var(--ice);margin-bottom:18px}
.lost p{margin-top:24px;color:var(--ash)}
.lost .btns{margin-top:32px}
.lost .ph{margin-top:48px}
@media (min-width:900px){.lost__txt{grid-column:1 / 7}.lost .ph{grid-column:8 / 13;margin-top:0}}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}
  html{scroll-behavior:smooth}
  .js .hero__media img{animation:heroZoom 1.4s var(--ease) both}
  .js .hero h1 .ln{animation:rise .9s var(--ease) both}
  .js .hero h1 .ln:nth-child(2){animation-delay:.12s}
  .js .hero h1 em{animation:ignite .4s ease-out .6s both}
  .js.flk .hero h1 em{animation:igniteFlk .5s linear .6s both}
  .rv .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .rv .reveal.in{opacity:1;transform:none}
  .rv .reveal-img{clip-path:inset(8% 0 0 0);transition:clip-path 1s var(--ease)}
  .rv .reveal-img img{transform:scale(1.04);transition:transform 1s var(--ease),filter .6s var(--ease)}
  .rv .reveal-img.in{clip-path:inset(0)}
  .rv .reveal-img.in img{transform:none}
  @media (pointer:fine){
    .ph img{transition:transform .6s var(--ease),filter .6s var(--ease)}
    .ph:hover img,.rv .reveal-img.in:hover img{transform:scale(1.02);filter:sepia(.08)}
  }
  .mq__track{animation:mq 40s linear infinite}
  .mq:hover .mq__track,.mq:focus-within .mq__track{animation-play-state:paused}
  .mq.flick .mq__w.f1{animation:flick 1.2s linear 1}
  .sign.flick img{animation:flick2 .9s linear 1}
  .dot{animation:pulse 2s ease-in-out 3}
}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ignite{from{color:rgba(243,236,230,0);text-shadow:none}to{color:var(--neon);text-shadow:0 0 .35em var(--neon-soft)}}
@keyframes igniteFlk{0%{color:rgba(243,236,230,0);opacity:1;text-shadow:none}25%{color:var(--neon);opacity:1}40%{opacity:.25}55%{opacity:1}70%{opacity:.45}85%{opacity:1;text-shadow:none}100%{opacity:1;color:var(--neon);text-shadow:0 0 .35em var(--neon-soft)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes flick{0%,100%{opacity:1}25%{opacity:.3}50%{opacity:1}75%{opacity:.6}}
@keyframes flick2{0%,100%{opacity:1}15%{opacity:.35}25%{opacity:1}50%{opacity:1}60%{opacity:.4}70%{opacity:1}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.story-sect{padding-top:var(--sect)}
.lost h1 .ln{display:block}
@media (min-width:900px){.lost h1{font-size:clamp(64px,8.4vw,136px)}}
