/* Pari — outreachdev.dev design system
   Cream paper, rich orange ink, glossy glass panes over concept-sketch backgrounds.
   No framework. Mobile first. Light-only by design (the cream paper is the brand). */

:root{
  --paper:#F6F1E6; --paper-2:#EFE7D8; --paper-3:#E4D8C4;
  --orange:#C2410C; --orange-hi:#EA6A1F; --orange-lo:#9A3409; --orange-ink:#B23C0A; --orange-soft:#FBE6D4;
  --ink:#1D140D; --ink-2:#43352A; --muted:#6E5E50; --line:rgba(120,60,20,.16); --line-soft:rgba(120,60,20,.09);
  --radius:30px; --radius-sm:16px; --radius-xs:10px;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Consolas,"Courier New",monospace;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--orange-lo)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.2rem,5.2vw,4.1rem)}
h2{font-size:clamp(1.75rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.18rem,1.9vw,1.4rem);font-weight:600}
h4{font-size:1.02rem;font-family:var(--font-body);font-weight:650;letter-spacing:0}
p{margin:0 0 1em}
.lede{font-size:clamp(1.05rem,1.55vw,1.22rem);color:var(--ink-2);max-width:62ch}
.eyebrow{font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-ink);margin:0 0 1rem;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.mono{font-family:var(--font-mono)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}

/* ---------- Sections over sketches ---------- */
.section{position:relative;isolation:isolate;padding-block:clamp(44px,7vw,100px);overflow-x:clip}
.section.first{padding-top:clamp(20px,4vw,48px)}
.sketch{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
.sketch img{width:100%;height:100%;object-fit:cover;object-position:center}
.sketch.top img{object-position:center 30%}
.sketch.bottom img{object-position:center 80%}
.sketch.faint img{opacity:.6}

/* ---------- The glass pane ----------
   Clear glass lit from the top-left: a light falloff across the surface, one soft
   sheen band, warm bounce light bottom-right, a rim that is brightest at the corners,
   a crisp specular line on the top edge, and a highlight that follows the pointer.
   Light blur only, so the sketches stay readable through the glass. */
.pane{position:relative;border-radius:var(--radius);padding:clamp(24px,5vw,68px);--mx:20%;--my:0%;
  background:
    radial-gradient(110% 85% at 0% 0%,rgba(255,255,255,.46),rgba(255,255,255,0) 55%),
    linear-gradient(118deg,rgba(255,255,255,0) 32%,rgba(255,255,255,.24) 42%,rgba(255,255,255,.06) 48%,rgba(255,255,255,0) 56%),
    linear-gradient(118deg,rgba(255,255,255,0) 60%,rgba(255,255,255,.12) 64%,rgba(255,255,255,0) 68%),
    radial-gradient(70% 60% at 100% 100%,rgba(255,226,200,.22),rgba(255,226,200,0) 60%),
    linear-gradient(180deg,rgba(140,70,25,0) 55%,rgba(140,70,25,.06) 100%),
    linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
  border:1px solid rgba(140,70,25,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 1px 0 0 rgba(255,255,255,.45),
    inset -1px 0 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.22),
    inset -2px -2px 0 -1px rgba(140,70,25,.10),
    inset 0 0 22px rgba(255,255,255,.16),
    inset 0 -30px 50px -30px rgba(90,40,10,.12),
    0 1px 1px rgba(80,35,8,.05),
    0 12px 24px -12px rgba(80,35,8,.12),
    0 40px 80px -36px rgba(80,35,8,.32)}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .pane{-webkit-backdrop-filter:blur(8px) saturate(1.25) brightness(1.04);backdrop-filter:blur(8px) saturate(1.25) brightness(1.04)}
}
/* frosted grain, a glow just under the top edge, and the pointer highlight */
.pane::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:
    radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.20),rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(255,255,255,.28) 0,rgba(255,255,255,0) 60px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:auto,auto,180px 180px;opacity:.9;mix-blend-mode:normal}
