/* ============================================
   iPersonality Europe – Design System & Styles
   ============================================
   Palette:
     --blue:   #054752
     --gold:   #E9C46A
     --coral:  #EF476F
     --green:  #06D6A0
     --teal:   #118AB2
     --white:  #FFFFFF
     --off-wh: #F8F9FA
     --gray:   #6C757D
     --dark:   #212529
   Typography:
     Headings: Montserrat 600/700/800
     Body:     Lato 300/400/700
   Spacing unit: 8 px
   ============================================ */

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --blue:#054752;
  --blue-light:#0a6b7a;
  --gold:#E9C46A;
  --coral:#EF476F;
  --green:#06D6A0;
  --teal:#118AB2;
  --white:#FFFFFF;
  --off-white:#F8F9FA;
  --gray:#6C757D;
  --gray-light:#E9ECEF;
  --dark:#212529;
  --font-heading:'Montserrat',system-ui,sans-serif;
  --font-body:'Lato',system-ui,sans-serif;
  --radius:8px;
  --radius-lg:16px;
  --shadow:0 4px 24px rgba(5,71,82,.08);
  --shadow-lg:0 12px 48px rgba(5,71,82,.12);
  --transition:0.25s cubic-bezier(.4,0,.2,1);
}

html{scroll-behavior:smooth;font-size:16px}

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

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* Accessibility: focus visible */
:focus-visible{
  outline:3px solid var(--teal);
  outline-offset:2px;
}

/* ---------- Container ---------- */
.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem)}

.section-title{
  text-align:center;
  margin-bottom:8px;
  color:var(--blue);
}
.section-title--light{color:var(--white)}
.section-subtitle{
  text-align:center;
  color:var(--gray);
  font-size:1.1rem;
  margin-bottom:48px;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.95rem;
  padding:12px 28px;
  border-radius:var(--radius);
  border:2px solid transparent;
  cursor:pointer;
  transition:all var(--transition);
  text-align:center;
  white-space:nowrap;
}
.btn--primary{
  background:var(--coral);
  color:var(--white);
  border-color:var(--coral);
}
.btn--primary:hover{
  background:#d93a5c;
  border-color:#d93a5c;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(239,71,111,.35);
}
.btn--outline{
  background:transparent;
  color:var(--blue);
  border-color:var(--blue);
}
.btn--outline:hover{
  background:var(--blue);
  color:var(--white);
}
.btn--ghost{
  background:transparent;
  color:var(--gray);
  border-color:var(--gray-light);
}
.btn--ghost:hover{
  border-color:var(--blue);
  color:var(--blue);
}
.btn--lg{
  padding:16px 40px;
  font-size:1.1rem;
  border-radius:var(--radius-lg);
}
.btn--sm{
  padding:8px 16px;
  font-size:.85rem;
}
.btn--whatsapp{
  background:#25D366;
  color:var(--white);
  border-color:#25D366;
}
.btn--whatsapp:hover{
  background:#1ebe57;
  transform:translateY(-2px);
}

/* ============================================
   1. HEADER
   ============================================ */
.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gray-light);
  transition:all var(--transition);
}
.header--scrolled{
  box-shadow:var(--shadow);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
}
.header__logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-heading);
  font-weight:800;
  font-size:1.3rem;
  color:var(--blue);
}
.header__logo-accent{color:var(--coral)}
.header__logo-icon{flex-shrink:0}

.header__nav{
  display:flex;
  gap:32px;
}
.header__nav-link{
  font-family:var(--font-heading);
  font-weight:500;
  font-size:.9rem;
  color:var(--dark);
  transition:color var(--transition);
  position:relative;
}
.header__nav-link::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:0;
  height:2px;
  background:var(--coral);
  transition:width var(--transition);
}
.header__nav-link:hover{color:var(--coral)}
.header__nav-link:hover::after{width:100%}

.header__actions{
  display:flex;
  align-items:center;
  gap:16px;
}
.header__cta{font-size:.85rem;padding:10px 20px}

/* Language Selector */
.lang-selector{position:relative}
.lang-selector__btn{
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px 12px;
  border:1px solid var(--gray-light);
  border-radius:var(--radius);
  background:transparent;
  cursor:pointer;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.85rem;
  color:var(--dark);
  transition:all var(--transition);
}
.lang-selector__btn:hover{border-color:var(--blue)}
.lang-selector__dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  min-width:120px;
  z-index:10;
}
.lang-selector__dropdown.open{display:block}
.lang-selector__option{
  display:block;
  width:100%;
  padding:10px 16px;
  border:none;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
  font-size:.9rem;
  transition:background var(--transition);
}
.lang-selector__option:hover{background:var(--off-white)}

