/* ============================================================
   WEB-DERMAESSENTIAL — css/style.css
   Domain: web-dermaessential.com
   Theme: Blush Pink + Rose Gold + Pearl White + Deep Charcoal
   Font: DM Serif Display (elegant editorial luxury serif) +
         Nunito (warm rounded premium sans)
   Layout: Full-width centered hero + animated rose petal
           confetti CSS bg + 3 benefit badge strip.
           6-ingredient pair cards (2-col, 3 pairs).
           3 core benefits vertical numbered ribbon timeline.
           6 bonus 2x3 card mosaic with value badges.
           3 testimonial timeline cards with progress bar.
           Guarantee split layout.
           Dotted howto.
           FAQs.
           Footer strip + 4-col grid.
   Naming: --de- prefix
   NOTE: All CSS content values use Unicode escapes only
   ============================================================ */

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

:root{
  /* Blush Pink palette */
  --de-pink:     #d4607c;
  --de-pk-md:    #e06888;
  --de-pk-lt:    #ec7094;
  --de-pk-brt:   #f87aa0;
  --de-pk-pal:   #fdeef3;
  --de-pk-xpl:   #fff4f7;
  --de-pk-xpal:  #fff8fa;

  /* Rose Gold accent */
  --de-rose:     #c0605a;
  --de-ro-lt:    #d06862;
  --de-ro-pal:   #fdf0ee;

  /* Blush light */
  --de-blush:    #f9c4d4;
  --de-bl-lt:    #fbd4e0;
  --de-bl-xlt:   #fce8ef;

  /* Pearl White / Cream */
  --de-white:    #ffffff;
  --de-pearl:    #fdfbfc;
  --de-warm-w:   #faf6f8;
  --de-ivory:    #f5eef1;
  --de-cream:    #ede5e9;

  /* Deep Charcoal */
  --de-dark:     #2a1620;
  --de-xdark:    #1e0e18;
  --de-dk-md:    #321a24;
  --de-dk-lt:    #3c2030;
  --de-text:     #2a1620;
  --de-muted:    #3c1c2c;
  --de-faint:    #7a4a5c;
  --de-border:   #e4c4d0;
  --de-bdr-lt:   #eed4dc;

  --sh-1: 0 1px 6px rgba(42,22,32,.08);
  --sh-2: 0 4px 18px rgba(42,22,32,.14);
  --sh-3: 0 12px 40px rgba(42,22,32,.22);
  --sh-pink:  0 4px 22px rgba(212,96,124,.36);
  --sh-rose:  0 4px 22px rgba(192,96,90,.28);

  --r-xs:  4px;
  --r-sm:  10px;
  --r-md:  16px;
  --r-lg:  24px;
  --r-xl:  32px;
  --r-pill:999px;
}

html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;font-size:17px;color:var(--de-text);background:var(--de-pearl);overflow-x:hidden;line-height:1.80}
h1,h2,h3,h4,h5{font-family:'Nunito',sans-serif;font-weight:700}
em{font-style:italic;font-family:'DM Serif Display',serif}

