  :root{
    --navy:#0b243e; --navy2:#114068; --blue:#1468aa; --cyan:#2caad8;
    --green:#1aa26c; --amber:#f2a623; --mist:#f4f8fb; --ink:#18242f;
    --grey:#6e7e8c; --line:#e2eaf0;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  body{margin:0;font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55;}
  h1,h2,h3{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.02em;margin:0;}
  .wrap{max-width:1000px;margin:0 auto;padding:0 20px;}
  a{color:inherit;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;
    font-family:'Poppins';font-weight:800;border-radius:14px;text-decoration:none;}
  .btn-green{background:var(--green);color:#fff;padding:14px 22px;font-size:16px;}
  .btn-green:hover{filter:brightness(1.05);}
  .btn-ghost{background:rgba(255,255,255,.14);color:#fff;padding:10px 16px;font-size:14px;}

  /* header */
  header{position:sticky;top:0;z-index:30;background:rgba(11,36,62,.96);backdrop-filter:blur(6px);color:#fff;}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand .badge{width:38px;height:38px;border-radius:999px;background:var(--cyan);display:flex;align-items:center;justify-content:center;}
  .brand .name{font-family:'Anton';font-size:20px;letter-spacing:.06em;}
  .links{display:flex;align-items:center;gap:22px;}
  .links a{font-weight:600;font-size:14px;color:#cfe3f2;text-decoration:none;}
  .links a:hover{color:#fff;}
  @media(max-width:640px){ .links a:not(.btn){display:none;} }

  /* hero */
  .hero{background:linear-gradient(150deg,var(--navy),var(--navy2));color:#fff;padding:64px 0 72px;position:relative;overflow:hidden;}
  .hero .eyebrow{display:inline-block;background:rgba(44,170,216,.2);color:#bfe6f5;font-weight:700;
    font-size:12px;letter-spacing:.18em;padding:7px 14px;border-radius:999px;}
  .hero h1{font-size:clamp(44px,9vw,84px);line-height:.96;margin:18px 0 0;}
  .hero h1 .accent{color:var(--cyan);}
  .hero p{color:#cfe3f2;font-size:18px;max-width:520px;margin:18px 0 28px;}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
  .price-tag{color:#fff;font-weight:700;font-size:15px;opacity:.9;}
  .price-tag b{color:var(--amber);font-size:20px;}

  section{padding:56px 0;}
  .kicker{color:var(--blue);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;}
  .h2{font-size:clamp(30px,6vw,46px);color:var(--navy);margin-top:8px;}
  .lead{color:var(--grey);max-width:640px;margin-top:10px;}

  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:28px;}
  .card{background:var(--mist);border:1px solid var(--line);border-radius:18px;padding:22px;}
  .card .ic{width:46px;height:46px;border-radius:12px;background:#e1f1f9;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
  .card h3{font-family:'Poppins';font-weight:800;font-size:18px;color:var(--ink);}
  .card p{color:var(--grey);font-size:15px;margin:6px 0 0;}

  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:28px;}
  .step{display:flex;gap:14px;align-items:flex-start;}
  .step .n{flex-shrink:0;width:42px;height:42px;border-radius:999px;background:var(--blue);color:#fff;
    font-family:'Anton';font-size:20px;display:flex;align-items:center;justify-content:center;}
  .step h3{font-family:'Poppins';font-weight:800;font-size:17px;}
  .step p{color:var(--grey);font-size:15px;margin:4px 0 0;}

  /* pricing */
  .pricing{background:var(--mist);}
  .pricebox{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;display:flex;
    flex-wrap:wrap;align-items:center;gap:24px;justify-content:space-between;margin-top:24px;}
  .bigprice{font-family:'Anton';font-size:84px;color:var(--blue);line-height:.9;}
  .bigprice small{font-family:'Poppins';font-weight:700;font-size:22px;color:var(--grey);margin-left:8px;}
  .pricelist{flex:1;min-width:260px;}
  .pricelist li{list-style:none;display:flex;align-items:center;gap:10px;margin:10px 0;font-weight:600;}
  .pricelist .dot{width:24px;height:24px;border-radius:999px;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .surcharge{display:inline-block;background:var(--amber);color:#3a2700;font-weight:800;border-radius:999px;padding:8px 16px;font-size:15px;}

  /* about */
  .about p{color:var(--grey);font-size:17px;max-width:680px;margin-top:14px;}

  /* booking */
  .book{background:linear-gradient(150deg,var(--navy),var(--navy2));color:#fff;position:relative;overflow:hidden;}
  .book>.wrap{position:relative;z-index:4;}
  .book .h2{color:#fff;}
  .book .lead{color:#cfe3f2;}
  .formcard{background:#fff;border-radius:24px;padding:26px;margin-top:26px;color:var(--ink);}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:560px){ .row2{grid-template-columns:1fr;} }
  label{display:block;font-size:12px;font-weight:800;color:var(--grey);letter-spacing:.04em;margin:14px 0 6px;text-transform:uppercase;}
  input,select,textarea{width:100%;font-family:'Poppins';font-size:16px;color:var(--ink);background:var(--mist);
    border:1px solid var(--line);border-radius:12px;padding:13px;}
  textarea{min-height:84px;resize:vertical;}
  .estimate{display:flex;align-items:center;justify-content:space-between;background:var(--mist);
    border-radius:14px;padding:14px 18px;margin:18px 0;font-weight:800;}
  .estimate .amt{font-family:'Anton';font-size:26px;color:var(--blue);}
  .submit{width:100%;background:var(--green);color:#fff;border:none;border-radius:14px;padding:16px;
    font-family:'Poppins';font-weight:800;font-size:18px;cursor:pointer;margin-top:6px;}
  .fineprint{color:var(--grey);font-size:13px;text-align:center;margin-top:12px;}
  .terms-row{display:flex;align-items:flex-start;gap:11px;background:var(--mist);border:1.5px solid var(--line);
    border-radius:12px;padding:13px 15px;margin:16px 0 12px;cursor:pointer;
    font-size:14px;font-weight:500;color:var(--ink);letter-spacing:0;text-transform:none;line-height:1.5;}
  .terms-row input[type=checkbox]{width:20px;height:20px;flex:none;margin:1px 0 0;cursor:pointer;accent-color:var(--green);}
  .terms-row a{color:var(--blue);font-weight:700;}
  .terms-row.shake{animation:termshake .4s ease;border-color:#d8564b;}
  @keyframes termshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

  footer{background:var(--navy);color:#9fc0da;text-align:center;padding:34px 20px;font-size:14px;}
  footer a{color:var(--amber);font-weight:700;text-decoration:none;}

  .banner{background:var(--green);color:#fff;text-align:center;padding:14px;font-weight:700;display:none;}
  .banner.show{display:block;}
  .timebox{display:flex;flex-wrap:wrap;gap:8px;background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:52px;align-items:center;}
  .timebox .tnote{color:var(--grey);font-size:14px;}
  .tchip{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;font-family:'Poppins';}
  .tchip.sel{background:var(--blue);border-color:var(--blue);color:#fff;}
  .tfull{width:100%;color:var(--grey);font-size:14px;}
  .tnextbtn{border:none;background:var(--green);color:#fff;border-radius:10px;padding:10px 14px;font-weight:800;font-size:14px;cursor:pointer;font-family:'Poppins';}
  .nbhint{background:#fdf4e0;border:1px solid #f2d9a0;border-radius:12px;padding:12px;margin-top:12px;font-size:14px;color:#6b5314;}
  .nbchip{border:none;background:var(--amber);color:#3a2700;border-radius:9px;padding:8px 12px;font-weight:800;font-size:13px;cursor:pointer;font-family:'Poppins';margin:6px 6px 0 0;}

  /* gross-o-meter (how dirty the bins are, 1–5) */
  .gross-tap{font-weight:700;color:var(--cyan);text-transform:none;letter-spacing:0;font-size:11px;margin-left:6px;}
  .gross-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:2px;}
  .gross-opt{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;
    border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 4px 9px;
    font-family:'Poppins';transition:transform .12s ease,border-color .12s,box-shadow .12s;}
  .gross-opt .ge{font-size:24px;line-height:1;filter:grayscale(.6);opacity:.78;transition:filter .12s,opacity .12s,transform .12s;}
  .gross-opt .gn{font-size:12px;font-weight:800;color:var(--grey);transition:color .12s;}
  .gross-opt:hover{transform:translateY(-2px);}
  .gross-opt.sel{border-width:2px;box-shadow:0 6px 16px rgba(0,0,0,.12);}
  .gross-opt.sel .ge{filter:none;opacity:1;transform:scale(1.15);}
  .gross-cap{margin-top:10px;font-weight:800;font-size:15px;min-height:21px;}

  /* gallery */
  .galgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;max-width:760px;}
  .galcard{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--mist);}
  .galcard img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/4.2;}
  .galtag{position:absolute;top:12px;left:12px;color:#fff;font-weight:800;font-size:13px;
    border-radius:9px;padding:6px 12px;letter-spacing:.04em;}
  .galnote{color:var(--grey);font-size:14px;margin-top:12px;}

  /* FAQ */
  .faq{max-width:760px;margin-top:26px;}
  .faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:10px;overflow:hidden;}
  .faq summary{cursor:pointer;font-weight:700;padding:16px 18px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";font-weight:800;color:var(--blue);font-size:20px;flex-shrink:0;}
  .faq details[open] summary::after{content:"\2013";}
  .faq .a{padding:0 18px 16px;color:var(--grey);font-size:15px;}

  /* sticky book button (mobile) */
  .stickybook{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(244,248,251,.92);backdrop-filter:blur(8px);border-top:1px solid var(--line);
    display:none;}
  .stickybook a{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;
    text-decoration:none;font-weight:800;font-size:17px;border-radius:14px;padding:15px;}
  .stickybook.show{display:block;}
  @media(min-width:900px){ .stickybook{display:none !important;} }

  /* ============================================================
     PREMIUM UPGRADE LAYER  (design polish + advanced animations)
     Original styles above are untouched.
     ============================================================ */
  :root{
    --aqua:#39c2f0;        /* crisp water-blue accent */
    --aqua-soft:#7fd8f5;
    --shadow-sm:0 1px 2px rgba(11,36,62,.06), 0 4px 14px rgba(11,36,62,.06);
    --shadow-md:0 10px 30px -12px rgba(11,36,62,.22);
    --shadow-lg:0 24px 60px -22px rgba(11,36,62,.32);
    --ease:cubic-bezier(.22,1,.36,1);
  }
  html{scroll-behavior:smooth;}
  body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  ::selection{background:rgba(57,194,240,.28);color:var(--navy);}

  /* more generous, confident rhythm */
  section{padding:clamp(56px,8vw,96px) 0;}
  .lead{font-size:17px;line-height:1.6;}

  /* refined buttons with soft depth + motion */
  .btn{transition:transform .35s var(--ease), box-shadow .35s var(--ease), filter .35s var(--ease);}
  .btn-green{box-shadow:0 10px 24px -10px rgba(26,162,108,.7);}
  .btn-green:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(26,162,108,.75);}
  .btn-green:active{transform:translateY(0);}
  .btn-ghost{border:1px solid rgba(255,255,255,.22);transition:background .3s var(--ease),border-color .3s var(--ease);}
  .btn-ghost:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4);}
  .submit{transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);box-shadow:0 14px 30px -12px rgba(26,162,108,.7);}
  .submit:hover{transform:translateY(-2px);filter:brightness(1.03);}
  .submit:active{transform:translateY(0);}

  /* header refinement */
  header{border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .4s var(--ease);}
  header.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.6);}
  .links a:not(.btn){position:relative;}
  .links a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;
    background:var(--aqua);border-radius:2px;transition:right .35s var(--ease);}
  .links a:not(.btn):hover::after{right:0;}

  /* cards & steps: subtle depth + lift */
  .card{box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);will-change:transform;}
  .card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:#cfe2ef;}
  .card .ic{transition:transform .4s var(--ease);}
  .card:hover .ic{transform:scale(1.08) rotate(-3deg);}
  .step .n{box-shadow:0 10px 22px -12px rgba(20,104,170,.8);transition:transform .4s var(--ease);}
  .step:hover .n{transform:translateY(-3px) scale(1.05);}
  .pricebox{box-shadow:var(--shadow-md);}
  .formcard{box-shadow:var(--shadow-lg);}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--aqua);
    box-shadow:0 0 0 4px rgba(57,194,240,.16);background:#fff;transition:border-color .2s,box-shadow .2s,background .2s;}
  .faq details{transition:box-shadow .3s var(--ease),border-color .3s var(--ease);}
  .faq details[open]{box-shadow:var(--shadow-sm);border-color:#cfe2ef;}

  /* ---------- HERO: animated mesh gradient + sparkle ---------- */
  .hero{padding:clamp(72px,11vw,120px) 0 clamp(80px,12vw,128px);}
  .hero .wrap{position:relative;z-index:2;}
  #heroGradient{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;
    opacity:0;transition:opacity 1.1s ease;}
  #heroGradient.ready{opacity:1;}
  /* CSS fallback gradient sits under the canvas, so there's always a rich backdrop */
  .hero::before{content:"";position:absolute;inset:0;z-index:0;
    background:
      radial-gradient(60% 80% at 18% 18%, rgba(57,194,240,.30), transparent 60%),
      radial-gradient(55% 75% at 88% 12%, rgba(44,170,216,.26), transparent 62%),
      radial-gradient(70% 90% at 70% 95%, rgba(17,64,104,.55), transparent 65%);}
  .hero-eyebrow-wrap{position:relative;}
  .hero h1{position:relative;}
  .hero h1 .char{display:inline-block;will-change:transform,opacity;}
  .hero-sparkle{position:absolute;width:clamp(80px,21vw,120px);height:clamp(80px,21vw,120px);
    top:94px;right:-4px;left:auto;pointer-events:none;z-index:3;
    filter:drop-shadow(0 8px 22px rgba(57,194,240,.45));}
  @media(min-width:760px){ .hero-sparkle{right:auto;left:7.4em;top:-.35em;
    width:clamp(120px,16vw,182px);height:clamp(120px,16vw,182px);} }

  /* hero two-column layout + visual */
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,54px);align-items:center;}
  .hero-copy{position:relative;}
  @media(max-width:860px){ .hero-grid{grid-template-columns:1fr;} }

  .hero-trust{display:flex;align-items:center;gap:10px;margin-top:22px;color:#cfe3f2;font-weight:600;font-size:14px;}
  .hero-trust .stars{color:#ffc83d;letter-spacing:2px;font-size:16px;text-shadow:0 1px 6px rgba(255,200,61,.4);}

  .hero-visual{position:relative;}
  .hv-card{position:relative;}
  .hv-card::before{content:"";position:absolute;inset:-14% -10%;z-index:-1;border-radius:48px;
    background:radial-gradient(58% 58% at 62% 32%, rgba(57,194,240,.55), transparent 70%);filter:blur(12px);}
  .hv-after{display:block;width:100%;height:auto;aspect-ratio:606/636;object-fit:cover;border-radius:22px;
    box-shadow:0 32px 64px -22px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.07);}
  .hv-badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.96);color:var(--navy);
    font-weight:800;font-size:13px;padding:8px 13px;border-radius:999px;box-shadow:var(--shadow-md);}
  .hv-before{position:absolute;right:-12px;bottom:-20px;width:40%;margin:0;border-radius:14px;overflow:hidden;
    border:3px solid #fff;box-shadow:var(--shadow-lg);transform:rotate(3deg);}
  .hv-before img{display:block;width:100%;height:auto;aspect-ratio:718/754;object-fit:cover;}
  .hv-before figcaption{position:absolute;top:6px;left:6px;background:rgba(208,90,79,.95);color:#fff;
    font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:6px;}
  @media(max-width:860px){ .hero-visual{width:min(86%,400px);margin:6px auto 0;} }

  /* ---------- SCROLL REVEAL ----------
     Hidden state only applies once JS arms it (body.reveal-ready), so if the
     enhancement script never loads, all content stays fully visible. */
  body.reveal-ready [data-reveal]{opacity:0;transform:translateY(26px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);will-change:transform,opacity;}
  body.reveal-ready [data-reveal].in{opacity:1;transform:none;}
  [data-reveal-delay="1"]{transition-delay:.08s;}
  [data-reveal-delay="2"]{transition-delay:.16s;}
  [data-reveal-delay="3"]{transition-delay:.24s;}

  /* ---------- BEFORE / AFTER COMPARE (feature 1 + 2) ---------- */
  .compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:28px;max-width:980px;}
  .compare{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);
    background:var(--mist);box-shadow:var(--shadow-md);aspect-ratio:4/4.2;
    touch-action:pan-y;cursor:ew-resize;isolation:isolate;}
  .compare .cmp-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;z-index:2;}
  .compare.gl .cmp-canvas{display:block;}
  .compare .cmp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .compare .cmp-after{z-index:1;}
  .compare .cmp-before{z-index:1;clip-path:inset(0 0 0 50%);} /* CSS fallback slider */
  .compare.gl .cmp-img{opacity:0;} /* GL paints instead; imgs only feed textures */
  .compare .galtag{position:absolute;top:12px;color:#fff;font-weight:800;font-size:13px;
    border-radius:9px;padding:6px 12px;letter-spacing:.04em;z-index:4;font-family:'Poppins';
    box-shadow:0 6px 16px -6px rgba(0,0,0,.5);backdrop-filter:blur(2px);}
  .compare .galtag.before{left:12px;right:auto;background:rgba(208,90,79,.92);}
  .compare .galtag.after{right:12px;left:auto;background:rgba(26,162,108,.92);}
  .cmp-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;z-index:5;
    background:rgba(255,255,255,.9);box-shadow:0 0 14px rgba(11,36,62,.5);pointer-events:none;}
  .cmp-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:44px;height:44px;border-radius:999px;background:#fff;color:var(--navy);
    display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);
    font-size:18px;transition:transform .25s var(--ease);}
  .compare:hover .cmp-grip{transform:translate(-50%,-50%) scale(1.08);}
  .cmp-grip svg{width:22px;height:22px;}
  .galnote{font-size:14px;}

  /* ---------- VIEW TRANSITIONS ---------- */
  @media (prefers-reduced-motion: no-preference){
    ::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;}
    ::view-transition-old(banner),::view-transition-new(banner){animation-duration:.55s;}
  }
  .banner{view-transition-name:banner;}

  /* ---------- success sparkle burst over banner ---------- */
  #successSparkle{position:fixed;left:50%;top:54px;transform:translateX(-50%);
    width:200px;height:200px;z-index:60;pointer-events:none;display:none;}
  #successSparkle.show{display:block;}

  /* ---------- BOOKING WIZARD (multi-step) ----------
     Default markup shows every panel (a normal single form). JS adds
     .wizard to the form to switch into stepped mode, so if the script
     fails the whole booking form still works as one page. */
  .wizard-head{margin-bottom:20px;}
  .wiz-steps{display:flex;align-items:flex-start;}
  .wiz-dot{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto;width:56px;}
  .wiz-dot span{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;
    background:var(--mist);border:2px solid var(--line);font-weight:800;color:var(--grey);
    font-family:'Poppins';transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);}
  .wiz-dot b{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);transition:color .35s var(--ease);}
  .wiz-dot.active span{background:var(--blue);border-color:var(--blue);color:#fff;transform:scale(1.06);
    box-shadow:0 8px 18px -8px rgba(20,104,170,.8);}
  .wiz-dot.active b{color:var(--ink);}
  .wiz-dot.done span{background:var(--green);border-color:var(--green);color:#fff;}
  .wiz-dot.done b{color:var(--ink);}
  .wiz-bar{flex:1;height:3px;background:var(--line);margin:0 4px;margin-top:18px;border-radius:3px;overflow:hidden;}
  .wiz-bar i{display:block;height:100%;width:0;background:var(--blue);border-radius:3px;transition:width .45s var(--ease);}
  .wiz-bar.fill i{width:100%;}

  .formcard.wizard .step-panel{display:none;}
  .formcard.wizard .step-panel.active{display:block;}
  .formcard.wizard .submit{display:none;}
  .formcard.wizard.laststep .submit{display:block;}
  .formcard.wizard .terms-row{display:none;}
  .formcard.wizard.laststep .terms-row{display:flex;}
  .formcard.wizard .wizard-nav{display:flex;gap:12px;margin-top:18px;}

  .wbtn{border:none;cursor:pointer;font-family:'Poppins';font-weight:800;font-size:16px;border-radius:14px;padding:15px 18px;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),filter .3s var(--ease);}
  .wbtn.next{flex:1;background:var(--blue);color:#fff;box-shadow:0 12px 26px -12px rgba(20,104,170,.85);}
  .wbtn.next:hover{transform:translateY(-2px);filter:brightness(1.04);}
  .wbtn.next:active{transform:translateY(0);}
  .wbtn.back{flex:0 0 auto;background:var(--mist);color:var(--ink);border:1px solid var(--line);}
  .wbtn.back:hover{background:#e7eff6;}

  .step-err{color:#c2453a;background:#fdecea;border:1px solid #f4c9c4;border-radius:12px;
    padding:11px 14px;margin-top:14px;font-size:14px;font-weight:700;display:none;}
  .step-err.show{display:block;}

  @media (prefers-reduced-motion: no-preference){
    .formcard.wizard .step-panel.active{animation:wizSlide .42s var(--ease);}
    .formcard.wizard.goingback .step-panel.active{animation:wizSlideBack .42s var(--ease);}
  }
  @keyframes wizSlide{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:none;}}
  @keyframes wizSlideBack{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:none;}}

  /* ---------- WAVE SECTION DIVIDERS (water theme) ---------- */
  .wave{position:absolute;left:0;right:0;line-height:0;z-index:3;pointer-events:none;}
  .wave svg{display:block;width:100%;height:clamp(38px,6vw,82px);}
  .wave-bottom{bottom:-1px;}
  .wave-top{top:-1px;transform:scaleY(-1);}

  /* ---------- PRICING CARD ---------- */
  .pricebox{position:relative;overflow:hidden;
    background:linear-gradient(135deg,#ffffff 0%,#f2f9fd 55%,#e7f3fb 100%);}
  .price-ribbon{position:absolute;top:20px;right:-46px;transform:rotate(45deg);
    background:var(--green);color:#fff;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    padding:7px 54px;box-shadow:0 8px 18px -8px rgba(0,0,0,.35);}
  .price-math{margin-top:14px;color:var(--grey);font-weight:600;font-size:14px;}
  .price-math b{color:var(--blue);}

  /* ---------- ACCENT TOUCHES ---------- */
  .kicker{display:inline-flex;align-items:center;gap:10px;}
  .kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--aqua);flex:0 0 auto;}
  .card .ic{background:linear-gradient(135deg,#e8f5fc,#d2eaf8);}

  /* ---------- RICH FOOTER ---------- */
  footer{position:relative;overflow:hidden;text-align:left;padding:48px 20px 34px;}
  footer::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;
    background:radial-gradient(42% 60% at 10% 0%, rgba(57,194,240,.16), transparent 60%),
              radial-gradient(50% 70% at 100% 100%, rgba(44,170,216,.13), transparent 60%);}
  .foot-grid{position:relative;max-width:1000px;margin:0 auto;display:grid;
    grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:28px;}
  @media(max-width:760px){ .foot-grid{grid-template-columns:1fr 1fr;gap:22px;} }
  @media(max-width:440px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-logo{font-family:'Anton';font-size:24px;color:#fff;letter-spacing:.06em;}
  .foot-brand p{margin:10px 0 0;color:#9fc0da;font-size:14px;max-width:300px;line-height:1.6;}
  .foot-col h4{font-family:'Poppins';font-weight:800;font-size:13px;letter-spacing:.06em;
    text-transform:uppercase;color:#cfe3f2;margin:0 0 8px;}
  .foot-col p{margin:0;color:#9fc0da;font-size:14px;line-height:1.65;}
  .foot-textbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:var(--green);color:#fff !important;font-weight:800;font-size:15px;text-decoration:none;
    padding:12px 18px;border-radius:12px;box-shadow:0 12px 26px -12px rgba(26,162,108,.8);
    transition:transform .3s var(--ease),filter .3s var(--ease);}
  .foot-textbtn:hover{transform:translateY(-2px);filter:brightness(1.05);}
  .foot-cta p{margin:10px 0 0;}
  .foot-bottom{position:relative;max-width:1000px;margin:30px auto 0;padding-top:18px;
    border-top:1px solid rgba(255,255,255,.1);color:#82a7c5;font-size:13px;text-align:center;}

  /* ---------- RESPECT REDUCED MOTION ---------- */
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;
      transition-duration:.001ms !important;scroll-behavior:auto !important;}
    [data-reveal]{opacity:1 !important;transform:none !important;}
    #heroGradient{display:none !important;}
    .hero-sparkle,#successSparkle{display:none !important;}
  }

/* ========== MULTI-PAGE ADDITIONS (2026-07-15 split) ========== */
/* sub-page title band (navy, like the terms page) */
.band{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 70%,#15507e 100%);color:#fff;padding:52px 0 64px;position:relative;overflow:hidden;}
.band .kicker{color:var(--cyan);}
.band h1{font-size:clamp(32px,6vw,50px);line-height:1.05;color:#fff;}
.band p{color:#cfe3f2;max-width:640px;margin:14px 0 0;font-size:16px;}
.band .stamp{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:#eaf4fb;}
.bandwave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;}
.bandwave svg{width:100%;height:46px;display:block;}

/* cross-page CTA band */
.ctaband{background:linear-gradient(160deg,var(--navy),var(--navy2));border-radius:22px;color:#fff;padding:36px 32px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.ctaband h2{font-size:clamp(26px,4vw,38px);color:#fff;}
.ctaband p{color:#cfe3f2;margin:8px 0 0;font-size:15px;max-width:460px;}
.ctaband .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn-outline{background:rgba(255,255,255,.12);color:#fff;padding:14px 22px;font-size:16px;border:1px solid rgba(255,255,255,.28);}
.btn-outline:hover{background:rgba(255,255,255,.2);}

/* nav: current page + mobile hamburger menu */
.links a.active{color:#fff;}
.brand{color:#fff;text-decoration:none;}
.menu-btn{display:none;background:rgba(255,255,255,.12);border:none;border-radius:10px;width:40px;height:40px;
  cursor:pointer;align-items:center;justify-content:center;padding:0;}
@media(max-width:640px){
  .menu-btn{display:flex;}
  .links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    background:#0b243e;z-index:60;padding:10px 20px 16px;gap:2px;border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 18px 30px rgba(0,0,0,.35);}
  .links.open a{display:block !important;padding:13px 4px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.06);}
  .links.open a.btn{margin-top:10px;text-align:center;border-bottom:none;}
}
