/* plantifulsoul — Rooted Brutalism
   Skill pass: tokens · signature root gauge · full states · no Inter */

:root{
  /* Color */
  --color-bg:#E8E0D0;
  --color-surface:#F2EBE0;
  --color-surface-2:#DDD4C4;
  --color-text:#12100E;
  --color-muted:#4A443C;
  --color-accent:#3D5240;
  --color-accent-deep:#243028;
  --color-focus:#C47A3A;
  --color-ochre:#C47A3A;
  --color-success:#3D5240;
  --color-warning:#A67C3A;
  --color-danger:#8B3A2F;
  --color-line:rgba(18,16,14,.28);
  --color-edge:#12100E;

  /* Typography */
  --font-display:"Archivo Black",Impact,"Arial Black",sans-serif;
  --font-body:"Literata",Georgia,"Times New Roman",serif;
  --font-ui:"Syne",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --text-xs:.6875rem;
  --leading-xs:1.3;
  --text-sm:.8125rem;
  --leading-sm:1.4;
  --text-base:1.0625rem;
  --leading-base:1.55;
  --text-lg:1.25rem;
  --leading-lg:1.4;
  --text-xl:clamp(1.5rem,3vw,2rem);
  --leading-xl:1.2;
  --text-2xl:clamp(2.75rem,8vw,6.5rem);
  --leading-2xl:.9;

  /* Spacing */
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-12:3rem;
  --space-16:4rem;

  /* Radius + Shadow — brutalism: zero radius */
  --radius-sm:0;
  --radius-md:0;
  --radius-lg:0;
  --bw:3px;
  --shadow-sm:4px 4px 0 var(--color-edge);
  --shadow-md:8px 8px 0 var(--color-edge);
  --shadow-lg:12px 12px 0 var(--color-edge);

  /* Motion */
  --duration-fast:120ms;
  --duration-base:220ms;
  --duration-slow:480ms;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);

  --nav-h:64px;
  --max:1180px;
  --gauge-w:28px;
}

@media (prefers-reduced-motion:reduce){
  :root{
    --duration-fast:0ms;
    --duration-base:0ms;
    --duration-slow:0ms;
  }
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--color-bg)}
body{
  background:var(--color-bg);color:var(--color-text);
  font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-base);
  -webkit-font-smoothing:antialiased;overflow:hidden;
}
#siteScroll{
  height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;
  position:relative;padding-left:var(--gauge-w);
}
@media (max-width:640px){
  #siteScroll{padding-left:0}
}
#siteScroll::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--color-text);color:var(--color-bg)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip{
  position:absolute;left:-999px;top:var(--space-4);z-index:300;
  background:var(--color-text);color:var(--color-bg);
  font-family:var(--font-mono);font-size:var(--text-xs);
  letter-spacing:.12em;text-transform:uppercase;
  padding:var(--space-3) var(--space-4);border:var(--bw) solid var(--color-edge);
}
.skip:focus{left:var(--space-4)}

h1,h2,.display{
  font-family:var(--font-display);font-weight:400;line-height:var(--leading-2xl);
  letter-spacing:-.015em;text-transform:uppercase;
}
h3{font-family:var(--font-display);font-weight:400;line-height:1.05;text-transform:uppercase}
.mono{font-family:var(--font-mono)}

/* ═══ SIGNATURE: Root Gauge ═══ */
.root-gauge{
  position:fixed;left:0;top:0;bottom:0;width:var(--gauge-w);
  z-index:80;background:var(--color-accent-deep);
  border-right:var(--bw) solid var(--color-edge);
  display:flex;flex-direction:column;align-items:center;
  padding:var(--space-4) 0;
}
.root-gauge__track{
  position:relative;flex:1;width:4px;background:rgba(232,224,208,.18);
  margin:var(--space-2) 0;
}
.root-gauge__fill{
  position:absolute;left:0;top:0;width:100%;height:0%;
  background:var(--color-ochre);
  transition:height var(--duration-base) var(--ease-out);
}
.root-gauge__node{
  position:absolute;left:50%;width:12px;height:12px;
  background:var(--color-bg);border:2px solid var(--color-ochre);
  transform:translate(-50%,-50%);top:0%;
  transition:top var(--duration-base) var(--ease-out);
}
.root-gauge__label{
  font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.08em;color:var(--color-bg);writing-mode:vertical-rl;
  transform:rotate(180deg);opacity:.7;
}
@media (max-width:640px){
  .root-gauge{
    top:auto;left:0;right:0;bottom:0;width:auto;height:10px;
    flex-direction:row;border-right:none;border-top:var(--bw) solid var(--color-edge);
    padding:0;
  }
  .root-gauge__track{width:auto;flex:1;height:4px;margin:0 var(--space-4)}
  .root-gauge__fill{width:0%;height:100%;transition:width var(--duration-base) var(--ease-out)}
  .root-gauge__node{top:50%;left:0%;transform:translate(-50%,-50%);transition:left var(--duration-base) var(--ease-out)}
  .root-gauge__label{writing-mode:horizontal-tb;transform:none;padding:0 var(--space-3);font-size:8px}
}

