/* Timber Posse responsive layout REVIEW v2. Graphic assets remain separate and unmodified. */
:root{--ink:#382316;--accent:#60381f;--felt:#c09b72;--content:1490px;--header-brightness:1;--mobile-product-width:262px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--felt) url("backgrounds/continuous_tan_felt.png") repeat;background-size:768px 512px;color:var(--ink);font-family:Georgia,'Times New Roman',serif}
img{max-width:100%;height:auto}a{color:inherit}button{font:inherit}.skip-link{position:absolute;top:-150px;left:10px;background:#eee;padding:10px;z-index:90}.skip-link:focus{top:10px}
.site-header{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:minmax(390px,1.04fr) minmax(0,1.25fr);align-items:start;column-gap:18px;padding:20px 25px 0}
.brand-plank{display:block;width:100%;max-width:690px;line-height:0;filter:brightness(var(--header-brightness))}.brand-plank img{display:block;width:100%;height:auto}
.site-nav{align-self:start;padding-top:3px}.nav-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:4px}.hanging-nav{display:block;line-height:0;filter:brightness(var(--header-brightness));transition:transform .15s}.hanging-nav img{display:block;width:100%;height:auto}.hanging-nav:hover{transform:translateY(-3px)}
.hero{max-width:var(--content);margin:-8px auto 15px;padding:0 32px 10px;display:grid;grid-template-columns:minmax(250px,.85fr) minmax(320px,.89fr) minmax(350px,1.1fr);grid-template-areas:'panel copy scene';gap:12px;align-items:center;min-height:435px}
.radiant-panel{grid-area:panel;display:block;width:min(100%,460px);margin:0 auto;align-self:start;filter:drop-shadow(0 5px 5px rgba(46,28,15,.12))}
.hero-copy{grid-area:copy;align-self:center;padding:18px 0 22px;z-index:1}.overline{font:bold .73rem/1.4 Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:#694326;margin:0 0 12px}
.hero-copy h1{font-weight:500;font-size:clamp(2.4rem,3.6vw,3.85rem);letter-spacing:-.04em;line-height:1.1;margin:0 0 18px}
.hero-lead,.hero-second{font-size:clamp(.98rem,1.12vw,1.12rem);line-height:1.48;margin:0 0 17px}
.hero-second{margin-bottom:24px}.explore-link{display:inline-flex;align-items:center;gap:9px;border-radius:7px;border:1px solid #805039;background:rgba(122,67,30,.09);text-decoration:none;padding:11px 17px;font-weight:700;font-size:.95rem}.explore-link:hover{background:rgba(122,67,30,.2)}
.hero-scene{grid-area:scene;position:relative;width:123%;margin-left:-15%;align-self:start;z-index:0;pointer-events:none}
.hero-scene picture,.hero-scene img{display:block;width:100%}.hero-scene img{object-fit:cover;aspect-ratio:16/9;max-width:none;/* crop includes real approved felt transition, no synthetic rectangular mask */}
.collection{max-width:var(--content);margin:0 auto;padding:2px 28px 34px;scroll-margin-top:24px}.section-intro{text-align:center;margin:8px auto 23px}.section-intro h2,.text-section h2{font-size:clamp(1.8rem,2.6vw,2.65rem);font-weight:500;margin:0 0 10px}.section-intro p:last-child{font-size:1.1rem;margin:0}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:12px 35px;max-width:795px;margin:0 auto}.product-item{width:min(100%,315px);display:block;line-height:0;transition:transform .15s}.product-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.product-item:hover{transform:translateY(-4px)}.product-item:last-child:nth-child(odd){grid-column:1/-1}
.text-section{max-width:870px;padding:25px 20px 30px;margin:10px auto 22px;border-top:1px solid rgba(81,51,29,.25);scroll-margin-top:26px}.text-section p:last-child{font-size:1.08rem;line-height:1.6;margin:0}.site-footer{text-align:center;padding:25px 10px 40px;border-top:1px solid rgba(81,51,29,.2)}
:where(a,button):focus-visible{outline:3px solid #1d594c;outline-offset:4px}
@media(max-width:1190px) and (min-width:781px){.site-header{grid-template-columns:minmax(310px, .97fr) minmax(0,1.3fr)}.hero{grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) minmax(250px,.94fr);min-height:360px;padding:0 20px 5px}.hero-copy h1{font-size:clamp(2.15rem,3.5vw,2.7rem)}.radiant-panel{width:min(100%,300px)}}
@media(max-width:780px){
 .site-header{display:flex;flex-direction:column;align-items:center;padding:12px 14px 0;gap:0}.brand-plank{width:min(95%,500px);margin:0 auto}
 .site-nav{padding:0;align-self:stretch}.nav-list{display:flex;justify-content:center;flex-wrap:wrap;gap:0 3px;max-width:560px;margin:-2px auto 0}.hanging-nav{width:clamp(91px,17.5vw,114px);flex:0 0 auto}
 .hero{display:flex;flex-direction:column;gap:0;min-height:0;margin:0 auto;padding:0 20px 18px}
 .hero-scene{order:1;width:min(100%,690px);margin:0 auto;align-self:stretch}.hero-scene img{aspect-ratio:20/9;object-fit:cover;width:100%;height:auto}
 .radiant-panel{order:2;width:clamp(145px,24vw,220px);margin:2px auto 8px}
 .hero-copy{order:3;max-width:650px;margin:0 auto;text-align:center;padding:0 0 12px}.hero-copy h1{font-size:clamp(2.15rem,6vw,3.1rem)}.hero-lead,.hero-second{font-size:1rem}
 .collection{padding:8px 14px 22px}.product-grid{max-width:650px;column-gap:14px}.product-item{width:min(100%,285px)}
}
@media(max-width:650px) and (orientation:portrait){
 .site-header{padding:8px 8px 0}.brand-plank{width:min(98%,375px)}
 .nav-list{max-width:390px;gap:0 3px;justify-content:center}.hanging-nav{width:clamp(92px,29vw,115px)}
 .hero{padding:0 16px 18px}
 .hero-scene{width:min(100%,410px);max-height:415px;overflow:hidden;margin:-4px auto -6px}
 .hero-scene picture{display:block}.hero-scene img{display:block;width:100%;max-width:none;height:415px;aspect-ratio:auto;object-fit:cover;object-position:center 64%}
 .radiant-panel{width:clamp(143px,39vw,200px);margin:-1px auto 15px}
 .hero-copy{text-align:center}.hero-copy h1{font-size:clamp(2.15rem,7.5vw,2.65rem);margin:0 0 14px}.hero-copy .overline{font-size:.72rem}.hero-lead,.hero-second{font-size:.99rem;line-height:1.48}
 .collection{padding:8px 12px 30px}.product-grid{grid-template-columns:1fr;max-width:325px;row-gap:9px}.product-item{width:min(72vw,var(--mobile-product-width))}.product-item:last-child:nth-child(odd){grid-column:auto}
 .section-intro{margin-top:4px}.section-intro h2{font-size:1.97rem}
 .text-section{margin:8px 13px;padding:20px 12px 25px}
}
@media(max-width:360px) and (orientation:portrait){.hanging-nav{width:90px}.hero-scene img{height:350px}.radiant-panel{width:140px}.hero-copy h1{font-size:2.1rem}}
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){.site-header{flex-direction:row;gap:4px;padding:5px 12px 0}.brand-plank{width:min(43%,380px)}.site-nav{flex:1}.nav-list{max-width:none;flex-wrap:nowrap}.hanging-nav{width:min(12vw,98px)}.hero{display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-areas:'panel scene' 'copy copy';padding:0 15px 10px}.radiant-panel{grid-area:panel;width:125px;align-self:center}.hero-scene{grid-area:scene;width:100%;margin:0}.hero-scene img{height:auto;aspect-ratio:20/9;object-fit:cover}.hero-copy{grid-area:copy;max-width:750px;padding:12px 0}.hero-copy h1{font-size:2.1rem}.product-grid{grid-template-columns:repeat(2,1fr);max-width:600px}.product-item{width:min(100%,265px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* VERSION 3 — ARTWORK IS INDEPENDENT OF LAYOUT. Every backdrop crop above remains unmodified. */
.hero-scene img{mask-image:none!important;-webkit-mask-image:none!important;object-fit:contain;object-position:center;aspect-ratio:auto;max-width:100%;width:100%;height:auto}
.hero-scene picture,.hero-scene{overflow:visible}
/* Desktop: dominant Steppe scene with its felt edge reaching toward the copy. */
@media (min-width:981px){
 .hero{position:relative;grid-template-columns:minmax(300px,.82fr) minmax(350px,.85fr) minmax(330px,1.23fr);grid-template-areas:'panel copy scene';gap:15px;min-height:510px;margin-top:0;margin-bottom:4px;isolation:isolate}
 .hero-scene{position:absolute;grid-area:auto;right:0;top:0;width:min(53%,750px);margin:0;z-index:0;align-self:auto}
 .radiant-panel{position:relative;z-index:1;width:min(100%,425px);grid-area:panel}
 .hero-copy{position:relative;z-index:2;grid-area:copy;max-width:435px;text-shadow:0 0 20px rgba(192,155,114,.22)}
}
@media (min-width:781px) and (max-width:980px){
 .hero{position:relative;grid-template-columns:26% 40% 34%;grid-template-areas:'panel copy scene';min-height:395px;isolation:isolate}
 .hero-scene{position:absolute;grid-area:auto;right:0;top:0;width:68%;margin:0;z-index:0}
 .hero-copy{position:relative;z-index:2}.radiant-panel{position:relative;z-index:1}
}
/* Portrait: keep the five approved nav tiles and square product tiles; preserve natural tapestry aspect ratio. */
@media(max-width:650px) and (orientation:portrait){
 .hero-scene{width:min(100%,385px);max-height:none;overflow:visible;margin:0 auto 0}
 .hero-scene picture{height:auto;display:block}
 .hero-scene img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;mask-image:none!important;-webkit-mask-image:none!important}
 .radiant-panel{width:clamp(145px,39vw,200px);margin:22px auto 20px}
 .hero-copy{padding:0 0 12px}
}
/* On phone landscape place sign and five buttons together on a close-knit row. */
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
 .site-header{display:grid;grid-template-columns:minmax(260px,36%) minmax(0,1fr);gap:3px;align-items:start;padding:6px 13px 0}
 .brand-plank{width:100%;max-width:none;min-width:0;margin:0}
 .site-nav{padding-top:0;min-width:0;width:100%}
 .nav-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;justify-content:start;align-items:start;max-width:none;margin:0}
 .hanging-nav{width:100%;min-width:0}
 .hero{display:grid;grid-template-columns:205px minmax(0,1fr);grid-template-areas:'panel scene' 'copy copy';gap:4px 8px;min-height:0;margin:0 auto;padding:0 15px 10px;align-items:center}
 .radiant-panel{grid-area:panel;width:185px;align-self:center;margin:0 auto}
 .hero-scene{grid-area:scene;position:static;width:100%;margin:0;overflow:visible}
 .hero-scene img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}
 .hero-copy{grid-area:copy;position:relative;max-width:760px;padding:3px 0 14px}
 .hero-copy h1{font-size:2.1rem}
 .product-grid{grid-template-columns:repeat(2,1fr);max-width:600px}
 .product-item{width:min(100%,265px)}
}


