/*
Theme Name: JotLink
Theme URI: https://jotlink.net
Author: JotLink LLC
Author URI: https://jotlink.net
Description: JotLink official website theme - AI Communication Ecosystem
Version: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jotlink
Domain Path: /languages
*/

@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"] .amb-orb { opacity: .07; }
[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); }
[data-theme="light"] .snb-card-after { background: rgba(16,185,129,.04); }
[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; backdrop-filter: none; }
[data-theme="light"] .cta-block::before, [data-theme="light"] .cta-block::after { 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)); }
[data-theme="light"] #crr { border-color: rgba(255,107,53,.6); }
[data-theme="light"] #cr  { background:var(--orange);mix-blend-mode:normal; }

/* 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;cursor:none;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; cursor: none; -webkit-font-smoothing: antialiased; }

/* cursor */
#cr  { position:fixed;z-index:9999;pointer-events:none;width:6px;height:6px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen; }
#crr { position:fixed;z-index:9998;pointer-events:none;width:28px;height:28px;border:1.5px solid rgba(255,107,53,.45);border-radius:50%;transform:translate(-50%,-50%);transition:width .15s,height .15s; }

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

/* ambient bg */
.amb { position:fixed;inset:0;z-index:-1;overflow:hidden; }
.amb-orb { position:absolute;border-radius:50%;filter:blur(130px);opacity:.14; }
.amb-orb.a { width:900px;height:900px;background:radial-gradient(circle,var(--purple) 0%,var(--pink) 100%);top:-400px;left:-300px;animation:drift1 30s ease-in-out infinite; }
.amb-orb.b { width:700px;height:700px;background:radial-gradient(circle,var(--orange) 0%,var(--pink) 100%);bottom:-300px;right:-200px;animation:drift2 25s ease-in-out infinite; }
.amb-orb.c { width:600px;height:600px;background:radial-gradient(circle,var(--cyan) 0%,var(--purple) 100%);top:50%;left:55%;animation:drift3 35s ease-in-out infinite; }
@keyframes drift1 { 0%,100%{transform:translate(0,0)scale(1)} 50%{transform:translate(60px,-50px)scale(1.08)} }
@keyframes drift2 { 0%,100%{transform:translate(0,0)scale(1)} 50%{transform:translate(-50px,60px)scale(.92)} }
@keyframes drift3 { 0%,100%{transform:translate(-50%,-50%)scale(1)} 50%{transform:translate(-50%,-50%)scale(1.1)} }

/* 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;will-change:padding; }
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; }
.logo { font-size:1.45rem;font-weight:900;letter-spacing:-.025em;color:var(--white);text-decoration:none; }
.logo img { filter:brightness(0) invert(1); }
.logo span { color:var(--orange); }
.nav-menu { display:flex;align-items:center;gap:8px;list-style:none; }
.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;cursor:none; }
.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;animation:tag-pulse 2.4s ease-in-out infinite;text-shadow:0 0 12px rgba(16,185,129,.7); }
[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:0 0 6px rgba(5,150,105,.6); }
.hero-tag::before { content:'';width:7px;height:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 6px #6ee7b7,0 0 14px rgba(16,185,129,.8);flex-shrink:0;animation:blink 1.6s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1;box-shadow:0 0 6px #6ee7b7,0 0 14px rgba(16,185,129,.8)} 50%{opacity:.3;box-shadow:0 0 2px #6ee7b7} }
@keyframes tag-pulse { 0%,100%{box-shadow:0 0 8px rgba(16,185,129,.2),0 0 0 0 rgba(16,185,129,.0)} 50%{box-shadow:0 0 20px rgba(16,185,129,.4),0 0 0 8px rgba(16,185,129,.08)} }
@keyframes tag-pulse-orange { 0%,100%{box-shadow:0 0 3px rgba(255,107,53,.2),0 0 0 0 rgba(255,107,53,0)} 50%{box-shadow:0 0 8px rgba(255,107,53,.5),0 0 0 3px rgba(255,107,53,.12)} }
@keyframes blink-orange { 0%,100%{opacity:1;box-shadow:0 0 6px var(--orange)} 50%{opacity:.3;box-shadow:0 0 2px var(--orange)} }
@keyframes tag-pulse-green { 0%,100%{box-shadow:0 0 3px rgba(16,185,129,.2),0 0 0 0 rgba(16,185,129,0)} 50%{box-shadow:0 0 8px rgba(16,185,129,.5),0 0 0 3px rgba(16,185,129,.12)} }
@keyframes blink-green { 0%,100%{opacity:1;box-shadow:0 0 6px var(--green)} 50%{opacity:.3;box-shadow:0 0 2px var(--green)} }
@keyframes tag-pulse-purple { 0%,100%{box-shadow:0 0 3px rgba(139,92,246,.2),0 0 0 0 rgba(139,92,246,0)} 50%{box-shadow:0 0 8px rgba(139,92,246,.5),0 0 0 3px rgba(139,92,246,.12)} }
@keyframes blink-purple { 0%,100%{opacity:1;box-shadow:0 0 6px var(--purple)} 50%{opacity:.3;box-shadow:0 0 2px var(--purple)} }
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; }
.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;cursor: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;cursor: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 { content:'';position:absolute;inset:-10% -5%;background:radial-gradient(ellipse at center,rgba(255,107,53,.2) 0%,rgba(236,72,153,.1) 50%,transparent 75%);filter:blur(80px);z-index:0;pointer-events:none;opacity:.7; }
.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;animation:ambient-pulse 3.5s ease-in-out infinite; }
.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:0 0 6px var(--green);animation:lp 1.6s ease-in-out infinite;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);animation:tdot 1.2s ease-in-out infinite; }
.hv-ph-typing span:nth-child(2){animation-delay:.2s}
.hv-ph-typing span:nth-child(3){animation-delay:.4s}
@keyframes tdot { 0%,80%,100%{transform:scale(.8);opacity:.3} 40%{transform:scale(1.1);opacity:1} }
.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:0 0 8px var(--green);animation:lp 1.6s ease-in-out infinite;flex-shrink:0; }
@keyframes lp { 0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.7)} 50%{box-shadow:0 0 0 6px rgba(16,185,129,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);animation:tag-pulse-green 2.4s ease-in-out infinite;width:fit-content;align-self:flex-start; }
.sec-tag::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);flex-shrink:0;animation:blink-green 1.6s ease-in-out infinite; }
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:var(--bg3);border:1px solid var(--b); }
.img-ph-clip { display:block;width:100%;border-radius:22px;overflow:hidden; }
.img-ph img { width:100%;height:auto;object-fit:contain;display:block; }
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; }
.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 { content:'';position:absolute;inset:-10% -5%;background:radial-gradient(ellipse at center,rgba(255,107,53,.2) 0%,rgba(236,72,153,.1) 50%,transparent 75%);filter:blur(80px);z-index:0;pointer-events:none;opacity:.7; }
.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:12px;margin-top:28px;flex-wrap:wrap; }

/* 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; }
.snb-card { 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 0 40px rgba(139,92,246,.15),0 0 80px rgba(236,72,153,.08); }
.snb-card-after { background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2);box-shadow:0 0 40px rgba(16,185,129,.18),0 0 80px 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(--orange);background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.2);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);animation:tag-pulse-orange 2.4s ease-in-out infinite;margin-bottom:8px; }
.how-s-num::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 6px var(--orange);flex-shrink:0;animation:blink-orange 1.6s ease-in-out infinite; }
.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:0 0 6px var(--green);animation:lp 1.6s ease-in-out infinite;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;cursor:none;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; }
.cta-block::before { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,107,53,.5),transparent); }
.cta-block::after  { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(255,107,53,.1) 0%,transparent 60%);pointer-events: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);cursor:none;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);animation:tag-pulse-purple 2.4s ease-in-out infinite; }
.tip-n::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--purple);box-shadow:0 0 6px var(--purple);flex-shrink:0;animation:blink-purple 1.6s ease-in-out infinite; }
.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 { content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:var(--blog-accent,var(--orange));opacity:.07;filter:blur(30px); }
.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);backdrop-filter:blur(10px);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;cursor:none;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; }
.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); }

/* ═══ ANIMATIONS ═══ */

