*{box-sizing:border-box;margin:0;padding:0}
:root{--s1:#d9f1fd;--s2:#eaf8ff;--s3:#cdeefc;--txt:#06294a;--em:#1389e6;--card:#fff;--cardb:rgba(11,93,143,.12);--shadow:0 10px 26px rgba(10,60,100,.15);--ic:#0b72bd;--ink:#04203c;--cyan:#27d3f5;--yel:#ffd60a;
--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v28C1200 68 960 -8 720 28S240 68 0 28z'/%3E%3C/svg%3E")}
[data-theme=dark]{--s1:#05243f;--s2:#062f50;--s3:#052843;--txt:#eaf6ff;--em:#ffd60a;--card:rgba(255,255,255,.07);--cardb:rgba(255,255,255,.17);--shadow:0 14px 32px rgba(0,0,0,.45);--ic:#27d3f5}
html{scroll-behavior:smooth}
body{font-family:Poppins,'Segoe UI',Arial,sans-serif;color:var(--txt);background:var(--s1);line-height:1.45;overflow-x:hidden;transition:background .5s,color .5s}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.sec{padding:56px 0;position:relative;transition:background .5s}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3{font-family:Montserrat,'Segoe UI',Arial,sans-serif}
h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:24px;letter-spacing:-.01em}
h2 em{font-style:italic;color:var(--em);position:relative;white-space:nowrap}
h2 em::after{content:"";position:absolute;left:0;bottom:-14px;width:0;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 16' preserveAspectRatio='none'%3E%3Cpath d='M3 9C30 1 54 1 81 8S130 15 155 5' fill='none' stroke='%23ffd60a' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 13C39 7 61 6 87 10S130 13 150 9' fill='none' stroke='%2327d3f5' stroke-width='1.6' stroke-linecap='round' opacity='.9'/%3E%3Ccircle cx='156' cy='5' r='3.2' fill='%23ffd60a'/%3E%3C/svg%3E") center/100% 100% no-repeat;filter:drop-shadow(0 2px 2px rgba(4,54,88,.2));transform-origin:left center;transition:width 1s .5s cubic-bezier(.2,.7,.2,1)}
.in h2 em::after,h2.in em::after{width:100%}
.progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:60;background:linear-gradient(90deg,var(--cyan),var(--yel));transform-origin:0 50%;transform:scaleX(0)}
.theme{position:fixed;right:20px;bottom:104px;z-index:60;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:linear-gradient(135deg,#0b72bd,#04203c);color:var(--yel);font-size:24px;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.35);transition:transform .35s}
.theme:hover{transform:rotate(25deg) scale(1.1)}
.theme .moon,[data-theme=dark] .theme .sun{display:none}[data-theme=dark] .theme .moon{display:block}
.bubbles{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.bubbles span{position:absolute;bottom:-30px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),rgba(120,200,240,.12));animation:rise linear infinite}
@keyframes rise{to{transform:translateY(-110vh) translateX(var(--dx));opacity:0}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:50px;font:600 15px Poppins,sans-serif;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btn svg{font-size:20px}.btn .ar{transition:transform .25s}
.btn:hover{transform:translateY(-3px)}.btn:hover .ar{transform:translateX(5px)}
.yellow{background:linear-gradient(135deg,#ffe44d,var(--yel) 60%,#ffb800);color:var(--ink);box-shadow:0 10px 26px rgba(255,190,0,.4)}
.ghost{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.ghost:hover{background:rgba(255,255,255,.22)}
.green{background:linear-gradient(135deg,#25d366,#0f9d46);color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.35)}
.shine::after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:shine 3.4s infinite}
@keyframes shine{0%,60%{left:-70%}100%{left:130%}}
.full{width:100%}

/* hero (always deep ocean, like reference) */
.hero{position:relative;color:#fff;min-height:780px;padding:80px 0 150px;background:radial-gradient(ellipse at 20% 15%,#0b78b0,#03223f 72%);overflow:hidden}
.rays{position:absolute;inset:0;background:repeating-linear-gradient(105deg,rgba(255,255,255,.08) 0 40px,transparent 40px 110px);-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%);animation:sway 9s ease-in-out infinite alternate}
@keyframes sway{to{transform:translateX(50px) skewX(4deg)}}
.hero-img{position:absolute;right:0;top:0;width:58%;height:85%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%);will-change:transform}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center center;animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-14px) scale(1.02)}}
.hero-grid{display:flex;align-items:flex-end;justify-content:space-between;min-height:540px}
.hero-text{max-width:600px}
.kicker{letter-spacing:.45em;font-weight:600;font-size:15px;color:var(--cyan);margin-bottom:6px}
.hero h1{font-style:italic;font-weight:900;line-height:.98;margin-bottom:22px}
.hero h1 .w{display:block;font-size:clamp(46px,7vw,84px);text-shadow:0 6px 24px rgba(0,0,0,.4)}
.hero h1 .y{display:block;position:relative;font-size:clamp(46px,7vw,84px);background:linear-gradient(90deg,#ffe44d,#ffb800,#ffe44d);background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gl 5s linear infinite}
@keyframes gl{to{background-position:200%}}
.lead{font-size:21px;font-weight:500;margin-bottom:10px;max-width:480px}
.sub{font-size:15px;opacity:.88;margin-bottom:28px;max-width:470px}
.stats{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:30px}
.stats div{display:flex;flex-direction:column;gap:2px;font-size:12px;max-width:100px}
.stats svg{font-size:30px;color:var(--yel);margin-bottom:4px}
.stats strong{font-family:Montserrat;font-size:22px}.stats small{opacity:.85}
.btns{display:flex;gap:16px;flex-wrap:wrap}
.price-tag{position:relative;color:var(--ink);padding:44px 40px 22px;text-align:center;transform:rotate(-4deg);background:linear-gradient(135deg,#ffe44d,#ffc400);clip-path:polygon(0 8%,100% 0,97% 100%,3% 94%);animation:pulse 3s ease-in-out infinite;margin-bottom:10px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.4))}
@keyframes pulse{50%{transform:rotate(-4deg) scale(1.05)}}
.price-tag small{display:block;font-weight:700;font-size:14px}
.price-tag strong{display:block;font:900 clamp(40px,5vw,60px)/1.05 Montserrat}.price-tag em{font-weight:700;font-size:14px}
.offer-label{position:absolute;top:3px;left:50%;width:calc(100% - 28px);transform:translateX(-50%);padding:8px 36px;border-radius:4px 4px 18px 18px;background:linear-gradient(135deg,#ff5a48,#e52b36 55%,#c91931);color:#fff;font:800 12px Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;box-shadow:0 7px 0 rgba(146,11,31,.16),0 10px 18px rgba(128,8,25,.28);overflow:hidden}
.offer-label::before,.offer-label::after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#ffd96a;font-size:12px;text-shadow:0 0 8px rgba(255,255,255,.8)}
.offer-label::before{left:14px}.offer-label::after{right:14px}
.wave{position:absolute;left:0;bottom:-1px;width:200%;height:110px;animation:slide 14s linear infinite}
.wave .w1{fill:rgba(255,255,255,.3)}.wave .w2{fill:var(--s1);transition:fill .5s}
@keyframes slide{to{transform:translateX(-50%)}}

/* info bar */
.infobar{display:grid;grid-template-columns:repeat(4,1fr);margin-top:-54px;position:relative;z-index:5;background:linear-gradient(135deg,#052b4d,#0a3f6c);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:22px 8px;box-shadow:0 24px 50px rgba(3,34,63,.4)}
.infobar div{display:flex;align-items:center;gap:14px;padding:0 24px;border-right:1px solid rgba(255,255,255,.25)}
.infobar div:last-child{border:0}
.infobar svg{font-size:36px;color:var(--cyan)}
.infobar small{display:block;font-size:13px;opacity:.8}.infobar b{font-size:17px}
.infobar-w{background:var(--s1);padding-bottom:0;transition:background .5s}

/* cards */
.card,.inc-list div,.rev,.faq details{background:var(--card);border:1px solid var(--cardb);box-shadow:var(--shadow);border-radius:18px;transition:transform .25s ease-out,box-shadow .3s,background .5s}
.card:hover,.inc-list div:hover{box-shadow:0 22px 40px rgba(10,60,100,.28)}
.who{background:var(--s1)}
.who h2{text-align:center}
.who .cards5{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}
.who .cards5 .card{flex:0 1 205px}
.cards5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cards5 .card{padding:24px 10px;text-align:center;font-weight:600;font-size:14px}
.cards5 svg,.inc-list svg{display:block;margin:0 auto 12px;font-size:44px;color:var(--ic)}
.who-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;align-items:center}
.video{position:relative;display:block;border-radius:20px;overflow:hidden;border:4px solid #fff;box-shadow:0 24px 50px rgba(3,34,63,.45);color:#fff;text-decoration:none;transition:transform .4s}
.video:hover{transform:scale(1.03) rotate(-1deg)}
.video img{display:block;width:100%;min-height:200px;object-fit:cover}
.video::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.65))}
.video b{position:absolute;left:16px;bottom:14px;z-index:2;font-size:16px;line-height:1.25;font-family:Montserrat}
.play{position:absolute;z-index:2;left:50%;top:42%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:22px}
.play i{position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:ring 2s infinite}
@keyframes ring{to{transform:scale(1.9);opacity:0}}
.dur{position:absolute;z-index:2;right:12px;bottom:12px;background:rgba(0,0,0,.6);padding:3px 10px;border-radius:8px;font-size:12px}
.video-sec{position:relative;padding:52px 0 18px;background:var(--s1);transition:background .5s}
.video-wide{width:min(100%,920px);margin:0 auto;border-radius:30px;border-width:7px}
.video-wide img{width:100%;height:auto;aspect-ratio:16/7.5;object-fit:cover}
.video-wide b{left:32px;bottom:28px;font-size:clamp(20px,3vw,32px)}
.video-wide .dur{right:24px;bottom:24px;font-size:16px;padding:7px 14px;border-radius:24px}
.video-wide .play{top:44%;width:92px;height:92px;font-size:32px}
.video-sec+.who{padding-top:30px}

/* Who section: eligibility cards + occasion carousel */
.who h2{margin-bottom:30px}
.who-split{display:grid;grid-template-columns:.9fr 1.25fr;gap:24px;align-items:stretch}
.who-split .cards5{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.who-split .cards5 .card{display:flex;flex:initial;flex-direction:column;align-items:center;justify-content:center;min-height:148px;padding:20px 14px;border-radius:20px}
.who-split .cards5 svg{font-size:40px}
.occasion-showcase{min-width:0;padding:18px;border:1px solid rgba(255,255,255,.28);border-radius:26px;color:#fff;background:linear-gradient(145deg,#063a5e,#05243f);box-shadow:0 20px 42px rgba(3,34,63,.28)}
.occasion-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.occasion-heading span{color:var(--cyan);font:700 10px Poppins,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.occasion-heading h3{margin:0;color:#fff;font-size:18px;text-align:right}
.occasion-slider{position:relative;min-height:335px;overflow:hidden;border-radius:18px;background:#04203c;cursor:grab;touch-action:pan-y;user-select:none}
.occasion-slider.is-dragging{cursor:grabbing}
.occasion-slider.is-dragging .occasion-slide.is-active{transform:translateX(var(--occasion-drag-x,0));transition:none}
.occasion-slide{position:absolute;inset:0;width:100%;padding:0;overflow:hidden;border:0;color:#fff;background:#04203c;font:inherit;text-align:left;opacity:0;pointer-events:none;transform:translateX(24px) scale(.985);transition:opacity .65s ease,transform .65s ease}
.occasion-slide.is-active{opacity:1;pointer-events:auto;transform:none}
.occasion-detail-trigger{position:absolute;inset:0;z-index:2;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.occasion-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 5.2s ease}
.occasion-slide.is-active img{transform:scale(1.06)}
.occasion-slide::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(2,18,33,.92))}
.occasion-slide-copy{position:absolute;left:20px;right:20px;bottom:67px;z-index:3;display:block;pointer-events:none}
.occasion-slide-copy small{display:block;margin-bottom:5px;color:var(--cyan);font:700 10px Poppins,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.occasion-slide-copy strong{display:block;margin-bottom:4px;font:800 clamp(18px,2.1vw,26px)/1.16 Montserrat,sans-serif}
.occasion-slide-copy em{display:block;max-width:440px;color:#d9f5ff;font-size:11.5px;font-style:normal}
.occasion-slide-actions{position:absolute;left:18px;right:18px;bottom:16px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px}
.occasion-open{padding:8px 11px;border:1px solid rgba(255,255,255,.4);border-radius:30px;background:rgba(4,32,60,.55);font-size:10px;font-weight:600;pointer-events:none;backdrop-filter:blur(7px)}
.occasion-sample-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:9px 15px;border:1px solid rgba(255,209,0,.78);border-radius:30px;color:#05243f;background:linear-gradient(135deg,#ffe45b,#ffc400);box-shadow:0 8px 20px rgba(255,196,0,.24);font:800 10px/1.1 Poppins,sans-serif;text-decoration:none;transition:transform .2s,box-shadow .2s,filter .2s}
.occasion-sample-link:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 11px 26px rgba(255,196,0,.34)}
.occasion-sample-link.is-pending{animation:samplePending .5s ease}
@keyframes samplePending{50%{transform:translateY(-2px) scale(1.04);filter:brightness(1.14)}}
.occasion-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.occasion-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer;transition:width .25s,background .25s}
.occasion-dots button.is-active{width:25px;border-radius:10px;background:var(--yel)}

/* Occasion detail dialog */
.occasion-dialog{width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:2px solid var(--cyan);border-radius:28px;color:#fff;background:#05243f;box-shadow:0 34px 90px rgba(0,0,0,.55)}
.occasion-dialog::backdrop{background:rgba(0,12,24,.82);backdrop-filter:blur(8px)}
.occasion-dialog[open]{animation:occasionPop .28s ease-out}
@keyframes occasionPop{from{opacity:0;transform:translateY(18px) scale(.975)}}
.occasion-dialog-shell{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:0;min-height:570px}
.occasion-dialog-close{position:absolute;top:18px;right:18px;z-index:4;display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--cyan);border-radius:50%;color:#fff;background:rgba(5,36,63,.82);font:400 32px/1 Poppins,sans-serif;cursor:pointer;transition:transform .25s,background .25s}
.occasion-dialog-close:hover{transform:rotate(90deg);background:#0b72bd}
.occasion-dialog-image{min-height:420px;padding:28px 14px 28px 28px}
.occasion-dialog-image img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:20px}
.occasion-dialog-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 42px 46px}
.occasion-dialog-kicker{margin-bottom:14px;color:var(--cyan);font:600 11px Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.occasion-dialog-copy h2{margin-bottom:20px;color:#fff;font-size:clamp(30px,4vw,48px);line-height:1.08}
.occasion-dialog-copy>p:not(.occasion-dialog-kicker){margin-bottom:22px;color:#d7eaf5;font-size:15px;line-height:1.75}
.occasion-dialog-copy ul{display:grid;gap:11px;margin:0 0 26px;padding:0;list-style:none}
.occasion-dialog-copy li{position:relative;padding-left:24px;color:#fff;font-size:13.5px}
.occasion-dialog-copy li::before{content:"✓";position:absolute;left:0;color:var(--yel);font-weight:800}
.occasion-dialog-cta{align-self:flex-start;animation:none}
@media(max-width:850px){
 .who-split{grid-template-columns:1fr}.who-split .cards5 .card{min-height:125px}.occasion-slider{min-height:360px}
 .occasion-dialog-shell{grid-template-columns:1fr;min-height:0}.occasion-dialog-image{min-height:0;padding:18px 18px 0}.occasion-dialog-image img{height:min(38vh,300px);min-height:0}.occasion-dialog-copy{padding:30px 24px 34px}.occasion-dialog-close{top:12px;right:12px}
}
@media(max-width:520px){
 .who-split .cards5{gap:9px}.who-split .cards5 .card{min-height:118px;padding:14px 8px;font-size:11px}.who-split .cards5 svg{font-size:32px}.occasion-showcase{padding:12px;border-radius:20px}.occasion-heading{display:block}.occasion-heading h3{margin-top:3px;text-align:left}.occasion-slider{min-height:345px}.occasion-slide-copy{left:15px;right:15px;bottom:68px}.occasion-slide-copy strong{font-size:18px}.occasion-slide-copy em{padding-right:0}.occasion-slide-actions{left:12px;right:12px;bottom:13px}.occasion-open{display:none}.occasion-sample-link{width:100%;min-height:38px;padding:9px 12px;font-size:10px}.occasion-dialog{width:calc(100% - 18px);border-radius:20px}.occasion-dialog-copy h2{font-size:29px}
 .who-split .cards5 .card:last-child{grid-column:auto}
}

/* wavy edges (CSS mask) */
.roadmap::before,.roadmap::after{content:"";position:absolute;left:0;width:100%;height:56px;z-index:1;-webkit-mask:var(--wave) center/100% 100%;mask:var(--wave) center/100% 100%;transition:background .5s}
.roadmap::before{top:-1px;background:var(--s1)}
.roadmap::after{bottom:-1px;background:var(--s2);transform:scaleY(-1)}

/* roadmap (blue band, white text — same in both themes) */
.roadmap{color:#fff;background:linear-gradient(180deg,#0c74ad,#075283 60%,#06406b);padding:88px 0}
.roadmap h2 em{color:var(--yel)}
.rm-grid{display:block;max-width:1080px}
.rm-main{text-align:center}
.rm-sub{opacity:.9;margin-bottom:32px}
.steps{display:flex;align-items:center;gap:10px}
.step{flex:1;display:flex;flex-direction:column;align-items:center;padding:0 0 22px;font-size:14px;text-align:center;background:rgba(4,40,72,.55);border:1.5px solid rgba(120,215,255,.7);border-radius:18px;backdrop-filter:blur(8px);overflow:hidden;transition:transform .3s,box-shadow .3s}
.step:hover{transform:translateY(-8px);box-shadow:0 18px 36px rgba(0,0,0,.35)}
.step img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:2px solid rgba(120,215,255,.55)}
.step p{padding:18px 18px 0}
.step b{display:block;font-size:15px;color:var(--yel);margin-bottom:4px;font-family:Montserrat}
.steps i{font-size:22px;color:var(--yel);animation:nudge 1.4s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(6px)}}

/* autoplay video testimonial carousel */
.video-testimonials{overflow:hidden;background:linear-gradient(180deg,var(--s1),var(--s2))}
.video-testimonials .head{margin-bottom:30px}
.video-kicker{display:inline-block;margin-bottom:8px;padding:5px 13px;border-radius:30px;color:#07527f;background:rgba(39,211,245,.18);font:700 11px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase}
[data-theme=dark] .video-kicker{color:var(--cyan)}
.video-review-viewport{overflow:hidden;padding:8px 4px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.video-review-track{display:flex;gap:16px;width:100%;animation:videoReviewLoop4 34s linear infinite;will-change:transform}
.video-review-viewport:hover .video-review-track,.video-review-viewport:focus-within .video-review-track{animation-play-state:paused}
.video-review-card{position:relative;flex:0 0 calc((100% - 48px)/4);min-width:0;overflow:hidden;border:1px solid var(--cardb);border-radius:22px;background:var(--card);box-shadow:0 14px 30px rgba(4,55,89,.2);cursor:pointer;transition:transform .3s,box-shadow .3s}
.video-review-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px rgba(4,55,89,.28)}
.video-review-open{position:absolute;inset:0;z-index:4;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.video-review-open:focus-visible{outline:3px solid var(--yel);outline-offset:-5px}
.video-review-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:#063a5d}
.video-review-media::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(2,22,38,.78));pointer-events:none}
.video-review-media img{display:block;width:100%;height:100%;object-fit:cover;animation:reviewKenBurns 9s ease-in-out infinite alternate}
.video-review-play{position:absolute;left:50%;top:48%;z-index:2;display:grid;place-items:center;width:50px;height:50px;border:2px solid rgba(255,255,255,.8);border-radius:50%;color:#04203c;background:rgba(255,255,255,.92);font-size:17px;transform:translate(-50%,-50%);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.video-review-copy{padding:15px 16px 17px}
.video-review-copy p{min-height:42px;margin-bottom:9px;font:700 13px/1.45 Montserrat,sans-serif}
.video-review-copy span{display:block;color:var(--em);font-size:10.5px;font-weight:600}
.video-review-note{text-align:center;margin-top:2px;opacity:.65;font-size:10.5px}
.video-review-dialog{width:min(920px,calc(100% - 30px));max-height:calc(100dvh - 30px);margin:auto;padding:0;overflow:auto;border:1px solid rgba(80,220,255,.7);border-radius:26px;color:#fff;background:#05243f;box-shadow:0 32px 90px rgba(0,0,0,.6)}
.video-review-dialog::backdrop{background:rgba(0,13,25,.84);backdrop-filter:blur(9px)}
.video-review-dialog[open]{animation:videoDialogIn .28s ease-out}
@keyframes videoDialogIn{from{opacity:0;transform:translateY(18px) scale(.98)}}
.video-review-dialog-shell{position:relative;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(300px,1fr);min-height:520px}
.video-review-dialog-close{position:absolute;top:16px;right:16px;z-index:3;display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;background:rgba(4,32,60,.82);font:400 31px/1 Poppins,sans-serif;cursor:pointer;transition:transform .22s,background .22s}
.video-review-dialog-close:hover{transform:rotate(90deg);background:#0b72bd}
.video-review-dialog-media{min-height:520px;overflow:hidden;background:#031d33}
.video-review-dialog-media img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.video-review-dialog-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 54px 54px;background:radial-gradient(circle at 100% 0,rgba(39,211,245,.18),transparent 38%),linear-gradient(145deg,#063b61,#05243f)}
.video-review-dialog-copy>span{margin-bottom:22px;color:var(--cyan);font:700 11px Poppins,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.video-review-dialog-copy blockquote{margin:0 0 24px;color:#fff;font:800 clamp(25px,3.6vw,42px)/1.25 Montserrat,sans-serif}
.video-review-dialog-copy p{color:var(--yel);font-size:14px;font-weight:600}
@keyframes videoReviewLoop4{to{transform:translateX(calc(-100% - 16px))}}
@keyframes reviewKenBurns{to{transform:scale(1.055) translateY(-1.2%)}}
@media(max-width:900px){
 .video-review-card{flex-basis:calc((100% - 16px)/2)}
 .video-review-track{animation-name:videoReviewLoop2}
 @keyframes videoReviewLoop2{to{transform:translateX(calc(-200% - 32px))}}
}
@media(max-width:560px){
 .video-testimonials .head{margin-bottom:22px}.video-review-card{flex-basis:100%}.video-review-track{animation-name:videoReviewLoop1;animation-duration:30s}.video-review-media{aspect-ratio:4/4.6}
 .video-review-dialog{width:calc(100% - 18px);border-radius:20px}.video-review-dialog-shell{grid-template-columns:1fr;min-height:0}.video-review-dialog-media{min-height:0;height:min(52vh,430px)}.video-review-dialog-media img{min-height:0}.video-review-dialog-copy{padding:25px 22px 30px}.video-review-dialog-copy>span{margin-bottom:12px}.video-review-dialog-copy blockquote{margin-bottom:13px;font-size:23px}.video-review-dialog-close{top:11px;right:11px;width:42px;height:42px}
 @keyframes videoReviewLoop1{to{transform:translateX(calc(-400% - 64px))}}
}
@media(prefers-reduced-motion:reduce){.video-review-track,.video-review-media img{animation:none!important}}

/* included */
.included{background:var(--s2)}
.inc-grid{display:grid;grid-template-columns:2.5fr 1fr;gap:34px;align-items:center}
.inc-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px}
.inc-list div{padding:22px 10px;text-align:center;font-size:13px}
.fee{text-align:center;padding-left:30px;border-left:1px solid var(--cardb)}
.fee h3{margin-bottom:10px;font-size:20px}
.fee-tag{background:linear-gradient(135deg,#ffe44d,#ffc400);color:var(--ink);padding:10px 24px;margin-bottom:16px;transform:rotate(-2deg);border-radius:6px;box-shadow:0 10px 20px rgba(255,190,0,.35)}
.fee-tag strong{display:block;font:900 44px/1.1 Montserrat}.fee-tag em{font-weight:700;font-size:13px}

/* why */
.why{background:var(--s2);padding:48px 0}
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1.05fr);gap:42px;align-items:center}
.why-text{max-width:540px}
.why-text h2{margin-bottom:20px}
.why-text p{opacity:.9;font-size:15px}
.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.badges .card{padding:16px 8px;text-align:center;font-size:12px}
.badges svg{display:block;margin:0 auto 8px;font-size:32px;color:var(--ic)}
.badges b{display:block;line-height:1.25}.badges small{font-size:9px;opacity:.8}

/* reviews + faq */
.rf{background:linear-gradient(var(--s2),var(--s3));padding-top:40px;padding-bottom:110px}
.rf-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px}
.rev-row{display:flex;align-items:center;gap:12px}
.rev-track{flex:1;position:relative;min-height:176px}
.rev{position:absolute;inset:0;padding:22px;font-size:14px;opacity:0;transform:translateX(30px);pointer-events:none;transition:opacity .6s,transform .6s}
.rev.on{opacity:1;transform:none;pointer-events:auto}
.who-n{display:flex;align-items:center;gap:10px;font-size:16px}
.av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),#0b7ac0);color:#fff;display:grid;place-items:center;font-weight:700}
.stars{color:#f5a400;margin:8px 0;letter-spacing:3px}
.arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--cardb);background:var(--card);color:var(--txt);font-size:22px;cursor:pointer;flex:none;box-shadow:var(--shadow);transition:.25s}
.arrow:hover{background:var(--yel);color:var(--ink)}
.dots{text-align:center;margin-top:16px}
.dots i{display:inline-block;width:9px;height:9px;border-radius:50%;background:rgba(11,93,143,.3);margin:0 4px;transition:.3s}
.dots i.on{background:var(--em);width:26px;border-radius:6px}
.faq{border-left:1px solid var(--cardb);padding-left:40px}
.faq details{margin-bottom:12px;padding:15px 20px;font-size:15px;border-radius:12px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--em);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-top:10px;opacity:.88;font-size:14px;animation:drop .4s}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}

/* final CTA: centered closing message */
.cta{position:relative;overflow:hidden;padding:84px 0 60px;color:#fff;background:radial-gradient(circle at 82% 32%,rgba(39,211,245,.15),transparent 30%),linear-gradient(135deg,#04304f,#075e8b)}
.cta::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:44px;z-index:1;background:var(--s3);-webkit-mask:var(--wave) center/100% 100%;mask:var(--wave) center/100% 100%}
.cta-grid{display:block}
.cta-text{max-width:760px;margin:0 auto;text-align:center}
.cta-kicker{display:inline-block;margin-bottom:12px;color:var(--cyan);font:700 11px Poppins,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.cta-text h2{margin-bottom:18px;color:#fff;font-size:clamp(34px,4.8vw,58px);line-height:1.08}
.cta-text h2 em{display:block;color:var(--yel)}
.cta-text p{max-width:620px;margin:0 auto;color:#dceefa;font-size:16px;line-height:1.7}

:focus-visible{outline:3px solid var(--yel);outline-offset:3px}
@media(max-width:960px){
 .hero{padding-bottom:130px}.hero-img{width:100%;opacity:.45;-webkit-mask-image:linear-gradient(180deg,#000 0 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 72%,transparent 100%)}
 .hero-img img{object-position:center center}
 .hero-grid{flex-direction:column;align-items:flex-start;gap:30px}
 .infobar{grid-template-columns:1fr 1fr;gap:16px}.infobar div{border:0;padding:0 14px}
 .who-grid,.rm-grid,.inc-grid,.why-grid,.rf-grid,.cta-grid{grid-template-columns:1fr}
 .cards5,.inc-list{grid-template-columns:repeat(2,1fr)}
 .steps{flex-direction:column;align-items:stretch}.steps i{transform:rotate(90deg);align-self:center;animation:none}
 .badges{grid-template-columns:repeat(2,1fr)}
 .fee,.faq{border:0;padding:0}
 .cta-text{max-width:760px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}h2 em::after{width:100%}}

/* ===== v4: richer sections, stylish buttons, mobile ===== */
.head{text-align:center;max-width:680px;margin:0 auto 32px}
.head p{opacity:.85;margin-top:-6px}
.ring{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,rgba(39,211,245,.25),rgba(19,137,230,.18));border:1.5px solid rgba(19,137,230,.35);box-shadow:inset 0 0 14px rgba(255,255,255,.5),0 8px 18px rgba(19,137,230,.18);transition:transform .4s}
.ring svg{font-size:30px;margin:0!important;color:var(--ic)}
.card:hover .ring,.inc-list div:hover .ring{transform:rotate(-8deg) scale(1.1)}
/* underwater feel */
.uw{overflow:hidden;background-image:radial-gradient(circle at 8% 25%,rgba(39,211,245,.28),transparent 38%),radial-gradient(circle at 92% 75%,rgba(19,137,230,.22),transparent 42%),linear-gradient(var(--s2),var(--s2))}
.uw::before,.uw::after{content:"";position:absolute;bottom:0;width:150px;height:320px;opacity:.28;background:linear-gradient(#27d3f5,#0b72bd);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 240'%3E%3Cpath d='M20 240C-5 180 45 150 22 90S35 15 28 0C50 50 12 95 40 150S55 205 48 240zM60 240C40 190 85 160 66 110S80 40 74 20C96 70 58 110 84 160S95 210 88 240zM98 240C84 200 112 180 104 140S116 100 112 85C126 120 100 150 118 190V240z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 240'%3E%3Cpath d='M20 240C-5 180 45 150 22 90S35 15 28 0C50 50 12 95 40 150S55 205 48 240zM60 240C40 190 85 160 66 110S80 40 74 20C96 70 58 110 84 160S95 210 88 240zM98 240C84 200 112 180 104 140S116 100 112 85C126 120 100 150 118 190V240z'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform-origin:bottom;animation:weed 6s ease-in-out infinite alternate}
.uw::before{left:-20px}.uw::after{right:-20px;transform:scaleX(-1);animation-delay:-3s}
@keyframes weed{to{transform:skewX(6deg)}}
.uw::after{animation-name:weed2}@keyframes weed2{from{transform:scaleX(-1) skewX(0)}to{transform:scaleX(-1) skewX(6deg)}}
.included{padding-bottom:58px}
.inc-grid{grid-template-columns:2.6fr 1fr}
.inc-list div{position:relative;isolation:isolate;display:flex;flex:0 0 150px;flex-direction:column;justify-content:center;width:150px;height:150px;min-height:0;aspect-ratio:1;padding:16px;color:#04203c;font-size:10.5px;font-weight:700;line-height:1.25;border:3px solid #19cceb;border-radius:50%;background:radial-gradient(circle at 32% 18%,#fff 0 13%,rgba(255,255,255,.2) 14%),linear-gradient(165deg,#fafdff 24%,#dcf6ff 72%,#9be7f5 100%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.82),inset 0 -18px 24px rgba(0,155,202,.28),0 0 0 2px #ffd60a,0 0 0 5px rgba(255,255,255,.95),0 0 18px rgba(0,207,241,.72),0 16px 28px rgba(0,44,75,.3)}
.inc-list div::before{content:"";position:absolute;inset:8px;z-index:-1;border-top:2px solid rgba(255,255,255,.95);border-left:1px solid rgba(255,255,255,.5);border-radius:50%;filter:blur(.1px);pointer-events:none}
.inc-list div:hover{border-color:#08d7f7;box-shadow:inset 0 0 0 4px rgba(255,255,255,.86),inset 0 -20px 26px rgba(0,155,202,.32),0 0 0 2px #ffd60a,0 0 0 5px #fff,0 0 25px rgba(0,207,241,.88),0 20px 36px rgba(0,44,75,.38)}
.inc-list .ring{width:38px;height:38px;margin-bottom:7px;color:#04203c;border:2px solid #d3a700;background:linear-gradient(145deg,#fff38a 0,#ffd60a 58%,#efb900 100%);box-shadow:inset 0 2px 4px rgba(255,255,255,.7),0 5px 0 #b98f00,0 8px 14px rgba(92,68,0,.28)}
.inc-list .ring svg{font-size:19px;color:#04203c;stroke-width:2}
[data-theme=dark] .inc-list div{color:#04203c}
.fee{position:relative;background:var(--card);border:1px solid var(--cardb);border-radius:24px;padding:36px 22px 26px;box-shadow:var(--shadow)}
.fee small{display:block;margin-top:12px;opacity:.7;font-size:12px}
.ribbon{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#ff5a48,#e52b36 55%,#c91931);color:#fff;font:800 12px Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase;padding:8px 22px;border:2px solid rgba(255,255,255,.72);border-radius:30px;white-space:nowrap;box-shadow:0 8px 18px rgba(145,12,32,.3)}
.why-text p{margin-bottom:20px;line-height:1.65}
.badges{grid-template-columns:1fr 1fr;align-self:center;gap:14px}
.badges .card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:142px;padding:18px 12px;text-align:center}
.badges .ring{width:54px;height:54px}
.badges .card b{font-size:14px;line-height:1.3}
.badges .card small{margin-top:4px;font-size:10px;opacity:.75}
.numbers{display:grid;grid-template-columns:repeat(6,1fr);margin-top:26px;background:linear-gradient(135deg,#052b4d,#0a3f6c);color:#fff;border-radius:22px;padding:22px 10px;text-align:center;box-shadow:0 22px 44px rgba(3,34,63,.3)}
.numbers div+div{border-left:1px solid rgba(255,255,255,.2)}
.numbers strong{display:block;font:800 30px Montserrat;color:var(--yel)}.numbers small{opacity:.85;font-size:13px}
.safety{background:var(--s3)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid4 .card{padding:30px 20px;text-align:center}
.grid4 h4{font:700 17px Montserrat;margin-bottom:6px}.grid4 p{font-size:14px;opacity:.85}
.ticker{background:linear-gradient(90deg,#0a4f82,#0c74ad,#0a4f82);color:#fff;overflow:hidden;padding:18px 0;white-space:nowrap;border-block:1px solid rgba(255,255,255,.2)}
.tick-track{display:inline-flex;gap:46px;animation:tick 32s linear infinite;font:600 17px Montserrat}
.ticker:hover .tick-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.prep{background:var(--s2)}
.prep-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:30px}
.bring,.how{background:var(--card);border:1px solid var(--cardb);box-shadow:var(--shadow);border-radius:26px;padding:34px}
.bring ul{list-style:none}
.eligibility-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eligibility-panel{padding:16px;border:1px solid var(--cardb);border-radius:18px;background:rgba(255,255,255,.34)}
.eligibility-panel h3{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:800 14px/1.25 Montserrat,sans-serif}
.eligibility-panel h3 svg{flex:none;font-size:23px}
.eligibility-panel li{position:relative;padding:8px 0 8px 18px;border-bottom:1px dashed var(--cardb);font-size:11.5px;font-weight:500;line-height:1.45}
.eligibility-panel li:last-child{border-bottom:0}
.eligibility-panel li::before{content:"";position:absolute;top:14px;left:2px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}
.can-dive{background:linear-gradient(145deg,rgba(31,190,105,.12),rgba(255,255,255,.34))}.can-dive h3{color:#11944f}
.cannot-dive{background:linear-gradient(145deg,rgba(239,82,82,.1),rgba(255,255,255,.34))}.cannot-dive h3{color:#d63e46}
.note{margin-top:16px;font-size:13px;background:rgba(255,214,10,.22);padding:10px 14px;border-radius:12px}
.how ol{list-style:none;position:relative}
.how ol::before{content:"";position:absolute;left:21px;top:20px;bottom:30px;border-left:2px dashed var(--em);opacity:.5}
.how li{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px;position:relative}
.how li b{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe44d,#ffb800);color:var(--ink);font:800 18px Montserrat;box-shadow:0 8px 16px rgba(255,190,0,.4)}
.how strong{display:block;font:700 17px Montserrat}.how p{font-size:14px;opacity:.85}
/* reviews */
.rf{padding-bottom:52px}
.rev-row{display:flex;gap:14px;align-items:center}
.rev-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0;padding:10px 4px 24px}
.rev-track::-webkit-scrollbar{display:none}
.rev{position:relative;inset:auto;flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;opacity:1;transform:none;pointer-events:auto;padding:30px 26px;border-radius:24px;transition:transform .3s,box-shadow .3s}
.rev:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(10,60,100,.25)}
.rev .q{position:absolute;top:6px;right:22px;font:900 90px/1 Georgia,serif;color:var(--em);opacity:.18}
.rev .txt{font-size:15px;line-height:1.7;margin:6px 0 20px;min-height:76px}
.rev .who-n{margin-top:auto;border-top:1px solid var(--cardb);padding-top:16px}
.rev .who-n small{display:block;font-size:12px;opacity:.7}
.faq{max-width:820px;margin:50px auto 0;border:0;padding:0}
.faq h2{text-align:center}
.faq details{border-radius:16px;padding:18px 22px}
.faq details[open]{border-color:var(--em)}
/* stylish buttons */
.btn{letter-spacing:.2px;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.btn .ar{width:30px;height:30px;padding:6px;border-radius:50%;background:rgba(4,32,60,.14);transition:transform .25s,background .25s}
.btn:hover .ar{background:var(--ink);color:var(--yel)}
.yellow:hover{box-shadow:0 16px 34px rgba(255,190,0,.55)}
.ghost::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%);transition:transform .6s}
.ghost:hover::before{transform:translateX(120%)}
.outline-d{border-color:#0b72bd;color:#0b72bd;background:transparent;box-shadow:none}
.outline-d:hover{background:#0b72bd;color:#fff}
[data-theme=dark] .outline-d{border-color:var(--cyan);color:var(--cyan)}[data-theme=dark] .outline-d:hover{background:var(--cyan);color:var(--ink)}
.green{animation:glow 2.6s infinite}
@keyframes glow{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}
@media(max-width:960px){
 .inc-grid,.why-grid,.prep-grid{grid-template-columns:1fr}
 .why-grid{gap:26px}.why-text{max-width:none}.badges .card{min-height:132px}
 .grid4{grid-template-columns:1fr 1fr}
 .numbers{grid-template-columns:repeat(3,1fr);gap:18px 0}.numbers div:nth-child(4){border-left:0}
 .rev{flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:640px){
 .sec{padding:42px 0}.wrap{padding:0 18px}
 h2{font-size:clamp(25px,8vw,32px);line-height:1.14}
 .hero{min-height:0;padding:56px 0 120px}.hero-grid{min-height:0}
 .hero-text{width:100%}.price-tag{max-width:100%;padding-inline:26px}.offer-label{padding-inline:28px;font-size:10px}
 .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}
 .stats div{min-width:0;max-width:none;gap:1px}
 .stats svg{font-size:25px;margin-bottom:2px}
 .stats strong{font-size:18px;white-space:nowrap}
 .stats small{font-size:9px;line-height:1.25}
 .btns .btn{width:100%}
 .price-tag{align-self:center}
 .infobar{margin-top:-44px;padding:18px 4px}.infobar div{padding:0 8px}.infobar svg{font-size:28px}.infobar b{font-size:15px}
 .cards5,.inc-list{grid-template-columns:1fr 1fr}.inc-list div:last-child{grid-column:1/-1}
 .roadmap{padding:76px 0}
 .badges{grid-template-columns:1fr 1fr}
 .grid4{grid-template-columns:1fr}
 .numbers{grid-template-columns:1fr 1fr}.numbers div{border:0!important}
 .numbers{margin-top:22px;padding:18px 8px}.numbers strong{font-size:25px}.numbers small{font-size:11px}
 .rev{flex-basis:88%}.arrow{display:none}
 .bring,.how{padding:24px 20px}
 .eligibility-groups{grid-template-columns:1fr}.eligibility-panel{padding:14px}.eligibility-panel li{font-size:11px}
 .tick-track{font-size:15px}
 .uw::before,.uw::after{width:90px;height:200px}
 .theme{bottom:90px;right:14px;width:46px;height:46px}
 .who .cards5 .card{flex-basis:calc(50% - 7px)}
 .inc-list div{flex:0 0 min(145px,calc(50% - 5px));width:min(145px,calc(50% - 5px));height:auto;font-size:10px}
 .video-sec{padding:36px 0 12px}.video-wide{border-width:4px;border-radius:22px}.video-wide img{aspect-ratio:16/10}.video-wide b{left:18px;bottom:18px;font-size:18px}.video-wide .dur{right:14px;bottom:14px;font-size:12px;padding:5px 10px}.video-wide .play{width:68px;height:68px;font-size:24px}.video-sec+.who{padding-top:26px}
 .rf{padding-bottom:42px}.faq{margin-top:34px}
 .cta{padding:70px 0 44px}.cta-text h2{font-size:clamp(31px,10vw,42px)}.cta-text p{font-size:14px}
}
[class$="-grid"]>*{min-width:0}

/* Compact floating WhatsApp enquiry card */
.sticky-whatsapp{position:fixed;right:18px;bottom:18px;z-index:55;max-width:calc(100vw - 36px)}
.sticky-whatsapp-inner{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:9px 16px 9px 9px;border:1px solid rgba(92,225,255,.36);border-radius:22px;color:inherit;background:linear-gradient(145deg,rgba(5,55,87,.98),rgba(3,29,51,.98));box-shadow:0 18px 42px rgba(1,20,36,.38),inset 0 1px 0 rgba(255,255,255,.1);text-decoration:none;backdrop-filter:blur(14px);transition:transform .22s,border-color .22s,box-shadow .22s}
.sticky-whatsapp-inner:hover{transform:translateY(-4px);border-color:rgba(74,235,134,.72);box-shadow:0 22px 48px rgba(1,20,36,.45),0 0 0 4px rgba(37,211,102,.1)}
.sticky-whatsapp-icon{position:relative;display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#31df76,#16a64f);box-shadow:0 8px 22px rgba(37,211,102,.34)}
.sticky-whatsapp-icon::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(72,235,135,.45);border-radius:20px;animation:waCornerPulse 2.4s ease-out infinite}
@keyframes waCornerPulse{70%,100%{transform:scale(1.18);opacity:0}}
.sticky-whatsapp-icon svg{font-size:28px;stroke-width:1.9}
.sticky-whatsapp p{display:flex;flex-direction:column;min-width:0;color:#dceefa;font-size:11px;line-height:1.3;white-space:nowrap}
.sticky-whatsapp p strong{color:#fff;font:800 13px/1.25 Montserrat,sans-serif}
.sticky-whatsapp p span{margin-top:3px}
@media(max-width:560px){
 .sticky-whatsapp{right:12px;bottom:12px;max-width:calc(100vw - 24px)}.sticky-whatsapp-inner{gap:10px;padding:8px 13px 8px 8px;border-radius:19px}.sticky-whatsapp-icon{width:46px;height:46px;border-radius:14px}.sticky-whatsapp-icon svg{font-size:26px}.sticky-whatsapp p strong{font-size:12px}.sticky-whatsapp p span{font-size:9.5px}
}
/* v5 */
.badge-any{display:inline-block;background:linear-gradient(135deg,#0b72bd,#04203c);color:#fff;font:600 12px Poppins;padding:6px 16px;border-radius:30px;margin-bottom:14px}
.lead2{font-size:15px;line-height:1.7;opacity:.9;margin:-6px 0 18px}
.bring h2{margin-bottom:16px}
@media(min-width:641px){.rev{flex-basis:calc((100% - 20px)/2)}}
.dots i{cursor:pointer}
/* v6: balance How-to-Book card */
.how{display:flex;flex-direction:column}
.how ol{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.how li{margin-bottom:0}
.how ol::before{bottom:44px}
.how-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px dashed var(--cardb)}
.how-cta .btn{flex:1 1 200px;padding:13px 18px}
.prep-grid{align-items:stretch}

/* WhatsApp question picker */
.wa-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:24px;color:var(--txt);background:var(--card);box-shadow:0 28px 80px rgba(2,24,44,.45);overflow:auto}
.wa-dialog::backdrop{background:rgba(2,24,44,.72);backdrop-filter:blur(6px)}
.wa-dialog[open]{animation:wa-pop .25s ease-out}
@keyframes wa-pop{from{opacity:0;transform:translateY(18px) scale(.97)}}
.wa-dialog-head{position:relative;display:flex;align-items:center;gap:15px;padding:24px 64px 20px 24px;border-bottom:1px solid var(--cardb);background:linear-gradient(135deg,rgba(37,211,102,.17),rgba(39,211,245,.12))}
.wa-dialog-head h2{font-size:24px;line-height:1.2;margin:0 0 4px}
.wa-dialog-head p{font-size:13px;opacity:.78}
.wa-dialog-icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:50%;color:#fff;background:#25d366;box-shadow:0 8px 20px rgba(37,211,102,.32)}
.wa-dialog-icon svg{font-size:28px}
.wa-dialog-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;color:var(--txt);background:rgba(11,114,189,.1);font:400 27px/1 Poppins,sans-serif;transition:transform .2s,background .2s}
.wa-dialog-close:hover{transform:rotate(90deg);background:rgba(11,114,189,.2)}
.wa-questions{display:grid;gap:10px;padding:20px 24px 24px}
.wa-questions button{display:flex;align-items:center;gap:13px;width:100%;padding:14px;text-align:left;border:1px solid var(--cardb);border-radius:14px;color:var(--txt);background:var(--card);font:500 14px/1.45 Poppins,sans-serif;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.wa-questions button:hover{transform:translateX(4px);border-color:#25d366;background:rgba(37,211,102,.09);box-shadow:0 8px 18px rgba(10,60,100,.1)}
.wa-questions b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;color:#fff;background:#25d366;font-size:13px}
@media(max-width:500px){
 .wa-dialog-head{align-items:flex-start;padding:20px 52px 17px 18px}.wa-dialog-head h2{font-size:20px}.wa-dialog-icon{width:42px;height:42px}.wa-dialog-icon svg{font-size:24px}
 .wa-questions{padding:14px 16px 18px}.wa-questions button{padding:12px;font-size:13px}
}
