/* ==========================================================
   THE BULLDOG TOOTHPASTE SQUEEZER™ — 1980s late-night style
   ========================================================== */

:root {
  --pink: #ff2bd6;
  --cyan: #00f0ff;
  --yellow: #ffe600;
  --orange: #ff7a00;
  --red: #ff1744;
  --purple: #2a0845;
  --deep: #12002a;
  --white: #fff;
  --chrome: linear-gradient(180deg, #fff 0%, #e8f6ff 38%, #6a8db3 48%, #24334d 52%, #a7c6e8 70%, #fff 100%);
  --gold: linear-gradient(180deg, #fffbe0 0%, #ffe600 40%, #ff9800 55%, #ffd000 75%, #fff6b0 100%);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--deep);
  color: var(--white);
  font-family: "Rubik", system-ui, sans-serif;
  font-weight: 500;
  line-height: 1.5;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; height: auto; }

section { padding: 80px 16px; position: relative; }

/* ---------- Text effects ---------- */
.chrome, .chrome-sm {
  font-family: "Anton", Impact, sans-serif;
  background: var(--chrome);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(3px 3px 0 var(--pink)) drop-shadow(5px 5px 0 var(--purple));
  text-transform: uppercase;
  letter-spacing: .02em;
}
.neon {
  color: var(--cyan);
  text-shadow: 0 0 4px #fff, 0 0 10px var(--cyan), 0 0 22px var(--cyan), 0 0 44px var(--cyan);
}
.neon-pink {
  color: #ffd6f6;
  text-shadow: 0 0 4px #fff, 0 0 10px var(--pink), 0 0 22px var(--pink), 0 0 44px var(--pink);
}
.script {
  font-family: "Kaushan Script", cursive;
  color: var(--yellow);
  text-shadow: 3px 3px 0 var(--pink);
  text-transform: none;
}

.headline {
  font-family: "Anton", Impact, sans-serif;
  font-size: clamp(2.2rem, 6vw, 4.2rem);
  line-height: 1.05;
  text-align: center;
  margin: 0 auto 40px;
  max-width: 1100px;
  font-weight: 400;
}

/* ---------- VHS overlay ---------- */
.vhs {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.12) 0 1px, transparent 1px 3px);
  mix-blend-mode: multiply;
}
.vhs::after {
  content: ""; position: absolute; left: 0; right: 0; height: 60px; top: -60px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.06), transparent);
  animation: tracking 7s linear infinite;
}
.vhs-play, .vhs-clock {
  position: absolute; font-family: "Press Start 2P", monospace; font-size: 12px;
  color: #fff; text-shadow: 2px 2px 0 #000; mix-blend-mode: normal; opacity: .85;
}
.vhs-play { top: 48px; left: 16px; animation: blink 1.2s steps(2) infinite; }
.vhs-clock { bottom: 14px; right: 16px; }
@keyframes tracking { to { top: 110%; } }
@keyframes blink { 50% { opacity: 0; } }