/* Floating bob for badges */
@keyframes bob    { 0%,100%{transform:translateY(0)    rotate(var(--r,0deg))} 50%{transform:translateY(-7px) rotate(var(--r,0deg))} }
@keyframes bob-r  { 0%,100%{transform:translateY(0)    rotate(var(--r,0deg))} 50%{transform:translateY(-5px) rotate(var(--r,0deg))} }
.pb-r-3 { --r:-3deg; animation:bob 4.2s ease-in-out infinite; }
.pb-r5  { --r: 5deg; animation:bob 3.8s ease-in-out infinite .6s; }
.pb-r-6 { --r:-6deg; animation:bob 4.6s ease-in-out infinite .3s; }
.pb-r8  { --r: 8deg; animation:bob-r 3.5s ease-in-out infinite .9s; }
.hv-b1  { animation:bob 4.2s ease-in-out infinite; }
.hv-b2  { animation:bob-r 3.8s ease-in-out infinite .5s; }

/* Hero badges: fade+scale in on load */
@keyframes badge-in { from{opacity:0;transform:scale(.7) rotate(var(--r,0deg))} to{opacity:1;transform:scale(1) rotate(var(--r,0deg))} }
.pb { animation:badge-in .5s cubic-bezier(.34,1.56,.64,1) both; }
.pb-r-3 { animation:badge-in .5s cubic-bezier(.34,1.56,.64,1) .4s both, bob 4.2s ease-in-out 1s infinite; }
.pb-r5  { animation:badge-in .5s cubic-bezier(.34,1.56,.64,1) .6s both, bob 3.8s ease-in-out 1.2s infinite; }
.pb-r-6 { animation:badge-in .5s cubic-bezier(.34,1.56,.64,1) .55s both, bob 4.6s ease-in-out 1.1s infinite; }
.pb-r8  { animation:badge-in .5s cubic-bezier(.34,1.56,.64,1) .7s both, bob-r 3.5s ease-in-out 1.3s infinite; }

/* Strip chips stagger in */
@keyframes chip-in { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.s-chip { animation:chip-in .5s cubic-bezier(.22,1,.36,1) both; }
.s-chip:nth-child(1){animation-delay:.1s}
.s-chip:nth-child(2){animation-delay:.2s}
.s-chip:nth-child(3){animation-delay:.3s}
.s-chip:nth-child(4){animation-delay:.4s}

/* 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); }

/* eSIM hot shimmer */
@keyframes shimmer { 0%{left:-100%} 100%{left:150%} }
.ei-pack.hot { overflow:visible; clip-path:none; }
.ei-pack.hot::after { content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);width:60%;left:-100%;animation:shimmer 2.4s ease-in-out infinite 1s; }
.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; }

