/* ===== MOBILE EDITION (<=700px): a different layout from desktop — warm light "pocket" look, bottom-sheet hero,
   every card group is a sideways swipe row with the next card peeking, stacked full-width actions. Same copy + images. ===== */
:root:not([data-theme="dark"]){--g:20px;--sec:56px;--bg:#F4EFE6;--surface:#FFFFFF;--ink:#17140F;--muted:#6A6354;--line:#E4DCC9;--signal:#E4461B;--signal-ink:#FFFFFF;--chip:#EBE4D3;--peach-soft:#FBE3D5;--forest:#17140F;--forest-ink:#F4EFE6;--shadow:0 16px 32px -20px rgba(50,30,5,.4);color-scheme:light}
html{-webkit-text-size-adjust:100%}
body{font-size:16px;line-height:1.55;background:var(--bg)}
h1{font-size:clamp(36px,10.6vw,46px);line-height:1}
h2{font-size:clamp(29px,8.4vw,36px);line-height:1.04}
.wrap{padding-inline:var(--g)}
.section{padding-block:var(--sec)}.tight{padding-block:calc(var(--sec) - 16px)}
.stack{gap:16px}.center-h{gap:14px}
.section>.wrap>.center-h+*,.tight>.wrap>.center-h+*{margin-top:26px}
.center-h,.tc{text-align:left!important;justify-items:start!important;margin-inline:0!important}
.lead{font-size:17px}
/* actions: full-width stacked */
main .btn,.cta .btn{width:100%;justify-content:center;padding:17px 22px;font-size:16px;box-shadow:none}
main .row,.h2-cta,.cta .wrap{flex-direction:column;align-items:stretch}
main .stack>div:has(>.btn),main .center-h>div:has(>.btn){width:100%}
.btn.ghost{background:transparent}
/* page heroes: picture first, as a rounded poster, then the words */
.page-hero{display:flex!important;flex-direction:column-reverse;gap:22px;padding-block:14px 40px}
.page-hero .ph-img{aspect-ratio:4/4.4;border-radius:30px;box-shadow:var(--shadow)}
.split{grid-template-columns:1fr!important;gap:24px}
.split .media{border-radius:28px}
.statement .big{font-size:clamp(28px,8vw,34px);line-height:1.08}
/* ---- swipe rows ---- */
:is(.projects,.grid4,.grid2,.pillars,.mods,.stops,.members,.channels,.steps,.agrid,.cities,.mosaic,.rows,.at-fns,.lb-notes,.suite){display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px!important;margin-top:24px!important;margin-inline:calc(-1*var(--g))!important;padding:6px var(--g) 22px!important;scroll-padding-inline:var(--g);scrollbar-width:none;align-items:stretch;border:0}
:is(.projects,.grid4,.grid2,.pillars,.mods,.stops,.members,.channels,.steps,.agrid,.cities,.mosaic,.rows,.at-fns,.lb-notes,.suite)::-webkit-scrollbar{display:none}
:is(.projects,.grid4,.grid2,.pillars,.mods,.stops,.members,.channels,.steps,.agrid,.cities,.mosaic,.rows,.at-fns,.lb-notes,.suite)>*{flex:0 0 78%!important;max-width:320px;min-width:0;scroll-snap-align:start;margin-top:0!important}
:is(.cities,.mosaic)>figure{height:340px;grid-column:auto!important;grid-row:auto!important;border-radius:28px;overflow:hidden}
.card,.tile,.mod,.stop,.member,.channel,.svc,.acard,.step,.pillar{border-radius:28px!important;background:var(--surface);border:0!important;box-shadow:var(--shadow)}
.card .ci,.acard .ai{border-radius:22px 22px 0 0}
.card:hover,.acard:hover{transform:none}
/* ---- hero: photo on top, bottom-sheet with the words ---- */
.hero2{display:block;min-height:0;margin-top:0;background:var(--bg);color:var(--ink);border-radius:0}
.h2-slides{position:relative;inset:auto;height:62svh;min-height:420px;border-radius:0 0 34px 34px;overflow:hidden}
.h2-shade,.h2-glow,.h2-grain{display:none}
.h2-slide img{filter:none}
.h2-inner{position:relative;z-index:2;margin-top:-38px;background:var(--bg);border-radius:32px 32px 0 0;padding:28px var(--g) 6px;gap:16px}
.h2-kicker{color:var(--signal)}.h2-kicker b{background:var(--signal)}
.h2-title{color:var(--ink);font-size:clamp(40px,12vw,52px);max-width:none;letter-spacing:-.04em}
.h2-lead{color:var(--muted);font-size:17px}
.h2-bottom{display:block;padding-top:26px;padding-bottom:34px}
.h2-cta{margin-bottom:6px}
.h2-stats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;background:none;border:0;backdrop-filter:none;padding:4px var(--g) 6px;margin-inline:calc(-1*var(--g));scrollbar-width:none}
.h2-stats::-webkit-scrollbar{display:none}
.h2-stats div{flex:0 0 150px;scroll-snap-align:start;background:var(--surface);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.h2-stats b{color:var(--ink)}.h2-stats span{color:var(--muted)}
.h2-card{position:absolute;z-index:3;top:calc(max(62svh,420px) - 158px);left:16px;right:16px;width:auto;background:rgba(15,12,8,.55);border-color:rgba(255,255,255,.25);color:#fff;grid-template-columns:1fr auto;padding:14px 16px}
.h2-card .lab,.h2-card .h2-bar{grid-column:1/-1}
/* ---- logos, footer, cta ---- */
.logos .track{margin-inline:calc(-1*var(--g))}
.cta .wrap{border-radius:30px;padding:34px 24px!important;gap:18px}
footer{border-radius:32px 32px 0 0;padding-top:44px}
footer .cols{grid-template-columns:1fr 1fr!important;gap:28px 18px}
footer .cols>div:first-child{grid-column:1/-1}
/* article + forms */
.art-head h1{font-size:clamp(32px,9.4vw,40px)}
.art-fig{margin:6px 0 0;padding-inline:var(--g)}.art-fig img{border-radius:24px}
.f input,.f select,.f textarea{font-size:16px}
.h2-cta .btn.ghost.light{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.h2-stats{scroll-padding-inline:var(--g)}
.card,.tile,.mod,.stop,.member,.channel,.svc,.acard,.step,.pillar{color:var(--ink)}
.card h3,.tile h3,.mod h3,.stop h3,.member h3,.channel h3,.svc h3,.acard h3,.step h3,.pillar h3{color:var(--ink)}
.card p,.tile p,.mod p,.stop p,.member p,.channel p,.svc p,.acard p,.step p,.pillar p{color:var(--muted)}
:root:not([data-theme="dark"]) body:not(.theme-page) header.site .brand img{filter:none}
header.site{box-shadow:0 14px 34px -14px rgba(40,25,5,.45)}

/* solid dock + tidy */
:root:not([data-theme="dark"]) body:not(.theme-page) header.site,body.atlas header.site,body.ledger header.site{background:var(--surface);backdrop-filter:none}
header.site .wrap.bar{padding-inline:8px 8px}
header.site .brand{padding-left:12px}
.h2-count{margin-right:10px}
.statement .big{margin:18px 0 0!important}.statement .sub{margin-top:18px!important;gap:20px!important}
.statement{padding-block:var(--sec)}
.page-hero{padding-bottom:12px!important}
.sector{line-height:1.5}
.cta{padding-inline:var(--g);background:transparent}
.cta .wrap{padding:32px 24px!important;max-width:none}
footer .wrap{padding-inline:var(--g)}
.art-head{padding-inline:var(--g);padding-top:14px}
.art-body{padding-inline:var(--g);margin-top:28px}
.art-cta{margin-inline:var(--g);padding:26px 22px}
article+section .center-h{padding:0}
