/*
Theme Name: EverHatch
Theme URI: https://everhatch.ca
Author: Creative Scope Inc.
Author URI: https://creativescope.ca
Description: Custom theme for EverHatch Inc. — "The Surveyor's Sheet" design system. Boreal green + gold, Big Shoulders / Barlow / IBM Plex Mono.
Version: 2.0.0
Requires PHP: 7.4
License: Proprietary
Text Domain: everhatch
*/

/* EverHatch brand fonts (client-supplied), latin subset, self-hosted */
@font-face{font-family:'Chivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/chivo-var.woff2') format('woff2-variations'),url('assets/fonts/chivo-var.woff2') format('woff2');}
@font-face{font-family:'Chivo';font-style:italic;font-weight:100 900;font-display:swap;src:url('assets/fonts/chivo-var-italic.woff2') format('woff2-variations'),url('assets/fonts/chivo-var-italic.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/inter-var.woff2') format('woff2-variations'),url('assets/fonts/inter-var.woff2') format('woff2');}
@font-face{font-family:'Nexa';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/nexa-900.woff2') format('woff2');}
@font-face{font-family:'Nexa';font-style:normal;font-weight:200;font-display:swap;src:url('assets/fonts/nexa-200.woff2') format('woff2');}
@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url('assets/fonts/josefin-var.woff2') format('woff2-variations'),url('assets/fonts/josefin-var.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/carmen-300.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/carmen-400.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/carmen-500.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/carmen-600.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/carmen-700.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/carmen-800.woff2') format('woff2');}
@font-face{font-family:'Carmen Sans';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/carmen-900.woff2') format('woff2');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/fonts/quicksand-var.woff2') format('woff2-variations'),url('assets/fonts/quicksand-var.woff2') format('woff2');}



/* ============================================================
   EVERHATCH — Design Tokens · "The Surveyor's Sheet"
   Boreal green + gold · Chivo / Inter (Option 1, client fonts)
   ============================================================ */

:root {
  /* ---- Spruce (dark greens) ---- */
  --spruce-950: #0B1310;
  --spruce-900: #101C17;
  --spruce-850: #132219;
  --spruce-800: #16281F;
  --spruce-700: #1F3A2D;
  --spruce-600: #2C5240;
  --spruce-500: #3E6E57;
  --spruce-400: #5E8A72;

  /* ---- Bone / paper ---- */
  --bone-0:   #FAF7F0;
  --bone-50:  #F5F1E6;
  --bone-100: #EDE7D7;
  --bone-200: #E0D8C2;
  --bone-300: #CFC4A8;

  /* ---- Brass (gold) ---- */
  --brass-200: #F0D79E;
  --brass-300: #E7C071;
  --brass-400: #D5A342;
  --brass-500: #B98A2E;
  --brass-600: #8A6210;

  /* ---- Text ---- */
  --ink:        #17211B;   /* on paper */
  --ink-soft:   #3D4A42;
  --ink-mute:   #67746B;
  --paper-text: #EDE8DA;   /* on spruce */
  --paper-soft: #B9C2B4;
  --paper-mute: #7E8B7F;

  /* ---- Utility ---- */
  --ember: #C05B33;
  --line-dark:  rgba(237, 232, 218, 0.16);  /* hairlines on spruce */
  --line-gold:  rgba(213, 163, 66, 0.38);
  --line-paper: rgba(23, 33, 27, 0.18);     /* hairlines on bone */
  --on-brass: #0B1310;          /* readable text on brass surfaces */
  --on-brass-soft: #16281F;
  --accent-on-dark: var(--brass-300);  /* accent text on deep surfaces (palette-aware) */
  --rule: 2px solid var(--ink);             /* the sheet rule */
  --rule-dark: 2px solid var(--paper-text);

  /* ---- Type ---- */
  --f-display: 'Chivo', 'Helvetica Neue', Arial, sans-serif;
  --f-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --f-mono: 'Inter', 'Helvetica Neue', Arial, sans-serif;   /* labels use the brand body font */

  --fs-hero:  clamp(3.4rem, 9.5vw, 8.8rem);
  --fs-d2:    clamp(2.6rem, 5.8vw, 5rem);
  --fs-d3:    clamp(1.9rem, 3.4vw, 3rem);
  --fs-h4:    clamp(1.25rem, 1.9vw, 1.6rem);
  --fs-body:  1.0625rem;
  --fs-small: 0.9375rem;
  --fs-eyebrow: 0.78rem;
  --fs-tiny:  0.72rem;

  --lh-tight: 1.08;
  --lh-snug:  1.14;
  --lh-body:  1.62;

  --track-eyebrow: 0.14em;

  /* ---- Space / layout ---- */
  --sp-1: 0.5rem;  --sp-2: 1rem;   --sp-3: 1.5rem; --sp-4: 2rem;
  --sp-5: 3rem;    --sp-6: 4.5rem; --sp-7: 6.5rem; --sp-8: 9rem;
  --wrap: 1280px;
  --wrap-wide: 1440px;
  --wrap-text: 720px;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  --radius: 0;

  /* ---- Hard offset shadow (print registration) ---- */
  --shadow-hard: none;
  --shadow-hard-sm: none;
  --shadow-brass: none;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.19, 1, 0.22, 1);
  --dur: 0.55s;
}


/* ============================================================
   EVERHATCH — Base · "The Surveyor's Sheet"
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--f-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ink);
  background: var(--bone-50);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; }
em, i { font-style: normal; }

::selection { background: var(--brass-400); color: var(--on-brass); }

/* ---------- Wrappers ---------- */
.wrap      { max-width: var(--wrap);      margin-inline: auto; padding-inline: var(--gutter); }
.wrap-wide { max-width: var(--wrap-wide); margin-inline: auto; padding-inline: var(--gutter); }
.wrap-text { max-width: var(--wrap-text); margin-inline: auto; padding-inline: var(--gutter); }

/* ---------- Sections ---------- */
.sec { position: relative; padding-block: var(--sp-7); }
.sec-tight { padding-block: var(--sp-6); }
.sec-dark   { background: var(--spruce-950); color: var(--paper-text); }
.sec-dark-2 { background: var(--spruce-900); color: var(--paper-text); }
.sec-paper  { background: var(--bone-50); }
.sec-paper-2{ background: var(--bone-0); }

/* drafting-film cross grid on paper sections */
.has-contours::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at center, rgba(23,33,27,.14) 0.5px, transparent 1px);
  background-size: 26px 26px;
  opacity: .55;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
}
/* dark sections get the same grid, fainter */
.has-stars::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at center, rgba(237,232,218,.10) 0.5px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
}

/* film grain overlay */
.grain::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  opacity: .4; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.05'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ruler tick strip */
.ticks {
  height: 12px;
  background-image: repeating-linear-gradient(90deg,
    currentColor 0 1px, transparent 1px 12px);
  opacity: .3;
}
.ticks-major {
  background-image:
    repeating-linear-gradient(90deg, currentColor 0 2px, transparent 2px 96px),
    repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 12px);
  background-size: auto 12px, auto 7px;
  background-repeat: repeat-x;
  background-position: bottom left, bottom left;
}

/* hazard tape divider */
.hazard {
  height: 14px;
  background: repeating-linear-gradient(-45deg,
    var(--brass-400) 0 16px, var(--spruce-950) 16px 32px);
  border-top: var(--rule);
  border-bottom: var(--rule);
}

/* dimension line ( |--- label ---| ) */
.dim {
  display: flex; align-items: center; gap: .8rem;
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-mute);
}
.dim::before, .dim::after {
  content: ""; flex: 1; height: 1px; background: currentColor; position: relative;
}
.dim::before { box-shadow: -1px -3px 0 0 currentColor, -1px 3px 0 0 currentColor; }
.dim::after  { box-shadow:  1px -3px 0 0 currentColor,  1px 3px 0 0 currentColor; }
.sec-dark .dim, .sec-dark-2 .dim { color: var(--paper-mute); }

/* ---------- Typography ---------- */
.eyebrow {
  font-family: var(--f-mono);
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  display: inline-flex; align-items: center; gap: .6rem;
  border: 1.5px solid var(--ink);
  background: var(--bone-0);
  color: var(--ink);
  padding: 0 .75rem 0 0;
  line-height: 1;
}
.eyebrow .idx {
  display: inline-flex; align-items: center; align-self: stretch;
  background: var(--ink); color: var(--brass-300);
  padding: .42rem .6rem;
}
.sec-dark .eyebrow, .sec-dark-2 .eyebrow, .hero .eyebrow, .page-hero .eyebrow {
  border-color: var(--paper-text); background: transparent; color: var(--paper-text);
}
.sec-dark .eyebrow .idx, .sec-dark-2 .eyebrow .idx, .hero .eyebrow .idx, .page-hero .eyebrow .idx {
  background: var(--brass-400); color: var(--on-brass);
}

.d1, .d2, .d3 {
  font-family: var(--f-display);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: .005em;
  text-transform: uppercase;
  text-wrap: balance;
}
.d1 { font-size: var(--fs-hero); font-weight: 900; }
.d2 { font-size: var(--fs-d2); }
.d3 { font-size: var(--fs-d3); line-height: var(--lh-snug); }
.h4 {
  font-family: var(--f-display); font-weight: 700; font-size: var(--fs-h4);
  line-height: 1.1; text-transform: uppercase; letter-spacing: .015em;
}

/* marker highlight replaces italics */
.d1 em, .d2 em, .d3 em, .hl {
  font-style: normal;
  color: var(--on-brass);
  background: var(--brass-400);
  padding: 0 .12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.sec-dark .d1 em, .sec-dark .d2 em, .sec-dark .d3 em,
.sec-dark-2 .d1 em, .sec-dark-2 .d2 em { color: var(--on-brass); background: var(--brass-400); }

.lede { font-size: clamp(1.1rem, 1.6vw, 1.28rem); line-height: 1.5; color: var(--ink-soft); font-weight: 500; }
.sec-dark .lede, .sec-dark-2 .lede { color: var(--paper-soft); }
.muted { color: var(--ink-mute); }
.sec-dark .muted, .sec-dark-2 .muted { color: var(--paper-mute); }

.mono-label {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .65rem;
  font-family: var(--f-display); font-weight: 700; font-size: 1.05rem;
  letter-spacing: .04em; text-transform: uppercase;
  padding: .95rem 1.6rem;
  border: 2px solid var(--ink);
  transition: transform .18s ease, box-shadow .18s ease, background .18s;
  position: relative;
}
.btn:active { transform: translate(1px, 1px); }
.btn .arr { transition: transform .25s var(--ease-out); font-family: var(--f-body); }
.btn:hover .arr { transform: translateX(4px); }

.btn-brass {
  background: var(--brass-400); color: var(--on-brass);
}
.btn-brass:hover { background: var(--brass-300); }
.sec-dark .btn-brass, .sec-dark-2 .btn-brass, .site-header .btn-brass, .hero .btn-brass {
  border-color: var(--spruce-950);
}

.btn-ghost { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-ghost:hover { background: var(--ink); color: var(--bone-0); }
.sec-dark .btn-ghost, .sec-dark-2 .btn-ghost, .hero .btn-ghost, .page-hero .btn-ghost {
  border-color: var(--paper-text); color: var(--paper-text);
}
.sec-dark .btn-ghost:hover, .sec-dark-2 .btn-ghost:hover, .hero .btn-ghost:hover, .page-hero .btn-ghost:hover {
  background: var(--paper-text); color: var(--spruce-950);
}

.btn-line {
  font-family: var(--f-mono); font-size: .8rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .5rem .8rem;
  border: 1.5px solid currentColor;
  transition: gap .2s var(--ease-out), background .18s, color .18s;
}
.btn-line:hover { gap: 1rem; background: var(--ink); color: var(--accent-on-dark) !important; border-color: var(--ink); }

/* ---------- Stamp (inspector's roundel) ---------- */
.stamp {
  width: 148px; height: 148px; border-radius: 50%;
  border: 2.5px solid currentColor;
  display: grid; place-items: center;
  position: relative;
  transform: rotate(-11deg);
  color: var(--accent-on-dark);
}
.stamp::before {
  content: ""; position: absolute; inset: 9px;
  border: 1.5px solid currentColor; border-radius: 50%;
}
.stamp svg { display: block; }

/* ---------- Annotation callouts (CAD style) ---------- */
.anno {
  position: absolute; z-index: 4;
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--bone-0);
  display: flex; align-items: center; gap: 0;
}
.anno .dot {
  width: 10px; height: 10px; flex: none;
  background: var(--brass-400);
  border: 2px solid var(--spruce-950);
  outline: 1.5px solid var(--brass-400);
}
.anno .lbl {
  background: var(--bone-0);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  padding: .4rem .65rem; white-space: nowrap;
}
.anno .lead { width: 46px; height: 1.5px; background: var(--brass-400); flex: none; }

/* ---------- Header (title block) ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: var(--spruce-950);
  border-bottom: 2px solid var(--brass-400);
  transition: transform .35s var(--ease-out);
}
.site-header.hidden { transform: translateY(-100%); }
.hdr-in {
  display: flex; align-items: center; justify-content: space-between;
  padding-block: .85rem; gap: 2rem;
}
.brand { display: flex; align-items: center; gap: .8rem; color: var(--bone-0); }
.brand .wordmark {
  font-family: var(--f-display); font-weight: 800; font-size: 1.6rem;
  letter-spacing: .05em; text-transform: uppercase;
}
.brand .wordmark .star { color: var(--brass-300); }
.nav-main { display: flex; align-items: center; gap: 1.8rem; }
.nav-main > li { position: relative; }
.nav-main > li.has-drop { position: static; }
.nav-main a.nav-link {
  font-family: var(--f-mono); font-size: .8rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--paper-soft);
  transition: color .15s; padding-block: .5rem;
}
.nav-main a.nav-link:hover, .nav-main li.current > a.nav-link { color: var(--brass-300); }
.nav-main li.current > a.nav-link { border-bottom: 2px solid var(--brass-400); }

.hdr-cta { display: flex; align-items: center; gap: 1.1rem; }
.hdr-phone {
  display: flex; align-items: center; gap: .55rem;
  font-family: var(--f-mono); font-size: .85rem; font-weight: 600;
  color: var(--bone-0);
}
.hdr-phone svg { color: var(--brass-300); }
.hdr-phone:hover { color: var(--brass-300); }
.site-header .btn { padding: .65rem 1.2rem; font-size: .95rem; box-shadow: none; }

/* dropdown */
.nav-drop {
  position: absolute; top: calc(100% + .85rem); left: -1.2rem;
  min-width: 310px; padding: 0;
  background: var(--bone-0); border: 2px solid var(--ink);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s, transform .18s var(--ease-out), visibility .18s;
}
.nav-main li:hover .nav-drop, .nav-main li:focus-within .nav-drop {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-drop:not(.mega) a {
  display: block; padding: .75rem .95rem;
  font-family: var(--f-body); font-size: .95rem; font-weight: 600;
  color: var(--ink); border-bottom: 1px solid var(--line-paper);
  transition: background .12s, color .12s;
}
.nav-drop:not(.mega) a:last-child { border-bottom: 0; }
.nav-drop:not(.mega) a:hover { background: var(--brass-400); color: var(--on-brass); }
.nav-drop:not(.mega) a .sub { display: block; font-family: var(--f-mono); font-size: .66rem; font-weight: 500;
  letter-spacing: .08em; color: var(--ink-mute); margin-top: .12rem; text-transform: uppercase; }
.nav-drop:not(.mega) a:hover .sub { color: var(--spruce-800); }
.nav-drop .drop-rule { height: 2px; background: var(--ink); }


/* ---------- Mega menu (Services) ---------- */
.nav-drop.mega {
  position: absolute; left: 0; right: 0; top: 100%;
  min-width: 0; padding: 0;
  background: var(--spruce-900);
  border: 0; border-bottom: 2px solid var(--brass-400);
  box-shadow: 0 30px 50px -30px rgba(0,0,0,.6);
}
.mega-in {
  display: grid; grid-template-columns: 1.05fr 1fr 1fr;
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-block: 1.7rem 1.9rem;
}
.mega-label {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--brass-300);
  border-bottom: 1.5px solid var(--line-dark);
  padding-bottom: .6rem; margin-bottom: .4rem;
}
.nav-drop.mega .mega-col > a {
  display: flex; align-items: flex-start; gap: .8rem;
  padding: .7rem .5rem; border-bottom: 0;
  color: var(--paper-text); font-family: var(--f-body); font-weight: 600; font-size: .95rem;
  transition: background .12s;
}
.nav-drop.mega .mega-col > a:hover { background: var(--spruce-800); }
.mega-code {
  flex: none; margin-top: .1rem;
  font-family: var(--f-mono); font-size: .64rem; font-weight: 600; letter-spacing: .06em;
  color: var(--brass-300); border: 1.5px solid var(--line-dark);
  padding: .22rem .4rem;
}
.mega-name { display: block; line-height: 1.25; }
.nav-drop.mega .mega-name .sub {
  display: block; font-family: var(--f-mono); font-size: .66rem; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--paper-mute);
  margin-top: .3rem;
}
.nav-drop.mega .mega-col > a:hover .mega-name .sub { color: var(--paper-soft); }
.mega-roadmap {
  margin-top: 1rem; padding: .7rem .5rem 0;
  border-top: 1.5px solid var(--line-dark);
  font-family: var(--f-mono); font-size: .66rem; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--paper-mute);
  line-height: 1.7;
}
.mega-hero {
  display: grid; grid-template-columns: 148px 1fr; gap: 0;
  border: 1.5px solid var(--line-dark);
  align-self: stretch;
  transition: border-color .15s;
  color: var(--paper-text);
}
.mega-hero:hover { border-color: var(--brass-400); }
.mega-hero-img { display: block; position: relative; min-height: 100%; border-right: 1.5px solid var(--line-dark); }
.mega-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.mega-hero-body { display: flex; flex-direction: column; justify-content: center; gap: .5rem; padding: 1.1rem 1.2rem; }
.mega-hero-body .mono-label { color: var(--brass-300); font-weight: 600; }
.mega-hero-body b {
  color: var(--bone-0);
  font-family: var(--f-display); font-weight: 800; font-size: 1.5rem;
  text-transform: uppercase; letter-spacing: .02em; line-height: 1;
}
.mega-hero-note { font-size: .85rem; color: var(--paper-soft); line-height: 1.5; }
.mega-foot { border-top: 1.5px solid var(--line-dark); background: var(--spruce-950); }
.mega-foot-in {
  display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
  padding-block: .75rem;
  font-family: var(--f-mono); font-size: .68rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--paper-mute);
}
.mega-foot-in a { color: var(--brass-300); font-weight: 600; transition: color .15s; }
.mega-foot-in a:hover { color: var(--brass-200); }