/* SNB arrow chip pulse */
@keyframes chip-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,107,53,.4)} 50%{box-shadow:0 0 0 8px rgba(255,107,53,0)} }
.snb-arrow-chip { animation:chip-pulse 2.4s ease-in-out infinite; }

/* 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); }

/* nav-dl button heartbeat */
@keyframes heartbeat { 0%,100%{transform:scale(1)} 14%{transform:scale(1.04)} 28%{transform:scale(1)} 42%{transform:scale(1.03)} 56%{transform:scale(1)} }
.nav-dl { animation:heartbeat 3.6s ease-in-out infinite 4s; }
.nav-dl:hover { animation:none; }

/* hero-pill: idle flicker, dots pulse */
@keyframes pill-flicker { 0%,100%{opacity:1;border-color:var(--b)} 50%{opacity:.6;border-color:rgba(255,255,255,.04)} }
.hero-pill:nth-child(1) { animation:pill-flicker 3s ease-in-out infinite 0s; }
.hero-pill:nth-child(2) { animation:pill-flicker 3s ease-in-out infinite .7s; }
.hero-pill:nth-child(3) { animation:pill-flicker 3s ease-in-out infinite 1.4s; }
.hero-pill:nth-child(4) { animation:pill-flicker 3s ease-in-out infinite 2.1s; }
.hero-pill:hover { animation:none; }
.hero-pill:nth-child(1) i { animation:lp 2s ease-in-out infinite; }
.hero-pill:nth-child(2) i { animation:lp 2s ease-in-out infinite .5s; }
.hero-pill:nth-child(3) i { animation:lp 2s ease-in-out infinite 1s; }
.hero-pill:nth-child(4) i { animation:lp 2s ease-in-out infinite 1.5s; }

/* 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; }
  /* 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 */
  #cr,#crr { display:none; }
  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:8px; }
  .prd-head .btn-row .btn-main,
  .prd-head .btn-row .btn-out { 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; }
}

html { font-size: 16px !important; }
#jl-root, #jl-root * { font-family: 'Nunito', sans-serif !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);
  --accent:#ff6b35;
}
[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"] 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{color:rgba(13,13,26,.65);}
[data-theme="light"] .nav-menu a.act{background:var(--orange)!important;color:#fff!important;}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,[data-theme="light"] h4{color:#0d0d1a;}
[data-theme="light"] .btn-main,[data-theme="light"] .nav-dl{color:#fff!important;}
[data-theme="light"] .btn-out{border-color:rgba(0,0,0,.18);color:rgba(13,13,26,.7);}
[data-theme="light"] .theme-tgl .icon-sun{display:block;}
[data-theme="light"] .theme-tgl .icon-moon{display:none;}
[data-theme="light"] footer{background:#eeeef2;border-top-color:rgba(0,0,0,.1);}
[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-logo-wrap p{color:rgba(13,13,26,.65);}
[data-theme="light"] .toc-link{color:rgba(13,13,26,.55);}
[data-theme="light"] .toc-link:hover,[data-theme="light"] .toc-link.act{color:var(--orange);}
@media(max-width:860px){
  [data-theme="light"] .pp-toc-title{background:#eeeef2;border-color:rgba(0,0,0,.12);}
  [data-theme="light"] .toc-list{background:#eeeef2;border-color:rgba(0,0,0,.12);}
}
[data-theme="light"] .pp-section{border-top-color:rgba(0,0,0,.09);}
[data-theme="light"] .pp-intro-box{background:rgba(255,107,53,.06);border-color:rgba(255,107,53,.2);}
[data-theme="light"] .pp-highlight{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);}
[data-theme="light"] .pp-table th{background:rgba(0,0,0,.05);color:#0d0d1a;}
[data-theme="light"] .pp-table td{border-color:rgba(0,0,0,.08);color:rgba(13,13,26,.72);}
[data-theme="light"] .pp-table tr:hover td{background:rgba(0,0,0,.03);}
[data-theme="light"] .rights-card{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09);}
[data-theme="light"] .rights-card-title{color:#0d0d1a;}
[data-theme="light"] .rights-card-desc{color:rgba(13,13,26,.65);}
[data-theme="light"] .contact-block{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);}
html{scroll-behavior:smooth;overflow-x:clip;background:#08080f;}
body{font-family:'Nunito',sans-serif;background:#08080f;color:var(--white);line-height:1.6;overflow-x:clip;cursor:none;-webkit-font-smoothing:antialiased;}
#cr{position:fixed;z-index:9999;pointer-events:none;width:6px;height:6px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;}
#crr{position:fixed;z-index:9998;pointer-events:none;width:28px;height:28px;border:1.5px solid rgba(255,107,53,.45);border-radius:50%;transform:translate(-50%,-50%);transition:width .15s,height .15s;}
#sp{position:fixed;top:0;left:0;height:2px;z-index:500;background:linear-gradient(90deg,var(--orange),var(--pink));width:0;}
.amb{position:fixed;inset:0;z-index:-1;overflow:hidden;}
.amb-orb{position:absolute;border-radius:50%;filter:blur(130px);opacity:.1;}
.amb-orb.a{width:800px;height:800px;background:radial-gradient(circle,var(--purple) 0%,var(--pink) 100%);top:-300px;left:-200px;animation:drift1 30s ease-in-out infinite;}
.amb-orb.b{width:600px;height:600px;background:radial-gradient(circle,var(--orange) 0%,var(--pink) 100%);bottom:-200px;right:-100px;animation:drift2 25s ease-in-out infinite;}
@keyframes drift1{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(40px,-30px)scale(1.06)}}
@keyframes drift2{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(-30px,40px)scale(.94)}}
.w{max-width:1440px;margin:0 auto;padding:0 80px;}
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;will-change:padding;}
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;}
.logo{font-size:1.45rem;font-weight:900;letter-spacing:-.025em;color:var(--white);text-decoration:none;}
.logo img{filter:brightness(0) invert(1);}
.nav-menu{display:flex;align-items:center;gap:8px;list-style:none;}
.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,background .35s;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;cursor:none;}
.nav-dl:hover{transform:scale(1.06);box-shadow:0 6px 20px rgba(255,107,53,.4);}
.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;cursor:none;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);}
.theme-tgl .icon-sun{display:none;}
.theme-tgl .icon-moon{display:block;}
.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}

