/* ============================================================
   WLLSKN — style.css
   --green: #5E7162  --coral: #FAAA8D  --cream: #FFF6E5
   --white: #FFFEF9  --dark:  #212322
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --green:      #5E7162;
  --green-dark: #4a5a4e;
  --coral:      #FAAA8D;
  --coral-dark: #f09070;
  --cream:      #FFF6E5;
  --white:      #FFFEF9;
  --dark:       #212322;
  --text-muted: rgba(33,35,34,.5);
  --border:     rgba(94,113,98,.15);
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'DM Sans', system-ui, sans-serif;
  --nav-h:      64px;
  --section-pad: clamp(4rem, 8vw, 7rem);
  --container:  1200px;
  --gutter:     clamp(1.25rem, 4vw, 3rem);
}

html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-sans);
  background: var(--white);
  color: var(--dark);
  line-height: 1.7;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
button, input { font-family: inherit; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── Typography ───────────────────────────────────────────── */
.eyebrow { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--coral); font-weight:500; margin-bottom:1rem; display:block; }
.eyebrow--dark { color:var(--green); }
.section-title { font-family:var(--font-serif); font-size:clamp(2.2rem,4vw,3.4rem); font-weight:300; color:var(--green); line-height:1.08; margin-bottom:1.5rem; letter-spacing:-.01em; }
.body-text { font-size:15px; color:var(--dark); opacity:.65; line-height:1.85; max-width:520px; }
.body-text.muted { opacity:.4; }
.body-text--center { text-align:center; }
.divider { width:40px; height:1px; background:var(--coral); margin:1.75rem 0; }

/* ── Buttons ──────────────────────────────────────────────── */
.btn { display:inline-block; padding:13px 30px; font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; border:none; transition:background .25s,color .25s,border-color .25s,transform .15s; white-space:nowrap; }
.btn:active { transform:scale(.97); }
.btn--coral   { background:var(--coral); color:var(--dark); }
.btn--coral:hover { background:var(--coral-dark); }
.btn--primary { background:var(--green); color:var(--white); }
.btn--primary:hover { background:var(--green-dark); }
.btn--outline { background:transparent; color:var(--green); border:.5px solid var(--green); }
.btn--outline:hover { background:var(--green); color:var(--white); }
.btn--light   { background:var(--white); color:var(--green); }
.btn--light:hover { background:var(--cream); }
.btn--ghost   { background:transparent; color:rgba(255,254,249,.65); border:.5px solid rgba(255,254,249,.3); }
.btn--ghost:hover { border-color:rgba(255,254,249,.7); color:var(--white); }

