
/* Layout: a cinematic dark "field broadcast" shell — full-bleed painted landscapes, condensed signage type from the logo, bone-paper reading bands for long text. */
:root{
  color-scheme: dark;
  --basalt:#131211;      /* page ground, warm near-black */
  --basalt-2:#1c1a18;    /* raised surfaces */
  --basalt-3:#26231f;
  --line:#3a3530;
  --bone:#ede4d3;        /* Urial horn — primary text */
  --bone-dim:#b5aa97;
  --brick:#b0483d;       /* logo wordmark red, lifted for dark ground */
  --brick-deep:#8c342b;
  --ochre:#cf9f5f;       /* Urial fleece */
  --glacier:#93a9b4;     /* Karakoram ice/haze, used for data */
  --paper:#e9e5dd;       /* limestone reading band */
  --ink:#1b1917;
  --ink-dim:#5b544b;
  --cr:#d1453b; --en:#e07a3a; --vu:#d9b24a; --nt:#9fb3a6; --lc:#8a96a0;
  --f-display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --f-body:"Newsreader",Georgia,"Times New Roman",serif;
  --f-mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gutter:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
  --wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--basalt);color:var(--bone);font-family:var(--f-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--basalt)}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:.95;margin:0;text-wrap:balance}
p{margin:0}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.mono{font-family:var(--f-mono)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:12px 20px;border:1.5px solid var(--bone);color:var(--bone);background:transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--bone);color:var(--basalt)}
.btn.solid{background:var(--brick);border-color:var(--brick)}
.btn.solid:hover{background:var(--bone);border-color:var(--bone);color:var(--brick-deep)}
.btn svg{width:18px;height:18px;flex:none}
.draft{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre);border:1px dashed currentColor;padding:1px 6px;vertical-align:middle;white-space:nowrap}
.paper .draft{color:var(--brick-deep)}

/* ---------- prototype ribbon + utility bar ---------- */
.ribbon{background:var(--brick-deep);color:var(--bone);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em}
.ribbon .wrap{display:flex;gap:16px;justify-content:space-between;align-items:center;padding-block:6px;flex-wrap:wrap}
.util{border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:7px}
.util nav{display:flex;gap:20px;flex-wrap:wrap}
.util a{text-decoration:none}
.util a:hover,.util a[aria-current]{color:var(--bone)}
.util .yt{display:flex;align-items:center;gap:8px;color:var(--bone)}
.util .yt b{color:var(--ochre);font-weight:500}
.urdu{font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:14px}

