/* ══ VARIABLES ══ */
:root {
  --pink:    #E84393;
  --yellow:  #FFE135;
  --plum:    #2B1A3F;
  --cream:   #FFF8F0;
  --white:   #FFFFFF;
  --black:   #111111;
  --shadow:  4px 4px 0 var(--black);
  --shadow-lg: 6px 6px 0 var(--black);
  --shadow-xl: 8px 8px 0 var(--black);
  --border:  2px solid var(--black);
  --border-thick: 3px solid var(--black);
}

/* ══ RESET ══ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--black); overflow-x:hidden; line-height:1.5; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }

/* ══ TYPOGRAPHY ══ */
.bebas { font-family:'Bebas Neue',sans-serif; }
.marker { font-family:'Permanent Marker',cursive; }

/* ══ REUSABLE ══ */
.section-wrap { max-width:1140px; margin:0 auto; padding:0 5%; }
.section-pad { padding:80px 5%; }

.tag {
  display:inline-block; background:var(--yellow); border:var(--border);
  padding:4px 14px; font-size:11px; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; box-shadow:3px 3px 0 var(--black); margin-bottom:18px;
}
.tag.pink { background:var(--pink); color:white; }
.tag.white { background:white; color:var(--black); }

h2.pop {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(36px,5.5vw,76px); letter-spacing:0.03em; line-height:0.95;
  margin-bottom:20px;
}
h2.pop .c-pink  { color:var(--pink); }
h2.pop .c-yellow { color:var(--yellow); }
h2.pop .c-white { color:var(--white); }
h2.pop .outline { -webkit-text-stroke:3px var(--black); color:transparent; }

.btn {
  display:inline-block; font-weight:700; font-size:14px; letter-spacing:0.06em;
  text-transform:uppercase; text-decoration:none; border:var(--border-thick);
  box-shadow:var(--shadow-lg); transition:transform 0.15s, box-shadow 0.15s;
  padding:16px 36px; cursor:pointer; font-family:'DM Sans',sans-serif;
}
.btn:hover { transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--black); }
.btn.pink  { background:var(--pink); color:white; }
.btn.black { background:var(--black); color:white; }
.btn.yellow { background:var(--yellow); color:var(--black); }
.btn.block  { display:block; text-align:center; width:100%; }

/* ══ NAV ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:var(--yellow); border-bottom:var(--border-thick);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; height:56px;
}
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:0.08em; text-decoration:none; color:var(--black); }
.nav-logo span { color:var(--pink); }
.nav-cta {
  background:var(--pink); color:white; text-decoration:none;
  padding:8px 20px; border:var(--border); box-shadow:3px 3px 0 var(--black);
  font-weight:700; font-size:12px; letter-spacing:0.06em; text-transform:uppercase;
  transition:transform 0.15s, box-shadow 0.15s;
}
.nav-cta:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--black); }

/* ══ HERO ══ */
.hero {
  min-height:100svh;
  padding:72px 5% 60px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:var(--cream);
}
.hero-bg {
  position:absolute; top:0; right:0; bottom:0;
  width:50%; background:var(--yellow);
  border-left:var(--border-thick); z-index:0;
}
.hero-left  { position:relative; z-index:1; }
.hero-right { position:relative; z-index:1; display:flex; justify-content:center; }

.hero-badge {
  display:inline-block; background:var(--pink); color:white;
  padding:5px 16px; font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  border:var(--border); box-shadow:3px 3px 0 var(--black); margin-bottom:20px;
}
.hero h1 {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(52px,7.5vw,100px); line-height:0.93; letter-spacing:0.02em;
  color:var(--black); margin-bottom:18px;
}
.hero h1 .c-pink    { color:var(--pink); -webkit-text-stroke:2px var(--black); }
.hero h1 .c-outline { -webkit-text-stroke:3px var(--black); color:transparent; }

.hero-subtitle {
  font-size:clamp(14px,1.8vw,17px); line-height:1.7; color:#4A3A5A; font-weight:500;
  max-width:460px; margin-bottom:20px;
  border-left:4px solid var(--pink); padding-left:14px;
}

