:root{
  --ink:#081b18;--ink-2:#0d2a25;--ink-3:#153c35;--paper:#f4f1e9;--paper-2:#ebe7dc;
  --white:#fff;--lime:#c7ff3d;--lime-2:#9fda18;--coral:#ff7448;--coral-2:#f4552b;
  --teal:#3dd7b0;--text:#14211f;--muted:#60706b;--line:rgba(8,27,24,.14);
  --display:'Archivo',Impact,sans-serif;--body:'IBM Plex Sans',Arial,sans-serif;
  --shell:min(1180px,calc(100vw - 48px));--radius:22px;--shadow:0 24px 70px rgba(3,18,15,.16);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}a{color:inherit}.svg-bank{position:absolute;overflow:hidden}.shell{width:var(--shell);margin-inline:auto}.section{padding:clamp(86px,10vw,144px) 0;position:relative}.scroll-meter{position:fixed;z-index:1000;left:0;right:0;top:0;height:3px;background:transparent;pointer-events:none}.scroll-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lime),var(--teal),var(--coral));box-shadow:0 0 12px rgba(199,255,61,.55)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--lime);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";width:32px;height:2px;background:currentColor}.eyebrow.dark{color:#1f7968}.eyebrow.lime{color:#719e00}.section-head{max-width:810px;margin-bottom:52px}.section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{margin:13px 0 17px;font-family:var(--display);font-stretch:expanded;font-size:clamp(38px,5.4vw,72px);font-weight:900;letter-spacing:-.055em;line-height:.96;text-transform:uppercase}.section-head>p,.split-head>p,.flow-copy>p,.process-intro>p,.faq-intro>p,.area-card p,.crew-card>p{color:var(--muted);font-size:17px;line-height:1.7}.split-head{max-width:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);align-items:end;gap:60px}.split-head>p{margin:0 0 5px}.text-link{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:600;line-height:1.2}.text-link svg,.outline-btn svg,.primary-btn svg,.service-copy a svg{width:20px;height:20px;transition:transform .25s}.text-link:hover svg,.outline-btn:hover svg,.primary-btn:hover svg,.service-copy a:hover svg{transform:translateX(5px)}.text-link.light{color:#fff}.primary-btn,.outline-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:14px 21px;border:0;border-radius:8px;text-decoration:none;font-family:var(--body);font-size:14px;font-weight:600;cursor:pointer;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.primary-btn{background:var(--coral);color:#fff;box-shadow:0 14px 28px rgba(244,85,43,.26)}.primary-btn:hover{background:var(--coral-2);transform:translateY(-2px);box-shadow:0 18px 34px rgba(244,85,43,.34)}.primary-btn svg,.outline-btn svg{width:20px;height:20px}.outline-btn{border:1px solid rgba(255,255,255,.24);color:#fff}.outline-btn:hover{background:#fff;color:var(--ink)}.outline-btn.dark-btn{border-color:var(--line);color:var(--ink)}.outline-btn.dark-btn:hover{background:var(--ink);color:#fff}

