/* ===== Shared inner-page styles ===== */

/* PAGE HERO / INTRO */
.page-hero{padding:64px 0 56px;border-bottom:1px solid var(--line);}
.breadcrumb{display:flex;gap:10px;align-items:center;justify-content:flex-start;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:-18px;margin-bottom:40px;}
.breadcrumb a:hover{color:var(--green);}
.breadcrumb .sep{opacity:.5;}
.page-hero-grid{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:32px;}
.page-title{font-size:34px;line-height:1.15;}
.page-title .accent{color:var(--green);}
.page-hero .lead{max-width:660px;text-wrap:balance;font-size:15px;}

/* Catalogue: tighten hero whitespace to match the 48px product-row gap */
body[data-screen-label="Catalogue"] .page-hero{padding:28px 0 32px;}
body[data-screen-label="Commission"] .page-hero{padding:28px 0 32px;}
body[data-screen-label="Wishlist"] .page-hero{padding:28px 0 24px;}
body[data-screen-label="Visualiser"] .page-hero{padding:28px 0 32px;}
body[data-screen-label="About"] .page-hero{padding:28px 0 32px;}
body[data-screen-label="Catalogue"] .section-sm{padding:24px 0;}
body[data-screen-label="Wishlist"] .section-sm{padding:24px 0;}
body[data-screen-label="Catalogue"] .breadcrumb{margin-bottom:32px;}
body[data-screen-label="Commission"] .breadcrumb{margin-bottom:32px;}
body[data-screen-label="Wishlist"] .breadcrumb{margin-bottom:24px;}
body[data-screen-label="Order & Delivery"] .breadcrumb{margin-bottom:32px;}
body[data-screen-label="Catalogue"] .product-grid{padding:8px 0 8px;}