/* NAV */
nav{position:sticky;top:0;z-index:1000;background:var(--de-xdark);padding:0 24px;height:66px;border-bottom:3px solid var(--de-pk-brt);box-shadow:0 4px 20px rgba(30,14,24,.90)}
.nav-inner{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{text-decoration:none;display:flex;align-items:baseline;gap:1px;flex-shrink:0}
.nl-derma{font-family:'DM Serif Display',serif;font-size:1.6rem;font-weight:400;color:var(--de-pk-brt);font-style:italic}
.nl-essential{font-family:'Nunito',sans-serif;font-size:1.2rem;font-weight:800;color:var(--de-white)}
.nav-links{display:flex;align-items:center;gap:16px;list-style:none}
.nav-links a{color:rgba(255,255,255,.42);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:700;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--de-pk-brt)}
.nav-cta{background:var(--de-pink)!important;color:var(--de-white)!important;font-family:'Nunito',sans-serif!important;font-weight:800!important;font-size:.76rem!important;padding:9px 18px!important;border-radius:var(--r-xs)!important;transition:filter .2s!important;border:1px solid rgba(248,122,160,.22)!important}
.nav-cta:hover{filter:brightness(1.12)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{width:24px;height:2px;background:var(--de-pk-brt);display:block;border-radius:2px}
.mobile-menu{display:none;flex-direction:column;background:var(--de-dk-md);position:absolute;top:69px;left:0;right:0;padding:20px 28px;gap:14px;z-index:999;border-bottom:3px solid var(--de-pk-brt)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:rgba(255,255,255,.60);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.96rem;font-weight:700;padding:4px 0;border-bottom:1px solid rgba(212,96,124,.14)}
.mob-cta{background:var(--de-pink)!important;color:var(--de-white)!important;text-align:center;padding:12px!important;border-radius:var(--r-xs)!important;font-weight:800!important;margin-top:8px;border:none!important}

/* BUTTONS */
.cta-pink{display:inline-block;background:linear-gradient(135deg,var(--de-pink) 0%,var(--de-pk-md) 55%,var(--de-pk-lt) 100%);color:var(--de-white);font-family:'Nunito',sans-serif;font-weight:800;font-size:.88rem;letter-spacing:.3px;padding:14px 42px;border-radius:var(--r-xl);text-decoration:none;transition:filter .25s,transform .2s,box-shadow .2s;box-shadow:var(--sh-pink)}
.cta-pink:hover{filter:brightness(1.10);transform:translateY(-3px);box-shadow:0 8px 28px rgba(212,96,124,.48)}
.cta-xl{font-size:.94rem;padding:16px 54px}
.cta-ghost-de{display:inline-block;background:transparent;color:rgba(255,255,255,.44);font-family:'Nunito',sans-serif;font-weight:700;font-size:.82rem;padding:13px 28px;border-radius:var(--r-xl);text-decoration:none;border:1.5px solid rgba(212,96,124,.30);transition:all .2s}
.cta-ghost-de:hover{border-color:var(--de-pk-brt);color:var(--de-pk-brt)}

/* TAGS */
.etag{display:inline-block;font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;border-bottom:2px solid currentColor;padding-bottom:3px;margin-bottom:14px}
.etag-pink{color:var(--de-pink);border-bottom-color:var(--de-pink)}
.etag-lt{color:rgba(255,255,255,.80);border-bottom-color:rgba(255,255,255,.60)}

/* ============================
   HERO: Full-width centered
   + animated rose petal CSS bg
   ============================ */
.hero{background:linear-gradient(170deg,var(--de-xdark) 0%,var(--de-dk-md) 50%,#281024 100%);position:relative;overflow:hidden;border-bottom:4px solid var(--de-pk-brt);padding:72px 24px 90px;text-align:center}

/* Rose petal / confetti CSS bg */
.hero-petal-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-petal-bg::before{content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 60%, rgba(212,96,124,.12) 0%, transparent 60%),
    radial-gradient(ellipse 8px 14px at 10% 16%, rgba(248,122,160,.60) 0%, transparent 14px),
    radial-gradient(ellipse 6px 10px at 88% 12%, rgba(192,96,122,.50) 0%, transparent 10px),
    radial-gradient(ellipse 4px 7px at 6% 70%, rgba(248,122,160,.40) 0%, transparent 7px),
    radial-gradient(ellipse 8px 13px at 92% 66%, rgba(212,96,124,.36) 0%, transparent 13px),
    radial-gradient(ellipse 5px 9px at 50% 6%, rgba(248,122,160,.36) 0%, transparent 9px),
    radial-gradient(ellipse 6px 10px at 3% 42%, rgba(192,96,90,.28) 0%, transparent 10px),
    radial-gradient(ellipse 4px 6px at 97% 36%, rgba(248,122,160,.30) 0%, transparent 6px),
    radial-gradient(ellipse 7px 11px at 24% 88%, rgba(212,96,124,.26) 0%, transparent 11px),
    radial-gradient(ellipse 5px 8px at 72% 90%, rgba(192,96,90,.22) 0%, transparent 8px);
  animation:petalFloat 12s ease-in-out infinite alternate}
.hero-petal-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 55% at 50% 50%, rgba(212,96,124,.06) 0%, transparent 55%);
  animation:petalGlow 8s ease-in-out infinite alternate}
@keyframes petalFloat{0%{opacity:.5;transform:translateY(0) rotate(0deg)}100%{opacity:1;transform:translateY(-12px) rotate(3deg)}}
@keyframes petalGlow{0%{opacity:.6}100%{opacity:1}}

.hero-center{position:relative;z-index:1;max-width:900px;margin:0 auto}

