/* ============================================================
   COPA DO MUNDO KIDS 2026 — style.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap');

/* ── VARIÁVEIS ── */
:root {
  --primary:        hsl(24,100%,50%);
  --primary-dark:   hsl(24,100%,38%);
  --secondary:      hsl(142,60%,45%);
  --secondary-dark: hsl(142,60%,33%);
  --bg:             hsl(210,45%,93%);
  --navy:           hsl(220,50%,18%);
  --font-d: 'Baloo 2', cursive;
  --font-s: 'Nunito', sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
body{font-family:var(--font-s);background:var(--bg);color:var(--navy);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── ANIMAÇÕES ── */
@keyframes float-img   {0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
@keyframes float-cloud {0%,100%{transform:translateY(-8px);opacity:.2}50%{transform:translateY(8px);opacity:.35}}
@keyframes float-star  {0%,100%{transform:translateY(-6px) rotate(-5deg)}50%{transform:translateY(6px) rotate(5deg)}}
@keyframes float-ball  {0%,100%{transform:translateY(-10px) rotate(0deg)}50%{transform:translateY(10px) rotate(12deg)}}
@keyframes float-star2 {0%,100%{transform:translateY(-7px);opacity:.2}50%{transform:translateY(7px);opacity:.35}}
@keyframes btn-float   {0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes btn-pulse   {0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes price-bounce{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.06) translateY(-4px)}}
@keyframes shimmer     {0%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
@keyframes carousel-go {from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SCROLL FADE-IN ── */
.fu{opacity:0;transform:translateY(24px);transition:opacity 1.3s ease,transform 1.3s ease}
.fu.vis{opacity:1;transform:translateY(0)}
.fl{opacity:0;transform:translateX(-30px);transition:opacity 1.5s ease,transform 1.5s ease}
.fl.vis{opacity:1;transform:translateX(0)}
.d1{transition-delay:.15s}.d2{transition-delay:.30s}.d3{transition-delay:.45s}
.d4{transition-delay:.38s}.d5{transition-delay:.56s}.d6{transition-delay:.74s}

/* ── CONTAINERS ── */
.wrap   {max-width:72rem;margin:0 auto;padding:0 1rem}
.wrap-m {max-width:64rem;margin:0 auto;padding:0 1rem}
.wrap-s {max-width:48rem;margin:0 auto;padding:0 1rem}

/* ── FIXED TOP VIGNETTE ── */
.vignette{
  position:fixed;top:0;left:0;right:0;height:8rem;
  pointer-events:none;z-index:50;
  background:radial-gradient(ellipse at top left,rgba(0,0,0,.22) 0%,transparent 55%),
             radial-gradient(ellipse at top right,rgba(0,0,0,.22) 0%,transparent 55%);
}

/* ── DECORATIVOS FLUTUANTES ── */
.decos{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;transform:translateZ(0)}
.deco{position:absolute;font-size:1.875rem;display:none}
@media(min-width:640px){.deco{display:block}}

/* ════════════════════════════════════════
   1. HERO
════════════════════════════════════════ */
.hero{
  position:relative;z-index:10;padding:2.5rem 1rem;overflow:hidden;
  background:linear-gradient(to bottom,hsl(210,60%,82%),hsl(140,50%,85%) 60%,hsl(140,40%,88%));
}
@media(min-width:768px){.hero{padding:7rem 1rem 5rem}}

.hero-grid{display:flex;flex-direction:column}
@media(min-width:768px){
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
}

.hero-img-col{position:relative;margin-bottom:1.5rem;order:-1}
@media(min-width:768px){.hero-img-col{margin-bottom:0;order:1}}

.hero-float{position:relative;z-index:10;animation:float-img 6s ease-in-out infinite;will-change:transform}
.hero-float img{
  width:100%;max-width:20rem;margin:0 auto;border-radius:1rem;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.25));
}
@media(min-width:768px){.hero-float img{max-width:32rem}}

.hero-glow{
  position:absolute;inset:0;background:rgba(253,224,71,.25);
  filter:blur(3rem);border-radius:50%;transform:scale(1.1);z-index:0;
}

.hero-text{text-align:center;order:1}
@media(min-width:768px){.hero-text{text-align:left;order:0}}

.badge-best{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1rem;border-radius:9999px;background:white;
  font-size:.875rem;font-weight:900;color:var(--primary);
  margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1);
  border:2px solid rgba(255,120,0,.2);
}

.hero-h1{
  font-family:var(--font-d);font-weight:800;line-height:1.1;
  font-size:1.875rem;margin-bottom:1rem;color:var(--navy);
}
@media(min-width:640px){.hero-h1{font-size:2.25rem}}
@media(min-width:768px){.hero-h1{font-size:3rem}}
@media(min-width:1024px){.hero-h1{font-size:3.75rem}}

.hero-h1 .hi{color:var(--primary);position:relative;display:inline-block}
.uline-svg{
  position:absolute;bottom:-.25rem;left:0;
  width:100%;height:.625rem;color:hsl(48,100%,50%);
}

.hero-p{
  font-size:1rem;font-weight:600;color:hsl(0,0%,43%);
  margin-bottom:1.5rem;max-width:32rem;margin-left:auto;margin-right:auto;line-height:1.625;
}
@media(min-width:768px){.hero-p{font-size:1.25rem;margin-left:0;margin-right:0}}

.hero-cta{display:flex;flex-direction:column;gap:.75rem;align-items:center}
@media(min-width:768px){.hero-cta{align-items:flex-start}}

/* ── BOTÕES ── */
.btn-primary{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  height:3.5rem;padding:0 2rem;border-radius:9999px;
  color:white;font-family:var(--font-s);font-size:1.125rem;font-weight:900;
  overflow:hidden;background:var(--primary);box-shadow:0 6px 0 0 var(--primary-dark);
  animation:btn-float 6s ease-in-out infinite;will-change:transform;width:100%;
}
@media(min-width:640px){.btn-primary{width:auto}}
@media(min-width:768px){.btn-primary{height:4rem;font-size:1.25rem}}
.btn-primary:hover{transform:scale(1.05);animation:none}
.btn-primary:active{transform:scale(.96) translateY(4px);animation:none}

.btn-secondary{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  height:3rem;padding:0 1.75rem;border-radius:9999px;
  color:white;font-family:var(--font-s);font-size:1rem;font-weight:900;
  overflow:hidden;background:var(--secondary);box-shadow:0 5px 0 0 var(--secondary-dark);
  animation:btn-pulse 6s ease-in-out infinite;will-change:transform;width:100%;cursor:pointer;
}
@media(min-width:640px){.btn-secondary{width:auto}}
@media(min-width:768px){.btn-secondary{height:3.5rem;font-size:1.125rem;padding:0 2.25rem}}
.btn-secondary:active{transform:scale(.96) translateY(3px);animation:none}

.shimmer{
  pointer-events:none;position:absolute;inset:0;border-radius:9999px;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  animation:shimmer 3.5s ease-in-out 5s infinite;
}
.btn-secondary .shimmer{
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);
}

.trust-chip{
  display:flex;align-items:center;gap:.5rem;
  font-size:.875rem;font-weight:700;color:hsl(142,40%,25%);
  background:rgba(187,247,208,.8);padding:.5rem 1rem;border-radius:9999px;
}

/* ════════════════════════════════════════
   2. TRUST BAR
════════════════════════════════════════ */
.trust-bar{
  padding:1rem 0;
  border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);
  position:relative;z-index:10;background:hsl(210,50%,88%);
}
@media(min-width:768px){.trust-bar{padding:1.5rem 0}}
.trust-bar-row{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:1rem;font-weight:700;font-size:.875rem;color:hsl(220,40%,30%);
}
@media(min-width:768px){.trust-bar-row{gap:2.5rem}}
.tb-item{display:flex;align-items:center;gap:.375rem}

