*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;line-height:1.55;overflow-x:hidden}
img,svg,video{max-width:100%;display:block;height:auto}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit}
ul,ol{list-style:none}
:root{
--ink:#0a0b0d;--paper:#f4f2ec;--paper-2:#ece8dc;
--bolt:#ffd400;--copper:#8a4518;--danger:#d43a2f;--blueprint:#1b3a5c;
--mute:#6b6a63;--dim:#3a3a35;
--line:1px solid #0a0b0d;--rt:3px solid #0a0b0d;--rh:6px solid #0a0b0d;
--serif:ui-serif,"Iowan Old Style",Baskerville,"Times New Roman",Cambria,Georgia,serif;
--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
--wrap:min(1240px,100% - 2.5rem);--pad-y:clamp(3rem,6vw,5.5rem);
--fs-display:clamp(2.4rem,6vw,5.4rem);--fs-h1:clamp(2rem,4.5vw,3.6rem);
--fs-h2:clamp(1.6rem,3vw,2.4rem);--fs-body:1.0625rem}
body{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
.skip{position:absolute;left:-9999px}
.skip:focus{position:fixed;left:1rem;top:1rem;background:var(--bolt);color:var(--ink);padding:.75rem 1.25rem;z-index:999;outline:3px solid var(--ink);font-family:var(--mono);font-size:.8rem;text-decoration:none}
.wrap{width:var(--wrap);margin-inline:auto}
.pad{padding-block:var(--pad-y)}
.hazard{height:.75rem;background:repeating-linear-gradient(135deg,var(--bolt) 0 18px,var(--ink) 18px 36px);border-block:var(--line)}

.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:var(--rt)}
.site-header .bar{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:1.25rem 0;position:relative}
.brand{display:inline-flex;align-items:center;text-decoration:none;line-height:1}
.brand img{height:4.25rem;width:auto;display:block}
.nav{counter-reset:nv;display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}
.nav a{counter-increment:nv;position:relative;text-decoration:none;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;padding:.55rem 0 .7rem;display:inline-flex;flex-direction:column;gap:.2rem;line-height:1}
.nav a::before{content:counter(nv,decimal-leading-zero);color:var(--copper);font-size:.55rem;letter-spacing:.1em;opacity:.85}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--bolt);transition:width .25s ease}
.nav a:hover::after,.nav a[aria-current=page]::after{width:100%}
.phone-btn{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:var(--paper);padding:.85rem 1.25rem;border:2px solid var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem;font-weight:700;position:relative}
.phone-btn::before{content:"CALL";font-size:.6rem;color:var(--bolt);letter-spacing:.18em;padding-right:.6rem;border-right:1px solid #3a3a35}
.phone-btn:hover{background:var(--bolt);color:var(--ink)}
.phone-btn .dot{width:.55rem;height:.55rem;background:var(--danger);border-radius:50%;animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}
.nav-chk{display:none}
.nav-toggle{display:none;background:transparent;border:2px solid var(--ink);padding:.6rem .85rem;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;font-weight:700}
.nav-toggle::before{content:"MENU"}
.nav-chk:checked~.site-header .nav-toggle::before{content:"CLOSE"}
.nav-chk:checked~.site-header .nav{max-height:90vh;padding-block:1rem}
@media (max-width:900px){
.nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:var(--rt);border-bottom:var(--rt);flex-direction:column;gap:0;max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease,padding .2s ease}
.nav a{border-bottom:1px solid rgba(10,11,13,.15);padding:1rem 1.25rem;width:100%;font-family:var(--serif);font-size:1.15rem}
.nav-toggle{display:inline-flex}
.phone-btn{padding:.55rem .8rem;font-size:.72rem}
.phone-btn .dot{display:none}
}