/* Navigation */
.site-nav{position:fixed;z-index:100;left:0;right:0;top:0;color:#fff;transition:background .35s,color .35s,box-shadow .35s,transform .35s}.site-nav.scrolled{background:rgba(244,241,233,.94);color:var(--ink);box-shadow:0 10px 35px rgba(4,25,21,.09);backdrop-filter:blur(16px)}.nav-inner{height:86px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1}.brand>svg{width:43px;height:43px;color:var(--lime);filter:drop-shadow(0 5px 14px rgba(199,255,61,.16))}.site-nav.scrolled .brand>svg{color:#599900}.brand span{display:flex;flex-direction:column}.brand b{font-family:var(--display);font-size:20px;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}.brand em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.75;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.desktop-nav a{position:relative;text-decoration:none;font-size:13px;font-weight:500}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--lime);transition:right .25s}.desktop-nav a:hover:after{right:0}.nav-call{display:flex;align-items:center;gap:11px;text-decoration:none;border-left:1px solid rgba(255,255,255,.22);padding-left:24px}.scrolled .nav-call{border-color:var(--line)}.nav-call>svg{width:24px;height:24px;color:var(--lime)}.scrolled .nav-call>svg{color:#5b9300}.nav-call span{display:flex;flex-direction:column}.nav-call small{text-transform:uppercase;font-size:9px;letter-spacing:.15em;opacity:.7}.nav-call b{font-family:var(--display);font-size:17px;line-height:1.3}.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;position:relative}.menu-toggle i{position:absolute;left:13px;width:20px;height:2px;background:currentColor;transition:transform .25s,top .25s}.menu-toggle i:first-child{top:18px}.menu-toggle i:last-child{top:27px}.menu-open .menu-toggle i:first-child{top:23px;transform:rotate(45deg)}.menu-open .menu-toggle i:last-child{top:23px;transform:rotate(-45deg)}.mobile-nav{display:none}

/* Hero */
.hero{min-height:920px;height:100svh;position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-top:86px;isolation:isolate}.hero-media{position:absolute;z-index:-3;inset:-8% 0}.hero-media video{width:100%;height:116%;object-fit:cover;filter:saturate(.72) contrast(1.12)}.hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(2,17,14,.96) 0%,rgba(3,19,16,.81) 45%,rgba(5,26,22,.46) 71%,rgba(2,18,15,.7) 100%)}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 77% 12%,rgba(61,215,176,.17),transparent 34%),linear-gradient(180deg,transparent 70%,var(--ink) 110%)}.rain-lines{position:absolute;z-index:-1;inset:0;opacity:.13;background:repeating-linear-gradient(103deg,transparent 0 48px,rgba(255,255,255,.4) 49px,transparent 50px);animation:rainShift 15s linear infinite}@keyframes rainShift{to{transform:translateX(50px)}}.hero-grid{height:calc(100% - 60px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(430px,.86fr);align-items:center;gap:clamp(60px,8vw,110px);padding-block:36px 66px}.hero-copy{max-width:710px}.hero h1{margin:15px 0 22px;font-family:var(--display);font-size:clamp(50px,6.7vw,92px);font-weight:900;font-stretch:expanded;letter-spacing:-.07em;line-height:.87;text-transform:uppercase;text-wrap:balance}.hero h1 em{display:block;color:var(--lime);font-style:normal}.hero-lede{max-width:61ch;margin:0;color:rgba(255,255,255,.8);font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}.call-block{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.call-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:50%;background:var(--coral);box-shadow:0 12px 30px rgba(244,85,43,.36);transition:transform .25s}.call-block:hover .call-icon{transform:rotate(-8deg) scale(1.06)}.call-icon svg{width:25px;height:25px}.call-block>span:last-child{display:flex;flex-direction:column}.call-block small{font-size:10px;text-transform:uppercase;letter-spacing:.16em;opacity:.65}.call-block b{font-family:var(--display);font-size:24px;line-height:1.25}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;margin:27px 0 0;padding:0;color:rgba(255,255,255,.8);font-size:13px}.hero-proof li{display:flex;align-items:center;gap:7px}.hero-proof svg{width:17px;height:17px;color:var(--lime)}.hero-index{position:absolute;right:28px;bottom:82px;display:flex;align-items:center;gap:11px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em}.hero-index span:first-child{font-family:var(--display);font-size:20px}.hero-index i{height:55px;width:1px;background:rgba(255,255,255,.35)}.hero-enter{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.is-ready .hero-enter{opacity:1;transform:none}.hero-copy .hero-enter:nth-child(2){transition-delay:.08s}.hero-copy .hero-enter:nth-child(3){transition-delay:.16s}.hero-copy .hero-enter:nth-child(4){transition-delay:.24s}.hero-copy .hero-enter:nth-child(5){transition-delay:.32s}.lead-card.hero-enter{transition-delay:.13s}

/* Forms */
.lead-card{position:relative;overflow:hidden;width:100%;padding:30px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);background:linear-gradient(145deg,rgba(20,42,37,.9),rgba(12,30,26,.86));box-shadow:0 28px 80px rgba(0,0,0,.28)}.card-glow{position:absolute;width:180px;height:180px;right:-60px;top:-70px;border-radius:50%;background:rgba(199,255,61,.18);filter:blur(25px)}.form-kicker{position:relative;color:var(--lime);font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.lead-card h2{position:relative;margin:8px 0 8px;font-family:var(--display);font-size:29px;letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}.lead-card>p{position:relative;margin:0 0 20px;color:rgba(255,255,255,.67);font-size:14px}.lead-form{display:grid;gap:13px;position:relative}.lead-form label{display:grid;gap:5px}.lead-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.68)}.lead-form input,.lead-form select{appearance:none;width:100%;height:52px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(4,24,20,.6);color:#fff;font:500 15px var(--body);padding:0 15px;outline:none;transition:border .2s,box-shadow .2s}.lead-form select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;background-size:5px 5px;background-repeat:no-repeat}.lead-form input::placeholder{color:rgba(255,255,255,.38)}.lead-form input:focus,.lead-form select:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(199,255,61,.12)}.lead-form .primary-btn{width:100%;margin-top:3px}.form-note{display:block;margin-top:14px;color:rgba(255,255,255,.53);font-size:11px}.form-note a{color:#fff}.form-success{position:relative;padding:15px 0}.form-success>span{color:var(--lime);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.form-success h3{margin:8px 0 8px;font-family:var(--display);font-size:26px;text-transform:uppercase}.form-success p{color:rgba(255,255,255,.7)}

/* Credentials */
.credential-rail{position:relative;z-index:3;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 50px rgba(4,27,23,.08)}.cred-grid{min-height:126px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center}.google-rating,.cred{min-width:0;height:72px;display:flex;align-items:center;gap:13px;padding:0 25px;border-right:1px solid var(--line);text-decoration:none}.google-rating{padding-left:0}.cred:last-child{border:0}.google-g{font:800 25px Arial;color:#4285f4}.google-rating>span:last-child,.cred>span:last-child{display:flex;flex-direction:column;line-height:1.25}.google-rating b{font-family:var(--display);font-size:26px}.google-rating i{color:#f4b400;font-size:12px;letter-spacing:1px;font-style:normal}.google-rating small,.cred small{color:var(--muted);font-size:11px;margin-top:3px}.cred b{font-size:13px}.cred-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:var(--ink);color:var(--lime)}.cred-icon svg{width:22px;height:22px}.cred-number{font-family:var(--display);font-size:34px;font-weight:900;color:#1a806c}

/* Reviews */
.reviews{background:var(--ink);color:#fff;overflow:hidden}.reviews:before{content:"";position:absolute;width:700px;height:700px;right:-280px;top:-300px;border:1px solid rgba(199,255,61,.11);border-radius:50%;box-shadow:0 0 0 80px rgba(199,255,61,.025),0 0 0 160px rgba(199,255,61,.02)}.reviews .section-head h2{color:#fff}.reviews .split-head>p{color:rgba(255,255,255,.6)}.rating-panel{display:grid;grid-template-columns:190px 1fr auto;gap:42px;align-items:center;padding:28px 32px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045)}.rating-score span{display:block;font-family:var(--display);font-size:53px;font-weight:900;line-height:1}.rating-score i{display:block;color:#f4b400;font-style:normal;letter-spacing:2px}.rating-score p{margin:3px 0 0;color:rgba(255,255,255,.55);font-size:11px}.rating-bars{display:grid;gap:4px}.rating-bars>div{display:grid;grid-template-columns:17px 1fr 28px;align-items:center;gap:10px;font-size:11px}.rating-bars b,.rating-bars em{font-style:normal;font-weight:500;color:rgba(255,255,255,.62)}.rating-bars span{height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}.rating-bars i{display:block;width:var(--w);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),var(--teal));animation:barGrow 1.4s both;transform-origin:left}@keyframes barGrow{from{transform:scaleX(0)}}.review-stage{position:relative;margin-top:48px}.review-track{display:flex;gap:22px;overflow-x:auto;padding:7px max(24px,calc((100vw - 1180px)/2)) 28px;scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}.review-card{scroll-snap-align:center;flex:0 0 min(410px,82vw);min-height:325px;padding:26px;display:flex;flex-direction:column;border-radius:18px;background:var(--paper);color:var(--text);box-shadow:0 20px 55px rgba(0,0,0,.2);transition:transform .3s}.review-card:hover{transform:translateY(-5px) rotate(-.3deg)}.review-top{display:flex;align-items:center;gap:12px}.review-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;font-weight:600}.review-person{line-height:1.25}.review-person b{display:block}.review-person small{color:var(--muted)}.gmark{margin-left:auto;font:800 21px Arial;color:#4285f4}.stars{margin:18px 0 12px;color:#f4b400;letter-spacing:2px}.review-card p{margin:0;color:#394943;font-size:14.5px;line-height:1.7;overflow:auto;scrollbar-width:thin}.review-arrow{position:absolute;z-index:3;top:50%;width:48px;height:48px;border:0;border-radius:50%;background:var(--lime);color:var(--ink);font-size:20px;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.23)}.review-arrow.prev{left:14px}.review-arrow.next{right:14px}

/* Services */
.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.service-card{position:relative;display:grid;grid-template-columns:46% 54%;min-height:350px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 45px rgba(10,32,27,.07);transform-style:preserve-3d;transition:box-shadow .3s,border .3s}.service-card:hover{box-shadow:0 26px 60px rgba(10,32,27,.14);border-color:rgba(33,130,108,.35)}.service-img{position:relative;overflow:hidden;min-height:100%}.service-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(8,27,24,.18))}.service-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-card:hover .service-img img{transform:scale(1.06)}.service-img>span{position:absolute;z-index:2;left:16px;top:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);font-family:var(--display);font-size:12px;font-weight:900}.service-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.service-copy h3{margin:0 0 13px;font-family:var(--display);font-size:26px;letter-spacing:-.04em;line-height:1;text-transform:uppercase}.service-copy p{margin:0 0 22px;color:var(--muted);font-size:14px}.service-copy a{display:flex;align-items:center;gap:8px;margin-top:auto;text-decoration:none;font-size:13px;font-weight:600;color:#18735f}.service-copy a svg{width:19px;height:19px}

/* Flow comparison */
.flow-story{background:var(--paper-2);overflow:hidden}.flow-story:before{content:"FLOW";position:absolute;right:-30px;top:0;font-family:var(--display);font-size:clamp(130px,25vw,360px);font-weight:900;line-height:.8;color:rgba(8,27,24,.035)}.flow-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:clamp(60px,8vw,110px)}.flow-copy{position:relative;z-index:2}.flow-copy h2{font-size:clamp(38px,4.8vw,65px)}.flow-copy ul{list-style:none;margin:27px 0 30px;padding:0;display:grid;gap:13px}.flow-copy li{display:flex;align-items:center;gap:11px;font-weight:500}.flow-copy li svg{width:20px;height:20px;color:#1d8069}.comparison{position:relative;height:610px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:var(--ink);cursor:ew-resize;user-select:none}.comparison img{width:100%;height:100%;object-fit:cover}.compare-base{position:absolute;inset:0}.compare-top{position:absolute;inset:0 auto 0 0;width:var(--split);overflow:hidden;border-right:2px solid #fff}.compare-top img{width:calc(100% / (var(--split-num,.54)));max-width:none}.compare-handle{position:absolute;left:var(--split);top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border:2px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 8px 30px rgba(0,0,0,.28);cursor:ew-resize}.compare-handle:before,.compare-handle:after{content:"";position:absolute;top:50%;width:8px;height:8px;border-left:2px solid #fff;border-bottom:2px solid #fff}.compare-handle:before{left:13px;transform:translateY(-50%) rotate(45deg)}.compare-handle:after{right:13px;transform:translateY(-50%) rotate(225deg)}.compare-handle i{position:absolute;top:-280px;bottom:-280px;left:50%;width:2px;background:#fff;transform:translateX(-50%)}.compare-label{position:absolute;top:18px;padding:8px 12px;border-radius:5px;background:rgba(8,27,24,.8);color:#fff;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.compare-label.before{left:18px}.compare-label.after{right:18px}

/* Crew */
.crew{min-height:820px;display:grid;align-items:center;overflow:hidden;background:var(--ink);color:#fff}.crew-media{position:absolute;inset:-8% 0}.crew-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,24,.12),rgba(8,27,24,.2) 40%,rgba(8,27,24,.88) 70%,var(--ink))}.crew-media img{width:100%;height:116%;object-fit:cover;object-position:center 45%;filter:saturate(.8) contrast(1.04)}.crew-grid{display:grid;grid-template-columns:1fr minmax(400px,.75fr);position:relative}.crew-card{grid-column:2;padding:45px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);background:rgba(8,27,24,.68);backdrop-filter:blur(14px)}.crew-card h2{color:#fff;font-size:clamp(42px,5vw,68px)}.crew-card>p{color:rgba(255,255,255,.72)}.crew-quote{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}.crew-quote>span{font-family:Georgia;font-size:50px;color:var(--lime);line-height:.3}.crew-quote p{margin:3px 0 8px;font-size:17px}.crew-quote small{color:rgba(255,255,255,.55)}

/* Process */
.process{background:#fff}.process-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(70px,10vw,150px);align-items:start}.process-intro{position:sticky;top:130px}.process-intro h2{font-size:clamp(45px,5.2vw,68px)}.steps{counter-reset:step}.step{display:grid;grid-template-columns:100px 1fr;gap:28px;padding:38px 0;border-top:1px solid var(--line)}.step:last-child{border-bottom:1px solid var(--line)}.step>span{font-family:var(--display);font-size:47px;font-weight:900;color:#b8c2be;line-height:1}.step h3{margin:0 0 8px;font-family:var(--display);font-size:28px;letter-spacing:-.04em;text-transform:uppercase}.step p{margin:0;color:var(--muted);max-width:57ch}

/* Gallery */
.work{background:var(--ink);color:#fff}.work .section-head h2{color:#fff}.work .split-head>p{color:rgba(255,255,255,.6)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:13px}.gallery figure{margin:0;border-radius:13px;overflow:hidden;position:relative}.gallery figure:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.13);border-radius:inherit;pointer-events:none}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s}.gallery figure:hover img{transform:scale(1.055);filter:saturate(1.12)}.gallery .g-wide{grid-column:span 2}.gallery .g-tall{grid-row:span 2}

/* Area */
.area{background:var(--paper-2)}.area-card{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:50px;padding:44px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(9,34,28,.08)}.area-card h2{font-size:clamp(34px,4.5vw,58px)}.area-ring{position:relative;width:150px;height:150px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--lime);font-family:var(--display);font-size:24px;font-weight:900}.area-ring i{position:absolute;border:1px solid rgba(199,255,61,.25);border-radius:50%;animation:pulse 3.4s ease-out infinite}.area-ring i:nth-child(1){inset:12px}.area-ring i:nth-child(2){inset:26px;animation-delay:.7s}.area-ring i:nth-child(3){inset:40px;animation-delay:1.4s}@keyframes pulse{50%{opacity:.2;transform:scale(1.12)}}

/* FAQ */
.faq{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.64fr 1.36fr;gap:clamp(60px,9vw,130px);align-items:start}.faq-intro{position:sticky;top:130px}.faq-intro h2{font-size:clamp(45px,6vw,76px)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;cursor:pointer;font-family:var(--display);font-size:21px;font-weight:800;letter-spacing:-.03em;text-transform:uppercase}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{position:relative;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--line);flex:none}.faq-list summary span:before,.faq-list summary span:after{content:"";position:absolute;left:9px;right:9px;top:15px;height:2px;background:var(--ink);transition:transform .25s}.faq-list summary span:after{transform:rotate(90deg)}.faq-list details[open] summary span:after{transform:rotate(0)}.faq-list details p{max-width:65ch;margin:-5px 60px 25px 0;color:var(--muted)}

/* Estimate + footer */
.estimate{min-height:760px;position:relative;display:grid;align-items:center;padding:110px 0;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate}.estimate>video{position:absolute;z-index:-2;inset:-8% 0;width:100%;height:116%;object-fit:cover;filter:saturate(.7)}.estimate-wash{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,27,24,.96) 0%,rgba(8,27,24,.8) 55%,rgba(8,27,24,.58) 100%)}.estimate-grid{display:grid;grid-template-columns:1fr 530px;align-items:center;gap:clamp(65px,9vw,130px)}.estimate-copy h2{margin:14px 0 20px;font-family:var(--display);font-size:clamp(50px,6vw,82px);font-weight:900;letter-spacing:-.065em;line-height:.9;text-transform:uppercase}.estimate-copy>p{max-width:57ch;color:rgba(255,255,255,.72);font-size:17px}.estimate-copy .call-block{margin-top:25px}.site-footer{background:#04110f;color:#fff;padding:76px 0 23px}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:60px}.footer-brand p{max-width:35ch;color:rgba(255,255,255,.52);font-size:13px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid h3{margin:0 0 10px;color:var(--lime);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.footer-grid>div>a,.footer-grid>div>span{color:rgba(255,255,255,.66);text-decoration:none;font-size:13px}.footer-grid>div>a:hover{color:#fff}.footer-grid .footer-phone{color:#fff;font-family:var(--display);font-size:19px}.footer-badges{margin-top:55px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;flex-wrap:wrap;gap:25px 38px;color:rgba(255,255,255,.62);font-size:12px}.footer-badges>div{display:flex;align-items:center;gap:8px}.footer-badges i{color:#f4b400;font-style:normal}.footer-badges small{color:rgba(255,255,255,.48)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:22px;color:rgba(255,255,255,.38);font-size:10px}.mobile-bar{display:none}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.on{opacity:1;transform:none}.service-card:nth-child(2),.step:nth-child(2),.gallery figure:nth-child(2){transition-delay:.08s}.service-card:nth-child(3),.step:nth-child(3),.gallery figure:nth-child(3){transition-delay:.14s}.service-card:nth-child(4),.step:nth-child(4),.gallery figure:nth-child(4){transition-delay:.2s}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-toggle{display:block}.nav-call{margin-left:auto}.mobile-nav{position:absolute;top:86px;left:20px;right:20px;display:grid;gap:0;padding:12px 20px 20px;border-radius:0 0 18px 18px;background:var(--paper);color:var(--ink);box-shadow:0 24px 50px rgba(0,0,0,.2);opacity:0;transform:translateY(-15px);visibility:hidden;transition:.25s}.menu-open .mobile-nav{opacity:1;transform:none;visibility:visible}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}.mobile-nav .mobile-call{margin-top:10px;padding:13px;text-align:center;border:0;border-radius:7px;background:var(--coral);color:#fff}.hero{height:auto;min-height:0}.hero-grid{min-height:920px;height:auto;grid-template-columns:1fr 390px;gap:45px}.hero h1{font-size:clamp(48px,7.7vw,73px)}.cred-grid{grid-template-columns:repeat(2,1fr);padding:20px 0}.google-rating,.cred{padding:12px 24px}.cred:nth-child(2){border:0}.flow-grid{grid-template-columns:.8fr 1.2fr;gap:45px}.comparison{height:540px}.process-grid{gap:65px}.gallery{grid-template-columns:repeat(3,1fr)}.area-card{grid-template-columns:130px 1fr}.area-card .primary-btn{grid-column:2;justify-self:start}.area-ring{width:125px;height:125px}.estimate-grid{grid-template-columns:1fr 410px;gap:55px}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:35px}
}
@media(max-width:820px){
  :root{--shell:min(100% - 36px,680px)}.section{padding:82px 0}.nav-inner{height:72px}.site-nav.scrolled{background:rgba(244,241,233,.97)}.nav-call{display:none}.mobile-nav{top:72px}.hero{padding-top:72px}.hero-grid{grid-template-columns:1fr;padding-block:75px 65px}.hero-copy{max-width:680px}.hero h1{font-size:clamp(47px,11vw,72px)}.lead-card{max-width:560px}.hero-index{display:none}.credential-rail{box-shadow:none}.cred-grid{grid-template-columns:1fr 1fr}.rating-panel{grid-template-columns:145px 1fr}.rating-panel .outline-btn{grid-column:1/-1;justify-self:start}.split-head{grid-template-columns:1fr;gap:4px}.section-head{margin-bottom:38px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.flow-grid{grid-template-columns:1fr}.flow-copy{max-width:640px}.comparison{height:620px}.crew{min-height:900px;align-items:end}.crew-media:after{background:linear-gradient(180deg,rgba(8,27,24,.08) 10%,rgba(8,27,24,.5) 53%,var(--ink) 84%)}.crew-grid{display:block;padding-bottom:60px}.crew-card{max-width:620px;margin-top:390px}.process-grid,.faq-grid{grid-template-columns:1fr;gap:55px}.process-intro,.faq-intro{position:static}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.area-card{grid-template-columns:120px 1fr;gap:30px;padding:34px}.estimate-grid{grid-template-columns:1fr}.estimate-copy{max-width:680px}.estimate .lead-card{max-width:560px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}
}
@media(max-width:580px){
  :root{--shell:calc(100vw - 28px)}html{scroll-padding-top:70px}body{padding-bottom:58px}.scroll-meter{top:auto;bottom:58px}.brand>svg{width:37px;height:37px}.brand b{font-size:17px}.brand em{font-size:8px}.menu-toggle{width:43px;height:43px}.hero-grid{padding-block:42px 43px;gap:38px}.hero h1{font-size:clamp(40px,12.5vw,61px)}.hero-lede{font-size:15.5px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:8px 16px}.lead-card{padding:23px}.lead-card h2{font-size:26px}.credential-rail{padding:9px 0}.cred-grid{display:flex;overflow-x:auto;width:100%;padding-left:14px;scrollbar-width:none}.google-rating,.cred{flex:0 0 235px;border-right:1px solid var(--line);padding:9px 18px}.section{padding:70px 0}.section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{font-size:clamp(36px,12vw,54px)}.rating-panel{grid-template-columns:1fr;gap:23px;padding:24px}.rating-score{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center}.rating-score span{grid-row:1/3}.rating-score p{grid-column:2}.review-arrow{display:none}.review-track{padding-inline:14px}.service-card{grid-template-columns:1fr;min-height:0}.service-img{height:245px}.service-copy{padding:25px;min-height:260px}.comparison{height:490px}.compare-handle i{top:-230px;bottom:-230px}.crew{min-height:800px}.crew-card{padding:26px;margin-top:320px}.crew-quote p{font-size:15px}.step{grid-template-columns:65px 1fr;gap:17px}.step>span{font-size:37px}.step h3{font-size:23px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:7px}.gallery .g-wide{grid-column:span 2}.area-card{grid-template-columns:1fr;gap:20px;padding:27px}.area-card .primary-btn{grid-column:1}.area-ring{width:100px;height:100px}.faq-list summary{font-size:18px}.faq-list details p{margin-right:0}.estimate{padding:75px 0}.estimate-copy h2{font-size:clamp(43px,13vw,63px)}.estimate-copy .call-block b{font-size:21px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-badges{gap:14px 20px}.mobile-bar{position:fixed;z-index:90;left:0;right:0;bottom:0;height:58px;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 -8px 24px rgba(0,0,0,.12)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px;font-weight:600}.mobile-bar a:first-child{background:var(--ink);color:#fff}.mobile-bar a:last-child{background:var(--coral);color:#fff}.mobile-bar svg{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.reveal,.hero-enter{opacity:1;transform:none}.hero-media,.crew-media,.estimate>video{transform:none!important}}

/* Keep the composited footer video behind the copy in Chromium. */
.estimate>video{z-index:0}.estimate-wash{z-index:1}.estimate-grid{position:relative;z-index:2}

/* Refinement pass: integrated identity, balanced splits, and continuous proof. */
.nav-inner{gap:28px}.brand{display:inline-flex;align-items:center;flex:none;padding:6px 9px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(244,241,233,.96);text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.14);transition:transform .25s,box-shadow .25s}.brand:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(0,0,0,.2)}.brand img{display:block}.desktop-nav{gap:24px}.nav-call{gap:12px;padding:9px 13px 9px 11px;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:rgba(8,27,24,.42);box-shadow:0 10px 28px rgba(0,0,0,.13);transition:transform .25s,background .25s,border-color .25s}.nav-call:hover{transform:translateY(-2px);background:rgba(8,27,24,.72)}.scrolled .nav-call{border-color:rgba(8,27,24,.14);background:var(--ink);color:#fff}.nav-call>svg{width:27px;height:27px}.nav-call b{font-size:21px;line-height:1.18;letter-spacing:-.02em}
.hero{min-height:820px}.hero-grid{height:calc(100% - 18px);grid-template-columns:minmax(0,1fr) minmax(470px,.95fr);gap:clamp(52px,7vw,94px);padding-block:34px 52px}.hero-copy{max-width:650px}.hero h1{margin:15px 0 20px;font-size:clamp(48px,5vw,70px);letter-spacing:-.065em;line-height:.91}.hero h1 em{margin-top:8px}
.review-stage{position:relative;margin-top:48px;overflow:hidden;padding:7px 0 30px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.review-track{display:flex;width:max-content;gap:22px;overflow:visible;padding:0;scroll-snap-type:none;animation:reviewMarquee 105s linear infinite;will-change:transform}.review-stage:hover .review-track,.review-stage:focus-within .review-track{animation-play-state:paused}.review-group{display:flex;gap:22px}.review-card{flex:0 0 min(380px,82vw);width:min(380px,82vw);min-height:330px}@keyframes reviewMarquee{from{transform:translateX(calc(-50% - 11px))}to{transform:translateX(0)}}
.flow-grid{align-items:stretch}.flow-copy{display:flex;flex-direction:column;justify-content:center}.comparison{height:auto;min-height:610px}
.crew{min-height:0;display:block;overflow:hidden}.crew:before{content:"";position:absolute;inset:-35% -15% auto auto;width:700px;height:700px;border-radius:50%;border:1px solid rgba(199,255,61,.1);box-shadow:0 0 0 90px rgba(199,255,61,.025),0 0 0 180px rgba(199,255,61,.018)}.crew-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(430px,1.28fr);align-items:stretch;gap:clamp(34px,6vw,80px);position:relative}.crew-photo{min-height:560px;margin:0;position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.crew-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(8,27,24,.82))}.crew-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.84) contrast(1.04)}.crew-photo figcaption{position:absolute;z-index:2;left:24px;bottom:19px;color:var(--lime);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.crew-card{grid-column:auto;padding:clamp(34px,4vw,55px);display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));backdrop-filter:none}.process-intro h2 span{white-space:nowrap}.gallery{grid-auto-flow:dense}

