:root{
  --bg:#FAF6F1;
  --bg-alt:#F1E7DB;
  --surface:#FFFFFF;
  --primary:#6B5D52;
  --primary-dark:#2E2823;
  --accent:#C27A30;
  --accent-dark:#9F5F1F;
  --text-primary:#2A2521;
  --text-secondary:#675E55;
  --border:#E7DDD1;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-sm:0 2px 10px rgba(46,40,35,0.06);
  --shadow-md:0 12px 34px rgba(46,40,35,0.10);
  --font-heading:'Fraunces',Georgia,serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--text-primary);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
[hidden]{display:none !important}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent-dark);text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.18;font-weight:600;color:var(--text-primary)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
.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}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}

/* SECTIONS + ZEBRA */
.section{padding:60px 0}
@media(min-width:768px){.section{padding:84px 0}}
main>section:nth-of-type(odd){background:var(--bg)}
main>section:nth-of-type(even){background:var(--bg-alt)}
.section-alt{background:var(--bg-alt)}
.section-title{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:700;text-align:center;letter-spacing:-0.01em}
.section-subtitle{max-width:680px;margin:14px auto 40px;text-align:center;color:var(--text-secondary);font-size:1.04rem}

/* BUTTONS */
.btn-primary,.btn-secondary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:0.98rem;cursor:pointer;
  border-radius:var(--radius-sm);padding:13px 24px;border:2px solid transparent;
  transition:transform .18s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
  text-align:center;line-height:1.1;
}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-secondary{background:transparent;color:var(--accent-dark);border-color:var(--accent)}
.btn-secondary:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-dark)}
.btn-sm{padding:9px 16px;font-size:0.88rem}
.btn-lg{padding:16px 30px;font-size:1.05rem}

