/* ============================================================
   JUMP OFF PARTY! — style.css v1.0
   Palette (from logo): Splash Blue, Deep Ocean, Sunshine, Lime, Foam
   Type: Fredoka (display) + Nunito (body)
   ============================================================ */

:root{
  --splash:#1E88E5;
  --ocean:#0D47A1;
  --sky:#E3F4FD;
  --sun:#FFA000;
  --sun-hi:#FFC93C;
  --lime:#7CB342;
  --pink:#EC6EAD;
  --foam:#ffffff;
  --ink:#123456;
  --ink-soft:#3d5a80;
  --radius:26px;
  --shadow:0 10px 30px rgba(13,71,161,.15);
  --shadow-lift:0 18px 40px rgba(13,71,161,.22);
  --font-display:'Fredoka',system-ui,sans-serif;
  --font-body:'Nunito',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--foam);
  overflow-x:hidden;
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--splash)}
h1,h2,h3{font-family:var(--font-display);line-height:1.15}
h2{font-size:clamp(2rem,4.5vw,3.2rem);color:var(--ocean)}
h3{font-size:1.3rem;color:var(--ocean)}
.container{max-width:1180px;margin:0 auto;padding:0 22px}
.section{padding:90px 0;position:relative}
.section-sub{max-width:640px;margin:14px auto 0;text-align:center;color:var(--ink-soft);font-size:1.08rem}
.eyebrow{
  font-family:var(--font-display);font-weight:600;letter-spacing:.06em;
  color:var(--sun);text-transform:uppercase;font-size:.95rem;text-align:center;
}
.eyebrow.light{color:var(--sun-hi)}
.rentals h2,.how h2,.areas h2{text-align:center}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-family:var(--font-display);font-weight:600;
  border:none;border-radius:999px;cursor:pointer;text-decoration:none;
  padding:.8em 1.7em;font-size:1rem;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;
}
.btn-sun{
  background:linear-gradient(180deg,var(--sun-hi),var(--sun));
  color:#5b3400;box-shadow:0 6px 0 #d98200,0 12px 22px rgba(255,160,0,.35);
}
.btn-sun:hover{transform:translateY(-3px) scale(1.03)}
.btn-sun:active{transform:translateY(2px);box-shadow:0 2px 0 #d98200}
.btn-ghost{
  background:rgba(255,255,255,.16);color:#fff;border:3px solid rgba(255,255,255,.85);
  backdrop-filter:blur(4px);
}
.btn-ghost:hover{background:rgba(255,255,255,.3);transform:translateY(-3px)}
.btn-big{font-size:1.15rem;padding:.95em 2em}
.btn-full{width:100%}
.bounce-hover:hover{animation:btnBounce .5s}
@keyframes btnBounce{0%,100%{transform:translateY(-3px)}40%{transform:translateY(-9px) scale(1.05)}70%{transform:translateY(-1px)}}

/* ---------- Bubble field ---------- */
.bubble-field{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.bubble-field .bubble{
  position:absolute;bottom:-60px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(160,215,255,.25));
  border:1px solid rgba(255,255,255,.5);
  animation:rise linear infinite;opacity:.55;
}
@keyframes rise{
  0%{transform:translateY(0) translateX(0) scale(1)}
  50%{transform:translateY(-55vh) translateX(30px) scale(1.05)}
  100%{transform:translateY(-110vh) translateX(-20px) scale(.9)}
}

/* ---------- Nav ---------- */
.site-nav{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(13,71,161,.1);
}
.nav-inner{max-width:1180px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;gap:18px}
.nav-logo img{height:56px;width:auto}
.nav-links{display:flex;gap:22px;margin-left:auto}
.nav-links a{
  font-family:var(--font-display);font-weight:500;text-decoration:none;color:var(--ocean);
  position:relative;padding:4px 0;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--sun-hi),var(--sun));transform:scaleX(0);transition:transform .2s;
}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.nav-links + .nav-actions{margin-left:0}
.nav-phone{font-weight:800;text-decoration:none;color:var(--ocean);white-space:nowrap}
.nav-cta{white-space:nowrap}
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:6px}
.nav-burger span{display:block;width:26px;height:3px;background:var(--ocean);margin:5px 0;border-radius:3px;transition:.25s}

