:root { --purple:#3d2368; --lavender:#cbb9e7; --pink:#f4dce9; --orange:#fb4f03; --cream:#fffaf7; }
* { box-sizing:border-box; }
body { margin:0; color:var(--purple); background:var(--pink); font-family:"Trebuchet MS",Arial,system-ui,sans-serif; }
.landing { position:relative; min-height:100svh; overflow:hidden; background:linear-gradient(180deg,#f8e8f0 0%,var(--pink) 100%); }
.landing>.container { z-index:1; }
.brand-logo { position:relative; z-index:1; display:block; width:min(430px,78vw); height:auto; filter:brightness(0) invert(1); }
.eyebrow { color:var(--orange); font-size:.72rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow span { margin-right:.35rem; font-size:1.1rem; }
.media-heading .eyebrow { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; padding:.8rem 1.5rem; border:2px solid white; border-radius:999px; color:var(--purple); background:white; font-size:1.05rem; font-weight:900; letter-spacing:.13em; box-shadow:6px 6px 0 var(--lavender); }
.media-heading .eyebrow span { color:var(--orange); font-size:1.3rem; }
h1,h2 { font-weight:900; letter-spacing:-.05em; text-transform:uppercase; }
h1 { position:relative; z-index:1; max-width:880px; margin:0 auto 1.1rem; color:white; font-size:clamp(2.35rem,4.2vw,4rem); line-height:.92; text-shadow:0 2px 18px rgba(38,20,48,.25); }
h1 span { display:inline-block; padding:.02em .12em .07em; color:var(--purple); background:var(--lavender); }
.intro-text { position:relative; z-index:1; max-width:650px; color:white; font-family:system-ui,-apple-system,sans-serif; font-size:clamp(.98rem,1.5vw,1.12rem); font-weight:600; line-height:1.55; }
.intro { position:relative; max-width:1120px; padding:clamp(2.2rem,5vw,4.3rem) clamp(1.2rem,5vw,4rem) clamp(3rem,6vw,5rem); overflow:hidden; border-radius:2.2rem 2.2rem 46% 46% / 2.2rem 2.2rem 4.5rem 4.5rem; background:url("assets/maman-bebe.jpg") center 38%/cover no-repeat; box-shadow:0 14px 38px rgba(61,35,104,.18); }
.intro::before { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(61,35,104,.88),rgba(61,35,104,.62)),linear-gradient(0deg,rgba(117,66,65,.22),rgba(117,66,65,.22)); }
.intro::after { display:none; }
.media-signup-row { max-width:1120px; margin-inline:auto; padding:clamp(1.5rem,4vw,3rem); border-radius:2rem; background:var(--purple); box-shadow:0 14px 36px rgba(61,35,104,.18); }
.video-column { position:sticky; top:2rem; }
.video-slot { position:relative; width:min(100%,300px); aspect-ratio:9/16; overflow:hidden; border:3px solid white; border-radius:1.4rem; background:var(--purple); box-shadow:8px 8px 0 var(--lavender); }
.video-slot iframe { display:block; width:100%; height:100%; border:0; }
.video-consent { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:.8rem; padding:1.5rem 1.1rem 2rem; color:white; background:linear-gradient(to bottom,transparent 32%,rgba(30,16,53,.9) 78%),url("assets/video-mama-thumbnail.jpg") center/cover no-repeat; font-family:system-ui,-apple-system,sans-serif; text-align:center; }
.video-consent[hidden],.cookie-settings[hidden] { display:none; }
.video-consent>span { display:grid; width:3.5rem; height:3.5rem; place-items:center; padding-left:.2rem; border:2px solid white; border-radius:50%; background:var(--orange); box-shadow:0 4px 18px rgba(0,0,0,.25); }
.video-consent p { margin:0; font-size:.88rem; font-weight:700; line-height:1.4; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.video-consent button { width:100%; min-height:46px; padding:.75rem .8rem; border:2px solid white; border-radius:.6rem; color:white; background:var(--orange); font-size:.7rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.promise { position:relative; z-index:1; width:min(100%,520px); padding:.9rem 3.6rem .9rem 1.25rem; border:1px solid var(--orange); border-radius:.75rem; color:white; background:var(--orange); font-size:clamp(.82rem,1.25vw,1rem); font-weight:900; letter-spacing:.07em; text-align:center; text-transform:uppercase; box-shadow:0 7px 20px rgba(38,20,48,.22); }
.promise-star { position:absolute; right:.7rem; top:50%; color:white; font-size:2rem; transform:translateY(-50%); }
.signup-card { position:relative; width:100%; max-width:600px; padding:clamp(1.15rem,2.5vw,2rem); border-radius:1.6rem; background:var(--lavender); box-shadow:9px 9px 0 rgba(255,255,255,.98); }
.card-star { position:absolute; top:-1.2rem; right:-1rem; color:var(--orange); font-size:3.6rem; line-height:1; }
.brevo-form { display:block; width:100%; max-width:540px; height:705px; margin-inline:auto; overflow:hidden; border:0; border-radius:1rem; background:white; }
.decor { position:absolute; width:190px; height:70px; border:18px solid currentColor; border-right-color:transparent; border-left-color:transparent; border-radius:50%; }
.decor-top { top:3%; right:-65px; color:var(--lavender); transform:rotate(35deg); }
.decor-bottom { bottom:1%; left:-65px; color:var(--purple); transform:rotate(-25deg); }
.cookie-banner { position:fixed; z-index:1000; right:1rem; bottom:1rem; left:1rem; max-width:1080px; margin-inline:auto; padding:1.25rem 1.4rem; border:2px solid var(--purple); border-radius:1rem; color:var(--purple); background:white; box-shadow:7px 7px 0 var(--purple); }
.cookie-banner[hidden] { display:none; }
.cookie-main { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.cookie-copy { max-width:630px; font-family:system-ui,-apple-system,sans-serif; font-size:.84rem; line-height:1.45; }
.cookie-copy h2 { margin:0 0 .35rem; font-size:1.15rem; letter-spacing:-.02em; text-transform:none; }
.cookie-kicker { color:var(--orange); font-size:.65rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.cookie-actions { display:flex; flex-shrink:0; gap:.65rem; }
.cookie-button { min-width:120px; padding:.75rem 1rem; border:2px solid var(--purple); border-radius:.6rem; color:var(--purple); background:white; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.cookie-button-primary { color:white; background:var(--purple); }
.cookie-customize { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--lavender); font-family:system-ui,-apple-system,sans-serif; }
.cookie-customize[hidden] { display:none; }
.cookie-panel-title { margin:0 0 .7rem; font-size:.9rem; font-weight:900; }
.cookie-option { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem 0; cursor:pointer; }
.cookie-option span { display:grid; gap:.12rem; }
.cookie-option strong { font-size:.8rem; }
.cookie-option small { color:#665c74; font-size:.72rem; line-height:1.35; }
.cookie-option input { width:1.35rem; height:1.35rem; flex:0 0 auto; accent-color:var(--orange); }
.cookie-save { display:block; margin:.7rem 0 0 auto; }
.cookie-settings { position:fixed; z-index:900; right:.75rem; bottom:.65rem; padding:.45rem .65rem; border:0; border-radius:.45rem; color:white; background:var(--purple); font-size:.62rem; font-weight:800; }
@media (max-width:991.98px) {
  .landing { align-items:flex-start!important; overflow:visible; }
  .intro { text-align:center; }
  .brand-logo,.intro-text { margin-inline:auto; }
  .promise { margin-inline:auto; }
  .signup-card { margin-inline:auto; }
}
@media (max-width:575.98px) {
  h1 { font-size:clamp(2.2rem,11vw,3.1rem); }
  .intro { padding:2rem 1rem 3rem; border-radius:1.35rem 1.35rem 35% 35% / 1.35rem 1.35rem 2.8rem 2.8rem; background-position:55% center; }
  .brand-logo { width:min(250px,76vw); }
  .media-signup-row { padding:1.4rem .85rem 1.8rem; border-radius:1.35rem; }
  .promise { width:100%; padding:.8rem 2.45rem .8rem .65rem; font-size:clamp(.58rem,2.7vw,.78rem); letter-spacing:.025em; white-space:nowrap; }
  .promise-star { right:.45rem; font-size:1.7rem; }
  .signup-card { border-radius:1.2rem; box-shadow:6px 6px 0 white; }
  .card-star { right:-.35rem; font-size:3rem; }
  .brevo-form { height:880px; }
  .decor { display:none; }
  .video-column { position:static; }
  .video-slot { width:min(75vw,270px); }
  .cookie-banner { right:.55rem; bottom:.55rem; left:.55rem; max-height:calc(100svh - 1.1rem); padding:1rem; overflow:auto; border-radius:.85rem; box-shadow:5px 5px 0 var(--purple); }
  .cookie-main { align-items:stretch; flex-direction:column; gap:.9rem; }
  .cookie-copy { font-size:.78rem; }
  .cookie-copy h2 { font-size:1.05rem; }
  .cookie-actions { display:grid; width:100%; grid-template-columns:1fr 1fr; gap:.5rem; }
  .cookie-customize-button { grid-column:1/-1; }
  .cookie-button { min-width:0; min-height:48px; padding:.65rem .45rem; font-size:.64rem; }
}
