@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-semibold.ttf") format("truetype");font-weight:600 700;font-display:swap}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-semibold.ttf") format("truetype");font-weight:600 700;font-display:swap}

:root{
  --ink:#071e2d;
  --navy:#0b2f43;
  --tide:#087d9b;
  --foam:#d9f3f3;
  --shell:#f5f0e7;
  --paper:#fffdf8;
  --coral:#e8614c;
  --line:rgba(7,30,45,.16);
  --shadow:0 24px 70px rgba(7,30,45,.16);
  --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.skip-link{position:fixed;z-index:1000;left:1rem;top:1rem;transform:translateY(-160%);background:#fff;padding:.7rem 1rem;border-radius:4px}
.skip-link:focus{transform:none}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.eyebrow{margin:0 0 14px;color:var(--tide);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.display{font-family:var(--serif);font-weight:600;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.section-title{font-size:clamp(2.35rem,5vw,4.7rem);margin:0;max-width:850px}
.lede{font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.55;color:#33505e;max-width:660px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.78rem 1.2rem;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-weight:700;letter-spacing:-.01em;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,30,45,.18)}
.button-light{background:var(--foam);border-color:var(--foam);color:var(--ink)}
.button-outline{background:transparent;color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}
.text-link::after{content:"→";transition:transform .2s ease}
.text-link:hover::after{transform:translateX(4px)}

.site-header{position:sticky;z-index:50;top:0;background:rgba(255,253,248,.93);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;line-height:1.05;letter-spacing:-.02em}
.brand img{width:50px;height:54px;object-fit:contain}
.brand span{max-width:140px}
.nav{display:flex;align-items:center;gap:31px}
.nav a{font-size:.94rem;font-weight:600;text-decoration:none;position:relative}
.nav a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--tide);transition:right .2s ease}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.nav .button{color:#fff;padding:.63rem .95rem;min-height:46px}
.header-call{font-size:.86rem;color:#395461;text-decoration:none;margin-left:auto}
.header-call strong{display:block;color:var(--ink);font-size:1rem}
.menu-button{display:none;width:48px;height:48px;border:1px solid var(--line);background:transparent;padding:0;position:relative}
.menu-button span,.menu-button::before,.menu-button::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:.2s ease}
.menu-button::before{top:15px}.menu-button span{top:23px}.menu-button::after{top:31px}
.menu-button[aria-expanded="true"]::before{transform:translateY(8px) rotate(45deg)}
.menu-button[aria-expanded="true"] span{opacity:0}
.menu-button[aria-expanded="true"]::after{transform:translateY(-8px) rotate(-45deg)}

.hero{position:relative;min-height:735px;overflow:hidden;background:var(--shell);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--shell) 0 52%,rgba(245,240,231,.72) 61%,rgba(245,240,231,0) 78%);z-index:2;pointer-events:none}
.hero-inner{position:relative;z-index:3;min-height:735px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);align-items:center}
.hero-copy{padding:68px 0 84px;max-width:655px}
.hero h1{font-size:clamp(3.4rem,5.8vw,5.7rem);margin:0 0 24px;max-width:750px;line-height:.93}
.hero h1 em{font-style:normal;color:var(--tide)}
.hero-copy .lede{max-width:580px;margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-proof{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:31px;padding-top:22px;border-top:1px solid rgba(7,30,45,.18);font-size:.86rem;font-weight:600;color:#2d4b59}
.hero-proof span{display:flex;align-items:center;gap:8px}
.hero-proof span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tide)}

.house-scene{position:absolute;z-index:1;inset:0 0 0 43%;overflow:hidden;background:linear-gradient(160deg,#083149 0%,#0d5367 55%,#5fbcc6 100%)}
.house-scene::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 20%,rgba(217,243,243,.32),transparent 24%),linear-gradient(180deg,transparent 56%,rgba(7,30,45,.28));mix-blend-mode:screen}
.house-frame{position:absolute;width:min(650px,94%);right:3%;bottom:-8%;filter:drop-shadow(0 25px 28px rgba(2,21,31,.38))}
.house-outline{stroke:#d9f3f3;stroke-width:4;fill:#0b2f43;stroke-linejoin:round}
.roof-clean{fill:#dce4df}.siding-clean{fill:#f5f0e7}.trim-clean{fill:#fffdf8}.window{fill:#50adc0;stroke:#071e2d;stroke-width:4}
.siding-lines{stroke:#8da5a5;stroke-width:3;opacity:.45}
.dirty-overlay{fill:#20363d;opacity:.82;animation:washReveal 2.3s cubic-bezier(.65,0,.24,1) .2s both}
.wash-front{position:absolute;top:8%;bottom:3%;left:12%;width:96px;background:linear-gradient(90deg,transparent,rgba(217,243,243,.36),rgba(255,255,255,.68),rgba(95,188,198,.25),transparent);filter:blur(1px);transform:skewX(-8deg);animation:washTrack 2.3s cubic-bezier(.65,0,.24,1) .2s both}
.wash-front::after{content:"";position:absolute;inset:8% 24% 5% 40%;background:repeating-linear-gradient(166deg,transparent 0 14px,rgba(255,255,255,.48) 15px 17px,transparent 18px 31px);opacity:.6}
.spray-arc{position:absolute;width:480px;height:480px;border:2px solid rgba(217,243,243,.5);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;right:-175px;top:70px;transform:rotate(-20deg);animation:arcPulse 2.3s ease-out .2s both}
.droplet{position:absolute;width:11px;height:15px;border-radius:55% 45% 58% 42%;background:rgba(217,243,243,.85);transform:rotate(18deg);animation:droplet 1.7s ease-in-out infinite}
.droplet.d1{right:19%;top:17%;animation-delay:.1s}.droplet.d2{right:11%;top:34%;animation-delay:.5s;width:7px;height:10px}.droplet.d3{right:26%;top:43%;animation-delay:.9s;width:8px;height:12px}.droplet.d4{right:7%;top:58%;animation-delay:1.2s}
.scene-label{position:absolute;right:40px;top:38px;color:rgba(255,255,255,.82);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}
@keyframes washReveal{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes washTrack{0%{transform:translateX(-170px) skewX(-8deg);opacity:0}10%{opacity:1}88%{opacity:1}100%{transform:translateX(780px) skewX(-8deg);opacity:0}}
@keyframes arcPulse{0%{opacity:0;transform:rotate(-25deg) scale(.82)}45%{opacity:1}100%{opacity:.45;transform:rotate(-10deg) scale(1.08)}}
@keyframes droplet{0%,100%{transform:translateY(0) rotate(18deg);opacity:.28}50%{transform:translateY(20px) rotate(18deg);opacity:.9}}

.credential-bar{background:var(--ink);color:white}
.credential-inner{min-height:91px;display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:24px}
.credential-inner p{margin:0;font-size:.9rem;color:#b9ced5}.credential-inner strong{font-family:var(--serif);font-size:1.18rem;color:white;font-weight:600}
.credential-item{display:flex;align-items:center;gap:11px;border-left:1px solid rgba(255,255,255,.2);padding-left:24px;font-size:.88rem;font-weight:600}
.credential-item::before{content:"✓";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--foam);color:var(--ink)}

.services-intro{padding:132px 0 68px}
.intro-grid{display:grid;grid-template-columns:1fr .74fr;gap:90px;align-items:end}
.intro-grid .lede{margin:0}
.service-editorial{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-row{grid-column:span 12;display:grid;grid-template-columns:90px 1fr 1fr 60px;gap:28px;align-items:center;min-height:150px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .22s ease,padding .22s ease}
.service-row:last-child{border-bottom:0}
.service-row:hover{background:var(--foam);padding-inline:20px}
.service-no{font-family:var(--serif);font-size:1rem;color:var(--tide)}
.service-name{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.8rem);letter-spacing:-.035em;line-height:1.05}
.service-row p{margin:0;color:#4a626d;max-width:460px}
.service-arrow{font-size:1.8rem;text-align:right}

.proof-section{padding:138px 0;background:var(--navy);color:white;position:relative;overflow:hidden}
.proof-section::before{content:"";position:absolute;right:-120px;top:-170px;width:500px;height:500px;border:1px solid rgba(217,243,243,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(217,243,243,.035),0 0 0 140px rgba(217,243,243,.025)}
.proof-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:54px}
.proof-head .eyebrow{color:#7fd2df}.proof-head .section-title{max-width:730px}.proof-head .text-link{color:white;flex:none}
.work-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:310px 310px;gap:18px}
.work-card{position:relative;overflow:hidden;background:#082535;min-height:260px}
.work-card:first-child{grid-row:span 2}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.work-card:hover img{transform:scale(1.025)}
.work-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:54px 24px 20px;background:linear-gradient(transparent,rgba(3,20,30,.9));color:#fff;font-weight:600}
.work-card figcaption small{display:block;color:#b7d9df;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;margin-bottom:2px}

.process-section{padding:132px 0;background:var(--shell)}
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.process-aside{position:sticky;top:126px}
.process-aside .lede{margin-bottom:28px}
.steps{counter-reset:step}
.step{counter-increment:step;display:grid;grid-template-columns:76px 1fr;gap:25px;padding:34px 0;border-top:1px solid var(--line)}
.step::before{content:"0" counter(step);font-family:var(--serif);color:var(--tide);font-size:1.1rem}
.step h3{font-family:var(--serif);font-size:1.6rem;line-height:1.1;margin:0 0 7px;letter-spacing:-.025em}.step p{margin:0;color:#4c646f}

.area-section{padding:116px 0;background:var(--paper)}
.area-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.area-map{min-height:410px;position:relative;background:var(--foam);overflow:hidden;border:1px solid rgba(8,125,155,.18)}
.area-map svg{position:absolute;inset:28px;width:calc(100% - 56px);height:calc(100% - 56px)}
.map-line{fill:none;stroke:#7dbcc2;stroke-width:4;stroke-dasharray:2 13;stroke-linecap:round}.map-water{fill:#afdfe1}.map-land{fill:#f8f3e9;stroke:#93c9cd;stroke-width:2}.map-dot{fill:var(--coral)}
.map-label{position:absolute;padding:6px 10px;background:var(--paper);font-size:.76rem;font-weight:700;box-shadow:0 5px 15px rgba(7,30,45,.1)}
.map-label.charleston{left:49%;top:43%}.map-label.james{left:38%;bottom:25%}.map-label.west{left:16%;top:33%}
.area-copy h2{font-size:clamp(2.6rem,5vw,4.7rem);margin:0 0 22px}.area-copy .lede{margin-bottom:25px}.area-list{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 32px;padding:0;list-style:none}.area-list li{border:1px solid var(--line);padding:8px 13px;font-size:.88rem;font-weight:600}

.cta-section{padding:105px 0;background:var(--tide);color:white;position:relative;overflow:hidden}
.cta-section::after{content:"";position:absolute;right:-90px;bottom:-190px;width:460px;height:460px;border-radius:50%;border:70px solid rgba(217,243,243,.1)}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}.cta-inner h2{font-size:clamp(2.7rem,5vw,5rem);margin:0;max-width:800px}.cta-inner p{margin:15px 0 0;color:#d8f0f3;max-width:590px}.cta-actions{display:flex;flex-direction:column;gap:10px;min-width:210px}.cta-actions .text-link{justify-content:center;color:white}

.site-footer{background:var(--ink);color:white;padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.45fr .7fr .9fr;gap:75px;padding-bottom:58px}
.footer-brand{display:flex;gap:18px;align-items:flex-start}.footer-brand img{width:70px;height:82px;object-fit:contain}.footer-brand strong{font-family:var(--serif);font-size:1.6rem;font-weight:600}.footer-brand p{color:#a9c0c9;max-width:390px;margin:8px 0 0}
.footer-col h2{font:600 .8rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#7fd2df;margin:0 0 16px}.footer-col a{display:block;color:#d7e3e7;text-decoration:none;margin:8px 0}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;color:#8ba5ae;font-size:.82rem}

.page-hero{padding:98px 0 80px;background:var(--shell);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;right:-120px;top:-210px;width:520px;height:520px;border:80px solid rgba(8,125,155,.08);border-radius:50%}.page-hero h1{font-size:clamp(3.6rem,8vw,7.5rem);max-width:1050px;margin:0 0 25px}.page-hero .lede{margin:0}.page-hero .hero-actions{margin-top:30px}
.service-detail{padding:110px 0}.service-block{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;padding:70px 0;border-top:1px solid var(--line)}.service-block:first-child{padding-top:0;border-top:0}.service-block h2{font-size:clamp(2.2rem,4.2vw,4.1rem);margin:0}.service-copy p{margin-top:0;color:#3f5965}.service-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.service-tags li{background:var(--foam);padding:8px 12px;font-size:.86rem;font-weight:600}
.work-page{padding:105px 0}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.gallery-card{grid-column:span 6;margin:0}.gallery-card:nth-child(3n){grid-column:span 12}.gallery-card img{width:100%;aspect-ratio:1.25;object-fit:cover;background:var(--shell)}.gallery-card:nth-child(3n) img{aspect-ratio:2.15}.gallery-card figcaption{padding:14px 0 25px;border-bottom:1px solid var(--line);font-weight:600}.gallery-card figcaption small{display:block;color:var(--tide);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.contact-page{padding:100px 0 120px}.contact-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:90px;align-items:start}.contact-aside{position:sticky;top:125px}.contact-aside h1{font-size:clamp(3.5rem,6.5vw,6.5rem);margin:0 0 22px}.contact-direct{margin:34px 0 0;padding:0;list-style:none}.contact-direct li{border-top:1px solid var(--line);padding:16px 0}.contact-direct a{font-weight:700;text-underline-offset:4px}.estimate-form{background:var(--shell);padding:44px}.estimate-form h2{font:600 2rem var(--serif);margin:0 0 8px}.estimate-form>p{margin-top:0;color:#506872}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.86rem;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(7,30,45,.28);background:white;padding:13px 14px;color:var(--ink);min-height:52px;border-radius:0}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--tide);outline:3px solid rgba(8,125,155,.18);outline-offset:0}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-actions{margin-top:20px;display:flex;gap:14px;align-items:center}.form-actions .button{border:0;cursor:pointer}.form-actions .button:disabled{opacity:.65;cursor:wait}.form-status{font-size:.88rem;color:#934334;line-height:1.4}.form-status.success{color:#176d52}.form-note{font-size:.78rem;color:#607680;margin-top:16px}

[data-reveal]{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1024px){
  .shell{width:min(100% - 38px,930px)}
  .nav{gap:19px}.header-call{display:none}
  .hero-inner{grid-template-columns:1fr minmax(380px,.72fr)}.hero h1{font-size:clamp(3.25rem,6.3vw,5rem)}.hero-copy{max-width:560px}
  .house-scene{inset:0 0 0 48%}.house-frame{width:580px;right:-10%}
  .intro-grid,.process-grid,.area-wrap{gap:55px}.service-row{grid-template-columns:60px 1fr 1fr 45px}
  .process-grid{grid-template-columns:.9fr 1.1fr}.contact-layout{gap:55px}.footer-grid{gap:45px}
}

@media(max-width:820px){
  body{font-size:16px}.shell{width:calc(100% - 32px)}
  .header-inner{height:72px}.brand img{width:43px;height:46px}.brand span{font-size:.91rem}
  .menu-button{display:block}.nav{position:fixed;inset:72px 0 auto 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:22px 24px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(7,30,45,.15);transform:translateY(-130%);visibility:hidden;transition:transform .26s ease,visibility .26s}.nav.is-open{transform:none;visibility:visible}.nav a{padding:13px 3px;font-size:1.06rem}.nav a:not(.button)::after{display:none}.nav .button{margin-top:12px}
  .hero{min-height:815px}.hero::before{background:linear-gradient(180deg,var(--shell) 0 52%,rgba(245,240,231,.93) 57%,rgba(245,240,231,.16) 75%,transparent)}.hero-inner{min-height:815px;display:block}.hero-copy{padding:45px 0 330px;max-width:620px}.hero h1{font-size:clamp(3rem,10.6vw,4.7rem);max-width:650px;margin-bottom:18px}.hero-copy .lede{font-size:1.04rem;margin-bottom:22px;max-width:540px}.hero-proof{margin-top:20px;padding-top:16px}.house-scene{inset:49% 0 0 0}.house-frame{width:min(620px,92%);right:0;bottom:-22%}.scene-label{display:none}.wash-front{animation-duration:2s}.spray-arc{right:-230px;top:-50px}
  .credential-inner{grid-template-columns:1fr 1fr;padding:24px 0}.credential-inner>p{grid-column:1/-1}.credential-item{border-left:0;padding-left:0}
  .services-intro{padding:95px 0 46px}.intro-grid{grid-template-columns:1fr;gap:25px}.service-row{grid-template-columns:45px 1fr 45px;gap:14px;min-height:135px}.service-row p{display:none}
  .proof-section{padding:95px 0}.proof-head{align-items:start;flex-direction:column;margin-bottom:35px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:440px 270px}.work-card:first-child{grid-column:span 2;grid-row:auto}
  .process-section{padding:95px 0}.process-grid{grid-template-columns:1fr;gap:45px}.process-aside{position:static}.area-section{padding:90px 0}.area-wrap{grid-template-columns:1fr}.area-map{order:2}.cta-inner{grid-template-columns:1fr}.cta-actions{flex-direction:row;align-items:center;min-width:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>*:first-child{grid-column:1/-1}
  .service-block,.contact-layout{grid-template-columns:1fr;gap:30px}.service-block{padding:52px 0}.contact-aside{position:static}.gallery-card{grid-column:span 6}.gallery-card:nth-child(3n){grid-column:span 12}
}

@media(max-width:520px){
  .shell{width:calc(100% - 28px)}
  .hero{min-height:865px}.hero-inner{min-height:865px}.hero-copy{padding-top:35px;padding-bottom:322px}.hero h1{font-size:clamp(2.7rem,11.2vw,3.55rem);line-height:.94}.hero-copy .lede{line-height:1.47}.hero-actions{gap:9px}.hero-actions .button{flex:1 1 auto}.hero-proof{gap:5px 14px;font-size:.78rem}.house-scene{inset:58% 0 0}.house-frame{width:480px;max-width:none;right:-74px;bottom:-15%}.wash-front{width:75px}.droplet.d1{right:12%}
  .credential-inner{gap:14px}.credential-item{font-size:.78rem}.credential-item::before{width:24px;height:24px;flex:none}
  .section-title{font-size:2.72rem}.service-row{grid-template-columns:35px 1fr 32px;min-height:118px}.service-name{font-size:1.72rem}.service-row:hover{padding-inline:6px}
  .work-grid{display:block}.work-card{height:315px;margin:0 0 14px}.work-card:first-child{height:420px}.proof-head .text-link{margin-top:-15px}
  .step{grid-template-columns:52px 1fr;gap:12px}.area-map{min-height:330px}.map-label{font-size:.66rem}.map-label.charleston{left:44%}.map-label.james{left:27%}
  .cta-section{padding:78px 0}.cta-inner h2{font-size:3rem}.cta-actions{align-items:stretch;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-grid>*:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:7px}.footer-brand img{width:58px;height:68px}
  .page-hero{padding:72px 0 62px}.page-hero h1{font-size:3.5rem}.service-detail,.work-page,.contact-page{padding:74px 0}.gallery-grid{display:block}.gallery-card,.gallery-card:nth-child(3n){margin-bottom:25px}.gallery-card img,.gallery-card:nth-child(3n) img{aspect-ratio:1.1}.estimate-form{padding:26px 18px}.form-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.form-actions .button{width:100%}.contact-aside h1{font-size:3.7rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}.dirty-overlay{clip-path:inset(0 0 0 100%)}.wash-front{opacity:0}
}