/* ── Layout ───────────────────────────────────────────────── */
.container { width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }
.container--narrow { max-width:760px; }
.section { padding:var(--section-pad) var(--gutter); }
.section--cream { background:var(--cream); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.two-col--reverse { direction:rtl; }
.two-col--reverse > * { direction:ltr; }
.two-col--narrow { grid-template-columns:2fr 3fr; gap:clamp(2rem,4vw,5rem); }
.section-header { text-align:center; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-header .section-title { margin-bottom:0; }
.tag-list { display:flex; flex-wrap:wrap; gap:.75rem; }
.tag { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--green); border:.5px solid rgba(94,113,98,.3); padding:7px 16px; }

/* ── Checklist ────────────────────────────────────────────── */
.checklist { list-style:none; margin-top:1.75rem; }
.checklist li { display:flex; align-items:flex-start; gap:1rem; padding:.85rem 0; border-bottom:.5px solid var(--border); font-size:14px; color:var(--dark); opacity:.7; }
.checklist li::before { content:''; flex-shrink:0; width:18px; height:18px; border-radius:50%; border:.5px solid var(--coral); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23FAAA8D' stroke-width='1.8'%3E%3Cpolyline points='2 6 5 9 10 3'/%3E%3C/svg%3E") center/10px no-repeat; margin-top:2px; }

/* ── NAV ──────────────────────────────────────────────────── */
.nav { position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(255,254,249,.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:.5px solid var(--border); transition:box-shadow .3s; }
.nav.scrolled { box-shadow:0 2px 24px rgba(94,113,98,.08); }
.nav__inner { max-width:var(--container); margin:0 auto; padding:0 var(--gutter); height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.nav__logo { font-family:var(--font-serif); font-size:21px; font-weight:400; color:var(--green); letter-spacing:.1em; flex-shrink:0; }
.nav__links { display:flex; gap:2rem; align-items:center; }
.nav__links a { font-size:12px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:var(--green); opacity:.7; transition:opacity .2s; }
.nav__links a:hover { opacity:1; }
.nav__burger { display:none; flex-direction:column; gap:6px; background:none; border:none; cursor:pointer; padding:4px; }
.nav__burger span { display:block; width:22px; height:.5px; background:var(--green); transition:transform .3s,opacity .3s; }
.nav__burger.open span:first-child { transform:rotate(45deg) translate(4px,4px); }
.nav__burger.open span:last-child  { transform:rotate(-45deg) translate(4px,-4px); }
.nav__mobile { display:none; flex-direction:column; background:var(--white); border-top:.5px solid var(--border); overflow:hidden; max-height:0; transition:max-height .4s ease; }
.nav__mobile.open { max-height:500px; }
.nav__mobile-link { display:block; padding:1rem var(--gutter); font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--green); border-bottom:.5px solid var(--border); }
.nav__mobile-cta { margin:1.25rem var(--gutter) 1.5rem; text-align:center; }

/* ── MARQUEE ──────────────────────────────────────────────── */
.marquee { overflow:hidden; border-top:.5px solid var(--border); border-bottom:.5px solid var(--border); padding:1.1rem 0; background:var(--white); }
.marquee__track { display:flex; align-items:center; white-space:nowrap; animation:marquee 36s linear infinite; width:max-content; }
.marquee__track span { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(94,113,98,.45); padding:0 2.5rem; }
.marquee__track .dot { color:var(--coral); padding:0; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .marquee__track { animation:none; } }

/* ── HERO ─────────────────────────────────────────────────── */
.hero { min-height:100vh; padding:calc(var(--nav-h) + 4rem) var(--gutter) 5rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; max-width:var(--container); margin:0 auto; }
.hero__title { font-family:var(--font-serif); font-size:clamp(3.5rem,7vw,6rem); font-weight:300; color:var(--green); line-height:1.0; margin-bottom:1.25rem; letter-spacing:-.02em; }
.hero__tagline { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--dark); opacity:.45; margin-bottom:2rem; }
.hero__desc { font-size:15px; color:var(--dark); opacity:.6; line-height:1.85; max-width:420px; margin-bottom:2.5rem; }
.hero__actions { display:flex; gap:1rem; flex-wrap:wrap; }
.hero__visual { display:flex; justify-content:center; align-items:center; }
.hero__img { border-radius:2px; width:100%; max-width:520px; object-fit:cover; }
.hero__box-svg { width:100%; max-width:540px; height:auto; display:block; margin:0 auto; }

/* ── WHAT section pillars ─────────────────────────────────── */
.pillars-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(94,113,98,.1); }
.pillar { background:var(--white); padding:2.25rem 1.75rem; transition:background .25s; }
.pillar:hover { background:var(--cream); }
.pillar__icon { width:34px; height:34px; border:.5px solid rgba(94,113,98,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; color:var(--green); }
.pillar__icon svg { width:15px; height:15px; }
.pillar__name { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--green); font-weight:500; margin-bottom:.5rem; }
.pillar__desc { font-size:13px; color:var(--dark); opacity:.45; line-height:1.6; }

/* ── THE BOX ──────────────────────────────────────────────── */
.box-card { position:relative; background:var(--green); aspect-ratio:1; max-width:480px; display:flex; align-items:center; justify-content:center; padding:3rem; }
.box-card__inner { border:.5px solid rgba(255,254,249,.2); padding:3rem 2.5rem; text-align:center; width:100%; }
.box-card__eyebrow { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,254,249,.45); margin-bottom:.75rem; }
.box-card__name { font-family:var(--font-serif); font-size:clamp(1.6rem,3vw,2.2rem); color:var(--white); font-weight:300; letter-spacing:.1em; margin-bottom:1.5rem; }
.box-card__rule { width:30px; height:.5px; background:rgba(255,254,249,.3); margin:0 auto 1.5rem; }
.box-card__detail { font-size:12px; color:rgba(255,254,249,.5); letter-spacing:.06em; margin-bottom:.5rem; }
.box-card__tag { position:absolute; top:1.5rem; right:0; background:var(--coral); color:var(--dark); font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:6px 14px; }