@media(max-width:1050px){.nav-inner{gap:20px}.hero-grid{min-height:800px;height:auto;grid-template-columns:1fr 390px;gap:45px}.hero h1{font-size:clamp(46px,6.4vw,64px)}.comparison{min-height:540px}.crew-grid{grid-template-columns:minmax(250px,.72fr) minmax(390px,1.28fr)}.crew-photo{min-height:520px}}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(45px,9.2vw,66px)}.comparison{min-height:0;height:620px}.crew-grid{grid-template-columns:1fr;gap:24px}.crew-photo{min-height:0;height:360px}.crew-card{margin:0;max-width:none}.gallery{grid-auto-flow:dense}}
@media(max-width:580px){.brand{padding:5px 7px}.hero h1{font-size:clamp(39px,10.8vw,53px)}.review-stage{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.review-card{width:min(340px,86vw);flex-basis:min(340px,86vw);min-height:345px}.comparison{height:490px}.crew-photo{height:290px}.crew-card{padding:27px}.gallery .g-tall{grid-row:span 2}}
@media(prefers-reduced-motion:reduce){.review-stage{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.review-track{animation:none}.review-group[aria-hidden="true"]{display:none}}

/* Scale + identity correction pass. */
.brand{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.brand:hover{transform:none;box-shadow:none}.site-nav .brand{position:relative;display:block;width:212px;height:57px}.brand-lockup{position:absolute;inset:0;width:212px;height:auto;transition:opacity .35s ease}.site-nav .site-nav .brand-logo-light{opacity:1}.site-nav .brand-logo-dark{opacity:0}.site-nav.scrolled .brand-logo-light{opacity:0}.site-nav.scrolled .brand-logo-dark{opacity:1}.site-footer .footer-logo{position:relative;display:block;width:132px;height:132px}.footer-badge{display:block;width:132px;height:132px}.site-footer .footer-logo 
.section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{font-size:clamp(34px,4.1vw,56px);letter-spacing:-.047em;line-height:.98}.reviews .section-head h2{font-size:clamp(36px,3.9vw,54px);max-width:19ch}.services .section-head h2,.work .section-head h2{font-size:clamp(36px,4vw,55px)}.flow-copy h2{font-size:clamp(35px,3.75vw,51px)}.crew-card h2{font-size:clamp(36px,3.8vw,52px)}.process-intro h2,.faq-intro h2{font-size:clamp(36px,3.8vw,52px)}.area-card h2{font-size:clamp(34px,3.5vw,48px)}.estimate-copy h2{font-size:clamp(42px,4.8vw,64px);line-height:.95}
.review-track{animation-duration:150s}
.crew{padding:0}.crew-grid{align-items:stretch;gap:0}.crew-photo{min-height:0;border-radius:var(--radius) 0 0 var(--radius);box-shadow:none}.crew-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.crew-card{border-radius:0 var(--radius) var(--radius) 0}

@media(max-width:1050px){.site-nav .brand{width:192px;height:52px}.brand-lockup{width:192px}.site-nav .section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{font-size:clamp(34px,4.8vw,50px)}.crew-photo{min-height:0}}
@media(max-width:820px){.site-nav .brand{width:178px;height:48px}.brand-lockup{width:178px}.site-nav .crew-grid{display:grid;grid-template-columns:1fr;gap:0;padding-bottom:0}.crew-photo{height:350px;border-radius:var(--radius) var(--radius) 0 0}.crew-card{border-radius:0 0 var(--radius) var(--radius)}.site-footer .footer-logo,.footer-badge{width:118px;height:118px}.site-footer .footer-logo }
@media(max-width:580px){.brand{padding:0}.site-nav .brand{width:156px;height:42px}.brand-lockup{width:156px}.site-nav .section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{font-size:clamp(31px,9vw,42px)}.reviews .section-head h2,.services .section-head h2,.work .section-head h2{font-size:clamp(32px,9.4vw,43px)}.estimate-copy h2{font-size:clamp(37px,10.5vw,48px)}.crew-photo{height:290px}}

/* Deliberately restrained section-title scale. */
.section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2{font-size:clamp(33px,3.7vw,50px)}.reviews .section-head h2{font-size:clamp(35px,3.45vw,48px)}.services .section-head h2,.work .section-head h2{font-size:clamp(35px,3.5vw,49px)}.flow-grid{grid-template-columns:.95fr 1.05fr;gap:clamp(52px,6vw,78px)}.flow-copy h2{font-size:clamp(34px,3.35vw,46px)}.comparison{min-height:560px}.crew-card h2,.process-intro h2,.faq-intro h2{font-size:clamp(35px,3.45vw,48px)}.area-card h2{font-size:clamp(33px,3.3vw,46px)}.estimate-copy h2{font-size:clamp(40px,4.35vw,58px)}
@media(max-width:820px){.flow-grid{grid-template-columns:1fr;gap:42px}.comparison{height:580px;min-height:0}}
@media(max-width:580px){.section-head h2,.flow-copy h2,.process-intro h2,.faq-intro h2,.area-card h2,.crew-card h2,.reviews .section-head h2,.services .section-head h2,.work .section-head h2{font-size:clamp(30px,8.5vw,38px)}.estimate-copy h2{font-size:clamp(35px,9.8vw,44px)}.comparison{height:470px}}

/* Crew breathing room, fixed hero scale, and the service-areas block. */
.crew{padding:clamp(74px,8.5vw,124px) 0}
.hero h1{font-size:55px}
.area-card{row-gap:38px}
@media(min-width:1051px){.area-card{grid-template-columns:170px minmax(0,1fr) auto}}
.area-towns{grid-column:1/-1;padding-top:34px;border-top:1px solid var(--line)}
.area-towns h3{margin:0 0 18px;font-family:var(--display);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1f7968}
.area-towns ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 26px}
.area-towns li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink)}
.area-towns li svg{flex:none;width:16px;height:16px;color:#1d8069}
.area-note{margin:26px 0 0;color:var(--muted);font-size:14.5px}
@media(max-width:1050px){.hero h1{font-size:52px}.area-towns ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.crew{padding:clamp(56px,9vw,84px) 0}.hero h1{font-size:46px}}
@media(max-width:580px){.hero h1{font-size:38px}.area-towns{padding-top:26px}.area-towns ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px}.area-towns li{font-size:14px}}

