/* Layout: м'яка пастельна "аура" як у Дії позаду + білі скляні картки, темні "монобанк"-картки для тарифів; глибина через паралакс, стек карток і 3D-нахил */
:root{
  --ink:#0d0e14;            /* основний текст */
  --ink-2:#4a4d5c;          /* другорядний */
  --ink-3:#686b7a;
  --paper:#eef1f6;          /* фон сторінки */
  --card:rgba(255,255,255,.78);
  --card-solid:#ffffff;
  --line:rgba(13,14,20,.08);
  --accent:#f44d2b;         /* фірмовий червоно-помаранчевий з оригіналу */
  --accent-text:#c2361a;    /* акцент для дрібного тексту: контраст ≥ 4.5:1 */
  --link:#1a6fbf;
  --accent-ink:#ffffff;
  --navy:#0e0536;           /* фірмовий темно-синій з оригіналу */
  --ok:#14a35a;
  --mono:#121318;           /* чорна картка */
  --mono-ink:#f4f4f6;
  --gold:#f2c14e;
  --a1:#bfe3ff; --a2:#d8f5e6; --a3:#f1e4ff; --aura-op:.95;
  --shadow:0 1px 2px rgba(13,14,20,.04),0 12px 40px -12px rgba(13,14,20,.18);
  --shadow-lg:0 30px 80px -20px rgba(13,14,20,.35);
  --display:"Unbounded","Unbounded Fallback",sans-serif;
  --body:"Manrope","Manrope Fallback",sans-serif;
  --r-xl:32px; --r-lg:24px; --r-md:18px; --r-sm:12px;
  --wrap:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#f2f3f7; --ink-2:#b4b7c6; --ink-3:#9a9dae; --paper:#0b0c11;
  --card:rgba(26,27,35,.72); --card-solid:#1a1b23; --line:rgba(255,255,255,.08);
  --navy:#c9c3ff; --mono:#05060a; --aura-op:.32;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 40px -12px rgba(0,0,0,.6);
  --shadow-lg:0 30px 80px -20px rgba(0,0,0,.8); color-scheme:dark}}
:root[data-theme="dark"]{
  --ink:#f2f3f7; --ink-2:#b4b7c6; --ink-3:#9a9dae; --paper:#0b0c11;
  --card:rgba(26,27,35,.72); --card-solid:#1a1b23; --line:rgba(255,255,255,.08);
  --navy:#c9c3ff; --mono:#05060a; --aura-op:.32;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 40px -12px rgba(0,0,0,.6);
  --shadow-lg:0 30px 80px -20px rgba(0,0,0,.8); color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.55 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:10px}

/* ---------- Аура (фон як у Дії) ---------- */
.aura{position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;opacity:var(--aura-op)}
/* М'які плями без filter:blur — легше для телефонів */
.aura i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;transition:background 1.2s ease;will-change:transform}
.aura i:nth-child(1){background:radial-gradient(circle,var(--a1) 0,transparent 68%);left:0;top:0;animation:drift1 22s ease-in-out infinite alternate}
.aura i:nth-child(2){background:radial-gradient(circle,var(--a2) 0,transparent 68%);right:0;top:20%;animation:drift2 26s ease-in-out infinite alternate}
.aura i:nth-child(3){background:radial-gradient(circle,var(--a3) 0,transparent 68%);left:25%;bottom:0;animation:drift3 30s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(18vmax,14vmax) scale(1.15)}}
@keyframes drift2{to{transform:translate(-16vmax,10vmax) scale(.9)}}
@keyframes drift3{to{transform:translate(10vmax,-16vmax) scale(1.1)}}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:radial-gradient(var(--ink) .6px,transparent .6px);background-size:3px 3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
section{padding-block:clamp(56px,9vw,112px);position:relative}

/* ---------- Сторінка під гейтом (ефект глибини) ---------- */
#app{transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease,opacity .9s ease;transform-origin:50% 30vh}
body.gated #app{transform:scale(.93) translateY(10px);filter:blur(10px) saturate(.8);pointer-events:none}

/* ---------- Гейт-дисклеймер ---------- */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(13,14,20,.28);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .6s ease, visibility .6s}
.gate.out{opacity:0;visibility:hidden}
.gate-card{width:min(520px,100%);background:var(--card-solid);border-radius:var(--r-xl);padding:clamp(22px,5vw,36px);box-shadow:var(--shadow-lg);
  animation:pop .7s cubic-bezier(.2,1.4,.4,1) both;transition:transform .6s cubic-bezier(.5,0,.75,0),opacity .4s}
.gate.out .gate-card{transform:translateY(40px) scale(.9);opacity:0}
@keyframes pop{from{transform:translateY(24px) scale(.96)}}
.gate-emoji{font-size:44px;line-height:1;width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--a1),var(--a3));margin-bottom:18px;animation:wob 3s ease-in-out infinite}
@keyframes wob{50%{transform:rotate(-8deg) scale(1.05)}}
.gate h2{font-size:clamp(22px,4.6vw,28px);margin-bottom:12px}
.gate p{color:var(--ink-2);font-size:15px}
.gate .owner{font-size:13px;color:var(--ink-3);margin-top:12px}
.agree{margin-top:20px;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-md);background:var(--paper);cursor:pointer;
  border:2px solid transparent;transition:border-color .3s, box-shadow .3s, background .3s;user-select:none}
.agree span{font-weight:700;font-size:15px}
.agree.warn{border-color:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent);animation:shake .5s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.hint{height:0;overflow:hidden;color:var(--accent);font-weight:700;font-size:14px;transition:height .3s, margin .3s}
.hint.show{height:22px;margin-top:10px}
/* Перемикач як у Дії */
.switch{position:relative;flex:none;width:52px;height:32px}
.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.switch i{position:absolute;inset:0;border-radius:99px;background:var(--ink-3);transition:background .3s}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.switch input:checked+i{background:var(--ok)}
.switch input:checked+i::after{transform:translateX(20px)}
.switch input:focus-visible+i{outline:3px solid var(--accent);outline-offset:3px}

/* ---------- Кнопки ---------- */
.btn{--bg:var(--ink);--fg:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1 var(--body);
  padding:18px 26px;border-radius:99px;border:0;background:var(--bg);color:var(--fg);text-decoration:none;cursor:pointer;
  transition:transform .2s, box-shadow .3s, opacity .3s;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--bg) 70%,transparent)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn.accent{--bg:var(--accent);--fg:var(--accent-ink)}