/* PAGE HERO */
.pp-hero{padding:140px 0 72px;text-align:center;}
.pp-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,107,53,.9);background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.3);border-radius:999px;padding:6px 16px;margin-bottom:24px;}
.pp-hero h1{font-size:clamp(2.2rem,3.5vw,3.2rem);font-weight:900;line-height:1.18;letter-spacing:-.035em;margin-bottom:16px;}
.pp-hero h1 span{background:linear-gradient(135deg,var(--orange) 0%,var(--pink) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.pp-hero-sub{font-size:1.05rem;color:var(--muted);max-width:520px;margin:0 auto 12px;}
.pp-hero-date{font-size:.82rem;color:var(--dim);font-weight:600;}

/* LAYOUT — single column, sidebar hidden on desktop (floating TOC used instead) */
.pp-layout{display:grid;grid-template-columns:1fr;gap:0;padding:40px 0 120px;}
.pp-toc{display:none;} /* hidden on desktop, shown on mobile via @media */
.pp-content{max-width:100%;}

/* TOC inner (used only on mobile accordion) */
.pp-toc-inner{position:relative;background:var(--s);border:1px solid var(--b);border-radius:16px;padding:24px;}

/* ── FLOATING TOC (desktop only) ── */
.toc-float{display:none;}
@media(min-width:861px){
  .toc-float{
    display:flex;align-items:flex-start;
    position:fixed;left:0;top:50%;transform:translateY(-50%);
    z-index:300;
  }
  .toc-float-tab{
    background:var(--orange);border:none;
    border-radius:0 12px 12px 0;padding:18px 11px;cursor:pointer;
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-size:.72rem;font-weight:800;color:#fff;
    letter-spacing:2px;text-transform:uppercase;white-space:nowrap;
    transition:background .2s,box-shadow .2s;
    box-shadow:3px 0 18px rgba(255,107,53,.35);
  }
  .toc-float-tab:hover{background:#e85d28;box-shadow:3px 0 24px rgba(255,107,53,.55);}
  .toc-float.open .toc-float-tab{background:#e85d28;box-shadow:3px 0 24px rgba(255,107,53,.55);}
  .toc-float-panel{
    position:absolute;left:100%;top:50%;
    transform:translateY(-50%) translateX(-8px);
    width:260px;background:var(--bg2);border:1px solid var(--b);
    border-radius:12px;padding:20px 16px;
    max-height:80vh;overflow-y:auto;
    opacity:0;pointer-events:none;
    transition:opacity .25s,transform .25s;
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    scrollbar-width:thin;scrollbar-color:rgba(255,107,53,.3) transparent;
  }
  .toc-float-panel::-webkit-scrollbar{width:3px;}
  .toc-float-panel::-webkit-scrollbar-thumb{background:rgba(255,107,53,.3);border-radius:99px;}
  .toc-float.open .toc-float-panel{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0);}
  [data-theme="light"] .toc-float-panel{background:#eeeef2;border-color:rgba(0,0,0,.12);box-shadow:0 24px 60px rgba(0,0,0,.12);}
}
.pp-toc-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin-bottom:16px;}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:4px;}
.toc-link{display:block;font-size:.88rem;font-weight:600;color:var(--dim);text-decoration:none;padding:6px 10px;border-radius:8px;transition:color .2s,background .2s;letter-spacing:-.01em;line-height:1.4;}
.toc-link:hover{color:var(--muted);background:rgba(255,255,255,.04);}
.toc-link.act{color:var(--orange);background:rgba(255,107,53,.08);}

/* CONTENT */
.pp-content{min-width:0;}
.pp-section{border-top:1px solid var(--b);padding-top:48px;margin-bottom:48px;}
.pp-section:first-child{border-top:none;padding-top:0;}
.pp-section-num{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--orange);margin-bottom:10px;}
.pp-section h2{font-size:1.55rem;font-weight:800;line-height:1.26;letter-spacing:-.025em;margin-bottom:20px;}
.pp-section p{font-size:.97rem;color:var(--muted);line-height:1.75;margin-bottom:14px;}
.pp-section p:last-child{margin-bottom:0;}
.pp-section ul,.pp-section ol{margin:14px 0 14px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.pp-section li{font-size:.97rem;color:var(--muted);line-height:1.65;padding-left:22px;position:relative;}
.pp-section li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--orange);opacity:.7;flex-shrink:0;}
.pp-section ol{counter-reset:ol-c;}
.pp-section ol li::before{content:counter(ol-c);counter-increment:ol-c;background:none;width:auto;height:auto;color:var(--orange);font-weight:700;font-size:.82rem;top:3px;}
.pp-section strong{color:var(--white);font-weight:700;}
.pp-section a{color:var(--orange);text-decoration:none;}
.pp-section a:hover{text-decoration:underline;}
[data-theme="light"] .pp-section strong{color:#0d0d1a;}

/* intro box */
.pp-intro-box{background:rgba(255,107,53,.07);border:1px solid rgba(255,107,53,.2);border-radius:14px;padding:20px 24px;margin-bottom:24px;}
.pp-intro-box p{color:var(--muted);font-size:.95rem;margin:0;}

/* highlight box */
.pp-highlight{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:20px 24px;margin:20px 0;}
.pp-highlight-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:10px;}
.pp-highlight ul{margin:0;}

