:root{--forest:#191918;--deep:#111110;--paper:#f4ecde;--ink:#22211f;--muted:#665b4e;--line:#d4c4ab;--gold:#c9aa7b;--mist:#e9ddc8;--sans:'Arial',Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:calc(16px + 2pt)/1.7 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:1.04}h1{font-size:calc(clamp(3.3rem,6vw,6rem) + 2pt)}h2{font-size:calc(clamp(2.3rem,4vw,4rem) + 2pt)}h3{font-size:calc(1.6rem + 2pt)}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}p{max-width:65ch}p+p{margin-top:1rem}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:calc(12px + 2pt);line-height:1.5;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:22px;color:var(--muted)}.hometown{background:var(--forest);color:#e6d7bd;padding:8px 4%;display:flex;justify-content:space-between;font-size:calc(12px + 2pt);letter-spacing:.05em}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 4%;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:62px;height:62px;background:var(--forest);border-radius:50%;padding:3px}.brand>span{font-size:calc(21px + 2pt);font-weight:800;letter-spacing:-.035em;line-height:1}.brand small{display:block;font-size:calc(10px + 2pt);letter-spacing:.29em;margin-top:7px}.header nav{display:flex;align-items:center;gap:25px;font-size:calc(13px + 2pt);font-weight:600}.header nav a{white-space:nowrap;padding:10px 0}.header nav a[aria-current]{border-bottom:2px solid var(--forest)}.nav-cta{background:var(--forest);color:white;padding:13px 18px!important;border-radius:4px}.nav-cta .line-arrow{margin-left:12px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;min-height:54px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:4px;font-size:calc(14px + 2pt);font-weight:700;line-height:1.4}.button:hover,.nav-cta:hover{background:#39342e}.button.light{background:var(--gold);color:var(--deep);border-color:var(--gold)}.button.outline{background:transparent;color:var(--forest)}.text-link{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:calc(14px + 2pt);font-weight:700}.line-arrow{display:inline-block;position:relative;width:22px;height:10px;flex:0 0 22px;vertical-align:middle;color:currentColor}.line-arrow:before{content:'';position:absolute;left:0;right:1px;top:5px;border-top:1px solid currentColor}.line-arrow:after{content:'';position:absolute;right:1px;top:1px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.skip{position:fixed;left:15px;top:-100px;background:white;padding:10px 20px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #a87e49;outline-offset:5px}.home-hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:660px;background:var(--forest);color:var(--paper);padding:55px 4% 45px;gap:4%;align-items:center}.welcome-copy{padding:0 0 20px;position:relative}.hero-top .eyebrow{color:#ddc9a8;font-size:calc(11px + 2pt);margin-bottom:8px}.hero-top>span{display:inline-block;border:1px solid #8a765d;border-radius:30px;padding:7px 15px;font-size:calc(12px + 2pt);margin-bottom:35px;color:var(--gold)}.hero-content h1{font-size:calc(clamp(3.1rem,5.5vw,5.7rem) + 2pt);line-height:1.02;letter-spacing:-.065em}.hero-content em{color:var(--gold)}.hero-bottom p{font-size:calc(15px + 2pt);color:#e0d0b6;margin:27px 0}.welcome-photo{align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;padding:18px 0}.welcome-photo img{width:100%;height:490px;object-fit:cover;border-radius:100px 5px 5px 5px;object-position:40% center}.welcome-photo figcaption{font-size:calc(10px + 2pt);letter-spacing:.15em;padding-top:18px;color:#d1bfa2}.trust-strip{background:var(--gold)}.trust-strip>.wrap{display:flex;justify-content:space-between;gap:20px}.trust-strip span{padding:18px 0;font-size:calc(12px + 2pt);font-weight:700}.intro{padding-block:85px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro h2{font-size:calc(3.2rem + 2pt)}.intro>div:last-child{padding-top:38px}.intro p{color:var(--muted)}.intro .text-link{margin-top:18px}.craft-index{padding:40px;background:var(--mist);border-radius:8px}.craft-index>div{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.craft-index a{display:grid;grid-template-columns:25px 1fr;align-items:center;font-size:calc(20px + 2pt);font-weight:700;line-height:1.2}.craft-index img{grid-column:1/-1;width:100%;height:130px;object-fit:cover;margin-bottom:18px;border-radius:4px}.craft-index span{font-size:calc(10px + 2pt);color:var(--muted)}.craft-index small{grid-column:2;font-weight:400;font-size:calc(12px + 2pt);margin-top:8px;color:var(--muted)}.selected{padding-block:90px}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.editorial-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:25px}.project-image{overflow:hidden;position:relative;background:var(--mist);border-radius:5px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.025)}.editorial-grid .project-image{height:320px}.editorial-grid .narrow{padding-top:55px}.editorial-grid .lower{padding-top:110px}.project-caption{display:flex;gap:13px;align-items:center;padding-top:18px}.project-caption .eyebrow{font-size:calc(10px + 2pt);margin-bottom:8px}.project-caption h3{font-size:calc(21px + 2pt);line-height:1.14;letter-spacing:-.035em}.project-no{font-size:calc(12px + 2pt);background:var(--mist);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.project-arrow{margin-left:auto}.view-project{position:absolute;bottom:15px;right:15px;padding:7px 12px;background:var(--paper);font-size:calc(12px + 2pt);display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .2s}.project-card a:hover .view-project,.project-card a:focus-visible .view-project{opacity:1}.brand-moment{background:var(--mist);padding-block:70px}.brand-moment>.wrap{display:grid;grid-template-columns:1fr 2fr;gap:20px 50px}.brand-moment p:not(.eyebrow){font-size:calc(clamp(2.8rem,5.2vw,5rem) + 2pt);font-weight:700;line-height:1.05;letter-spacing:-.05em}.brand-moment p br{display:none}.brand-moment p em{color:#8a6e4d}.brand-note{grid-column:2;font-size:calc(14px + 2pt);margin-top:15px}.brand-note a{display:inline-flex;align-items:center;gap:20px;margin-top:15px;border-bottom:1px solid}.closing{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:center;padding-block:65px}.closing .eyebrow{grid-column:1/-1;margin:0}.closing h2{font-size:calc(3.1rem + 2pt)}.closing h2 br{display:none}.closing .button{min-width:190px}footer{background:var(--deep);color:#e5d6bd;padding-block:10px;font-size:calc(14px + 2pt)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-block:45px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #554b40;padding-bottom:30px}.footer-brand img{width:90px;height:90px}.footer-brand p{font-size:calc(clamp(1.7rem,3vw,3rem) + 2pt);font-weight:700;line-height:1.12;letter-spacing:-.04em}.footer-top>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px 25px;max-width:430px}.footer-top h2{font-size:calc(12px + 2pt);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;grid-column:1/-1;color:var(--gold)}.footer-top a{display:block;font-size:calc(14px + 2pt)}.footer-top a:hover{text-decoration:underline}.footer-top>div:last-child a{padding-bottom:5px}.footer-top>div:last-child p{margin-top:12px}.contact-fax{display:block;font-size:calc(12px + 2pt);color:inherit;opacity:.8;margin-top:8px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #554b40;padding-block:20px;font-size:calc(11px + 2pt);color:#c7b598}.cab-cover{display:grid;grid-template-columns:.7fr 1fr;background:var(--forest);color:var(--paper);padding:55px 4%;gap:5%;align-items:center}.cab-heading.wrap,.room-detail.wrap{width:100%;margin:0}.cab-heading h1{font-size:calc(4rem + 2pt)}.cab-heading .eyebrow{color:var(--gold)}.cab-heading>p:last-child{color:#ded0b9;margin-top:30px}.room-detail{display:grid;grid-template-columns:1fr .45fr;gap:15px;align-items:end}.room-detail>.room{grid-column:1/-1;width:100%;height:310px;object-fit:cover;border-radius:5px}.detail-inset{grid-column:2;margin-top:-75px;position:relative;border:7px solid var(--forest)}.detail-inset img{height:140px;width:100%;object-fit:cover}.detail-inset span{display:block;font-size:calc(10px + 2pt);margin-top:10px}.cab-services{padding-block:75px}.cab-services aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:45px}.cab-services aside>.eyebrow{grid-column:1/-1;margin:0}.service-rail{display:flex;flex-wrap:wrap;gap:10px;align-content:center;justify-content:end}.service-rail a{border:1px solid var(--line);padding:8px 13px;border-radius:25px;font-size:calc(12px + 2pt)}.cab-services>div{display:grid;grid-template-columns:1fr 1fr;gap:30px 60px}.cab-services .lead{font-size:calc(24px + 2pt);line-height:1.35;font-weight:700}.cab-services>div>p{margin:0;color:var(--muted)}.service-copy{border-top:1px solid var(--line);padding-top:25px}.service-copy h3{margin-bottom:15px}.service-copy p{color:var(--muted)}.service-copy:last-child{grid-column:1/-1;max-width:650px}.dark-feature{background:var(--mist);padding-block:55px}.dark-feature>.wrap{display:grid;grid-template-columns:.7fr 1fr;gap:25px 6%;align-items:center}.dark-feature .eyebrow{grid-column:1/-1}.dark-feature .project-image{height:330px}.questions{padding-block:65px;display:grid;grid-template-columns:1fr 1.5fr;gap:6%;align-items:start}.questions h2{position:sticky;top:125px}.faqs details{background:var(--mist);border-radius:5px;margin-bottom:12px;padding:20px 24px}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-weight:600;font-size:calc(16px + 2pt);list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:calc(21px + 2pt)}details[open] summary span{transform:rotate(45deg)}details p{padding-top:18px;font-size:calc(15px + 2pt);color:var(--muted)}.object-hero{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:65px}.object-hero>div{order:2}.object-hero figure{order:1}.object-hero figure img{height:480px;width:100%;object-fit:cover;border-radius:5px 80px 5px 5px}.object-hero figcaption{font-size:calc(11px + 2pt);margin-top:15px;color:var(--muted)}.object-hero p:not(.eyebrow){color:var(--muted);margin-top:30px}.wood-chapters{display:grid;grid-template-columns:1fr 1fr;gap:30px}.wood-chapter{display:grid;grid-template-columns:35px 1fr;gap:20px;border:1px solid var(--line);padding:25px;border-radius:8px}.wood-chapter img{grid-column:1/-1;grid-row:1;height:220px;width:100%;object-fit:cover;border-radius:4px}.wood-chapter:first-child{grid-column:1/-1;grid-template-columns:35px 1fr 1.1fr;align-items:center;background:var(--forest);color:white}.wood-chapter:first-child img{grid-column:3;grid-row:1;height:320px}.wood-chapter h2{font-size:calc(2rem + 2pt);margin-bottom:20px}.wood-chapter p{font-size:calc(15px + 2pt)}.wood-chapter .text-link{margin-top:20px}.chapter-number{font-size:calc(12px + 2pt);border-top:2px solid var(--gold);padding-top:10px}.showcase-intro{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:60px}.showcase-intro h1{font-size:calc(6rem + 2pt)}.showcase-intro h1 br{display:none}.showcase-intro>div:last-child{max-width:380px}.large-index{display:block;font-size:calc(13px + 2pt);letter-spacing:.1em;margin-bottom:20px}.showcase-intro p:not(.eyebrow){color:var(--muted)}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--mist);padding:18px;border-radius:8px;margin-bottom:35px}.filters .eyebrow{margin:0 auto 0 0;font-size:calc(10px + 2pt)}.filters button{background:transparent;border:0;border-radius:25px;padding:8px 14px;font-size:calc(13px + 2pt);color:var(--ink)}.filters button[aria-pressed=true]{background:var(--forest);color:white}.project-wall{display:grid;gap:35px}.project-wall .project-card>a{display:grid;grid-template-columns:1.6fr 1fr;align-items:stretch}.project-wall .project-image{height:390px;border-radius:7px 0 0 7px}.project-wall .project-caption{background:var(--mist);padding:35px;display:flex;flex-direction:column;align-items:start;justify-content:center;border-radius:0 7px 7px 0}.project-wall .project-caption h3{font-size:calc(2.6rem + 2pt)}.project-wall .project-no{background:var(--forest);color:white;margin-bottom:30px}.project-wall .project-arrow{margin:20px 0 0}.project-wall .project-card:nth-child(even) .project-image{order:2;border-radius:0 7px 7px 0}.project-wall .project-card:nth-child(even) .project-caption{order:1;border-radius:7px 0 0 7px}.project-wall .project-card:nth-child(even)>a{grid-template-columns:1fr 1.6fr}.project-card[hidden]{display:none!important}.portfolio-note{font-size:calc(12px + 2pt);color:var(--muted);margin-top:30px}.case-title{padding-block:55px 35px}.case-title h1{max-width:1000px;font-size:calc(4.5rem + 2pt)}.case-hero{position:relative;padding-inline:4%}.case-hero>img{width:100%;height:490px;object-fit:cover;border-radius:8px}.back-link{position:absolute;left:6%;bottom:25px;background:var(--paper);padding:10px 18px;border-radius:3px;font-size:calc(13px + 2pt)}.case-story{padding-block:55px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.case-story h2{font-size:calc(2.4rem + 2pt);line-height:1.15}.case-story>div:last-child>p{color:var(--muted)}dl{display:grid;grid-template-columns:110px 1fr;gap:15px;background:var(--mist);padding:25px;border-radius:5px;font-size:calc(14px + 2pt);margin:25px 0}dt{font-weight:700}dd{margin:0}.small-note{font-size:calc(13px + 2pt);color:var(--muted)}.case-gallery{display:flex;gap:25px}.zoom-image{flex:1;min-width:0;border:0;padding:0;position:relative;background:var(--mist);border-radius:5px;overflow:hidden}.zoom-image img{width:100%;max-height:650px;object-fit:contain}.zoom-image>span{position:absolute;bottom:15px;right:15px;background:var(--paper);padding:8px 14px;font-size:calc(12px + 2pt)}.next-project{border-block:1px solid var(--line);padding-block:30px;margin-top:55px}.next-project a{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:calc(2rem + 2pt);font-weight:700;line-height:1.1;letter-spacing:-.04em}.family-cover{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white}.about-hero.wrap{width:100%;padding:55px 8%}.about-hero .eyebrow{color:var(--gold)}.about-hero h1{font-size:calc(3.3rem + 2pt)}.about-hero h1 em{color:var(--gold)}.about-bottom{margin-top:35px}.about-number{display:block;font-size:calc(65px + 2pt);font-weight:700;line-height:1}.about-number small{display:block;font-size:calc(10px + 2pt);letter-spacing:.12em;margin:12px 0 25px}.about-bottom>p{font-size:calc(15px + 2pt);color:#d9c8ad}.about-panorama img{height:100%;width:100%;object-fit:cover}.about-story{padding-block:70px;display:grid;grid-template-columns:.8fr 1fr;gap:10%}.about-story p{color:var(--muted)}.about-story .text-link{margin-top:20px}.process-heading{padding-block:60px;text-align:center}.process-heading h1 br{display:none}.process-heading p{margin-inline:auto}.process-heading p:not(.eyebrow){margin-top:25px;color:var(--muted)}.measured-path{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding-bottom:60px}.measured-path article{background:var(--mist);padding:25px;border-radius:6px;border-top:5px solid var(--forest)}.step-number{font-size:calc(55px + 2pt);line-height:1;font-weight:700;display:block;color:#a48a68;margin-bottom:35px}.measured-path .eyebrow{font-size:calc(10px + 2pt);min-height:30px}.measured-path h2{font-size:calc(1.8rem + 2pt);margin-bottom:20px}.measured-path p:not(.eyebrow){font-size:calc(15px + 2pt);color:var(--muted)}.prep{background:var(--forest);color:white;padding:40px;border-radius:8px}.prep .eyebrow{color:var(--gold)}.prep h2{font-size:calc(2.6rem + 2pt)}.prep ul{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;margin-block:30px;padding-left:20px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5%;padding-block:60px;align-items:start}.contact-intro{background:var(--forest);color:white;padding:35px;border-radius:6px;position:sticky;top:115px}.contact-intro h1{font-size:calc(3rem + 2pt)}.contact-intro .eyebrow{color:var(--gold)}.contact-intro>p{margin-top:25px;font-size:calc(15px + 2pt)}.contact-details{margin-top:40px;border-top:1px solid #82715d;padding-top:25px}.contact-details h2{font-size:calc(1.5rem + 2pt);margin-bottom:15px}.contact-details a{display:block;font-size:calc(14px + 2pt);overflow-wrap:anywhere;margin-bottom:8px}.contact-details p{margin-top:15px;font-size:calc(14px + 2pt)}.contact-details .small-note{color:#d9c8ae;font-size:calc(13px + 2pt)}.brief-frame{padding:10px 0}.brief-frame h2{font-size:calc(2.8rem + 2pt);margin-bottom:20px}.brief-frame>p:not(.eyebrow){font-size:calc(15px + 2pt);color:var(--muted);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:calc(13px + 2pt);font-weight:600;margin-bottom:20px}form label small{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;background:var(--mist);border:1px solid #bfae94;border-radius:4px;padding:12px;margin-top:8px;min-height:48px;font-size:calc(16px + 2pt);color:var(--ink)}textarea{resize:vertical}.photo-note{display:flex;gap:15px;background:var(--mist);padding:20px;border-radius:5px;margin-bottom:20px;font-size:calc(14px + 2pt)}.photo-note>span{font-size:calc(24px + 2pt)}.photo-note p{font-size:calc(13px + 2pt);color:var(--muted);margin-top:8px}form .button{width:100%;margin-top:22px}form .small-note a{text-decoration:underline}#form-status{font-size:calc(14px + 2pt);margin-top:15px}[hidden]{display:none!important}.legal{max-width:900px;padding-block:60px}.legal h1{font-size:calc(3.8rem + 2pt);margin-bottom:30px}.legal h2{font-size:calc(1.8rem + 2pt);margin:35px 0 20px}.legal a{text-decoration:underline}.not-found{padding-block:80px}.not-found p{margin-block:25px}.not-found .button{margin:10px 10px 10px 0}dialog{padding:55px 20px 20px;background:var(--deep);color:white;border:0;border-radius:5px;max-width:94vw;max-height:95svh;width:max-content}dialog::backdrop{background:#12100eea}dialog img{max-height:75svh;width:auto;object-fit:contain;margin:auto}dialog p{font-size:calc(14px + 2pt);margin-top:15px}.close-lightbox{position:absolute;right:15px;top:10px;color:white;background:none;border:1px solid #b4a085;padding:5px 12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.header nav{gap:15px;font-size:calc(12px + 2pt)}.brand>span{font-size:calc(18px + 2pt)}.wrap{width:calc(100% - 60px)}.hero-content h1{font-size:calc(4rem + 2pt)}.welcome-photo img{height:450px}.home-hero{min-height:610px}.cab-heading h1{font-size:calc(3.2rem + 2pt)}.measured-path{grid-template-columns:1fr 1fr}.contact-intro{padding:25px}.contact-intro h1{font-size:calc(2.7rem + 2pt)}.project-wall .project-caption h3{font-size:calc(2.2rem + 2pt)}.about-hero h1{font-size:calc(2.8rem + 2pt)}}
@media(max-width:950px){.menu-toggle{display:flex;gap:15px;background:var(--forest);color:white;border:0;padding:10px 15px;border-radius:4px;font-size:calc(14px + 2pt)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 25px 30px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 95px);overflow:auto;gap:0;font-size:calc(16px + 2pt);border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav>a{padding:13px 0;border-bottom:1px solid var(--line)}.header nav .nav-cta{margin-top:15px;text-align:center}.welcome-photo img{height:430px}.hero-content h1{font-size:calc(3.3rem + 2pt)}.intro h2{font-size:calc(2.6rem + 2pt)}.craft-index{padding:30px}.craft-index>div{gap:20px}.craft-index a{font-size:calc(17px + 2pt)}.editorial-grid{grid-template-columns:1fr 1fr}.editorial-grid .lower{grid-column:1/-1;padding:0}.editorial-grid .lower .project-image{height:340px}.closing h2{font-size:calc(2.5rem + 2pt)}.cab-cover{grid-template-columns:1fr 1fr}.room-detail>.room{height:380px}.room-detail{display:block}.detail-inset{width:50%;margin-left:auto}.contact-layout{grid-template-columns:1fr 1.3fr;gap:30px}.form-row{grid-template-columns:1fr;gap:0}.contact-details a{font-size:calc(12px + 2pt)}.object-hero figure img{height:400px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.hometown{font-size:calc(10px + 2pt);padding:8px 18px;gap:15px}.header{padding:11px 18px;gap:15px}.brand img{width:48px;height:48px}.brand>span{font-size:calc(17px + 2pt)}.brand small{font-size:calc(8px + 2pt)}.home-hero{grid-template-columns:1fr;gap:25px;padding:35px 22px 25px;min-height:0}.hero-top .eyebrow{font-size:calc(10px + 2pt)}.hero-top>span{margin-bottom:25px;font-size:calc(11px + 2pt)}.hero-content h1{font-size:calc(clamp(2.9rem,11vw,4.5rem) + 2pt)}.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:23px}.hero-bottom p{font-size:calc(13px + 2pt);margin:0}.hero-bottom .button{padding:13px 18px;min-height:46px;font-size:calc(13px + 2pt)}.welcome-copy{padding:0}.welcome-photo{padding:0}.welcome-photo img{height:260px;border-top-left-radius:55px;object-position:center}.welcome-photo figcaption{font-size:calc(9px + 2pt);padding-top:12px}.trust-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.trust-strip span{font-size:calc(10px + 2pt);padding:12px 0}.intro{grid-template-columns:1fr;gap:25px;padding-block:50px}.intro h2{font-size:calc(2.6rem + 2pt)}.intro>div:last-child{padding:0}.eyebrow{font-size:calc(10px + 2pt);margin-bottom:18px}.craft-index{padding:23px}.craft-index>div{grid-template-columns:1fr 1fr;gap:25px 20px}.craft-index img{height:95px;margin-bottom:12px}.craft-index a{font-size:calc(16px + 2pt);grid-template-columns:20px 1fr}.craft-index small{font-size:calc(10px + 2pt)}.selected{padding-block:55px}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:calc(2.7rem + 2pt)}.section-head .text-link{margin-top:20px}.editorial-grid{gap:30px;grid-template-columns:1fr}.editorial-grid .narrow,.editorial-grid .lower{padding:0;grid-column:auto}.editorial-grid .project-image,.editorial-grid .lower .project-image{height:270px}.editorial-grid .narrow .project-image{height:330px}.project-caption h3{font-size:calc(22px + 2pt)}.brand-moment{padding-block:45px}.brand-moment>.wrap{display:block}.brand-moment p:not(.eyebrow){font-size:calc(2.8rem + 2pt)}.brand-note{margin-top:25px}.closing{display:block;padding-block:45px}.closing h2{font-size:calc(2.5rem + 2pt);margin:20px 0 25px}.closing .button{width:100%}.footer-top{grid-template-columns:1fr;gap:30px;padding-block:30px}.footer-brand{gap:20px;padding-bottom:25px}.footer-brand img{width:70px;height:70px}.footer-brand p{font-size:calc(1.5rem + 2pt)}.footer-top>div:nth-child(2){max-width:none;gap:9px 25px}.footer-top>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px;border-top:1px solid #554b40;padding-top:25px}.footer-top h2{font-size:calc(11px + 2pt);margin-bottom:12px}.footer-top>div:last-child a{font-size:calc(12px + 2pt)}.footer-top>div:last-child a:nth-of-type(3){grid-column:1/-1;white-space:nowrap;font-size:calc(14px + 2pt);width:max-content}.footer-top>div:last-child p,.footer-top .contact-fax{grid-column:1/-1}.footer-top>div:last-child p{font-size:calc(13px + 2pt)}.footer-bottom{font-size:calc(10px + 2pt)}.footer-bottom>span:nth-child(2){display:none}.cab-cover{display:block;padding:35px 22px}.cab-heading h1{font-size:calc(3.2rem + 2pt)}.cab-heading>p:last-child{font-size:calc(15px + 2pt);margin-top:20px}.room-detail{margin-top:30px!important}.room-detail>.room{height:270px}.detail-inset{margin-top:-60px;width:43%}.detail-inset img{height:100px}.cab-services{padding-block:45px}.cab-services aside{display:block}.cab-services aside h2{font-size:calc(2.6rem + 2pt);margin-top:20px}.service-rail{justify-content:start;margin-top:25px;gap:8px}.service-rail a{font-size:calc(11px + 2pt)}.cab-services>div{grid-template-columns:1fr;gap:25px}.cab-services .lead{font-size:calc(22px + 2pt)}.service-copy h3{font-size:calc(1.7rem + 2pt)}.dark-feature{padding-block:40px}.dark-feature>.wrap{grid-template-columns:1fr;gap:20px}.dark-feature .eyebrow{margin:0}.dark-feature h2{font-size:calc(2.6rem + 2pt)}.dark-feature .project-image{height:290px}.questions{grid-template-columns:1fr;gap:25px;padding-block:45px}.questions h2{position:static;font-size:calc(2.7rem + 2pt)}.faqs details{padding:18px}.faqs summary{font-size:calc(15px + 2pt)}.object-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-block:40px}.object-hero>div{order:1}.object-hero figure{order:2}.object-hero h1{font-size:calc(3.6rem + 2pt)}.object-hero h1 br{display:none}.object-hero figure img{height:350px;border-radius:5px 60px 5px 5px}.object-hero p:not(.eyebrow){margin-top:20px}.wood-chapters{grid-template-columns:1fr;gap:20px}.wood-chapter,.wood-chapter:first-child{grid-template-columns:25px 1fr;padding:20px;gap:15px}.wood-chapter:first-child img{grid-row:1;grid-column:1/-1;height:230px}.wood-chapter h2{font-size:calc(1.9rem + 2pt)}.wood-chapter img{height:230px}.showcase-intro{display:block;padding-block:40px}.showcase-intro h1{font-size:calc(3.8rem + 2pt)}.showcase-intro>div:last-child{margin-top:25px}.large-index{margin-bottom:12px;font-size:calc(11px + 2pt)}.showcase-intro p:not(.eyebrow){font-size:calc(15px + 2pt)}.filters{gap:8px;padding:15px}.filters .eyebrow{width:100%;margin-bottom:8px}.filters button{padding:7px 10px;font-size:calc(12px + 2pt)}.project-wall{gap:25px}.project-wall .project-card>a,.project-wall .project-card:nth-child(even)>a{display:flex;flex-direction:column}.project-wall .project-image,.project-wall .project-card:nth-child(even) .project-image{order:1;height:280px;border-radius:6px 6px 0 0}.project-wall .project-caption,.project-wall .project-card:nth-child(even) .project-caption{order:2;padding:22px;display:grid;grid-template-columns:32px 1fr 22px;gap:15px;align-items:center;border-radius:0 0 6px 6px}.project-wall .project-no{margin:0}.project-wall .project-caption h3{font-size:calc(1.55rem + 2pt)}.project-wall .project-arrow{margin:0}.case-title{padding-block:40px 25px}.case-title h1{font-size:calc(3rem + 2pt)}.case-hero{padding-inline:18px}.case-hero>img{height:300px}.back-link{left:30px;bottom:15px;font-size:calc(12px + 2pt)}.case-story{display:block;padding-block:40px}.case-story h2{font-size:calc(2rem + 2pt);margin-bottom:25px}.case-gallery{flex-direction:column}.next-project{margin-top:40px}.next-project a{font-size:calc(1.7rem + 2pt)}.family-cover{display:block}.about-hero.wrap{padding:40px 22px}.about-hero h1{font-size:calc(3rem + 2pt)}.about-bottom{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center}.about-number{font-size:calc(45px + 2pt)}.about-number small{font-size:calc(8px + 2pt);line-height:1.5}.about-bottom>p{font-size:calc(13px + 2pt)}.about-panorama img{height:300px}.about-story{display:block;padding-block:45px}.about-story h2{font-size:calc(2.6rem + 2pt);margin-bottom:30px}.process-heading{padding-block:40px;text-align:left}.process-heading h1{font-size:calc(3.1rem + 2pt)}.process-heading p:not(.eyebrow){font-size:calc(15px + 2pt)}.measured-path{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.measured-path article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:22px}.step-number{font-size:calc(40px + 2pt);margin:0}.measured-path .eyebrow{min-height:0}.measured-path h2{font-size:calc(1.7rem + 2pt)}.prep{padding:25px}.prep h2{font-size:calc(2.3rem + 2pt)}.prep ul{grid-template-columns:1fr;gap:12px;font-size:calc(15px + 2pt)}.contact-layout{grid-template-columns:1fr;gap:35px;padding-block:35px}.contact-intro{position:static;padding:25px}.contact-intro h1{font-size:calc(3rem + 2pt)}.contact-details{margin-top:25px}.contact-details a{font-size:calc(14px + 2pt)}.brief-frame h2{font-size:calc(2.5rem + 2pt)}.legal{padding-block:40px}.legal h1{font-size:calc(3rem + 2pt)}.legal h2{font-size:calc(1.7rem + 2pt)}.not-found{padding-block:50px}.not-found h1{font-size:calc(3rem + 2pt)}}
@media(max-width:360px){.hometown>a{font-size:calc(9px + 2pt)}.footer-top>div:last-child{grid-template-columns:1fr}.footer-top>div:last-child a{grid-column:1}.footer-top>div:last-child a:nth-of-type(3){font-size:calc(12px + 2pt)}.hero-content h1{font-size:calc(2.9rem + 2pt)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Official Black Oak identity: white seal on a solid black navigation strip. */
.header{background:#0b0b0a;color:#fff;border-bottom-color:#2d2923;padding-top:10px;padding-bottom:10px}
.brand{min-width:112px}
.brand img{width:82px;height:82px;background:transparent;border-radius:0;padding:0;object-fit:contain}
.header nav a[aria-current]{border-bottom-color:var(--gold)}
.nav-cta{background:var(--gold);border-color:var(--gold);color:#111110}
.nav-cta:hover{background:#dec39a}
@media(max-width:950px){
  .menu-toggle{background:var(--gold);color:#111110}
  .header nav{background:#0b0b0a;color:#fff;border-bottom-color:#2d2923}
  .header nav>a{border-bottom-color:#3e382f}
}
@media(max-width:700px){
  .header{padding-top:8px;padding-bottom:8px}
  .brand{min-width:74px}
  .brand img{width:64px;height:64px}
}

/* Responsive usability and accessibility audit — September 2026. */
html{font-size:calc(100% + 2pt);text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:320px;overflow-x:clip}
main,header,footer,section,article,figure,form,.wrap,.header nav>*{min-width:0}
p,h1,h2,h3,a,button,dd,dt,label,summary{overflow-wrap:anywhere}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:rgba(196,164,122,.28)}
button,input,select,textarea{max-width:100%}
textarea{min-height:140px}
:focus-visible{outline:3px solid #9b6a2f;outline-offset:4px}
.header :focus-visible,footer :focus-visible,.contact-intro :focus-visible,.workshop-hero :focus-visible,.brand-moment :focus-visible,.prep :focus-visible,dialog :focus-visible{outline-color:#f2c98e}
.skip{font-size:calc(16px + 2pt);font-weight:700;min-height:44px;display:flex;align-items:center}
.brand,.menu-toggle,.header nav a,.button,.text-link,.filters button,.service-rail a,.footer-top a,.footer-bottom a,.back-link,.next-project a,.zoom-image,.close-lightbox,summary{min-height:44px}
.brand{min-width:82px}
.menu-toggle{align-items:center;justify-content:center;min-width:92px}
.header nav a,.footer-top a,.footer-bottom a{display:flex;align-items:center}
.filters button,.service-rail a{display:inline-flex;align-items:center;justify-content:center;font-size:calc(14px + 2pt)}
.project-card>a,.zoom-image{display:block}
.zoom-image>span{font-size:calc(14px + 2pt);min-height:44px;display:flex;align-items:center}
.close-lightbox{font-size:calc(16px + 2pt);padding:8px 14px}
form,.brief-frame,.contact-layout>*{min-width:0}
input,select,textarea{line-height:1.5}
select{padding-right:42px}
.contact-details a,.footer-top>div:last-child a{word-break:normal;overflow-wrap:anywhere;white-space:normal}

@media(max-width:1100px){
  .header{gap:20px}
  .header nav{gap:11px;font-size:calc(13px + 2pt)}
  .header nav a{padding-inline:3px}
  .nav-cta{padding-inline:14px!important}
}

@media(max-width:950px){
  body.menu-open{overflow:hidden}
  .header{position:sticky}
  .header nav{top:100%;max-height:calc(100dvh - 80px);overscroll-behavior:contain;padding:8px 24px max(24px,env(safe-area-inset-bottom))}
  .header nav>a{min-height:50px;padding:12px 4px}
  .header nav .nav-cta{min-height:50px;justify-content:center;padding-inline:18px!important}
}

@media(max-width:900px){
  .local-story{grid-template-columns:1fr}
  .local-photo img{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
  .cab-cover{grid-template-columns:1fr}
  .room-detail{margin-top:34px!important}
  .contact-layout{grid-template-columns:1fr;gap:48px}
  .contact-intro{position:static}
  .object-hero{gap:5%}
  .showcase-intro h1{font-size:calc(clamp(3.5rem,10vw,5.5rem) + 2pt)}
  .project-wall .project-caption h3{font-size:calc(clamp(1.8rem,4vw,2.2rem) + 2pt)}
}

@media(max-width:700px){
  .wrap,.local-story{width:calc(100% - 36px)}
  .hometown{align-items:center;line-height:1.45;letter-spacing:.02em}
  .hometown span,.hometown a{font-size:calc(12px + 2pt)}
  .hometown a{min-height:44px;display:flex;align-items:center;text-align:right}
  .header{padding-inline:18px}
  .header nav{padding-inline:18px}
  .brand{min-width:64px}
  .menu-toggle{font-size:calc(15px + 2pt);padding:10px 14px}
  h1{font-size:calc(clamp(2.5rem,12vw,3.25rem) + 2pt)}
  h2{font-size:calc(clamp(2rem,9vw,2.7rem) + 2pt)}
  .workshop-panel h1,.cab-heading h1,.object-hero h1,.showcase-intro h1,.case-title h1,.about-hero h1,.process-heading h1,.contact-intro h1,.legal h1,.not-found h1{font-size:calc(clamp(2.35rem,11vw,3rem) + 2pt)}
  .workshop-panel{margin-right:0}
  .trust-strip>.wrap{grid-template-columns:1fr}
  .trust-strip span{font-size:calc(14px + 2pt);min-height:44px;display:flex;align-items:center;padding-block:10px}
  .craft-index>div{grid-template-columns:1fr}
  .craft-index a{min-height:64px}
  .project-caption{align-items:flex-start}
  .project-caption h3{font-size:calc(1.45rem + 2pt)}
  .project-arrow{padding-top:7px}
  .service-rail a{font-size:calc(14px + 2pt);padding:10px 14px}
  .filters{gap:10px}
  .filters button{padding:10px 14px}
  .project-wall .project-caption,.project-wall .project-card:nth-child(even) .project-caption{grid-template-columns:32px minmax(0,1fr) 22px}
  .project-wall .project-caption h3{font-size:calc(1.45rem + 2pt)}
  .case-hero{padding-inline:18px}
  .back-link{position:static;display:inline-flex;margin-top:12px}
  dl{grid-template-columns:minmax(82px,auto) minmax(0,1fr);padding:20px;gap:12px}
  .next-project a{font-size:calc(clamp(1.35rem,6vw,1.7rem) + 2pt)}
  .about-bottom{grid-template-columns:minmax(76px,90px) minmax(0,1fr)}
  .about-bottom>p{font-size:calc(15px + 2pt)}
  .measured-path article{grid-template-columns:48px minmax(0,1fr)}
  .form-row{grid-template-columns:1fr}
  form label{font-size:calc(15px + 2pt)}
  input,select,textarea{font-size:calc(16px + 2pt);min-height:50px;padding:13px}
  .photo-note{align-items:flex-start}
  .footer-top>div:nth-child(2){gap-inline:18px}
  .footer-top>div:nth-child(2) a,.footer-top>div:last-child a,.footer-top>div:last-child a:nth-of-type(3){min-height:44px;font-size:calc(14px + 2pt)}
  .footer-bottom{font-size:calc(12px + 2pt)}
  dialog{width:calc(100% - 24px);max-width:none;padding:58px 12px 18px}
  dialog img{max-width:100%;max-height:70svh}
}

@media(max-width:380px){
  .hometown span{display:none}
  .hometown{justify-content:flex-end}
  .footer-brand{align-items:flex-start}
  .footer-top>div:nth-child(2){grid-template-columns:1fr}
  .footer-top>div:last-child a,.footer-top>div:last-child a:nth-of-type(3){font-size:calc(13px + 2pt)}
  dl{grid-template-columns:1fr}
}

@media(min-resolution:2dppx){
  img{image-rendering:auto}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .project-card:hover img{transform:none}
}

@media(forced-colors:active){
  :focus-visible{outline:3px solid Highlight}
  .filters button[aria-pressed=true]{border:2px solid ButtonText}
}

.project-caption h2{font-size:calc(1.65rem + 2pt);line-height:1.14;letter-spacing:-.035em}
.project-wall .project-caption h2{font-size:calc(2.6rem + 2pt)}
@media(max-width:1100px){.project-wall .project-caption h2{font-size:calc(2.2rem + 2pt)}}
@media(max-width:900px){.project-wall .project-caption h2{font-size:calc(clamp(1.8rem,4vw,2.2rem) + 2pt)}}
@media(max-width:700px){.project-caption h2,.project-wall .project-caption h2{font-size:calc(1.45rem + 2pt)}}

/* Showcase project titles use semantic h2 headings. */
.project-caption h2{font-size:calc(1.65rem + 2pt);line-height:1.14;letter-spacing:-.035em}
.project-wall .project-caption h2{font-size:calc(2.6rem + 2pt)}
@media(max-width:1100px){.project-wall .project-caption h2{font-size:calc(2.2rem + 2pt)}}
@media(max-width:900px){.project-wall .project-caption h2{font-size:calc(clamp(1.8rem,4vw,2.2rem) + 2pt)}}
@media(max-width:700px){.project-caption h2,.project-wall .project-caption h2{font-size:calc(1.45rem + 2pt)}}

/* East Tennessee story: simple maker details and honest project photography. */
.local-story{width:min(1320px,calc(100% - 96px));margin:85px auto;display:grid;grid-template-columns:1.05fr .95fr;background:#111110;color:#f4ecde;border-radius:6px;overflow:hidden}
.local-photo img{width:100%;height:100%;min-height:540px;object-fit:cover}
.local-copy{padding:clamp(40px,6vw,85px);align-self:center;position:relative}
.local-copy .eyebrow{color:#c9aa7b;margin-top:48px}
.local-copy h2{font-size:calc(clamp(2.7rem,4.2vw,4.4rem) + 2pt)}
.local-copy h2 em{color:#c9aa7b}
.local-copy>p:not(.eyebrow){color:#ded0b9;margin-top:24px}
.local-copy .text-link{margin-top:26px;color:#f4ecde}
.maker-stamp{position:absolute;top:0;left:0;border:1px solid #8a765d;padding:10px 14px;font-size:calc(10px + 2pt);line-height:1.3;letter-spacing:.14em;color:#c9aa7b}
.local-story:before{content:'35.36° N / 84.29° W';position:absolute;display:none}
.hometown span:before{content:'TELLICO PLAINS · ';color:#c9aa7b;font-weight:700}
@media(max-width:900px){.local-story{grid-template-columns:1fr}.local-photo img{min-height:0;height:390px}.local-copy{padding:50px}.local-copy .eyebrow{margin-top:40px}}
@media(max-width:700px){.local-story{width:calc(100% - 36px);margin:55px auto}.local-photo img{height:280px}.local-copy{padding:34px 24px}.local-copy .eyebrow{margin-top:50px}.local-copy h2{font-size:calc(2.7rem + 2pt)}.maker-stamp{font-size:calc(9px + 2pt)}.hometown span:before{content:''}}

/* Let the navigation and home hero read as one continuous opening surface. */
.hometown,.header{background:var(--forest)}
.header{border-bottom-color:transparent}
@media(max-width:950px){.header nav{background:var(--forest)}}


/* Modern Appalachian Workshop */
:root{--forest:#171715;--deep:#171715;--paper:#f3eee5;--gold:#c4a47a}
h1,h2,h3{letter-spacing:-.035em}
em{font-style:normal}
.button,.nav-cta{border-radius:0}
.workshop-hero{position:relative;background:var(--forest);color:var(--paper);padding:0 4% 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
.workshop-hero>figure{grid-column:1/-1;grid-row:1;min-width:0}
.workshop-hero>figure img{width:100%;height:clamp(500px,69vh,800px);object-fit:cover;object-position:center;border-radius:0}
.workshop-panel{grid-column:1/8;grid-row:1;align-self:end;position:relative;background:var(--forest);padding:38px 42px 0 0;margin-bottom:-1px;max-width:710px}
.workshop-panel .eyebrow{font-size:calc(13px + 2pt);color:var(--gold);margin-bottom:18px}
.workshop-panel h1{font-size:calc(clamp(2.5rem,3.8vw,4rem) + 2pt);line-height:1.1;font-weight:600}
.workshop-panel h1 em{color:var(--gold)}
.workshop-panel>p:not(.eyebrow){font-size:calc(16px + 2pt);color:#dfd3c2;margin-top:22px;max-width:46ch}
.workshop-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:28px}
.workshop-actions .text-link{font-size:calc(14px + 2pt)}
.trust-strip{background:var(--forest);color:#e3d6c4;border-top:1px solid #4c4438}
.trust-strip span{font-weight:400;font-size:calc(13px + 2pt);padding:20px 0}
.selected{padding-block:85px 55px}
.selected .section-head h2{font-size:calc(clamp(2.4rem,4vw,3.5rem) + 2pt)}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.editorial-grid .wide{grid-column:1/-1}
.editorial-grid .narrow,.editorial-grid .lower{grid-column:auto;padding:0}
.editorial-grid .project-image{height:360px;border-radius:0}
.editorial-grid .wide .project-image{height:auto;aspect-ratio:2.2}
.editorial-grid .lower .project-image,.editorial-grid .narrow .project-image{height:360px}
.project-caption h3{font-size:calc(1.65rem + 2pt)}
.craft-index{padding:32px 0 50px;border-radius:0;background:none;border-bottom:1px solid var(--line)}
.craft-index img{display:none}
.craft-index>div{gap:24px}
.craft-index a{font-size:calc(22px + 2pt);border-top:2px solid var(--gold);padding-top:20px}
.craft-index small{font-size:calc(14px + 2pt)}
.intro{padding-block:75px 40px;gap:7%;grid-template-columns:1fr 1fr}
.intro h2{font-size:calc(clamp(2.4rem,3.6vw,3.5rem) + 2pt)}
.intro>div:last-child{padding-top:0}
.local-story{margin:25px auto 85px;grid-template-columns:.8fr 1.2fr;border-radius:0;background:#e4d5bd;color:var(--ink)}
.local-photo img{min-height:470px;max-height:620px;object-fit:cover}
.local-copy{padding:48px 60px}
.local-copy h2{font-size:calc(clamp(2.2rem,3.2vw,3.3rem) + 2pt)}
.local-copy .eyebrow,.local-copy h2 em{color:#665139}
.local-copy>p:not(.eyebrow){color:#4f463a;font-size:calc(16px + 2pt)}
.local-copy .text-link{color:var(--ink)}
.maker-stamp{position:static;display:inline-block;color:#665139;font-size:calc(12px + 2pt);letter-spacing:.08em;padding:10px 0;border-width:0 0 1px}
.local-copy .eyebrow{margin-top:28px}
.brand-moment{padding-block:65px}
.brand-moment p:not(.eyebrow){font-size:calc(clamp(2.3rem,4vw,3.8rem) + 2pt)}
.brand-note{font-size:calc(16px + 2pt)}
.project-image,.project-wall .project-image,.project-wall .project-caption,.case-hero>img,.object-hero figure img,.room-detail>.room,.faqs details,.prep,.wood-chapter,.contact-intro{border-radius:0!important}
@media(max-width:900px){
.workshop-panel{grid-column:1/11;padding:28px 28px 0 0}
.workshop-hero>figure img{height:580px}
.local-story{grid-template-columns:1fr 1fr}
.local-copy{padding:35px}
.trust-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
}
@media(max-width:700px){
.workshop-hero{display:block;padding:0 18px 30px}
.workshop-hero>figure img{height:340px;object-position:53% center}
.workshop-panel{margin:-45px 16px 0 0;padding:25px 18px 0 0;max-width:none}
.workshop-panel h1{font-size:calc(clamp(2rem,8.2vw,3rem) + 2pt);line-height:1.14}
.workshop-panel .eyebrow{font-size:calc(12px + 2pt)}
.workshop-panel>p:not(.eyebrow){font-size:calc(16px + 2pt)}
.workshop-actions{gap:14px;margin-top:23px;align-items:flex-start;flex-direction:column}
.workshop-actions .button{min-height:48px}
.trust-strip span{font-size:calc(12px + 2pt);padding:13px 0}
.selected{padding-block:50px 35px}
.editorial-grid{grid-template-columns:1fr;gap:28px}
.editorial-grid .wide{grid-column:auto}
.editorial-grid .wide .project-image{aspect-ratio:1.35}
.editorial-grid .narrow .project-image,.editorial-grid .lower .project-image{height:280px}
.craft-index{padding:20px 0 35px}
.craft-index a{font-size:calc(18px + 2pt)}
.craft-index small{font-size:calc(13px + 2pt)}
.intro{display:block;padding-block:45px 20px}
.intro>div:last-child{margin-top:25px}
.local-story{display:block;margin:20px auto 45px}
.local-photo img{height:320px;min-height:0;object-position:center 45%}
.local-copy{padding:28px 24px}
.local-copy h2{font-size:calc(2.3rem + 2pt)}
.local-copy .eyebrow{margin-top:22px}
.brand-moment{padding-block:45px}
}

/* Airier small-screen rhythm: keep each idea and action comfortably separated. */
@media(max-width:700px){
  body{line-height:1.78}
  h1,h2,h3{line-height:1.12}
  .eyebrow{margin-bottom:20px}
  p+p{margin-top:1.35rem}
  .text-link{margin-top:8px}

  .workshop-hero{padding-bottom:42px}
  .workshop-hero>figure img{height:370px}
  .workshop-panel{margin-top:-30px;padding:30px 22px 8px 0}
  .workshop-panel>p:not(.eyebrow){margin-top:26px}
  .workshop-actions{margin-top:30px;gap:18px}
  .trust-strip>.wrap{row-gap:6px}
  .trust-strip span{padding-block:16px}

  .selected{padding-block:68px 58px}
  .section-head{margin-bottom:34px}
  .section-head .text-link{margin-top:26px}
  .editorial-grid{gap:42px}
  .project-caption{padding-top:20px}
  .project-caption .eyebrow{margin-bottom:10px}

  .craft-index{padding-block:32px 48px}
  .craft-index>div{gap:30px 20px}
  .craft-index a{padding-top:18px}
  .craft-index small{margin-top:10px;line-height:1.45}

  .intro{padding-block:62px 30px}
  .intro>div:last-child{margin-top:34px}
  .intro .text-link{margin-top:24px}
  .local-story{margin:28px auto 64px}
  .local-photo img{height:345px}
  .local-copy{padding:38px 24px 42px}
  .local-copy .eyebrow{margin-top:28px}
  .local-copy h2{margin-bottom:22px}
  .local-copy .text-link{margin-top:24px}
  .brand-moment{padding-block:60px}
  .brand-note{margin-top:32px}
  .closing{padding-block:60px}
  .closing h2{margin-block:24px 30px}

  .cab-cover{padding-block:48px}
  .cab-services{padding-block:58px}
  .cab-services aside h2{margin-top:24px}
  .service-rail{margin-top:30px;gap:10px}
  .service-copy{padding-top:30px}
  .service-copy p{margin-top:16px}
  .dark-feature{padding-block:52px}
  .questions{padding-block:58px;gap:32px}
  .faqs details{margin-bottom:16px;padding:22px}
  details p{padding-top:20px}

  .object-hero{gap:38px;padding-block:55px}
  .object-hero p:not(.eyebrow){margin-top:26px}
  .wood-chapters{gap:28px}
  .wood-chapter,.wood-chapter:first-child{padding:24px;gap:20px}
  .wood-chapter h2{margin-bottom:16px}
  .showcase-intro{padding-block:56px}
  .showcase-intro>div:last-child{margin-top:30px}
  .filters{margin-bottom:42px}
  .project-wall{gap:34px}
  .project-wall .project-caption,.project-wall .project-card:nth-child(even) .project-caption{padding:26px 22px}
  .case-title{padding-block:55px 34px}
  .case-story{padding-block:56px}
  .case-story h2{margin-bottom:30px}
  .case-gallery{gap:28px}
  .next-project{margin-top:55px;padding-block:36px}
  .about-hero.wrap{padding-block:55px}
  .about-story{padding-block:58px}
  .process-heading{padding-block:56px}
  .measured-path{gap:26px;padding-bottom:52px}
  .prep{padding:30px}
  .contact-layout{gap:44px;padding-block:50px}
  .contact-intro{padding:30px}
  .brief-frame h2{margin-bottom:24px}
  form label{margin-bottom:24px}
  .photo-note{margin-block:28px}
  .legal{padding-block:58px}

  .footer-top{gap:38px;padding-block:38px}
  .footer-brand{padding-bottom:30px}
  .footer-top>div:last-child{padding-top:30px;gap:10px 15px}
  .footer-bottom{padding-block:24px}
}

/* A consistent mobile footer: shared alignment, spacing, and type sizes. */
@media(max-width:700px){
  .footer-top{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-block:32px}
  .footer-brand{justify-content:flex-start;align-items:center;gap:22px;padding-bottom:28px}
  .footer-brand img{flex:0 0 64px;width:64px;height:64px}
  .footer-brand p{font-size:calc(clamp(1.15rem,4.6vw,1.5rem) + 2pt);line-height:1.3;letter-spacing:-.02em}
  .footer-top h2{font-size:calc(12px + 2pt);line-height:1.5;margin:0 0 12px;letter-spacing:.12em}
  .footer-top>div:nth-child(2){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:none}
  .footer-top>div:nth-child(2) a{font-size:calc(14px + 2pt);line-height:1.5;min-height:40px;padding-block:9px}
  .footer-top>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:0;border-top:1px solid #554b40;padding-top:28px}
  .footer-top>div:last-child a,.footer-top>div:last-child a:nth-of-type(3){font-size:calc(14px + 2pt);line-height:1.5;min-height:40px;padding-block:9px;width:auto;max-width:100%;white-space:nowrap}
  .footer-top .contact-fax{font-size:calc(13px + 2pt);line-height:1.6;margin-top:14px}
  .footer-top>div:last-child p{font-size:calc(13px + 2pt);line-height:1.6;margin-top:8px}
  .footer-bottom{align-items:center;flex-wrap:wrap;gap:10px 20px;padding-block:22px;font-size:calc(11px + 2pt);line-height:1.6}
}

/* Photo-specific focal points keep the cabinetry centered in every crop. */
img[src*="custom-cream-kitchen-cabinetry-island"]{object-position:50% 54%}
img[src*="contrasting-custom-kitchen-island"]{object-position:48% 55%}
img[src*="dark-wood-kitchen-cabinetry"]{object-position:68% 52%}
img[src*="custom-library-living-room-built-ins"]{object-position:50% 48%}
img[src*="custom-study-built-in-cabinetry"]{object-position:50% 44%}
img[src*="custom-wood-study-shelving"]{object-position:54% 45%}
img[src*="custom-wood-bathroom-vanity"]{object-position:55% 50%}
img[src*="custom-architectural-wood-millwork"]{object-position:58% 45%}
img[src*="ornamental-custom-wood-cabinet"]{object-position:50% 48%}

@media(max-width:700px){
  .workshop-hero>figure img{height:auto;aspect-ratio:1.38;object-fit:cover;object-position:50% 55%}
  .editorial-grid .wide .project-image{aspect-ratio:1.5}
  .editorial-grid .narrow .project-image{height:auto;aspect-ratio:1.08}
  .editorial-grid .lower .project-image{height:auto;aspect-ratio:1.32}
  .local-photo img{height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 43%}
  .room-detail>.room{height:auto;aspect-ratio:1.32;object-fit:cover}
  .detail-inset img{height:auto;aspect-ratio:1.15;object-fit:cover}
  .object-hero figure img{height:auto;aspect-ratio:4/5;object-fit:cover}
  .wood-chapter img,.wood-chapter:first-child img{height:auto;aspect-ratio:1.15;object-fit:cover}
  .wood-chapter img[src*="custom-study-built-in-cabinetry"],.wood-chapter img[src*="custom-wood-study-shelving"],.wood-chapter img[src*="custom-wood-bathroom-vanity"]{aspect-ratio:4/5}
  .project-wall .project-image,.project-wall .project-card:nth-child(even) .project-image{height:auto;aspect-ratio:1.3}
  .project-wall .project-image:has(img[src*="custom-study-built-in-cabinetry"]),.project-wall .project-image:has(img[src*="custom-wood-bathroom-vanity"]){aspect-ratio:4/5}
  .case-hero>img{height:auto;max-height:none;object-fit:contain;background:var(--mist)}
  .case-gallery .zoom-image img{width:100%;height:auto;max-height:none;object-fit:contain}
  .about-panorama img{height:auto;aspect-ratio:1.28;object-fit:cover;object-position:50% 50%}
  .dark-feature .project-image{height:auto;aspect-ratio:1.3}
}

/* Consistent site-wide outer gutters: 5% on each side at every viewport. */
.wrap,.local-story{width:90%;max-width:none;margin-inline:auto}
.hometown,.header,.home-hero,.workshop-hero,.cab-cover,.case-hero{padding-inline:5%}
.about-hero.wrap{width:100%;padding-inline:5%}
@media(max-width:950px){.header nav{padding-inline:5vw}}

/* Quiet, aligned closing section in the workshop palette. */
.site-footer{background:var(--forest);color:var(--paper);padding:0;font-size:calc(14px + 2pt)}
.footer-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.2fr) minmax(240px,1fr);gap:48px;padding-block:56px;align-items:start}
.footer-identity img{width:90px;height:90px}
.footer-identity p{font-size:calc(13px + 2pt);color:#c7b99f;margin-top:18px;line-height:1.6}
.footer-grid h2{font:700 calc(11px + 2pt)/1.5 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin:0 0 16px}
.footer-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.footer-grid a:not(.footer-identity a){display:flex;align-items:center;min-height:44px;line-height:1.5;padding-block:10px;overflow-wrap:anywhere}
.footer-contact a{width:fit-content;max-width:100%}
.site-footer a:hover{color:var(--gold)}
.footer-legal{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #514a3f;padding-block:18px;color:#c7b99f;font-size:calc(12px + 2pt)}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-identity{grid-column:1/-1;display:flex;align-items:center;gap:24px}.footer-identity p{margin:0}}
@media(max-width:600px){.footer-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:36px}.footer-identity{grid-column:auto;padding-bottom:28px;border-bottom:1px solid #514a3f}.footer-identity img{width:72px;height:72px}.footer-contact{border-top:1px solid #514a3f;padding-top:28px}.footer-grid h2{margin-bottom:12px}.footer-legal{flex-wrap:wrap;gap:4px 20px}}

/* A confident final invitation, with the same flat workshop colors. */
.footer-project{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:48px;border-bottom:1px solid #514a3f}
.footer-project-label{display:block;color:var(--gold);font-size:calc(11px + 2pt);line-height:1.6;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.footer-project-title{display:block;font-size:calc(clamp(2.2rem,4.8vw,4.8rem) + 2pt);font-weight:700;line-height:1.1;letter-spacing:-.05em}
.footer-project-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:76px;background:var(--gold);color:var(--deep);font-size:calc(42px + 2pt);line-height:1}
.site-footer .footer-project:hover{color:var(--paper)}
.footer-project:hover .footer-project-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.footer-grid{grid-template-columns:minmax(160px,.9fr) minmax(260px,1.1fr) minmax(300px,1fr);gap:36px;padding-block:42px}
.footer-identity img{width:100px;height:100px}
.footer-links a{border-bottom:1px solid #39362f}
.footer-contact>a:first-of-type{font-size:calc(24px + 2pt);letter-spacing:-.03em;font-weight:700;color:var(--paper)}
@media(max-width:1150px){.footer-grid{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1;display:flex;align-items:center;gap:24px}.header{gap:18px}.header nav{gap:15px}}
@media(max-width:600px){.footer-project{padding-block:34px;gap:14px}.footer-project-title{font-size:calc(clamp(1.9rem,7vw,2.8rem) + 2pt)}.footer-project-label{font-size:calc(10px + 2pt);letter-spacing:.05em;max-width:26ch}.footer-project-arrow{flex-basis:52px;width:52px;height:52px;font-size:calc(30px + 2pt)}.footer-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:32px}.footer-identity{grid-column:auto}.footer-identity img{width:72px;height:72px}.footer-contact>a:first-of-type{font-size:calc(22px + 2pt)}}

/* Center the footer's invitation, identity, links and contact information. */
.footer-project{justify-content:center;text-align:center;position:relative;flex-direction:column;gap:24px}
.footer-project-label{max-width:none;margin-inline:auto}
.footer-grid{text-align:center;justify-items:center}
.footer-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%}
.footer-identity p{margin-top:18px}
.footer-links,.footer-contact{width:100%;min-width:0}
.footer-links>div{column-gap:24px}
.footer-grid a:not(.footer-identity a){justify-content:center;text-align:center;margin-inline:auto}
.footer-contact a{width:auto}
.footer-legal{justify-content:center;text-align:center;gap:12px 36px}
@media(max-width:600px){.footer-project-label{max-width:none}.footer-identity{gap:0}.footer-grid{justify-items:stretch}.footer-legal{flex-direction:column;gap:0}}
/* Two short form steps, with native validation and preserved Netlify fields. */
#project-form fieldset{min-width:0;border:0;padding:0;margin:0}
#project-form fieldset[hidden],#project-form button[hidden]{display:none}
#project-form legend{font-size:calc(20px + 2pt);line-height:1.35;font-weight:700;letter-spacing:-.03em;margin-bottom:24px;padding:0}
.form-progress{display:grid;grid-template-columns:1fr 1fr;gap:18px;list-style:none;padding:0;margin:0 0 32px}
.form-progress li{border-top:2px solid var(--line);padding-top:12px;font-size:calc(11px + 2pt);line-height:1.5;color:var(--muted)}
.form-progress li[aria-current]{border-color:var(--forest);color:var(--ink);font-weight:700}
.step-next{margin-top:12px}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap}
#project-form textarea{min-height:130px}
@media(max-width:480px){.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .button,.step-next{width:100%}.form-progress{gap:12px}}

/* Original transparent horizontal wordmark in the header. */
.header .brand img{width:260px;height:auto;max-width:100%;padding:0;background:transparent;border-radius:0}
.footer-project{flex-direction:row;justify-content:center;gap:32px}
@media(min-width:951px) and (max-width:1200px){.header .brand img{width:180px}.header{gap:16px}.header nav{gap:12px}}
@media(max-width:950px){.header .brand img{width:240px}}
@media(max-width:600px){.header .brand img{width:210px}.footer-project{gap:16px}.footer-project>span:first-child{min-width:0}.footer-project-title{font-size:calc(clamp(1.65rem,6vw,2.8rem) + 2pt)}}
@media(max-width:360px){.header .brand img{width:180px}.footer-project{gap:12px}}

/* Align the invitation arrow with the headline, independently of its eyebrow. */
.footer-project{display:grid;grid-template-columns:minmax(0,max-content) 76px;grid-template-rows:auto auto;column-gap:32px;row-gap:14px;justify-content:center;align-items:center}
.footer-project>span:first-child{display:contents}
.footer-project-label{grid-column:1/-1;grid-row:1;margin:0;text-align:center}
.footer-project-title{grid-column:1;grid-row:2;text-align:center}
.footer-project-arrow{grid-column:2;grid-row:2;align-self:center;justify-self:center}
@media(max-width:600px){.footer-project{grid-template-columns:minmax(0,max-content) 52px;column-gap:16px;row-gap:14px}}
@media(max-width:360px){.footer-project{column-gap:12px}}

/* Line-drawn link arrows stay monochrome on every platform. */
.line-arrow{color:inherit;background:none;border-radius:0}
.line-arrow:before,.line-arrow:after{border-width:2px}
.footer-project-arrow{background:none;color:var(--gold);border:0;border-radius:0}
.footer-project-arrow .line-arrow{transform:rotate(-45deg);width:32px;height:12px;flex-basis:32px}
.footer-project-arrow .line-arrow:before{top:6px}
.footer-project-arrow .line-arrow:after{top:1px;width:10px;height:10px}

/* Process: numbered editorial stages and clear preparation guidance. */
.process-opening{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:70px}
.process-opening h1{font-size:calc(clamp(2.6rem,5vw,5rem) + 2pt);margin-bottom:28px}
.process-opening p:not(.eyebrow){color:var(--muted)}
.process-opening .text-link{margin-top:22px}
.process-opening figure img{width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}
.process-opening figcaption{font-size:calc(10px + 2pt);letter-spacing:.08em;text-transform:uppercase;margin-top:14px;color:var(--muted)}
.process-stages{scroll-margin-top:150px}
.process-stage{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;border-top:1px solid var(--line);padding-block:60px}
.process-stage:nth-child(even) figure{order:2}
.process-stage figure img{width:100%;height:auto;max-height:580px;object-fit:contain}
.process-stage-copy{min-width:0}
.process-number{display:block;font-size:calc(clamp(3rem,6vw,6rem) + 2pt);font-weight:700;line-height:1;color:#9b794c;margin-bottom:24px;letter-spacing:-.06em}
.process-stage h2{font-size:calc(clamp(2rem,3.4vw,3.5rem) + 2pt);margin-bottom:24px}
.process-stage .eyebrow{margin-bottom:14px}
.process-stage dl{margin:28px 0 0;display:grid;gap:20px}
.process-stage dl>div{border-left:2px solid var(--gold);padding-left:18px}
.process-stage dt{font-size:calc(11px + 2pt);font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.process-stage dd{margin:0;color:var(--muted)}
.process-prepare{background:var(--mist);padding-block:64px}
.process-prepare-grid,.process-faq{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.process-prepare h2,.process-faq h2{font-size:calc(clamp(2rem,3.5vw,3.7rem) + 2pt);margin-bottom:24px}
.process-prepare ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.process-prepare li{border-top:1px solid #bba583;padding-top:18px}
.process-prepare li strong,.process-prepare li span{display:block}
.process-prepare li span{margin-top:8px;color:var(--muted)}
.process-faq{padding-block:72px}
.process-faq details{border-top:1px solid var(--line);padding:22px 0}
.process-faq details:last-child{border-bottom:1px solid var(--line)}
.process-faq summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center;line-height:1.5}
.process-faq details p{color:var(--muted);padding-top:18px}
@media(max-width:800px){.process-opening,.process-stage,.process-prepare-grid,.process-faq{grid-template-columns:minmax(0,1fr);gap:36px}.process-opening{padding-block:42px}.process-opening figure img{aspect-ratio:1.4}.process-stage{padding-block:42px}.process-stage:nth-child(even) figure{order:0}.process-stage figure img{max-height:440px}.process-number{margin-bottom:18px}.process-prepare{padding-block:44px}.process-faq{padding-block:48px}}
@media(max-width:440px){.process-prepare ul{grid-template-columns:1fr;gap:22px}}

/* Give both sides of each process conversation equal space and weight. */
.process-stage dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.process-stage dl>div{min-width:0;padding:16px 0 0;border-left:0;border-top:2px solid var(--gold)}
.process-stage dt{min-height:3em;display:flex;align-items:flex-start;margin-bottom:10px}
.process-stage dd{font-size:inherit;line-height:1.7;overflow-wrap:break-word}
@media(max-width:440px){.process-stage dl{grid-template-columns:minmax(0,1fr);gap:22px}.process-stage dt{min-height:0}}
