/* Graphite, white and slate blue. Open editorial layouts; the logo carries the ace. */
.home-hero{position:relative;isolation:isolate;min-height:675px;background:#151515;color:#fff;overflow:hidden;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;padding:55px 6% 50px;width:72%;max-width:1050px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{color:#e1e1dd;font-size:14px;letter-spacing:.04em;padding-left:0;margin-bottom:28px}.hero-copy h1{font-size:clamp(76px,8.1vw,124px);line-height:.92;text-transform:uppercase;letter-spacing:-.015em;margin-bottom:30px}.hero-copy h1 span{display:block}.hero-copy h1 strong{display:block;font-size:1.25em;font-weight:400}.hero-intro{font-size:18px;line-height:1.55;color:#e1e1df;max-width:430px;margin-bottom:25px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:15px 0 38px}.hero-actions .action-link{color:#fff;border-color:#a8a8a4}.hero-location{font-size:12px;color:#bcbcbc;margin:0}.hero-photo{position:absolute;inset:0 0 0 24%;z-index:-1;margin:0;overflow:hidden;clip-path:polygon(27% 0,100% 0,100% 100%,0 100%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) brightness(.78)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#151515 2%,#151515c9 22%,#15151525 68%)}.hero-photo .photo-caption{position:absolute;bottom:24px;right:30px;left:auto;color:#e7e7e7;font-size:10px;z-index:1;background:#151515a6;padding:3px 9px;border-radius:4px}
.services-overview{padding-top:85px;padding-bottom:90px;background:var(--white)}.directory-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 12%;align-items:end;margin-bottom:55px}.directory-heading>.eyebrow{grid-column:1/-1;margin-bottom:14px}.directory-heading h2{font-size:clamp(50px,4.9vw,72px);line-height:.98;text-transform:uppercase;max-width:580px}.directory-heading>p:last-child{font-size:17px;line-height:1.6;color:var(--muted);margin-bottom:0;max-width:440px}.service-directory{display:grid;grid-template-columns:.78fr 1.22fr;gap:10%;align-items:start}.directory-photo{margin:0;position:sticky;top:30px}.directory-photo img{width:100%;height:560px;object-fit:cover;filter:grayscale(1);border-radius:6px 45px 6px 6px}.directory-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px}.directory-links{padding:0}.service-entry{display:grid;grid-template-columns:1fr auto;gap:0 25px;padding:22px 0 25px;position:relative}.service-entry:first-child{padding-top:0}.service-entry:last-child{border:0;padding-bottom:0}.service-entry h3{font-size:34px;line-height:1.05;text-transform:uppercase;grid-column:1/-1;margin-bottom:12px;max-width:550px}.service-entry p{font-size:15px;line-height:1.6;color:var(--muted);margin:0;max-width:390px}.service-entry .action-link{font-size:12px;align-self:end;white-space:nowrap;padding-bottom:2px;margin:0}.service-entry:hover h3{color:var(--accent)}
.brand-story{background:#ebebea;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:12%;position:relative;overflow:hidden}.brand-story:before{content:'';position:absolute;width:4px;height:80px;background:var(--accent);right:6%;top:70px}.story-art{display:flex;align-items:center;justify-content:center}.story-art .logo{width:290px;max-width:100%}.brand-story h2{font-size:clamp(48px,4.7vw,70px);line-height:1.02;text-transform:uppercase;margin-bottom:28px}.brand-story>div>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.7;max-width:540px}.brand-story .action-link{margin-top:5px}.work-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;background:#fff}.work-section h2{font-size:clamp(52px,5.2vw,77px);line-height:.98;text-transform:uppercase;margin-bottom:25px}.work-section>div>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);max-width:440px}.work-section .button{margin-top:5px}.reel-panel{background:#202020;color:#fff;min-height:310px;border-radius:6px 40px 6px 6px;display:flex;flex-direction:column;justify-content:center;padding:40px;position:relative;overflow:hidden}.reel-panel:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--accent)}.reel-panel p{font-size:13px;line-height:1.7;color:#bcbcbc;margin:0 0 30px}.reel-panel strong{display:block;font:400 76px/.95 var(--display);text-transform:uppercase;color:#fff;margin-top:14px}.reel-panel small{font-size:12px;padding-top:18px;display:block}.reel-panel:hover strong{color:#c5d4df}.closing{background:#151515;color:#fff;padding:70px 6%;display:grid;grid-template-columns:1.55fr .65fr;gap:9%;align-items:center;}.closing-copy{max-width:850px}.closing .eyebrow{color:#bcbcbc}.closing h2{font-size:clamp(48px,4.9vw,72px);line-height:.98;text-transform:uppercase;margin-bottom:24px}.closing p:not(.eyebrow){font-size:16px;line-height:1.6;color:#bcbcbc;max-width:600px;margin:0}.closing-phone{font:600 33px/1.5 var(--body);display:inline-block;margin-top:23px;color:#fff}.closing>.button{justify-self:end;width:max-content;max-width:100%}
.page-hero{padding:35px 6% 65px;display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center;background:#fff}.breadcrumb{font-size:12px;color:#717171;margin:0 0 35px}.breadcrumb a{text-decoration:none;}.page-hero .eyebrow{margin-bottom:20px}.page-hero h1{font-size:clamp(62px,6.8vw,98px);line-height:.98;text-transform:uppercase;margin:0 0 28px;max-width:800px}.page-intro{font-size:17px;line-height:1.7;color:var(--muted);margin:0;max-width:650px}.service-portrait{align-self:stretch;padding-top:20px;min-width:0}.editorial-image{margin:0;height:100%;display:flex;flex-direction:column}.editorial-image img{width:100%;height:100%;min-height:420px;max-height:580px;object-fit:cover;filter:grayscale(.8);border-radius:6px 55px 6px 6px}.editorial-image figcaption{font-size:10px;color:var(--muted);margin-top:12px}.page-exterior-design{grid-template-columns:1fr 1fr;gap:7%}.page-exterior-design .editorial-image img{border-radius:55px 6px 6px 6px;object-position:center;min-height:455px}.page-commercial-renovations,.page-new-builds{background:#1c1c1c;color:#fff;padding-top:40px;padding-bottom:70px}.page-commercial-renovations .page-intro,.page-new-builds .page-intro{color:#c3c3c1}.page-commercial-renovations .breadcrumb,.page-new-builds .breadcrumb{color:#a9a9a7}.page-commercial-renovations .eyebrow,.page-new-builds .eyebrow{color:#c9c9c6}.project-brief{padding:15px 0 15px 35px;max-width:380px;justify-self:center}.project-brief h2{font-size:44px;line-height:1.05;text-transform:uppercase;margin-bottom:25px}.project-brief ul{padding:0;margin:0 0 25px;list-style:none;font-size:15px;line-height:1.7;color:#c3c3c1}.project-brief li{padding:8px 0}.project-brief .action-link{color:#fff}.page-sidebar{align-self:start;position:sticky;top:25px;min-width:0}.page-sidebar>p:first-child{font:600 17px/1.4 var(--body);margin-bottom:18px}.page-sidebar nav{display:flex;flex-direction:column}.page-sidebar nav a{padding:9px 0;color:var(--muted);font-size:14px;line-height:1.5}.page-sidebar nav a:hover{color:var(--accent)}.sidebar-phone{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:600;padding-top:25px;margin-top:18px}.sidebar-phone svg{height:17px;width:17px}.sidebar-region{font-size:13px;color:var(--muted);line-height:1.6;margin-top:15px}.service-content{display:grid;grid-template-columns:220px 1fr;gap:12%;padding-top:60px;padding-bottom:55px;background:var(--paper)}.page-body{min-width:0;max-width:830px}.content-row{padding:32px 0;margin-bottom:10px}.page-body .content-row:first-child{padding-top:0}.content-row h2{font:400 42px/1.05 var(--display);text-transform:uppercase;max-width:740px;margin-bottom:22px}.content-row p{font-size:17px;line-height:1.75;color:var(--muted);max-width:750px;margin-bottom:20px}.content-row p:last-child{margin-bottom:0}.service-list{padding:0;margin:25px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.service-list li{font-size:14px;line-height:1.65;padding:12px 0}.content-row .action-link{margin-top:10px}.page-content{padding-top:30px;padding-bottom:60px}.page-content .content-row{display:grid;grid-template-columns:1fr 1.35fr;gap:12%;padding:40px 0}.page-content .content-row h2{font-size:39px;max-width:350px}.page-content .content-row:nth-child(even){padding-left:7%;grid-template-columns:1fr 1.2fr}.about-logo{padding:30px;display:grid;place-items:center;background:none}.about-logo .logo{width:100%;max-width:330px}.page-about-us{padding-bottom:55px}.page-careers{background:#1c1c1c;color:#fff;padding-top:40px;padding-bottom:60px;grid-template-columns:1.4fr .6fr;gap:10%}.page-careers .page-intro{color:#c3c3c1}.page-careers .eyebrow,.page-careers .breadcrumb{color:#bdbdbb}.careers-note{padding:10px 0 10px 35px}.careers-note>span{font:400 53px/1 var(--display);text-transform:uppercase;display:block}.careers-note p{font-size:16px;line-height:1.6;color:#c3c3c1;margin:25px 0}.careers-note .action-link{color:#fff}.related-services{margin:0 6%;padding:40px 0 70px;}.related-services h2{font-size:48px;text-transform:uppercase;margin-bottom:30px}.related-services nav{display:flex;gap:10%;justify-content:space-between}.related-services nav a{font:400 33px/1.05 var(--display);text-transform:uppercase}.related-services nav a:hover{color:var(--accent)}.related-services nav span{display:block;font:400 14px/1.5 var(--body);text-transform:none;color:var(--muted);margin-top:12px}.business-intro{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center;background:#ebebea}.business-intro h2{font-size:57px;text-transform:uppercase;line-height:1;margin-bottom:22px}.business-intro>div>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted);max-width:460px}
.contact-workspace{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;padding-top:40px;padding-bottom:80px;background:#fff}.contact-workspace h1{font-size:clamp(66px,7.2vw,104px);line-height:.96;text-transform:uppercase;margin-bottom:30px}.contact-details{padding:0;margin:35px 0}.contact-phone{display:flex;gap:12px;align-items:center;font-size:32px;font-weight:600;margin-bottom:12px}.contact-phone svg{width:25px;height:25px}.contact-email{font-size:15px;text-decoration:none;overflow-wrap:anywhere}.contact-details>p{font-size:15px;margin:25px 0 0}.contact-details .contact-small{font-size:14px;color:var(--muted);max-width:350px;line-height:1.7;margin-top:12px}.inquiry-form{margin-top:50px;padding-left:35px;border-left:1px solid var(--line)}.inquiry-form h2{font-size:41px;text-transform:uppercase;margin-bottom:15px}.inquiry-form>p{font-size:15px;color:var(--muted)}
@media(max-width:1100px){.hero-copy{width:80%;padding-top:50px}.hero-copy h1{font-size:100px}.hero-intro{font-size:17px;max-width:385px}.hero-photo{left:20%}.service-directory{gap:8%;grid-template-columns:.8fr 1.2fr}.service-entry{display:block}.service-entry .action-link{margin-top:13px}.service-entry h3{font-size:33px}.directory-photo img{height:650px}.brand-story{gap:9%}.page-hero{gap:7%}.page-hero h1{font-size:78px}.project-brief{padding-left:25px}.project-brief h2{font-size:39px}.service-content{gap:9%;grid-template-columns:190px 1fr}.work-section{gap:9%}.contact-workspace{gap:7%}.contact-phone{font-size:28px}.inquiry-form{padding-left:25px}}
@media(max-width:800px){.home-hero{min-height:640px}.hero-copy{width:90%;padding-top:45px;padding-bottom:45px}.hero-copy h1{font-size:89px}.hero-copy h1 strong{font-size:1.2em}.hero-photo{left:15%;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%)}.hero-photo img{object-position:70% center;filter:grayscale(1) brightness(.65)}.hero-intro{font-size:17px;max-width:340px}.hero-photo:after{background:linear-gradient(90deg,#151515,#15151590 50%,#15151530)}.directory-heading{gap:0 7%}.directory-heading h2{font-size:53px}.directory-heading>p:last-child{font-size:15px}.service-directory{grid-template-columns:.8fr 1.2fr;gap:8%}.directory-photo img{height:670px}.service-entry h3{font-size:31px}.service-entry p{font-size:15px}.brand-story{gap:7%;grid-template-columns:.8fr 1.2fr}.story-art .logo{width:230px}.brand-story h2{font-size:49px}.brand-story>div>p:not(.eyebrow){font-size:16px}.work-section{gap:7%}.work-section h2{font-size:53px}.reel-panel{padding:30px;min-height:300px}.reel-panel strong{font-size:61px}.closing{grid-template-columns:1.4fr .6fr;gap:7%;padding-top:55px;padding-bottom:55px}.closing h2{font-size:51px}.closing p:not(.eyebrow){font-size:15px}.closing>.button{font-size:13px}.page-hero h1{font-size:64px}.page-hero{gap:6%}.page-intro{font-size:16px}.editorial-image img{min-height:400px}.project-brief{padding-left:22px}.project-brief h2{font-size:36px}.project-brief ul{font-size:14px}.service-content{grid-template-columns:1fr;gap:35px;padding-top:35px}.page-sidebar{position:static}.page-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.page-sidebar nav a{font-size:13px}.sidebar-phone,.sidebar-region{display:none}.content-row h2{font-size:37px}.content-row p{font-size:16px}.page-content .content-row{gap:7%;grid-template-columns:1fr 1.2fr}.page-content .content-row h2{font-size:35px}.page-careers{gap:7%;grid-template-columns:1.2fr .8fr}.careers-note{padding-left:25px}.careers-note>span{font-size:44px}.careers-note p{font-size:15px}.about-logo{padding:15px}.related-services nav{gap:7%}.related-services nav a{font-size:30px}.related-services nav span{font-size:13px}.contact-workspace{grid-template-columns:1fr;gap:40px}.contact-workspace h1{font-size:84px}.inquiry-form{padding:30px 0 0;margin:0;border-left:0;}.business-intro{gap:9%}.business-intro h2{font-size:47px}}
@media(max-width:600px){.home-hero{min-height:680px;align-items:center}.hero-copy{width:100%;padding:40px 6% 45px}.hero-copy h1{font-size:clamp(64px,19.5vw,76px);line-height:.96;margin-bottom:26px}.hero-copy h1 strong{font-size:clamp(62px,20vw,85px);white-space:nowrap}.hero-copy .eyebrow{font-size:12px;line-height:1.5;margin-bottom:28px;max-width:300px}.hero-intro{font-size:17px;max-width:320px;line-height:1.6}.hero-intro br{display:none}.hero-actions{gap:22px;margin:25px 0 30px;align-items:start;flex-direction:column}.hero-actions .button{font-size:14px;padding:16px 24px}.hero-actions .action-link{font-size:13px}.hero-location{font-size:11px;max-width:290px}.hero-photo{inset:0;clip-path:none}.hero-photo img{filter:grayscale(1) brightness(.48);object-position:65% center}.hero-photo:after{background:linear-gradient(90deg,#151515d9,#15151580)}.hero-photo .photo-caption{font-size:9px;right:20px;bottom:15px}.services-overview{padding-top:55px;padding-bottom:60px}.directory-heading{display:block;margin-bottom:35px}.directory-heading h2{font-size:57px;margin-bottom:24px}.directory-heading>p:last-child{font-size:16px;line-height:1.6}.directory-heading>p:last-child br{display:none}.service-directory{grid-template-columns:1fr;gap:30px}.directory-links{order:1}.directory-photo{order:2;position:static;margin:0 12% 0 0}.directory-photo img{height:330px;border-radius:6px 40px 6px 6px}.directory-photo figcaption{font-size:10px}.service-entry{padding:23px 0}.service-entry h3{font-size:35px;margin-bottom:12px}.service-entry p{font-size:16px;line-height:1.6}.service-entry .action-link{font-size:13px;margin-top:15px}.brand-story{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:55px}.brand-story:before{right:6%;top:40px;height:55px;width:3px}.story-art{justify-content:start}.story-art .logo{width:210px}.brand-story h2{font-size:56px}.brand-story>div>p:not(.eyebrow){font-size:16px}.work-section{grid-template-columns:1fr;gap:35px}.work-section h2{font-size:59px}.work-section>div>p:not(.eyebrow){font-size:16px}.reel-panel{min-height:275px;width:100%;padding:32px}.reel-panel strong{font-size:68px}.reel-panel small{font-size:12px}.closing{display:block;padding:50px 6%;}.closing h2{font-size:57px;line-height:1}.closing p:not(.eyebrow){font-size:16px}.closing-phone{font-size:31px;margin-top:22px}.closing>.button{margin-top:27px;font-size:14px}.page-hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:40px;gap:30px}.breadcrumb{font-size:11px;margin-bottom:27px}.page-hero .eyebrow{font-size:13px}.page-hero h1{font-size:65px;line-height:.98;margin-bottom:24px}.page-intro{font-size:17px;line-height:1.7}.service-portrait{padding:0}.editorial-image img{height:335px;min-height:335px;border-radius:6px 42px 6px 6px}.editorial-image figcaption{font-size:10px}.page-exterior-design .editorial-image img{min-height:335px;border-radius:42px 6px 6px 6px}.page-commercial-renovations,.page-new-builds,.page-careers{padding-top:25px;padding-bottom:45px}.project-brief{width:100%;max-width:100%;justify-self:stretch;padding:8px 0 8px 22px}.project-brief h2{font-size:39px;max-width:300px}.project-brief ul{font-size:15px}.project-brief .eyebrow{font-size:12px}.service-content{padding-top:30px;padding-bottom:30px;gap:25px}.page-sidebar nav{grid-template-columns:1fr;gap:0}.page-sidebar nav a{font-size:14px;padding:7px 0}.content-row{padding:25px 0;margin-bottom:5px}.content-row h2{font-size:38px;margin-bottom:20px}.content-row p{font-size:17px;line-height:1.7}.service-list{grid-template-columns:1fr;gap:0;margin-top:22px}.service-list li{font-size:15px;padding:10px 0}.page-content{padding-top:10px;padding-bottom:35px}.page-content .content-row,.page-content .content-row:nth-child(even){display:block;padding:25px 0}.page-content .content-row h2{font-size:38px;max-width:100%;margin-bottom:20px}.about-logo{justify-self:start;padding:10px 0}.about-logo .logo{width:235px}.page-careers{grid-template-columns:1fr;gap:35px}.careers-note{padding:8px 0 8px 22px}.careers-note>span{font-size:45px}.careers-note p{font-size:16px;margin:20px 0}.related-services{padding-top:30px;padding-bottom:50px}.related-services h2{font-size:45px;margin-bottom:25px}.related-services nav{display:block}.related-services nav a{display:block;font-size:34px;margin-top:25px}.related-services nav span{font-size:14px;margin-top:7px}.business-intro{grid-template-columns:1fr;gap:35px}.business-intro h2{font-size:52px}.business-intro>div>p:not(.eyebrow){font-size:16px}.contact-workspace{padding-top:25px;padding-bottom:55px;gap:35px}.contact-workspace h1{font-size:77px}.contact-phone{font-size:31px}.contact-phone svg{width:24px;height:24px}.contact-email{font-size:14px}.contact-details>p{font-size:16px}.contact-details .contact-small{font-size:15px;line-height:1.6}.inquiry-form h2{font-size:39px}.inquiry-form>p{font-size:16px}}

/* Finishing pass: calmer hierarchy, readable measures and deliberate details. */
.directory-heading h2,.brand-story h2,.work-section h2,.content-row h2,.page-content .content-row h2,.related-services h2,.business-intro h2{text-transform:none;letter-spacing:-.01em}
.directory-heading h2{font-size:clamp(48px,4.4vw,65px);line-height:1.05}.content-row h2{line-height:1.13}.content-row p{max-width:68ch}.page-intro{max-width:60ch}.service-entry{transition:padding-left .2s ease}.service-entry:hover,.service-entry:focus-visible{padding-left:10px}.service-entry h3{font-size:32px;letter-spacing:0}.service-entry .action-link{font-size:13px}.service-entry:first-child{padding-top:4px}.directory-photo img{border-radius:8px 35px 8px 8px}.brand-story:before{height:45px;width:3px;opacity:.7}.reel-panel{border-radius:8px;clip-path:polygon(0 0,100% 0,100% 91%,94% 100%,0 100%)}.reel-panel:before{width:3px}.reel-panel strong{font-size:68px}.closing{}.closing .button.light{--button-surface:#f1f4f7;--button-hover:#d8e2e9;--button-ink:#151515}.inquiry-form h2{text-transform:none;line-height:1.1}.contact-workspace .page-intro{max-width:470px}.contact-workspace .contact-phone{letter-spacing:.01em}.form-note{max-width:62ch}.page-sidebar nav a[aria-current=location]{color:var(--accent);font-weight:600}.footer-nav a[aria-current=page]{font-weight:600}.footer-main{padding-top:40px;padding-bottom:38px}
@media(max-width:800px){.service-entry:hover,.service-entry:focus-visible{padding-left:0}.content-row p{max-width:100%}}
@media(max-width:600px){.directory-heading h2{font-size:51px}.service-entry h3{font-size:34px;text-transform:none;line-height:1.1}.service-entry{padding-top:24px;padding-bottom:26px}.service-entry p{font-size:16px;line-height:1.65}.content-row h2,.page-content .content-row h2{font-size:36px;line-height:1.12}.reel-panel strong{font-size:62px}.related-services nav a{text-transform:none;font-size:32px}.closing h2{font-size:52px;line-height:1.04}.hero-copy .eyebrow{font-size:12px;letter-spacing:.015em}}
@media(prefers-reduced-motion:reduce){.service-entry{transition:none}}
:root{--accent-light:#b6c9d7}.home-hero :focus-visible,.closing :focus-visible,.page-commercial-renovations :focus-visible,.page-new-builds :focus-visible,.page-careers :focus-visible,.reel-panel:focus-visible,.card-back :focus-visible{outline-color:var(--accent-light)}.home-hero .eyebrow{border-left-color:#829bad}.project-brief,.careers-note{border-left-color:#829bad}.is-flipped .card-turn:hover{color:var(--accent-light)}.service-entry{display:block}.service-entry .action-link{margin-top:14px}.content-row h2,.page-content .content-row h2{font-family:var(--body);font-weight:600;font-size:29px;line-height:1.23;letter-spacing:-.02em}.inquiry-form fieldset{border:0;padding:0;margin:29px 0 0;min-width:0}.inquiry-form legend{font:600 17px/1.5 var(--body);padding:0 0 10px;width:100%;}.inquiry-form .phone-field{max-width:270px}.inquiry-form fieldset:first-of-type{margin-top:30px}
@media(max-width:600px){.content-row h2,.page-content .content-row h2{font-size:27px;line-height:1.25}.inquiry-form .phone-field{max-width:100%}.inquiry-form legend{font-size:17px}}
.is-flipped .card-turn:focus-visible,.topline :focus-visible{outline-color:var(--accent-light)}.mobile-call:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--accent)}

/* A rule-free hierarchy: shape for active controls, spacing for content. */
.hero-copy .eyebrow{border:0;padding-left:0;color:#c4d1da}.brand-story:before,.reel-panel:before{display:none}.project-brief,.careers-note{border:0;padding-left:0}.inquiry-form{border:0;padding-left:0}.inquiry-form legend{border:0;padding-bottom:0;font-size:18px}.inquiry-form fieldset{margin-top:34px}.inquiry-form fieldset:first-of-type{margin-top:30px}.service-entry{border:0;margin-bottom:12px;padding-top:20px;padding-bottom:24px}.service-entry:first-child{padding-top:0}.service-entry:hover,.service-entry:focus-visible{padding-left:0}.service-entry .action-link{padding-top:6px;padding-bottom:6px;margin-top:13px}.service-entry:hover .action-link{background:#edf2f5;box-shadow:0 0 0 6px #edf2f5}.service-list{gap:4px 28px;margin-top:22px}.service-list li{border:0;padding:6px 0 6px 16px;position:relative;color:var(--muted)}.sidebar-phone{border:0;padding-top:16px;margin-top:22px}.related-services{border:0;padding-top:45px}.reel-panel small{border:0;padding-top:0;margin-top:4px}.closing{border:0}.breadcrumb a{color:var(--accent);font-weight:600}.contact-email{color:var(--accent);font-weight:600;text-decoration:none}.contact-email:hover{color:#283f52}.hero-actions .action-link,.project-brief .action-link,.careers-note .action-link{border:0;color:#fff}.hero-actions .action-link:hover,.project-brief .action-link:hover,.careers-note .action-link:hover{color:var(--accent-light)}.is-flipped .card-turn:hover{background:#ffffff25}
@media(max-width:800px){.company-nav{border:0}.inquiry-form{border:0;padding-top:15px}.project-brief,.careers-note{padding-left:0}.inquiry-form{margin-top:0}}
@media(max-width:600px){.service-entry{margin-bottom:12px;padding-top:15px;padding-bottom:22px}.service-list li{padding-top:7px;padding-bottom:7px}.inquiry-form fieldset{margin-top:32px}.inquiry-form legend{font-size:18px}.project-brief,.careers-note{padding-left:0}.related-services{padding-top:35px}.footer-bottom{background:#f1f3f4}}

/* Trade-specific symbols replace generic list markers. */
.service-list,.scope-list{list-style:none}.service-list li::marker,.scope-list li::marker{content:''}.service-list li{display:flex;align-items:flex-start;gap:12px;padding:8px 0;color:#474747;position:static;font-size:15px;line-height:1.65}.service-list li>span,.scope-list li>span{min-width:0}.trade-icon{display:block;width:23px;height:23px;flex:0 0 23px;margin-top:1px;color:#526b7c;overflow:visible}.project-brief .scope-list li{display:flex;align-items:flex-start;gap:12px;padding:9px 0}.project-brief .trade-icon{color:#b6c9d7}.service-list{gap:6px 30px;margin-top:24px}.service-list li:before{content:none;display:none}
@media(max-width:600px){.service-list li{padding:9px 0;font-size:16px;gap:12px}.trade-icon{width:23px;height:23px;flex-basis:23px;margin-top:2px}.project-brief .scope-list li{font-size:15px}}

/* Slab lettering follows the supplied logo, with room for its wider forms. */
.hero-copy { width: 78%; max-width: 1200px; }
.hero-copy h1 {
  font-size: clamp(54px, 6.2vw, 94px);
  line-height: 1.13;
  text-transform: none;
  letter-spacing: -.025em;
}
.hero-copy h1 strong { font-size: 1em; font-weight: 400; line-height: inherit; }
.page-hero h1, .contact-workspace h1 {
  font-size: clamp(42px, 4.5vw, 68px);
  line-height: 1.16;
  text-transform: none;
  letter-spacing: -.025em;
}
.directory-heading h2 { font-size: clamp(34px, 3.6vw, 54px); line-height: 1.18; }
.service-entry h3 { font-size: clamp(25px, 2.2vw, 32px); line-height: 1.22; text-transform: none; }
.brand-story h2, .work-section h2 { font-size: clamp(34px, 3.6vw, 54px); line-height: 1.18; text-transform: none; }
.reel-panel strong { font: 400 clamp(34px, 3.6vw, 50px)/1.2 var(--display); text-transform: none; }
.closing h2 { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.2; text-transform: none; }
.project-brief h2 { font-size: clamp(27px, 2.4vw, 34px); line-height: 1.2; text-transform: none; }
.careers-note > span { font: 400 clamp(28px, 2.8vw, 39px)/1.2 var(--display); text-transform: none; }
.content-row h2, .page-content .content-row h2 { font: 400 26px/1.3 var(--display); letter-spacing: -.015em; }
.related-services h2 { font-size: 35px; line-height: 1.2; text-transform: none; }
.related-services nav a { font: 400 26px/1.25 var(--display); text-transform: none; }
.business-intro h2 { font-size: clamp(32px, 3.2vw, 45px); line-height: 1.2; text-transform: none; }
.inquiry-form h2 { font-size: 29px; line-height: 1.25; }
.simple-page h1 { font-size: clamp(40px, 5.3vw, 74px); line-height: 1.2; }

@media (max-width: 800px) {
  .hero-copy { width: 90%; }
  .page-hero h1 { font-size: 43px; }
  .related-services nav { flex-wrap: wrap; gap: 30px 7%; }
}
@media (max-width: 600px) {
  .home-hero { min-height: 620px; }
  .hero-copy { width: 100%; }
  .hero-copy h1 { font-size: clamp(37px, 11.8vw, 56px); line-height: 1.17; }
  .hero-copy h1 strong { font-size: 1em; white-space: normal; }
  .page-hero h1, .contact-workspace h1 { font-size: clamp(35px, 10vw, 46px); line-height: 1.18; }
  .directory-heading h2, .brand-story h2, .work-section h2 { font-size: 35px; line-height: 1.2; }
  .service-entry h3 { font-size: 27px; line-height: 1.22; }
  .closing h2 { font-size: 33px; line-height: 1.22; }
  .reel-panel strong { font-size: 41px; }
  .project-brief h2 { font-size: 29px; }
  .careers-note > span { font-size: 32px; }
  .content-row h2, .page-content .content-row h2 { font-size: 24px; line-height: 1.3; }
  .related-services h2 { font-size: 30px; }
  .related-services nav { display: block; }
  .related-services nav a { font-size: 26px; }
  .business-intro h2 { font-size: 32px; }
  .inquiry-form h2 { font-size: 27px; }
}

/* The crew photo stays in full view, including the framing overhead. */
.jobsite-photo { margin: 0; width: 100%; max-width: 460px; justify-self: end; }
.jobsite-photo img { width: 100%; height: auto; aspect-ratio: 3 / 4; border-radius: 6px 38px 6px 6px; }
.jobsite-photo figcaption { margin-top: 12px; font-size: 12px; line-height: 1.6; color: var(--muted); }
@media (max-width: 600px) {
  .jobsite-photo { max-width: 420px; justify-self: start; }
}

/* Project photographs retain the materials' real colors and natural proportions. */
.service-portrait .editorial-image img, .directory-photo img { filter: none; }
.page-exterior-design .editorial-image img { object-position: 50% 40%; }
.project-gallery { background: var(--white); padding-top: 65px; padding-bottom: 70px; }
.project-gallery-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 10%; margin-bottom: 42px; }
.project-gallery-heading h2 { font-size: clamp(30px, 3.2vw, 45px); line-height: 1.2; }
.project-gallery-heading p { margin: 0; max-width: 520px; color: var(--muted); font-size: 16px; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 38px 28px; }
.project-grid figure { margin: 0; min-width: 0; }
.project-grid figure:nth-child(3n + 2) { padding-top: 42px; }
.project-grid a { display: block; }
.project-grid img { width: 100%; height: auto; border-radius: 6px 28px 6px 6px; transition: opacity .18s ease; }
.project-grid a:hover img { opacity: .9; }
.project-grid figcaption { margin-top: 13px; font: 400 14px/1.6 var(--body); color: var(--muted); }
.project-grid-pair { grid-template-columns: 1.15fr .85fr; gap: 8%; }
.project-grid-pair figure { width: 100%; max-width: 480px; }
.project-grid-pair figure:nth-child(2) { padding: 0; max-width: 360px; justify-self: end; align-self: center; }
@media (max-width: 900px) {
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-grid figure:nth-child(3n + 2) { padding-top: 0; }
}
@media (max-width: 600px) {
  .project-gallery { padding-top: 45px; padding-bottom: 50px; }
  .project-gallery-heading { display: block; margin-bottom: 30px; }
  .project-gallery-heading h2 { font-size: 30px; margin-bottom: 20px; }
  .project-grid { grid-template-columns: 1fr; gap: 32px; }
  .project-grid-pair figure, .project-grid-pair figure:nth-child(2) { max-width: none; }
  .project-grid figcaption { font-size: 14px; }
}

/* Photographs sit alongside the work being described, throughout the pages. */
.photo-run { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; margin-top: 30px; align-items: start; }
.photo-run figure { margin: 0; min-width: 0; }
.photo-run a { display: block; }
.photo-run img { width: 100%; height: auto; border-radius: 6px 26px 6px 6px; }
.photo-run figcaption { font: 400 12px/1.6 var(--body); color: var(--muted); margin-top: 11px; }
.photo-run-1 { grid-template-columns: 1fr; max-width: 420px; }
.photo-run-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.photo-run-3 figure:nth-child(2) { padding-top: 45px; }
.content-row .photo-context { font-size: 14px; line-height: 1.6; color: var(--muted); margin-top: 28px; margin-bottom: -12px; }
.home-details { background: white; }
.home-details h2 { max-width: 750px; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.2; }
.home-details .photo-run { margin-top: 40px; }
.contact-workspace .photo-run { max-width: 470px; margin-top: 32px; }
@media (max-width: 800px) {
  .photo-run { gap: 24px 16px; }
  .photo-run-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .photo-run { margin-top: 25px; gap: 24px 14px; }
  .photo-run figcaption { font-size: 12px; }
  .photo-run-1 { max-width: 100%; }
  .photo-run-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-run-3 figure:nth-child(2) { padding-top: 28px; }
  .photo-run-3 figure:last-child { grid-column: 1 / -1; width: 70%; justify-self: end; }
  .home-details h2 { font-size: 32px; }
}

/* A distinct photograph opens every page, with its original proportions intact. */
.page-hero .hero-heading { min-width: 0; }
.page-hero .hero-image { padding: 0; align-self: center; justify-self: end; width: 100%; max-width: 430px; }
.page-hero .hero-image .editorial-image img { height: auto; min-height: 0; max-height: none; aspect-ratio: 3 / 4; }
.page-hero .hero-image figcaption { font-size: 12px; line-height: 1.6; }
.page-careers { grid-template-columns: 1.15fr .85fr; }
.page-careers .hero-image img { filter: grayscale(1); }
.page-about-us .hero-image { max-width: 380px; }
.page-about-us .hero-image img { border-radius: 48px 6px 6px 6px; }
.page-commercial-renovations .hero-image figcaption,
.page-new-builds .hero-image figcaption,
.page-careers .hero-image figcaption { color: #c3c3c1; }
.page-contact { padding-bottom: 55px; }
.hero-inquiry { margin-top: 30px; }
.contact-workspace { padding-top: 45px; background: var(--paper); }
.contact-workspace > div > h2 { font: 400 28px/1.3 var(--display); letter-spacing: -.015em; max-width: 410px; }
.inquiry-form { margin-top: 0; }
#contact-form { scroll-margin-top: 30px; }
.page-thank-you .page-intro, .page-not-found .page-intro { overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .page-careers { grid-template-columns: 1.15fr .85fr; }
}
@media (max-width: 600px) {
  .page-hero, .page-careers { grid-template-columns: 1fr; }
  .page-hero .hero-image, .page-about-us .hero-image { max-width: 420px; justify-self: start; }
  .page-hero .hero-image figcaption { font-size: 12px; }
  .contact-workspace { padding-top: 38px; }
  .contact-workspace > div > h2 { font-size: 25px; }
}

/* Layout refinement: copy and actions lead; photography supports each section. */
.site-header { min-height: 120px; }
.site-header .logo { width: 104px; }
#nav { gap: 9px; }
.page-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 5%; padding-top: 32px; padding-bottom: 42px; align-items: start; }
.page-hero .hero-heading { align-self: start; padding-top: 6px; }
.page-hero .breadcrumb { margin-bottom: 24px; }
.page-hero .hero-image { align-self: start; max-width: 420px; }
.page-hero .page-intro { max-width: 55ch; }
.page-hero .hero-inquiry { margin-top: 26px; }
.page-commercial-renovations .breadcrumb a,
.page-new-builds .breadcrumb a,
.page-careers .breadcrumb a { color: var(--accent-light); }
.page-about-us .hero-image { max-width: 400px; }
.page-flow { background: var(--paper); padding-top: 26px; padding-bottom: 60px; }
.page-flow .page-body { max-width: none; }
.page-index { margin-bottom: 26px; max-width: 760px; }
.page-index summary { display: inline-flex; align-items: center; gap: 16px; min-height: 48px; color: var(--accent); font-weight: 600; cursor: pointer; list-style: none; }
.page-index summary::-webkit-details-marker { display: none; }
.index-toggle { position: relative; width: 14px; height: 14px; }
.index-toggle::before, .index-toggle::after { content: ''; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: currentColor; }
.index-toggle::after { transform: rotate(90deg); }
.page-index[open] .index-toggle::after { transform: none; }
.page-index summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }
.page-index nav { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 36px; padding: 12px 0 18px; }
.page-index nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.page-index nav a:hover { color: var(--accent); }
.page-flow .content-row { padding: 44px 0; margin: 0; scroll-margin-top: 28px; }
.page-flow .content-row.has-photos { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 5%; align-items: start; padding-top: 36px; padding-bottom: 36px; }
.page-flow .section-copy { min-width: 0; }
.page-flow .section-copy h2 { max-width: 540px; margin-bottom: 22px; }
.page-flow .section-text p { max-width: 62ch; }
.page-flow .text-only .section-copy { display: block; }
.page-flow .text-only h2 { max-width: 720px; }
.page-flow .section-media { min-width: 0; }
.page-flow .section-media .photo-run { margin-top: 0; }
.page-flow .section-media .photo-run-1 { max-width: 420px; margin-left: 0; }
.page-flow .section-media .photo-run-2 { gap: 20px; }
.page-flow .section-media .photo-run-2 figure:nth-child(2) { padding-top: 46px; }
.page-flow .section-media .photo-context { margin: 0 0 18px; }
.page-flow .service-list { margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 6px 24px; }
.page-flow .comparison-inline { padding-top: 36px; padding-bottom: 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 5%; align-items: start; }
.service-directory { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 5%; }
.directory-links { display: grid; grid-template-columns: 1fr 1fr; gap: 38px 34px; }
.service-entry, .service-entry:first-child, .service-entry:last-child { padding: 0; margin: 0; }
.directory-photo { position: static; }
.directory-photo img { height: 540px; }
.directory-heading { margin-bottom: 42px; }
.closing { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 7%; }
.related-services { padding-top: 55px; padding-bottom: 60px; }
.related-services nav { gap: 7%; }
.contact-workspace { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-areas: 'overview form' 'photos form'; grid-template-rows: min-content 1fr; gap: 28px 5%; align-items: start; }
.contact-overview { grid-area: overview; min-width: 0; }
.inquiry-form { grid-area: form; min-width: 0; }
.contact-photos { grid-area: photos; min-width: 0; }
.contact-photos .photo-run { margin-top: 0; }
.contact-workspace .contact-details { margin-top: 24px; margin-bottom: 20px; }
.inquiry-form > .button { margin-top: 4px; }
.hero-inquiry, .service-entry, .related-services nav a { touch-action: manipulation; }
@media (min-width: 1600px) {
  .page-hero, .page-flow, .services-overview, .brand-story, .home-details, .work-section,
  .project-gallery, .contact-workspace, .business-intro, .closing { padding-left: max(6%, calc((100vw - 1280px) / 2)); padding-right: max(6%, calc((100vw - 1280px) / 2)); }
}
@media (max-width: 1100px) {
  .page-hero { gap: 7%; }
  .page-flow .content-row.has-photos { gap: 6%; }
  .directory-links { gap: 30px 26px; }
  .service-directory { gap: 6%; }
  .directory-photo img { height: 550px; }
}
@media (max-width: 900px) {
  html { scroll-padding-top: 110px; }
  .site-header { height: auto; min-height: 0; position: relative; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; gap: 0; }
  .site-header .logo { width: 86px; }
  .menu-toggle { display: none; }
  #nav { display: flex; position: static; align-items: stretch; gap: 12px; width: 100%; padding: 18px 0; box-shadow: none; background: white; }
  .service-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; font-size: 18px; }
  .company-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px 18px; padding-top: 4px; font-size: 14px; }
  #nav a { min-height: 44px; display: inline-flex; align-items: center; }
  #nav .nav-call { margin-left: 0; }
  .nav-ready .site-header { position: sticky; top: 0; z-index: 30; height: 98px; flex-wrap: nowrap; }
  .nav-ready .menu-toggle { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 0 12px 12px; border: 0; background: none; color: var(--ink); font: 600 14px/1.5 var(--sans); }
  .menu-icon { position: relative; width: 19px; height: 13px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
  .menu-icon::after { content: ''; position: absolute; top: 5px; left: 0; right: 0; border-top: 1px solid currentColor; }
  .nav-ready #nav { display: none; position: absolute; top: 97px; left: 0; right: 0; padding: 16px 6% 24px; border-radius: 0 0 18px 18px; box-shadow: 0 12px 20px #0000000b; max-height: calc(100dvh - 98px); overflow-y: auto; }
  .nav-ready #nav.open { display: flex; }
  .page-hero { grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: 6%; padding-top: 28px; padding-bottom: 44px; }
  .page-hero .hero-image { max-width: 300px; }
  .page-flow .content-row, .page-flow .content-row.has-photos { scroll-margin-top: 16px; }
  .page-flow .content-row.has-photos { gap: 28px; grid-template-columns: 1fr; }
  .page-flow .text-only .section-copy { display: block; }
  .page-flow .service-list { grid-template-columns: 1fr; }
  .page-flow .section-media .photo-run-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; margin-left: auto; gap: 20px; }
  .page-flow .section-media .photo-run-2 figure:nth-child(2) { padding-top: 30px; }
  .page-flow .comparison-inline { grid-template-columns: 1fr 1fr; gap: 6%; }
  .service-directory { grid-template-columns: 1fr; gap: 34px; }
  .directory-links { order: 1; gap: 32px 8%; }
  .directory-photo { order: 2; width: 75%; max-width: 650px; justify-self: end; }
  .directory-photo img { height: 340px; }
  .contact-workspace { grid-template-columns: 1fr; grid-template-areas: 'overview' 'form' 'photos'; grid-template-rows: auto; gap: 36px; }
  .contact-photos { max-width: 560px; width: 100%; }
  .inquiry-form { padding: 0; }
  .inquiry-form > .button { min-width: 210px; }
  .footer-nav a { display: flex; align-items: center; min-height: 44px; }
  .footer-bottom button { min-height: 44px; }
  .footer-bottom { gap: 6px 24px; }
}
@media (max-width: 700px) {
  .page-hero { grid-template-columns: 1fr; gap: 28px; }
  .page-hero .hero-heading { padding-top: 0; }
  .page-hero .hero-image, .page-about-us .hero-image { width: 82%; max-width: 300px; justify-self: end; }
  .page-flow .content-row.has-photos { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; padding-bottom: 40px; }
  .page-flow .text-only .section-copy { display: block; }
  .page-flow .section-copy h2 { max-width: 100%; }
  .page-flow .section-media .photo-run-1 { max-width: 420px; margin-left: 0; }
  .page-flow .section-media .photo-run-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; margin-left: 0; gap: 16px; }
  .page-flow .section-media .photo-run-2 figure:nth-child(2) { padding-top: 30px; }
  .page-flow .service-list { grid-template-columns: 1fr; }
  .page-flow .comparison-inline { grid-template-columns: 1fr; gap: 22px; padding-top: 30px; padding-bottom: 40px; }
  .page-flow .content-row { padding-top: 30px; padding-bottom: 30px; }
  .page-index { margin-bottom: 8px; }
  .page-index nav { grid-template-columns: 1fr; gap: 2px; }
  .page-flow { padding-bottom: 36px; }
  .closing { display: block; }
  .closing > .button { margin-top: 26px; }
  .related-services nav { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .related-services nav a { margin-top: 0; min-height: 44px; }
}
@media (max-width: 600px) {
  .nav-ready .site-header { height: 90px; }
  .nav-ready #nav { top: 89px; max-height: calc(100dvh - 90px); }
  .home-hero { min-height: clamp(550px, calc(100svh - 121px), 680px); }
  .hero-copy { padding-top: 32px; padding-bottom: 38px; }
  .hero-copy .eyebrow { margin-bottom: 22px; }
  .hero-actions { margin-top: 24px; margin-bottom: 24px; gap: 14px; }
  .hero-location { max-width: 260px; }
  .page-hero .breadcrumb { margin-bottom: 20px; }
  .page-hero .hero-image { width: 78%; max-width: 280px; }
  .page-hero .hero-image figcaption { font-size: 12px; }
  .page-hero .hero-inquiry { margin-top: 22px; }
  .directory-links { grid-template-columns: 1fr; gap: 30px; }
  .service-entry p { max-width: 38ch; margin-bottom: 0; }
  .service-entry .action-link { margin-top: 8px; min-height: 44px; }
  .directory-photo { width: 86%; margin: 0; }
  .directory-photo img { height: 300px; }
  .brand-story { gap: 22px; }
  .story-art { order: 2; justify-content: flex-end; }
  .story-art .logo { width: 130px; }
  .brand-story > div:last-child { order: 1; }
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .project-grid figure:nth-child(3n + 2) { padding-top: 0; }
  .project-grid figcaption { font-size: 13px; line-height: 1.55; }
  .project-gallery { padding-top: 38px; padding-bottom: 42px; }
  .contact-workspace { gap: 34px; }
  .inquiry-form > .button { width: 100%; }
  .inquiry-form .phone-field { max-width: none; }
  .mobile-call { bottom: max(18px, env(safe-area-inset-bottom)); }
  .form-active .mobile-call { visibility: hidden; }
  .footer-main { grid-template-columns: 80px minmax(0, 1fr); gap: 20px 16px; }
  .footer-main .logo { width: 80px; }
  .footer-phone { font-size: 25px; }
  .footer-nav { gap: 0 24px; }
  .footer-bottom { padding-bottom: max(82px, calc(env(safe-area-inset-bottom) + 64px)); }
}
@media (max-width: 359px) {
  .project-grid { grid-template-columns: 1fr; }
  .page-hero .hero-image { width: 86%; }
  .topline { flex-wrap: wrap; gap: 2px 12px; }
}

/* Additional project views break up longer copy without repeating photographs. */
.story-photo { width: 100%; max-width: 380px; justify-self: start; }
.story-photo .photo-run { margin: 0; max-width: none; }
.page-flow .content-row.has-photos { padding-top: 36px; padding-bottom: 36px; }
.page-flow .content-row.text-only { padding-top: 32px; padding-bottom: 32px; }
.page-flow .media-landscape .photo-run-1 { max-width: none; }
.media-landscape .photo-run-1 img { height: auto; object-fit: contain; }
.media-landscape img[src*="pergola-patio-view-"] { object-position: 50% 60%; }
@media (min-width: 901px) {
  .content-new-builds .page-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 5%; }
  .content-new-builds .text-only .section-copy { display: block; }
  .content-new-builds .content-row { padding-top: 24px; padding-bottom: 24px; }
}
@media (max-width: 700px) {
  .story-photo { max-width: 340px; width: 84%; justify-self: end; }
  .page-flow .content-row.has-photos { padding-top: 28px; padding-bottom: 32px; }
  .page-flow .content-row.text-only { padding-top: 24px; padding-bottom: 24px; }
}

/* People and framing photos stay uncropped, with room for both source shapes. */
.jobsite-photos { width: 100%; max-width: 500px; justify-self: end; }
.jobsite-photos .photo-run { margin: 0; gap: 22px; }
.jobsite-photos .photo-run figure:nth-child(2) { padding-top: 58px; }
.jobsite-photos img { height: auto; }
@media (max-width: 900px) {
  .work-section { grid-template-columns: 1fr; gap: 32px; }
  .work-section > div:first-child { max-width: 620px; }
  .jobsite-photos { max-width: 540px; }
}
@media (max-width: 600px) {
  .jobsite-photos .photo-run { gap: 16px; }
  .jobsite-photos .photo-run figure:nth-child(2) { padding-top: 40px; }
}

/* Clear local service context and practical next steps retain the same brand. */
.hero-phone { gap: 9px; min-height: 48px; }
.hero-phone svg { width: 18px; height: 18px; flex: 0 0 18px; }
.hero-location a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.contact-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 26px; }
.contact-hero-actions .hero-inquiry { margin-top: 0; }
.contact-hero-actions .callback-link { min-height: 48px; }
.project-questions { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 9%; align-items: start; background: var(--white); }
.questions-intro h2 { max-width: 480px; font-size: clamp(30px, 3.3vw, 43px); line-height: 1.22; }
.questions-intro .action-link { margin-top: 22px; min-height: 44px; }
.question-list { min-width: 0; }
.question-list details { margin: 0 0 16px; }
.question-list summary { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; min-height: 54px; padding: 10px 0; font: 600 18px/1.5 var(--body); cursor: pointer; list-style: none; }
.question-list summary::-webkit-details-marker { display: none; }
.question-list summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 4px; }
.question-list summary:hover { color: var(--accent); }
.question-list .index-toggle { flex: 0 0 14px; margin-top: 7px; color: var(--accent); }
.question-list details[open] .index-toggle::after { transform: none; }
.question-answer p { padding: 7px 0 0; margin: 0 0 20px; max-width: 62ch; color: var(--muted); font-size: 16px; line-height: 1.75; }
.field-hint { margin: 10px 0 0; font-size: 14px; line-height: 1.65; color: var(--muted); }
.reply-preference { max-width: 380px; margin-bottom: 6px; }
.reply-preference label { margin-top: 16px; }
.project-photo-help { margin-top: 20px; }
.project-photo-help .action-link { min-height: 44px; }
.project-photo-help p { margin: 4px 0 0; max-width: 54ch; font-size: 14px; line-height: 1.65; color: var(--muted); }
@media (min-width: 1600px) {
  .project-questions { padding-left: max(6%, calc((100vw - 1280px) / 2)); padding-right: max(6%, calc((100vw - 1280px) / 2)); }
}
@media (max-width: 800px) {
  .project-questions { grid-template-columns: 1fr; gap: 24px; }
  .questions-intro { max-width: 590px; }
  .questions-intro .action-link { margin-top: 16px; }
}
@media (max-width: 600px) {
  .question-list summary { font-size: 17px; }
  .question-answer p { font-size: 16px; }
  .contact-hero-actions { align-items: flex-start; flex-direction: column; gap: 6px; margin-top: 22px; }
  .reply-preference { max-width: none; }
}

/* Fuller copy follows the photographs, with compact desktop reading columns. */
.page-support { max-width: 58ch; margin: 20px 0 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
.page-commercial-renovations .page-support,
.page-new-builds .page-support,
.page-careers .page-support { color: #c3c3c1; }
.page-flow .section-text > p { margin-bottom: 16px; }
.page-flow .section-text > p:last-child { margin-bottom: 0; }
.home-detail-heading > p { max-width: 64ch; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.inquiry-guide { margin-top: 28px; display: grid; gap: 24px; }
.inquiry-guide h3 { margin-bottom: 12px; font: 400 22px/1.35 var(--display); letter-spacing: -.01em; }
.inquiry-guide p { max-width: 62ch; margin: 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
@media (min-width: 901px) {
  .brand-story { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 5%; align-items: start; }
  .work-section { gap: 5%; align-items: start; }
  .brand-story > div > p:not(.eyebrow), .work-section > div > p:not(.eyebrow) { max-width: 60ch; }
  .work-section .jobsite-photos { max-width: none; }
  .home-detail-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 5%; }
  .home-details .photo-run { margin-top: 28px; }
  .page-flow .text-only .section-text { display: grid; grid-template-columns: 1fr 1fr; gap: 0 5%; align-items: start; }
  .page-flow .text-only .section-text > p { margin-bottom: 0; }
  .page-flow .text-only .section-text > p:only-child { grid-column: 1 / -1; max-width: 90ch; }
  .page-flow .text-only .section-text > .service-list { grid-column: 1 / -1; }
  .page-flow .text-only .section-text > .action-link { justify-self: start; }
  .content-new-builds .text-only .section-text { display: block; }
  .content-new-builds .text-only .section-text > p { margin-bottom: 16px; }
  .inquiry-form fieldset, .inquiry-form fieldset:first-of-type { margin-top: 24px; }
}
@media (max-width: 900px) {
  .service-nav .nav-home { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .home-detail-heading > p { margin-top: 20px; }
  .page-support { font-size: 16px; margin-top: 18px; }
  .inquiry-guide { margin-top: 26px; gap: 24px; }
}

/* Chivo supports the logo lettering; the opening gives real work its own space. */
.button { font-size: 15px; font-weight: 650; letter-spacing: 0; }
.action-link { font-weight: 600; letter-spacing: 0; }
.home-hero { position: relative; isolation: isolate; display: flex; min-height: 650px; overflow: hidden; align-items: center; }
.hero-copy { position: relative; z-index: 2; width: 64%; max-width: 1000px; padding: 52px 6% 78px; pointer-events: auto; }
.hero-copy h1 { font-size: clamp(50px, 5.8vw, 88px); line-height: 1.1; margin-bottom: 28px; }
.hero-copy .eyebrow { max-width: 36ch; margin-bottom: 25px; font-size: 12px; font-weight: 550; letter-spacing: .025em; }
.hero-opening { max-width: 36ch; margin-bottom: 12px; font: 600 19px/1.5 var(--body); letter-spacing: -.015em; }
.hero-intro { max-width: 43ch; margin-bottom: 0; font: 400 18px/1.65 var(--body); color: #d6d6d4; }
.hero-actions { margin: 26px 0 20px; gap: 16px 24px; }
.hero-actions .button { --button-surface: white; --button-hover: #dfe8ee; --button-ink: var(--ink); }
.hero-actions .hero-phone { font: 600 17px/1.5 var(--body); font-variant-numeric: tabular-nums; }
.hero-location { max-width: 39ch; font: 500 14px/1.6 var(--body); color: #c4d1da; }
.hero-location a { font-weight: inherit; }
.hero-photo { position: absolute; inset: 0; z-index: 0; margin: 0; clip-path: none; overflow: hidden; min-width: 0; }
.hero-photo::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #111111e8 0%, #111111d1 34%, #11111166 67%, #11111126 100%), linear-gradient(0deg, #111111b8 0%, #11111100 30%); }
.hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 54%; filter: none; border-radius: 0; }
.hero-photo .photo-caption { position: absolute; inset: auto 6% 22px auto; z-index: 2; max-width: 88%; background: none; padding: 0; border-radius: 0; color: #ededeb; font: 400 12px/1.5 var(--body); }
.service-group { display: grid; gap: 26px; align-content: start; min-width: 0; }
.service-group-label { margin: 0; color: var(--accent); font: 600 13px/1.5 var(--body); }
.service-group .service-entry { margin: 0; }
.service-group .service-entry h3 { font-size: clamp(24px, 2.1vw, 31px); }
.service-group .service-entry p { line-height: 1.7; }
.directory-heading, .project-gallery-heading { gap: 5%; align-items: start; }
.service-directory { grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr); }
.directory-links { gap: 36px 32px; }
.directory-photo img { height: 610px; border-radius: 6px 54px 6px 6px; }
.photo-run figcaption, .editorial-image figcaption, .directory-photo figcaption { font-size: 12px; line-height: 1.6; }
.page-flow .section-media .photo-run-2 figure:nth-child(2),
.jobsite-photos .photo-run figure:nth-child(2),
.photo-run-3 figure:nth-child(2) { padding-top: 0; }
.project-grid:not(.project-grid-pair) { display: block; columns: 3; column-gap: 28px; }
.project-grid:not(.project-grid-pair) figure { break-inside: avoid; padding-top: 0; margin-bottom: 28px; }
.page-careers .hero-image img { filter: none; }
.inquiry-form { min-width: 0; margin: 0; padding: 0; }
.page-contact { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-areas: 'intro form' 'photo form' 'note form'; grid-template-rows: min-content min-content 1fr; gap: 28px 6%; padding-top: 34px; padding-bottom: 48px; }
.page-contact .hero-heading { grid-area: intro; padding-top: 0; }
.page-contact .hero-image { grid-area: photo; max-width: 420px; justify-self: start; }
.page-contact .inquiry-form { grid-area: form; }
.page-contact .contact-start-note { grid-area: note; margin: 0; }
.page-contact .contact-details { margin-top: 24px; margin-bottom: 16px; }
.page-contact .contact-hero-actions { margin-top: 22px; gap: 4px 24px; }
.page-contact .contact-hero-actions .action-link { min-height: 44px; }
.contact-preparation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6%; align-items: start; }
.contact-preparation h2 { max-width: 520px; font-size: clamp(30px, 3.2vw, 45px); line-height: 1.2; }
.contact-preparation .contact-photos { margin-top: 28px; }
.contact-preparation .photo-run { margin-top: 0; }
.contact-preparation .inquiry-guide { margin-top: 0; gap: 30px; }
@media (min-width: 901px) {
  .page-flow .content-row.has-photos:nth-of-type(even) { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .page-flow .content-row.has-photos:nth-of-type(even) .section-media { order: -1; }
  .page-flow .content-row.has-photos:nth-of-type(even) .photo-run-1 { margin-left: auto; }
}
@media (min-width: 1600px) {
  .home-hero { padding: 0; }
  .hero-copy { width: 66%; max-width: 1200px; padding-left: max(6%, calc((100vw - 1280px) / 2)); padding-right: 40px; }
  .contact-preparation { padding-left: max(6%, calc((100vw - 1280px) / 2)); padding-right: max(6%, calc((100vw - 1280px) / 2)); }
}
@media (max-width: 1100px) {
  .hero-copy { width: 72%; padding-top: 42px; padding-bottom: 78px; }
  .hero-copy h1 { font-size: clamp(45px, 5.8vw, 65px); }
  .hero-opening { font-size: 18px; }
  .hero-intro { font-size: 17px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 22px; }
  .directory-links { gap: 28px 24px; }
}
@media (max-width: 900px) {
  .service-directory { grid-template-columns: 1fr; }
  .directory-photo img { height: 340px; }
  .project-grid:not(.project-grid-pair) { columns: 2; }
  .page-contact { grid-template-columns: 1fr; grid-template-areas: 'intro' 'form' 'photo' 'note'; grid-template-rows: auto; gap: 32px; }
  .page-contact .hero-heading { max-width: 640px; }
  .page-contact .hero-image { max-width: 380px; }
  .contact-preparation { grid-template-columns: 1fr; gap: 30px; }
  .contact-preparation-heading { max-width: 660px; }
  .contact-preparation .contact-photos { max-width: 560px; }
  .contact-preparation .inquiry-guide { max-width: 66ch; }
}
@media (max-width: 700px) {
  .home-hero { min-height: clamp(590px, calc(100svh - 120px), 760px); }
  .hero-copy { padding: 32px 6% 78px; width: 100%; max-width: 650px; }
  .hero-copy h1 { max-width: 570px; font-size: clamp(39px, 9.6vw, 64px); line-height: 1.14; margin-bottom: 22px; }
  .hero-copy .eyebrow { margin-bottom: 22px; }
  .hero-opening { font-size: 18px; max-width: 34ch; }
  .hero-intro { font-size: 17px; max-width: 44ch; }
  .hero-actions { margin: 22px 0 12px; gap: 6px 24px; }
  .hero-actions .hero-phone { font-size: 17px; }
  .hero-location { max-width: 40ch; }
  .hero-photo { margin: 0; }
  .hero-photo img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 64% 50%; border-radius: 0; }
  .hero-photo::after { background: linear-gradient(90deg, #111111de 0%, #111111b8 60%, #1111118c 100%), linear-gradient(0deg, #111111b8 0%, #11111100 40%); }
  .hero-photo .photo-caption { left: 6%; right: 6%; bottom: 20px; margin: 0; font-size: 12px; }
  .service-group { gap: 24px; }
  .service-group .service-entry h3 { font-size: 27px; }
  .page-contact .hero-image { width: 100%; max-width: 380px; }
}
@media (max-width: 600px) {
  .directory-links { grid-template-columns: 1fr; gap: 34px; }
  .directory-photo img { height: 300px; }
  .hero-actions .button { font-size: 15px; padding: 15px 24px; }
  .footer-phone { font-size: clamp(20px, 5.2vw, 26px); }
}
@media (max-width: 359px) {
  .project-grid:not(.project-grid-pair) { columns: 1; }
  .service-nav { font-size: 17px; }
}

/* Readable display hierarchy, measured prose and larger project views. */
.hero-copy h1 { font-size: clamp(48px, 5.4vw, 80px); line-height: 1.17; letter-spacing: -.01em; }
.hero-copy .eyebrow { font-size: 14px; color: #e5e8ea; }
.hero-opening { font-size: 19px; font-weight: 500; line-height: 1.6; letter-spacing: 0; }
.hero-intro { max-width: 45ch; color: #f1f1ef; font-size: 18px; line-height: 1.75; }
.hero-location { font-size: 15px; line-height: 1.65; color: #e2e8ed; }
.hero-photo::after { background: linear-gradient(90deg, #111111f2 0%, #111111dc 38%, #11111180 63%, #1111111f 100%), linear-gradient(0deg, #111111c4 0%, #11111100 32%); }
.home-hero .hero-photo .photo-caption { font-size: 14px; line-height: 1.6; color: #f6f6f4; }
.page-hero h1 { max-width: 20ch; font-size: clamp(38px, 4.1vw, 62px); line-height: 1.23; letter-spacing: -.01em; margin-bottom: 24px; }
.page-hero .page-intro { max-width: 58ch; font-size: 18px; line-height: 1.75; }
.page-support { max-width: 62ch; font-size: 17px; line-height: 1.75; }
.page-commercial-renovations .page-intro, .page-new-builds .page-intro, .page-careers .page-intro { color: #e3e5e5; }
.page-commercial-renovations .page-support, .page-new-builds .page-support, .page-careers .page-support { color: #d3d7d8; }
.directory-heading h2, .brand-story h2, .work-section h2, .home-details h2, .project-gallery-heading h2, .contact-preparation h2, .business-intro h2, .questions-intro h2, .closing h2 { max-width: 25ch; font-size: clamp(30px, 3.1vw, 44px); line-height: 1.28; letter-spacing: -.01em; }
.directory-heading > p:last-child, .brand-story > div > p:not(.eyebrow), .work-section > div > p:not(.eyebrow), .home-detail-heading > p, .project-gallery-heading p, .business-intro > div > p:not(.eyebrow), .closing p:not(.eyebrow) { max-width: 62ch; font-size: 17px; line-height: 1.75; }
.service-group-label { font-size: 14px; }
.service-group .service-entry h3 { max-width: 24ch; font: 650 clamp(24px, 2.1vw, 28px)/1.35 var(--body); letter-spacing: 0; margin-bottom: 14px; }
.service-group .service-entry p { max-width: 48ch; font-size: 17px; line-height: 1.75; }
.service-group { gap: 30px; }
.directory-photo img { height: auto; }
.page-flow .section-copy h2 { max-width: 30ch; font: 600 28px/1.35 var(--body); letter-spacing: 0; margin-bottom: 16px; }
.page-flow .section-text > p { max-width: 62ch; font-size: 17px; line-height: 1.8; margin-bottom: 18px; }
.page-flow .text-only .section-text { display: block; }
.page-flow .text-only .section-text > p { margin-bottom: 18px; }
.page-flow .text-only .section-text > p:only-child { max-width: 62ch; }
.page-flow .section-text > p:last-child { margin-bottom: 0; }
.page-flow .service-list { margin-top: 22px; gap: 8px 24px; }
.page-flow .service-list li { font-size: 16px; line-height: 1.65; }
.page-index summary, .page-index nav a { font-size: 16px; }
.page-flow .section-media.media-landscape .photo-run-1 { max-width: 360px; }
.media-landscape .photo-run-1 img { height: auto; object-fit: contain; }
.photo-run figcaption, .page-hero .hero-image figcaption, .directory-photo figcaption, .project-grid figcaption { margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.page-commercial-renovations .hero-image figcaption, .page-new-builds .hero-image figcaption, .page-careers .hero-image figcaption { color: #d3d7d8; }
.related-services nav a { font: 600 23px/1.4 var(--body); letter-spacing: 0; }
.related-services nav span { font-size: 15px; line-height: 1.6; }
.inquiry-form h2 { max-width: 28ch; font: 600 clamp(26px, 2.4vw, 32px)/1.35 var(--body); letter-spacing: 0; margin-bottom: 16px; }
.inquiry-form > p, .inquiry-guide p { max-width: 62ch; font-size: 17px; line-height: 1.75; }
.inquiry-form label { font-size: 15px; line-height: 1.55; }
.inquiry-guide h3 { font: 600 23px/1.4 var(--body); letter-spacing: 0; }
.question-list summary { font-size: 18px; line-height: 1.6; }
.question-answer p { font-size: 17px; line-height: 1.75; }
@media (max-width: 900px) {
  .page-flow .section-media .photo-run-1, .page-flow .section-media.media-landscape .photo-run-1 { max-width: 400px; margin-left: 0; }
}
@media (max-width: 700px) {
  .hero-copy h1 { font-size: clamp(35px, 9.2vw, 48px); line-height: 1.23; }
  .hero-copy { padding-bottom: 88px; }
  .hero-copy .eyebrow { font-size: 13px; }
  .hero-opening, .hero-intro { font-size: 18px; line-height: 1.75; }
  .hero-photo::after { background: linear-gradient(90deg, #111111eb 0%, #111111cc 62%, #111111a3 100%), linear-gradient(0deg, #111111c4 0%, #11111100 40%); }
  .page-hero h1 { font-size: clamp(34px, 8.8vw, 46px); line-height: 1.25; }
  .page-hero .page-intro { font-size: 17px; }
  .page-flow .section-copy h2 { font-size: 26px; line-height: 1.4; }
  .service-group .service-entry h3 { font-size: 26px; }
}
@media (max-width: 520px) {
  .page-flow .section-media .photo-run-2, .jobsite-photos .photo-run-2, .contact-photos .photo-run-2, .home-details .photo-run-3 { grid-template-columns: 1fr; gap: 26px; max-width: 480px; margin-left: 0; }
  .home-details .photo-run-3 figure:last-child { grid-column: auto; width: 100%; justify-self: stretch; }
  .project-grid:not(.project-grid-pair) { columns: 1; }
  .project-grid-pair { grid-template-columns: 1fr; gap: 26px; }
  .project-grid-pair figure, .project-grid-pair figure:nth-child(2) { width: 100%; max-width: none; justify-self: stretch; }
  .jobsite-photos { max-width: none; }
  .page-flow .section-media .photo-run-1, .page-flow .section-media.media-landscape .photo-run-1 { max-width: 480px; }
}

/* Full-width photographs, with a measured opening instead of a whole screen. */
.home-hero { min-height: clamp(500px, 58svh, 620px); }
.page-hero { --hero-focal: 50% 55%; position: relative; isolation: isolate; display: flex; align-items: center; gap: 0; min-height: clamp(500px, 58svh, 620px); width: 100%; padding: 40px 6% 74px; background: #151515; color: white; overflow: hidden; }
.page-hero .hero-heading { position: relative; z-index: 2; width: 62%; max-width: 780px; padding: 0; align-self: auto; min-width: 0; }
.page-hero h1 { max-width: 19ch; color: white; }
.page-hero .page-intro { max-width: 54ch; color: #f1f2f1; }
.page-hero .eyebrow { color: #e1e7eb; font-size: 14px; }
.page-hero .breadcrumb { color: #d5dce0; margin-bottom: 25px; }
.page-hero .breadcrumb a, .page-hero .action-link { color: #e4edf4; }
.page-hero .action-link:hover, .page-hero .breadcrumb a:hover { color: white; }
.page-hero .button { --button-surface: white; --button-hover: #dfe8ee; --button-ink: var(--ink); }
.page-hero :focus-visible { outline-color: #c6dae8; }
.page-hero .hero-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; padding: 0; margin: 0; align-self: auto; justify-self: auto; }
.page-hero .hero-image .editorial-image, .page-hero .hero-image picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; }
.page-hero .hero-image .editorial-image img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; max-height: none; aspect-ratio: auto; object-fit: cover; object-position: var(--hero-focal); filter: none; border-radius: 0; }
.page-hero .hero-image::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #111111f0 0%, #111111d9 35%, #11111173 66%, #11111126 100%), linear-gradient(0deg, #111111cf 0%, #11111100 32%); }
.page-hero .hero-image figcaption { position: absolute; left: 6%; right: 6%; bottom: 23px; z-index: 2; max-width: 88%; margin: 0; font: 400 14px/1.6 var(--body); color: #f2f4f3; }
.page-interior-design { --hero-focal: 50% 57%; }
.page-exterior-design { --hero-focal: 50% 45%; }
.page-commercial-renovations { --hero-focal: 50% 50%; }
.page-about-us { --hero-focal: 50% 44%; justify-content: flex-end; }
.page-careers { --hero-focal: 50% 24%; justify-content: flex-end; }
.page-about-us .hero-heading, .page-careers .hero-heading { width: 44%; max-width: 640px; }
.page-about-us .hero-image::after, .page-careers .hero-image::after { background: linear-gradient(270deg, #111111f0 0%, #111111d9 35%, #11111173 62%, #1111111f 100%), linear-gradient(0deg, #111111cf 0%, #11111100 32%); }
.page-thank-you { --hero-focal: 50% 70%; }
.page-not-found { --hero-focal: 50% 65%; }
.page-context { max-width: 72ch; margin: 8px 0 24px; font-size: 18px; line-height: 1.75; color: var(--muted); }
.page-contact .hero-phone { margin-top: 18px; font: 600 19px/1.5 var(--body); gap: 10px; }
.page-contact .contact-hero-actions { margin-top: 25px; gap: 10px 24px; }
.contact-inquiry { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-areas: 'support form'; align-items: start; gap: 7%; background: white; }
.contact-inquiry .inquiry-form { grid-area: form; }
.contact-support { grid-area: support; min-width: 0; }
.contact-support > h2 { font: 600 28px/1.35 var(--body); letter-spacing: 0; }
.contact-support .contact-details { margin-top: 20px; margin-bottom: 22px; }
.contact-support .page-support { margin: 0; }
.contact-support .contact-preparation-heading { margin-top: 34px; }
.contact-support .contact-preparation-heading h2 { font: 600 26px/1.4 var(--body); letter-spacing: 0; }
.contact-support .contact-preparation-heading .eyebrow { margin-bottom: 14px; }
.contact-support .contact-photos { margin-top: 24px; }
.contact-support .contact-photos .photo-run { margin-top: 0; }
.contact-support .inquiry-guide { margin-top: 32px; }
@media (min-width: 1600px) {
  .page-hero, .contact-inquiry { padding-left: max(6%, calc((100vw - 1280px) / 2)); padding-right: max(6%, calc((100vw - 1280px) / 2)); }
}
@media (max-width: 1100px) {
  .page-about-us .hero-heading, .page-careers .hero-heading { width: 47%; }
}
@media (max-width: 900px) {
  .home-hero, .page-hero { min-height: 560px; }
  .page-hero .hero-heading { width: 78%; }
  .page-about-us .hero-heading, .page-careers .hero-heading { width: 52%; }
  .contact-inquiry { grid-template-columns: 1fr; grid-template-areas: 'form' 'support'; gap: 42px; }
  .contact-support { max-width: 660px; }
  #contact-form { scroll-margin-top: 20px; }
}
@media (max-width: 700px) {
  .page-hero { padding-top: 32px; padding-bottom: 84px; }
  .page-hero .hero-heading, .page-about-us .hero-heading, .page-careers .hero-heading { width: 100%; max-width: 600px; }
  .page-hero h1 { max-width: 20ch; font-size: clamp(34px, 8.8vw, 46px); }
  .page-hero .page-intro { max-width: 52ch; font-size: 17px; }
  .page-hero .hero-image::after { background: linear-gradient(90deg, #111111eb 0%, #111111cc 62%, #111111a3 100%), linear-gradient(0deg, #111111cf 0%, #11111100 42%); }
  .page-interior-design { --hero-focal: 58% 50%; }
  .page-contact { --hero-focal: 68% 50%; }
  .page-about-us { --hero-focal: 55% 50%; }
  .page-careers { --hero-focal: 25% 50%; }
  .page-not-found { --hero-focal: 58% 50%; }
  .page-hero .hero-image figcaption { bottom: 20px; }
  .page-context { font-size: 17px; }
}
@media (max-width: 600px) {
  .home-hero, .page-hero { min-height: 0; }
}

/* Bring the next section into view while keeping comfortable reading measures. */
@media (min-width: 901px) {
  html { scroll-padding-top: 24px; }
  .topline { padding-top: 7px; padding-bottom: 7px; }
  .site-header { min-height: 104px; padding-top: 9px; padding-bottom: 9px; }
  .site-header .logo { width: 86px; }
  .hero-copy { padding-top: 32px; padding-bottom: 38px; }
  .hero-photo img { object-position: 50% 50%; }
  .hero-copy h1 { font-size: clamp(46px, 4.7vw, 68px); line-height: 1.13; margin-bottom: 20px; }
  .hero-copy .eyebrow { margin-bottom: 16px; }
  .hero-actions { margin-top: 20px; margin-bottom: 10px; }
  .hero-actions .hero-phone { min-height: 44px; }
  .page-hero h1 { font-size: clamp(36px, 3.8vw, 56px); margin-bottom: 18px; }
  .page-hero .breadcrumb { margin-bottom: 18px; }
  .page-hero .eyebrow { margin-bottom: 14px; }
  .page-hero .page-intro { line-height: 1.65; }
  .services-overview { padding-top: 64px; padding-bottom: 64px; }
  .directory-heading { margin-bottom: 36px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .hero-copy { width: 78%; }
}
@media (max-width: 700px) {
  .hero-copy { padding-bottom: 38px; }
  .hero-actions .hero-phone { min-height: 44px; }
}