/* table */
.pp-table-wrap{overflow-x:auto;margin:20px 0;}
.pp-table{width:100%;border-collapse:collapse;font-size:.92rem;}
.pp-table th{text-align:left;padding:10px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);background:rgba(255,255,255,.04);white-space:nowrap;}
.pp-table td{padding:12px 16px;color:var(--muted);border-top:1px solid var(--b);line-height:1.55;vertical-align:top;}
.pp-table tr:hover td{background:rgba(255,255,255,.02);}
.pp-table td strong{color:var(--white);}

/* rights cards */
.rights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0;}
.rights-card{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:18px 20px;}
.rights-card-icon{width:34px;height:34px;border-radius:9px;background:rgba(255,107,53,.12);border:1px solid rgba(255,107,53,.2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.rights-card-icon svg{width:16px;height:16px;color:var(--orange);}
.rights-card-title{font-size:.92rem;font-weight:700;letter-spacing:-.01em;margin-bottom:6px;}
.rights-card-desc{font-size:.85rem;color:var(--dim);line-height:1.55;}

/* contact block */
.contact-block{background:var(--s);border:1px solid var(--b);border-radius:16px;padding:28px 32px;margin-top:20px;}
.contact-block h3{font-size:1.05rem;font-weight:800;letter-spacing:-.015em;margin-bottom:14px;}
.contact-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.contact-row:last-child{margin-bottom:0;}
.contact-row-ico{width:32px;height:32px;border-radius:8px;background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.contact-row-ico svg{width:14px;height:14px;color:var(--orange);}
.contact-row-txt span{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:2px;}
.contact-row-txt a,.contact-row-txt p{font-size:.95rem;color:var(--muted);text-decoration:none;margin:0;}
.contact-row-txt a:hover{color:var(--orange);}
[data-theme="light"] .contact-row-txt a,[data-theme="light"] .contact-row-txt p{color:rgba(13,13,26,.72);}
[data-theme="light"] .rights-card-desc{color:rgba(13,13,26,.55);}

/* FOOTER */
footer{background:var(--bg2);border-top:1px solid var(--b);}
.foot-top{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;gap:56px;padding:64px 0 52px;border-bottom:1px solid var(--b);}
.foot-logo-wrap p{font-size:.9rem;color:var(--dim);line-height:1.7;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;cursor:none;}
.foot-col a.active-link:hover{color:var(--orange);}
.foot-social{display:flex;gap:12px;flex-wrap:wrap;}
.foot-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--s);border:1px solid var(--b);transition:background .2s,border-color .2s,transform .2s;pointer-events:auto;cursor:none;}
.foot-social a svg{width:15px;height:15px;fill:var(--dim);transition:fill .2s;}
.foot-social a:hover{background:rgba(255,107,53,.1);border-color:rgba(255,107,53,.3);transform:scale(1.08);}
.foot-social a:hover svg{fill:var(--orange);}
.foot-btm{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.82rem;color:var(--dim);gap:20px;flex-wrap:wrap;}

/* RESPONSIVE */

/* ── 1200px: narrow desktop ── */
@media(max-width:1200px){
  .w{padding:0 48px;}
  .pp-layout{grid-template-columns:200px 1fr;gap:36px;}
  .foot-top{grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;}
}

/* ── 1024px: small laptop / large tablet landscape ── */
@media(max-width:1024px){
  .w{padding:0 36px;}
  .pp-layout{grid-template-columns:190px 1fr;gap:28px;}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px;}
}

/* ── 860px: tablet portrait ── */
@media(max-width:860px){
  .w{padding:0 28px;}
  .pp-layout{grid-template-columns:1fr;gap:0;}

  /* TOC becomes fixed collapsible bar (sticky breaks in Elementor overflow:hidden containers) */
  .pp-layout{padding-top:56px;}
  .pp-toc{display:block;position:fixed;left:0;right:0;top:62px;z-index:150;margin-bottom:0;max-height:none;}
  .pp-toc-inner{
    padding:0;border-radius:12px;overflow:visible;
    max-height:none;scrollbar-width:unset;
  }
  .pp-toc-title{
    padding:13px 18px;margin-bottom:0;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;
    font-size:.75rem;background:var(--bg2);border:1px solid var(--b);
    border-radius:12px;transition:border-color .2s;
    user-select:none;
  }
  .pp-toc-title.open{border-radius:12px 12px 0 0;border-bottom-color:transparent;}
  .pp-toc-title::after{content:'▾';font-size:.9rem;opacity:.6;transition:transform .2s;}
  .pp-toc-title.open::after{transform:rotate(180deg);}
  .toc-list{
    position:absolute;left:0;right:0;
    background:var(--bg2);border:1px solid var(--b);border-top:none;
    border-radius:0 0 12px 12px;
    max-height:0;overflow:hidden;
    transition:max-height .35s cubic-bezier(.22,1,.36,1);
    padding:0 18px;
  }
  .toc-list.open{max-height:70vh;overflow-y:auto;padding:8px 18px 14px;}
  .toc-link{padding:7px 8px;font-size:.9rem;}

  .rights-grid{grid-template-columns:1fr 1fr;}
  .pp-hero{padding:152px 0 56px;}
}