/* Full-bleed variant: edge-to-edge grid, no gaps between products */
.catalogue-fullbleed .product-grid{grid-template-columns:repeat(3,1fr);gap:0;padding:0;width:100%;}
.catalogue-fullbleed .card-body{padding:16px 22px 40px;}
@media (max-width:980px){
  .catalogue-fullbleed .product-grid{grid-template-columns:repeat(2,1fr);gap:0;}
  .catalogue-fullbleed .product-grid.mcols-1{grid-template-columns:1fr;}
  .catalogue-fullbleed .product-grid.mcols-2{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .catalogue-fullbleed .product-grid{grid-template-columns:1fr;}
}

/* Full-bleed category banner, flush beneath the hero's grey line */
.cat-banner{display:block;width:100%;line-height:0;}
.cat-banner img{display:block;width:100%;height:auto;}

/* ============ CATALOGUE ============ */
.filter-bar{display:flex;flex-direction:column;align-items:center;gap:32px;padding:24px 0;}
#shop{min-height:calc(100vh - var(--header-h));padding-top:8px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;}
.result-count{justify-self:end;}
.filter-div{width:1px;align-self:stretch;background:var(--line);margin:2px 6px;}
.filter{
  font-family:var(--sans);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  padding:10px 20px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;
  transition:all .2s;
}
.filter:hover{border-color:var(--ink);}
.filter.active{background:#000;color:var(--paper);border-color:#000;}
.result-count{font-size:13px;color:var(--muted);letter-spacing:.04em;}

/* product image-view toggle (on its own vs. on a clarinet) — text links */
.view-toggle{display:inline-flex;gap:12px;justify-content:center;align-items:baseline;}
.view-label{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--muted);}
.view-sep{color:var(--line);font-size:12px;user-select:none;}
.view-toggle .view-opt{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:2px 0 4px;background:transparent;color:var(--muted);cursor:pointer;border:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;}
.view-toggle .view-opt:hover{color:var(--ink);}
.view-toggle .view-opt.active{color:var(--ink);border-bottom-color:var(--ink);}

/* per-row column toggle (desktop) — shares the view-opt look */
.view-controls{display:flex;gap:22px;align-items:baseline;justify-content:center;flex-wrap:wrap;}
.view-divider{width:1px;height:13px;background:var(--line);align-self:center;}
.cols-toggle{display:inline-flex;gap:10px;align-items:baseline;}
.cols-toggle .cols-opt{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:2px 0 4px;background:transparent;color:var(--muted);cursor:pointer;border:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.cols-toggle .cols-opt:hover{color:var(--ink);}
.cols-toggle .cols-opt.active{color:var(--ink);border-bottom-color:var(--ink);}
@media (min-width:981px){
  .product-grid.cols-3{grid-template-columns:repeat(3,1fr);}
  .product-grid.cols-4{grid-template-columns:repeat(4,1fr);}
  .product-grid.cols-6{grid-template-columns:repeat(6,1fr);}
  .catalogue-fullbleed .product-grid.cols-3,
  .catalogue-fullbleed .product-grid.cols-4,
  .catalogue-fullbleed .product-grid.cols-6{gap:0;}
}

/* slim shop toolbar: count left, Filter & Display right */
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;}
.shop-toolbar .result-count{font-family:var(--sans);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.fd-trigger{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);background:transparent;border:none;cursor:pointer;padding:4px 0;transition:opacity .2s;}
.fd-trigger:hover{opacity:.6;}
.fd-trigger svg{display:block;}

/* Filter & Display drawer */
.fd-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100vw);background:var(--paper);z-index:310;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .36s cubic-bezier(.4,0,.1,1),box-shadow .36s ease;box-shadow:none;}
.fd-drawer.open{transform:translateX(0);box-shadow:-24px 0 70px rgba(0,0,0,.18);}
.fd-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line);flex:0 0 auto;}
.fd-head h2{font-family:var(--serif);font-size:23px;font-weight:400;margin:0;}
.fd-body{flex:1 1 auto;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:28px;}
.fd-group{display:flex;flex-direction:column;gap:13px;}
.fd-label{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.fd-opts{display:flex;flex-wrap:wrap;gap:8px;}
.fd-opts .fd-chip{font-family:var(--sans);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;padding:10px 18px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.fd-opts .fd-chip:hover{border-color:var(--ink);color:var(--ink);}
.fd-opts .fd-chip.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.fd-group-cols .fd-chip{min-width:52px;text-align:center;}
.fd-group-mcols{display:none;}
.fd-group-mcols .fd-chip{min-width:52px;text-align:center;}
.fd-footer{flex:0 0 auto;display:flex;gap:12px;padding:20px 28px;border-top:1px solid var(--line);}
.fd-footer .btn{flex:1 1 auto;justify-content:center;}
@media (max-width:980px){
  .fd-group-cols{display:none;}
  .fd-group-mcols{display:flex;}
}
@media (max-width:640px){
  .fd-drawer{top:auto;bottom:0;right:0;width:100%;height:88%;transform:translateY(100%);}
  .fd-drawer.open{transform:translateY(0);box-shadow:0 -24px 70px rgba(0,0,0,.18);}
}

/* reversed rollover: on-clarinet shot shown first, product shot on hover */
.product-grid.flip-rollover .card-rollover{opacity:1;}
.product-grid.flip-rollover .card:hover .card-rollover{opacity:0;}
.product-grid.flip-rollover .card.browsing .card-rollover{opacity:0;}

/* ============ HOME PRODUCT RAIL (homepage, below cover) ============ */
.home-rail{padding:42px 0 16px;}
.rail-head{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:0 var(--pad);margin-bottom:24px;}
.rail-title{font-family:var(--sans);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--green);line-height:1.35;}
.home-rail .rail-head{align-items:baseline;}
.home-rail .rail-title{font-family:var(--sans);text-transform:uppercase;font-weight:500;line-height:1.35;}
.home-rail .rail-serif{font-size:11.5px;letter-spacing:.16em;color:var(--ink);}
.rail-serif-short{display:none;}
@media (prefers-reduced-motion:no-preference){
  html.js .home-rail .rail-serif{opacity:0;transform:translateY(9px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:.06s;}
  html.js .home-rail .rail-head.in .rail-serif{opacity:1;transform:none;}
}
.rail-controls{display:flex;align-items:center;gap:22px;flex:0 0 auto;}
.rail-viewall{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;transition:opacity .2s;white-space:nowrap;}
.rail-viewall:hover{opacity:.55;}
.rail-arrows{display:flex;gap:2px;}
.rail-arrow{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;transition:opacity .2s;}
.rail-arrow::before{content:"";display:block;width:10px;height:10px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);}
.rail-arrow.next::before{transform:rotate(45deg);margin-left:-4px;}
.rail-arrow.prev::before{transform:rotate(-135deg);margin-right:-4px;}
.rail-arrow:disabled{opacity:.22;cursor:default;}
.rail-arrow:not(:disabled):hover{opacity:.55;}
.rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100%/5);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
.home-rail .rail-track{grid-auto-columns:calc(100%/4.5);}
.related .rail-track{grid-auto-columns:calc(100%/4.5);}
.rail-track::-webkit-scrollbar{display:none;}
.rail-track > .card{scroll-snap-align:start;}
.card-viewmore{display:flex;}
.card-viewmore-inner{
  display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;width:100%;
  background:#eef4f5;
}
.card-viewmore-label{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--ink);position:relative;padding-bottom:3px;border-bottom:1px solid var(--ink);transition:opacity .2s;}
.card-viewmore:hover .card-viewmore-label{opacity:.55;}
.card-viewmore-label::after{display:none;}
.rail-track .card-body{padding:16px 22px 36px;}
.rail-track .card-fav{display:none;}
.home-rail .card-body{flex-direction:column;align-items:center;text-align:center;gap:2px;}
.home-rail .card-price{display:none;}
.home-rail .card-name{order:1;}
.home-rail .card-meta{order:2;}
/* Index rail: no gallery scroll-through — show only the lead image */
.rail-track .card-nav,
.rail-track .card-dots{display:none;}
.rail-track .card-track{overflow:hidden;scroll-snap-type:none;}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px;padding:8px 0 40px;}
.card{display:flex;flex-direction:column;cursor:pointer;}
.card-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-type{position:absolute;top:16px;left:16px;z-index:5;background:rgba(255,255,255,.92);color:var(--green);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:7px 13px;font-weight:600;}
.card-fav{position:absolute;top:14px;right:14px;z-index:5;width:36px;height:36px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.card-fav svg{width:18px;height:18px;display:block;}
.card-fav svg path{fill:none;stroke:var(--ink);stroke-width:1.6;}
.card-fav.on svg path{fill:var(--ink);stroke:var(--ink);}

/* Wishlist toast */
.wishlist-toast{position:fixed;left:50%;bottom:32px;z-index:200;transform:translate(-50%,18px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:14px;max-width:min(460px,calc(100vw - 32px));background:#fff;color:var(--ink);padding:12px 18px 12px 12px;border:1px solid var(--line);border-radius:0;box-shadow:0 16px 44px rgba(0,0,0,.14);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.3,1);}
.wishlist-toast.in{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.wishlist-toast-thumb{height:52px;width:auto;flex:0 0 auto;display:block;border-radius:0;background:var(--paper-2);}
.wishlist-toast-text{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:.01em;color:var(--ink);}
.wishlist-toast-text strong{font-weight:600;}
.wishlist-toast-link{color:var(--ink);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
.wishlist-toast-link:hover{opacity:.6;}

/* Wishlist page */
.wishlist-continue-row{display:flex;justify-content:center;padding:40px 0 72px;}
.wishlist-continue-row[hidden]{display:none;}
.wishlist-continue{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:13px;letter-spacing:.04em;color:var(--green);text-decoration:none;transition:opacity .2s;}
.wishlist-continue:hover{opacity:.6;}
.wishlist-continue .arrow{transition:transform .2s;}
.wishlist-continue:hover .arrow{transform:translateX(3px);}
.wishlist-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px 80px;}
.wishlist-empty[hidden]{display:none;}
.wishlist-empty svg{width:40px;height:40px;fill:none;stroke:var(--muted);stroke-width:1.4;margin-bottom:22px;}
.wishlist-empty h2{font-family:var(--serif);font-size:30px;margin-bottom:10px;}
.wishlist-empty p{color:var(--muted);font-size:15px;margin-bottom:26px;max-width:340px;text-wrap:pretty;}
.card-body{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:18px;}
.card-name{font-family:var(--sans);font-size:15px;line-height:1.15;font-weight:400;}
.card-meta{font-size:15px;color:var(--muted);margin-top:4px;}
.card-price{font-family:var(--sans);font-size:15px;line-height:1.15;font-weight:400;color:var(--ink);text-align:right;white-space:nowrap;}
.card-price small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.card.hidden{display:none;}

/* --- PLP card gallery: listing shot + hover rollover + scroll-through --- */
.card-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;}
.card-track-desktop,.card-track-mobile{display:none;}
@media (hover:hover){.card-track-desktop{display:flex;}}
@media (hover:none){.card-track-mobile{display:flex;}}
.card-track::-webkit-scrollbar{display:none;}
.card-track .slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;}
.card-track .slide img{width:100%;height:100%;object-fit:cover;background:var(--paper-2);opacity:0;transition:opacity .35s ease;}
.card-track .slide img.loaded{opacity:1;}
/* hover rollover (image 5) — sits over slide 1, dismissed once browsing */
.card-rollover{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease;z-index:2;}
.card-rollover img{width:100%;height:100%;object-fit:cover;}
.card:hover .card-rollover{opacity:1;}
.card.browsing .card-rollover{opacity:0;}
/* nav arrows */
.card-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border:none;background:transparent;font-size:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;}
.card-nav::before{content:"";display:block;width:9px;height:9px;border-top:1.5px solid #111;border-right:1.5px solid #111;filter:drop-shadow(0 1px 2px rgba(255,255,255,.6));}
.card-nav.next::before{transform:rotate(45deg);margin-left:-4px;}
.card-nav.prev::before{transform:rotate(-135deg);margin-right:-4px;}
.card-nav.prev{left:12px;}
.card-nav.next{right:12px;}
.card-img:hover .card-nav{opacity:1;}
.card-nav:hover::before{border-color:#000;}
.card-nav:disabled{opacity:0!important;}
/* gallery dots/line indicators removed — navigation is arrows + swipe only */
.card-dots{display:none;}
@media (hover:none){
  .card-nav{display:none;}
  .card-rollover{display:none;}
}

/* ============ PRODUCT DETAIL ============ */
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding:56px 0 96px;align-items:start;}
.pd-gallery{position:relative;min-width:0;}
.pd-frame img,.pd-thumb img{background:var(--paper-2);opacity:0;transition:opacity .35s ease;}
.pd-frame img.loaded,.pd-thumb img.loaded{opacity:1;}
.pd-stack{position:relative;min-width:0;}
.pd-track{display:block;overflow-anchor:none;}
.pd-frame{display:block;font-size:0;aspect-ratio:4/5;background-size:cover;background-position:center;background-repeat:no-repeat;}
.pd-frame img{display:block;width:100%;height:100%;object-fit:cover;}
/* carousel controls — hidden on the desktop stack, shown on mobile */
.pd-nav,.pd-dots{display:none;}

/* Full-bleed stacked gallery: only on the product detail section.
   The image column breaks out to the left viewport edge and rises to the
   header's grey line; the buy-info column stays within the wrap and sticks. */
.pd-section .pd{padding-top:0;}.pd-section .pd-info{position:sticky;top:var(--header-h);align-self:start;padding:28px 32px 0;}
/* Suppress the flash of hardcoded placeholder content (Amadeus Barrel ·
   Grenadilla) while product.js resolves the real product from ?id= and
   swaps it in — content fades in once product.js marks the body ready. */
body.pd-loading .pd-info,body.pd-loading .pd-gallery,body.pd-loading .namesake-band,body.pd-loading .pd-specs{opacity:0;}
body:not(.pd-loading) .pd-info,body:not(.pd-loading) .pd-gallery,body:not(.pd-loading) .namesake-band,body:not(.pd-loading) .pd-specs{opacity:1;transition:opacity .15s ease;}
/* Gallery breaks out to the left viewport edge and fills the left 50% of the page,
   split into a flush thumbnail rail + the main stacked-image column. */
.pd-section .pd-gallery{
  margin-left:calc(-1 * (max((100vw - var(--wrap))/2, 0px) + var(--pad)));
  width:50vw;
  display:grid;
  /* thumb rail width = the no-crop image width at 1/5 of the fold height (img ratio 150:188) */
  grid-template-columns:calc((100vh - var(--header-h)) / 5 * 150 / 188) 1fr;
  gap:0;
  align-items:start;
}
.pd-section .pd-stack{margin-left:0;width:auto;}
/* each frame uses the image's natural length — width fills to the page middle, height follows the image */
.pd-section .pd-frame{height:auto;aspect-ratio:4/5;background:var(--paper-2);}
.pd-section .pd-frame img{width:100%;height:auto;object-fit:fill;}
.pd-thumbs{display:flex;flex-direction:column;position:sticky;top:var(--header-h);align-self:start;height:calc(100vh - var(--header-h));width:100%;}
.pd-thumb{display:block;margin:0;padding:0;border:0;background:none;cursor:pointer;font-size:0;line-height:0;position:relative;flex:1 1 0;min-height:0;width:100%;}
.pd-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.pd-thumb::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,0);transition:background .2s;}
.pd-thumb:hover::after{background:rgba(255,255,255,.18);}
/* carousel arrows — identical chevrons to the catalogue cards */
.pd-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border:none;background:transparent;font-size:0;cursor:pointer;align-items:center;justify-content:center;transition:opacity .25s;}
.pd-nav::before{content:"";display:block;width:9px;height:9px;border-top:1.5px solid #111;border-right:1.5px solid #111;filter:drop-shadow(0 1px 2px rgba(255,255,255,.6));}
.pd-nav.next::before{transform:rotate(45deg);margin-left:-4px;}
.pd-nav.prev::before{transform:rotate(-135deg);margin-right:-4px;}
.pd-nav.prev{left:12px;}
.pd-nav.next{right:12px;}
.pd-nav:hover::before{border-color:#000;}
.pd-nav:disabled{opacity:0!important;}
.pd-dots{position:absolute;left:0;right:0;bottom:14px;z-index:4;gap:6px;justify-content:center;}
.pd-dots button{width:6px;height:6px;border-radius:50%;border:none;padding:0;cursor:pointer;background:rgba(255,255,255,.6);transition:background .2s,transform .2s;}
.pd-dots button.on{background:var(--paper);transform:scale(1.35);}

.pd-kicker{display:flex;gap:14px;align-items:center;}
.pd-name{font-size:clamp(40px,5vw,68px);line-height:1;margin:18px 0 0;}
.pd-namesake{font-style:italic;font-family:var(--serif);font-size:20px;color:var(--ink-soft);margin-top:14px;}
.pd-price{font-size:24px;margin-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line);}
.pd-price small{font-size:13px;color:var(--muted);letter-spacing:.04em;}
.pd-desc{margin-top:28px;font-size:16px;line-height:1.75;color:var(--ink-soft);}
.pd-rule{height:1px;background:var(--line);margin:34px 0;}
.opt-group.opt-group--tight{margin-top:0;}
.opt-group--tight .field{margin-top:0;}
.opt-group{margin-top:32px;}
.opt-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.opt-label h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink);}
.opt-label .opt-val{font-family:var(--serif);font-size:17px;color:var(--green);}
.wood-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.chip{
  display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;border:1px solid var(--line);
  background:transparent;cursor:pointer;font-family:var(--sans);font-size:13px;color:var(--ink-soft);transition:border-color .2s,background .2s;white-space:nowrap;
}
.chip:hover{border-color:var(--ink);}
.chip.active{border-color:var(--ink);background:transparent;color:var(--ink);}
.chip .sw{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:0 0 auto;}
.bore-opts{display:flex;flex-wrap:wrap;gap:10px;}
.bore{display:flex;align-items:baseline;gap:7px;white-space:nowrap;padding:9px 15px;border:1px solid var(--line);cursor:pointer;text-align:left;background:transparent;font-family:var(--sans);font-size:13px;color:var(--ink-soft);transition:border-color .2s,background .2s;}
.bore:hover{border-color:var(--ink);}
.bore.active{border-color:var(--ink);background:transparent;color:var(--ink);}
.bore strong{font-family:var(--sans);font-weight:400;font-size:13px;display:inline;}
.bore span{font-size:12px;color:var(--muted);}
.field label.opt-field-label{display:flex;align-items:center;gap:7px;}
.pd-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:18px;}
.pd-title-row .pd-name{margin:0;flex:1 1 auto;min-width:0;}
.pd-heart{flex:0 0 auto;background:transparent;border:0;padding:6px;margin:2px 0 0;cursor:pointer;color:var(--ink);line-height:0;}
.pd-heart svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;transition:fill .2s,stroke .2s;}
.pd-heart.saved svg{fill:var(--green);stroke:var(--green);}

