/* Nomadic Systems — site.css
   Palette: Slate #355d7a · Olive #7a8f52 · Copper #c57b45 · Paper #f4f7f8 · Ink #121a1f
   Type: Inter (all) · JetBrains Mono (specs, labels)
*/
:root {
  --slate: #355d7a; --slate-deep: #26445a;
  --olive: #7a8f52; --copper: #c57b45; --copper-deep: #a8653a;
  --paper: #f4f7f8; --paper-2: #e9edef; --white: #ffffff;
  --ink: #121a1f; --ink-70: rgba(18,26,31,.7); --ink-50: rgba(18,26,31,.5); --ink-20: rgba(18,26,31,.14); --ink-08: rgba(18,26,31,.07);
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "JetBrains Mono", "SF Mono", Menlo, monospace;
  --gutter: clamp(20px, 5vw, 96px); --max: 1480px;
  --ease: cubic-bezier(.22,1,.36,1); --r: 14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-0.025em;line-height:1.05}
::selection{background:var(--copper);color:var(--white)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:100}.skip:focus{left:8px}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.pad{padding-block:clamp(72px,9vw,150px)}.pad-sm{padding-block:clamp(44px,5vw,88px)}
.k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50)}
.k.light{color:rgba(244,247,248,.65)}
.muted{color:var(--ink-50)}
.lead{font-size:clamp(17px,1.3vw,20px);color:var(--ink-70);max-width:52ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:999px;font-weight:500;font-size:14.5px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;transition:transform .35s var(--ease),background .2s,color .2s,border-color .2s;cursor:pointer;font-family:var(--sans);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--slate);border-color:var(--slate)}
.btn-copper{background:var(--copper);border-color:var(--copper);color:var(--white)}.btn-copper:hover{background:var(--copper-deep);border-color:var(--copper-deep)}
.btn-paper{border-color:rgba(244,247,248,.6);color:var(--paper)}.btn-paper:hover{background:var(--paper);color:var(--ink)}
.btn .arrow{transition:transform .35s var(--ease)}.btn:hover .arrow{transform:translateX(4px)}
.btn[disabled],.btn.disabled{opacity:.5;pointer-events:none}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-bottom-color:var(--ink-08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-0.02em;font-size:17px}
.brand svg{width:30px;height:30px}
.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:14.5px}
.nav-links a{position:relative;padding:6px 0;color:var(--ink-70);transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--copper);transition:right .32s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0;transition:transform .3s,opacity .3s}
.nav-mobile{display:none}
@media (max-width:900px){
  .nav-links,.nav-cta{display:none}.nav-toggle{display:block}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav.open .nav-toggle span:nth-child(2){opacity:0}.nav.open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .nav.open .nav-mobile{display:flex;flex-direction:column;gap:2px;padding:6px 0 22px;border-top:1px solid var(--ink-08)}
  .nav-mobile a{font-size:26px;font-weight:600;letter-spacing:-0.02em;padding:8px 0}
  .nav-mobile .btn{font-size:15px;align-self:flex-start;margin-top:12px;font-weight:500;letter-spacing:0}
}

/* Topo motif */
.topo{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.55}
.topo svg{width:140%;height:140%;position:absolute;left:-20%;top:-20%;animation:drift 60s linear infinite alternate}
@keyframes drift{to{transform:translate(-3%,-2%) rotate(1.5deg)}}
.topo path{fill:none;stroke:var(--ink);stroke-opacity:.09;stroke-width:1}
.on-dark .topo path{stroke:var(--paper);stroke-opacity:.12}