/* ---------- masthead ---------- */
.mast{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(19,18,17,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand .tile{width:48px;height:48px;background:#fff;overflow:hidden;flex:none}
.brand .tile img{width:100%;height:100%;object-fit:cover}
.brand .name{font-family:var(--f-display);text-transform:uppercase;line-height:.9}
.brand .name small{display:block;font-size:11px;letter-spacing:.42em;font-weight:700;color:var(--bone-dim)}
.brand .name span{display:block;font-size:26px;font-weight:900;letter-spacing:.02em;color:var(--brick)}
.brand .name em{display:block;font-style:normal;font-size:11px;letter-spacing:.36em;font-weight:700;color:var(--bone-dim)}
.mainnav{display:flex;align-items:stretch;margin-left:auto;height:72px}
.mainnav>.item{position:relative;display:flex}
.mainnav>.item>a{display:flex;align-items:center;padding:0 10px;font-family:var(--f-display);font-weight:700;font-size:16.5px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--bone-dim);border-bottom:3px solid transparent;white-space:nowrap}
.mainnav>.item>a:hover,.mainnav>.item:focus-within>a,.mainnav>.item>a[aria-current]{color:var(--bone)}
.mainnav>.item>a[aria-current]{border-bottom-color:var(--brick)}
.drop{position:absolute;top:100%;left:0;min-width:300px;background:var(--basalt-2);border:1px solid var(--line);border-top:3px solid var(--brick);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.mainnav>.item:hover .drop,.mainnav>.item:focus-within .drop{opacity:1;visibility:visible;transform:none}
.mainnav>.item:nth-last-child(-n+3) .drop{left:auto;right:0}
.drop a{display:flex;justify-content:space-between;gap:16px;padding:9px 20px;text-decoration:none;font-size:16px;color:var(--bone-dim)}
.drop a:hover{background:var(--basalt-3);color:var(--bone)}
.drop a::after{content:"→";color:var(--brick);opacity:0;transition:opacity .15s}
.drop a:hover::after{opacity:1}
.mast .cta{flex:none}
.burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);color:var(--bone);width:46px;height:46px;cursor:pointer}
.burger svg{width:22px;height:22px}
@media (max-width:1400px){.mast .cta{display:none}}
@media (max-width:1320px){.mainnav>.item>a{padding:0 6px;font-size:15px}}
@media (max-width:1200px){.mainnav{display:none}.burger{display:grid;place-items:center}.util nav.secondary{display:none}}
@media (max-width:520px){.brand .name span{font-size:21px}.brand .tile{width:42px;height:42px}.util .yt span.lbl{display:none}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;background:var(--basalt);overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 32px) var(--gutter)}
.drawer .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";color:var(--brick)}
.drawer details[open] summary::after{content:"–"}
.drawer .subs{display:grid;gap:2px;padding:0 0 14px}
.drawer .subs a{text-decoration:none;color:var(--bone-dim);padding:6px 0;font-size:17px}
.drawer .flat{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;text-decoration:none}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--basalt)}
.hero canvas.scene{position:absolute;inset:0;width:100%;height:100%}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,18,17,.82) 0%,rgba(19,18,17,.45) 48%,rgba(19,18,17,0) 75%),linear-gradient(0deg,rgba(19,18,17,1) 0%,rgba(19,18,17,0) 30%)}
.hero .wrap{position:relative;padding-block:clamp(72px,11vw,150px) 44px;display:grid;gap:28px}
.hero h1{font-size:clamp(54px,9.4vw,138px);font-weight:900;line-height:.86;max-width:11ch}
.hero h1 .num{color:var(--ochre)}
.hero .lede{font-size:clamp(18px,2vw,22px);max-width:40ch;color:var(--bone)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .readout{position:absolute;right:var(--gutter-r);top:clamp(24px,4vw,44px);text-align:right;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--bone-dim);text-transform:uppercase;line-height:1.9}
.hero .readout b{color:var(--bone);font-weight:500}
@media (max-width:700px){.hero .readout{display:none}}

.statbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--basalt)}
.statbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:22px 18px 22px 0;display:grid;gap:4px}
.stat+.stat{border-left:1px solid var(--line);padding-left:22px}
.stat b{font-family:var(--f-display);font-weight:900;font-size:clamp(34px,4vw,52px);line-height:1;color:var(--bone)}
.stat span{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim)}
@media (max-width:760px){.statbar .wrap{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(56px,7vw,96px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(40px,5.4vw,72px)}
.sec-head .note{max-width:46ch;color:var(--bone-dim);font-size:16px}
.sec-head .left{display:grid;gap:12px}
.paper{background:var(--paper);color:var(--ink)}
.paper .eyebrow{color:var(--brick-deep)}
.paper .sec-head .note{color:var(--ink-dim)}
.paper .btn{border-color:var(--ink);color:var(--ink)}
.paper .btn:hover{background:var(--ink);color:var(--paper)}
.paper .btn.solid{background:var(--brick-deep);border-color:var(--brick-deep);color:var(--paper)}

/* video cards */
.vgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.vgrid .v:first-child{grid-row:span 2}
.v{display:grid;gap:10px;text-decoration:none;min-width:0}
.v .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--basalt-2);max-width:100%}
.vgrid .v:first-child{grid-template-rows:1fr auto auto}.v:first-child .thumb{aspect-ratio:auto;height:auto;min-height:260px}
.v canvas{width:100%;height:100%;display:block;transition:transform .5s}
.v:hover canvas{transform:scale(1.04)}
.v .play{position:absolute;left:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:var(--brick);display:grid;place-items:center;transition:transform .2s}
.v:hover .play{transform:scale(1.1)}
.v .play svg{width:16px;height:16px;margin-left:3px}
.v .dur{position:absolute;right:10px;bottom:10px;font-family:var(--f-mono);font-size:12px;background:rgba(0,0,0,.72);padding:2px 6px}
.v .tag{position:absolute;left:12px;top:12px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:rgba(19,18,17,.8);padding:3px 7px;color:var(--ochre)}
.v h3{font-size:22px;font-weight:800;line-height:1}
.v:first-child h3{font-size:clamp(28px,3vw,40px)}
.v .meta{font-family:var(--f-mono);font-size:12px;color:var(--bone-dim);letter-spacing:.04em}
.vlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
@media (max-width:900px){.vgrid .v:first-child{grid-template-rows:auto}.vgrid{grid-template-columns:1fr 1fr}.vgrid .v:first-child{grid-column:1/-1;grid-row:auto}.v:first-child .thumb{aspect-ratio:16/9;height:auto;min-height:0}}
@media (max-width:540px){.vgrid{grid-template-columns:1fr}}