/* Product actions: large Enquire button with made-to-order note beneath */
.pd-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:38px;}
.pd-actions .btn-solid{width:100%;justify-content:center;}
.pd-actions .pd-note{margin:0;justify-content:center;text-align:center;}

/* Enquiry drawer */
.drawer-scrim{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:300;opacity:0;transition:opacity .3s ease;}
.drawer-scrim.in{opacity:1;}
.drawer-scrim[hidden]{display:none;}
.enq-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(448px,100vw);
  background:var(--paper);z-index:310;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .36s cubic-bezier(.4,0,.1,1),box-shadow .36s ease;
  box-shadow:none;
}
.enq-drawer.open{transform:translateX(0);box-shadow:-24px 0 70px rgba(0,0,0,.18);}
.enq-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line);flex:0 0 auto;}
.enq-head h2{font-family:var(--serif);font-size:23px;font-weight:400;margin:0;}
.enq-close{background:transparent;border:0;cursor:pointer;color:var(--ink);padding:6px;margin:-6px;line-height:0;transition:opacity .2s;}
.enq-close:hover{opacity:.55;}
.enq-close svg{width:20px;height:20px;display:block;}
.enq-body{flex:1 1 auto;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:30px;}
.enq-item{display:flex;gap:18px;align-items:stretch;}
.enq-thumb{flex:0 0 116px;width:116px;align-self:stretch;background:var(--paper-2);overflow:hidden;}
.enq-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.enq-item-info{flex:1 1 auto;min-width:0;}
.enq-item-info h3{font-family:var(--serif);font-size:21px;font-weight:400;margin:0 0 14px;}
.enq-specs{margin:0;display:flex;flex-direction:column;gap:9px;}
.enq-specs > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:9px;border-bottom:1px solid var(--line-soft);}
.enq-specs > div:last-child{border-bottom:0;padding-bottom:0;}
.enq-specs dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.enq-specs dd{margin:0;font-family:var(--sans);font-size:14px;color:var(--ink);white-space:nowrap;}
.enq-form{display:flex;flex-direction:column;}
.enq-form .field:first-child{margin-top:0;}
.enq-form textarea{min-height:96px;}
.enq-submit{width:100%;justify-content:center;margin-top:26px;}
.enq-note{display:flex;gap:8px;justify-content:center;align-items:center;text-align:center;font-size:13px;line-height:1.55;color:var(--muted);margin:-14px 0 0;}
.enq-done{display:flex;flex-direction:column;gap:10px;padding:8px 0;}
.enq-done h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:0;color:var(--green);}
.enq-done p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft);}
.enq-done strong{color:var(--ink);font-weight:600;}
@media (max-width:640px){
  .pd-actions{flex-direction:column;align-items:stretch;gap:16px;}
  .pd-actions .btn-solid{flex:1 1 auto;}
  .enq-drawer{
    top:auto;bottom:0;right:0;width:100%;height:90%;
    border-radius:0;
    transform:translateY(100%);box-shadow:none;
  }
  .enq-drawer.open{transform:translateY(0);box-shadow:0 -24px 70px rgba(0,0,0,.18);}
}
.opt-label h4{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.opt-label .opt-val{white-space:nowrap;}
.info-tip{position:relative;display:inline-flex;cursor:help;outline:none;}
.info-tip .tip-i{
  width:15px;height:15px;border-radius:50%;border:1px solid var(--muted);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:normal;font-weight:400;font-size:10px;line-height:1;
  letter-spacing:0;text-transform:none;color:var(--muted);transition:color .2s,border-color .2s;
}
.info-tip:hover .tip-i,.info-tip:focus .tip-i{border-color:var(--green);color:var(--green);}
.info-tip .tip-bubble{
  position:absolute;top:calc(100% + 11px);left:-9px;width:258px;
  background:#000;color:#e7ece8;
  font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.55;
  letter-spacing:.01em;text-transform:none;text-align:left;white-space:normal;
  padding:13px 15px;border-radius:0;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;
  z-index:60;pointer-events:none;
}
.info-tip .tip-bubble::after{content:"";position:absolute;bottom:100%;left:10.5px;border:6px solid transparent;border-bottom-color:#000;}
/* right-hand field: anchor the bubble to the icon's right so it can't run off-screen */
.field-row .field:last-child .info-tip .tip-bubble{left:auto;right:-9px;}
.field-row .field:last-child .info-tip .tip-bubble::after{left:auto;right:10.5px;}
.info-tip:hover .tip-bubble,.info-tip:focus .tip-bubble{opacity:1;visibility:visible;transform:translateY(0);}
.pd-note{font-size:13px;color:var(--muted);margin-top:18px;display:flex;gap:8px;align-items:center;}

.pd-specs{border-top:1px solid var(--line);padding:64px 0;}
.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.spec dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.spec dd{font-family:var(--serif);font-size:21px;margin:0;}

.namesake-band{background:var(--paper-2);padding:96px 0;}
.namesake-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;}
.ns-shop{display:inline-block;margin-top:28px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;transition:opacity .2s;}
.ns-shop:hover{opacity:.55;}

.related{padding:96px 0;}
.related .rail-viewall{display:none;}
.related .product-grid{grid-template-columns:repeat(4,1fr);gap:0;padding:0;width:100%;margin:0;}
.related .card-body{padding:16px 22px 40px;}

/* ============ THE FAMILIES (faces row) ============ */
.families{padding:80px 0 92px;border-top:1px solid var(--line-soft);text-align:center;}
.section-head--center{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:0;}
.section-head--center .kicker{white-space:nowrap;}
.fam-row{display:flex;justify-content:center;align-items:flex-end;gap:clamp(20px,5vw,72px);margin-top:54px;flex-wrap:wrap;}
.fam{
  position:relative;display:flex;flex-direction:column;align-items:center;
  width:clamp(64px,8vw,90px);padding-bottom:56px;text-decoration:none;
}
.fam-face{
  display:block;width:100%;will-change:transform;transform-origin:50% 50%;
  transition:transform .55s cubic-bezier(.34,1.4,.5,1);
}
.fam-face img{width:100%;height:auto;display:block;}
.fam:hover .fam-face,
.fam:focus-visible .fam-face{transform:translateY(-38px) rotate(360deg) scale(1.06);}
.fam-blurb{
  position:absolute;left:0;right:0;bottom:8px;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  opacity:0;transform:translateY(9px);pointer-events:none;
  transition:opacity .3s ease,transform .34s cubic-bezier(.34,1.56,.64,1);
}
.fam:hover .fam-blurb,
.fam:focus-visible .fam-blurb{opacity:1;transform:translateY(0);}
.fam-explore{font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--green);font-weight:600;}
.fam-name{font-family:var(--serif);font-size:18px;line-height:1;color:var(--ink);white-space:nowrap;}
@media (hover:none){
  .fam{padding-bottom:14px;}
  .fam-blurb{position:static;opacity:1;transform:none;margin-top:12px;}
}
@media (prefers-reduced-motion:reduce){
  .fam-face,.fam-blurb{transition:opacity .2s ease;}
  .fam:hover .fam-face,.fam:focus-visible .fam-face{transform:translateY(-12px);}
}
@media (max-width:620px){
  .fam-row{gap:22px 26px;}
  .fam{width:clamp(58px,22vw,84px);}
}

