/* Light zone base */
.light-zone { position:relative; z-index:35; background:var(--cream); color:var(--ink); }
.light-zone .fw-section { max-width:1320px; margin:0 auto; padding:140px 56px; }
@media(max-width:760px){ .light-zone .fw-section{ padding:90px 24px; } }
.light-zone .kicker, .band-kicker { font-size:11px; letter-spacing:0.34em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:22px; display:block; }
.light-zone .kicker.center { text-align:center; }

/* Headings */
.fw-h2 { font-family:var(--display); font-weight:500; font-size:clamp(30px,5vw,68px); line-height:1.0; letter-spacing:-0.025em; color:var(--ink); }
.fw-h2.center { text-align:center; }
.fw-h2.light  { color:#fff; }

/* Arrow links */
.arrow-link { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid var(--hair); padding-bottom:4px; transition:border-color .2s; }
.arrow-link:hover { border-color:var(--ink); }
.arrow-link.light { color:#fff; border-color:rgba(255,255,255,0.3); }
.arrow-link.light:hover { border-color:#fff; }
.arrow-link.big { font-size:13px; }
.fw-center { text-align:center; margin-top:70px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.fw-small  { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-soft); }

/* Full-bleed bands */
.fw-bleed { position:relative; z-index:35; min-height:82vh; display:flex; align-items:center; overflow:hidden; background:#111; }
/* sized to the photo (12000 × 6736 ≈ 16:9) */
.bespoke-bleed { aspect-ratio:12000 / 6736; min-height:0;
  background:url('../../gr2.0 77-89 photos/IMG_13302.avif') center/cover no-repeat; }
/* frosted glass over the left half, fading to clear on the right, so the text reads */
.bespoke-bleed::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  backdrop-filter:blur(16px) brightness(0.82) saturate(112%);
  -webkit-backdrop-filter:blur(16px) brightness(0.82) saturate(112%);
  background:linear-gradient(to right, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.58) 40%, rgba(0,0,0,0.32) 75%, rgba(0,0,0,0) 100%);
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 38%, rgba(0,0,0,0.6) 72%, transparent 100%);
          mask-image:linear-gradient(to right, #000 0%, #000 38%, rgba(0,0,0,0.6) 72%, transparent 100%); }
/* all copy in this band is pure bright white */
.bespoke-bleed .band-kicker { color:#fff; }
.bespoke-bleed .fw-h2 { color:#fff; }
.bespoke-bleed .arrow-link.light { color:#fff; border-color:rgba(255,255,255,0.55); }
@media(max-width:760px){
  .bespoke-bleed { aspect-ratio:auto; min-height:72vh; }
  /* blur the entire image, with a black→transparent tint over the top of it */
  .bespoke-bleed::before {
    -webkit-mask-image:none; mask-image:none;
    background:linear-gradient(to right, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.40) 50%, rgba(0,0,0,0) 100%);
  }
}
.bleed-content { position:relative; z-index:2; padding:80px 72px; max-width:820px; }
.bleed-content.left { text-align:left; }
@media(max-width:760px){
  .bleed-content { padding:60px 24px; max-width:100%; }
  .bleed-content.left, .bleed-content.left .fw-h2, .bleed-content.left .band-kicker { text-align:left; align-items:flex-start; }
}
.bleed-quote { font-family:var(--display); font-weight:300; font-size:clamp(22px,3.5vw,44px); line-height:1.15; letter-spacing:-0.015em; color:#fff; margin:18px 0 24px; }
.bleed-byline { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.45); }
.band-kicker  { color:rgba(255,255,255,0.45); }
.bespoke-bleed .fw-h2 { max-width:18ch; margin:24px 0 32px; }
.band-note { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.15); pointer-events:none; }

/* Collections list */
.fw-collections { border-top:1px solid var(--hair); margin-top:54px; }
.coll-row { display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-bottom:1px solid var(--hair); text-decoration:none; color:var(--ink); transition:color .2s; }
.coll-row:hover { color:var(--ink-soft); }
.coll-t { font-size:13px; letter-spacing:0.12em; text-transform:uppercase; }
.coll-a { font-size:20px; }

/* Trust trio */
.fw-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:64px; }
@media(max-width:720px){ .fw-trust{ grid-template-columns:1fr; gap:38px; } }
.trust-col .trust-k { font-size:11px; letter-spacing:0.26em; text-transform:uppercase; margin-bottom:16px; color:var(--ink); }
.trust-col p { font-size:14px; line-height:1.8; color:var(--ink-soft); }

/* Feature split */
.fw-split { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:56px; }
@media(max-width:720px){ .fw-split{ grid-template-columns:1fr; gap:22px; } }
.split-card { display:block; text-decoration:none; color:var(--ink); }
.split-media { position:relative; aspect-ratio:16/10; background:var(--cream2); overflow:hidden; margin-bottom:20px; }
.split-link  { font-size:11px; letter-spacing:0.16em; text-transform:uppercase; display:flex; justify-content:space-between; }

/* Process steps (light) */
.light-zone .psteps { display:grid; grid-template-columns:repeat(4,1fr); gap:34px; margin-top:60px; }
@media(max-width:860px){ .light-zone .psteps{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .light-zone .psteps{ grid-template-columns:1fr; } }
.light-zone .pstep { border-top:2px solid var(--ink); padding-top:18px; }
.light-zone .pstep .num { font-weight:400; font-size:12px; letter-spacing:0.16em; color:var(--ink-soft); }
.light-zone .pstep h3  { font-family:var(--display); font-weight:500; font-size:22px; margin-top:12px; color:var(--ink); }
.light-zone .pstep p   { margin-top:10px; color:var(--ink-soft); font-size:13.5px; line-height:1.75; }

/* Testimonials */
.fw-testi { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:60px; margin-bottom:10px; }
@media(max-width:760px){ .fw-testi{ grid-template-columns:1fr; gap:30px; } }
.testi p { font-size:15px; line-height:1.8; color:var(--ink); }
.testi-by { display:block; margin-top:14px; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft); }

/* FAQ */
.fw-faq { max-width:820px; margin:60px auto 0; border-top:1px solid var(--hair); }
.faq-item { border-bottom:1px solid var(--hair); }
.faq-q { width:100%; display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; font-size:15px; font-family:var(--mono); cursor:pointer;
  background:none; border:none; color:var(--ink); text-align:left; letter-spacing:0.01em; }
.pm { font-size:22px; font-weight:300; color:var(--ink-soft); flex-shrink:0; margin-left:20px; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-item.open .faq-a { max-height:300px; }
.faq-a > div { padding:0 0 22px; font-size:14px; line-height:1.8; color:var(--ink-soft); }

/* Footer */
.fw-footer { position:relative; z-index:35; background:var(--bg); color:var(--text); padding:90px 56px 50px; }
@media(max-width:760px){ .fw-footer{ padding:60px 24px 40px; } }
.fw-foot-grid { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:50px; }
@media(max-width:760px){ .fw-foot-grid{ grid-template-columns:1fr 1fr; gap:36px; } }
.foot-brand-col .foot-tag { font-size:13px; line-height:1.7; color:var(--muted); max-width:28ch; margin-top:16px; }
.foot-col h4 { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; margin-bottom:20px; color:var(--text); }
.foot-col a  { display:block; font-size:13px; color:var(--muted); text-decoration:none; margin-bottom:10px; transition:color .2s; }
.foot-col a:hover { color:var(--text); }
.fw-foot-bot { max-width:1320px; margin:70px auto 0; padding-top:24px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:11px; letter-spacing:0.1em; color:var(--muted); }

/* Featured 4-up */
.feat-section { padding-top:36px !important; padding-bottom:56px !important; }
.feat-grid { display:flex; align-items:stretch; gap:0; }
.feat-intro { flex:0 0 auto; width:200px; align-self:stretch; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-right:24px; }
.feat-title { font-family:var(--display); font-size:clamp(20px,2.4vw,30px); font-weight:400; letter-spacing:-0.01em; color:var(--ink); }
.feat-shop-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; align-self:flex-start; margin-top:18px; background:#000; color:#fff; font-family:var(--display); font-weight:400; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; padding:11px 24px; border-radius:20px; white-space:nowrap; transition:background .2s; }
.feat-shop-btn:hover { background:#222; }
.feat-products { flex:1 1 0; min-width:0; align-self:center; display:flex; }
.feat-products .fcard { flex:1 1 0; min-width:0; }
.feat-products .fcard + .fcard { margin-left:-1px; }
@media(max-width:860px){
  .feat-section { padding-top:24px !important; padding-bottom:40px !important; }
  .feat-grid { flex-direction:column; align-items:stretch; gap:20px; }
  .feat-intro { width:auto; align-self:auto; flex-direction:row; align-items:center; justify-content:space-between; padding-right:0; }
  .feat-shop-btn { margin-top:0; }
  .feat-products { flex:0 0 auto; align-self:auto; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .feat-products .fcard { flex:0 0 56%; scroll-snap-align:start; padding:20px 18px 18px; }
  .feat-products .fc-thumb { padding:18px 0; }
  .feat-products .fc-thumb svg { width:46%; }
  .feat-products .fc-label { font-size:14px; }
  .feat-products .fc-foot { padding-top:12px; }
  .feat-products .fc-price, .feat-products .fc-desc { font-size:11px; }
}
/* open top/bottom — only vertical black dividers between products */
.fcard { cursor:pointer; border-left:1px solid #000; border-right:1px solid #000; border-top:none; border-bottom:none; padding:30px 28px 26px; display:flex; flex-direction:column; gap:0; transition:background .2s; }
.fcard:hover { background:var(--cream2); }
.fc-label { font-family:var(--display); font-weight:300; font-size:17px; letter-spacing:normal; text-transform:none; color:var(--ink); }
.fc-thumb  { flex:1; display:flex; align-items:center; justify-content:center; padding:30px 0; }
.fc-thumb svg { width:55%; height:auto; }
.fc-foot   { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid #000; padding-top:16px; }
/* price matches the "Reproduction Garnish Rail" description font */
.fc-price  { font-family:var(--display); font-weight:300; font-size:13px; letter-spacing:normal; text-transform:none; color:var(--ink); }
.fc-desc   { font-family:var(--display); font-weight:300; font-size:13px; letter-spacing:normal; text-transform:none; color:var(--ink-soft); }

/* Light-zone overrides for dark components */
.light-zone .block { background:var(--cream); color:var(--ink); }
.light-zone .block h2.bighead { color:var(--ink); }
.light-zone .block .kicker { color:var(--ink-soft); }
.light-zone .lead  { color:var(--ink-soft); }
.light-zone .btn   { border-color:var(--ink); color:var(--ink); }
.light-zone .btn-solid { background:var(--ink); color:var(--cream); }
.light-zone .btn-solid:hover { background:#000; }

/* SVG strokes in light zone */
.light-zone .fcard svg [stroke] { stroke:#11110f; }
.light-zone .fcard svg [fill]:not([fill="none"]) { fill:#11110f; }

/* Contact page */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:80px; margin-top:60px; }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; gap:48px; } }
.ci-block { margin-bottom:32px; }
.ci-label { font-size:10px; letter-spacing:0.24em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:7px; }
.ci-val   { font-size:14px; color:var(--ink); line-height:1.7; text-decoration:none; display:block; }
a.ci-val:hover { text-decoration:underline; }
.cf-row   { margin-bottom:18px; }
.cf-label { font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-bottom:7px; }
.cf-input { width:100%; font-family:var(--mono); font-size:13px; padding:11px 14px;
  background:transparent; border:1px solid var(--hair); border-radius:3px; color:var(--ink);
  box-sizing:border-box; }
.cf-input:focus { outline:none; border-color:var(--ink); }
.cf-select { appearance:none; cursor:pointer; }
.cf-textarea { min-height:130px; resize:vertical; }
.cf-submit { margin-top:8px; padding:13px 28px; }
.cf-note   { font-size:13px; color:var(--ink-soft); margin-top:14px; }
.fc-year   { display:block; font-size:10px; letter-spacing:0.14em; margin-top:3px; color:var(--ink-soft); }
