/* =====================================================================
   Ozalyn — feuille de style principale
   Palette : Clair · Saturé · Argent · Chrome · Poudré · Sakura · Lotus foncé
   ===================================================================== */

:root{
  --oz-light:      #fdfafb;
  --oz-powder:     #f7e7ec;
  --oz-powder-2:   #f2d9e2;
  --oz-sakura:     #f0bed1;
  --oz-sakura-dk:  #d68aaa;
  --oz-saturated:  #ce4c80;
  --oz-saturated-d:#b23a6c;
  --oz-silver:     #c6cad2;
  --oz-chrome:     #e8ecf1;
  --oz-chrome-dk:  #969eaa;
  --oz-lotus:      #3a1e36;
  --oz-lotus-mid:  #68365c;

  --oz-ink:        #2c1a29;
  --oz-muted:      #6f5c69;

  --oz-radius-s:   10px;
  --oz-radius:     18px;
  --oz-radius-l:   28px;

  --oz-shadow-s:   0 4px 14px rgba(58,30,54,.08);
  --oz-shadow:     0 14px 40px rgba(58,30,54,.14);
  --oz-shadow-l:   0 28px 70px rgba(58,30,54,.22);

  --oz-max:        1180px;
  --oz-gap:        clamp(1rem, 3vw, 2.4rem);

  --oz-serif:      "Iowan Old Style", "Palatino Linotype", "Palatino", "Book Antiqua", Georgia, serif;
  --oz-sans:       "Segoe UI", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

/* ---- Reset ---------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--oz-sans);
  color:var(--oz-ink);
  background:var(--oz-light);
  line-height:1.65;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3{ font-family:var(--oz-serif); line-height:1.15; font-weight:600; letter-spacing:.2px; }

/* ---- Utilities ------------------------------------------------------ */
.oz-wrap{ width:100%; max-width:var(--oz-max); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem); }
.oz-eyebrow{
  display:inline-block; font-size:.74rem; letter-spacing:.24em; text-transform:uppercase;
  font-weight:700; color:var(--oz-saturated);
  padding:.35rem .8rem; border:1px solid var(--oz-powder-2);
  border-radius:999px; background:var(--oz-light); margin-bottom:1rem;
}
.oz-section{ padding-block:clamp(3.4rem,8vw,6rem); }
.oz-section-head{ max-width:640px; margin-bottom:clamp(2rem,5vw,3.2rem); }
.oz-section-head h2{ font-size:clamp(1.7rem,4.4vw,2.7rem); color:var(--oz-lotus); }
.oz-section-head p{ margin-top:.9rem; color:var(--oz-muted); font-size:1.05rem; }

/* ---- Buttons -------------------------------------------------------- */
.oz-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.8rem; border-radius:999px; border:0;
  font-weight:600; font-size:1rem; letter-spacing:.2px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.oz-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--oz-saturated), var(--oz-lotus-mid));
  box-shadow:0 12px 30px rgba(206,76,128,.35);
}
.oz-btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(206,76,128,.45); }
.oz-btn-ghost{
  color:var(--oz-lotus); background:var(--oz-light);
  border:1px solid var(--oz-silver);
}
.oz-btn-ghost:hover{ background:var(--oz-chrome); transform:translateY(-2px); }
.oz-btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--oz-sakura-dk); outline-offset:3px;
}