/* Full-bleed product film */
.product-video{width:100%;background:#000;overflow:hidden;}
.product-video-frame{position:relative;width:100%;overflow:hidden;}
.product-video-native{width:100%;max-width:100%;aspect-ratio:16/9;display:block;object-fit:cover;background:#000;}
.pv-play{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;cursor:pointer;background:transparent;display:flex;align-items:center;justify-content:center;}
.pv-play.is-hidden{display:none;}
.pv-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s;}
.pv-play:hover img{transform:scale(1.03);opacity:.92;}
.pv-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s;}
.pv-play:hover .pv-btn{background:#000;transform:translate(-50%,-50%) scale(1.06);}
.pv-btn svg{width:30px;height:30px;fill:#fff;margin-left:5px;}
.pv-title{position:absolute;left:0;right:0;top:calc(50% - 120px);text-align:center;color:#fff;font-family:var(--serif);font-size:28px;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.6);}
.pv-subtitle{display:block;font-family:var(--sans);font-size:14px;letter-spacing:.02em;font-weight:400;margin-top:8px;opacity:.9;}
@media (max-width:620px){
  .pv-title{font-size:18px;top:calc(50% - 90px);padding:0 20px;}
  .pv-subtitle{font-size:12px;}
}

/* ============ ABOUT / PROCESS ============ */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:24px 0 96px;align-items:start;}
.about-module{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding:48px 0;}
.about-module.rev .about-fig{order:2;}
.about-col{display:flex;flex-direction:column;gap:44px;}
.about-fig{margin:0;overflow:hidden;background:var(--paper-2);border-radius:2px;position:sticky;top:120px;}
.about-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.about-block h2.script{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.01em;color:var(--ink);margin-bottom:18px;}
.about-block p{font-size:15.5px;line-height:1.78;color:var(--ink-soft);margin-top:16px;}
.about-block p:first-of-type{margin-top:0;}
.about-link{display:inline-block;font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--ink);text-decoration:underline;text-underline-offset:4px;}
.about-link:hover{color:var(--green);}
@media (max-width:860px){.about-split,.about-module{grid-template-columns:1fr;gap:32px;}.about-fig{position:static;}.about-module.rev .about-fig{order:0;}}

.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:96px 0;}
.prose-grid.rev .prose-fig{order:2;}
.prose-fig{margin:0;overflow:hidden;background:var(--paper-2);border-radius:2px;}
.prose-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.prose-copy h2{font-size:30px;margin-top:16px;}
.prose-copy p{font-size:16px;line-height:1.78;color:var(--ink-soft);margin-top:22px;}
.pullquote{padding:110px 0;text-align:center;}
.pullquote p{font-family:var(--serif);font-size:clamp(28px,3.6vw,46px);line-height:1.3;max-width:900px;margin:0 auto;}
.pullquote .accent{color:var(--green);font-style:italic;}