.btn.ghost{--bg:var(--card);--fg:var(--ink);box-shadow:none;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn.block{width:100%}
.btn.dim{opacity:.45}
.gate .btn{margin-top:20px}

/* ---------- Шапка ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;padding-top:12px}
.bar{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:99px;background:var(--card);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:var(--shadow)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 15px/1 var(--display);letter-spacing:.02em}
.logo b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--navy);color:var(--paper);font-size:17px}
.logo small{color:var(--accent)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{white-space:nowrap;padding:10px 12px;border-radius:99px;text-decoration:none;font-weight:700;font-size:14px;color:var(--ink-2);transition:background .2s,color .2s}
.nav a:hover{background:var(--line);color:var(--ink)}
.bar .btn{padding:12px 18px;font-size:14px;white-space:nowrap}
@media (max-width:1100px){.nav{display:none}.bar .langsw{margin-left:auto}}
@media (max-width:560px){.bar .cta-top{display:none}}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(28px,6vw,64px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-weight:800;font-size:13px;letter-spacing:.02em}
.hero h1{font-size:clamp(36px,6.6vw,76px);margin:20px 0 18px;font-weight:800}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),#ff9a3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:clamp(16px,1.8vw,19px);color:var(--ink-2);max-width:34ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px}
.trust div{font-size:13px;color:var(--ink-2);font-weight:600}
.trust b{display:block;font:800 26px/1.1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}

.scene{position:relative;aspect-ratio:1/1.02;max-width:560px;width:100%;margin-inline:auto;perspective:1200px}
.layer{position:absolute;will-change:transform;transition:transform .25s ease-out}
.orb{inset:8% 6% 10% 8%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,var(--a1) 35%,var(--a3) 75%);box-shadow:inset -30px -40px 80px rgba(14,5,54,.12)}
.earth{width:30%;left:4%;bottom:6%;animation:float 7s ease-in-out infinite}
.moon{width:11%;right:12%;top:6%;animation:float 5s ease-in-out infinite reverse}
.statue{height:86%;right:6%;bottom:2%;filter:drop-shadow(0 30px 30px rgba(14,5,54,.25))}
.statue img{height:100%;width:auto}
@keyframes float{50%{transform:translateY(-14px)}}
.visa-card{width:62%;left:6%;top:24%;aspect-ratio:1.586;border-radius:22px;padding:18px;color:#fff;
  background:linear-gradient(135deg,#1c2a7a 0%,#0e0536 55%,#3a0f2e 100%);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transform-style:preserve-3d}
.visa-card::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 60%);transform:translateX(-60%);animation:shine 5s ease-in-out infinite}
@keyframes shine{60%,100%{transform:translateX(70%)}}
.visa-card .row{display:flex;justify-content:space-between;align-items:center;font:700 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.visa-card .chip{width:38px;height:28px;border-radius:7px;background:linear-gradient(135deg,#f6d58a,#c9973b)}
.visa-card .num{font:600 clamp(12px,1.8vw,17px)/1 var(--display);letter-spacing:.14em;font-variant-numeric:tabular-nums}
.visa-card .ok{display:inline-flex;gap:6px;align-items:center;background:rgba(20,163,90,.9);padding:6px 10px;border-radius:99px;letter-spacing:.06em}
.pill{padding:10px 14px;border-radius:16px;background:var(--card-solid);box-shadow:var(--shadow);font-weight:800;font-size:14px;white-space:nowrap;color:var(--ink)}
.pill small{display:block;font-weight:600;font-size:11px;color:var(--ink-3)}
.p1{left:0;top:4%}.p2{right:2%;top:46%}.p3{left:22%;bottom:4%}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.scene{max-width:440px}}

/* ---------- Заголовки секцій ---------- */
.head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:clamp(24px,4vw,40px)}
.head h2{font-size:clamp(28px,4.4vw,48px)}
.head p{color:var(--ink-2);max-width:44ch}
.kicker{font:800 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:block}

/* ---------- Плитки послуг (як у Дії) ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;min-height:168px}
.tile:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:26px;background:var(--paper)}
.tile h3{font-size:17px;font-weight:600;line-height:1.25}
.tile p{color:var(--ink-2);font-size:14px}
.tile .go{position:absolute;right:18px;top:22px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);transition:transform .3s, background .3s}
.tile:hover .go{transform:rotate(-45deg);background:var(--accent);color:#fff}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.tiles{grid-template-columns:1fr}.tile{min-height:0}}

/* ---------- Хто ми ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.photos{position:relative;aspect-ratio:1/1.05;max-width:520px;width:100%}
.ph{position:absolute;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:6px solid var(--card-solid);background:var(--card-solid)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph1{width:58%;aspect-ratio:3/4;left:0;top:6%;transform:rotate(-5deg)}
.ph2{width:52%;aspect-ratio:3/4;right:0;top:0;transform:rotate(4deg)}
.ph3{width:46%;aspect-ratio:4/5;left:28%;bottom:0;transform:rotate(-1deg)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.stat{padding:18px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line)}
.stat b{font:800 clamp(26px,3.4vw,36px)/1 var(--display);display:block;font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:var(--ink-2);font-weight:600}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.checks li::before{content:attr(data-e);flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:16px}
@media (max-width:860px){.about{grid-template-columns:1fr}.photos{max-width:420px;margin-inline:auto}}

/* ---------- Стек карток послуг (глибина) ---------- */
.stack{display:grid;gap:22px}
.svc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);border-radius:var(--r-xl);padding:clamp(22px,4vw,44px);background:var(--card-solid);box-shadow:var(--shadow);
  display:grid;grid-template-columns:1fr 1fr;gap:28px;transform-origin:50% 0;will-change:transform;min-height:420px;overflow:hidden}