/* ---- Header / nav --------------------------------------------------- */
.oz-header{
  position:sticky; top:0; z-index:50;
  background:rgba(253,250,251,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--oz-powder-2);
}
.oz-nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.85rem; }
.oz-brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--oz-serif); font-size:1.4rem; font-weight:700; color:var(--oz-lotus); }
.oz-brand-mark{
  width:34px; height:34px; border-radius:50%;
  background:conic-gradient(from 210deg, var(--oz-saturated), var(--oz-sakura), var(--oz-lotus-mid), var(--oz-saturated));
  box-shadow:inset 0 0 0 4px var(--oz-light), var(--oz-shadow-s);
}
.oz-menu{ display:flex; align-items:center; gap:1.6rem; list-style:none; }
.oz-menu a{ font-size:.95rem; font-weight:500; color:var(--oz-ink); position:relative; padding:.2rem 0; }
.oz-menu a::after{ content:""; position:absolute; left:0; bottom:-3px; width:0; height:2px; background:var(--oz-saturated); transition:width .25s ease; }
.oz-menu a:hover::after{ width:100%; }
.oz-nav-cta{ padding:.6rem 1.2rem; font-size:.9rem; }
.oz-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:.4rem; }
.oz-burger span{ width:26px; height:2px; background:var(--oz-lotus); border-radius:2px; transition:.3s; }

/* ---- Hero ----------------------------------------------------------- */
.oz-hero{ position:relative; background:linear-gradient(180deg, var(--oz-powder), var(--oz-light)); overflow:hidden; }
.oz-hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center;
  gap:clamp(1.5rem,5vw,3.5rem); padding-block:clamp(3rem,7vw,5.5rem);
}
.oz-hero-copy h1{ font-size:clamp(2.2rem,6vw,4rem); color:var(--oz-lotus); }
.oz-hero-copy h1 em{ font-style:normal; color:var(--oz-saturated); }
.oz-hero-copy p{ margin-top:1.3rem; font-size:1.15rem; color:var(--oz-muted); max-width:34ch; }
.oz-hero-actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }
.oz-hero-note{ margin-top:1.6rem; font-size:.85rem; color:var(--oz-muted); display:flex; align-items:center; gap:.5rem; }
.oz-hero-note::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--oz-saturated); }
.oz-hero-media{ position:relative; }
.oz-hero-media img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  border-radius:var(--oz-radius-l); box-shadow:var(--oz-shadow-l);
}
.oz-hero-badge{
  position:absolute; left:-14px; bottom:22px;
  background:var(--oz-light); border-radius:var(--oz-radius);
  padding:.9rem 1.15rem; box-shadow:var(--oz-shadow);
  display:flex; align-items:center; gap:.7rem; max-width:230px;
}
.oz-hero-badge b{ color:var(--oz-lotus); font-family:var(--oz-serif); font-size:1.3rem; }
.oz-hero-badge small{ color:var(--oz-muted); font-size:.78rem; }
.oz-hero-badge .oz-dot{ width:38px;height:38px;border-radius:12px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--oz-sakura),var(--oz-saturated)); }

/* ---- Benefits ------------------------------------------------------- */
.oz-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--oz-gap); }
.oz-card{
  background:var(--oz-light); border:1px solid var(--oz-powder-2);
  border-radius:var(--oz-radius-l); padding:2rem 1.7rem;
  box-shadow:var(--oz-shadow-s); transition:transform .3s ease, box-shadow .3s ease;
}
.oz-card:hover{ transform:translateY(-6px); box-shadow:var(--oz-shadow); }
.oz-ic{
  width:52px; height:52px; border-radius:15px; margin-bottom:1.1rem;
  display:grid; place-items:center;
  background:linear-gradient(135deg,var(--oz-powder),var(--oz-sakura));
  color:var(--oz-lotus);
}
.oz-ic svg{ width:26px; height:26px; }
.oz-card h3{ font-size:1.2rem; color:var(--oz-lotus); margin-bottom:.5rem; }
.oz-card p{ color:var(--oz-muted); font-size:.97rem; }