.hc-eyebrow{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}
.hce-tag{font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:700;color:rgba(255,255,255,.88);background:rgba(255,255,255,.07);border:1px solid rgba(248,122,160,.28);padding:5px 13px;border-radius:var(--r-pill)}

.hero-h1{font-family:'Nunito',sans-serif;font-size:2.7rem;font-weight:800;line-height:1.14;color:var(--de-white);margin-bottom:16px}
.hero-h1 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--de-pk-brt);font-size:2.5rem;font-weight:400;display:block;margin-bottom:4px}
.h1-pink{color:var(--de-pk-brt)}
.h1-rose{color:var(--de-blush)}
.hero-sub{font-family:'DM Serif Display',serif;font-size:1rem;line-height:1.84;color:rgba(255,255,255,.68);max-width:780px;margin:0 auto 22px;font-style:italic}
.hero-sub strong{color:var(--de-pk-brt);font-style:normal;font-family:'Nunito',sans-serif;font-weight:800}

/* 3 benefit badges */
.hero-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.hb-badge{background:rgba(255,255,255,.07);border:1.5px solid rgba(248,122,160,.28);border-radius:var(--r-md);padding:12px 16px;display:flex;align-items:center;gap:10px;max-width:220px;transition:transform .2s}
.hb-alt{border-color:rgba(192,96,90,.28)}
.hb-badge:hover{transform:translateY(-3px)}
.hbb-icon{font-size:1.6rem;flex-shrink:0}
.hb-badge span:last-child{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:700;color:rgba(255,255,255,.82);text-align:left;line-height:1.28}

.hero-product{display:inline-block;margin:0 auto 18px}
.hero-product-img{width:100%;max-width:380px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 70px rgba(0,0,0,.82)) drop-shadow(0 0 50px rgba(212,96,124,.20));transition:transform .5s;display:block;margin:0 auto}
.hero-product a:hover .hero-product-img{transform:scale(1.05) translateY(-12px)}
.hero-product a{display:block}

.hero-rating{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.hr-stars{color:var(--de-pk-brt);font-size:.96rem;letter-spacing:1.5px}
.hr-score{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:800;color:var(--de-pk-brt)}
.hr-sep{color:rgba(255,255,255,.22)}
.hr-ct{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:600;color:rgba(255,255,255,.68)}

/* Price strip */
.hero-prices{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.hp-tier{background:rgba(255,255,255,.06);border:1px solid rgba(212,96,124,.18);border-radius:var(--r-md);padding:14px 18px;min-width:140px;display:flex;flex-direction:column;gap:4px;text-align:center;position:relative}
.hp-best{background:rgba(212,96,124,.18);border-color:rgba(248,122,160,.32)}
.hp-pop{background:rgba(192,96,90,.14);border-color:rgba(208,104,98,.28)}
.hpt-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-family:'Nunito',sans-serif;font-size:.50rem;font-weight:800;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap;letter-spacing:.5px}
.hp-best .hpt-badge{background:var(--de-pink);color:var(--de-white)}
.hpt-pop{background:var(--de-rose);color:var(--de-white)}
.hp-tier strong{font-family:'Nunito',sans-serif;font-size:.96rem;font-weight:800;color:var(--de-white);display:block;padding-top:2px}
.hp-tier span{font-family:'DM Serif Display',serif;font-size:.78rem;color:rgba(255,255,255,.60);font-style:italic}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:14px}
.hero-fine{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:500;color:rgba(255,255,255,.30)}

/* BANDS */
.ing-band,.ben-band,.bonus-band,.rev-band,.howto-band,.faq-band,.price-band{padding:52px 24px 36px;text-align:center;border-top:3px solid}
.ing-band{background:var(--de-ivory);border-top-color:var(--de-pink)}
.ben-band{background:var(--de-xdark);border-top-color:var(--de-pk-brt)}
.bonus-band{background:var(--de-dk-md);border-top-color:var(--de-pk-brt)}
.rev-band{background:var(--de-pk-xpl);border-top-color:var(--de-pink)}
.howto-band{background:var(--de-xdark);border-top-color:var(--de-pk-brt)}
.faq-band{background:var(--de-ivory);border-top-color:var(--de-pink)}
.price-band{background:var(--de-xdark);border-top-color:var(--de-pk-brt)}

