@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/montserrat-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/montserrat-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/montserrat-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/montserrat-700.ttf) format('truetype');
}
:root{--ink:#0c0c0b;--paper:#f2f0ea;--gold:#c5a572;--grey:#a9a6a0;--line:rgba(12,12,11,.2);--gutter:clamp(24px,4.5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;font-weight:500;line-height:1.05;letter-spacing:normal}em{font-family:'Montserrat',Arial,sans-serif;font-style:normal;font-weight:inherit}section{position:relative}.dark{background:var(--ink);color:var(--paper)}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--ink);padding:16px;z-index:100}.skip:focus{top:10px}.header{position:fixed;top:0;left:0;width:100%;height:126px;z-index:30;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 var(--gutter);color:var(--paper);transition:height .4s,background .4s,color .4s;border-bottom:1px solid #ffffff25}.header.scrolled{height:78px;background:#0c0c0bf0;backdrop-filter:blur(12px)}.desktop-nav{display:flex;gap:28px}.desktop-nav a,.header-contact{font-size:13px;text-transform:uppercase;letter-spacing:normal}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.brand{justify-self:center;width:170px;transition:width .4s}.brand img{height:80px;object-fit:contain}.scrolled .brand{width:120px}.scrolled .brand img{height:58px}.header-contact{justify-self:end;border:1px solid #ffffff65;padding:12px 27px;transition:background .25s,color .25s,border .25s}.header-contact:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.menu-toggle,.mobile-menu{display:none}.hero{min-height:860px;height:100svh;isolation:isolate;padding:165px var(--gutter) 0;display:flex;flex-direction:column;justify-content:space-between}.hero-image{position:absolute;inset:0;overflow:hidden;z-index:-2}.hero-image img{height:110%;object-position:50% 47%;filter:brightness(.62) saturate(.65);will-change:transform}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0004 0%,transparent 30%,#0007 80%,#000a 100%)}.hero-topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:normal;text-transform:uppercase}.hero-copy{padding-top:100px;padding-bottom:65px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:normal;font-weight:500;line-height:1.6}.hero-copy .eyebrow{color:var(--gold);margin-bottom:25px}.hero h1{font-size:clamp(70px,8.5vw,146px);line-height:.99;letter-spacing:normal}.hero h1 em{letter-spacing:normal}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:36px;max-width:1040px}.hero-bottom p{font-size:17px;color:#eee9df}.line-link{display:inline-block;padding-bottom:9px;border-bottom:1px solid var(--gold);font-size:14px;letter-spacing:normal;transition:color .2s,padding .2s}.line-link:hover{color:var(--gold);padding-bottom:13px}.hero-rail{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #ffffff45;padding:23px 0;font-size:12px;letter-spacing:normal;text-transform:uppercase}.hero-rail span:nth-child(2){text-align:center}.hero-rail a{text-align:right}.hero-rail a span{margin-left:18px;font-size:18px}@media(min-width:1700px){.hero-copy{padding-bottom:90px}}@media(max-width:900px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.hero{min-height:760px}.hero-topline span:last-child{display:none}}@media(max-width:650px){.header{height:95px;grid-template-columns:1fr 1.3fr 1fr}.brand{width:125px}.brand img{height:65px}.header.scrolled{height:72px}.scrolled .brand{width:100px}.desktop-nav{display:none}.header-contact{padding:8px 12px;font-size:11px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;color:inherit;width:44px;height:44px;justify-content:center;padding:6px}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:25;flex-direction:column;justify-content:center;gap:25px;padding:var(--gutter);visibility:hidden;opacity:0;transition:.3s}.mobile-menu.open{visibility:visible;opacity:1}.mobile-menu a{font-family:'Montserrat',Arial,sans-serif;font-size:42px;letter-spacing:normal}.hero{min-height:730px;height:100svh;padding-top:125px}.hero-topline{font-size:10px;letter-spacing:normal}.hero-copy{padding-top:100px;padding-bottom:38px}.hero h1{font-size:clamp(54px,11.7vw,76px)}.hero-copy .eyebrow{margin-bottom:20px}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:15px}.hero-bottom .line-link{margin-top:24px}.hero-rail{grid-template-columns:1fr 1fr;gap:20px;font-size:10px;padding:19px 0}.hero-rail>span:nth-child(2){display:none}.hero-image img{object-position:57% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image img{transform:none!important}}
.section-pad{padding:100px var(--gutter)}.section-label{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;text-transform:uppercase;letter-spacing:normal;margin-bottom:78px}.dark .section-label{border-color:#ffffff30;color:#b9b6ae}.intro h2{font-size:clamp(42px,5.7vw,94px);max-width:1250px}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;gap:80px}.small-index{font-size:14px;line-height:1.7}.intro-description{font-size:clamp(23px,2.2vw,34px);line-height:1.4;letter-spacing:normal;max-width:660px}.body-muted{color:#66645e;font-size:17px;max-width:570px;margin-top:24px}.intro-bottom .line-link{margin-top:32px}.services{padding-bottom:0}.service-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}.service-sticky{position:sticky;top:110px;padding-bottom:50px}.service-counter{display:flex;align-items:baseline;gap:28px;color:var(--gold);margin-bottom:22px}.service-counter>span:first-child{font-family:'Montserrat',Arial,sans-serif;font-size:clamp(100px,13vw,210px);font-weight:400;letter-spacing:normal;line-height:1}.counter-total{font-size:16px;color:#83827a}.service-sticky h2{font-size:clamp(35px,3.7vw,65px);max-width:500px}.service-kicker{color:#b0aea7;margin-top:22px;font-size:16px}.service-progress{display:flex;flex-direction:column;gap:14px;margin:42px 0 45px;max-width:330px}.service-progress a{color:#8b8983;font-size:13px;display:flex;gap:20px;align-items:center;transition:color .25s}.service-progress a:before{content:'';height:1px;width:14px;background:#56544e;transition:width .3s,background .3s}.service-progress a.active{color:var(--paper)}.service-progress a.active:before{width:35px;background:var(--gold)}.service-chapter{padding-bottom:115px;scroll-margin-top:110px}.service-chapter .image-reveal{height:500px}.image-reveal{overflow:hidden}.image-reveal img{height:100%;transition:transform .8s;filter:saturate(.7)}.image-reveal:hover img{transform:scale(1.035)}.chapter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:28px 0}.chapter-heading .eyebrow{font-size:11px;color:var(--gold);max-width:140px;padding-top:6px}.chapter-heading h3{font-size:34px;letter-spacing:normal;line-height:1.1;flex:0 0 60%}.service-chapter>p{font-size:16px;color:#aaa79f;max-width:510px;margin-bottom:28px}.service-list{list-style:none;padding:0;margin:0}.service-list li{border-bottom:1px solid #ffffff24;padding:13px 0;font-size:14px;color:#d5d2ca}.service-list li:before{content:'—';color:var(--gold);margin-right:15px}.visual-break{height:85svh;min-height:640px;isolation:isolate}.visual-break>img{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 50%;filter:brightness(.62) saturate(.6)}.visual-break:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0008,transparent 80%)}.visual-copy{height:100%;padding:65px var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.visual-copy h2{font-size:clamp(50px,7.4vw,120px)}.visual-copy>p:last-child{align-self:flex-end;font-size:17px;line-height:1.6}.clients-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:75px}.clients-heading h2,.projects-heading h2{font-size:clamp(42px,4.8vw,80px)}.clients-heading>p,.projects-heading>p{font-size:16px;color:#696760;max-width:350px}.client-list>div{display:grid;grid-template-columns:.12fr 1fr .5fr;align-items:center;border-top:1px solid var(--line);padding:27px 0;gap:20px;transition:padding .3s,color .3s}.client-list>div:last-child{border-bottom:1px solid var(--line)}.client-list>div:hover{padding-left:15px;color:#917344}.client-list>div>span{font-size:12px;color:#747169}.client-list h3{font-size:clamp(24px,3.1vw,50px);letter-spacing:normal}.client-list p{justify-self:end;font-size:14px;color:#747169}.response{overflow:hidden;min-height:760px}.response-top{display:flex;justify-content:space-between;align-items:flex-start}.response-top>.eyebrow{color:var(--gold)}.response-time{position:absolute;right:var(--gutter);top:35px;font-family:'Montserrat',Arial,sans-serif;font-size:clamp(150px,26vw,430px);line-height:1;letter-spacing:normal;color:#242420;pointer-events:none}.response-time span{font-weight:400;color:#35322b}.response h2{position:relative;font-size:clamp(50px,6.5vw,110px);margin-top:65px;max-width:900px}.response h2 em{color:var(--gold)}.response-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:60px;padding-top:30px;border-top:1px solid #ffffff30}.response-bottom p{color:#b2afa7}.phone-link{font-size:clamp(25px,3.2vw,53px);letter-spacing:normal;line-height:1.3;border-bottom:1px solid var(--gold);transition:color .2s}.phone-link:hover{color:var(--gold)}.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:80px}.project{display:grid;grid-template-columns:1.8fr 1fr;align-items:center;gap:6vw;margin:0 0 110px}.project .image-reveal{height:550px}.project h3{font-size:clamp(30px,3.3vw,53px);margin:25px 0 20px}.project figcaption>p{font-size:15px;color:#77746d;margin-bottom:35px}.project-two{grid-template-columns:1fr 1.5fr;margin:0 0 38px}.project-two .image-reveal{order:2;height:650px}.project-two figcaption{padding-left:7vw}.image-note{font-size:12px;color:#747169;text-align:right}.credentials{padding-top:0}.credentials-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.credentials h2{font-size:clamp(45px,5vw,80px)}.credentials-layout>div>p{max-width:490px;color:#696760}.credential-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:30px 0}.credential-rows span{padding:16px 0;border-top:1px solid var(--line);font-size:14px}.credential-note{font-size:12px}.final-cta{min-height:95svh;display:flex;flex-direction:column;justify-content:space-between;background:#e7e4da}.final-cta .section-label{margin-bottom:75px}.final-cta h2{font-size:clamp(58px,8vw,130px)}.final-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a69c85;padding:22px 0;max-width:590px;margin-top:44px;font-size:18px;transition:color .3s}.final-link span{font-size:32px;font-weight:400}.final-link:hover{color:#957239}.cta-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:85px;font-size:12px;text-transform:uppercase;letter-spacing:normal}.footer{padding:60px var(--gutter) 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:center}.footer-brand{width:140px}.footer-brand img{object-fit:contain}.footer>p{text-align:center;color:#9f9c94;font-size:14px}.footer>a:not(.footer-brand){justify-self:end}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;padding-top:24px;color:#8f8c84;font-size:12px}.footer a:hover{color:var(--gold)}.contact-page .header{background:var(--ink)}.contact-intro{padding-top:165px}.contact-intro .section-label{margin-bottom:65px}.contact-intro h1{font-size:clamp(57px,7.3vw,118px);margin-bottom:95px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:11vw;align-items:start}.contact-details>p{font-size:24px;line-height:1.45;letter-spacing:normal;margin-bottom:45px}.contact-detail{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.contact-detail .eyebrow{color:#797165;font-size:11px}.contact-detail>a{font-size:25px;letter-spacing:normal;width:fit-content;border-bottom:1px solid var(--gold)}.contact-detail>a:hover{color:#917344}.contact-detail p,.email-display{font-size:17px}.urgent-note{border-top:1px solid var(--line);padding-top:25px;max-width:340px;margin-top:40px}.urgent-note p{font-size:14px;color:#6d6961;margin-top:12px}.contact-image{height:240px;width:100%;max-width:340px;margin-top:38px;filter:saturate(.6)}.form-heading{border-top:1px solid var(--ink);padding-top:22px;display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:38px}.form-heading h2{font-size:29px;letter-spacing:normal}.form-heading>p{font-size:12px;color:#716d65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;margin-bottom:10px}input:not([type=file]),select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b6b2a8;border-radius:0;background:transparent;padding:13px 0;color:var(--ink);font-size:16px;min-height:50px}input::placeholder,textarea::placeholder{color:#848077}textarea{resize:vertical;min-height:160px}select{cursor:pointer;padding-right:20px}input:focus,textarea:focus,select:focus{border-bottom-color:#8d6e3d;outline-offset:5px}input:user-invalid,textarea:user-invalid,select:user-invalid{border-color:#a23a2e}.upload-zone{position:relative;padding:28px 20px;border:1px dashed #b6b2a8;transition:border .2s,background .2s}.upload-zone:hover,.upload-zone:focus-within{border-color:#987b4d;background:#eae6dc}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-caption{display:flex;flex-direction:column;gap:7px;pointer-events:none}.upload-caption>span:first-child{font-size:15px}.upload-caption>span:last-child{font-size:12px;color:#78746b}.file-list{list-style:none;padding:0;margin:12px 0 0}.file-list li{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}.file-list button{background:transparent;border:0;text-decoration:underline;padding:5px;color:#76613e;font-size:12px}.field-error{font-size:13px;color:#a23a2e}.form-disclosure{font-size:12px;color:#716d65;line-height:1.6;margin:28px 0 22px}.submit-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:18px 24px;font-size:15px;transition:background .2s,color .2s,border .2s}.submit-button span{font-size:23px}.submit-button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.submit-button:disabled{opacity:.6;cursor:wait}.form-status{font-size:14px;margin-top:20px}.form-status:empty{margin:0}.contact-ending{padding:85px var(--gutter);display:grid;grid-template-columns:.65fr 1fr .45fr;gap:35px;align-items:end}.contact-ending h2{font-size:clamp(40px,5.5vw,85px)}.contact-ending>.eyebrow{align-self:start;color:var(--gold)}.contact-ending .line-link{justify-self:end}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}.js-motion .image-reveal{clip-path:inset(0 0 12% 0);transition:clip-path .9s cubic-bezier(.2,.7,.3,1)}.js-motion .image-reveal.visible{clip-path:inset(0)}
@media(max-width:1000px){.service-layout{gap:6vw;grid-template-columns:.85fr 1.15fr}.service-chapter .image-reveal{height:400px}.chapter-heading{display:block}.chapter-heading h3{margin-top:15px}.clients-heading,.projects-heading{display:block}.clients-heading>p,.projects-heading>p{margin-top:30px}.client-list>div{grid-template-columns:.12fr 1fr}.client-list p{display:none}.project .image-reveal{height:430px}.project-two .image-reveal{height:520px}.contact-layout{gap:6vw}.contact-ending{grid-template-columns:1fr 1.5fr}.contact-ending .line-link{grid-column:2;justify-self:start}}
@media(max-width:700px){.section-pad{padding:70px var(--gutter)}.section-label{font-size:10px;margin-bottom:47px;padding-top:14px}.section-label>span:nth-child(2){display:none}.intro h2{font-size:clamp(36px,7.2vw,52px);line-height:1.1}.intro-bottom{grid-template-columns:1fr;gap:30px;margin-top:40px}.small-index{font-size:12px}.intro-description{font-size:24px}.body-muted{font-size:16px}.services{padding-bottom:0}.service-layout{display:block}.service-sticky{top:72px;background:var(--ink);z-index:10;padding:15px 0 18px;border-bottom:1px solid #ffffff25;display:grid;grid-template-columns:67px 1fr;gap:8px 18px;margin-top:-25px;margin-bottom:26px}.service-counter{margin:0;gap:8px;align-items:center}.service-counter>span:first-child{font-size:49px}.counter-total{font-size:10px}.service-sticky h2{font-size:25px;align-self:center;letter-spacing:normal}.service-kicker,.service-progress,.service-sticky>.line-link{display:none}.service-chapter{padding-bottom:65px;scroll-margin-top:175px}.service-chapter .image-reveal{height:360px}.chapter-heading{display:block;margin:23px 0}.chapter-heading h3{font-size:36px}.service-chapter>p{font-size:16px}.visual-break{min-height:540px;height:75svh}.visual-copy{padding:35px var(--gutter)}.visual-copy>.eyebrow{font-size:10px;max-width:280px}.visual-copy h2{font-size:clamp(42px,9vw,64px)}.visual-copy>p:last-child{align-self:start;font-size:14px}.clients-heading{margin-bottom:45px}.clients-heading h2,.projects-heading h2{font-size:42px}.clients-heading>p,.projects-heading>p{font-size:15px}.client-list>div{grid-template-columns:25px 1fr;padding:23px 0;gap:10px}.client-list h3{font-size:clamp(24px,6vw,34px)}.response{min-height:650px}.response-time{top:75px;right:30px;font-size:155px}.response h2{font-size:53px;margin-top:90px}.response-bottom{display:block;margin-top:40px;padding-top:24px}.response-bottom p{font-size:14px;margin-bottom:25px}.phone-link{font-size:34px}.projects-heading{margin-bottom:45px}.project,.project-two{display:flex;flex-direction:column;gap:25px;align-items:stretch;margin-bottom:55px}.project .image-reveal{height:380px;order:0}.project-two .image-reveal{height:440px}.project-two figcaption{padding:0}.project h3{font-size:37px;margin:15px 0}.project figcaption>p{margin-bottom:20px}.image-note{text-align:left;font-size:11px}.credentials{padding-top:0}.credentials-layout{grid-template-columns:1fr;gap:35px}.credentials h2{font-size:49px}.credential-rows{gap:0 20px}.credential-rows span{font-size:13px}.final-cta{min-height:85svh}.final-cta h2{font-size:clamp(49px,10.5vw,70px)}.final-cta .section-label{margin-bottom:60px}.final-link{font-size:16px;margin-top:35px}.cta-bottom{font-size:10px;flex-direction:column;gap:8px;margin-top:60px}.footer{grid-template-columns:1fr 1fr;padding-top:45px;gap:35px 20px}.footer-brand{width:120px}.footer>p{display:none}.footer>a:not(.footer-brand){font-size:14px}.footer-bottom{flex-wrap:wrap;font-size:10px;gap:17px}.footer-bottom>span{flex:0 0 100%}.contact-intro{padding-top:125px}.contact-intro h1{font-size:clamp(48px,10vw,70px);margin-bottom:55px}.contact-intro .section-label{margin-bottom:45px}.contact-layout{display:flex;flex-direction:column;gap:50px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;width:100%}.contact-details>p{grid-column:1/-1;font-size:23px;margin:0 0 5px}.contact-detail{margin:0;gap:8px}.contact-detail>a{font-size:21px}.contact-detail p,.email-display{font-size:15px}.urgent-note{grid-column:1/-1;margin:0;max-width:none}.contact-image{display:none}.form-wrap{width:100%}.form-grid{gap:26px 20px}.form-heading{display:block;margin-bottom:30px}.form-heading>p{margin-top:10px}.form-heading h2{font-size:30px}.contact-ending{display:block;padding:65px var(--gutter)}.contact-ending h2{font-size:53px;margin:32px 0}.contact-ending .line-link{margin-top:15px}}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr}.hero h1{font-size:48px}.response h2{font-size:47px}.clients-heading h2,.projects-heading h2{font-size:36px}}

/* Unified typography and square CTA states. */
:root{--button-hover:#c5a572;--button-pressed:#a58143}
.hero h1{font-size:clamp(64px,7.2vw,116px);line-height:1.02;letter-spacing:normal}
.hero-copy{padding-top:45px;padding-bottom:42px}
.hero-bottom p{max-width:570px}
.hero-bottom{gap:35px;max-width:none}
.line-link,.final-link,.phone-link,.header-contact,.submit-button,.contact-detail>a{
 display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;
 padding:15px 25px;border:1px solid var(--ink);border-radius:0;
 background:var(--ink);color:var(--paper);text-decoration:none;font-size:14px;font-weight:500;
 line-height:1.4;letter-spacing:normal;transition:background-color .2s,color .2s,border-color .2s;
}
.dark .line-link,.dark .phone-link,.header-contact{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.line-link:hover,.final-link:hover,.phone-link:hover,.header-contact:hover,.submit-button:hover,.contact-detail>a:hover{
 background:var(--button-hover);border-color:var(--button-hover);color:var(--ink);padding:15px 25px;
}
.line-link:active,.final-link:active,.phone-link:active,.header-contact:active,.submit-button:active,.contact-detail>a:active{
 background:var(--button-pressed);border-color:var(--button-pressed);color:var(--ink);
}
.line-link:focus-visible,.final-link:focus-visible,.phone-link:focus-visible,.header-contact:focus-visible,.submit-button:focus-visible,.contact-detail>a:focus-visible{
 outline:2px solid var(--gold);outline-offset:5px;
}
.submit-button:disabled,.submit-button:disabled:hover{background:#575550;border-color:#575550;color:#e5e2da;opacity:1;cursor:wait}
.header-contact{font-size:12px;min-height:44px;padding:12px 24px}
.header-contact:hover{padding:12px 24px}
.final-link{align-self:flex-start;min-width:260px;width:auto;max-width:100%;margin-top:44px}
.phone-link{font-size:clamp(23px,2.4vw,38px);letter-spacing:normal;white-space:nowrap}
.contact-detail>a{font-size:19px;max-width:100%;overflow-wrap:anywhere}
.submit-button{width:100%;min-height:58px}
.file-list button{border:1px solid #8b857a;border-radius:0;text-decoration:none;padding:6px 10px;background:transparent;color:var(--ink)}
.file-list button:hover{background:var(--gold);border-color:var(--gold)}
.desktop-nav a:after{display:none}.desktop-nav a:hover,.desktop-nav a.active{color:var(--gold)}
.contact-ending{grid-template-columns:.65fr 1.3fr .55fr}.contact-ending h2{font-size:clamp(36px,4.4vw,68px)}
@media(max-width:1000px){.contact-ending{grid-template-columns:1fr 1.5fr}}
@media(max-width:700px){
 .hero h1{font-size:clamp(40px,9.6vw,66px)}
 .hero-copy{padding-top:60px;padding-bottom:32px}
 .hero-bottom p{font-size:15px}.hero-bottom p br{display:none}
 .hero-bottom .line-link{margin-top:24px}
 .intro h2{font-size:clamp(34px,7vw,49px)}
 .clients-heading h2,.projects-heading h2{font-size:clamp(35px,7.5vw,48px)}
 .response h2{font-size:clamp(39px,8.8vw,58px)}
 .visual-copy h2{font-size:clamp(36px,7.7vw,55px)}
 .final-cta h2{font-size:clamp(42px,9vw,63px)}
 .contact-intro h1{font-size:clamp(40px,8.8vw,61px)}
 .contact-ending{display:block}.contact-ending h2{font-size:clamp(34px,7.3vw,49px)}
 .phone-link{font-size:28px}
 .contact-detail>a{font-size:16px;padding:12px 14px;min-height:46px}
 .contact-detail>a:hover{padding:12px 14px}
 .header-contact,.header-contact:hover{font-size:11px;min-height:38px;padding:9px 12px}
 .final-link{min-width:240px}
}
/* Contractor direction: trade-led hierarchy and compact, practical sections. */
:root{--paper:#f1f0eb;--ink:#111310;--gutter:clamp(24px,4.5vw,80px)}
h1,h2,h3{letter-spacing:normal}.section-pad{padding-top:70px;padding-bottom:70px}.section-label{margin-bottom:40px;border-top-width:2px;font-size:12px}.header{height:106px;background:#111310e8}.header .brand{width:146px}.header .brand img{height:70px}.header.scrolled{height:76px;background:#111310f5}.header-contact{background:var(--gold);border-color:var(--gold)}
.hero.contractor-hero{display:block;height:auto;min-height:760px;padding:155px var(--gutter) 130px;background:var(--ink);isolation:isolate}
.contractor-hero:after{display:none}.contractor-hero .hero-image{inset:0 0 76px 49%;z-index:-1}.contractor-hero .hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111310bd,transparent 35%)}.contractor-hero .hero-image img{height:100%;object-position:50% 43%;filter:saturate(.63) brightness(.8);transform:none!important}
.contractor-hero .hero-copy{padding:0;max-width:46%}.contractor-hero .eyebrow{margin-bottom:24px;color:var(--gold);font-size:12px}.contractor-hero h1{font-size:clamp(38px,4.5vw,72px);line-height:1.02;text-transform:uppercase;font-weight:600;letter-spacing:normal}.contractor-hero h1 span{color:var(--gold)}.hero-description{font-size:17px;line-height:1.55;max-width:440px;margin-top:26px;color:#d4d3cb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-audience{font-size:12px;letter-spacing:normal;color:#b1afa5;margin-top:24px}.dark .primary-cta{background:var(--gold);border-color:var(--gold);color:var(--ink)}.dark .primary-cta:hover{background:#dfc796;border-color:#dfc796}.dark .outline-cta{background:transparent;border-color:#82847a;color:var(--paper)}.dark .outline-cta:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.hero-photo-caption{position:absolute;bottom:103px;left:53%;right:var(--gutter);display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:normal;text-transform:uppercase}.hero-photo-caption>span:last-child{font-size:10px;color:#ccc8bb;letter-spacing:normal}.contractor-hero .hero-rail{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:76px;align-items:center;border-top:1px solid #ffffff30;padding:0;color:#c8c5b9}.trade-services{background:var(--gold);padding:0 var(--gutter);display:flex;align-items:stretch;border-bottom:1px solid #a88c5d;flex-wrap:wrap}.trade-services>span{font-size:12px;letter-spacing:normal;text-transform:uppercase;display:flex;align-items:center;padding:25px 24px 25px 0;font-weight:500}.trade-services>a{display:flex;align-items:center;justify-content:center;padding:25px 18px;font-size:14px;border-left:1px solid #11131026;flex:1;transition:background .2s,color .2s}.trade-services>a:hover{background:var(--ink);color:var(--paper)}
.contractor-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contractor-intro h2{font-size:clamp(34px,3.5vw,54px)}.contractor-intro .intro-description{font-size:23px;line-height:1.4}.contractor-intro .body-muted{margin-top:20px;font-size:16px}.work-remit{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.work-remit span{font-size:14px}.work-remit span:before{content:'+';margin-right:10px;color:#856b3f}
.services{padding-bottom:0}.service-layout{grid-template-columns:.8fr 1.2fr;gap:8vw}.service-sticky{top:110px}.service-counter>span:first-child{font-size:110px}.service-sticky h2{font-size:clamp(33px,3.1vw,49px)}.service-chapter{padding-bottom:70px}.service-chapter .image-reveal{height:350px}.service-chapter .image-reveal img{object-position:center 42%}.chapter-heading h3{font-size:31px}.service-progress{margin:30px 0}.service-chapter>p{max-width:100%}
.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.process-heading h2{font-size:clamp(34px,3.5vw,54px)}.process-heading>p{max-width:380px;font-size:16px;color:#67685f}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;gap:32px;padding:0;margin:42px 0 0}.process-steps li{border-top:2px solid var(--ink);padding-top:22px}.step-number{font-size:14px;color:#8d6f3e;display:block;margin-bottom:25px}.process-steps h3{font-size:25px;letter-spacing:normal;margin-bottom:16px}.process-steps p{font-size:16px;color:#66675e;line-height:1.6}
.contractor-clients{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;border-bottom:1px solid #ffffff26}.contractor-clients>.eyebrow{color:var(--gold)}.contractor-clients>div{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contractor-clients h2{font-size:36px}.contractor-clients ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;font-size:16px;color:#b8b8ad}
.response.contractor-response{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding-top:60px;padding-bottom:60px;background:#1a1d17;border-left:8px solid var(--gold)}.contractor-response .eyebrow{color:var(--gold);margin-bottom:15px}.contractor-response h2{font-size:42px;margin:0;line-height:1.08}.contractor-response p:last-child{color:#b8b8ad;margin-top:20px;font-size:15px;max-width:430px}.response-call{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:13px}.response-call .phone-link{background:var(--gold);border-color:var(--gold);font-size:30px}.response-call>span{font-size:12px;color:#b8b8ad}
.projects-heading{margin-bottom:48px}.projects-heading h2{font-size:clamp(34px,3.5vw,54px)}.project,.project-two{gap:5vw;margin-bottom:65px;grid-template-columns:1.3fr 1fr}.project .image-reveal,.project-two .image-reveal{height:430px}.project h3{font-size:36px;margin:18px 0}.project figcaption>p{font-size:16px;margin-bottom:20px;max-width:430px}.project-two{grid-template-columns:1fr 1.3fr}.project-two figcaption{padding-left:0}.scope-details{margin:0 0 26px;max-width:460px}.scope-details>div{display:grid;grid-template-columns:100px 1fr;gap:15px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.scope-details dt{color:#76776a}.scope-details dd{margin:0}.project .image-reveal img{filter:saturate(.6)}.credentials{padding-top:0}.credentials h2{font-size:42px}.credentials-layout{gap:8vw}.credential-rows{margin-bottom:0}
.final-cta{min-height:0;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px;background:#dbd9ce;border-top:1px solid #b5b1a0}.final-cta h2{font-size:clamp(36px,3.6vw,56px);margin:22px 0}.final-cta p:last-child{max-width:520px;font-size:16px;color:#626456}.final-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:340px;width:100%;justify-self:end}.final-actions .final-link{margin:0;align-self:stretch}.final-actions .secondary-cta{background:transparent;border-color:#777968;color:var(--ink)}.final-actions .secondary-cta:hover{background:var(--gold);border-color:var(--gold)}.footer{padding-top:40px;padding-bottom:25px;gap:35px}
.contact-intro{padding-top:145px}.contact-intro h1{font-size:clamp(38px,4.7vw,72px);margin-bottom:50px}.contact-layout{gap:8vw}.contact-details>p{font-size:22px}.form-heading h2{font-size:25px}.contact-ending{padding-top:50px;padding-bottom:50px}.contact-ending h2{font-size:36px}.contact-image{object-position:center}
@media(max-width:1100px){.hero.contractor-hero{padding-top:145px;min-height:720px}.contractor-hero h1{font-size:clamp(37px,4.4vw,52px)}.hero-actions .line-link{padding:14px 18px}.trade-services>span{width:100%;padding:14px 0}.trade-services>a{padding:18px 10px;flex-basis:30%}.trade-services>a:nth-child(2),.trade-services>a:nth-child(5){border-left:0}.contractor-clients{grid-template-columns:1fr}.contractor-clients>div{gap:35px}.project .image-reveal,.project-two .image-reveal{height:400px}.final-cta{grid-template-columns:1.4fr 1fr;gap:30px}.response-call .phone-link{font-size:25px}}
@media(max-width:700px){
 .section-pad{padding-top:48px;padding-bottom:48px}.section-label{margin-bottom:30px;font-size:11px}.header{height:88px}.header .brand{width:125px}.header .brand img{height:63px}.header.scrolled{height:72px}.header.scrolled .brand{width:105px}
 .hero.contractor-hero{min-height:0;padding:125px var(--gutter) 0}.contractor-hero .hero-copy{max-width:100%;padding:0}.contractor-hero h1{font-size:clamp(35px,8.8vw,54px);line-height:1.04}.contractor-hero .eyebrow{font-size:11px;margin-bottom:21px}.hero-description{font-size:16px;max-width:470px;margin-top:23px}.hero-actions{gap:10px;margin-top:23px}.hero-actions .line-link{font-size:13px;padding:13px 16px;min-height:48px}.hero-audience{font-size:11px;margin-top:21px}
 .contractor-hero .hero-image{position:relative;inset:auto;height:350px;margin:30px calc(-1 * var(--gutter)) 0;z-index:0}.contractor-hero .hero-image img{height:100%;object-position:center 39%;filter:saturate(.65) brightness(.9)}.hero-photo-caption{bottom:91px;left:var(--gutter);right:var(--gutter);font-size:10px;z-index:1}.hero-photo-caption>span:last-child{font-size:10px}.contractor-hero .hero-rail{position:relative;inset:auto;height:72px;grid-template-columns:1fr 1fr;font-size:10px}.contractor-hero .hero-rail>span:nth-child(2){display:none}
 .trade-services>span{font-size:11px;padding:16px 0 9px}.trade-services>a{font-size:13px;justify-content:flex-start;flex-basis:50%;padding:14px 10px 14px 0;border-left:0;border-bottom:1px solid #11131026}
 .contractor-intro{grid-template-columns:1fr;gap:27px}.contractor-intro h2{font-size:35px}.contractor-intro .intro-description{font-size:21px}.work-remit{font-size:13px;gap:12px}
 .services{padding-bottom:0}.service-layout{display:block}.service-sticky{top:72px;padding:14px 0;margin-top:0;grid-template-columns:67px 1fr}.service-counter>span:first-child{font-size:48px}.service-sticky h2{font-size:24px}.service-chapter .image-reveal{height:310px}.service-chapter{padding-bottom:48px}.chapter-heading h3{font-size:29px}.service-sticky>.line-link{display:none}
 .process-heading{display:block}.process-heading h2{font-size:35px}.process-heading>p{margin-top:20px}.process-steps{grid-template-columns:1fr;gap:28px;margin-top:32px}.process-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding-top:20px}.step-number{margin:0}.process-steps h3{font-size:24px;margin:0}.process-steps p{grid-column:2;font-size:15px}
 .contractor-clients{gap:24px}.contractor-clients>div{grid-template-columns:1fr;gap:25px}.contractor-clients h2{font-size:31px}.contractor-clients ul{font-size:15px;gap:11px}
 .response.contractor-response{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px;border-left-width:5px;gap:27px}.contractor-response h2{font-size:34px}.response-call{justify-self:start;align-items:flex-start}.response-call .phone-link{font-size:27px}
 .projects-heading h2{font-size:35px}.projects-heading{margin-bottom:30px}.project,.project-two{display:flex;gap:24px;margin-bottom:42px}.project .image-reveal,.project-two .image-reveal{height:320px;order:0}.project h3{font-size:30px}.project .line-link{font-size:13px;padding:15px 18px}.scope-details>div{grid-template-columns:90px 1fr;font-size:13px}.credentials{padding-top:0}.credentials h2{font-size:35px}.credentials-layout{gap:25px}.credential-rows span{font-size:13px}
 .final-cta{display:block}.final-cta h2{font-size:34px;margin:22px 0}.final-cta .eyebrow{font-size:11px}.final-actions{margin-top:30px;max-width:none}.final-actions .final-link{min-width:0}.contact-intro{padding-top:120px}.contact-intro h1{font-size:40px;margin-bottom:35px}.contact-layout{gap:40px}.contact-details>p{font-size:21px}.contact-ending{padding:40px var(--gutter)}.contact-ending h2{font-size:32px}
}
@media(max-width:700px){.hero.contractor-hero{display:flex;flex-direction:column}.contractor-hero .hero-copy{order:1}.contractor-hero .hero-image{order:2;flex:none;align-self:stretch}.contractor-hero .hero-rail{order:3;flex:none}}
@media(min-width:701px){.contractor-hero .hero-image{top:106px}.contractor-hero .hero-image img{object-position:center 18%}}
#roofing .image-reveal img{object-position:center 15%}

/* Straightforward service columns; no sticky panels or scroll-driven content. */
.straight-services{background:#e8e7df;border-top:1px solid #ceccbf}
.straight-services-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:36px}
.straight-services-heading h2{font-size:clamp(34px,3.2vw,48px)}
.straight-services-heading>p{font-size:16px;color:#626357;max-width:360px}
.straight-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.straight-service{display:flex;flex-direction:column;min-width:0;scroll-margin-top:110px;border-top:4px solid var(--gold)}
.straight-service>img{height:205px;width:100%;object-fit:cover;filter:saturate(.65)}
.straight-service#roofing>img{object-position:center 18%}
.straight-service-body{display:flex;flex-direction:column;flex:1;padding-top:24px}
.straight-service h3{font-size:27px;letter-spacing:normal;line-height:1.15;margin-bottom:18px}
.straight-service p{font-size:16px;line-height:1.55;color:#626357;min-height:75px;margin-bottom:20px}
.straight-service ul{list-style:none;padding:0;margin:0 0 25px}
.straight-service li{font-size:14px;padding:11px 0;border-top:1px solid #c5c4b6;line-height:1.45}
.straight-service li:before{content:'+';color:#806739;margin-right:9px}
.straight-service .line-link{margin-top:auto;align-self:flex-start;min-height:52px;padding:14px 19px;font-size:13px;text-align:center;max-width:100%}
.straight-service .line-link:hover{padding:14px 19px}
.services-contact{margin-top:42px;padding-top:24px;border-top:1px solid #aeac9d;display:flex;justify-content:space-between;align-items:center;gap:25px}
.services-contact p{font-size:15px;color:#626357}.services-contact strong{color:var(--ink);font-weight:500}
.services-contact a{display:inline-flex;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 20px;font-size:18px;white-space:nowrap;transition:.2s}
.services-contact a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
@media(min-width:701px){.straight-service h3{min-height:63px}}
@media(max-width:1000px) and (min-width:701px){.straight-service-grid{gap:20px}.straight-service>img{height:165px}.straight-service h3{font-size:24px}.straight-service p{min-height:100px}.straight-service .line-link{font-size:12px;padding:13px}.straight-service .line-link:hover{padding:13px}}
@media(max-width:700px){.straight-services-heading{display:block;margin-bottom:30px}.straight-services-heading h2{font-size:34px}.straight-services-heading>p{font-size:15px;margin-top:20px}.straight-service-grid{grid-template-columns:1fr;gap:38px}.straight-service>img{height:210px}.straight-service-body{padding-top:23px}.straight-service h3{font-size:27px;margin-bottom:15px}.straight-service p{min-height:0;margin-bottom:21px}.straight-service li{font-size:15px}.straight-service .line-link{align-self:stretch;font-size:14px}.services-contact{display:block;margin-top:30px;padding-top:24px}.services-contact a{margin-top:18px;font-size:21px}}

/* Supplied imagery, natural Montserrat typography and expanded footer. */
body{font-family:'Montserrat',Arial,sans-serif;letter-spacing:normal;font-weight:400}
h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;letter-spacing:normal;line-height:1.15}
button,input,select,textarea{font-family:inherit;letter-spacing:normal}
.hero.contractor-hero h1{font-size:clamp(34px,3.65vw,60px);line-height:1.15;font-weight:600}
.hero.contractor-hero .hero-image img{object-position:45% center;filter:brightness(.92)}
.straight-service>img,.project .image-reveal img,.contact-image{filter:none;object-position:center}
.straight-service#roofing>img{object-position:center}
.phone-icon{display:block;flex:0 0 auto;width:18px;height:18px}
.header-contact{gap:9px}
.trade-services{gap:0;padding:0 var(--gutter)}
.trade-services>span{padding:24px 26px 24px 0}
.trade-services>a,.trade-services>a:hover,.trade-services>a:focus-visible{padding:24px 22px;min-height:72px;min-width:148px;text-align:center;justify-content:center;line-height:1.5}
.trade-services>a:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}
.process-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px 16px;align-content:start;align-items:center}
.process-steps .step-number{display:grid;place-items:center;width:48px;height:48px;background:var(--gold);color:var(--ink);font-size:16px;font-weight:600;margin:0;line-height:1}
.process-steps h3{font-size:22px;margin:0;line-height:1.3}
.process-steps p{grid-column:1/-1;margin:0}
.footer{display:block;padding:56px var(--gutter) 25px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:38px;border-bottom:1px solid #ffffff30}
.footer-top .eyebrow{color:var(--gold);margin-bottom:14px}
.footer-top h2{font-size:clamp(23px,2.1vw,33px);line-height:1.4;font-weight:500}
.footer-top>.line-link{flex-shrink:0}.footer .line-link:hover{color:var(--ink)}
.footer-main{display:grid;grid-template-columns:1.2fr 1fr .75fr 1.05fr;gap:40px;padding:45px 0}
.footer-brand{display:block;width:170px;margin-bottom:22px}.footer-brand img{height:auto}
.footer-identity>p,.footer-contact>p{font-size:14px;color:#b6b8ad;line-height:1.8;max-width:310px}
.footer-main h3{font-size:15px;font-weight:600;color:var(--paper);margin:0 0 22px;line-height:1.4}
.footer-main nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-main nav h3{margin-bottom:8px}
.footer-main nav a{font-size:13px;line-height:1.65;color:#b6b8ad;padding:2px 0}
.footer-main nav a:hover{color:var(--gold)}
.footer-phone{display:flex;align-items:center;gap:10px;font-size:clamp(16px,1.25vw,20px);white-space:nowrap;color:var(--gold);margin-bottom:18px}
.footer-response{display:inline-block;font-size:12px;color:var(--gold);padding:10px 13px;border:1px solid #c5a57266;margin-top:19px}
.footer-bottom{font-size:12px;padding-top:25px;color:#a9ac9f}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr;gap:38px}.trade-services>a,.trade-services>a:hover,.trade-services>a:focus-visible{padding:20px 22px}.hero.contractor-hero h1{font-size:clamp(29px,3.7vw,42px)}.process-steps h3{font-size:20px}}
@media(max-width:700px){
 .hero.contractor-hero h1{font-size:clamp(28px,7.5vw,42px)}.hero.contractor-hero .hero-image img{object-position:44% center}
 .header-contact,.header-contact:hover{padding:10px 11px;gap:6px;font-size:10px}.header-contact .phone-icon{width:14px;height:14px}
 .trade-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .trade-services>span{grid-column:1/-1;padding:18px 0 12px}
 .trade-services>a,.trade-services>a:hover,.trade-services>a:focus-visible{padding:18px 16px;min-height:64px;min-width:0;border-left:0;text-align:center;font-size:13px}
 .process-steps li{grid-template-columns:44px minmax(0,1fr);gap:16px}.process-steps .step-number{width:44px;height:44px}.process-steps h3{font-size:21px}.process-steps p{grid-column:1/-1}
 .footer{padding:40px var(--gutter) 24px}.footer-top{display:block;padding-bottom:30px}.footer-top h2{font-size:23px}.footer-top .line-link{margin-top:24px}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px 22px;padding:32px 0}.footer-identity,.footer-contact{grid-column:1/-1}.footer-brand{width:150px}.footer-main h3{font-size:14px}.footer-main nav a{font-size:13px}.footer-phone{font-size:22px}.footer-contact>p{max-width:none}
 .footer-bottom{flex-direction:column;gap:15px;align-items:flex-start;font-size:11px}.footer-bottom>span{flex:auto}
 .straight-service h3{font-size:25px}.contact-intro h1{font-size:36px}.contractor-intro h2,.straight-services-heading h2,.projects-heading h2,.credentials h2{font-size:31px}.final-cta h2{font-size:30px}
}

/* Clear heading alignment and balanced mobile header spacing. */
.contractor-clients{grid-template-columns:1fr;gap:28px}
.contractor-clients>div{grid-template-columns:1fr 1fr;gap:60px}
.contractor-clients h2{text-align:left;max-width:580px}
.contact-detail:has(.email-display){grid-column:1/-1}
.contact-detail>.email-display,.contact-detail>.email-display:hover{max-width:100%;font-size:clamp(13px,1.25vw,18px);overflow-wrap:anywhere;padding:14px 18px}
@media(max-width:650px){
 .header{padding-inline:16px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:14px}
 .header .brand{width:104px}.header .brand img{height:52px}
 .header.scrolled .brand{width:96px}.header.scrolled .brand img{height:48px}
 .header-contact,.header-contact:hover{min-height:44px;padding:10px 8px;font-size:9px;gap:5px;white-space:nowrap}
 .header-contact .phone-icon{width:13px;height:13px}
 .contractor-clients>div{grid-template-columns:1fr;gap:25px}
}

/* Audience section: balanced introduction and clearly separated client types. */
.contractor-clients.audience-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,150px);align-items:start;padding-block:clamp(64px,7vw,112px)}
.audience-section>.audience-intro{display:block;min-width:0}
.audience-intro>.eyebrow{color:var(--gold);margin-bottom:28px}
.audience-section h2{font-size:clamp(32px,3.2vw,50px);line-height:1.17;max-width:650px}
.audience-intro>.audience-description{font-size:16px;line-height:1.75;color:#b8b8ad;max-width:440px;margin-top:28px}
.audience-section>.audience-list{display:block;list-style:none;margin:0;padding:0;border-top:1px solid #ffffff30;color:var(--paper)}
.audience-list>li{display:flex;align-items:center;gap:20px;min-height:67px;padding:19px 0;border-bottom:1px solid #ffffff30;font-size:clamp(16px,1.35vw,21px);line-height:1.4}
.audience-list>li:before{content:'';width:7px;height:7px;background:var(--gold);flex:0 0 7px}
@media(max-width:760px){
 .contractor-clients.audience-section{grid-template-columns:1fr;gap:36px;padding-block:56px}
 .audience-intro>.eyebrow{margin-bottom:22px}
 .audience-section h2{font-size:clamp(30px,7.5vw,42px);line-height:1.2}
 .audience-intro>.audience-description{font-size:15px;margin-top:22px}
 .audience-list>li{min-height:61px;padding:17px 0;font-size:16px;gap:16px}
}

/* Logo-inspired metallic highlights; darker gold on light surfaces. */
.gold-text{color:#795921;background-image:linear-gradient(110deg,#72521f 0%,#98743a 24%,#70511e 49%,#947037 72%,#72521f 100%);background-size:100% 100%}
.dark .gold-text{color:#c5a572;background-image:linear-gradient(110deg,#a58143 0%,#c5a572 22%,#fdf3cf 47%,#c5a572 66%,#a88c5d 84%,#c5a572 100%)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .gold-text,.contractor-hero h1 .gold-text{background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
@media(forced-colors:active){.gold-text,.contractor-hero h1 .gold-text{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}
@media print{.gold-text,.contractor-hero h1 .gold-text{background:none;color:#70511e;-webkit-text-fill-color:#70511e}}

/* Mobile navigation with the exact five-stop Worthy logo gradient. */
@media(max-width:650px){
 .mobile-menu{justify-content:flex-start;gap:32px;padding:110px 24px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
 .mobile-menu-links{flex:0 0 auto}
 .mobile-menu-links>a{position:relative;display:block;padding:16px 0;font-size:clamp(27px,7.4vw,36px);line-height:1.2;font-weight:500}
 .mobile-menu-links>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#a58143 0%,#c5a572 25%,#fdf3cf 49%,#a88c5d 71%,#81632f 100%)}
 .mobile-menu-links>a:hover,.mobile-menu-links>a:focus-visible{color:var(--gold)}
 .mobile-contact-panel{margin-top:auto;padding-top:22px;border-top:1px solid #ffffff26}
 .mobile-contact-title{display:flex;justify-content:space-between;align-items:center;gap:14px;text-transform:uppercase;font-size:10px;line-height:1.5;color:var(--gold)}
 .mobile-response{display:inline-flex;align-items:center;gap:7px}
 .mobile-response:before{content:'';width:5px;height:5px;background:var(--gold)}
 .mobile-contact-data{margin:18px 0 0;display:grid;gap:15px}
 .mobile-contact-data>div{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:baseline;gap:12px}
 .mobile-contact-data dt{font-size:10px;text-transform:uppercase;color:#a9a6a0}
 .mobile-contact-data dd{margin:0;font-size:12px;line-height:1.65}
 .mobile-menu .mobile-contact-data a{display:inline-block;font-size:12px;line-height:1.65;overflow-wrap:anywhere;padding:3px 0}
 .mobile-menu .mobile-contact-data a:hover{color:var(--gold)}
 .mobile-contact-note{font-size:11px;line-height:1.65;color:#a9a6a0;max-width:300px;margin-top:20px}
}

/* A short first-visit brand reveal; never blocks links or waits for images. */
.brand-intro{display:none}
.show-brand-intro .brand-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#111310;pointer-events:none;animation:brand-intro-exit .35s ease .8s forwards}
.brand-intro-inner{width:clamp(130px,15vw,190px);display:grid;gap:34px;justify-items:center}
.brand-intro-inner img{width:100%;height:auto;object-fit:contain;animation:brand-mark-reveal .7s cubic-bezier(.2,.7,.2,1) both}
.brand-intro-rule{width:72px;height:1px;background:linear-gradient(90deg,#a58143 0%,#c5a572 25%,#fdf3cf 49%,#a88c5d 71%,#81632f 100%);transform-origin:left;animation:brand-rule-reveal .65s ease .1s both}
@keyframes brand-mark-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(5px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes brand-rule-reveal{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes brand-intro-exit{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.show-brand-intro .brand-intro{display:none;animation:none}}
@media print{.brand-intro,.show-brand-intro .brand-intro{display:none}}

/* Contact image: keep a deliberate crop at every responsive size. */
.contact-details .contact-image{display:block;width:100%;max-width:340px;height:240px;object-fit:cover;object-position:center;margin-top:38px}
@media(max-width:700px){
  .contact-details .contact-image{display:block;grid-column:1/-1;max-width:none;height:220px;margin-top:8px;object-position:center 42%}
}

.cookie-banner{position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:900px;margin:auto;padding:20px 22px;background:#111310;color:#f2f0ea;border:1px solid #c5a572;box-shadow:0 12px 45px #0005}
.cookie-banner strong{font-weight:600}.cookie-banner p{font-size:13px;color:#c8c5bd;margin-top:5px}.cookie-banner a{color:#d8bc88;text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex:none}.cookie-actions button{border:1px solid #c5a572;border-radius:0;padding:11px 15px;background:transparent;color:#f2f0ea}.cookie-actions button:last-child{background:#c5a572;color:#111310}.privacy-page{padding-top:160px;min-height:70vh}.privacy-page h1{font-size:clamp(48px,7vw,100px);margin:20px 0 60px}.privacy-copy{max-width:760px}.privacy-copy h2{font-size:25px;margin:36px 0 12px}.privacy-copy p{color:#55534d}.privacy-copy a{text-decoration:underline;text-decoration-color:#c5a572}
@media(max-width:700px){.cookie-banner{display:block;left:12px;right:12px;bottom:12px;padding:18px}.cookie-actions{margin-top:16px}.cookie-actions button{flex:1}.privacy-page{padding-top:125px}.privacy-page h1{margin-bottom:40px}}