/* ── 640px: mobile ── */
@media(max-width:640px){
  .w{padding:0 18px;}

  /* nav */
  .nav-menu a{font-size:.85rem;padding:6px 10px;}

  /* hero */
  .pp-hero{padding:140px 0 48px;}
  .pp-hero h1{font-size:1.9rem;letter-spacing:-.025em;}
  .pp-hero-sub{font-size:.95rem;}

  /* sections */
  .pp-section{padding-top:36px;margin-bottom:36px;}
  .pp-section h2{font-size:1.3rem;}
  .pp-section p,.pp-section li{font-size:.93rem;}

  /* table: hide Source column, shrink */
  .pp-table th:last-child,.pp-table td:last-child{display:none;}
  .pp-table th,.pp-table td{padding:10px 12px;font-size:.85rem;}

  /* highlights */
  .pp-highlight{padding:16px 18px;}
  .pp-highlight-title{font-size:.7rem;}

  /* rights grid */
  .rights-grid{grid-template-columns:1fr;}
  .rights-card{padding:16px 18px;}

  /* contact */
  .contact-block{padding:18px;}
  .contact-block h3{font-size:1rem;}
  .contact-row{gap:10px;}
  .contact-row-ico{width:28px;height:28px;border-radius:7px;}
  .contact-row-ico svg{width:12px;height:12px;}
  .contact-row-txt a,.contact-row-txt p{font-size:.88rem;}

  /* footer */
  .foot-top{grid-template-columns:1fr;gap:24px;padding:40px 0 36px;}
  .foot-btm{flex-direction:column;text-align:center;gap:8px;}
}

/* ── 400px: small phones ── */
@media(max-width:400px){
  .w{padding:0 14px;}
  .pp-hero h1{font-size:1.7rem;}
  .nav-dl{width:32px;height:32px;}
  .theme-tgl{width:32px;height:32px;}
  .pp-toc-inner{border-radius:10px;}
}

html { font-size: 16px !important; }
#jl-root, #jl-root * { font-family: 'Nunito', sans-serif !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);
  --accent:#ff6b35;
}
[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"] 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{color:rgba(13,13,26,.65);}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,[data-theme="light"] h4{color:#0d0d1a;}
[data-theme="light"] .btn-main,[data-theme="light"] .nav-dl{color:#fff!important;}
[data-theme="light"] .theme-tgl .icon-sun{display:block;}
[data-theme="light"] .theme-tgl .icon-moon{display:none;}
[data-theme="light"] .toc-link{color:rgba(13,13,26,.55);}
[data-theme="light"] .toc-link:hover,[data-theme="light"] .toc-link.act{color:var(--orange);}
@media(max-width:860px){
  [data-theme="light"] .pp-toc-title{background:#eeeef2;border-color:rgba(0,0,0,.12);}
  [data-theme="light"] .toc-list{background:#eeeef2;border-color:rgba(0,0,0,.12);}
}
[data-theme="light"] .pp-section{border-top-color:rgba(0,0,0,.09);}
[data-theme="light"] .pp-intro-box{background:rgba(255,107,53,.06);border-color:rgba(255,107,53,.2);}
[data-theme="light"] .pp-highlight{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);}
[data-theme="light"] .pp-table th{background:rgba(0,0,0,.05);color:#0d0d1a;}
[data-theme="light"] .pp-table td{border-color:rgba(0,0,0,.08);color:rgba(13,13,26,.72);}
[data-theme="light"] .pp-table tr:hover td{background:rgba(0,0,0,.03);}
[data-theme="light"] .rights-card{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.09);}
[data-theme="light"] .rights-card-title{color:#0d0d1a;}
[data-theme="light"] .rights-card-desc{color:rgba(13,13,26,.65);}
[data-theme="light"] .contact-block{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);}
html{scroll-behavior:smooth;overflow-x:clip;background:#08080f;}
body{font-family:'Nunito',sans-serif;background:#08080f;color:var(--white);line-height:1.6;overflow-x:clip;cursor:none;-webkit-font-smoothing:antialiased;}
#cr{position:fixed;z-index:9999;pointer-events:none;width:6px;height:6px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;}
#crr{position:fixed;z-index:9998;pointer-events:none;width:28px;height:28px;border:1.5px solid rgba(255,107,53,.45);border-radius:50%;transform:translate(-50%,-50%);transition:width .15s,height .15s;}
#sp{position:fixed;top:0;left:0;height:2px;z-index:500;background:linear-gradient(90deg,var(--orange),var(--pink));width:0;}
.amb{position:fixed;inset:0;z-index:-1;overflow:hidden;}
.amb-orb{position:absolute;border-radius:50%;filter:blur(130px);opacity:.1;}
.amb-orb.a{width:800px;height:800px;background:radial-gradient(circle,var(--purple) 0%,var(--pink) 100%);top:-300px;left:-200px;animation:drift1 30s ease-in-out infinite;}
.amb-orb.b{width:600px;height:600px;background:radial-gradient(circle,var(--orange) 0%,var(--pink) 100%);bottom:-200px;right:-100px;animation:drift2 25s ease-in-out infinite;}
@keyframes drift1{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(40px,-30px)scale(1.06)}}
@keyframes drift2{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(-30px,40px)scale(.94)}}
.w{max-width:1440px;margin:0 auto;padding:0 80px;}
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;will-change:padding;}
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;}
.logo{font-size:1.45rem;font-weight:900;letter-spacing:-.025em;color:var(--white);text-decoration:none;}
.logo img{filter:brightness(0) invert(1);}
.nav-menu{display:flex;align-items:center;gap:8px;list-style:none;}
.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,background .35s;letter-spacing:-.01em;}
.nav-menu a:hover{color:var(--white);background:rgba(255,255,255,.06);}
.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;cursor:none;}
.nav-dl:hover{transform:scale(1.06);box-shadow:0 6px 20px rgba(255,107,53,.4);}
.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;cursor:none;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);}
.theme-tgl .icon-sun{display:none;}
.theme-tgl .icon-moon{display:block;}
.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}