.ib-inner,.bb-inner,.bsb-inner,.rb-inner,.htb-inner,.fb-inner,.pb-inner{max-width:860px;margin:0 auto;text-align:center;padding:0 16px}
.ib-inner h2,.ben-band .bb-inner h2,.bonus-band .bsb-inner h2,.rev-band .rb-inner h2,.howto-band .htb-inner h2,.price-band .pb-inner h2{font-family:'Nunito',sans-serif;font-size:1.90rem;font-weight:800;line-height:1.22;margin-bottom:10px}
.ing-band .ib-inner h2,.rev-band .rb-inner h2,.faq-band .fb-inner h2{color:var(--de-text)}
.ben-band .bb-inner h2,.bonus-band .bsb-inner h2,.howto-band .htb-inner h2,.price-band .pb-inner h2{color:var(--de-white)}
.ib-inner p,.faq-band .fb-inner p{font-family:'DM Serif Display',serif;font-size:.92rem;color:var(--de-faint);font-style:italic}
.ben-band .bb-inner p,.bonus-band .bsb-inner p,.howto-band .htb-inner p{font-family:'DM Serif Display',serif;font-size:.92rem;color:rgba(255,255,255,.48);font-style:italic}
.rev-band .rb-inner p{font-family:'DM Serif Display',serif;font-size:.92rem;color:var(--de-faint);font-style:italic}
.price-band .pb-inner h2{color:var(--de-pk-brt);font-size:1.80rem}
.price-band .pb-inner p{font-family:'DM Serif Display',serif;font-size:.90rem;color:rgba(255,255,255,.42);font-style:italic}

/* 6 INGREDIENTS: Pair cards */
.ing-section{background:var(--de-warm-w);padding:64px 40px}
.ing-pairs{max-width:1200px;margin:0 auto 28px;display:flex;flex-direction:column;gap:20px}
.ip-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ip-rev{direction:rtl}
.ip-rev .ip-card{direction:ltr}
.ip-card{background:var(--de-white);border:1px solid var(--de-border);border-radius:var(--r-xl);padding:24px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh-1);transition:transform .25s,box-shadow .25s}
.ip-primary{border-top:4px solid var(--de-pink)}
.ip-secondary{border-top:4px solid var(--de-rose)}
.ip-card:hover{transform:translateY(-4px);box-shadow:var(--sh-pink)}
.ipc-num{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:800;letter-spacing:2px;color:var(--de-pink)}
.ip-secondary .ipc-num{color:var(--de-rose)}
.ipc-icon{font-size:2rem;display:block}
.ip-card h3{font-family:'Nunito',sans-serif;font-size:.94rem;font-weight:800;color:var(--de-text);line-height:1.26}
.ipc-role{font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:700;letter-spacing:1px;color:var(--de-pink);background:var(--de-pk-xpl);border:1px solid rgba(212,96,124,.16);padding:3px 10px;border-radius:var(--r-xs);display:inline-block;width:fit-content}
.ip-secondary .ipc-role{color:var(--de-rose);background:var(--de-ro-pal);border-color:rgba(192,96,90,.16)}
.ip-card p{font-family:'DM Serif Display',serif;font-size:.88rem;line-height:1.72;color:var(--de-muted);font-style:italic}
.ipc-targets{display:flex;flex-wrap:wrap;gap:5px}
.ipc-targets span{font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:700;color:var(--de-pink);background:var(--de-pk-xpl);border:1px solid rgba(212,96,124,.14);padding:2px 9px;border-radius:var(--r-pill)}
.ip-secondary .ipc-targets span{color:var(--de-rose);background:var(--de-ro-pal);border-color:rgba(192,96,90,.14)}

/* Ingredient trust bar */
.ing-trust-bar{max-width:1200px;margin:0 auto;background:var(--de-xdark);border-radius:var(--r-sm);display:flex;flex-wrap:wrap;overflow:hidden}
.itb-item{display:flex;flex-direction:column;padding:13px 18px;flex:1;min-width:120px}
.itb-sep{width:1px;background:rgba(212,96,124,.14);flex-shrink:0}
.itbk{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--de-pk-brt);margin-bottom:3px}
.itbv{font-family:'Nunito',sans-serif;font-size:.84rem;font-weight:500;color:rgba(255,255,255,.54)}
.itbg{color:var(--de-pk-brt);font-weight:800}