/* ── TÍTULOS DE SEÇÃO ── */
.sec-h2{
  font-family:var(--font-d);font-weight:700;
  font-size:1.5rem;color:var(--navy);line-height:1.2;
}
@media(min-width:640px){.sec-h2{font-size:1.875rem}}
@media(min-width:768px){.sec-h2{font-size:3rem}}

.sec-sub{
  font-size:1rem;font-weight:600;color:hsl(220,30%,35%);
  max-width:42rem;margin:0 auto;line-height:1.625;
}
@media(min-width:768px){.sec-sub{font-size:1.25rem}}

/* ════════════════════════════════════════
   3. BENEFÍCIOS
════════════════════════════════════════ */
.benefits{
  padding:3rem 1rem;position:relative;z-index:10;
  background:linear-gradient(to bottom,hsl(140,45%,82%),hsl(140,40%,87%));
}
@media(min-width:768px){.benefits{padding:5rem 1rem}}

.b-grid{display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:640px){.b-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}

.b-card{
  background:white;padding:1rem;border-radius:1rem;
  box-shadow:0 2px 8px rgba(0,0,0,.08);border:4px solid transparent;
  position:relative;overflow:hidden;transition:box-shadow .3s,border-color .3s;
}
@media(min-width:768px){
  .b-card{padding:1.75rem}
  .b-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12)}
}
.b-icon{
  width:3rem;height:3rem;border-radius:.75rem;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.75rem;transition:transform .3s;
}
@media(min-width:768px){.b-icon{width:4rem;height:4rem;border-radius:1rem;margin-bottom:1.25rem}}
.b-card:hover .b-icon{transform:scale(1.1)}
.b-title{
  font-family:var(--font-d);font-size:.875rem;font-weight:700;
  color:var(--navy);margin-bottom:.25rem;line-height:1.3;
}
@media(min-width:640px){.b-title{font-size:1rem}}
@media(min-width:768px){.b-title{font-size:1.25rem;margin-bottom:.75rem}}
.b-desc{font-size:.75rem;font-weight:500;color:hsl(220,20%,45%);line-height:1.4;display:none}
@media(min-width:640px){.b-desc{display:block}}
@media(min-width:768px){.b-desc{font-size:1rem}}
.b-blob{position:absolute;right:-1rem;bottom:-1rem;width:4rem;height:4rem;border-radius:50%;opacity:.25}
@media(min-width:768px){.b-blob{width:5rem;height:5rem}}