/* PAGE HERO */
.pp-hero{padding:140px 0 72px;text-align:center;}
.pp-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,107,53,.9);background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.3);border-radius:999px;padding:6px 16px;margin-bottom:24px;}
.pp-hero h1{font-size:clamp(2.2rem,3.5vw,3.2rem);font-weight:900;line-height:1.18;letter-spacing:-.035em;margin-bottom:16px;}
.pp-hero h1 span{background:linear-gradient(135deg,var(--orange) 0%,var(--pink) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.pp-hero-sub{font-size:1.05rem;color:var(--muted);max-width:520px;margin:0 auto 12px;}
.pp-hero-date{font-size:.82rem;color:var(--dim);font-weight:600;}

/* LAYOUT */
.pp-layout{display:grid;grid-template-columns:1fr;gap:0;padding:40px 0 120px;}
.pp-toc{display:none;}
.pp-content{max-width:100%;}

/* TOC inner */
.pp-toc-inner{position:relative;background:var(--s);border:1px solid var(--b);border-radius:16px;padding:24px;}

/* FLOATING TOC (desktop only) */
.toc-float{display:none;}
@media(min-width:861px){
  .toc-float{
    display:flex;align-items:flex-start;
    position:fixed;left:0;top:50%;transform:translateY(-50%);
    z-index:300;
  }
  .toc-float-tab{
    background:var(--orange);border:none;
    border-radius:0 12px 12px 0;padding:18px 11px;cursor:pointer;
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-size:.72rem;font-weight:800;color:#fff;
    letter-spacing:2px;text-transform:uppercase;white-space:nowrap;
    transition:background .2s,box-shadow .2s;
    box-shadow:3px 0 18px rgba(255,107,53,.35);
  }
  .toc-float-tab:hover{background:#e85d28;box-shadow:3px 0 24px rgba(255,107,53,.55);}
  .toc-float.open .toc-float-tab{background:#e85d28;box-shadow:3px 0 24px rgba(255,107,53,.55);}
  .toc-float-panel{
    position:absolute;left:100%;top:50%;
    transform:translateY(-50%) translateX(-8px);
    width:260px;background:var(--bg2);border:1px solid var(--b);
    border-radius:12px;padding:20px 16px;
    max-height:80vh;overflow-y:auto;
    opacity:0;pointer-events:none;
    transition:opacity .25s,transform .25s;
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    scrollbar-width:thin;scrollbar-color:rgba(255,107,53,.3) transparent;
  }
  .toc-float-panel::-webkit-scrollbar{width:3px;}
  .toc-float-panel::-webkit-scrollbar-thumb{background:rgba(255,107,53,.3);border-radius:99px;}
  .toc-float.open .toc-float-panel{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0);}
  [data-theme="light"] .toc-float-panel{background:#eeeef2;border-color:rgba(0,0,0,.12);box-shadow:0 24px 60px rgba(0,0,0,.12);}
}
.pp-toc-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin-bottom:16px;}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:4px;}
.toc-link{display:block;font-size:.88rem;font-weight:600;color:var(--dim);text-decoration:none;padding:6px 10px;border-radius:8px;transition:color .2s,background .2s;letter-spacing:-.01em;line-height:1.4;}
.toc-link:hover{color:var(--muted);background:rgba(255,255,255,.04);}
.toc-link.act{color:var(--orange);background:rgba(255,107,53,.08);}

/* CONTENT */
.pp-content{min-width:0;}
.pp-section{border-top:1px solid var(--b);padding-top:48px;margin-bottom:48px;}
.pp-section:first-child{border-top:none;padding-top:0;}
.pp-section-num{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--orange);margin-bottom:10px;}
.pp-section h2{font-size:1.55rem;font-weight:800;line-height:1.26;letter-spacing:-.025em;margin-bottom:20px;}
.pp-section p{font-size:.97rem;color:var(--muted);line-height:1.75;margin-bottom:14px;}
.pp-section p:last-child{margin-bottom:0;}
.pp-section ul,.pp-section ol{margin:14px 0 14px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.pp-section li{font-size:.97rem;color:var(--muted);line-height:1.65;padding-left:22px;position:relative;}
.pp-section li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--orange);opacity:.7;flex-shrink:0;}
.pp-section ol{counter-reset:ol-c;}
.pp-section ol li::before{content:counter(ol-c);counter-increment:ol-c;background:none;width:auto;height:auto;color:var(--orange);font-weight:700;font-size:.82rem;top:3px;}
.pp-section strong{color:var(--white);font-weight:700;}
.pp-section a{color:var(--orange);text-decoration:none;}
.pp-section a:hover{text-decoration:underline;}
[data-theme="light"] .pp-section strong{color:#0d0d1a;}

/* intro box */
.pp-intro-box{background:rgba(255,107,53,.07);border:1px solid rgba(255,107,53,.2);border-radius:14px;padding:20px 24px;margin-bottom:24px;}
.pp-intro-box p{color:var(--muted);font-size:.95rem;margin:0;}

/* highlight box */
.pp-highlight{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:20px 24px;margin:20px 0;}
.pp-highlight-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:10px;}
.pp-highlight ul{margin:0;}

