:root { --red:#d82628; --off-white:#f4f2ec; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--off-white); background:#101213; font-family:"Arial Narrow",Arial,sans-serif; }
main { overflow:clip; }
a { color:inherit; }
.site-header { position:relative; z-index:3; background:linear-gradient(120deg,#050506,#1c1e20 58%,#080909); border-bottom:3px solid #a31d20; }
.header-inner { width:min(1180px,100%); min-height:90px; margin:auto; padding:10px 38px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; }
.brand { display:block; width:min(280px,100%); }.brand picture,.brand img { display:block; width:100%; }.brand img { height:auto; }
.header-phone { color:var(--red); font-family:Impact,Haettenschweiler,sans-serif; font-size:clamp(1.3rem,2.5vw,2rem); letter-spacing:.03em; text-decoration:none; white-space:nowrap; }.header-phone span { font-family:Arial,sans-serif; font-size:.84em; margin-right:4px; }
.hero { position:relative; isolation:isolate; min-height:510px; overflow:hidden; background:#101314; }.hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(5,6,7,.93) 0%,rgba(5,6,7,.82) 31%,rgba(5,6,7,.38) 52%,rgba(5,6,7,.03) 76%),linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.05) 47.5% 48%,transparent 48.5%); background-size:auto,11px 11px; }
.hero-visual { position:absolute; z-index:0; inset:0; }.hero-visual picture { display:block; width:100%; height:100%; }.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center 92%; }
.hero-copy { position:relative; z-index:2; width:min(54%,700px); padding:30px 0 22px max(38px,calc((100vw - 1180px)/2 + 38px)); }.eyebrow { margin:0 0 6px; color:#d4d2cc; font-size:.75rem; font-weight:bold; letter-spacing:.16em; text-transform:uppercase; }
h1,.promise-panel h2 { margin:0; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-weight:400; line-height:.94; text-transform:uppercase; } h1 { width:max-content; max-width:100%; font-size:clamp(3rem,4.7vw,4.55rem); letter-spacing:.012em; text-shadow:3px 3px #171717; } h1 em { color:var(--red); font-style:normal; }.hero-line { display:block; white-space:nowrap; }
.hero-ribbon { position:relative; width:min(390px,100%); height:96px; margin:4px 0 0 -10px; }.hero-ribbon img { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; }.hero-ribbon span { position:relative; z-index:1; display:block; padding:19px 35px 16px; color:#fff; font-size:clamp(1.1rem,2vw,1.55rem); font-weight:900; font-style:italic; line-height:1.02; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); max-width:1180px; margin:auto; padding:23px 28px 25px; background:radial-gradient(#24272a,#131516 68%); }.trust-item { min-height:150px; padding:0 23px; text-align:center; border-right:1px solid #827c78; }.trust-item:last-child { border:0; }.trust-icon { display:block; height:50px; color:#f4f2ec; font-family:Arial,sans-serif; font-size:2.75rem; line-height:1; }.trust-item:nth-child(4) .trust-icon { font-size:2.45rem; }.trust-item h2,.contact-row h3 { margin:7px 0 5px; font-family:Impact,Haettenschweiler,sans-serif; font-weight:400; letter-spacing:.035em; text-transform:uppercase; }.trust-item h2 { font-size:1.25rem; }.trust-item p { margin:0; font-size:.95rem; line-height:1.25; }
.details { position:relative; display:grid; grid-template-columns:minmax(300px,1fr) minmax(350px,1.08fr); gap:34px; max-width:990px; margin:0 auto; padding:38px 28px; }.promise-panel { position:relative; aspect-ratio:1/1; min-height:320px; padding:19% 16%; color:#131415; background:url("../images/steelPlate.png") center/100% 100% no-repeat; background-image:image-set(url("../images/steelPlate.webp") type("image/webp"),url("../images/steelPlate.png") type("image/png")); }.promise-panel h2 { position:relative; z-index:1; font-size:clamp(2rem,4vw,3.25rem); }.promise-panel p { position:relative; z-index:1; margin:18px 0 0; font-size:1.3rem; font-weight:bold; }
.contact-panel { position:relative; z-index:1; padding:18px 28px; border:1px solid var(--red); border-radius:13px; background:linear-gradient(145deg,#232628,#101112); box-shadow:inset 0 0 30px #070808; }.contact-row { display:grid; grid-template-columns:42px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid #454545; }.contact-row:last-child { border:0; }.contact-icon { display:grid; width:36px; height:36px; place-items:center; border:2px solid var(--red); border-radius:50%; color:white; font-size:1.22rem; }.contact-icon.pin { color:var(--red); font-size:1.6rem; }.contact-row h3 { margin:0; font-size:1.22rem; }.contact-row p,.contact-row address { margin:3px 0 0; font-size:1rem; font-style:normal; line-height:1.4; }.contact-row a:not(.directions) { color:var(--red); font-family:Impact,Haettenschweiler,sans-serif; font-size:1.75rem; letter-spacing:.04em; text-decoration:none; }.directions { display:inline-block; margin-top:8px; padding:5px 12px; border-radius:3px; background:var(--red); color:white; font-family:Impact,Haettenschweiler,sans-serif; font-size:.95rem; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }.directions:hover,.directions:focus { background:#f0383b; }
.decorative-wrench { position:absolute; z-index:2; right:-115px; bottom:-32px; width:205px; pointer-events:none; transform:none; }.decorative-wrench img { display:block; width:100%; height:auto; }
.site-footer { position:relative; min-height:125px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-top:3px solid #111; background:#070808; text-align:center; }.site-footer>div { position:relative; z-index:1; }.site-footer strong { color:var(--red); font-family:Impact,Haettenschweiler,sans-serif; font-size:clamp(1.6rem,4vw,2.55rem); font-weight:400; letter-spacing:.06em; text-transform:uppercase; }.site-footer p { margin:1px 0 0; font-size:1.2rem; font-weight:bold; font-style:italic; }.footer-flag { position:absolute; bottom:-5px; z-index:0; width:230px; pointer-events:none; }.footer-flag img { display:block; width:100%; height:auto; }.footer-flag-left { left:-8px; }.footer-flag-right { right:-8px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px) { .hero { min-height:395px; }.hero-copy { width:56%; padding-left:30px; }.details { gap:22px; padding-inline:22px; }.decorative-wrench { right:-92px; bottom:-35px; width:185px; } }
@media (max-width:760px) { .header-inner { min-height:0; padding:8px 18px; grid-template-columns:1fr; justify-items:center; gap:2px; }.brand { width:min(230px,100%); }.header-phone { font-size:1.3rem; }.hero { min-height:620px; }.hero::after { background:linear-gradient(180deg,rgba(5,6,7,.94) 0%,rgba(5,6,7,.86) 53%,rgba(5,6,7,.25) 100%); }.hero-copy { width:100%; padding:30px 26px 0; }.hero-visual { top:auto; right:0; bottom:0; width:100%; height:280px; }.hero-visual img { object-position:58% bottom; }.hero-ribbon { width:min(395px,100%); height:100px; margin-top:8px; }.hero-ribbon span { padding:20px 32px 16px; font-size:clamp(1.05rem,4.5vw,1.5rem); line-height:1.02; } h1 { font-size:clamp(3.2rem,14vw,4.5rem); }.hero-line { white-space:normal; }.hero-years { display:block; }.trust-strip { grid-template-columns:repeat(2,1fr); padding:22px 10px; }.trust-item { min-height:170px; padding:8px 13px 14px; }.trust-item:nth-child(2) { border-right:0; }.trust-item:nth-child(-n+2) { border-bottom:1px solid #827c78; }.details { grid-template-columns:1fr; gap:26px; padding:30px 21px; }.promise-panel { width:min(420px,100%); justify-self:center; }.contact-panel { padding:15px 20px; }.decorative-wrench { display:none; }.site-footer { min-height:112px; }.footer-flag { width:150px; bottom:-1px; }.site-footer p { font-size:1rem; } }
@media (max-width:390px) { .brand { width:220px; }.trust-item p { font-size:.84rem; }.contact-row a:not(.directions) { font-size:1.52rem; }.footer-flag { width:114px; } }