.steps-list{padding:40px 0 96px;}
.step-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:48px;padding:56px 0;border-top:1px solid var(--line);align-items:start;}
.step-row:last-child{border-bottom:1px solid var(--line);}
.step-num{font-family:var(--serif);font-size:40px;color:var(--green);line-height:1;}
.step-copy h3{font-size:30px;}
.step-copy p{margin-top:16px;font-size:16px;line-height:1.7;color:var(--ink-soft);}
.step-fig{margin:0;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3;border:1px solid var(--line-soft);}
.step-fig img{width:100%;height:100%;object-fit:cover;}

/* ============ COMMISSION ============ */
.commission{padding:56px 0 110px;}
.comm-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start;}
/* Editorial counter progress bar */
.progress{margin-bottom:48px;}
.prog-head{display:flex;align-items:baseline;gap:28px;padding-top:24px;}
.prog-index{display:flex;align-items:baseline;flex:0 0 auto;}
.prog-num{font-family:var(--serif);font-size:64px;line-height:.82;color:var(--green);font-variant-numeric:tabular-nums;}
.prog-total{font-family:var(--serif);font-size:22px;color:var(--muted);margin-left:6px;}
.prog-div{width:1px;align-self:stretch;background:var(--line);}
.prog-now{flex:1 1 auto;min-width:0;position:relative;}
.prog-next{flex:0 0 auto;text-align:right;position:relative;}
.prog-eyebrow{position:absolute;bottom:100%;left:0;font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;white-space:nowrap;}
.prog-next .prog-eyebrow{left:auto;right:0;}
.prog-name{display:block;font-family:var(--serif);font-size:32px;line-height:1;color:var(--ink);}
.prog-next-name{display:block;font-family:var(--serif);font-size:18px;color:var(--muted);}
.prog-next.hidden{display:none;}
.prog-track{position:relative;margin-top:26px;height:2px;background:var(--line);}
.prog-track i{position:absolute;left:0;top:0;height:2px;width:0;background:var(--green);transition:width .5s cubic-bezier(.16,1,.3,1);}
.prog-ticks{position:absolute;inset:0;display:flex;justify-content:space-between;}
.prog-ticks span{position:relative;width:1px;height:2px;cursor:pointer;}
.prog-ticks span::before{content:"";position:absolute;left:-7px;top:-8px;width:15px;height:18px;}