.hero{position:relative;border-bottom:var(--rh);background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:0;background:radial-gradient(at 28% 32%,#1a1d24,#0a0b0d 68%)}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.2),rgba(10,11,13,.55) 60%,rgba(10,11,13,.85)),linear-gradient(90deg,rgba(10,11,13,.6),transparent 55%)}
.hero-inner{position:relative;z-index:2;padding-block:clamp(6rem,14vw,13rem);display:grid;gap:1.75rem}
.hero-tag,.section-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.8rem;font-weight:700}
.hero-tag{color:var(--bolt)}
.hero-tag::before{content:"";width:2.4rem;height:2px;background:var(--bolt)}
.hero h1{font-family:var(--serif);font-weight:900;font-size:var(--fs-display);line-height:.92;letter-spacing:-.025em;max-width:18ch}
.hero h1 em,.page-hero h1 em,.section-head h2 em{font-style:italic;color:var(--bolt);font-weight:900}
.section-head h2 em{color:var(--copper)}
.hero-sub{max-width:52ch;font-size:1.18rem;line-height:1.5;color:#d9d6ca}
.hero-cta{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:.5rem}
.hero-meta{position:absolute;right:1.5rem;bottom:1.5rem;z-index:3;font-family:var(--mono);font-size:.68rem;color:var(--bolt);letter-spacing:.2em;text-transform:uppercase;display:flex;gap:2rem}
@media (max-width:720px){.hero-meta{display:none}}

.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);font-weight:700;font-size:.95rem;padding:1.05rem 1.6rem;text-decoration:none;border:2px solid var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease}
.btn::after{content:"→";font-family:var(--mono);font-weight:400;transition:transform .15s ease}
.btn:hover::after{transform:translateX(4px)}
button[type=submit].btn::after{content:none}
.btn-primary{background:var(--bolt);color:var(--ink);border-color:var(--bolt)}
.btn-primary:hover{background:var(--ink);color:var(--bolt)}
.btn-ghost{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn-ghost:hover{background:var(--paper);color:var(--ink)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--bolt);color:var(--ink);border-color:var(--bolt)}
.btn-danger{background:var(--danger);color:var(--paper);border-color:var(--danger)}
.btn-danger:hover{background:var(--ink);border-color:var(--ink)}

.trust{background:var(--ink);color:var(--paper);padding:1.4rem 0;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;border-bottom:var(--rt)}
.trust-list{display:flex;gap:2.25rem;flex-wrap:wrap;justify-content:center;align-items:center}
.trust-list li{display:inline-flex;align-items:center;gap:.6rem;font-weight:700}
.trust-list li::before{content:"◆";color:var(--bolt);font-size:.7rem}

section{padding-block:var(--pad-y)}
.section-head{display:grid;gap:1.1rem;margin-bottom:3rem;max-width:70rem}
.section-tag{color:var(--copper)}
.section-tag::before{content:"";width:2.8rem;height:2px;background:var(--copper)}
.section-head h2{font-family:var(--serif);font-weight:900;font-size:var(--fs-h1);line-height:.98;letter-spacing:-.022em;max-width:22ch}
.section-lead{max-width:62ch;color:var(--dim);font-size:1.1rem;line-height:1.55}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);border:var(--rt);background:var(--ink)}
@media (max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--paper);padding:2rem 1.75rem 2.25rem;display:flex;flex-direction:column;gap:.9rem;text-decoration:none;color:var(--ink);outline:1px solid var(--ink);position:relative;transition:background .2s ease,color .2s ease;min-height:17rem}
.pillar .num{font-family:var(--mono);font-size:.72rem;color:var(--copper);letter-spacing:.1em;font-weight:700}
.pillar h3{font-family:var(--serif);font-weight:900;font-size:1.65rem;line-height:1;letter-spacing:-.01em}
.pillar p{color:var(--dim);flex:1;font-size:.95rem;line-height:1.55}
.pillar .arrow{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;display:inline-flex;align-items:center;gap:.45rem}
.pillar .arrow::after{content:"→";transition:transform .2s ease}
.pillar:hover{background:var(--ink);color:var(--paper)}
.pillar:hover p{color:#c4c2b9}
.pillar:hover .num,.pillar:hover .arrow{color:var(--bolt)}
.pillar:hover .arrow::after{transform:translateX(4px)}

.values{display:grid;gap:2rem;grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.values{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.values{grid-template-columns:1fr}}
.value{border-top:var(--rt);padding-top:1rem}
.value .num{font-family:var(--mono);font-size:.72rem;color:var(--copper);letter-spacing:.1em}
.value h3{font-family:var(--serif);font-size:1.45rem;margin-top:.55rem;line-height:1.05;font-weight:900}
.value p{margin-top:.55rem;color:var(--dim);font-size:.95rem;line-height:1.5}

.area{display:grid;gap:3rem;grid-template-columns:1fr;align-items:start}
@media (min-width:880px){.area{grid-template-columns:1fr 1.3fr;gap:4.5rem}}
.area-list{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));font-family:var(--mono);font-size:.82rem}
.area-list li{border-left:3px solid var(--bolt);padding:.45rem 0 .45rem .8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}

.quotes{display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}
.quote{border:var(--rt);padding:2rem 1.75rem;background:var(--paper-2);display:flex;flex-direction:column;gap:1.25rem;position:relative}
.quote::before{content:"\201C";position:absolute;top:-.4rem;left:1.5rem;font-family:var(--serif);font-size:5rem;line-height:1;color:var(--bolt);font-weight:900}
.quote blockquote{font-family:var(--serif);font-size:1.2rem;line-height:1.4;padding-top:1rem}
.quote cite{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-style:normal;margin-top:auto;font-weight:700}
.quote cite strong{color:var(--ink);display:block;font-size:.8rem;margin-bottom:.2rem}