/* HEADER */
.header{position:sticky;top:0;z-index:100;background:rgba(250,246,241,0.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header--scrolled{box-shadow:var(--shadow-sm)}
.header__inner{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px}
.header__logo{font-family:var(--font-heading);font-weight:700;font-size:1.4rem;letter-spacing:0.04em;color:var(--text-primary)}
.header__nav{margin-left:auto}
.header__nav ul{display:flex;gap:26px;list-style:none}
.header__nav a{color:var(--text-primary);font-weight:500;font-size:0.95rem}
.header__nav a:hover{color:var(--accent-dark)}
.header__cta{margin-left:8px}
.header__hamburger{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-primary)}
@media(max-width:880px){
  .header__nav{position:fixed;inset:62px 0 auto 0;background:var(--surface);margin:0;border-bottom:1px solid var(--border);transform:translateY(-130%);transition:transform .28s ease;box-shadow:var(--shadow-md)}
  .header__nav.is-open{transform:translateY(0)}
  .header__nav ul{flex-direction:column;gap:0;padding:8px 22px}
  .header__nav li{padding:12px 0;border-bottom:1px solid var(--border)}
  .header__cta{margin-left:auto}
  .header__hamburger{display:block;order:3}
}

/* HERO */
.hero{position:relative;color:#fff;overflow:hidden;min-height:50vh;display:flex;align-items:center;
  background-color:#2E2823;background-image:linear-gradient(135deg,rgba(46,40,35,0.92),rgba(194,122,48,0.55)),url('imgs/hero-aprilsoul.jpg');background-size:cover;background-position:center}
main>section.hero{background:linear-gradient(135deg,rgba(46,40,35,0.92),rgba(194,122,48,0.55)),url('imgs/hero-aprilsoul.jpg') center/cover no-repeat}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(46,40,35,0.35))}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center;padding:54px 22px}
.hero__eyebrow{text-transform:uppercase;letter-spacing:0.16em;font-size:0.78rem;font-weight:600;color:#F4D9B8;margin-bottom:12px}
.hero__title{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:700;color:#fff;letter-spacing:-0.015em}
.hero__subtitle{margin:18px 0;font-size:1.05rem;color:rgba(255,255,255,0.92);max-width:60ch}
.hero__bullets{list-style:none;display:grid;gap:9px;margin:18px 0 26px}
.hero__bullets li{position:relative;padding-left:28px;color:rgba(255,255,255,0.94);font-size:0.96rem}
.hero__bullets li::before{content:"✓";position:absolute;left:0;top:0;color:#F4D9B8;font-weight:700}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.hero__actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.6)}
.hero__actions .btn-ghost:hover{background:rgba(255,255,255,0.14);border-color:#fff;color:#fff}
.hero__media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;object-fit:cover;aspect-ratio:16/11}
@media(max-width:880px){.hero__inner{grid-template-columns:1fr;gap:26px}.hero__media{order:-1}.hero__media img{aspect-ratio:16/10}}

/* WAVE divider after hero */
.trust{position:relative}
.trust::before{content:"";position:absolute;top:-1px;left:0;right:0;height:34px;transform:translateY(-100%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C300 0 900 0 1200 40 Z' fill='%23F1E7DB'/%3E%3C/svg%3E") center/cover no-repeat;pointer-events:none}

/* TRUST */
.trust{padding:26px 0}
.trust__row{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 34px}
.trust__item{display:flex;align-items:center;gap:10px;font-weight:600;font-size:0.92rem;color:var(--text-primary)}
.trust__icon{font-size:1.25rem}

/* STATS */
.stats{padding:46px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--radius-md)}
.stat__num{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--accent-dark)}
.stat__label{font-size:0.86rem;color:var(--text-secondary)}
@media(max-width:680px){.stats__grid{grid-template-columns:repeat(2,1fr)}}

/* PRODUCTS */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:980px){.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.products-grid{grid-template-columns:1fr}}
.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.product-card__media{display:block;background:#fff}
.product-card__media img{width:100%;aspect-ratio:1/1;object-fit:cover}
.product-card__body{padding:18px 18px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.product-card__title{font-size:1.06rem;font-weight:600;line-height:1.3}
.product-card__rating{font-size:0.9rem;color:var(--text-secondary);font-weight:500}
.product-card__stars{color:var(--accent)}
.product-card__reviews{color:var(--text-secondary)}
.product-card__description{font-size:0.9rem;color:var(--text-secondary);line-height:1.6}
.product-card__highlights{list-style:none;display:grid;gap:7px;margin:2px 0 6px}
.product-card__highlights li{position:relative;padding-left:22px;font-size:0.86rem;color:var(--text-primary)}
.product-card__highlights li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.product-card__cta{margin-top:auto;width:100%}

/* BENEFITS (dot grid pattern) */
.benefits{position:relative}
.benefits::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(107,93,82,0.10) 1px,transparent 1px);background-size:24px 24px;opacity:0.5;pointer-events:none}
.benefits .container{position:relative;z-index:1}
.benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.benefits__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.benefits__grid{grid-template-columns:1fr}}
.benefit-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-sm);transition:transform .2s ease}
.benefit-card:hover{transform:translateY(-4px)}
.benefit-card__icon{font-size:2rem;display:inline-block;margin-bottom:12px}
.benefit-card__title{font-size:1.12rem;font-weight:600;margin-bottom:8px;line-height:1.3}
.benefit-card__desc{font-size:0.94rem;color:var(--text-secondary)}

/* HOW IT WORKS (diagonal lines) */
.howitworks{position:relative}
.howitworks::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(107,93,82,0.05) 0 1px,transparent 1px 17px);pointer-events:none}
.howitworks .container{position:relative;z-index:1}
.howitworks__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
@media(max-width:860px){.howitworks__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.howitworks__grid{grid-template-columns:1fr}}
.step{text-align:center;padding:22px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}
.step__num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.25rem;margin-bottom:14px}
.step__title{font-size:1.05rem;font-weight:600;margin-bottom:8px}
.step__desc{font-size:0.9rem;color:var(--text-secondary)}

/* FEATURES (zigzag) */
.features__list{display:flex;flex-direction:column;gap:54px;margin-top:14px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.feature--right .feature__media{order:2}
.feature__media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;aspect-ratio:4/3;object-fit:cover}
.feature__title{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:700;margin-bottom:14px}
.feature__text{color:var(--text-secondary);margin-bottom:16px}
.feature__bullets{list-style:none;display:grid;gap:10px;margin-bottom:20px}
.feature__bullets li{position:relative;padding-left:26px;font-size:0.94rem}
.feature__bullets li::before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:700}
@media(max-width:820px){.feature{grid-template-columns:1fr;gap:22px}.feature--right .feature__media{order:-1}.feature__media{order:-1}}

/* ABOUT */
.about__inner{display:grid;grid-template-columns:0.85fr 1.15fr;gap:46px;align-items:center}
.about__media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);aspect-ratio:1/1;object-fit:cover;width:100%}
.about__title{text-align:left}
.about__copy p{color:var(--text-secondary);margin-bottom:14px}
.about__more{display:inline-block;margin-top:6px;font-weight:600;color:var(--accent-dark)}
.about__more:hover{text-decoration:underline}
@media(max-width:820px){.about__inner{grid-template-columns:1fr;gap:26px}.about__media{order:-1}}