/* channel band */
.channel{background:var(--brick-deep);position:relative;overflow:hidden}
.channel .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding-block:clamp(48px,6vw,80px)}
.channel h2{font-size:clamp(44px,6vw,86px);font-weight:900}
.channel p{max-width:46ch;font-size:19px}
.channel .nums{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(237,228,211,.25);border:1px solid rgba(237,228,211,.25)}
.channel .nums div{background:var(--brick-deep);padding:22px}
.channel .nums b{display:block;font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5vw,64px);line-height:1}
.channel .nums span{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.channel .btn.solid{background:var(--bone);color:var(--brick-deep);border-color:var(--bone)}
.channel .btn.solid:hover{background:transparent;color:var(--bone)}
@media (max-width:820px){.channel .wrap{grid-template-columns:1fr}}

/* species */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-color:var(--line) transparent}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.sp{position:relative;scroll-snap-align:start;background:var(--basalt-2);border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;min-width:0}
.paper .sp{background:#f6f3ee;border-color:#d6cfc3}
.sp .art{position:relative;aspect-ratio:4/3;overflow:hidden;max-width:100%}
.sp .art canvas{width:100%;height:100%;display:block}
.sp .art .slot{position:absolute;right:8px;bottom:8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,228,211,.75)}
.sp .body{padding:16px 16px 18px;display:grid;gap:6px;align-content:start}
.sp h3{font-size:26px}
.sp i{font-family:var(--f-body);font-size:15px;color:var(--bone-dim)}
.paper .sp i{color:var(--ink-dim)}
.sp p{font-size:15.5px;line-height:1.5;color:var(--bone-dim)}
.paper .sp p{color:var(--ink-dim)}
.iucn{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;background:rgba(19,18,17,.85);color:var(--bone);padding:3px 8px 3px 4px}
.iucn b{display:inline-grid;place-items:center;width:24px;height:18px;font-weight:500;color:#141211}
.iucn.CR b{background:var(--cr)}.iucn.EN b{background:var(--en)}.iucn.VU b{background:var(--vu)}.iucn.NT b{background:var(--nt)}.iucn.LC b{background:var(--lc)}.iucn.RE b{background:var(--bone-dim)}
.flag{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre)}
.paper .flag{color:var(--brick-deep)}

/* transect */
.transect{background:var(--basalt-2);border:1px solid var(--line)}
.transect .chart{overflow-x:auto}
.transect svg{display:block;width:100%;min-width:760px;height:auto}
.transect .zone{cursor:pointer}
.transect .zone rect{fill:transparent;transition:fill .2s}
.transect .zone:hover rect,.transect .zone.on rect{fill:rgba(207,159,95,.10)}
.transect .zone text{fill:var(--bone-dim);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em}
.transect .zone.on text.zn{fill:var(--ochre)}
.transect .axis text{fill:var(--bone-dim);font-family:var(--f-mono);font-size:10.5px}
.transect .axis line{stroke:var(--line)}
.zpanel{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;padding:24px;border-top:1px solid var(--line)}
.zpanel h3{font-size:34px}
.zpanel .el{font-family:var(--f-mono);font-size:12.5px;color:var(--glacier);letter-spacing:.06em}
.zpanel p{color:var(--bone-dim);font-size:16.5px;margin-top:10px}
.zpanel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.zpanel li{display:flex;gap:10px;align-items:baseline;border-bottom:1px solid var(--line);padding:7px 0;font-size:16.5px}
.zpanel li .dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--ochre);transform:translateY(-1px)}
.zhint{font-family:var(--f-mono);font-size:11.5px;color:var(--bone-dim);padding:10px 24px 0}
@media (max-width:760px){.zpanel{grid-template-columns:1fr}.zpanel ul{grid-template-columns:1fr}}

