@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800;900&display=swap');
    /* ─── FONT PROTECTION (blocks Elementor overrides) ─── */
    html { font-size: 16px !important; }
    #jl-root, #jl-root * { font-family: 'Nunito', sans-serif !important; }
    #jl-root { -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:     #08080f;
  --bg2:    #0d0d1a;
  --bg3:    #111122;
  --s:      rgba(255,255,255,.045);
  --b:      rgba(255,255,255,.08);
  --b2:     rgba(255,255,255,.12);
  --orange: #ff6b35;
  --pink:   #ec4899;
  --purple: #8b5cf6;
  --green:  #10b981;
  --cyan:   #06b6d4;
  --white:  #ffffff;
  --muted:  rgba(255,255,255,.78);
  --dim:    rgba(255,255,255,.48);
}

/* ═══ LIGHT THEME ═══ */
[data-theme="light"] {
  --bg:    #f5f5f7;
  --bg2:   #eeeef2;
  --bg3:   #e6e6ec;
  --s:     rgba(0,0,0,.04);
  --b:     rgba(0,0,0,.09);
  --b2:    rgba(0,0,0,.14);
  --white: #0d0d1a;
  --muted: rgba(13,13,26,.72);
  --dim:   rgba(13,13,26,.44);
}
[data-theme="light"] html,
[data-theme="light"] body { background: #f5f5f7; color: #0d0d1a; }
[data-theme="light"] nav { background: #f5f5f7; }
[data-theme="light"] nav.on { border-bottom-color: rgba(0,0,0,.1); }
[data-theme="light"] .logo img { filter: none; }
[data-theme="light"] .nav-menu a:hover,
[data-theme="light"] .nav-menu a.act { background: rgba(0,0,0,.06); color: #0d0d1a; }
[data-theme="light"] .hv-card { background: linear-gradient(145deg,rgba(255,107,53,.06),rgba(139,92,246,.04));box-shadow:0 0 60px rgba(255,107,53,.08),0 30px 60px rgba(0,0,0,.12); }
[data-theme="light"] .snb-card { background: rgba(0,0,0,.03); box-shadow:0 22px 54px rgba(0,0,0,.08); }
[data-theme="light"] .snb-card::after { box-shadow:0 0 0 1px rgba(139,92,246,.16),0 0 32px rgba(139,92,246,.12),0 0 72px rgba(236,72,153,.08); }
[data-theme="light"] .snb-card-after { background: rgba(16,185,129,.04); box-shadow:0 22px 54px rgba(0,0,0,.08); }
[data-theme="light"] .snb-card-after::after { box-shadow:0 0 0 1px rgba(16,185,129,.16),0 0 32px rgba(16,185,129,.12),0 0 72px rgba(6,182,212,.08); }
[data-theme="light"] .snb-noise { background: rgba(0,0,0,.07); color: rgba(0,0,0,.4); }
[data-theme="light"] .mock-bubble-in { background: rgba(0,0,0,.06); border-color: rgba(0,0,0,.1); }
[data-theme="light"] #cta { background: transparent; }
[data-theme="light"] .cta-block { background: rgba(255,255,255,.5); border-color: rgba(255,107,53,.35); box-shadow: none; }
[data-theme="light"] .cta-block::before { display:none; }
[data-theme="light"] .cta-stat { background: rgba(0,0,0,.03); border-color: rgba(0,0,0,.07); }
[data-theme="light"] footer { background: #eeeef2; border-top-color: rgba(0,0,0,.1); }
[data-theme="light"] #sp { background: linear-gradient(90deg,var(--orange),var(--pink)); }

/* active nav item always orange+white */
[data-theme="light"] .nav-menu a.act { background:var(--orange) !important;color:#fff !important; }

/* buttons always white text regardless of theme */
[data-theme="light"] .btn-main,
[data-theme="light"] .nav-dl,
[data-theme="light"] .ei-pop { color:#ffffff !important; }

/* fix hardcoded white colors in light mode */
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,
[data-theme="light"] h4,[data-theme="light"] h5,[data-theme="light"] h6 { color:#0d0d1a; }
[data-theme="light"] .sec-sub,[data-theme="light"] .hero-desc { color:rgba(13,13,26,.72); }
[data-theme="light"] .snb-card-label { color:rgba(13,13,26,.7); }
[data-theme="light"] .snb-b-ico { color:rgba(13,13,26,.5); }
[data-theme="light"] .snb-b-title { color:#0d0d1a; }
[data-theme="light"] .snb-b-desc { color:rgba(13,13,26,.68); }
[data-theme="light"] .hv-ph-msg-in { background:rgba(0,0,0,.07);color:rgba(13,13,26,.75); }
[data-theme="light"] .hv-ph-msg-ai { color:rgba(13,13,26,.9); }
[data-theme="light"] .hv-ph-input { color:rgba(13,13,26,.5); background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.1); }
[data-theme="light"] .hero-pill { color:rgba(13,13,26,.7);background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1); }
[data-theme="light"] .s-chip { color:rgba(13,13,26,.7);background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1); }
[data-theme="light"] .strip-label { color:rgba(13,13,26,.72) !important; }
[data-theme="light"] .nav-menu a { color:rgba(13,13,26,.65); }
[data-theme="light"] .feat-txt h5 { color:#0d0d1a; }
[data-theme="light"] .feat-txt p { color:rgba(13,13,26,.68); }
[data-theme="light"] .tip h4 { color:#0d0d1a; }
[data-theme="light"] .tip p { color:rgba(13,13,26,.68); }
[data-theme="light"] .blog-card h3 { color:#0d0d1a; }
[data-theme="light"] .mock-pipe-card span { color:#0d0d1a; }
[data-theme="light"] .mock-pipe-card small { color:rgba(13,13,26,.5); }
[data-theme="light"] .mock-q-info span { color:#0d0d1a; }
[data-theme="light"] .mock-q-info small { color:rgba(13,13,26,.5); }
[data-theme="light"] .mock-contact span { color:#0d0d1a; }
[data-theme="light"] .mock-topbar { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .mock-queue-item { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .mock-stat-mini { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .mock-stat-val { color:#0d0d1a; }
[data-theme="light"] .mock-input-bar { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .mock-ai-reply { background:rgba(139,92,246,.07);border-color:rgba(139,92,246,.18); }
[data-theme="light"] .mock-ai-text { color:rgba(13,13,26,.7); }
[data-theme="light"] .ei-pack { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1); }
[data-theme="light"] .ei-gb { color:#0d0d1a; }
[data-theme="light"] .ei-days { color:rgba(13,13,26,.5); }
[data-theme="light"] .ei-note { color:rgba(13,13,26,.45); }
[data-theme="light"] .hv-b1-txt span { color:#0d0d1a; }
[data-theme="light"] .hv-b1-txt small { color:rgba(13,13,26,.6); }
[data-theme="light"] .pb-card-val { color:#0d0d1a; }
[data-theme="light"] .pb-card-lbl { color:rgba(13,13,26,.5); }
[data-theme="light"] .pb-txt span { color:#0d0d1a; }
[data-theme="light"] .pb-txt small { color:rgba(13,13,26,.6); }
[data-theme="light"] .cta-stat-n { color:inherit; }
[data-theme="light"] .cta-stat-l { color:rgba(13,13,26,.5); }
[data-theme="light"] .how-s-title { color:#0d0d1a; }
[data-theme="light"] .how-s-desc { color:rgba(13,13,26,.65); }
[data-theme="light"] .foot-col a { color:rgba(13,13,26,.65); }
[data-theme="light"] .foot-col h6 { color:rgba(13,13,26,.4); }
[data-theme="light"] .foot-btm { color:rgba(13,13,26,.4); }
[data-theme="light"] .foot-links a { color:rgba(13,13,26,.4); }
[data-theme="light"] .foot-logo-wrap p { color:rgba(13,13,26,.65); }
[data-theme="light"] .blog-cat { background:var(--blog-accent,var(--orange));color:#fff;border-color:transparent; }
[data-theme="light"] .blog-cat::before { background:#fff; }
[data-theme="light"] .snb-track-meta span { color:var(--orange) !important; }
[data-theme="light"] span[style*="rgba(255,255,255"] { color:rgba(13,13,26,.55) !important; }
[data-theme="light"] .mock-esim-country strong { color:#0d0d1a; }
[data-theme="light"] .mock-cov-item { color:#0d0d1a; border-color:rgba(0,0,0,.09); background:rgba(0,0,0,.03); }
[data-theme="light"] .how-s-num { color:var(--orange); }
[data-theme="light"] .btn-out { border-color:rgba(0,0,0,.2);color:rgba(13,13,26,.7); }
[data-theme="light"] .btn-out:hover { border-color:rgba(255,107,53,.4);color:#0d0d1a;background:rgba(255,107,53,.05); }
[data-theme="light"] .cta-store { background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.12);color:#0d0d1a; }
[data-theme="light"] .cta-store span { color:rgba(13,13,26,.5); }
[data-theme="light"] .cta-store strong { color:#0d0d1a; }
[data-theme="light"] .tip { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .blog-card { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09); }
[data-theme="light"] .snb-arrow-line { background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent); }

/* theme toggle button */
.theme-tgl { width:36px;height:36px;border-radius:9px;background:var(--s);border:1px solid var(--b);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;flex-shrink:0; }
.theme-tgl:hover { background:rgba(255,107,53,.1);border-color:rgba(255,107,53,.3); }
.theme-tgl svg { width:16px;height:16px;color:var(--muted);transition:color .2s; }
.theme-tgl:hover svg { color:var(--orange); }
.theme-tgl .icon-sun { display:none; }
.theme-tgl .icon-moon { display:block; }
[data-theme="light"] .theme-tgl .icon-sun  { display:block; }
[data-theme="light"] .theme-tgl .icon-moon { display:none; }

html { scroll-behavior: smooth; overflow-x: hidden; background: #08080f; }
body { font-family: 'Nunito', sans-serif; background: #08080f; color: var(--white); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }


/* scroll progress */
#sp { position:fixed;top:0;left:0;height:2px;z-index:500;background:linear-gradient(90deg,var(--orange),var(--pink));width:0; }

/* container */
.w { max-width: 1440px; margin: 0 auto; padding: 0 80px; }

/* reveal */
.up,.ul,.ur { transition: opacity .85s cubic-bezier(.22,1,.36,1), translate .85s cubic-bezier(.22,1,.36,1); }
.loaded .up:not(.on) { opacity:0; translate:0 36px; }
.loaded .ul:not(.on) { opacity:0; translate:-42px 0; }
.loaded .ur:not(.on) { opacity:0; translate:42px 0; }
.up.on,.ul.on,.ur.on { opacity:1!important; translate:0 0; }
.t1{transition-delay:.08s!important}.t2{transition-delay:.16s!important}.t3{transition-delay:.24s!important}
.t4{transition-delay:.32s!important}.t5{transition-delay:.40s!important}.t6{transition-delay:.48s!important}

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:200;padding:24px 0;background:#08080f;transition:padding .3s,border-color .3s;border-bottom:1px solid transparent; }
nav.on { padding:13px 0;border-bottom-color:rgba(255,255,255,.07); }
.nav-row { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.nav-row > .logo { display:block;flex-shrink:0;line-height:0; }
.logo { font-size:1.45rem;font-weight:900;letter-spacing:-.025em;color:var(--white);text-decoration:none; }
.nav-row > .logo img { display:block;width:auto;height:40px;max-width:none;filter:brightness(0) invert(1); }
.logo span { color:var(--orange); }
.nav-menu { display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;margin:0;padding:0;min-width:0;flex:1 1 auto; }
.nav-actions { display:flex;align-items:center;gap:10px;flex-shrink:0; }
.nav-menu a { display:block;padding:7px 16px;font-size:.95rem;font-weight:600;color:var(--muted);text-decoration:none;border-radius:8px;transition:color .35s ease,background .35s ease,transform .2s ease;letter-spacing:-.01em; }
.nav-menu a:hover { color:var(--white);background:rgba(255,255,255,.06); }
.nav-menu a.act { color:#fff !important;background:var(--orange); }
.nav-dl { display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--orange);color:var(--white);border-radius:9px;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;flex-shrink:0; }
.nav-dl svg { width:16px;height:16px; }
.nav-dl:hover { transform:scale(1.06);box-shadow:0 6px 20px rgba(255,107,53,.4); }

/* HERO */
#hero { min-height:100vh;display:flex;align-items:center;padding:130px 0 100px; }
.hero-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.hero-tag { display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:#6ee7b7;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.5);border-radius:999px;padding:6px 16px;margin-bottom:24px;text-shadow:none; }
[data-theme="light"] .hero-tag { color:#059669;background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.4);text-shadow:none; }
[data-theme="light"] .hero-tag::before { background:#059669;box-shadow:none; }
.hero-tag::before { content:'';width:7px;height:7px;border-radius:50%;background:#6ee7b7;box-shadow:none;flex-shrink:0; }
h1 { font-size:clamp(2.4rem,3.8vw,3.6rem);font-weight:900;line-height:1.18;letter-spacing:-.035em;margin-bottom:22px; }
h1 .g { background:linear-gradient(135deg,var(--orange) 0%,var(--pink) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.hero-desc { font-size:1.1rem;color:var(--muted);line-height:1.8;margin-bottom:14px;max-width:460px; }
.hero-pills { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px; }
.hero-flex-note { font-size:1rem;font-weight:600;color:var(--muted);margin-bottom:32px;letter-spacing:.01em; }
.hero-pill { display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--muted);background:var(--s);border:1px solid var(--b);border-radius:8px;padding:6px 12px;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,color .25s; }
.hero-pill:hover { transform:scale(1.07);border-color:rgba(255,107,53,.35);color:var(--white); }
.hero-pill i { width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:none !important;box-shadow:none !important; }
.hero-btns { display:flex;gap:12px;flex-wrap:wrap; }
.btn-main { display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--orange),var(--pink));color:var(--white);border-radius:12px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .25s;box-shadow:0 8px 28px rgba(255,107,53,.32);letter-spacing:-.01em; }
.btn-main:hover { transform:scale(1.06);box-shadow:0 18px 50px rgba(255,107,53,.5); }
.btn-out { display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border:1.5px solid var(--b2);border-radius:12px;color:var(--muted);font-size:.95rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s,background .2s;letter-spacing:-.01em; }
.btn-out:hover { border-color:rgba(255,107,53,.4);color:var(--white);background:rgba(255,107,53,.05); }
.btn-main svg,.btn-out svg { width:16px;height:16px;flex-shrink:0; }

/* hero visual */
.hero-visual { position:relative; }
.hero-visual::before { display:none; }
.hv-card { background:linear-gradient(145deg,rgba(255,107,53,.08),rgba(139,92,246,.06));border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden; }
.hv-card-topbar { display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--b);background:rgba(0,0,0,.18); }
.hv-tb-logo { display:flex;align-items:center;gap:7px; }
.hv-tb-logo svg { color:var(--orange); }
.hv-tb-logo span { font-size:.78rem;font-weight:800;letter-spacing:.02em; }
.hv-tb-pills { display:flex;align-items:center;gap:6px;margin-left:auto; }
.hv-tb-pill { font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px; }
.hv-tb-pill.on { background:rgba(255,107,53,.2);color:var(--orange);border:1px solid rgba(255,107,53,.3); }
.hv-status-dot { width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:none;flex-shrink:0; }
.hv-img { position:relative;background:linear-gradient(135deg,rgba(255,107,53,.06),rgba(139,92,246,.05));display:flex;flex-direction:column;align-items:center;justify-content:center; }
.hv-img img { width:100%;height:100%;object-fit:cover;display:block; }
.img-slot-ph { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px; }
.iph-icon { width:52px;height:52px;border-radius:14px;background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.2);display:flex;align-items:center;justify-content:center; }
.iph-icon svg { width:24px;height:24px;color:rgba(255,107,53,.55); }
.iph-lbl { font-size:.74rem;font-weight:600;color:var(--dim);text-align:center;line-height:1.5; }

/* hero mock UI */
.hv-ph-inner { position:absolute;inset:0;display:flex; }
.hv-ph-sidebar { width:56px;border-right:1px solid var(--b);background:rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:14px; }
.hv-ph-av { width:32px;height:32px;border-radius:50%;flex-shrink:0; }
.hv-ph-main { flex:1;display:flex;flex-direction:column;padding:0; }
.hv-ph-toprow { display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--b);gap:10px; }
.hv-ph-msgs { flex:1;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:16px;justify-content:flex-end; }
.hv-ph-msg { max-width:80%;padding:9px 13px;border-radius:14px;font-size:.72rem;line-height:1.45;font-weight:500; }
.hv-ph-msg-in { background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);align-self:flex-start;border-radius:4px 14px 14px 14px; }
.hv-ph-msg-ai { background:linear-gradient(135deg,rgba(255,107,53,.18),rgba(236,72,153,.12));color:rgba(255,255,255,.85);align-self:flex-end;border-radius:14px 4px 14px 14px;display:flex;flex-direction:column;gap:4px; }
.hv-ph-ai-tag { font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);opacity:.8; }
.hv-ph-typing { display:flex;gap:4px;align-items:center;align-self:flex-end;padding:8px 12px;background:rgba(255,255,255,.05);border-radius:14px 4px 14px 14px; }
.hv-ph-typing span { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);opacity:.55; }
.hv-ph-inputrow { display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--b);background:rgba(0,0,0,.15); }
.hv-ph-input { flex:1;background:rgba(255,255,255,.06);border:1px solid var(--b);border-radius:999px;padding:8px 14px;font-size:.7rem;color:var(--dim); }
.hv-ph-send { width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--pink));display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.hv-ph-send svg { color:#fff; }
.hv-badge { position:absolute;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.32); }
.hv-b1 { bottom:-18px;left:-18px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);padding:12px 18px;display:flex;align-items:center;gap:10px; }
.hv-b2 { top:-14px;right:-14px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);padding:10px 16px;font-size:.82rem;font-weight:700; }
.hv-b2 em { color:var(--purple);font-style:normal; }
.hv-live { width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:none;flex-shrink:0; }
.hv-b1-txt span { display:block;font-size:.86rem;font-weight:700; }
.hv-b1-txt small { font-size:.72rem;color:var(--muted); }

/* STRIP */
.strip { background:var(--bg2);border-top:1px solid var(--b);border-bottom:1px solid var(--b);padding:36px 0; }
.strip-inner { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px; }
.strip-label { font-size:.78rem;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;max-width:220px;line-height:1.5; }
.strip-chips { display:flex;gap:10px;flex-wrap:wrap; }
.s-chip { display:flex;align-items:center;gap:9px;padding:11px 20px;background:var(--s);border:1px solid var(--b);border-radius:12px;font-size:.9rem;font-weight:600;color:var(--muted);letter-spacing:-.01em;transition:border-color .2s,background .2s,color .2s,transform .22s cubic-bezier(.22,1,.36,1); }
.s-chip:hover { border-color:rgba(255,107,53,.3);background:rgba(255,107,53,.04);color:var(--white);transform:scale(1.05); }
.s-chip-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0; }

/* SECTION */
section { position:relative;z-index:1; }
.sec-pad { padding:120px 0 100px; }
.sec-alt { background:var(--bg2); }
.sec-tag { display:inline-flex;align-items:center;gap:7px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--green);margin-bottom:14px;padding:4px 14px;border-radius:999px;border:1px solid rgba(16,185,129,.3);background:rgba(16,185,129,.08);width:fit-content;align-self:flex-start; }
.sec-tag::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:none;flex-shrink:0; }
h2 { font-size:clamp(1.8rem,2.4vw,2.4rem);font-weight:900;line-height:1.26;letter-spacing:-.03em; }
h2 .g { background:linear-gradient(135deg,var(--orange),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.sec-sub { font-size:1.05rem;color:var(--muted);line-height:1.78;margin-top:16px; }

/* IMAGE PLACEHOLDER */
.img-ph { position:relative;border-radius:22px;overflow:visible;background:transparent;border-color:transparent; }
.img-ph::before { content:'';position:absolute;left:4%;right:4%;top:4%;bottom:2%;border-radius:46%/34%;background:radial-gradient(ellipse at center,rgba(255,107,53,.34) 0%,rgba(236,72,153,.2) 30%,rgba(139,92,246,.12) 56%,rgba(6,182,212,.06) 72%,transparent 88%);filter:blur(52px);pointer-events:none;z-index:0; }
.img-ph-clip { display:block;width:100%;border-radius:22px;overflow:hidden; }
.img-ph img { width:100%;height:auto;object-fit:contain;display:block;position:relative;z-index:1; }
html:not([data-theme="light"]) .img-ph img { filter:none; }
.ph-inner { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px; }
.ph-ico { width:56px;height:56px;border-radius:16px;background:rgba(255,107,53,.09);border:1px solid rgba(255,107,53,.18);display:flex;align-items:center;justify-content:center; }
.ph-ico svg { width:26px;height:26px;color:rgba(255,107,53,.5); }
.ph-txt { font-size:.75rem;font-weight:600;color:var(--dim);text-align:center;line-height:1.5; }

/* floating badges on image placeholders */
.pb { position:absolute;z-index:10;box-shadow:0 8px 32px rgba(0,0,0,.35); }
.pb-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:none !important;animation:none !important; }
.pb-txt span { display:block;font-size:.84rem;font-weight:700;line-height:1.3; }
.pb-txt small { font-size:.7rem;color:var(--muted); }

/* pill: long horizontal */
.pb-pill { display:flex;align-items:center;gap:9px;padding:10px 20px;border-radius:999px; }

/* card: with icon row */
.pb-card { display:flex;flex-direction:column;gap:6px;padding:14px 18px;border-radius:16px;min-width:150px; }
.pb-card-top { display:flex;align-items:center;gap:8px; }
.pb-card-val { font-size:1.4rem;font-weight:900;line-height:1;letter-spacing:-.03em; }
.pb-card-lbl { font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--dim); }

/* tag: compact square */
.pb-tag { display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:700; }

/* rotate helpers */
.pb-r-3 { transform:rotate(-3deg); }
.pb-r5  { transform:rotate(5deg); }
.pb-r-6 { transform:rotate(-6deg); }
.pb-r8  { transform:rotate(8deg); }

/* ─ PRODUCT CHESS BLOCK ─
   Full-width chess row: image on one side, content (heading + features grid) on the other
*/
.prd-chess { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.prd-chess.flip .prd-img { order:2; }
.prd-img::before { display:none; }
.prd-chess.flip .prd-content { order:1; }
.prd-img { position:relative; }

/* content side */
.prd-content { display:flex;flex-direction:column; }
.prd-head { margin-bottom:36px; }
.prd-head .sec-sub { max-width:440px; }
.prd-head .btn-row { display:flex;gap:20px;margin-top:28px;flex-wrap:nowrap;align-items:center; }
.prd-head .btn-row .btn-main,
.prd-head .btn-row .btn-ai-product { white-space:nowrap; }
.product-cta-row { display:flex; align-items:center; flex-wrap:nowrap; gap:18px; margin-top:28px; }
.product-cta-row > a { flex:0 0 auto; }
.product-cta-row > .btn-main,
.product-cta-row > .btn-out { margin:0; }
.product-cta-row > .btn-main { box-shadow:0 8px 24px rgba(255,107,53,.26); }
.btn-ai-product { transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .2s,color .2s,background .2s,box-shadow .25s; }
.btn-ai-product:hover { transform:scale(1.06); box-shadow:0 14px 36px rgba(255,107,53,.18); }
.btn-ai-product { box-shadow:0 0 18px rgba(255,107,53,.16),0 0 36px rgba(255,107,53,.08); border-color:rgba(255,107,53,.24); }

/* 2-col feature list clean, no card backgrounds */
.feat-grid { display:grid;grid-template-columns:1fr 1fr;gap:0; }
.feat-card { display:flex;align-items:flex-start;gap:14px;padding:14px 10px;border-bottom:1px solid var(--b);position:relative;z-index:1;border-radius:12px;transition:transform .25s cubic-bezier(.22,1,.36,1),z-index 0s,box-shadow .25s,background .25s; }
.feat-card:nth-child(odd)  { padding-right:32px; }
.feat-card:nth-child(even) { padding-left:32px;border-left:1px solid var(--b); }
.feat-card:hover { transform:scale(1.15);z-index:10;background:var(--bg2);box-shadow:0 12px 48px rgba(0,0,0,.45);border-radius:14px; }
/* last row: no bottom border */
.feat-grid .feat-card:nth-last-child(-n+2) { border-bottom:none; }

.feat-ico { flex-shrink:0;width:20px;height:20px;margin-top:3px; }
.feat-ico svg { display:none; }
/* circle dot instead of svg */
.feat-ico::before { content:'';display:block;width:20px;height:20px;border-radius:50%;border:2px solid var(--orange);box-sizing:border-box; }
.fio::before { border-color:var(--orange); }
.fic::before { border-color:var(--cyan); }
.fip::before { border-color:var(--purple); }
.fig::before { border-color:var(--green); }

.feat-txt h5 { font-size:.97rem;font-weight:700;letter-spacing:-.01em;margin-bottom:3px; }
.feat-txt p  { font-size:.86rem;color:var(--muted);line-height:1.5; }

/* PLATFORMS */
.platforms { display:flex;align-items:center;justify-content:center;gap:20px; }
.plat-label { font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--dim); }
.plat-icons { display:flex;gap:10px; }
.plat-item { display:flex;align-items:center;gap:8px;padding:9px 18px;background:var(--s);border:1px solid var(--b);border-radius:10px;color:var(--muted);font-size:.84rem;font-weight:600;transition:border-color .2s,color .2s; }
.plat-item:hover { border-color:rgba(255,107,53,.3);color:var(--white); }
.plat-item svg { flex-shrink:0;opacity:.7; }

/* SIGNAL/NOISE CHESS BLOCK */
.snb-visual { display:flex;flex-direction:column;gap:16px;justify-content:center; }
.ai-layer-visual { margin-top:56px; }
.snb-card { position:relative;isolation:isolate;background:rgba(255,255,255,.04);border:1px solid var(--b);border-radius:18px;padding:24px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 22px 54px rgba(0,0,0,.18); }
.snb-card::after { content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:-1;box-shadow:0 0 0 1px rgba(139,92,246,.18),0 0 32px rgba(139,92,246,.14),0 0 72px rgba(236,72,153,.1); }
.snb-card-after { background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2);box-shadow:0 22px 54px rgba(0,0,0,.16); }
.snb-card-after::after { box-shadow:0 0 0 1px rgba(16,185,129,.18),0 0 32px rgba(16,185,129,.14),0 0 72px rgba(6,182,212,.1); }
.snb-card-header { display:flex;align-items:center;justify-content:space-between; }
.snb-card-label { font-size:.8rem;font-weight:700;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.06em; }
.snb-badge-bad { font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--orange);background:rgba(255,107,53,.12);padding:4px 10px;border-radius:999px; }
.snb-badge-good { font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:rgba(16,185,129,.12);padding:4px 10px;border-radius:999px; }
.snb-track { display:flex;height:44px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid var(--b);position:relative; }
.snb-seg { display:flex;align-items:center;justify-content:center;transition:width 1.2s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden; }
.snb-seg-lbl { font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;opacity:.9; }
.snb-noise { background:rgba(255,255,255,.06);color:rgba(255,255,255,.35); }
.snb-signal { background:linear-gradient(90deg,var(--purple),var(--pink));color:#fff; }
.snb-signal-full { background:linear-gradient(90deg,var(--green),var(--cyan));color:#fff; }
.snb-ai-seg { background:rgba(255,107,53,.13);color:var(--orange);border-right:1px solid rgba(255,107,53,.15); }
.snb-track-meta { display:flex;justify-content:space-between; }
.snb-arrow-row { display:flex;align-items:center;gap:12px;padding:0 4px; }
.snb-arrow-line { flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--b),transparent); }
.snb-arrow-chip { font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);padding:5px 14px;border-radius:999px;white-space:nowrap; }

/* bullets in text side */
.snb-bullets { display:flex;flex-direction:column;gap:24px;margin-top:32px; }
.snb-bullet { display:flex;align-items:flex-start;gap:18px;position:relative;z-index:1;border-radius:14px;padding:10px 14px;margin:-10px -14px;transition:transform .25s cubic-bezier(.22,1,.36,1),z-index 0s,box-shadow .25s,background .25s; }
.snb-bullet:hover { transform:scale(1.15);z-index:10;background:var(--bg2);box-shadow:0 12px 48px rgba(0,0,0,.45); }
.snb-b-ico { width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(255,255,255,.5); }
.snb-b-ico svg { width:22px;height:22px; }
.snb-b-title { font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:5px; }
.snb-b-desc { font-size:.92rem;color:var(--muted);line-height:1.6; }

/* HOW IT WORKS */
.how-free { display:inline-block;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--green);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:20px;padding:3px 10px;width:fit-content; }
.how-strip { display:flex;align-items:center;background:var(--s);border:1px solid var(--b);border-radius:16px;padding:22px 28px;margin-top:36px; }
.how-s-step { flex:1;display:flex;flex-direction:column;gap:4px;padding:0 20px;border-right:1px solid var(--b); }
.how-s-step:first-child { padding-left:0; }
.how-s-step:last-child { padding-right:0;border-right:none; }
.how-s-num { display:inline-flex;align-items:center;gap:7px;font-size:.6rem;font-weight:800;letter-spacing:2px;color:var(--orange);text-transform:uppercase;padding:4px 14px;border-radius:999px;border:1px solid rgba(255,107,53,.3);background:rgba(255,107,53,.08);margin-bottom:8px; }
.how-s-num::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:none;flex-shrink:0; }
.how-s-title { font-size:.9rem;font-weight:700;color:var(--white); }
.how-s-desc { font-size:.75rem;color:var(--muted);line-height:1.4; }
.how-s-arrow { flex-shrink:0;display:flex;align-items:center;padding:0 8px;opacity:.5; }

/* MOCK UI PREVIEWS */
.mock-ui { position:absolute;inset:0;display:flex;flex-direction:column;padding:20px;gap:12px;overflow:hidden; }
.mock-topbar { display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(255,255,255,.04);border:1px solid var(--b);border-radius:12px;flex-shrink:0; }
.mock-live-dot { width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:none;flex-shrink:0; }

/* Messenger mock */
.mock-avatar { width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#fff;flex-shrink:0; }
.mock-contact { display:flex;flex-direction:column;gap:1px;flex:1;margin-left:10px; }
.mock-contact span { font-size:.82rem;font-weight:700; }
.mock-contact small { font-size:.65rem;color:var(--green); }
.mock-msgs { display:flex;flex-direction:column;gap:10px;flex:1;padding:4px 0;overflow:hidden; }
.mock-msg { display:flex;flex-direction:column;gap:3px; }
.mock-msg-in { align-items:flex-start; }
.mock-msg-out { align-items:flex-end; }
.mock-bubble { padding:9px 14px;border-radius:16px;font-size:.8rem;line-height:1.5;max-width:80%; }
.mock-bubble-in { background:rgba(255,255,255,.07);border:1px solid var(--b);border-radius:16px 16px 16px 4px; }
.mock-bubble-out { background:linear-gradient(135deg,rgba(255,107,53,.25),rgba(236,72,153,.15));border:1px solid rgba(255,107,53,.25);border-radius:16px 16px 4px 16px; }
.mock-time { font-size:.6rem;color:var(--dim);padding:0 4px; }
.mock-ai-reply { background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.2);border-radius:10px;padding:10px 12px; }
.mock-ai-label { display:flex;align-items:center;gap:5px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--purple);margin-bottom:5px; }
.mock-ai-text { font-size:.78rem;color:var(--muted);line-height:1.5; }
.mock-input-bar { display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.04);border:1px solid var(--b);border-radius:12px;flex-shrink:0; }
.mock-input-field { flex:1;font-size:.78rem;color:var(--dim); }
.mock-send-btn { width:30px;height:30px;border-radius:8px;background:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.mock-badge-float { position:absolute;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid;border-radius:12px;font-size:.75rem;font-weight:600; }

/* Telephony mock */
.mock-queue { display:flex;flex-direction:column;gap:8px;flex:1; }
.mock-queue-item { display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.04);border:1px solid var(--b);border-radius:10px;transition:border-color .2s; }
.mock-queue-item.active { border-color:rgba(255,107,53,.3);background:rgba(255,107,53,.05); }
.mock-q-avatar { width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#fff;flex-shrink:0; }
.mock-q-info { flex:1;display:flex;flex-direction:column;gap:2px; }
.mock-q-info span { font-size:.82rem;font-weight:700; }
.mock-q-info small { font-size:.65rem;color:var(--dim); }
.mock-q-status { font-size:.7rem;font-weight:700; }
.mock-stats-row { display:flex;gap:8px;flex-shrink:0; }
.mock-stat-mini { flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;background:rgba(255,255,255,.04);border:1px solid var(--b);border-radius:10px; }
.mock-stat-val { font-size:1rem;font-weight:900;line-height:1; }
.mock-stat-lbl { font-size:.6rem;color:var(--dim);text-transform:uppercase;letter-spacing:.5px; }

/* CRM mock */
.mock-pipeline { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1; }
.mock-pipe-col { display:flex;flex-direction:column;gap:6px; }
.mock-pipe-head { display:flex;justify-content:space-between;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px; }
.mock-pipe-head span { background:rgba(255,255,255,.08);border-radius:20px;padding:1px 7px; }
.mock-pipe-card { padding:10px 10px;background:rgba(255,255,255,.05);border:1px solid var(--b);border-radius:9px;display:flex;flex-direction:column;gap:3px; }
.mock-pipe-card span { font-size:.78rem;font-weight:700; }
.mock-pipe-card small { font-size:.65rem;color:var(--dim); }
.mock-pipe-card.hot { border-color:rgba(6,182,212,.3);background:rgba(6,182,212,.05); }
.mock-pipe-card.won { border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.06); }

/* eSIM mock */
.mock-esim-card { display:flex;align-items:center;gap:16px;padding:16px;background:rgba(6,182,212,.06);border:1px solid rgba(6,182,212,.18);border-radius:14px;flex-shrink:0; }
.mock-esim-globe { flex-shrink:0;opacity:.8; }
.mock-esim-info { flex:1;display:flex;flex-direction:column;gap:12px; }
.mock-esim-country { display:flex;align-items:center;gap:10px; }
.mock-esim-flag { font-size:1.4rem; }
.mock-esim-country strong { display:block;font-size:.88rem;font-weight:700; }
.mock-esim-country small { font-size:.65rem;color:var(--dim); }
.mock-esim-bar-wrap { width:100%; }
.mock-esim-bar { height:6px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden; }
.mock-esim-bar-fill { height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));border-radius:99px; }
.mock-coverage-list { display:flex;flex-direction:column;gap:6px;flex:1; }
.mock-cov-item { display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,255,255,.03);border:1px solid var(--b);border-radius:9px;font-size:.8rem;font-weight:600; }
.mock-cov-item span:nth-child(2) { flex:1; }

/* ESIM INLINE */
.esim-inline { margin-top:28px; }
.ei-tgl { display:flex;background:var(--s);border:1px solid var(--b);border-radius:9px;padding:3px;width:fit-content;margin-bottom:32px; }
.ei-btn { padding:7px 22px;border:none;border-radius:6px;font-family:'Nunito',sans-serif;font-size:.84rem;font-weight:700;background:transparent;color:var(--muted);transition:background .2s,color .2s;white-space:nowrap; }
.ei-btn.on { background:var(--orange);color:var(--white); }
.ei-save { display:inline-block;font-size:.6rem;font-weight:800;color:var(--green);background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);border-radius:20px;padding:1px 7px;margin-left:5px;vertical-align:middle; }
.ei-packs { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }
.ei-pack { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 10px;background:var(--s);border:1px solid var(--b);border-radius:14px;text-align:center;transition:border-color .2s,transform .22s cubic-bezier(.22,1,.36,1); }
.ei-pack:hover { border-color:rgba(255,107,53,.28);transform:scale(1.04); }
.ei-pack.hot { border-color:rgba(255,107,53,.35);background:linear-gradient(145deg,rgba(255,107,53,.07),rgba(236,72,153,.04)); }
.ei-gb { font-size:1.1rem;font-weight:900;letter-spacing:-.02em;color:var(--white); }
.ei-days { font-size:.78rem;font-weight:600;color:var(--dim); }
.ei-pop { position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:var(--orange);color:var(--white);padding:2px 8px;border-radius:20px;white-space:nowrap; }
.ei-note { font-size:.75rem;color:var(--dim);margin-top:14px;letter-spacing:.5px; }

/* CTA */
.cta-block { position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,107,53,.09),rgba(236,72,153,.05),rgba(139,92,246,.05));border:1px solid rgba(255,107,53,.18);border-radius:28px;padding:72px 64px;box-shadow:0 26px 90px rgba(255,107,53,.08),0 0 70px rgba(236,72,153,.04),0 0 120px rgba(255,107,53,.035);transition:border-color .22s ease,box-shadow .22s ease,background-image .12s ease; }
.cta-block::before { display:none; }
.cta-inner { position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center; }
.cta-left { display:flex;flex-direction:column; }
.cta-dl-row { display:flex;gap:12px;flex-wrap:wrap;margin-top:32px; }
.cta-store { display:flex;align-items:center;gap:9px;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:11px;text-decoration:none;color:var(--white);transition:border-color .2s,background .2s,transform .22s cubic-bezier(.22,1,.36,1);white-space:nowrap; }
.cta-store:hover { border-color:rgba(255,107,53,.35);background:rgba(255,107,53,.07);transform:scale(1.05); }
.cta-store svg { flex-shrink:0;opacity:.8; }
.cta-store div { display:flex;flex-direction:column;gap:1px; }
.cta-store span { font-size:.65rem;color:var(--dim);line-height:1; }
.cta-store strong { font-size:.82rem;font-weight:700;line-height:1.3; }
.cta-stats { display:grid;grid-template-columns:1fr 1fr;gap:2px; }
.cta-stat { display:flex;flex-direction:column;gap:6px;padding:28px 32px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06); }
.cta-stat:first-child { border-radius:16px 0 0 0; }
.cta-stat:nth-child(2) { border-radius:0 16px 0 0; }
.cta-stat:nth-child(3) { border-radius:0 0 0 16px; }
.cta-stat:last-child { border-radius:0 0 16px 0; }
.cta-stat-n { font-size:2rem;font-weight:900;letter-spacing:-.04em;line-height:1; }
.cta-stat-l { font-size:.75rem;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:1px; }
.cta-row { position:relative;z-index:1;display:flex;justify-content:center;gap:14px;flex-wrap:wrap; }

/* TIPS */
.tips-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;overflow:visible; }
.tip { background:var(--s);border:1px solid var(--b);border-radius:18px;padding:26px;transition:border-color .25s,transform .22s cubic-bezier(.22,1,.36,1); }
.tip:hover { border-color:rgba(139,92,246,.2);transform:scale(1.03); }
.tip-n { display:inline-flex;align-items:center;gap:7px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--purple);margin-bottom:12px;padding:4px 14px;border-radius:999px;border:1px solid rgba(139,92,246,.3);background:rgba(139,92,246,.08); }
.tip-n::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--purple);box-shadow:none;flex-shrink:0; }
.tip h4 { font-size:.97rem;font-weight:700;letter-spacing:-.01em;margin-bottom:8px; }
.tip p  { font-size:.88rem;color:var(--muted);line-height:1.65; }