/* REVIEWS */
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.reviews__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.reviews__grid{grid-template-columns:1fr}}
.review{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}
.review__stars{color:var(--accent);font-size:1.05rem;letter-spacing:2px}
.review__text{font-size:0.94rem;color:var(--text-primary);line-height:1.6}
.review__meta{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.review__name{font-weight:600;font-size:0.92rem}
.review__badge{font-size:0.78rem;color:var(--accent-dark);font-weight:600}

/* COMPARISON (subtle waves) */
.comparison{position:relative}
.comparison::before{content:"";position:absolute;inset:0;opacity:0.04;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='40'%3E%3Cpath d='M0 20 Q30 0 60 20 T120 20' fill='none' stroke='%232E2823' stroke-width='2'/%3E%3C/svg%3E") repeat}
.comparison .container{position:relative;z-index:1}
.comparison__scroll{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.comparison__table{width:100%;border-collapse:collapse;background:var(--surface);min-width:680px}
.comparison__table th,.comparison__table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:0.92rem}
.comparison__table thead th{background:var(--primary-dark);color:#fff;font-family:var(--font-body);font-weight:600}
.comparison__table tbody th{font-weight:600;color:var(--text-primary)}
.comparison__table .is-brand{background:rgba(194,122,48,0.12);font-weight:600;color:var(--text-primary)}
.comparison__table thead .is-brand{background:var(--accent);color:#fff}
.comparison__note{text-align:center;margin-top:18px;color:var(--text-secondary);font-size:0.92rem}

/* WHAT YOU GET timeline */
.timeline{list-style:none;display:grid;gap:18px;max-width:780px;margin:0 auto}
.timeline__item{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-md);padding:20px 22px;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}
.timeline__when{font-family:var(--font-heading);font-weight:700;color:var(--accent-dark);font-size:1.05rem}
.timeline__what{color:var(--text-secondary);font-size:0.94rem}
@media(max-width:600px){.timeline__item{grid-template-columns:1fr;gap:6px}}

/* FEARS */
.fears__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:760px){.fears__grid{grid-template-columns:1fr}}
.fear{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm)}
.fear__title{font-size:1.06rem;font-weight:600;margin-bottom:10px;color:var(--text-primary)}
.fear__desc{font-size:0.92rem;color:var(--text-secondary)}

/* WHO FOR */
.whofor__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:760px){.whofor__grid{grid-template-columns:1fr}}
.persona{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;gap:8px}
.persona__icon{font-size:1.8rem}
.persona__title{font-size:1.06rem;font-weight:600;line-height:1.3}
.persona__desc{font-size:0.92rem;color:var(--text-secondary)}
.whofor__not{margin-top:30px;background:var(--primary-dark);color:#fff;border-radius:var(--radius-md);padding:26px 28px;max-width:820px;margin-left:auto;margin-right:auto}
.whofor__not-title{color:#F4D9B8;font-size:1.1rem;margin-bottom:12px}
.whofor__not-list{list-style:none;display:grid;gap:10px}
.whofor__not-list li{position:relative;padding-left:26px;color:rgba(255,255,255,0.9);font-size:0.92rem}
.whofor__not-list li::before{content:"✕";position:absolute;left:0;color:#E8A66A;font-weight:700}

/* FAQ (grain pattern) */
.faq__inner{max-width:840px;margin:0 auto}
.faq-list,.faq-more{display:grid;gap:12px}
.faq-more{margin-top:12px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.faq-item>summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;font-size:1rem;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text-primary)}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"+";font-size:1.4rem;color:var(--accent);font-weight:400;flex-shrink:0}
.faq-item[open]>summary::after{content:"−"}
.faq-question{font-family:var(--font-body)}
.faq-answer{padding:0 22px 20px}
.faq-answer p{color:var(--text-secondary);font-size:0.94rem}
.faq-toggle{display:block;margin:22px auto 0;background:transparent;border:2px solid var(--accent);color:var(--accent-dark);font-weight:600;padding:12px 26px;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,color .2s}
.faq-toggle:hover{background:var(--accent);color:#fff}

/* GALLERY */
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.gallery__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery__grid{grid-template-columns:1fr}}
.gallery__item{margin:0;border-radius:var(--radius-md);overflow:hidden;position:relative;cursor:pointer;background:var(--surface);border:1px solid var(--border)}
.gallery__item img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .3s ease}
.gallery__item:hover img{transform:scale(1.05)}
.gallery__item figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(46,40,35,0.82));color:#fff;font-size:0.82rem;padding:18px 12px 10px;opacity:0;transition:opacity .25s ease}
.gallery__item:hover figcaption{opacity:1}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(20,17,14,0.9);display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox__close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}
.lightbox__figure{max-width:900px;text-align:center;margin:0}
.lightbox__figure img{max-height:80vh;width:auto;border-radius:var(--radius-md);margin:0 auto}
.lightbox__figure figcaption{color:#fff;margin-top:14px;font-size:0.95rem}

/* NEWSLETTER (linen pattern) */
.newsletter{position:relative;color:#fff;overflow:hidden}
main>section.newsletter{background-color:var(--accent);background-image:linear-gradient(135deg,var(--accent),var(--accent-dark))}
.newsletter::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0.12;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,0.6) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(255,255,255,0.6) 0 1px,transparent 1px 5px)}
.newsletter__inner{position:relative;z-index:1;max-width:640px;margin:0 auto;text-align:center}
.newsletter__title{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:700;color:#fff}
.newsletter__subtitle{margin:14px 0 24px;color:rgba(255,255,255,0.94)}
.newsletter__form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.newsletter__form input{flex:1;min-width:230px;padding:14px 16px;border-radius:var(--radius-sm);border:none;font-family:var(--font-body);font-size:0.96rem}
.newsletter__form .btn-primary{background:var(--primary-dark);border-color:var(--primary-dark)}
.newsletter__form .btn-primary:hover{background:#000;border-color:#000}
.newsletter__fine{margin-top:14px;font-size:0.82rem;color:rgba(255,255,255,0.85)}
.newsletter-message{margin:16px auto 0;max-width:480px}
.newsletter-message--error{color:#C0392B;background:#FDEDEC;border:1px solid #C0392B;padding:10px 14px;border-radius:6px;font-size:0.875rem}

/* FOOTER */
.footer{background:var(--primary-dark);color:rgba(255,255,255,0.82);padding:54px 0 26px;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:34px;transform:translateY(-100%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0 C300 40 900 40 1200 0 Z' fill='%232E2823'/%3E%3C/svg%3E") center/cover no-repeat;pointer-events:none}
.footer__content{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
@media(max-width:880px){.footer__content{grid-template-columns:repeat(2,1fr);gap:28px}}
@media(max-width:520px){.footer__content{grid-template-columns:1fr}}
.footer__logo{font-family:var(--font-heading);font-weight:700;font-size:1.3rem;color:#fff;letter-spacing:0.04em}
.footer__tagline{margin:12px 0;font-size:0.9rem;max-width:34ch}
.footer__address{font-style:normal;font-size:0.88rem;line-height:1.7;color:rgba(255,255,255,0.78)}
.footer__address a{color:#E8C9A4}
.footer__heading{color:#fff;font-size:1rem;margin-bottom:14px;font-family:var(--font-body);font-weight:600}
.footer__links{list-style:none;display:grid;gap:9px}
.footer__links a{color:rgba(255,255,255,0.78);font-size:0.9rem}
.footer__links a:hover{color:#E8C9A4}
.footer__social{display:flex;flex-direction:column;gap:9px}
.footer__social a{color:rgba(255,255,255,0.78);font-size:0.9rem}
.footer__social a:hover{color:#E8C9A4}
.footer__languages{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:18px 22px 0}
.footer__languages:empty{display:none}
.footer__bottom{border-top:1px solid rgba(255,255,255,0.14);margin-top:30px;padding-top:20px;text-align:center;font-size:0.82rem;color:rgba(255,255,255,0.66)}
.footer__copyright{margin-bottom:8px}

/* COOKIE BANNER */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--primary-dark);color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:14px 22px;box-shadow:0 -4px 20px rgba(0,0,0,0.2)}
.cookie-banner__text{font-size:0.88rem;color:rgba(255,255,255,0.9);max-width:680px}
.cookie-banner__text a{color:#E8C9A4}
.cookie-banner__actions{display:flex;gap:10px}
.cookie-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.5)}
.cookie-banner .btn-ghost:hover{border-color:#fff}

/* STICKY CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:850;background:rgba(46,40,35,0.94);backdrop-filter:blur(8px);color:#fff;border-top:2px solid var(--accent)}
.sticky-cta__inner{display:flex;align-items:center;gap:16px;padding:12px 22px}
.sticky-cta__text{flex:1;font-size:0.9rem;color:rgba(255,255,255,0.92)}
.sticky-cta__btn{flex-shrink:0}
.sticky-cta__close{background:none;border:none;color:rgba(255,255,255,0.7);font-size:1.1rem;cursor:pointer;padding:6px}
.sticky-cta__close:hover{color:#fff}
@media(max-width:600px){.sticky-cta__inner{flex-wrap:wrap;gap:10px}.sticky-cta__text{flex-basis:100%;font-size:0.82rem}.sticky-cta__btn{flex:1}}

/* INTERNAL PAGES */
.page{padding-top:40px;padding-bottom:60px;min-height:60vh}
.page .container,.legal{max-width:980px}
.back-link{display:inline-block;margin-bottom:18px;font-weight:600;color:var(--accent-dark)}
.back-link:hover{text-decoration:underline}
.page__title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;margin-bottom:14px}
.page__lead{color:var(--text-secondary);max-width:680px;margin-bottom:30px;font-size:1.04rem}
.about-page .about-story{display:grid;grid-template-columns:0.8fr 1.2fr;gap:40px;align-items:start;margin-bottom:50px}
.about-story__media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);aspect-ratio:1/1;object-fit:cover;width:100%}
.about-story__copy h2{font-size:1.6rem;margin-bottom:14px}
.about-story__copy p{color:var(--text-secondary);margin-bottom:14px}
@media(max-width:780px){.about-page .about-story{grid-template-columns:1fr;gap:22px}.about-story__media{order:-1}}
.about-values{margin-bottom:50px}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:680px){.values-grid{grid-template-columns:1fr}}
.value-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm)}
.value-card__icon{font-size:1.8rem;display:inline-block;margin-bottom:10px}
.value-card__title{font-size:1.08rem;font-weight:600;margin-bottom:8px}
.value-card__desc{font-size:0.92rem;color:var(--text-secondary)}
.about-stats{background:var(--bg-alt);border-radius:var(--radius-lg);padding:36px 24px}
.contact-page .contact-grid{display:grid;grid-template-columns:1.3fr 0.7fr;gap:40px;align-items:start}
@media(max-width:780px){.contact-page .contact-grid{grid-template-columns:1fr;gap:28px}}
.contact-form{display:grid;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}
.form-group{display:grid;gap:6px}
.form-group label{font-weight:600;font-size:0.9rem}
.form-group .req{color:#C0392B}
.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.95rem;background:var(--bg)}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}
.form-message{margin-top:4px}
.form-message--error{color:#C0392B;background:#FDEDEC;border:1px solid #C0392B;padding:10px 14px;border-radius:6px;font-size:0.875rem}
.contact-info{background:var(--bg-alt);border-radius:var(--radius-lg);padding:28px}
.contact-info h2{font-size:1.3rem;margin-bottom:16px}
.contact-info__block{margin-bottom:16px;font-size:0.92rem;color:var(--text-secondary)}
.contact-info__block strong{color:var(--text-primary)}
.contact-info__block a{color:var(--accent-dark)}
.legal__updated{color:var(--text-secondary);font-size:0.9rem;margin-bottom:24px}
.legal-section{margin-bottom:24px}
.legal-section h2{font-size:1.25rem;margin-bottom:8px}
.legal-section p{color:var(--text-secondary);font-size:0.95rem}
.legal-section a{color:var(--accent-dark)}

/* ANIMATION */
@media(prefers-reduced-motion:no-preference){
  .benefit-card,.review,.fear,.persona,.step,.feature,.value-card{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
  .benefit-card.visible,.review.visible,.fear.visible,.persona.visible,.step.visible,.feature.visible,.value-card.visible{opacity:1;transform:none}
}

/* Section + wrapper coverage */
.products,.reviews,.fears,.whatyouget,.whofor,.features,.gallery,.about,.faq{position:relative}
.hero__copy{display:flex;flex-direction:column;justify-content:center}
.feature__copy{display:flex;flex-direction:column}
.feature--left .feature__media{order:0}
.footer__col{min-width:0}
.footer__brand{max-width:320px}
.terms-page .page,.privacy-page .page{max-width:980px}
.terms-page .legal-section h2,.privacy-page .legal-section h2{color:var(--text-primary)}