/* ---- About ---------------------------------------------------------- */
.oz-about{ background:linear-gradient(180deg,var(--oz-light),var(--oz-powder)); }
.oz-about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(1.8rem,5vw,3.5rem); align-items:center; }
.oz-product-card{
  position:relative; background:var(--oz-light);
  border-radius:var(--oz-radius-l); padding:2rem; text-align:center;
  box-shadow:var(--oz-shadow); border:1px solid var(--oz-powder-2);
  max-width:420px; margin-inline:auto;
}
.oz-product-card::before{
  content:""; position:absolute; inset:0; border-radius:var(--oz-radius-l);
  background:radial-gradient(120% 80% at 50% 0%, var(--oz-powder), transparent 60%);
  pointer-events:none;
}
.oz-product-card img{
  position:relative; width:auto; height:340px; max-width:100%;
  margin:0 auto .4rem; object-fit:contain;
  filter:drop-shadow(0 22px 34px rgba(58,30,54,.28));
}
.oz-price-row{ display:flex; align-items:baseline; justify-content:center; gap:.5rem; margin-top:.4rem; }
.oz-price{ font-family:var(--oz-serif); font-size:2.6rem; color:var(--oz-saturated); font-weight:700; }
.oz-price-old{ color:var(--oz-chrome-dk); text-decoration:line-through; font-size:1.1rem; }
.oz-price-tag{ font-size:.82rem; color:var(--oz-muted); margin-top:.2rem; }
.oz-product-card .oz-btn{ margin-top:1.2rem; width:100%; }

.oz-about-copy h2{ font-size:clamp(1.7rem,4.4vw,2.6rem); color:var(--oz-lotus); }
.oz-about-copy p{ color:var(--oz-muted); margin-top:1rem; }
.oz-feature-list{ list-style:none; margin-top:1.6rem; display:grid; gap:.85rem; }
.oz-feature-list li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.98rem; }
.oz-check{
  flex:0 0 auto; width:24px; height:24px; border-radius:50%;
  background:linear-gradient(135deg,var(--oz-saturated),var(--oz-lotus-mid));
  display:grid; place-items:center; margin-top:.15rem;
}
.oz-check svg{ width:13px; height:13px; color:#fff; }

/* ---- Ingredients ---------------------------------------------------- */
.oz-ingredients{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--oz-gap); }
.oz-ingredient{
  display:grid; grid-template-columns:auto 1fr; gap:1.1rem; align-items:start;
  padding:1.5rem; border-radius:var(--oz-radius); background:var(--oz-chrome);
  border:1px solid var(--oz-silver);
}
.oz-ing-badge{
  width:58px; height:58px; border-radius:16px; flex:0 0 auto;
  display:grid; place-items:center; font-family:var(--oz-serif);
  font-size:1.35rem; font-weight:700; color:#fff;
  background:linear-gradient(135deg,var(--oz-lotus-mid),var(--oz-saturated));
}
.oz-ingredient h3{ font-size:1.1rem; color:var(--oz-lotus); margin-bottom:.35rem; }
.oz-ingredient p{ color:var(--oz-muted); font-size:.93rem; }

/* ---- Lifestyle ------------------------------------------------------ */
.oz-lifestyle{ background:linear-gradient(180deg,var(--oz-powder),var(--oz-light)); }
.oz-life-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.8rem,5vw,3.5rem); align-items:center; }
.oz-life-media img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--oz-radius-l); box-shadow:var(--oz-shadow); }
.oz-life-list{ list-style:none; display:grid; gap:1.1rem; margin-top:1.4rem; }
.oz-life-list li{ display:grid; grid-template-columns:auto 1fr; gap:1rem; }
.oz-life-num{
  width:40px; height:40px; border-radius:12px; flex:0 0 auto;
  display:grid; place-items:center; font-family:var(--oz-serif); font-weight:700;
  color:var(--oz-lotus); background:var(--oz-sakura);
}
.oz-life-list h3{ font-size:1.05rem; color:var(--oz-lotus); }
.oz-life-list p{ color:var(--oz-muted); font-size:.94rem; }