/* mobile nav */
.nav-burger { display: none; width: 44px; height: 44px; position: relative; z-index: 60; }
.nav-burger span {
  position: absolute; left: 9px; right: 9px; height: 3px; background: var(--bone-0);
  transition: transform .3s var(--ease-out), opacity .2s, top .3s var(--ease-out);
}
.nav-burger span:nth-child(1) { top: 14px; }
.nav-burger span:nth-child(2) { top: 21px; }
.nav-burger span:nth-child(3) { top: 28px; }
body.nav-open .nav-burger span:nth-child(1) { top: 21px; transform: rotate(45deg); }
body.nav-open .nav-burger span:nth-child(2) { opacity: 0; }
body.nav-open .nav-burger span:nth-child(3) { top: 21px; transform: rotate(-45deg); }

.nav-mobile-cta { display: none; }

@media (max-width: 960px) {
  .nav-burger { display: block; }
  .nav-mobile-cta { display: flex; flex-direction: column; gap: .9rem; margin-top: 2.6rem; max-width: 320px; }
  .nav-wrap {
    position: fixed; inset: 0; z-index: 55;
    background: var(--spruce-950);
    display: flex; flex-direction: column; justify-content: center;
    padding: var(--gutter);
    opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
  }
  body.nav-open .nav-wrap { opacity: 1; visibility: visible; }
  .nav-main { flex-direction: column; align-items: flex-start; gap: 1.1rem; }
  .nav-main a.nav-link { font-family: var(--f-display); font-size: 2.2rem; font-weight: 800; color: var(--bone-0); letter-spacing: .03em; }
  .nav-drop { position: static; opacity: 1; visibility: visible; transform: none;
    background: none; border: 0; box-shadow: none; min-width: 0; padding: .2rem 0 0 1rem; display: none; }
  .nav-main li.open .nav-drop { display: block; }
  .nav-drop a { color: var(--paper-soft); border-bottom: 0; }
  .nav-drop a:hover { background: none; color: var(--brass-300); }
  .nav-drop.mega { position: static; background: none; border: 0; box-shadow: none; }
  .mega-in { display: flex; flex-direction: column; gap: .2rem; padding-block: .4rem; }
  .mega-hero { grid-template-columns: 1fr; border: 0; }
  .mega-hero-img { display: none; }
  .mega-hero-body { padding: .5rem; gap: .3rem; }
  .mega-hero-body b { font-size: 1.15rem; }
  .mega-hero-body .mono-label, .mega-hero-note, .mega-label, .mega-roadmap, .mega-foot { display: none; }
  .nav-drop.mega .mega-col > a { padding: .45rem .5rem; }
  .hdr-cta .btn { display: none; }
  body.nav-open .hdr-cta { position: relative; z-index: 60; }
}
@media (max-width: 700px) {
  .hdr-phone { display: none; }
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--spruce-950); color: var(--paper-soft); position: relative;
  border-top: 2px solid var(--brass-400);
}
.ft-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 3rem; padding-block: var(--sp-6); }
.ft-col h5 {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--brass-300);
  border-bottom: 1.5px solid var(--line-dark); padding-bottom: .6rem; margin-bottom: 1rem;
}
.ft-col a { display: block; padding-block: .32rem; font-size: .95rem; transition: color .15s; }
.ft-col a:hover { color: var(--brass-300); }
.ft-bottom {
  border-top: 1.5px solid var(--line-dark);
  padding-block: 1.4rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
  font-family: var(--f-mono); font-size: .74rem; letter-spacing: .06em; color: var(--paper-mute);
}
.ft-motto { font-family: var(--f-mono); font-size: .8rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--brass-300); }
@media (max-width: 900px) { .ft-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ft-top { grid-template-columns: 1fr; gap: 2rem; } }

/* ---------- Reveal (static, no animation) ---------- */
.rv { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ---------- Misc ---------- */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; top: -140px; left: 1rem; z-index: 100; background: var(--brass-400);
  color: var(--on-brass); font-weight: 700; padding: .8rem 1.2rem; transition: top .25s; border: 2px solid var(--ink); }
.skip-link:focus { top: 1rem; }


/* ---------- eyebrow without index cell ---------- */
.eyebrow.no-idx { padding: .42rem .75rem; }

/* ---------- page hero with photo background ---------- */
.page-hero { position: relative; }
.page-hero-bg { overflow: hidden; }
.ph-bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
}
.ph-bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(11,19,16,.9) 0%, rgba(11,19,16,.62) 55%, rgba(11,19,16,.45) 100%),
    linear-gradient(180deg, rgba(11,19,16,.55) 0%, rgba(11,19,16,.25) 45%, var(--spruce-950) 100%);
}
.page-hero > .hero-doc-strip, .page-hero > .ph-in, .page-hero > .wrap,
.page-hero > .wrap-wide { position: relative; z-index: 1; }

/* ---------- photo band (image right, copy left) ---------- */
.photo-band { position: relative; overflow: hidden; }
.pb-bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center right;
}
.pb-bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg,
    var(--spruce-950) 0%, var(--spruce-950) 34%,
    rgba(11,19,16,.72) 58%, rgba(11,19,16,.22) 100%);
}
.photo-band > .wrap { position: relative; z-index: 1; }
.photo-band .pb-copy { max-width: 46rem; }
.photo-band .pb-copy .d2 { margin-top: 1.6rem; }
.photo-band .pb-copy .lede { margin-top: 1.5rem; }
.photo-band .pb-copy .btn { margin-top: 2.2rem; }
@media (max-width: 900px) {
  .pb-bg::after { background: rgba(11,19,16,.82); }
}

/* ---------- natural-height split figure ---------- */
.split figure.fig-natural img { aspect-ratio: auto; height: auto; }


/* ---------- Field note (reticle-corner blurb) ---------- */
.field-note {
  --fn-corner: var(--ink);
  position: relative;
  background-color: var(--bone-0);
  padding: 1.45rem 1.6rem 1.3rem;
  max-width: 26rem;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-soft);
  background-image:
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner));
  background-position: top left, top left, top right, top right,
    bottom left, bottom left, bottom right, bottom right;
  background-size: 22px 2.5px, 2.5px 22px, 22px 2.5px, 2.5px 22px,
    22px 2.5px, 2.5px 22px, 22px 2.5px, 2.5px 22px;
  background-repeat: no-repeat;
}
.field-note b, .field-note strong { color: var(--ink); }
.fn-title {
  position: absolute; top: -0.66rem; left: 1.5rem;
  background: var(--brass-400); color: var(--on-brass);
  font-family: var(--f-mono); font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 0.3rem 0.6rem; line-height: 1;
}
.sec-dark .field-note, .sec-dark-2 .field-note {
  --fn-corner: var(--paper-text);
  background-color: var(--spruce-900);
  color: var(--paper-soft);
}
.sec-dark .field-note b, .sec-dark .field-note strong { color: var(--bone-0); }
.field-note p { margin: 0; }
.field-note p + p { margin-top: .6rem; }
.fn-wide { max-width: 52rem; }


/* ===== HOME ===== */
/* ============================================================
   EVERHATCH — Homepage · "The Surveyor's Sheet"
   ============================================================ */

/* ---------- HERO (video) ---------- */
.hero {
  position: relative;
  min-height: calc(100svh + 92px);
  display: flex; flex-direction: column; justify-content: flex-start;
  color: var(--paper-text);
  background: var(--spruce-950);
  overflow: hidden;
  padding-top: 4.4rem;
}
.hero-video {
  position: absolute; inset: 0; z-index: 0;
}
.hero-video video {
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.82) contrast(1.05);
}
.hero-video::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(11,19,16,.62) 0%, rgba(11,19,16,.18) 34%, rgba(11,19,16,.5) 62%, rgba(11,19,16,.94) 100%),
    linear-gradient(90deg, rgba(11,19,16,.45), transparent 45%);
}

.hero-doc-strip {
  position: relative; z-index: 2;
  width: 100%;
  display: flex; justify-content: space-between; gap: 1.5rem;
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--paper-soft);
  border-bottom: 1.5px solid var(--line-dark);
  padding-block: .75rem;
}

.hero-top { flex: none; position: relative; z-index: 3; width: 100%; }
.hero-stamp-row {
  display: flex; justify-content: flex-end;
  padding-top: clamp(1.1rem, 2.6vh, 2rem);
}
.hero-stamp { position: relative; z-index: 3; color: var(--accent-on-dark); }
@media (max-width: 900px) { .hero-stamp { display: none; } }

.hero-body {
  position: relative; z-index: 2;
  width: 100%;
  margin-top: auto;
  padding-block: clamp(3.2rem, 9vh, 6.5rem) 0;
}
.hero-copy .eyebrow { margin-bottom: 1.6rem; }
.hero-copy .d1 { max-width: 13ch; }
.hero-sub {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 2.5rem; margin-top: 1.8rem; flex-wrap: wrap;
}
.hero-copy .lede { max-width: 34rem; }
.hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; }

/* fact cells bolted to hero bottom */
.hero-facts {
  position: relative; z-index: 2;
  margin-top: clamp(2rem, 5vh, 3.5rem);
  border-top: 1.5px solid var(--line-dark);
  background: rgba(11,19,16,.68); backdrop-filter: blur(6px);
}
.hero-facts-in {
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.hf-cell {
  padding: calc(1.1rem + 15px) 1.4rem calc(1.2rem + 15px);
  border-right: 1.5px solid var(--line-dark);
  text-align: center;
}
.hf-cell:last-child { border-right: 0; }
.hf-cell b {
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1;
  color: var(--accent-on-dark); display: block; text-transform: uppercase;
}
.hf-cell span {
  font-family: var(--f-mono); font-size: .68rem; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--paper-mute);
  display: block; margin-top: .45rem; line-height: 1.5;
}
@media (max-width: 900px) {
  .hero-facts-in { grid-template-columns: 1fr 1fr; }
  .hf-cell:nth-child(2) { border-right: 0; }
  .hf-cell { border-bottom: 1.5px solid var(--line-dark); }
  .hf-cell:nth-child(3), .hf-cell:nth-child(4) { border-bottom: 0; }
}

