/* Brand site — production design system.
   Foundation: Jeremy Mills' SealAnvil homepage (2026-10-19) — aggressive
   industrial/premium: black-charcoal field, molten orange-red, huge Barlow
   Condensed type, stark technical grids, hard offset shadows.
   NORMALIZED TOKENS: the prototype stacked three variable layers
   (--red #ff3c2f -> #ff3326 -> #ff491f). This sheet carries ONE token set —
   the prototype's final cascade values — per the implementation handoff.
   No brand name/domain lives in this file (see build/brand.py). */
:root{
  --bg:#0a0b0d; --panel:#101114; --line:#35363a; --ink:#f7f5f0; --muted:#a6a8ae;
  --red:#ff491f; --red2:#ff6c25; --red-dark:#b9100c; --shadow-red:#4b1c0f;
  --hero-img:url('/assets/hero-construction.webp');
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#08090a;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background-image:radial-gradient(circle at 90% 20%,rgba(255,73,31,.06),transparent 30%)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--red);color:white}
.shell{width:min(1220px,calc(100% - 44px));margin:auto}
.topline{height:7px;background:repeating-linear-gradient(110deg,var(--red) 0 26px,#111 26px 31px)}
.alertbar{min-height:34px;background:#e82a1e;color:#101010;display:flex;align-items:center;justify-content:center;gap:15px;padding:6px 22px;font:900 11px 'DM Sans';letter-spacing:1.5px}
.alertbar .pulse{height:8px;width:8px;border-radius:50%;background:#111;box-shadow:0 0 0 4px #1112;animation:beat 1.1s infinite;flex:none}
.alert-right{margin-left:auto;font-size:10px}
header{position:sticky;top:0;z-index:20;background:rgba(7,8,10,.96);backdrop-filter:blur(16px);border-bottom:1px solid #555}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px}
.brandmark{width:51px;height:48px;background:var(--red);color:#090909;border:0;transform:skew(-11deg);display:grid;place-items:center;font:900 38px 'Barlow Condensed';box-shadow:5px 5px 0 var(--shadow-red)}
.brandmark span{transform:none}
.brandword{font:900 33px/0.8 'Barlow Condensed';letter-spacing:1px}
.brandword small{display:block;font:700 9px/1.8 'DM Sans';letter-spacing:2.5px;color:#c0c0c2;margin-top:8px}
.navlinks{display:flex;align-items:center;gap:29px}
.navlinks a:not(.btn){font-size:12px;letter-spacing:1.1px;font-weight:800;text-transform:uppercase}
.navlinks a:hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:59px;padding:0 25px;font:900 14px 'DM Sans';text-transform:uppercase;letter-spacing:1.1px;border:1px solid transparent;cursor:pointer;transition:.2s}
.btn.red{background:var(--red);color:#0b0b0b;box-shadow:6px 6px 0 #5b1512}
.btn.red:hover{background:#ff685e;box-shadow:9px 9px 0 #5b1512;transform:translate(-2px,-2px)}
.btn.outline{border-color:#aaa;background:#111b;color:#fff}
.btn.outline:hover{border-color:var(--red);color:var(--red)}
.navlinks .btn{clip-path:polygon(0 0,94% 0,100% 24%,100% 100%,0 100%)}
.hamb{display:none;background:none;border:1px solid #555;color:#fff;padding:9px 12px;font-size:21px}
.mobile{display:none}
/* Hero */
.hero{min-height:790px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;background:#151719;border-bottom:1px solid #5a1b18}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.96) 28%,rgba(5,6,7,.78) 55%,rgba(5,6,7,.28) 100%),linear-gradient(0deg,rgba(5,5,6,.85),transparent 50%),var(--hero-img) center/cover;filter:contrast(1.3) saturate(.72)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 48px,rgba(255,255,255,.032) 49px 50px),linear-gradient(110deg,transparent 62%,rgba(255,73,31,.22) 63%,transparent 64%)}
.hero-inner{padding:120px 0 105px;position:relative}
.hero-index{position:absolute;right:0;top:28px;color:#ddd;font:800 11px 'DM Sans';letter-spacing:2px}
.eyebrow{color:var(--red);font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase}
.eyebrow:before{content:"";display:inline-block;width:30px;height:2px;background:var(--red);vertical-align:middle;margin-right:13px}
.hero h1{font:900 clamp(82px,12vw,177px)/.77 'Barlow Condensed',Impact,sans-serif;letter-spacing:-3px;text-transform:uppercase;margin:29px 0 34px;max-width:1050px;text-shadow:5px 7px 0 #0006}
.hero h1 em{display:inline-block;color:var(--red);font-style:normal;transform:skew(-5deg);text-shadow:4px 4px 0 #42180d}
.hero p{font-size:18px;line-height:1.65;color:#d5d5d8;max-width:590px;border-left:4px solid var(--red);padding-left:19px;font-weight:500}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.hero-stamp{position:absolute;right:2%;top:100px;width:183px;height:183px;border:8px dashed var(--red);border-radius:50%;color:var(--red);background:rgba(5,6,7,.35);display:flex;align-items:center;justify-content:center;text-align:center;font:900 33px/.8 'Barlow Condensed';transform:rotate(13deg);box-shadow:0 0 40px rgba(255,73,31,.2)}
.hero-stamp small{font:800 11px 'DM Sans';letter-spacing:2px}
.hero-bottom{position:absolute;bottom:20px;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff50;padding-top:16px;gap:10px;font:800 11px 'DM Sans';letter-spacing:1.5px;color:#ddd}
.ticker{border-block:1px solid #3c3d40;background:#191b1e;overflow:hidden}
.ticker .shell{display:flex;justify-content:space-between;gap:20px;padding:19px 0}
.ticker span{font:800 12px 'DM Sans';letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap}
.ticker b{color:var(--red);margin-right:8px}
.velocity{background:var(--red);color:#0b0b0b;overflow:hidden;border-block:4px solid #080808;transform:skewY(-1deg);margin-top:-4px}
.velocity-track{white-space:nowrap;width:max-content;animation:marquee 24s linear infinite;padding:12px 0;font:900 29px 'Barlow Condensed';letter-spacing:3px}
.velocity-track b{padding:0 22px;color:#fff}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes beat{50%{opacity:.35;transform:scale(.75)}}
/* Sections */
.section{padding:100px 0}
.section.tight{padding:64px 0}
.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.sectionhead h2,.cta h2{font:900 clamp(55px,7vw,95px)/.84 'Barlow Condensed';text-transform:uppercase;margin:14px 0 0;letter-spacing:-.4px}
.sectionhead p{color:var(--muted);max-width:370px;line-height:1.65}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service{min-height:298px;background:linear-gradient(140deg,#1b1c1f,#0a0b0d);border:1px solid #444;padding:29px;position:relative;overflow:hidden;display:block;transition:transform .2s,border-color .2s}
.service:before{content:"";position:absolute;left:0;top:0;width:0;height:4px;background:var(--red);transition:.2s}
.service:hover{transform:translateY(-7px);border-color:var(--red);box-shadow:8px 8px 0 #4e1714;background:#1c1512}
.service:hover:before{width:100%}
.service .num{color:#777a80;font:700 13px 'DM Sans'}
.service .symbol{font:900 69px 'Barlow Condensed';color:var(--red);margin:12px 0}
.service h3{font:800 34px 'Barlow Condensed';text-transform:uppercase;margin:0 0 12px}
.service p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.process{background:#e9e8e1;color:#151515;background-image:repeating-linear-gradient(125deg,transparent 0 45px,#10101006 46px 47px)}
.process .eyebrow{color:#d52b22}
.process .sectionhead p{color:#555}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{border-top:5px solid #111;padding-top:21px}
.step strong{font:900 85px 'Barlow Condensed';color:var(--red)}
.step h3{font:900 27px 'Barlow Condensed';text-transform:uppercase;margin:6px 0 10px}
.step p{color:#505050;line-height:1.65;font-size:14px}
.darkpanel{background:linear-gradient(115deg,#1b1d20,#0c0d0f);border:1px solid #5b5b5b;padding:48px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;box-shadow:12px 12px 0 #271010}
.darkpanel h2{font:900 clamp(48px,6vw,80px)/.9 'Barlow Condensed';margin:14px 0 20px;text-transform:uppercase}
.darkpanel p{color:#bbb;line-height:1.7}
.check{list-style:none;padding:0;margin:0}
.check li{padding:16px 0;border-bottom:1px solid #36383c;font-weight:700}
.check li:before{content:'↗';color:var(--red);font-size:21px;margin-right:13px}
.disclaimer{color:#aaa;font-size:12px;line-height:1.7;margin-top:24px}
.cta{background:repeating-linear-gradient(135deg,var(--red) 0 110px,#ec3b17 110px 220px);color:#0c0d0f;padding:80px 0}
.cta .shell{display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta h2{max-width:820px;font-size:clamp(54px,7vw,98px)}
.cta .btn{background:#101113;color:white;white-space:nowrap;box-shadow:none}
.cta .btn:hover{background:#292929}
/* Footer */
footer{padding:45px 0 30px;border-top:1px solid #292b30}
.footergrid{display:flex;justify-content:space-between;align-items:start;gap:30px}
footer p{color:#989ba1;font-size:12px;line-height:1.7;max-width:620px}
footer .legal{color:#c9cacd;font-size:12.5px;max-width:700px}
footer .contactline{color:#e8e6e1;font-size:14px;font-weight:700;letter-spacing:.4px}
footer .contactline a:hover{color:var(--red)}
footer .footlinks{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#aaa}
footer .footlinks a:hover{color:var(--red)}
.footbar{border-top:1px solid #232529;margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footbar span{font-size:11px;color:#777a80;letter-spacing:1px;text-transform:uppercase}
/* Intake form */
#quote{scroll-margin-top:110px}
.quoteform{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.quoteform input,.quoteform select,.quoteform textarea{background:#0b0c0e;color:white;border:1px solid #51535a;padding:15px;width:100%;border-radius:0;min-width:0}
.quoteform input[type=file]{padding:12px 15px}
.quoteform textarea{grid-column:1/-1;min-height:105px;resize:vertical}
.quoteform button{grid-column:1/-1}
.quoteform input:focus,.quoteform textarea:focus,.quoteform select:focus{outline:2px solid var(--red)}
.formnote{font-size:12px;color:#aaa}
.quoteform .formnote{grid-column:1/-1}
.formstatus{grid-column:1/-1;font-size:13px;font-weight:700;color:#ffb3ae;display:none}
.captchaslot{grid-column:1/-1;border:1px dashed #51535a;padding:13px 15px;font-size:12px;color:#aaa}
/* Interior pages */
.crumbs{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#8b8e94;padding:26px 0 0}
.crumbs a:hover{color:var(--red)}
.crumbs b{color:var(--red);font-weight:800}
.pagehero{padding:44px 0 10px}
.pagehero h1{font:900 clamp(52px,7.5vw,96px)/.88 'Barlow Condensed';text-transform:uppercase;margin:20px 0 22px;letter-spacing:-.5px;max-width:1000px}
.pagehero h1 em{color:var(--red);font-style:normal}
.pagehero .lede{font-size:18px;line-height:1.65;color:#d5d5d8;max-width:760px}
.answerblock{background:var(--panel);border:1px solid #444;border-left:5px solid var(--red);padding:28px 30px;margin:34px 0;box-shadow:8px 8px 0 #1c0d09}
.answerblock .ab-label{font:800 11px 'DM Sans';letter-spacing:2.5px;color:var(--red);text-transform:uppercase;margin-bottom:10px}
.answerblock p{margin:0;font-size:16.5px;line-height:1.7;color:#eceae5}
.prose{max-width:860px}
.prose h2{font:900 clamp(34px,4.4vw,54px)/.95 'Barlow Condensed';text-transform:uppercase;margin:52px 0 16px;letter-spacing:-.3px}
.prose h2:first-child{margin-top:0}
.prose h3{font:800 24px 'Barlow Condensed';text-transform:uppercase;margin:34px 0 10px;letter-spacing:.3px}
.prose p{color:#cfcfd3;line-height:1.75;font-size:16px;margin:0 0 16px}
.prose p strong,.prose li strong{color:#f2f0eb}
.prose ul,.prose ol{color:#cfcfd3;line-height:1.75;font-size:16px;padding-left:20px;margin:0 0 16px}
.prose li{margin-bottom:7px}
.prose a{color:#ff7a52;text-decoration:underline;text-underline-offset:3px}
.twocol{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;align-items:start}
.sidebox{background:var(--panel);border:1px solid #444;padding:28px;position:sticky;top:110px;box-shadow:8px 8px 0 #1c0d09}
.sidebox h3{font:800 24px 'Barlow Condensed';text-transform:uppercase;margin:0 0 14px}
.sidebox p{color:var(--muted);font-size:14px;line-height:1.65}
.sidebox .btn{width:100%;margin-top:8px}
.sidebox ul{list-style:none;padding:0;margin:14px 0 0}
.sidebox li{padding:10px 0;border-bottom:1px solid #2c2e33;font-size:13.5px;font-weight:700}
.sidebox li a:hover{color:var(--red)}
.linkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.linkcard{background:var(--panel);border:1px solid #444;padding:22px;display:block}
.linkcard:hover{border-color:var(--red)}
.linkcard .lc-k{font:700 11px 'DM Sans';letter-spacing:2px;color:#777a80;text-transform:uppercase}
.linkcard h3{font:800 23px 'Barlow Condensed';text-transform:uppercase;margin:8px 0 6px}
.linkcard p{color:var(--muted);font-size:13.5px;line-height:1.6;margin:0}
.statelist{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.statelist a{background:#101114;border:1px solid #2c2e33;padding:14px 16px;font:700 14.5px 'DM Sans';display:flex;justify-content:space-between;align-items:center}
.statelist a:hover{border-color:var(--red);color:var(--red)}
.statelist a span{color:#5c5f65;font-size:11px;letter-spacing:1px}
.factrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.fact{background:#101114;border:1px solid #2c2e33;padding:22px}
.fact .f-k{font:800 11px 'DM Sans';letter-spacing:2px;color:var(--red);text-transform:uppercase}
.fact .f-v{font:700 17px 'DM Sans';margin-top:8px;line-height:1.45}
.fact p{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0 0}
.faqitem{border:1px solid #35373c;background:var(--panel);padding:24px 26px;margin-bottom:12px}
.faqitem h3{font:800 23px 'Barlow Condensed';text-transform:uppercase;margin:0 0 8px}
.faqitem p{color:#cfcfd3;line-height:1.7;margin:0}
@media(max-width:850px){.navlinks{display:none}.hamb{display:block}.mobile.open{display:flex;flex-direction:column;padding:20px;gap:18px;background:#111;border-top:1px solid #444}.alert-right{display:none}.hero{min-height:710px}.hero-stamp{opacity:.45}.hero-bottom{font-size:9px}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.darkpanel{grid-template-columns:1fr;box-shadow:none}.twocol{grid-template-columns:1fr}.sidebox{position:static}.linkgrid{grid-template-columns:repeat(2,1fr)}.statelist{grid-template-columns:repeat(2,1fr)}.factrow{grid-template-columns:1fr}.cta .shell{align-items:start;flex-direction:column}}
@media(max-width:570px){.shell{width:min(100% - 32px,1220px)}.nav{height:72px}.alertbar{font-size:9px;letter-spacing:.6px}.brandword{font-size:25px}.hero{min-height:670px}.hero-inner{padding:105px 0 115px}.hero h1{font-size:clamp(66px,16vw,99px);letter-spacing:-1px}.hero p{font-size:16px}.hero-bottom{grid-template-columns:repeat(2,1fr);font-size:9px}.velocity-track{font-size:22px}.ticker .shell{overflow:auto}.cards,.steps,.linkgrid,.statelist{grid-template-columns:1fr}.section{padding:70px 0}.sectionhead{display:block}.sectionhead h2{font-size:57px}.darkpanel{padding:26px}.quoteform{grid-template-columns:1fr}.quoteform textarea,.quoteform button,.quoteform .formnote,.formstatus,.captchaslot{grid-column:1}.footergrid{flex-direction:column}.hero-stamp{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
