/* Self-hosted fonts: no third-party requests, subset to what the site uses */
@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:600 800;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(/fonts/inter-mac.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-017F}
/* Macron vowels (ā ē ī ō ū) from Playfair Display, because Fraunces draws them off-centre */
@font-face{font-family:EvMac;src:url(/fonts/mac-600.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-017F}
@font-face{font-family:EvMac;src:url(/fonts/mac-800.woff2) format("woff2");font-weight:800 900;font-display:swap;unicode-range:U+0100-017F}
:root{--ink:#101418;--ink-2:#1a2027;--cream:#f7f2e9;--paper:#fffdf8;--coral:#b7d418;--olive:#5d7a10;--sun:#ffc23d;--teal:#138a8a;--sea:#2c5fa8;--sage:#8fae8b;--muted:#5b6470;--line:#e7e0d3;--r:22px;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:light}}
:root[data-theme="dark"]{color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:17px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1200px,100% - 32px);margin-inline:auto}
h1,h2,h3{font-family:EvMac,Fraunces,Georgia,serif;line-height:1.05;letter-spacing:-.02em}
h2{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:800}
h3{font-size:1.35rem;font-weight:600;letter-spacing:-.01em}
.eyebrow{display:inline-flex;gap:.5rem;align-items:center;font:700 .78rem/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--olive)}
.hero .eyebrow,.climate .eyebrow,.cta .eyebrow{color:var(--coral)}
.eyebrow:before{content:"";width:28px;height:3px;border-radius:3px;background:currentColor}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.5rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-coral{background:var(--coral);color:var(--ink);box-shadow:0 10px 30px -10px rgba(183,212,24,.7)}
.btn-ghost{border:2px solid rgba(255,255,255,.25);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.ph{background:repeating-linear-gradient(135deg,#efe8db 0 14px,#e8e0d0 14px 28px);color:#7a6f5d;font:600 .85rem/1.4 Inter,sans-serif;display:grid;place-items:center;text-align:center;padding:1rem;border-radius:var(--r)}
.todo{background:#fff3c4;color:#6b4e00;border-radius:6px;padding:0 .35rem;font-weight:700;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* header */
header{position:absolute;inset:0 0 auto;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:1rem}
.logo img{height:52px;width:auto}
@media (max-width:480px){.logo img{height:40px}}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.logo b{display:block;font:800 1.2rem/1 EvMac,Fraunces,serif}
.logo small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.nav ul{display:flex;gap:1.8rem;list-style:none}
.nav ul a{color:rgba(255,255,255,.8);text-decoration:none;font-weight:500;font-size:.95rem}
.nav ul a:hover{color:#fff}
.nav .btn{padding:.75rem 1.2rem;font-size:.95rem}
@media (max-width:900px){.nav ul{display:none}}

/* hero */
.hero{position:relative;background:var(--ink);color:#fff;padding:150px 0 110px;overflow:hidden;isolation:isolate}
.hero:before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(40% 50% at 85% 30%,rgba(183,212,24,.35),transparent 70%),radial-gradient(35% 45% at 70% 90%,rgba(19,138,138,.4),transparent 70%),radial-gradient(30% 40% at 10% 10%,rgba(44,95,168,.35),transparent 70%)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E")}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(2.9rem,7.4vw,6.2rem);font-weight:800;margin:1.2rem 0 1.5rem}
.hero h1 em{font-style:italic;position:relative;white-space:nowrap;color:var(--coral)}
.hero h1 em{text-decoration:underline;text-decoration-color:#5d7a10;text-decoration-thickness:.07em;text-underline-offset:.14em}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:rgba(255,255,255,.78);max-width:34em}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.hero-points{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2.4rem;list-style:none;font-size:.92rem;color:rgba(255,255,255,.7)}
.hero-points li{padding-right:1.6rem;border-right:1px solid rgba(255,255,255,.18);letter-spacing:.02em}.hero-points li:last-child{border-right:0;padding-right:0}
.hero-points{gap:.6rem 1.6rem!important}

.badge{position:absolute;top:14px;right:0;width:130px;height:130px;border-radius:50%;background:var(--coral);color:var(--ink);display:grid;place-items:center;text-align:center;font:800 .95rem/1.15 EvMac,Fraunces,serif;box-shadow:0 20px 40px -14px rgba(0,0,0,.6);z-index:2}
.badge span{display:block;font:700 .62rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
@media (max-width:900px){.hero{padding:120px 0 70px}.hero-grid{grid-template-columns:1fr}.badge{width:104px;height:104px;font-size:.8rem}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none!important}}

/* before/after */
.ba{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#222;user-select:none;--p:50%}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .bf{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3}
.ba .hd{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;z-index:2;pointer-events:none}
.ba .hd:after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--coral);color:var(--ink);display:grid;place-items:center;font:800 1.1rem/1 Inter,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.ba .tg{position:absolute;top:14px;z-index:2;padding:.35rem .75rem;border-radius:999px;font:700 .72rem/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.ba .tg.l{left:14px;background:rgba(16,20,24,.75);color:#fff}.ba .tg.r{right:14px;background:var(--coral);color:var(--ink)}
.hero-ba{position:relative}
.hero-ba .ba{box-shadow:0 40px 80px -30px rgba(0,0,0,.8);outline:10px solid #fff}
.hero-ba .badge{top:-40px;right:-26px}
.hero-ba .cap{margin-top:1.6rem;font-size:.85rem;color:rgba(255,255,255,.6);text-align:center}
@media (max-width:900px){.hero-ba{margin:1.5rem 8px 0}.hero-ba .badge{right:-8px;top:-46px}}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.ba-grid figure{margin:0}.ba-grid figcaption{margin-top:.7rem;font-size:.92rem;color:var(--muted)}
.ba-grid figcaption b{color:var(--ink)}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.strip img{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:100%;height:auto}
@media (max-width:760px){.ba-grid{grid-template-columns:1fr}.strip{grid-template-columns:1fr}}
.tagline{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font:800 clamp(1rem,2vw,1.25rem)/1.2 EvMac,Fraunces,serif;margin-top:1.4rem}
.tagline span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--coral);margin-right:.55rem;transform:skew(-20deg)}

/* marquee */
.marquee{background:var(--coral);color:var(--ink);overflow:hidden;padding:18px 0;margin:-18px 0 0;position:relative;width:104%;left:-2%;z-index:3}
.marquee-track{display:flex;gap:2.5rem;width:max-content;animation:scroll 30s linear infinite;font:800 1.4rem/1 EvMac,Fraunces,serif;white-space:nowrap}
.marquee-track span:nth-child(even){color:#4a6200}
@keyframes scroll{to{transform:translateX(-50%)}}

section{padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}
.sec-head p{max-width:34em;color:var(--muted)}

/* intro */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.intro .big{font:600 clamp(1.5rem,2.6vw,2.1rem)/1.3 EvMac,Fraunces,serif;letter-spacing:-.01em}
.intro .big mark{background:linear-gradient(transparent 60%,rgba(255,194,61,.6) 60%);color:inherit}
.intro p+p{margin-top:1rem;color:var(--muted)}
@media (max-width:900px){.intro{grid-template-columns:1fr;gap:2rem}}

/* services */
.services{background:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.also{margin-top:1.6rem;text-align:center;color:var(--muted)}
.card{position:relative;background:#fff;border-radius:var(--r);padding:1.6rem;border:1px solid var(--line);overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(16,20,24,.4)}
.card .sw{aspect-ratio:4/3;border-radius:14px;margin-bottom:1.3rem;position:relative;overflow:hidden;background:#ddd}
.card .sw img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .sw img{transform:scale(1.05)}
.card .sw:after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.15))}
.card h3{margin-bottom:.6rem}
.card p{color:var(--muted);font-size:.95rem}
.card ul{list-style:none;margin-top:1rem;font-size:.9rem}
.card li{padding:.35rem 0;border-top:1px dashed var(--line)}
@media (max-width:1000px){.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:span 2}}
@media (max-width:560px){.cards .card:last-child{grid-column:auto}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* climate */
.climate{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.climate .sec-head p{color:rgba(255,255,255,.7)}
.threats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.climate .pohu{position:absolute;opacity:.55;pointer-events:none}.p1{width:260px;right:-60px;top:-50px}.p2{width:150px;left:-50px;bottom:-40px;opacity:.3}
@media (max-width:760px){.p1{width:180px;right:-60px;top:-60px}.p2{display:none}}
.threat{border-radius:var(--r);padding:2rem;background:var(--ink-2);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}
.threat .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:1.2rem;font-size:1.6rem}
.threat p{color:rgba(255,255,255,.72);margin-top:.6rem;font-size:.97rem}
.threat strong{color:#fff}
@media (max-width:900px){.threats{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:s}
.step{padding:1.8rem;border-radius:var(--r);background:var(--cream);position:relative}
.step:before{counter-increment:s;content:"0" counter(s);font:800 3.2rem/1 EvMac,Fraunces,serif;color:transparent;-webkit-text-stroke:1.5px var(--olive);display:block;margin-bottom:1rem}
.step p{color:var(--muted);font-size:.95rem;margin-top:.5rem}
@media (max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* work */
.work{background:var(--cream)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:1rem}
.gallery .ph:first-child{grid-row:span 2}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery .ph{min-height:170px}.gallery .ph:first-child{grid-column:span 2;grid-row:auto;min-height:260px}}

/* reviews */
.reviews-box{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.stars{font-size:2rem;letter-spacing:.2em;color:var(--coral)}
.rv{border:2px dashed var(--line);border-radius:var(--r);padding:2rem}
.rv p{color:var(--muted)}
@media (max-width:900px){.reviews-box{grid-template-columns:1fr}}

/* areas */
.areas{position:relative;padding-top:110px;background:linear-gradient(160deg,#0f4c5c 0%,#0b2f3a 55%,#101418 100%);color:#fff;overflow:hidden}
.wave{position:absolute;top:-1px;left:0;width:100%;height:70px}
.areas:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L0 70 L120 40 L230 75 L360 20 L470 60 L600 35 L720 80 L860 30 L990 65 L1120 25 L1250 70 L1440 45 L1440 120Z' fill='%23ffffff' opacity='.05'/%3E%3C/svg%3E") center/100% 100%}
.areas .wrap{position:relative;z-index:1}
.areas .sec-head p{color:rgba(255,255,255,.8)}
.areas .eyebrow{color:var(--coral)}
.pills{display:flex;flex-wrap:wrap;gap:.7rem}
.pills span:hover{background:#d7263d;border-color:#d7263d}
.pills span{transition:background .2s;padding:.75rem 1.2rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-weight:600;backdrop-filter:blur(4px)}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem}
details{border-bottom:1px solid var(--line);padding:1.3rem 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font:600 1.2rem/1.3 EvMac,Fraunces,serif}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font:400 1.8rem/1 Inter,sans-serif;color:var(--olive);transition:transform .2s}
details[open] summary:after{transform:rotate(45deg)}
details p{margin-top:.8rem;color:var(--muted)}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:1.5rem}}

/* contact */
.cta{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;right:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(183,212,24,.45),transparent 65%)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;position:relative}
.cta p{color:rgba(255,255,255,.75);margin-top:1rem}
form{background:#fff;color:var(--ink);border-radius:var(--r);padding:2rem;display:grid;gap:1rem}
label{display:grid;gap:.35rem;font-size:.85rem;font-weight:700}
input,select,textarea{font:inherit;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr;gap:2rem}}
@media (max-width:480px){.row2{grid-template-columns:1fr}}

footer{background:#0a0d10;color:rgba(255,255,255,.7);padding:70px 0 100px;font-size:.92rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
footer h3{color:#fff;font-size:1rem;font-family:Inter,sans-serif;margin-bottom:.8rem;letter-spacing:0}
footer ul{list-style:none;display:grid;gap:.4rem}
footer a{text-decoration:none}footer a:hover{color:#fff}
.copy{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}
@media (max-width:760px){.foot{grid-template-columns:1fr}}
.callbar{display:none}
@media (max-width:760px){.callbar{display:flex;position:fixed;inset:auto 12px 12px;z-index:20;justify-content:center;padding:1rem;border-radius:999px;background:var(--coral);color:var(--ink);font-weight:700;text-decoration:none;box-shadow:0 12px 30px -8px rgba(0,0,0,.5)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---- shared, inner pages ---- */
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.6rem 1rem;z-index:99}.skip:focus{left:8px;top:8px}
.nav ul a[aria-current]{color:var(--coral)}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.menu-btn{display:none;width:46px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu-btn span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
@media (max-width:1000px){
 .nav ul{display:none;position:absolute;top:84px;left:16px;right:16px;flex-direction:column;gap:0;background:var(--ink-2);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:.6rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
 .nav ul.open{display:flex}
 .nav ul a{display:block;padding:.85rem 1rem;font-size:1.05rem}
 .menu-btn{display:flex}
 .menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-btn span:nth-child(2){opacity:0}.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:420px){.nav-cta .btn{display:none}}
.hero-inner{padding:140px 0 80px}
.hero-inner h1{font-size:clamp(2.3rem,5.2vw,4.2rem);margin:1rem 0 1.2rem}
.hero-inner .hero-grid{grid-template-columns:1.1fr .9fr}
@media (max-width:900px){.hero-inner{padding:110px 0 60px}.hero-inner .hero-grid{grid-template-columns:1fr}}
.hero-ph .ph{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#1f262e 0 14px,#232b34 14px 28px);color:rgba(255,255,255,.6)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:1.4rem}
.crumbs li+li:before{content:"/";margin-right:.4rem;opacity:.5}
.crumbs a{color:rgba(255,255,255,.8);text-decoration:none}.crumbs a:hover{color:var(--coral)}
.sec-sm{padding:80px 0}
.prose-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:4rem;align-items:start}
.prose-wrap:has(> .prose:only-child){grid-template-columns:minmax(0,760px)}
@media (max-width:960px){.prose-wrap{grid-template-columns:1fr;gap:2.5rem}}
.prose{max-width:760px;min-width:0}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:2.6rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#333b45}
.prose p+p{margin-top:1rem}
.prose ul{margin:1rem 0 1rem 1.2rem}.prose li{margin:.45rem 0}
.prose a{color:var(--olive);font-weight:600}
.prose figure{margin:2rem 0}.prose figure img{border-radius:var(--r);width:100%;height:auto}
.prose figcaption,.ba-grid figcaption{margin-top:.6rem;font-size:.9rem;color:var(--muted)}
.answer{font-size:1.2rem;line-height:1.6;color:var(--ink)!important;border-left:4px solid var(--coral);padding-left:1.2rem}
.ticks{list-style:none;margin-left:0!important;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.5rem}
.ticks li{padding-left:1.6rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%235d7a10' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 .3em/16px}
@media (max-width:560px){.ticks{grid-template-columns:1fr}}
.side{display:grid;gap:1.2rem;position:sticky;top:24px}
.side-card{background:var(--ink);color:#fff;border-radius:var(--r);padding:1.6rem}
.side-card p{color:rgba(255,255,255,.75);margin:.5rem 0 1.2rem;font-size:.95rem}
.side-card .btn{width:100%;justify-content:center}
.side-phone{display:block;text-align:center;margin-top:.8rem;color:rgba(255,255,255,.8);font-size:.92rem}
.side-card.light{background:var(--cream);color:var(--ink)}
.side-card.light ul{list-style:none;margin-top:.8rem;display:grid;gap:.5rem}
.side-card.light a{color:var(--olive);font-weight:600;text-decoration:none}
.card{position:relative}
.card h3 a{text-decoration:none}
.stretch:after{content:"";position:absolute;inset:0;z-index:1}
.card .meta{font-size:.82rem;color:var(--olive);font-weight:700;margin-bottom:.4rem}
.card .ph{aspect-ratio:4/3;height:100%}
.also a{color:var(--olive);font-weight:600}
.sec-head a{color:inherit;font-weight:700}
.pills a{padding:.75rem 1.2rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-weight:600;text-decoration:none;color:#fff;transition:background .2s}
.pills a:hover{background:#d7263d;border-color:#d7263d}
.pills.light span{background:var(--cream);border:1px solid var(--line);color:var(--ink);padding:.55rem 1rem;border-radius:999px;font-weight:600;font-size:.92rem}
.pills.light{display:flex;flex-wrap:wrap;gap:.5rem}
.person,.author{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:start;background:var(--cream);border-radius:var(--r);padding:1.5rem;margin-top:1rem}
.author{margin-top:3rem;grid-template-columns:96px 1fr}
.avatar{aspect-ratio:1;border-radius:50%;font-size:.75rem;padding:.6rem}
.meta{font-size:.85rem;color:var(--muted)}
@media (max-width:560px){.person,.author{grid-template-columns:1fr}.avatar{width:120px}}
.rv{border:2px dashed var(--line);border-radius:var(--r);padding:2rem}
form .btn{justify-content:center;border:0;cursor:pointer;font-size:1rem}
.contact-grid h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.contact-list{list-style:none;display:grid;gap:1.2rem;margin:1.5rem 0}
.contact-list a{color:var(--olive);font-weight:600}
.contact-grid form{box-shadow:0 30px 60px -30px rgba(16,20,24,.35);border:1px solid var(--line)}
.work .ba-grid figure:first-child:last-child{grid-column:span 2}
.strip figure{margin:0}
.strip picture,.strip img{display:block}
footer .foot{grid-template-columns:1.4fr 1fr 1fr 1fr}
footer .logo img{height:60px}
@media (max-width:900px){footer .foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .foot{grid-template-columns:1fr}}
.nap li{line-height:1.5}

/* trust + glen */
.trust{padding:70px 0 0}
.trust-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 2rem}
.dulux{display:flex;gap:1.2rem;align-items:center}
.dulux img{height:56px;width:auto}
.dulux-ph{display:grid;place-items:center;min-width:120px;height:60px;border:2px dashed #d8cfb8;border-radius:12px;font-size:.8rem;flex-shrink:0}
.dulux b{display:block;font:800 1.25rem/1.2 EvMac,Fraunces,serif}
.dulux span:not(.dulux-ph):not(.todo){display:block;color:var(--muted);font-size:.92rem;margin-top:.2rem}
.dulux.dark{background:var(--cream);border-radius:var(--r);padding:1.2rem;flex-direction:column;align-items:flex-start;gap:.8rem}
.trust-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}
.trust-list b{display:block;font:800 1.7rem/1 EvMac,Fraunces,serif;color:var(--olive)}
.trust-list span{font-size:.82rem;color:var(--muted)}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr;padding:1.4rem}.dulux{flex-direction:column;align-items:flex-start}}
.glen{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.glen:before{content:"";position:absolute;left:-200px;bottom:-250px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(183,212,24,.28),transparent 65%)}
.glen .eyebrow{color:var(--coral)}
.glen-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center;position:relative}
.glen-photo{margin:0;position:relative}
.glen-photo img{border-radius:var(--r);width:100%;height:auto;outline:10px solid #fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.glen-photo figcaption{margin-top:1.4rem;text-align:center;font-size:.85rem;color:rgba(255,255,255,.6)}
.big-p{font:600 clamp(1.15rem,1.8vw,1.45rem)/1.5 EvMac,Fraunces,serif;margin-top:1.2rem;color:#fff}
.glen-points{list-style:none;margin-top:1.6rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.5rem;color:rgba(255,255,255,.8)}
.glen-points li{padding-left:1.6rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23b7d418' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 .3em/16px}
@media (max-width:860px){.glen-grid{grid-template-columns:1fr;gap:2.5rem}.glen-photo{max-width:340px;margin:0 auto}.glen-points{grid-template-columns:1fr}}
.person-img{width:100%;height:auto;border-radius:16px}
.avatar-img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.side .dulux.dark span:not(.dulux-ph):not(.todo){color:var(--muted)}
main{overflow-x:clip}
/* refined details */
.marquee-track{align-items:center}
.marquee-track .sep{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink);opacity:.55}
.threat .ico{width:52px;height:52px;border-radius:14px;border:1px solid rgba(183,212,24,.35);background:rgba(183,212,24,.06);color:var(--coral);display:grid;place-items:center;margin-bottom:1.4rem}
.callbar{gap:.55rem;align-items:center}
/* warranty band */
.warranty{background:#0b2569;background:linear-gradient(135deg,#0b2a78 0%,#071a4d 100%);color:#fff;padding:100px 0 80px;position:relative;overflow:hidden}
.warranty:before{content:"";position:absolute;right:-180px;top:-220px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 65%)}
.warranty .eyebrow{color:var(--coral)}
.w-grid{display:grid;grid-template-columns:auto 1fr auto;gap:3.5rem;align-items:center;position:relative}
.w-num{display:flex;align-items:center;gap:.8rem}
.w-15{font:800 clamp(6rem,13vw,10.5rem)/.8 EvMac,Fraunces,serif;letter-spacing:-.05em;color:#fff}
.w-yr{font:700 .95rem/1.25 Inter,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--coral);border-left:2px solid var(--coral);padding-left:.8rem}
.w-copy h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin:.9rem 0 1rem}
.w-copy p{color:rgba(255,255,255,.8);font-size:1.05rem;max-width:36em}
.w-logo{text-align:center}
.w-logo img{width:230px;height:auto;border-radius:18px;box-shadow:0 30px 60px -25px rgba(0,0,0,.7);outline:1px solid rgba(255,255,255,.15)}
.w-logo span{display:block;margin-top:.9rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.w-points{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.15);position:relative}
.w-points li{padding:1.5rem 1rem 0;font-size:.9rem;color:rgba(255,255,255,.7);border-left:1px solid rgba(255,255,255,.12)}
.w-points li:first-child{border-left:0;padding-left:0}
.w-points b{display:block;font:800 1.7rem/1.1 EvMac,Fraunces,serif;color:#fff;margin-bottom:.3rem}
@media (max-width:1000px){.w-grid{grid-template-columns:1fr;gap:2rem}.w-logo{text-align:left}.w-logo img{width:190px}.w-points{grid-template-columns:1fr 1fr}.w-points li:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:480px){.warranty{padding:70px 0 60px}.w-points li{padding:1.2rem .6rem 0}}
.dulux .dulux-logo{width:120px;height:auto;border-radius:10px;flex-shrink:0}
/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem;display:flex;flex-direction:column;gap:1.2rem;box-shadow:0 24px 50px -36px rgba(16,20,24,.35)}
.review .q{width:30px;height:22px;color:var(--coral)}
.review blockquote{margin:0;font:500 1.08rem/1.6 Inter,sans-serif;color:var(--ink);flex:1}
.review figcaption{display:flex;align-items:center;gap:.8rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.review .av{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--coral);display:grid;place-items:center;font:800 1.05rem EvMac,Fraunces,serif;flex-shrink:0}
.review b{display:block;font-size:.95rem}
.review small{color:var(--muted);font-size:.8rem}
.prose .reviews{grid-template-columns:1fr;margin-bottom:2rem}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}
.stars{display:inline-flex;gap:3px;color:#f5b301}
.stars svg{width:18px;height:18px}
.review .stars svg{width:17px;height:17px}
.rv-sum{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.rv-sum .stars svg{width:22px;height:22px}
.rv-sum b{font:800 1.5rem/1 EvMac,Fraunces,serif}
.rv-sum span:not(.stars){color:var(--muted);font-size:.92rem}
.sec-rev{padding:90px 0 40px}
.sec-rev .sec-head p{color:var(--muted)}

/* ===== inner page system ===== */
.hero-inner .lead{max-width:34em}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:var(--r);outline:10px solid #fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.hero-photo figcaption{margin-top:1.4rem;text-align:center;font-size:.85rem;color:rgba(255,255,255,.6)}
.hero-inner .hero-photo{max-width:440px;justify-self:center}
.hero-collage{position:relative;height:460px}
.hero-collage .hc{position:absolute;border-radius:18px;overflow:hidden;outline:8px solid #fff;box-shadow:0 30px 60px -25px rgba(0,0,0,.8)}
.hero-collage img{width:100%;height:100%;object-fit:cover}
.hc1{width:68%;aspect-ratio:4/3;left:0;top:10px;z-index:2}
.hc2{width:52%;aspect-ratio:4/3;right:0;top:0}
.hc3{width:56%;aspect-ratio:4/3;right:6%;bottom:0;z-index:3}
@media (max-width:900px){.hero-collage{height:340px;margin-top:1rem}}
@media (max-width:480px){.hero-collage{height:270px}}
.byline{display:flex;align-items:center;gap:.7rem;margin-top:1.4rem;font-size:.92rem;color:rgba(255,255,255,.75)}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.byline a{color:var(--coral)}
.hero-inner .lead .byline{display:flex}

.tbar{background:var(--paper);border-bottom:1px solid var(--line)}
.tbar-in{display:grid;grid-template-columns:repeat(4,1fr)}
.tb{display:flex;align-items:center;gap:.7rem;padding:1.4rem 1.2rem;border-left:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.tb:first-child{border-left:0;padding-left:0}
.tb b{color:var(--ink);font-weight:700}
.tb .stars svg{width:16px;height:16px}
.tb-dulux{height:30px;width:auto;border-radius:6px}
@media (max-width:900px){.tbar-in{grid-template-columns:1fr 1fr}.tb:nth-child(3){border-left:0;padding-left:0}.tb{padding:1rem .8rem;border-top:1px solid var(--line)}.tb:nth-child(-n+2){border-top:0}}
@media (max-width:420px){.tb{flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.85rem}}

.intro2{padding:90px 0}
.intro2-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:start}
.statement{font:600 clamp(1.35rem,2.4vw,1.85rem)/1.42 EvMac,Fraunces,serif;letter-spacing:-.01em;margin-top:1.1rem;color:var(--ink)}
.incl{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:2rem}
.incl-h{font:700 .8rem/1 Inter,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:1.2rem}
.checks{list-style:none;display:grid;gap:.75rem}
.checks li{padding-left:1.7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%235d7a10' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 .25em/17px;font-size:.98rem;line-height:1.5}
.incl-note{margin-top:1rem;font-size:.9rem;color:var(--muted)}.incl-note a{color:var(--olive);font-weight:600}
@media (max-width:900px){.intro2{padding:60px 0}.intro2-grid{grid-template-columns:1fr;gap:2rem}}

.editorial{padding:30px 0 90px}
.ed-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding:3rem 0;border-top:1px solid var(--line)}
.ed-n{display:block;font:600 .85rem/1 Inter,sans-serif;letter-spacing:.14em;color:var(--olive);margin-bottom:.9rem}
.ed-k h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;position:sticky;top:24px}
.ed-body p,.ed-body li{color:#3a434d;font-size:1.04rem}
.ed-body p+p,.ed-body p+ul,.ed-body ul+p{margin-top:1rem}
.ed-body ul{list-style:none;display:grid;gap:.6rem}
.ed-body li{padding-left:1.7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%235d7a10' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 .3em/17px}
.ed-body a,.editorial a{color:var(--olive);font-weight:600}
.ed-body b{color:var(--ink)}
.ed-media{padding:1rem 0 2.5rem}
.ba-grid.one{grid-template-columns:minmax(0,760px);justify-content:center}
.photo-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}
.photo-pair img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.pp-cap{margin-top:.7rem;font-size:.88rem;color:var(--muted)}
@media (max-width:900px){.ed-row{grid-template-columns:1fr;gap:1.2rem;padding:2.2rem 0}.ed-k h2{position:static}.editorial{padding:10px 0 60px}}
@media (max-width:560px){.photo-pair{grid-template-columns:1fr}}

.qband{background:var(--ink);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.qband:before{content:"";position:absolute;right:-160px;top:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(183,212,24,.22),transparent 65%)}
.qband-in{max-width:900px;text-align:center;position:relative}
.qband .stars svg{width:24px;height:24px}
.qband blockquote{margin:1.6rem 0 1.4rem;font:600 clamp(1.4rem,3vw,2.3rem)/1.35 EvMac,Fraunces,serif;letter-spacing:-.01em}
.qby{color:rgba(255,255,255,.65);font-size:.92rem}.qby b{color:#fff}
.qlink{display:inline-block;margin-top:1.4rem;color:var(--coral);font-weight:700;text-decoration:none}

.steps-sec{padding:100px 0;background:var(--paper)}
.gstrip{padding:70px 0}
.gstrip-in{display:grid;grid-template-columns:150px 1fr auto;gap:2.4rem;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:28px;padding:2rem 2.4rem}
.gstrip img{width:150px;height:150px;border-radius:50%;object-fit:cover;outline:6px solid #fff}
.gstrip h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:.6rem 0 .5rem}
.gstrip p{color:var(--muted);max-width:40em}
@media (max-width:860px){.gstrip-in{grid-template-columns:1fr;text-align:left;padding:1.8rem;gap:1.2rem}.gstrip img{width:110px;height:110px}}

.rv-band{background:var(--cream);padding:100px 0}
.sec-grid{padding:100px 0}
.sec-grid .cards{grid-template-columns:repeat(3,1fr)}
.sec-grid .cards .card:last-child{grid-column:auto}
.card .more{display:inline-block;margin-top:1rem;font-weight:700;font-size:.9rem;color:var(--olive)}
.sw-type{background:linear-gradient(145deg,#1a2027,#101418)!important;display:grid;place-items:center;color:var(--coral)}
.areas-sm{padding-top:100px;padding-bottom:110px}
.areas-sm .sec-head a{color:var(--coral)}
.faq-sec{padding:100px 0}
.faq-sec a{color:var(--olive);font-weight:600}
@media (max-width:1000px){.sec-grid .cards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.sec-grid .cards{grid-template-columns:1fr}}
@media (max-width:760px){.qband,.steps-sec,.rv-band,.sec-grid,.faq-sec{padding:70px 0}}

.values{padding:100px 0}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.val{padding:2rem 2rem 0 0}
.val+.val{padding-left:2rem;border-left:1px solid var(--line)}
.val-n{font:800 3rem/1 EvMac,Fraunces,serif;color:transparent;-webkit-text-stroke:1.3px var(--olive);display:block;margin-bottom:1rem}
.val h3{font-size:1.5rem;margin-bottom:.6rem}
.val p{color:var(--muted)}
@media (max-width:860px){.vals{grid-template-columns:1fr}.val,.val+.val{padding:1.8rem 0;border-left:0;border-bottom:1px solid var(--line)}}

.rating-card{background:#fff;color:var(--ink);border-radius:var(--r);padding:2.6rem 2.2rem;text-align:center;max-width:360px;justify-self:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);}
.rc-n{display:block;font:800 5.5rem/1 EvMac,Fraunces,serif;letter-spacing:-.04em}
.rating-card .stars{margin:.6rem 0}.rating-card .stars svg{width:28px;height:28px}
.rating-card p{font-weight:600}
.rc-g{display:block;margin-top:.5rem;font-size:.8rem;color:var(--muted)}
.leave{padding:0 0 100px}
.leave-in{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--ink);color:#fff;border-radius:28px;padding:2.6rem 3rem}
.leave-in p{color:rgba(255,255,255,.7);margin-top:.6rem}
@media (max-width:760px){.leave-in{flex-direction:column;align-items:flex-start;padding:2rem}}

.feature-post{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:1.4rem;transition:box-shadow .25s}
.feature-post:hover{box-shadow:0 30px 60px -35px rgba(16,20,24,.4)}
.feature-post img{width:100%;height:auto;border-radius:20px}
.feature-post h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.6rem 0 .9rem}
.feature-post h2 a{text-decoration:none}
.feature-post p{color:var(--muted)}
.feature-post .meta{color:var(--olive);font-weight:700}
@media (max-width:860px){.feature-post{grid-template-columns:1fr;gap:1.4rem}}

.article{padding:90px 0}
.art{max-width:720px;margin:0 auto}
.art h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:3rem 0 1rem}
.art p,.art li{color:#333b45;font-size:1.06rem;line-height:1.75}
.art p+p{margin-top:1rem}
.art ul{list-style:none;display:grid;gap:.6rem;margin:1rem 0}
.art li{padding-left:1.7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%235d7a10' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 .35em/17px}
.art a{color:var(--olive);font-weight:600}
.pull{margin:2.6rem 0;padding:1.8rem 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);font:600 clamp(1.35rem,2.6vw,1.8rem)/1.35 EvMac,Fraunces,serif;color:var(--ink)}
.art-fig{margin:2.6rem 0}.art-fig figcaption{margin-top:.7rem;font-size:.88rem;color:var(--muted)}
.art details{border-bottom:1px solid var(--line)}

.contact-sec{padding:90px 0}
.contact2{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.contact-cards{display:grid;gap:1rem}
.cc{display:block;background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.6rem;text-decoration:none;color:var(--ink)}
.cc small{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);font-weight:700;margin-bottom:.4rem}
.cc b{display:block;font:700 1.2rem/1.35 EvMac,Fraunces,serif}
.cc span{display:block;margin-top:.3rem;font-size:.88rem;color:var(--muted)}
.cc span a{color:var(--olive);font-weight:600}
.cc-main{background:var(--ink);color:#fff;border-color:var(--ink)}
.cc-main b{font-size:2rem;color:var(--coral)}
.cc-main span{color:rgba(255,255,255,.65)}
.cc-dulux{display:flex;align-items:center;gap:1rem}
.cc-dulux img{width:90px;height:auto;border-radius:10px}
.cc-dulux span{margin:0;color:var(--ink)}
.form-wrap h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.form-wrap>p{color:var(--muted);margin:.5rem 0 1.4rem}
.form-wrap form{box-shadow:0 30px 60px -30px rgba(16,20,24,.35);border:1px solid var(--line)}
@media (max-width:900px){.contact2{grid-template-columns:1fr}}
.hero-inner .hero-grid{align-items:center}
.sec-grid .cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tbar{padding:0}

.marquee{margin-top:0}
.hero-ba .badge{top:auto;bottom:10px;right:-28px}
@media (max-width:900px){.hero-ba .badge{right:-8px;top:auto;bottom:20px}}

/* Fraunces: no wonky letters, soft round terminals */
body,body *{font-variation-settings:"WONK" 0}
/* conversion CTAs */
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-top:2.6rem}
.cta-row span{font-size:.9rem;color:var(--muted)}
.btn-line{border:2px solid var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.cta-row.dark span{color:rgba(255,255,255,.7)}
.cta-row.dark .btn-line,.qband .btn-line,.climate .btn-line,.glen .btn-line{border-color:rgba(255,255,255,.35);color:#fff}
.services .cta-row,.work .cta-row,.sec-rev .cta-row{justify-content:center}
.services .cta-row span,.work .cta-row span,.sec-rev .cta-row span{flex-basis:100%;text-align:center}
.qband-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.6rem;margin-top:1.8rem}
.qband-cta .qlink{margin-top:0}
.ed-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:22px;padding:1.6rem 2rem;margin:1rem 0 2rem}
.ed-cta b{display:block;font:700 1.3rem/1.3 Fraunces,serif}
.ed-cta span{color:rgba(255,255,255,.7);font-size:.95rem}
.gs-btns{display:flex;flex-direction:column;align-items:center;gap:.7rem}
.gs-link{font-size:.9rem;color:var(--olive);font-weight:600}
@media (max-width:860px){.gs-btns{align-items:flex-start}}
.steps-sec .cta-row,.sec-head+.steps+.cta-row{justify-content:flex-start}
/* sticky mobile bar: call + quote */
@media (max-width:760px){
 .callbar{display:grid!important;grid-template-columns:auto 1fr;gap:8px;padding:8px!important;background:rgba(16,20,24,.92)!important;backdrop-filter:blur(8px);border-radius:999px;inset:auto 10px 10px!important}
 .callbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.85rem 1.2rem;border-radius:999px;font-weight:700;text-decoration:none}
 .cb-call{color:#fff;border:1.5px solid rgba(255,255,255,.3)}
 .cb-quote{background:var(--coral);color:var(--ink)}
 footer{padding-bottom:110px}
}
@media (max-width:420px){.nav-cta .btn{display:inline-flex;padding:.6rem .9rem;font-size:.85rem}}

/* Footer credit */
.copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem}
.copy .credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.copy .credit a:hover{color:var(--coral)}