/* trust strip below hero */
.trust-band {
  background: var(--spruce-950); color: var(--paper-soft);
  border-bottom: var(--rule);
}
.trust-row {
  display: flex; flex-wrap: wrap; gap: .6rem 0;
  justify-content: center;
  padding-block: calc(.85rem + 15px);
}
.trust-row li {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  padding-inline: 1.4rem;
  border-right: 1.5px solid var(--line-dark);
}
.trust-row li:first-child { padding-left: 0; }
.trust-row li:last-child { border-right: 0; }
.trust-row li::before { content: "■"; color: var(--brass-400); font-size: .55em; }

/* ---------- 01 · POSITIONING ---------- */
.pos-grid {
  display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(2rem, 4vw, 4.5rem);
  align-items: start;
}
.pos-main .d2 { margin-top: 1.6rem; }
.pos-side { display: flex; flex-direction: column; gap: 1.6rem; }
.pos-img { margin: 0; }
.pos-img img {
  width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
  border: var(--rule); filter: saturate(.92);
}
.pos-grid .lede { border-left: 3px solid var(--brass-400); padding-left: 1.3rem; }
.pillar-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border: var(--rule);
  margin-top: var(--sp-6);
  background: var(--bone-0);
}
.pillar {
  padding: 1.8rem 1.7rem 2rem;
  position: relative;
  border-right: var(--rule);
}
.pillar:last-child { border-right: 0; }
.pillar-idx {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .1em; color: var(--bone-0); background: var(--ink);
  display: inline-block; padding: .3rem .55rem;
}
.pillar h3 { margin-top: 1.4rem; margin-bottom: .7rem; }
.pillar p { font-size: var(--fs-small); color: var(--ink-soft); }
@media (max-width: 900px) {
  .pos-grid { grid-template-columns: 1fr; }
  .pillar-grid { grid-template-columns: 1fr; }
  .pillar { border-right: 0; border-bottom: var(--rule); }
  .pillar:last-child { border-bottom: 0; }
}

/* ---------- 02 · SERVICES ---------- */
.svc-head {
  display: flex; justify-content: space-between; align-items: end; gap: 2.5rem;
  margin-bottom: var(--sp-5);
}
.svc-head .d2 { margin-top: 1.6rem; }
.svc-head-note {
  max-width: 24rem; font-size: var(--fs-small); color: var(--ink-soft);
  border: 1.5px solid var(--ink); border-left: 6px solid var(--brass-400);
  padding: 1rem 1.2rem; background: var(--bone-0);
}
.svc-list { border: var(--rule); background: var(--bone-0); }
.svc-row {
  transition: background .18s ease;
  display: grid;
  grid-template-columns: 7.5rem 1fr auto auto;
  gap: clamp(1.2rem, 3vw, 3rem);
  align-items: center;
  padding: 1.9rem 1.6rem;
  border-bottom: var(--rule);
  position: relative;
  transition: background .15s;
}
.svc-row:last-child { border-bottom: 0; }
.svc-row:hover { background: var(--spruce-700); }
.svc-row:hover .svc-body h3 { color: var(--bone-0); }
.svc-row:hover .svc-body p { color: var(--paper-soft); }
.svc-row:hover .svc-for { background: var(--brass-400); color: var(--on-brass); border-color: var(--brass-400); }
.svc-row:hover .svc-idx { background: transparent; color: var(--bone-0); border-color: var(--paper-soft); }
.svc-row:hover .svc-arr { color: var(--brass-300); }
.svc-idx {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .08em; color: var(--ink);
  border: 1.5px solid var(--ink); padding: .35rem .5rem; text-align: center;
  background: var(--bone-50);
}
.svc-body h3 { letter-spacing: .01em; }
.svc-body p { margin-top: .5rem; max-width: 36rem; color: var(--ink-soft); font-size: var(--fs-small); }
.svc-for {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--bone-0); background: var(--spruce-900);
  padding: .4rem .7rem; white-space: nowrap;
}
.svc-arr { font-size: 1.6rem; color: var(--ink); transition: transform .25s var(--ease-out); }
.svc-row:hover .svc-arr { transform: translateX(6px); }

.svc-secondary {
  margin-top: var(--sp-6);
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 0;
  border: var(--rule);
  background: var(--spruce-900);
  color: var(--paper-text);
}
.svc-sec-copy { padding: clamp(1.8rem, 4vw, 3.2rem); }
.svc-secondary .d3 { margin-top: 1.3rem; }
.svc-secondary p { margin-top: 1rem; color: var(--paper-soft); font-size: var(--fs-small); }
.svc-secondary .btn-line { margin-top: 1.6rem; color: var(--accent-on-dark); }
.svc-roadmap { margin-top: 2rem !important; color: var(--paper-mute) !important; font-size: var(--fs-tiny) !important; }
.svc-sec-img { position: relative; min-height: 300px; border-left: var(--rule); }
.svc-sec-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); }

@media (max-width: 900px) {
  .svc-head { flex-direction: column; align-items: flex-start; gap: 1.4rem; }
  .svc-row {
  transition: background .18s ease; grid-template-columns: 1fr auto; }
  .svc-idx { grid-column: 1 / -1; justify-self: start; }
  .svc-for { display: none; }
  .svc-secondary { grid-template-columns: 1fr; }
  .svc-sec-img { border-left: 0; border-top: var(--rule); }
}

/* ---------- MARQUEE (conveyor strip) ---------- */
.marquee {
  overflow: hidden; white-space: nowrap;
  background: var(--brass-400);
  border-top: var(--rule); border-bottom: var(--rule);
  padding-block: .7rem;
}
.marquee-track { display: inline-flex; animation: marquee 44s linear infinite; }
.marquee-track span {
  font-family: var(--f-mono); font-size: .8rem; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--on-brass);
  padding-right: 1ch;
}
@keyframes marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

/* ---------- 03 · PROCESS ---------- */
.proc-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: var(--sp-6);
  border: 1.5px solid var(--line-dark);
}
.proc-step {
  position: relative; padding: 1.8rem 1.6rem 2.1rem;
  border-right: 1.5px solid var(--line-dark);
}
.proc-step:last-child { border-right: 0; }
/* final step stands out in brass */
.sec-dark .proc-grid .proc-step:last-child, .sec-dark-2 .proc-grid .proc-step:last-child {
  background: var(--brass-400);
}
.sec-dark .proc-grid .proc-step:last-child .proc-num,
.sec-dark-2 .proc-grid .proc-step:last-child .proc-num {
  background: var(--spruce-950); color: var(--brass-300);
}
.sec-dark .proc-grid .proc-step:last-child h3,
.sec-dark-2 .proc-grid .proc-step:last-child h3 { color: var(--on-brass); }
.sec-dark .proc-grid .proc-step:last-child p,
.sec-dark-2 .proc-grid .proc-step:last-child p { color: var(--on-brass-soft); }
.proc-num {
  font-family: var(--f-display); font-weight: 800;
  font-size: 1.4rem; line-height: 1;
  color: var(--on-brass); background: var(--brass-400);
  display: inline-block; padding: .45rem .7rem .35rem;
}
.proc-step h3 { margin-top: 1.3rem; margin-bottom: .7rem; color: var(--bone-0); }
.proc-step p { font-size: var(--fs-small); color: var(--paper-soft); }
@media (max-width: 980px) {
  .proc-grid { grid-template-columns: 1fr 1fr; }
  .proc-step:nth-child(2) { border-right: 0; }
  .proc-step:nth-child(1), .proc-step:nth-child(2) { border-bottom: 1.5px solid var(--line-dark); }
}
@media (max-width: 560px) {
  .proc-grid { grid-template-columns: 1fr; }
  .proc-step { border-right: 0 !important; border-bottom: 1.5px solid var(--line-dark); }
  .proc-step:last-child { border-bottom: 0; }
}

/* ---------- 04 · THE REPORT ---------- */
.rpt-grid {
  display: grid; grid-template-columns: 1fr 1.05fr;
  gap: clamp(2.5rem, 5vw, 5.5rem); align-items: stretch;
}
.rpt-copy .d2 { margin-top: 1.6rem; }
.rpt-copy .lede { margin-top: 1.4rem; }
.rpt-points { margin-top: 1.6rem; margin-bottom: 2.2rem; }
.rpt-points li {
  padding: .42rem 0 .42rem 1.6rem; position: relative;
  font-size: var(--fs-small);
}
.rpt-points li::before {
  content: ""; position: absolute; left: 0; top: .52rem;
  width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5 6.2 12.5 14 3.5' fill='none' stroke='%23B98A2E' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rpt-card {
  background: var(--bone-0);
  border: var(--rule);
  display: flex; flex-direction: column; margin: 0;
}
.rpt-card-head {
  display: flex; justify-content: space-between;
  padding: .8rem 1.2rem;
  border-bottom: var(--rule);
  background: var(--ink); color: var(--brass-300);
}
.rpt-card-img { position: relative; flex: 1; min-height: 300px; overflow: hidden; border-bottom: var(--rule); }
.rpt-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rpt-card-body { padding: 1.3rem 1.2rem 1.4rem; display: grid; gap: 1rem; }
.rpt-line { display: flex; gap: 1rem; align-items: flex-start; }
.rpt-line p { font-size: .92rem; color: var(--ink-soft); line-height: 1.55; }
.rpt-line b { color: var(--ink); }
.rpt-tag {
  flex: none; padding: .32rem .55rem; margin-top: .1rem;
  border: 1.5px solid currentColor; font-weight: 600;
}
.tag-plan { color: var(--ink); background: var(--brass-200); border-color: var(--ink); }
.tag-ok   { color: var(--bone-0); background: var(--spruce-900); border-color: var(--spruce-900); }
@media (max-width: 900px) {
  .rpt-grid { grid-template-columns: 1fr; }
  .rpt-card-img { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
}

/* ---------- 05 · PRICE (gold band) ---------- */
.price-band {
  position: relative;
  background: var(--brass-400);
  color: var(--on-brass);
  border-bottom: var(--rule);
}
.price-in {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: clamp(2rem, 5vw, 5rem); align-items: center;
  padding-block: calc(3.24rem - 20px);
}
.price-num { display: flex; align-items: baseline; gap: .5rem; position: relative; }
.price-cur {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(2rem, 4vw, 3.4rem); color: var(--on-brass);
}
.price-val {
  font-family: var(--f-display); font-weight: 900;
  font-size: clamp(5.5rem, 12vw, 9.5rem); line-height: .85;
  color: var(--on-brass);
}
.price-gst {
  writing-mode: vertical-rl; text-orientation: mixed;
  color: var(--on-brass-soft); align-self: center;
  font-family: var(--f-mono); font-size: .72rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  border-left: 1.5px solid currentColor; padding-left: .7rem;
}
.price-copy .d3 { color: var(--on-brass); }
.price-copy p { margin-top: .9rem; color: var(--on-brass-soft); max-width: 34rem; font-size: var(--fs-small); font-weight: 500; }
.price-band .btn-brass {
  background: var(--spruce-950); color: var(--accent-on-dark);
  border-color: var(--on-brass);
}
.price-band .btn-brass:hover { background: var(--spruce-800); color: var(--brass-200); }
@media (max-width: 900px) {
  .price-in { grid-template-columns: 1fr; gap: 1.6rem; }
  .price-gst { writing-mode: horizontal-tb; border-left: 0; padding-left: 0; }
}

/* ---------- 06 · SERVICE AREA ---------- */
.area-band {
  position: relative; overflow: hidden;
  background: var(--spruce-950); color: var(--paper-text);
  border-top: var(--rule);
}
.area-bg {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .5;
  filter: saturate(1.05);
}
.area-band::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(11,19,16,.95) 30%, rgba(11,19,16,.6) 60%, rgba(11,19,16,.3) 100%);
}
.area-in { position: relative; z-index: 2; }
.area-copy { max-width: 38rem; }
.area-copy .d2 { margin-top: 1.6rem; }
.area-copy .lede { margin-top: 1.4rem; color: var(--paper-text); }
.area-list {
  display: flex; flex-wrap: wrap; gap: 0;
  margin-top: 2rem;
  border: 1.5px solid var(--paper-soft);
  background: rgba(11,19,16,.55); backdrop-filter: blur(3px);
  max-width: max-content;
}
.area-list li {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: .6rem .95rem;
  border-right: 1.5px solid rgba(185,194,180,.4);
  color: var(--paper-soft);
}
.area-list li:last-child { border-right: 0; }
.area-list li:first-child { background: var(--brass-400); color: var(--on-brass); }
@media (max-width: 700px) {
  .area-list { flex-direction: column; }
  .area-list li { border-right: 0; border-bottom: 1.5px solid rgba(185,194,180,.3); }
  .area-list li:last-child { border-bottom: 0; }
}

/* ---------- 07 · ABOUT TEASER ---------- */
.about-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 5.5rem); align-items: stretch;
}
.about-img { position: relative; margin: 0; min-height: 320px; }
.about-img img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover;
  border: var(--rule);
  filter: saturate(.9);
}
.about-img figcaption {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  background: var(--ink); color: var(--brass-300);
  padding: .55rem .85rem;
  border-top: 1.5px solid var(--brass-400);
}
.about-copy .d2 { margin-top: 1.6rem; }
.about-copy p { margin-top: 1.3rem; color: var(--ink-soft); }
.about-copy .btn-line { margin-top: 1.8rem; color: var(--ink); }
@media (max-width: 900px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-img { min-height: 0; }
  .about-img img { position: static; height: auto; aspect-ratio: 4 / 3; }
}

/* ---------- 08 · STANDARDS (signed document) ---------- */
.std-wrap {
  display: grid; grid-template-columns: .92fr 1.08fr;
  gap: clamp(2.5rem, 5vw, 5.5rem); align-items: center;
}
.std-copy .d2 { margin-top: 1.6rem; }
.std-copy .lede { margin-top: 1.4rem; }
.std-note { margin-top: 1.1rem; color: var(--ink-soft); font-size: var(--fs-small); max-width: 30rem; }
.std-dim { margin-top: 2.2rem; max-width: 22rem; }

