
:root{--bg:#0f1115;--surface:#161922;--card:#1c2030;--border:#2a2f42;--text:#e6e8ee;--muted:#9aa1b2;--primary:#dc2626;--primary-foreground:#fff;--steel:#0f1115;--steel-foreground:#fff;--ring:#dc2626;}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#f7f7f8;color:#111;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Archivo',Inter,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container-x{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#dc2626}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#dc2626;color:#fff;font-weight:700;border-radius:.5rem;border:none;cursor:pointer;font-size:.95rem;transition:background .2s}
.btn-primary:hover{background:#b91c1c}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;color:#111;font-weight:600;border-radius:.5rem;border:1px solid #d4d4d8;font-size:.95rem;transition:background .2s}
.btn-ghost:hover{background:#f4f4f5}
.btn-ghost.on-dark{border-color:rgba(255,255,255,.3);color:#fff}
.btn-ghost.on-dark:hover{background:rgba(255,255,255,.1)}
header.site{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e5e7eb}
header.site .row{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:.5rem;font-family:'Archivo';font-weight:900;font-size:1.05rem}
.logo .mark{width:28px;height:28px;background:#dc2626;border-radius:4px}
.logo .accent{color:#dc2626}
nav.main{display:flex;gap:2rem;align-items:center;font-size:.9rem;font-weight:500}
nav.main a{color:#374151}
nav.main a:hover,nav.main a.active{color:#dc2626}
.hide-mobile{display:none}
@media(min-width:768px){.hide-mobile{display:flex}.show-mobile{display:none}}
.mobile-toggle{background:transparent;border:1px solid #e5e7eb;padding:.5rem;border-radius:.4rem;cursor:pointer}
.mobile-menu{display:none;border-top:1px solid #e5e7eb;background:#fff;padding:1rem 1.25rem}
.mobile-menu.open{display:flex;flex-direction:column;gap:.75rem}
.hero{position:relative;overflow:hidden;background:#0f1115;color:#fff}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to right,#0f1115,rgba(15,17,21,.85) 50%,rgba(15,17,21,.4))}
.hero .inner{position:relative;padding:6rem 0;max-width:48rem}
.hero h1{font-size:2.5rem;margin-top:1.25rem;font-weight:800}
@media(min-width:768px){.hero h1{font-size:4rem}.hero .inner{padding:9rem 0}}
.hero p.lead{margin-top:1.5rem;color:rgba(255,255,255,.8);font-size:1.1rem;max-width:34rem}
.hero .cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.stats{margin-top:3rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:40rem}
@media(min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats .k{font-family:'Archivo';font-size:1.875rem;font-weight:900;color:#dc2626}
.stats .v{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-top:.25rem}
section.pad{padding:5rem 0}
@media(min-width:768px){section.pad{padding:7rem 0}}
section.alt{background:#f1f2f4}
.svc-grid{margin-top:3rem;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.card .img{aspect-ratio:4/3;overflow:hidden}
.card .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .img img{transform:scale(1.05)}
.card .body{padding:1.5rem}
.card h3{font-size:1.25rem}
.card p{margin-top:.5rem;font-size:.9rem;color:#6b7280}
.learn{display:inline-flex;align-items:center;gap:.25rem;margin-top:1rem;font-size:.875rem;font-weight:700;color:#dc2626}
.two-col{display:grid;gap:4rem;grid-template-columns:1fr;align-items:center}
@media(min-width:768px){.two-col{grid-template-columns:1fr 1fr}}
ul.checks{margin-top:2rem;padding:0;list-style:none}
ul.checks li{padding:.5rem 0 .5rem 2rem;position:relative}
ul.checks li::before{content:"✓";position:absolute;left:0;top:.5rem;color:#dc2626;font-weight:900}
.icon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.icon-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}
.icon-card .ic{font-size:1.5rem;color:#dc2626}
.icon-card h3{margin-top:1rem;font-size:1rem}
.icon-card p{margin-top:.25rem;font-size:.875rem;color:#6b7280}
.cta-banner{margin:5rem 0;border-radius:1.5rem;background:#0f1115;color:#fff;padding:3rem;text-align:center;position:relative;overflow:hidden}
.cta-banner h2{font-size:2rem}
@media(min-width:768px){.cta-banner{padding:4rem}.cta-banner h2{font-size:3rem}}
.cta-banner p{margin-top:1rem;color:rgba(255,255,255,.7);max-width:32rem;margin-left:auto;margin-right:auto}
.svc-row{display:grid;gap:2.5rem;grid-template-columns:1fr;align-items:center;margin-bottom:5rem}
@media(min-width:768px){.svc-row{grid-template-columns:1fr 1fr}.svc-row.rev > :first-child{order:2}}
.svc-row .img-wrap{border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.svc-row h2{font-size:1.875rem}
@media(min-width:768px){.svc-row h2{font-size:2.25rem}}
.contact-grid{display:grid;gap:3rem;grid-template-columns:1fr}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-list{list-style:none;padding:0;margin:1.5rem 0 0}
.contact-list li{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}
.contact-list .ic{background:rgba(220,38,38,.1);color:#dc2626;padding:.6rem;border-radius:.4rem;font-weight:700}
.contact-list .label{font-size:.8rem;color:#6b7280}
.contact-list .val{font-size:1.05rem;font-weight:600;display:block;margin-top:.15rem}
form.lead{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
form.lead label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}
form.lead input,form.lead textarea{width:100%;padding:.625rem .875rem;border:1px solid #d4d4d8;border-radius:.4rem;font-size:.9rem;font-family:inherit;background:#fff}
form.lead input:focus,form.lead textarea:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.15)}
form.lead .field{margin-bottom:1rem}
form.lead .btn-primary{width:100%;justify-content:center}
form.lead .note{font-size:.75rem;color:#6b7280;margin-top:.75rem}
article.legal{max-width:48rem;margin:0 auto;padding:5rem 1.25rem}
article.legal h1{font-size:2.5rem}
@media(min-width:768px){article.legal h1{font-size:3rem}}
article.legal .updated{margin-top:.75rem;font-size:.875rem;color:#6b7280}
article.legal section{margin-top:2rem}
article.legal h2{font-size:1.25rem;margin-bottom:.5rem}
article.legal p{margin:0 0 .75rem}
article.legal ul{margin:.5rem 0;padding-left:1.25rem}
article.legal a{color:#dc2626;text-decoration:underline}
footer.site{background:#0f1115;color:#fff;margin-top:6rem}
footer.site .grid{display:grid;gap:3rem;grid-template-columns:1fr;padding:4rem 0}
@media(min-width:768px){footer.site .grid{grid-template-columns:2fr 1fr 1fr}}
footer.site p,footer.site li{color:rgba(255,255,255,.7);font-size:.875rem}
footer.site h4{font-family:'Archivo';font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5);font-weight:700}
footer.site ul{list-style:none;padding:0;margin:1rem 0 0}
footer.site ul li{margin:.5rem 0}
footer.site a:hover{color:#dc2626}
.fbar{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.5)}
.hero-banner{background:#0f1115;color:#fff;padding:5rem 0}
.hero-banner h1{font-size:2.5rem;margin-top:1rem;max-width:48rem}
@media(min-width:768px){.hero-banner h1{font-size:4rem}}
.hero-banner p{margin-top:1.25rem;color:rgba(255,255,255,.7);max-width:40rem}
.prose p{margin:1.25rem 0;font-size:1.05rem;line-height:1.75}
.tel-link{color:#dc2626;font-weight:700}
