/* Family "fwbath" (reference: Intown Renovations Group; secondary Signature Home Remodeling).
   White page, pine-teal colour blocking with a diagonal cut, coral-sand accents, tiled grids with
   shared hairlines, cut-corner photos, big light numerals, a sticky side call tab on desktop.
   Fonts: Lexend (headings, UI, numerals), Spectral (body serif). */

:root{
  --pine:#0f4c4a; --pine-d:#0b3b39; --pine-x:#072927;
  --coral:#e8a87c; --coral-d:#dd9461; --coral-m:#c97a4a; --coral-x:#a85a30;
  --ink:#10302f; --body:#2f4342; --mute:#5c706f;
  --mist:#e9f1ef; --sand:#fbf3eb; --rule:#cfdedb; --rule-d:rgba(255,255,255,.22); --white:#fff;
  --display:'Lexend','Helvetica Neue',Arial,sans-serif; --text:'Spectral',Georgia,'Times New Roman',serif;
  --wrap:1200px; --gut:clamp(16px,4vw,48px); --ease:cubic-bezier(.22,.61,.36,1);
  --cut:56px; --tw:clamp(400px,44vw,600px); --diag:170px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
.still,.still *{scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--body);font:400 17px/1.65 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--pine)}
h1,h2,h3{margin:0;color:var(--ink);font-family:var(--display);font-weight:500;letter-spacing:-.012em;text-wrap:balance}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--coral-x);outline-offset:3px}

/* motion hooks */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s ease var(--reveal-delay,0ms)}
.js [data-reveal].is-in,.still [data-reveal]{opacity:1;transform:none}
[data-zoom]{will-change:transform;transform-origin:50% 50%}
.still [data-zoom],.still [data-parallax]{transform:none!important}

