/* ============================================================
   NORTON EQUIPMENT CO. - SITE DESIGN SYSTEM
   Industrial ink/steel/gold identity, evolved from the approved
   proposal design. Built by Aurex Agency.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ---------- fonts (self-hosted, no external requests) ----------
   Barlow Condensed: display. American-industrial, warmer than Oswald.
   Source Sans 3: body. Humanist, friendly, highly readable.
   Lora italic: accent. Echoes the gold script tagline in the logo. */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-condensed-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-400-italic.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-sans-3-600.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/source-sans-3-700.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/lora-500-italic.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/lora-600-italic.woff2) format('woff2')}

/* ---------- tokens ---------- */
:root{
  --ink:#0a0b0d;
  --ink-2:#0f1116;
  --steel-900:#14161c;
  --steel-800:#191c23;
  --steel-700:#22262f;
  --steel-500:#3c424f;
  --line:#262b34;
  --silver:#b9c0cb;
  --silver-2:#8c94a1;
  --silver-hi:#eef1f6;
  --gold:#d8a531;
  --gold-hi:#f2c95a;
  --gold-deep:#a97c1c;
  --gold-text:#7a5510; /* WCAG-AA text-role gold for paper surfaces (>=4.5:1) */
  --gold-soft:rgba(216,165,49,.14);
  --paper:#f4f1ea;
  --paper-2:#e9e5da;
  --card:#ffffff;
  --line-lt:#ddd7c9;
  --ink-on-paper:#171512;
  --body-on-paper:#45413a;
  --muted-on-paper:#6a655c;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --wrap:1180px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--ink);color:var(--silver);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
::selection{background:var(--gold);color:#1a1408}
h1,h2,h3,h4,.disp{font-family:'Barlow Condensed',sans-serif;font-weight:600;color:var(--silver-hi);line-height:1.06;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.32em;font-size:12px;color:var(--gold);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--gold);color:#170f02;padding:10px 18px;font-weight:700}
.skip-link:focus{left:0}

/* ---------- a11y: keyboard focus + screen-reader helpers ---------- */
/* Visible only when navigating by keyboard; mouse/touch users see no change. */
:where(a,button,input,select,textarea,summary,[tabindex],[data-magnetic],[data-tilt]):focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- hazard divider ---------- */
.hazard{height:10px;width:100%;background:repeating-linear-gradient(-45deg,#0a0b0d 0 22px,var(--gold) 22px 44px);opacity:.92}

/* ---------- buttons ---------- */
.btn{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:13.5px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:2px;cursor:pointer;border:0;
  position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s,color .25s,background .25s}
.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-deep));color:#170f02;
  box-shadow:0 6px 20px -6px rgba(216,165,49,.55),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-gold:hover{box-shadow:0 10px 30px -6px rgba(216,165,49,.7),inset 0 1px 0 rgba(255,255,255,.5);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--silver-hi);border:1px solid var(--steel-500)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}
.btn-dark{background:var(--ink);color:var(--silver-hi)}
.btn-dark:hover{background:#000;transform:translateY(-2px)}
.btn .arw{transition:transform .3s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}
.btn-lg{padding:18px 34px;font-size:14.5px}

/* ---------- top utility bar ---------- */
.topbar{background:var(--ink-2);border-bottom:1px solid var(--line);font-family:'Barlow Condensed',sans-serif;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--silver-2)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:34px}
.topbar .tb-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.topbar svg{width:12px;height:12px;color:var(--gold);flex:none}
.topbar a:hover{color:var(--gold-hi)}
.topbar .tb-right{display:flex;gap:22px}

/* ---------- header / nav ---------- */
header.nav{position:sticky;top:0;left:0;right:0;z-index:100;background:rgba(10,11,13,.92);
  backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}
header.nav .wrap{max-width:1460px}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,2vw,36px);height:76px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img,.brand svg{width:46px;height:auto;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.brand .txt{display:flex;flex-direction:column;line-height:1}
.brand .txt b{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:.11em;color:var(--silver-hi);text-transform:uppercase;white-space:nowrap}
.brand .txt span{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:3px;white-space:nowrap}
.nav-links{display:flex;align-items:stretch;gap:2px}
.nav-links>li{position:relative}
.nav-links>li>a{display:flex;align-items:center;gap:6px;height:76px;padding:0 11px;font-family:'Barlow Condensed',sans-serif;font-weight:500;
  font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--silver-2);position:relative;transition:color .3s;white-space:nowrap}
.nav-links>li>a::after{content:"";position:absolute;left:11px;right:11px;bottom:16px;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-links>li>a:hover,.nav-links>li>a[aria-current="true"]{color:var(--silver-hi)}
.nav-links>li>a:hover::after,.nav-links>li>a[aria-current="true"]::after{transform:scaleX(1)}
.nav-links .caret{width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);flex:none;transition:transform .25s}
.dd{position:absolute;top:100%;left:0;min-width:260px;background:var(--ink-2);border:1px solid var(--line);border-top:2px solid var(--gold);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.85);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;z-index:110}
.dd.dd-wide{min-width:520px;columns:2;column-gap:0;padding:10px}
.dd.dd-wide li{break-inside:avoid}
.nav-links li:hover>.dd,.nav-links li:focus-within>.dd,.nav-links li.open>.dd{opacity:1;visibility:visible;transform:translateY(0)}
.dd a{display:block;padding:9px 20px;font-size:13.5px;color:var(--silver);transition:background .2s,color .2s,padding-left .2s}
.dd a:hover{background:var(--gold-soft);color:var(--gold-hi);padding-left:25px}
.dd .dd-head{font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
  padding:10px 20px 5px;display:block}
.dd .dd-all{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-family:'Barlow Condensed',sans-serif;
  letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:10px;flex:none}
.nav-call{display:inline-flex;align-items:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.03em;color:#170f02;padding:12px 18px;border-radius:2px;white-space:nowrap;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-deep));
  box-shadow:0 6px 18px -6px rgba(216,165,49,.5),inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .25s var(--ease),box-shadow .25s}
.nav-call svg{width:16px;height:16px;color:#170f02}
.nav-call:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px rgba(216,165,49,.68)}
.nav-cta{flex:none;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-weight:600;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver-hi);padding:12px 15px;
  border:1px solid var(--steel-500);border-radius:2px;white-space:nowrap;transition:border-color .3s,color .3s}
.nav-cta .arw{transition:transform .3s var(--ease)}
.nav-cta:hover{border-color:var(--gold);color:var(--gold-hi)}
.nav-cta:hover .arw{transform:translateX(3px)}
.menu-btn{display:none;background:none;border:1px solid var(--steel-500);border-radius:2px;width:46px;height:42px;cursor:pointer;
  flex-direction:column;gap:5px;align-items:center;justify-content:center}
.menu-btn span{width:20px;height:2px;background:var(--silver);transition:.3s}
header.nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.nav.open .menu-btn span:nth-child(2){opacity:0}
header.nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- mobile call FAB ---------- */
.fab-call{position:fixed;right:18px;bottom:18px;z-index:95;display:none;align-items:center;justify-content:center;width:58px;height:58px;
  border-radius:50%;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,var(--gold-deep));color:#170f02;
  box-shadow:0 12px 30px -8px rgba(216,165,49,.6),inset 0 1px 0 rgba(255,255,255,.45)}