/* Hero */
.hero{position:relative;min-height:calc(100svh - 68px);display:grid;align-items:end;overflow:hidden;background:var(--ink);color:var(--paper)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.72;transform:scale(1.04);animation:settle 2.4s var(--ease) forwards}
@keyframes settle{to{transform:scale(1)}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,26,31,.15) 0%,rgba(18,26,31,.05) 40%,rgba(18,26,31,.75) 100%)}
.hero-body{position:relative;padding-block:clamp(56px,7vw,110px)}
.hero h1{font-size:clamp(40px,6.4vw,104px);max-width:12ch;letter-spacing:-0.035em;line-height:.98}
.hero-row{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:end;margin-top:28px}
.hero-row p{color:rgba(244,247,248,.78);font-size:clamp(16px,1.2vw,19px);max-width:40ch;margin:0}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.elev{position:absolute;right:var(--gutter);top:28px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,247,248,.6);display:flex;gap:18px}
@media (max-width:860px){.hero-row{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.elev{display:none}}

/* Trust strip */
.trust{border-bottom:1px solid var(--ink-08)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:22px 0}
.trust-item{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:13.5px;color:var(--ink-70)}
.trust-item b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.trust-item svg{width:20px;height:20px;stroke:var(--copper);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
@media (max-width:900px){.trust-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.trust-grid{grid-template-columns:1fr}}

/* Section heads */
.head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(28px,3.5vw,52px)}
.head h2{font-size:clamp(30px,3.6vw,56px);max-width:16ch}
.head p{color:var(--ink-70);max-width:44ch;margin:0;font-size:15.5px}
.head .more{white-space:nowrap;font-size:14px;color:var(--ink-70);border-bottom:1px solid var(--ink-20);padding-bottom:2px}
.head .more:hover{color:var(--ink);border-color:var(--ink)}
@media (max-width:760px){.head{flex-direction:column;align-items:start}}

/* Product grid & cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:1100px){.grid,.grid.three{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid,.grid.three{grid-template-columns:1fr 1fr;gap:12px}.grid.two{grid-template-columns:1fr}.card h3{font-size:15px}.card .line{font-size:12.5px}.card .price{font-size:12px}.card .pill{left:8px;top:8px;padding:5px 8px;font-size:9.5px}}
.card{display:flex;flex-direction:column;gap:12px;color:inherit}
.card .media{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.card.wide .media{aspect-ratio:16/10}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.card:hover .media img{transform:scale(1.04)}
.card .media .ph{transition:transform 1.1s var(--ease)}.card:hover .media .ph{transform:scale(1.03)}
.card .pill{position:absolute;left:12px;top:12px}
.card .meta{display:flex;justify-content:space-between;align-items:start;gap:12px}
.card h3{font-size:17px;font-weight:600;letter-spacing:-0.015em}
.card .line{font-size:14px;color:var(--ink-70);margin:2px 0 0}
.card .price{font-family:var(--mono);font-size:13.5px;white-space:nowrap;padding-top:2px}
.card .price s{color:var(--ink-50);margin-right:6px}
.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--paper);color:var(--ink);border:1px solid var(--ink-08)}
.pill.reserve::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--olive)}
.pill.soon::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--copper)}
.pill.rnd::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--slate)}
.pill.curated::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-50)}

/* Placeholder plate */
.ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(160deg,var(--paper-2),#dfe5e8)}
.ph svg.lines{position:absolute;inset:0;width:100%;height:100%}
.ph svg.lines path{fill:none;stroke:var(--ink);stroke-opacity:.08;stroke-width:1}
.ph .tag{position:relative;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);text-align:center;padding:0 20px}
.ph .tag b{display:block;font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:-0.01em;color:var(--ink-70);text-transform:none;margin-bottom:6px}
.ph.dark{background:linear-gradient(160deg,#1b262d,#121a1f)}.ph.dark .tag{color:rgba(244,247,248,.55)}.ph.dark .tag b{color:rgba(244,247,248,.8)}.ph.dark svg.lines path{stroke:var(--paper);stroke-opacity:.12}
.ph.slate{background:linear-gradient(160deg,#3f6a89,#26445a)}.ph.slate .tag{color:rgba(244,247,248,.6)}.ph.slate .tag b{color:var(--paper)}.ph.slate svg.lines path{stroke:var(--paper);stroke-opacity:.14}
.ph.olive{background:linear-gradient(160deg,#87a05f,#5f7240)}.ph.olive .tag{color:rgba(244,247,248,.7)}.ph.olive .tag b{color:var(--paper)}.ph.olive svg.lines path{stroke:var(--paper);stroke-opacity:.14}
.ph.copper{background:linear-gradient(160deg,#d3915f,#a8653a)}.ph.copper .tag{color:rgba(244,247,248,.7)}.ph.copper .tag b{color:var(--paper)}.ph.copper svg.lines path{stroke:var(--paper);stroke-opacity:.14}

/* Collections band */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:end;padding:22px}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform 1.2s var(--ease),opacity .6s}
.tile:hover img{transform:scale(1.05);opacity:.8}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,26,31,.8))}
.tile > *{position:relative;z-index:1}
.tile h3{font-size:22px}.tile p{font-size:13.5px;color:rgba(244,247,248,.75);margin:6px 0 0}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}

/* Statement / belief */
.state{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.state .wrap{position:relative}
.state h2{font-size:clamp(30px,4.4vw,72px);max-width:18ch;letter-spacing:-0.03em}
.state h2 em{font-style:normal;color:var(--copper)}
.state p{color:rgba(244,247,248,.72);max-width:46ch;font-size:clamp(15px,1.15vw,18px)}
.state-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,6vw,96px);align-items:end}
.rules{display:grid;gap:0;border-top:1px solid rgba(244,247,248,.15)}
.rule{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(244,247,248,.15)}
.rule b{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;color:var(--copper);padding-top:4px}
.rule h3{font-size:19px;margin-bottom:4px}.rule p{font-size:14px;margin:0;max-width:34ch}
@media (max-width:860px){.state-grid{grid-template-columns:1fr}}

/* Ritual steps */
.ritual{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ritual .s{padding-top:16px;border-top:1.5px solid var(--ink)}
.ritual .s b{font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.14em;color:var(--copper);display:block;margin-bottom:12px}
.ritual .s p{font-size:16px;font-weight:500;letter-spacing:-0.01em;margin:0;max-width:22ch}
@media (max-width:900px){.ritual{grid-template-columns:1fr 1fr}}@media (max-width:520px){.ritual{grid-template-columns:1fr}}

/* Batch strip */
.batches{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.batch{border:1px solid var(--ink-08);border-radius:var(--r);padding:22px;background:var(--white)}
.batch .k{display:block;margin-bottom:8px}.batch h3{font-size:22px;margin-bottom:6px}.batch p{font-size:14px;color:var(--ink-70);margin:0}
.batch .bar{height:4px;background:var(--paper-2);border-radius:2px;margin:14px 0 8px;overflow:hidden}.batch .bar i{display:block;height:100%;background:var(--olive);width:var(--w,20%)}
@media (max-width:860px){.batches{grid-template-columns:1fr}}

/* CTA band */
.cta{background:var(--slate);color:var(--paper);position:relative;overflow:hidden}
.cta .wrap{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.cta h2{font-size:clamp(32px,4.6vw,76px);max-width:12ch;letter-spacing:-0.03em}
.cta p{color:rgba(244,247,248,.8);max-width:44ch}
.cta .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:860px){.cta .wrap{grid-template-columns:1fr}.cta .actions{justify-content:flex-start}}

/* Footer */
footer{padding:56px 0 40px;border-top:1px solid var(--ink-08);font-size:13.5px;color:var(--ink-70)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot h4{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.foot a:hover{color:var(--ink)}
.foot form{display:flex;gap:8px;margin-top:12px;max-width:360px}
.foot input{flex:1;font:inherit;padding:11px 14px;border:1px solid var(--ink-20);border-radius:999px;background:var(--white)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--ink-08);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50)}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}@media (max-width:520px){.foot{grid-template-columns:1fr}.foot-bottom{flex-direction:column}}

/* Page hero (inner) */
.page-hero{padding-block:clamp(48px,7vw,104px) clamp(28px,4vw,56px)}
.page-hero h1{font-size:clamp(36px,5.4vw,84px);max-width:14ch;letter-spacing:-0.03em}
.page-hero p{margin-top:20px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 36px}
.filters a{font-size:13.5px;padding:8px 14px;border-radius:999px;border:1px solid var(--ink-20);color:var(--ink-70)}
.filters a:hover,.filters a[aria-current="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* PDP */
.pdp{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,72px);align-items:start}
.pdp-gallery{display:grid;gap:12px;position:sticky;top:84px}
.pdp-gallery .main{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.pdp-gallery .main img{width:100%;height:100%;object-fit:cover}
.pdp-gallery .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pdp-gallery .thumbs > div{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--paper-2)}
.pdp-gallery .thumbs > div img{width:100%;height:100%;object-fit:cover}
.pdp-info h1{font-size:clamp(32px,3.6vw,52px);letter-spacing:-0.03em;margin:8px 0 6px}
.pdp-info .line{font-size:18px;color:var(--ink-70);margin:0 0 18px}
.pdp-info .price{font-size:26px;font-weight:600;letter-spacing:-0.02em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pdp-info .price s{font-weight:400;color:var(--ink-50);font-size:18px}
.pdp-info .price small{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}
.buy{margin:22px 0;padding:22px;border:1px solid var(--ink-08);border-radius:var(--r);background:var(--white);display:grid;gap:14px}
.buy .row{display:flex;gap:10px;flex-wrap:wrap}
.checks{display:grid;gap:8px;font-size:13.5px;color:var(--ink-70);margin:0;padding:0;list-style:none}
.checks li{display:grid;grid-template-columns:18px 1fr;gap:8px}.checks li::before{content:"✓";color:var(--olive);font-weight:600}
.pdp-info .summary{color:var(--ink-70);font-size:16px}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink-20);margin-top:28px}
.specs div{padding:14px 0;border-bottom:1px solid var(--ink-08)}
.specs div:nth-child(odd){padding-right:16px}
.specs .k{display:block;margin-bottom:4px}.specs span{font-size:14.5px}
.box{margin-top:28px}.box h3,.compat h3,.why h3{font-size:13px;font-family:var(--mono);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin-bottom:12px}
.box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14.5px}.box li{padding:8px 0;border-top:1px dashed var(--ink-20)}
.why{margin-top:28px}.why p{font-size:17px;line-height:1.5;color:var(--ink);max-width:48ch}
.compat{margin-top:44px}
.compat .row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.compat .card{min-width:200px;scroll-snap-align:start}
.includes{margin-top:44px}
.includes .row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:960px){.pdp{grid-template-columns:1fr}.pdp-gallery{position:static}.includes .row{grid-template-columns:1fr 1fr}}
.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,96px);align-items:start}
.two-col .sticky{position:sticky;top:96px}
.two-col .sticky h2{font-size:clamp(30px,3.8vw,60px);max-width:11ch;letter-spacing:-0.03em}
.prose{max-width:62ch;font-size:clamp(16px,1.15vw,18px)}
.prose p{color:var(--ink-70)}
.prose h2{font-size:clamp(24px,2.4vw,36px);margin:1.6em 0 .5em}.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin:1.4em 0 .4em}
.prose blockquote{margin:1.4em 0;padding-left:20px;border-left:2px solid var(--copper);font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-0.02em;line-height:1.25;color:var(--ink)}
.prose ul{padding-left:1.2em;color:var(--ink-70)}
@media (max-width:860px){.two-col{grid-template-columns:1fr}.two-col .sticky{position:static}}