/* Hamburger */
.header__hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}
.header__hamburger span{
  display:block;
  width:24px;
  height:2px;
  background:var(--dark);
  border-radius:2px;
  transition:all var(--transition);
}
.header__hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.header__hamburger.active span:nth-child(2){opacity:0}
.header__hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ============================================
   2. HERO
   ============================================ */
.hero{
  position:relative;
  background:var(--blue);
  color:var(--white);
  padding:140px 0 100px;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  align-items:center;
}
.hero__bg-shapes{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.hero__shape{
  position:absolute;
  border-radius:50%;
  opacity:.06;
}
.hero__shape--1{
  width:600px;height:600px;
  background:var(--coral);
  top:-200px;right:-200px;
}
.hero__shape--2{
  width:400px;height:400px;
  background:var(--gold);
  bottom:-100px;left:-150px;
}
.hero__shape--3{
  width:250px;height:250px;
  background:var(--green);
  top:40%;left:30%;
}
.hero__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  position:relative;
  z-index:1;
}
.hero__badge{
  display:inline-block;
  font-size:.8rem;
  color:rgba(255,255,255,.6);
  margin-bottom:16px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-family:var(--font-heading);
  font-weight:500;
}
.hero__title{
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:24px;
}
.hero__title-line{display:block}
.hero__title-line--accent{
  color:var(--gold);
}
.hero__subtitle{
  font-size:1.2rem;
  color:rgba(255,255,255,.8);
  margin-bottom:24px;
  max-width:520px;
  line-height:1.6;
}
.hero__vsl{
  margin-bottom:32px;
}
.hero__vsl p{
  font-size:1rem;
  color:rgba(255,255,255,.75);
  margin-bottom:16px;
  line-height:1.7;
}
.hero__cta-group{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.hero__gdpr-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.85rem;
  color:var(--green);
  font-family:var(--font-heading);
  font-weight:600;
}

/* Hero Card (visual) */
.hero__visual{display:flex;justify-content:center;align-items:center}
.hero__card{
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
  padding:40px;
  width:100%;
  max-width:400px;
}
.hero__card-brain{text-align:center;margin-bottom:32px}
.hero__card-bars{display:flex;flex-direction:column;gap:16px}
.hero__bar{
  position:relative;
  background:rgba(255,255,255,.08);
  border-radius:20px;
  height:36px;
  overflow:hidden;
}
.hero__bar::after{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:var(--bar-width);
  background:var(--bar-color);
  border-radius:20px;
  transition:width 1.5s cubic-bezier(.4,0,.2,1);
}
.hero__bar span{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  height:100%;
  padding:0 16px;
  font-size:.85rem;
  font-family:var(--font-heading);
  font-weight:600;
  color:var(--white);
}

/* ============================================
   3. BENEFITS
   ============================================ */
.benefits{
  padding:100px 0;
  background:var(--off-white);
}
.benefits__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.benefit-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px 32px;
  text-align:center;
  box-shadow:var(--shadow);
  transition:transform var(--transition),box-shadow var(--transition);
}
.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}
.benefit-card__icon{
  margin-bottom:20px;
  display:flex;
  justify-content:center;
}
.benefit-card__title{
  color:var(--blue);
  margin-bottom:12px;
  font-size:1.15rem;
}
.benefit-card__text{
  color:var(--gray);
  font-size:.95rem;
  line-height:1.65;
}

/* ============================================
   4. HOW IT WORKS
   ============================================ */
.how-it-works{
  padding:100px 0;
  background:var(--white);
}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  position:relative;
}
/* connector line */
.steps::before{
  content:'';
  position:absolute;
  top:40px;
  left:calc(12.5% + 12px);
  right:calc(12.5% + 12px);
  height:2px;
  background:linear-gradient(90deg,var(--coral),var(--gold),var(--green),var(--teal));
  z-index:0;
}
.step{
  position:relative;
  z-index:1;
  text-align:center;
  padding:0 8px;
}
.step__number{
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--blue);
  color:var(--white);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:1.2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
}
.step__icon{
  color:var(--blue);
  margin-bottom:12px;
  display:flex;
  justify-content:center;
}
.step__title{
  color:var(--blue);
  margin-bottom:8px;
  font-size:1rem;
}
.step__text{
  color:var(--gray);
  font-size:.9rem;
  line-height:1.6;
}

/* ============================================
   5. PRICING
   ============================================ */