/* polished rim: brightest at the top-left and bottom-right corners */
.pane::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.3px;pointer-events:none;z-index:2;
  background:
    linear-gradient(90deg,rgba(255,255,255,0) 6%,#fff 35%,#fff 55%,rgba(255,255,255,0) 94%) top/100% 1.3px no-repeat,
    linear-gradient(135deg,#fff 0%,rgba(255,255,255,.55) 14%,rgba(255,255,255,.10) 38%,rgba(255,255,255,.06) 60%,rgba(255,226,200,.45) 86%,rgba(255,255,255,.9) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.pane>*{position:relative;z-index:1}
.pane.tint{color:#fff;
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.26),rgba(255,255,255,0) 55%),
    linear-gradient(118deg,rgba(255,255,255,0) 34%,rgba(255,255,255,.12) 44%,rgba(255,255,255,0) 58%),
    linear-gradient(160deg,rgba(220,92,24,.80) 0%,rgba(178,58,10,.74) 100%);
  box-shadow:inset 0 1px 0 rgba(255,225,200,.95),inset 1px 0 0 rgba(255,210,180,.45),inset 0 0 22px rgba(255,200,160,.18),
    0 12px 24px -12px rgba(80,35,8,.2),0 40px 80px -36px rgba(80,35,8,.45)}
