:root{--navy:#141e27;--ink:#e9eef2;--cream:#17232e;--gold:#dfbc73}
body{background:#17232e;color:#e9eef2;-webkit-font-smoothing:antialiased}
header{background:#111b24;border-bottom:1px solid #dfbc7333;padding-top:17px;padding-bottom:17px}
.brand{color:#f4e6c8;font-weight:700;letter-spacing:2.5px}
.brand img{width:54px;height:60px;object-fit:contain;border-radius:0}
.brand small{color:#bbc9d3;font-weight:400}
nav{color:#d1dae0;gap:32px}nav a:hover{color:var(--gold)}
.hero{min-height:640px;padding-top:85px;padding-bottom:95px;background:radial-gradient(ellipse at 83% 38%,#46607866,transparent 48%),linear-gradient(115deg,#101b25,#213442);isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0,transparent 145px,#b9d0e407 146px,#b9d0e407 147px,transparent 148px);pointer-events:none}
.hero:after{content:"";position:absolute;left:6%;bottom:0;width:88%;height:1px;background:linear-gradient(90deg,var(--gold),#dfbc7310)}
h1{font-weight:600;letter-spacing:-3px}h1 span{color:#e5c68b}
.hero p{color:#bacbd7;line-height:1.8}
.brand-hero{background:transparent;border-radius:0;box-shadow:none;filter:drop-shadow(0 20px 30px #0005);width:100%;height:420px;object-fit:contain}
.button{background:linear-gradient(120deg,#edd29a,#cda358);border-radius:4px;box-shadow:0 5px 18px #0002;padding:15px 24px;color:#15212b;transition:filter .2s,transform .2s}
.button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.button.alt{background:#ffffff05;border-color:#7890a4;color:#ecf2f6;box-shadow:none}
.strip{background:#101a23;color:#b5c5d1;border-bottom:1px solid #55708644;font-size:10px;letter-spacing:2.5px;padding-top:23px;padding-bottom:23px}
section{padding-top:90px;padding-bottom:90px}.eyebrow{color:#dfbc73!important}
h2{font-weight:500;letter-spacing:-1.4px}h3{font-weight:500}
.muted{color:#b3c2ce}
#services{background:radial-gradient(ellipse at 0% 15%,#3d566345,transparent 55%),#1b2935}
.services{gap:22px}.service{position:relative;background:linear-gradient(135deg,#304454,#22323f);border:1px solid #66809255;border-top:2px solid #b99b62;border-radius:6px;box-shadow:0 16px 32px #09101825;padding:35px}
.service h3{font-size:28px;color:#f7f2e8}.service p{color:#bfcdd7;line-height:1.8;margin-bottom:28px}
.number{color:#dfbc73}.service-link{color:#ecd29d;text-decoration:none;border-bottom:1px solid #dfbc7355;padding-bottom:5px}
.gallery{background:linear-gradient(160deg,#111b24,#1b2833)}
.gallery-card{background:#263847;border:1px solid #516b7e66;border-radius:5px;box-shadow:0 15px 30px #0002}
.gallery-copy{padding:26px}.gallery-copy strong{font-weight:500}.gallery-copy small{letter-spacing:2px}
.process{background:linear-gradient(115deg,#334e62,#243a4c);border-top:1px solid #7890a444;border-bottom:1px solid #7890a444}
.steps{gap:45px}.steps>div{border-top:1px solid #abc2d244;padding-top:25px}.steps p{color:#c1ced7}.steps .number{font-size:26px;font-family:Georgia,serif}
.projects{background:radial-gradient(ellipse at 100% 100%,#435e7155,transparent 60%),#172630}
.instagram-panel{border:1px solid #bfa16c66;background:linear-gradient(125deg,#ffffff06,#ffffff01);border-radius:6px}
.instagram-panel strong{font-weight:500;font-size:clamp(18px,2.4vw,26px)}
.service-area{background:linear-gradient(115deg,#d4d8d8,#bac8d1);color:#203444;position:relative}
.service-area .eyebrow{color:#66501f!important}.service-area .muted,.service-area .towns{color:#405768}.service-area h2{font-size:clamp(38px,5vw,62px)}
.contact{background:radial-gradient(ellipse at 0% 0%,#3c53634d,transparent 55%),#14212b;border-top:1px solid #8198a344;align-items:start}
.contact-link{color:#e4c88c}.contact form{background:linear-gradient(135deg,#283b4a,#20303d);padding:32px;border:1px solid #627c8e66;border-top:2px solid #d1af6b;border-radius:6px;box-shadow:0 22px 50px #0002}
label{color:#dce5eb;font-weight:500;font-size:13px}input,select,textarea{background:#152530;color:#eef2f5;border:1px solid #546d7e;border-radius:4px;padding:13px}input::placeholder,textarea::placeholder{color:#94a9b8}
input:focus,select:focus,textarea:focus{outline:2px solid #d6b775;outline-offset:2px}form p{color:#acbdca}form .button{margin-top:10px}
footer{background:#0e1821;color:#95abba;border-top:1px solid #57708344;padding-top:28px;padding-bottom:28px}
dialog{background:linear-gradient(135deg,#243947,#14232f);border-color:#b99b62;border-radius:7px}.close{border-radius:3px}.close:hover{background:#ffffff12}
@media(min-width:1400px){header,section,.hero,.strip,footer{padding-left:max(6%,calc((100vw - 1280px)/2));padding-right:max(6%,calc((100vw - 1280px)/2))}}
@media(max-width:750px){.hero{min-height:auto;padding-top:55px;padding-bottom:55px;gap:40px}.brand-hero{height:300px}.brand img{width:43px;height:49px}nav{gap:16px;font-size:12px}section{padding-top:60px;padding-bottom:60px}.contact form{padding:22px}.service{padding:27px}.steps{gap:28px}.strip{letter-spacing:1px}.hero h1{font-size:clamp(44px,9vw,64px);letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.reroof{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;background:linear-gradient(120deg,#304858,#192c39);border-top:1px solid #8094a233;border-bottom:1px solid #8094a233}.reroof-visual{margin:0;border:1px solid #ac956466;padding:12px;background:#13232d;box-shadow:0 22px 50px #0003}.reroof-visual .roof-photo{width:100%;aspect-ratio:5/3}.reroof-visual figcaption{color:#b7c6cf;font-size:11px;letter-spacing:1px;padding:13px 5px 2px}.reroof h2{font-size:clamp(40px,5vw,64px);margin-bottom:20px}.reroof-intro{font-size:21px;line-height:1.5;color:#e4d5b7}.reroof-details{list-style:none;padding:0;margin:30px 0}.reroof-details li{border-top:1px solid #8ca2b033;padding:15px 0;display:grid;gap:5px}.reroof-details strong{font-weight:500;color:#e5c88d}.reroof-details span{font-size:14px;color:#b9c9d4}@media(max-width:750px){.reroof{grid-template-columns:1fr;gap:30px}.reroof-copy{grid-row:1}.reroof-visual{max-width:560px}}