/* type helpers */
.eyebrow{margin:0 0 14px;font:500 12px/1.4 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--pine)}
.eyebrow--coral{color:var(--coral)}
.h2{font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.12;margin:0 0 20px;max-width:24ch}
.h2--light{color:#fff}
.lede{font-size:clamp(17px,1.25vw,19px);line-height:1.6;color:var(--mute);max-width:52ch;margin:0 0 1em}
.lede--light{color:rgba(255,255,255,.84)}
.prose p{max-width:60ch}
.sec-head{display:grid;grid-template-columns:1.3fr .7fr;gap:24px clamp(32px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,60px)}
.sec-head .h2{margin-bottom:0;max-width:30ch}
.sec-head .lede{margin:0 0 6px}
.sec-head--c{display:block;text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.sec-head--c .h2{margin:0 auto 18px}
.sec-head--c .lede{margin:0 auto}
.link-call{font:500 15px var(--display);color:var(--pine);text-decoration:none;border-bottom:2px solid var(--coral);padding-bottom:2px;white-space:nowrap}
.link-call:hover{border-color:var(--pine)}

/* buttons: squared, Lexend */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 26px;border:1.5px solid transparent;text-decoration:none;font:500 14px/1.2 var(--display);letter-spacing:.02em;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn--coral{background:var(--coral);border-color:var(--coral);color:var(--pine-x)}
.btn--coral:hover,.btn--coral:focus-visible{background:var(--coral-d);border-color:var(--coral-d)}
.btn--ghost{border-color:rgba(255,255,255,.75);color:#fff}
.btn--ghost:hover,.btn--ghost:focus-visible{background:#fff;border-color:#fff;color:var(--pine)}
.btn--pine{background:var(--pine);border-color:var(--pine);color:#fff}
.btn--pine:hover,.btn--pine:focus-visible{background:var(--pine-d);border-color:var(--pine-d)}
.btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btns--links{gap:16px 28px}
.arrlink{display:inline-flex;align-items:center;gap:14px;min-height:44px;font:500 15px var(--display);color:var(--pine);text-decoration:none}
.arr{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;background:var(--coral);color:var(--pine-x);transition:transform .3s var(--ease),background .3s}
.arrlink:hover .arr{transform:translateX(5px);background:var(--coral-d)}

/* skip link + callbar + side tab */
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--pine);color:#fff;padding:10px 16px;font:500 14px var(--display);text-decoration:none}
.skip-link:focus{top:12px}
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:56px;align-items:center;justify-content:center;background:var(--coral);color:var(--pine-x);text-decoration:none;font:500 15px var(--display);letter-spacing:.04em;box-shadow:0 -4px 20px rgba(16,48,47,.16)}
.sidecta{position:fixed;right:0;top:50%;z-index:45;display:none;padding:20px 14px 20px 13px;background:var(--coral);color:var(--pine-x);text-decoration:none;font:500 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;white-space:pre;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s,background .3s;box-shadow:0 10px 30px rgba(16,48,47,.18)}
.sidecta:hover{background:var(--coral-d)}
.is-scrolled .sidecta{opacity:1;visibility:visible}

/* header: white, coral top line, pine call tab flush right */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-top:4px solid var(--coral);box-shadow:0 1px 0 var(--rule);transition:box-shadow .4s var(--ease)}
.is-scrolled .hdr{box-shadow:0 1px 0 var(--rule),0 10px 30px rgba(16,48,47,.08)}
.hdr__in{display:flex;align-items:stretch;min-height:74px;padding:0 0 0 var(--gut);transition:min-height .4s var(--ease)}
.is-scrolled .hdr__in{min-height:64px}
.logo{display:inline-block;line-height:0}
.logo svg{width:100%;height:auto}
.hdr__logo{display:flex;align-items:center;width:236px;margin-right:auto;padding:10px 0}
.hdr__nav{display:flex;align-items:center;gap:28px;margin-right:30px}
.hdr__nav a{position:relative;padding:8px 0;font:400 15px/1 var(--display);color:var(--ink);text-decoration:none}
.hdr__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--coral);transition:right .3s var(--ease)}
.hdr__nav a:hover::after,.hdr__nav a:focus-visible::after{right:0}
.hdr__cta{display:flex;align-items:center;padding:0 24px;border-left:1px solid var(--rule);font:500 14px var(--display);color:var(--pine);text-decoration:none}
.hdr__cta:hover{color:var(--pine-x);background:var(--mist)}
.hdr__call{display:flex;align-items:center;padding:0 28px;background:var(--pine);color:#fff;font:500 16px var(--display);letter-spacing:.01em;text-decoration:none;transition:background .3s}
.hdr__call:hover,.hdr__call:focus-visible{background:var(--pine-d)}
.hdr__callm,.hdr__toggle{display:none}
.hdr__toggle{width:52px;border:0;padding:0;background:none;cursor:pointer;position:relative;flex:0 0 52px}
.hdr__bar{position:absolute;left:15px;width:22px;height:2px;background:var(--ink);transition:transform .3s var(--ease),top .3s var(--ease)}
.hdr__bar:nth-child(1){top:24px}
.hdr__bar:nth-child(2){top:32px}
.menu-open .hdr__bar:nth-child(1){top:28px;transform:rotate(45deg)}
.menu-open .hdr__bar:nth-child(2){top:28px;transform:rotate(-45deg)}
.menu{display:none;border-top:1px solid var(--rule);background:#fff;padding:6px 16px 20px}
.menu a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);font:500 16px var(--display);color:var(--ink);text-decoration:none}
.menu .menu__cta{color:var(--pine)}
.menu .menu__call{border:0;margin-top:12px;background:var(--pine);color:#fff;text-align:center;padding:15px}

/* hero: photo, coral edge, pine diagonal panel, words on the panel */
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:center;overflow:hidden;background:var(--pine-x)}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__img{width:100%;height:100%;object-fit:cover}
.hero__edge,.hero__panel{position:absolute;top:0;bottom:0;left:0;clip-path:polygon(0 0,100% 0,calc(100% - var(--diag)) 100%,0 100%)}
.hero__edge{width:calc(var(--gut) + var(--tw) + var(--diag) + 12px);background:var(--coral)}
.hero__panel{width:calc(var(--gut) + var(--tw) + var(--diag));background:rgba(15,76,74,.95)}
.hero__in{position:relative;width:100%;padding:clamp(72px,9vw,128px) var(--gut)}
.hero__text{max-width:var(--tw)}
.hero h1{font-size:clamp(2.4rem,4.4vw,3.9rem);line-height:1.06;color:#fff;margin:0 0 22px;letter-spacing:-.02em}
.hero__sub{font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:rgba(255,255,255,.86);max-width:50ch;margin:0 0 32px}

/* everything we build: tiled grid */
.tiles{background:var(--mist);padding:0 var(--gut) clamp(44px,5vw,64px)}
.tiles__in{max-width:var(--wrap);margin:0 auto}
.tiles__label{display:flex;align-items:center;gap:18px;margin:0;padding:24px 0 18px;font:500 12px var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--pine)}
.tiles__label::after{content:"";flex:1;height:1px;background:var(--rule)}
.tiles__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.tile{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:120px;padding:16px 18px;background:#fff;color:var(--ink);text-decoration:none;transition:background .3s var(--ease),color .3s var(--ease)}
.tile__n{font:400 12px/1 var(--display);letter-spacing:.14em;color:var(--coral-x)}
.tile__name{font:500 15px/1.3 var(--display)}
.tile:hover,.tile:focus-visible{background:var(--coral);color:var(--pine-x)}
.tile:hover .tile__n,.tile:focus-visible .tile__n{color:var(--pine-x)}
.tile--lead{background:var(--pine);color:#fff}
.tile--lead .tile__n{color:var(--coral)}

/* sections */
.intro,.lead,.more,.work,.steps,.values,.faq,.areas,.estimate{padding:clamp(72px,9vw,120px) var(--gut)}
.intro__in,.lead__in,.more__in,.work__in,.steps__in,.values__in,.faq__in,.areas__in,.estimate__in{max-width:var(--wrap);margin:0 auto}

/* photos: cut corner shows the coral ground */
.photo{position:relative;overflow:hidden;background:var(--mist)}
.photo img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.photo:hover img{transform:scale(1.03)}
.photo--cut{background:var(--coral)}
.photo--cut img{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}

/* intro */
.intro__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center}
.intro__media{position:relative}
.intro__since{position:absolute;left:0;bottom:0;margin:0;background:#fff;padding:14px 20px;font:500 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--pine)}

/* lead services */
.lead{background:var(--sand)}
.lead__row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.svc{display:flex;flex-direction:column;border-top:3px solid var(--pine);padding-top:18px}
.svc__n{font:400 13px var(--display);letter-spacing:.14em;color:var(--coral-x);margin:0 0 6px}
.svc__title{font-size:22px;line-height:1.2;margin:0 0 16px}
.svc .photo{margin-bottom:20px}
.svc__text{font-size:16px;margin:0 0 20px;flex:1}

/* the rest of the house: pine band */
.more{background:var(--pine);color:#fff}
.more__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,72px);align-items:start}
.more__side .photo{margin-top:32px}
.more__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-d);border:1px solid var(--rule-d)}
.mtile{background:var(--pine);padding:24px 24px 26px;min-height:150px}
.mtile__n{font:400 12px var(--display);letter-spacing:.14em;color:var(--coral);margin:0 0 10px}
.mtile__title{font-size:17px;line-height:1.3;color:#fff;margin:0 0 8px}
.mtile p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.82);margin:0}
.mtile--ask{background:var(--coral)}
.mtile--ask .mtile__n,.mtile--ask .mtile__title{color:var(--pine-x)}
.mtile--ask p{color:var(--pine-x);margin-bottom:12px}
.mtile__call{font:500 18px var(--display);color:var(--pine-x);text-decoration:none;border-bottom:2px solid var(--pine-x)}