/* ── topbar ── */
.topbar{
  position:sticky;top:0;z-index:50;
  background:var(--color-bg);border-bottom:var(--bw) solid var(--color-edge);
}
.topbar-inner{
  max-width:var(--max);margin:0 auto;
  display:flex;align-items:stretch;padding:0 var(--space-6);min-height:var(--nav-h);
}
.brand{
  display:flex;align-items:center;gap:var(--space-3);
  padding:var(--space-3) 0;margin-right:auto;min-height:44px;
}
.brand-mark{
  width:22px;height:22px;background:var(--color-accent);
  border:var(--bw) solid var(--color-edge);
  clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);
}
.brand-name{
  font-family:var(--font-display);font-size:var(--text-sm);
  letter-spacing:.08em;text-transform:uppercase;
}
.nav{display:flex;align-items:stretch}
.nav a{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:0 var(--space-4);display:flex;align-items:center;min-height:44px;
  border-left:1px solid var(--color-line);
  transition:background var(--duration-fast),color var(--duration-fast);
}
.nav a:hover{background:var(--color-surface-2)}
.nav a:active{background:var(--color-text);color:var(--color-bg)}
.nav a[aria-current="page"]{background:var(--color-text);color:var(--color-bg)}
.nav a[aria-disabled="true"]{opacity:.4;pointer-events:none}
.nav-cta{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:0 var(--space-4);display:flex;align-items:center;min-height:44px;
  background:var(--color-accent);color:var(--color-bg);
  border-left:var(--bw) solid var(--color-edge);
  transition:background var(--duration-fast);
}
.nav-cta:hover{background:var(--color-accent-deep)}
.nav-cta:active{transform:translate(1px,1px)}
.menu-btn{
  display:none;border:none;background:transparent;
  border-left:1px solid var(--color-line);padding:0 var(--space-4);
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:44px;
}
.menu-btn:hover{background:var(--color-surface-2)}
.menu-btn:disabled{opacity:.4;cursor:not-allowed}

@media (max-width:820px){
  .nav,.nav-cta{display:none}
  .nav.open{
    display:flex;flex-direction:column;position:absolute;
    top:100%;left:0;right:0;background:var(--color-bg);
    border-bottom:var(--bw) solid var(--color-edge);z-index:40;
  }
  .nav.open a{border-left:none;border-top:1px solid var(--color-line);padding:var(--space-4) var(--space-6)}
  .menu-btn{display:flex;align-items:center}
}

.page{display:none}
.page.active{display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--space-6)}

/* ── hero ── */
.hero{
  display:grid;grid-template-columns:1.2fr .8fr;
  border-bottom:var(--bw) solid var(--color-edge);
  min-height:min(90vh,860px);
}
.hero-copy{
  padding:clamp(2.5rem,8vw,6rem) clamp(1.25rem,4vw,3rem);
  display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-8);
  border-right:var(--bw) solid var(--color-edge);
  background:linear-gradient(165deg,var(--color-surface) 0%,var(--color-bg) 55%);
}
.eyebrow{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);
}
.hero-title{font-size:var(--text-2xl);max-width:10ch}
.hero-title .line{display:block}
.hero-title .line--offset{padding-left:clamp(0rem,4vw,2.5rem);color:var(--color-accent)}
.hero-lede{
  font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;
  line-height:var(--leading-lg);color:var(--color-muted);max-width:34ch;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
[data-reveal]{
  opacity:0;transform:translateY(14px);
  transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);
}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none}
}