/* PRICE SEC */
.price-sec{background:var(--de-dk-md);padding:42px;text-align:center}
.price-link{display:block}
.price-img-lg{width:100%;max-width:1000px;height:auto;object-fit:contain;border-radius:var(--r-sm);display:block;margin:0 auto;transition:transform .3s}
.price-link:hover .price-img-lg{transform:scale(1.01)}

/* 3 BENEFITS: Vertical numbered ribbon timeline */
.ben-section{background:var(--de-dk-lt);padding:64px 40px}
.ben-ribbon{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.br-item{display:grid;grid-template-columns:80px 24px 1fr;gap:0;align-items:start;padding-bottom:32px;position:relative}
.br-item:last-child{padding-bottom:0}
.bri-num{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--de-pink) 0%,var(--de-pk-lt) 100%);color:var(--de-white);font-family:'DM Serif Display',serif;font-size:2rem;font-weight:400;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--sh-pink);position:relative;z-index:1}
.br-alt .bri-num{background:linear-gradient(135deg,var(--de-rose) 0%,var(--de-ro-lt) 100%);box-shadow:var(--sh-rose)}
.bri-line{width:2px;margin:80px auto 0;background:none;border-left:3px dashed rgba(248,122,160,.24);flex-shrink:0;position:absolute;left:39px;top:80px;bottom:-4px;z-index:0}
.br-item:last-child .bri-line{display:none}
.bri-body{padding:8px 0 0 24px;grid-column:3}
.bri-body h3{font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;color:var(--de-white);margin-bottom:8px;line-height:1.28}
.bri-body p{font-family:'DM Serif Display',serif;font-size:.88rem;line-height:1.72;color:rgba(255,255,255,.54);font-style:italic;margin-bottom:10px}
.bri-tags{display:flex;flex-wrap:wrap;gap:6px}
.bri-tags span{font-family:'Nunito',sans-serif;font-size:.56rem;font-weight:700;color:var(--de-pk-brt);background:rgba(212,96,124,.18);border:1px solid rgba(248,122,160,.20);padding:3px 10px;border-radius:var(--r-pill)}

/* 6 BONUS: 2x3 card mosaic */
.bonus-section{background:var(--de-dk-lt);padding:64px 40px}
.bonus-mosaic{max-width:1160px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bm-card{background:rgba(255,255,255,.05);border:1px solid rgba(248,122,160,.18);border-radius:var(--r-xl);padding:20px 18px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.bm-alt{border-color:rgba(192,96,90,.18)}
.bm-card:hover{transform:translateY(-4px);box-shadow:var(--sh-pink)}
.bmc-val{position:absolute;top:12px;right:12px;font-family:'Nunito',sans-serif;font-size:.54rem;font-weight:800;color:var(--de-white);background:var(--de-pink);padding:3px 10px;border-radius:var(--r-pill);letter-spacing:.5px}
.bmc-val-alt{background:var(--de-rose)}
.bmc-num{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:800;letter-spacing:2px;color:var(--de-pk-brt);text-transform:uppercase}
.bm-alt .bmc-num{color:var(--de-ro-lt)}
.bmc-img-wrap{overflow:hidden;border-radius:var(--r-md);height:130px;flex-shrink:0}
.bmc-img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .4s;display:block}
.bm-card:hover .bmc-img{transform:scale(1.06)}
.bm-card h3{font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;color:var(--de-white);line-height:1.28}
.bm-card p{font-family:'DM Serif Display',serif;font-size:.82rem;line-height:1.66;color:rgba(255,255,255,.52);font-style:italic;flex:1}
.bonus-total{max-width:1160px;margin:0 auto;text-align:center;font-family:'DM Serif Display',serif;font-size:.90rem;color:rgba(255,255,255,.38);font-style:italic}

/* TESTIMONIALS: Timeline cards */
.reviews-section{background:var(--de-warm-w);padding:64px 40px}
.rev-timeline{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.rt-card{background:var(--de-white);border:1px solid var(--de-border);border-radius:var(--r-xl);padding:24px 22px;box-shadow:var(--sh-2);transition:transform .25s,box-shadow .25s;border-left:5px solid var(--de-pink)}
.rt-alt{border-left-color:var(--de-rose)}
.rt-card:hover{transform:translateY(-3px);box-shadow:var(--sh-pink)}
.rtc-timeline{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.rtct-week{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;color:var(--de-faint);white-space:nowrap}
.rtct-bar{flex:1;height:6px;background:var(--de-cream);border-radius:3px;overflow:hidden}
.rtct-fill{height:100%;background:linear-gradient(to right,var(--de-pk-pal),var(--de-pink));border-radius:3px;width:80%;animation:fillBar 1.5s ease both}
@keyframes fillBar{from{width:0}to{width:80%}}
.rtc-stars{color:var(--de-pink);font-size:.90rem;letter-spacing:1.5px;margin-bottom:10px}
.rt-card blockquote{font-family:'DM Serif Display',serif;font-size:.96rem;line-height:1.80;color:var(--de-muted);font-style:italic;margin-bottom:14px}
.rt-card blockquote::before,.rt-card blockquote::after{content:none}
.rtc-author{display:flex;align-items:center;gap:14px;padding-top:14px;border-top:1px solid var(--de-bdr-lt)}
.rtca-av{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--de-pink);flex-shrink:0;display:block}
.rt-alt .rtca-av{border-color:var(--de-rose)}
.rtc-author div{display:flex;flex-direction:column;gap:2px}
.rtc-author strong{font-family:'Nunito',sans-serif;font-size:.90rem;font-weight:800;color:var(--de-text)}
.rtc-author span{font-family:'Nunito',sans-serif;font-size:.66rem;font-weight:500;color:var(--de-faint)}
.rtca-since{color:var(--de-pink)!important;font-weight:700!important}

/* GUARANTEE */
.guar-section{background:linear-gradient(135deg,var(--de-pk-xpl) 0%,var(--de-ro-pal) 100%);padding:64px 40px;border-top:3px solid var(--de-pink);border-bottom:3px solid var(--de-rose)}
.guar-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center}
.guar-img-lg{width:100%;max-width:260px;height:auto;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 8px 24px rgba(212,96,124,.22))}
.guar-right h2{font-family:'Nunito',sans-serif;font-size:1.90rem;font-weight:800;color:var(--de-pink);line-height:1.24;margin-bottom:14px}
.guar-right p{font-family:'DM Serif Display',serif;font-size:.96rem;line-height:1.80;color:var(--de-muted);font-style:italic;margin-bottom:12px}

