/* FajrTag website. Palette = the app's: midnight, navy, silver-blue, pearl. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/cormorant.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-italic-500.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter.woff2) format("woff2")}
@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/amiri-ar.woff2) format("woff2")}

:root{
  --midnight:#0a1222;--night:#121d35;--navy:#1f3557;--blue:#2f4770;--silver:#9aa9c2;--sky:#bfcbe0;
  --pearl:#f4f6fa;--ink:#121d33;--grey:#66728a;--line:#e1e6ef;--white:#fff;--gold:#d6b56d;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,.8,.24,1);
  --pad:max(20px,4.5vw);
}
*{box-sizing:border-box;margin:0}
html{background:var(--midnight);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--ink);background:var(--pearl);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
.wrapw{width:100%;max-width:1180px;margin:auto;padding:0 var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ar{font-family:Amiri,"Noto Naskh Arabic",serif;font-weight:400}

/* ───────── scroll reveal (only when JS is on) ───────── */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ───────── nav ───────── */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;color:#eef2f8;transition:background .5s,box-shadow .5s}
.nav-in{display:flex;justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:calc(env(safe-area-inset-top) + 16px) var(--pad) 16px;transition:padding .4s}
.nav.scrolled{background:rgba(10,18,34,.72);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 1px 0 rgba(154,169,194,.18)}
.nav.scrolled .nav-in{padding-top:calc(env(safe-area-inset-top) + 10px);padding-bottom:10px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:600 21px/1 var(--sans);letter-spacing:.01em}
.brand img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 1px rgba(191,203,224,.35),0 4px 14px rgba(0,0,0,.35)}
.links{display:flex;align-items:center;gap:30px;font-size:14px}
.links a{text-decoration:none;color:rgba(238,242,248,.72);transition:color .3s}.links a:hover{color:#fff}
.links a.order{color:#fff;border:1px solid rgba(191,203,224,.55);padding:8px 20px;border-radius:999px;font-weight:500;transition:background .3s,color .3s}
.links a.order:hover{background:#fff;color:var(--navy)}
@media(max-width:760px){.links a:not(.order){display:none}}

/* ───────── buttons ───────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 30px;border-radius:999px;text-decoration:none;font-weight:500;font-size:16px;letter-spacing:.01em;border:1px solid transparent;cursor:pointer;
  transition:transform .35s var(--ease),box-shadow .35s,background .3s,color .3s,border-color .3s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn.pri{background:#fff;color:var(--navy);box-shadow:0 12px 30px -10px rgba(120,165,240,.55)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(120,165,240,.7)}
.btn.ghost{color:#fff;border-color:rgba(191,203,224,.55);background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn.ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.btn.navy{background:var(--navy);color:#fff;box-shadow:0 12px 26px -12px rgba(31,53,87,.7)}
.btn.navy:hover{transform:translateY(-2px);background:#18294a}

/* ───────── hero ───────── */
.hero{position:relative;overflow:hidden;color:#eef2f8;min-height:100svh;display:grid;align-items:center;padding:96px 0 56px;
  background:radial-gradient(55% 45% at 78% 32%,rgba(47,71,112,.75),transparent 72%),linear-gradient(180deg,#0a1222 0%,#0e1b38 50%,#1a3158 100%)}
.stars{position:absolute;inset:0;background:url(stars.svg) 0 0/600px;opacity:.75;pointer-events:none;
  -webkit-mask-image:linear-gradient(#000 10%,transparent 78%);mask-image:linear-gradient(#000 10%,transparent 78%);animation:tw 7s ease-in-out infinite alternate}
.stars.b{background-size:410px;background-position:150px 90px;animation-delay:-3.5s;opacity:.5}
@keyframes tw{from{opacity:.25}to{opacity:.85}}
.dawn{position:absolute;inset:auto 0 0;height:70%;pointer-events:none;opacity:0;animation:fade 4s .2s ease forwards;
  background:radial-gradient(ellipse 75% 100% at 50% 100%,rgba(122,168,245,.55),rgba(80,120,200,.18) 55%,transparent 75%)}
@keyframes fade{to{opacity:1}}
.moon{position:absolute;left:max(24px,7vw);top:128px;width:46px;height:46px;opacity:0;animation:fade 2.4s .6s ease forwards;filter:drop-shadow(0 0 14px rgba(191,203,224,.5));display:none}
@media(min-width:1000px){.moon{display:block}}
.hero-in{position:relative;display:grid;gap:clamp(18px,4vh,36px);justify-items:center}

/* The tag stage. Everything is a fraction of --cw (the lattice's scale), so tag, lattice and spacing scale as one. */
.stage{--cw:min(92vw,520px);--d:calc(var(--cw)*.74);position:relative;width:var(--cw);aspect-ratio:1/1.16;
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.stage.drag{cursor:grabbing}
.archbox{position:absolute;inset:0 -6%;pointer-events:none}
/* static Islamic lattice behind the tag: fixed in place, fades out all round */
.lattice{position:absolute;left:50%;top:calc(var(--cw)*.607);width:calc(var(--cw)*1.55);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;animation:fade 1.8s .4s ease forwards;--o:.7;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M32 0L64 32L32 64L0 32Z M9.37 9.37H54.63V54.63H9.37Z M44.01 36.97 L36.97 44.01 L27.03 44.01 L19.99 36.97 L19.99 27.03 L27.03 19.99 L36.97 19.99 L44.01 27.03Z M-5 0L0 -5L5 0L0 5Z M-5 64L0 59L5 64L0 69Z M59 0L64 -5L69 0L64 5Z M59 64L64 59L69 64L64 69Z' fill='none' stroke='%23a9b8d2' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") center/calc(var(--cw)*.0926);
  -webkit-mask-image:radial-gradient(closest-side,#000 28%,rgba(0,0,0,.35) 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 28%,rgba(0,0,0,.35) 62%,transparent 100%)}
.glow{position:absolute;left:50%;top:52%;width:130%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(closest-side,rgba(120,165,245,.5),rgba(80,120,200,.16) 55%,transparent 75%);animation:breathe 9s ease-in-out infinite}
@keyframes breathe{50%{opacity:.65}}
/* disc centre sits at the arch's centre, like the circle inside the arch on the printed card */
.scene{position:absolute;left:50%;top:calc(var(--cw)*.607);width:var(--d);aspect-ratio:1;transform:translate(-50%,-50%);perspective:1400px}
.rise{width:100%;height:100%;animation:rise 1.4s .45s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(54px) scale(.94)}to{opacity:1;transform:none}}
.float{position:relative;width:100%;height:100%;animation:float 9s ease-in-out infinite;will-change:transform}
@keyframes float{50%{transform:translateY(-8px)}}
.shadow{position:absolute;left:14%;right:14%;bottom:-17%;height:13%;border-radius:50%;background:radial-gradient(closest-side,rgba(2,6,16,.8),rgba(2,6,16,.28) 70%,transparent);filter:blur(14px);will-change:transform,opacity}
.disc{--th:calc(var(--d)*.05);position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}
.rim{position:absolute;inset:0;border-radius:50%;transform:translateZ(calc(var(--th) * (var(--i) / 13 - .5)));
  background:conic-gradient(from calc(var(--i) * 9deg),#e8edf6,#8d9ab4,#f2f5fa,#76839f,#dfe5f1,#8d9ab4,#e8edf6)}
.face{position:absolute;inset:0;border-radius:50%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.face.front{transform:translateZ(calc(var(--th) / 2))}
.face.back{transform:rotateY(180deg) translateZ(calc(var(--th) / 2))}
.face img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none}
.shine{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.95),rgba(255,255,255,0) 58%);opacity:var(--go,.35)}
.shine2{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent calc(var(--gp,50%) - 12%),rgba(255,255,255,.42) var(--gp,50%),transparent calc(var(--gp,50%) + 12%));opacity:var(--go2,.5)}
.hint{position:absolute;left:50%;bottom:calc(var(--cw)*.02);transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:8px 16px;border-radius:99px;font-size:12.5px;letter-spacing:.04em;white-space:nowrap;
  color:rgba(220,229,244,.9);background:rgba(255,255,255,.08);border:1px solid rgba(191,203,224,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;animation:fade 1s 2.4s forwards;pointer-events:none;transition:opacity .6s}
.hint svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.stage.touched .hint{animation:none;opacity:0}

.copy{text-align:center;max-width:620px}
.copy>*{animation:up 1.1s var(--ease) both}
.copy>:nth-child(1){animation-delay:.8s}.copy>:nth-child(2){animation-delay:.92s}.copy>:nth-child(3){animation-delay:1s}
.copy>:nth-child(4){animation-delay:1.1s}.copy>:nth-child(5){animation-delay:1.2s}.copy>:nth-child(6){animation-delay:1.3s}.copy>:nth-child(7){animation-delay:1.4s}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
h1{font:500 clamp(46px,12.5vw,92px)/.98 var(--serif);letter-spacing:-.012em;color:#fff}
h1 em{display:block;font-style:italic;font-weight:500;background:linear-gradient(95deg,#dbe6fb,#8fb0ee 60%,#bfd0f3);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px auto 0;width:min(240px,60%);color:var(--gold)}
.orn::before,.orn::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}
.orn::after{transform:scaleX(-1)}
.orn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4}
.sub{text-wrap:balance;margin:22px auto 0;font-size:clamp(17px,2.4vw,21px);color:rgba(220,229,244,.86);max-width:28em}
.hero .ar{margin-top:10px;font-size:26px;line-height:1.5;color:var(--gold)}
.cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.play{display:inline-block;margin-top:16px}.play img{display:block;height:50px;width:auto;max-width:none;margin:-4px}
.trust{margin-top:20px;display:flex;flex-wrap:wrap;gap:4px 0;justify-content:center;font-size:13px;letter-spacing:.03em;color:rgba(191,203,224,.8)}
.trust span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 13px;vertical-align:middle}
.tiltbtn{display:none;margin:8px auto 0;background:none;border:0;color:rgba(191,203,224,.75);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:8px;cursor:pointer}
.scrollcue{position:absolute;left:50%;bottom:18px;width:22px;height:34px;margin-left:-11px;border:1.5px solid rgba(191,203,224,.45);border-radius:12px;opacity:0;animation:fade 1s 2.2s forwards;display:none}
.scrollcue::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--sky);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%,100%{transform:translateY(10px);opacity:0}}
@media(min-width:1000px) and (min-height:760px){.scrollcue{display:block}}

@media(min-width:1000px){
  .hero{padding-top:84px}
  .hero-in{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(24px,4vw,72px)}
  .stage{--cw:min(40vw,600px);grid-column:2;grid-row:1}
  h1{font-size:clamp(56px,5.3vw,82px)}
  .copy{grid-column:1;grid-row:1;text-align:left;max-width:540px;justify-self:end}
  .orn{margin-left:0;width:200px}.sub{margin-left:0}
  .cta,.trust{justify-content:flex-start}
}

/* ───────── sections ───────── */
.sec{position:relative;padding:clamp(84px,11vw,150px) 0}
.dark{color:#eef2f8;background:linear-gradient(180deg,#1a3158 0%,#122344 45%,#0e1b38 100%)}
.deep{color:#eef2f8;background:linear-gradient(180deg,#0e1b38,#0a1222)}
.light{background:var(--pearl)}
.edge{position:absolute;left:0;right:0;top:-29px;height:30px;background:var(--c,var(--pearl));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30' viewBox='0 0 60 30'%3E%3Cpath d='M0 30C0 12 18 6 30 0c12 6 30 12 30 30z'/%3E%3C/svg%3E") repeat-x bottom/60px 30px;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30' viewBox='0 0 60 30'%3E%3Cpath d='M0 30C0 12 18 6 30 0c12 6 30 12 30 30z'/%3E%3C/svg%3E") repeat-x bottom/60px 30px}
.pat{position:absolute;inset:0;pointer-events:none;opacity:.07;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 64 64'%3E%3Cpath d='M32 0L64 32L32 64L0 32Z M9.37 9.37H54.63V54.63H9.37Z M44.01 36.97 L36.97 44.01 L27.03 44.01 L19.99 36.97 L19.99 27.03 L27.03 19.99 L36.97 19.99 L44.01 27.03Z M-5 0L0 -5L5 0L0 5Z M-5 64L0 59L5 64L0 69Z M59 0L64 -5L69 0L64 5Z M59 64L64 59L69 64L64 69Z' fill='none' stroke='%231f3557' stroke-width='1.1' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0/80px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000,transparent 80%)}
.dark .pat,.deep .pat{filter:invert(1) brightness(1.6);opacity:.06}
.head{text-align:center;max-width:720px;margin:0 auto clamp(44px,6vw,76px)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--silver)}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.eyebrow::after{transform:scaleX(-1)}
.light .eyebrow{color:var(--blue)}
h2{font:500 clamp(36px,6vw,64px)/1.05 var(--serif);letter-spacing:-.01em;margin-top:18px}
h2 em{font-style:italic}
.lede{margin-top:18px;font-size:clamp(16px,2vw,19px);color:var(--grey);text-wrap:balance}
.dark .lede,.deep .lede{color:rgba(191,203,224,.85)}

/* ── how it works ── */
.steps{display:grid;gap:22px;grid-template-columns:1fr;position:relative}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:26px}}
.step{position:relative;border-radius:30px;padding:26px 26px 32px;border:1px solid rgba(154,169,194,.2);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}
.num{font:500 15px var(--sans);letter-spacing:.2em;color:var(--gold)}
.ill{margin:6px -6px 8px;aspect-ratio:6/5}
.ill svg{display:block;width:100%;height:100%;overflow:visible}
.step h3{font:500 clamp(26px,3vw,32px)/1.15 var(--serif)}
.step p{margin-top:8px;color:rgba(191,203,224,.85);font-size:16px}
/* illustration motion: only runs once the card is on screen */
.ill *{animation-play-state:paused}.step.in .ill *{animation-play-state:running}
.ring{fill:none;stroke:var(--sky);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:pulse 3s ease-out infinite}
@keyframes pulse{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.drop{fill:#8fb0ee;opacity:0;animation:drop 1.8s ease-in infinite}
@keyframes drop{0%{transform:translateY(0);opacity:0}15%{opacity:.9}80%{opacity:.8}100%{transform:translateY(78px);opacity:0}}
.stick{transform-box:fill-box;transform-origin:center;animation:stick 5s var(--ease) infinite}
@keyframes stick{0%{transform:translate(46px,-34px) scale(1.55);opacity:0}16%{opacity:1}32%,86%{transform:none;opacity:1}100%{transform:none;opacity:0}}
.ripple{fill:none;stroke:var(--sky);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:ripple 5s ease-out infinite}
@keyframes ripple{0%,30%{transform:scale(.8);opacity:0}34%{opacity:.8}60%,100%{transform:scale(1.9);opacity:0}}
.shake{transform-box:fill-box;transform-origin:center;animation:shake 2.2s ease-in-out infinite}
@keyframes shake{0%,50%,100%{transform:rotate(0)}6%,18%,30%{transform:rotate(-2.6deg)}12%,24%,36%{transform:rotate(2.6deg)}}
.wave{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;opacity:0;animation:wave 1.4s ease-in-out infinite}
.wave.w2{animation-delay:.25s}.wave.w3{animation-delay:.5s}
@keyframes wave{0%{opacity:0}40%{opacity:.9}100%{opacity:0}}
.approach{transform-box:fill-box;animation:approach 5.5s var(--ease) infinite}
@keyframes approach{0%{transform:translate(70px,-6px) rotate(8deg)}28%,84%{transform:none}100%{transform:translate(70px,-6px) rotate(8deg)}}
.nfc{fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;opacity:0;animation:nfc 5.5s ease-in-out infinite}
.nfc.n2{animation-delay:.12s}.nfc.n3{animation-delay:.24s}
@keyframes nfc{0%,24%{opacity:0}30%{opacity:1}44%{opacity:0}100%{opacity:0}}
.okb{transform-box:fill-box;transform-origin:center;opacity:0;animation:okb 5.5s var(--ease) infinite}
@keyframes okb{0%,40%{opacity:0;transform:scale(.4)}48%{opacity:1;transform:scale(1.12)}54%,84%{opacity:1;transform:scale(1)}94%,100%{opacity:0;transform:scale(1)}}
.stop-t{animation:stopt 5.5s infinite}
@keyframes stopt{0%,44%{opacity:1}48%,100%{opacity:0}}
.ok-t{opacity:0;animation:okt 5.5s infinite}
@keyframes okt{0%,46%{opacity:0}52%,84%{opacity:1}94%,100%{opacity:0}}

/* ── why ── */
.bento{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.bento{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.bento{grid-template-columns:repeat(3,1fr);gap:22px}}
.fx{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px 28px 32px;box-shadow:0 1px 0 #fff inset,0 24px 50px -36px rgba(31,53,87,.5);transition:transform .5s var(--ease),box-shadow .5s}
.fx::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(47,71,112,.11),transparent 62%)}
.fx:hover{transform:translateY(-4px);box-shadow:0 1px 0 #fff inset,0 34px 60px -34px rgba(31,53,87,.6)}
.fx:hover::before{opacity:1}
.ico{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2f4770,#1f3557);box-shadow:0 12px 22px -12px rgba(31,53,87,.8),0 0 0 1px rgba(255,255,255,.15) inset}
.ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fx h3{font:600 clamp(24px,2.6vw,29px)/1.15 var(--serif);margin-top:22px;color:var(--ink)}
.fx p{margin-top:8px;color:var(--grey);font-size:16px}

/* ── app screens ── */
.phones{display:flex;gap:clamp(18px,3vw,44px);justify-content:center;align-items:flex-start}
.ph{flex:0 0 auto;width:min(270px,26vw);text-align:center}
.ph:nth-child(2){margin-top:-30px}
.ph:nth-child(1){transform:rotate(-3deg) translateY(20px)}.ph:nth-child(3){transform:rotate(3deg) translateY(20px)}
.js .ph.rv:nth-child(1).in{transform:rotate(-3deg) translateY(20px)}.js .ph.rv:nth-child(3).in{transform:rotate(3deg) translateY(20px)}
.frame{position:relative;padding:9px;border-radius:44px;background:linear-gradient(145deg,#33415f,#0a1222 60%);box-shadow:0 0 0 1px rgba(191,203,224,.25),0 50px 70px -30px rgba(0,0,0,.8),0 0 80px -20px rgba(100,150,240,.3)}
.frame::before{content:"";position:absolute;left:50%;top:17px;width:30%;height:5%;transform:translateX(-50%);border-radius:99px;background:#050a14;z-index:2}
.frame img{display:block;width:100%;height:auto;aspect-ratio:1080/2340;border-radius:36px;background:var(--night)}
.ph figcaption{margin-top:22px;font-size:14.5px;color:rgba(191,203,224,.85)}
.ph figcaption b{display:block;font:500 24px/1.2 var(--serif);color:#fff;margin-bottom:2px}
@media(max-width:820px){
  .phones{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad) * -1);padding:20px var(--pad) 30px;gap:18px;scrollbar-width:none}
  .phones::-webkit-scrollbar{display:none}
  .ph{width:min(66vw,280px);scroll-snap-align:center}
  .ph:nth-child(n){transform:none!important;margin-top:0}
}
.center-cta{margin-top:clamp(40px,5vw,64px);text-align:center}
.center-cta .play{margin:0}

/* ── stores ── */
.panel{position:relative;overflow:hidden;border-radius:36px;color:#eef2f8;padding:clamp(36px,6vw,84px) clamp(26px,6vw,84px);
  background:radial-gradient(70% 90% at 100% 0%,rgba(98,140,225,.4),transparent 65%),linear-gradient(135deg,#14264a,#0e1b38 60%,#0a1222);box-shadow:0 50px 80px -50px rgba(10,18,34,.9)}
.panel .pat{opacity:.08;filter:invert(1) brightness(1.6);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.panel-in{position:relative;display:grid;gap:30px;align-items:center}
@media(min-width:860px){.panel-in{grid-template-columns:1.3fr 1fr;gap:50px}}
.panel .eyebrow{color:var(--silver)}
.panel h2{margin-top:14px;font-size:clamp(34px,5vw,56px)}
.panel p{margin-top:16px;color:rgba(191,203,224,.9);max-width:32em}
.ticks{display:grid;gap:14px;list-style:none;padding:0}
.ticks li{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;border:1px solid rgba(154,169,194,.2);background:rgba(255,255,255,.05);font-size:16px;color:#e4ebf8}
.ticks svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ── faq ── */
.faq{max-width:820px;margin:0 auto;display:grid;gap:12px}
.qa{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:box-shadow .4s,border-color .4s}
.qa.open{border-color:#c9d3e4;box-shadow:0 24px 44px -34px rgba(31,53,87,.6)}
.qa button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px;font:600 clamp(20px,2.4vw,24px)/1.25 var(--serif);color:var(--ink)}
.qa button:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.qa .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #c9d3e4;position:relative;transition:transform .5s var(--ease),background .3s}
.qa .pm::before,.qa .pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;margin:-.75px 0 0 -5.5px;background:var(--navy)}
.qa .pm::after{transform:rotate(90deg);transition:transform .5s var(--ease)}
.qa.open .pm{background:var(--pearl);transform:rotate(180deg)}.qa.open .pm::after{transform:rotate(0)}
.qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.qa.open .ans{grid-template-rows:1fr}
.qa .ans>div{overflow:hidden}
.qa .ans p{padding:0 26px 24px;color:var(--grey);font-size:16.5px;max-width:42em}
.qa .ans a{color:var(--navy)}

/* ── final cta + footer ── */
.final{text-align:center;overflow:hidden}
.final .tagimg{width:84px;height:84px;margin:0 auto 26px;border-radius:50%;box-shadow:0 0 0 1px rgba(191,203,224,.35),0 0 60px rgba(110,160,245,.45)}
.final h2{margin-top:0}
.final .cta{margin-top:34px}
footer{position:relative;color:rgba(191,203,224,.8);background:#070d1a;padding:64px 0 36px;font-size:15px}
.foot{display:grid;gap:36px}
@media(min-width:820px){.foot{grid-template-columns:1.4fr 1fr 1fr}}
footer .brand{color:#fff}
footer .tagline{margin-top:14px;max-width:22em;color:rgba(191,203,224,.75)}
footer .fh{font:500 12px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--silver);margin-bottom:14px}
footer ul{list-style:none;padding:0;display:grid;gap:9px}
footer a{text-decoration:none;color:rgba(220,229,244,.86)}footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.copyr{margin-top:48px;padding-top:24px;border-top:1px solid rgba(154,169,194,.16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13.5px;color:rgba(154,169,194,.9)}

/* ───────── inner pages (privacy, terms, delete-data) ───────── */
.pagehead{position:relative;color:#fff;text-align:center;padding:calc(env(safe-area-inset-top) + 130px) 0 88px;overflow:hidden;
  background:radial-gradient(60% 80% at 80% 0%,rgba(47,71,112,.8),transparent 70%),linear-gradient(180deg,#0a1222,#14264a 70%,#1a3158)}
.pagehead h1{font-size:clamp(40px,8vw,68px);line-height:1.04}
.pagehead .upd{margin-top:14px;color:rgba(191,203,224,.85);font-size:15px}
.pagebody{position:relative;padding:0 0 100px}
.prose{position:relative;max-width:780px;margin:-40px auto 0;background:#fff;border:1px solid var(--line);border-radius:30px;padding:clamp(26px,5vw,60px);box-shadow:0 40px 70px -50px rgba(31,53,87,.55)}
.prose h2{font:600 clamp(26px,3.4vw,32px)/1.2 var(--serif);margin:1.9em 0 .35em;color:var(--ink);letter-spacing:0}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#37425a;font-size:16.5px}
.prose p{margin-top:.8em}
.prose ul{padding-left:1.3em;margin-top:.6em}.prose li{margin:.45em 0}
.prose a{color:var(--navy);text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose .updated{display:none}
.prose h1{display:none}
.prose table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:1.2em 0}
.prose th{text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--pearl)}
.prose td{padding:14px 16px;vertical-align:top;border-bottom:1px solid var(--line);font-size:15.5px}
.prose tr:last-child td{border-bottom:0}.prose td:first-child{font-weight:600;width:42%}
@media(max-width:560px){.prose thead{display:none}.prose td{display:block;width:auto!important;border:0;padding:4px 16px}.prose td:first-child{padding-top:14px}.prose td:last-child{padding-bottom:14px;color:var(--grey)}.prose tr{display:block;border-bottom:1px solid var(--line)}.prose tr:last-child{border:0}}
.way{display:grid;gap:16px;margin-top:1.4em}
@media(min-width:700px){.way{grid-template-columns:1fr 1fr}}
.way>div{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--pearl)}
.way h3{font:600 24px/1.2 var(--serif);color:var(--ink)}
.way ol{margin:12px 0 0;padding-left:1.3em;color:#37425a;font-size:16px}.way li{margin:.5em 0}
.way p{margin-top:10px}
.way .btn{margin-top:16px;height:48px;font-size:15px;padding:0 22px;white-space:nowrap}
.note{margin-top:1.6em;padding:16px 18px;border-radius:16px;background:#eef2fa;color:#2b3a57;font-size:15.5px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .float,.glow{animation:none!important}
  .js .rv{opacity:1;transform:none}
  .stars,.stars.b{opacity:.5}
  }