/* ── BOX TYPES ────────────────────────────────────────────── */
.types-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(94,113,98,.1); }
.type-card { background:var(--white); padding:2.5rem 2rem; transition:background .25s; cursor:default; }
.type-card:hover { background:var(--cream); }
.type-card--coming { display:flex; flex-direction:column; justify-content:center; background:var(--cream); }
.type-card__num { display:block; font-size:11px; letter-spacing:.15em; color:var(--coral); margin-bottom:1.25rem; font-weight:500; }
.type-card__name { font-family:var(--font-serif); font-size:clamp(1.3rem,2.2vw,1.6rem); color:var(--green); font-weight:400; margin-bottom:.75rem; line-height:1.2; }
.type-card__name--muted { opacity:.4; }
.type-card__ingredients { font-size:12px; color:var(--dark); opacity:.4; letter-spacing:.02em; line-height:1.9; }

/* ── FUTURE split screen ──────────────────────────────────── */
.future { display:grid; grid-template-columns:1fr 1fr; min-height:75vh; }
.future__west, .future__east { padding:clamp(4rem,7vw,7rem) clamp(2rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; }
.future__west { background:var(--white); border-right:.5px solid var(--border); }
.future__east { background:var(--green); }
.future__title { font-family:var(--font-serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:300; color:var(--green); line-height:1.1; margin-bottom:1.5rem; }
.future__title--light { color:var(--white); }
.future__list { list-style:none; }
.future__list li { padding:.65rem 0; border-bottom:.5px solid rgba(94,113,98,.1); font-size:14px; color:var(--dark); opacity:.6; display:flex; align-items:center; gap:.75rem; }
.future__list li::before { content:''; width:4px; height:4px; border-radius:50%; background:rgba(94,113,98,.35); flex-shrink:0; }
.future__list--light li { color:var(--white); border-bottom-color:rgba(255,254,249,.1); opacity:.7; }
.future__list--light li::before { background:rgba(250,170,141,.5); }
.connector { text-align:center; font-family:var(--font-serif); font-size:clamp(1rem,2vw,1.3rem); font-style:italic; color:rgba(94,113,98,.35); letter-spacing:.05em; padding:2.5rem var(--gutter); background:var(--white); }

/* ── C-BEAUTY stats ───────────────────────────────────────── */
.stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(94,113,98,.1); }
.stat { background:var(--white); padding:3rem 2rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.stat__num { font-family:var(--font-serif); font-size:clamp(2.5rem,5vw,4rem); font-weight:300; color:var(--green); line-height:1; }
.stat__label { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--dark); opacity:.4; }

/* ── WHY WLLSKN benefits ──────────────────────────────────── */
.benefits-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(94,113,98,.1); }
.benefit { background:var(--cream); padding:2.75rem 2.25rem; }
.benefit__label { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--coral); margin-bottom:.75rem; font-weight:500; }
.benefit__title { font-family:var(--font-serif); font-size:clamp(1.3rem,2.2vw,1.6rem); color:var(--green); font-weight:400; margin-bottom:.75rem; }
.benefit__desc { font-size:13px; color:var(--dark); opacity:.5; line-height:1.7; }

/* ── RAW MATERIALS ────────────────────────────────────────── */
.rawmat__intro { align-items:start; margin-bottom:clamp(3rem,5vw,5rem); }

.rawmat__badges { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.rawmat__badge {
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--green);
  background:rgba(94,113,98,.07);
  border:.5px solid rgba(94,113,98,.2);
  padding:6px 14px;
  font-weight:500;
}