.hero-visual{
  position:relative;background:var(--color-accent-deep);min-height:380px;overflow:hidden;
}
.hero-field{position:absolute;inset:0}
.hero-field__grid{
  position:absolute;inset:0;opacity:.35;
  background-image:
    linear-gradient(rgba(232,224,208,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,224,208,.12) 1px,transparent 1px);
  background-size:40px 40px;
}
.hero-field__root{
  position:absolute;left:18%;top:8%;bottom:12%;width:3px;
  background:linear-gradient(180deg,var(--color-ochre),transparent);
}
.hero-field__root::before,
.hero-field__root::after{
  content:"";position:absolute;background:var(--color-ochre);height:2px;
}
.hero-field__root::before{top:28%;left:0;width:72px;transform:rotate(18deg);transform-origin:left}
.hero-field__root::after{top:52%;left:0;width:96px;transform:rotate(-22deg);transform-origin:left}
.hero-field__word{
  position:absolute;right:8%;bottom:18%;
  font-family:var(--font-display);font-size:clamp(4rem,12vw,8rem);
  color:rgba(232,224,208,.08);letter-spacing:-.04em;line-height:.85;
  writing-mode:vertical-rl;transform:rotate(180deg);
}
.hero-stamp{
  position:absolute;left:var(--space-4);bottom:var(--space-4);
  background:var(--color-bg);border:var(--bw) solid var(--color-edge);
  box-shadow:var(--shadow-sm);padding:var(--space-2) var(--space-3);
  font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-copy{border-right:none;border-bottom:var(--bw) solid var(--color-edge)}
  .hero-visual{min-height:280px}
}

/* ── buttons ── */
.btn{
  appearance:none;border:var(--bw) solid var(--color-edge);cursor:pointer;
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:var(--space-4) var(--space-6);min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  transition:transform var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast),opacity var(--duration-fast);
  box-shadow:var(--shadow-sm);
}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-edge)}
.btn:disabled,.btn[aria-disabled="true"]{
  opacity:.45;cursor:not-allowed;transform:none;filter:none;box-shadow:none;
}
.btn.is-loading{pointer-events:none;opacity:.7}
.btn-ink{background:var(--color-text);color:var(--color-bg)}
.btn-ink:hover:not(:disabled){background:var(--color-accent-deep)}
.btn-ghost{background:var(--color-bg);color:var(--color-text)}
.btn-ghost:hover:not(:disabled){background:var(--color-surface-2)}
.btn-accent{background:var(--color-accent);color:var(--color-bg)}
.btn-accent:hover:not(:disabled){background:var(--color-accent-deep)}
.btn-clear{box-shadow:none;padding:var(--space-3) var(--space-4)}

/* ── bands ── */
.band{padding:clamp(3rem,8vw,6rem) 0;border-bottom:var(--bw) solid var(--color-edge)}
.band-head{
  display:flex;align-items:end;justify-content:space-between;
  gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap;
}
.band-head h2{font-size:clamp(2.25rem,5.5vw,4.5rem);max-width:12ch}
.band-head p{font-size:var(--text-lg);color:var(--color-muted);max-width:32ch}
.band-head--split{align-items:start}

/* Asymmetric doors — intentional grid break */
.doors{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;
  border:var(--bw) solid var(--color-edge);
}
.door{
  padding:var(--space-8) var(--space-6);min-height:260px;
  display:flex;flex-direction:column;gap:var(--space-4);
  border-right:1px solid var(--color-line);background:var(--color-bg);
  transition:background var(--duration-base),transform var(--duration-fast);
  min-height:44px;
}
.door:last-child{border-right:none}
.door:first-child{background:var(--color-surface)}
.door:hover{background:var(--color-surface-2)}
.door:active{transform:translateY(1px)}
.door:focus-visible{z-index:1}
.door .idx{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.14em;color:var(--color-ochre);
}
.door h3{font-size:clamp(1.35rem,2.5vw,2rem)}
.door p{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-muted);flex:1;font-family:var(--font-body)}
.door .go{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;margin-top:auto;
  border-bottom:2px solid var(--color-text);align-self:flex-start;padding-bottom:2px;
}
@media (max-width:800px){
  .doors{grid-template-columns:1fr}
  .door{border-right:none;border-bottom:1px solid var(--color-line);min-height:180px}
  .door:last-child{border-bottom:none}
}