.pane.tint h2,.pane.tint h3,.pane.tint p{color:#fff}
.pane.tint .eyebrow{color:#FFE2CB}
@media (prefers-reduced-transparency:reduce){
  .pane{background:rgba(255,253,249,.96);-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* hero: a narrower pane on wide screens so the sketch shows beside it */
@media (min-width:1000px){.hero-pane{max-width:860px}}
.hero-copy{max-width:760px}
.hero-copy .lede{max-width:58ch}

/* rows and dividers inside a pane (no nested cards) */
.divide{border:0;border-top:1px solid var(--line);margin-block:clamp(28px,4vw,48px)}
.head{max-width:760px;margin-bottom:clamp(24px,3.5vw,40px)}
.head p:last-child{margin-bottom:0}
.cols{display:grid;gap:clamp(28px,4vw,56px)}
.cols>*{min-width:0}
@media (min-width:900px){
  .cols-2{grid-template-columns:1fr 1fr}
  .cols-2.rule>*+*{border-left:1px solid var(--line);padding-left:clamp(28px,4vw,56px)}
  .cols-hero{grid-template-columns:1.25fr .9fr;align-items:center}
  .cols-contact{grid-template-columns:1.35fr .65fr}
  .cols-contact.rule>*+*{border-left:1px solid var(--line);padding-left:clamp(28px,4vw,56px)}
}
@media (max-width:899px){.cols.rule>*+*{border-top:1px solid var(--line);padding-top:clamp(24px,5vw,40px)}}
.grid{display:grid;gap:0}
@media (min-width:700px){.grid-2{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:700px) and (max-width:999px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
.cell{padding:clamp(18px,2.4vw,28px) 0;border-top:1px solid var(--line-soft);min-width:0}
.cell h3,.cell h4{margin:0 0 .35rem}
.cell p{margin:0;color:var(--ink-2)}
@media (min-width:700px){
  .grid .cell{padding-right:clamp(14px,2vw,26px)}
  .grid-2 .cell:nth-child(2n),
  .grid-3 .cell:nth-child(2n),.grid-4 .cell:nth-child(2n){padding-left:clamp(14px,2vw,26px);border-left:1px solid var(--line-soft)}
}
@media (min-width:1000px){
  .grid-3 .cell,.grid-4 .cell{padding-left:clamp(14px,2vw,26px);border-left:1px solid var(--line-soft)}
  .grid-3 .cell:nth-child(3n+1),.grid-4 .cell:nth-child(4n+1){padding-left:0;border-left:0}
}
.k{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;color:var(--orange-ink);display:block;margin-bottom:.55rem}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;padding:10px 0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:8px 10px 8px 14px;border-radius:999px;position:relative;
  background:rgba(255,255,255,.30);border:1px solid rgba(255,255,255,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 14px 40px -20px rgba(80,35,8,.3)}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .site-header .bar,.mobile-nav{-webkit-backdrop-filter:blur(20px) saturate(1.35);backdrop-filter:blur(20px) saturate(1.35)}
}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:1.06rem;letter-spacing:.02em}
.mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#FFF7EE;font-family:var(--font-display);font-weight:700;font-size:1.02rem;flex:none;
  background:linear-gradient(180deg,var(--orange-hi) 0%,var(--orange) 55%,var(--orange-lo) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 10px -4px rgba(150,52,9,.6)}
.nav{display:none;align-items:center;gap:.2rem}
.nav a{color:var(--ink-2);text-decoration:none;padding:.5rem .85rem;border-radius:999px;font-weight:500;font-size:.95rem}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(194,65,12,.09);color:var(--orange-lo)}
.site-header .nav-cta{display:none}
.nav-toggle{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.7);cursor:pointer}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s var(--ease)}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s var(--ease),top .25s var(--ease)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobile-nav{display:none;margin-top:8px;padding:10px;border-radius:22px;background:rgba(255,252,247,.82);border:1px solid rgba(255,255,255,.6);box-shadow:0 20px 50px -20px rgba(80,35,8,.35)}
.mobile-nav[data-open="true"]{display:block}
.mobile-nav a{display:block;padding:.8rem 1rem;border-radius:var(--radius-xs);text-decoration:none;color:var(--ink);font-weight:500}
.mobile-nav a:hover,.mobile-nav a[aria-current="page"]{background:rgba(194,65,12,.09);color:var(--orange-lo)}
.mobile-nav a.btn{display:flex;margin-top:6px;width:100%;justify-content:center;color:#fff;padding:.9rem 1.4rem;border-radius:999px}
@media (min-width:880px){.nav{display:flex}.site-header .nav-cta{display:inline-flex}.nav-toggle,.mobile-nav{display:none!important}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.4rem;border-radius:999px;font-weight:650;font-size:1rem;text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s;line-height:1.1;font-family:var(--font-body)}
.btn-primary{color:#fff;border-color:rgba(150,52,9,.5);
  background:linear-gradient(180deg,#EE7A35 0%,var(--orange) 50%,#AE3A0A 51%,var(--orange-lo) 100%);
  text-shadow:0 1px 0 rgba(90,30,4,.35);
  box-shadow:inset 0 1px 0 rgba(255,225,200,.85),inset 0 -2px 6px rgba(90,30,4,.25),0 10px 24px -8px rgba(150,52,9,.55)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);filter:brightness(1.05) saturate(1.05)}
.btn-ghost{color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.6));border-color:rgba(120,60,20,.18);box-shadow:inset 0 1px 0 #fff,0 8px 20px -12px rgba(110,45,8,.35)}
.btn-ghost:hover{color:var(--orange-lo);transform:translateY(-1px)}
.btn-light{color:var(--orange-lo);background:linear-gradient(180deg,#fff,#FFF1E4);box-shadow:inset 0 1px 0 #fff,0 10px 24px -10px rgba(60,20,2,.5)}
.btn-light:hover{color:var(--orange-lo);transform:translateY(-1px)}
.btn .arrow{transition:transform .2s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- Hero ---------- */
.hero{min-height:min(88vh,860px);display:flex;align-items:center}
.hero>.wrap{width:100%}
.hero h1{margin-bottom:.5em}
.hero .lede{margin-bottom:1.6rem}
.checks{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;margin:1.6rem 0 0;font-size:.9rem;color:var(--muted);list-style:none;padding:0}
.checks li{display:inline-flex;align-items:center;gap:.45rem}
.checks svg{width:16px;height:16px;color:var(--orange)}

/* example verified-lead record (spec-sheet style, sits inside the pane) */
.record{font-family:var(--font-mono);font-size:.84rem;border:1px dashed rgba(178,60,10,.45);border-radius:var(--radius-sm);padding:18px 18px 14px;background:rgba(255,252,247,.6)}
.record .rt{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:.7rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.record dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1rem}
.record dt{color:var(--muted);white-space:nowrap}
.record dd{margin:0;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.ok{display:inline-flex;align-items:center;gap:.35rem;color:#1C6E43;font-weight:500}
.ok::before{content:"";width:7px;height:7px;border-radius:50%;background:#1F9A5A;box-shadow:0 0 0 3px rgba(31,154,90,.15);flex:none}
.record .cap{margin:.9rem 0 0;font-size:.72rem;color:var(--muted)}

/* ---------- Stats ---------- */
.stat{display:flex;flex-direction:column;gap:.45rem}
.stat .n{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;letter-spacing:-.03em;color:var(--orange);
  background:linear-gradient(180deg,var(--orange-hi),var(--orange) 60%,var(--orange-lo));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat .what{font-weight:600;color:var(--ink);line-height:1.38;margin:0}
.stat .so{color:var(--ink-2);font-size:.95rem;margin:0}
.cite{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted);margin:auto 0 0;padding-top:.4rem}
.cite a{color:var(--muted)}
.cite a:hover{color:var(--orange-ink)}

/* ---------- Lists ---------- */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ticks li{display:flex;gap:.65rem;align-items:flex-start;color:var(--ink-2)}
.ticks li::before{content:"";flex:none;width:16px;height:16px;margin-top:.25rem;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9) 0 18%,transparent 20%),linear-gradient(180deg,var(--orange-hi),var(--orange-lo));box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.order{list-style:none;margin:0;padding:0;counter-reset:o;display:grid}
.order li{counter-increment:o;display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.2rem .7rem;padding:.9rem 0;border-top:1px solid var(--line-soft)}
.order li:first-child{border-top:0;padding-top:0}
.order li::before{content:counter(o,decimal-leading-zero);font-family:var(--font-mono);font-size:.8rem;color:var(--orange-ink);padding-top:.2rem}
.order li b{display:block;color:var(--ink)}
.order li span{color:var(--ink-2);font-size:.95rem}
.order li>div{min-width:0}
.more{font-weight:650;text-decoration:none;display:inline-flex;gap:.4rem;align-items:center;margin-top:1.3rem}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:999px;font-weight:550;font-size:.94rem;color:var(--ink);
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.55));border:1px solid rgba(120,60,20,.14);box-shadow:inset 0 1px 0 #fff}
.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}

/* ---------- Service blocks (lead gen + marketing pages) ---------- */
.svc{display:grid;gap:clamp(18px,3vw,40px);padding-block:clamp(26px,4vw,44px);border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc:last-child{padding-bottom:0}
.svc>*{min-width:0}
@media (min-width:900px){.svc{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}}
.svc h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
.svc .side{display:flex;flex-direction:column;gap:.45rem;padding:20px 22px;border-radius:var(--radius-sm);
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,248,240,.5));border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1px 0 #fff;align-self:start}

/* ---------- FAQ ---------- */
.faq{display:grid}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.05rem 2.6rem 1.05rem 0;font-weight:600;position:relative;font-size:1.03rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.5rem;top:50%;width:9px;height:9px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{padding:0 0 1.2rem;color:var(--ink-2);max-width:70ch}
.faq .a p:last-child{margin:0}
.faq-group h2{font-size:1.35rem;margin-bottom:.8rem}

/* ---------- Form ---------- */
.form{display:grid;gap:14px}
.form .row{display:grid;gap:14px}
@media (min-width:640px){.form .row{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:.35rem;min-width:0}
.field label{font-weight:600;font-size:.9rem}
.field input,.field select,.field textarea{font:inherit;padding:.8rem .95rem;border-radius:var(--radius-xs);border:1px solid rgba(120,60,20,.2);background:rgba(255,255,255,.82);color:var(--ink);width:100%;
  box-shadow:inset 0 1px 2px rgba(110,45,8,.06)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange);border-color:transparent}
.field textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-note{font-size:.85rem;color:var(--muted);margin:0}
.form-status{font-weight:600;color:var(--orange-lo);min-height:1.4em}
.contact-lines{display:grid;gap:1.1rem;margin-bottom:1.8rem}
.contact-lines div{display:grid;gap:.1rem}
.contact-lines b{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.contact-lines a,.contact-lines .v{font-weight:600;color:var(--ink);text-decoration:none;font-size:1.05rem;overflow-wrap:anywhere}
.contact-lines a:hover{color:var(--orange-lo)}
.contact-lines .s{font-size:.88rem;color:var(--muted)}

/* ---------- Page heads ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;color:var(--muted);margin:0 0 1.4rem;list-style:none;padding:0}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--orange-ink)}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.page-title h1{font-size:clamp(2rem,4.6vw,3.4rem)}

/* prose (legal pages) */
.prose{max-width:760px}
.prose h2{font-size:1.45rem;margin-top:2rem}
.prose h3{font-size:1.12rem;margin-top:1.4rem}
.prose ul{padding-left:1.2rem}
.prose li{margin:.3rem 0;color:var(--ink-2)}
.prose p{color:var(--ink-2)}

/* CTA */
.cta{display:grid;gap:22px;align-items:center}
@media (min-width:900px){.cta{grid-template-columns:1.4fr .6fr}.cta .btn-row{justify-content:flex-end}}
.cta h2{margin-bottom:.3em}
.cta p{margin:0;opacity:.94}

/* ---------- Footer ---------- */
.site-footer{padding:clamp(8px,3vw,32px) 0 28px}
.footer-grid{display:grid;gap:28px}
@media (min-width:860px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.site-footer .pane{padding:clamp(24px,3.5vw,44px)}
.site-footer h4{margin:0 0 .8rem;font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.site-footer a{color:var(--ink-2);text-decoration:none}
.site-footer a:hover{color:var(--orange-lo)}
.site-footer address{font-style:normal;color:var(--ink-2);line-height:1.75}
.footer-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.1rem;margin-bottom:.8rem}
.footer-bottom{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;align-items:center;margin-top:18px;padding:0 10px;font-size:.84rem;color:var(--muted)}

/* ---------- Motion ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.err404 .big{font-family:var(--font-display);font-size:clamp(5rem,16vw,9rem);line-height:1;color:var(--orange);margin:0}