/* rights cards */
.rights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0;}
.rights-card{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:18px 20px;}
.rights-card-icon{width:34px;height:34px;border-radius:9px;background:rgba(255,107,53,.12);border:1px solid rgba(255,107,53,.2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.rights-card-icon svg{width:16px;height:16px;color:var(--orange);}
.rights-card-title{font-size:.92rem;font-weight:700;letter-spacing:-.01em;margin-bottom:6px;}
.rights-card-desc{font-size:.85rem;color:var(--dim);line-height:1.55;}

/* contact block */
.contact-block{background:var(--s);border:1px solid var(--b);border-radius:16px;padding:28px 32px;margin-top:20px;}
.contact-block h3{font-size:1.05rem;font-weight:800;letter-spacing:-.015em;margin-bottom:14px;}
.contact-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.contact-row:last-child{margin-bottom:0;}
.contact-row-ico{width:32px;height:32px;border-radius:8px;background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.contact-row-ico svg{width:14px;height:14px;color:var(--orange);}
.contact-row-txt span{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:2px;}
.contact-row-txt a,.contact-row-txt p{font-size:.95rem;color:var(--muted);text-decoration:none;margin:0;}
.contact-row-txt a:hover{color:var(--orange);}
[data-theme="light"] .contact-row-txt a,[data-theme="light"] .contact-row-txt p{color:rgba(13,13,26,.72);}
[data-theme="light"] .rights-card-desc{color:rgba(13,13,26,.55);}

/* RESPONSIVE */
@media(max-width:1200px){
  .w{padding:0 48px;}
}
@media(max-width:1024px){
  .w{padding:0 36px;}
}
@media(max-width:860px){
  .w{padding:0 28px;}
  .pp-layout{grid-template-columns:1fr;gap:0;}
  .pp-layout{padding-top:56px;}
  .pp-toc{display:block;position:fixed;left:0;right:0;top:62px;z-index:150;margin-bottom:0;max-height:none;}
  .pp-toc-inner{padding:0;border-radius:12px;overflow:visible;max-height:none;scrollbar-width:unset;}
  .pp-toc-title{
    padding:13px 18px;margin-bottom:0;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;
    font-size:.75rem;background:var(--bg2);border:1px solid var(--b);
    border-radius:12px;transition:border-color .2s;user-select:none;
  }
  .pp-toc-title.open{border-radius:12px 12px 0 0;border-bottom-color:transparent;}
  .pp-toc-title::after{content:'▾';font-size:.9rem;opacity:.6;transition:transform .2s;}
  .pp-toc-title.open::after{transform:rotate(180deg);}
  .toc-list{
    position:absolute;left:0;right:0;
    background:var(--bg2);border:1px solid var(--b);border-top:none;
    border-radius:0 0 12px 12px;
    max-height:0;overflow:hidden;
    transition:max-height .35s cubic-bezier(.22,1,.36,1);
    padding:0 18px;
  }
  .toc-list.open{max-height:70vh;overflow-y:auto;padding:8px 18px 14px;}
  .toc-link{padding:7px 8px;font-size:.9rem;}
  .rights-grid{grid-template-columns:1fr 1fr;}
  .pp-hero{padding:152px 0 56px;}
}
@media(max-width:640px){
  .w{padding:0 18px;}
  .nav-menu a{font-size:.85rem;padding:6px 10px;}
  .pp-hero{padding:140px 0 48px;}
  .pp-hero h1{font-size:1.9rem;letter-spacing:-.025em;}
  .pp-hero-sub{font-size:.95rem;}
  .pp-section{padding-top:36px;margin-bottom:36px;}
  .pp-section h2{font-size:1.3rem;}
  .pp-section p,.pp-section li{font-size:.93rem;}
  .pp-highlight{padding:16px 18px;}
  .pp-highlight-title{font-size:.7rem;}
  .rights-grid{grid-template-columns:1fr;}
  .rights-card{padding:16px 18px;}
  .contact-block{padding:18px;}
  .contact-block h3{font-size:1rem;}
  .contact-row{gap:10px;}
  .contact-row-ico{width:28px;height:28px;border-radius:7px;}
  .contact-row-ico svg{width:12px;height:12px;}
  .contact-row-txt a,.contact-row-txt p{font-size:.88rem;}
}
@media(max-width:400px){
  .w{padding:0 14px;}
  .pp-hero h1{font-size:1.7rem;}
  .nav-dl{width:32px;height:32px;}
  .theme-tgl{width:32px;height:32px;}
  .pp-toc-inner{border-radius:10px;}
}