/* manifesto */
.manifesto{
  padding:clamp(4rem,12vw,8rem) var(--space-6);
  background:var(--color-accent-deep);color:var(--color-bg);
  border-bottom:var(--bw) solid var(--color-edge);
}
.manifesto-inner{max-width:var(--max);margin:0 auto}
.manifesto-kicker{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin-bottom:var(--space-6);
}
.manifesto-line{
  font-family:var(--font-body);font-size:clamp(1.75rem,4.5vw,3.25rem);
  line-height:1.2;max-width:16ch;font-weight:500;
}
.manifesto-line--accent{
  margin-top:var(--space-4);color:var(--color-ochre);padding-left:clamp(0rem,6vw,4rem);
}

/* CMS */
.cms-toolbar{
  display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);
  margin-bottom:var(--space-6);align-items:stretch;
}
@media (max-width:720px){.cms-toolbar{grid-template-columns:1fr}}
.cms-search,.cms-select{
  border:var(--bw) solid var(--color-edge);background:var(--color-bg);
  padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);
  letter-spacing:.04em;box-shadow:var(--shadow-sm);min-height:44px;
}
.cms-search:hover,.cms-select:hover{background:var(--color-surface)}
.cms-search:disabled,.cms-select:disabled{opacity:.45;cursor:not-allowed}
.cms-search::placeholder{color:var(--color-muted);opacity:.75}
.cms-meta{
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;
}
.cms-meta .count{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);
}
.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tag-chip{
  appearance:none;border:1px solid var(--color-line);background:transparent;
  font-family:var(--font-mono);font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:var(--space-3) var(--space-4);min-height:44px;cursor:pointer;
  transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);
}
.tag-chip:hover{background:var(--color-surface-2)}
.tag-chip:active{transform:translateY(1px)}
.tag-chip:disabled{opacity:.4;cursor:not-allowed}
.tag-chip[aria-pressed="true"]{
  background:var(--color-text);color:var(--color-bg);border-color:var(--color-edge);
}
.cms-status{
  margin-bottom:var(--space-4);padding:var(--space-4);
  border:var(--bw) solid var(--color-edge);background:var(--color-surface);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;
  text-transform:uppercase;
}
.cms-status.is-error{border-color:var(--color-danger);color:var(--color-danger)}
.cms-status.is-loading{color:var(--color-muted)}

.cms-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0;border:var(--bw) solid var(--color-edge);
}
@media (max-width:720px){.cms-grid{grid-template-columns:1fr}}
.cms-card{
  padding:var(--space-8) var(--space-6);border-right:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);display:flex;flex-direction:column;gap:var(--space-4);
  min-height:240px;background:var(--color-bg);
  transition:background var(--duration-base);
}
.cms-card:nth-child(2n){border-right:none}
.cms-card:hover{background:var(--color-surface)}
.cms-card .kicker{
  font-family:var(--font-mono);font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--color-ochre);
}
.cms-card h3{
  font-family:var(--font-ui);font-size:clamp(1.25rem,2.2vw,1.65rem);
  text-transform:none;letter-spacing:-.01em;line-height:1.2;font-weight:700;
}
.cms-card p{color:var(--color-muted);font-size:var(--text-sm);flex:1}
.cms-card .meta{
  display:flex;gap:var(--space-3);flex-wrap:wrap;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--color-muted);
}
.cms-empty{
  grid-column:1/-1;padding:var(--space-16) var(--space-6);text-align:center;
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;
  text-transform:uppercase;color:var(--color-muted);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-4);
}

.shop-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;border:var(--bw) solid var(--color-edge);
}
@media (max-width:900px){.shop-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr}}
.shop-card{
  padding:var(--space-6);border-right:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);display:flex;flex-direction:column;gap:var(--space-3);
  min-height:260px;background:var(--color-bg);
  transition:background var(--duration-base);
}
.shop-card:hover{background:var(--color-surface)}
.shop-card .tag{
  font-family:var(--font-mono);font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  align-self:flex-start;padding:var(--space-2) var(--space-3);
  border:1px solid var(--color-line);color:var(--color-accent);
}
.shop-card h3{font-size:1.35rem}
.shop-card p{color:var(--color-muted);font-size:var(--text-sm);flex:1}
.shop-card .code{
  font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;
  letter-spacing:.08em;color:var(--color-ochre);
}
.shop-card a.go{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  border-bottom:2px solid var(--color-text);align-self:flex-start;padding-bottom:2px;min-height:44px;
  display:inline-flex;align-items:center;
}
.shop-card a.go:hover{color:var(--color-accent)}