/* The FAQ question text moved into its own span so it can carry an edit key.
   `.faq-list summary span` is the round +/- icon, so undo that on the text. */
.faq-list summary span.faq-q{width:auto;height:auto;flex:1;border:0;border-radius:0;background:none}
.faq-list summary span.faq-q:before,.faq-list summary span.faq-q:after{content:none}

/* On phones the editor's Request Website Edits bubble takes the whole bottom
   band, so it lands on top of the chat launcher. Lift the chat above it, but
   only when the editor is actually on the page: visitors never load review.js
   and their launcher stays where it belongs. */
@media(max-width:760px){
  body:has(#ttr-review-root) .cw-root{bottom:146px}
}

/* ---- GHL form embed ---------------------------------------------------
   The fields are an iframe on GHL's origin, so nothing here can touch them:
   their styling lives in the form's own record in GHL. That record is now
   written from ghl-internal (see GHL-FORM-CSS.md), not pasted by hand, and
   the padding GHL's Custom CSS box used to discard is zeroed at the source.

   So there is nothing left to crop: --ghl-crop stays 0 and form_embed.js
   sizes the frame from what the form actually measures. --ghl-h only
   reserves the finished height from first paint so the card does not pop.
   Re-measure it whenever a field is added or removed. */
.ghl-form {
  --ghl-h: 543px;      /* what the form measures at its current field count */
  --ghl-crop: 0px;     /* GHL's padding is zeroed at the source now */
  position: relative;
  overflow: hidden;
  min-height: calc(var(--ghl-h) - var(--ghl-crop));
}
.ghl-form iframe {
  display: block;
  width: 100% !important;   /* beats any inline width form_embed.js writes */
  border: 0;
  margin-top: calc(var(--ghl-crop) * -1);
  height: var(--ghl-h);
  background: transparent;
  color-scheme: normal;   /* stops a dark-mode browser repainting the frame */
}

/* ============================================================
   Inner pages (services, service areas, our work, reviews)
   Generated by tools/build_pages.py from tools/content/pages.py.
   The home page is one long scroll and owns its own sections; these are the
   pieces the inner pages are assembled from, and nothing above uses them.
   ============================================================ */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:104px 0 0;font-size:12px;color:rgba(8,27,24,.6)}
.crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(8,27,24,.25)}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.crumbs a+a:before,.crumbs a+span:before{content:"/";margin-right:8px;opacity:.45;border:0}
.crumbs span{color:var(--ink);font-weight:600}

.page-hero{position:relative;isolation:isolate;padding:96px 0 84px;margin-top:22px;background:var(--ink);color:#fff;overflow:hidden}
.page-hero-media{position:absolute;z-index:-2;inset:0}
.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05)}
.page-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,rgba(4,20,17,.95) 0%,rgba(5,24,20,.88) 52%,rgba(6,28,24,.6) 100%)}
.page-hero-inner{max-width:760px}
.page-hero h1{margin:14px 0 18px;font-family:var(--display);font-size:clamp(38px,5.4vw,64px);font-weight:900;letter-spacing:-.05em;line-height:.95;text-transform:uppercase;text-wrap:balance}
.page-lede{max-width:60ch;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.65}
.page-hero .hero-proof{margin-top:24px}
.page-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:30px}
.page-hero-actions .text-link{color:#fff}

.prose-section{padding:74px 0}
.prose{max-width:74ch}
.prose h2{margin:0 0 18px;font-family:var(--display);font-size:clamp(28px,3.6vw,40px);letter-spacing:-.035em;line-height:1.06;text-transform:uppercase}
.prose p{margin:0 0 17px;font-size:16.5px;line-height:1.75;color:rgba(8,27,24,.82)}
.prose p:last-child{margin-bottom:0}

.section-intro{max-width:62ch;margin:14px 0 0;color:rgba(8,27,24,.7);font-size:16px;line-height:1.7}
.band{background:var(--ink);color:#fff}
.band .section-head h2{color:#fff}

.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:22px}
.link-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.link-card:hover{transform:translateY(-4px);border-color:rgba(8,27,24,.2);box-shadow:0 22px 48px rgba(4,25,21,.13)}
.link-card-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--ink)}
.link-card-img img{width:100%;height:100%;object-fit:cover}
.link-card-body{display:flex;flex-direction:column;gap:9px;padding:24px}
.link-card h3{margin:0;font-family:var(--display);font-size:22px;letter-spacing:-.03em;text-transform:uppercase}
.link-card p{margin:0;color:rgba(8,27,24,.7);font-size:14.5px;line-height:1.6}
.link-card-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px;color:var(--ink);font-size:13px;font-weight:600}
.link-card-go svg{width:17px;height:17px;transition:transform .25s}
.link-card:hover .link-card-go svg{transform:translateX(4px)}