/* v4 -- MOBILE-ONLY adjustments. The v3 desktop layout is deliberately untouched.
   Sources (including approved original tapestry crops and panel) stay independent. */
@media (max-width:650px) and (orientation:portrait){
  /* Shortened scene is an alternate approved-artwork presentation, not a squashed photograph. */
  .hero-scene{width:min(100%,385px);max-height:none;overflow:visible;margin:0 auto}
  .hero-scene picture,.hero-scene img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
  /* 25% increase from v3's 145px/39vw/200px size limits. */
  .radiant-panel{width:clamp(181.25px,48.75vw,250px);margin:22px auto 20px}
}
@media(max-width:360px) and (orientation:portrait){
  /* Override v3's compact-device 140px panel rule to retain the requested increase. */
  .radiant-panel{width:clamp(175px,48.75vw,250px)}
}
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
  /* At least 25% larger tamga (185px -> 231.25px), allowing room without overlap. */
  .hero{grid-template-columns:245px minmax(0,1fr)}
  .radiant-panel{width:231.25px;max-width:100%;margin:0 auto}
}

/* v5 TYPOGRAPHY ONLY: preserves all v4 grid, imagery and breakpoints. */
body{font-family:'TP Alegreya',Georgia,serif}
.overline{font-family:'TP Alegreya SC',Georgia,serif;font-size:clamp(.88rem,1.12vw,1.01rem);font-weight:700;letter-spacing:.115em;color:#6b3b20;line-height:1.4}
.hero-lead,.hero-second{font-size:clamp(1.1rem,1.28vw,1.26rem);line-height:1.55}
.section-intro p:last-child{font-size:1.23rem}
.hero-copy h1,.section-intro h2,.text-section h2{font-family:'TP Alegreya',Georgia,serif}
.text-section p:last-child{font-size:1.2rem;line-height:1.62}
@media (max-width:780px){.hero-lead,.hero-second{font-size:1.12rem;line-height:1.54}}
@media (max-width:650px) and (orientation:portrait){.hero-copy .overline{font-size:.87rem}.hero-lead,.hero-second{font-size:1.12rem;line-height:1.55}}
/* Product typography uses page-level overlays, separate from immutable product frame/photo sources. */
.product-item{position:relative;container-type:inline-size}
.product-item .product-title-overlay{position:absolute;inset:0;overflow:visible;display:block;width:100%;height:100%;pointer-events:none}
.product-title-overlay text{font-family:'TP Alegreya SC',Georgia,serif;font-weight:700;fill:#4c291b}


/* v6 — new felt CTA and interior pages ONLY. Existing responsive layout remains frozen. */
.explore-link.tp-felt-cta{position:relative;display:block;line-height:0;width:min(100%,365px);padding:0;border:0;border-radius:0;background:none;aspect-ratio:719/175;text-decoration:none;isolation:isolate}
.explore-link.tp-felt-cta:hover{background:none;transform:translateY(-2px)}
.tp-felt-cta .tp-cta-art{display:block;width:100%;height:auto;aspect-ratio:719/175;object-fit:contain;pointer-events:none}
.tp-felt-cta .tp-cta-words{position:absolute;left:49.5%;top:50%;transform:translate(-50%,-50%);width:72%;font-family:'TP Alegreya SC',Georgia,serif;font-size:clamp(12px,1.05vw,16.5px);font-weight:700;letter-spacing:.035em;line-height:1.05;text-align:center;white-space:nowrap;color:#3b2416;pointer-events:none}
.tp-felt-cta .tp-cta-arrow{position:absolute;right:12.8%;top:50%;transform:translateY(-50%);width:9px;height:15px;color:#3b2416;pointer-events:none}
@media(max-width:780px){.tp-felt-cta{margin:0 auto}.tp-felt-cta .tp-cta-words{font-size:clamp(12px,2.2vw,16.5px)}}
@media(max-width:650px) and (orientation:portrait){.tp-felt-cta .tp-cta-words{font-size:clamp(11px,3.7vw,15.5px)}}
.interior-main{max-width:1100px;margin:22px auto 45px;padding:22px clamp(18px,4vw,42px);min-height:50vh}
.interior-heading{text-align:center;max-width:880px;margin:0 auto 36px}
.interior-heading h1{font-family:'TP Alegreya',Georgia,serif;font-size:clamp(2.4rem,4.5vw,4.1rem);font-weight:500;line-height:1.12;margin:8px 0 18px}
.interior-intro,.interior-content{font-size:clamp(1.1rem,1.25vw,1.27rem);line-height:1.55}
.interior-intro p,.interior-content p{margin:0 0 1.1rem}
.interior-simple{max-width:930px}
.interior-simple .interior-heading{margin-bottom:20px}
.interior-simple .interior-content{max-width:770px;margin:auto}
.interior-aside{max-width:770px;margin:35px auto 0;font-size:1rem;font-style:italic;color:#65452e}
.work-families{display:flex;flex-direction:column;gap:5px}
.work-family{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(20px,5vw,66px);align-items:center;border-top:1px solid rgba(81,51,29,.2);padding:28px 12px;scroll-margin-top:32px}
.work-family .product-art{width:min(100%,260px);margin:0 auto;transform:none;line-height:0}
.work-family .family-copy{max-width:590px}
.work-family h2{font-family:'TP Alegreya',Georgia,serif;font-weight:500;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.14;margin:0 0 13px}
.family-copy p:not(.overline){font-size:clamp(1.1rem,1.35vw,1.23rem);line-height:1.55;margin:0 0 20px}
.family-inquiry{display:inline-block;font-family:'TP Alegreya SC',Georgia,serif;letter-spacing:.04em;font-weight:700;font-size:1.08rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px) and (orientation:portrait){.interior-main{margin:12px auto 22px;padding:14px 18px}.work-family{display:flex;flex-direction:column;gap:15px;padding:22px 6px 30px;text-align:center}.work-family .product-art{max-width:min(66vw,245px)}.work-family .family-copy{max-width:430px}.interior-heading{margin-bottom:22px}}

/* v7 Portfolio page only: do not touch previously approved responsive areas. */
.tp-portfolio-page{max-width:1200px}
.tp-portfolio-page .interior-heading{margin-bottom:22px}
.tp-portfolio-intro{max-width:780px;margin:0 auto 20px;text-align:center}
.tp-portfolio-admin-note{padding:18px 22px;margin:22px auto;max-width:770px;border:1px solid #986a44;background:rgba(255,246,223,.5);font-size:1rem;line-height:1.5}
.tp-portfolio-empty{text-align:center;font-size:1.15rem;margin:25px auto 40px;max-width:650px}

/* v7.1a — AGED / HAND-WORKED BRONZE FINISH (review candidate, not approved).
   Preserve the established v7.1 frame widths, corners, layouts and mobile rules.
   The tiny irregular highlights/pitting are CSS only, never over the photographs. */
.tp-pb-gallery{max-width:1120px}
.tp-pb-grid{gap:26px;align-items:start}
.tp-pb-card{
  position:relative;padding:8px;border:0;border-radius:22px;overflow:visible;
  background-color:#715037;
  background-image:
    radial-gradient(circle at 22% 42%,rgba(34,22,14,.15) 0 0.7px,transparent 1.7px),
    radial-gradient(circle at 71% 27%,rgba(229,185,125,.11) 0 0.75px,transparent 1.8px),
    linear-gradient(138deg,#543824 0%,#87603d 27%,#735039 49%,#825a3c 75%,#533520 100%);
  background-size:17px 23px,29px 19px,auto;
  box-shadow:0 6px 15px rgba(58,35,20,.17),inset 0 1px 1px rgba(230,196,140,.14),inset 0 -2px 2px rgba(39,23,13,.18)
}
.tp-pb-card::before{
  content:"";position:absolute;inset:2px;border-radius:19px;
  box-shadow:inset 0 0 0 1px rgba(50,31,19,.36),inset 0 0 0 3px rgba(217,177,117,.075);
  pointer-events:none
}
.tp-pb-card-link{
  display:flex;flex-direction:column;height:100%;min-height:100%;border-radius:15px;
  overflow:hidden;background:rgba(235,205,167,.72);backdrop-filter:saturate(.95)
}
.tp-pb-card-link:hover,.tp-pb-card-link:focus-visible{
  outline:0;box-shadow:0 0 0 2px rgba(104,57,27,.42),0 10px 20px rgba(80,47,23,.16)
}
.tp-pb-card-image{margin:0;border-bottom:1px solid rgba(95,57,31,.18);background:rgba(116,79,44,.12)}
.tp-pb-image{display:block;width:100%;height:100%;object-fit:cover}
.tp-pb-card-copy{display:flex;flex-direction:column;gap:0;padding:16px 18px 20px}
.tp-pb-card h2{font-size:clamp(1.45rem,1.7vw,1.86rem);margin:0 0 8px}
.tp-pb-category{margin:0 0 7px}
.tp-pb-excerpt{margin:0 0 14px}
.tp-pb-view{margin-top:auto;padding-top:2px}
.tp-pb-filters{margin-bottom:32px}

.tp-piece-page{max-width:1180px}
.tp-piece-article{max-width:900px;margin:0 auto}
.tp-piece-heading{margin-bottom:26px}
.tp-piece-hero{
  margin:0 auto 26px;max-width:980px;padding:10px;border-radius:24px;
  background-color:#715037;
  background-image:
    radial-gradient(circle at 28% 67%,rgba(32,19,12,.15) 0 0.7px,transparent 1.8px),
    radial-gradient(circle at 74% 23%,rgba(224,178,117,.11) 0 0.7px,transparent 1.8px),
    linear-gradient(138deg,#533723 0%,#89613f 27%,#704b32 52%,#825b40 78%,#4c301f 100%);
  background-size:19px 23px,29px 17px,auto;
  box-shadow:0 8px 19px rgba(59,35,19,.18),inset 0 1px 1px rgba(225,186,126,.15),inset 0 -2px 2px rgba(39,23,13,.17)
}
.tp-piece-image{display:block;width:100%;height:auto;border-radius:16px}
.tp-piece-content{max-width:840px;margin:0 auto}
.tp-piece-content .tp-pb-detail-gallery{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(87,52,28,.18)}
.tp-piece-content .tp-pb-detail-gallery h2{font-family:'TP Alegreya',Georgia,serif;font-weight:500;font-size:clamp(1.8rem,2.6vw,2.35rem);margin-bottom:1rem}
.tp-piece-content .tp-pb-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.tp-piece-content .tp-pb-detail-grid figure{
  margin:0;padding:8px;border-radius:18px;
  background-color:#715037;
  background-image:
    radial-gradient(circle at 18% 58%,rgba(31,20,12,.15) 0 .7px,transparent 1.8px),
    radial-gradient(circle at 78% 32%,rgba(222,178,121,.10) 0 .7px,transparent 1.8px),
    linear-gradient(138deg,#563a26 0%,#86603c 28%,#704b33 52%,#7d583e 77%,#4f3222 100%);
  background-size:17px 21px,27px 19px,auto;
  box-shadow:0 5px 13px rgba(56,34,19,.16),inset 0 1px 1px rgba(225,186,126,.13)
}
.tp-piece-content .tp-pb-detail-photo{display:block;width:100%;height:auto;border-radius:12px}

@media(max-width:780px){
  .tp-pb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .tp-pb-card{padding:7px;border-radius:20px}
  .tp-pb-card::before{border-radius:17px}
}
@media(max-width:550px){
  .tp-pb-grid{grid-template-columns:1fr;max-width:430px;margin:0 auto;gap:20px}
  .tp-piece-hero{padding:8px;border-radius:18px}
  .tp-piece-image{border-radius:12px}
}


/* v7.3: native product family page only; no modifications to approved v7.2.2 selectors. */
.tp-family-page{max-width:1060px}
.tp-family-heading{margin-bottom:28px}
.tp-family-heading > p:not(.overline){font-size:clamp(1.08rem,1.3vw,1.24rem);line-height:1.55;margin:0 auto 12px;max-width:780px}
.tp-family-photographs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px;align-items:start;max-width:980px;margin:0 auto 32px}
.tp-family-photo{margin:0;min-width:0}
.tp-family-photo-featured{grid-column:1/-1;max-width:800px;margin:0 auto;width:100%}
.tp-family-photo-image{display:block;width:100%;height:auto;object-fit:contain;max-height:580px}
.tp-family-photo figcaption{text-align:center;margin:8px auto 0;font-size:.95rem;line-height:1.4;color:#694426}
.tp-family-description{max-width:800px;margin:18px auto 30px}
.tp-family-details{max-width:800px;margin:25px auto 38px;border-top:1px solid rgba(81,51,29,.23);border-bottom:1px solid rgba(81,51,29,.23);padding:15px 0;font-size:1.13rem}
.tp-family-details p{margin:9px 0;line-height:1.5}
.tp-family-examples{margin:37px auto 28px;max-width:980px}
.tp-family-examples h2{font-family:'TP Alegreya',Georgia,serif;font-size:clamp(1.85rem,2.8vw,2.45rem);font-weight:500;text-align:center;margin:0 0 22px}
.tp-family-example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:22px}
.tp-family-example{display:block;text-align:center;text-decoration:none;color:inherit;min-width:0}
.tp-family-example:hover .tp-family-example-name{text-decoration:underline;text-underline-offset:4px}
.tp-family-example-image{display:block;width:100%;height:auto;max-height:275px;object-fit:contain;margin:0 auto 9px}
.tp-family-example-name{display:block;font-family:'TP Alegreya SC',Georgia,serif;font-size:1.14rem;font-weight:700;line-height:1.35}
.tp-family-example-more{text-align:center;margin:24px auto}
.tp-family-next-steps{margin:34px auto 10px;max-width:800px;padding-top:21px;border-top:1px solid rgba(81,51,29,.25);display:flex;justify-content:center;flex-wrap:wrap;gap:15px 35px;text-align:center}
.tp-family-next-steps a,.tp-family-example-more a{font-family:'TP Alegreya SC',Georgia,serif;font-weight:700;font-size:1.12rem;text-underline-offset:4px}
@media(max-width:650px) and (orientation:portrait){
 .tp-family-photographs{grid-template-columns:1fr;max-width:430px}
 .tp-family-photo-featured{grid-column:auto}
 .tp-family-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
 .tp-family-example-image{max-height:205px}
}

/* v7.4 — selected Media Library photos sit UNDER the approved blank SVG frame. */
.product-item{isolation:isolate}
.product-item img.tp-button-frame{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
/* v7.4.16 — Exact approved photo apertures, mapped to the entire 1254x1254
   family button. The internal crop rectangle, photo focus/zoom, dimensions,
   and overlay frame are unchanged. Applied only to public family buttons. */
.product-item .tp-button-photo-mask{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.product-item .tp-button-photo-mask--witness{-webkit-mask-image:url('product_photo_masks/witness.png');mask-image:url('product_photo_masks/witness.png')}
.product-item .tp-button-photo-mask--nomad{-webkit-mask-image:url('product_photo_masks/nomad.png');mask-image:url('product_photo_masks/nomad.png')}
.product-item .tp-button-photo-mask--borks{-webkit-mask-image:url('product_photo_masks/borks.png');mask-image:url('product_photo_masks/borks.png')}
.product-item .tp-button-photo-mask--mantles{-webkit-mask-image:url('product_photo_masks/mantles.png');mask-image:url('product_photo_masks/mantles.png')}
.product-item .tp-button-photo-mask--carvings{-webkit-mask-image:url('product_photo_masks/carvings.png');mask-image:url('product_photo_masks/carvings.png')}
.product-item .tp-button-photo-window{display:block;position:absolute;z-index:0;overflow:hidden;pointer-events:none}
.product-item img.tp-button-photo{position:absolute;inset:0;z-index:0;display:block;max-width:none;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;pointer-events:none}
.product-item .product-title-overlay{z-index:2}

/* v7.4.3 — Contact page only; approved art/layout selectors unchanged. */
.tpw-contact-wrap{max-width:770px;margin:2.2rem auto 1.5rem}
.tpw-contact-form{display:flex;flex-direction:column;gap:1.2rem}
.tpw-contact-form label{font-family:'TP Alegreya SC',Georgia,serif;font-weight:700;font-size:1.03rem;display:block;margin:0 0 .35rem}
.tpw-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}
.tpw-contact-form input[type=text],.tpw-contact-form input[type=email],.tpw-contact-form select,.tpw-contact-form textarea{box-sizing:border-box;width:100%;border:1px solid #795437;border-radius:4px;padding:12px 13px;font:inherit;font-size:1.05rem;line-height:1.35;color:#3c281b;background-color:#c59a6e;box-shadow:inset 0 1px 2px rgba(55,32,17,.12);caret-color:#382316}
.tpw-contact-form input:focus-visible,.tpw-contact-form select:focus-visible,.tpw-contact-form textarea:focus-visible{outline:2px solid #805129;outline-offset:2px}
.tpw-contact-topic-field{grid-column:1 / -1}
.tpw-contact-form textarea{resize:vertical;min-height:155px}
.tpw-contact-privacy{font-size:.95rem;line-height:1.45;color:#352215;margin:0}
.tpw-contact-send{display:inline-block;background:#52341f;color:#fff4e0;border:1px solid #402513;border-radius:5px;padding:12px 25px;cursor:pointer;font-family:'TP Alegreya SC',Georgia,serif;font-size:1.1rem;font-weight:700;letter-spacing:.025em}
.tpw-contact-send:hover,.tpw-contact-send:focus-visible{background:#744928}
.tpw-contact-notice{padding:15px 18px;border:1px solid #91663d;background:rgba(255,246,219,.65);margin-bottom:1.2rem;font-size:1.05rem;line-height:1.45}
.tpw-contact-error{border-color:#96563e}
.tpw-contact-alternative{font-size:1rem;margin-top:1.5rem}
.tpw-contact-honey{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:650px){.tpw-contact-fields{grid-template-columns:1fr}}

/* v7.4.5 — ONLY Our Story reading typography. No other page inherits this. */
.tp-story-reading .interior-content{
  font-family:'TP Alegreya',Georgia,serif;
  font-size:clamp(1.45rem,1.9vw,1.72rem);
  font-weight:400;
  line-height:1.58;
  letter-spacing:.008em;
  color:#342115;
}
.tp-story-reading .interior-content p{margin:0 0 1.25em}
@media(max-width:650px){.tp-story-reading .interior-content{font-size:1.45rem;line-height:1.56}}
/* ALTCHA wrapper respects the existing approved contact form spacing. */
.tpw-contact-altcha{max-width:100%;overflow-wrap:anywhere}
.tpw-contact-send:disabled{opacity:.6;cursor:not-allowed}


/* v7.4.6 — Only approved contact form fields: matte tan matched to the existing felt's mid-tone.
   Keep a smooth field surface for legibility; dark border and dark placeholder clarify affordance.
   No decorative background artwork, site-wide fields, or form layout altered. */
.tpw-contact-form input[type=text]::placeholder,
.tpw-contact-form input[type=email]::placeholder,
.tpw-contact-form textarea::placeholder{color:#5c3a24;opacity:1}
.tpw-contact-form select option{background-color:#c59a6e;color:#3c281b}
.tpw-contact-form input[type=text]:-webkit-autofill,
.tpw-contact-form input[type=email]:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #c59a6e inset!important;
  -webkit-text-fill-color:#3c281b!important;
  caret-color:#382316
}


/* v7.4.7 — Contact page readability only. Preserve approved v7.4.6 tan fields,
   decorative artwork, form geometry, and all unrelated typography. */
.tp-contact-reading .interior-content{
  font-size:clamp(1.2rem,1.48vw,1.39rem);
  line-height:1.57;
  color:#342115;
}
.tp-contact-reading .tpw-contact-form label{font-size:1.14rem;line-height:1.32}
.tp-contact-reading .tpw-contact-form input[type=text],
.tp-contact-reading .tpw-contact-form input[type=email],
.tp-contact-reading .tpw-contact-form select,
.tp-contact-reading .tpw-contact-form textarea{font-size:1.16rem;line-height:1.4}
.tp-contact-reading .tpw-contact-privacy{font-size:1.09rem;line-height:1.54}
.tp-contact-reading .tpw-contact-notice{font-size:1.13rem;line-height:1.5}
.tp-contact-reading .tpw-contact-send{font-size:1.2rem}
@media(max-width:650px){
  .tp-contact-reading .interior-content{font-size:1.24rem;line-height:1.55}
}

/* v7.4.8 — Our Story only: render approved prose in mixed-case serif, not decorative small caps. */
.tp-story-reading .interior-content{font-variant:normal;text-transform:none}


/* v7.4.11 — gallery thumbnails keep the unchanged approved wooden frames.
   Expanded photos are intentionally unframed to maximize the viewable image. */
.tp-family-photographs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;align-items:start;max-width:980px;margin:0 auto 35px;
}
.tp-family-photo,.tp-family-photo-featured{
  grid-column:auto;min-width:0;width:100%;max-width:none;margin:0;
}
.tp-family-photo-link{display:block;color:inherit;text-decoration:none;cursor:zoom-in}
.tp-family-photo-link:focus-visible{outline:3px solid #654026;outline-offset:5px}
.tp-family-photo-link:hover .tp-family-photo-frame{filter:drop-shadow(2px 5px 5px rgba(67,41,23,.47))}
.tp-family-photo figcaption{text-align:center;margin:9px auto 0;line-height:1.4;font-size:.92rem;color:#694426}

/* Full-viewport same-page lightbox; no thick frame shrinking the actual photograph. */
.tp-family-lightbox{
  position:fixed;inset:0;box-sizing:border-box;
  width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;
  margin:0;padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left));
  border:0;border-radius:0;
  background:rgba(27,19,14,.98);color:#f9e7cb;
  overflow:hidden;
}
.tp-family-lightbox::backdrop{background:rgba(12,8,5,.88)}
.tp-family-lightbox-inner{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;min-width:0}
.tp-family-lightbox-toolbar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:8px 12px;min-height:40px;flex:0 0 auto;
  font-family:'TP Alegreya SC',Georgia,serif;
}
.tp-family-lightbox-count{font-size:1rem;font-weight:700}
.tp-family-lightbox-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tp-family-lightbox-close,.tp-family-lightbox-prev,.tp-family-lightbox-next,
.tp-family-lightbox-zoom,.tp-family-lightbox-original{
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;min-height:40px;
  border:1px solid #a47e58;background:#64402a;color:#fff0d7;border-radius:4px;
  padding:7px 12px;font:700 1rem 'TP Alegreya SC',Georgia,serif;
  cursor:pointer;text-decoration:none;white-space:nowrap;
}
.tp-family-lightbox-close:hover,.tp-family-lightbox-prev:hover,.tp-family-lightbox-next:hover,
.tp-family-lightbox-zoom:hover,.tp-family-lightbox-original:hover{background:#825238;color:#fff6e8}
.tp-family-lightbox-close:focus-visible,.tp-family-lightbox-prev:focus-visible,
.tp-family-lightbox-next:focus-visible,.tp-family-lightbox-zoom:focus-visible,
.tp-family-lightbox-original:focus-visible{outline:3px solid #e0bd80;outline-offset:3px}
.tp-family-lightbox-view{position:relative;flex:1 1 0;min-height:0;min-width:0;width:100%}
.tp-family-lightbox-stage{
  position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:flex-start;
  overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;
}
.tp-family-lightbox-image{
  display:block!important;flex:0 0 auto;margin:auto!important;
  position:static!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;box-shadow:0 5px 25px rgba(0,0,0,.35);
  background:transparent!important;border:0!important;
}
.tp-family-lightbox-prev,.tp-family-lightbox-next{
  position:absolute;z-index:2;top:50%;transform:translateY(-50%);
  width:40px;min-height:48px;padding:5px;font-size:1.7rem;line-height:1;
  background:rgba(67,41,25,.82);
}
.tp-family-lightbox-prev{left:5px}
.tp-family-lightbox-next{right:5px}
.tp-family-lightbox-prev[hidden],.tp-family-lightbox-next[hidden]{display:none!important}
.tp-family-lightbox-caption{
  flex:0 0 auto;max-width:920px;max-height:3.5rem;overflow:auto;
  text-align:center;font-size:.98rem;line-height:1.35;margin:0 auto;
}
.tp-family-lightbox-caption:empty{display:none}
@media(max-width:780px){.tp-family-photographs{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}}
@media(max-width:480px){
  .tp-family-photographs{grid-template-columns:1fr;max-width:350px;gap:19px}
  .tp-family-lightbox{padding:8px max(5px,env(safe-area-inset-right)) 8px max(5px,env(safe-area-inset-left))}
  .tp-family-lightbox-toolbar{gap:5px 7px}
  .tp-family-lightbox-actions{gap:5px}
  .tp-family-lightbox-close,.tp-family-lightbox-zoom,.tp-family-lightbox-original{min-height:37px;padding:5px 8px;font-size:.91rem}
  .tp-family-lightbox-prev,.tp-family-lightbox-next{width:34px;min-height:43px;font-size:1.5rem}
  .tp-family-lightbox-caption{font-size:.88rem}
}


/* v7.4.12: Direct child product cards and individual product pages only.
   All approved brand/wood-frame artwork and its rendering code remain untouched. */
.tp-family-products{max-width:990px;margin:34px auto 28px}
.tp-family-products>h2{font-family:'TP Alegreya',Georgia,serif;font-size:clamp(1.7rem,2.7vw,2.3rem);font-weight:600;text-align:center;color:#382316;margin:0 0 22px}
.tp-family-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:start}
.tp-family-product-card{min-width:0;margin:0}
.tp-family-product-link{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:#382316;text-align:center}
.tp-family-product-link:hover .tp-family-product-name,.tp-family-product-link:focus-visible .tp-family-product-name{text-decoration:underline;text-underline-offset:4px}
.tp-family-product-link:focus-visible{outline:3px solid #614028;outline-offset:5px}
.tp-family-product-frame{display:block;width:100%;margin:0 auto 3px}
.tp-family-product-name{font-family:'TP Alegreya SC',Georgia,serif;font-size:clamp(1.22rem,1.8vw,1.54rem);font-weight:700;line-height:1.3}
.tp-family-product-view{font-family:'TP Alegreya',Georgia,serif;font-size:1.05rem;line-height:1.3}
.tp-family-no-products{text-align:center;margin:15px auto 32px;max-width:690px;font-size:1.16rem;line-height:1.55}
.tp-product-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 auto 22px;max-width:900px;color:#4b3021;font-size:1rem;line-height:1.5}
.tp-product-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.tp-individual-product-heading{margin-bottom:25px}
.tp-individual-product-heading .tp-product-family-label{font-family:'TP Alegreya',Georgia,serif;font-size:1.12rem;margin-top:10px}
.tp-individual-product-photos{margin-bottom:35px}
.tpw-contact-context{font-family:'TP Alegreya',Georgia,serif;font-size:1.16rem;line-height:1.45;margin:0 0 14px;color:#3c2819}
@media(max-width:800px){.tp-family-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:510px){.tp-family-product-grid{grid-template-columns:1fr;max-width:350px;margin:0 auto;gap:25px}.tp-family-product-name{font-size:1.36rem}.tp-product-breadcrumb{font-size:.96rem}}

/* v7.4.13 — ONE standard public reading-size control. Do not change locked
   Our Story styling, navigation/buttons, headings, labels, captions or the manager. */
:root{--tp-standard-reading-size:22px}
.interior-main:not(.tp-story-reading) .interior-content,
.tp-family-heading > p:not(.overline),
.work-family .family-copy p:not(.overline),
.tp-family-details,
.tp-family-no-products,
.tp-portfolio-intro,
.hero-lead,.hero-second,
.section-intro p:last-child,
.text-section p:last-child,
.tp-contact-reading .interior-content{
  font-size:var(--tp-standard-reading-size);
  line-height:1.55;
}
.tp-family-description{font-size:var(--tp-standard-reading-size);line-height:1.58}
/* Preserve approved Our Story special reading size despite broad text selectors. */
.tp-story-reading .interior-content{font-size:clamp(1.45rem,1.9vw,1.72rem)}
@media(max-width:650px){.tp-story-reading .interior-content{font-size:1.45rem}}
/* Portfolio details are interactive while the wood frame markup stays unchanged. */
.tp-portfolio-photo-trigger{cursor:zoom-in}
.tp-portfolio-photo-trigger:focus-visible{outline:3px solid #67462b;outline-offset:5px}

.tp-error-message{font-size:var(--tp-standard-reading-size);line-height:1.55}

/* v7.4.14 — approved discreet Privacy Policy links and reusable ordering/handmade notices.
   All body typography draws from the existing v7.4.13 public reading-size variable. */
.site-footer .tp-footer-privacy{margin:7px 0 0;font-size:1rem;line-height:1.4}
.site-footer .tp-footer-privacy a,.tp-site-privacy-link a{color:#53351f;text-decoration:underline;text-underline-offset:3px}
.tp-site-privacy-link{font-size:1rem;line-height:1.45;margin:4px 0 14px}
.tp-individual-product-page .tp-family-details{margin-bottom:20px}
.tp-customer-info{box-sizing:border-box;max-width:800px;margin:0 auto 26px;border:1px solid rgba(89,55,31,.63);border-radius:5px;padding:22px 26px;color:#382316}
.tp-customer-info h2{font:600 clamp(1.55rem,2.5vw,2.03rem)/1.24 'TP Alegreya',Georgia,serif;margin:0 0 11px}
.tp-customer-info p{font-size:var(--tp-standard-reading-size);line-height:1.55;margin:0 0 14px}
.tp-customer-info p:last-child{margin-bottom:0}
.tp-ordering-panel{background:rgba(255,246,221,.20);border-color:#754e31}
.tp-order-inquiry{display:inline-block;padding:11px 19px;margin:5px 0 0;border:1px solid #422717;border-radius:5px;background:#55351f;color:#fff0d9;text-decoration:none;font:700 1.09rem/1.3 'TP Alegreya SC',Georgia,serif}
.tp-order-inquiry:hover{background:#765038;color:#fff8e8}
.tp-order-inquiry:focus-visible{outline:3px solid #1d594c;outline-offset:4px}
.tp-individual-product-page .tp-family-description{margin-top:28px;margin-bottom:26px}
.tp-handmade-panel{border-color:rgba(89,55,31,.46);background:transparent;padding:18px 22px}
.tp-handmade-panel h2{font-size:clamp(1.42rem,2.15vw,1.72rem)}
.tp-handmade-panel p{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.55}
@media(max-width:550px){.tp-customer-info{padding:17px 15px;margin-bottom:22px}.tp-customer-info h2{font-size:1.55rem}.tp-order-inquiry{max-width:100%;white-space:normal;text-align:center}}
/* Privacy Policy is an editable WordPress Page, not hardcoded theme copy. */
.interior-simple:not(.tp-story-reading) .interior-content h2{font-family:'TP Alegreya',Georgia,serif;font-size:clamp(1.45rem,2.45vw,1.9rem);line-height:1.28;margin:1.5em 0 .45em}
.interior-simple:not(.tp-story-reading) .interior-content ul{padding-left:1.45em;margin:0 0 1.05em}
.interior-simple:not(.tp-story-reading) .interior-content li{margin:.22em 0}