.fab-call::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(216,165,49,.5);animation:fabpulse 2.6s ease-out infinite}
@keyframes fabpulse{0%{box-shadow:0 0 0 0 rgba(216,165,49,.45)}70%{box-shadow:0 0 0 15px rgba(216,165,49,0)}100%{box-shadow:0 0 0 0 rgba(216,165,49,0)}}
.fab-call svg{width:24px;height:24px}

/* ---------- page hero (interior) ---------- */
.phero{position:relative;background:
  radial-gradient(90% 120% at 85% -20%,rgba(216,165,49,.13),transparent 60%),
  linear-gradient(180deg,var(--ink-2),var(--ink));border-bottom:1px solid var(--line);overflow:hidden}
.phero .grid-lines{position:absolute;inset:-2px;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;opacity:.3;
  mask-image:radial-gradient(120% 100% at 75% 0%,#000 25%,transparent 75%);
  -webkit-mask-image:radial-gradient(120% 100% at 75% 0%,#000 25%,transparent 75%)}
.phero-in{position:relative;z-index:2;padding-block:clamp(44px,7vw,84px) clamp(40px,6vw,72px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:'Barlow Condensed',sans-serif;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--silver-2);margin-bottom:26px}
.crumbs a:hover{color:var(--gold-hi)}
.crumbs .sep{color:var(--gold);opacity:.7}
.phero h1{font-size:clamp(34px,5.6vw,62px);text-transform:uppercase;font-weight:700;letter-spacing:-.005em;max-width:900px}
.phero .kick{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;display:block}
.phero .sub{max-width:760px;font-size:clamp(15.5px,1.8vw,18px);color:var(--silver);margin-top:22px}
.phero .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.phero .chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.chip{font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-2);
  border:1px solid var(--line);border-radius:2px;padding:7px 13px;background:rgba(255,255,255,.02);display:inline-flex;align-items:center;gap:8px}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);flex:none}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:center;overflow:hidden;padding:90px 0 120px;background:var(--ink)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg .grid-lines{position:absolute;inset:-2px;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;opacity:.35;
  mask-image:radial-gradient(120% 90% at 70% 20%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 70% 20%,#000 30%,transparent 78%)}
.hero-glow{position:absolute;width:60vw;height:60vw;top:-18vw;right:-10vw;border-radius:50%;
  background:radial-gradient(circle,rgba(216,165,49,.15),transparent 62%);filter:blur(10px)}
.hero-in{position:relative;z-index:2;width:100%}
.hero-tag{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:28px}
h1.hero-h{font-weight:700;font-size:clamp(40px,7vw,96px);line-height:.96;letter-spacing:-.01em;text-transform:uppercase;color:var(--silver-hi);text-wrap:balance}
h1.hero-h .ln{display:block;overflow:hidden}
h1.hero-h .ln>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease-out)}
h1.hero-h .gold{color:transparent;-webkit-text-stroke:1.5px var(--gold)}
.loaded h1.hero-h .ln>span{transform:translateY(0)}
h1.hero-h .ln:nth-child(2)>span{transition-delay:.09s}
h1.hero-h .ln:nth-child(3)>span{transition-delay:.18s}
.hero-sub{max-width:660px;font-size:clamp(16px,1.9vw,19px);color:var(--silver);margin:26px 0 36px;opacity:0;transform:translateY(20px);transition:all 1s var(--ease-out) .45s}
.loaded .hero-sub{opacity:1;transform:none}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;opacity:0;transform:translateY(20px);transition:all 1s var(--ease-out) .6s}
.loaded .hero-cta{opacity:1;transform:none}
.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:52px;opacity:0;transform:translateY(24px);transition:all 1s var(--ease-out) .75s}
.loaded .hero-paths{opacity:1;transform:none}
.path-card{display:block;border:1px solid var(--line);border-radius:4px;padding:26px 28px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  position:relative;overflow:hidden;transition:border-color .35s,transform .35s,background .35s}
.path-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}
.path-card:hover{border-color:var(--steel-500);transform:translateY(-4px);background:linear-gradient(180deg,rgba(216,165,49,.06),rgba(255,255,255,0))}
.path-card:hover::before{transform:scaleY(1)}
.path-card .pc-kick{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.26em;color:var(--gold);text-transform:uppercase}
.path-card h2{font-size:clamp(20px,2.4vw,27px);text-transform:uppercase;margin:8px 0 8px}
.path-card p{font-size:14px;color:var(--silver-2)}
.path-card .pc-go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.path-card:hover .pc-go{color:var(--gold-hi);gap:12px}
.path-card .pc-go{transition:gap .3s,color .3s}

/* ---------- trust strip / stats ---------- */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 22px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat .num{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(34px,4.4vw,52px);color:var(--silver-hi);line-height:1}
.stat .num .u{color:var(--gold);font-size:.5em;vertical-align:top;margin-left:2px}
.stat .lab{font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--silver-2);margin-top:10px;font-family:'Barlow Condensed',sans-serif}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding:clamp(68px,9vw,120px) 0}
.sec-dark{background:var(--ink);color:var(--silver)}
.sec-dark-2{background:linear-gradient(180deg,var(--ink),var(--steel-900));color:var(--silver)}
.sec-paper{background:var(--paper);color:var(--body-on-paper)}
.sec-paper-2{background:var(--paper-2);color:var(--body-on-paper)}
.sec-paper h1,.sec-paper h2,.sec-paper h3,.sec-paper h4,.sec-paper-2 h1,.sec-paper-2 h2,.sec-paper-2 h3,.sec-paper-2 h4{color:var(--ink-on-paper)}
.sec-paper .eyebrow,.sec-paper-2 .eyebrow{color:var(--gold-text)}
.sec-paper .eyebrow::before,.sec-paper-2 .eyebrow::before{background:var(--gold-deep)}
.sec-head{max-width:840px;margin-bottom:52px}
.sec-head h2{font-size:clamp(28px,4.6vw,52px);text-transform:uppercase;font-weight:700;margin:16px 0 0}
.sec-head p{margin-top:18px;font-size:clamp(15px,1.7vw,17.5px);max-width:700px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center p{margin-left:auto;margin-right:auto}
.sec-head.center .eyebrow::before{display:none}

/* ---------- prose (long-form content) ---------- */
.prose{max-width:760px;font-size:16.5px}
.prose p{margin-bottom:20px}
.prose a{color:var(--gold-text);font-weight:600;text-decoration:underline;text-decoration-color:rgba(169,124,28,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
.prose a:hover{text-decoration-color:var(--gold-text)}
.prose h2{font-size:clamp(22px,2.8vw,30px);text-transform:uppercase;margin:40px 0 16px}
.prose h3{font-size:19px;text-transform:uppercase;margin:30px 0 12px}
.legal{font-size:15.5px}
.legal h2{font-size:clamp(19px,2.2vw,24px);margin:34px 0 12px}
.legal h3{font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink-on-paper);margin:22px 0 8px}
.legal .lead{font-size:15.5px;color:var(--muted-on-paper)}
.prose ul,.prose ol{margin:0 0 20px 4px;display:grid;gap:10px}
.prose ul li{padding-left:26px;position:relative}
.prose ul li::before{content:"";position:absolute;left:2px;top:9px;width:10px;height:2.5px;background:var(--gold-deep)}
.prose ol{counter-reset:li}
.prose ol li{padding-left:34px;position:relative;counter-increment:li}
.prose ol li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;color:var(--gold-text)}
.prose strong{color:var(--ink-on-paper)}
.prose .lead{font-size:18.5px;color:var(--ink-on-paper)}
.sec-dark .prose a,.sec-dark-2 .prose a{color:var(--gold-hi)}
.sec-dark .prose strong{color:var(--silver-hi)}

/* ---------- card grids ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-lt);border-radius:5px;padding:28px;
  position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;box-shadow:0 14px 34px -26px rgba(0,0,0,.35)}
.tcard::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-hi));
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.tcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(0,0,0,.45);border-color:var(--gold)}
.tcard:hover::after{transform:scaleX(1)}
.tcard .ic{width:46px;height:46px;border:1px solid var(--gold-deep);border-radius:3px;display:grid;place-items:center;color:var(--gold-text);margin-bottom:18px}
.tcard .ic svg{width:22px;height:22px}
.tcard h3{font-size:18.5px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:9px;color:var(--ink-on-paper)}
.tcard p{font-size:14px;color:var(--body-on-paper);line-height:1.6;flex:1}
.tcard .go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);transition:gap .3s}
.tcard:hover .go{gap:12px}
.tcard .kick{font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-on-paper);margin-bottom:6px}

/* dark variant card */
.dcard{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0));border:1px solid var(--line);border-radius:4px;
  padding:26px;position:relative;overflow:hidden;transition:border-color .35s,transform .35s,background .35s;display:flex;flex-direction:column}
.dcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.dcard:hover{border-color:var(--steel-500);transform:translateX(5px);background:linear-gradient(180deg,rgba(216,165,49,.05),rgba(255,255,255,0))}
.dcard:hover::before{transform:scaleY(1)}
.dcard h3{font-size:18px;text-transform:uppercase;margin-bottom:8px}
.dcard p{font-size:14px;color:var(--silver-2);flex:1}
.dcard .idx{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;color:var(--gold);margin-bottom:12px;letter-spacing:.06em}
.dcard .go{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);transition:gap .3s}
.dcard:hover .go{gap:12px;color:var(--gold-hi)}

/* ---------- feature list (kept from proposal) ---------- */
.flist{display:grid;gap:12px}
.fitem{border:1px solid var(--line-lt);border-radius:4px;background:var(--card);padding:24px 26px;display:grid;
  grid-template-columns:auto 1fr;gap:20px;align-items:start;transition:border-color .35s,transform .35s,box-shadow .35s}
.fitem:hover{border-color:var(--gold);transform:translateX(5px);box-shadow:0 18px 36px -28px rgba(0,0,0,.4)}
.fitem .idx{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;color:var(--gold-text);letter-spacing:.05em;padding-top:3px;min-width:28px}
.fitem h3{font-size:17px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px;color:var(--ink-on-paper)}
.fitem p{font-size:14px;color:var(--body-on-paper);line-height:1.6}

/* ---------- checklist ---------- */
.checks{display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--body-on-paper);line-height:1.55}
.checks svg{width:18px;height:18px;flex:none;color:var(--gold-text);margin-top:3px}
.sec-dark .checks li,.sec-dark-2 .checks li{color:var(--silver)}
.sec-dark .checks svg{color:var(--gold)}

/* ---------- split layout ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.5vw,80px);align-items:start}
.split .sticky{position:sticky;top:130px}
.pullquote{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:clamp(22px,3vw,36px);line-height:1.16;text-transform:uppercase}
.pullquote em{color:var(--gold-text);font-style:normal}
.sec-dark .pullquote em,.sec-dark-2 .pullquote em{color:var(--gold)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;max-width:820px}
.faq details{background:var(--card);border:1px solid var(--line-lt);border-radius:4px;overflow:hidden;transition:border-color .3s}
.faq details[open]{border-color:var(--gold)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:19px 24px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:16px;color:var(--ink-on-paper);text-transform:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:26px;height:26px;border:1px solid var(--gold-deep);border-radius:2px;display:grid;place-items:center;color:var(--gold-text);position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:currentColor}
.faq summary .pm::before{width:12px;height:2px}
.faq summary .pm::after{width:2px;height:12px;transition:transform .3s var(--ease)}
.faq details[open] summary .pm::after{transform:rotate(90deg)}
.faq .ans{padding:0 24px 22px;font-size:14.5px;color:var(--body-on-paper);line-height:1.65;max-width:70ch}
.faq .ans a{color:var(--gold-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- city chips ---------- */
.cities{display:flex;flex-wrap:wrap;gap:10px}
.city{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:2px;padding:10px 15px;color:var(--silver);background:rgba(255,255,255,.02);
  display:inline-flex;align-items:center;gap:9px;transition:.3s}
a.city:hover{border-color:var(--gold);color:var(--gold-hi);transform:translateY(-3px)}
.city svg{color:var(--gold);width:12px;height:12px;flex:none}
.sec-paper .city,.sec-paper-2 .city{border-color:var(--line-lt);color:var(--body-on-paper);background:var(--card)}
.sec-paper a.city:hover,.sec-paper-2 a.city:hover{border-color:var(--gold-text);color:var(--gold-text)}
.sec-paper .city svg{color:var(--gold-text)}
.state-h{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:26px 0 12px}
.sec-paper .state-h{color:var(--gold-text)}

/* ---------- brand marquee ---------- */
.marquee-wrap{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:rgba(255,255,255,.02)}
.marquee-lbl{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-2);padding:14px 20px 0}
.marquee{display:flex;overflow:hidden;padding:6px 0 16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;animation:scrollx 30s linear infinite;flex:none}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.marquee .brand-t{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(20px,2.6vw,30px);text-transform:uppercase;color:var(--silver);
  padding:0 30px;letter-spacing:.02em;white-space:nowrap;display:flex;align-items:center;gap:30px}
.marquee .brand-t::after{content:"";width:7px;height:7px;background:var(--gold);border-radius:50%;flex:none}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- testimonials ---------- */
.quote-card{background:var(--card);border:1px solid var(--line-lt);border-radius:5px;padding:30px;display:flex;flex-direction:column;gap:18px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;box-shadow:0 14px 34px -26px rgba(0,0,0,.3)}
.quote-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.quote-card .qmark{font-family:'Barlow Condensed',sans-serif;font-size:52px;line-height:.6;color:var(--gold);font-weight:700}
.quote-card p{font-size:15px;color:var(--body-on-paper);line-height:1.65;flex:1}
.quote-card .who b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-on-paper)}
.quote-card .who span{font-size:12.5px;color:var(--muted-on-paper)}
.quote-card .qtag{align-self:flex-start;font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-text);border:1px solid var(--gold-deep);border-radius:2px;padding:5px 10px}
.draft-note{border:1px dashed var(--gold-deep);background:rgba(216,165,49,.07);border-radius:4px;padding:14px 18px;font-size:13.5px;
  color:var(--muted-on-paper);margin-bottom:34px;max-width:820px}