/* BLOG */
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;overflow:visible; }
.blog-card { background:var(--bg2);border:1px solid var(--b);border-radius:24px;overflow:visible;display:flex;flex-direction:column;position:relative;transition:border-color .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s; }
.blog-card::after { content:'';position:absolute;bottom:0;left:10%;width:80%;height:2px;border-radius:99px;background:var(--blog-accent,var(--orange));opacity:0;transition:opacity .25s; }
.blog-card:hover { border-color:var(--blog-accent,rgba(255,107,53,.4));transform:scale(1.03);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 1px var(--blog-accent,rgba(255,107,53,.15)); }
.blog-card:hover::after { opacity:1; }
.blog-banner { border-radius:20px 20px 0 0;padding:32px 28px 28px;display:flex;flex-direction:column;gap:12px;background:var(--blog-grad,linear-gradient(135deg,rgba(255,107,53,.18),rgba(236,72,153,.08)));min-height:130px;position:relative;overflow:hidden; }
.blog-banner::before { display:none; }
.blog-cat { display:inline-flex;align-items:center;gap:6px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--blog-accent,var(--orange));background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);border-radius:99px;padding:4px 12px;width:fit-content; }
.blog-cat::before { content:'';width:5px;height:5px;border-radius:50%;background:var(--blog-accent,var(--orange));flex-shrink:0; }
.blog-body { padding:24px 28px 28px;display:flex;flex-direction:column;gap:14px;flex:1; }
.blog-card h3 { font-size:1.05rem;font-weight:700;line-height:1.48;letter-spacing:-.02em; }
.blog-read { display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:700;color:var(--blog-accent,var(--orange));text-decoration:none;margin-top:auto;transition:gap .2s;letter-spacing:-.01em; }
.blog-read:hover { gap:12px; }
.blog-read svg { width:13px;height:13px; }