/* ---- Why choose ----------------------------------------------------- */
.oz-why{ background:var(--oz-lotus); color:var(--oz-powder); }
.oz-why .oz-section-head h2{ color:#fff; }
.oz-why .oz-section-head p{ color:var(--oz-sakura); }
.oz-why-media{ margin-bottom:var(--oz-gap); }
.oz-why-media img{
  width:100%; aspect-ratio:21/8; object-fit:cover;
  border-radius:var(--oz-radius-l); box-shadow:var(--oz-shadow-l);
}
.oz-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--oz-gap); }
.oz-why-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(240,190,209,.22);
  border-radius:var(--oz-radius-l); padding:2rem 1.7rem; backdrop-filter:blur(4px);
}
.oz-why-ic{
  width:54px; height:54px; border-radius:15px; margin-bottom:1.1rem;
  display:grid; place-items:center; color:var(--oz-lotus);
  background:linear-gradient(135deg,var(--oz-sakura),var(--oz-powder));
}
.oz-why-ic svg{ width:26px; height:26px; }
.oz-why-card h3{ color:#fff; font-size:1.18rem; margin-bottom:.5rem; }
.oz-why-card p{ color:var(--oz-sakura); font-size:.95rem; }

/* ---- FAQ ------------------------------------------------------------ */
.oz-faq-list{ display:grid; gap:.9rem; max-width:820px; }
.oz-faq-item{ border:1px solid var(--oz-powder-2); border-radius:var(--oz-radius); background:var(--oz-light); overflow:hidden; }
.oz-faq-q{
  width:100%; text-align:left; background:none; border:0;
  padding:1.2rem 1.4rem; font-size:1.03rem; font-weight:600; color:var(--oz-lotus);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.oz-faq-q .oz-plus{ flex:0 0 auto; width:26px; height:26px; position:relative; transition:transform .3s ease; }
.oz-faq-q .oz-plus::before,.oz-faq-q .oz-plus::after{
  content:""; position:absolute; inset:0; margin:auto; background:var(--oz-saturated);
}
.oz-faq-q .oz-plus::before{ width:14px; height:2px; }
.oz-faq-q .oz-plus::after{ width:2px; height:14px; transition:transform .3s ease; }
.oz-faq-item.oz-open .oz-plus::after{ transform:scaleY(0); }
.oz-faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.oz-faq-a p{ padding:0 1.4rem 1.3rem; color:var(--oz-muted); font-size:.97rem; }

/* ---- Order ---------------------------------------------------------- */
.oz-order{ background:linear-gradient(135deg,var(--oz-powder),var(--oz-sakura)); }
.oz-order-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.8rem,5vw,3.5rem); align-items:center; }
.oz-order-copy h2{ font-size:clamp(1.7rem,4.4vw,2.6rem); color:var(--oz-lotus); }
.oz-order-copy p{ color:var(--oz-lotus-mid); margin-top:1rem; }
.oz-order-facts{ list-style:none; margin-top:1.6rem; display:grid; gap:.7rem; }
.oz-order-facts li{ display:flex; gap:.6rem; align-items:center; color:var(--oz-lotus); font-weight:500; }
.oz-order-facts li::before{ content:"✓"; color:var(--oz-saturated); font-weight:700; }
.oz-form{
  background:var(--oz-light); border-radius:var(--oz-radius-l);
  padding:clamp(1.6rem,4vw,2.4rem); box-shadow:var(--oz-shadow-l);
}
.oz-form h3{ color:var(--oz-lotus); font-size:1.35rem; margin-bottom:.3rem; }
.oz-form .oz-form-sub{ color:var(--oz-muted); font-size:.92rem; margin-bottom:1.4rem; }
.oz-field{ margin-bottom:1.1rem; }
.oz-field label{ display:block; font-size:.86rem; font-weight:600; color:var(--oz-lotus); margin-bottom:.4rem; }
.oz-field input{
  width:100%; padding:.9rem 1rem; border-radius:var(--oz-radius-s);
  border:1px solid var(--oz-silver); background:var(--oz-light);
  font-size:1rem; color:var(--oz-ink); transition:border .2s ease, box-shadow .2s ease;
}
.oz-field input:focus{ outline:none; border-color:var(--oz-saturated); box-shadow:0 0 0 3px rgba(206,76,128,.15); }
.oz-field .oz-err{ display:none; color:var(--oz-saturated-d); font-size:.82rem; margin-top:.35rem; }
.oz-field.oz-invalid input{ border-color:var(--oz-saturated-d); }
.oz-field.oz-invalid .oz-err{ display:block; }
.oz-form .oz-btn{ width:100%; margin-top:.4rem; }
.oz-form-legal{ font-size:.78rem; color:var(--oz-muted); margin-top:1rem; text-align:center; }
.oz-form-legal a{ color:var(--oz-saturated); text-decoration:underline; }

