body { background: #f0f0eb; }
.site-header { position: absolute; }
.brand-logo > span { display:flex; flex-direction:column; line-height:1.05; }
.brand-logo strong { font:700 15px var(--heading); letter-spacing:.08em; }
.brand-logo small { margin-top:5px; color:#ff7a49; font:500 8px var(--mono); letter-spacing:.22em; }
.brand-logo img { width:58px; height:58px; }
.brand-logo img { width:60px; height:60px; }
.brand-logo strong { font-family:'Syne', var(--heading); font-weight:800; }
.floating-whatsapp-trigger { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; padding:0; background:#25D366; }
.floating-whatsapp-trigger span,.floating-whatsapp-trigger b { display:none; }
.floating-whatsapp-trigger i { color:#fff; font-size:28px; }
.desktop-nav { display:flex; gap:30px; margin-left:auto; }
.desktop-nav a { font-size:12px; font-weight:650; }
.nav-phone { color:#fff; font:500 11px var(--mono); }

.service-hero { position:relative; min-height:760px; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); color:#fff; }
.service-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,14,12,.96) 0%,rgba(12,14,12,.78) 42%,rgba(12,14,12,.18) 80%),linear-gradient(0deg,rgba(12,14,12,.75),transparent 60%); }
.service-hero-inner { position:relative; z-index:1; padding:150px 0 90px; }
.breadcrumbs { display:flex; align-items:center; gap:10px; margin-bottom:68px; color:rgba(255,255,255,.56); font:9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.breadcrumbs a:hover { color:#fff; }
.service-hero h1 { max-width:1000px; margin:0 0 26px; font:600 clamp(44px,5.6vw,82px)/1.03 var(--heading); letter-spacing:-.055em; }
.service-hero-inner > p:not(.eyebrow) { max-width:720px; color:rgba(255,255,255,.78); font-size:clamp(16px,1.4vw,20px); line-height:1.7; }
.service-hero .hero-actions { margin-top:34px; }

.service-proof { background:#f45117; color:#fff; }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-grid > div { min-height:122px; padding:25px 28px; border-right:1px solid rgba(255,255,255,.25); display:grid; grid-template-columns:38px 1fr; align-content:center; }
.proof-grid > div:last-child { border-right:0; }
.proof-grid span { grid-row:span 2; font:10px var(--mono); opacity:.68; padding-top:4px; }
.proof-grid strong { font:500 15px var(--heading); }
.proof-grid small { margin-top:5px; opacity:.72; font-size:11px; }

.detail-section,.coverage-section,.faq-section { padding:clamp(90px,10vw,145px) 0; }
.detail-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:9vw; }
.detail-grid header { position:sticky; top:120px; align-self:start; }
.detail-grid h2,.coverage-grid h2,.faq-grid h2,.form-layout h2,.section-head h2 { margin:0 0 22px; font:600 clamp(34px,4vw,60px)/1.08 var(--heading); letter-spacing:-.05em; }
.detail-grid header > p:not(.eyebrow),.coverage-grid > div > p:not(.eyebrow),.form-layout > div > p:not(.eyebrow) { color:#646962; line-height:1.8; }
.scope-list { border-top:1px solid var(--line); }
.scope-list article { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:30px 0; border-bottom:1px solid var(--line); }
.scope-list article > span { color:var(--orange); font:10px var(--mono); }
.scope-list h3 { margin:0 0 9px; font:500 clamp(18px,2vw,26px)/1.25 var(--heading); }
.scope-list p { grid-column:2; margin:-4px 0 0; color:#737871; font-size:13px; }

.process-dark { padding:clamp(90px,10vw,145px) 0; background:var(--ink); color:#fff; }
.section-head { display:grid; grid-template-columns:.7fr 1.3fr; gap:9vw; margin-bottom:55px; }
.process-list { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--light-line); border-bottom:1px solid var(--light-line); }
.process-list li { min-height:260px; padding:28px; border-right:1px solid var(--light-line); }
.process-list li:last-child { border-right:0; }
.process-list > li > span { color:var(--orange); font:10px var(--mono); }
.process-list h3 { margin:78px 0 12px; font:500 18px var(--heading); }
.process-list p { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.7; }

.coverage-section { background:#e3e4de; }
.coverage-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:start; }
.city-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.city-card { min-height:125px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; background:transparent; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; transition:.25s; }
.city-card:hover { background:var(--orange); color:#fff; }
.city-card span { font:500 13px var(--heading); }
.city-card b { color:var(--orange); font:500 9px var(--mono); text-transform:uppercase; }
.city-card:hover b { color:#fff; }
.city-card.all { background:var(--ink); color:#fff; }
.city-card.all b { color:#ff7a49; }

.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
details { border-top:1px solid var(--line); }
details:last-child { border-bottom:1px solid var(--line); }
summary { min-height:74px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-weight:700; list-style:none; }
summary::after { content:'+'; color:var(--orange); font:20px var(--mono); }
details[open] summary::after { content:'−'; }
details p { max-width:700px; margin:-4px 0 24px; color:#686d67; line-height:1.75; font-size:14px; }

.form-section { padding:clamp(90px,10vw,140px) 0; background:var(--orange); color:#fff; }
.form-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.form-layout > div > p:not(.eyebrow) { color:rgba(255,255,255,.78); }
.call-stack { display:flex; flex-direction:column; margin-top:34px; gap:8px; font:500 16px var(--mono); }
.form-card { background:#f4f4ef; color:var(--ink); padding:clamp(24px,4vw,50px); }
.lead-form { display:grid; gap:15px; }
.lead-form label { display:grid; gap:7px; font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.lead-form input,.lead-form select,.lead-form textarea { width:100%; min-height:48px; border:1px solid rgba(18,20,18,.2); border-radius:0; background:#fff; padding:12px 13px; color:var(--ink); font:400 13px var(--body); text-transform:none; letter-spacing:0; }
.lead-form textarea { min-height:90px; resize:vertical; }
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-color:var(--orange); outline:2px solid rgba(244,81,23,.18); }
.lead-form .consent { display:flex; grid-template-columns:20px 1fr; align-items:start; font:400 11px/1.5 var(--body); text-transform:none; letter-spacing:0; }
.consent input { width:18px; min-height:18px; margin:1px 0 0; }
.consent a { text-decoration:underline; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; }
.form-status { min-height:18px; margin:0; color:#62675f; font-size:11px; }
.form-card .button { width:100%; justify-content:space-between; }

.quote-modal-card { padding:clamp(26px,4vw,48px); }
.quote-modal-card .lead-form { margin-top:26px; }
.floating-whatsapp-trigger b { color:#44df7e; font:700 11px var(--mono); }
.hub-hero { min-height:610px; padding:185px 0 90px; display:flex; align-items:flex-end; background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.hub-hero::after { content:''; position:absolute; right:-5vw; top:70px; width:48vw; height:48vw; border:8px solid var(--orange); border-radius:50%; opacity:.18; box-shadow:0 0 0 70px rgba(244,81,23,.12),0 0 0 140px rgba(244,81,23,.07); }
.hub-hero .shell { position:relative; z-index:1; }
.hub-hero h1 { max-width:1050px; margin:0 0 26px; font:600 clamp(45px,6vw,86px)/1.03 var(--heading); letter-spacing:-.055em; }
.hub-hero .shell > p:not(.eyebrow) { max-width:700px; color:rgba(255,255,255,.68); font-size:17px; line-height:1.7; }
.service-directory { padding:clamp(85px,10vw,140px) 0; }
.directory-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin-bottom:42px; }
.directory-intro > p:last-child { color:#666b65; }
.directory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.directory-card { min-height:410px; position:relative; overflow:hidden; background:var(--ink); color:#fff; padding:24px; display:flex; align-items:flex-end; isolation:isolate; }
.directory-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .6s var(--ease); }
.directory-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(10,12,10,.96),rgba(10,12,10,.12) 82%); }
.directory-card > span { position:absolute; top:20px; left:20px; width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); background:rgba(10,12,10,.72); font:9px var(--mono); }
.directory-card small { color:#ff7a49; font:9px var(--mono); text-transform:uppercase; letter-spacing:.09em; }
.directory-card h2 { margin:9px 0 10px; font:500 clamp(18px,1.6vw,24px)/1.25 var(--heading); }
.directory-card p { margin:0 0 22px; color:rgba(255,255,255,.62); font-size:11px; line-height:1.6; }
.directory-card b { font:600 9px var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.directory-card:hover > img { transform:scale(1.05); }
.directory-card:hover b { color:#ff7a49; }
.service-gallery { padding:0 0 clamp(85px,10vw,140px); background:var(--paper); }
.service-gallery-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:16px; }
.service-gallery figure { min-height:520px; margin:0; position:relative; overflow:hidden; background:var(--ink); }
.service-gallery figure:nth-child(2) { margin-top:90px; min-height:420px; }
.service-gallery img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-gallery figcaption { position:absolute; left:18px; bottom:18px; padding:10px 13px; background:rgba(18,20,18,.9); color:#fff; font:9px var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.service-carousel{position:relative}.service-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.service-carousel-track::-webkit-scrollbar{display:none}.service-slide{flex:0 0 min(78vw,980px);height:min(66vw,650px);min-height:420px;scroll-snap-align:start;margin:0;position:relative;overflow:hidden;background:var(--ink)}.service-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.carousel-controls button{width:48px;height:48px;border:1px solid var(--ink);background:transparent;font-size:18px}.carousel-controls span{font:10px var(--mono);min-width:52px;text-align:center}
.cookie-banner { position:fixed; z-index:5000; left:18px; bottom:18px; width:min(440px,calc(100vw - 36px)); background:#fff; color:var(--ink); box-shadow:0 22px 70px rgba(0,0,0,.26); padding:24px; }
.cookie-banner h2 { margin:0 0 8px; font:600 17px var(--heading); }
.cookie-banner p { margin:0 0 17px; color:#646962; font-size:12px; line-height:1.6; }
.cookie-actions { display:flex; gap:8px; flex-wrap:wrap; }
.cookie-actions button,.cookie-actions a { min-height:44px; padding:11px 14px; border:1px solid var(--line); background:#fff; font-size:11px; font-weight:700; }
.cookie-actions .accept { background:var(--ink); color:#fff; }

@media(max-width:900px){
  .desktop-nav,.nav-phone { display:none; }
  .btn-mobile-toggle { display:block; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid > div:nth-child(2) { border-right:0; }
  .proof-grid > div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.25); }
  .detail-grid,.coverage-grid,.faq-grid,.form-layout,.section-head { grid-template-columns:1fr; gap:38px; }
  .directory-grid { grid-template-columns:1fr 1fr; }
  .detail-grid header { position:static; }
  .process-list { grid-template-columns:1fr 1fr; }
  .process-list li:nth-child(2) { border-right:0; }
  .process-list li:nth-child(-n+2) { border-bottom:1px solid var(--light-line); }
  .city-grid { grid-template-columns:1fr 1fr; }
  .service-gallery-grid { grid-template-columns:1fr; }
  .service-gallery figure,.service-gallery figure:nth-child(2) { min-height:360px; margin-top:0; }
}
@media(max-width:600px){
  .brand-logo img { width:50px; height:50px; }
  .brand-logo strong { font-size:12px; }
  .service-hero { min-height:720px; }
  .service-hero-inner { padding-top:130px; padding-bottom:62px; }
  .breadcrumbs { margin-bottom:48px; overflow:hidden; white-space:nowrap; }
  .service-hero h1 { font-size:clamp(35px,10vw,49px); }
  .hub-hero { min-height:560px; padding-top:150px; }
  .hub-hero h1 { font-size:clamp(36px,10vw,50px); }
  .directory-intro,.directory-grid { grid-template-columns:1fr; }
  .directory-card { min-height:360px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid > div { padding:18px 14px; grid-template-columns:28px 1fr; }
  .process-list { grid-template-columns:1fr; }
  .process-list li { min-height:190px; border-right:0; border-bottom:1px solid var(--light-line); }
  .process-list h3 { margin-top:45px; }
  .city-grid { grid-template-columns:1fr 1fr; }
  .city-card { min-height:105px; }
}