.std-doc-wrap { position: relative; padding: 1.2rem .6rem; }
.std-doc {
  position: relative;
  background: var(--bone-0); color: var(--ink);
  border: var(--rule);
  padding: clamp(1.5rem, 3vw, 2.4rem);
  transform: rotate(-1.4deg);
}
/* backing sheet on the pile */
.std-doc::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--bone-200);
  border: 2px solid var(--ink);
  transform: rotate(2.2deg) translate(10px, 6px);
}
.std-doc-head {
  display: flex; justify-content: space-between; gap: 1rem;
  font-family: var(--f-mono); font-size: .68rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute);
  border-bottom: var(--rule); padding-bottom: .7rem;
}
.std-doc-title {
  font-family: var(--f-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1;
  margin-top: 1.2rem; letter-spacing: .01em;
}
.std-doc-sub {
  font-family: var(--f-mono); font-size: .72rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft);
  margin-top: .5rem;
}
.std-clauses { margin-top: 1.4rem; counter-reset: clause; }
.std-clauses li {
  display: grid; grid-template-columns: 26px 1fr; gap: 1rem; align-items: start;
  padding-block: .95rem;
  border-top: 1.5px solid var(--line-paper);
}
.std-clauses li:first-child { border-top: var(--rule); }
.std-check {
  width: 24px; height: 24px; margin-top: .1rem;
  border: 2px solid var(--ink); background: var(--brass-400);
  display: grid; place-items: center;
  font-weight: 700; font-size: .85rem; color: var(--spruce-950);
}
.std-clauses p { font-size: .95rem; color: var(--ink-soft); line-height: 1.55; }
.std-clauses b { color: var(--ink); }
.std-doc-foot {
  margin-top: 1.3rem; padding-top: 1.1rem;
  border-top: var(--rule);
  display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem;
  position: relative;
}
.std-sig-name {
  display: block;
  font-family: var(--f-display); font-weight: 800; text-transform: uppercase;
  font-size: 1.7rem; line-height: 1;
}
.std-sig-role {
  display: block; margin-top: .35rem;
  font-family: var(--f-mono); font-size: .64rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute);
}
.std-doc-date { text-align: right; }
.std-doc-date .std-sig-role { margin-top: 0; margin-bottom: .35rem; }
.std-doc-stamp {
  position: absolute; right: 24%; bottom: -14px; z-index: 2;
  color: var(--ink-mute); opacity: .9;
  transform: rotate(-12deg);
  pointer-events: none;
}
@media (max-width: 900px) {
  .std-wrap { grid-template-columns: 1fr; }
  .std-doc { transform: rotate(-1deg); }
  .std-doc-stamp { color: var(--ink-mute); right: 8%; }
}

/* ---------- 09 · FAQ ---------- */
.faq-grid {
  display: grid; grid-template-columns: .85fr 1.15fr;
  gap: clamp(2.5rem, 5vw, 5rem); align-items: start;
}
.faq-head { position: sticky; top: 6.5rem; }
.faq-head .d2 { margin-top: 1.6rem; }
.faq-note { margin-top: 1.2rem; color: var(--ink-soft); max-width: 22rem; }
.faq-head .btn { margin-top: 1.6rem; }
.faq-list { border: var(--rule); background: var(--bone-0); }
.faq { border-bottom: var(--rule); }
.faq:last-child { border-bottom: 0; }
.faq summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
  padding: 1.2rem 1.3rem;
  font-family: var(--f-display); font-weight: 700; text-transform: uppercase;
  font-size: 1.15rem; letter-spacing: .02em;
  transition: background .12s;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { background: var(--brass-200); }
.faq[open] summary { background: var(--ink); color: var(--bone-0); }
.faq-x { position: relative; width: 14px; height: 14px; flex: none; }
.faq-x::before, .faq-x::after {
  content: ""; position: absolute; background: currentColor;
  transition: transform .25s var(--ease-out);
}
.faq-x::before { left: 0; right: 0; top: 6px; height: 2px; }
.faq-x::after  { top: 0; bottom: 0; left: 6px; width: 2px; }
.faq[open] .faq-x::after { transform: scaleY(0); }
.faq p {
  padding: 1.1rem 1.3rem 1.4rem;
  max-width: 42rem;
  color: var(--ink-soft); font-size: var(--fs-small);
  border-top: 1.5px solid var(--line-paper);
}
@media (max-width: 900px) {
  .faq-grid { grid-template-columns: 1fr; }
  .faq-head { position: static; }
}

/* ---------- 10 · FINAL CTA ---------- */
.cta-final { text-align: left; border-top: var(--rule); }
.cta-in {
  display: grid; grid-template-columns: 1fr auto; gap: 2.5rem; align-items: center;
}
.cta-in .d2 { max-width: 16ch; }
.cta-in .lede { margin-top: 1.2rem; max-width: 32rem; }
.cta-btns { display: flex; flex-direction: column; gap: 1rem; align-items: stretch; }
.cta-hours { margin-top: 0; color: var(--paper-mute); text-align: center; }
.cta-stamp { justify-self: end; }
@media (max-width: 800px) {
  .cta-in { grid-template-columns: 1fr; }
  .cta-btns { flex-direction: row; flex-wrap: wrap; }
}

/* ---------- polish ---------- */
.hero .lede { color: var(--paper-text); }
.svc-secondary .eyebrow { border-color: var(--paper-text); background: transparent; color: var(--paper-text); }
.svc-secondary .eyebrow .idx { background: var(--brass-400); color: var(--on-brass); }

/* proc-grid on paper sections (About growth pillars) */
.sec-paper .proc-grid, .sec-paper-2 .proc-grid { border-color: var(--ink); }
.sec-paper .proc-step, .sec-paper-2 .proc-step { border-color: var(--ink); }
.sec-paper .proc-step h3, .sec-paper-2 .proc-step h3 { color: var(--ink); }
.sec-paper .proc-step p, .sec-paper-2 .proc-step p { color: var(--ink-soft); }