/* VIDEO MODAL */
#video-modal { display:none;position:fixed;inset:0;z-index:5000;align-items:center;justify-content:center;background:rgba(0,0,0,.82);cursor:pointer; }
#video-modal.open { display:flex; }
#video-modal-inner { position:relative;width:min(340px,88vw);border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,107,53,.15),0 40px 100px rgba(0,0,0,.7);cursor:default; }
#video-modal-inner video { display:block;width:100%;height:auto; }
#video-modal-close { position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10; }
#video-modal-close:hover { background:rgba(255,107,53,.7); }
.btn-watch { display:inline-flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;color:var(--muted);font-size:.95rem;font-weight:600;font-family:inherit;transition:color .2s; }
.btn-watch:hover { color:var(--white); }
.btn-watch-circle { width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,107,53,.5);display:flex;align-items:center;justify-content:center;background:rgba(255,107,53,.08);transition:background .2s,border-color .2s,box-shadow .2s;flex-shrink:0; }
.btn-watch:hover .btn-watch-circle { background:rgba(255,107,53,.18);border-color:var(--orange);box-shadow:0 0 18px rgba(255,107,53,.3); }
.btn-watch-circle svg { width:14px;height:14px;fill:var(--orange);margin-left:3px; }

/* FOOTER */
footer { background:var(--bg);border-top:1px solid var(--b);padding:80px 0 36px;width:100vw;margin-left:calc(-50vw + 50%); }
.foot-top { display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;gap:56px;padding-bottom:52px;border-bottom:1px solid var(--b); }
.foot-logo-wrap .logo { font-size:1.5rem; }
.foot-logo-wrap p { font-size:.9rem;color:var(--muted);line-height:1.72;margin-top:14px;max-width:260px; }
.foot-col h6 { font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin-bottom:18px; }
.foot-col ul { list-style:none;display:flex;flex-direction:column;gap:12px; }
.foot-col a { font-size:.9rem;color:var(--muted);text-decoration:none;letter-spacing:-.01em;pointer-events:none;cursor:default; }
.foot-col a.active-link { pointer-events:auto !important;cursor:pointer !important; }
.foot-col a:hover { color:var(--muted); }
.foot-col a.active-link:hover { color:var(--orange); }
.foot-social { display:flex;align-items:center;gap:10px;margin-bottom:28px; }
.foot-social a { display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.55);text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s; }
.foot-social a:hover { background:rgba(255,107,53,.15);border-color:rgba(255,107,53,.35);color:var(--orange);transform:translateY(-2px); }
.foot-social svg { width:18px;height:18px;fill:currentColor; }
[data-theme="light"] .foot-social a { background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.45); }
[data-theme="light"] .foot-social a:hover { background:rgba(255,107,53,.12);border-color:rgba(255,107,53,.35);color:var(--orange); }
.foot-btm { display:flex;align-items:center;justify-content:space-between;padding-top:28px;font-size:.84rem;color:var(--muted);flex-wrap:wrap;gap:14px; }
.foot-links { display:flex;gap:22px; }
.foot-links a { color:var(--dim);text-decoration:none;transition:color .2s;font-size:.84rem; }
.foot-links a:hover { color:var(--muted); }