/* founder */
.founder .wrap{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.founder figure{margin:0;position:relative}
.founder figure img{width:100%;filter:saturate(.9)}
.founder figure figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--paper);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px}
.founder h2{font-size:clamp(40px,5vw,68px)}
.founder .lead{font-size:21px;margin-top:18px;max-width:44ch}
.founder dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:26px 0 30px;font-size:16.5px}
.founder dt{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brick-deep);padding-top:3px}
.founder dd{margin:0;color:var(--ink)}
@media (max-width:820px){.chairgrid{grid-template-columns:1fr!important}.founder .wrap{grid-template-columns:1fr}.founder figure{max-width:380px}}

/* work tiles */
.work{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.work a{background:var(--basalt);padding:26px 22px 24px;text-decoration:none;display:grid;gap:12px;align-content:start;transition:background .2s}
.work a:hover{background:var(--basalt-2)}
.work .k{font-family:var(--f-mono);font-size:11.5px;color:var(--ochre);letter-spacing:.1em;text-transform:uppercase}
.work h3{font-size:28px}
.work p{font-size:15.5px;color:var(--bone-dim)}
.work .go{font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--brick)}
@media (max-width:980px){.work{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.work{grid-template-columns:1fr}}

.pfrp{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin-top:28px}
.pfrp .art{position:relative;min-height:260px}
.pfrp .art canvas{position:absolute;inset:0;width:100%;height:100%}
.pfrp .txt{padding:clamp(24px,4vw,44px);display:grid;gap:14px;align-content:center;background:var(--basalt-2)}
.pfrp h3{font-size:clamp(32px,4vw,48px)}
.pfrp p{color:var(--bone-dim)}
.pfrp .big{font-family:var(--f-display);font-weight:900;font-size:clamp(56px,7vw,92px);line-height:.9;color:var(--ochre)}
@media (max-width:760px){.pfrp{grid-template-columns:1fr}}

/* involve band */
.involve .opts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.opt{border-top:3px solid var(--brick-deep);padding-top:16px;display:grid;gap:10px;align-content:start}
.opt h3{font-size:28px;color:var(--ink)}
.opt p{color:var(--ink-dim);font-size:16px}
.opt a{font-family:var(--f-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px;color:var(--brick-deep);text-decoration:none}
@media (max-width:900px){.involve .opts{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.involve .opts{grid-template-columns:1fr}}

/* ---------- inner pages ---------- */
.banner{position:relative;overflow:hidden}
.banner canvas{position:absolute;inset:0;width:100%;height:100%}
.banner .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,18,17,1) 0%,rgba(19,18,17,.35) 60%,rgba(19,18,17,.15) 100%)}
.banner .wrap{position:relative;padding-block:clamp(64px,9vw,120px) 36px;display:grid;gap:16px}
.banner .crumb{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim)}
.banner .crumb a{text-decoration:none}
.banner .crumb a:hover{color:var(--bone)}
.banner h1{font-size:clamp(56px,9vw,128px);font-weight:900;line-height:.86}
.banner p{max-width:52ch;font-size:clamp(18px,1.8vw,21px)}
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 73px);z-index:40;background:rgba(19,18,17,.96);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:13px 14px;font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--bone-dim);border-bottom:2px solid transparent}
.subnav a:hover{color:var(--bone)}
.subnav a.on{color:var(--bone);border-bottom-color:var(--ochre)}
.block{padding-block:clamp(48px,6vw,80px);border-bottom:1px solid var(--line);scroll-margin-top:130px}
.paper.block{border-bottom-color:#d6cfc3}
.block .bh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(20px,4vw,60px);margin-bottom:30px;align-items:end}
.block .bh h2{font-size:clamp(38px,5vw,64px)}
.block .bh p{color:var(--bone-dim);font-size:17.5px;max-width:58ch}
.paper.block .bh p{color:var(--ink-dim)}
@media (max-width:820px){.block .bh{grid-template-columns:1fr}}
.prose{max-width:66ch;display:grid;gap:18px;font-size:19px}
.prose p.big{font-size:23px;line-height:1.5}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
@media (max-width:820px){.cols2{grid-template-columns:1fr}}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{border:1px solid var(--line);background:var(--basalt-2);padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.paper .card{background:#f6f3ee;border-color:#d6cfc3}
.card h3{font-size:25px}
.card p{font-size:16px;color:var(--bone-dim)}
.paper .card p{color:var(--ink-dim)}
.card .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre)}
.paper .card .k{color:var(--brick-deep)}
.card ul{margin:0;padding-left:18px;font-size:15.5px;color:var(--bone-dim)}
.paper .card ul{color:var(--ink-dim)}
.person{display:grid;gap:12px}
.person .ph{aspect-ratio:4/5;background:var(--basalt-3);position:relative;overflow:hidden;max-width:100%}
.paper .person .ph{background:#d9d3c8}
.person .ph img{width:100%;height:100%;object-fit:cover}
.person .ph .ini{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:64px;color:rgba(27,25,23,.25)}
.person h3{font-size:24px}
.person .role{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brick-deep)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}