.rawmat__grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(94,113,98,.1);
  margin-bottom:3rem;
}

.ingredient-card {
  background:var(--white);
  padding:2rem 1.75rem;
  transition:background .25s;
  position:relative;
}
.ingredient-card:hover { background:var(--cream); }

.ingredient-card__cat {
  display:block;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--coral);
  font-weight:500;
  margin-bottom:.85rem;
}

.ingredient-card__name {
  font-family:var(--font-serif);
  font-size:clamp(1.1rem,1.8vw,1.35rem);
  color:var(--green);
  font-weight:400;
  line-height:1.2;
  margin-bottom:.75rem;
}

.ingredient-card__desc {
  font-size:12.5px;
  color:var(--dark);
  opacity:.45;
  line-height:1.65;
}

.rawmat__cta {
  border-top:.5px solid var(--border);
  padding-top:2.5rem;
}
.rawmat__cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}
.rawmat__cta-title {
  font-family:var(--font-serif);
  font-size:1.5rem;
  font-weight:300;
  color:var(--green);
  margin-bottom:.35rem;
}
.rawmat__cta-sub {
  font-size:13px;
  color:var(--dark);
  opacity:.45;
}

/* ── BUSINESS MODEL ───────────────────────────────────────── */
.biz-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 3rem; }
.biz-item { border-top:1px solid var(--green); padding-top:1.25rem; }
.biz-item__num { font-family:var(--font-serif); font-size:3rem; color:rgba(94,113,98,.12); font-weight:300; line-height:1; margin-bottom:.25rem; }
.biz-item__name { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--green); font-weight:500; margin-bottom:.5rem; }
.biz-item__desc { font-size:13px; color:var(--dark); opacity:.45; line-height:1.65; }

/* ── ABOUT ────────────────────────────────────────────────── */
.about__grid { align-items:start; gap:clamp(3rem,6vw,6rem); }
.about__img-wrap { position:relative; display:inline-block; width:100%; }
.about__img { width:100%; max-width:520px; aspect-ratio:3/4; object-fit:cover; object-position:center 30%; display:block; filter:brightness(.97) saturate(1.05); }
.about__badge { position:absolute; bottom:2rem; left:-1.5rem; background:var(--white); border:.5px solid var(--border); padding:1.25rem 1.5rem; box-shadow:0 8px 32px rgba(30,45,32,.1); }
.about__badge-year { display:block; font-family:var(--font-serif); font-size:1.5rem; font-weight:300; color:var(--green); line-height:1; margin-bottom:.3rem; }
.about__badge-label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); line-height:1.5; }
.about__facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(94,113,98,.1); margin:2.5rem 0; }
.about__fact { background:var(--white); padding:1.25rem 1rem; display:flex; flex-direction:column; gap:.25rem; }
.about__fact-num { font-family:var(--font-serif); font-size:2rem; font-weight:300; color:var(--green); line-height:1; }
.about__fact-label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.about__list { list-style:none; margin-bottom:2rem; }
.about__list li { padding:.8rem 0; border-bottom:.5px solid var(--border); font-size:14px; color:var(--dark); opacity:.65; display:flex; align-items:flex-start; gap:.9rem; line-height:1.55; }
.about__list li::before { content:'·'; color:var(--coral); font-size:1.4rem; line-height:1; flex-shrink:0; margin-top:-.05rem; }
.about__closing { font-family:var(--font-serif); font-size:clamp(1.1rem,2vw,1.4rem); font-style:italic; color:var(--green); font-weight:300; line-height:1.45; border-left:2px solid var(--coral); padding-left:1.25rem; margin-top:.5rem; }