/* projects */
.work__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.work__item{margin:0}
.work__item figcaption{padding:12px 0 0;font-size:15px;line-height:1.5;color:var(--mute)}
.work__item strong{display:block;font:500 15px/1.4 var(--display);color:var(--ink);margin-bottom:2px}
.work__ctl{display:none;justify-content:center;gap:10px;margin-top:8px}
.work__btn{width:48px;height:48px;border:1px solid var(--pine);background:#fff;color:var(--pine);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.work__btn:hover{background:var(--pine);color:#fff}

/* how a job runs: big light numerals */
.steps{background:var(--sand)}
.steps__row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,40px)}
.step{border-top:1px solid var(--pine);padding-top:20px}
.step__n{display:block;font:300 clamp(48px,5vw,68px)/1 var(--display);letter-spacing:-.02em;color:var(--coral-m);margin:0 0 18px}
.step__title{font-size:19px;line-height:1.3;margin:0 0 10px}
.step p{font-size:16px;margin:0}

/* values: white tiles on mist */
.values{background:var(--mist)}
.values__row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,32px)}
.value{background:#fff;padding:32px 28px 30px;border-top:3px solid var(--coral)}
.foil{display:block;color:var(--pine);margin-bottom:18px}
.value__title{font-size:19px;line-height:1.3;margin:0 0 10px}
.value p{font-size:16px;margin:0}

/* faq: title left, framed items right */
.faq__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,5vw,80px);align-items:start}
.faq__item{border:1px solid var(--rule);margin-bottom:10px;background:#fff;transition:border-color .3s}
.faq__item[open]{border-color:var(--pine)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font:500 17px/1.35 var(--display);color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";flex:0 0 14px;height:14px;background:linear-gradient(var(--pine),var(--pine)) center/14px 1.5px no-repeat,linear-gradient(var(--pine),var(--pine)) center/1.5px 14px no-repeat;transition:transform .3s var(--ease)}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{margin:0;padding:0 22px 20px;font-size:16px;max-width:64ch}

/* areas */
.areas{background:var(--mist)}
.areas__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.areas__list{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.areas__list li{padding:10px 16px;border:1px solid var(--pine);background:#fff;font:500 14px/1.3 var(--display);color:var(--pine)}

/* closing band: photo with the diagonal panel mirrored to the right */
.cta{position:relative;overflow:hidden;min-height:540px;display:flex;align-items:center;background:var(--pine-x);color:#fff}
.cta__bg{position:absolute;left:0;right:0;top:-12%;bottom:-12%;background:var(--pine-d) center/cover no-repeat;will-change:transform}
.cta__edge,.cta__panel{position:absolute;top:0;bottom:0;right:0;clip-path:polygon(0 0,100% 0,100% 100%,var(--diag) 100%)}
.cta__edge{width:calc(var(--gut) + var(--tw) + var(--diag) + 12px);background:var(--coral)}
.cta__panel{width:calc(var(--gut) + var(--tw) + var(--diag));background:rgba(15,76,74,.95)}
.cta__in{position:relative;width:100%;display:flex;justify-content:flex-end;padding:clamp(72px,9vw,120px) var(--gut)}
.cta__text{max-width:var(--tw)}
.cta .lede{margin-bottom:30px}

/* estimate */
.estimate__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,80px);align-items:start}
.estimate__hours{margin:22px 0 0;font-size:15px;color:var(--mute)}
.estimate__card{border:1px solid var(--rule);border-top:4px solid var(--coral);padding:clamp(24px,3vw,40px);background:#fff}
.qform__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.qform__field{display:flex;flex-direction:column;gap:6px}
.qform__field--wide{grid-column:1/-1}
.qform__field span{font:500 12px/1.4 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--pine)}
.qform input,.qform select,.qform textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--rule);background:#fff;color:var(--ink);font:400 16px var(--display);border-radius:0;appearance:none;-webkit-appearance:none}
.qform select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230f4c4a' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px}
.qform textarea{resize:vertical;min-height:110px}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 2px rgba(15,76,74,.18)}
.qform__hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.qform__submit{margin-top:22px;width:100%;min-height:52px;border:0;background:var(--pine);color:#fff;cursor:pointer;font:500 15px var(--display);transition:background .3s}
.qform__submit:hover{background:var(--pine-d)}
.qform__submit:disabled{opacity:.6;cursor:wait}
.qform__status{min-height:1.4em;margin:12px 0 0;font-size:15px}
.qform__status.is-ok{color:var(--pine)}
.qform__status.is-err{color:#9A3F2E}
.qform__alt{margin:10px 0 0;font-size:15px;color:var(--mute)}
.qform__alt a{color:var(--pine);font-weight:600;text-decoration:none}

/* footer: pine, logo left with the tagline, three columns */
.ftr{background:var(--pine);color:rgba(255,255,255,.8);padding:clamp(56px,7vw,88px) var(--gut) 36px}
.ftr__in{max-width:var(--wrap);margin:0 auto}
.ftr__top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:32px;border-bottom:1px solid var(--rule-d);margin-bottom:44px}
.ftr__logo{width:300px;flex:0 0 auto}
.ftr__tag{max-width:46ch;margin:0;font:italic 400 17px/1.55 var(--text);color:rgba(255,255,255,.86)}
.ftr__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.ftr__label{font:500 12px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--coral);margin:0 0 12px}
.ftr .nap{font-style:normal;font-size:15px;line-height:1.8;margin:0 0 24px}
.ftr .nap a,.ftr__list a{color:#fff;text-decoration:none}
.ftr .nap__name{color:#fff;font-family:var(--display);font-weight:500}
.ftr__list li{font-size:15px;line-height:1.9}
.ftr__list{margin-bottom:24px}
.ftr__hours{font-size:15px;margin:0}
.ftr__call{font:500 20px var(--display);color:#fff;text-decoration:none;border-bottom:2px solid var(--coral)}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule-d)}
.ftr__copy{margin:0;font-size:14px}
.ftr__legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.ftr__legal a{color:#fff;text-decoration:none;font:400 13px var(--display)}
.ftr__legal a:hover{color:var(--coral)}

/* legal pages */
.legal{padding:clamp(48px,6vw,80px) var(--gut) clamp(64px,8vw,112px)}
.legal__inner{max-width:760px;margin:0 auto}
.legal__crumb{font:500 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.legal__crumb a{color:var(--pine);text-decoration:none}
.legal h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 28px}
.legal h2{font-size:1.5rem;margin:36px 0 12px}
.legal ul,.legal ol{list-style:disc;padding-left:22px;margin:0 0 1em}

/* desktop only: the side tab */
@media (min-width:1100px){
  .sidecta{display:block}
}

/* tablet */
@media (max-width:1100px){
  .hdr__nav{gap:20px;margin-right:20px}
  .hdr__nav a{font-size:14px}
  .hdr__cta{padding:0 16px}
  .lead__row{gap:22px}
  .svc__title{font-size:20px}
  .more__in{grid-template-columns:1fr}
  .more__side .photo{max-width:640px}
  .work__grid{grid-template-columns:repeat(2,1fr)}
  .steps__row{grid-template-columns:repeat(2,1fr);gap:32px}
  .faq__in,.estimate__in{grid-template-columns:1fr}
  .ftr__cols{grid-template-columns:1fr 1fr}
}

/* phone + small tablet */
@media (max-width:899px){
  html{scroll-padding-top:66px}
  .ftr{padding-bottom:100px}
  .callbar{display:flex}
  .hdr__in{min-height:60px;padding-left:16px}
  .is-scrolled .hdr__in{min-height:60px}
  .hdr__logo{width:190px;padding:8px 0}
  .hdr__nav,.hdr__cta,.hdr__call{display:none}
  .hdr__callm{display:flex;align-items:center;padding:0 20px;background:var(--pine);color:#fff;font:500 15px var(--display);text-decoration:none}
  .hdr__toggle{display:block}
  .menu-open .menu{display:block}
  .sec-head{grid-template-columns:1fr;align-items:start;gap:12px}
  .hero{display:block;min-height:0}
  .hero__media{position:relative;inset:auto;height:min(70vw,440px)}
  .hero__edge,.hero__panel{display:none}
  .hero__in{background:var(--pine);margin-top:-44px;padding:76px 16px 52px;clip-path:polygon(0 44px,100% 0,100% 100%,0 100%)}
  .hero__in::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:var(--coral);clip-path:polygon(0 44px,100% 0,100% 9px,0 53px)}
  .hero__text{max-width:none}
  .hero h1{font-size:clamp(2.1rem,9vw,2.8rem)}
  .hero .btns,.cta .btns{flex-direction:column;align-items:stretch}
  .tiles{padding-left:16px;padding-right:16px}
  .tiles__grid{grid-template-columns:1fr 1fr}
  .tile{min-height:96px;padding:14px 16px;gap:12px}
  .intro,.lead,.more,.work,.steps,.values,.faq,.areas,.estimate{padding-left:16px;padding-right:16px}
  .intro__in{grid-template-columns:1fr;gap:36px}
  .intro__media{order:-1}
  .lead__row{grid-template-columns:1fr;gap:44px}
  .more__grid{grid-template-columns:1fr}
  .mtile{min-height:0;padding:20px 20px 22px}
  .work__grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none}
  .work__grid::-webkit-scrollbar{display:none}
  .work__item{flex:0 0 78vw;scroll-snap-align:start}
  .work__ctl{display:flex;margin-top:18px}
  .steps__row{grid-template-columns:1fr;gap:28px}
  .values__row{grid-template-columns:1fr;gap:16px}
  .areas__in{grid-template-columns:1fr;gap:32px}
  .cta{display:block;min-height:0}
  .cta__bg{position:relative;top:auto;bottom:auto;height:min(64vw,400px);transform:none!important}
  .cta__edge,.cta__panel{display:none}
  .cta__in{display:block;background:var(--pine);margin-top:-44px;padding:76px 16px 52px;clip-path:polygon(0 44px,100% 0,100% 100%,0 100%)}
  .cta__in::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:var(--coral);clip-path:polygon(0 44px,100% 0,100% 9px,0 53px)}
  .cta__text{max-width:none}
  .estimate__card{padding:22px 18px 24px}
  .qform__grid{grid-template-columns:1fr}
  .ftr__top{flex-direction:column;align-items:flex-start;gap:20px}
  .ftr__logo{width:260px}
  .ftr__cols{grid-template-columns:1fr;gap:28px}
  .ftr__bottom{flex-direction:column;align-items:flex-start}
}