/* ---------- pine treeline (section 02) ---------- */
.sec-trees { position: relative; overflow: hidden; }
.sec-trees::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 250px;
  pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='250' viewBox='0 0 1000 250' fill='%2317211B'%3E%3Cg fill-opacity='0.45'%3E%3Cpath d='M15,89 L12.0,103 L18.0,103 Z'/%3E%3Cpath d='M15,97 L8,115 L12,110 L15,111 L18,110 L21,115 Z'/%3E%3Cpath d='M15,111 L6,130 L10,125 L15,126 L20,125 L25,130 Z'/%3E%3Cpath d='M15,126 L4,145 L9,139 L15,140 L21,139 L28,145 Z'/%3E%3Cpath d='M15,140 L-1,160 L8,153 L15,154 L22,153 L29,160 Z'/%3E%3Cpath d='M15,154 L-1,175 L6,168 L15,168 L24,168 L32,175 Z'/%3E%3Cpath d='M15,168 L-4,189 L5,182 L15,183 L25,182 L35,189 Z'/%3E%3Cpath d='M15,183 L-6,204 L4,196 L15,197 L26,196 L38,204 Z'/%3E%3Cpath d='M15,197 L-12,219 L3,210 L15,211 L27,210 L40,219 Z'/%3E%3Cpath d='M15,211 L-12,234 L2,225 L15,226 L28,225 L40,234 Z'/%3E%3Cpath d='M15,226 L-15,248 L1,239 L15,240 L29,239 L42,248 Z'/%3E%3Cpath d='M13,238 h4 v12 h-4 Z'/%3E%3Cpath d='M99,125 L96.0,139 L102.0,139 Z'/%3E%3Cpath d='M99,133 L93,150 L96,145 L99,146 L102,145 L105,150 Z'/%3E%3Cpath d='M99,146 L90,164 L95,159 L99,160 L103,159 L108,164 Z'/%3E%3Cpath d='M99,160 L87,178 L93,172 L99,173 L105,172 L111,178 Z'/%3E%3Cpath d='M99,173 L84,192 L92,186 L99,186 L106,186 L112,192 Z'/%3E%3Cpath d='M99,186 L82,206 L91,199 L99,200 L107,199 L114,206 Z'/%3E%3Cpath d='M99,200 L82,220 L90,212 L99,213 L108,212 L118,220 Z'/%3E%3Cpath d='M99,213 L78,233 L89,226 L99,227 L109,226 L120,233 Z'/%3E%3Cpath d='M99,227 L76,247 L88,239 L99,240 L110,239 L122,247 Z'/%3E%3Cpath d='M97,238 h4 v12 h-4 Z'/%3E%3Cpath d='M189,71 L186.0,85 L192.0,85 Z'/%3E%3Cpath d='M189,79 L182,98 L186,93 L189,94 L192,93 L195,98 Z'/%3E%3Cpath d='M189,94 L180,113 L184,107 L189,108 L194,107 L199,113 Z'/%3E%3Cpath d='M189,108 L176,128 L183,122 L189,123 L195,122 L201,128 Z'/%3E%3Cpath d='M189,123 L173,143 L182,137 L189,138 L196,137 L204,143 Z'/%3E%3Cpath d='M189,138 L170,158 L180,151 L189,152 L198,151 L208,158 Z'/%3E%3Cpath d='M189,152 L169,174 L179,166 L189,167 L199,166 L211,174 Z'/%3E%3Cpath d='M189,167 L168,189 L178,180 L189,181 L200,180 L212,189 Z'/%3E%3Cpath d='M189,181 L162,204 L177,195 L189,196 L201,195 L213,204 Z'/%3E%3Cpath d='M189,196 L161,219 L176,210 L189,211 L202,210 L214,219 Z'/%3E%3Cpath d='M189,211 L158,234 L175,224 L189,225 L203,224 L220,234 Z'/%3E%3Cpath d='M189,225 L156,249 L173,239 L189,240 L205,239 L223,249 Z'/%3E%3Cpath d='M187,238 h4 v12 h-4 Z'/%3E%3Cpath d='M279,87 L276.0,101 L282.0,101 Z'/%3E%3Cpath d='M279,95 L272,114 L276,108 L279,110 L282,108 L285,114 Z'/%3E%3Cpath d='M279,110 L269,129 L274,123 L279,124 L284,123 L288,129 Z'/%3E%3Cpath d='M279,124 L266,144 L273,138 L279,138 L285,138 L292,144 Z'/%3E%3Cpath d='M279,138 L264,159 L272,152 L279,153 L286,152 L295,159 Z'/%3E%3Cpath d='M279,153 L263,174 L270,166 L279,168 L288,166 L297,174 Z'/%3E%3Cpath d='M279,168 L258,189 L269,181 L279,182 L289,181 L301,189 Z'/%3E%3Cpath d='M279,182 L255,204 L268,196 L279,196 L290,196 L301,204 Z'/%3E%3Cpath d='M279,196 L255,219 L267,210 L279,211 L291,210 L305,219 Z'/%3E%3Cpath d='M279,211 L254,233 L266,224 L279,226 L292,224 L306,233 Z'/%3E%3Cpath d='M279,226 L251,248 L265,239 L279,240 L293,239 L306,248 Z'/%3E%3Cpath d='M277,238 h4 v12 h-4 Z'/%3E%3Cpath d='M352,103 L349.0,117 L355.0,117 Z'/%3E%3Cpath d='M352,111 L345,129 L349,124 L352,125 L355,124 L358,129 Z'/%3E%3Cpath d='M352,125 L343,144 L347,139 L352,140 L357,139 L361,144 Z'/%3E%3Cpath d='M352,140 L339,159 L346,153 L352,154 L358,153 L363,159 Z'/%3E%3Cpath d='M352,154 L337,174 L345,167 L352,168 L359,167 L367,174 Z'/%3E%3Cpath d='M352,168 L333,189 L344,182 L352,183 L360,182 L370,189 Z'/%3E%3Cpath d='M352,183 L331,204 L342,196 L352,197 L362,196 L371,204 Z'/%3E%3Cpath d='M352,197 L330,218 L341,210 L352,211 L363,210 L374,218 Z'/%3E%3Cpath d='M352,211 L326,233 L340,225 L352,226 L364,225 L379,233 Z'/%3E%3Cpath d='M352,226 L327,248 L339,239 L352,240 L365,239 L377,248 Z'/%3E%3Cpath d='M350,238 h4 v12 h-4 Z'/%3E%3Cpath d='M436,46 L433.0,60 L439.0,60 Z'/%3E%3Cpath d='M436,54 L430,72 L433,67 L436,68 L439,67 L442,72 Z'/%3E%3Cpath d='M436,68 L426,87 L431,82 L436,83 L441,82 L445,87 Z'/%3E%3Cpath d='M436,83 L425,102 L430,96 L436,97 L442,96 L448,102 Z'/%3E%3Cpath d='M436,97 L421,117 L429,110 L436,111 L443,110 L452,117 Z'/%3E%3Cpath d='M436,111 L417,132 L427,125 L436,126 L445,125 L455,132 Z'/%3E%3Cpath d='M436,126 L415,147 L426,139 L436,140 L446,139 L457,147 Z'/%3E%3Cpath d='M436,140 L412,161 L425,153 L436,154 L447,153 L457,161 Z'/%3E%3Cpath d='M436,154 L409,176 L424,167 L436,168 L448,167 L463,176 Z'/%3E%3Cpath d='M436,168 L407,191 L423,182 L436,183 L449,182 L465,191 Z'/%3E%3Cpath d='M436,183 L407,205 L422,196 L436,197 L450,196 L465,205 Z'/%3E%3Cpath d='M436,197 L406,220 L420,210 L436,211 L452,210 L469,220 Z'/%3E%3Cpath d='M436,211 L405,235 L419,225 L436,226 L453,225 L467,235 Z'/%3E%3Cpath d='M436,226 L402,250 L418,239 L436,240 L454,239 L470,250 Z'/%3E%3Cpath d='M434,238 h4 v12 h-4 Z'/%3E%3Cpath d='M527,54 L524.0,68 L530.0,68 Z'/%3E%3Cpath d='M527,62 L521,80 L524,75 L527,76 L530,75 L533,80 Z'/%3E%3Cpath d='M527,76 L518,94 L522,88 L527,89 L532,88 L536,94 Z'/%3E%3Cpath d='M527,89 L515,108 L521,102 L527,103 L533,102 L538,108 Z'/%3E%3Cpath d='M527,103 L511,122 L520,116 L527,117 L534,116 L542,122 Z'/%3E%3Cpath d='M527,117 L511,137 L519,129 L527,130 L535,129 L544,137 Z'/%3E%3Cpath d='M527,130 L508,151 L517,143 L527,144 L537,143 L546,151 Z'/%3E%3Cpath d='M527,144 L506,165 L516,157 L527,158 L538,157 L550,165 Z'/%3E%3Cpath d='M527,158 L500,179 L515,171 L527,172 L539,171 L551,179 Z'/%3E%3Cpath d='M527,172 L501,193 L514,184 L527,185 L540,184 L552,193 Z'/%3E%3Cpath d='M527,185 L500,207 L513,198 L527,199 L541,198 L555,207 Z'/%3E%3Cpath d='M527,199 L497,221 L512,212 L527,213 L542,212 L560,221 Z'/%3E%3Cpath d='M527,213 L496,235 L511,225 L527,226 L543,225 L557,235 Z'/%3E%3Cpath d='M527,226 L489,249 L510,239 L527,240 L544,239 L562,249 Z'/%3E%3Cpath d='M525,238 h4 v12 h-4 Z'/%3E%3Cpath d='M606,42 L603.0,56 L609.0,56 Z'/%3E%3Cpath d='M606,50 L599,69 L603,64 L606,65 L609,64 L612,69 Z'/%3E%3Cpath d='M606,65 L596,84 L601,78 L606,79 L611,78 L617,84 Z'/%3E%3Cpath d='M606,79 L592,99 L600,93 L606,94 L612,93 L619,99 Z'/%3E%3Cpath d='M606,94 L591,114 L598,107 L606,108 L614,107 L621,114 Z'/%3E%3Cpath d='M606,108 L589,129 L597,122 L606,123 L615,122 L625,129 Z'/%3E%3Cpath d='M606,123 L585,144 L596,137 L606,138 L616,137 L628,144 Z'/%3E%3Cpath d='M606,138 L583,160 L595,151 L606,152 L617,151 L628,160 Z'/%3E%3Cpath d='M606,152 L579,175 L594,166 L606,167 L618,166 L634,175 Z'/%3E%3Cpath d='M606,167 L576,190 L592,181 L606,182 L620,181 L636,190 Z'/%3E%3Cpath d='M606,182 L574,205 L591,195 L606,196 L621,195 L638,205 Z'/%3E%3Cpath d='M606,196 L575,220 L590,210 L606,211 L622,210 L639,220 Z'/%3E%3Cpath d='M606,211 L572,235 L589,224 L606,225 L623,224 L638,235 Z'/%3E%3Cpath d='M606,225 L572,250 L588,239 L606,240 L624,239 L642,250 Z'/%3E%3Cpath d='M604,238 h4 v12 h-4 Z'/%3E%3Cpath d='M692,106 L689.0,120 L695.0,120 Z'/%3E%3Cpath d='M692,114 L686,132 L689,127 L692,128 L695,127 L699,132 Z'/%3E%3Cpath d='M692,128 L683,147 L688,141 L692,142 L696,141 L702,147 Z'/%3E%3Cpath d='M692,142 L679,161 L686,155 L692,156 L698,155 L705,161 Z'/%3E%3Cpath d='M692,156 L678,176 L685,169 L692,170 L699,169 L706,176 Z'/%3E%3Cpath d='M692,170 L676,190 L684,183 L692,184 L700,183 L708,190 Z'/%3E%3Cpath d='M692,184 L674,205 L683,197 L692,198 L701,197 L712,205 Z'/%3E%3Cpath d='M692,198 L669,219 L681,211 L692,212 L703,211 L715,219 Z'/%3E%3Cpath d='M692,212 L668,233 L680,225 L692,226 L704,225 L717,233 Z'/%3E%3Cpath d='M692,226 L664,248 L679,239 L692,240 L705,239 L716,248 Z'/%3E%3Cpath d='M690,238 h4 v12 h-4 Z'/%3E%3Cpath d='M769,81 L766.0,95 L772.0,95 Z'/%3E%3Cpath d='M769,89 L763,107 L766,102 L769,103 L772,102 L775,107 Z'/%3E%3Cpath d='M769,103 L760,121 L765,115 L769,116 L773,115 L778,121 Z'/%3E%3Cpath d='M769,116 L756,135 L763,129 L769,130 L775,129 L781,135 Z'/%3E%3Cpath d='M769,130 L754,150 L762,143 L769,144 L776,143 L785,150 Z'/%3E%3Cpath d='M769,144 L752,164 L761,157 L769,158 L777,157 L786,164 Z'/%3E%3Cpath d='M769,158 L748,178 L760,170 L769,171 L778,170 L789,178 Z'/%3E%3Cpath d='M769,171 L749,192 L758,184 L769,185 L780,184 L789,192 Z'/%3E%3Cpath d='M769,185 L746,206 L757,198 L769,199 L781,198 L795,206 Z'/%3E%3Cpath d='M769,199 L741,220 L756,212 L769,213 L782,212 L794,220 Z'/%3E%3Cpath d='M769,213 L739,234 L755,225 L769,226 L783,225 L800,234 Z'/%3E%3Cpath d='M769,226 L738,249 L754,239 L769,240 L784,239 L799,249 Z'/%3E%3Cpath d='M767,238 h4 v12 h-4 Z'/%3E%3Cpath d='M874,60 L871.0,74 L877.0,74 Z'/%3E%3Cpath d='M874,68 L868,86 L871,81 L874,82 L877,81 L880,86 Z'/%3E%3Cpath d='M874,82 L864,101 L869,96 L874,97 L879,96 L884,101 Z'/%3E%3Cpath d='M874,97 L861,116 L868,110 L874,111 L880,110 L888,116 Z'/%3E%3Cpath d='M874,111 L859,131 L867,124 L874,125 L881,124 L890,131 Z'/%3E%3Cpath d='M874,125 L855,146 L865,139 L874,140 L883,139 L891,146 Z'/%3E%3Cpath d='M874,140 L855,161 L864,153 L874,154 L884,153 L894,161 Z'/%3E%3Cpath d='M874,154 L852,175 L863,167 L874,168 L885,167 L897,175 Z'/%3E%3Cpath d='M874,168 L850,190 L862,182 L874,183 L886,182 L899,190 Z'/%3E%3Cpath d='M874,183 L848,205 L861,196 L874,197 L887,196 L903,205 Z'/%3E%3Cpath d='M874,197 L845,220 L860,210 L874,211 L888,210 L903,220 Z'/%3E%3Cpath d='M874,211 L842,234 L859,225 L874,226 L889,225 L908,234 Z'/%3E%3Cpath d='M874,226 L841,249 L858,239 L874,240 L890,239 L911,249 Z'/%3E%3Cpath d='M872,238 h4 v12 h-4 Z'/%3E%3Cpath d='M976,114 L973.0,128 L979.0,128 Z'/%3E%3Cpath d='M976,122 L970,139 L973,134 L976,135 L979,134 L982,139 Z'/%3E%3Cpath d='M976,135 L968,153 L972,147 L976,148 L980,147 L985,153 Z'/%3E%3Cpath d='M976,148 L965,166 L970,160 L976,161 L982,160 L986,166 Z'/%3E%3Cpath d='M976,161 L961,180 L969,173 L976,174 L983,173 L989,180 Z'/%3E%3Cpath d='M976,174 L960,194 L968,187 L976,188 L984,187 L993,194 Z'/%3E%3Cpath d='M976,188 L957,207 L967,200 L976,201 L985,200 L994,207 Z'/%3E%3Cpath d='M976,201 L955,221 L966,213 L976,214 L986,213 L997,221 Z'/%3E%3Cpath d='M976,214 L952,234 L965,226 L976,227 L987,226 L997,234 Z'/%3E%3Cpath d='M976,227 L951,248 L964,239 L976,240 L988,239 L1000,248 Z'/%3E%3Cpath d='M974,238 h4 v12 h-4 Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M45,165 L42.0,179 L48.0,179 Z'/%3E%3Cpath d='M45,173 L39,187 L42,182 L45,183 L48,182 L51,187 Z'/%3E%3Cpath d='M45,183 L36,197 L41,191 L45,192 L49,191 L54,197 Z'/%3E%3Cpath d='M45,192 L33,207 L40,201 L45,202 L50,201 L56,207 Z'/%3E%3Cpath d='M45,202 L31,217 L39,210 L45,211 L51,210 L58,217 Z'/%3E%3Cpath d='M45,211 L29,227 L37,220 L45,221 L53,220 L61,227 Z'/%3E%3Cpath d='M45,221 L28,237 L36,229 L45,230 L54,229 L63,237 Z'/%3E%3Cpath d='M45,230 L25,247 L35,239 L45,240 L55,239 L66,247 Z'/%3E%3Cpath d='M43,238 h4 v12 h-4 Z'/%3E%3Cpath d='M143,137 L140.0,151 L146.0,151 Z'/%3E%3Cpath d='M143,145 L136,163 L140,158 L143,159 L146,158 L150,163 Z'/%3E%3Cpath d='M143,159 L133,177 L138,171 L143,172 L148,171 L154,177 Z'/%3E%3Cpath d='M143,172 L129,191 L136,185 L143,186 L150,185 L157,191 Z'/%3E%3Cpath d='M143,186 L127,205 L135,198 L143,199 L151,198 L161,205 Z'/%3E%3Cpath d='M143,199 L123,219 L133,212 L143,213 L153,212 L162,219 Z'/%3E%3Cpath d='M143,213 L121,234 L132,225 L143,226 L154,225 L164,234 Z'/%3E%3Cpath d='M143,226 L116,248 L131,239 L143,240 L155,239 L171,248 Z'/%3E%3Cpath d='M141,238 h4 v12 h-4 Z'/%3E%3Cpath d='M231,152 L228.0,166 L234.0,166 Z'/%3E%3Cpath d='M231,160 L225,176 L228,170 L231,171 L234,170 L237,176 Z'/%3E%3Cpath d='M231,171 L222,188 L226,182 L231,183 L236,182 L241,188 Z'/%3E%3Cpath d='M231,183 L220,200 L225,193 L231,194 L237,193 L244,200 Z'/%3E%3Cpath d='M231,194 L217,211 L224,205 L231,206 L238,205 L246,211 Z'/%3E%3Cpath d='M231,206 L214,223 L222,216 L231,217 L240,216 L249,223 Z'/%3E%3Cpath d='M231,217 L209,235 L221,228 L231,229 L241,228 L251,235 Z'/%3E%3Cpath d='M231,229 L209,247 L220,239 L231,240 L242,239 L253,247 Z'/%3E%3Cpath d='M229,238 h4 v12 h-4 Z'/%3E%3Cpath d='M301,78 L298.0,92 L304.0,92 Z'/%3E%3Cpath d='M301,86 L294,104 L297,99 L301,100 L305,99 L308,104 Z'/%3E%3Cpath d='M301,100 L290,119 L296,113 L301,114 L306,113 L313,119 Z'/%3E%3Cpath d='M301,114 L287,134 L294,127 L301,128 L308,127 L316,134 Z'/%3E%3Cpath d='M301,128 L284,148 L292,141 L301,142 L310,141 L320,148 Z'/%3E%3Cpath d='M301,142 L281,163 L291,155 L301,156 L311,155 L324,163 Z'/%3E%3Cpath d='M301,156 L278,177 L289,169 L301,170 L313,169 L327,177 Z'/%3E%3Cpath d='M301,170 L276,192 L288,183 L301,184 L314,183 L327,192 Z'/%3E%3Cpath d='M301,184 L269,206 L287,197 L301,198 L315,197 L329,206 Z'/%3E%3Cpath d='M301,198 L267,221 L285,211 L301,212 L317,211 L335,221 Z'/%3E%3Cpath d='M301,212 L264,235 L284,225 L301,226 L318,225 L337,235 Z'/%3E%3Cpath d='M301,226 L260,250 L283,239 L301,240 L319,239 L338,250 Z'/%3E%3Cpath d='M299,238 h4 v12 h-4 Z'/%3E%3Cpath d='M400,105 L397.0,119 L403.0,119 Z'/%3E%3Cpath d='M400,113 L393,131 L397,126 L400,127 L403,126 L407,131 Z'/%3E%3Cpath d='M400,127 L390,146 L395,140 L400,141 L405,140 L410,146 Z'/%3E%3Cpath d='M400,141 L385,161 L393,154 L400,155 L407,154 L414,161 Z'/%3E%3Cpath d='M400,155 L384,176 L391,168 L400,169 L409,168 L419,176 Z'/%3E%3Cpath d='M400,169 L379,190 L390,183 L400,184 L410,183 L422,190 Z'/%3E%3Cpath d='M400,184 L378,205 L388,197 L400,198 L412,197 L425,205 Z'/%3E%3Cpath d='M400,198 L375,220 L387,211 L400,212 L413,211 L428,220 Z'/%3E%3Cpath d='M400,212 L371,234 L386,225 L400,226 L414,225 L429,234 Z'/%3E%3Cpath d='M400,226 L368,249 L384,239 L400,240 L416,239 L435,249 Z'/%3E%3Cpath d='M398,238 h4 v12 h-4 Z'/%3E%3Cpath d='M482,91 L479.0,105 L485.0,105 Z'/%3E%3Cpath d='M482,99 L475,117 L478,112 L482,113 L486,112 L489,117 Z'/%3E%3Cpath d='M482,113 L471,132 L477,126 L482,127 L487,126 L492,132 Z'/%3E%3Cpath d='M482,127 L468,147 L475,140 L482,141 L489,140 L495,147 Z'/%3E%3Cpath d='M482,141 L465,162 L473,154 L482,155 L491,154 L499,162 Z'/%3E%3Cpath d='M482,155 L462,176 L472,168 L482,170 L492,168 L504,176 Z'/%3E%3Cpath d='M482,170 L459,191 L470,183 L482,184 L494,183 L506,191 Z'/%3E%3Cpath d='M482,184 L457,206 L469,197 L482,198 L495,197 L508,206 Z'/%3E%3Cpath d='M482,198 L455,220 L468,211 L482,212 L496,211 L510,220 Z'/%3E%3Cpath d='M482,212 L452,235 L466,225 L482,226 L498,225 L516,235 Z'/%3E%3Cpath d='M482,226 L447,249 L465,239 L482,240 L499,239 L515,249 Z'/%3E%3Cpath d='M480,238 h4 v12 h-4 Z'/%3E%3Cpath d='M577,139 L574.0,153 L580.0,153 Z'/%3E%3Cpath d='M577,147 L570,165 L574,159 L577,160 L580,159 L583,165 Z'/%3E%3Cpath d='M577,160 L566,178 L572,173 L577,174 L582,173 L587,178 Z'/%3E%3Cpath d='M577,174 L563,192 L570,186 L577,187 L584,186 L592,192 Z'/%3E%3Cpath d='M577,187 L561,206 L569,199 L577,200 L585,199 L594,206 Z'/%3E%3Cpath d='M577,200 L557,220 L567,212 L577,213 L587,212 L598,220 Z'/%3E%3Cpath d='M577,213 L555,234 L566,226 L577,227 L588,226 L601,234 Z'/%3E%3Cpath d='M577,227 L551,248 L565,239 L577,240 L589,239 L603,248 Z'/%3E%3Cpath d='M575,238 h4 v12 h-4 Z'/%3E%3Cpath d='M667,126 L664.0,140 L670.0,140 Z'/%3E%3Cpath d='M667,134 L660,151 L664,146 L667,147 L670,146 L674,151 Z'/%3E%3Cpath d='M667,147 L657,165 L662,160 L667,160 L672,160 L678,165 Z'/%3E%3Cpath d='M667,160 L652,179 L660,173 L667,174 L674,173 L681,179 Z'/%3E%3Cpath d='M667,174 L652,193 L659,186 L667,187 L675,186 L684,193 Z'/%3E%3Cpath d='M667,187 L648,207 L657,199 L667,200 L677,199 L687,207 Z'/%3E%3Cpath d='M667,200 L643,221 L656,212 L667,214 L678,212 L690,221 Z'/%3E%3Cpath d='M667,214 L641,234 L655,226 L667,227 L679,226 L690,234 Z'/%3E%3Cpath d='M667,227 L641,248 L654,239 L667,240 L680,239 L694,248 Z'/%3E%3Cpath d='M665,238 h4 v12 h-4 Z'/%3E%3Cpath d='M732,137 L729.0,151 L735.0,151 Z'/%3E%3Cpath d='M732,145 L725,163 L729,158 L732,159 L735,158 L739,163 Z'/%3E%3Cpath d='M732,159 L720,177 L727,171 L732,172 L737,171 L742,177 Z'/%3E%3Cpath d='M732,172 L719,191 L725,185 L732,186 L739,185 L747,191 Z'/%3E%3Cpath d='M732,186 L716,205 L724,198 L732,199 L740,198 L748,205 Z'/%3E%3Cpath d='M732,199 L713,219 L722,212 L732,213 L742,212 L750,219 Z'/%3E%3Cpath d='M732,213 L710,234 L721,225 L732,226 L743,225 L755,234 Z'/%3E%3Cpath d='M732,226 L708,248 L720,239 L732,240 L744,239 L759,248 Z'/%3E%3Cpath d='M730,238 h4 v12 h-4 Z'/%3E%3Cpath d='M802,137 L799.0,151 L805.0,151 Z'/%3E%3Cpath d='M802,145 L795,163 L799,158 L802,159 L805,158 L808,163 Z'/%3E%3Cpath d='M802,159 L791,177 L797,171 L802,172 L807,171 L812,177 Z'/%3E%3Cpath d='M802,172 L789,191 L795,185 L802,186 L809,185 L816,191 Z'/%3E%3Cpath d='M802,186 L786,205 L794,198 L802,199 L810,198 L820,205 Z'/%3E%3Cpath d='M802,199 L781,219 L792,212 L802,213 L812,212 L821,219 Z'/%3E%3Cpath d='M802,213 L778,234 L791,225 L802,226 L813,225 L826,234 Z'/%3E%3Cpath d='M802,226 L776,248 L790,239 L802,240 L814,239 L829,248 Z'/%3E%3Cpath d='M800,238 h4 v12 h-4 Z'/%3E%3Cpath d='M898,151 L895.0,165 L901.0,165 Z'/%3E%3Cpath d='M898,159 L892,175 L895,170 L898,171 L901,170 L904,175 Z'/%3E%3Cpath d='M898,171 L889,187 L893,181 L898,182 L903,181 L908,187 Z'/%3E%3Cpath d='M898,182 L885,199 L892,193 L898,194 L904,193 L910,199 Z'/%3E%3Cpath d='M898,194 L883,211 L891,204 L898,205 L905,204 L914,211 Z'/%3E%3Cpath d='M898,205 L880,223 L889,216 L898,217 L907,216 L917,223 Z'/%3E%3Cpath d='M898,217 L877,235 L888,227 L898,228 L908,227 L918,235 Z'/%3E%3Cpath d='M898,228 L874,247 L887,239 L898,240 L909,239 L919,247 Z'/%3E%3Cpath d='M896,238 h4 v12 h-4 Z'/%3E%3Cpath d='M977,160 L974.0,174 L980.0,174 Z'/%3E%3Cpath d='M977,168 L972,182 L974,177 L977,178 L980,177 L983,182 Z'/%3E%3Cpath d='M977,178 L968,193 L973,188 L977,189 L981,188 L985,193 Z'/%3E%3Cpath d='M977,189 L965,204 L971,198 L977,199 L983,198 L989,204 Z'/%3E%3Cpath d='M977,199 L963,215 L970,208 L977,209 L984,208 L991,215 Z'/%3E%3Cpath d='M977,209 L960,225 L969,218 L977,219 L985,218 L993,225 Z'/%3E%3Cpath d='M977,219 L960,236 L968,229 L977,230 L986,229 L997,236 Z'/%3E%3Cpath d='M977,230 L955,247 L967,239 L977,240 L987,239 L998,247 Z'/%3E%3Cpath d='M975,238 h4 v12 h-4 Z'/%3E%3C/g%3E%3Crect x='0' y='245' width='1000' height='5'/%3E%3C/svg%3E");
  background-repeat: repeat-x; background-position: bottom center;
  opacity: .07;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 60%);
          mask-image: linear-gradient(180deg, transparent, #000 60%);
}
.sec-trees > .wrap { position: relative; z-index: 1; }