.pricing{
  padding:100px 0;
  background:var(--blue);
  color:var(--white);
}
.pricing__card{
  max-width:560px;
  margin:0 auto;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  padding:48px 40px;
  text-align:center;
}
.pricing__name{
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:8px;
}
.pricing__price{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  margin-bottom:8px;
}
.pricing__currency{
  font-size:1.5rem;
  font-weight:700;
  margin-top:8px;
}
.pricing__amount{
  font-size:4rem;
  font-family:var(--font-heading);
  font-weight:800;
  line-height:1;
}
.pricing__period{
  color:rgba(255,255,255,.6);
  font-size:.9rem;
  margin-bottom:32px;
}
.pricing__features{
  text-align:left;
  margin-bottom:32px;
}
.pricing__features li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px 0;
  font-size:.95rem;
  color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pricing__features li svg{flex-shrink:0;margin-top:2px}
.pricing__cta{
  width:100%;
  margin-bottom:24px;
}
.pricing__trust{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pricing__trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:.8rem;
  color:rgba(255,255,255,.5);
}
.pricing__affiliate-notice{
  text-align:center;
  font-size:.8rem;
  color:rgba(255,255,255,.4);
  margin-top:32px;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
  font-style:italic;
}

/* ============================================
   6. TESTIMONIALS
   ============================================ */
.testimonials{
  padding:100px 0;
  background:var(--off-white);
}
.testimonials__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.testimonial-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow);
  transition:transform var(--transition);
}
.testimonial-card:hover{transform:translateY(-4px)}
.testimonial-card__stars{
  color:var(--gold);
  font-size:1.1rem;
  margin-bottom:16px;
  letter-spacing:2px;
}
.testimonial-card__text{
  font-size:.95rem;
  color:var(--dark);
  line-height:1.7;
  margin-bottom:20px;
  font-style:italic;
}
.testimonial-card__author{
  display:flex;
  align-items:center;
  gap:12px;
}
.testimonial-card__avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.85rem;
  flex-shrink:0;
}
.testimonial-card__name{
  font-family:var(--font-heading);
  font-weight:600;
  font-size:.9rem;
  color:var(--dark);
}
.testimonial-card__meta{
  font-size:.8rem;
  color:var(--gray);
}

/* ============================================
   7. ABOUT
   ============================================ */
.about{
  padding:100px 0;
  background:var(--white);
}
.about__inner{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:64px;
  align-items:center;
}
.about .section-title{text-align:left}
.about__text p{
  color:var(--gray);
  margin-bottom:16px;
  line-height:1.75;
}
.about__stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.about__stat{
  text-align:center;
  background:var(--off-white);
  border-radius:var(--radius-lg);
  padding:32px 16px;
}
.about__stat-number{
  display:block;
  font-family:var(--font-heading);
  font-weight:800;
  font-size:2.5rem;
  color:var(--blue);
  line-height:1;
  margin-bottom:4px;
}
.about__stat-label{
  font-size:.85rem;
  color:var(--gray);
  font-weight:500;
}

/* ============================================
   FAQ
   ============================================ */
.faq{
  padding:100px 0;
  background:var(--off-white);
}
.faq__list{
  max-width:720px;
  margin:0 auto;
}
.faq__item{
  background:var(--white);
  border-radius:var(--radius);
  margin-bottom:12px;
  box-shadow:0 2px 8px rgba(5,71,82,.04);
  overflow:hidden;
}
.faq__question{
  padding:20px 24px;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:1rem;
  cursor:pointer;
  color:var(--blue);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.faq__question::-webkit-details-marker{display:none}
.faq__question::after{
  content:'+';
  font-size:1.4rem;
  font-weight:300;
  color:var(--coral);
  transition:transform var(--transition);
}
.faq__item[open] .faq__question::after{
  content:'\2212';
}
.faq__answer{
  padding:0 24px 20px;
  font-size:.95rem;
  color:var(--gray);
  line-height:1.7;
}

/* ============================================
   CONTACT
   ============================================ */
.contact{
  padding:100px 0;
  background:var(--blue);
  color:var(--white);
}
.contact__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
.contact__info .section-title{text-align:left}
.contact__info p{
  color:rgba(255,255,255,.7);
  margin-bottom:24px;
  line-height:1.7;
}
.contact__form-wrapper{
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  padding:32px;
}
.contact__form-wrapper h3{
  margin-bottom:24px;
  font-size:1.2rem;
}
.form-group{margin-bottom:16px}
.form-group label{
  display:block;
  font-size:.85rem;
  margin-bottom:6px;
  color:rgba(255,255,255,.7);
  font-family:var(--font-heading);
  font-weight:500;
}
.form-group input[type="text"],
.form-group input[type="email"],
.form-group textarea{
  width:100%;
  padding:12px 16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--radius);
  color:var(--white);
  font-family:var(--font-body);
  font-size:.95rem;
  transition:border-color var(--transition);
}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--gold);
}
.form-group textarea{resize:vertical}
.form-group--checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.form-group--checkbox label{
  font-size:.8rem;
  color:rgba(255,255,255,.6);
  line-height:1.5;
}
.form-group--checkbox label a{
  color:var(--gold);
  text-decoration:underline;
}
.form-group--checkbox input[type="checkbox"]{
  margin-top:3px;
  flex-shrink:0;
  accent-color:var(--coral);
}