.svc .n{font:800 13px/1 var(--display);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;margin-bottom:16px}
.svc h3{font-size:clamp(22px,3vw,34px);margin-bottom:12px}
.svc .sub{color:var(--ink-2);margin-bottom:22px}
.svc ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.svc li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:15px}
.svc li:last-child{border:0}
.svc li span{flex:none}
.svc .art{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:260px;display:grid;place-items:center}
.svc .art img{max-height:300px;width:auto;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.18))}
.svc .note{font-size:12px;color:var(--ink-3);margin-top:14px}
.svc.t1 .art{background:linear-gradient(160deg,#cfe6ff,#ffe1d4)}
.svc.t2 .art{background:linear-gradient(160deg,#e6dcff,#d6f5e7)}
.svc.t3 .art{background:linear-gradient(160deg,#fff0c4,#d3ecff)}
.svc.t4 .art{background:linear-gradient(160deg,#ffd9e4,#e1e9ff)}
.svc .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
@media (max-width:860px){.svc{grid-template-columns:1fr;position:relative;top:0;min-height:0}.svc .art{order:-1;min-height:200px}.svc .art img{max-height:200px}}

/* ---------- Де ви зараз (сегменти) ---------- */
.seg{display:inline-flex;flex-wrap:wrap;padding:6px;border-radius:99px;background:var(--card);border:1px solid var(--line);gap:4px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.seg button{border:0;background:none;font:700 15px/1 var(--body);color:var(--ink-2);padding:14px 20px;border-radius:99px;cursor:pointer;transition:background .3s,color .3s}
.seg button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.panes{margin-top:22px;position:relative}
.pane{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:clamp(22px,4vw,36px);border-radius:var(--r-xl);background:var(--card);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:paneIn .55s cubic-bezier(.2,.8,.2,1)}
@keyframes paneIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
.pane .big{font-size:64px;line-height:1}
.pane h3{font-size:clamp(20px,2.6vw,28px);margin-bottom:8px}
.pane p{color:var(--ink-2);max-width:60ch}
@media (max-width:720px){.pane{grid-template-columns:1fr}.seg{display:flex}.seg button{flex:1 1 auto;padding:12px 14px;font-size:14px}}

/* ---------- Кроки ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:s}
.step{padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.step::after{counter-increment:s;content:counter(s);position:absolute;right:14px;bottom:-18px;font:800 96px/1 var(--display);color:var(--line)}
.step .e{font-size:28px}
.step h3{font-size:16px;font-weight:600;margin-top:12px;line-height:1.3;position:relative;z-index:1}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* ---------- Тарифи (картки як у монобанку) ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;perspective:1400px}
.plan{position:relative;border-radius:var(--r-xl);padding:26px;display:flex;flex-direction:column;gap:18px;transform-style:preserve-3d;transition:transform .2s ease-out, box-shadow .3s;
  background:var(--card-solid);box-shadow:var(--shadow);color:var(--ink)}
.plan .badge{font-size:40px;line-height:1;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--paper);transform:translateZ(40px)}
.plan h3{font-size:20px;letter-spacing:0}
.plan .price{font:800 48px/1 var(--display);font-variant-numeric:tabular-nums;transform:translateZ(30px)}
.plan .price small{font-size:16px;font-weight:600;opacity:.6}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1}
.plan li{display:flex;gap:10px;font-size:14px;font-weight:600;line-height:1.35}
.plan li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#0d7a40;color:#fff}
.plan li.no{opacity:.42}
.plan li.no::before{content:"–";background:var(--ink-3)}
.plan.mid{background:linear-gradient(150deg,#ff6a3d,#f44d2b 45%,#c8245a);color:#fff}
.plan.mid .badge{background:rgba(255,255,255,.18)}
.plan.mid li.no::before{background:rgba(255,255,255,.4)}
.plan.mid li::before{background:#fff;color:#f44d2b}
.plan.mid .btn{--bg:#fff;--fg:#0d0e14}
.plan.vip{background:radial-gradient(120% 80% at 80% 0%,#3a2d0c 0%,var(--mono) 55%);color:var(--mono-ink);box-shadow:0 30px 80px -24px rgba(242,193,78,.45),0 0 0 1px rgba(242,193,78,.35)}
.plan.vip .badge{background:rgba(242,193,78,.14)}
.plan.vip .price{background:linear-gradient(90deg,#fff3c8,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.plan.vip li::before{background:var(--gold);color:#121318}
.plan.vip .btn{--bg:var(--gold);--fg:#121318}
.plan .tag{position:absolute;top:22px;right:22px;font:800 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;border-radius:99px;background:rgba(255,255,255,.2)}
.plan.vip .tag{background:rgba(242,193,78,.18);color:var(--gold)}
.plan .glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.25),transparent 45%);opacity:0;transition:opacity .3s}
.plan:hover .glare{opacity:1}
@media (max-width:960px){.plans{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

/* ---------- Відгуки ---------- */
.reviews{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 20px 30px;margin-inline:-20px;scrollbar-width:none;perspective:1200px}
.reviews::-webkit-scrollbar{display:none}
.rv-card{flex:0 0 clamp(240px,30vw,320px);scroll-snap-align:center;border-radius:var(--r-lg);overflow:hidden;background:var(--card-solid);box-shadow:var(--shadow);transition:transform .4s ease}
.rv-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rv-card{margin:0}
.rv-card figcaption{padding:14px 16px;font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:8px}
.rv-card .okc{color:var(--ok-text,#0d7a40)}
.arrows{display:flex;gap:8px}
.arrows button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:18px;cursor:pointer;transition:transform .2s}
.arrows button:active{transform:scale(.92)}

/* ---------- Q&A ---------- */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:center;padding:18px 20px;font-weight:700;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{flex:none;font-size:22px}
.faq summary .pm{margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--paper);transition:transform .35s}
.faq details[open] .pm{transform:rotate(45deg);background:var(--accent);color:#fff}
.faq .a{padding:0 20px 20px 56px;color:var(--ink-2);display:grid;gap:8px;font-size:15px}
.faq details[open] .a{animation:paneIn .4s ease}

/* ---------- Контакти / футер ---------- */
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.cbox{border-radius:var(--r-xl);padding:clamp(22px,4vw,40px);background:var(--mono);color:var(--mono-ink);position:relative;overflow:hidden}
.cbox::after{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-120px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 65%);opacity:.55}
.cbox h2{font-size:clamp(26px,3.6vw,40px);position:relative;z-index:1}
.cbox p{opacity:.75;margin:12px 0 24px;position:relative;z-index:1}
.msgs{display:grid;gap:10px;position:relative;z-index:1}
.msg{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.07);text-decoration:none;color:inherit;font-weight:700;transition:background .2s, transform .2s}
.msg:hover{background:rgba(255,255,255,.13);transform:translateX(4px)}
.msg .e{font-size:22px}
.msg small{display:block;font-weight:600;opacity:.6;font-size:12px}
.msg .arr{margin-left:auto;opacity:.6}
.side{display:grid;gap:18px}
.sbox{border-radius:var(--r-xl);padding:24px;background:var(--card);border:1px solid var(--line)}
.sbox h3{font-size:15px;font-family:var(--body);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.socials{display:flex;flex-wrap:wrap;gap:8px}
.socials a{padding:10px 14px;border-radius:99px;background:var(--paper);text-decoration:none;font-weight:700;font-size:14px}
.copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.copy code{font:700 15px/1.3 var(--body);user-select:all;word-break:break-all}
.copy button{border:0;border-radius:99px;padding:8px 12px;font:700 13px var(--body);background:var(--paper);color:var(--ink);cursor:pointer}
.links{display:grid;gap:8px}
.links a{font-weight:600;color:var(--ink-2)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
footer{padding-block:28px 120px;color:var(--ink-3);font-size:13px}
footer .legal{display:grid;gap:8px;max-width:80ch}
footer strong{color:var(--ink-2)}

/* ---------- Нижня панель (мобільна, як у застосунку) ---------- */
.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:45;display:none;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));
  margin-bottom:10px;border-radius:26px;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:var(--shadow-lg);width:min(440px,calc(100% - 24px))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:20px;text-decoration:none;font-size:11px;font-weight:700;color:var(--ink-2);transition:background .3s,color .3s}
.tabbar a span{font-size:20px;line-height:1.1;transition:transform .3s}
.tabbar a.on{background:var(--ink);color:var(--paper)}
.tabbar a.on span{transform:translateY(-2px) scale(1.1)}
@media (max-width:1100px){.tabbar{display:flex}}

/* ---------- Шторка замовлення ---------- */
.sheet-bg{position:fixed;inset:0;z-index:90;background:rgba(13,14,20,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .35s}
.sheet{position:fixed;left:50%;bottom:0;z-index:91;width:min(560px,100%);max-height:92vh;overflow:auto;transform:translate(-50%,105%);transition:transform .5s cubic-bezier(.2,.9,.2,1);
  background:var(--card-solid);border-radius:28px 28px 0 0;padding:12px 22px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg)}
.sheet.open{transform:translate(-50%,0)}
.sheet-bg.open{opacity:1}
.grab{width:44px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 16px}
.sheet h3{font-size:22px;margin-bottom:4px}
.sheet .sum{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:var(--r-md);background:var(--paper);margin:16px 0;font-weight:700}
.sheet .sum b{font:800 24px/1 var(--display)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:99px;padding:10px 14px;font:700 14px var(--body);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.field{display:grid;gap:6px;margin-top:12px}
.field label{font-size:13px;font-weight:700;color:var(--ink-2)}
.field input{font:600 16px var(--body);padding:15px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);width:100%}
.field input:focus{outline:none;border-color:var(--ink)}
.field input.bad{border-color:var(--accent)}
.cb{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-size:13px;color:var(--ink-2);font-weight:600;cursor:pointer}
.cb input{width:20px;height:20px;flex:none;accent-color:var(--ok-text,#0d7a40);margin-top:1px}
.cb.bad{color:var(--accent)}
.sheet .btn{margin-top:18px}
.done{text-align:center;padding:10px 0}
.done .big{font-size:64px;animation:pop .6s cubic-bezier(.2,1.4,.4,1)}
.done p{color:var(--ink-2);margin:10px 0 0}
.done .orderbox{text-align:left;margin-top:16px;padding:14px;border-radius:14px;background:var(--paper);font-size:14px;white-space:pre-wrap;user-select:all}

/* ---------- Плавні появи ---------- */
.rv{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.pre{opacity:0;transform:translateY(40px) scale(.97)}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}.rv.d5{transition-delay:.4s}

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

/* ===================== Додатково: мови, Green Card, переходи ===================== */
[hidden]{display:none!important}
:root{--green:#0f9d58;--green-2:#0b6b3d}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--green:#2fc27a;--green-2:#1c8a55}}
:root[data-theme="dark"]{--green:#2fc27a;--green-2:#1c8a55}

/* Перемикач мов */
.langsw{display:inline-flex;gap:2px;padding:4px;border-radius:99px;background:var(--paper);flex:none}
.langsw button{border:0;background:none;color:var(--ink-2);font:800 12px/1 var(--body);padding:9px 10px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.langsw button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.gate-lang{margin-top:16px}
#app.lang-swap main,#app.lang-swap .top{opacity:.35;filter:blur(3px);transition:opacity .18s,filter .18s}
#app main,#app .top{transition:opacity .3s,filter .3s}

/* Перехід між сторінками */
body.leaving #app{opacity:0;translate:0 -8px;transition:opacity .3s,translate .3s}
@keyframes pageIn{from{opacity:.55;translate:0 10px}}
/* вхідна анімація сторінки прибрана: сторінка видима одразу */
@view-transition{navigation:auto}

/* Дрібниці, винесені з інлайн-стилів */
.about-t{font-size:clamp(28px,4.2vw,46px)}
.visa-img{border-radius:14px;max-width:92%}
.sheet-sub{color:var(--ink-2);font-size:14px}
.chips{margin-top:14px}
.done-links{display:grid;gap:10px;margin-top:16px}
.sheet [data-close]{margin-top:10px}
.tabbar a i{font-style:normal;white-space:nowrap}
.nav a.on{background:#0b7d45;color:#fff}
.tile-gc{background:linear-gradient(140deg,color-mix(in srgb,var(--green) 18%,var(--card-solid)),var(--card))}
.tile.static{cursor:default}
.tile.static:hover{transform:none;box-shadow:none}

/* Green Card: hero */
.btn.green{--bg:#0b7d45;--fg:#fff}
.hero h1 em.green{background:linear-gradient(90deg,var(--green),#4fd18b);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow.back{text-decoration:none;transition:transform .2s}
.eyebrow.back:hover{transform:translateX(-4px)}
.orb-green{background:radial-gradient(circle at 35% 30%,#fff 0,#c9f2e1 38%,#bfe3ff 78%)}
.gc-statue{height:78%;right:2%;bottom:4%}
.gc-statue img{height:100%;width:auto}
.green-card{width:64%;left:4%;top:28%;aspect-ratio:1.586;border-radius:22px;padding:18px;color:#0b3d26;overflow:hidden;
  background:linear-gradient(135deg,#d9f7e6 0%,#9be3bd 40%,#5cc08f 100%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:space-between;transform-style:preserve-3d}
.green-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.0) 0 10px,rgba(255,255,255,.18) 10px 11px)}
.green-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 60%);transform:translateX(-60%);animation:shine 5s ease-in-out infinite}
.green-card .row{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font:800 10px/1 var(--body);letter-spacing:.12em;text-transform:uppercase}
.green-card .ok{background:#0b6b3d;color:#fff;padding:6px 10px;border-radius:99px;letter-spacing:.06em}
.gc-mid{position:relative;z-index:1;display:flex;gap:14px;align-items:center}
.gc-ph{width:22%;aspect-ratio:3/4;border-radius:10px;background:rgba(255,255,255,.6);display:grid;place-items:center;font-size:clamp(20px,3vw,32px)}
.gc-mid b{font:800 clamp(13px,2vw,20px)/1.05 var(--display);letter-spacing:.02em}
.gc-mid small{display:block;margin-top:6px;font:700 10px/1 var(--body);letter-spacing:.1em;opacity:.7}

/* Умови + важливо */
.rules{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,40px);align-items:start}
.req{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px}
.req li{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);font-weight:700;font-size:16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.req li>span:first-child{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--paper);font-size:20px}
.req small{display:block;font-weight:600;font-size:13px;color:var(--ink-2);margin-top:2px}
.alert{border-radius:var(--r-xl);padding:clamp(22px,4vw,34px);background:var(--mono);color:var(--mono-ink);position:relative;overflow:hidden;display:grid;gap:12px}
.alert::after{content:"";position:absolute;width:300px;height:300px;right:-110px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,#ffb020,transparent 65%);opacity:.45}
.alert-e{font-size:46px;line-height:1;animation:wob 3s ease-in-out infinite}
.alert h3{font-size:24px;color:#ffcf5a}
.alert p{opacity:.85;position:relative;z-index:1}
.alert p+p{margin-top:10px}
.alert b{color:#fff}
@media (max-width:860px){.rules{grid-template-columns:1fr}}

/* Тарифи Green Card */
.group{margin-top:22px}
.group-lead{color:var(--ink-2);font-weight:600;max-width:70ch;margin-bottom:18px}
.group-in{animation:paneIn .55s cubic-bezier(.2,.8,.2,1)}
.plans.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.plan .fit{font-size:14px;font-weight:600;opacity:.8;flex:1}
.plan details.more{font-size:13px;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);padding-top:12px}
.plan details.more summary{cursor:pointer;font-weight:800;list-style:none;display:flex;align-items:center;gap:8px}
.plan details.more summary::-webkit-details-marker{display:none}
.plan details.more summary::before{content:"ⓘ";font-size:15px}
.plan details.more p{margin-top:8px;opacity:.8;line-height:1.5}
.plan.green-mid{background:linear-gradient(150deg,#27c27a,#0f9d58 45%,#0b6b3d)}
.plan.green-mid .btn{--bg:#fff;--fg:#0b3d26}
.plan.green-mid li::before{color:#0f9d58}
.plan.green-vip{background:radial-gradient(120% 80% at 80% 0%,#0f4a30 0%,var(--mono) 60%);box-shadow:0 30px 80px -24px rgba(47,194,122,.45),0 0 0 1px rgba(47,194,122,.35)}
.plan.green-vip .price{background:linear-gradient(90deg,#e6fff1,#4fd18b);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan.green-vip .btn{--bg:#2fc27a;--fg:#062417}
.plan.green-vip .tag{background:rgba(47,194,122,.18);color:#7fe3ae}
.plan.green-vip .badge{background:rgba(47,194,122,.14)}
@media (max-width:960px){.plans.two{grid-template-columns:1fr;max-width:480px}}

/* Переможці */
.winner{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4vw,40px);align-items:center;padding:clamp(22px,4vw,44px);border-radius:var(--r-xl);
  background:linear-gradient(135deg,#0f9d58,#0b6b3d 60%,#073d24);color:#fff;box-shadow:var(--shadow-lg);margin-bottom:clamp(40px,7vw,80px);overflow:hidden;position:relative}
.winner::after{content:"🏆";position:absolute;right:-10px;bottom:-30px;font-size:180px;opacity:.12;transform:rotate(-12deg)}
.winner-num b{font:800 clamp(90px,16vw,190px)/.85 var(--display);font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#b9f5d6);-webkit-background-clip:text;background-clip:text;color:transparent}
.winner .kicker{color:#b9f5d6}
.winner h2{font-size:clamp(20px,2.8vw,32px)}
.winner-quote{margin-top:16px;padding:14px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.12);font-weight:700;position:relative;z-index:1}
@media (max-width:640px){.winner{grid-template-columns:1fr}}
.shots .rv-card{flex-basis:clamp(220px,24vw,270px)}
.shots .rv-card img{aspect-ratio:9/16;object-fit:cover;object-position:top}

/* Помилки */
.errors .step{background:var(--card)}
.errors .step h3{font-size:15px}
.errors .step::after{color:color-mix(in srgb,var(--accent) 14%,transparent)}

@media (max-width:760px){.bar .cta-top{display:none}.langsw .fl{display:none}}
@media (max-width:420px){.bar{padding-left:12px;gap:8px}.logo{font-size:12px;gap:8px}.logo b{width:30px;height:30px;font-size:15px}.langsw button{padding:8px 8px}}
@media (max-width:350px){.logo span{display:none}}

/* ===================== v3: анімована сцена замість паралаксу, окремі сторінки ===================== */
:root{--sky1:#6fa8ff;--sky2:#b9d6ff;--sky3:#ffe2cc;--sun-core:#fff6d8;--sun-mid:#ffd27a;--stars-op:0;--cloud:rgba(255,255,255,.9)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sky1:#070d2b;--sky2:#17215c;--sky3:#3e2f6e;--sun-core:#e9edff;--sun-mid:#8fa2ff;--stars-op:1;--cloud:rgba(170,180,230,.35)}}
:root[data-theme="dark"]{--sky1:#070d2b;--sky2:#17215c;--sky3:#3e2f6e;--sun-core:#e9edff;--sun-mid:#8fa2ff;--stars-op:1;--cloud:rgba(170,180,230,.35)}

/* М'яке "плавання" без реакції на мишку */
@keyframes floatY{50%{translate:0 -12px}}
.float-a{animation:floatY 6s ease-in-out infinite}
.float-b{animation:floatY 5s ease-in-out -1.5s infinite}
.float-c{animation:floatY 7s ease-in-out -3s infinite}

/* Небо */
.sky{position:relative;aspect-ratio:1/1.02;max-width:560px;width:100%;margin-inline:auto;border-radius:36px;overflow:hidden;isolation:isolate;container-type:inline-size;
  box-shadow:var(--shadow-lg)}
.sky-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--sky1),var(--sky2) 48%,var(--sky3))}
.sky-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(255,170,130,.45));animation:dawn 10s ease-in-out infinite alternate}
@keyframes dawn{from{opacity:.15}to{opacity:.85}}
.sun{position:absolute;width:70%;aspect-ratio:1;left:28%;top:2%;border-radius:50%;
  background:radial-gradient(circle,var(--sun-core) 0,var(--sun-mid) 22%,color-mix(in srgb,var(--sun-mid) 35%,transparent) 45%,transparent 68%);animation:sunPulse 7s ease-in-out infinite}
@keyframes sunPulse{50%{scale:1.08;opacity:.85}}
.stars{position:absolute;inset:0 0 40% 0;opacity:var(--stars-op);
  background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 28% 8%,#fff,transparent),radial-gradient(1.4px 1.4px at 44% 26%,#fff,transparent),radial-gradient(1px 1px at 66% 12%,#fff,transparent),radial-gradient(1.6px 1.6px at 82% 30%,#fff,transparent),radial-gradient(1.2px 1.2px at 8% 40%,#fff,transparent),radial-gradient(1px 1px at 52% 6%,#fff,transparent),radial-gradient(1.3px 1.3px at 90% 8%,#fff,transparent);
  animation:twinkle 3.5s ease-in-out infinite alternate}
@keyframes twinkle{from{filter:brightness(.6)}to{filter:brightness(1.3)}}
.cloud{position:absolute;left:0;width:40%;height:11%;border-radius:999px;background:var(--cloud);filter:blur(5px);animation:drift 40s linear infinite}
.cloud::before,.cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.cloud::before{width:46%;height:150%;left:16%;bottom:30%}
.cloud::after{width:34%;height:120%;left:50%;bottom:35%}
.cloud.c1{top:30%}
.cloud.c2{top:55%;width:30%;animation-duration:55s;animation-delay:-22s;opacity:.8}
.cloud.c3{top:14%;width:24%;animation-duration:48s;animation-delay:-35s;opacity:.7}
@keyframes drift{from{translate:-45cqw 0}to{translate:110cqw 0}}
.route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route .trail{fill:none;stroke:rgba(255,255,255,.85);stroke-width:2.2;stroke-dasharray:3 9;stroke-linecap:round;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.route text{font-size:26px}
.route .flagtxt{font-size:30px}
.statue-wrap{position:absolute;right:-2%;bottom:-6%;height:88%;aspect-ratio:350/653;animation:rise 1.6s cubic-bezier(.2,.8,.2,1) .2s both}
.statue-wrap img{height:100%;width:100%;filter:drop-shadow(0 20px 30px rgba(14,5,54,.3))}
@keyframes rise{from{translate:0 10%}}
.flame{position:absolute;left:13%;top:3.4%;width:16%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,#fffbe0 0,#ffd54a 28%,rgba(255,150,30,.55) 50%,transparent 70%);mix-blend-mode:screen;animation:flicker 1.2s ease-in-out infinite alternate}
.flame::after{content:"";position:absolute;inset:-160%;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,226,140,.28) 0 6deg,transparent 6deg 24deg);
  -webkit-mask:radial-gradient(circle,#000 10%,transparent 62%);mask:radial-gradient(circle,#000 10%,transparent 62%);animation:spin 24s linear infinite}
@keyframes flicker{0%{scale:.9;opacity:.85}50%{scale:1.08}100%{scale:1;opacity:1}}
@keyframes spin{to{rotate:360deg}}
.sky .visa-card{position:absolute;left:5%;bottom:7%;top:auto;width:56%;z-index:2}
.sky .visa-card .num{font-size:clamp(14px,2.4vw,22px)}
.sky .pill{position:absolute;z-index:3}
.sky .p1{left:5%;top:5%}
.sky .p3{right:4%;bottom:5%;left:auto}

/* Зелена сцена Green Card */
.sky-green{--sky1:#5cc99a;--sky2:#c9f2e1;--sky3:#fff3c4}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sky-green{--sky1:#05261a;--sky2:#0d4a33;--sky3:#3c4a2a}}
:root[data-theme="dark"] .sky-green{--sky1:#05261a;--sky2:#0d4a33;--sky3:#3c4a2a}
.statue-wrap.gc{aspect-ratio:1;height:74%;right:-6%;bottom:-2%}
.sky .green-card{position:absolute;left:5%;top:auto;bottom:8%;width:60%;z-index:2}
.confetti i{position:absolute;top:-6%;width:8px;height:14px;border-radius:2px;animation:fall 7s linear infinite;opacity:.9}
.confetti i:nth-child(4n+1){background:#ffd54a}.confetti i:nth-child(4n+2){background:#f44d2b}.confetti i:nth-child(4n+3){background:#3b82f6}.confetti i:nth-child(4n){background:#fff}
.confetti i:nth-child(1){left:6%;animation-delay:-1s}.confetti i:nth-child(2){left:14%;animation-delay:-4s;animation-duration:8s}.confetti i:nth-child(3){left:22%;animation-delay:-2.5s}
.confetti i:nth-child(4){left:31%;animation-delay:-6s;animation-duration:9s}.confetti i:nth-child(5){left:39%;animation-delay:-0.5s}.confetti i:nth-child(6){left:47%;animation-delay:-3.2s;animation-duration:6.5s}
.confetti i:nth-child(7){left:56%;animation-delay:-5s}.confetti i:nth-child(8){left:64%;animation-delay:-1.8s;animation-duration:8.5s}.confetti i:nth-child(9){left:72%;animation-delay:-4.4s}
.confetti i:nth-child(10){left:80%;animation-delay:-2s;animation-duration:7.5s}.confetti i:nth-child(11){left:88%;animation-delay:-6.5s}.confetti i:nth-child(12){left:95%;animation-delay:-3.7s;animation-duration:9.5s}
@keyframes fall{to{translate:0 115cqw;rotate:540deg}}
@media (max-width:860px){.sky{max-width:440px}}

/* Підсторінки */
.page-hero{padding-top:clamp(24px,5vw,56px)}
.page-hero h1{font-size:clamp(32px,5.4vw,64px)}
.page-hero .kicker{margin-top:18px}
.page-hero .eyebrow + .kicker{display:block}
.photos .ph{animation-duration:6s}
.photos .ph1.float-a,.photos .ph2.float-b,.photos .ph3.float-c{will-change:translate}
.stats4{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
@media (max-width:860px){.stats4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.step p{color:var(--ink-2);font-size:14px;margin-top:6px;position:relative;z-index:1}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.steps.three{grid-template-columns:1fr}}
.note-line{margin-top:18px;color:var(--ink-2);font-weight:600}
.nav a.on{background:var(--ink);color:var(--paper)}
.nav a.nav-gc.on{background:#0b7d45;color:#fff}
.principles{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
.photo-card{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:320px;box-shadow:var(--shadow)}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-card span{position:absolute;left:14px;bottom:14px;padding:10px 14px;border-radius:99px;background:var(--card-solid);color:var(--ink);font-weight:800;font-size:14px}
@media (max-width:860px){.principles{grid-template-columns:1fr}}
.cta-band{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:clamp(22px,4vw,40px);border-radius:var(--r-xl);
  background:linear-gradient(135deg,var(--card-solid),var(--card));border:1px solid var(--line);box-shadow:var(--shadow)}
.cta-band h2{font-size:clamp(22px,3vw,32px)}
.cta-band p{color:var(--ink-2);margin-top:8px}
.cta-band .cta-row{margin-top:0}

/* Чат (консультація) */
.chat{max-width:440px;width:100%;margin-inline:auto;border-radius:32px;padding:18px;background:var(--mono);color:var(--mono-ink);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px;min-height:420px}
.chat-head{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:800}
.chat-head b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent)}
.chat-head small{display:block;font-weight:600;font-size:12px;color:#5ee39a}
.bubble{max-width:82%;padding:12px 14px;border-radius:20px;font-size:14px;font-weight:600;line-height:1.4;animation:msg 12s ease-in-out infinite both}
.bubble.in{align-self:flex-start;background:rgba(255,255,255,.1);border-bottom-left-radius:6px}
.bubble.out{align-self:flex-end;background:#c8361a;color:#fff;border-bottom-right-radius:6px}
.b1{animation-delay:.2s}.b2{animation-delay:1.6s}.b3{animation-delay:3s}.b4{animation-delay:4.4s}.b5{animation-delay:5.8s}
@keyframes msg{0%,76%{scale:1;translate:0 0}84%,90%{scale:0;translate:0 12px}100%{scale:1;translate:0 0}}
.typing{align-self:flex-start;display:flex;gap:4px;padding:14px;border-radius:20px;background:rgba(255,255,255,.1);animation:msg 12s ease-in-out infinite both}
.typing i{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.5;animation:dot 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{translate:0 -4px;opacity:1}}

/* Форми USCIS (сторінка U4U/TPS) */
.forms-stack{position:relative;max-width:460px;width:100%;margin-inline:auto;aspect-ratio:1/1}
.form-card{position:absolute;width:58%;aspect-ratio:8.5/11;border-radius:18px;background:var(--card-solid);box-shadow:var(--shadow-lg);padding:16px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line)}
.form-card .fc-top{display:flex;justify-content:space-between;align-items:center;font-weight:800}
.form-card .fc-top b{font:800 22px/1 var(--display)}
.form-card .fc-top span{font-size:11px;letter-spacing:.12em;color:var(--ink-3)}
.form-card i{height:9px;border-radius:9px;background:var(--line)}
.form-card i.short{width:60%}
.stamp{margin-top:auto;align-self:flex-start;padding:8px 12px;border-radius:12px;border:2px solid var(--ok-text,#0d7a40);color:var(--ok-text,#0d7a40);font-weight:800;font-size:13px;rotate:-6deg;animation:stamp 6s ease-in-out infinite}
.stamp.ok{background:#0d7a40;color:#fff}
@keyframes stamp{0%,78%{scale:1}86%,90%{scale:1.35}100%{scale:1}}
.fc1{left:2%;top:10%;rotate:-8deg;animation:floatY 6s ease-in-out infinite}
.fc2{left:22%;top:4%;rotate:3deg;animation:floatY 7s ease-in-out -2s infinite}.fc2 .stamp{animation-delay:1.2s}
.fc3{left:40%;top:16%;rotate:9deg;animation:floatY 5.5s ease-in-out -1s infinite}.fc3 .stamp{animation-delay:2.4s}
.forms-stack .pill{position:absolute;right:0;bottom:6%;left:auto;top:auto;z-index:3}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.svc-card{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.svc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.form-chip{font:800 12px/1 var(--body);letter-spacing:.04em;padding:8px 10px;border-radius:99px;background:var(--ink);color:var(--paper);white-space:nowrap}
.svc-card h3{font-size:17px;font-weight:600;line-height:1.25}
.svc-card p{color:var(--ink-2);font-size:14px;flex:1}
.svc-card .btn{padding:14px 18px;font-size:14px}
.svc-gc{background:linear-gradient(140deg,color-mix(in srgb,var(--green) 18%,var(--card-solid)),var(--card))}
@media (max-width:1060px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* Паспорт з візами (сторінка типів віз) */
.passport-scene{position:relative;max-width:460px;width:100%;margin-inline:auto;aspect-ratio:1/1}
.passport{position:absolute;left:24%;top:18%;width:52%;aspect-ratio:3/4.2;border-radius:16px;background:linear-gradient(160deg,#1f2c6b,#0e0536);color:#e8d48b;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-lg);rotate:-6deg;animation:floatY 6s ease-in-out infinite}
.pp-crest{font-size:44px}
.passport b{font:800 18px/1 var(--display);letter-spacing:.14em}
.passport small{font-size:10px;letter-spacing:.16em;opacity:.8}
.vtag{position:absolute;padding:10px 14px;border-radius:14px;background:var(--card-solid);color:var(--ink);font:800 16px/1 var(--display);box-shadow:var(--shadow);border:2px solid var(--line)}
.t1{left:2%;top:8%;animation:floatY 5s ease-in-out infinite;border-color:var(--accent)}
.t2{right:4%;top:6%;animation:floatY 6s ease-in-out -1s infinite}
.t3{right:0;top:44%;animation:floatY 7s ease-in-out -2s infinite}
.t4{left:0;top:52%;animation:floatY 5.5s ease-in-out -3s infinite}
.t5{left:16%;bottom:4%;animation:floatY 6.5s ease-in-out -1.5s infinite}
.t6{right:12%;bottom:6%;animation:floatY 5.8s ease-in-out -2.5s infinite}
.visa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.visa{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.vcode{font:800 34px/1 var(--display);letter-spacing:-.02em}
.vcode small{font-size:18px;color:var(--ink-3)}
.visa h2,.visa h3{font-size:16px;font-family:var(--body);font-weight:800}
.visa p{color:var(--ink-2);font-size:14px;flex:1}
.visa .btn{padding:14px 18px;font-size:14px;margin-top:6px}
.visa-gc{background:linear-gradient(140deg,color-mix(in srgb,var(--green) 18%,var(--card-solid)),var(--card))}
.visa-gc .vcode{color:var(--green)}
@media (max-width:1060px){.visa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.visa-grid{grid-template-columns:1fr}}

/* Документи (політика, оферта) */
.doc-hero{max-width:860px}
.doc-hero .lead{max-width:60ch}
.doc-lang{margin-top:12px;font-weight:700;color:var(--ink-2)}
.doc-lang:empty{display:none}
.doc-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.doc{max-width:860px;padding:clamp(22px,5vw,48px);border-radius:var(--r-xl);background:var(--card-solid);box-shadow:var(--shadow);font-size:15px;line-height:1.7}
.doc h2{font-size:clamp(18px,2.2vw,22px);margin:32px 0 12px;scroll-margin-top:100px}
.doc h2:first-child{margin-top:0}
.doc p{margin:0 0 10px;color:var(--ink-2)}
.doc ul{margin:0 0 12px;padding-left:22px;color:var(--ink-2)}
.doc li{margin:4px 0}
.doc a{color:var(--accent);word-break:break-all}
.doc hr{border:0;border-top:1px dashed var(--line);margin:36px 0}
.doc-ref{margin-top:24px!important;padding:14px 16px;border-radius:var(--r-md);background:var(--paper);font-weight:700}
#contract,#appendix{scroll-margin-top:100px}

@media (prefers-reduced-motion:reduce){.bubble,.typing{opacity:1}}

/* ===================== v4 ===================== */
/* Логотип: прозора статуя без фону */
.logo-img{height:38px;width:auto;flex:none;filter:drop-shadow(0 2px 4px rgba(14,5,54,.18))}
@media (max-width:420px){.logo-img{height:32px}}

/* Планета, що обертається, у сцені */
.globe{position:absolute;left:4%;top:36%;width:24%;aspect-ratio:1;border-radius:50%;z-index:1;
  box-shadow:0 0 0 6px rgba(255,255,255,.18),0 0 40px rgba(120,180,255,.55)}
.globe img{width:100%;height:100%;border-radius:50%;animation:spin 40s linear infinite}
.globe::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.35),transparent 45%,rgba(0,0,30,.35) 85%)}
.route{z-index:2}

/* Стара ціна та акція */
.price s.old{font:700 20px/1 var(--body);margin-left:12px;opacity:.55;text-decoration-thickness:2px;text-decoration-color:var(--accent);vertical-align:middle}
.plan.mid .price s.old,.plan.vip .price s.old{text-decoration-color:currentColor}
.plan.green-vip .price s.old{-webkit-text-fill-color:currentColor;color:#bfeed4}
.promo{align-self:flex-start;font-weight:800;font-size:12px;padding:7px 10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.plan.mid .promo,.plan.vip .promo{background:rgba(255,255,255,.16);color:#fff}
.gate .owner a{color:var(--accent)}

/* ===================== v5 ===================== */
/* Круглий логотип, симетричний із заокругленням шапки */
.bar{padding:9px 10px 9px 9px}
.logo{gap:12px}
.logo-img{width:42px;height:42px;border-radius:50%;filter:none;box-shadow:0 0 0 2px var(--card-solid),0 4px 12px rgba(14,5,54,.22)}
@media (max-width:420px){.logo-img{width:36px;height:36px}}

/* Ціни та Telegram */
.price-tag{display:flex;align-items:baseline;gap:10px;margin-top:18px}
.price-tag b{font:800 34px/1 var(--display)}
.price-tag span{color:var(--ink-2);font-weight:700}
.price-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.price-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--paper);font-size:13px;font-weight:700}
.price-list b{font:800 17px/1 var(--display);white-space:nowrap}
.tg-ask{font-size:13px;font-weight:800;color:#2a9df4;text-decoration:none}
.tg-ask:hover{text-decoration:underline}
.tg-ask.center{display:block;text-align:center;margin-top:14px}

/* Екран оплати */
.orderbox.pay-note{display:grid;gap:6px;white-space:normal;user-select:auto;background:color-mix(in srgb,#ffb020 16%,var(--paper));border:1px solid color-mix(in srgb,#ffb020 45%,transparent)}
.orderbox.pay-note b{color:var(--ink)}
.orderbox.pay-note span{color:var(--ink-2)}
.done .btn{width:100%}

/* Скріншоти: видно повністю + відкриття на весь екран */
.rv-card{cursor:zoom-in}
.shots .rv-card{flex-basis:clamp(240px,26vw,300px);background:var(--paper)}
.shots .rv-card img{aspect-ratio:auto;height:min(64vh,540px);width:100%;object-fit:contain;object-position:center}
@media (max-width:560px){.shots .rv-card{flex-basis:82vw}.shots .rv-card img{height:70vh}}
.lb{position:fixed;inset:0;z-index:120;background:rgba(5,6,10,.92);display:flex;align-items:center;justify-content:center;padding:56px 12px calc(24px + env(safe-area-inset-bottom,0px))}
.lb img{max-width:min(92vw,720px);max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:20px;cursor:pointer}
.lb-x{top:max(12px,env(safe-area-inset-top,0px));right:12px}
.lb-prev{left:12px;top:50%;translate:0 -50%}
.lb-next{right:12px;top:50%;translate:0 -50%}
.lb-count{position:absolute;top:max(22px,env(safe-area-inset-top,0px));left:50%;translate:-50% 0;color:#fff;font-weight:700;font-size:14px;opacity:.8}
@media (max-width:560px){.lb-prev,.lb-next{top:auto;bottom:16px;translate:none}}

/* ===================== v7: перевірка форми ===================== */
.field .err{margin:0;color:var(--accent);font-size:13px;font-weight:700;line-height:1.4}
.field .err:empty{display:none}
.field .err .fix{border:0;background:var(--accent);color:#fff;font:800 12px var(--body);padding:6px 10px;border-radius:99px;cursor:pointer;margin-top:6px}
.field.ok input{border-color:var(--ok-text,#0d7a40)}
.field.ok label::after{content:" ✓";color:var(--ok-text,#0d7a40)}
.hint-line{margin:0;font-size:12px;color:var(--ink-3)}
.phone-row{display:flex;gap:8px}
.phone-row select{flex:none;font:700 15px var(--body);padding:0 10px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.phone-row input{flex:1;min-width:0}

/* ===================== v8: прямі посилання ===================== */
[id]{scroll-margin-top:110px}
@keyframes spot{0%,100%{box-shadow:0 0 0 0 transparent}20%,60%{box-shadow:0 0 0 4px var(--accent),0 18px 50px -12px color-mix(in srgb,var(--accent) 60%,transparent)}}
.spot{animation:spot 2.6s ease-in-out}

/* ===================== v9: запис на консультацію ===================== */
.slots{margin-top:14px;padding:14px;border-radius:var(--r-md);background:var(--paper);display:grid;gap:10px}
.slots-t{margin:0;font-weight:800;font-size:14px}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.days button{flex:none;display:grid;gap:2px;justify-items:center;min-width:64px;padding:10px 8px;border-radius:14px;border:1.5px solid var(--line);background:var(--card-solid);color:var(--ink);cursor:pointer;font:600 12px var(--body)}
.days button b{font:800 13px var(--body);text-transform:capitalize}
.days button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.times button{display:grid;gap:2px;justify-items:center;padding:10px 6px;border-radius:12px;border:1.5px solid var(--line);background:var(--card-solid);color:var(--ink);cursor:pointer}
.times button b{font:800 15px var(--body)}
.times button small{font-size:11px;color:var(--ink-3)}
.times button[aria-pressed="true"]{background:#0d7a40;border-color:var(--ok-text,#0d7a40);color:#fff}
.times button[aria-pressed="true"] small{color:#e6fff1}
.slots-note{margin:0;font-size:13px;font-weight:700;color:var(--ink-2)}
.slots-note:empty{display:none}
.slots .err{margin:0;color:var(--accent);font-weight:700;font-size:13px}
.slots .err:empty{display:none}
.booked{display:grid;gap:4px;text-align:left;margin-top:14px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--ok) 14%,var(--paper));border:1px solid color-mix(in srgb,var(--ok) 45%,transparent)}
.booked span{color:var(--ink-2);font-weight:700}
.btn.paid{--bg:var(--ok);--fg:#fff}
.btn:disabled{opacity:.7;cursor:default;transform:none}

/* ===================== v10: контраст і доступність ===================== */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--accent-text:#ff8a6e;--link:#7cc0ff}}
:root[data-theme="dark"]{--accent-text:#ff8a6e;--link:#7cc0ff}
.kicker,.gate .owner a,.doc a,.field .err,.slots .err,.hint,.agree.warn span{color:var(--accent-text)}
.promo{color:var(--accent-text)}
.tg-ask{color:var(--link)}
.btn.accent{--bg:#d83a1c}
.btn.dim{opacity:.7}
.langsw button{color:var(--ink-2)}

/* v11: контраст для перевірки доступності */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ok-text:#3fd68a}}
:root[data-theme="dark"]{--ok-text:#3fd68a}