.cta-banner{background:var(--bolt);color:var(--ink);border-top:var(--rh);border-bottom:var(--rh);padding:4rem 0}
.cta-banner .inner{display:grid;gap:2rem;align-items:center;grid-template-columns:1fr}
@media (min-width:820px){.cta-banner .inner{grid-template-columns:1.4fr auto}}
.cta-banner h2{font-family:var(--serif);font-weight:900;font-size:var(--fs-h1);line-height:.95;letter-spacing:-.02em;max-width:20ch}
.cta-banner p{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;margin-top:.75rem;font-weight:700}
.cta-banner .btns{display:flex;gap:.85rem;flex-wrap:wrap}

.site-footer{background:var(--ink);color:var(--paper);padding:4.5rem 0 2rem;font-size:.88rem}
.footer-grid{display:grid;gap:3rem;grid-template-columns:2fr 1fr 1fr 1.2fr}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr}}
.site-footer h3{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--bolt);margin-bottom:1.1rem;font-weight:700}
.site-footer ul{display:grid;gap:.55rem}
.site-footer a{text-decoration:none;opacity:.82}
.site-footer a:hover{color:var(--bolt);opacity:1}
.footer-brand{display:inline-flex;align-items:center;margin-bottom:1rem;line-height:1}
.footer-brand img{height:4.7rem;width:auto;display:block}
.footer-about{max-width:32ch;color:#c4c2b9;line-height:1.55;font-size:.92rem}
.footer-meta{margin-top:3.5rem;padding-top:1.75rem;border-top:1px solid #2a2a28;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.17em;opacity:.75}

.page-hero{background:var(--ink);color:var(--paper);border-bottom:var(--rh);padding:clamp(4rem,10vw,7.5rem) 0 clamp(3rem,6vw,5rem)}
.page-hero .crumbs{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;color:#c4c2b9;margin-bottom:1.6rem;font-weight:700}
.page-hero .crumbs a{color:var(--bolt);text-decoration:underline;text-underline-offset:3px}
.page-hero h1{font-family:var(--serif);font-weight:900;line-height:.95;letter-spacing:-.022em;font-size:var(--fs-display);max-width:20ch}
.page-hero .lede{max-width:56ch;margin-top:1.5rem;color:#d9d6ca;font-size:1.15rem;line-height:1.55}

.stat-band{background:var(--paper-2);border-bottom:var(--rt);padding:2.25rem 0}
.stat-band .list{display:grid;gap:1.75rem;grid-template-columns:repeat(4,1fr)}
@media (max-width:820px){.stat-band .list{grid-template-columns:repeat(2,1fr)}}
.stat{display:flex;flex-direction:column;gap:.25rem;border-left:3px solid var(--ink);padding-left:1rem}
.stat .num{font-family:var(--mono);font-size:1.65rem;color:var(--ink);font-weight:700;line-height:1}
.stat .lbl{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--ink);font-weight:700;margin-top:.4rem}

.prose{max-width:68ch;display:grid;gap:1.4rem}
.prose h2{font-family:var(--serif);font-size:var(--fs-h2);line-height:1;letter-spacing:-.015em;margin-top:2.25rem;font-weight:900}
.prose h3{font-family:var(--serif);font-size:1.45rem;line-height:1.1;margin-top:1.25rem;font-weight:900}
.prose p{font-size:1.05rem;line-height:1.65}
.prose ul{display:grid;gap:.5rem}
.prose ul li{line-height:1.55;padding-left:1.35rem;position:relative}
.prose ul li::before{content:"";position:absolute;left:0;top:.65rem;width:.65rem;height:2px;background:var(--ink)}
.prose strong{background:linear-gradient(transparent 62%,var(--bolt) 62%);font-weight:700;padding:0 .1em}
.prose a{color:var(--blueprint);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}
.prose a:hover{color:var(--ink);background:var(--bolt)}

.two-col{display:grid;gap:3rem;grid-template-columns:1fr}
@media (min-width:900px){.two-col{grid-template-columns:1.5fr 1fr;gap:4rem}}
.aside{border-top:var(--rt);padding-top:1.5rem;font-family:var(--mono);font-size:.85rem;display:grid;gap:1.25rem;align-self:start;position:sticky;top:6rem}
.aside h3{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);margin-bottom:.25rem}
.aside dl{display:grid;gap:.45rem;font-size:.82rem;line-height:1.4}
.aside dt{color:var(--dim);font-weight:700}
.aside dd{color:var(--ink);font-weight:500;margin-bottom:.4rem}
.aside .big-num{font-family:var(--serif);font-size:2.1rem;font-weight:900;color:var(--ink);line-height:.9;letter-spacing:-.02em;margin:.4rem 0}

.service-list{display:grid;gap:0;border:var(--rt);background:var(--paper)}
.service-item{padding:1.75rem;border-top:var(--line);display:grid;gap:.4rem;grid-template-columns:3rem 1fr}
.service-item:first-child{border-top:none}
.service-item .idx{font-family:var(--mono);font-size:.72rem;color:var(--copper);font-weight:700;grid-row:1 / span 3;padding-top:.3rem}
.service-item h3{font-family:var(--serif);font-size:1.35rem;line-height:1.05;font-weight:900}
.service-item p{color:var(--dim);font-size:.97rem;line-height:1.55}
.service-item .spec{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blueprint);font-weight:700;margin-top:.25rem}

.process{display:grid;gap:0;grid-template-columns:repeat(4,1fr);border:var(--rt);background:var(--paper)}
@media (max-width:980px){.process{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.process{grid-template-columns:1fr}}
.step{padding:1.75rem;border-left:var(--line)}
.step:first-child{border-left:none}
@media (max-width:980px){.step{border-left:var(--line);border-top:var(--line)}.step:nth-child(odd){border-left:none}.step:nth-child(1),.step:nth-child(2){border-top:none}}
@media (max-width:560px){.step{border-left:none;border-top:var(--line)}.step:first-child{border-top:none}}
.step .num{font-family:var(--mono);font-size:2.6rem;font-weight:700;color:var(--paper);-webkit-text-stroke:1.5px var(--ink);line-height:1}
.step h3{font-family:var(--serif);font-size:1.2rem;margin-top:.6rem;line-height:1.1;font-weight:900}
.step p{font-size:.9rem;color:var(--dim);margin-top:.4rem;line-height:1.5}

details.faq{border-top:var(--rt);padding:1.35rem 0}
details.faq:last-of-type{border-bottom:var(--rt)}
details.faq summary{font-family:var(--serif);font-weight:900;font-size:1.2rem;list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;line-height:1.25}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-family:var(--mono);font-size:1.9rem;color:var(--copper);line-height:1}
details.faq[open] summary::after{content:"−"}
details.faq .body{margin-top:.9rem;color:var(--dim);line-height:1.65;font-size:1rem;max-width:70ch}
details.faq .body p+p{margin-top:.75rem}

.contact-form{display:grid;gap:1.5rem;max-width:44rem;border:var(--rt);padding:2rem;background:var(--paper-2)}
.field{display:grid;gap:.4rem}
.field label{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700}
.field input,.field select,.field textarea{border:2px solid var(--ink);background:var(--paper);padding:.9rem 1rem;font-family:var(--sans);font-size:1rem;width:100%}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--bolt);outline-offset:2px}
.field-row{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}
@media (max-width:600px){.field-row{grid-template-columns:1fr}}
.field .req{color:var(--danger);font-weight:700}
.field small{font-family:var(--mono);font-size:.68rem;color:var(--mute);margin-top:.2rem}
.consent{display:flex;gap:.75rem;align-items:flex-start;font-size:.85rem;line-height:1.5}
.consent input{width:1.2rem;height:1.2rem;flex-shrink:0;margin-top:.15rem;accent-color:var(--ink)}