/* HOWTO: Dotted steps */
.howto-section{background:var(--de-dk-md);padding:64px 40px}
.howto-steps{max-width:880px;margin:0 auto;display:flex;flex-direction:column}
.hs-step{display:grid;grid-template-columns:66px 1fr;gap:0;align-items:start;position:relative}
.hs-step:not(:last-child)::after{content:'';position:absolute;left:32px;top:66px;bottom:0;width:2px;border-left:3px dashed rgba(248,122,160,.28);z-index:0}
.hs-num{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--de-pink) 0%,var(--de-pk-lt) 100%);color:var(--de-white);font-family:'DM Serif Display',serif;font-size:1.8rem;font-weight:400;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:var(--sh-pink)}
.hs-body{padding:6px 0 34px 22px}
.hs-body h4{font-family:'Nunito',sans-serif;font-size:1rem;font-weight:800;color:var(--de-white);margin-bottom:6px;line-height:1.28}
.hs-tldr{font-family:'DM Serif Display',serif;font-size:.80rem;font-style:italic;background:rgba(248,122,160,.14);border-left:3px solid var(--de-pk-brt);padding:8px 12px;border-radius:0 var(--r-xs) var(--r-xs) 0;margin-bottom:9px;line-height:1.60;color:rgba(255,255,255,.90)}
.hs-body p:last-child{font-family:'DM Serif Display',serif;font-size:.90rem;line-height:1.76;color:rgba(255,255,255,.40);font-style:italic}

/* FAQs */
.faq-section{background:var(--de-warm-w);padding:56px 40px}
.faq-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--de-white);border:1px solid var(--de-border);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-1)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:17px 22px;font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:700;color:var(--de-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:13px;transition:background .2s;line-height:1.38}
.faq-q:hover{background:var(--de-pk-xpl)}
.faq-arr{font-size:1.4rem;font-weight:300;transition:transform .3s;color:var(--de-pink);flex-shrink:0;line-height:1}
.faq-ans{display:none;padding:0 22px 18px;border-top:1px solid var(--de-bdr-lt)}
.faq-ans p{font-family:'DM Serif Display',serif;font-size:.96rem;line-height:1.80;color:var(--de-muted);padding-top:13px;font-style:italic}
.faq-tldr{font-family:'DM Serif Display',serif;font-size:.80rem;font-style:italic;background:var(--de-pk-xpl);border-left:3px solid var(--de-pink);padding:8px 13px;border-radius:0 var(--r-xs) var(--r-xs) 0;line-height:1.60;color:var(--de-text)}
.faq-item.open .faq-ans{display:block}
.faq-item.open .faq-arr{transform:rotate(45deg);color:var(--de-rose)}
.faq-item.open .faq-q{background:var(--de-pk-xpl)}