/* ---------- Hero ---------- */
.hero{
  position:relative;z-index:1;color:#fff;overflow:hidden;
  background:linear-gradient(160deg,#42a5f5 0%,var(--splash) 45%,var(--ocean) 100%);
  padding:70px 0 130px;
}
.hero-sun{
  position:absolute;top:-70px;right:-70px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,#FFE082,var(--sun-hi) 55%,var(--sun));
  box-shadow:0 0 90px rgba(255,201,60,.8);cursor:pointer;
  animation:sunSpin 40s linear infinite;
}
.hero-sun::before{
  content:"";position:absolute;inset:-34px;border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0 12deg, rgba(255,201,60,.55) 12deg 18deg, transparent 18deg 30deg, rgba(255,201,60,.55) 30deg 36deg, transparent 36deg 48deg, rgba(255,201,60,.55) 48deg 54deg, transparent 54deg 66deg, rgba(255,201,60,.55) 66deg 72deg, transparent 72deg 84deg, rgba(255,201,60,.55) 84deg 90deg, transparent 90deg 102deg, rgba(255,201,60,.55) 102deg 108deg, transparent 108deg 120deg, rgba(255,201,60,.55) 120deg 126deg, transparent 126deg 138deg, rgba(255,201,60,.55) 138deg 144deg, transparent 144deg 156deg, rgba(255,201,60,.55) 156deg 162deg, transparent 162deg 174deg, rgba(255,201,60,.55) 174deg 180deg, transparent 180deg 192deg, rgba(255,201,60,.55) 192deg 198deg, transparent 198deg 210deg, rgba(255,201,60,.55) 210deg 216deg, transparent 216deg 228deg, rgba(255,201,60,.55) 228deg 234deg, transparent 234deg 246deg, rgba(255,201,60,.55) 246deg 252deg, transparent 252deg 264deg, rgba(255,201,60,.55) 264deg 270deg, transparent 270deg 282deg, rgba(255,201,60,.55) 282deg 288deg, transparent 288deg 300deg, rgba(255,201,60,.55) 300deg 306deg, transparent 306deg 318deg, rgba(255,201,60,.55) 318deg 324deg, transparent 324deg 336deg, rgba(255,201,60,.55) 336deg 342deg, transparent 342deg 354deg, rgba(255,201,60,.55) 354deg 360deg);
  mask:radial-gradient(circle,transparent 58%,#000 60%);
  -webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);
}
@keyframes sunSpin{to{transform:rotate(360deg)}}
.hero-kids{position:absolute;top:254px;right:60px;width:290px;pointer-events:none;z-index:2}
.hero-kids svg{width:100%;height:auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
.kid{transform-origin:center 80%;animation:kidDance 1.6s ease-in-out infinite}
.kid.k2{animation-delay:.35s;animation-duration:1.4s}
.kid.k3{animation-delay:.7s;animation-duration:1.8s}
@keyframes kidDance{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  25%{transform:translateY(-12px) rotate(0deg)}
  50%{transform:translateY(0) rotate(4deg)}
  75%{transform:translateY(-9px) rotate(0deg)}
}
.hero-inner{
  max-width:1180px;margin:0 auto;padding:0 22px;position:relative;
  display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;
}
.hero-logo{width:min(300px,70%);margin-bottom:18px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.25))}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700}
.hero-accent{color:var(--sun-hi)}
.pop-word{display:inline-block;animation:popIn .6s cubic-bezier(.34,1.56,.64,1) backwards}
.w2{animation-delay:.12s}.w3{animation-delay:.24s}.w4{animation-delay:.36s}
@keyframes popIn{from{transform:scale(0) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.hero-sub{margin:18px 0 26px;font-size:1.15rem;max-width:34em;color:#eaf6ff}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.hero-badges{list-style:none;display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-weight:700;font-size:.95rem}
.hero-badges li{background:rgba(255,255,255,.14);padding:8px 16px;border-radius:999px;backdrop-filter:blur(4px)}

/* Hero slider — CROP RULE: 4/3 cover, fixed frame */
.hero-slider{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);border:6px solid rgba(255,255,255,.9);
  transform:rotate(1.5deg);
}
.hero-slider .slides{position:relative;aspect-ratio:4/3;background:var(--ocean)}
.hero-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;margin:0}
.hero-slider .slide.is-active{opacity:1}
.hero-slider .slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slider figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;
  background:linear-gradient(transparent,rgba(13,71,161,.85));
  font-family:var(--font-display);font-weight:500;font-size:1.02rem;color:#fff;
}
.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.9);color:var(--ocean);font-size:1.6rem;line-height:1;
  font-family:var(--font-display);box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .15s;
}
.slider-arrow:hover{transform:translateY(-50%) scale(1.12)}
.slider-arrow.prev{left:12px}.slider-arrow.next{right:12px}
.slider-dots{position:absolute;bottom:52px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
.slider-dots button{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.5);transition:.2s}
.slider-dots button.is-active{background:var(--sun-hi);transform:scale(1.3)}

