@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--green:#183e34;--ink:#23352e;--paper:#f7f6f1;--line:#d8dbd2;--muted:#59655c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bb6e34;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}header{padding:22px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}.brand{font-family:'Playfair Display',Georgia,serif;font-size:36px;line-height:1;letter-spacing:-1px;display:inline-block}.brand span{font-family:'DM Sans',sans-serif;display:block;font-size:10px;letter-spacing:5px;line-height:2.4;text-align:center;padding-left:5px}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{font-size:14px;border-bottom:1px solid var(--green);padding:10px 0}.header-cta span{margin-left:22px}.hero{display:grid;grid-template-columns:47% 53%;min-height:650px;background:var(--green);color:var(--paper)}.hero-copy{padding:64px 9.5% 26px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500;margin:0 0 25px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,4.6vw,78px);line-height:1.12;letter-spacing:-2px;margin:0 0 26px}h1 em,h2 em{font-weight:400}h1 em{color:#dcc5a7}.intro{color:#e0e5dc;font-size:17px;line-height:1.8;margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:15px 23px;font-size:14px;min-height:52px;transition:background .2s}.cream{background:#ede9dc;color:var(--green)}.cream:hover{background:#fff}.green{background:var(--green);color:white}.green:hover{background:#2a5648}.hero-bottom{border-top:1px solid #668074;width:100%;margin-top:auto;padding-top:23px;display:flex;gap:16px;justify-content:space-between;align-items:end;font-size:12px;color:#d1dace}.hero-number{font-size:10px;letter-spacing:1px}.hero-photo{position:relative;min-width:0}.hero-photo>img{width:100%;height:100%;position:absolute;object-position:47% center}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:38px 30px 24px;background:linear-gradient(transparent,#0009);display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:1px}.photo-caption span{letter-spacing:0;font-size:12px}.principles{padding:23px 4.5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1.8px}.section{padding:94px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:43px}h2{font-size:clamp(36px,3.6vw,56px);line-height:1.18;letter-spacing:-1.3px;margin:0}.heading-aside{max-width:410px}.heading-aside p{color:var(--muted);margin:0 0 22px}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.image-wrap{overflow:hidden;position:relative;background:#e4e4de}.image-wrap>img{width:100%;aspect-ratio:1.14;height:auto;transition:transform .5s}.collection-card:hover img{transform:scale(1.035)}.image-action{position:absolute;right:15px;bottom:15px;width:35px;height:35px;display:grid;place-items:center;background:var(--paper);border-radius:50%}.card-label h3{font-size:26px;line-height:1.2;margin:18px 0 7px}.card-label>span{font-size:14px;color:var(--muted)}.catalog-note{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:30px}.catalog-note p{font-size:14px;color:var(--muted);max-width:650px;margin:0}.catalog-note a{flex-shrink:0}.craft{display:grid;grid-template-columns:1fr 1fr;background:#e9e8df}.craft-image{min-height:600px}.craft-image img{width:100%;height:100%;object-position:center}.craft-copy{padding:70px 12%;align-self:center}.craft-copy h2{font-size:clamp(34px,3.1vw,49px);margin-bottom:30px}.craft-copy>p:not(.eyebrow){color:#46564c;line-height:1.9}.craft-copy .text-link{margin-top:18px}.visit{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:105px;padding-bottom:105px}.visit-intro{color:var(--muted);margin:26px 0 30px}.contact{display:grid;gap:36px;padding-top:4px}.contact a{display:block;width:fit-content}.contact .phone{font-family:'Playfair Display',Georgia,serif;font-size:29px;margin-bottom:6px}.contact .text-link{margin-top:15px}.contact .eyebrow{margin-bottom:15px}.hours{border-top:1px solid var(--line);padding-top:25px;max-width:380px}.hours p:not(.eyebrow){display:flex;justify-content:space-between;margin:6px 0;font-size:14px}footer{background:var(--green);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 6%}footer p,footer>span{font-size:12px;color:#d1dace}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1920px;margin:auto}.hero{min-height:760px}}@media(max-width:1000px){header{padding:20px 4%}nav{gap:20px}.hero-copy{padding:48px 8% 24px}.hero{min-height:610px}.hero-bottom{margin-top:45px}.hero-number{display:none}.photo-caption{flex-direction:column;gap:4px}.section{padding:70px 5%}.craft-copy{padding:45px 9%}.visit{gap:50px}.collection-grid{gap:30px 18px}}@media(max-width:700px){header{flex-wrap:wrap;gap:12px;padding:18px 5%}.brand{font-size:30px}nav{gap:18px;font-size:14px}.header-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 26px}h1{font-size:clamp(43px,10.5vw,65px)}.hero-bottom{margin-top:40px}.hero-photo{min-height:350px}.hero-photo>img{object-position:center}.photo-caption{flex-direction:row}.principles{font-size:10px;letter-spacing:.8px;flex-wrap:wrap;justify-content:center;text-align:center;gap:8px 20px;padding:20px 6%}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.heading-aside{margin-top:25px}.heading-aside br{display:none}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 16px}.card-label h3{font-size:23px}.card-label>span{font-size:14px}.image-wrap>img{aspect-ratio:.85}.image-action{right:10px;bottom:10px;width:30px;height:30px}.catalog-note{align-items:start;flex-direction:column;gap:18px}.craft{grid-template-columns:1fr}.craft-image{min-height:0;height:340px}.craft-copy{padding:45px 6%}.visit{grid-template-columns:1fr;gap:44px}.contact{gap:28px}.hours{max-width:none}footer{flex-wrap:wrap;padding:35px 6%;gap:22px}footer p{margin:0}footer>span{width:100%}.eyebrow{font-size:12px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Complete furniture collection */
.catalog-hero{background:var(--green);color:var(--paper);padding:65px 6% 55px}.catalog-hero h1{font-size:clamp(44px,5vw,70px);margin-bottom:22px}.catalog-hero>p:not(.eyebrow){color:#e0e5dc}.catalog-hero .price-note{font-size:14px;margin:26px 0 0}.catalog-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:60px 5% 90px;max-width:1800px;margin:auto}.catalog-sidebar{align-self:start;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding-right:15px}.catalog-sidebar summary{font-size:16px;font-weight:600;margin-bottom:17px;cursor:pointer}.catalog-sidebar nav{display:flex;flex-direction:column;gap:0}.catalog-sidebar nav a{display:block;padding:8px 0;font-size:14px;border-bottom:1px solid var(--line)}.product-category{scroll-margin-top:0;margin-bottom:90px}.category-heading h2{font-size:42px;margin-bottom:18px}.category-heading>p:not(.eyebrow){max-width:800px;color:var(--muted);margin:0 0 22px}.category-heading .eyebrow{margin-bottom:14px}.custom-options{font-size:14px;color:#425647;background:#e7ebe4;padding:18px 20px;margin:0 0 28px;line-height:1.8}.custom-options strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:3px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.product{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding-bottom:26px}.product-image{background:#ebe9e0;padding:18px;aspect-ratio:1;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:contain;min-height:0}.product-copy{padding-top:16px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.product h3{font-size:27px;margin:0 0 10px;line-height:1.2}.product p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 20px}.product .text-link{margin-top:auto}.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.extras-grid img{background:#ebe9e0;aspect-ratio:1.15;width:100%;height:auto;object-fit:contain;padding:12px}#projects .extras-grid img{object-fit:cover;padding:0}.catalog-sidebar a:hover{color:var(--green)}@media(max-width:1100px){.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:30px;padding-left:4%;padding-right:4%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.catalog-hero{padding:42px 6%}.catalog-hero br{display:none}.catalog-layout{display:block;padding:30px 6%}.catalog-sidebar{position:static;max-height:none;margin-bottom:45px;padding:0}.catalog-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.catalog-sidebar summary{border-bottom:1px solid var(--line);padding-bottom:15px}.category-heading h2{font-size:35px}.product-grid{gap:24px 15px}.product-image{padding:10px}.product h3{font-size:24px}.product-category{margin-bottom:60px}.custom-options{padding:15px}.product .text-link{font-size:14px}}@media(max-width:400px){.product-grid{grid-template-columns:1fr}.product-image{aspect-ratio:1.1}}
button,input,textarea{font:inherit}button{cursor:pointer}button.text-link{border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 6px;color:var(--green)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bb6e34;outline-offset:3px}[hidden]{display:none!important}.quote-nav{display:flex;gap:10px;align-items:center;font-size:14px;white-space:nowrap}.quote-nav span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 6px;background:var(--green);color:white;border-radius:50%;font-size:12px}.quote-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);width:max-content;padding:17px 24px;background:var(--green);color:white;box-shadow:0 5px 25px #0002;z-index:50;visibility:hidden;opacity:0;transition:opacity .2s}.quote-toast.visible{visibility:visible;opacity:1}.quote-toast a{color:#edddbb;text-decoration:underline;white-space:nowrap}.quote-page{max-width:1450px;margin:auto;padding:65px 6% 95px}.quote-page h1{font-size:clamp(40px,4.5vw,66px)}.quote-page h1 em{color:#805b39}.quote-intro{max-width:670px;color:var(--muted);margin-bottom:45px}.quote-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:60px}.quote-list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.quote-page h2{font-size:32px}.quote-item{display:grid;grid-template-columns:145px minmax(0,1fr);gap:23px;padding:26px 0;border-top:1px solid var(--line)}.quote-item>img{width:145px;height:155px;object-fit:contain;background:#ebe9e0;padding:10px}.quote-item .eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:1px}.quote-item h3{font-size:28px;margin:0 0 18px;line-height:1.2}.quote-field{display:block;font-size:14px;font-weight:500;margin:18px 0}.quote-field input,.quote-field textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;background:#fff;border:1px solid #abb6ab;border-radius:0;color:var(--ink);font-size:16px;font-weight:400}.quote-field textarea{resize:vertical;min-height:84px}.quantity-field{max-width:105px}.remove-item{padding:5px 0;color:#7a3f2c;background:none;border:0;border-bottom:1px solid currentColor;font-size:14px}.quote-checkout{background:#e9e8df;padding:30px;align-self:start;position:sticky;top:25px}.quote-checkout>p{font-size:14px;color:var(--muted)}.quote-checkout .button{width:100%;border:0;margin-top:10px}.quote-consent,.quote-delivery{font-size:12px!important;line-height:1.7}.optional{font-weight:400;color:var(--muted)}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#quote-error{padding:14px;border-left:3px solid #9d4c2f;background:#fff4ed;color:#703623}button:disabled,input:disabled,textarea:disabled{opacity:.65;cursor:wait}#quote-result,#quote-empty{padding:40px 0}#quote-result p{max-width:600px}.quote-page #quote-result:focus{outline:none}@media(max-width:1000px){header .header-cta{display:none}.quote-layout{gap:30px}.quote-checkout{padding:24px}.quote-item{grid-template-columns:100px minmax(0,1fr);gap:17px}.quote-item>img{width:100px;height:125px}}@media(max-width:700px){header .quote-nav{margin-left:auto}.quote-page{padding:40px 6% 65px}.quote-layout{grid-template-columns:1fr;gap:30px}.quote-checkout{position:static}.quote-page h2{font-size:28px}.quote-list-heading{align-items:start}.quote-list-heading a{font-size:13px}.quote-toast{font-size:14px;padding:13px 17px}.quote-item h3{font-size:25px}}@media(max-width:430px){header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:12px}}
#doors .product-image{aspect-ratio:3/4;background:#f3f0e7;padding:0}
#doors .product-image img{width:100%;height:100%;object-fit:contain}