.spec-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.82rem;border:var(--rt)}
.spec-table caption{text-align:left;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--copper);margin-bottom:.75rem;font-weight:700;caption-side:top}
.spec-table th,.spec-table td{text-align:left;padding:.85rem 1rem;border-top:var(--line);vertical-align:top}
.spec-table thead th{background:var(--ink);color:var(--paper);border:none;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700}
.spec-table tbody tr:nth-child(odd) td{background:var(--paper-2)}

.pull{border-left:6px solid var(--bolt);padding:1.35rem 1.5rem 1.35rem 1.75rem;margin:2rem 0;background:var(--paper-2);font-family:var(--serif);font-size:1.3rem;line-height:1.4;font-weight:500}
.pull::before{content:"AEO SNIPPET";display:block;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.17em;color:var(--copper);margin-bottom:.5rem;font-weight:700}

.emergency{background:var(--danger);color:var(--paper);padding:1rem 0;border-bottom:var(--rt);font-family:var(--mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.emergency .inner{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center}
.emergency a{text-decoration:none;padding:.3rem .75rem;background:var(--ink);color:var(--bolt);border:2px solid var(--ink)}
.emergency a:hover{background:var(--bolt);color:var(--ink);border-color:var(--paper)}

@media (max-width:560px){.hero-cta .btn,.cta-banner .btns .btn{width:100%;justify-content:center}.cta-banner .btns{flex-direction:column;align-items:stretch}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}.hero-media video{display:none}}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--bolt);outline-offset:2px}