.step-panel{display:none;}
.step-panel.active{display:block;animation:fade .5s cubic-bezier(.16,1,.3,1);}
@keyframes fade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.step-panel.active{animation:none;}}
.step-panel .eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.step-panel h2{font-size:30px;margin-top:12px;}
.step-panel .help{font-size:16px;color:var(--ink-soft);margin-top:14px;max-width:480px;line-height:1.6;}

.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:34px;}
.choice{padding:24px;border:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;}
.choice:hover{border-color:var(--ink);}
.choice.sel{border-color:var(--ink);background:transparent;}
.choice .c-title{font-family:var(--serif);font-size:24px;display:block;color:var(--ink);}
.choice .c-sub{font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:5px;display:block;}

.field{margin-top:24px;}
.field label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:9px;}
.field input,.field select,.field textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:15px;color:var(--ink);
  border-radius:0;transition:border-color .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);}
.field select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field-row.field-row-3{grid-template-columns:1fr 1fr 1fr;}
.field textarea{resize:vertical;min-height:110px;}

.comm-woods{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:14px;}
.comm-wood-group{margin-top:8px;}
.comm-subhead{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:22px 0 4px;}
.comm-silhouette-group:first-child .comm-subhead,.comm-wood-group:first-child .comm-subhead{margin-top:0;}
.comm-silhouette-group.solo .comm-subhead,.comm-wood-group.solo .comm-subhead{display:none;}
.comm-silhouettes{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:14px;}
.comm-silhouette{cursor:pointer;text-align:center;background:transparent;border:1px solid var(--line);padding:12px 8px 14px;border-radius:0;transition:border-color .2s,background .2s;}
.comm-silhouette img{width:100%;height:auto;display:block;margin-bottom:8px;}
.comm-silhouette span{font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.comm-silhouette.sel{border-color:var(--ink);}
.comm-silhouette.sel span{color:var(--ink);}
.comm-wood{cursor:pointer;text-align:center;background:transparent;border:0;padding:0;}
.comm-wood .sw{aspect-ratio:1/1;border-radius:0;border:1px solid transparent;transition:border-color .2s;overflow:hidden;}
.comm-wood .sw img{width:100%;height:100%;object-fit:cover;}
.comm-wood:hover .sw{border-color:rgba(0,0,0,.22);}
.comm-wood.sel .sw{border-color:transparent;outline:1px solid #000;outline-offset:2px;}
.comm-wood span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.02em;color:var(--ink-soft);margin-top:10px;}

.slider-field{margin-top:34px;}
.slider-field .sf-top{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:2px;background:var(--line);outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--green);cursor:pointer;}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border:none;border-radius:50%;background:var(--green);cursor:pointer;}

