@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@1,500&display=swap');

:root{--ink:#162019;--forest:#17271d;--cream:#f2eee6;--paper:#faf8f2;--orange:#d85e30;--blue:#d7e9f5;--line:rgba(22,32,25,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}[hidden]{display:none!important}img{max-width:100%;display:block}a{color:inherit}h1,h2{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1}h1 em,h2 em,.gallery-quote em{font-family:"Playfair Display",serif;font-weight:500}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:700}.eyebrow:before{content:"";display:inline-block;width:28px;border-top:1px solid;margin:0 12px 3px 0}.light{color:#fff}.button{border:0;padding:16px 22px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--orange);color:#fff}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px}
.nav{position:fixed;z-index:20;top:0;left:0;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:transparent;backdrop-filter:none;transition:background .25s,height .25s,backdrop-filter .25s}.nav--solid{height:70px;background:rgba(22,32,25,.94);backdrop-filter:blur(10px)}.brand img{width:190px}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{text-decoration:none;font-size:13px}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:12px 15px}.menu{display:none;background:none;border:0}.menu span{display:block;width:24px;border-top:1px solid #fff;margin:6px}
.hero{min-height:760px;height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;background:#354436}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,11,.78),rgba(9,18,11,.18))}.hero-copy{position:relative;color:#fff;margin-left:8vw;width:min(680px,84vw);padding-top:60px;will-change:opacity,transform}.hero h1{font-size:clamp(56px,7vw,104px);margin:0 0 28px}.hero p:not(.eyebrow){font-size:18px;line-height:1.65;color:rgba(255,255,255,.84);max-width:500px}.hero-actions{display:flex;gap:28px;margin-top:38px;align-items:center}
.intro{padding:130px 8vw 110px;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.intro h2,.quote h2,.contact h2{font-size:clamp(45px,6vw,82px);margin:0 0 32px}.intro-copy,.quote-copy>p,.contact>p{line-height:1.75;color:#5d665e;max-width:570px}
.gallery{display:grid;grid-template-columns:1.6fr 1fr;min-height:760px}.gallery-main,.detail-crop{position:relative;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover}.card-label{position:absolute;left:30px;bottom:28px;background:var(--paper);padding:16px 20px}.card-label small{display:block;color:#6d756d;margin-top:5px}.gallery-side{display:grid;grid-template-rows:1fr 1fr}.gallery-quote{background:#c7c7ad;padding:55px;display:flex;flex-direction:column;justify-content:center}.gallery-quote>span{font-size:64px;line-height:.5}.gallery-quote p{font-size:30px;line-height:1.2}.gallery-quote a{width:max-content;text-decoration:none;border-bottom:1px solid}
.craft{padding:120px 5vw;background:var(--paper)}.craft-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:60px}.craft-head h2{font-size:clamp(44px,5.5vw,76px);margin:0}.craft-head>p{line-height:1.75;color:#667067}.craft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.craft-grid img{width:100%;height:380px;object-fit:cover}.craft-grid h3{font:500 17px Manrope;margin:18px 0 4px}.craft-grid p{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#777}
.process{background:var(--forest);color:#fff;padding:120px 8vw}.process h2{font-size:clamp(45px,5.5vw,76px);margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:80px}.steps article{border-top:1px solid rgba(255,255,255,.25);padding-top:24px}.steps b{font-size:26px;color:#ddd3c6}.steps p{color:#b8c0b8;line-height:1.7}
.quote{padding:120px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}.quote-copy{position:sticky;top:100px}.promise{border-top:1px solid var(--line);padding-top:22px;margin-top:38px;display:flex;gap:16px}.promise span{background:#dbe2d5;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.side-estimate{border-top:1px solid var(--line);margin-top:25px;padding-top:22px;display:grid;gap:12px}.side-estimate strong{font:500 44px Manrope}.side-estimate span{font-size:12px;line-height:1.5;color:#657066}.side-estimate .button{width:max-content}
.calculator{background:#e7e1d6;max-height:min(860px,calc(100svh - 120px));overflow:auto;scrollbar-color:#bf614d #d8e4ed}.builder-preview{height:300px;position:relative}.builder-preview img{width:100%;height:100%;object-fit:cover}.builder-preview span{position:absolute;left:22px;bottom:18px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.builder-step{border:0;border-bottom:1px solid #c5c0b4;margin:0;padding:30px 38px}.builder-step legend{font-weight:800;margin-bottom:15px}.builder-step legend span{color:var(--orange);margin-right:24px;font-size:11px}.choice-row,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-row label,.card-choice{background:#f6f2ea;border:1px solid #b7b3aa;padding:12px;text-align:center;font-weight:700}.card-choice.active,.choice-row label:has(input:checked){border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:#fff}.card-choice img{width:100%;height:82px;object-fit:cover;margin-bottom:9px}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}input[type=range]{width:100%;accent-color:var(--orange)}.size-guide{margin-top:20px;background:#f8f6ef;border-left:3px solid var(--orange);padding:14px}.chair-count{display:flex;align-items:center;gap:14px;margin-bottom:18px}.chair-count button{width:44px;height:44px;background:#f6f2ea;border:1px solid #aaa;font-size:22px}.chair-count strong{font-size:28px}
.story{display:grid;grid-template-columns:1fr 1fr;background:#29382c;color:#fff}.story-image img{width:100%;height:100%;min-height:620px;object-fit:cover;filter:saturate(.8) brightness(.72)}.story-copy{padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.story h2{font-size:clamp(42px,5vw,70px);margin:0 0 30px}.story p:not(.eyebrow){color:#c8cec8;line-height:1.8}.maker-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.maker-points span{border:1px solid rgba(255,255,255,.25);padding:10px 12px;font-size:12px;color:#eef5ee;background:rgba(255,255,255,.05)}
.faq{padding:115px 8vw;background:var(--paper);display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:start}.faq-head{position:sticky;top:105px}.faq-head h2{font-size:clamp(44px,5.5vw,78px);margin:0 0 24px}.faq-head>p:not(.eyebrow){line-height:1.75;color:#5d665e}.faq-list{display:grid;gap:12px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font:700 20px Manrope,Arial,sans-serif;cursor:pointer;line-height:1.35}.faq-list summary::marker{color:var(--orange)}.faq-list p{line-height:1.75;color:#5d665e;margin:14px 0 0}
.connect-more{background:#203528;color:#fff;padding:86px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.connect-more h2{font-size:clamp(39px,4.8vw,68px);margin:0 0 22px}.connect-more p{color:#c7d0c8;line-height:1.75}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.contact-links a{border:1px solid rgba(255,255,255,.24);padding:11px 13px;text-decoration:none;color:#fff;background:rgba(255,255,255,.05)}.connect-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.newsletter-card,.news-card{background:#f8f6ef;color:var(--ink);padding:28px;min-height:100%;display:flex;flex-direction:column;gap:14px}.newsletter-card h3,.news-card h3{font:500 28px Manrope,Arial,sans-serif;margin:0}.newsletter-card p,.news-card p{color:#5d665e;margin:0}.newsletter-card label{font-size:12px;font-weight:800;color:#3c463d}.newsletter-card input{width:100%;border:0;border-bottom:1px solid #9ea39b;background:transparent;padding:12px 0}.newsletter-card small,.news-card small{text-transform:uppercase;letter-spacing:.14em;color:#6d756d;font-size:10px}.newsletter-card .button,.news-card .button{width:max-content;margin-top:auto}.connect-more .form-status{color:#49604c}
.contact{padding:120px 15vw;text-align:center}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left;max-width:880px;margin:50px auto 0}.contact label{font-size:12px;font-weight:800}.contact input,.contact textarea,.journal-signup input{width:100%;border:0;border-bottom:1px solid #9ea39b;background:transparent;padding:12px 0}.contact textarea{background:#fff;border:1px solid #c8c4ba;padding:14px}.wide{grid-column:1/-1}.form-status{grid-column:1/-1;color:#49604c}
.journal-signup{background:#23362a;color:#fff;padding:70px 8vw;display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:end}.journal-signup form{display:grid;grid-template-columns:1fr 1fr auto;gap:22px;align-items:end}.journal-signup p{color:#c7d0c8}.journal-signup h2{font:400 36px "Playfair Display";margin:8px 0}
footer{background:#0d140f;color:#fff;padding:65px 6vw 28px;display:grid;grid-template-columns:1fr 1fr;gap:30px}footer img{width:210px}footer p{font:italic 27px "Playfair Display"}footer nav{display:flex;gap:22px;flex-wrap:wrap}footer a{text-decoration:none;color:#c8cec8}footer small{text-align:right;color:#7f887f}
.journal-nav{height:82px;background:#080b08;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 5vw}.journal-nav img{width:190px}.journal-nav nav{display:flex;gap:24px;align-items:center}.journal-archive-hero{padding:130px 8vw 100px}.journal-archive-hero h1{font-size:clamp(56px,7vw,104px)}.admin-placeholder{background:#eeece5}.admin-placeholder main{min-height:100vh;display:grid;place-items:center;padding:40px}.admin-placeholder section{max-width:760px;background:#fff;padding:55px}.admin-placeholder img{width:220px;margin-bottom:35px}.admin-placeholder h1{font-size:42px}
.journal-grid{padding:70px max(6vw,24px) 120px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 34px}.journal-card{display:grid;grid-template-columns:190px 1fr;gap:24px;border-top:1px solid #cdc7bb;padding-top:20px}.journal-card-featured{grid-column:1/-1;grid-template-columns:1.15fr .85fr;align-items:center;border-top:0;border-bottom:1px solid #cdc7bb;padding-bottom:55px}.journal-card-image{display:block;background:#ddd;overflow:hidden}.journal-card-image img{width:100%;height:230px;object-fit:cover}.journal-card-featured .journal-card-image img{height:520px}.journal-card small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#777}.journal-card h2{font:400 32px/1.15 "Playfair Display";letter-spacing:0;margin:10px 0}.journal-card-featured h2{font-size:clamp(44px,5vw,72px)}.journal-card h2 a{text-decoration:none}.journal-card p{line-height:1.7;color:#626a62}.journal-empty{grid-column:1/-1;text-align:center;padding:60px 0}.journal-article>header{max-width:1050px;margin:auto;text-align:center;padding:110px 24px 65px}.journal-back{display:inline-block;color:#5d655d;margin-bottom:55px}.journal-article h1{font-size:clamp(50px,7vw,94px);line-height:1;letter-spacing:-.045em}.journal-deck{font:400 23px/1.55 "Playfair Display";color:#5d655d;max-width:800px;margin:30px auto 0}.journal-byline{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#737970}.journal-hero-image{margin:0 auto 90px;max-width:1500px;padding:0 3vw}.journal-hero-image img{width:100%;max-height:760px;object-fit:cover}.journal-article-body{max-width:920px;margin:auto;padding:0 24px}.journal-article-body>section{position:relative;padding:75px 0;border-top:1px solid #cbc7bc}.journal-section-number{position:absolute;left:-60px;top:82px;color:var(--orange);font-size:11px}.journal-article-body h2{font:400 clamp(36px,5vw,60px)/1.1 "Playfair Display";letter-spacing:0}.journal-prose{font-size:18px;line-height:1.85;color:#343b35}.journal-prose p{margin:0 0 23px}.journal-article-end{max-width:1100px;margin:30px auto 100px;padding:55px;background:#23362a;color:#fff;display:flex;justify-content:space-between;gap:40px;align-items:end}.journal-article-end h2{font:400 37px "Playfair Display";letter-spacing:0}
@media(max-width:850px){.nav{height:68px}.brand img{width:155px}.menu{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:var(--forest);padding:28px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero{min-height:680px}.hero-copy{margin-left:24px}.hero h1{font-size:52px}.hero-actions,.contact form,.journal-signup,.journal-signup form,.intro,.gallery,.craft-head,.quote,.story,.faq,.connect-more,footer{display:block}.gallery-main,.detail-crop{height:430px}.craft-grid,.steps{grid-template-columns:1fr}.craft-grid img{height:360px}.quote-copy{position:static}.calculator{margin-top:45px;max-height:760px}.choice-row,.cards,.range-grid{grid-template-columns:1fr 1fr}.contact,.quote,.process,.craft,.intro,.faq,.connect-more{padding:90px 24px}.story-copy{padding:80px 24px}.faq-head{position:static}.faq-list{margin-top:34px}.connect-cards{grid-template-columns:1fr;margin-top:32px}.journal-signup form{margin-top:28px}.journal-signup label,.journal-signup button{display:block;margin-top:18px}footer p,footer small{text-align:left}.contact label{grid-column:1/-1}}
@media(max-width:520px){.choice-row,.cards,.range-grid{grid-template-columns:1fr}.hero h1{font-size:45px}.card-choice img{height:120px}}

.shape-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shape-choice{min-height:118px;border:1px solid #b7b3aa;background:#f6f2ea;color:var(--ink);display:grid;place-items:center;gap:10px;padding:16px 12px;font:700 14px "DM Sans",Arial,sans-serif;cursor:pointer}
.shape-choice.active{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:#fff}
.shape-icon{width:76px;height:46px;border:3px solid #4b594d;background:#fff;display:block}
.shape-icon-rectangle{border-radius:3px}
.shape-icon-round{width:54px;height:54px;border-radius:50%}
.card-choice{min-height:142px;display:grid;grid-template-rows:96px auto;gap:10px;align-items:center;justify-items:stretch;cursor:pointer;color:var(--ink)}
.card-choice img,.choice-photo-empty{width:100%;height:96px;object-fit:cover;margin:0;background:#ded8cb;display:grid;place-items:center;font-size:11px;color:#667067}
.card-choice span:last-child{display:block;line-height:1.2;align-self:start}
.builder-preview{height:auto;aspect-ratio:16/10;min-height:240px;max-height:340px;overflow:hidden}
.builder-preview img{position:absolute;inset:0}
.size-guide{display:grid;grid-template-columns:120px repeat(3,1fr);gap:12px;align-items:stretch;border-left:0;border:1px solid #d5cec0;padding:14px;background:#f8f6ef}
.size-guide article{background:#fff;padding:12px;min-width:0}
.size-guide small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#7b8178;margin-bottom:5px}
.size-guide strong{font-size:14px;line-height:1.25}
.table-diagram{height:78px;background:#e8e0d2;border:2px solid #9b6a42;display:grid;place-items:center;color:#4d3827;font-weight:800;font-size:13px;padding:8px;text-align:center}
.table-diagram.rectangle{border-radius:6px}
.table-diagram.round{border-radius:999px;width:78px;justify-self:center}
.planning-note{margin:12px 0 0;color:#626a62;line-height:1.55;font-size:13px}
.chair-style-options[hidden]{display:none}
@media(max-width:850px){.calculator{max-height:none;overflow:visible}.builder-preview{min-height:210px}.size-guide{grid-template-columns:1fr 1fr}.table-diagram{grid-column:1/-1;width:100%}.table-diagram.round{width:86px}.card-choice{grid-template-rows:112px auto}.card-choice img,.choice-photo-empty{height:112px}}
@media(max-width:520px){.shape-choices{grid-template-columns:1fr 1fr}.shape-choice{min-height:104px;padding:12px 8px}.shape-icon{width:58px;height:36px}.shape-icon-round{width:44px;height:44px}.size-guide{grid-template-columns:1fr}.table-diagram.round{width:92px}.card-choice{grid-template-rows:128px auto}.card-choice img,.choice-photo-empty{height:128px}}

.quote-copy{grid-column:1;grid-row:1}
.calculator{grid-column:2;grid-row:1 / span 2}
.side-estimate{grid-column:1;grid-row:2;align-self:start;background:#e1f0fb;border-top:0;padding:24px;margin-top:4px}
.side-estimate.estimate-pending{background:#f4efe6}
.side-estimate.estimate-pending strong{font-size:28px;line-height:1.15}
.side-estimate.estimate-pending .button{opacity:.78}
.table-diagram.round{width:78px;height:78px;aspect-ratio:1/1;border-radius:50%;padding:0;justify-self:center}
.quote-handoff{background:#eff5ee;border-left:4px solid var(--orange);padding:14px 16px;text-align:left;line-height:1.55}
.quote-handoff p{margin:6px 0 0;color:#526055}
.contact select{width:100%;border:0;border-bottom:1px solid #9ea39b;background:#fff;padding:12px}
.contact>p:not(.eyebrow){margin-left:auto;margin-right:auto;text-align:center}
.promise{align-items:flex-start;line-height:1.45;padding-bottom:20px;margin-bottom:18px}
.promise span{flex:0 0 30px;margin-top:2px}
.promise p{margin:0;min-width:0}
.promise strong{display:block;margin-bottom:2px}
.side-estimate{margin-top:16px}
@media(max-width:850px){.calculator,.quote-copy,.side-estimate{grid-column:auto;grid-row:auto}.side-estimate{margin-top:28px}.table-diagram.round{width:86px;height:86px}.contact form{gap:18px}.contact input,.contact select{min-height:48px}.contact textarea{min-height:150px}}
@media(max-width:520px){.table-diagram.round{width:92px;height:92px}.side-estimate strong{font-size:40px}.side-estimate .button{width:100%}}


/* Annotation responsive quote polish */
@media(max-width:1100px){
  .quote{display:block;padding:100px 6vw}
  .quote-copy{position:static;max-width:720px}
  .calculator{margin-top:34px;max-height:none;overflow:visible}
  .side-estimate{margin-top:28px;max-width:520px}
}
@media(max-width:520px){
  .quote{padding:84px 20px}
  .quote-copy>p{font-size:16px;line-height:1.65}
  .side-estimate{padding:20px;gap:10px}
  .side-estimate strong{font-size:34px;line-height:1.05}
  .side-estimate span{font-size:12px}
}
@media(max-width:420px){
  .hero-copy{width:calc(100vw - 40px);margin-left:20px}
  .hero h1{font-size:42px;line-height:1.02}
  .hero p:not(.eyebrow){font-size:16px;line-height:1.55}
  .nav{padding:0 18px}
  .brand img{width:145px}
}

/* Final quote builder overlap guard */
.quote{
  grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);
  gap:clamp(36px,5vw,84px);
}
.quote-copy,.side-estimate,.calculator{min-width:0}
.side-estimate{position:relative;z-index:1;max-width:560px}
@media(max-width:1180px){
  .quote{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
    padding:96px max(28px,6vw);
  }
  .quote-copy{
    position:static!important;
    width:100%;
    max-width:760px;
    order:1;
  }
  .side-estimate{
    order:2;
    width:100%;
    max-width:760px;
    margin:0;
    padding:24px;
  }
  .calculator{
    order:3;
    width:100%;
    max-width:760px;
    margin-top:4px;
    max-height:none;
    overflow:visible;
  }
}
@media(max-width:540px){
  .quote{padding:84px 20px;gap:22px}
  .quote h2{font-size:clamp(40px,13vw,58px);line-height:1.03}
  .side-estimate strong{font-size:36px;line-height:1.05}
  .side-estimate .button{width:100%}
  .promise{gap:12px}
}


/* Laptop quote estimate alignment */
@media(min-width:1181px) and (max-width:1500px){
  .quote{
    grid-template-columns:minmax(300px,.72fr) minmax(250px,.42fr) minmax(520px,1fr);
    gap:32px;
  }
  .quote-copy{grid-column:1;grid-row:1}
  .side-estimate{
    grid-column:2;
    grid-row:1;
    align-self:start;
    margin-top:0;
    position:sticky;
    top:96px;
    max-width:none;
  }
  .side-estimate strong{font-size:38px;line-height:1.05}
  .calculator{grid-column:3;grid-row:1;max-height:min(860px,calc(100svh - 120px));overflow:auto}
}
