:root{--ink:#111a1a;--paper:#f5f3ed;--muted:#586361;--line:#d5d9d1;--orange:#ff7b0d;--aqua:#03bccc;--dark:#101a19;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Trebuchet MS',Verdana,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Arial Narrow','Helvetica Neue',Helvetica,sans-serif;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(3rem,6.8vw,6.8rem);font-weight:800}h2{font-size:clamp(2.1rem,4vw,3.6rem);font-weight:750}h3{font-size:1.5rem;letter-spacing:-.025em}p+p{margin-top:1rem}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #007a70;outline-offset:5px}.shell{width:min(var(--max),calc(100% - 80px));margin:auto}.eyebrow{text-transform:uppercase;font-size:.74rem;letter-spacing:.18em;font-weight:700;display:block;margin-bottom:22px}.eyebrow:before{content:'';display:inline-block;width:24px;height:2px;background:var(--orange);vertical-align:middle;margin-right:12px}.skip{position:absolute;left:12px;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:8px}.top{background:var(--dark);color:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff20}.top-row{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:88px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.brand img{width:auto;height:48px;object-fit:contain}.brand span{font-size:.68rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#c0ceca;border-left:1px solid #ffffff30;padding-left:16px}.nav{display:flex;align-items:center;gap:27px;font-size:.85rem}.nav a{text-decoration:none}.nav a:hover{color:var(--aqua)}.nav .small-cta{border:1px solid #81918a;padding:10px 17px}.mobile-nav{display:none}.hero{background:var(--dark);color:#f8f8f1;padding:54px 0 64px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center}.hero h1{max-width:760px}.hero h1 em{font-style:normal;color:var(--aqua)}.hero .lead{max-width:490px;color:#ccd5cf;margin:30px 0;font-size:1.02rem;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{display:inline-flex;justify-content:center;align-items:center;gap:25px;text-decoration:none;background:var(--orange);color:#18211d;padding:15px 24px;font-size:.88rem;font-weight:700;border:1px solid transparent;cursor:pointer;min-height:52px}.btn:hover{background:#feaa4d}.btn.outline{background:transparent;border-color:#61726d;color:inherit}.btn.outline:hover{border-color:var(--aqua)}.hero-media{position:relative;padding:0 0 36px 24px}.hero-media:before{position:absolute;content:'';inset:38px -24px 0 60px;border:1px solid #3c6760}.hero-media>img{position:relative;width:100%;height:590px;object-fit:cover;object-position:50% 48%}.photo-note{position:absolute;bottom:16px;left:0;background:var(--aqua);color:var(--ink);padding:18px 26px;max-width:84%;font-size:.78rem;line-height:1.5}.photo-note strong{display:block;font-size:1.1rem;letter-spacing:-.02em}.hero-index{display:flex;align-items:center;gap:18px;margin-top:35px;font-size:.72rem;color:#afc2b9}.hero-index i{width:45px;height:1px;background:#607c71}.strip{border-bottom:1px solid var(--line);padding:20px 0}.strip .shell{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}section.pad{padding:95px 0}.section-top{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:42px}.section-top p{color:var(--muted);max-width:430px}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.card{display:flex;flex-direction:column;min-height:238px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}.card:hover{background:#e7eee6}.card .num{font-size:.72rem;color:var(--muted);margin-bottom:32px}.card h3{font-size:1.55rem;overflow-wrap:anywhere}.card p{font-size:.8rem;color:var(--muted);margin-top:12px}.card .arrow{margin-top:auto;text-align:right;color:#17665c;font-size:1.3rem}.dark{background:var(--dark);color:var(--paper)}.dark .section-top p{color:#b7c7bf}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-grid img{width:100%;height:480px;object-fit:cover}.project-grid figure:nth-child(2){padding-top:75px}.project-grid figcaption{display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid #ffffff30;font-size:.87rem}.project-grid small{color:var(--aqua)}.text-link{display:inline-block;margin-top:28px;font-weight:bold}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process .number{color:#33796d;font-size:.85rem;display:block;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px}.process h3{font-size:1.3rem;margin-bottom:17px}.process p{font-size:.88rem;color:var(--muted)}.area{background:#dfebe4}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.city-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.city-list span{border:1px solid #a5beb1;padding:6px 13px;font-size:.78rem}.area p{margin-top:24px;max-width:660px}.area .big-num{font-size:clamp(5rem,12vw,10rem);font-weight:bold;letter-spacing:-.09em;line-height:1;color:#bdd3c5}.contact{padding:95px 0;background:#142521;color:#f4f6ef}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact h2{margin-bottom:24px}.contact .intro{color:#c0cfc6;margin-bottom:28px}.contact .direct{display:block;font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:bold;letter-spacing:-.03em;margin-bottom:16px}.contact .mail{overflow-wrap:anywhere;font-size:.92rem}.contact .actions{margin-top:25px}.contact small{display:block;color:#c0cfc6;margin-top:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:6px;font-size:.78rem}.wide{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;border:1px solid #79958a;border-radius:0;background:#ffffff08;color:#fff;padding:12px;font-size:1rem}select option{background:#18352b;color:white}textarea{resize:vertical;min-height:115px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:.77rem;color:#d4e1d8}.consent input{width:20px;height:20px;flex:0 0 20px;margin-top:3px;accent-color:var(--aqua)}.honeypot{display:none}.form-note{font-size:.77rem;color:#c0cfc6}.footer{background:#0d1916;color:#b8c8be;padding:40px 0 95px}.footer-row{display:flex;justify-content:space-between;gap:30px;font-size:.75rem}.footer-links{display:flex;gap:20px}.dock{display:none}.page-heading{background:#dde8e0;padding:60px 0}.page-heading h1{font-size:clamp(2.4rem,5vw,4.7rem)}.page-heading p{max-width:680px;margin-top:25px}.crumb{font-size:.73rem;color:#476457;margin-bottom:25px}.service-layout{display:grid;grid-template-columns:230px 1fr;gap:75px;padding:75px 0}.toc{align-self:start;position:sticky;top:120px;font-size:.8rem}.toc strong{display:block;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;margin-bottom:18px}.toc a{display:block;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line);line-height:1.45}.prose{max-width:810px}.prose section{margin-bottom:42px}.prose h2{font-size:2rem;margin-bottom:22px}.prose p{color:#404e48;line-height:1.9}.prose .process{grid-template-columns:1fr 1fr;gap:25px}.prose .process h3{font-size:1.25rem}.prose .process p{font-size:.94rem}.prose .wide-photo{width:100%;max-height:510px;object-fit:cover;margin:40px 0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:1.05rem;font-weight:bold;cursor:pointer;line-height:1.5;list-style-position:outside;margin-left:18px}.faq details p{margin-top:15px}.related{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.related a{border:1px solid var(--line);padding:10px 16px;font-size:.83rem}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:35px}.comparison img{width:100%;height:550px;object-fit:cover}.comparison figcaption{font-size:.82rem;padding:12px 0}.comparison figcaption b{background:#dcebe1;padding:4px 10px;margin-right:10px}.caption-note{font-size:.8rem;color:var(--muted);margin-top:10px}.legal{max-width:850px;padding:65px 0}.legal h2{font-size:1.7rem;margin:35px 0 18px}.legal h3{font-size:1.2rem;margin:22px 0 12px}.legal p{margin-bottom:15px;overflow-wrap:anywhere}.legal .notice{border-left:4px solid var(--orange);padding:16px 22px;background:#eee8d9}.result{min-height:65vh;display:grid;place-content:center;padding:45px}.result section{max-width:660px}.result h1{font-size:3rem;margin-bottom:24px}.result .actions{margin-top:25px}
@media(min-width:1600px){.hero-media>img{height:640px}}
@media(max-width:1050px){.nav{gap:18px}.brand span{display:none}.hero-grid{gap:25px}.hero-media>img{height:510px}.cards{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:40px}.service-layout{gap:35px;grid-template-columns:180px 1fr}.process{grid-template-columns:repeat(2,1fr)}.shell{width:calc(100% - 48px)}}
@media(max-width:740px){html{scroll-padding-top:95px}.shell{width:calc(100% - 36px)}.top-row{min-height:74px;gap:15px}.brand img{width:auto;height:38px}.nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;border:1px solid #74867c;padding:6px 14px;font-size:.85rem}.mobile-nav[open] nav{position:absolute;top:74px;left:0;right:0;display:grid;background:#142521;padding:20px 24px;border-bottom:1px solid #789185}.mobile-nav a{padding:10px 0;text-decoration:none}.hero{padding:35px 0 45px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(2.85rem,10.8vw,4.5rem)}.hero .lead{font-size:.95rem;margin:22px 0}.hero-media{padding:0 0 28px 16px}.hero-media>img{height:440px}.hero-media:before{inset:25px 0 0 40px}.photo-note{bottom:8px;padding:13px 20px}.hero-index{margin-top:25px}.strip .shell{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 25px;font-size:.75rem}section.pad{padding:60px 0}.section-top{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.cards .card{min-height:210px;padding:20px}.card h3{font-size:1.3rem}.project-grid{gap:18px}.project-grid img{height:310px}.project-grid figure:nth-child(2){padding-top:35px}.project-grid figcaption{display:block;font-size:.8rem}.project-grid small{display:block;margin-top:7px}.process{gap:30px 22px}.area-grid{grid-template-columns:1fr;gap:20px}.area .big-num{display:none}.contact{padding:60px 0}.contact-grid{grid-template-columns:1fr;gap:45px}.form-grid{gap:18px 13px}.footer-row{display:block}.footer-links{flex-wrap:wrap;margin-top:20px;gap:12px 20px}.dock{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#142521;display:grid;grid-template-columns:1fr 1fr 1fr;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #567b68}.dock a{text-align:center;padding:14px 4px;color:white;text-decoration:none;font-size:.78rem;border-right:1px solid #567b68}.dock a:last-child{background:var(--orange);color:#17281c;font-weight:bold}.service-layout{grid-template-columns:1fr;gap:35px;padding:40px 0}.toc{position:static;display:flex;flex-wrap:wrap;gap:8px 16px}.toc strong{width:100%;margin:0}.toc a{font-size:.75rem}.prose h2{font-size:1.8rem}.prose .process{grid-template-columns:1fr}.comparison{gap:12px}.comparison img{height:340px}.comparison figcaption b{display:table;margin-bottom:7px}.page-heading{padding:40px 0}.btn{padding:13px 18px;gap:12px}.result{padding:30px 18px}.result h1{font-size:2.5rem}}
@media(max-width:360px){.field{grid-column:1/-1}.process{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hero-media>img{height:350px}.comparison img{height:280px}.project-grid{grid-template-columns:1fr}.project-grid figure:nth-child(2){padding-top:0}.hero h1{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.big-num::before{content:attr(data-t)}

/* Expanded service navigation retains the existing palette. */
.nav{gap:18px}.hero .eyebrow{overflow-wrap:anywhere}.hero h1{hyphens:auto;overflow-wrap:break-word}
@media(min-width:741px) and (max-width:1180px){.nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;border:1px solid #74867c;padding:6px 14px;font-size:.85rem}.mobile-nav[open] nav{position:absolute;top:100%;left:0;right:0;display:grid;background:var(--dark);padding:20px 24px;border-bottom:1px solid #789185}.mobile-nav a{padding:10px 0;text-decoration:none}}
.mobile-nav[open] nav{max-height:calc(100dvh - 150px);overflow-y:auto}

.footer-logo{height:40px;width:auto;margin-bottom:14px}.contact-options h3{margin-bottom:20px}.contact-options p{color:#c0cfc6}.contact-options .actions{margin-bottom:24px}

/* Client project photos: preserve the complete privacy-safe crop. */
.r5-gallery .comparison{align-items:start}.r5-gallery .comparison img{height:auto}.r5-gallery .comparison figcaption{overflow-wrap:anywhere}
@media(max-width:740px){.r5-gallery .comparison{grid-template-columns:1fr;gap:28px}}