/* ════════════════════════════════════════
   4. SHOWCASE + CARROSSEL
════════════════════════════════════════ */
.showcase{
  padding:3rem 1rem;position:relative;z-index:10;background:hsl(48,80%,85%);
}
@media(min-width:768px){.showcase{padding:5rem 1rem}}

.sh-grid{display:flex;flex-direction:column;gap:2rem}
@media(min-width:768px){.sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}}

.feat-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1rem;border-radius:9999px;font-weight:900;font-size:.875rem;
  background:var(--primary);color:white;margin-bottom:1.25rem;
}

.sh-checks{display:flex;flex-direction:column;gap:.75rem}
.sh-check{
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.75rem;border-radius:.75rem;background:rgba(255,255,255,.6);transition:background .2s;
}
.sh-check:hover{background:white}
.sh-check-ic{
  width:2rem;height:2rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:.125rem;background:var(--primary);
}
.sh-check-t{font-size:.875rem;font-weight:700;color:hsl(220,40%,20%);padding-top:2px;line-height:1.4}
@media(min-width:768px){.sh-check-t{font-size:1rem}}

/* Carrossel */
.car-wrap{
  overflow:hidden;border-radius:1.5rem;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.1);
  padding:1rem 0;background:hsl(48,60%,78%);
}
.car-track{
  display:flex;gap:1.25rem;align-items:center;
  width:max-content;animation:carousel-go 50s linear infinite;will-change:transform;
}
.ci{flex-shrink:0;height:15rem;border-radius:1rem;overflow:hidden;border:5px solid white;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.ci img{height:100%;width:auto;max-width:none;object-fit:cover}
.ci-r{
  flex-shrink:0;border-radius:1rem;overflow:hidden;border:5px solid white;
  box-shadow:0 4px 16px rgba(0,0,0,.15);height:15rem;width:10.625rem;
  display:flex;align-items:center;justify-content:center;
}
.ci-r img{height:10.625rem;width:auto;max-width:none;transform:rotate(270deg)}

/* ════════════════════════════════════════
   5. COMO FUNCIONA
════════════════════════════════════════ */
.how{padding:3rem 1rem;position:relative;z-index:10;background:white}
@media(min-width:768px){.how{padding:5rem 1rem}}

.how-grid{display:flex;flex-direction:column;gap:1rem;position:relative}
@media(min-width:768px){.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}}

.how-line{
  display:none;position:absolute;top:2.5rem;left:15%;right:15%;
  height:.5rem;border-radius:9999px;background:hsl(210,50%,88%);
}
@media(min-width:768px){.how-line{display:block}}

