.subpage-header{background:#f8f6f1}.subpage-header .brand{width:116px;display:flex;align-items:center}.subpage-header .brand-mark{width:100%;max-height:68px;object-fit:contain;filter:brightness(.24)}
.language-switch{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.05em}.language-switch button{border:0;background:transparent;color:#66716a;padding:8px 3px;cursor:pointer;font:inherit}.language-switch button[aria-pressed=true]{color:#1b2421;text-decoration:underline;text-underline-offset:5px}.language-switch span{color:#a49e94}.mobile-languages{display:none}
.sub-hero{height:min(68svh,650px);min-height:440px;position:relative;background:#26302b center/cover no-repeat;color:white;display:flex;align-items:end}.sub-hero.services-hero{background-image:url('/assets/pergola.avif')}.sub-hero.projects-hero{background-image:url('/assets/project-4.avif')}.sub-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a100ecc,#0a100e64 60%,#0a100e22),linear-gradient(0deg,#0a100e80,transparent 55%)}.sub-hero-inner{position:relative;z-index:1;padding-bottom:clamp(65px,10vh,110px)}.sub-hero h1{font:500 clamp(52px,7.3vw,112px)/1.06 var(--head);letter-spacing:-.065em;margin:14px 0 20px}.sub-hero h1 em,.sub-intro h2 em,.service-feature h2 em,.catalog-head h2 em,.sub-closing h2 em{font-family:Georgia,serif;font-weight:400}.sub-hero p:last-child{max-width:540px;line-height:1.65;color:#f0f1ed;font-size:17px}
.sub-intro{display:grid;grid-template-columns:.34fr 1fr;gap:9vw;padding:115px 0}.sub-intro h2,.catalog-head h2{font:500 clamp(44px,5.3vw,78px)/1.08 var(--head);letter-spacing:-.06em;margin:0}.sub-intro p:last-child{max-width:630px;line-height:1.7;color:#5d6860;font-size:17px}
.service-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:min(8vw,110px);align-items:center;padding:50px 0 100px;border-top:1px solid #d9d8d1}.service-feature.reverse{grid-template-columns:.9fr 1.1fr}.service-feature.reverse>img,.service-feature.reverse>.service-placeholder{order:2}.service-feature>img,.service-placeholder{width:100%;height:520px;object-fit:cover;background:#d0d2c9}.service-feature h2{font:500 clamp(42px,5vw,70px)/1.08 var(--head);letter-spacing:-.06em;margin:17px 0 24px}.service-feature p{font-size:17px;line-height:1.7;color:#5b675f;max-width:550px}.service-feature .button,.service-feature .text-link{margin-top:22px}.service-index{color:#826a56;font-size:11px;font-weight:700;letter-spacing:.16em}.service-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d7d9d3,#a8afa9);color:#48534c;text-align:center;font-size:11px;letter-spacing:.18em;line-height:2;font-weight:700}.service-placeholder.soft{background:linear-gradient(135deg,#b5b9af,#e5e4da)}.service-feature.compact{padding-bottom:140px}
.sub-closing{background:#19221e;color:white;text-align:center;padding:120px 0}.sub-closing .eyebrow{justify-content:center}.sub-closing h2{font:500 clamp(47px,6vw,83px)/1.09 var(--head);letter-spacing:-.06em;margin:14px 0 40px}.sub-closing .closing-actions{justify-content:center}
.projects-catalog{padding:110px 0 145px}.catalog-head{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end;margin-bottom:45px}.catalog-head>p{font-size:17px;line-height:1.7;color:#5c665f;max-width:390px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d3d4cd;padding-top:23px;margin-bottom:33px}.filter-row button{border:1px solid #c4c8bf;background:transparent;color:#39443d;padding:12px 17px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.02em;min-height:44px}.filter-row button[aria-pressed=true]{background:#1b2520;color:white;border-color:#1b2520}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog-card{position:relative;display:block;border:0;padding:0;background:#ddd;cursor:pointer;text-align:left;height:450px;overflow:hidden;color:#fff}.catalog-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.catalog-card:hover img{transform:scale(1.035)}.catalog-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0c1110bb)}.catalog-caption{position:absolute;z-index:1;left:27px;bottom:25px;display:grid;gap:10px}.catalog-caption small{font-size:10px;letter-spacing:.17em;font-weight:700}.catalog-caption strong{font:500 30px var(--head);letter-spacing:-.04em}.catalog-empty{padding:45px;background:#e7e8e1;line-height:1.65;color:#58635c}
.project-dialog{width:min(1100px,calc(100vw - 36px));max-height:min(90dvh,900px);border:0;padding:0;background:#f7f5ef;color:#1c2422;box-shadow:0 30px 80px #0007}.project-dialog::backdrop{background:#0d1312dd}.dialog-inner{display:grid;grid-template-columns:1.35fr .65fr;min-height:520px}.dialog-photo{background:#1a211f;position:relative;display:grid;place-items:center}.dialog-photo img{width:100%;height:100%;max-height:85dvh;object-fit:contain}.dialog-copy{padding:90px 45px 55px;align-self:center}.dialog-copy h2{font:500 clamp(32px,3.5vw,52px)/1.12 var(--head);letter-spacing:-.06em;margin:18px 0}.dialog-copy p:not(.eyebrow){line-height:1.7;color:#5f6961}.dialog-close{position:absolute;z-index:3;top:12px;right:14px;width:42px;height:42px;border:0;background:#19231f;color:#fff;font-size:28px;cursor:pointer}.gallery-controls{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;background:#101715d9;color:white;padding:7px 13px;font-size:12px}.gallery-controls[hidden]{display:none}.gallery-controls button{border:0;background:none;color:inherit;font-size:23px;cursor:pointer;min-width:34px;min-height:34px}
@media(max-width:1050px){.subpage-header .desktop-nav{gap:17px}.subpage-header .header-cta{font-size:10px}}
@media(max-width:900px){.subpage-header .desktop-nav,.subpage-header .header-cta,.subpage-header>.language-switch{display:none}.subpage-header .brand{display:flex!important;width:90px}.subpage-header .menu-toggle{margin-left:auto}.mobile-languages{display:flex;padding:15px 0}.mobile-languages button[aria-pressed=true]{color:#fff}.mobile-nav .mobile-languages{color:#f0ebe1}}
@media(max-width:760px){.subpage-header{position:relative;height:70px;background:#f8f6f1;padding:0 18px}.subpage-header .brand{display:flex!important}.subpage-header .menu-toggle{background:#1c2422!important;border-color:#1c2422!important}.sub-hero{min-height:530px;height:67svh}.sub-hero.services-hero{background-position:57% center}.sub-hero.projects-hero{background-position:56% center}.sub-hero h1{font-size:clamp(48px,12vw,69px)}.sub-hero p:last-child{font-size:15px}.sub-intro{grid-template-columns:1fr;gap:22px;padding:78px 0}.sub-intro h2,.catalog-head h2{font-size:clamp(40px,10vw,56px)}.sub-intro p:last-child{font-size:15px}.service-feature,.service-feature.reverse{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:36px 0 75px}.service-feature.reverse>img,.service-feature.reverse>.service-placeholder{order:0}.service-feature>img,.service-placeholder{height:320px}.service-feature h2{font-size:clamp(39px,10vw,55px)}.service-feature p{font-size:15px}.service-feature.compact{padding-bottom:90px}.sub-closing{padding:88px 0}.sub-closing h2{font-size:clamp(40px,10vw,57px)}.sub-closing .closing-actions{display:grid}.projects-catalog{padding:72px 0 95px}.catalog-head{grid-template-columns:1fr;gap:14px}.catalog-head>p{font-size:15px}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:thin}.filter-row button{white-space:nowrap}.catalog-grid{grid-template-columns:1fr;gap:14px}.catalog-card{height:365px}.dialog-inner{display:block}.dialog-photo{height:min(48dvh,430px)}.dialog-copy{padding:25px 22px 35px}.dialog-copy h2{font-size:38px}.project-dialog{max-height:92dvh;overflow-y:auto}}
@media(max-height:520px) and (orientation:landscape){.sub-hero{min-height:380px;height:auto}.sub-hero-inner{padding-top:110px;padding-bottom:45px}.dialog-inner{min-height:0}.dialog-photo{height:70dvh}}
.sub-hero.services-hero{background-image:url("/assets/projects/wpc-ceiling-wide-large.webp");background-position:center 48%}
.sub-hero.projects-hero{background-image:url("/assets/projects/gable-pergola-wide-large.webp");background-position:center 52%}
.catalog-card picture{display:block;position:absolute;inset:0}
.catalog-card img{object-position:var(--card-position,center)}
.service-feature>img{object-position:center 49%}
.catalog-card:focus-visible,.filter-row button:focus-visible,.gallery-controls button:focus-visible,.dialog-close:focus-visible{outline:3px solid #b78b5f;outline-offset:3px}
@media(max-width:760px){.catalog-card img{object-position:var(--mobile-position,center)}.sub-hero.services-hero{background-position:43% center}.sub-hero.projects-hero{background-position:57% center}.service-feature>img{object-position:center}}
@media(prefers-reduced-motion:reduce){.catalog-card img{transition:none}.catalog-card:hover img{transform:none}}
@media(max-width:760px){.dialog-inner{min-height:0}.dialog-photo{min-height:0;overflow:hidden;display:block}.dialog-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}.dialog-copy{padding:25px 22px 35px}}