/* FINAL CTA */
.cta-final{background:linear-gradient(160deg,var(--de-xdark) 0%,#280c1a 55%,var(--de-dk-lt) 100%);padding:84px 24px;text-align:center;border-top:4px solid var(--de-pk-brt);position:relative;overflow:hidden}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(212,96,124,.14) 0%,transparent 55%);pointer-events:none}
.cta-final-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.ctaf-icons{display:flex;justify-content:center;gap:14px;margin-bottom:14px}
.ctafi-1,.ctafi-3{font-size:2rem;opacity:.5;animation:petalBob 4s ease-in-out infinite}
.ctafi-2{font-size:2.8rem;animation:petalBob 4s ease-in-out infinite .7s}
.ctafi-1{animation-delay:0s}
.ctafi-3{animation-delay:1.4s}
@keyframes petalBob{0%,100%{transform:translateY(0) rotate(0deg);opacity:.6}50%{transform:translateY(-12px) rotate(8deg);opacity:1}}
.cta-final-inner h2{font-family:'Nunito',sans-serif;font-size:2.8rem;font-weight:800;color:var(--de-white);margin-bottom:12px;line-height:1.10}
.cta-final-inner h2 span{color:var(--de-pk-brt)}
.cta-final-inner h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:rgba(255,255,255,.44);font-size:2.2rem;font-weight:400;display:block}
.ctaf-sub{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:500;color:rgba(255,255,255,.28);margin-bottom:34px;line-height:1.72}
.ctaf-img{max-width:280px;margin:0 auto 28px}
.ctaf-product-img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 28px rgba(212,96,124,.24)) drop-shadow(0 12px 36px rgba(0,0,0,.80));transition:transform .4s;display:block}
.ctaf-img:hover .ctaf-product-img{transform:scale(1.06) translateY(-8px)}
.ctaf-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:18px}
.ctaf-trust span{font-family:'Nunito',sans-serif;font-size:.66rem;font-weight:600;color:rgba(255,255,255,.24);white-space:nowrap}

/* FOOTER */
footer{background:var(--de-xdark);border-top:4px solid var(--de-pk-brt)}
.footer-strip{background:linear-gradient(90deg,#120610 0%,#1e0e18 50%,#120610 100%);border-bottom:1px solid rgba(212,96,124,.14);padding:12px 24px}
.fs-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.fsi-item{display:flex;align-items:center;gap:7px;padding:7px 16px}
.fsii{font-size:.86rem;color:var(--de-pk-brt)}
.fsi-item span:last-child{font-family:'Nunito',sans-serif;font-size:.76rem;font-weight:600;color:rgba(255,255,255,.64)}
.fsi-div{width:1px;height:24px;background:rgba(212,96,124,.16);flex-shrink:0}
.footer-main{padding:44px 40px;border-bottom:1px solid rgba(212,96,124,.08)}
.footer-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:36px;align-items:start}
.footer-logo{text-decoration:none;display:flex;align-items:baseline;gap:2px;margin-bottom:6px}
.fll-derma{font-family:'DM Serif Display',serif;font-size:1.7rem;font-weight:400;color:var(--de-pk-brt);font-style:italic}
.fll-essential{font-family:'Nunito',sans-serif;font-size:1.2rem;font-weight:800;color:var(--de-white)}
.fg-tagline{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--de-pk-brt);margin-bottom:12px}
.fg-desc{font-family:'DM Serif Display',serif;font-size:.78rem;line-height:1.70;color:rgba(255,255,255,.22);margin-bottom:14px;font-style:italic}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px}
.fg-chips span{background:rgba(212,96,124,.14);border:1px solid rgba(248,122,160,.20);color:var(--de-pk-brt);font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:700;padding:3px 10px;border-radius:var(--r-xs)}
.fg-nav h5{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--de-pk-brt);margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid rgba(212,96,124,.12)}
.fg-nav ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.fg-nav ul li a{color:rgba(255,255,255,.26);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:600;transition:color .2s;display:flex;align-items:center;gap:5px}
.fg-nav ul li a::before{content:'\203A';color:var(--de-pk-brt);font-size:.9rem;font-family:'Nunito',sans-serif}
.fg-nav ul li a:hover{color:var(--de-white)}
.fg-cta-wrap{margin-top:18px}
.fg-order-btn{display:inline-block;background:var(--de-pink);color:var(--de-white);font-family:'Nunito',sans-serif;font-weight:800;font-size:.88rem;padding:11px 22px;border-radius:var(--r-xl);text-decoration:none;transition:filter .2s;box-shadow:var(--sh-pink)}
.fg-order-btn:hover{filter:brightness(1.10)}
.fgg-box{background:rgba(212,96,124,.10);border:1px solid rgba(212,96,124,.20);border-radius:var(--r-lg);padding:18px;text-align:center}
.fgg-icon{font-size:2rem;display:block;margin-bottom:8px}
.fgg-box strong{font-family:'Nunito',sans-serif;font-size:1.0rem;font-weight:800;color:var(--de-white);display:block;margin-bottom:6px}
.fgg-box p{font-family:'DM Serif Display',serif;font-size:.78rem;color:rgba(255,255,255,.46);line-height:1.60;font-style:italic}
.footer-legal{max-width:1300px;margin:0 auto;padding:14px 40px 20px;text-align:center}
.footer-legal p{font-family:'DM Serif Display',serif;font-size:.73rem;color:rgba(255,255,255,.18);line-height:1.65;margin-bottom:7px;font-style:italic}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.16);margin-top:8px;padding-top:8px;border-top:1px solid rgba(212,96,124,.08)}
.footer-copy a{color:rgba(255,255,255,.32);text-decoration:none}
.footer-copy a:hover{color:var(--de-pk-brt);text-decoration:underline}