.check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px 34px;list-style:none;margin:0;padding:0}
.check-list li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;line-height:1.62;color:rgba(255,255,255,.76)}
.check-list svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--lime)}
.check-list b{color:#fff;font-weight:600}

.cta-band{background:linear-gradient(150deg,#0c2521,#081b18 62%);color:#fff}
.cta-inner{display:grid;grid-template-columns:1.25fr .85fr;align-items:center;gap:46px}
.cta-inner h2{margin:0 0 12px;font-family:var(--display);font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.03;text-transform:uppercase}
.cta-inner p{margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}
.cta-actions{display:flex;flex-direction:column;gap:20px;align-items:flex-start}

.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:16px}
.work-grid figure{margin:0;overflow:hidden;border-radius:16px;background:var(--ink)}
.work-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.work-grid figcaption{padding:13px 15px;color:rgba(8,27,24,.66);font-size:13px;line-height:1.5}
.band .work-grid figcaption{color:rgba(255,255,255,.66)}

@media(max-width:820px){
  .crumbs{padding-top:92px}
  .page-hero{padding:74px 0 62px}
  .cta-inner{grid-template-columns:1fr;gap:30px}
  .prose-section{padding:60px 0}
}
@media(max-width:580px){
  .crumbs{padding-top:80px;font-size:11px}
  .page-hero{padding:58px 0 52px}
  .page-lede{font-size:15.5px}
  .link-card-body{padding:20px}
}

/* The home page's nav floats transparent over the hero video. Every inner page
   opens on a light breadcrumb strip instead, so the same nav would be white
   text on cream until the first scroll. These pages get the solid bar from the
   first paint, without waiting for the scroll handler. */
.inner-page .site-nav{background:rgba(244,241,233,.97);color:var(--ink);box-shadow:0 10px 35px rgba(4,25,21,.09);backdrop-filter:blur(16px)}
.inner-page .site-nav .brand-logo-light{opacity:0}
.inner-page .site-nav .brand-logo-dark{opacity:1}
.inner-page .site-nav .brand>svg{color:#599900}

/* Reviews page: the real Google reviews, read out of config.js at build time */
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}
.quote-card{display:flex;flex-direction:column;gap:16px;margin:0;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.quote-card blockquote{margin:0}
.quote-card p{margin:0;color:rgba(8,27,24,.82);font-size:15px;line-height:1.68}
.quote-card figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.quote-card figcaption b{font-size:14px}
.quote-card figcaption span{color:rgba(8,27,24,.55);font-size:12px}

/* Footer legal links. Carriers reviewing an A2P campaign look for a privacy
   policy reachable from the page that collects the phone number, so this is a
   compliance requirement rather than decoration. */
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legal a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
.footer-legal a:hover{border-bottom-color:currentColor}

/* The lead cards lost their forms when the A2P campaign moved to the chat
   widget, which has to be the only thing on the page collecting a phone
   number. What is left is the phone number at the size a trade needs it, so
   the card still earns its place in the hero. */
.card-actions{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:22px}
.card-actions .call-block{gap:16px}
.card-actions .call-block b{font-size:27px}
.card-alt{margin:0;color:rgba(255,255,255,.6);font-size:13px;line-height:1.6}
.estimate .card-actions{gap:22px}
.estimate .card-actions .primary-btn{width:100%}
@media(max-width:580px){
  .card-actions .call-block b{font-size:23px}
}