/* hero highlight lets the video read through */
.hero .d1 em { background: color-mix(in srgb, var(--brass-400) 75%, transparent); }

/* 01 Why EverHatch: copy under the side image reads one notch smaller */
.pos-side .lede { font-size: calc(clamp(1.1rem, 1.6vw, 1.28rem) - 3px); }


/* ===== INNER ===== */
/* ============================================================
   EVERHATCH — Interior pages · "The Surveyor's Sheet"
   ============================================================ */

/* ---------- Page hero (compact, dark) ---------- */
.page-hero {
  background: var(--spruce-950); color: var(--paper-text);
  padding-top: 4.4rem; position: relative;
}
.page-hero .hero-doc-strip {
  display: flex; justify-content: space-between; gap: 1.5rem;
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--paper-mute);
  border-bottom: 1.5px solid var(--line-dark); padding-block: .75rem;
}
.ph-in { padding-block: clamp(3rem, 7vh, 5rem); display: grid; grid-template-columns: 1.25fr .75fr; gap: 3rem; align-items: end; }
.ph-in.ph-solo { grid-template-columns: 1fr; }
.ph-copy .eyebrow { margin-bottom: 1.6rem; }
.ph-copy .d1 { font-size: clamp(3rem, 7vw, 6.4rem); }
.ph-copy .lede { margin-top: 1.5rem; max-width: 38rem; color: var(--paper-text); }
.ph-ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.ph-aside {
  display: grid; gap: 0; justify-self: end; min-width: 16rem;
  border: 1.5px solid var(--paper-soft);
}
.ph-fact {
  padding: 1rem 1.3rem;
  border-bottom: 1.5px solid var(--line-dark);
  background: rgba(11,19,16,.5);
}
.ph-fact:last-child { border-bottom: 0; }
.ph-fact b {
  font-family: var(--f-display); font-size: 1.7rem; font-weight: 800;
  color: var(--accent-on-dark); display: block; text-transform: uppercase; line-height: 1;
}
.ph-fact span {
  font-family: var(--f-mono); font-size: .68rem; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--paper-mute);
  display: block; margin-top: .4rem;
}
@media (max-width: 900px) {
  .ph-in { grid-template-columns: 1fr; }
  .ph-aside { justify-self: start; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); min-width: 0; }
  .ph-fact { border-bottom: 0; border-right: 1.5px solid var(--line-dark); }
  .ph-fact:last-child { border-right: 0; }
}
@media (max-width: 560px) {
  .ph-aside { grid-template-columns: 1fr; }
  .ph-fact { border-right: 0; border-bottom: 1.5px solid var(--line-dark); }
  .ph-fact:last-child { border-bottom: 0; }
}

/* ---------- Content rhythm helpers ---------- */
.sec-head { max-width: 50rem; }
.sec-head .d2 { margin-top: 1.6rem; }
.sec-head .lede { margin-top: 1.3rem; }
.center { text-align: center; margin-inline: auto; }
.center.eyebrow { margin-inline: auto; }
.cta-band .eyebrow { margin-inline: auto; }

/* ---------- Split band (copy + image) ---------- */
.split {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 5.5rem); align-items: center;
}
.split.rev > figure { order: 2; }
.split figure { position: relative; }
.split figure img {
  width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
  border: var(--rule);
  filter: saturate(.9);
}
.sec-dark .split figure img, .sec-dark-2 .split figure img {
  border-color: var(--paper-text);
}
.split figure figcaption { margin-top: 1rem; }
.split .d2 { margin-top: 1.6rem; }
.split p + p { margin-top: 1.1rem; }
.split .body-copy { margin-top: 1.3rem; color: var(--ink-soft); }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } .split.rev > figure { order: 0; } }

/* ---------- Checklist grid ---------- */
.check-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border: var(--rule); background: var(--bone-0);
  margin-top: var(--sp-5);
}
.check-cell {
  padding: 1.6rem 1.5rem;
  border-right: var(--rule); border-bottom: var(--rule);
}
.check-grid .check-cell:nth-child(3n) { border-right: 0; }
.check-grid .check-cell:nth-last-child(-n+3):nth-child(3n+1),
.check-grid .check-cell:nth-last-child(-n+2):nth-child(3n+2),
.check-grid .check-cell:nth-last-child(-n+1):nth-child(3n) { border-bottom: 0; }
.check-cell .mono-label {
  color: var(--bone-0); background: var(--spruce-800);
  display: inline-block; padding: .3rem .55rem; font-weight: 600;
}
.check-cell h3 {
  font-family: var(--f-display); font-weight: 700; font-size: 1.3rem;
  text-transform: uppercase; letter-spacing: .015em; margin-top: 1rem;
}
.check-cell p { font-size: .9rem; color: var(--ink-mute); margin-top: .5rem; line-height: 1.55; }
@media (max-width: 900px) {
  .check-grid { grid-template-columns: 1fr 1fr; }
  .check-grid .check-cell { border-right: var(--rule); border-bottom: var(--rule); }
  .check-grid .check-cell:nth-child(2n) { border-right: 0; }
}
@media (max-width: 560px) {
  .check-grid { grid-template-columns: 1fr; }
  .check-grid .check-cell { border-right: 0 !important; }
  .check-grid .check-cell:last-child { border-bottom: 0; }
}

/* ---------- Numbered feature list ---------- */
.num-list { margin-top: var(--sp-5); border: var(--rule); background: var(--bone-0); }
.sec-dark .num-list { background: transparent; border-color: var(--line-dark); }
.num-item {
  display: grid; grid-template-columns: 5.5rem 1fr; gap: 2rem;
  padding: 1.8rem 1.6rem; border-bottom: var(--rule);
  align-items: start;
}
.num-item:last-child { border-bottom: 0; }
.sec-dark .num-item { border-color: var(--line-dark); }
.num-item .n {
  font-family: var(--f-display); font-weight: 800; font-size: 1.4rem;
  color: var(--on-brass); background: var(--brass-400);
  display: inline-block; padding: .45rem .7rem .35rem;
  justify-self: start; line-height: 1;
}
.num-item h3 {
  font-family: var(--f-display); font-weight: 700; font-size: 1.35rem;
  text-transform: uppercase; letter-spacing: .015em;
}
.num-item p { margin-top: .55rem; color: var(--ink-soft); font-size: var(--fs-small); max-width: 44rem; }
.sec-dark .num-item p { color: var(--paper-soft); }
@media (max-width: 560px) { .num-item { grid-template-columns: 1fr; gap: .8rem; } }

/* ---------- Info cards (values etc.) ---------- */
.card-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border: var(--rule);
  margin-top: var(--sp-5);
  background: var(--bone-0);
}
.sec-dark .card-grid, .sec-dark-2 .card-grid {
  background: var(--spruce-900);
  border-color: var(--paper-text);
}
.info-card {
  padding: 1.6rem 1.5rem 1.8rem;
  border-right: var(--rule); border-bottom: var(--rule);
}
.card-grid .info-card:nth-child(3n) { border-right: 0; }
.sec-dark .info-card { border-color: var(--line-dark); }
.info-card .mono-label {
  color: var(--on-brass); background: var(--brass-400);
  display: inline-block; padding: .3rem .55rem; font-weight: 600;
}
.info-card h3 {
  font-family: var(--f-display); font-weight: 700; font-size: 1.35rem;
  text-transform: uppercase; letter-spacing: .015em; margin-top: 1rem;
}
.info-card p { font-size: .92rem; color: var(--ink-soft); margin-top: .6rem; line-height: 1.6; }
.sec-dark .info-card h3 { color: var(--bone-0); }
.sec-dark .info-card p { color: var(--paper-soft); }
@media (max-width: 980px) {
  .card-grid { grid-template-columns: 1fr 1fr; }
  .card-grid .info-card { border-right: var(--rule); }
  .sec-dark .card-grid .info-card { border-color: var(--line-dark); }
  .card-grid .info-card:nth-child(2n) { border-right: 0; }
}
@media (max-width: 560px) {
  .card-grid { grid-template-columns: 1fr; }
  .card-grid .info-card { border-right: 0 !important; }
}