.step-nav{display:flex;justify-content:space-between;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);}
.step-nav .btn[disabled]{opacity:.35;pointer-events:none;}

/* commission summary */
.summary{position:sticky;top:110px;background:var(--paper-2);border:1px solid var(--line);padding:30px;}
.summary h3{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.summary-img{aspect-ratio:477/596;margin:20px 0;overflow:hidden;background:var(--paper-3);}
.summary-img img{width:100%;height:100%;object-fit:cover;}
.summary-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:14px;}
.summary-row:last-of-type{border-bottom:none;}
.summary-row span{color:var(--muted);}
.summary-row strong{font-weight:500;text-align:right;}
.summary-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;}
.summary-total span{font-size:13px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;}
.summary-total strong{font-family:var(--serif);font-size:26px;font-weight:400;}

.comm-done{text-align:center;padding:80px 0;max-width:560px;margin:0 auto;}
.comm-done .mark{width:44px;height:44px;border-radius:50%;background:var(--green);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 28px;}
.comm-done h2{font-size:30px;}
.comm-done p{font-size:16px;color:var(--ink-soft);margin-top:18px;line-height:1.7;}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:64px 0 110px;align-items:start;}
.contact-info h2{font-size:30px;}
.contact-block{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);}
.contact-block h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.contact-block a,.contact-block p{font-family:var(--serif);font-size:22px;color:var(--ink);}
.contact-block a:hover{color:var(--green);}
.contact-form{background:var(--paper-2);border:1px solid var(--line);padding:44px;}
.form-success{display:none;text-align:center;padding:30px 0;}
.form-success.show{display:block;animation:fade .5s ease;}

