:root{
  --graphite:#15191d;
  --graphite-2:#1b2025;
  --steel:#232b32;
  --line:#39434c;
  --line-soft:#2c343b;
  --zinc:#9aa7b2;
  --zinc-bright:#c4cfd8;
  --haze:#eaeef1;
  --haze-2:#dfe5ea;
  --paper:#ffffff;
  --ink:#12161a;
  --ink-soft:#4a555f;
  --gold:#e3a522;
  --gold-deep:#b67d12;
  --gold-soft:#f4d99a;
  --irid:linear-gradient(104deg,#edc25a 0%,#cdd9e0 28%,#8fa9c6 50%,#d9b6da 72%,#edc25a 100%);
  --shadow:0 1px 2px rgba(10,14,18,.06),0 12px 30px rgba(10,14,18,.10);
  --maxw:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"IBM Plex Sans",system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Archivo",system-ui,sans-serif;line-height:1.02;margin:0;letter-spacing:-.02em}
p{margin:0 0 1em}
a{color:inherit}
img{max-width:100%;display:block}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:96px 0}
.eyebrow{
  font-family:"IBM Plex Mono",monospace;
  font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);margin:0 0 18px;font-weight:500;
}
.dark .eyebrow{color:var(--gold)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:"Archivo",sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.01em;text-decoration:none;cursor:pointer;border:0;
  padding:15px 26px;border-radius:2px;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;
}
.btn-gold{background:var(--gold);color:#1a1205;box-shadow:0 6px 18px rgba(227,165,34,.32)}
.btn-gold:hover{background:#f0b431;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--zinc-bright);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:#fff}
.btn-dark{background:var(--graphite);color:#fff}
.btn-dark:hover{background:#000;transform:translateY(-2px)}

/* Header */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(21,25,29,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.bar{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-badge{height:44px;width:auto;flex:none;display:block}
.brand .lockup{display:flex;flex-direction:column;justify-content:center}
.brand .mark{
  font-family:"Archivo",sans-serif;font-weight:900;font-size:22px;letter-spacing:.04em;
  text-transform:uppercase;color:#fff;
}
.brand .mark b{
  background:var(--irid);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand small{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;color:var(--zinc);text-transform:uppercase}
nav.main{display:flex;align-items:center;gap:30px}
nav.main a{color:var(--zinc-bright);text-decoration:none;font-size:14.5px;font-weight:500;transition:color .15s}
nav.main a:hover{color:var(--gold)}
.header-cta{display:flex;align-items:center;gap:14px}
.phone-top{color:#fff;text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:500;white-space:nowrap}
.phone-top:hover{color:var(--gold)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:2px;color:#fff;padding:8px 11px;cursor:pointer}
nav.mobile{display:none}

/* Hero */
.hero{
  background:
    radial-gradient(1200px 520px at 78% -10%,rgba(227,165,34,.10),transparent 60%),
    linear-gradient(180deg,#181d22 0%,var(--graphite) 60%,#12161a 100%);
  color:#fff;padding:104px 0 0;position:relative;overflow:hidden;
}
.hero .sheen{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:linear-gradient(115deg,transparent 40%,rgba(196,207,216,.06) 50%,transparent 60%);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative}
.h1{font-size:clamp(40px,6vw,76px);font-weight:900;text-transform:uppercase;color:#fff}
.h1 .irid{background:var(--irid);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{color:var(--zinc-bright);font-size:19px;max-width:34ch;margin:22px 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-panel{
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
  background:linear-gradient(160deg,#20262c,#161a1f);box-shadow:var(--shadow);
}
.hero-panel .swatch{height:148px;background:var(--irid);position:relative}
.hero-panel .swatch:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18))}
.hero-panel .card-body{padding:20px 22px}
.hero-panel .card-body .lbl{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.hero-panel .card-body .ttl{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;color:#fff;margin:6px 0 4px}
.hero-panel .card-body p{color:var(--zinc);font-size:14.5px;margin:0}
.hero-logo-panel{text-align:center;padding:8px 0}
.hero-logo-panel img{width:100%;max-width:340px;height:auto;margin:0 auto;display:block}
.hero-logo-panel .cap{display:block;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--zinc)}

/* Spec strip */
.spec-strip{
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  margin-top:64px;background:rgba(0,0,0,.18);
}
.spec-strip .wrap{display:flex;flex-wrap:wrap;gap:8px 36px;padding-top:18px;padding-bottom:18px}
.spec-strip span{
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.12em;
  color:var(--zinc-bright);text-transform:uppercase;display:flex;align-items:center;gap:10px;
}
.spec-strip span:before{content:"";width:6px;height:6px;background:var(--gold);border-radius:1px;flex:none}

/* Stats */
.stats{background:var(--paper)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--haze-2);border-radius:4px;overflow:hidden}
.stat{padding:34px 28px;border-right:1px solid var(--haze-2)}
.stat:last-child{border-right:0}
.stat .num{font-family:"Archivo",sans-serif;font-weight:800;font-size:40px;letter-spacing:-.02em;color:var(--ink)}
.stat .num em{font-style:normal;color:var(--gold-deep)}
.stat .cap{color:var(--ink-soft);font-size:14.5px;margin-top:4px}

/* Section heads */
.sec-head{max-width:62ch;margin-bottom:48px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px);font-weight:800;text-transform:uppercase}
.sec-head p{color:var(--ink-soft);font-size:18px;margin-top:16px}
.dark .sec-head h2{color:#fff}
.dark .sec-head p{color:var(--zinc-bright)}

/* Services two-up */
.svc{background:var(--haze)}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.svc-card{background:var(--paper);border:1px solid var(--haze-2);border-radius:4px;padding:38px 34px;box-shadow:var(--shadow)}
.svc-card h3{font-size:24px;font-weight:700;text-transform:uppercase;margin-bottom:8px}
.svc-card .tag{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase;display:block;margin-bottom:16px}
.svc-card p{color:var(--ink-soft);font-size:15.5px}
.svc-card ul{margin:14px 0 0;padding:0;list-style:none}
.svc-card li{padding:8px 0 8px 26px;position:relative;font-size:15px;border-top:1px solid var(--haze)}
.svc-card li:before{content:"";position:absolute;left:0;top:16px;width:11px;height:2px;background:var(--gold)}

/* Finishes */
.fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fin{border:1px solid var(--haze-2);border-radius:4px;overflow:hidden;background:var(--paper)}
.fin .swatch{height:96px}
.fin .body{padding:16px 16px 20px}
.fin .body h3{font-size:15.5px;font-weight:700;line-height:1.2}
.fin .body p{font-size:13px;color:var(--ink-soft);margin:7px 0 0;line-height:1.5}
.sw-tyellow{background:var(--irid)}
.sw-tclear{background:linear-gradient(150deg,#dfe9f2,#aebfcf 60%,#cdd9e2)}
.sw-tblack{background:linear-gradient(150deg,#3a4047,#1a1e22 70%,#2b3036)}
.sw-hyellow{background:linear-gradient(150deg,#f1cf6e,#caa53a 60%,#e0bd55)}
.sw-spec{background:linear-gradient(150deg,#3a444e,#1b2127 70%,#2a323a)}

/* Specs / compliance band */
.compliance{background:var(--graphite);color:#fff}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.spec-sheet{border:1px solid var(--line);border-radius:4px;background:linear-gradient(160deg,#1d2329,#15191d);overflow:hidden}
.spec-sheet .sh-top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.2)}
.spec-sheet .sh-top .t{font-family:"Archivo",sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:14px}
.spec-sheet .sh-top .n{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--gold)}
.spec-row{display:flex;justify-content:space-between;gap:18px;padding:15px 22px;border-bottom:1px solid var(--line-soft);font-family:"IBM Plex Mono",monospace;font-size:13px}
.spec-row:last-child{border-bottom:0}
.spec-row .k{color:var(--zinc)}
.spec-row .v{color:#fff;text-align:right}
.comp-copy h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:18px}
.comp-copy p{color:var(--zinc-bright);font-size:16.5px}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.badge{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--zinc-bright);border:1px solid var(--line);border-radius:2px;padding:9px 13px}
.badge.todo{border-style:dashed;color:var(--gold)}
.comp-copy .more{margin-top:20px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;color:var(--zinc)}
.comp-copy .more a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line-soft);padding-bottom:1px}
.comp-copy .more a:hover{border-color:var(--gold)}

/* Regional coverage + out-of-state offer */
.region{background:var(--graphite-2);color:#fff}
.region-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.region-copy h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:16px}
.region-copy p{color:var(--zinc-bright);font-size:16.5px}
.state-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.offer{border:1px solid var(--gold-deep);border-radius:4px;background:linear-gradient(160deg,#241f12,#181b1f 70%);padding:30px 30px;box-shadow:0 12px 34px rgba(0,0,0,.28)}
.offer .lbl{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.offer h3{font-size:23px;font-weight:800;text-transform:uppercase;color:#fff;margin:8px 0 10px;line-height:1.05}
.offer p{color:var(--zinc-bright);font-size:15.5px;margin:0 0 18px}
.offer .btn{width:100%;justify-content:center}
.offer .fine{font-size:12.5px;color:var(--zinc);margin:14px 0 0}

/* Process */
.proc{background:var(--haze)}
.proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:step}
.step{padding:0 22px;border-left:1px solid var(--haze-2);position:relative}
.step:first-child{border-left:0;padding-left:0}
.step .no{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--gold-deep);letter-spacing:.1em}
.step h3{font-size:18px;font-weight:700;margin:12px 0 8px;text-transform:uppercase}
.step p{font-size:14px;color:var(--ink-soft);margin:0}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{border:1px solid var(--haze-2);border-radius:4px;padding:24px 22px;background:var(--paper);transition:border-color .2s,transform .2s}
.ind:hover{border-color:var(--gold);transform:translateY(-3px)}
.ind .mono{font-size:11px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.ind h3{font-size:17px;font-weight:700;margin:10px 0 0;text-transform:uppercase}

/* Testimonials */
.testi{background:var(--graphite-2);color:#fff}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{border:1px solid var(--line);border-radius:4px;padding:30px 28px;background:linear-gradient(160deg,#20262c,#171b20)}
.quote .qm{font-family:"Archivo",sans-serif;font-weight:900;font-size:46px;line-height:.4;color:var(--gold);height:24px}
.quote p{color:var(--zinc-bright);font-size:15.5px;font-style:italic}
.quote .who{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.05em;color:#fff;text-transform:uppercase;margin-top:14px}
.quote .yrs{color:var(--gold);font-size:11px;letter-spacing:.1em}

/* Quote form */
.rfq{background:var(--paper)}
.rfq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.rfq-left h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;text-transform:uppercase}
.rfq-left p{color:var(--ink-soft);font-size:17px;margin-top:16px}
.rfq-left .callbox{margin-top:26px;border:1px solid var(--haze-2);border-radius:4px;padding:22px 24px;background:var(--haze)}
.rfq-left .callbox .mono{font-size:11px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.rfq-left .callbox a{font-family:"Archivo",sans-serif;font-weight:800;font-size:26px;text-decoration:none;color:var(--ink);display:block;margin-top:4px}
.rfq-left .callbox a:hover{color:var(--gold-deep)}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field.full{grid-column:1/-1}
label{display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px}
input,select,textarea{
  width:100%;font-family:"IBM Plex Sans",sans-serif;font-size:15px;color:var(--ink);
  padding:13px 14px;border:1px solid var(--haze-2);border-radius:3px;background:var(--paper);transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,165,34,.18)}
textarea{resize:vertical;min-height:96px}
.form-note{font-size:12.5px;color:var(--ink-soft);margin-top:6px}

/* Contact */
.contact{background:var(--haze)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.contact-card{background:var(--paper);border:1px solid var(--haze-2);border-radius:4px;padding:34px 32px}
.contact-card .card-logo{height:84px;width:auto;margin:0 0 22px;display:block}
.contact-card h3{font-size:18px;font-weight:700;text-transform:uppercase;margin-bottom:16px}
.contact-card .hours-note{font-size:13px;color:var(--ink-soft);margin:12px 0 0;line-height:1.55}
.quote-box{margin:22px 0 4px;border:1px solid var(--gold-deep);border-radius:4px;background:linear-gradient(160deg,#fff,var(--haze));padding:16px 18px}
.quote-box .mono{display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:5px}
.quote-box a{font-family:"Archivo",sans-serif;font-weight:800;font-size:19px;color:var(--ink);text-decoration:none;word-break:break-all}
.quote-box a:hover{color:var(--gold-deep)}
.contact-line{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--haze);font-size:15px}
.contact-line:first-of-type{border-top:0}
.contact-line .mono{color:var(--gold-deep);font-size:11px;letter-spacing:.12em;text-transform:uppercase;min-width:84px;padding-top:3px}
.contact-line a{color:var(--ink);text-decoration:none}
.contact-line a:hover{color:var(--gold-deep)}
.map{border:1px solid var(--haze-2);border-radius:4px;overflow:hidden;min-height:340px}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.contact-media{display:flex;flex-direction:column;gap:18px}
.media-panel{margin:0;border:1px solid var(--haze-2);border-radius:4px;overflow:hidden;background:var(--paper)}
.media-panel iframe{width:100%;height:248px;border:0;display:block}
.media-panel img{width:100%;height:248px;object-fit:cover;display:block}
.media-panel figcaption{padding:10px 14px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--haze)}
.team{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.team .t{border-top:1px solid var(--haze);padding-top:12px}
.team .t .role{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.team .t .name{font-weight:600;font-size:15px}
.team .t a{font-size:13px;color:var(--gold-deep);text-decoration:none;word-break:break-all}

/* Footer */
footer.site{background:var(--graphite);color:var(--zinc);padding:60px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--line-soft)}
.foot-brand{display:flex;align-items:center;gap:13px}
.foot-badge{height:50px;width:auto;flex:none;display:block}
footer .mark{font-family:"Archivo",sans-serif;font-weight:900;font-size:22px;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1.05}
footer .mark b{background:var(--irid);-webkit-background-clip:text;background-clip:text;color:transparent}
footer p{font-size:14px;max-width:40ch;margin-top:14px}
footer h4{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:10px}
footer a{color:var(--zinc-bright);text-decoration:none;font-size:14px}
footer a:hover{color:var(--gold)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:12.5px}
.foot-bottom .mono{font-family:"IBM Plex Mono",monospace;letter-spacing:.06em}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media(max-width:1000px){
  .hero-grid,.comp-grid,.rfq-grid,.contact-grid,.region-grid{grid-template-columns:1fr;gap:36px}
  .fin-grid{grid-template-columns:repeat(2,1fr)}
  .proc-grid{grid-template-columns:1fr 1fr;gap:28px 0}
  .step{padding:0 18px}.step:nth-child(odd){border-left:0;padding-left:0}
  .ind-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:680px){
  section{padding:64px 0}
  nav.main{display:none}
  .phone-top{display:none}
  .brand small{display:none}
  .header-cta .btn-gold{display:none}
  .menu-toggle{display:inline-block}
  nav.mobile{display:none;flex-direction:column;gap:0;padding:8px 0 14px}
  nav.mobile.open{display:flex}
  nav.mobile a{padding:13px 4px;border-top:1px solid var(--line-soft);color:var(--zinc-bright);text-decoration:none;font-size:16px}
  nav.mobile a.btn{border-top:0;justify-content:center;margin:14px 0 2px;padding:15px 26px;color:#1a1205;font-size:15px}
  .svc-grid,.fin-grid,.proc-grid,.ind-grid,.testi-grid,.team{grid-template-columns:1fr}
  form .row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .h1{font-size:clamp(34px,11vw,52px)}
  .foot-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
  .reveal{transition:none;opacity:1;transform:none}
  .btn{transition:none}
}

/* Run by hand */
.craft{position:relative;background:#10141a;color:#fff;overflow:hidden}
.craft .craft-bg{position:absolute;inset:0;background-size:cover;background-position:center right}
.craft .craft-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,26,.97) 0%,rgba(16,20,26,.88) 38%,rgba(16,20,26,.55) 72%,rgba(16,20,26,.32) 100%)}
.craft .wrap{position:relative}
.craft-copy{max-width:56ch}
.craft-copy h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:18px}
.craft-copy p{color:var(--zinc-bright);font-size:16.5px}
.craft-cap{margin-top:26px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
/* Recent work */
.work{background:var(--haze)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.work-card{border:1px solid var(--haze-2);border-radius:4px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.work-card img{width:100%;height:200px;object-fit:cover;display:block}
.work-card .cap{padding:13px 16px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
@media(max-width:1000px){.craft .craft-ov{background:linear-gradient(90deg,rgba(16,20,26,.96),rgba(16,20,26,.72))}}
@media(max-width:680px){.work-grid{grid-template-columns:1fr}.craft .craft-ov{background:rgba(16,20,26,.9)}}

/* ============================================================
   LANDING PAGES (per-finish and per-spec)
   ============================================================ */

/* Breadcrumb */
.crumbs{background:var(--graphite-2);border-bottom:1px solid var(--line-soft)}
.crumbs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding-top:13px;padding-bottom:13px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.crumbs a{color:var(--zinc-bright);text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.crumbs .sep{color:var(--line)}
.crumbs .here{color:var(--gold)}

/* Subpage hero */
.lp-hero{
  background:
    radial-gradient(1100px 480px at 82% -20%,rgba(227,165,34,.10),transparent 60%),
    linear-gradient(180deg,#181d22,var(--graphite) 70%,#12161a);
  color:#fff;padding:74px 0;position:relative;overflow:hidden;
}
.lp-hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;position:relative}
.lp-hero h1{font-size:clamp(31px,4.4vw,54px);font-weight:900;text-transform:uppercase;color:#fff}
.lp-hero h1 .irid{background:var(--irid);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-hero .lede{color:var(--zinc-bright);font-size:18px;max-width:48ch;margin:18px 0 26px}
.lp-chip{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:linear-gradient(160deg,#20262c,#161a1f);box-shadow:var(--shadow)}
.lp-chip .swatch{height:122px;position:relative}
.lp-chip .swatch:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18))}
.lp-chip .card-body{padding:18px 20px}
.lp-chip .card-body .lbl{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.lp-chip .card-body .ttl{font-family:"Archivo",sans-serif;font-weight:700;font-size:18px;color:#fff;margin:6px 0 0}

/* Article + sticky aside */
.lp{background:var(--paper)}
.lp-grid{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.prose{max-width:70ch}
.prose h2{font-size:clamp(23px,2.5vw,31px);font-weight:800;text-transform:uppercase;margin:42px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;font-weight:700;margin:26px 0 8px}
.prose p{color:var(--ink-soft);font-size:16.5px}
.prose ul{margin:0 0 1.1em;padding:0;list-style:none}
.prose li{padding:7px 0 7px 26px;position:relative;color:var(--ink-soft);font-size:16px}
.prose li:before{content:"";position:absolute;left:0;top:15px;width:11px;height:2px;background:var(--gold)}
.prose strong{color:var(--ink)}
.prose .lead{font-size:18.5px;color:var(--ink)}

/* Sticky aside card */
.lp-aside{position:sticky;top:90px}
.aside-card{border:1px solid var(--haze-2);border-radius:4px;background:var(--haze);padding:26px 24px}
.aside-card .lbl{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.aside-card h3{font-size:21px;font-weight:700;text-transform:uppercase;margin:8px 0 6px}
.aside-card p{font-size:14.5px;color:var(--ink-soft);margin:0 0 16px}
.aside-card .btn{width:100%;justify-content:center}
.aside-card .callnum{display:block;text-align:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:22px;color:var(--ink);text-decoration:none;margin-top:12px}
.aside-card .callnum:hover{color:var(--gold-deep)}
.datasheet{margin-top:18px;border-top:1px solid var(--haze-2);padding-top:14px}
.datasheet .drow{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-family:"IBM Plex Mono",monospace;font-size:12.5px}
.datasheet .drow .k{color:var(--ink-soft)}
.datasheet .drow .v{color:var(--ink);text-align:right;font-weight:500}

/* Related grid (reuses .fin look as links) */
.rel{background:var(--haze)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.fin.link{text-decoration:none;color:inherit;display:block;transition:border-color .2s,transform .2s}
.fin.link:hover{border-color:var(--gold);transform:translateY(-3px)}
.fin.link .go{margin-top:11px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}

/* CTA band */
.cta-band{background:var(--graphite);color:#fff;text-align:center}
.cta-band h2{font-size:clamp(26px,3.2vw,40px);font-weight:800;text-transform:uppercase;color:#fff}
.cta-band p{color:var(--zinc-bright);font-size:17px;max-width:54ch;margin:14px auto 26px}
.cta-band .hero-actions{justify-content:center}

@media(max-width:1000px){
  .lp-hero .wrap{grid-template-columns:1fr;gap:34px}
  .lp-grid{grid-template-columns:1fr;gap:40px}
  .lp-aside{position:static}
}