/* ═══ INTERACTION HELPERS ═══ */

/* Feat-ico dot: spin on hover */
.feat-card:hover .feat-ico::before { transform:rotate(180deg);transition:transform .4s cubic-bezier(.34,1.56,.64,1); }
.feat-ico::before { transition:transform .4s cubic-bezier(.22,1,.36,1); }

.ei-pack.hot { overflow:visible; clip-path:none; }
.ei-pack.hot::after { display:none; }
.ei-pop { z-index:20; }

/* CTA stat count-up: visually pulse in when visible */
@keyframes stat-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.cta-stat { animation:none; }
.cta-stat.counted { animation:stat-in .5s cubic-bezier(.22,1,.36,1) both; }

/* Tip/blog glow on hover */
.tip:hover { box-shadow:0 0 32px rgba(255,107,53,.08); }
.blog-card:hover { box-shadow:0 0 40px rgba(255,107,53,.07); }

/* RESPONSIVE */
@media(max-width:1280px) {
  .hero-inner,.prd-chess { gap:60px; }
  .esim-grid { grid-template-columns:repeat(2,1fr); }
  .foot-top { grid-template-columns:1fr 1fr;gap:36px; }
}
@media(max-width:1024px) {
  .w { padding:0 40px; }
  .hero-inner,.prd-chess { grid-template-columns:1fr 1fr;gap:40px; }
  .cta-block { padding:52px 40px; }
  .cta-inner { gap:40px; }
  .ei-packs { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:800px) {
  .w { padding:0 32px; }
  /* text-only blocks need extra breathing room vs card blocks */
  .prd-content,
  .prd-text,
  .snb-bullets,
  .prd-head { padding-inline:6px; }
  .nav-row { gap:12px; }
  /* hero */
  .hero-inner { grid-template-columns:1fr; gap:32px; }
  #hero { padding:110px 0 64px; }
  .hero-visual { display:block; }
  .hero-visual .img-ph { height:auto; }
  /* product chess: stack, always text first then image */
  .prd-chess,.prd-chess.flip { grid-template-columns:1fr;gap:36px; }
  .prd-chess .prd-content,
  .prd-chess.flip .prd-content { order:2; }
  .prd-chess .prd-img,
  .prd-chess.flip .prd-img { order:1; }
  /* ai intro section uses prd-text + snb-visual */
  .prd-chess .prd-text    { order:1; }
  .prd-chess .snb-visual  { order:2; }
  /* hide floating badges , they overflow on small screens */
  .pb { display:none !important; }
  .hv-b1,.hv-b2 { display:none !important; }
  /* feat grid: 1 col */
  .feat-grid { grid-template-columns:1fr; }
  .feat-card:nth-child(even) { padding-left:10px;border-left:none; }
  /* img placeholder height */
  .img-ph { height:auto; }
  /* disable all zoom/scale hovers on touch screens */
  .feat-card:hover,
  .snb-bullet:hover,
  .tip:hover,
  .blog-card:hover,
  .s-chip:hover,
  .ei-pack:hover,
  .nav-dl:hover,
  .btn-main:hover,
  .btn-out:hover,
  .cta-store:hover,
  .hero-pill:hover { transform:none !important; }
  /* snb */
  .snb-visual { gap:10px; }
  .ai-layer-visual { margin-top:0; }
  /* steps */
  .steps { grid-template-columns:repeat(2,1fr); }
  .stp:nth-child(2) { border-right:none; }
  .stp:nth-child(1),.stp:nth-child(2) { border-bottom:1px solid var(--b); }
  /* how strip: stack vertically */
  .how-strip { flex-direction:column;padding:18px 20px;gap:0; }
  .how-s-step { border-right:none;border-bottom:1px solid var(--b);padding:14px 0; }
  .how-s-step:last-child { border-bottom:none; }
  .how-s-arrow { display:none; }
  /* esim packs */
  .ei-packs { grid-template-columns:repeat(2,1fr); }
  /* cta */
  .cta-inner { grid-template-columns:1fr;gap:32px; }
  .cta-block { padding:44px 28px; }
  .cta-stats { grid-template-columns:repeat(2,1fr); }
  /* strip */
  .strip-inner { flex-direction:column;align-items:flex-start;gap:14px; }
  .strip-label { max-width:100%; }
  /* footer */
  .foot-top { grid-template-columns:1fr 1fr;gap:28px; }
}
@media(max-width:640px) {
  .w { padding:0 24px; }
  /* text blocks extra inset so they never feel edge-to-edge */
  .prd-content,
  .prd-text,
  .prd-head,
  .snb-bullets { padding-inline:4px; }
  .sec-pad { padding:64px 0 52px; }
  h1 { font-size:2.2rem; }
  h2 { font-size:1.75rem; }
  /* nav */
  .nav-menu { display:none; }
  .nav-dl { padding:9px 14px;font-size:.82rem; }
  nav { padding:16px 0; }
  nav.on { padding:10px 0; }
  /* hero */
  #hero { padding:90px 0 48px; }
  .hero-desc { font-size:1rem; }
  .hero-flex-note { font-size:1rem; }
  .hero-pills { gap:6px; }
  .hero-pill { font-size:.75rem;padding:5px 10px; }
  .hero-btns { flex-direction:column;gap:10px; }
  .btn-main,.btn-out { width:100%;justify-content:center; }
  /* grids */
  .tips-grid,.blog-grid { grid-template-columns:1fr; }
  .esim-grid { grid-template-columns:1fr; }
  .ei-packs { grid-template-columns:repeat(2,1fr); }
  /* strip chips wrap */
  .strip-chips { gap:7px; }
  .s-chip { padding:9px 14px;font-size:.83rem; }
  /* steps */
  .steps { grid-template-columns:1fr; }
  .stp { border-right:none;border-bottom:1px solid var(--b); }
  .stp:last-child { border-bottom:none; }
  /* footer */
  .foot-top { grid-template-columns:1fr;gap:24px; }
  /* cursor off */
  body { cursor:auto; }
  .btn-main,.btn-out,.btn-watch,.nav-dl,.ptgl-btn,.pc-btn,.ei-btn,.theme-tgl { cursor:pointer; }
  /* nav download button: shorter text trick via font-size */
  .nav-dl { font-size:.78rem;padding:9px 12px;gap:5px; }
  /* nav-dl text hide on very small , handled below at 480px */
  /* cta */
  .cta-block { padding:36px 18px; }
  .cta-stat { padding:20px 18px; }
  /* blog */
  .blog-banner { padding:24px 20px 20px;min-height:100px; }
  .blog-body { padding:18px 20px 22px; }
  /* tip */
  .tip { padding:20px 18px; }
  /* how strip */
  .how-strip { padding:14px 16px; }
  /* snb */
  .snb-card { padding:18px 18px; }
  .snb-seg-lbl { font-size:.58rem; }
  /* cta store buttons: stack */
  .cta-dl-row { flex-direction:column;gap:8px; }
  .cta-store { white-space:normal; }
  /* feat card */
  .feat-card { padding:12px 8px; }
  .feat-card:nth-child(even) { padding-left:8px; }
  /* prd buttons */
  .prd-head .btn-row { flex-direction:column;gap:10px; }
  .prd-head .btn-row .btn-main,
  .prd-head .btn-row .btn-out { width:100%;justify-content:center; }
  .product-cta-row { flex-direction:column; align-items:stretch; gap:12px; }
  .product-cta-row > a { width:100%; justify-content:center; }
  /* esim toggle */
  .ei-tgl { width:100%;justify-content:stretch; }
  .ei-btn { flex:1;text-align:center; }
  /* mock ui: reduce height */
  .mock-ui { padding:14px;gap:8px; }
  /* platforms */
  .platforms { flex-wrap:wrap;gap:10px;justify-content:flex-start; }
  .plat-icons { flex-wrap:wrap; }
}
@media(max-width:480px) {
  .w { padding:0 20px; }
  .prd-content,
  .prd-text,
  .prd-head,
  .snb-bullets { padding-inline:4px; }
  /* nav: icon-only download button */
  .nav-dl-text { display:none; }
  .nav-dl { padding:9px 11px;font-size:.75rem; }
  h1 { font-size:1.9rem; }
  h2 { font-size:1.6rem; }
  .hero-pills { gap:5px; }
  .hero-pill { font-size:.7rem;padding:5px 9px; }
  .ei-packs { grid-template-columns:1fr 1fr; }
  .cta-stats { grid-template-columns:1fr 1fr; }
  .cta-stat { padding:16px 14px; }
  .cta-stat-n { font-size:1.55rem; }
  .snb-card { padding:14px 14px; }
  .blog-card h3 { font-size:.95rem; }
  .foot-btm { flex-direction:column;align-items:flex-start;gap:8px; }
  .foot-links { flex-wrap:wrap;gap:12px; }
  .sec-pad { padding:52px 0 44px; }
}