/* ============================================
   FINAL CTA
   ============================================ */
.final-cta{
  padding:80px 0;
  background:linear-gradient(135deg,var(--gold) 0%,var(--coral) 100%);
  text-align:center;
}
.final-cta h2{
  color:var(--white);
  margin-bottom:24px;
  font-size:clamp(1.5rem,4vw,2.5rem);
}
.final-cta .btn--primary{
  background:var(--blue);
  border-color:var(--blue);
}
.final-cta .btn--primary:hover{
  background:var(--blue-light);
  border-color:var(--blue-light);
}

/* ============================================
   FOOTER
   ============================================ */
.footer{
  padding:60px 0 32px;
  background:var(--dark);
  color:rgba(255,255,255,.6);
}
.footer__inner{
  display:grid;
  grid-template-columns:1.2fr repeat(3,.8fr);
  gap:40px;
}
.footer__logo{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:1.3rem;
  color:var(--white);
  display:block;
  margin-bottom:8px;
}
.footer__logo-accent{color:var(--coral)}
.footer__tagline{font-size:.85rem;margin-bottom:16px}
.footer__col h4{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:rgba(255,255,255,.4);
  margin-bottom:16px;
}
.footer__col a,.footer__col p{
  display:block;
  font-size:.9rem;
  margin-bottom:8px;
  transition:color var(--transition);
  line-height:1.5;
}
.footer__col a:hover{color:var(--white)}
.footer__bottom{
  grid-column:1/-1;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:24px;
  margin-top:16px;
  text-align:center;
  font-size:.8rem;
}
.footer__affiliate-note{
  margin-top:8px;
  font-style:italic;
  color:rgba(255,255,255,.35);
}

/* ============================================
   WHATSAPP FLOAT
   ============================================ */
.whatsapp-float{
  position:fixed;
  bottom:24px;
  right:24px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(37,211,102,.4);
  z-index:999;
  transition:transform var(--transition);
}
.whatsapp-float:hover{transform:scale(1.1)}

/* ============================================
   COOKIE BANNER
   ============================================ */
.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  background:var(--dark);
  color:rgba(255,255,255,.85);
  z-index:2000;
  padding:20px 0;
  box-shadow:0 -4px 24px rgba(0,0,0,.2);
}
.cookie-banner__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.cookie-banner__text{
  flex:1;
  min-width:280px;
}
.cookie-banner__text p{
  font-size:.85rem;
  line-height:1.6;
  margin-bottom:4px;
}
.cookie-banner__link{
  font-size:.8rem;
  color:var(--gold);
  text-decoration:underline;
}
.cookie-banner__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr;text-align:center}
  .hero__subtitle{margin-left:auto;margin-right:auto}
  .hero__cta-group{justify-content:center}
  .hero__visual{margin-top:48px}
  .benefits__grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:32px}
  .steps::before{display:none}
  .testimonials__grid{grid-template-columns:1fr 1fr}
  .about__inner{grid-template-columns:1fr}
  .contact__inner{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .header__nav{
    display:none;
    position:fixed;
    top:72px;
    left:0;
    width:100%;
    background:var(--white);
    flex-direction:column;
    padding:24px;
    gap:16px;
    box-shadow:var(--shadow-lg);
    border-top:1px solid var(--gray-light);
  }
  .header__nav.open{display:flex}
  .header__hamburger{display:flex}
  .header__cta{
    display:none;
  }

  .hero{padding:120px 0 80px;min-height:auto}
  .hero__title{font-size:2rem}
  .hero__card{max-width:300px;padding:24px}
  .hero__vsl{font-size:.9rem}

  .benefits__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .testimonials__grid{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr;gap:24px}
}

@media(max-width:480px){
  .container{padding:0 16px}
  .hero__title{font-size:1.7rem}
  .pricing__amount{font-size:3rem}
  .btn--lg{padding:14px 28px;font-size:1rem}
  .cookie-banner__inner{flex-direction:column;gap:16px}
  .cookie-banner__actions{width:100%;justify-content:stretch}
  .cookie-banner__actions .btn{flex:1}
}

/* ---------- Accessibility: reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    transition-duration:0.01ms !important;
  }
  html{scroll-behavior:auto}
}

/* ---------- Print ---------- */
@media print{
  .header,.cookie-banner,.whatsapp-float,.final-cta{display:none}
  .hero{background:var(--white);color:var(--dark);min-height:auto;padding:40px 0}
  .hero__title-line--accent{color:var(--coral)}
  body{font-size:12pt}
}
