@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800&display=swap');
:root{--sky:#58b4f0;--sky2:#a5ddfb;--sky3:#e3f6ff;--ink:#0f3c66;--ink2:#335f84;--white:#fff;--yellow:#ffd23f;--orange:#f7b32b;--orange2:#ef9b16;--orange3:#d97f0c;--grass:#63b83c;--glass:rgba(255,255,255,.72);--card:rgba(255,255,255,.92);--shadow:0 20px 60px rgba(20,70,120,.18);--shadow-sm:0 8px 24px rgba(20,70,120,.10);--r:28px;--max:1200px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:#000;min-height:100vh}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}

/* util */
.container{width:min(var(--max),calc(100% - 28px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hidden{display:none!important}

/* bg layers */
.page-bg{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#5bb8f5 0%,var(--sky2) 42%,var(--sky3) 78%,#f0fafe 100%)}
.page-particles{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.particle{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);animation:float-up linear infinite}
@keyframes float-up{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:.6}100%{transform:translateY(-10vh) scale(1);opacity:0}}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px) saturate(1.6);background:rgba(255,255,255,.52);border-bottom:1px solid rgba(255,255,255,.5);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 4px 24px rgba(20,70,120,.12)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:18px}
.nav-brand{display:flex;align-items:center;gap:12px;font-family:'Baloo 2';font-weight:800;font-size:1.15rem;color:var(--ink)}
.nav-icon{width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--sky),var(--sky3));box-shadow:var(--shadow-sm)}
.nav-icon img{width:100%;height:100%}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nav-links a{font-weight:700;font-size:.92rem;padding:8px 13px;border-radius:14px;color:var(--ink2);transition:background .2s}
.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.82)}
.lang-switch{display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:rgba(255,255,255,.8);box-shadow:var(--shadow-sm)}
.lang-switch button{border:0;background:transparent;padding:7px 14px;border-radius:99px;font-weight:800;font-size:.88rem;color:#48759c;transition:all .2s}
.lang-switch button.active{background:#2b96ff;color:#fff;box-shadow:0 3px 10px rgba(43,150,255,.35)}

/* brand text */
.brand{font-family:'Baloo 2';font-weight:800;line-height:.92;color:#fff;letter-spacing:-.02em;
  text-shadow:0 4px 0 #f7b32b, 0 8px 0 #d97f0c, 0 16px 32px rgba(20,70,120,.4),0 16px 28px rgba(20,70,120,.4),0 30px 56px rgba(20,70,120,.22);
  -webkit-text-stroke:3px #ffffff;paint-order:stroke fill}
.brand span{display:block}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:99px;border:0;font-family:'Baloo 2';font-weight:800;font-size:1.05rem;letter-spacing:.02em;transition:transform .1s,box-shadow .1s}
.btn:active{transform:translateY(3px)}
.btn-primary{background:linear-gradient(180deg,#ffe060,var(--yellow));color:#6b4200;box-shadow:0 7px 0 #c98f1b,0 14px 30px rgba(20,70,120,.22)}
.btn-primary:active{box-shadow:0 2px 0 #c98f1b,0 6px 16px rgba(20,70,120,.18)}
.btn-secondary{background:linear-gradient(180deg,#5aa2fb,#3f86e8);color:#fff;box-shadow:0 7px 0 #2a67be,0 14px 28px rgba(20,70,120,.18)}
.btn-ghost{background:rgba(255,255,255,.86);color:#26537b;box-shadow:var(--shadow-sm)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.86);box-shadow:var(--shadow-sm);font-weight:800;font-size:.88rem;color:#28577e}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:99px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-sm);font-weight:800;font-size:.88rem;color:var(--ink2)}
.kicker::before{content:'✨'}

/* hero */
.hero{position:relative;padding:54px 0 0;overflow:hidden;min-height:100vh}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:calc(100vh - 68px)}
.hero-copy{position:relative;z-index:4}
.hero-copy .brand{font-size:clamp(56px,9vw,110px)}
.hero-sub{margin:24px 0 18px;font-size:1.15rem;line-height:1.72;max-width:580px;color:#114368;font-weight:700}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.hero-note{margin-top:18px;font-size:.9rem;color:#41698e}

/* phone mockup */
.hero-phone{position:relative;z-index:3;display:flex;justify-content:center;align-items:flex-end;perspective:900px}
.phone-frame{position:relative;width:clamp(260px,30vw,340px);transform:rotateY(-8deg) rotateX(4deg);transition:transform .6s cubic-bezier(.22,1,.36,1);animation:phone-float 5s ease-in-out infinite}
.phone-frame:hover{transform:rotateY(0) rotateX(0) scale(1.02)}
@keyframes phone-float{0%,100%{transform:rotateY(-8deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(-8deg) rotateX(4deg) translateY(-14px)}}
.phone-body{background:#1a1a1a;border-radius:40px;padding:12px;box-shadow:0 40px 80px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.08)}
.phone-screen{border-radius:30px;overflow:hidden;background:linear-gradient(180deg,var(--sky),var(--sky3));aspect-ratio:9/19.5;position:relative}
.phone-screen img,.phone-screen .phone-placeholder{width:100%;height:100%;object-fit:cover}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:28px;background:#1a1a1a;border-radius:0 0 18px 18px;z-index:2}
.phone-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 20px}
.phone-placeholder .brand{font-size:38px;text-align:center}
.phone-placeholder .pp-doge{width:120px}
.phone-badge{position:absolute;z-index:4;border-radius:18px;padding:10px 16px;font-weight:800;font-size:.82rem;backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}
.badge-top{top:-16px;right:-22px;background:rgba(255,210,63,.92);color:#6b4200;transform:rotate(6deg);animation:badge-bob 3s ease-in-out infinite}
.badge-bottom{bottom:-12px;left:-18px;background:rgba(99,102,241,.88);color:#fff;transform:rotate(-4deg);animation:badge-bob 3.6s ease-in-out infinite .8s}
@keyframes badge-bob{0%,100%{transform:rotate(var(--r,6deg)) translateY(0)}50%{transform:rotate(var(--r,6deg)) translateY(-6px)}}

/* floating characters around phone */
.float-char{position:absolute;z-index:5;filter:drop-shadow(0 8px 18px rgba(20,70,120,.22));animation:orbit linear infinite}
.float-doge{width:clamp(90px,12vw,140px);bottom:20px;left:-60px}
.float-bee{width:clamp(48px,6vw,72px)}
.float-bee.fb1{top:80px;right:-30px;animation-duration:9s}
.float-bee.fb2{top:200px;left:-40px;animation-duration:11s;animation-direction:reverse}
.float-bee.fb3{bottom:140px;right:-20px;animation-duration:8s}
.float-bee.fb4{top:50%;left:50%;animation-duration:7s;animation-direction:reverse}
@keyframes orbit{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(18px,-12px) rotate(8deg)}50%{transform:translate(0,-20px) rotate(0)}75%{transform:translate(-16px,-10px) rotate(-6deg)}100%{transform:translate(0,0) rotate(0)}}

/* wave */
.hero-wave{position:absolute;left:-10%;right:-10%;bottom:-30px;height:180px;z-index:2}
.hero-wave svg{width:100%;height:100%}

/* sections */
.section{padding:90px 0;position:relative}
.section-head{text-align:center;margin-bottom:38px}
.section-head h2{margin:12px 0 10px;font-size:clamp(32px,5vw,50px);line-height:1.06;color:#144770;font-family:'Baloo 2'}
.section-head p{margin:0 auto;max-width:720px;color:var(--ink2);line-height:1.72;font-size:1.05rem}

/* cards */
.card{background:var(--card);border:1px solid rgba(255,255,255,.6);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(20,70,120,.2)}

/* feature grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.feat{padding:28px;border-radius:24px;background:var(--card);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.feat:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.feat-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;margin-bottom:14px;font-size:1.7rem;background:linear-gradient(180deg,#fff9d9,#ffe99c);box-shadow:0 5px 0 rgba(201,143,27,.2)}
.feat h3{margin:0 0 10px;font-size:1.28rem;color:#194a72}
.feat p{margin:0;color:#55748f;line-height:1.68}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.step{padding:26px 22px;background:var(--card);border-radius:24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:16px;right:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,#ffe060,var(--yellow));color:#6b4200;font-family:'Baloo 2';font-weight:800;font-size:1.15rem;box-shadow:0 4px 0 #c98f1b}
.step h3{margin:0 0 10px;font-size:1.15rem;padding-right:54px}
.step p{margin:0;color:#56748e;line-height:1.64}

/* phone gallery */
.gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:10px 0 24px}
.gallery::-webkit-scrollbar{height:8px}
.gallery::-webkit-scrollbar-thumb{background:rgba(20,70,120,.15);border-radius:99px}
.shot{flex:0 0 280px;scroll-snap-align:center;position:relative;border-radius:36px;overflow:hidden;background:#d0ecfc;box-shadow:var(--shadow);transition:transform .3s}
.shot:hover{transform:scale(1.03)}
.shot-phone{background:#1a1a1a;border-radius:32px;padding:8px;margin:14px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.06)}
.shot-screen{border-radius:26px;overflow:hidden;background:linear-gradient(180deg,var(--sky),var(--sky3));aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;position:relative}
.shot-screen svg,.shot-screen img{width:100%;height:100%;object-fit:cover}
.shot-label{position:absolute;left:12px;right:12px;bottom:22px;padding:12px 14px;border-radius:16px;background:rgba(15,60,102,.74);color:#fff;font-weight:700;font-size:.92rem;backdrop-filter:blur(6px);text-align:center}

/* dual showcase */
.showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}
.showcase-visual{position:relative;min-height:380px;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#4338ca 0%,#6366f1 50%,#818cf8 100%);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}
.showcase-phone{width:200px;transform:rotate(-6deg);filter:drop-shadow(0 20px 40px rgba(0,0,0,.3));animation:phone-float 5.5s ease-in-out infinite}
.showcase-tips{padding:28px;background:var(--card);border-radius:28px;box-shadow:var(--shadow)}
.showcase-tips h3{margin:0 0 12px;font-size:1.5rem}
.showcase-tips p{color:#55748f;line-height:1.72}
.showcase-tips ul{margin-top:16px;padding-left:18px;line-height:1.88;color:#55748f}
.showcase-tips li{margin-bottom:6px}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto}
.faq-item+.faq-item{margin-top:12px}
.faq-item details{border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm);transition:box-shadow .3s}
.faq-item details[open]{box-shadow:var(--shadow)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:800;color:#194a72;display:flex;justify-content:space-between;gap:16px;transition:background .2s}
.faq-item summary:hover{background:rgba(88,180,240,.06)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:'Baloo 2';font-size:1.3rem;color:#2b96ff;transition:transform .3s}
.faq-item details[open] summary::after{content:'−';transform:rotate(180deg)}
.faq-item .answer{padding:0 24px 22px;color:#56748e;line-height:1.72}

/* policy card */
.policy-card{padding:32px;background:var(--card);border-radius:28px;box-shadow:var(--shadow)}
.policy-card h3{margin-top:24px;margin-bottom:10px;font-size:1.2rem;color:#194a72}
.policy-card p,.policy-card li{color:#56748e;line-height:1.76}
.policy-card ul{padding-left:20px}

/* support grid */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.support-card{padding:28px;background:var(--card);border-radius:24px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.support-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.support-card h3{margin:0 0 12px;font-size:1.3rem;color:#194a72}
.support-card p{color:#55748f;line-height:1.68}

/* cta banner */
.cta-banner{position:relative;overflow:hidden;border-radius:32px;padding:56px 40px;background:linear-gradient(135deg,#4338ca 0%,#6366f1 50%,#818cf8 100%);box-shadow:var(--shadow);text-align:center}
.cta-banner h2{font-size:clamp(28px,5vw,48px);color:#fff;font-family:'Baloo 2';margin-bottom:14px;text-shadow:0 4px 18px rgba(0,0,0,.2)}
.cta-banner p{color:rgba(255,255,255,.88);font-size:1.1rem;margin-bottom:28px;max-width:620px;margin-left:auto;margin-right:auto}
.cta-dots{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cta-dot{position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}

/* footer */
.footer{padding:28px 0 42px;color:#52708c;border-top:1px solid rgba(255,255,255,.35)}
.footer-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:22px}
.footer h4{margin:0 0 12px;font-family:'Baloo 2';font-size:1.12rem;color:#194a72}
.footer p,.footer li,.footer a{color:#55748f;line-height:1.72}
.footer ul{padding-left:18px;margin:0}
.copyright{margin-top:24px;font-size:.9rem;color:#6b869f;text-align:center}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

.anchor-offset{scroll-margin-top:88px}

@media(max-width:1080px){
  .hero-grid,.showcase{grid-template-columns:1fr}
  .hero-phone{margin-top:30px}
  .grid-3,.steps,.support-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .nav-inner{flex-wrap:wrap;justify-content:center;padding:10px 0}
  .nav-brand{width:100%;justify-content:center}
  .nav-links{justify-content:center}
  .hero{padding-top:36px}
  .hero-copy .brand{font-size:clamp(48px,15vw,76px)}
  .grid-3,.grid-2,.steps,.support-grid,.footer-grid{grid-template-columns:1fr}
  .section{padding:64px 0}
  .gallery{gap:14px}
  .shot{flex:0 0 240px}
  .showcase-phone{width:160px}
  .cta-banner{padding:40px 24px}
}

/* ══════════ LIGHTBOX ══════════ */
.lb-overlay{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:rgba(5,15,35,.92);
  backdrop-filter:blur(14px);
  opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
  cursor:zoom-out;
}
.lb-overlay.lb-open{opacity:1;visibility:visible}
.lb-overlay.lb-open .lb-img{transform:scale(1)}

.lb-img{
  max-width:92vw;
  max-height:90vh;
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow:0 40px 120px rgba(0,0,0,.7);
  transform:scale(.88);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  cursor:default;
  object-fit:contain;
  display:block;
}

.lb-close{
  position:fixed;top:20px;right:24px;
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.22);
  color:#fff;font-size:28px;line-height:1;
  display:grid;place-items:center;
  cursor:pointer;z-index:10000;
  transition:background .2s,transform .2s;
}
.lb-close:hover{background:rgba(255,255,255,.24);transform:scale(1.1)}

.lb-prev,.lb-next{
  position:fixed;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.14);
  border:1.5px solid rgba(255,255,255,.22);
  color:#fff;font-size:22px;
  display:grid;place-items:center;
  cursor:pointer;z-index:10000;
  transition:background .2s,transform .2s;
}
.lb-prev{left:20px}
.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.28);transform:translateY(-50%) scale(1.08)}

.lb-counter{
  position:fixed;bottom:22px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.7);font-size:.92rem;font-weight:700;
  background:rgba(0,0,0,.35);padding:6px 16px;border-radius:99px;
  z-index:10000;
}

/* cursor hint */
.shot-screen img,.shot-screen figure img{cursor:zoom-in}