/* ---- Footer --------------------------------------------------------- */
.oz-footer{ background:var(--oz-lotus); color:var(--oz-powder); padding-block:clamp(2.6rem,6vw,4rem) 2rem; }
.oz-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; }
.oz-footer .oz-brand{ color:#fff; margin-bottom:1rem; }
.oz-footer-about{ color:var(--oz-sakura); font-size:.94rem; max-width:34ch; }
.oz-footer h4{ color:#fff; font-family:var(--oz-serif); font-size:1.05rem; margin-bottom:1rem; }
.oz-footer ul{ list-style:none; display:grid; gap:.6rem; }
.oz-footer a{ color:var(--oz-sakura); font-size:.92rem; }
.oz-footer a:hover{ color:#fff; }
.oz-contact li{ color:var(--oz-sakura); font-size:.92rem; display:flex; gap:.55rem; }
.oz-contact b{ color:#fff; font-weight:600; }
.oz-footer-bottom{
  border-top:1px solid rgba(240,190,209,.2); margin-top:2.4rem; padding-top:1.6rem;
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  font-size:.84rem; color:var(--oz-sakura);
}
.oz-footer-bottom nav{ display:flex; flex-wrap:wrap; gap:1.2rem; }

/* ---- Legal / content pages ----------------------------------------- */
.oz-legal{ background:var(--oz-light); }
.oz-legal-hero{ background:linear-gradient(135deg,var(--oz-lotus),var(--oz-lotus-mid)); color:#fff; padding-block:clamp(2.6rem,7vw,4.4rem); }
.oz-legal-hero h1{ font-size:clamp(1.9rem,5vw,3rem); }
.oz-legal-hero p{ color:var(--oz-sakura); margin-top:.7rem; }
.oz-legal-body{ max-width:820px; padding-block:clamp(2.4rem,6vw,4rem); }
.oz-legal-body h2{ color:var(--oz-lotus); font-size:1.4rem; margin:2rem 0 .8rem; }
.oz-legal-body h2:first-child{ margin-top:0; }
.oz-legal-body h3{ color:var(--oz-lotus-mid); font-size:1.1rem; margin:1.4rem 0 .5rem; }
.oz-legal-body p, .oz-legal-body li{ color:var(--oz-muted); margin-bottom:.7rem; }
.oz-legal-body ul{ padding-left:1.3rem; margin-bottom:1rem; }
.oz-legal-body a{ color:var(--oz-saturated); text-decoration:underline; }
.oz-callout{
  border-left:4px solid var(--oz-saturated); background:var(--oz-powder);
  padding:1.1rem 1.3rem; border-radius:0 var(--oz-radius-s) var(--oz-radius-s) 0;
  margin:1.4rem 0;
}
.oz-callout p{ color:var(--oz-lotus); margin:0; }

/* ---- Success page --------------------------------------------------- */
.oz-success{ min-height:70vh; display:grid; place-items:center; background:linear-gradient(180deg,var(--oz-powder),var(--oz-light)); text-align:center; padding-block:4rem; }
.oz-success-card{ background:var(--oz-light); border-radius:var(--oz-radius-l); box-shadow:var(--oz-shadow-l); padding:clamp(2rem,6vw,3.4rem); max-width:560px; }
.oz-success-ic{ width:82px; height:82px; margin:0 auto 1.4rem; border-radius:50%;
  background:linear-gradient(135deg,var(--oz-saturated),var(--oz-lotus-mid)); display:grid; place-items:center; }
.oz-success-ic svg{ width:40px; height:40px; color:#fff; }
.oz-success h1{ color:var(--oz-lotus); font-size:clamp(1.7rem,5vw,2.4rem); }
.oz-success p{ color:var(--oz-muted); margin-top:1rem; }
.oz-success .oz-btn{ margin-top:1.8rem; }

/* ---- Cookie banner -------------------------------------------------- */
.oz-cookie{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(160%);
  width:min(760px, calc(100% - 32px)); z-index:100;
  background:var(--oz-light); border:1px solid var(--oz-powder-2);
  border-radius:var(--oz-radius-l); box-shadow:var(--oz-shadow-l);
  padding:1.4rem 1.5rem; transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.oz-cookie.oz-show{ transform:translateX(-50%) translateY(0); }
.oz-cookie h3{ color:var(--oz-lotus); font-size:1.1rem; margin-bottom:.4rem; }
.oz-cookie p{ color:var(--oz-muted); font-size:.9rem; }
.oz-cookie p a{ color:var(--oz-saturated); text-decoration:underline; }
.oz-cookie-actions{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.1rem; }
.oz-cookie-actions .oz-btn{ padding:.7rem 1.3rem; font-size:.92rem; }
.oz-cookie-mini{ background:none; border:0; color:var(--oz-muted); text-decoration:underline; font-size:.9rem; }

/* preferences panel */
.oz-cookie-prefs{ display:none; margin-top:1.1rem; border-top:1px solid var(--oz-powder-2); padding-top:1.1rem; }
.oz-cookie-prefs.oz-show{ display:block; }
.oz-pref-row{ display:flex; align-items:flex-start; gap:.8rem; padding:.6rem 0; }
.oz-pref-row div{ flex:1; }
.oz-pref-row b{ color:var(--oz-lotus); font-size:.95rem; }
.oz-pref-row small{ color:var(--oz-muted); font-size:.82rem; }
.oz-switch{ position:relative; width:46px; height:26px; flex:0 0 auto; }
.oz-switch input{ opacity:0; width:0; height:0; }
.oz-switch span{ position:absolute; inset:0; background:var(--oz-silver); border-radius:999px; transition:.3s; }
.oz-switch span::before{ content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.3s; }
.oz-switch input:checked + span{ background:var(--oz-saturated); }
.oz-switch input:checked + span::before{ transform:translateX(20px); }
.oz-switch input:disabled + span{ opacity:.6; }

/* ---- Responsive ----------------------------------------------------- */
@media (max-width: 980px){
  .oz-hero-grid,.oz-about-grid,.oz-life-grid,.oz-order-grid{ grid-template-columns:1fr; }
  .oz-hero-media{ order:-1; }
  .oz-cards,.oz-why-grid{ grid-template-columns:repeat(2,1fr); }
  .oz-footer-grid{ grid-template-columns:1fr 1fr; }
  .oz-footer-about{ grid-column:1 / -1; }
}
@media (max-width: 720px){
  .oz-menu{
    position:fixed; inset:0 0 0 auto; width:min(280px,80%);
    flex-direction:column; align-items:flex-start; gap:1.4rem;
    background:var(--oz-light); padding:5rem 1.8rem 2rem;
    box-shadow:var(--oz-shadow-l); transform:translateX(110%);
    transition:transform .35s ease;
  }
  .oz-menu.oz-open{ transform:translateX(0); }
  .oz-nav-cta{ display:none; }
  .oz-burger{ display:flex; }
  .oz-ingredients,.oz-cards,.oz-why-grid{ grid-template-columns:1fr; }
  .oz-footer-grid{ grid-template-columns:1fr; }
  .oz-footer-bottom{ flex-direction:column; align-items:flex-start; }
  .oz-hero-badge{ left:8px; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