.table{width:100%;border-collapse:collapse;font-size:16px;min-width:620px}
.tablewrap{overflow-x:auto}
.table th{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--bone-dim);font-weight:400;padding:10px 12px;border-bottom:1px solid var(--line)}
.table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.paper .table th{color:var(--ink-dim);border-color:#cfc7ba}.paper .table td{border-color:#d6cfc3}
.pill{display:inline-block;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid currentColor;white-space:nowrap}
.pill.live{color:var(--ochre)}.pill.done{color:var(--glacier)}
.paper .pill.live{color:var(--brick-deep)}.paper .pill.done{color:#4c6470}

.legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px;font-family:var(--f-mono);font-size:12px;color:var(--bone-dim)}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend i{display:inline-block;width:14px;height:10px}

.form{display:grid;gap:14px;max-width:620px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.form label{display:grid;gap:6px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim)}
.paper .form label{color:var(--ink-dim)}
.form input,.form select,.form textarea{font:inherit;font-family:var(--f-body);font-size:17px;text-transform:none;letter-spacing:0;padding:11px 12px;background:transparent;border:1.5px solid var(--line);color:inherit;border-radius:0;width:100%}
.paper .form input,.paper .form select,.paper .form textarea{border-color:#bdb4a6;background:#f6f3ee}
.form textarea{min-height:130px;resize:vertical}
.ok{font-family:var(--f-mono);font-size:13px;color:var(--ochre)}
.paper .ok{color:var(--brick-deep)}

.dest{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.dest .d{position:relative;min-height:300px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line)}
.dest canvas{position:absolute;inset:0;width:100%;height:100%}
.dest .d .t{position:relative;padding:20px;background:linear-gradient(0deg,rgba(19,18,17,.95),rgba(19,18,17,0));width:100%;display:grid;gap:6px}
.dest h3{font-size:30px}
.dest p{font-size:15.5px;color:var(--bone-dim)}
.dest .el{font-family:var(--f-mono);font-size:11.5px;color:var(--glacier)}

/* ---------- footer ---------- */
footer{background:#0d0c0b;border-top:4px solid var(--brick-deep)}
footer .top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:32px;padding-block:56px 40px}
footer h4{font-size:17px;letter-spacing:.08em;color:var(--bone);margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer ul a{text-decoration:none;color:var(--bone-dim);font-size:15.5px}
footer ul a:hover{color:var(--bone)}
footer .about{display:grid;gap:16px;align-content:start}
footer .about .logo{width:120px;background:#fff;padding:6px}
footer .about p{color:var(--bone-dim);font-size:15.5px;max-width:34ch}
footer .news{display:flex;gap:0;max-width:360px}
footer .news input{flex:1;min-width:0;font:inherit;font-size:15px;padding:10px 12px;background:transparent;border:1.5px solid var(--line);border-right:0;color:var(--bone)}
footer .news button{font-family:var(--f-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--brick);color:var(--bone);border:0;padding:0 16px;cursor:pointer}
footer .bottom{border-top:1px solid var(--line)}
footer .bottom .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px calc(18px + env(safe-area-inset-bottom,0px));font-family:var(--f-mono);font-size:12px;color:var(--bone-dim);letter-spacing:.04em}
footer .social{display:flex;gap:10px}
footer .social a{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;color:var(--bone-dim)}
footer .social a:hover{color:var(--bone);border-color:var(--bone-dim)}
footer .social svg{width:17px;height:17px}
@media (max-width:980px){footer .top{grid-template-columns:1fr 1fr 1fr}footer .about{grid-column:1/-1}}
@media (max-width:560px){footer .top{grid-template-columns:1fr 1fr}}


/* v0.2 content components */
.shot{margin:0;display:grid;gap:8px;min-width:0}
.shot img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--basalt-3)}
.shot.wide img{aspect-ratio:646/457}
.shot figcaption{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim)}
.paper .shot figcaption{color:var(--ink-dim)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.gallery.g3{grid-template-columns:repeat(3,1fr)}
.gallery.g3 .shot:nth-child(2) img{aspect-ratio:16/10;object-position:center 30%}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr}.gallery.g3{grid-template-columns:1fr}}
.lt{display:grid;gap:14px;padding-block:8px 36px}
.lt+.lt{border-top:1px solid #d6cfc3;padding-top:36px}
.lt>h3{font-size:32px;color:var(--brick-deep)}
.lt .sub{color:var(--ink-dim);font-size:16.5px;max-width:70ch}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 28px}
.pi{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid #d6cfc3;min-width:0}
.pi b{font-family:var(--f-body);font-weight:600;font-size:17px}
.pi b em{font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--brick-deep);margin-left:6px}
.pi span{font-size:14.5px;color:var(--ink-dim);line-height:1.4}
.xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px 28px}
.xg{display:grid;align-content:start}
.xg .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brick-deep);padding-bottom:6px;border-bottom:2px solid var(--brick-deep)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;align-items:start}
ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:0}
ul.plain li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--bone)}
ul.plain li:last-child{border-bottom:0}
.factrow{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.factrow div{padding:14px 16px;display:grid;gap:2px}
.factrow div+div{border-left:1px solid var(--line)}
.factrow b{font-family:var(--f-display);font-weight:900;font-size:40px;line-height:1;color:var(--ochre)}
.factrow span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim)}
@media (max-width:620px){.factrow{grid-template-columns:1fr 1fr}.factrow div:nth-child(3){border-left:0}.factrow div:nth-child(n+3){border-top:1px solid var(--line)}}
.certs{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:420px}
.certs .shot img{aspect-ratio:360/474;object-fit:contain;background:#fff}
.dl{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:1px dashed var(--line);padding:20px 22px;margin-top:28px}
.paper .dl{border-color:#bdb4a6}
.dl h3{font-size:26px;margin-top:6px}
.dl p{color:var(--bone-dim);font-size:16px;margin-top:6px}
.paper .dl p{color:var(--ink-dim)}
.proj{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.proj .card{gap:12px}
.proj .card h3{font-size:30px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tags span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:2px 8px;color:var(--bone-dim)}
@media (max-width:820px){.proj{grid-template-columns:1fr}}
.pubs{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pub{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start}
.pub img{width:100%;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.pub>div{display:grid;gap:8px;min-width:0}
.pub .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre)}
.pub h3{font-size:32px}
.pub p{color:var(--bone-dim);font-size:16px}
.pub .mono{font-size:12px;color:var(--glacier)}
@media (max-width:900px){.pubs{grid-template-columns:1fr}}
@media (max-width:440px){.pub{grid-template-columns:110px 1fr}}
.courses{columns:3 260px;column-gap:32px;margin:0;padding:0;list-style:none;counter-reset:c}
.courses li{break-inside:avoid;counter-increment:c;display:grid;grid-template-columns:34px 1fr;padding:10px 0;border-bottom:1px solid var(--line);font-size:16.5px}
.courses li::before{content:counter(c,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;color:var(--ochre);padding-top:4px}
.wk{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wk .card{padding:0 0 22px;gap:12px}
.wk .card>*:not(.shot){padding:0 20px}
.wk .card .shot figcaption{display:none}
@media (max-width:900px){.wk{grid-template-columns:1fr}}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier{background:#f6f3ee;border:1px solid #d6cfc3;padding:22px;display:grid;gap:10px;align-content:start}
.tier .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);line-height:1.5}
.tier h3{font-size:30px;color:var(--ink)}
.tier .fee b{font-family:var(--f-display);font-weight:900;font-size:40px;color:var(--brick-deep);line-height:1}
.tier .fee span{font-family:var(--f-mono);font-size:12px;color:var(--ink-dim)}
.tier ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15.5px;color:var(--ink-dim)}
.tier li{padding-left:18px;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:2px;background:var(--brick-deep)}
@media (max-width:900px){.tiers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiers{grid-template-columns:1fr}}
.intern{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.intern .ih{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.intern{grid-template-columns:1fr}}
.svc{display:flex;flex-wrap:wrap;gap:10px}
.svc span{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.03em;text-transform:uppercase;border:1.5px solid var(--bone-dim);padding:8px 14px}
.clients{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--f-mono);font-size:13px;color:var(--bone-dim);letter-spacing:.04em}
.clients span::before{content:"◆ ";color:var(--brick)}


footer .faddr{font-style:normal;color:var(--bone-dim);font-size:14.5px;line-height:1.6;max-width:36ch}
footer .faddr a{color:var(--bone);white-space:nowrap}
footer .credit{border-top:1px solid var(--line)}
footer .credit .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-block:16px}
footer .credit .cl{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim)}
footer .credit a{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;text-decoration:none;border-left:3px solid var(--ochre);padding-left:10px}
footer .credit a b{font-family:var(--f-display);font-weight:800;font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:var(--bone)}
footer .credit a span{font-size:14px;color:var(--bone-dim)}
footer .credit a:hover b{color:var(--ochre)}

.page-enter{animation:rise .5s ease both}
@keyframes rise{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- live site additions ---------- */
button.v{all:unset;box-sizing:border-box;display:grid;gap:10px;cursor:pointer;min-width:0;align-content:start}
button.v:focus-visible{outline:2px solid var(--ochre);outline-offset:4px}
.v .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.v:hover .thumb img{transform:scale(1.04)}
.v h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v.sk{pointer-events:none}
.v.sk .thumb{opacity:.55}
.v.sk .meta{animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.embedwrap{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;border:1px solid var(--line)}
.embedwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player{position:fixed;inset:0;z-index:100;background:rgba(8,7,7,.92);display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 16px) var(--gutter)}
.player[hidden]{display:none!important}
.pbox{width:min(1100px,100%);display:grid;gap:12px;position:relative}
.pframe{position:relative;aspect-ratio:16/9;background:#000}
.pframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pclose{justify-self:end;background:none;border:1.5px solid var(--bone-dim);color:var(--bone);width:42px;height:42px;font-size:18px;cursor:pointer}
.pclose:hover{border-color:var(--bone)}
.pmeta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.pmeta h3{font-size:clamp(22px,3vw,32px)}
.pmeta a{font-family:var(--f-mono);font-size:13px;color:var(--ochre)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.fnote{font-size:15px;color:var(--bone-dim)}
.paper .fnote{color:var(--ink-dim)}
a.go{font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--brick);text-decoration:none}
.paper a.go{color:var(--brick-deep)}
footer .faddr a[href^="mailto"]{white-space:nowrap}
.ok a{color:inherit}
