:root{--navy:#0b1728;--navy2:#12243c;--orange:#f47b20;--cream:#f5f3ee;--ink:#142033;--muted:#607083;--line:#d9dde2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #00000012}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--orange);color:#fff;font:800 28px/1 'Barlow Condensed';clip-path:polygon(50% 0,100% 28%,100% 100%,0 100%,0 28%)}
.brand strong,.brand small{display:block;line-height:.9}
.brand strong{font:800 30px 'Barlow Condensed';letter-spacing:.04em}
.brand small{font:700 11px Inter;letter-spacing:.19em;color:var(--muted)}
nav{display:flex;gap:32px;font-weight:600;font-size:.9rem}
nav a:hover{color:var(--orange)}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--orange);color:white;padding:15px 24px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.83rem;cursor:pointer;transition:.2s}
.button:hover{background:#d95e07;transform:translateY(-1px)}
.button-small{padding:11px 18px}
.hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,28,.97) 0%,rgba(6,15,28,.78) 42%,rgba(6,15,28,.1) 76%)}
.hero-content{position:relative;color:#fff;width:min(1180px,90%);margin:auto;padding:70px 0;z-index:1}
.eyebrow{font-size:.77rem;font-weight:800;letter-spacing:.17em;color:#ff9851;margin:0 0 18px}
.eyebrow.dark{color:#c95300}
.hero h1,.section h2,.split h2,.estimate h2{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;line-height:.92;margin:0}
.hero h1{font-size:clamp(4rem,8vw,7.3rem);max-width:760px;letter-spacing:-.025em}
.hero h1 span{color:var(--orange)}
.hero-copy{font-size:1.15rem;line-height:1.65;max-width:590px;color:#dae1e9;margin:28px 0}
.hero-actions{display:flex;align-items:center;gap:28px}
.text-link{font-weight:700;border-bottom:1px solid #ffffff75;padding:8px 0}
.text-link span{color:var(--orange)}
.trust-row{display:flex;gap:28px;margin-top:45px;color:#d5dde6;font-size:.88rem}
.trust-row span::first-letter{color:var(--orange)}
.section{padding:105px max(5vw,24px)}
.section-heading{max-width:1180px;margin:0 auto 55px;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}
.section h2,.split h2,.estimate h2{font-size:clamp(2.9rem,5vw,4.7rem);letter-spacing:-.02em}
.section-heading>p{color:var(--muted);font-size:1.05rem;margin:0}
.service-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{padding:34px;min-height:255px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}
.service-grid article:hover{background:var(--navy);color:#fff;transform:translateY(-4px)}
.service-grid span{font:700 1rem 'Barlow Condensed';color:var(--orange)}
.service-grid h3,.steps h3{font:700 1.65rem 'Barlow Condensed';text-transform:uppercase;margin:35px 0 8px}
.service-grid p,.steps p{color:var(--muted);font-size:.93rem;margin:0}
.service-grid article:hover p{color:#cbd5e0}
.service-link{display:inline-block;margin-top:22px;color:#c95300;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.service-grid article:hover .service-link{color:#ff9851}
.split{background:var(--navy);color:#fff;padding:105px max(5vw,24px);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}
.split-title h2{max-width:510px}
.steps{border-top:1px solid #ffffff30}
.steps>div{display:grid;grid-template-columns:55px 170px 1fr;align-items:start;gap:20px;padding:28px 0;border-bottom:1px solid #ffffff30}
.steps strong{color:var(--orange);font:700 1rem 'Barlow Condensed'}
.steps h3{margin:0;color:#fff}
.steps p{color:#aebdce}
.areas{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.areas>div>p:last-child{color:var(--muted);max-width:540px}
.area-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.area-list span{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:700}
.area-list span::before{content:'•';color:var(--orange);margin-right:10px}
.estimate{background:var(--cream);padding:105px max(5vw,24px);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.estimate-copy{max-width:510px}
.estimate-copy>p:not(.eyebrow){color:var(--muted)}
.contact-note{border-left:4px solid var(--orange);padding:10px 18px;margin-top:32px}
.contact-note strong,.contact-note span{display:block}
.contact-note span{font-size:.85rem;color:var(--muted)}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;padding:35px;box-shadow:0 15px 45px #0b172812}
label{font-size:.82rem;font-weight:700;letter-spacing:.02em}
label small{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #cbd1d8;background:#fbfcfd;font:inherit;color:var(--ink);border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid #f47b2044;border-color:var(--orange)}
.full{grid-column:1/-1}
.form-help{font-size:.78rem;color:var(--muted);margin:0;text-align:center}
footer{background:#07111f;color:#aeb9c7;padding:38px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.78rem}
.footer-brand{color:#fff}
footer .brand small{color:#9ba9b8}
@media(max-width:850px){nav{display:none}
.hero{min-height:650px}
.hero-overlay{background:linear-gradient(90deg,rgba(6,15,28,.96),rgba(6,15,28,.65))}
.section-heading,.split,.areas,.estimate{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr 1fr}
.steps{margin-top:20px}
.steps>div{grid-template-columns:40px 130px 1fr}
footer{flex-wrap:wrap}
}
@media(max-width:560px){.site-header{height:70px}
.site-header>.button{display:none}
.hero{min-height:690px}
.hero-content{width:88%}
.hero h1{font-size:4rem}
.hero-copy{font-size:1rem}
.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}
.trust-row{flex-direction:column;gap:6px;margin-top:30px}
.section,.split,.estimate{padding:75px 22px}
.section-heading{gap:22px}
.service-grid{grid-template-columns:1fr}
.service-grid article{min-height:auto}
.steps>div{grid-template-columns:40px 1fr}
.steps p{grid-column:2}
.areas{padding-left:22px;padding-right:22px}
.area-list{grid-template-columns:1fr}
form{grid-template-columns:1fr;padding:24px}
.full{grid-column:1}
.estimate{gap:40px}
footer{align-items:flex-start;flex-direction:column}
.footer-brand{margin-bottom:5px}
}

/* Real GSM branding and project gallery */
.brand-logo img{display:block;width:150px;height:58px;object-fit:contain}
.brand-logo>span{max-width:170px;font:700 .72rem/1.25 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
nav{gap:28px}
.work{background:#eef1f4}
.work-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;gap:14px}
.work-grid figure{margin:0;position:relative;overflow:hidden;background:var(--navy)}
.work-grid .work-feature{grid-row:span 2}
.work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.work-grid figure:hover img{transform:scale(1.035)}
.work-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 20px 18px;color:#fff;background:linear-gradient(transparent,rgba(4,12,22,.9))}
.work-grid figcaption strong,.work-grid figcaption span{display:block}
.work-grid figcaption strong{font:700 1.35rem 'Barlow Condensed';text-transform:uppercase}
.work-grid figcaption span{font-size:.8rem;color:#d6dde6}
.contact-note strong,.contact-note a,.contact-note span{display:block}
.contact-note a{font-size:.93rem;color:var(--muted);margin-top:3px}
.contact-note a:hover{color:var(--orange)}
.contact-note span{font-size:.8rem;color:var(--muted);margin-top:10px;max-width:390px}
.send-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.send-options[hidden]{display:none}
.send-options a{padding:13px;text-align:center;font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}
.send-text{background:var(--navy);color:#fff}
.send-email{border:2px solid var(--navy);color:var(--navy)}
.footer-brand img{width:145px;height:62px;object-fit:contain;background:#fff;padding:4px}
.footer-brand>span{color:#fff}
footer a:hover{color:var(--orange)}
@media(max-width:850px){.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.brand-logo img{width:112px;height:48px}.site-header .brand-logo>span{max-width:120px;font-size:.58rem}.work-grid{grid-template-columns:1fr;grid-auto-rows:310px}.work-grid .work-feature{grid-row:span 1}.send-options{grid-template-columns:1fr}}

/* Search-focused service pages */
.service-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,28,.96),rgba(6,15,28,.68) 58%,rgba(6,15,28,.2))}
.service-hero-content{position:relative;z-index:1;width:min(1180px,90%);margin:0 auto;padding:90px 0 70px}
.back-home{display:inline-flex;align-items:center;margin-bottom:25px;padding:8px 13px;border:1px solid #ffffff80;background:#07111f99;color:#fff;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.back-home:hover{background:#fff;color:var(--navy)}
.service-hero h1{font:800 clamp(3.3rem,7vw,6.2rem)/.94 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.025em;max-width:850px;margin:0}
.service-hero p:not(.eyebrow){max-width:680px;color:#dce4ed;font-size:1.08rem;margin:24px 0 28px}
.service-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:8vw;align-items:start}
.service-copy h2,.service-copy h3,.service-aside h2{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;line-height:1;margin:0 0 16px}
.service-copy h2{font-size:clamp(2.5rem,4.5vw,4rem)}
.service-copy h3{font-size:1.8rem;margin-top:38px}
.service-copy p,.service-copy li{color:var(--muted)}
.service-copy ul{padding-left:20px}
.service-copy li{margin:8px 0}
.service-aside{background:var(--navy);color:#fff;padding:32px;position:sticky;top:105px}
.service-aside h2{font-size:2rem}
.service-aside p{color:#c4ceda;font-size:.92rem}
.service-aside .button{width:100%;margin-top:12px}
.service-aside .outline-button{background:transparent;border:1px solid #ffffff70}
.service-aside .outline-button:hover{background:#fff;color:var(--navy)}
.faq-list{margin-top:48px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}
.faq-list summary{cursor:pointer;font-weight:800}
.faq-list details p{margin:10px 0 2px}
.related-services{background:var(--cream)}
.related-links{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.related-links a{background:#fff;border-left:4px solid var(--orange);padding:22px;font-weight:800}
.related-links a:hover{background:var(--navy);color:#fff}
@media(max-width:850px){.service-layout{grid-template-columns:1fr}.service-aside{position:static}.related-links{grid-template-columns:1fr}}
@media(max-width:560px){.service-hero{min-height:500px}.service-hero-content{width:88%;padding:75px 0 55px}.service-hero h1{font-size:3.4rem}.service-layout{gap:40px}}