/* ── FOR BRANDS ───────────────────────────────────────────── */
.brands { background:var(--green); padding:clamp(5rem,9vw,9rem) var(--gutter); }
.brands__inner { max-width:900px; margin:0 auto; text-align:center; }
.brands .eyebrow { color:rgba(250,170,141,.8); }
.brands__title { font-family:var(--font-serif); font-size:clamp(2.5rem,5.5vw,5rem); font-weight:300; color:var(--white); line-height:1.05; margin-bottom:1.5rem; }
.brands__sub { font-size:15px; color:rgba(255,254,249,.5); line-height:1.85; max-width:500px; margin:0 auto 3rem; }
.brands__pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; margin-bottom:3.5rem; text-align:left; }
.brands__pillar h3 { font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:rgba(250,170,141,.75); font-weight:500; margin-bottom:.75rem; }
.brands__pillar p { font-size:13px; color:rgba(255,254,249,.45); line-height:1.65; }
.brands__actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ── WAITLIST ─────────────────────────────────────────────── */
.waitlist { background:var(--cream); text-align:center; }
.waitlist__limit { display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--coral); font-weight:500; margin-bottom:1.5rem; }
.waitlist__title { font-family:var(--font-serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:300; color:var(--green); line-height:1.1; margin-bottom:1rem; }
.waitlist__sub { font-size:15px; color:var(--dark); opacity:.5; margin-bottom:3rem; }
.waitlist__form { max-width:680px; margin:0 auto; }
.form-row { display:flex; border:.5px solid rgba(94,113,98,.3); background:var(--white); margin-bottom:1.5rem; }
.form-field { flex:1; }
.form-field input { width:100%; height:52px; padding:0 18px; font-size:14px; border:none; border-right:.5px solid rgba(94,113,98,.15); background:transparent; color:var(--dark); outline:none; }
.form-field input::placeholder { color:var(--text-muted); }
.form-field input:focus { background:rgba(94,113,98,.04); }
.form-row .btn { flex-shrink:0; height:52px; padding:0 28px; }
.form-interests { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1.25rem; justify-content:center; }
.form-interests__label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-right:.25rem; }
.chip { display:inline-flex; align-items:center; gap:.4rem; font-size:12px; letter-spacing:.05em; color:var(--green); border:.5px solid rgba(94,113,98,.25); padding:6px 14px; cursor:pointer; transition:all .2s; user-select:none; }
.chip:hover { background:rgba(94,113,98,.06); }
.chip input[type=checkbox] { width:10px; height:10px; accent-color:var(--green); }
.chip:has(input:checked) { background:var(--green); color:var(--white); border-color:var(--green); }
.form-note { font-size:11px; color:var(--dark); opacity:.3; letter-spacing:.05em; margin-top:.5rem; }
.form-error { font-size:13px; color:#c0392b; margin-top:.75rem; min-height:1.5rem; }
.waitlist__success { text-align:center; padding:3rem 1rem; }
.success-icon { font-size:2rem; color:var(--green); margin-bottom:1.5rem; display:block; }
.success-title { font-family:var(--font-serif); font-size:2rem; font-weight:300; color:var(--green); margin-bottom:.75rem; }
.success-sub { font-size:14px; color:var(--dark); opacity:.5; }

/* ── FOOTER ───────────────────────────────────────────────── */
.footer { background:var(--dark); padding:4rem var(--gutter); }
.footer__inner { max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:1fr auto auto; gap:2rem 4rem; align-items:center; }
.footer__logo { display:block; font-family:var(--font-serif); font-size:20px; font-weight:400; color:rgba(255,254,249,.55); letter-spacing:.1em; margin-bottom:.5rem; }
.footer__tagline { font-size:12px; color:rgba(255,254,249,.2); letter-spacing:.04em; }
.footer__links { display:flex; gap:2rem; flex-wrap:wrap; }
.footer__links a { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,254,249,.3); transition:color .2s; }
.footer__links a:hover { color:rgba(255,254,249,.6); }
.footer__copy { font-size:11px; color:rgba(255,254,249,.18); letter-spacing:.04em; }