.how-step{
  position:relative;z-index:10;display:flex;align-items:center;
  gap:1rem;padding:1rem;border-radius:1rem;background:hsl(210,45%,93%);
}
@media(min-width:768px){
  .how-step{flex-direction:column;align-items:center;text-align:center;padding:0;background:transparent}
}
.step-n{
  width:4rem;height:4rem;border-radius:50%;background:var(--primary);
  color:white;font-weight:800;font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 4px 16px rgba(255,120,0,.35);border:4px solid white;
}
@media(min-width:768px){.step-n{width:5rem;height:5rem;font-size:1.875rem;margin-bottom:1.25rem}}
.step-t{font-family:var(--font-d);font-size:1.125rem;font-weight:700;margin-bottom:.25rem;color:var(--navy)}
@media(min-width:768px){.step-t{font-size:1.25rem;margin-bottom:.5rem}}
.step-d{font-weight:600;font-size:.875rem;color:hsl(220,20%,45%)}
@media(min-width:768px){.step-d{font-size:1rem}}

/* ════════════════════════════════════════
   6. DEPOIMENTOS
════════════════════════════════════════ */
.testimonials{
  padding:3rem 1rem;position:relative;z-index:10;overflow:hidden;
  background:linear-gradient(to bottom,hsl(330,50%,85%),hsl(280,40%,87%));
}
@media(min-width:768px){.testimonials{padding:5rem 1rem}}

.rating-box{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  background:white;border-radius:1rem;padding:.75rem 1.25rem;
  max-width:20rem;margin:1.5rem auto 2rem;
  box-shadow:0 2px 8px rgba(0,0,0,.08);border:1px solid hsl(340,60%,88%);
}
.stars{display:flex;gap:.125rem}

.t-grid{display:grid;gap:1rem}
@media(min-width:768px){.t-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}

.t-card{
  background:white;padding:1.25rem;border-radius:1rem;
  box-shadow:0 4px 12px rgba(0,0,0,.08);border:2px solid hsl(340,60%,88%);
}
@media(min-width:768px){.t-card{padding:1.75rem}}
.t-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.t-time{
  font-size:.75rem;font-weight:700;color:hsl(340,60%,60%);
  background:hsl(340,60%,97%);padding:.25rem .5rem;border-radius:.5rem;
}
.t-text{
  font-size:.875rem;font-weight:600;color:hsl(220,20%,40%);
  font-style:italic;line-height:1.625;margin-bottom:1rem;
}
@media(min-width:768px){.t-text{font-size:1rem}}
.t-author{display:flex;align-items:center;gap:.75rem}
.t-av{
  width:2.5rem;height:2.5rem;border-radius:50%;
  background:hsl(340,60%,88%);display:flex;align-items:center;justify-content:center;
  color:hsl(340,60%,45%);font-weight:900;font-size:1.125rem;flex-shrink:0;
}
.t-name{font-weight:700;color:hsl(220,40%,20%);font-size:.9rem}
.t-ok{font-size:.75rem;font-weight:600;color:hsl(142,50%,35%);display:flex;align-items:center;gap:.25rem}

/* ════════════════════════════════════════
   7. OFERTA / CHECKOUT
════════════════════════════════════════ */
.offer{
  padding:3rem 1rem;position:relative;z-index:10;
  background:linear-gradient(to bottom,hsl(340,55%,93%),hsl(30,70%,94%));
}
@media(min-width:768px){.offer{padding:5rem 1rem}}

.offer-card{
  max-width:32rem;margin:0 auto;background:white;
  border-radius:1.5rem;padding:1.5rem;
  box-shadow:0 20px 40px rgba(0,0,0,.12);
  border:2px solid hsl(340,60%,88%);position:relative;overflow:visible;text-align:center;
}
@media(min-width:768px){.offer-card{padding:2.5rem}}

.offer-blobs{position:absolute;inset:0;border-radius:1.5rem;overflow:hidden;pointer-events:none}
.ob1{
  position:absolute;top:0;right:0;width:12rem;height:12rem;
  border-radius:50%;background:hsl(340,70%,92%);filter:blur(3rem);transform:translate(30%,-30%);
}
.ob2{
  position:absolute;bottom:0;left:0;width:12rem;height:12rem;
  border-radius:50%;background:hsl(48,80%,90%);filter:blur(3rem);transform:translate(-30%,30%);
}
.offer-inner{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:1rem}