/* FADE-UP */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .60s ease,transform .60s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.hero .fade-up{opacity:1;transform:translateY(0);animation:heroFd .70s ease both}
@keyframes heroFd{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero .hc-eyebrow{animation-delay:.06s}
.hero .hero-h1{animation-delay:.14s}
.hero .hero-sub{animation-delay:.20s}
.hero .hero-badges{animation-delay:.28s}
.hero .hero-product{animation-delay:.36s}
.hero .hero-rating{animation-delay:.44s}
.hero .hero-prices{animation-delay:.52s}
.hero .hero-ctas{animation-delay:.60s}
.hero .hero-fine{animation-delay:.68s}

/* RESPONSIVE */
@media(max-width:1200px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .fg-brand{grid-column:1/-1}
  .fg-guarantee{grid-column:1/-1}
}
@media(max-width:1000px){
  .ip-pair{grid-template-columns:1fr}
  .ip-rev{direction:ltr}
  .bonus-mosaic{grid-template-columns:repeat(2,1fr)}
  .guar-inner{grid-template-columns:1fr;text-align:center}
  .guar-img-lg{max-width:220px}
  .ben-ribbon .br-item{grid-template-columns:70px 1fr;grid-template-rows:auto auto}
  .bri-line{left:34px}
}
@media(max-width:768px){
  .fsi-div{display:none}
  .fsi-item{padding:5px 10px}
  .bonus-mosaic{grid-template-columns:1fr}
  .hero-badges{flex-direction:column;align-items:center}
  .hb-badge{max-width:300px}
}
@media(max-width:640px){
  nav{padding:0 16px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero{padding:44px 16px 60px}
  .hero-h1{font-size:2.2rem}
  .hero-h1 em{font-size:2rem}
  .hero-product-img{max-width:280px}
  .ing-section,.ben-section,.bonus-section,.reviews-section,.guar-section,.howto-section,.faq-section,.price-sec,.cta-final{padding:44px 20px}
  .footer-main,.footer-legal{padding:28px 20px}
  .footer-grid{grid-template-columns:1fr;gap:22px}
  .cta-final-inner h2{font-size:2.2rem}
  .cta-final-inner h2 em{font-size:1.9rem}
  .ing-band,.ben-band,.bonus-band,.rev-band,.howto-band,.faq-band,.price-band{padding:36px 20px 24px}
  .hs-step{grid-template-columns:54px 1fr}
  .hs-num{width:52px;height:52px;font-size:1.4rem}
  .hp-tier{min-width:110px}
}