/* Catalog-based upholstery pilot */
.fabric-picker{border:0;padding:0;margin:20px 0 12px;display:flex;flex-wrap:wrap;gap:10px}.fabric-picker legend{font-size:14px;font-weight:600;margin-bottom:10px}.fabric-option{position:relative;cursor:pointer;display:flex;align-items:center;gap:7px;font-size:12px;padding:7px 9px;border:1px solid #d3d6cc;border-radius:4px}.fabric-option input{position:absolute;opacity:0;width:1px;height:1px}.fabric-option>span:first-of-type{width:22px;height:22px;border-radius:50%;border:1px solid #0002;flex-shrink:0}.fabric-option:has(input:checked){border-color:#476247;background:#edf0e7;box-shadow:0 0 0 1px #476247}.fabric-option:has(input:focus-visible){outline:3px solid #476247;outline-offset:3px}.product-copy .fabric-note,.fabric-note{font-size:12px;line-height:1.5;color:#667062;margin:8px 0 18px}.product-copy .fabric-selected{font-size:13px;margin:10px 0 0;font-weight:600}

.fabric-original{background:linear-gradient(135deg,#f2eee6 48%,#87927e 49%,#87927e 53%,#ddd6c7 54%)}

/* Persistent, keyboard-accessible language choice. */
.language-picker{display:flex;flex-direction:column;gap:3px;flex-shrink:0;font-size:9px;letter-spacing:.08em;color:inherit}.language-picker select{font:inherit;font-size:12px;letter-spacing:0;color:inherit;border:1px solid currentColor;border-radius:3px;background:transparent;padding:7px 24px 7px 8px;max-width:120px;cursor:pointer}.language-picker option{background:#f4f0e8;color:#272623}.language-picker select:focus-visible{outline:2px solid currentColor;outline-offset:3px}header{flex-wrap:wrap;row-gap:12px}@media(max-width:760px){.language-picker{margin-left:auto}.language-picker span{display:none}.language-picker select{max-width:108px;font-size:12px}header{column-gap:12px}}
/* Install and offline controls stay out of the furniture browsing area. */
.pwa-install{font:inherit;font-size:12px;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;padding:10px 16px;cursor:pointer;margin-top:18px}.pwa-install[hidden],.pwa-connection[hidden]{display:none}.pwa-ios{font-size:12px;margin-top:20px}.pwa-ios summary{cursor:pointer}.pwa-ios p{color:inherit;font-size:12px}.pwa-connection{background:#e9dfc8;color:#343d32;font-size:12px;padding:10px 5%;position:fixed;bottom:0;left:0;right:0;z-index:30;text-align:center;box-shadow:0 -2px 15px #0001}.pwa-update{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;background:#343d32;color:#f4f0e8;padding:14px 18px;border-radius:4px;font-size:12px;z-index:31;box-shadow:0 5px 25px #0002;max-width:94vw}.pwa-update button{font:inherit;background:transparent;border:1px solid #b4bca7;padding:6px 12px;color:inherit;cursor:pointer}.pwa-install:focus-visible,.pwa-update button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.footer-instagram{font-size:12px;white-space:nowrap}.footer-instagram:hover{text-decoration:underline;text-underline-offset:5px}.footer-instagram span{margin-left:6px}.home .footer-bottom .footer-instagram{font-size:10px}
.product-details{margin:14px 0;font-size:15px;line-height:1.55}.product-details .product-price{margin:5px 0;color:#343d32}.product-price>span{margin-right:6px}.product-dimensions,.set-includes{font-size:14px!important;color:#5d6255}.signature-piece .product-details{padding:0 4px}.signature-piece .product-price strong{font-weight:600}.collection-scene{width:100%;aspect-ratio:16/9;object-fit:cover;margin:16px 0 28px;border-radius:4px}#outdoor .collection-scene{object-position:50% 75%}#decks .product-image{aspect-ratio:1;background:#eee8dd}#decks .product-image img{width:100%;height:100%;object-fit:cover;object-position:center}#outdoor .product-image{background:transparent}#outdoor .product-image img{object-fit:contain}.home .material-photo{display:block;color:inherit}.home .signature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.home .signature-grid{grid-template-columns:1fr}.collection-scene{aspect-ratio:4/3}}
