/* Approved refinements. Keep reference geometry and scroll timing in reference.css. */
.showroom-map { display: block; width: 100%; height: 240px; border: 0; margin-top: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.hero-rug { position: relative; overflow: hidden; }
.hero-rug > .hero-slide { position: absolute; inset: 0; opacity: 0; object-position: center 82%; transition: opacity 1.2s ease; }
.hero-rug > .hero-slide.active { opacity: 1; }
.hero-pause, .film-toggle { display: none; position: absolute; z-index: 3; right: 1rem; bottom: 1rem; border: 1px solid rgba(246,240,228,.6); background: rgba(28,24,20,.65); color: #F6F0E4; font: 700 .85rem var(--font-body); padding: .5rem .8rem; cursor: pointer; }
.features-wrap { background: #1c1814; }
.features-wrap::before { display: none; }
.features-bg { filter: brightness(.75) saturate(.8); }
.features-scrim { inset: 0; height: 100%; background: linear-gradient(180deg, rgba(12,10,8,.4), rgba(12,10,8,.64)); }
.features-label { color: #F6F0E4; }
.stmt { color: rgba(246,240,228,.54); max-width: 32ch; }
.stmt.on { color: #F6F0E4; }
.showcase-wrap { background-image: url('https://cdn.shopify.com/s/files/1/0021/1923/7730/collections/IMG_9769.webp?v=1759245063&width=2000'); }
.eyebrow { font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .75rem; }
.field textarea { width: 100%; resize: vertical; background: var(--bg); border: 1px solid var(--muted); color: var(--ink); font: inherit; line-height: 1.5; padding: .6em .8em; }
:is(input, textarea, button, a, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.collections-heading { grid-column: 1 / -1; font-size: var(--step-head); line-height: 1.1; margin-bottom: 1.5rem; }
.carousel-product { display: block; width: 100%; height: 100%; }
.carousel .col-label { bottom: 5rem; }
.carousel-name { margin-top: .7rem; color: #F6F0E4 !important; }
.carousel-controls { position: absolute; bottom: 1rem; left: 1.5rem; right: 1.5rem; display: flex; align-items: center; gap: .65rem; z-index: 3; color: #F6F0E4; font-size: .9rem; }
.carousel-controls button { border: 1px solid rgba(246,240,228,.65); background: rgba(28,24,20,.55); color: inherit; font: inherit; min-width: 44px; min-height: 44px; padding: .35rem .6rem; cursor: pointer; }
.carousel-controls button:disabled { opacity: .4; cursor: default; }
.carousel-pause { margin-left: auto; }
.fact summary { cursor: pointer; padding: .35rem 0; font-size: var(--step-body); }
.fact[open] summary { margin-bottom: .75rem; }
.fact a { text-decoration: underline; text-underline-offset: .2em; }
.about-facts { gap: 0; }
#guidance-dialog { width: min(480px, calc(100% - 2rem)); max-height: calc(100svh - 2rem); overflow: auto; margin: auto; padding: 2rem; color: var(--ink); background: var(--bg); border: 1px solid var(--surface); box-shadow: 0 20px 100px #0004; }
#guidance-dialog::backdrop { background: #1c181466; backdrop-filter: blur(7px); }
#dialog-title { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.05; margin: .5rem 0 1rem; }
#dialog-description { margin-bottom: 1.5rem; }
.dialog-close { position: absolute; top: .5rem; right: .5rem; width: 44px; height: 44px; border: 0; background: transparent; font-size: 1.75rem; color: var(--ink); cursor: pointer; }
#contact-form { display: grid; gap: 1rem; }
.form-note, #inquiry-status { font-size: .9rem; line-height: 1.5; color: var(--muted); }
.form-note a { text-decoration: underline; }
@media (min-width: 601px) and (max-width: 900px) {
  .col-label { left: 1rem; right: 1rem; }
  .col-label h3 { font-size: 1.8rem; }
  .carousel-controls { left: .7rem; right: .7rem; gap: .35rem; }
  .carousel-controls button { min-width: 36px; padding: .25rem; }
  .col-item { aspect-ratio: 3/5; }
}
@media (max-width: 600px) {
  .stmt { font-size: clamp(1.4rem, 5.8vw, 2rem); line-height: 1.2; }
  .stmts { gap: 1rem; }
  .features-inner { padding: 4rem 1.5rem; }
  .showcase-title { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .showcase-subtitle { font-size: 1.2rem; }
  .showcase-caption { font-size: 1rem; }
  .showcase-sticky { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .collections { gap: 1rem; }
  .collections-heading { margin-bottom: .5rem; }
  .col-item { aspect-ratio: 1 / 1.1; }
  #guidance-dialog { padding: 2rem 1.4rem 1.4rem; }
}
@media (prefers-reduced-motion: reduce) { .hero-rug > .hero-slide { transition: none; } }

.hero-supporting-title { font-weight: 700; letter-spacing: .01em; margin: 0 0 0.4rem; max-width: 32ch; color: var(--ink); }
/* Square custom samples are shown whole rather than presented as cropped rugs. */
.carousel[data-collection="custom"] { background: #918774; }
.carousel[data-collection="custom"] .carousel-product img { object-fit: contain; object-position: center 24%; padding: 1rem 1rem 9rem; }
@media (min-width:601px) and (max-width:900px) { .carousel[data-collection="custom"] .carousel-product img { padding: .6rem .6rem 10rem; } }

/* ─── Taste fixes ─────────────────────────────────────── */

/* Hairlines: replace fact bottom-borders with generous padding */
.fact { border-bottom: none; padding: 1.25rem 0; }
.fact + .fact { padding-top: 0; }

/* Eyebrow labels: removed per Taste house rules */
.eyebrow { display: none; }

/* Accent: darkened #c4512e → #b04020 for 5.2:1 contrast against cream */
:root { --accent: #b04020; }

/* Headline wrap: about h2 and trade h3 at tablet widths */
@media (max-width: 1024px) {
  .about-text h2, .trade-card h3 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
}

/* SEO text hierarchy: description visually secondary to keyword h1 */
.hero-eyeline { max-width: none; }
.hero-eyeline p { color: rgba(28,24,20,0.42); line-height: 1.4; max-width: 32ch; margin: 0; }

/* Collapse the elastic 1fr middle row in the hero grid */
.hero { grid-template-rows: auto 3rem auto; min-height: auto; }
.hero-left { align-items: flex-start; padding-bottom: 0; }

/* ─── 2026-11-11 batch ─────────────────────────────────── */

/* #1 — Hero logo: single line, brand maroon */
.hero-name { white-space: nowrap; color: #611E09; }

/* #2 — Nav icons */
.nav-icons { display: flex; align-items: center; gap: 0.75rem; margin-right: 0.5rem; }
.nav-icon-btn { color: var(--ink); display: flex; align-items: center; opacity: 0.75; transition: opacity 0.2s; }
.nav-icon-btn:hover { opacity: 1; }

/* #3 — Gallery float fly-in */
.gf-reveal { opacity: 0; transform: translateY(28px) scale(0.96); transition: opacity 0.6s ease, transform 0.6s ease; }
.gf-reveal.in { opacity: 1; transform: none; }

/* #4 — Why HEIR LOOMS: bigger title, logo font; smaller inactive stmts */
.features-label { font-size: var(--step-lead); font-family: var(--font-brand); letter-spacing: 0.02em; }
.stmt { font-size: clamp(1.0625rem, 0.95rem + 0.6vw, 1.4375rem); transition: font-size 0.4s ease, color 0.35s ease; }
.stmt.on { font-size: var(--step-lead); font-weight: 600; }
@media (max-width: 600px) { .stmt { font-size: clamp(1.25rem, 5.2vw, 1.8rem); } .stmt.on { font-size: clamp(1.4rem, 5.8vw, 2rem); } }

/* #5 — Studio Edit: stronger gradient + text color = section title color */
.showcase-wrap::before { background: linear-gradient(to right, rgba(245,240,232,0.88) 0%, rgba(245,240,232,0.72) 42%, rgba(245,240,228,0.32) 100%); }
.showcase-subtitle, .showcase-caption { color: var(--ink) !important; }

/* #6 — Collections: Studio Edit card — full cover, no white bg */
.carousel[data-collection="custom"] { background: var(--bg); }
.carousel[data-collection="custom"] .carousel-product img { object-fit: cover; object-position: center; padding: 0; }

/* #7 — CTA carousel (Apple-style scroll-snap) */
.cta-carousel { position: relative; overflow: hidden; }
.cta-track {
  display: flex;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  align-items: center;
  gap: clamp(0.5rem, 1.5vw, 0.875rem);
  padding-block: 2.5rem;
  padding-inline: calc(50% - clamp(100px, 23vw, 170px));
}
.cta-track::-webkit-scrollbar { display: none; }
.cta-item {
  flex: 0 0 clamp(200px, 46vw, 340px);
  scroll-snap-align: center;
  transform: scale(0.86);
  opacity: 0.55;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.45s ease;
  overflow: hidden;
}
.cta-item.active { transform: scale(1); opacity: 1; }
.cta-slide { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center; filter: brightness(0.92) contrast(1.04) saturate(1.06); pointer-events: none; }
.cta-arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  background: transparent; border: none;
  padding: 0.65rem; cursor: pointer;
  color: var(--ink); opacity: 0.5;
  transition: opacity 0.2s;
  display: flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; z-index: 2;
}
.cta-arrow:hover { opacity: 0.9; }
.cta-prev { left: 0.25rem; }
.cta-next { right: 0.25rem; }