.wave-divider{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.wave-divider svg{width:100%;height:70px;display:block}
.wave-divider.flip{transform:scaleY(-1);bottom:auto;top:-1px}

/* ---------- Marquee ---------- */
.fun-marquee{background:var(--sun-hi);overflow:hidden;padding:12px 0;position:relative;z-index:1}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee 22s linear infinite;
}
.marquee-group{
  display:flex;gap:34px;white-space:nowrap;padding-right:34px;
  font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:#7a4a00;
}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Product grid ---------- */
.rentals{background:#fff;z-index:1}
.product-grid{
  margin-top:54px;display:grid;gap:30px;
  grid-template-columns:repeat(auto-fill,minmax(265px,1fr));
}
.product-card{
  background:linear-gradient(180deg,#fff, var(--sky));
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;
  border:3px solid transparent;
}
.product-card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:var(--shadow-lift);border-color:var(--sun-hi)}
.product-card:nth-child(even):hover{transform:translateY(-10px) rotate(1deg)}

.card-img.art{display:grid;place-items:center;padding:10px}
.card-img.art svg{width:100%;height:100%}
.art-combo{background:linear-gradient(160deg,#E3F4FD,#bfe6ff)}
.art-custom{background:linear-gradient(160deg,#FFF6DC,#ffe8ad)}
.spin-slow{transform-origin:200px 134px;animation:sunSpin 14s linear infinite}
@media (prefers-reduced-motion:reduce){.spin-slow{animation:none}}

/* CROP RULES:
   .card-img — fixed 4/3 frame for ALL products.
   .photo  → object-fit:cover  (real event photos fill & crop)
   .cutout → object-fit:contain (white-background product renders letterbox cleanly) */
.card-img{position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden}
.card-img img{width:100%;height:100%;transition:transform .4s}
.card-img.photo img{object-fit:cover;object-position:center}
.card-img.cutout{padding:12px}
.card-img.cutout img{object-fit:contain}
.product-card:hover .card-img img{transform:scale(1.06)}
.card-tag{
  position:absolute;top:12px;left:12px;font-family:var(--font-display);font-weight:600;
  font-size:.8rem;padding:5px 12px;border-radius:999px;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.tag-hot{background:linear-gradient(90deg,#ff6f00,#ff3d00)}
.tag-new{background:linear-gradient(90deg,var(--lime),#33991a)}
.tag-cool{background:linear-gradient(90deg,#29b6f6,var(--splash))}
.tag-pink{background:linear-gradient(90deg,#f48fb1,var(--pink))}
.card-body{padding:20px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-body p{color:var(--ink-soft);font-size:.96rem;flex:1}
.card-body .btn{align-self:flex-start}

/* ---------- Foam section ---------- */
.foam{background:linear-gradient(180deg,var(--sky),#cfe9fb);overflow:hidden;z-index:1}
.foam-blobs span{
  position:absolute;border-radius:50%;background:#fff;opacity:.65;filter:blur(2px);
  animation:blobFloat 9s ease-in-out infinite alternate;
}
.foam-blobs span:nth-child(1){width:180px;height:180px;top:8%;left:-60px}
.foam-blobs span:nth-child(2){width:110px;height:110px;bottom:12%;left:6%;animation-delay:2s}
.foam-blobs span:nth-child(3){width:220px;height:220px;top:-80px;right:8%;animation-delay:1s}
.foam-blobs span:nth-child(4){width:90px;height:90px;bottom:-30px;right:-20px;animation-delay:3s}
@keyframes blobFloat{to{transform:translateY(26px) scale(1.08)}}
.foam-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative}
.foam-copy .eyebrow{text-align:left}
.foam-copy h2{margin:6px 0 14px}
.check-list{list-style:none;margin:18px 0 26px;display:grid;gap:10px;font-weight:700}
.card-img.art{display:grid;place-items:center;padding:10px}
.card-img.art svg{width:100%;height:100%}
.art-combo{background:linear-gradient(160deg,#E3F4FD,#bfe6ff)}
.art-custom{background:linear-gradient(160deg,#FFF6DC,#ffe8ad)}
.spin-slow{transform-origin:200px 134px;animation:sunSpin 14s linear infinite}
@media (prefers-reduced-motion:reduce){.spin-slow{animation:none}}

/* CROP RULES: video 3/4 portrait cover; snapshot 1/1 cover */
.foam-media{position:relative}
.foam-media video{
  width:78%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);
  border:6px solid #fff;box-shadow:var(--shadow-lift);display:block;
}
.foam-snap{
  position:absolute;right:0;bottom:-34px;width:46%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:6px solid #fff;box-shadow:var(--shadow-lift);
  transform:rotate(4deg);
}

/* ---------- How it works ---------- */
.how{background:#fff;z-index:1}
.steps{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;text-align:center}
.step-bubble{
  width:84px;height:84px;margin:0 auto 18px;border-radius:50%;
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:2rem;color:#fff;
  background:radial-gradient(circle at 30% 25%,#64b5f6,var(--splash) 60%,var(--ocean));
  box-shadow:0 10px 24px rgba(30,136,229,.4);
  animation:bob 3.4s ease-in-out infinite;
}
.step:nth-child(2) .step-bubble{animation-delay:.5s;background:radial-gradient(circle at 30% 25%,var(--sun-hi),var(--sun) 65%,#e65100)}
.step:nth-child(3) .step-bubble{animation-delay:1s;background:radial-gradient(circle at 30% 25%,#aed581,var(--lime) 65%,#33691e)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.step p{color:var(--ink-soft);margin-top:8px}
.trust-strip{
  margin-top:60px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
}
.trust-strip span{
  background:var(--sky);border:2px dashed var(--splash);border-radius:999px;
  padding:10px 20px;font-weight:800;font-size:.95rem;color:var(--ocean);
}

/* ---------- Areas ---------- */
.areas{background:linear-gradient(180deg,#fff,var(--sky));padding-bottom:150px;z-index:1}
.area-chips{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.area-chips span{
  font-family:var(--font-display);font-weight:600;color:#fff;
  background:linear-gradient(120deg,var(--splash),var(--ocean));
  padding:10px 22px;border-radius:999px;box-shadow:0 6px 14px rgba(13,71,161,.25);
  transition:transform .18s;
}
.area-chips span:hover{transform:translateY(-4px) rotate(-2deg)}
.area-chips .chip-more{
  background:linear-gradient(120deg,var(--sun-hi),var(--sun));color:#5b3400;
  animation:bob 2.6s ease-in-out infinite;
}

/* ---------- Quote ---------- */
.quote{background:linear-gradient(165deg,var(--ocean),#0a3170 70%);color:#fff;padding-top:120px;z-index:1}
.quote-wrap{max-width:960px;margin:0 auto}
.quote-intro{text-align:center;max-width:640px;margin:0 auto 40px}
.quote-intro h2{color:#fff;margin:8px 0 14px}
.quote-intro > p{color:#cfe4ff;font-size:1.08rem}
.quote-note-inline{
  display:inline-block;margin-top:18px;background:rgba(255,255,255,.1);
  border:2px dashed rgba(255,201,60,.7);border-radius:999px;padding:10px 22px;font-size:.95rem;
}
.quote-note-inline a{color:var(--sun-hi);font-weight:800}
.quote-form{
  background:#fff;border-radius:var(--radius);padding:34px 36px;color:var(--ink);
  box-shadow:0 30px 70px rgba(0,0,0,.35);display:grid;gap:18px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-row.row-3,.form-row:has(#fDate){grid-template-columns:1fr 1fr 1fr}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field label,.form-field legend{font-family:var(--font-display);font-weight:600;color:var(--ocean);font-size:.98rem}
.req{color:#e53935}
.hint{font-weight:400;font-size:.82rem;color:var(--ink-soft)}
.form-field input,.form-field select,.form-field textarea{
  font-family:var(--font-body);font-size:1rem;color:var(--ink);
  border:2.5px solid #cfe3f5;border-radius:14px;padding:12px 14px;background:#f7fbff;
  transition:border-color .15s,box-shadow .15s;width:100%;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border-color:var(--splash);box-shadow:0 0 0 4px rgba(30,136,229,.15);
}
fieldset.form-field{border:none}
.interest-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;
}
.interest-grid label{
  display:flex;align-items:center;gap:9px;font-weight:700;font-size:.92rem;color:var(--ink);
  background:#f0f7ff;border:2px solid #d7e9fa;border-radius:12px;padding:10px 12px;cursor:pointer;
  transition:.15s;font-family:var(--font-body);
}
.interest-grid label:hover{border-color:var(--splash)}
.interest-grid label:has(input:checked){background:#fff4d6;border-color:var(--sun)}
.interest-grid input{width:18px;height:18px;accent-color:var(--sun)}
.form-fine{font-size:.85rem;color:var(--ink-soft);text-align:center}

/* ---------- Footer ---------- */
.site-footer{background:#08265a;color:#cfe4ff;position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding:60px 22px 40px}
.footer-brand img{width:170px;margin-bottom:14px}
.footer-links{display:grid;gap:10px;align-content:start}
.footer-links a,.footer-contact a{color:#cfe4ff;text-decoration:none;font-weight:700}
.footer-links a:hover,.footer-contact a:hover{color:var(--sun-hi)}
.footer-contact{display:grid;gap:10px;align-content:start}
.footer-bar{border-top:1px solid rgba(255,255,255,.15);padding:18px 22px;text-align:center;font-size:.88rem}

/* ---------- Legal pages & footer credit ---------- */
.dev-credit{margin-top:6px;font-size:.82rem;color:#9dbbe8}
.dev-credit a{color:var(--sun-hi);text-decoration:none;font-weight:700}
.dev-credit a:hover{text-decoration:underline}
.footer-bar .legal-links{margin-top:6px;font-size:.85rem}
.footer-bar .legal-links a{color:#cfe4ff;text-decoration:none;font-weight:700}
.footer-bar .legal-links a:hover{color:var(--sun-hi)}
.legal-hero{
  position:relative;color:#fff;text-align:center;padding:70px 0 110px;
  background:linear-gradient(160deg,#42a5f5 0%,var(--splash) 45%,var(--ocean) 100%);
}
.legal-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3rem)}
.legal-hero p{margin-top:10px;color:#dbeeff;font-weight:700}
.legal-content{max-width:820px;padding-top:50px;padding-bottom:80px}
.legal-content h2{font-size:1.35rem;margin:34px 0 10px}
.legal-content p{color:var(--ink-soft);margin-bottom:12px}
.legal-content a{font-weight:700}
.legal-body .site-footer{margin-top:0}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(40px) scale(.96);transition:opacity .7s ease,transform .7s cubic-bezier(.34,1.56,.64,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- Confetti ---------- */
#confettiCanvas{position:fixed;inset:0;pointer-events:none;z-index:100}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-kids{display:none}
  .interest-grid{grid-template-columns:1fr 1fr}
  .hero-slider{transform:none}
  .foam-grid{grid-template-columns:1fr}
  .quote-wrap{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-links,.footer-contact{justify-items:center}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:#fff;padding:20px 26px;gap:16px;box-shadow:0 16px 30px rgba(13,71,161,.15);
  }
  .nav-links.open{display:flex}
  .nav-burger{display:block}
  .nav-phone{display:none}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .form-row,.form-row.row-3,.form-row:has(#fDate){grid-template-columns:1fr}
  .interest-grid{grid-template-columns:1fr}
  .hero{padding:46px 0 120px}
  .hero-slider .slides{aspect-ratio:1/1}   /* CROP RULE: square slider frame on mobile */
  .nav-cta{font-size:.88rem;padding:.7em 1.2em}
  .foam-media video{width:100%}
  .foam-snap{display:none}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
