*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#15191f;color:#f3f5f7;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.6}a{color:inherit}img{display:block;max-width:100%}.hero{background:#000}.hero-inner{max-width:1600px;margin:auto}.banner{width:100%;height:auto}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:0 20px 25px}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:13px 24px;border-radius:7px;font-weight:750;text-decoration:none;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:#d20a14;color:white}.primary:hover{background:#f01824}.secondary{border:1px solid #65718a;background:#202935;color:#fff}.secondary:hover{background:#303c4d}nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:clamp(10px,3vw,35px);padding:13px 12px;background:rgba(22,27,34,.97);border-bottom:2px solid #163da0;flex-wrap:wrap}nav a{text-decoration:none;font-size:.91rem;font-weight:700}nav a:hover,.text-link{color:#91afff}.section{max-width:1220px;margin:auto;padding:75px 26px}.eyebrow{color:#ff5961;font-size:.83rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 8px}h1,h2,h3{line-height:1.17;margin:0 0 18px}h1{font-size:clamp(2.2rem,4vw,3.8rem)}h2{font-size:clamp(1.9rem,3vw,2.8rem)}h3{font-size:1.25rem}p{color:#cbd2dd}.intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.intro img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:12px;border:1px solid #39475b;box-shadow:0 22px 50px #0006}.text-link{font-weight:700;text-decoration:none}.section-heading{text-align:center;margin:0 auto 32px;max-width:750px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:#242b35;border:1px solid #394454;border-radius:10px;overflow:hidden}.service img{width:100%;height:165px;object-fit:cover}.service div{padding:20px}.service p{margin:0}.gallery-section{padding-top:25px}.gallery{display:grid;grid-template-columns:1.4fr 1fr .75fr;gap:16px}.gallery img{width:100%;height:240px;object-fit:cover;border-radius:9px;border:1px solid #414a56}.reviews{max-width:none;background:#1e2530;padding-left:max(26px,calc((100vw - 1168px)/2));padding-right:max(26px,calc((100vw - 1168px)/2))}.review-placeholder{border:1px dashed #5b6677;background:#161d27;padding:30px;text-align:center;border-radius:12px}.stars{color:#f3bc43;font-size:1.7rem;letter-spacing:.15em}.quote{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.quote-form{padding:26px;background:#242b35;border-radius:12px;border:1px solid #394454}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form label{display:block;font-weight:650;font-size:.9rem;margin-bottom:15px}.quote-form input,.quote-form textarea{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #526075;border-radius:6px;background:#151a22;color:white;font:inherit}.quote-form button{background:#475363;color:#eee;border:0;padding:13px 20px;border-radius:6px;font-weight:750;cursor:not-allowed}.form-note{font-size:.8rem;margin-bottom:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.contact-line{display:flex;gap:20px}.contact-line strong{min-width:95px;color:#fff}.contact-line small{font-weight:400;color:#aeb7c4}.contact-line a{color:#c9d8ff}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.contact-photo img{width:100%;height:350px;object-fit:cover;border-radius:10px}footer{border-top:3px solid #b60a15;background:#0c1015;padding:30px 20px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}footer span,footer small{color:#aab4c2}@media(max-width:900px){.services{grid-template-columns:repeat(2,1fr)}.quote,.intro,.contact{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:last-child{display:none}}@media(max-width:550px){.section{padding:48px 18px}.hero-actions{padding:12px 12px 22px}.hero-actions .button{flex:1 1 140px;padding:11px 10px;font-size:.88rem}nav{gap:9px 16px}nav a{font-size:.8rem}.services{grid-template-columns:1fr 1fr;gap:10px}.service img{height:115px}.service div{padding:12px}.service h3{font-size:1rem}.service p{font-size:.85rem}.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery img{height:130px}.form-grid{grid-template-columns:1fr}.quote-form{padding:17px}.contact-photo img{height:220px}}
/* v0.2: centered desktop shell; uninterrupted hero-to-content transition */
body{background:#090c11}
.site-shell{width:min(100%,1400px);margin:0 auto;background:#191f27;min-height:100vh;box-shadow:0 0 55px #000a}
.hero{background:#000;line-height:0}
.hero .banner{width:100%;height:auto}
nav{position:relative;top:auto;background:#10151c;border-bottom:1px solid #26364d}
.main-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:27px 18px 12px;background:#191f27}
.main-actions .button{min-width:205px}
.section{max-width:1200px}
.reviews{max-width:none;padding-left:clamp(18px,6vw,110px);padding-right:clamp(18px,6vw,110px)}
footer{width:100%}
@media(max-width:550px){
 .main-actions{padding:20px 16px 4px;gap:10px}
 .main-actions .button{flex:1 1 135px;min-width:0;padding:11px 10px;font-size:.88rem}
}

/* v0.3: CSS-only steel treatment on OUTER margins, never over content */
body{
 background-color:#0a0d12;
 background-image:
  repeating-linear-gradient(135deg,rgba(183,198,219,.035) 0 1px,transparent 1px 12px),
  repeating-linear-gradient(45deg,rgba(183,198,219,.025) 0 1px,transparent 1px 12px),
  linear-gradient(115deg,#080b10,#171d26 48%,#080b10);
 background-attachment:fixed;
}
.site-shell{
 background:linear-gradient(112deg,#202731 0%,#2c3541 5%,#1b222b 19%,#1a2029 70%,#252e39 96%,#131921 100%);
 border-left:1px solid #566170;
 border-right:1px solid #303b4a;
 box-shadow:inset 4px 0 5px -4px #b6c6d680,inset -5px 0 7px -5px #020408,0 0 55px #000b;
}
.hero{background:#000}
nav{position:relative;top:auto;background:linear-gradient(180deg,#252d38,#10151c 75%);border-top:1px solid #414d5c;border-bottom:2px solid #173b90;box-shadow:inset 0 1px #8795a022}
.main-actions{background:transparent}
.review-placeholder,.quote-form,.service{box-shadow:inset 0 1px #ffffff0c,0 6px 18px #0002}
.contact-map{border:1px solid #536071;border-radius:10px;overflow:hidden;background:#111820;box-shadow:0 12px 30px #0005}
.contact-map iframe{width:100%;height:340px;display:block;border:0}
.contact-map a{display:block;padding:12px 15px;color:#d7e3ff;font-weight:700;text-align:center;background:#1d293a}
.gallery{grid-template-columns:1fr 1fr .8fr}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img:last-child{display:block}}
@media(max-width:550px){.site-shell{border:0}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img{height:110px}.contact-map iframe{height:260px}}

/* v0.4: uninterrupted hero -> atmospheric charcoal; no navigation bar */
.hero-transition{
 height:clamp(58px,8vw,112px);
 background:linear-gradient(to bottom,
   #030406 0%,
   #0a0d12 22%,
   #151b23 55%,
   #1c232d 78%,
   #242d38 100%);
 position:relative;
}
.hero-transition::after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
 background:linear-gradient(90deg,transparent,rgba(195,210,228,.16),transparent);
}
.main-actions{
 padding-top:clamp(8px,1.6vw,20px);
}
@media(max-width:550px){
 .hero-transition{height:48px}
 .main-actions{padding-top:8px}
}

/* v0.5: remove atmospheric transition; match existing footer red divider */
.hero-transition{display:none!important}
.header-divider{height:3px;background:#b60a15;width:100%;}
.footer-domain{color:#c4cddd;text-decoration:none;font-size:.9rem}
.footer-domain:hover{text-decoration:underline;color:#fff}

/* v0.6 finishing refinements */
.header-divider{display:none!important}
footer{border-top:0!important;background:#0c1015}
.location-link{color:inherit;text-decoration:underline;text-decoration-color:#dce5f566;text-underline-offset:3px}
.location-link:hover,.location-link:focus-visible{color:#fff;text-decoration-color:#fff}

/* v0.7 flush metallic edge: overlay within banner, zero added height */
.hero{position:relative}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2a3039 0%,#8793a2 35%,#c3cbd4 50%,#6a7685 70%,#252d37 100%);box-shadow:0 1px 2px #05070acc,inset 0 -1px #222a34;pointer-events:none}
.intro{padding-bottom:38px}
.main-actions{padding:0 18px 12px;background:transparent}
.service,.service div{text-align:center}
@media(max-width:550px){.intro{padding-bottom:30px}.main-actions{padding:0 16px 8px}}

/* v0.8: tighter introduction; matching flush footer bevel */
.intro.section{padding-top:38px}
footer{position:relative}
footer::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,#2a3039 0%,#8793a2 35%,#c3cbd4 50%,#6a7685 70%,#252d37 100%);
 box-shadow:0 -1px 2px #05070acc,inset 0 1px #222a34;
 pointer-events:none;
}
.form-preview-notice{font-size:.85rem;color:#d8dfeb;margin:0 0 12px}
@media(max-width:550px){.intro.section{padding-top:25px}}