/* Journal */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{display:flex;flex-direction:column;gap:12px}
.post .media{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.post .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.post:hover .media img{transform:scale(1.04)}
.post h3{font-size:18px;letter-spacing:-0.015em}.post p{font-size:14px;color:var(--ink-70);margin:0}
@media (max-width:960px){.posts{grid-template-columns:1fr 1fr}}@media (max-width:560px){.posts{grid-template-columns:1fr}}
.article{max-width:68ch;margin-inline:auto}
.article h1{font-size:clamp(30px,4vw,56px);letter-spacing:-0.03em;margin:12px 0 18px}
.article .body p{color:var(--ink-70);font-size:17px}
.article .body h2{font-size:24px;margin:1.6em 0 .5em}
.article .body ul,.article .body ol{color:var(--ink-70)}

/* Forms */
.form{display:grid;gap:16px}
.field{display:grid;gap:6px}.field label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}
.field input,.field textarea,.field select{font:inherit;padding:13px 15px;border:1px solid var(--ink-20);border-radius:10px;background:var(--white);color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--slate)}
.field textarea{min-height:140px;resize:vertical}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:640px){.row-2{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,6vw,96px)}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.aside{border:1px solid var(--ink-08);border-radius:var(--r);padding:24px;background:var(--white)}
.aside h3{font-size:20px;margin-bottom:8px}.aside p{font-size:14.5px;color:var(--ink-70);margin:0 0 8px}

/* Reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.1s}.rv[data-d="2"]{transition-delay:.2s}.rv[data-d="3"]{transition-delay:.3s}.rv[data-d="4"]{transition-delay:.4s}
.grid > .rv:nth-child(2),.tiles > .rv:nth-child(2),.posts > .rv:nth-child(2){transition-delay:.08s}
.grid > .rv:nth-child(3),.tiles > .rv:nth-child(3),.posts > .rv:nth-child(3){transition-delay:.16s}
.grid > .rv:nth-child(4),.tiles > .rv:nth-child(4){transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{transition:none!important;opacity:1!important;transform:none!important}
  .topo svg,.hero-media img{animation:none}
  .card .media img,.tile img,.btn{transition:none}
}