/* ---------- CTA band (shared) ---------- */
.cta-band { text-align: center; }
.cta-band .d2 { margin-top: 1.6rem; }
.cta-band .lede { margin-top: 1.2rem; max-width: 34rem; margin-inline: auto; }
.cta-band .ph-ctas { justify-content: center; margin-top: 2.2rem; }
.cta-band .mono-label { margin-top: 2.2rem; color: var(--paper-mute); }

/* ---------- Included list ---------- */
.inc-list { columns: 2; gap: 0; margin-top: var(--sp-4); border: 1.5px solid var(--line-dark); }
.inc-list li {
  break-inside: avoid;
  padding: .75rem 1rem .75rem 2.6rem; position: relative;
  border-bottom: 1.5px solid var(--line-dark);
  font-size: var(--fs-small); color: var(--paper-soft);
}
.inc-list li::before {
  content: ""; position: absolute; left: .9rem; top: .95rem;
  width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5 6.2 12.5 14 3.5' fill='none' stroke='%23B98A2E' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sec-paper .inc-list, .sec-paper-2 .inc-list { border-color: var(--ink); background: var(--bone-0); }
.sec-paper .inc-list li, .sec-paper-2 .inc-list li { color: var(--ink); border-color: var(--line-paper); }
@media (max-width: 700px) { .inc-list { columns: 1; } }

/* ---------- Blog cards ---------- */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem; margin-top: var(--sp-5); }
.post-card {
  background: var(--bone-0); border: var(--rule);
  display: flex; flex-direction: column;
  transition: background .15s ease;
}
.post-card:hover { background: var(--brass-200); }
.post-card:hover .pc-body { background: transparent; }
.post-card .pc-img { aspect-ratio: 16/9; overflow: hidden; border-bottom: var(--rule); }
.post-card .pc-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); }
.post-card .pc-body { padding: 1.3rem 1.3rem 1.5rem; display: flex; flex-direction: column; gap: .8rem; flex: 1; }
.post-card .pc-meta { display: flex; justify-content: space-between; color: var(--ink-mute); }
.post-card h3 {
  font-family: var(--f-display); font-weight: 700; font-size: 1.45rem; line-height: 1.08;
  text-transform: uppercase; letter-spacing: .015em;
}
.post-card p { font-size: .92rem; color: var(--ink-soft); line-height: 1.6; }
.post-card .btn-line { margin-top: auto; align-self: start; color: var(--ink); }
.post-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; }
.post-card.featured .pc-img { aspect-ratio: auto; height: 100%; border-bottom: 0; border-right: var(--rule); }
.post-card.featured h3 { font-size: 2.2rem; }
.post-card.featured .pc-body { padding: 2rem; }
@media (max-width: 980px) { .post-grid { grid-template-columns: 1fr 1fr; } .post-card.featured { grid-template-columns: 1fr; } .post-card.featured .pc-img { aspect-ratio: 16/9; border-right: 0; border-bottom: var(--rule); } }
@media (max-width: 620px) { .post-grid { grid-template-columns: 1fr; } }

/* ---------- Article ---------- */
.article { padding-block: var(--sp-7); }
.article-head { max-width: 50rem; margin-inline: auto; }
.article-head .d2 { margin-top: 1.6rem; }
.article-head .pc-meta { display: flex; gap: 1.6rem; margin-top: 1.4rem; color: var(--ink-mute); }
.article-hero { max-width: 60rem; margin: var(--sp-5) auto 0; }
.article-hero img { width: 100%; height: auto; aspect-ratio: 21/10; object-fit: cover; border: var(--rule); box-shadow: var(--shadow-hard); }
.article-hero figcaption { margin-top: 1rem; }
.prose { max-width: 46rem; margin-inline: auto; margin-top: var(--sp-5); }
.prose > * + * { margin-top: 1.15rem; }
.prose h2 {
  font-family: var(--f-display); font-weight: 800; font-size: 2rem;
  text-transform: uppercase; letter-spacing: .015em;
  margin-top: 2.8rem; line-height: 1.05;
  padding-top: 1.2rem; border-top: var(--rule);
}
.prose h3 {
  font-family: var(--f-display); font-weight: 700; font-size: 1.4rem;
  text-transform: uppercase; letter-spacing: .015em; margin-top: 2rem; line-height: 1.1;
}
.prose p, .prose li { color: var(--ink-soft); line-height: 1.72; }
.prose ul, .prose ol { padding-left: 1.4rem; }
.prose ul { list-style: square; }
.prose ol { list-style: decimal; }
.prose li + li { margin-top: .5rem; }
.prose li::marker { color: var(--brass-500); font-weight: 700; }
.prose strong { color: var(--ink); }
.prose em { font-style: normal; background: var(--brass-200); padding: 0 .15em; }
.prose blockquote {
  border: 1.5px solid var(--ink); border-left: 6px solid var(--brass-400);
  padding: 1.1rem 1.4rem;
  font-family: var(--f-body); font-style: normal; font-weight: 600;
  font-size: 1.05rem; color: var(--ink); background: var(--bone-0);
}
.prose .callout {
  --fn-corner: var(--ink);
  background-color: var(--bone-0);
  padding: 1.45rem 1.6rem 1.35rem;
  margin: 2.2rem 0;
  font-size: var(--fs-small);
  background-image:
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner));
  background-position: top left, top left, top right, top right,
    bottom left, bottom left, bottom right, bottom right;
  background-size: 22px 2.5px, 2.5px 22px, 22px 2.5px, 2.5px 22px,
    22px 2.5px, 2.5px 22px, 22px 2.5px, 2.5px 22px;
  background-repeat: no-repeat;
  border: 0;
}
.prose .callout .mono-label {
  color: var(--on-brass); background: var(--brass-400);
  display: inline-block; padding: .25rem .5rem; font-weight: 600; margin-bottom: .7rem;
}
.prose a.eh-link, .prose a:not([class]) { color: var(--brass-600); border-bottom: 1.5px solid var(--brass-400); font-weight: 600; }
.prose a.eh-link:hover, .prose a:not([class]):hover { background: var(--brass-200); }

/* ---------- Contact / form ---------- */
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.contact-info .d2 { margin-top: 1.6rem; }
.contact-info .lede { margin-top: 1.2rem; }
.ci-block { margin-top: 2rem; border: 1.5px solid var(--ink); background: var(--bone-0); padding: 1.2rem 1.4rem; }
.ci-block h5 {
  font-family: var(--f-mono); font-size: var(--fs-tiny); font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--on-brass); background: var(--brass-400);
  display: inline-block; padding: .25rem .5rem; margin-bottom: .8rem;
}
.ci-block a {
  display: block; font-family: var(--f-display); font-weight: 800; font-size: 1.7rem;
  text-transform: uppercase; padding-block: .1rem;
}
.ci-block a:hover { color: var(--brass-600); }
.ci-block p { color: var(--ink-soft); font-size: var(--fs-small); margin-top: .4rem; }

.form-card {
  background: var(--bone-0); border: var(--rule);
  padding: clamp(1.6rem, 3vw, 2.4rem);
}
.form-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.6rem; border-bottom: var(--rule); padding-bottom: 1.1rem; }
.form-head h2 {
  font-family: var(--f-display); font-weight: 800; font-size: 1.9rem;
  text-transform: uppercase; letter-spacing: .015em;
}
.f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.f-field { display: flex; flex-direction: column; gap: .45rem; }
.f-field.wide { grid-column: 1 / -1; }
.f-field label { font-family: var(--f-mono); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); }
.f-field label b { color: var(--brass-600); }
.f-field input, .f-field select, .f-field textarea {
  font: inherit; font-size: .95rem; color: var(--ink);
  background: var(--bone-50); border: 1.5px solid var(--ink); border-radius: 0;
  padding: .8rem 1rem; outline: none;
  transition: background .15s, box-shadow .15s;
}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus {
  background: var(--bone-0); box-shadow: 0 0 0 2px var(--brass-400);
}
.f-field textarea { min-height: 120px; resize: vertical; }
.f-note { font-family: var(--f-mono); font-size: .68rem; letter-spacing: .06em; color: var(--ink-mute); }
.form-card .btn { width: 100%; justify-content: center; margin-top: 1.4rem; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } .f-grid { grid-template-columns: 1fr; } }

/* ---------- Legal ---------- */
.legal .prose { margin-top: var(--sp-4); }
.legal .prose h2 { font-size: 1.5rem; }


/* ---------- Traverse (About: the long game) ---------- */
.trv {
  position: relative; margin-top: 4.2rem;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0 2rem; padding-top: 3.4rem;
}
.trv::before {
  content: ""; position: absolute; left: 0; right: 7.5rem; top: 3.4rem; height: 2px;
  transform: translateY(27px);
  background:
    repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 24px),
    linear-gradient(var(--ink), var(--ink));
  background-size: auto 8px, 100% 2px;
  background-repeat: repeat-x, no-repeat;
  background-position: left bottom 3px, left top;
}
.trv-onward {
  position: absolute; right: 0; top: 3.4rem; transform: translateY(18px);
  color: var(--ink-mute); letter-spacing: .14em;
}
.trv-stn { position: relative; padding-top: 4.6rem; }
.trv-node {
  position: absolute; top: 0; left: 0;
  width: 56px; height: 56px; border-radius: 50%;
  border: 2px dashed var(--ink-mute); background: var(--bone-50);
  display: grid; place-items: center;
}
.trv-node i {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--ink-mute); display: block;
}
.trv-node::before, .trv-node::after {
  content: ""; position: absolute; background: currentColor; color: var(--ink-mute);
}
.trv-node::before { width: 2px; height: 8px; top: -10px; left: 50%; margin-left: -1px; }
.trv-node::after  { width: 2px; height: 8px; bottom: -10px; left: 50%; margin-left: -1px; }
.trv-stn.is-now .trv-node {
  border: 2px solid var(--ink); background: var(--brass-400); color: var(--ink);
}
.trv-stn.is-now .trv-node i { background: var(--spruce-950); width: 12px; height: 12px; }
.trv-here {
  position: absolute; top: -1.2rem; left: 4.6rem;
  background: var(--spruce-950); color: var(--brass-300);
  padding: .4rem .65rem; letter-spacing: .12em;
  transform: rotate(-4deg);
}
.trv-here::after {
  content: ""; position: absolute; left: -6px; bottom: -6px;
  width: 0; height: 0;
  border-top: 8px solid var(--spruce-950);
  border-left: 8px solid transparent;
  transform: rotate(90deg);
}
.trv-code { display: inline-block; color: var(--ink-mute); letter-spacing: .14em; }
.trv-stn h3 { margin-top: .5rem; }
.trv-stn p { margin-top: .5rem; font-size: var(--fs-small); color: var(--ink-soft); max-width: 17rem; }
.trv-stn:not(.is-now) h3 { color: var(--ink-soft); }
@media (max-width: 900px) {
  .trv { grid-template-columns: 1fr; gap: 2.4rem; padding-top: 0; }
  .trv::before {
    left: 27px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform: none;
    background:
      repeating-linear-gradient(180deg, var(--ink) 0 2px, transparent 2px 24px),
      linear-gradient(var(--ink), var(--ink));
    background-size: 8px auto, 2px 100%;
    background-repeat: repeat-y, no-repeat;
    background-position: left 3px top, left top;
  }
  .trv-onward { display: none; }
  .trv-stn { padding-top: 0; padding-left: 4.8rem; }
  .trv-here { left: 4.8rem; top: -1.6rem; }
}


/* ---------- WOW moment selector (Home Inspections) ---------- */
.wow .d2 { max-width: 46rem; }
.wow-grid {
  margin-top: 3.2rem;
  display: grid; grid-template-columns: minmax(15rem, .42fr) 1fr; gap: 0;
  border: 2px solid var(--paper-text);
}
.wow-tabs { display: grid; grid-template-rows: repeat(3, 1fr); border-right: 2px solid var(--paper-text); }
.wow-tab {
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto;
  align-items: center; gap: 0 1.2rem;
  text-align: left; color: var(--paper-soft);
  padding: 1.5rem 1.6rem 1.3rem;
  border-bottom: 1.5px solid var(--line-dark);
  position: relative; cursor: pointer;
  transition: background .18s, color .18s;
}
.wow-tab:last-child { border-bottom: 0; }
.wow-tab .wt-num {
  font-family: var(--f-display); font-weight: 900; font-size: clamp(2.6rem, 4vw, 4rem);
  line-height: 1; color: var(--paper-mute); grid-row: 1 / 3;
  transition: color .18s;
}
.wow-tab .wt-lab {
  font-family: var(--f-display); font-weight: 700; font-size: clamp(1.2rem, 1.7vw, 1.6rem);
  line-height: 1.05; text-transform: uppercase; letter-spacing: .02em;
}
.wow-tab .wt-code { color: var(--paper-mute); letter-spacing: .14em; margin-top: .5rem; }
.wow-tab:hover { background: var(--spruce-800); color: var(--bone-0); }
.wow-tab.is-active {
  background: var(--brass-400); color: var(--on-brass);
}
.wow-tab.is-active .wt-num { color: rgba(11,19,16,.55); }
.wow-tab.is-active .wt-code { color: var(--spruce-800); }
.wow-tab.is-active::after {
  content: ""; position: absolute; right: -12px; top: 50%; margin-top: -12px;
  border-left: 12px solid var(--brass-400);
  border-top: 12px solid transparent; border-bottom: 12px solid transparent;
  z-index: 2;
}
.wow-panels { position: relative; background: var(--spruce-900); display: grid; }
.wow-panel {
  grid-area: 1 / 1;
  display: grid; grid-template-columns: .9fr 1.1fr;
  opacity: 0; visibility: hidden; pointer-events: none;
}
.wow-panel[hidden] { display: grid; }
.wow-panel.is-active {
  opacity: 1; visibility: visible; pointer-events: auto;
  animation: wowIn .35s var(--ease-out);
}
@keyframes wowIn { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
.wp-fig { position: relative; border-right: 1.5px solid var(--line-dark); min-height: 280px; }
.wp-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); }
.wp-body { padding: clamp(1.6rem, 3.2vw, 2.8rem); display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.wp-chip {
  background: var(--spruce-950); color: var(--brass-300);
  border: 1.5px solid var(--line-gold);
  padding: .45rem .7rem; letter-spacing: .12em;
}
.wp-body p { color: var(--paper-soft); font-size: var(--fs-small); max-width: 30rem; }
.wow-points { display: flex; flex-wrap: wrap; gap: .6rem; }
.wow-points li {
  border: 1.5px solid var(--line-dark); color: var(--paper-text);
  padding: .4rem .65rem; letter-spacing: .1em;
}
.wow-panel .btn { margin-top: .4rem; }
@media (max-width: 980px) {
  .wow-grid { grid-template-columns: 1fr; }
  .wow-tabs { grid-template-rows: none; grid-template-columns: repeat(3, 1fr); border-right: 0; border-bottom: 2px solid var(--paper-text); }
  .wow-tab { border-bottom: 0; border-right: 1.5px solid var(--line-dark); padding: 1.1rem 1rem; }
  .wow-tab:last-child { border-right: 0; }
  .wow-tab.is-active::after { right: auto; left: 50%; margin-left: -12px; top: auto; bottom: -12px; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 12px solid var(--brass-400); border-bottom: 0; }
  .wow-panel { grid-template-columns: 1fr; }
  .wp-fig { min-height: 220px; border-right: 0; border-bottom: 1.5px solid var(--line-dark); }
}

/* ---------- Beyond inspections (Services overview) ---------- */
.beyond { position: relative; overflow: hidden; }
.beyond-ghost {
  position: absolute; right: -1.5rem; top: 45%; transform: translateY(-50%);
  font-family: var(--f-display); font-weight: 900;
  font-size: clamp(16rem, 30vw, 30rem); line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px rgba(237, 232, 218, 0.07);
  pointer-events: none; user-select: none;
}
.beyond-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(2.5rem, 5vw, 5rem); align-items: center;
}
.beyond-copy .d2 { margin-top: 1.6rem; }
.beyond-copy .lede { margin-top: 1.3rem; }
.beyond-tags {
  display: flex; flex-wrap: wrap; gap: 1.1rem 1rem;
  align-content: center; justify-content: center;
  padding: 2.2rem 1.4rem;
  border: 2px dashed var(--line-dark);
}
.btag {
  display: inline-block; transform: rotate(var(--r, 0deg));
  background: var(--bone-0); color: var(--spruce-950);
  border: 2px solid var(--spruce-950);
  padding: .85rem 1.2rem; font-weight: 600; letter-spacing: .12em;
  font-size: .82rem;
}
.beyond .btag:nth-child(2n) { background: var(--brass-400); }
.btag-soon {
  background: transparent !important; color: var(--paper-soft);
  border: 2px dashed var(--paper-mute);
}
.btag-note { flex-basis: 100%; text-align: center; color: var(--paper-mute); margin-top: .6rem; letter-spacing: .1em; }
@media (max-width: 900px) {
  .beyond-grid { grid-template-columns: 1fr; }
  .beyond-ghost { font-size: 14rem; top: auto; bottom: -2rem; transform: none; }
}