.draft-note b{color:var(--gold-text);text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.18em;margin-right:8px}

/* ---------- blog ---------- */
.post-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-lt);border-radius:5px;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.post-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 26px 50px -28px rgba(0,0,0,.4)}
.post-card .pc-top{height:8px;background:repeating-linear-gradient(-45deg,#0a0b0d 0 16px,var(--gold) 16px 32px);opacity:.9}
.post-card .pc-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.post-card .meta{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-on-paper);display:flex;gap:14px;margin-bottom:12px}
.post-card h3{font-size:19px;line-height:1.25;text-transform:none;font-weight:600;color:var(--ink-on-paper);letter-spacing:0;margin-bottom:10px}
.post-card p{font-size:14px;color:var(--body-on-paper);flex:1}
.post-card .go{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);transition:gap .3s}
.post-card:hover .go{gap:12px}
.post-hero-meta{display:flex;flex-wrap:wrap;gap:16px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-2);margin-top:18px}
.post-hero-meta span{display:inline-flex;align-items:center;gap:8px}
.post-hero-meta svg{width:13px;height:13px;color:var(--gold)}

/* ---------- forms ---------- */
.form-card{background:var(--card);border:1px solid var(--line-lt);border-radius:6px;padding:clamp(26px,4vw,42px);box-shadow:0 24px 60px -34px rgba(0,0,0,.4)}
.glance-card{background:var(--ink);border:1px solid rgba(216,165,49,.22);box-shadow:0 26px 64px -30px rgba(0,0,0,.65)}
.glance-card .glance-badge{display:block;width:290px;max-width:82%;margin:0 auto 26px;height:auto}
.glance-card .eyebrow{color:var(--gold)}
.glance-card .checks li{color:var(--silver)}
.glance-card .checks li strong{color:#fff}
.glance-card .checks svg{color:var(--gold)}
.glance-card .form-alt{color:var(--silver);border-top-color:rgba(255,255,255,.14)}
.glance-card .form-alt a{color:var(--gold)}
.family-band{margin:48px 0 0;border:1px solid var(--line-lt);border-radius:8px;overflow:hidden;background:#000;box-shadow:0 26px 64px -34px rgba(0,0,0,.45)}
.family-band picture{display:block}
.family-band img{display:block;width:100%;height:auto}
.family-band figcaption{padding:14px 16px;font-family:'Lora',Georgia,serif;font-style:italic;font-size:14.5px;color:var(--muted-on-paper);text-align:center;background:var(--card)}
.auth-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:8px 14px;border:1px solid var(--gold-text);border-radius:3px;
  background:rgba(216,165,49,.08);font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.auth-badge svg{width:16px;height:16px;flex:none;color:var(--gold-text)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-on-paper);margin-bottom:7px}
.field label .req{color:var(--gold-text)}
.field ::placeholder{color:#726c62;opacity:1}
.field select:invalid,.field select option[value=""]{color:#726c62}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line-lt);border-radius:3px;background:#fbfaf7;
  font-family:'Source Sans 3',sans-serif;font-size:15px;color:var(--ink-on-paper);transition:border-color .25s,box-shadow .25s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-text);box-shadow:0 0 0 3px rgba(216,165,49,.18)}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:12.5px;color:var(--muted-on-paper);margin-top:14px}
.form-consent{font-size:11.5px;line-height:1.55;color:var(--muted-on-paper);margin-top:14px}
.form-consent a{color:var(--gold-text);font-weight:600;text-decoration:underline}
.form-alt{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line-lt);font-size:14.5px;color:var(--body-on-paper)}
.form-alt a{color:var(--gold-text);font-weight:700}

/* ---------- contact info blocks ---------- */
.info-tile{background:var(--card);border:1px solid var(--line-lt);border-radius:5px;padding:26px;display:flex;gap:16px;align-items:flex-start}
.info-tile .ic{width:42px;height:42px;flex:none;border:1px solid var(--gold-deep);border-radius:3px;display:grid;place-items:center;color:var(--gold-text)}
.info-tile .ic svg{width:19px;height:19px}
.info-tile b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-on-paper);margin-bottom:4px}
.info-tile p,.info-tile a{font-size:14.5px;color:var(--body-on-paper)}
.info-tile a:hover{color:var(--gold-text)}

/* ---------- CTA band ---------- */
.cta-band{background:
  radial-gradient(90% 90% at 50% 0%,rgba(216,165,49,.1),transparent 60%),var(--ink);
  border-top:1px solid var(--line);text-align:center;position:relative;overflow:hidden}
.cta-band .grid-lines{position:absolute;inset:-2px;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;opacity:.25;
  mask-image:radial-gradient(100% 100% at 50% 0%,#000 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(100% 100% at 50% 0%,#000 20%,transparent 80%)}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{font-size:clamp(28px,5vw,58px);text-transform:uppercase;font-weight:700;line-height:1;margin-bottom:18px}
.cta-band h2 .gold{color:var(--gold)}
.cta-band p{max-width:600px;margin:0 auto 32px;font-size:16.5px;color:var(--silver)}
.cta-band .close-cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.cta-band .sub-call{margin-top:22px;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-2)}
.cta-band .sub-call a{color:var(--gold-hi)}

/* ---------- footer ---------- */
footer{background:var(--ink-2);border-top:1px solid var(--line);padding:64px 0 0;color:var(--silver-2);font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(28px,4vw,54px);padding-bottom:44px}
.foot-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.foot-brand img{width:52px}
.foot-brand b{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-hi);display:block;line-height:1.25}
.foot-brand span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.foot-about p{max-width:34ch;line-height:1.7}
.foot-nap{margin-top:18px;display:grid;gap:9px;font-size:13.5px}
.foot-nap a,.foot-nap span{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.foot-nap svg{width:14px;height:14px;color:var(--gold);flex:none;margin-top:3px}

/* footer social */
.foot-social{margin-top:20px;display:flex;gap:10px}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--line);border-radius:5px;color:var(--txt-dim);background:rgba(255,255,255,.02);
  transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}
.foot-social a:hover{color:var(--gold);border-color:var(--gold-deep);background:rgba(216,165,49,.08);transform:translateY(-2px)}
.foot-social svg{width:17px;height:17px}

.foot-nap a:hover{color:var(--gold-hi)}
.foot-h{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-hi);margin-bottom:18px}
.foot-links{display:grid;gap:10px;font-size:13.5px}
.foot-links a{transition:color .25s,padding-left .25s}
.foot-links a:hover{color:var(--gold-hi);padding-left:4px}
.foot-bottom{border-top:1px solid var(--line);padding:22px 0}
.foot-bottom .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.foot-bottom a:hover{color:var(--gold-hi)}
.foot-bottom .aurex a{color:var(--gold)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.07s}.reveal[data-d="2"]{transition-delay:.14s}
.reveal[data-d="3"]{transition-delay:.21s}.reveal[data-d="4"]{transition-delay:.28s}
.reveal[data-d="5"]{transition-delay:.35s}.reveal[data-d="6"]{transition-delay:.42s}