.speech-bubble {
  background:var(--white); border:var(--border-thick); border-radius:18px 18px 18px 0;
  padding:16px 20px; margin-bottom:28px; max-width:460px; box-shadow:var(--shadow);
  position:relative;
}
.speech-bubble::before {
  content:''; position:absolute; bottom:-21px; left:18px;
  border:10px solid transparent; border-top-color:var(--black);
}
.speech-bubble::after {
  content:''; position:absolute; bottom:-15px; left:20px;
  border:8px solid transparent; border-top-color:var(--white);
}
.speech-bubble p { font-size:14px; line-height:1.7; color:#333; }
.speech-bubble strong { color:var(--pink); }

.photo-frame { position:relative; width:100%; max-width:400px; }
.photo-frame img {
  width:100%; border:4px solid var(--black); box-shadow:var(--shadow-xl);
  filter:contrast(1.08) saturate(1.12); object-fit:cover; max-height:560px; object-position:top;
}
.photo-tag {
  position:absolute; bottom:-14px; right:-14px;
  background:var(--yellow); border:var(--border-thick); padding:9px 16px;
  font-family:'Permanent Marker',cursive; font-size:14px;
  box-shadow:var(--shadow); transform:rotate(-3deg); white-space:nowrap;
}

/* ══ TICKER ══ */
.ticker-wrap {
  background:var(--pink); border-top:var(--border-thick); border-bottom:var(--border-thick);
  padding:14px 0; overflow:hidden; white-space:nowrap;
}
.ticker {
  display:inline-flex; gap:52px;
  animation:ticker 32s linear infinite;
}
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item {
  font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:0.1em; color:white;
  display:inline-flex; align-items:center; gap:14px;
}
.ticker-item::after {
  content:''; display:inline-block; width:7px; height:7px;
  background:var(--yellow); border-radius:50%; border:2px solid white;
}

/* ══ LEAD MAGNET ══ */
.lead-section { background:var(--white); border-top:var(--border-thick); border-bottom:var(--border-thick); }
.lead-inner {
  max-width:1000px; margin:0 auto; padding:80px 5%;
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.lead-text h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(32px,4.5vw,58px); line-height:0.97; letter-spacing:0.03em; margin-bottom:16px; }
.lead-text h2 .c-pink { color:var(--pink); }
.lead-text p { font-size:15px; line-height:1.8; color:#444; margin-bottom:12px; }

.lead-form { background:var(--cream); border:var(--border-thick); padding:32px; box-shadow:var(--shadow-xl); }
.lead-form h3 { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:0.04em; color:var(--plum); margin-bottom:6px; }
.lead-form .form-sub { font-size:13px; color:#777; margin-bottom:20px; line-height:1.5; }
.form-field {
  width:100%; padding:13px 15px; margin-bottom:12px;
  border:var(--border); background:var(--white);
  font-family:'DM Sans',sans-serif; font-size:15px; color:var(--black);
  outline:none; transition:border-color 0.2s, box-shadow 0.2s;
  box-shadow:2px 2px 0 rgba(0,0,0,0.06);
}
.form-field:focus { border-color:var(--pink); box-shadow:3px 3px 0 var(--pink); }
.form-field::placeholder { color:#bbb; }
.form-note { font-size:11px; color:#aaa; text-align:center; margin-top:10px; }

/* ══ INCLUDES ══ */
.includes-section { background:var(--plum); }
.inc-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px; margin:36px 0;
}
.inc-item {
  background:rgba(255,255,255,0.07); border:1.5px solid rgba(255,255,255,0.14);
  padding:15px 18px; display:flex; gap:10px; align-items:center; transition:all 0.15s;
}
.inc-item:hover { background:rgba(232,67,147,0.18); border-color:var(--pink); transform:translateX(4px); }
.inc-check {
  width:24px; height:24px; min-width:24px; background:var(--pink); border:var(--border);
  display:flex; align-items:center; justify-content:center; color:white; font-size:13px; font-weight:700;
}
.inc-item p { font-size:13px; color:rgba(255,255,255,0.85); font-weight:500; line-height:1.45; }
.inc-highlight {
  background:var(--yellow); border:var(--border-thick); box-shadow:6px 6px 0 rgba(0,0,0,0.4);
  padding:36px; text-align:center; max-width:780px; margin:0 auto;
}
.inc-highlight h3 { font-family:'Bebas Neue',sans-serif; font-size:clamp(24px,3.5vw,42px); letter-spacing:0.04em; color:var(--black); line-height:1.05; }
.inc-highlight h3 span { color:var(--pink); }
.inc-highlight p { font-size:15px; color:#333; margin-top:10px; line-height:1.7; }

/* ══ TESTIMONIALS ══ */
.testi-section { background:var(--cream); }
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:22px; margin-top:44px; }
.testi-card {
  background:var(--white); border:var(--border-thick); padding:28px; box-shadow:var(--shadow-lg); position:relative;
}
.testi-card::before {
  content:'"'; font-family:'Bebas Neue',sans-serif; font-size:90px; color:var(--yellow);
  position:absolute; top:8px; right:18px; line-height:1; pointer-events:none;
}
.testi-stars { color:var(--pink); font-size:18px; margin-bottom:14px; letter-spacing:1px; }
.testi-card blockquote { font-style:italic; font-size:14px; line-height:1.75; color:#444; margin-bottom:18px; }
.testi-author { display:flex; align-items:center; gap:10px; }
.testi-avatar {
  width:40px; height:40px; min-width:40px; border-radius:50%; background:var(--pink);
  border:var(--border); display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',sans-serif; font-size:18px; color:white;
}
.testi-name { font-weight:700; font-size:13px; }
.testi-loc  { font-size:12px; color:#999; }

/* ══ PHOTO ROW ══ */
.photo-row {
  background:var(--pink); border-top:var(--border-thick); border-bottom:var(--border-thick);
  padding:48px 5%; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:end;
}
.photo-col { position:relative; }
.photo-col img {
  width:100%; border:4px solid var(--black); box-shadow:6px 6px 0 rgba(0,0,0,0.3);
  filter:contrast(1.08) saturate(1.12); object-fit:cover; object-position:top; height:340px;
}
.photo-col:nth-child(1) { transform:rotate(-2deg); }
.photo-col:nth-child(2) { margin-top:-36px; }
.photo-col:nth-child(3) { transform:rotate(2deg); }
.photo-label {
  position:absolute; bottom:-12px; left:50%; transform:translateX(-50%);
  background:var(--yellow); border:var(--border); padding:5px 12px;
  font-family:'Permanent Marker',cursive; font-size:13px; white-space:nowrap; box-shadow:var(--shadow);
}

/* ══ BONOS ══ */
.bonus-section { background:var(--plum); }
.bonus-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin-top:36px; }
.bonus-card {
  background:rgba(255,255,255,0.07); border:2px solid var(--yellow); padding:28px; transition:all 0.15s;
}
.bonus-card:hover { background:rgba(255,225,53,0.1); transform:translate(-3px,-3px); }
.bonus-num { font-family:'Bebas Neue',sans-serif; font-size:13px; letter-spacing:0.12em; color:var(--yellow); text-transform:uppercase; margin-bottom:8px; display:block; }
.bonus-card h3 { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:0.04em; color:white; margin-bottom:10px; line-height:1.2; }
.bonus-card p { font-size:14px; color:rgba(255,255,255,0.55); line-height:1.65; }
.bonus-value { display:inline-block; margin-top:14px; background:var(--yellow); color:var(--black); padding:4px 12px; font-size:11px; font-weight:700; border:var(--border); }

/* ══ PARA QUIÉN ══ */
.forwhom-section { background:var(--yellow); border-top:var(--border-thick); }
.forwhom-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; max-width:960px; margin-left:auto; margin-right:auto; }
.fw-box { background:var(--white); border:var(--border-thick); padding:32px; box-shadow:var(--shadow-lg); }
.fw-box h3 { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:0.05em; margin-bottom:18px; line-height:1.2; }
.fw-box.yes h3 { color:var(--pink); }
.fw-box.no h3  { color:#aaa; }
.fw-item { display:flex; gap:10px; margin-bottom:12px; font-size:14px; line-height:1.65; }
.fw-mark { font-weight:700; flex-shrink:0; line-height:1.65; }
.fw-mark.y { color:var(--pink); }
.fw-mark.n { color:#ccc; }

/* ══ PRICING ══ */
.pricing-section { background:var(--cream); text-align:center; }
.pricing-card {
  max-width:520px; margin:44px auto 0; background:var(--white);
  border:4px solid var(--black); padding:48px 40px; box-shadow:10px 10px 0 var(--black); position:relative;
}
.price-badge {
  position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  background:var(--pink); color:white; padding:7px 26px; font-size:11px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase; border:var(--border); white-space:nowrap; box-shadow:var(--shadow);
}
.price-name { font-family:'Bebas Neue',sans-serif; font-size:30px; letter-spacing:0.06em; color:var(--plum); margin-bottom:4px; }
.price-tagline { font-size:13px; color:#888; margin-bottom:24px; }
.price-old { font-size:17px; text-decoration:line-through; color:#ccc; margin-bottom:4px; }
.price-new { font-family:'Bebas Neue',sans-serif; font-size:72px; letter-spacing:0.02em; color:var(--black); line-height:1; }
.price-new sup { font-size:32px; vertical-align:super; }
.price-new sub { font-size:22px; }
.price-note { font-size:12px; color:#999; margin-top:6px; margin-bottom:24px; }
.price-features { list-style:none; text-align:left; border-top:2px solid #eee; padding-top:22px; margin-bottom:28px; }
.price-features li { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#444; margin-bottom:11px; line-height:1.5; }
.price-features li .chk {
  width:20px; height:20px; min-width:20px; background:var(--pink); border:var(--border);
  display:flex; align-items:center; justify-content:center; color:white; font-size:11px; font-weight:700; margin-top:2px;
}
.price-footer { font-size:12px; color:#aaa; margin-top:16px; }
.price-footer a { color:var(--pink); }

/* ══ FAQ ══ */
.faq-section { background:var(--plum); }
.faq-list { max-width:700px; margin:36px auto 0; }
.faq-item { border-bottom:1px solid rgba(255,255,255,0.1); padding:20px 0; }
.faq-btn {
  width:100%; background:none; border:none; text-align:left;
  font-family:'DM Sans',sans-serif; font-size:15px; font-weight:600; color:white;
  cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:0;
}
.faq-icon {
  width:26px; height:26px; min-width:26px; background:rgba(255,255,255,0.1);
  border:1.5px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center;
  color:white; font-size:16px; font-weight:300; transition:all 0.2s;
}
.faq-item.open .faq-icon { background:var(--pink); transform:rotate(45deg); }
.faq-ans { font-size:14px; color:rgba(255,255,255,0.55); line-height:1.8; max-height:0; overflow:hidden; transition:max-height 0.35s ease, padding 0.3s; }
.faq-item.open .faq-ans { max-height:400px; padding-top:12px; }

/* ══ HISTORIA ══ */
.story-section { background:var(--cream); }
.story-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; align-items:start; max-width:1100px; margin:0 auto; }
.story-photo { position:sticky; top:72px; }
.story-photo img {
  width:100%; border:4px solid var(--black); box-shadow:var(--shadow-xl);
  filter:contrast(1.08) saturate(1.1); object-fit:cover; max-height:600px; object-position:top;
}
.story-sticker {
  position:absolute; top:-18px; right:-18px; background:var(--pink);
  border:var(--border-thick); width:84px; height:84px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:var(--shadow); transform:rotate(8deg);
}
.story-sticker .snum { font-family:'Bebas Neue',sans-serif; font-size:26px; color:white; line-height:1; }
.story-sticker .slbl { font-size:9px; font-weight:700; color:white; text-transform:uppercase; letter-spacing:0.04em; text-align:center; line-height:1.2; }
.story-text h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(32px,4vw,56px); line-height:1; letter-spacing:0.03em; color:var(--plum); margin-bottom:24px; }
.story-text h2 .c-pink { color:var(--pink); }
.story-text p { font-size:15px; line-height:1.9; color:#444; margin-bottom:16px; }
.story-text strong { color:var(--plum); font-weight:700; }
.story-quote {
  background:var(--yellow); border:var(--border-thick); padding:16px 22px;
  margin:22px 0; box-shadow:var(--shadow);
  font-family:'Bebas Neue',sans-serif; font-size:clamp(20px,2.5vw,28px); letter-spacing:0.04em; line-height:1.2; color:var(--black);
}
.story-quote span { color:var(--pink); }
.story-sig { font-size:14px; color:#888; margin-top:24px; font-style:italic; border-top:2px solid #eee; padding-top:16px; line-height:1.8; }

/* ══ CONTACTO ══ */
.contact-section { background:var(--white); border-top:var(--border-thick); }
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:36px; }
.contact-card { background:var(--cream); border:var(--border); padding:22px; box-shadow:var(--shadow); }
.contact-label { font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--pink); margin-bottom:6px; display:block; }
.contact-card a, .contact-card p { font-size:14px; color:var(--black); text-decoration:none; font-weight:500; word-break:break-word; }
.contact-card a:hover { color:var(--pink); }
.social-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.social-btn {
  display:inline-block; background:var(--black); color:white; padding:7px 14px;
  font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  text-decoration:none; border:var(--border); box-shadow:3px 3px 0 var(--pink); transition:all 0.15s;
}
.social-btn:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--pink); }

/* ══ FOOTER ══ */
footer {
  background:var(--black); border-top:3px solid var(--pink);
  padding:28px 5%; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:0.08em; color:white; text-decoration:none; }
.footer-logo span { color:var(--pink); }
.footer-copy { font-size:11px; color:rgba(255,255,255,0.3); }
.footer-credit { font-size:11px; color:rgba(255,255,255,0.3); }
.footer-credit a { color:var(--yellow); text-decoration:none; }
.footer-credit a:hover { color:var(--pink); }

/* ══ REVEAL ══ */
.reveal { opacity:1; transform:translateY(0); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ════════════════════════════════════════════
   RESPONSIVE — TABLET  481px–900px
═══════════════════════════════════════════*/
@media (max-width:900px) {
  /* Hero: apila columnas, foto arriba */
  .hero { grid-template-columns:1fr; padding-top:72px; gap:32px; min-height:auto; padding-bottom:56px; }
  .hero-bg { display:none; }
  .hero-right { order:-1; }
  .photo-frame { max-width:340px; margin:0 auto; }
  .photo-tag { font-size:13px; padding:8px 14px; right:-8px; bottom:-10px; }
  .hero h1 { font-size:clamp(48px,9vw,72px); }
  .hero-subtitle { max-width:100%; }
  .speech-bubble { max-width:100%; }

  /* Lead: apila columnas */
  .lead-inner { grid-template-columns:1fr; gap:32px; padding:60px 5%; }

  /* Story: apila columnas */
  .story-grid { grid-template-columns:1fr; gap:36px; }
  .story-photo { position:relative; top:auto; max-width:380px; }

  /* Para quién: apila */
  .forwhom-grid { grid-template-columns:1fr; max-width:560px; }

  /* Foto row: una columna */
  .photo-row { grid-template-columns:1fr; gap:36px; padding:48px 5%; }
  .photo-col:nth-child(1), .photo-col:nth-child(3) { transform:none; }
  .photo-col:nth-child(2) { margin-top:0; }
  .photo-col img { height:300px; }
  .photo-label { font-size:13px; }

  /* Pricing */
  .pricing-card { padding:40px 28px; }

  /* Footer */
  footer { flex-direction:column; text-align:center; gap:10px; }
}

/* ════════════════════════════════════════════
   RESPONSIVE — MOBILE  hasta 480px
═══════════════════════════════════════════*/
@media (max-width:480px) {
  /* Nav */
  nav { padding:0 4%; }
  .nav-logo { font-size:22px; }
  .nav-cta { padding:7px 14px; font-size:11px; }

  /* Hero */
  .hero { padding:68px 4% 48px; gap:24px; }
  .hero h1 { font-size:clamp(44px,11vw,64px); }
  .hero-subtitle { font-size:14px; }
  .speech-bubble p { font-size:13px; }
  .photo-frame { max-width:280px; }
  .photo-tag { font-size:12px; right:-4px; bottom:-8px; transform:rotate(-2deg); padding:7px 12px; }

  /* Ticker */
  .ticker-item { font-size:17px; }

  /* Lead */
  .lead-inner { padding:48px 4%; gap:28px; }
  .lead-text h2 { font-size:clamp(30px,8vw,46px); }
  .lead-form { padding:24px 20px; }
  .lead-form h3 { font-size:20px; }
  .form-field { padding:12px 14px; font-size:14px; }

  /* Section pads */
  .section-pad { padding:60px 4%; }

  /* Includes */
  .inc-grid { grid-template-columns:1fr; }
  .inc-highlight { padding:28px 20px; }

  /* Testimonials */
  .testi-grid { grid-template-columns:1fr; gap:18px; }

  /* Photo row */
  .photo-row { grid-template-columns:1fr; padding:36px 4%; gap:28px; }
  .photo-col img { height:260px; }

  /* Bonus */
  .bonus-grid { grid-template-columns:1fr; }
  .bonus-card { padding:22px; }

  /* Para quién */
  .forwhom-section.section-pad { padding:60px 4%; }
  .fw-box { padding:24px 18px; }

  /* Pricing */
  .pricing-card { padding:36px 20px; }
  .price-new { font-size:60px; }
  .price-new sup { font-size:26px; }

  /* FAQ */
  .faq-btn { font-size:14px; }
  .faq-ans  { font-size:13px; }

  /* Story */
  .story-grid { gap:28px; }
  .story-photo { max-width:100%; }
  .story-sticker { width:70px; height:70px; right:-10px; top:-10px; }
  .story-sticker .snum { font-size:22px; }
  .story-quote { font-size:18px; padding:14px 18px; }
  .story-text p { font-size:14px; }

  /* h2.pop on mobile */
  h2.pop { font-size:clamp(34px,9vw,52px); }
  h2.pop.hero-pop { font-size:clamp(44px,11vw,64px); }

  /* Contact */
  .contact-grid { grid-template-columns:1fr 1fr; }

  /* Footer */
  footer { padding:24px 4%; }
}

/* ══ VERY SMALL (below 360px) ══ */
@media (max-width:359px) {
  .hero h1 { font-size:40px; }
  .price-new { font-size:52px; }
  .contact-grid { grid-template-columns:1fr; }
}

.testi-section{background:var(--cream);overflow:hidden;}
.testi-carousel-wrap{position:relative;max-width:1100px;margin:44px auto 0;padding:0 5%;}
.testi-track-outer{overflow:hidden;width:100%;}
.testi-track{display:flex;gap:20px;transition:transform 0.4s ease;will-change:transform;}
.testi-slide{flex:0 0 calc(33.333% - 14px);max-width:calc(33.333% - 14px);}
.testi-card img{width:100%;height:400px;object-fit:contain;background:#fff;border:3px solid #111;display:block;}
.testi-nav{display:flex;justify-content:center;gap:12px;margin-top:28px;align-items:center;}
.testi-btn{width:44px;height:44px;background:var(--pink);border:3px solid var(--black);box-shadow:4px 4px 0 var(--black);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;color:white;transition:all 0.15s;line-height:1;}
.testi-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--black);}
.testi-dots{display:flex;gap:8px;align-items:center;}
.testi-dot{width:10px;height:10px;background:rgba(232,67,147,0.25);border:2px solid var(--pink);cursor:pointer;transition:background 0.2s;}
.testi-dot.active{background:var(--pink);}
@media (max-width:900px){.testi-slide{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px);}}
@media (max-width:480px){.testi-slide{flex:0 0 100%;max-width:100%;}}


.ts { flex-shrink:0; border:3px solid #111; box-shadow:4px 4px 0 #111; overflow:hidden; background:#fff; }
.ts img { width:100%; height:380px; object-fit:contain; background:#fff; display:block; }
@media(max-width:480px){ .ts img { height:280px; } }