.product-slab{
  display:grid;grid-template-columns:1.25fr .75fr;
  border:var(--bw) solid var(--color-edge);box-shadow:var(--shadow-md);
}
.product-copy{padding:clamp(1.75rem,5vw,3rem);background:var(--color-text);color:var(--color-bg)}
.product-copy .eyebrow{color:var(--color-ochre)}
.product-copy h2{font-size:clamp(2rem,4.5vw,3.25rem);margin:var(--space-4) 0}
.product-copy p{color:rgba(232,224,208,.82);font-size:var(--text-lg);max-width:36ch;margin-bottom:var(--space-6)}
.product-copy .price{
  font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;
  letter-spacing:.1em;margin-bottom:var(--space-6);
}
.product-side{
  background:var(--color-accent);border-left:var(--bw) solid var(--color-edge);
  padding:clamp(1.75rem,5vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);
  color:var(--color-bg);
}
.product-side h3{font-size:1.75rem}
.product-side p{opacity:.88;font-size:var(--text-sm);font-family:var(--font-body)}
@media (max-width:800px){
  .product-slab{grid-template-columns:1fr}
  .product-side{border-left:none;border-top:var(--bw) solid var(--color-edge)}
}

.capture-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:var(--bw) solid var(--color-edge);
}
.capture-copy{
  padding:clamp(1.75rem,5vw,3rem);border-right:var(--bw) solid var(--color-edge);
  background:var(--color-surface-2);
}
.capture-copy h2{font-size:clamp(2rem,4.5vw,3.25rem);margin:var(--space-3) 0 var(--space-4)}
.capture-copy p{font-size:var(--text-lg);color:var(--color-muted)}
.capture-form{padding:clamp(1.75rem,5vw,3rem);background:var(--color-bg)}
@media (max-width:800px){
  .capture-grid{grid-template-columns:1fr}
  .capture-copy{border-right:none;border-bottom:var(--bw) solid var(--color-edge)}
}

.native-form{display:flex;flex-direction:column;gap:var(--space-4)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
}
.field input{
  border:var(--bw) solid var(--color-edge);background:var(--color-surface);
  padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);
  min-height:44px;box-shadow:var(--shadow-sm);
}
.field input:hover{background:var(--color-bg)}
.field input:disabled{opacity:.45;cursor:not-allowed}
.field input[aria-invalid="true"]{border-color:var(--color-danger)}
.field-error{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--color-danger);
}
.form-status{
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;
  text-transform:uppercase;min-height:1.2em;
}
.form-status.is-ok{color:var(--color-success)}
.form-status.is-error{color:var(--color-danger)}

.page-hero{
  padding:clamp(2.5rem,7vw,5rem) var(--space-6);
  border-bottom:var(--bw) solid var(--color-edge);
  background:linear-gradient(180deg,var(--color-surface),var(--color-bg));
}
.page-hero .wrap{max-width:var(--max)}
.page-hero h1{font-size:clamp(2.75rem,7vw,5.5rem);max-width:10ch;margin:var(--space-3) 0 var(--space-4)}
.page-hero p{font-size:var(--text-lg);color:var(--color-muted);max-width:38ch}

.footer{
  border-top:var(--bw) solid var(--color-edge);
  padding:var(--space-8) var(--space-6) var(--space-12);background:var(--color-bg);
}
.footer-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-8);
}
@media (max-width:720px){.footer-inner{grid-template-columns:1fr}}
.footer h4{
  font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-4);color:var(--color-accent);
}
.footer a,.footer p{font-size:var(--text-sm);color:var(--color-muted);display:block;margin-bottom:var(--space-2)}
.footer a{min-height:44px;display:inline-flex;align-items:center}
.footer a:hover{color:var(--color-text)}
.custody{
  margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-line);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;
  text-transform:uppercase;color:var(--color-muted);
}
