:root { --red:#d51017; --red-dark:#9e070c; --black:#080808; --panel:#111; --soft:#b7b7b7; --white:#f7f7f7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:Arial, Helvetica, sans-serif; line-height:1.6; }
a { color:inherit; }
.site-header { position:sticky; top:0; z-index:10; min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:10px clamp(20px,5vw,72px); background:rgba(8,8,8,.94); border-bottom:1px solid #272727; backdrop-filter:blur(12px); }
.brand img { width:180px; height:62px; object-fit:cover; object-position:center; }
nav { display:flex; align-items:center; gap:28px; font-size:.86rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
nav a { text-decoration:none; }
.nav-call { padding:11px 16px; border:1px solid var(--red); }
.hero { min-height:670px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; overflow:hidden; padding:72px clamp(24px,7vw,110px); background:radial-gradient(circle at 85% 50%, #360506 0, #110202 27%, #080808 60%); }
.hero-copy { position:relative; z-index:2; max-width:760px; }
.eyebrow { margin:0 0 18px; color:#ee3339; font-size:.79rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
h1,h2,h3 { margin-top:0; line-height:1.04; text-transform:uppercase; }
h1 { margin-bottom:26px; font-size:clamp(3rem,7vw,6.6rem); letter-spacing:-.055em; }
h1 span { color:var(--red); }
.hero-text { max-width:650px; color:#d2d2d2; font-size:clamp(1.05rem,1.5vw,1.26rem); }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:13px 24px; border:1px solid var(--red); font-weight:800; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:.2s ease; }
.button.primary { background:var(--red); }
.button.primary:hover { background:#ed1c24; transform:translateY(-2px); }
.button.secondary:hover { background:#241010; }
.availability { margin-top:18px; color:#999; font-size:.9rem; }
.hero-mark { position:relative; display:grid; place-items:center; min-height:490px; }
.hero-mark img { position:relative; width:min(620px,52vw); max-height:520px; object-fit:contain; filter:drop-shadow(0 28px 50px rgba(0,0,0,.5)); }
.red-line { position:absolute; width:70%; height:70%; border:42px solid rgba(213,16,23,.13); transform:rotate(45deg); }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #262626; border-bottom:1px solid #262626; background:#0d0d0d; }
.trust-strip div { display:flex; flex-direction:column; gap:2px; padding:25px clamp(24px,5vw,76px); border-right:1px solid #262626; }
.trust-strip div:last-child { border-right:0; }
.trust-strip strong { color:white; text-transform:uppercase; letter-spacing:.08em; }
.trust-strip span { color:#8d8d8d; font-size:.9rem; }
.section { padding:110px clamp(24px,7vw,110px); }
.section-heading { max-width:680px; margin-bottom:54px; }
h2 { margin-bottom:20px; font-size:clamp(2.35rem,5vw,4.6rem); letter-spacing:-.045em; }
.section-heading > p:last-child,.about-panel > p { color:var(--soft); font-size:1.08rem; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#2b2b2b; border:1px solid #2b2b2b; }
.service-grid article { min-height:270px; padding:34px 28px; background:#101010; }
.service-grid span { color:var(--red); font-size:.78rem; font-weight:800; }
.service-grid h3 { margin:62px 0 14px; font-size:1.35rem; }
.service-grid p { color:#989898; }
.about { display:grid; grid-template-columns:1.15fr .85fr; gap:1px; padding-top:0; }
.about-panel,.quote-panel { padding:clamp(38px,6vw,78px); }
.about-panel { background:#111; }
.text-link { display:inline-flex; gap:16px; margin-top:22px; color:white; font-weight:800; text-decoration:none; text-transform:uppercase; }
.text-link span { color:var(--red); }
.quote-panel { display:flex; align-items:flex-end; background:linear-gradient(145deg,#b80b11,#680408); }
.quote-panel p { margin:0; font-size:clamp(1.5rem,3vw,2.5rem); font-weight:800; line-height:1.2; }
.contact { padding:120px 24px; text-align:center; background:radial-gradient(circle at center,#240304,#080808 68%); }
.contact h2 { max-width:850px; margin-left:auto; margin-right:auto; }
.contact > p:not(.eyebrow) { color:#aaa; }
.contact > a { display:inline-block; margin:12px 0 4px; color:white; font-size:clamp(2rem,6vw,4.7rem); font-weight:900; letter-spacing:-.04em; text-decoration:none; }
.centered { justify-content:center; }
footer { display:flex; align-items:center; gap:26px; padding:24px clamp(24px,7vw,110px); border-top:1px solid #242424; color:#777; font-size:.82rem; }
footer img { width:120px; height:46px; object-fit:cover; }
footer p { margin-right:auto; }
footer a { text-decoration:none; }
@media (max-width:900px) { nav > a:not(.nav-call) { display:none; } .hero { grid-template-columns:1fr; padding-top:80px; } .hero-mark { min-height:330px; } .hero-mark img { width:min(720px,100vw); } .service-grid { grid-template-columns:repeat(2,1fr); } .about { grid-template-columns:1fr; } }
@media (max-width:560px) { .site-header { min-height:72px; } .brand img { width:125px; height:48px; } .nav-call { padding:9px 10px; font-size:.72rem; } .hero { min-height:auto; padding:68px 20px 40px; } h1 { font-size:3.25rem; } .hero-mark { min-height:250px; } .trust-strip { grid-template-columns:1fr; } .trust-strip div { border-right:0; border-bottom:1px solid #262626; } .service-grid { grid-template-columns:1fr; } .section { padding:78px 20px; } .contact { padding:82px 20px; } footer { align-items:flex-start; flex-wrap:wrap; } footer p { width:100%; margin:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