.offer-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:3.5rem;height:3.5rem;border-radius:50%;
  background:hsl(340,60%,92%);color:hsl(340,60%,45%);
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.offer-h2{
  font-family:var(--font-d);font-size:1.25rem;font-weight:900;
  line-height:1.3;color:hsl(340,50%,28%);
}
@media(min-width:640px){.offer-h2{font-size:1.5rem}}
@media(min-width:768px){.offer-h2{font-size:1.875rem}}
.offer-h2 .hi{color:var(--primary)}
.offer-sub{font-size:.875rem;font-weight:600;color:hsl(340,20%,50%);max-width:28rem;line-height:1.625}
@media(min-width:768px){.offer-sub{font-size:1rem}}

.checklist{display:grid;gap:.375rem;text-align:left;max-width:18rem;width:100%}
.cpill{
  font-size:.75rem;font-weight:600;padding:.25rem .75rem;
  border-radius:9999px;background:hsl(340,50%,96%);color:hsl(340,40%,35%);
}

.badges-row{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}
@media(min-width:640px){.badges-row{flex-direction:row;justify-content:center}}
.bsm{display:flex;align-items:center;gap:.375rem;font-weight:700;padding:.5rem 1rem;border-radius:9999px;font-size:.75rem}
.bg{background:hsl(140,50%,92%);color:hsl(142,50%,30%)}
.bb{background:hsl(210,70%,92%);color:hsl(210,60%,32%)}

.pbox{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  padding:.75rem 1rem;border-radius:1rem;border:2px solid hsl(142,55%,78%);
  max-width:13.75rem;background:hsl(140,50%,97%);
}
.pold{display:flex;align-items:center;gap:.5rem}
.pstrike{
  font-size:.75rem;font-weight:700;text-decoration:line-through;
  background:hsl(0,100%,94%);color:hsl(0,80%,65%);padding:.125rem .5rem;border-radius:9999px;
}
.parr{font-size:.75rem;font-weight:900;color:hsl(142,55%,38%)}
.pnew{display:flex;align-items:flex-end;gap:.125rem;animation:price-bounce 7s ease-in-out infinite;will-change:transform}
.pcur{font-size:1rem;font-weight:900;color:hsl(142,55%,35%)}
.pval{font-size:2.5rem;font-weight:900;line-height:1;color:var(--secondary);text-shadow:0 2px 0 var(--secondary-dark)}
.ptype{font-size:.75rem;font-weight:600;padding:.125rem .75rem;border-radius:9999px;background:hsl(142,55%,88%);color:hsl(142,55%,28%)}

.urgency{
  font-weight:700;padding:.625rem 1.25rem;border-radius:9999px;
  display:inline-block;font-size:.75rem;
  border:1px solid hsl(48,80%,72%);background:hsl(48,90%,88%);color:hsl(30,80%,32%);
}

/* ════════════════════════════════════════
   8. FAQ
════════════════════════════════════════ */
.faq{
  padding:3rem 1rem;position:relative;z-index:10;
  background:linear-gradient(to bottom,hsl(340,60%,96%),hsl(20,80%,97%));
}
@media(min-width:768px){.faq{padding:5rem 1rem}}

