/* pages.css — shared styles for the appended homepage sections and the new pages.
   Section-specific rules are appended by later tasks. */

/* generic page main sits clear of the fixed header + warning strip */
.page{max-width:var(--maxw);margin:0 auto;padding:7rem clamp(1rem,4vw,2.5rem) 5rem}

/* section rhythm */
.sec{padding:clamp(3.5rem,8vw,7rem) clamp(1rem,4vw,2.5rem)}
.sec--panel{background:var(--panel)}
.sec__inner{max-width:var(--maxw);margin:0 auto}
.sec__eyebrow{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;
  font-size:.75rem;color:var(--accent);margin-bottom:.9rem}
.sec__title{font-family:var(--font-display);font-weight:700;line-height:1.05;
  font-size:clamp(1.9rem,5vw,3.2rem);margin-bottom:1rem}
.sec__lead{color:var(--muted);max-width:44ch;line-height:1.7;font-size:1.02rem}

/* generic accordion (used by faq.html) */
.acc{max-width:56rem;margin:2.5rem auto 0}
.acc-item{border-bottom:1px solid #1c1e24}
.acc-q{width:100%;background:none;border:0;color:var(--text);cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-align:left;
  padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.acc-q .acc-ic{width:.9rem;height:.9rem;position:relative;flex:none}
.acc-q .acc-ic::before,.acc-q .acc-ic::after{content:"";position:absolute;inset:0;margin:auto;
  background:var(--accent);transition:transform .3s}
.acc-q .acc-ic::before{width:100%;height:2px}
.acc-q .acc-ic::after{width:2px;height:100%}
.acc-item.open .acc-q .acc-ic::after{transform:scaleY(0)}
.acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.acc-item.open .acc-a{grid-template-rows:1fr}
.acc-a>div{overflow:hidden}
.acc-a p{color:var(--muted);line-height:1.7;padding-bottom:1.25rem;max-width:60ch}

/* ===== homepage appended sections ===== */
.range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;margin-top:2.5rem}
/* reuse the products card look for the homepage cards */
.range-grid .card{display:block;background:var(--panel);border:1px solid #1c1e24;border-radius:16px;
  overflow:hidden;transition:transform .25s,box-shadow .3s,border-color .3s}
.range-grid .card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent);
  box-shadow:0 22px 50px -24px color-mix(in srgb,var(--c) 70%,transparent)}
.range-grid .card__media{display:block;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%)}
.range-grid .card__media img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:1.25rem}
.range-grid .card__body{display:block;padding:0 1.25rem 1.4rem}
.range-grid .card__body h3{font-family:var(--font-display);font-size:1.15rem;margin-bottom:.25rem}
.range-grid .card__tag{color:var(--c);font-size:.9rem;margin-bottom:.5rem}
.range-grid .card__spec{color:var(--muted);font-size:.78rem;letter-spacing:.03em}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;margin-top:2.5rem}
.why-card{background:var(--canvas);border:1px solid #1c1e24;border-radius:16px;padding:1.75rem}
.why-card .why-ic{font-size:1.8rem;color:var(--accent);display:block;margin-bottom:.9rem;line-height:1}
.why-card h3{font-family:var(--font-display);font-size:1.1rem;margin-bottom:.5rem}
.why-card p{color:var(--muted);line-height:1.65;font-size:.92rem}

.mist-sec{background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%)}
.mist-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2rem;margin-top:1.5rem}
.mist-cols p{color:var(--muted);line-height:1.8;font-size:1.02rem}
.mist-cols strong{color:var(--text)}
.mist-quote{font-family:var(--font-display);font-weight:500;font-size:clamp(1.3rem,3.5vw,2rem);
  line-height:1.3;margin:2.5rem 0;max-width:24ch;color:var(--text)}

.talk-inner{text-align:center;display:flex;flex-direction:column;align-items:center}
.talk-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.75rem}

/* ===== about ===== */
.about-hero{text-align:center;max-width:46rem;margin:0 auto 4rem}
.about-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,9vw,5rem);
  line-height:1;margin-bottom:1.5rem}
.about-lead{color:var(--muted);font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.7}
.about-block{max-width:44rem;margin:0 auto 2.75rem;padding-top:2.75rem;border-top:1px solid #1c1e24}
.about-block h2{font-family:var(--font-display);font-size:1.4rem;margin-bottom:.85rem;color:var(--accent)}
.about-block p{color:var(--muted);line-height:1.8;font-size:1.02rem}
.about-block em{color:var(--text);font-style:normal;border-bottom:1px solid color-mix(in srgb,var(--accent) 60%,transparent)}
.about-cta{text-align:center;max-width:44rem;margin:4rem auto 0;padding-top:3rem;border-top:1px solid #1c1e24}
.about-cta .talk-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem}

/* ===== flavour detail ===== */
.flavour__stage{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.flavour__media{border-radius:20px;overflow:hidden;background:
  radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c) 26%,transparent),transparent 68%),var(--panel);
  display:grid;place-items:center;aspect-ratio:4/5}
.flavour__media video,.flavour__media img{width:100%;height:100%;object-fit:contain}
.flavour__title{font-family:var(--font-display);font-weight:700;line-height:1.02;
  font-size:clamp(2.4rem,6vw,4rem);margin:.3rem 0 .4rem}
.flavour__tag{color:var(--c);font-size:1.15rem;margin-bottom:1.25rem}
.flavour__desc{color:var(--muted);line-height:1.8;font-size:1.05rem;max-width:42ch;margin-bottom:1.5rem}
.flavour__notes{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.flavour__notes li{color:var(--text);font-size:.95rem;padding-left:1.1rem;position:relative}
.flavour__notes li::before{content:"";position:absolute;left:0;top:.55em;width:.45rem;height:.45rem;
  border-radius:50%;background:var(--c)}
.flavour__spec{color:var(--muted);letter-spacing:.04em;font-size:.85rem;margin-bottom:1.75rem}
.flavour__related{margin-top:5rem;padding-top:3rem;border-top:1px solid #1c1e24}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;margin-top:2rem}
.related-grid .card{display:block;background:var(--panel);border:1px solid #1c1e24;border-radius:16px;
  overflow:hidden;transition:transform .25s,border-color .3s}
.related-grid .card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent)}
.related-grid .card__media img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:1.1rem}
.related-grid .card__body{display:block;padding:0 1.1rem 1.25rem}
.related-grid .card__body h3{font-family:var(--font-display);font-size:1.05rem}
.related-grid .card__tag{color:var(--c);font-size:.85rem;margin-top:.2rem}
@media (max-width:780px){.flavour__stage{grid-template-columns:1fr}}

/* ===== faq ===== */
.faq-hero{text-align:center;max-width:46rem;margin:0 auto}
.faq-cta{text-align:center;margin-top:3rem}

/* ===== contact ===== */
.contact-hero{text-align:center;max-width:44rem;margin:0 auto 3.5rem}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;max-width:52rem;margin:0 auto}
.contact-card{background:var(--panel);border:1px solid #1c1e24;border-radius:16px;padding:2rem;
  display:flex;flex-direction:column;gap:.4rem;transition:transform .25s,border-color .3s}
a.contact-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}
.contact-ic{font-size:1.7rem;color:var(--accent);line-height:1;margin-bottom:.6rem}
.contact-card h3{font-family:var(--font-display);font-size:1.15rem}
.contact-card p{color:var(--muted);font-size:.9rem}
.contact-val{color:var(--text);font-family:var(--font-display);font-size:.95rem;margin-top:.35rem}