/* ---------- Contact: field-note cards ---------- */
.fn-contact { max-width: none; margin-top: 2.4rem; }
.fn-contact .fn-big {
  display: inline-block;
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  text-transform: uppercase; letter-spacing: .01em;
  color: var(--ink); line-height: 1.05;
}
.fn-contact .fn-big:hover { color: var(--brass-500); }
.fn-contact p { margin-top: .45rem; color: var(--ink-mute); font-size: var(--fs-small); }

/* ---------- Service area map ---------- */
.area-grid {
  margin-top: 3rem;
  display: grid; grid-template-columns: minmax(17rem, .8fr) 1.2fr;
  gap: clamp(2.5rem, 5vw, 5rem); align-items: center;
}
.area-map {
  margin: 0; padding: 1.6rem;
  --fn-corner: var(--ink);
  background-image:
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner)),
    linear-gradient(var(--fn-corner), var(--fn-corner));
  background-position: top left, top left, top right, top right,
    bottom left, bottom left, bottom right, bottom right;
  background-size: 26px 2.5px, 2.5px 26px, 26px 2.5px, 2.5px 26px,
    26px 2.5px, 2.5px 26px, 26px 2.5px, 2.5px 26px;
  background-repeat: no-repeat;
}
.area-map-svg { display: block; width: 100%; height: auto; max-height: 34rem; }
.am-territory { fill: var(--spruce-700); stroke: var(--ink); stroke-width: 2.5; stroke-linejoin: round; }
.am-zone { fill: none; stroke: var(--brass-500); stroke-width: 2; stroke-dasharray: 7 6; }
.am-dot { fill: var(--bone-100); stroke: var(--spruce-950); stroke-width: 1.2; }
.am-ring { fill: none; stroke: var(--brass-300); stroke-width: 2; }
.am-star { fill: var(--brass-300); }
.am-tick { stroke: var(--brass-300); stroke-width: 2; }
.am-label {
  font-family: var(--f-mono); font-size: 13px; font-weight: 600;
  letter-spacing: 2px; fill: var(--bone-0);
}
.area-chips {
  margin-top: 1.8rem;
  display: flex; flex-wrap: wrap; gap: .7rem;
}
.area-chips li {
  display: inline-flex; align-items: center; gap: .55rem;
  border: 1.5px solid var(--ink); background: var(--bone-0);
  padding: .55rem .85rem;
  font-family: var(--f-mono); font-size: .78rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink);
}
.area-chips li::before {
  content: ""; width: 8px; height: 8px; background: var(--brass-400);
  border: 1.5px solid var(--ink);
}
.area-chips li:first-child { background: var(--spruce-950); color: var(--bone-0); border-color: var(--spruce-950); }
.area-chips li:first-child::before { background: var(--brass-300); border-color: var(--brass-300); }
@media (max-width: 900px) {
  .area-grid { grid-template-columns: 1fr; }
  .area-map { max-width: 26rem; margin-inline: auto; }
}


/* ---------- Blueprint coverage diagram ---------- */
.blueprint {
  background-image:
    linear-gradient(rgba(237,232,218,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(237,232,218,.045) 1px, transparent 1px),
    linear-gradient(rgba(237,232,218,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(237,232,218,.028) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
}
.bp-fig { margin: 3rem 0 0; }
.bp-svg { display: block; width: 100%; height: auto; }

.bp-solid, .bp-hidden, .bp-fine, .bp-grade, .bp-grademark {
  fill: none; stroke: var(--paper-text); stroke-linecap: square;
}
.bp-solid { stroke-width: 2.2; }
.bp-hidden { stroke-width: 1.6; stroke-dasharray: 7 6; opacity: .75; }
.bp-fine { stroke-width: 1; opacity: .5; }
.bp-grade { stroke-width: 2.4; }
.bp-grademark { stroke-width: 1.2; opacity: .55; }
.bp-lines rect { stroke-width: 2.2; stroke: var(--paper-text); }

/* markers */
.bp-m rect {
  fill: var(--brass-400); stroke: var(--spruce-950); stroke-width: 2;
}
.bp-m circle {
  fill: none; stroke: var(--brass-400); stroke-width: 1.6; opacity: 0;
  transition: opacity .18s;
}
.bp-m { cursor: pointer; }
.bp-m:hover circle, .bp-m:focus circle, .bp-m.is-hot circle { opacity: 1; }
.bp-m:hover rect, .bp-m.is-hot rect { fill: var(--brass-300); }

/* scope ring (thermal) */
.bp-scope { cursor: pointer; }
.bp-scope circle, .bp-scope path { fill: none; stroke: var(--brass-400); stroke-width: 2; }
.bp-scope .bp-scope-in { fill: var(--brass-400); stroke: none; }
.bp-scope.is-hot circle, .bp-scope:hover circle,
.bp-scope.is-hot path, .bp-scope:hover path { stroke: var(--brass-200); }

/* leaders */
.bp-leaders path {
  fill: none; stroke: var(--paper-mute); stroke-width: 1.3; opacity: .55;
  transition: stroke .18s, opacity .18s;
}
.bp-leaders path.is-hot { stroke: var(--brass-300); opacity: 1; stroke-width: 1.6; }

/* labels */
.bp-lab { cursor: pointer; }
.bp-lab rect {
  fill: var(--spruce-900); stroke: var(--paper-soft); stroke-width: 1.5;
  transition: fill .18s, stroke .18s;
}
.bp-lab text {
  font-family: var(--f-mono); font-size: 12px; font-weight: 600;
  letter-spacing: 1.1px; fill: var(--paper-text);
  transition: fill .18s;
}
.bp-lab:hover rect, .bp-lab.is-hot rect { fill: var(--brass-400); stroke: var(--brass-400); }
.bp-lab:hover text, .bp-lab.is-hot text { fill: var(--spruce-950); }
.bp-lab-9 rect { stroke: var(--brass-500); }
.bp-lab-9 text { fill: var(--brass-300); }

.bp-meta {
  font-family: var(--f-mono); font-size: 11px; letter-spacing: 2px;
  fill: var(--paper-mute);
}
.bp-meta-r { text-anchor: end; }

/* thermal scan sweep */
.bp-scan rect {
  fill: url(#bp-scan-grad);
  fill: rgba(213, 163, 66, 0.10);
}
.bp-scan line { stroke: rgba(213, 163, 66, 0.55); stroke-width: 1.5; stroke-dasharray: 10 6; }
.bp-scan { animation: bpScan 7s linear infinite; }
@keyframes bpScan {
  0% { transform: translateY(0); opacity: 0; }
  6% { opacity: 1; }
  80% { transform: translateY(600px); opacity: 1; }
  86%, 100% { transform: translateY(600px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .bp-scan { animation: none; opacity: 0; } }

/* legend */
.sys-legend {
  margin-top: 2.8rem;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: .9rem 2.2rem;
}
.sys-item {
  position: relative; padding: .5rem 0 .5rem 2rem;
  border-bottom: 1.5px solid var(--line-dark);
  cursor: pointer;
  transition: border-color .18s;
}
.sys-item::before {
  content: ""; position: absolute; left: 0; top: .82rem;
  width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5 6.2 12.5 14 3.5' fill='none' stroke='%23D5A342' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sys-item b {
  display: block; color: var(--bone-0);
  font-family: var(--f-display); font-weight: 700; font-size: 1.08rem;
  text-transform: uppercase; letter-spacing: .02em;
}
.sys-item span { display: block; margin-top: .2rem; font-size: .85rem; color: var(--paper-soft); line-height: 1.5; }
.sys-item:hover, .sys-item.is-hot { border-color: var(--brass-400); }
.sys-item:hover b, .sys-item.is-hot b { color: var(--brass-300); }
@media (max-width: 980px) { .sys-legend { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
  .bp-labels, .bp-leaders { display: none; }
  .sys-legend { grid-template-columns: 1fr; }
}


/* ---------- split figure that fills column height ---------- */
.split-stretch { align-items: stretch; }
.split figure.fig-fill { position: relative; margin: 0; min-height: 320px; }
.split figure.fig-fill img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  aspect-ratio: auto; object-fit: cover;
  border: var(--rule);
}
.split figure.fig-fill figcaption {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  background: var(--ink); color: var(--brass-300) !important;
  padding: .55rem .85rem;
  border-top: 1.5px solid var(--brass-400);
}
@media (max-width: 900px) {
  .split figure.fig-fill { min-height: 0; }
  .split figure.fig-fill img { position: static; height: auto; aspect-ratio: 4 / 3; }
  .split figure.fig-fill figcaption { position: static; background: none; color: var(--ink-mute) !important; border: 0; padding: .6rem 0 0; }
}

/* ===== Formidable Forms — match the form card ===== */
.form-card .frm_forms .frm_form_field { margin-bottom: 1.1rem; }
.form-card .frm_forms .frm_primary_label {
  font-family: var(--f-mono); font-size: .7rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute);
  display: block; margin-bottom: .45rem;
}
.form-card .frm_forms .frm_required { color: var(--brass-600); }
.form-card .frm_forms input[type="text"],
.form-card .frm_forms input[type="email"],
.form-card .frm_forms input[type="tel"],
.form-card .frm_forms input[type="date"],
.form-card .frm_forms input[type="number"],
.form-card .frm_forms select,
.form-card .frm_forms textarea {
  width: 100%; font: inherit; font-size: .95rem; color: var(--ink);
  background: var(--bone-50); border: 1.5px solid var(--ink); border-radius: 0;
  padding: .8rem 1rem; outline: none;
  transition: background .15s, box-shadow .15s;
}
.form-card .frm_forms input:focus,
.form-card .frm_forms select:focus,
.form-card .frm_forms textarea:focus { background: var(--bone-0); box-shadow: 0 0 0 2px var(--brass-400); }
.form-card .frm_forms textarea { min-height: 120px; resize: vertical; }
.form-card .with_frm_style .frm_button_submit,
.form-card .with_frm_style .frm_submit button,
.form-card .with_frm_style .frm_submit input[type="submit"],
.form-card .frm_forms .frm_final_submit {
  width: 100% !important;
  background: var(--brass-400) !important;
  color: var(--spruce-950) !important;
  border: 2px solid var(--ink) !important; border-radius: 0 !important;
  font-family: var(--f-display) !important; font-weight: 700 !important; font-size: 1.05rem !important;
  letter-spacing: .04em !important; text-transform: uppercase !important;
  padding: .95rem 1.6rem !important;
  cursor: pointer;
  transition: background .18s;
}
.form-card .with_frm_style .frm_button_submit:hover,
.form-card .with_frm_style .frm_submit button:hover { background: var(--brass-300) !important; }
.form-card .frm_forms .frm_error { color: var(--ember); font-size: .8rem; margin-top: .3rem; }
.form-card .frm_forms .frm_error_style {
  background: rgba(192,91,51,.08); border: 1.5px solid var(--ember);
  padding: .9rem 1.1rem; margin-bottom: 1.2rem; font-size: .9rem;
}
.form-card .frm_forms .frm_message {
  background: var(--bone-50); border: 1.5px solid var(--ink); border-left: 6px solid var(--brass-400);
  padding: 1.1rem 1.3rem; font-size: .95rem;
}

/* ===== WP pagination ===== */
.pagination .nav-links { display: flex; gap: .5rem; align-items: center; }
.pagination .page-numbers {
  font-family: var(--f-mono); font-size: .85rem; font-weight: 600;
  padding: .6rem 1rem; border: 1.5px solid var(--ink);
  color: var(--ink); transition: background .15s, color .15s;
}
.pagination .page-numbers.current { background: var(--ink); color: var(--brass-300); }
.pagination a.page-numbers:hover { background: var(--brass-200); }
.pagination .page-numbers.dots { border: 0; }