/* ---------- Ticker ---------- */
.ticker {
  background: var(--yellow); color: var(--red);
  font-family: "Anton", Impact, sans-serif; font-size: 1.15rem; letter-spacing: .06em;
  overflow: hidden; white-space: nowrap; border-bottom: 4px solid var(--red);
  position: sticky; top: 0; z-index: 50;
}
.ticker-track { display: inline-flex; gap: 2rem; padding: 6px 0; animation: ticker 28s linear infinite; }
@keyframes ticker { to { transform: translateX(-50%); } }

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden; text-align: center;
  padding: 50px 16px 90px;
  background: linear-gradient(180deg, #0b0020 0%, #3b0a6b 45%, #b3127a 70%, #ff5e3a 100%);
}
.sun {
  position: absolute; left: 50%; bottom: 22%; width: 620px; height: 620px; max-width: 120vw; max-height: 120vw;
  transform: translateX(-50%); border-radius: 50%;
  background: linear-gradient(180deg, var(--yellow) 0%, var(--orange) 50%, var(--pink) 100%);
  -webkit-mask: repeating-linear-gradient(180deg, #000 0 26px, transparent 26px 34px);
  mask: repeating-linear-gradient(180deg, #000 0 26px, transparent 26px 34px);
  opacity: .55;
}
.grid-floor {
  position: absolute; left: -50%; right: -50%; bottom: -10%; height: 45%;
  background:
    linear-gradient(transparent 0 94%, var(--cyan) 94%) 0 0 / 100% 40px,
    linear-gradient(90deg, transparent 0 97%, var(--cyan) 97%) 0 0 / 60px 100%;
  transform: perspective(300px) rotateX(60deg);
  transform-origin: top center;
  opacity: .55;
  animation: grid 1.5s linear infinite;
  box-shadow: 0 0 40px var(--cyan) inset;
}
@keyframes grid { to { background-position: 0 40px, 0 0; } }

.hero-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; }
.eyebrow {
  font-family: "Kaushan Script", cursive; font-size: clamp(1.4rem, 3.5vw, 2.2rem);
  color: var(--yellow); margin: 0 0 6px; text-shadow: 2px 2px 0 var(--pink);
  transform: rotate(-4deg);
}
.logo { margin: 0; line-height: .9; }
.logo span { display: block; }
.logo-the { font-family: "Monoton", cursive; font-weight: 400; color: var(--pink); font-size: clamp(1.6rem, 4vw, 2.6rem); text-shadow: 0 0 12px var(--pink); }
.logo-main {
  font-size: clamp(4rem, 17vw, 11rem); font-weight: 400;
  animation: zoomIn .9s cubic-bezier(.2,1.6,.4,1) both;
}
.logo-sub {
  font-family: "Bungee Shade", cursive; font-weight: 400;
  font-size: clamp(1.3rem, 4.4vw, 3rem); margin-top: 6px;
}
@keyframes zoomIn { from { transform: scale(0) rotate(-20deg); opacity: 0; } }

.hero-stage { position: relative; margin: 34px auto 26px; max-width: 760px; }
.hero-img {
  border: 6px solid #fff; border-radius: 10px;
  box-shadow: 0 0 0 6px var(--pink), 0 0 50px var(--cyan), 0 20px 60px rgba(0,0,0,.6);
  transform: rotate(-1.5deg);
}
.tagline { font-size: clamp(1.1rem, 2.6vw, 1.6rem); font-weight: 800; text-shadow: 2px 2px 0 #000; margin: 0 0 26px; }
.tagline em { color: var(--yellow); font-style: normal; text-transform: uppercase; }
.fineprint { font-size: .75rem; opacity: .75; margin-top: 14px; }

/* ---------- Starbursts ---------- */
.burst {
  position: absolute; display: grid; place-items: center; text-align: center;
  width: 150px; height: 150px;
  background: var(--red); color: #fff;
  clip-path: polygon(50% 0%, 59% 15%, 75% 6%, 76% 24%, 94% 22%, 86% 38%, 100% 50%, 86% 62%, 94% 78%, 76% 76%, 75% 94%, 59% 85%, 50% 100%, 41% 85%, 25% 94%, 24% 76%, 6% 78%, 14% 62%, 0% 50%, 14% 38%, 6% 22%, 24% 24%, 25% 6%, 41% 15%);
  font-family: "Anton", Impact, sans-serif; font-size: 1.3rem; line-height: 1.05;
  animation: pulse 1s ease-in-out infinite alternate;
}
.burst span { transform: rotate(-12deg); text-shadow: 2px 2px 0 #000; }
.burst b { font-size: 2rem; color: var(--yellow); font-weight: 400; }
.burst-hero { left: -40px; bottom: -30px; }
.burst-price { right: -40px; top: -40px; background: var(--yellow); color: var(--red); }
.burst-price span { text-shadow: none; transform: rotate(10deg); }
.burst-price b { color: var(--red); }
@keyframes pulse { from { transform: scale(.92) rotate(-6deg); } to { transform: scale(1.06) rotate(6deg); } }

/* ---------- Buttons ---------- */
.btn {
  display: inline-block; cursor: pointer; border: 0; text-decoration: none;
  font-family: "Anton", Impact, sans-serif; letter-spacing: .05em; font-size: 1.3rem;
  color: var(--red); background: var(--gold);
  padding: 14px 34px; border-radius: 999px;
  box-shadow: 0 6px 0 #a33a00, 0 0 0 4px #fff, 0 0 30px var(--yellow);
  transition: transform .1s;
}
.btn:hover { transform: translateY(-2px) scale(1.04); }
.btn:active { transform: translateY(4px); box-shadow: 0 2px 0 #a33a00, 0 0 0 4px #fff; }
.btn:focus-visible, .bone-btn:focus-visible { outline: 4px dashed var(--cyan); outline-offset: 6px; }
.btn-mega { font-size: clamp(1.6rem, 4vw, 2.4rem); padding: 16px 48px; animation: wiggle 2.4s ease-in-out infinite; }
@keyframes wiggle {
  0%, 80%, 100% { transform: rotate(0); }
  84% { transform: rotate(-4deg) scale(1.05); }
  88% { transform: rotate(4deg) scale(1.05); }
  92% { transform: rotate(-3deg); }
  96% { transform: rotate(2deg); }
}

/* ---------- Problem ---------- */
.problem { background: #1a1a1a; }
.problem .headline { color: #ddd; font-family: "Anton", Impact, sans-serif; text-transform: uppercase; }
.wobble { animation: wobble 3s ease-in-out infinite; }
@keyframes wobble { 50% { transform: skewX(-6deg); } }
.problem-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); max-width: 1000px; margin: 0 auto; }
.problem-card {
  background: #2b2b2b; border: 3px solid #555; padding: 28px 22px; text-align: center;
  font-size: 1.2rem; color: #ccc; position: relative;
}
.problem-card b { color: #fff; }
.x { font-size: 3.5rem; color: var(--red); line-height: 1; margin-bottom: 8px; text-shadow: 0 0 20px var(--red); }
.theres-a-better-way {
  font-family: "Kaushan Script", cursive; text-align: center;
  font-size: clamp(2rem, 6vw, 3.6rem); margin: 50px 0 0;
}

/* ---------- How it works ---------- */
.how { background: radial-gradient(ellipse at top, #4b1180, var(--deep) 70%); }
.steps { list-style: none; padding: 0; margin: 0 auto; max-width: 1150px; display: grid; gap: 34px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.step {
  position: relative; background: linear-gradient(160deg, #ff2bd6, #7a00ff); padding: 6px; border-radius: 16px; text-align: center;
  box-shadow: 0 0 30px rgba(255,43,214,.45);
}
.step img { border-radius: 12px 12px 0 0; }
.step h3 { font-family: "Anton", Impact, sans-serif; font-weight: 400; font-size: 1.9rem; color: var(--yellow); margin: 14px 0 4px; text-shadow: 3px 3px 0 #000; letter-spacing: .04em; }
.step p { margin: 0; padding: 0 16px 20px; font-size: 1.05rem; }
.step-num {
  position: absolute; top: -26px; left: -18px; width: 72px; height: 72px; border-radius: 50%;
  display: grid; place-items: center; z-index: 2;
  font-family: "Anton", Impact, sans-serif; font-size: 2.6rem; color: var(--red);
  background: var(--gold); border: 4px solid #fff; box-shadow: 0 0 20px var(--yellow);
}

/* ---------- Interactive demo ---------- */
.demo { background: repeating-linear-gradient(45deg, #13002d 0 30px, #1c0040 30px 60px); text-align: center; }
.demo .headline { margin-bottom: 8px; }
.demo-sub { font-size: 1.2rem; margin: 0 0 36px; color: var(--yellow); }
.demo-box {
  max-width: 900px; margin: 0 auto; padding: 36px 24px; border-radius: 20px;
  background: rgba(0,0,0,.45); border: 4px solid var(--cyan); box-shadow: 0 0 40px var(--cyan), inset 0 0 30px rgba(0,240,255,.25);
  display: grid; gap: 30px; grid-template-columns: 1.2fr 1fr; align-items: center;
}
.tube-wrap { position: relative; height: 160px; }
.tube { position: absolute; top: 40px; left: 40px; right: 0; height: 80px; display: flex; align-items: center; }
.tube-cap { width: 34px; height: 46px; background: #fff; border-radius: 6px 0 0 6px; border: 3px solid #ccc; background-image: repeating-linear-gradient(90deg, #fff 0 4px, #ddd 4px 6px); }
.tube-body {
  position: relative; flex: 1; height: 80px; border-radius: 6px;
  background: linear-gradient(180deg, #f6f9ff, #cfd8e6); border: 3px solid #9fb0c8; overflow: hidden;
  transform-origin: left center;
}
.tube-paste { position: absolute; inset: 8px; background: linear-gradient(90deg, #00d4a0, #00b2ff); opacity: .35; border-radius: 4px; transform-origin: left center; transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.tube-label { position: absolute; inset: 0; display: grid; place-items: center; font-family: "Anton", Impact, sans-serif; color: #1355d6; font-size: 2rem; letter-spacing: .1em; text-shadow: 2px 2px 0 var(--red); }
.tube-crimp {
  position: absolute; right: 0; top: -10px; bottom: -10px; width: 0; border-radius: 4px;
  background: repeating-linear-gradient(90deg, #b5c2d6 0 6px, #e7edf6 6px 12px);
  transition: width .35s cubic-bezier(.3,1.6,.5,1);
}
.tube-crimp::before {
  content: "🐶"; position: absolute; left: -36px; top: 50%; transform: translateY(-50%); font-size: 3rem;
  filter: drop-shadow(0 0 8px var(--yellow));
}
.glob-zone { position: absolute; left: 0; top: 0; width: 60px; height: 160px; }
.glob {
  position: absolute; left: 8px; top: 70px; width: 26px; height: 18px; border-radius: 50% 50% 40% 60%;
  background: linear-gradient(90deg, #00d4a0, #00b2ff); box-shadow: 0 0 10px #00f0ff;
  animation: glob .9s ease-in forwards;
}
@keyframes glob { 0% { transform: translate(0, 0) scale(.3); } 40% { transform: translate(-14px, -20px) scale(1.2); } 100% { transform: translate(-30px, 90px) scale(.8); opacity: 0; } }

.bone-btn {
  cursor: pointer; border: 4px solid #fff; border-radius: 999px; padding: 14px 28px;
  background: linear-gradient(180deg, #ffb35c, #c96a1c); color: #3b1a00;
  font-family: "Anton", Impact, sans-serif; font-size: 1.5rem; letter-spacing: .05em;
  display: inline-flex; align-items: center; gap: 12px; box-shadow: 0 6px 0 #6b3300, 0 0 24px var(--orange);
}
.bone-btn:active { transform: translateY(4px); box-shadow: 0 2px 0 #6b3300; }
.bone { font-size: 2rem; display: inline-block; transition: transform .3s; }
.bone-btn.spin .bone { transform: rotate(360deg); }
.meter { margin: 24px 0 12px; text-align: left; }
.meter-label { font-family: "Press Start 2P", monospace; font-size: .7rem; margin-bottom: 8px; color: var(--cyan); }
.meter-bar { height: 26px; border: 3px solid #fff; border-radius: 6px; overflow: hidden; background: #000; }
.meter-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--red), var(--yellow), #3cff6b); transition: width .35s; }
.demo-msg { min-height: 3em; font-weight: 800; color: var(--yellow); font-size: 1.1rem; margin: 0; }

/* ---------- Gallery ---------- */
.gallery-sec { background: linear-gradient(180deg, var(--deep), #2a004f); }
.gallery { max-width: 1200px; margin: 0 auto; display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.gallery figure {
  margin: 0; position: relative; border: 5px solid #fff; background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.5); transition: transform .25s;
}
.gallery figure:nth-child(odd) { transform: rotate(-2deg); }
.gallery figure:nth-child(even) { transform: rotate(2deg); }
.gallery figure:hover { transform: rotate(0) scale(1.05); z-index: 2; box-shadow: 0 0 0 5px var(--pink), 0 0 40px var(--cyan); }
.gallery figcaption {
  font-family: "Kaushan Script", cursive; color: #222; text-align: center; font-size: 1.4rem; padding: 6px 0 2px;
}

/* ---------- Testimonials ---------- */
.family { background: linear-gradient(180deg, #2a004f, #5b0060); }
.testimonials { max-width: 1200px; margin: 0 auto; display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.testi { background: #fff; color: #222; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 4px var(--yellow), 0 12px 30px rgba(0,0,0,.5); display: flex; flex-direction: column; }
.testi img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.testi blockquote { margin: 18px 20px 8px; font-size: 1.15rem; font-weight: 800; font-style: italic; flex: 1; }
.testi cite { margin: 0 20px; font-style: normal; color: #7a00ff; font-weight: 800; }
.stars { color: #ffb300; font-size: 1.5rem; margin: 4px 20px 16px; letter-spacing: .1em; text-shadow: 1px 1px 0 #a35f00; }

/* ---------- But wait ---------- */
.but-wait { background: var(--red); overflow: hidden; }
.but-wait::before {
  content: ""; position: absolute; inset: -50%;
  background: repeating-conic-gradient(from 0deg, rgba(255,230,0,.25) 0 10deg, transparent 10deg 20deg);
  animation: spin 30s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.but-wait-title {
  position: relative; text-align: center; margin: 0 0 40px;
  font-family: "Anton", Impact, sans-serif; font-weight: 400; line-height: 1;
  font-size: clamp(2.6rem, 9vw, 6rem); color: #fff; text-shadow: 5px 5px 0 #000;
  animation: shake .5s ease-in-out infinite alternate;
}
.but-wait-title span { color: var(--yellow); }
@keyframes shake { from { transform: rotate(-1.5deg); } to { transform: rotate(1.5deg); } }
.steel {
  position: relative; max-width: 1100px; margin: 0 auto; display: grid; gap: 34px; grid-template-columns: 1.2fr 1fr; align-items: center;
  background: rgba(0,0,0,.6); padding: 26px; border-radius: 18px; border: 4px solid #fff;
}
.steel img { border-radius: 10px; border: 4px solid var(--yellow); }
.steel h3 { font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.05; margin: 0 0 14px; font-weight: 400; }
.steel h3 .neon { -webkit-text-fill-color: var(--cyan); }
.checks { list-style: none; padding: 0; margin: 16px 0 0; }
.checks li { padding-left: 34px; position: relative; margin: 8px 0; font-weight: 800; font-size: 1.1rem; }
.checks li::before { content: "✔"; position: absolute; left: 0; color: #3cff6b; font-size: 1.3rem; text-shadow: 0 0 8px #3cff6b; }

/* ---------- Warning ---------- */
.warning { background: repeating-linear-gradient(-45deg, var(--yellow) 0 30px, #111 30px 60px); padding: 50px 16px; }
.warning-inner {
  max-width: 1000px; margin: 0 auto; background: #111; color: #fff; padding: 24px; border-radius: 12px;
  display: grid; grid-template-columns: 1fr 1.2fr; gap: 26px; align-items: center; border: 4px solid var(--yellow);
}
.warning-inner img { border-radius: 8px; }
.warning-title { font-family: "Anton", Impact, sans-serif; font-weight: 400; font-size: 2.4rem; color: var(--yellow); margin: 0 0 8px; letter-spacing: .05em; animation: blink 1s steps(2) infinite; }

/* ---------- Order ---------- */
.order {
  background: radial-gradient(circle at 30% 30%, #6a00b5, var(--deep) 70%);
  display: grid; gap: 40px; grid-template-columns: 1.1fr 1fr; align-items: center;
  padding-inline: max(16px, calc((100% - 1250px) / 2));
}
.order-tv {
  padding: 24px; border-radius: 40px; background: linear-gradient(180deg, #4a3a2a, #2a1e14);
  box-shadow: 0 0 0 6px #1a120c, 0 20px 60px rgba(0,0,0,.6), 0 0 60px var(--pink);
}
.order-tv img { border-radius: 30px / 22px; filter: saturate(1.25) contrast(1.05); box-shadow: inset 0 0 30px #000; }
.order-panel { text-align: center; }
.was { font-size: 1.3rem; margin: 0; opacity: .85; }
.was s { color: var(--red); text-decoration-thickness: 3px; }
.now { font-family: "Anton", Impact, sans-serif; font-size: 1.8rem; margin: 6px 0 0; }
.price {
  display: block; font-size: clamp(4.5rem, 12vw, 7rem); line-height: 1;
  background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(4px 4px 0 var(--red)) drop-shadow(0 0 20px var(--yellow));
}
.plus { margin: 0 0 20px; font-size: .9rem; opacity: .8; }
.deal-burst {
  margin: 0 auto 24px; width: 280px; height: 280px; display: grid; place-items: center;
  background: var(--yellow); color: var(--red);
  clip-path: polygon(50% 0%, 59% 15%, 75% 6%, 76% 24%, 94% 22%, 86% 38%, 100% 50%, 86% 62%, 94% 78%, 76% 76%, 75% 94%, 59% 85%, 50% 100%, 41% 85%, 25% 94%, 24% 76%, 6% 78%, 14% 62%, 0% 50%, 14% 38%, 6% 22%, 24% 24%, 25% 6%, 41% 15%);
  font-family: "Anton", Impact, sans-serif; font-size: 1.1rem; line-height: 1.15; animation: pulse 1.2s ease-in-out infinite alternate;
}
.deal-burst b { font-family: "Press Start 2P", monospace; font-size: 1.6rem; font-weight: 400; display: inline-block; margin: 6px 0; }
.order-form { background: rgba(0,0,0,.5); border: 3px solid var(--pink); border-radius: 16px; padding: 22px; box-shadow: 0 0 30px rgba(255,43,214,.5); text-align: left; }
.order-form fieldset { border: 0; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 10px; }
.order-form legend { font-weight: 800; margin-bottom: 8px; color: var(--yellow); }
.pup { flex: 1 1 140px; }
.pup input { position: absolute; opacity: 0; }
.pup span {
  display: block; text-align: center; padding: 12px; border-radius: 10px; cursor: pointer;
  border: 3px solid #fff; font-family: "Anton", Impact, sans-serif; font-size: 1.15rem; letter-spacing: .04em; transition: .15s;
}
.pup:first-of-type span { background: linear-gradient(180deg, #c8762c, #7c3c0e); }
.pup:last-of-type span { background: linear-gradient(180deg, #a0a6ae, #50565e); }
.pup input:checked + span { border-color: var(--yellow); box-shadow: 0 0 0 3px var(--yellow), 0 0 22px var(--yellow); transform: scale(1.04); }
.pup input:focus-visible + span { outline: 4px dashed var(--cyan); outline-offset: 4px; }
.qty { display: block; font-weight: 800; margin-bottom: 16px; color: var(--yellow); }
.qty select, .qty input {
  display: block; width: 100%; margin-top: 6px; padding: 12px; font: inherit; font-size: 1.05rem;
  border-radius: 8px; border: 3px solid var(--cyan); background: #0a0018; color: #fff;
}
.order-form .btn-mega { width: 100%; padding: 16px 10px; }
.call { margin-top: 26px; font-size: 1.2rem; }
.phone { display: block; font-family: "Press Start 2P", monospace; font-size: clamp(1rem, 3.5vw, 1.6rem); color: var(--cyan); text-shadow: 0 0 12px var(--cyan); margin: 10px 0 4px; }
.call small { display: block; }
.url-plug { margin: 18px 0 0; font-size: 1.1rem; }
.url {
  display: block; margin-top: 4px; font-family: "Anton", Impact, sans-serif; font-size: clamp(1.6rem, 5vw, 2.4rem); letter-spacing: .03em;
  background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(3px 3px 0 var(--red));
}

/* ---------- Footer ---------- */
.foot { background: #000; text-align: center; padding: 36px 16px 50px; font-size: .85rem; color: #aaa; }
.foot-url { font-family: "Monoton", cursive; font-size: clamp(1.3rem, 5vw, 2.2rem); color: var(--pink); text-shadow: 0 0 12px var(--pink); margin: 20px 0 10px; }
.guarantee { font-family: "Anton", Impact, sans-serif; font-size: 1.4rem; color: var(--yellow); letter-spacing: .04em; }

/* ---------- Modal ---------- */
.modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: rgba(10,0,30,.85); padding: 16px; }
.modal[hidden] { display: none; }
.modal-card {
  max-width: 520px; width: 100%; text-align: center; padding: 34px 26px; border-radius: 20px;
  background: linear-gradient(160deg, #4b0080, #b3127a); border: 5px solid var(--yellow); box-shadow: 0 0 60px var(--pink);
  animation: zoomIn .5s cubic-bezier(.2,1.6,.4,1) both;
}
.modal-card h2 { font-size: 3rem; margin: 0 0 12px; font-weight: 400; }
.modal-card p { font-size: 1.2rem; font-weight: 800; }
.modal-fine { font-size: .8rem !important; font-weight: 500 !important; opacity: .8; }

.confetti { position: fixed; top: -20px; width: 12px; height: 18px; z-index: 300; pointer-events: none; animation: fall linear forwards; }
@keyframes fall { to { transform: translateY(110vh) rotate(720deg); } }

/* ---------- Responsive ---------- */
@media (max-width: 820px) {
  .demo-box, .steel, .warning-inner, .order { grid-template-columns: 1fr; }
  .burst { width: 110px; height: 110px; font-size: 1rem; }
  .burst b { font-size: 1.5rem; }
  .burst-hero { left: -8px; bottom: -40px; }
  .burst-price { right: -8px; top: -46px; }
  .step-num { left: -6px; }
  .gallery, .testimonials { grid-template-columns: 1fr; }
  .tube { left: 30px; }
  .tube-label { font-size: 1.4rem; }
  .vhs-play, .vhs-clock { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .ticker-track { animation: none; }
}
