.construction-hero h1{font-size:clamp(40px,4.3vw,64px)}.construction-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}.construction-choices>a{display:flex;flex-direction:column;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:25px}.construction-choices img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#e6e7dc;margin-bottom:23px}.construction-choices h3{font-size:30px;line-height:1.18}.construction-choices p{color:#52634e}.choice-link{margin-top:auto;padding-top:12px;text-decoration:underline;text-underline-offset:6px}.construction-process{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e6e7dc}.construction-process ol{list-style:none;margin:0;padding:0;counter-reset:step}.construction-process li{padding:20px 0;border-top:1px solid #b6c2b0;counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:4px 14px}.construction-process li:before{content:'0' counter(step);grid-row:span 2;font-size:12px;padding-top:4px;color:#52634e}.construction-process strong{font-size:20px;font-weight:600}.construction-process li span{grid-column:2;color:#52634e}.construction-close{background:var(--ink);color:var(--paper);max-width:none!important}.construction-scope{border-top:1px solid var(--line)}.object-intro{padding-bottom:35px}.object-intro .intro{max-width:800px}.object-intro h1{max-width:1000px}.object-photos{padding-top:0}.object-main{margin:0;background:#e6e7dc}.object-main>img{display:block;width:100%;height:65vh;height:65svh;object-fit:contain}.object-main figcaption{padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.object-controls{display:flex;gap:8px}.object-controls[hidden]{display:none}.object-controls button{background:var(--paper);border:1px solid var(--line);width:44px;height:44px;cursor:pointer;color:var(--ink);font-size:20px}.object-thumbs{display:flex;gap:12px;margin-top:16px;overflow:auto;padding:4px}.object-thumbs button{border:2px solid transparent;padding:0;flex-shrink:0;background:#e6e7dc;cursor:pointer}.object-thumbs button[aria-pressed=true]{border-color:var(--ink)}.object-thumbs img{display:block;width:150px;height:100px;object-fit:contain}.object-brief{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.object-brief li{margin-bottom:14px}.construction-scope+.construction-process{margin-top:0}.construction-paths{border-top:1px solid var(--line)}.construction-paths h2{max-width:850px}
@media(max-width:850px){.construction-choices{gap:20px}.construction-choices h3{font-size:25px}.construction-process,.object-brief{grid-template-columns:1fr;gap:30px}.object-main>img{height:55svh}.construction-hero h1{font-size:48px}}
@media(max-width:570px){.construction-choices{grid-template-columns:1fr;gap:35px}.construction-choices h3{font-size:29px}.construction-hero h1{font-size:39px}.object-main>img{height:46svh}.object-intro h1{font-size:38px}.object-thumbs img{width:110px;height:80px}.construction-process strong{font-size:19px}}
.build-request-intro{padding-bottom:25px}.build-request-intro h1{max-width:900px}.build-request-intro .intro{max-width:750px}.build-request-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:65px;padding-top:15px}.build-request-layout fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 10px;margin:0 0 25px;min-width:0}.build-request-layout legend{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;padding:0 15px 0 0;font-weight:650}.build-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.build-fields input,.build-fields select{min-width:0}.build-help{background:#e6e7dc;padding:32px;align-self:start;position:sticky;top:100px;min-width:0}.build-help h2{font-size:36px}.build-help ol{margin:0 0 30px;padding-left:22px}.build-help li{padding:8px 0}.build-help li p{font-size:14px;color:#52634e}.build-help>a{display:block;margin-bottom:8px;overflow-wrap:anywhere}.build-phone{font-size:25px;text-decoration:none}.build-send .button{margin:0 8px 12px 0}.build-send summary{cursor:pointer;margin:18px 0}.build-send textarea{font-size:14px}#build-feedback{font-size:14px}
@media(max-width:850px){.build-request-layout{grid-template-columns:1fr;gap:30px}.build-help{position:static}}
@media(max-width:570px){.build-fields{grid-template-columns:1fr}.build-request-intro h1{font-size:38px}.build-help{padding:24px}.build-send .button{width:100%}.build-help h2{font-size:32px}}
.portfolio-intro{padding-bottom:30px}.portfolio-intro h1{max-width:900px}.portfolio-intro .intro{max-width:740px}.portfolio-work{padding-top:10px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}.portfolio-grid .project-card img{aspect-ratio:3/2}.portfolio-grid .project-card[hidden]{display:none}.portfolio-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.object-main{position:relative}.photo-expand{position:absolute;top:14px;right:14px;background:var(--paper);border:1px solid var(--line);padding:11px 15px;color:var(--ink);cursor:pointer}.photo-load-note{margin:0;padding:0 18px;font-size:13px}.photo-load-note:empty{display:none}.photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:22px;background:#18251f;color:#f4f1e9}.photo-viewer::backdrop{background:#18251f}.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:46px}.viewer-title{font-size:16px}.viewer-top button,.viewer-stage button{background:#f4f1e9;color:#233b30;border:0;padding:12px;cursor:pointer;min-width:44px;min-height:44px}.viewer-stage{display:flex;align-items:center;gap:18px;justify-content:center;height:calc(100% - 100px);min-height:0}.viewer-stage img{display:block;min-width:0;max-width:calc(100% - 125px);width:auto;height:auto;max-height:100%;object-fit:contain;touch-action:pan-y pinch-zoom}.viewer-stage button{font-size:22px;flex-shrink:0}.viewer-stage button[hidden]{display:none}.viewer-count{text-align:center;margin:12px 0;max-width:none}.object-main>img{touch-action:pan-y pinch-zoom}.footer-links{width:100%;display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:18px;border-top:1px solid var(--line)}.footer-links a{text-underline-offset:4px;font-size:13px}
@media(max-width:570px){.portfolio-grid{grid-template-columns:1fr;gap:36px}.portfolio-intro h1{font-size:39px}.photo-viewer{padding:12px}.viewer-stage{gap:6px}.viewer-stage img{max-width:calc(100% - 90px)}.viewer-stage button{padding:8px;min-width:36px}.viewer-title{font-size:13px}.photo-expand{padding:9px 12px;font-size:12px}.footer-links{gap:10px 18px}}
.portfolio-all-link{display:inline-block;margin:0 20px 15px 0;text-underline-offset:5px;font-size:14px}.viewer-stage{position:relative}
@media(min-width:851px) and (max-width:980px){header nav{flex-wrap:wrap}.menu{display:block;margin-left:auto;border:1px solid var(--line);padding:10px;background:transparent;color:var(--ink)}header nav .links{display:none;width:100%;flex-direction:column;align-items:stretch;margin-left:0;padding-top:10px}header nav .links.open{display:flex}header nav .links a{font-size:15px;padding:6px 0}header nav .links .button{padding:12px}}
.company-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e6e7dc}.company-story p:first-child{margin-top:0}.company-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:0}.company-pair a{text-decoration:none}.company-pair img{display:block;width:100%;height:360px;object-fit:contain;background:#e6e7dc}.company-pair span{display:block;padding-top:15px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.contact-intro{padding-bottom:35px}.contact-intro .intro{max-width:700px}.contact-page{padding-top:0;display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.contact-person{padding:35px;background:#e6e7dc;align-self:start;min-width:0}.contact-person h2{font-size:34px}.contact-person h3{font-size:25px;margin-top:35px}.contact-direct{display:block;text-decoration:none;font-size:clamp(23px,2.8vw,34px);margin:12px 0;overflow-wrap:anywhere}.contact-tools{display:flex;gap:20px;flex-wrap:wrap;padding-top:12px;align-items:center}.contact-tools button{color:var(--ink);border:0;background:transparent;padding:8px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.contact-tools a{font-size:14px;text-underline-offset:4px}.contact-paths>a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:25px 0}.contact-paths h3{font-size:27px;line-height:1.2}.contact-paths p{color:#52634e}.company-record{border-top:1px solid var(--line)}.company-record h2{font-size:34px}.company-record dl{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.company-record dt{font-size:13px;color:#52634e}.company-record dd{margin:8px 0;font-size:21px}
@media(max-width:850px){.company-story,.contact-page{grid-template-columns:1fr;gap:30px}.company-pair img{height:280px}.contact-person{padding:28px}}
@media(max-width:570px){.company-pair{grid-template-columns:1fr;gap:28px}.contact-intro h1{font-size:39px}.contact-person h2{font-size:30px}.company-record dl{grid-template-columns:1fr;gap:15px}.contact-direct{font-size:27px}}
.company-home{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.company-home h2{font-size:clamp(32px,3.5vw,48px)}.company-home a{display:inline-block;margin:12px 25px 0 0;font-size:14px;text-underline-offset:5px}.company-home p:first-child{margin-top:0}@media(max-width:850px){.company-home{grid-template-columns:1fr;gap:10px}}
/* Keep the two-part opening message balanced on laptop widths. */
@media(min-width:851px){.hero h1{font-size:clamp(38px,3.8vw,64px);letter-spacing:-1.5px}.hero h1 em{display:block}}
@media(min-width:851px){.hero h1 br{display:none}}
.project-story{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:65px;border-top:1px solid var(--line)}.project-story h2{font-size:clamp(32px,3.5vw,48px);max-width:760px}.project-story p{max-width:720px;line-height:1.8}.project-story .story-lead{font-size:21px;line-height:1.55;color:var(--ink)}.project-story aside{padding:28px;background:#e6e7dc;align-self:start;min-width:0}.project-story aside h3{font-size:24px;margin-top:0}.project-story dl{margin:0}.project-story dl>div{padding:15px 0;border-top:1px solid #c2cbb9}.project-story dt{font-size:12px;color:#52634e}.project-story dd{margin:5px 0 0;font-size:16px}.project-story aside a{display:inline-block;margin-top:20px;font-size:13px;text-underline-offset:5px}@media(max-width:850px){.project-story{grid-template-columns:1fr;gap:25px}.project-story aside{padding:25px}.project-story .story-lead{font-size:20px}}@media(max-width:570px){.project-story h2{font-size:32px}}
.story-teaser{display:inline-block;font-size:13px;margin-top:6px;text-decoration:underline;text-underline-offset:5px}
.frame-figure{background:#e6e7dc;padding:20px}.frame-figure svg{display:block;width:100%;height:auto;max-height:470px}.frame-figure figcaption{font-size:11px;line-height:1.6;margin-top:15px}.frame-intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line)}.frame-intro p:first-child{margin-top:0}.frame-selector{display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.frame-selector fieldset{border:0;margin:25px 0;padding:0}.frame-selector fieldset label{display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line);padding:18px 0;margin:0;cursor:pointer}.frame-selector input[type=checkbox]{width:22px;height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--ink)}.frame-selector strong{font-size:19px;font-weight:650}.frame-selector small{display:block;font-size:14px;color:#52634e;margin-top:4px}.frame-package{background:#e6e7dc;padding:32px;align-self:start}.frame-package h3{margin-top:0}.frame-package dl{margin:0}.frame-package dl>div{border-top:1px solid #c2cbb9;padding:17px 0}.frame-package dt{font-weight:650}.frame-package dd{margin:6px 0 0;font-size:14px;color:#52634e}.frame-scope{max-width:390px}#frame-selection-summary{font-size:14px}#frame-selector-error{font-size:13px}.frame-promo{display:grid;grid-template-columns:1fr 1fr;gap:40px;border:1px solid var(--line);padding:36px;background:#e6e7dc;margin-top:32px}.frame-promo h3{font-size:30px;line-height:1.15;margin-top:5px}.frame-promo p{margin-top:0}.frame-promo a{text-underline-offset:5px;font-size:14px}
@media(max-width:850px){.frame-intro,.frame-selector{grid-template-columns:1fr;gap:25px}.frame-promo{grid-template-columns:1fr;gap:10px;padding:28px}.frame-figure{padding:15px}}
@media(max-width:570px){.frame-package{padding:24px}.frame-selector .button{width:100%}.frame-hero h1{font-size:38px}}
.build-frame-parts[hidden]{display:none}.build-frame-parts label{display:flex;align-items:center;gap:12px;margin:10px 0}.build-frame-parts input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--ink)}.frame-promo-section{padding-top:0!important;padding-bottom:0!important}.frame-promo-section .frame-promo{margin-top:0;margin-bottom:50px}.frame-selector .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.build-detail-fields[hidden]{display:none}.detail-promo-section{padding-top:0!important;padding-bottom:0!important}.detail-promo-section .frame-promo{margin-top:0;margin-bottom:50px}
.partner-scope,.partner-checklist{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line)}.partner-scope{background:#e6e7dc}.partner-scope ul,.partner-checklist ul{list-style:none;padding:0;margin:0}.partner-scope li,.partner-checklist li{padding:17px 0;border-top:1px solid #bcc7b4}.partner-scope li strong{display:block}.partner-scope li span{display:block;font-size:14px;color:#52634e;margin-top:6px}.partner-promo-section{padding-top:0!important;padding-bottom:0!important}.partner-promo-section .frame-promo{margin-top:0;margin-bottom:50px}.build-partner-fields[hidden]{display:none}.partner-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px}.partner-checkboxes label{display:flex;align-items:flex-start;gap:10px}.partner-checkboxes input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink);flex-shrink:0}
@media(max-width:850px){.partner-scope,.partner-checklist{grid-template-columns:1fr;gap:25px}}@media(max-width:570px){.partner-checkboxes{grid-template-columns:1fr}}
.moulder-spec{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;background:#eee7db}.moulder-spec h2{font-size:clamp(30px,3vw,44px)}.moulder-limit{display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid #b8c3b1;padding-left:40px}.moulder-limit>span{font-size:12px}.moulder-limit>strong{font-size:clamp(32px,3.4vw,50px);line-height:1.2;letter-spacing:-.04em}.moulder-limit small{font-size:18px}.moulder-request-note{max-width:900px;border-left:2px solid var(--accent);padding-left:18px;margin-bottom:30px}@media(max-width:850px){.moulder-spec{grid-template-columns:1fr;gap:24px}.moulder-limit{padding:22px 0 0;border-left:0;border-top:1px solid #b8c3b1}}