/* ---------- misc ---------- */
.ghostnum{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(110px,20vw,260px);line-height:.8;color:transparent;
  -webkit-text-stroke:1px rgba(216,165,49,.12);position:absolute;pointer-events:none;user-select:none;z-index:0}
.mt-1{margin-top:14px}.mt-2{margin-top:26px}.mt-3{margin-top:44px}.mt-4{margin-top:64px}
.center{text-align:center}

/* ---------- responsive ---------- */
@media(max-width:1400px){
  .nav-links>li>a{padding:0 8px;font-size:11.5px}
}
@media(max-width:1300px){
  .nav-cta{display:none}
}
@media(max-width:1260px){
  .nav-links{display:none}
  .menu-btn{display:flex}
  header.nav.open .nav-links{display:block;position:absolute;top:76px;left:0;right:0;background:#0a0b0d;
    border-top:1px solid var(--line);border-bottom:2px solid var(--gold);box-shadow:0 26px 44px -14px rgba(0,0,0,.85);
    max-height:calc(100vh - 110px);overflow-y:auto;padding:8px 0 18px}
  header.nav.open .nav-links>li>a{height:auto;padding:15px 26px;width:100%;border-bottom:1px solid var(--line);justify-content:space-between;font-size:13px}
  header.nav.open .nav-links>li>a::after{display:none}
  .dd{position:static;min-width:0;opacity:1;visibility:visible;transform:none;border:0;border-left:2px solid var(--gold);
    margin:0 26px 10px;box-shadow:none;display:none;background:var(--ink-2)}
  .dd.dd-wide{columns:1;padding:6px 0}
  .nav-links li.open>.dd{display:block}
  .nav-links .caret{transform:rotate(45deg)}
  .nav-links li.open .caret{transform:rotate(225deg)}
}
@media(max-width:960px){
  .topbar .tb-right .tb-hours{display:none}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(odd){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split .sticky{position:static}
  .hero-paths{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .topbar .tb-right{display:none}
  .grid-3,.grid-4,.grid-2,.form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .nav-call span{display:none}
  .nav-call{border:0;padding:8px}
  .nav-call svg{width:20px;height:20px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero{padding:70px 0 90px;min-height:0}
  .hero-photo{opacity:.64}
  .hero-shade{background:linear-gradient(180deg,rgba(10,11,13,.62),rgba(10,11,13,.78) 42%,rgba(10,11,13,.86) 66%,var(--ink) 98%)}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  h1.hero-h .ln>span{transform:none}
  .hero-sub,.hero-cta,.hero-paths{opacity:1;transform:none}
}
@media print{
  .topbar,header.nav,.fab-call,.cta-band,footer .foot-bottom{display:none}
  body{background:#fff;color:#111}
}

/* narrow-phone brand fit */
@media(max-width:430px){
  .nav-in{gap:10px}
  .brand{gap:9px}
  .brand img{width:38px}
  .brand .txt b{font-size:12.5px;letter-spacing:.08em}
  .brand .txt span{font-size:9.5px;letter-spacing:.16em}
  .menu-btn{width:42px;height:40px}
}

/* ============================================================
   WOW PASS: photos, motion, finder
   ============================================================ */

/* ---------- scroll progress ---------- */
#progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-hi));
  box-shadow:0 0 14px rgba(216,165,49,.6)}

/* ---------- gold button shine sweep ---------- */
.btn-gold::before{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.55) 50%,transparent);
  transform:skewX(-20deg);transition:left .6s var(--ease)}
.btn-gold:hover::before{left:130%}

/* ---------- sec-head underline draw ---------- */
.sec-head h2{position:relative;padding-bottom:18px}
.sec-head h2::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:64px;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));transform:scaleX(0);transform-origin:left;
  transition:transform .8s var(--ease-out) .2s}
.sec-head.center h2::after{left:50%;margin-left:-32px}
.sec-head.reveal.in h2::after,.sec-head h2.in::after{transform:scaleX(1)}
.sec-head:not(.reveal) h2::after{transform:scaleX(1)}

/* ---------- photo frame ---------- */
.ph-frame{position:relative;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--steel-900);
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.ph-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.ph-frame:hover img{transform:scale(1.04)}
.ph-frame .ph-hz{position:absolute;left:0;right:0;bottom:0;height:7px;
  background:repeating-linear-gradient(-45deg,rgba(10,11,13,.92) 0 16px,var(--gold) 16px 32px);opacity:.85}
.ph-frame .ph-corner{position:absolute;top:0;right:0;width:26px;height:26px;
  background:linear-gradient(225deg,transparent 49%,var(--gold) 50%,var(--gold-deep) 100%)}
.ph-frame.mb{margin-bottom:22px}
.sec-paper .ph-frame,.sec-paper-2 .ph-frame{border-color:var(--line-lt);box-shadow:0 24px 50px -30px rgba(0,0,0,.5)}

/* ken burns drift */
@keyframes kenburns{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.09) translate3d(1.5%, -1.5%,0)}}
.ph-frame.kenburns img{animation:kenburns 18s var(--ease) alternate infinite}

/* ---------- page hero with media ---------- */
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.14;
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 75%);mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
.phero.has-media .phero-in{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,4.5vw,64px);align-items:center}
.phero-media{position:relative}
.phero-media .ph-frame{aspect-ratio:4/3;box-shadow:0 44px 90px -40px rgba(0,0,0,.9)}
.phero-media::before{content:"";position:absolute;inset:18px -14px -14px 18px;border:1px solid rgba(216,165,49,.35);
  border-radius:6px;pointer-events:none;z-index:-1}
@media(max-width:960px){
  .phero.has-media .phero-in{grid-template-columns:1fr}
  .phero-media .ph-frame{aspect-ratio:16/9}
  .phero-media::before{display:none}
}

/* ---------- home hero photo ---------- */
.hero-photo{position:absolute;inset:-4% 0;width:100%;height:108%;object-fit:cover;opacity:.72;will-change:transform}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,11,13,.95) 0,rgba(10,11,13,.86) 30%,rgba(10,11,13,.6) 55%,rgba(10,11,13,.34) 78%,rgba(10,11,13,.28) 100%),
  linear-gradient(180deg,rgba(10,11,13,.72),transparent 26%,transparent 58%,var(--ink) 97%)}
.bolt-float{position:absolute;opacity:.55;will-change:transform;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5));pointer-events:none}

/* path cards with photos */
.path-card{will-change:transform}
.path-card.has-photo{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:18px 26px 18px 18px;
  background:linear-gradient(180deg,rgba(15,17,22,.82),rgba(15,17,22,.6));backdrop-filter:blur(6px)}
.path-card .pc-photo{display:block;border-radius:4px;overflow:hidden;border:1px solid var(--line);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.path-card .pc-photo img{width:100%;height:132px;object-fit:cover;transition:transform .6s var(--ease)}
.path-card:hover .pc-photo img{transform:scale(1.07)}
.path-card .pc-body{display:block;min-width:0}
@media(max-width:600px){
  .path-card.has-photo{grid-template-columns:1fr;padding:16px}
  .path-card .pc-photo img{height:150px}
}

/* ---------- shop floor strip ---------- */
.sf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sf-item{margin:0}
.sf-item .ph-frame{aspect-ratio:4/3}
.sf-item figcaption{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--silver-2);margin-top:10px;display:flex;align-items:center;gap:8px}
.sf-item figcaption::before{content:"";width:14px;height:2px;background:var(--gold);flex:none}
@media(max-width:960px){.sf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.sf-grid{grid-template-columns:1fr}}

