/* Foundation */
:root { --ink:#1c1b1a; --bone:#f4f2ef; --gold:#c6975b; --line:#ffffff24; --muted:#d0cbc3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--ink); color:var(--bone); font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:22px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button,a,input,select { touch-action:manipulation; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:400; line-height:1.05; letter-spacing:-.045em; }
h2 { font-size:clamp(36px,4.2vw,58px); }
h3 { font-size:25px; }
p { color:var(--muted); }
.wrap { max-width:1240px; margin:auto; padding:0 44px; }
.section { padding:72px 0; }
.section-header { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:30px; }
.section-header h2 { margin-top:16px; max-width:650px; }
.eyebrow { font-size:15px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.note { font-size:19px; }
.fine { font-size:18px; margin-top:14px; line-height:1.7; }
.fine button { color:inherit; background:none; border:0; padding:0; text-decoration:underline; }
.light { background:var(--bone); color:var(--ink); }
.light p { color:#655e55; }
.light .eyebrow { color:#805a2a; }

/* Navigation and shared actions */
.site-header { position:sticky; top:0; z-index:20; background:var(--ink); }
.preview { background:#e8d7bf; color:#372a1b; text-align:center; font-size:16px; padding:7px 18px; }
.preview button { background:none; border:0; text-decoration:underline; color:inherit; margin-left:12px; font-size:16px; }
.nav { height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.logo { width:195px; height:auto; }
.navlinks { display:flex; gap:28px; align-items:center; font-size:17px; }
.navlinks a:not(.btn) { color:#d4cec5; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:22px; background:var(--gold); color:#201911; padding:14px 22px; border:1px solid var(--gold); font-size:18px; font-weight:500; border-radius:2px; min-height:48px; }
.btn:hover { background:#d6ad78; }
.btn.outline { background:transparent; border-color:#ffffff40; color:var(--bone); }
.actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin-top:24px; }
.textlink { font-size:18px; border-bottom:1px solid var(--gold); padding-bottom:4px; }

/* Headline and artwork: fixed section height, independent of following sections. */
.hero { position:relative; overflow:hidden; background:#111110; }
.hero::before { content:''; position:absolute; inset:0; background:url('background.webp') center bottom/cover no-repeat; opacity:.75; }
.hero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#11111077 0%,transparent 80%,#1c1b1a); }
.hero .wrap { position:relative; z-index:1; height:560px; padding-top:60px; padding-bottom:40px; }
.hero h1 { font-size:clamp(36px,4.1vw,58px); max-width:1050px; margin:22px 0; }
.hero h1 span { color:#d3ac79; }

/* Commercial offer */
.hero-offer-section { padding-top:32px; padding-bottom:28px; }
.offer-answer { font-size:clamp(32px,3.5vw,46px); color:var(--ink); }
.offer-fields { font-size:20px; margin-top:10px; }
.hero-offer { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; margin-top:20px; }
.hero-offer strong { font-size:32px; font-weight:500; letter-spacing:-.03em; }
.hero-offer span { font-size:18px; color:inherit; }
.hero-delivery { font-size:20px; margin-top:10px; color:var(--bone); }

/* Testimonial placeholders */
.testimonials { padding-top:24px; padding-bottom:24px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.testimonial-card { border:1px dashed #c6975b66; padding:26px 28px; background:#ffffff03; }
.testimonial-card p { font-size:24px; line-height:1.4; margin:14px 0 10px; color:var(--bone); }

/* Existing film, visible without a disclosure */
.film-section { padding-top:24px; padding-bottom:48px; }
.film-section video { display:block; width:100%; max-width:720px; aspect-ratio:16/9; object-fit:contain; margin:0 auto; background:#111; border:1px solid var(--line); }

/* Sample record cards */
.sample-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:65px; align-items:center; }
.sample-grid > * { min-width:0; }
.record { background:white; border:1px solid #ddd7ce; box-shadow:0 18px 70px #291b0910; }
.record-top { padding:22px 28px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e4dfd7; gap:15px; }
.record-body { padding:28px; }
.record h3 { font-size:28px; letter-spacing:-.03em; margin:8px 0; }
.redacted { display:inline-block; vertical-align:middle; height:14px; width:128px; max-width:105px; background:repeating-linear-gradient(90deg,#b8b3aa 0 10px,#c7c2b9 10px 13px); filter:blur(3px); opacity:.65; }
.specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:25px 0; border-bottom:1px solid #e4dfd7; margin-bottom:8px; }
.specs strong { display:block; font-size:23px; font-weight:400; }
.specs span { font-size:17px; color:#766d61; }
.record dl { margin:0; }
.record dl div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid #eee9e3; font-size:18px; }
.record dt { color:#766d61; }
.record dd { margin:0; text-align:right; }
.sample-switch { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.sample-switch button { padding:12px; background:transparent; color:var(--ink); border:1px solid #b1a99c; font-size:17px; }
.sample-switch button[aria-pressed=true] { background:var(--ink); color:var(--bone); border-color:var(--ink); }

/* Included fields: one vertical list with its own generous section spacing. */
#included { padding-top:80px; padding-bottom:88px; }
.included-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.included-grid h2 { font-size:38px; margin-top:14px; }
.includes { display:block; list-style:none; padding:0; margin:0; }
.includes li { display:flex; gap:15px; border-bottom:1px solid var(--line); padding:16px 0; font-size:22px; }
.includes li::before { content:'↗'; color:#957047; }
.included-delivery { color:var(--bone); font-size:22px; margin-top:26px; }
.included-note { font-size:20px; margin-top:12px; max-width:560px; }

/* Purchase component */
.purchase-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.purchase-copy h2 { margin:20px 0 26px; }
.market-question { font-size:20px; margin-top:24px; max-width:420px; line-height:1.55; }
.order { background:#262421; border:1px solid #ffffff24; padding:32px; }
.order label.title { display:block; margin:0 0 12px; font-size:18px; }
.types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; border:0; padding:0; margin:0; }
.types label { position:relative; text-align:center; cursor:pointer; }
.types input { position:absolute; opacity:0; }
.types span { display:block; padding:12px 8px; border:1px solid #ffffff38; font-size:18px; }
.types input:checked + span { border-color:var(--gold); background:#c6975b18; color:#eed0a9; }
.types input:focus-visible + span { outline:2px solid var(--gold); outline-offset:3px; }
#category-note { font-size:18px; min-height:86px; margin:12px 0 22px; }
.qty-row { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; gap:18px; }
.qty-row label { font-size:18px; }
.qty { display:flex; align-items:center; border:1px solid #ffffff35; }
.qty button { width:36px; min-height:42px; background:none; border:0; color:var(--bone); }
.qty button:disabled { opacity:.4; cursor:default; }
.qty input { width:50px; text-align:center; color:var(--bone); background:none; border:0; appearance:textfield; }
.qty input::-webkit-inner-spin-button { appearance:none; }
.total { display:flex; justify-content:space-between; align-items:center; margin:26px 0 16px; }
.total strong { font-size:29px; font-weight:400; }
.total span { font-size:18px; }
.order .btn { width:100%; margin-top:8px; }
.order-caption { text-align:center; font-size:17px; margin-top:14px; }
.bulk-contact { font-size:17px; }
.bulk-contact a { text-decoration:underline; }
.policy-links { line-height:1.9; }

/* FAQ: one disclosure per question */
summary { cursor:pointer; padding-right:15px; line-height:1.45; }
.compact-faq { padding-top:24px; padding-bottom:48px; }
.compact-faq h2 { font-size:32px; }
.faq-answers { max-width:850px; margin-top:28px; }
.faq-answers details { border-top:1px solid var(--line); padding:18px 0; }
.faq-answers details:last-child { border-bottom:1px solid var(--line); }
.faq-answers summary { font-size:21px; }
.faq-answers p { font-size:20px; margin-top:16px; }
.inline-policy { font:inherit; background:none; border:0; padding:0; color:var(--gold); text-decoration:underline; text-align:left; }

/* Sales contact and footer */
.contact { border-top:1px solid var(--line); padding:36px 0; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.contact h2 { font-size:30px; margin:12px 0; max-width:570px; }
.contact p { font-size:24px; line-height:1.55; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.contact-links a { font-size:22px; }
.footer { border-top:1px solid var(--line); padding:30px 0 40px; display:flex; justify-content:space-between; gap:28px; align-items:start; font-size:16px; color:var(--muted); }
.footer img { width:140px; margin-bottom:12px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer button { font-size:16px; background:none; border:0; padding:0; color:inherit; text-decoration:underline; }

/* Existing policy and preview dialogs */
dialog { width:min(700px,calc(100% - 32px)); max-height:85vh; background:var(--bone); color:var(--ink); border:1px solid #bba88e; padding:36px; }
dialog::backdrop { background:#000b; backdrop-filter:blur(5px); }
dialog h2 { font-size:32px; margin:18px 0; }
dialog h3 { font-size:25px; line-height:1.2; margin:24px 0 10px; }
dialog p,dialog li { color:#595249; font-size:20px; line-height:1.6; }
dialog .close { float:right; color:#4d4030; background:transparent; border:0; padding:8px; }
dialog .btn { margin-top:20px; }
.modal-note { background:#e9ddcc; padding:12px; margin-bottom:18px; }
.review-only { border-top:1px solid #ffffff20; padding:20px; text-align:center; font-size:16px; }
.review-only button { background:none; color:var(--gold); border:1px solid #c6975b66; padding:10px 18px; margin:8px; }

/* Mobile layout */
@media (max-width:760px) {
  .wrap { padding-left:22px; padding-right:22px; }
  .section { padding-top:50px; padding-bottom:50px; }
  .section-header { display:block; }
  .section-header h2 { max-width:500px; }
  .preview { font-size:14px; }
  html { scroll-padding-top:140px; }
  .nav { min-height:116px; height:auto; padding-top:12px; padding-bottom:12px; gap:10px; flex-wrap:wrap; }
  .logo { width:150px; }
  .navlinks { width:100%; justify-content:space-between; gap:10px; font-size:14px; }
  .navlinks .btn { padding:8px; font-size:14px; min-height:40px; }
  .hero .wrap { height:500px; padding-top:54px; padding-bottom:28px; }
  .hero h1 { font-size:36px; margin:16px 0; }
  .hero::before { background-size:auto 650px; }
  .hero-offer-section { padding-top:28px; padding-bottom:24px; }
  .offer-answer { font-size:32px; }
  .offer-fields { font-size:19px; }
  .hero-offer { gap:6px 16px; margin-top:18px; }
  .hero-offer strong { font-size:29px; }
  .hero-delivery { font-size:19px; }
  .actions { gap:16px; }
  .hero-offer-section .btn { width:100%; font-size:17px; }
  .testimonial-grid { grid-template-columns:1fr; gap:16px; }
  .testimonial-card { padding:22px; }
  .testimonial-card p { font-size:22px; }
  .film-section { padding-top:20px; padding-bottom:36px; }
  .sample-grid { grid-template-columns:1fr; gap:24px; }
  .record-top,.record-body { padding:20px; }
  .record-top { flex-wrap:wrap; }
  .record h3 { font-size:26px; }
  .record dl div { font-size:17px; gap:12px; }
  .record dd { min-width:0; }
  .sample-switch { gap:6px; }
  .sample-switch button { padding:10px; font-size:16px; }
  #included { padding-top:56px; padding-bottom:64px; }
  .included-grid { grid-template-columns:1fr; gap:24px; }
  .included-grid h2 { margin-top:0; }
  .includes li { font-size:22px; padding:16px 0; }
  .purchase-grid { grid-template-columns:1fr; gap:28px; }
  .order { padding:24px; }
  #checkout { font-size:17px; padding:16px 8px; }
  .compact-faq { padding-top:20px; padding-bottom:36px; }
  .compact-faq h2 { font-size:28px; }
  .contact { display:block; }
  .contact h2 { font-size:28px; }
  .contact p { font-size:22px; }
  .contact-links { margin-top:22px; }
  .footer { flex-direction:column; }
  dialog { padding:24px; }
  dialog p,dialog li { font-size:19px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