/* ── ANIMATIONS ───────────────────────────────────────────── */
.animate-in { opacity:0; transform:translateY(28px); animation:fadeUp .8s ease forwards; }
.animate-in[data-delay="1"] { animation-delay:.15s; }
.animate-in[data-delay="2"] { animation-delay:.28s; }
.animate-in[data-delay="3"] { animation-delay:.42s; }
.animate-in[data-delay="4"] { animation-delay:.56s; }
@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }
.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s ease,transform .7s ease; }
.reveal[data-delay="1"] { transition-delay:.12s; }
.reveal[data-delay="2"] { transition-delay:.22s; }
.reveal[data-delay="3"] { transition-delay:.32s; }
.reveal[data-delay="4"] { transition-delay:.42s; }
.reveal[data-delay="5"] { transition-delay:.52s; }
.reveal.visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { .animate-in,.reveal { animation:none; transition:none; opacity:1; transform:none; } }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr; max-width:640px; min-height:auto; padding-bottom:4rem; }
  .hero__visual { order:-1; }
  .hero__box-svg { max-width:380px; margin:0 auto; }
  .hero__desc { max-width:100%; }
  .two-col,.two-col--reverse,.two-col--narrow { grid-template-columns:1fr; }
  .two-col--reverse { direction:ltr; }
  .box-card { max-width:100%; aspect-ratio:auto; padding:2.5rem; }
  .future { grid-template-columns:1fr; min-height:auto; }
  .future__east { border-top:.5px solid rgba(255,254,249,.1); }
  .brands__pillars { grid-template-columns:1fr; gap:1.75rem; text-align:left; }
  .footer__inner { grid-template-columns:1fr; gap:1.5rem; }
  .about__badge { left:0; }
  .about__img { max-width:100%; aspect-ratio:4/3; object-position:center 20%; }
  .rawmat__grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  :root { --section-pad:clamp(3rem,7vw,5rem); }
  .nav__links,.nav__cta { display:none; }
  .nav__burger { display:flex; }
  .nav__mobile { display:flex; }
  .types-grid { grid-template-columns:1fr 1fr; }
  .stats-row { grid-template-columns:1fr; gap:1px; }
  .benefits-grid { grid-template-columns:1fr; }
  .biz-grid { grid-template-columns:1fr; }
  .form-row { flex-direction:column; }
  .form-field input { border-right:none; border-bottom:.5px solid rgba(94,113,98,.15); }
  .form-row .btn { height:52px; width:100%; }
  .footer__inner { gap:2rem; }
  .footer__links { gap:1.25rem; }
  .about__facts { grid-template-columns:repeat(3,1fr); }
  .about__badge { bottom:1rem; left:.75rem; padding:1rem; }
  .about__badge-year { font-size:1.2rem; }
  .rawmat__grid { grid-template-columns:1fr; }
  .rawmat__cta-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width:480px) {
  .types-grid { grid-template-columns:1fr; }
  .hero__box-svg { max-width:300px; }
}

/* ── SERVICES (What We Do) ─────────────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(94,113,98,.1);
}

.service-card {
  background: var(--white);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  transition: background .25s;
}
.service-card:hover { background: var(--cream); }

.service-card__num {
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--coral);
  font-weight: 500;
  margin-bottom: 1rem;
  display: block;
}

.service-card__title {
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-weight: 400;
  color: var(--green);
  margin-bottom: .35rem;
  line-height: 1.2;
}

.service-card__sub {
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-weight: 500;
}

.service-card__desc {
  font-size: 13px;
  color: var(--dark);
  opacity: .55;
  line-height: 1.65;
  margin-bottom: .85rem;
  font-weight: 300;
}

.service-card__list {
  list-style: none;
  margin-top: auto;
}
.service-card__list li {
  font-size: 12.5px;
  color: var(--dark);
  opacity: .62;
  padding: .45rem 0;
  border-bottom: .5px solid var(--border);
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  line-height: 1.45;
}
.service-card__list li::before {
  content: '—';
  color: var(--coral);
  flex-shrink: 0;
  opacity: .7;
  font-size: .85rem;
}

@media (max-width: 1024px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .services-grid { grid-template-columns: 1fr; }
}

/* ── Business model 3-col variant ────────────────────────────── */
.biz-grid--3col {
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 2.5rem;
}
@media (max-width: 1024px) { .biz-grid--3col { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px)  { .biz-grid--3col { grid-template-columns: 1fr; } }