/* ---------- dark section texture ---------- */
.sec-dark-2::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:repeating-linear-gradient(-45deg,transparent 0 12px,#8c94a1 12px 13px,transparent 13px 26px)}
.sec-dark-2>.wrap{position:relative}

/* ---------- CTA band photo ---------- */
.cta-band .cta-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30;
  -webkit-mask-image:radial-gradient(90% 100% at 50% 0%,#000,transparent 85%);
  mask-image:radial-gradient(90% 100% at 50% 0%,#000,transparent 85%)}

/* ---------- machine finder ---------- */
.finder{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--steel-900),var(--ink-2));box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
.finder::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-hi))}
.fd-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-bottom:1px solid var(--line)}
.fd-title{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.fd-dots{display:flex;gap:8px}
.fd-dots i{width:26px;height:4px;border-radius:2px;background:var(--steel-700);transition:background .3s}
.fd-dots i.on{background:var(--gold)}
.fd-body{padding:30px 28px 34px;min-height:280px}
.fd-q{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(20px,2.6vw,27px);text-transform:uppercase;color:var(--silver-hi);margin-bottom:22px}
.fd-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fd-opt{display:flex;align-items:center;gap:14px;text-align:left;padding:17px 18px;border:1px solid var(--line);border-radius:4px;
  background:rgba(255,255,255,.02);color:var(--silver);cursor:pointer;font-family:'Source Sans 3',sans-serif;font-size:14.5px;
  transition:border-color .25s,background .25s,transform .25s}
.fd-opt:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateX(4px);color:var(--silver-hi)}
.fd-opt .fo-ic{width:38px;height:38px;flex:none;border:1px solid var(--gold);border-radius:3px;display:grid;place-items:center;color:var(--gold)}
.fd-opt .fo-ic svg{width:18px;height:18px}
.fd-opt b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--silver-hi)}
.fd-opt small{color:var(--silver-2);font-size:12.5px}
.fd-back{margin-top:20px;background:none;border:0;color:var(--silver-2);font-family:'Barlow Condensed',sans-serif;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.fd-back:hover{color:var(--gold-hi)}
.fd-result{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;animation:fdpop .5s var(--ease-out)}
@keyframes fdpop{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fd-result .fr-kick{font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.fd-result h3{font-size:clamp(22px,3vw,30px);text-transform:uppercase;margin:8px 0 10px;color:var(--silver-hi)}
.fd-result p{color:var(--silver-2);font-size:14.5px;max-width:52ch}
.fd-result .fr-note{margin-top:12px;font-size:13px;color:var(--silver-2)}
.fd-result .fr-note a{color:var(--gold-hi)}
.fd-result .fr-ctas{display:flex;flex-direction:column;gap:10px}
@media(max-width:700px){
  .fd-opts{grid-template-columns:1fr}
  .fd-result{grid-template-columns:1fr}
  .fd-result .fr-ctas{flex-direction:row;flex-wrap:wrap}
}

/* ---------- tilt ---------- */
[data-tilt]{transform-style:preserve-3d}

@media(max-width:700px){.bolt-float{display:none}}

/* ---------- reduced motion for wow layer ---------- */
@media(prefers-reduced-motion:reduce){
  .ph-frame.kenburns img{animation:none}
  .btn-gold::before{display:none}
  .hero-photo{transform:none!important}
  .bolt-float{display:none}
}

/* ============================================================
   DETAIL PASS: warmth, trust, conversion
   ============================================================ */

/* Lora italic accents: the "homey" layer */
.script-line{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(16px,2vw,20px);
  color:var(--gold-hi);margin:18px 0 0;opacity:0;transform:translateY(16px);transition:all 1s var(--ease-out) .4s}
.loaded .script-line{opacity:1;transform:none}
.sf-item figcaption{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:.02em;font-size:13.5px}
.quote-card p{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:15.5px;line-height:1.7}
.foot-tagline{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;color:var(--gold);font-size:15px;margin:-6px 0 16px}
.sec-head p em,.prose em,.ps-txt em{font-family:'Lora',Georgia,serif;font-style:italic}

/* trusted-by strip */
.trusted{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px;padding:22px 0 26px;
  border-top:1px solid var(--line)}
.tr-lbl{font-family:'Lora',Georgia,serif;font-style:italic;font-size:14px;color:var(--silver-2)}
.tr-name{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:16.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}
.tr-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none;opacity:.8}
.trusted-lt{border-top:0;border-bottom:1px solid var(--line-lt);margin-bottom:40px;justify-content:flex-start;padding-top:0}
.trusted-lt .tr-name{color:var(--body-on-paper)}
.trusted-lt .tr-lbl{color:var(--muted-on-paper)}

/* phone strip */
.phone-strip{background:linear-gradient(100deg,var(--gold-deep),var(--gold) 45%,var(--gold-hi));position:relative;overflow:hidden}
.phone-strip::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 26px,rgba(10,11,13,.05) 26px 52px)}
.ps-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 26px;padding-top:22px;padding-bottom:22px;position:relative;z-index:2}
.ps-txt{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(17px,2.2vw,22px);letter-spacing:.02em;text-transform:uppercase;color:#241804}
.ps-txt em{text-transform:none;letter-spacing:0;font-weight:600;font-size:.92em}
.ps-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.ps-num{display:inline-flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:22px;
  color:#170f02;letter-spacing:.03em;white-space:nowrap}
.ps-num svg{width:20px;height:20px}
.ps-num:hover{color:#000}

/* blog card image */
.post-card .pc-img{display:block;height:170px;overflow:hidden;border-bottom:3px solid var(--gold)}
.post-card .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post-card:hover .pc-img img{transform:scale(1.06)}

/* about timeline */
.timeline{position:relative;margin:30px 0 34px;display:grid;gap:26px}
.timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--gold),var(--line-lt))}
.tl-item{display:grid;grid-template-columns:auto 1fr;gap:20px;position:relative}
.tl-node{width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--gold-deep);margin-top:5px;
  box-shadow:0 0 0 4px rgba(216,165,49,.15);flex:none}
.tl-year{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:600;color:var(--gold-text);font-size:15px}
.tl-item h3{font-size:19px;text-transform:uppercase;margin:4px 0 6px;color:var(--ink-on-paper)}
.tl-item p{font-size:14.5px;color:var(--body-on-paper);max-width:60ch}

/* mobile action bar (replaces FAB) */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:96;display:none;grid-template-columns:1.45fr 1fr;
  border-top:2px solid var(--gold);background:rgba(10,11,13,.97);backdrop-filter:blur(10px);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}
