:root{
  --violet:#6b2d8f;
  --violet-deep:#4a1c66;
  --violet-soft:#efe3f7;
  --lilac:#c9a5dd;
  --milk:#fdf9ff;
  --ink:#2b1a33;
  --ink-soft:#6a5876;
  --line:rgba(74,28,102,.12);
  --radius:20px;
  --shadow:0 18px 46px rgba(74,28,102,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--milk);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,92vw);margin:0 auto}

/* ---------- header ---------- */
.topbar{position:sticky;top:0;z-index:20;background:rgba(253,249,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar__inner{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px}
.brand__mark{width:38px;height:38px;background:var(--violet);border-radius:12px;padding:6px}
.brand__word{font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--violet)}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{font-size:15px;color:var(--ink-soft);padding:6px 0;border-bottom:2px solid transparent;transition:.2s}
.nav a:hover{color:var(--violet);border-color:var(--lilac)}
.nav--mobile{display:none;flex-direction:column;gap:0;padding:8px 4vw 18px}
.nav--mobile a{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.burger{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;cursor:pointer;padding:10px}
.burger span{display:block;height:2px;background:var(--violet);border-radius:2px;margin:5px 0}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(201,165,221,.55),transparent 42%),
    radial-gradient(circle at 12% 88%,rgba(107,45,143,.14),transparent 46%),
    linear-gradient(160deg,#f7effc 0%,#fdf9ff 58%,#f2e6f8 100%);
  border-bottom:1px solid var(--line);
}
.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:74px 0 86px}
.hero__kicker{margin:0 0 10px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--violet)}
.hero h1{margin:0 0 20px;font-size:clamp(38px,5.2vw,64px);line-height:1.04;font-weight:800;letter-spacing:-1.5px;color:var(--violet-deep)}
.hero__lead{max-width:48ch;margin:0 0 30px;color:var(--ink-soft);font-size:17px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15px;transition:.2s}
.btn--primary{background:var(--violet);color:#fff;box-shadow:0 12px 26px rgba(107,45,143,.28)}
.btn--primary:hover{background:var(--violet-deep);transform:translateY(-1px)}
.btn--ghost{border:1.5px solid var(--lilac);color:var(--violet)}
.btn--ghost:hover{background:var(--violet-soft)}
.hero__facts{display:flex;gap:34px;list-style:none;margin:38px 0 0;padding:0;flex-wrap:wrap}
.hero__facts strong{display:block;font-size:26px;color:var(--violet-deep)}
.hero__facts span{font-size:13px;color:var(--ink-soft)}
.hero__art{position:relative;display:grid;place-items:center}
.bar{width:min(420px,100%);filter:drop-shadow(0 24px 40px rgba(74,28,102,.22))}
.splash{position:absolute;inset:auto 4% 6% 4%;height:120px;background:radial-gradient(ellipse at 50% 100%,rgba(201,165,221,.6),transparent 70%);filter:blur(6px);z-index:-1}

/* ---------- sections ---------- */
section{padding:82px 0}
.section-title{margin:0 0 10px;text-align:center;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.8px;color:var(--violet-deep)}
.section-title--left{text-align:left}
.section-sub{margin:0 auto 42px;text-align:center;max-width:56ch;color:var(--ink-soft)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.card__swatch{height:110px;border-radius:14px;margin-bottom:18px;position:relative;overflow:hidden}
.card__swatch::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.5),transparent 55%)}
.card__swatch--classic{background:linear-gradient(140deg,#8b4bb0,#4a1c66)}
.card__swatch--hazel{background:linear-gradient(140deg,#a064c0,#60337a)}
.card__swatch--white{background:linear-gradient(140deg,#fff6ec,#ecd9c6)}
.card__swatch--coconut{background:linear-gradient(140deg,#6f4a86,#46305a)}
.card__swatch--berry{background:linear-gradient(140deg,#7d54a8,#3f2a63)}
.card__swatch--dark{background:linear-gradient(140deg,#4a2f52,#231426)}
.card h3{margin:0 0 8px;font-size:19px}
.card p{margin:0 0 14px;color:var(--ink-soft);font-size:14.5px}
.card__meta{font-size:12.5px;letter-spacing:.04em;color:var(--violet);text-transform:uppercase}

/* ---------- about ---------- */
.about{background:linear-gradient(180deg,#f7effc,#fdf9ff)}
.about__inner{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.about p{color:var(--ink-soft)}
.steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:14px;align-items:baseline;font-size:15px;color:var(--ink)}
.steps span{font-weight:700;color:var(--lilac);font-variant-numeric:tabular-nums}
.about__quote{margin:0;padding:28px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.about__quote blockquote{margin:0 0 14px;font-size:17px;line-height:1.65;color:var(--violet-deep)}
.about__sign{margin:0;font-size:13px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em}

/* ---------- recipes ---------- */
.recipes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.recipe{padding:26px;border-radius:var(--radius);background:var(--violet-soft);border:1px solid rgba(107,45,143,.12)}
.recipe h3{margin:0 0 10px;font-size:18px;color:var(--violet-deep)}
.recipe p{margin:0;font-size:14.5px;color:#55455f}

/* ---------- footer ---------- */
.footer{background:var(--violet-deep);color:#efe3f7;padding:64px 0 26px}
.footer__inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.brand__word--footer{color:#fff;font-size:24px}
.footer__col{display:flex;flex-direction:column;gap:9px}
.footer__col h4{margin:0 0 6px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--lilac)}
.footer__col a,.footer__col p{margin:0;font-size:14.5px;color:#dcc8ea}
.footer__col a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:#c3a9d8}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;padding:52px 0 64px}
  .hero__art{order:-1}
  .about__inner{grid-template-columns:1fr;gap:28px}
  .footer__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .nav{display:none}
  .burger{display:block}
  .nav--mobile.is-open{display:flex}
  section{padding:60px 0}
  .hero__facts{gap:22px}
  .footer__inner{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;gap:6px}
}