.faq{padding:0 0 110px;}
.acc{border-top:1px solid var(--line);}
.acc:last-child{border-bottom:1px solid var(--line);}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--serif);font-size:23px;color:var(--ink);}
.acc-q .pm{font-family:var(--sans);font-size:26px;color:var(--green);transition:transform .3s;flex:0 0 auto;}
.acc.open .acc-q .pm{transform:rotate(45deg);}
.acc-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1);}
.acc-a p{padding:0 0 28px;font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:680px;}

/* responsive */
@media (max-width:980px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  .cols-toggle,.view-divider{display:none;}
  .rail-track{grid-auto-columns:calc(100%/2.4);}
  .home-rail .rail-track{grid-auto-columns:calc(100%/2.5);}
  .related .rail-track{grid-auto-columns:calc(100%/2.5);}
  .related .product-grid{grid-template-columns:repeat(2,1fr);gap:0;}
  .pd,.comm-grid,.contact-grid,.prose-grid,.namesake-grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .pd{min-width:0;}
  .pd-gallery,.summary{position:static;}
  /* product gallery becomes a full-width swipe carousel */
  .pd-section .pd-info{position:static;padding-left:0;padding-right:0;}
  .pd-section .pd-gallery{margin-left:0;width:auto;display:block;min-width:0;}
  .pd-thumbs{display:none;}
  .pd-section .pd-frame:first-child{height:auto;}
  .pd-section .pd-frame:first-child img{height:100%;object-fit:cover;}
  .pd-section .pd-stack{
    margin-left:calc(-1 * var(--pad));
    width:calc(100% + var(--pad) * 2);
  }
  .pd-track{
    display:flex;align-items:flex-start;
    overflow-x:auto;overflow-y:hidden;overflow-anchor:none;
    scroll-snap-type:x mandatory;scroll-behavior:smooth;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .pd-track::-webkit-scrollbar{display:none;}
  .pd-frame{flex:0 0 100%;scroll-snap-align:center;}
  .pd-nav,.pd-dots{display:flex;}
  .prose-grid.rev .prose-fig{order:0;}
  .step-row{grid-template-columns:60px 1fr;gap:24px;}
  .step-fig{grid-column:1/-1;}
  .specs-grid{grid-template-columns:repeat(2,1fr);}
  .comm-woods{grid-template-columns:repeat(3,1fr);}
  .comm-silhouettes{grid-template-columns:repeat(5,1fr);}
}
@media (max-width:620px){
  .product-grid{grid-template-columns:1fr;}
  .home-rail .rail-head{flex-direction:row;align-items:baseline;justify-content:space-between;gap:14px;}
  .home-rail .rail-serif{font-size:10px;letter-spacing:.08em;line-height:1.35;}
  .rail-serif-full{display:none;}
  .rail-serif-short{display:inline;}
  .home-rail .rail-viewall{flex:0 0 auto;font-size:10px;letter-spacing:.08em;}
  .card-viewmore-label{font-size:10px;letter-spacing:.08em;}
  .rail-track{grid-auto-columns:calc(100%/2.3);}
  .home-rail .rail-track{grid-auto-columns:calc(100%/2.5);}
  .related .rail-track{grid-auto-columns:calc(100%/2.5);}
  .related .product-grid{grid-template-columns:1fr;}
  .related .rail-head{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;}
  .related .rail-viewall{display:none;}
  /* wishlist toast: wider box on mobile */
  .wishlist-toast{max-width:none;left:12px;right:12px;transform:translateY(18px);}
  .wishlist-toast.in{transform:translateY(0);}
  .filter-bar{align-items:stretch;}
  .filters{
    justify-self:stretch;
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;
    scrollbar-width:none;-ms-overflow-style:none;
    margin:0 calc(-1 * var(--pad));padding:2px var(--pad);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);
  }
  .filters::-webkit-scrollbar{display:none;}
  .filter{flex:0 0 auto;white-space:nowrap;}
  .filter-div{flex:0 0 auto;}
  .page-hero-grid{grid-template-columns:1fr;}
  .field-row,.field-row.field-row-3{grid-template-columns:1fr;}
  /* wood chips become a horizontal swipe; content past the right margin fades out */
  .wood-chips{
    display:flex;flex-wrap:nowrap;overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;-ms-overflow-style:none;
    -webkit-mask-image:none;mask-image:none;
  }
  .wood-chips::-webkit-scrollbar{display:none;}
  .wood-chips.fade-end{
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);
    mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);
  }
  .wood-chips.fade-start.fade-end{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 34px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 34px),transparent);
  }
  .wood-chips.fade-start:not(.fade-end){
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 26px);
    mask-image:linear-gradient(90deg,transparent,#000 26px);
  }
  .wood-chips .chip{flex:0 0 auto;white-space:nowrap;}
  /* stacked fields: open the bore-size tooltip rightward like the length one so it isn't clipped */
  .field-row .field:last-child .info-tip .tip-bubble{left:-9px;right:auto;}
  .field-row .field:last-child .info-tip .tip-bubble::after{left:10.5px;right:auto;}
  .comm-woods{grid-template-columns:repeat(3,1fr);}
  .comm-silhouettes{grid-template-columns:repeat(3,1fr);}
  .prog-num{font-size:48px;}
  .prog-name{font-size:24px;}
  .prog-next{display:none;}
}