.mobile-bar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border-radius:3px;white-space:nowrap;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:360px){.mobile-bar a{font-size:13.5px;letter-spacing:.03em}.mobile-bar .mb-call svg{width:15px;height:15px}}
.mb-call{border:1px solid var(--steel-500);color:var(--silver-hi)}
.mb-call svg{width:16px;height:16px;color:var(--gold)}
.mb-quote{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-deep));color:#170f02;
  box-shadow:0 6px 20px -6px rgba(216,165,49,.55)}
@media(max-width:960px){
  .mobile-bar{display:grid}
  /* must clear the fixed bar (~70px + safe area) or it covers the footer */
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  footer{padding-bottom:24px}
}

/* type retune for Barlow Condensed (narrower than Oswald) */
h1.hero-h{letter-spacing:0}
.phero h1{letter-spacing:.005em}
.nav-links>li>a{font-size:13.5px;letter-spacing:.08em}
.btn{font-size:14.5px;letter-spacing:.1em}
.eyebrow{letter-spacing:.3em;font-size:12.5px}
.prose{font-size:17px}
.tcard p,.dcard p{font-size:14.5px}

/* ============================================================
   LAYOUT RESTRUCTURE + QUIETER + HARDEN (critique pass)
   ============================================================ */

/* buttons that lead with an icon (Call ...) */
.btn svg{width:17px;height:17px;flex:none}
.hero-service{margin-top:20px;font-size:14.5px;color:var(--silver-2)}
.hero-service a{color:var(--gold-hi);font-weight:600;white-space:nowrap}
.hero-service a:hover{text-decoration:underline;text-underline-offset:3px}

/* gold marker replacing numeric idx on feature lists (not sequences) */
.fitem .fmark{width:22px;height:22px;flex:none;margin-top:3px;position:relative}
.fitem .fmark::before{content:"";position:absolute;inset:4px;background:var(--gold-deep);transform:rotate(45deg);border-radius:1px}
.sec-dark .fitem .fmark::before,.sec-dark-2 .fitem .fmark::before{background:var(--gold)}

/* ---- compactors: finder + wet/dry branch + type list ---- */
.branch-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:18px;align-items:stretch;margin-top:34px}
.branch-lead{align-self:center;font-family:'Lora',Georgia,serif;font-style:italic;font-size:16px;color:var(--muted-on-paper);max-width:9ch;line-height:1.3}
.branch{display:flex;flex-direction:column;gap:5px;padding:22px 24px;background:var(--card);border:1px solid var(--line-lt);border-radius:5px;
  position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;box-shadow:0 14px 34px -28px rgba(0,0,0,.4)}
.branch::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold),var(--gold-deep));transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.branch:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 24px 44px -28px rgba(0,0,0,.5)}
.branch:hover::after{transform:scaleY(1)}
.branch-tag{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.branch b{font-family:'Barlow Condensed',sans-serif;font-size:26px;text-transform:uppercase;color:var(--ink-on-paper);line-height:1}
.branch-sub{font-size:14px;color:var(--body-on-paper);flex:1}
.branch-go{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);display:inline-flex;align-items:center;gap:7px;margin-top:4px}
.branch:hover .branch-go{gap:11px}
.type-list{margin-top:26px;font-size:15px;color:var(--body-on-paper);line-height:2}
.type-list .tl-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12.5px;color:var(--muted-on-paper);margin-right:6px}
.type-list a{color:var(--ink-on-paper);font-weight:600;border-bottom:1px solid var(--line-lt);transition:color .2s,border-color .2s}
.type-list a:hover{color:var(--gold-text);border-color:var(--gold-text)}
.type-list i{color:var(--gold);margin:0 10px;font-style:normal}
@media(max-width:780px){
  .branch-row{grid-template-columns:1fr}
  .branch-lead{max-width:none}
}

/* ---- balers: featured + list (asymmetric) ---- */
.feature-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,3.5vw,44px);align-items:start}
.feature-main{display:block;position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--line-lt);background:var(--card);
  box-shadow:0 20px 46px -30px rgba(0,0,0,.5);transition:transform .35s var(--ease),box-shadow .35s}
.feature-main .ph-frame{border:0;border-radius:0;clip-path:none;aspect-ratio:16/10}
.feature-main .ph-frame .ph-hz,.feature-main .ph-frame .ph-corner{display:none}
.feature-main:hover{transform:translateY(-5px);box-shadow:0 34px 60px -30px rgba(0,0,0,.6)}
.fm-body{display:block;padding:26px 28px 30px}
.fm-tag{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.fm-body b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:30px;text-transform:uppercase;color:var(--ink-on-paper);margin:6px 0 10px;line-height:1}
.fm-sub{display:block;font-size:15px;color:var(--body-on-paper);max-width:46ch}
.fm-body .go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);transition:gap .3s}
.feature-main:hover .fm-body .go{gap:12px}
.feature-list{display:flex;flex-direction:column;gap:2px}
.feature-list li{list-style:none}
.feature-list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 14px;padding:16px 4px 16px 2px;border-bottom:1px solid var(--line-lt);transition:padding .25s,border-color .25s}
.feature-list a b{font-family:'Barlow Condensed',sans-serif;font-size:18px;text-transform:uppercase;color:var(--ink-on-paper);letter-spacing:.01em}
.feature-list a span{grid-column:1;font-size:13.5px;color:var(--muted-on-paper)}
.feature-list a svg{grid-row:1/3;grid-column:2;width:16px;height:16px;color:var(--gold-text);transition:transform .25s}
.feature-list a:hover{padding-left:10px;border-color:var(--gold)}
.feature-list a:hover svg{transform:translateX(4px)}
@media(max-width:820px){.feature-split{grid-template-columns:1fr}}

/* ---- services: flagships + checklist ---- */
.svc-flagships{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-flag{display:flex;flex-direction:column;gap:8px;padding:26px 26px 24px;border:1px solid var(--line);border-radius:5px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));position:relative;overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s,background .35s}
.svc-flag:hover{transform:translateY(-4px);border-color:var(--gold);background:linear-gradient(180deg,rgba(216,165,49,.06),rgba(255,255,255,0))}
.svc-flag-ic{width:44px;height:44px;border:1px solid var(--gold);border-radius:3px;display:grid;place-items:center;color:var(--gold);margin-bottom:6px}
.svc-flag-ic svg{width:21px;height:21px}
.svc-flag b{font-family:'Barlow Condensed',sans-serif;font-size:21px;text-transform:uppercase;color:var(--silver-hi)}
.svc-flag>span:not(.svc-flag-ic):not(.go){font-size:14px;color:var(--silver-2);flex:1}
.svc-flag .go{margin-top:6px;display:inline-flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);transition:gap .3s}
.svc-flag:hover .go{gap:12px;color:var(--gold-hi)}
.svc-more{margin-top:34px;border-top:1px solid var(--line);padding-top:26px}
.svc-more-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:16px}
.link-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px}
.link-cols li{list-style:none}
.link-cols a{display:flex;align-items:center;gap:11px;font-size:15px;color:var(--silver);padding:6px 0;transition:color .2s,gap .2s}
.link-cols a svg{width:16px;height:16px;color:var(--gold);flex:none}
.link-cols a:hover{color:var(--silver-hi);gap:14px}
@media(max-width:820px){.svc-flagships{grid-template-columns:1fr}.link-cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.link-cols{grid-template-columns:1fr}}