.acc-list{display:flex;flex-direction:column;gap:.75rem}
.acc-item{border:2px solid hsl(340,60%,88%);border-radius:1.5rem;background:white;overflow:hidden;transition:box-shadow .3s}
.acc-item.open{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.acc-btn{
  width:100%;display:flex;align-items:center;gap:.75rem;
  padding:1.25rem;font-size:.875rem;font-weight:700;
  color:hsl(340,50%,28%);cursor:pointer;text-align:left;
  background:none;font-family:var(--font-s);
}
@media(min-width:768px){.acc-btn{font-size:1rem}}
.acc-em{font-size:1.25rem;flex-shrink:0}
.acc-q{flex:1}
.acc-chev{flex-shrink:0;transition:transform .3s;color:hsl(340,50%,55%)}
.acc-item.open .acc-chev{transform:rotate(180deg)}
.acc-body{
  max-height:0;overflow:hidden;transition:max-height .35s ease;
  font-size:.875rem;font-weight:500;color:hsl(340,20%,45%);
  line-height:1.625;padding:0 1.25rem 0 3.5rem;
}
@media(min-width:768px){.acc-body{font-size:1rem;padding:0 1.75rem 0 4rem}}
.acc-item.open .acc-body{max-height:600px;padding-bottom:1.25rem}

.faq-ct{
  margin-top:2rem;text-align:center;padding:1.25rem 1.5rem;
  border-radius:1.5rem;border:2px solid hsl(340,60%,88%);background:hsl(340,60%,97%);
  font-size:.875rem;font-weight:600;color:hsl(340,40%,45%);line-height:1.625;
}
@media(min-width:768px){.faq-ct{font-size:1rem}}
.faq-lk{font-weight:900;text-decoration:underline;text-underline-offset:2px;color:hsl(340,55%,40%);transition:opacity .2s}
.faq-lk:hover{opacity:.75}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer{
  padding:2.5rem 1rem;position:relative;z-index:10;
  background:hsl(220,40%,18%);color:hsl(210,30%,65%);text-align:center;
}
.footer-title{
  font-family:var(--font-d);font-size:1.125rem;font-weight:900;
  color:rgba(255,255,255,.9);margin-bottom:1.25rem;
}
@media(min-width:768px){.footer-title{font-size:1.25rem}}
.footer-links{
  display:flex;flex-direction:column;justify-content:center;
  gap:.75rem;font-size:.75rem;padding-top:1.25rem;border-top:1px solid hsl(220,30%,28%);
}
@media(min-width:640px){.footer-links{flex-direction:row;gap:2rem;font-size:.875rem}}
.footer-links a{color:inherit;transition:color .2s}
.footer-links a:hover{color:white}
.footer-copy{padding-top:1rem;font-size:.75rem;opacity:.4}

/* ════════════════════════════════════════
   MODAL
════════════════════════════════════════ */
.modal-ov{
  position:fixed;inset:0;z-index:100;
  display:flex;align-items:flex-end;justify-content:center;
  background:rgba(15,8,25,.58);
  opacity:0;pointer-events:none;transition:opacity .4s ease;
}
@media(min-width:640px){.modal-ov{align-items:center}}
.modal-ov.open{opacity:1;pointer-events:all}

.modal-sheet{
  position:relative;width:100%;max-height:90dvh;
  background:white;border-radius:1.5rem 1.5rem 0 0;
  border-top:2px solid hsl(340,60%,88%);
  box-shadow:0 25px 50px rgba(0,0,0,.25);overflow:hidden;
  transform:translateY(100%);transition:transform .5s cubic-bezier(.34,1.56,.64,1);
}
@media(min-width:640px){
  .modal-sheet{max-width:24rem;border-radius:1.5rem;border:2px solid hsl(340,60%,88%)}
}
.modal-ov.open .modal-sheet{transform:translateY(0)}

.modal-handle{display:flex;justify-content:center;padding:.75rem 0 .25rem}
@media(min-width:640px){.modal-handle{display:none}}
.modal-bar{width:2.5rem;height:.25rem;border-radius:9999px;background:hsl(340,60%,88%)}

.modal-scroll{
  overflow-y:auto;overscroll-behavior:contain;
  padding:.5rem 1.5rem 2rem;
  display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;
}
@media(min-width:640px){.modal-scroll{padding:1.75rem}}

.modal-close{
  position:absolute;top:1rem;right:1rem;
  width:2.5rem;height:2.5rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:hsl(340,40%,65%);transition:background .15s;
}
.modal-close:hover{background:hsl(340,60%,97%)}
.modal-close:active{background:hsl(340,60%,92%)}
.modal-h3{font-family:var(--font-d);font-size:1.25rem;font-weight:900;line-height:1.3;color:hsl(340,50%,28%)}
.modal-p{font-size:.875rem;font-weight:600;color:hsl(340,20%,50%);line-height:1.625}
.modal-p .hi{font-weight:900;color:hsl(142,55%,38%)}
.modal-email{
  width:100%;border-radius:1rem;padding:1rem;text-align:left;
  background:hsl(340,55%,97%);border:1.5px solid hsl(340,60%,88%);
}
.modal-email p{font-size:.875rem;line-height:1.5;color:hsl(340,40%,40%);font-weight:700}
.modal-email p+p{margin-top:.5rem;font-weight:600;color:hsl(340,30%,50%)}
.modal-cta{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem;border-radius:9999px;color:white;
  font-family:var(--font-s);font-weight:900;font-size:1rem;
  background:var(--secondary);box-shadow:0 4px 0 0 var(--secondary-dark);
  transition:transform .1s ease;
}
.modal-cta:active{transform:scale(.97)}
.modal-sec{font-size:.75rem;font-weight:600;color:hsl(340,30%,65%)}

/* ── ÍCONE SVG HELPER ── */
.ico{display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
