:root{--paper:#f3ecdf;--paper2:#e7dcc8;--ink:#241b15;--forest:#1f2d23;--forest2:#2e3d31;--rust:#7f5326;--gold:#b58b55;--pine:#9a6834;--walnut:#2e2119;--ivory:#f8f1e4;--brass:#b8935a;--charcoal:#2f2c29;--line:rgba(36,27,21,.16);--muted:#6f665e;--white:#fffaf2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit}.wrap{width:min(1220px,calc(100% - 38px));margin:auto}.display{font-family:"Cormorant Garamond",serif;font-weight:600;line-height:.96;letter-spacing:-.025em}.script-word{font-family:"Allura",cursive;font-weight:400;letter-spacing:.01em;color:#e3c08f;font-size:1.18em;display:inline-block;transform:rotate(-2deg);margin-left:.04em}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:var(--rust)}
.hero{position:relative;min-height:720px;color:#fff;overflow:hidden;background:#161b17}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.88) contrast(1.06) brightness(.82)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,14,.88) 0%,rgba(13,17,14,.55) 37%,rgba(13,17,14,.08) 68%),linear-gradient(180deg,transparent 65%,rgba(10,13,11,.35))}.hero .wrap{position:relative;z-index:2;min-height:720px;display:flex;align-items:center}.hero-copy{max-width:600px;padding:72px 0}.hero h1{font-size:clamp(4.2rem,8vw,7.7rem);margin:.14em 0 .18em}.hero p{font-size:1.12rem;max-width:560px;color:#eee4d7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pillars{background:#efe5d4;border-bottom:1px solid var(--line)}.pillars .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.pillar{padding:22px 18px;text-align:center;border-right:1px solid var(--line);font-size:.77rem;text-transform:uppercase;letter-spacing:.12em}.pillar:last-child{border-right:0}
.story{padding:100px 0}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:stretch}.story-copy{padding:38px 34px 30px 0}.story h2{font-size:clamp(3rem,5.5vw,5.2rem);margin:.2em 0 .25em;max-width:8ch}.story p{color:#514941;max-width:530px}.story-visuals{display:grid;grid-template-columns:1fr;gap:10px;align-content:start}.story-visuals img{object-fit:cover}.barn-wide{aspect-ratio:129/79}.wood-detail{position:relative}.wood-detail img{aspect-ratio:16/7;object-position:center 45%}.wood-detail:after{content:"REAL WOOD.\A REAL HISTORY.\A BUILT TO LAST.";white-space:pre;position:absolute;right:24px;bottom:24px;color:white;font-size:.72rem;letter-spacing:.18em;line-height:1.8;text-align:right;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.our-story{padding:105px 0;background:#2b1d11;color:#f6ead7}.our-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.our-story h2{font-size:clamp(3.2rem,5.4vw,5.6rem);margin:.16em 0 .26em}.our-story p{color:#e4d3bc;max-width:620px}.our-story .eyebrow{color:#d6a66d}.story-photo{position:relative}.story-photo img{aspect-ratio:129/79;object-fit:cover;filter:saturate(.82) contrast(1.04)}.story-photo:after{content:"THE BARN BEHIND\A THE MARTINDALE COLLECTION";white-space:pre;position:absolute;left:24px;bottom:24px;color:white;font-family:"Cormorant Garamond",serif;font-size:1.5rem;line-height:1.05;text-shadow:0 2px 16px rgba(0,0,0,.6)}.custom-hero{min-height:560px;position:relative;color:white;background:#1e241f;overflow:hidden}.custom-hero img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.52) saturate(.72)}.custom-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,24,19,.87) 0%,rgba(17,24,19,.38) 48%,transparent 72%)}.custom-hero .wrap{position:relative;z-index:2;min-height:560px;display:flex;align-items:center}.custom-copy{max-width:620px}.custom-copy h2{font-size:clamp(3.4rem,6vw,6rem);margin:.14em 0 .2em}.custom-copy p{color:#e7ddd0;max-width:530px}
.cards{padding:34px 0 100px;background:var(--paper)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;overflow:hidden;background:#ddd;min-height:355px}.card img{height:100%;object-fit:cover;transition:.45s}.card:hover img{transform:scale(1.035)}.card:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(18,15,12,.82))}.card-wide{grid-column:1/-1;min-height:480px}.card-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:white}.card-copy h3{font-family:"Cormorant Garamond",serif;font-size:1.9rem;line-height:1;margin:0 0 4px}.card-copy span{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:#e8dbca}
.feature{padding:100px 0;background:#efe5d6}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.feature-img{box-shadow:0 18px 60px rgba(42,28,16,.18)}.feature h2{font-size:clamp(3.4rem,5vw,5.3rem);margin:.16em 0 .2em}.feature p{color:#5a5148;max-width:520px}.specs{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spec{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.spec:last-child{border:0}.price{font-family:"Cormorant Garamond",serif;font-size:1.35rem}.swing-feature{background:var(--forest);color:var(--white)}.swing-feature p{color:#ddd2c4}.swing-feature .eyebrow{color:#d6b07b}.swing-feature .feature-img{box-shadow:0 18px 60px rgba(0,0,0,.3)}.swing-price{font-family:"Cormorant Garamond",serif;font-size:2.2rem;margin:20px 0 4px}.swing-note{font-size:.82rem;color:#bfb2a2!important}
.quote-band{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fff}.quote-text{padding:70px max(6vw,calc((100vw - 1220px)/2)) 70px 6vw;display:flex;flex-direction:column;justify-content:center}.quote-text blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1.14;margin:0;color:#f3eadf}.signature{font-family:"Caveat",cursive;font-weight:700;font-size:clamp(2.6rem,4vw,3.5rem);line-height:1;color:#d3a86a;margin-top:24px;align-self:start;transform:rotate(-4deg);transform-origin:left center}.brand-burn img{height:100%;min-height:380px;object-fit:cover}
.cta{padding:92px 0;background:#f6efe4}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.cta h2{font-size:clamp(3.2rem,5vw,5rem);margin:.14em 0}.cta p{max-width:640px;color:#5c534b}
footer{background:var(--forest);color:#d9cdbd;padding:48px 0 26px}.foot{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}.foot-logo img{width:90px;filter:brightness(0) invert(1);opacity:.9}.foot-links{display:flex;gap:24px;justify-content:center;font-size:.8rem}.foot-links a{text-decoration:none}.tagline{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:20px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9f9485}
@media(max-width:900px){.our-story-grid{grid-template-columns:1fr}.hero,.hero .wrap{min-height:630px}.story-grid,.feature-grid,.quote-band{grid-template-columns:1fr}.story-copy{padding-right:0}.card-grid{grid-template-columns:1fr 1fr}.quote-text{padding:60px 28px}.cta-grid,.foot{grid-template-columns:1fr}.foot-links{justify-content:flex-start;flex-wrap:wrap}.tagline{justify-self:start}}
@media(max-width:600px){.wrap{width:min(100% - 26px,1220px)}.hero h1{font-size:clamp(3.3rem,15vw,4rem)}.pillars .wrap{grid-template-columns:1fr 1fr}.pillar:nth-child(2){border-right:0}.story,.feature{padding:72px 0}.wood-detail img{aspect-ratio:16/9}.card-grid{grid-template-columns:1fr}.card{min-height:330px}.custom-hero,.custom-hero .wrap{min-height:520px}.cta{padding:70px 0}}

/* ---------- Two-option chooser (home) ---------- */
.choose{padding:100px 0;background:var(--paper)}
.choose-head{max-width:640px;margin-bottom:40px}
.choose-head h2{font-size:clamp(2.8rem,5vw,4.6rem);margin:.16em 0 .25em}
.choose-head p{color:#514941}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.choice{position:relative;display:block;overflow:hidden;min-height:540px;background:#1e241f;color:#fff;text-decoration:none}
.choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease;filter:saturate(.9) brightness(.74)}
.choice:hover img{transform:scale(1.04)}
.choice:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,18,15,.34) 0%,rgba(14,18,15,.12) 38%,rgba(12,16,13,.88) 100%)}
.choice-copy{position:absolute;z-index:2;inset:auto 30px 30px 30px}
.choice-copy .eyebrow{color:#e0be92}
.choice-copy h3{font-family:"Cormorant Garamond",serif;font-weight:600;letter-spacing:-.025em;font-size:clamp(2.3rem,3.2vw,3.4rem);line-height:1;margin:.12em 0 .3em}
.choice-copy p{color:#e7ddd0;font-size:.95rem;max-width:42ch;margin:0}
.choice-more{display:inline-block;margin-top:18px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px}

/* ---------- Portfolio page hero ---------- */
.page-hero{position:relative;min-height:440px;color:#fff;overflow:hidden;background:#161b17}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.05) brightness(.66)}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,14,.86) 0%,rgba(13,17,14,.5) 45%,rgba(13,17,14,.12) 76%)}
.page-hero .wrap{position:relative;z-index:2;min-height:440px;display:flex;align-items:center}
.page-hero-copy{max-width:640px;padding:64px 0}
.page-hero h1{font-size:clamp(3.2rem,6.4vw,6rem);margin:.14em 0 .22em}
.page-hero p{font-size:1.08rem;max-width:560px;color:#eee4d7}
.crumb{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#cbbda9;margin-bottom:8px}
.crumb a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}

/* ---------- Gallery section intro ---------- */
.gallery-head{padding:54px 0 26px;background:var(--paper)}
.gallery-head .inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 54px;align-items:end;max-width:1080px}
.gallery-head .eyebrow{grid-column:1/-1}
.gallery-head h2{font-size:clamp(2.4rem,4.2vw,3.8rem);margin:.12em 0 0}
.gallery-head p{color:#514941;margin:0 0 .35em;max-width:52ch}
.cards.tight{padding-top:0}

/* ---------- Card without a photo yet ---------- */
.card.pending{background:#2b1d11;display:flex;align-items:center;justify-content:center}
.card.pending:after{display:none}
.card.pending .pending-mark{color:#d6a66d;font-family:"Cormorant Garamond",serif;font-size:1.6rem;line-height:1.2;text-align:center;padding:0 26px}
.card.pending .pending-mark small{display:block;margin-top:10px;font-family:Inter,Arial,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#a9977f}

@media(max-width:900px){
  .choice-grid{grid-template-columns:1fr}
  .choice{min-height:440px}
  .choose{padding:72px 0}
  .page-hero,.page-hero .wrap{min-height:380px}
  .gallery-head .inner{grid-template-columns:1fr;gap:10px}
}
@media(max-width:600px){
  .choice{min-height:400px}
  .choice-copy{inset:auto 20px 22px 20px}
  .page-hero h1{font-size:3rem}
  .gallery-head{padding:40px 0 22px}
  .gallery-head .inner{grid-template-columns:1fr;gap:10px}
  .gallery-head h2{margin:.12em 0 .1em}
}

/* ---------- Build / delivery video (custom projects, Martindale) ---------- */
.build-film{padding:96px 0;background:#2b1d11;color:#f6ead7}
.build-film-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.build-film .eyebrow{color:#d6a66d}
.build-film h2{font-size:clamp(2.8rem,4.8vw,4.8rem);margin:.16em 0 .26em}
.build-film p{color:#e4d3bc;max-width:520px}
.build-film .film-meta{margin-top:22px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#a9977f}
/* Vertical clip: cap by viewport height so a phone never has to scroll the video */
.film{margin:0;width:100%;justify-self:center;max-width:min(400px,calc(78vh * 512 / 910));max-width:min(400px,calc(78svh * 512 / 910))}
.film-frame{padding:10px;background:#1a1109;box-shadow:0 24px 55px rgba(0,0,0,.35)}
.film-video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#17130f}
.film figcaption{margin-top:12px;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#a9977f;text-align:center}

@media(max-width:900px){
  .build-film{padding:66px 0}
  .build-film-grid{grid-template-columns:1fr;gap:34px}
  .build-film p{max-width:none}
  .film{max-width:min(100%,calc(74vh * 512 / 910));max-width:min(100%,calc(74svh * 512 / 910))}
}
@media(max-width:600px){
  .build-film{padding:54px 0}
  .build-film h2{font-size:2.6rem}
  .film-frame{padding:7px}
  .film{max-width:min(100%,calc(68vh * 512 / 910));max-width:min(100%,calc(68svh * 512 / 910))}
}

/* ---------- Martindale table price calculator ---------- */
.calc{margin:26px 0 20px;padding:24px 24px 20px;background:#f8f2e8;border:1px solid var(--line)}
.calc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.calc-title{font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:600;line-height:1;margin:0}
.calc-note{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.calc-group{border:0;margin:16px 0 0;padding:0;min-width:0}
.calc-group legend{padding:0;margin-bottom:8px;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.calc-options{display:flex;flex-wrap:wrap;gap:8px}
.calc-options label{position:relative;cursor:pointer}
.calc-options input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.calc-options span{display:flex;align-items:center;justify-content:center;min-width:58px;min-height:44px;padding:0 14px;border:1px solid var(--line);background:var(--white);font-size:.9rem;transition:background .15s,border-color .15s,color .15s}
.calc-options label:hover span{border-color:var(--gold)}
.calc-options input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--white)}
.calc-options input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.calc-size{font-size:.9rem;color:#5a5148}
.calc-price{font-family:"Cormorant Garamond",serif;font-size:2.6rem;font-weight:600;line-height:1;color:var(--ink)}
.calc-actions{display:flex;flex-wrap:wrap;gap:10px}
.calc-trigger{font-family:inherit;line-height:inherit;cursor:pointer}
.calc-close:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
.table-pricing-open{overflow:hidden}
.calc-dialog{width:min(560px,calc(100% - 26px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(36,27,21,.3);overflow-y:auto;overscroll-behavior:contain}
.calc-dialog::backdrop{background:rgba(24,30,25,.72)}
.calc-dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.calc-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.8rem;cursor:pointer}
.calc-close span{font-size:1.4rem;line-height:1}
.calc-close:hover{background:var(--paper2)}
.calc-dialog .calc{margin:16px 0 20px}
@media(max-width:600px){
  .calc-dialog{padding:16px}
  .calc{padding:20px 16px 16px}
  .calc-options span{min-width:52px;padding:0 10px}
  .calc-price{font-size:2.2rem}
}

/* ---------- Footer service area ---------- */
.service-area{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#c3b7a7;max-width:74ch}
.service-area+.copyright{border-top:0;margin-top:14px;padding-top:0}


/* ---------- Maker's mark credit ---------- */
.maker-mark{display:block;margin-top:8px;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:#9f9485;text-align:center}

/* ---------- About page ---------- */
.about{padding:72px 0 96px;background:var(--paper);overflow:hidden}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:64px;align-items:start}
.about .crumb{color:var(--muted)}
.about .crumb a{border-bottom-color:var(--line)}
.about-kicker{display:flex;align-items:center;gap:18px;margin-top:26px;font-family:"Cormorant Garamond",serif;font-size:1.3rem;letter-spacing:.32em;text-transform:uppercase}
.about-kicker:after{content:"";flex:0 1 220px;height:1px;background:var(--ink);opacity:.7}
.about h1{font-size:clamp(3.6rem,7vw,6.6rem);text-transform:uppercase;letter-spacing:-.01em;margin:.08em 0 .14em}
.about-roles{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-bottom:30px}
.about-roles span{margin:0 .6em;color:var(--rust)}
.about-copy p{font-family:"Cormorant Garamond",serif;font-size:1.32rem;line-height:1.45;color:#3a3029;max-width:36em;margin:0 0 1em}
.about-sign{display:flex;flex-direction:column;align-items:flex-start;margin-top:26px}
.about-sign-name{font-family:"Allura",cursive;font-size:clamp(3.4rem,5vw,4.4rem);line-height:1;color:var(--ink);transform:rotate(-3deg);transform-origin:left center;padding-right:60px;border-bottom:1px solid var(--ink)}
.about-sign-co{margin:10px 0 0 120px;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase}
.about-visual{position:relative;padding-bottom:150px}
.about-portrait{aspect-ratio:662/790;object-fit:cover;box-shadow:0 22px 60px rgba(42,28,16,.22)}
.about-polaroid{position:absolute;right:-18px;bottom:0;width:min(46%,260px);margin:0;transform:rotate(5deg);box-shadow:0 18px 40px rgba(30,20,12,.35)}
.about-actions{margin-top:22px}
@media(max-width:900px){
  .about{padding:48px 0 72px}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .about-visual{max-width:560px;width:100%;justify-self:center}
  .about-polaroid{right:-6px}
}
@media(max-width:600px){
  .about-copy p{font-size:1.2rem}
  .about-visual{padding-bottom:110px}
  .about-polaroid{width:48%}
  .about-sign-co{margin-left:80px}
}


/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(248,241,228,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(127,83,38,.16)}
/* Fine pine-and-brass hairline along the base of the bar */
.site-header:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,rgba(184,147,90,.55) 22%,rgba(154,104,52,.45) 50%,rgba(184,147,90,.55) 78%,transparent);opacity:.6;pointer-events:none}
.nav{min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px}
.brand{display:flex;align-items:center;text-decoration:none;gap:10px}
.brand img{width:62px;height:62px;object-fit:contain}
.navlinks{justify-self:center;display:flex;gap:38px}
.navlinks a{position:relative;text-decoration:none;font-size:.76rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--charcoal);padding:8px 0;transition:color .2s}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.navlinks a:hover{color:var(--rust)}
.navlinks a:hover:after,.navlinks a[aria-current="page"]:after{transform:scaleX(1)}
.navlinks a[aria-current="page"]{color:var(--rust)}
.navlinks a:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.navlinks .nav-call{display:none}
.nav-tools{display:flex;align-items:center;gap:10px}
.quote{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--walnut);font-size:.84rem;font-weight:500;letter-spacing:.06em;padding:10px 16px;border:1px solid rgba(184,147,90,.65);border-radius:5px;transition:background .2s,border-color .2s,color .2s}
.quote .icon-phone{color:var(--rust);flex:none}
.quote:hover{background:var(--walnut);border-color:var(--walnut);color:var(--ivory)}
.quote:hover .icon-phone{color:var(--brass)}
.quote:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.nav-toggle{display:none}
.nav-toggle[hidden]{display:none!important}
@media(max-width:1080px) and (min-width:901px){.navlinks{gap:24px}.navlinks a{letter-spacing:.12em}.nav{gap:24px}}

@media(max-width:900px){
  .nav{min-height:62px;gap:12px;grid-template-columns:auto 1fr auto}
  .brand img{width:44px;height:44px}
  .nav-tools{grid-column:3}
  .quote{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
  .quote .quote-num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--walnut);cursor:pointer}
  .nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:22px;height:1.5px;background:currentColor;border-radius:1px;transition:transform .3s ease,opacity .2s}
  .nav-toggle-bars{position:relative}
  .nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}
  .nav-toggle-bars:before{top:-7px}
  .nav-toggle-bars:after{top:7px;width:15px}
  .nav-open .nav-toggle-bars{background:transparent}
  .nav-open .nav-toggle-bars:before{transform:translateY(7px) rotate(45deg)}
  .nav-open .nav-toggle-bars:after{width:22px;transform:translateY(-7px) rotate(-45deg)}

  /* Without JavaScript: a quiet row of links under the logo */
  .navlinks{grid-column:1/-1;grid-row:2;justify-self:stretch;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:0 0 10px}
  .navlinks a{font-size:.68rem;letter-spacing:.12em}

  /* With JavaScript: a parchment drop-down panel */
  .nav-ready .navlinks{
    position:absolute;top:100%;left:0;right:0;grid-row:auto;
    display:flex;flex-direction:column;gap:0;padding:14px 26px 26px;
    max-height:calc(100vh - 62px);max-height:calc(100dvh - 62px);overflow-y:auto;
    background:url(/images/grain-pine.svg) center/640px 160px,linear-gradient(180deg,#f8f1e4,#efe4d0);
    background-blend-mode:soft-light,normal;
    border-top:1px solid rgba(127,83,38,.14);
    z-index:2;box-shadow:0 26px 40px -18px rgba(36,24,14,.4);
    visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity .25s ease,transform .3s ease,visibility 0s linear .3s;
  }
  .nav-ready.nav-open .navlinks{visibility:visible;opacity:1;transform:none;transition:opacity .25s ease,transform .3s ease}
  /* Dim the page behind the open panel */
  .nav-ready:after{content:"";position:absolute;top:100%;left:0;right:0;height:100vh;background:rgba(26,20,14,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}
  .nav-ready.nav-open:after{opacity:1;visibility:visible;transition:opacity .25s ease}
  .nav-ready .navlinks a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 2px;border-bottom:1px solid rgba(127,83,38,.16);font-family:"Cormorant Garamond",serif;font-size:1.65rem;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--walnut)}
  .nav-ready .navlinks a:after{content:"→";position:static;height:auto;background:none;transform:none;font-family:Inter,Arial,sans-serif;font-size:.95rem;color:var(--brass)}
  .nav-ready .navlinks a[aria-current="page"]{color:var(--rust)}
  .nav-ready .navlinks a[aria-current="page"]:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass)}
  .nav-ready .navlinks .nav-call{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin-top:18px;padding:14px 18px;border:1px solid rgba(184,147,90,.6);border-radius:5px;font-family:Inter,Arial,sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:.04em;color:var(--walnut)}
  .nav-ready .navlinks .nav-call span{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rust);margin-bottom:2px}
  .nav-ready .navlinks .nav-call:after{display:none}
}
@media(prefers-reduced-motion:reduce){.nav-ready .navlinks,.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after,.navlinks a:after{transition:none!important}}

/* ---------- Hero refinements ---------- */
.hero-eyebrow{color:#dcc39f}
.hero p{text-shadow:0 1px 18px rgba(8,10,9,.45)}
.hero-actions{gap:14px;margin-top:34px}
@media(max-width:700px){
  .hero,.hero .wrap{min-height:min(640px,calc(100svh - 62px))}
  .hero>img{object-position:62% 40%}
  .hero:after{background:linear-gradient(180deg,rgba(13,17,14,.18) 0%,rgba(13,17,14,.38) 32%,rgba(13,17,14,.82) 62%,rgba(11,14,12,.94) 100%)}
  .hero .wrap{align-items:flex-end}
  .hero-copy{padding:150px 0 34px}
  .hero p{font-size:1.02rem}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px}
}

/* ---------- Wood-finish buttons ----------
   Primary: reclaimed longleaf pine. Secondary: dark-stained walnut with a
   fine brass inlay. Grain comes from small SVG noise textures. */
.btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.9em;
  min-height:52px;padding:14px 28px;
  font-family:Inter,Arial,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.3;text-align:center;text-decoration:none;
  color:var(--ivory);
  border:1px solid #16100b;border-radius:5px;
  background:
    linear-gradient(180deg,rgba(255,236,205,.09) 0%,rgba(255,236,205,0) 42%,rgba(0,0,0,.2) 100%),
    url(/images/grain-walnut.svg) 0 35%/640px 160px,
    linear-gradient(98deg,#3b2a1f 0%,#2c1f17 28%,#36271c 52%,#291d15 78%,#33251b 100%);
  box-shadow:
    inset 0 0 0 3px #2a1e16,inset 0 0 0 4px rgba(184,147,90,.5),
    0 1px 2px rgba(20,12,6,.35),0 10px 24px -10px rgba(20,12,6,.6);
  text-shadow:0 1px 1px rgba(0,0,0,.55);
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.btn.primary{
  border-color:#5f3c1b;
  background:
    linear-gradient(180deg,rgba(255,232,190,.2) 0%,rgba(255,232,190,0) 40%,rgba(52,28,8,.24) 100%),
    url(/images/grain-pine.svg) 0 60%/640px 160px,
    linear-gradient(97deg,#a26f3a 0%,#93602f 24%,#a06c37 46%,#8c5a2b 72%,#9a6632 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,226,178,.35),inset 0 -1px 0 rgba(58,32,10,.35),
    0 1px 2px rgba(40,22,6,.35),0 10px 24px -10px rgba(40,22,6,.6);
  text-shadow:0 1px 1px rgba(52,26,6,.7),0 0 10px rgba(52,26,6,.25);
}
/* Soft satin sheen that drifts across on hover, like light on oiled wood */
.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,238,210,.16) 48%,rgba(255,238,210,.05) 56%,transparent 70%);transform:translateX(-110%);transition:transform .8s ease}
.btn:hover:before{transform:translateX(110%)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.btn:hover{box-shadow:inset 0 0 0 3px #2a1e16,inset 0 0 0 4px rgba(201,164,104,.8),0 2px 4px rgba(20,12,6,.3),0 16px 30px -12px rgba(20,12,6,.65)}
.btn.primary:hover{box-shadow:inset 0 1px 0 rgba(255,226,178,.4),inset 0 -1px 0 rgba(58,32,10,.35),0 2px 4px rgba(40,22,6,.3),0 16px 30px -12px rgba(40,22,6,.65)}
.btn:active{transform:translateY(0);filter:brightness(.96);transition-duration:.08s}
.btn:active,.btn.primary:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.25),0 1px 2px rgba(20,12,6,.3)}
.btn:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.btn-arrow{display:inline-block;font-size:1.05em;letter-spacing:0;color:#d9b77f;transition:transform .3s ease}
.btn.primary .btn-arrow{color:#fbe9c8}
.btn:hover .btn-arrow{transform:translateX(3px)}
@media(max-width:600px){.btn{padding:14px 20px;letter-spacing:.12em;font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.btn,.btn:before,.btn-arrow{transition:none}.btn:hover,.btn:active{transform:none}.btn:hover:before{transform:translateX(-110%)}}

/* ---------- Shop: pieces you claim by call or text ---------- */
.shop{padding:6px 0 100px;background:var(--paper)}
.shop-home{padding:96px 0 90px;background:linear-gradient(180deg,#f6efe4 0%,var(--paper) 100%);border-bottom:1px solid var(--line)}
.shop-home-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 64px;align-items:end;margin-bottom:44px}
.shop-home-head h2{font-size:clamp(3rem,5vw,4.9rem);margin:.14em 0 0}
.shop-home-head p{color:#514941;margin:0 0 14px;max-width:48ch}
.shop-all{font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--rust);border-bottom:1px solid rgba(127,83,38,.4);padding-bottom:3px}
.shop-all:hover{color:var(--walnut);border-color:var(--brass)}
.piece-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.piece{display:flex;flex-direction:column;background:var(--white);border:1px solid rgba(184,147,90,.35);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 40px -28px rgba(42,28,16,.45);transition:box-shadow .35s ease,transform .35s ease}
.piece:hover{transform:translateY(-3px);box-shadow:0 26px 50px -26px rgba(42,28,16,.5)}
.piece-img{position:relative;overflow:hidden;aspect-ratio:4/5;background:#2b1d11}
.piece-img img{height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03);transition:transform .6s ease}
.piece:hover .piece-img img{transform:scale(1.04)}
.piece-tag{position:absolute;left:14px;top:14px;padding:6px 10px;background:rgba(31,45,35,.86);color:#ecdcc3;font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(3px)}
.piece-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 18px}
.piece-line{display:flex;flex-direction:column;gap:12px;flex:1;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(184,147,90,.35)}
.piece h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.65rem;line-height:1.02;letter-spacing:-.015em;margin:0 0 6px;color:var(--walnut)}
.piece-detail{margin:0;font-size:.82rem;color:var(--muted)}
.piece-price{margin-top:auto}
.piece-price strong{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.55rem;line-height:1;color:var(--ink)}
.piece-price small{display:block;margin-top:4px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.piece-actions{display:flex;gap:8px}
.piece-buy,.piece-call{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:5px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.piece-buy{flex:1;gap:9px;padding:0 14px;background:var(--walnut);color:var(--ivory);font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;box-shadow:inset 0 0 0 1px #16100b,inset 0 0 0 3px #2a1e16,inset 0 0 0 4px rgba(184,147,90,.45)}
.piece-buy svg{color:var(--brass);flex:none}
.piece-buy:hover{background:var(--rust)}
.piece-buy:hover svg{color:#fbe9c8}
.piece-call{flex:none;width:48px;border:1px solid rgba(184,147,90,.65);color:var(--rust)}
.piece-call:hover{background:var(--walnut);border-color:var(--walnut);color:var(--brass)}
.piece-buy:focus-visible,.piece-call:focus-visible,.piece-link:focus-visible,.shop-all:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.piece-extra{margin-top:12px;text-align:center}
.piece-link{padding:4px 0;border:0;border-bottom:1px solid rgba(127,83,38,.35);background:none;font:inherit;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);text-decoration:none;cursor:pointer}
.piece-link:hover{color:var(--walnut);border-color:var(--brass)}
.buy-how{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px 70px;align-items:center;margin-top:80px;padding:56px;background:var(--forest);color:var(--white);background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.12))}
.buy-how .eyebrow{color:#d6b07b}
.buy-how h2{font-size:clamp(2.6rem,4.2vw,4rem);margin:.14em 0 .28em}
.buy-how-head p{color:#ddd2c4;margin:0;max-width:44ch}
.buy-how-head a{color:#f0d6ab;text-decoration:none;border-bottom:1px solid rgba(240,214,171,.45);white-space:nowrap}
.buy-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.buy-steps li{display:grid;grid-template-columns:56px 1fr;column-gap:8px;padding:20px 0;border-top:1px solid rgba(184,147,90,.3)}
.buy-steps li:last-child{border-bottom:1px solid rgba(184,147,90,.3)}
.buy-step-n{grid-row:span 2;font-family:"Cormorant Garamond",serif;font-size:1.9rem;line-height:1;color:var(--brass)}
.buy-steps h3{margin:0 0 4px;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.45rem;line-height:1.1}
.buy-steps p{margin:0;font-size:.9rem;color:#cfc3b3}
.shop-home .buy-steps{grid-template-columns:repeat(3,1fr);gap:0 34px;margin-top:56px}
.shop-home .buy-steps li,.shop-home .buy-steps li:last-child{border-bottom:0;border-top:1px solid var(--brass)}
.shop-home .buy-steps p{color:#5a5148}
.shop-home .buy-steps h3{color:var(--walnut)}
.shop-home .buy-step-n{color:var(--rust)}
.buy-bar{display:none}
@media(max-width:1080px){.piece-grid{grid-template-columns:repeat(2,1fr)}.piece-img{aspect-ratio:4/3}}
@media(max-width:900px){
  .shop-home-head,.buy-how{grid-template-columns:1fr}
  .buy-how{padding:40px 28px;margin-top:60px}
  .shop-home .buy-steps{grid-template-columns:1fr;margin-top:40px}
  body.has-buy-bar{padding-bottom:76px}
  .buy-bar{display:flex;gap:8px;position:fixed;z-index:50;left:0;right:0;bottom:0;padding:10px 13px calc(10px + env(safe-area-inset-bottom));background:rgba(31,45,35,.96);border-top:1px solid rgba(184,147,90,.45);backdrop-filter:blur(6px)}
  .buy-bar a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:5px;text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
  .buy-bar-text{flex:1;background:linear-gradient(97deg,#a26f3a,#8c5a2b);color:#fff8ec;text-shadow:0 1px 1px rgba(52,26,6,.6)}
  .buy-bar-call{flex:0 0 34%;border:1px solid rgba(184,147,90,.7);color:#f0d6ab}
  body.table-pricing-open .buy-bar{display:none}
}
@media(max-width:600px){
  .shop{padding-bottom:72px}.shop-home{padding:72px 0}
  .piece-grid{grid-template-columns:1fr;gap:18px}
  .piece-img{aspect-ratio:5/4}
  .buy-how{margin-left:-13px;margin-right:-13px;padding:40px 22px}
}
@media(prefers-reduced-motion:reduce){.piece,.piece-img img{transition:none}.piece:hover,.piece:hover .piece-img img{transform:none}}

/* ---------- Bright homepage hero ----------
   Ivory panel with the photo set beside the copy instead of under a dark scrim. */
.home-hero{background:linear-gradient(180deg,var(--ivory) 0%,var(--paper) 100%);border-bottom:1px solid var(--line);overflow:hidden}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;padding:56px 0 64px}
.home-hero-copy{max-width:580px}
.home-hero h1{font-size:clamp(4rem,7.4vw,7.2rem);margin:.14em 0 .2em;color:var(--walnut)}
.home-hero .script-word{color:var(--pine)}
.home-hero p{font-size:1.12rem;max-width:520px;color:#514941}
.hero-call{font-size:.92rem;color:var(--muted);text-decoration:none;align-self:center}
.hero-call strong{color:var(--walnut);font-weight:600;border-bottom:1px solid var(--brass);padding-bottom:1px;margin-left:.25em}
.hero-call:hover strong{color:var(--rust)}
.home-hero-photo{position:relative;margin:0;justify-self:end;width:100%;max-width:520px}
.home-hero-photo:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--brass);border-radius:4px;opacity:.7}
.home-hero-photo img{position:relative;aspect-ratio:4/5;object-fit:cover;object-position:center 60%;border-radius:4px;box-shadow:0 30px 60px -30px rgba(46,33,25,.55)}
.home-hero-photo figcaption{position:absolute;left:18px;bottom:16px;padding:7px 12px;background:rgba(248,241,228,.92);color:var(--walnut);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:3px}
@media(max-width:900px){
  .home-hero-grid{grid-template-columns:1fr;gap:36px;padding:34px 0 52px}
  .home-hero-copy{order:2}
  .home-hero-photo{order:1;justify-self:stretch;max-width:none}
  .home-hero-photo:before{display:none}
  .home-hero-photo img{aspect-ratio:4/3}
}
@media(max-width:600px){
  .home-hero h1{font-size:clamp(3.3rem,15vw,4rem)}
  .home-hero-photo img{aspect-ratio:1/1}
  .home-hero .hero-actions{flex-direction:column;align-items:stretch}
  .hero-call{text-align:center}
}

/* ---------- Homepage portfolio: collections + custom ---------- */
.portfolio-home{padding:96px 0;background:var(--paper)}
.portfolio-home-head{max-width:660px;margin-bottom:40px}
.portfolio-home-head h2{font-size:clamp(2.8rem,5vw,4.6rem);margin:.16em 0 .25em}
.portfolio-home-head p{color:#514941}
.portfolio-groups{display:grid;grid-template-columns:2fr 1fr;gap:22px}
.portfolio-group-label{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--brass)}
.portfolio-group-label h3{margin:0;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.65rem;line-height:1.1;color:var(--walnut)}
.portfolio-group-label span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.portfolio-tiles{display:grid;gap:22px}
.portfolio-group-collections .portfolio-tiles{grid-template-columns:1fr 1fr}
.portfolio-home .choice{min-height:500px;border-radius:4px}
.portfolio-home .choice img{filter:saturate(.95) brightness(.92)}
.portfolio-home .choice:after{background:linear-gradient(180deg,rgba(14,18,15,0) 0%,rgba(14,18,15,.05) 40%,rgba(12,16,13,.82) 100%)}
.portfolio-home .choice-copy h3{font-size:clamp(2rem,2.6vw,2.7rem)}
@media(max-width:1000px){
  .portfolio-groups{grid-template-columns:1fr}
  .portfolio-home .choice{min-height:440px}
}
@media(max-width:600px){
  .portfolio-home{padding:68px 0}
  .portfolio-group-collections .portfolio-tiles{grid-template-columns:1fr}
  .portfolio-home .choice{min-height:380px}
  .portfolio-home .choice-copy{inset:auto 20px 22px 20px}
}
@media(prefers-reduced-motion:reduce){.portfolio-home .choice img{transition:none}.portfolio-home .choice:hover img{transform:none}}