/* ---- brands: definition list ---- */
.brand-lines{display:flex;flex-direction:column}
.brand-line{display:grid;grid-template-columns:minmax(150px,220px) 1fr auto;gap:10px 26px;align-items:baseline;
  padding:20px 4px;border-top:1px solid var(--line-lt)}
.brand-line:last-child{border-bottom:1px solid var(--line-lt)}
.brand-line dt{font-family:'Barlow Condensed',sans-serif;font-size:24px;text-transform:uppercase;line-height:1}
.brand-line dt a{color:var(--ink-on-paper);transition:color .2s}
.brand-line dt a:hover{color:var(--gold-text)}
.brand-line dd{font-size:14.5px;color:var(--body-on-paper);margin:0}
.brand-line .bl-go{align-self:center;color:var(--gold-text);display:grid;place-items:center;transition:transform .25s}
.brand-line .bl-go svg{width:18px;height:18px}
.brand-line:hover .bl-go{transform:translateX(4px)}
@media(max-width:680px){
  .brand-line{grid-template-columns:1fr auto;gap:4px 16px}
  .brand-line dd{grid-column:1/-1}
}

/* ---- featured testimonial ---- */
.quote-feature{margin:0 0 22px;background:var(--card);border:1px solid var(--line-lt);border-radius:6px;
  padding:clamp(28px,4vw,52px);box-shadow:0 24px 54px -34px rgba(0,0,0,.4);position:relative;overflow:hidden}
.quote-feature::before{content:"“";position:absolute;top:-30px;left:24px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:220px;color:var(--gold);opacity:.12;line-height:1}
.quote-feature blockquote{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(19px,2.4vw,26px);
  line-height:1.5;color:var(--ink-on-paper);max-width:60ch;position:relative}
.quote-feature figcaption{margin-top:22px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.quote-feature figcaption b{font-family:'Barlow Condensed',sans-serif;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-on-paper)}
.quote-feature figcaption span{font-family:'Lora',Georgia,serif;font-style:italic;color:var(--gold-text);font-size:15px}
.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote-row .quote-card{margin:0}
.quote-card blockquote{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:15px;line-height:1.65;color:var(--body-on-paper)}
.quote-card figcaption{display:flex;flex-direction:column;gap:1px}
@media(max-width:720px){.quote-row{grid-template-columns:1fr}}

/* ---- multi-paragraph + list testimonials ---- */
.quote-card .q-body{flex:1;display:flex;flex-direction:column;gap:12px}
.quote-card .q-body p{flex:none;font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:15px;line-height:1.7;color:var(--body-on-paper)}
.q-list{list-style:none;display:grid;gap:8px;margin:2px 0}
.q-list li{position:relative;padding-left:22px;font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:15px;color:var(--body-on-paper);line-height:1.6}
.q-list li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.quote-card.wide{grid-column:1/-1}
.quote-card.wide .q-body{gap:15px}
.quote-card.wide .q-body p{font-size:16px}
@media(min-width:721px){.quote-card.wide .q-list{grid-template-columns:1fr 1fr;column-gap:28px}}

/* ---- form status states (harden) ---- */
.form-status{margin-top:14px;padding:14px 16px;border-radius:4px;font-size:14.5px;line-height:1.5}
.form-status.is-ok{background:rgba(58,140,74,.1);border:1px solid rgba(58,140,74,.4);color:#245c30}
.form-status.is-err{background:rgba(178,52,44,.09);border:1px solid rgba(178,52,44,.4);color:#8a241c}
.form-status.is-pending{background:var(--gold-soft);border:1px solid var(--gold);color:#6a4e0c}
.form-status a{font-weight:700;text-decoration:underline;text-underline-offset:2px;color:inherit}
.field input:invalid:not(:placeholder-shown),.field select:invalid:not([data-pristine]){}
.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#b2342c;box-shadow:0 0 0 3px rgba(178,52,44,.14)}
.form-note .fn-call{color:var(--gold-text);font-weight:700}

/* reduce bolt presence (quieter) */
.bolt-float{opacity:.4}

/* home: follow-along band */
.social-band{background:var(--steel-950)}
.sb-in{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,64px);align-items:center}
.sb-copy h2{margin:8px 0 14px}
.sb-copy p{color:var(--txt-dim);max-width:56ch}
.sb-links{display:grid;gap:12px}
.sb-link{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:5px;
  background:rgba(255,255,255,.02);color:var(--txt);font-weight:700;letter-spacing:.02em;
  transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}
.sb-link svg{width:20px;height:20px;color:var(--gold);flex:none}
.sb-link span:first-of-type{flex:1}
.sb-link .arw{color:var(--gold);transition:transform .25s var(--ease)}
.sb-link:hover{border-color:var(--gold-deep);background:rgba(216,165,49,.07);transform:translateY(-2px)}
.sb-link:hover .arw{transform:translateX(4px)}
@media(max-width:860px){
  .sb-in{grid-template-columns:1fr;gap:24px}
  .sb-links{grid-template-columns:1fr 1fr;gap:10px}
}
/* On a phone the full-width cards read as oversized empty bars, so these
   become compact pills sized to their label and sitting side by side. */
@media(max-width:640px){
  .sb-links{display:flex;flex-wrap:wrap;gap:10px}
  .sb-link{padding:11px 15px;font-size:14px;gap:9px}
  .sb-link svg{width:17px;height:17px}
  .sb-link span:first-of-type{flex:0 0 auto}
  .sb-link .arw{display:none}
}

/* --- mobile touch & legibility --------------------------------------
   Phone audit at 320px and 390px: the brand link was a 24px tap target,
   the header call button 36px, and top-bar text 11.5px. Bumped to the
   44px touch minimum and a legible size without changing the desktop
   layout. */
@media(max-width:960px){
  .topbar{font-size:12.5px}
  .brand{min-height:44px}
  .nav-call{min-width:44px;min-height:44px;justify-content:center}
  .bl-go{min-height:34px;align-items:center}
  /* dropdown entries inside the open drawer are primary nav on a phone */
  .dd a{padding:12px 20px;min-height:44px;display:flex;align-items:center;font-size:14px}
  .brand-line dt a{display:inline-flex;align-items:center;min-height:40px}
  .link-cols a{display:flex;align-items:center;min-height:44px}
  /* tap-to-call is a primary conversion on a phone: give it the full target */
  .ps-num{min-height:44px}
  .crumbs a{display:inline-flex;align-items:center;min-height:32px}
  /* header kicker: readable rather than hairline */
  .brand .txt span{font-size:10px}
}

/* Narrow phones (<=420px, i.e. iPhone SE at 320 and most Android at 360):
   the brand block is wide enough to push the menu button past the right
   edge, which left those devices with no reachable navigation. Trim the
   brand so the logo, call button, and menu all fit the row. */
@media(max-width:420px){
  .nav-in{padding-left:14px;padding-right:14px}
  .brand{gap:9px;min-width:0}
  .brand img,.brand svg{width:38px}
  .brand .txt{min-width:0}
  .brand .txt b{font-size:11.5px;letter-spacing:.05em}
  .brand .txt span{display:none}
  .nav-actions{gap:8px}
}
