/* ============================================================
   CYBER DATA LIVE — Stylesheet
   Brand Blue: #1B9FE0 | Dark: #0D1B2A | Grey: #5A5A5A
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --blue:      #1B9FE0;
  --blue2:     #1480BE;
  --blue-lt:   #E8F5FD;
  --blue-md:   #B8DEFF;
  --dark:      #0D1B2A;
  --dark2:     #122234;
  --dark3:     #091521;
  --mid:       #1E3348;
  --grey:      #5A5A5A;
  --grey-lt:   #F5F7FA;
  --grey-md:   #EBEEf2;
  --border:    #D8E2EC;
  --border2:   #C4D2DF;
  --muted:     #8A9BB0;
  --text:      #18293D;
  --white:     #FFFFFF;
  --gold:      #E8930A;
  --gold-lt:   #FEF4E4;
  --green:     #17865F;
  --red:       #CC2936;
  --shadow:    0 2px 14px rgba(13,27,42,.08);
  --shadow-lg: 0 8px 40px rgba(13,27,42,.14);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--white); color:var(--text); font-family:'Open Sans',sans-serif; line-height:1.65; overflow-x:hidden; }

/* ── LAYOUT ───────────────────────────────────── */
.container { max-width:1160px; margin:0 auto; padding:0 48px; }
.section    { padding:84px 0; }
.section.alt { background:var(--grey-lt); }

/* ── TYPOGRAPHY HELPERS ───────────────────────── */
.tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:12px; }
.tag::before { content:''; width:18px; height:2px; background:var(--blue); border-radius:1px; flex-shrink:0; }
.tag.gold { color:var(--gold); }
.tag.gold::before { background:var(--gold); }
.tag.center { justify-content:center; }
.h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:var(--dark); line-height:1.18; margin-bottom:12px; }
.h2.center { text-align:center; }
.lead { font-size:15px; color:var(--grey); max-width:520px; line-height:1.8; }
.lead.center { text-align:center; margin:0 auto; }

/* ── BUTTONS ──────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; border:none; transition:all .22s; line-height:1; }
.btn-blue  { background:var(--blue);  color:#fff; box-shadow:0 4px 14px rgba(27,159,224,.28); }
.btn-blue:hover  { background:var(--blue2); transform:translateY(-1px); box-shadow:0 8px 22px rgba(27,159,224,.4); }
.btn-dark  { background:var(--dark);  color:#fff; }
.btn-dark:hover  { background:var(--dark2); transform:translateY(-1px); }
.btn-ghost { background:transparent; border:1.5px solid var(--border2); color:var(--dark); }
.btn-ghost:hover { border-color:var(--blue); color:var(--blue); }
.btn-gold  { background:var(--gold); color:#fff; box-shadow:0 4px 14px rgba(232,147,10,.28); }
.btn-gold:hover  { background:#cc7e07; transform:translateY(-1px); }
.btn-white { background:#fff; color:var(--blue); }
.btn-white:hover { background:var(--grey-lt); transform:translateY(-1px); }
.btn-lg  { padding:14px 32px; font-size:15px; }
.btn-sm  { padding:8px 16px; font-size:13px; }

/* ── FORMS ────────────────────────────────────── */
.f-group  { margin-bottom:15px; }
.f-label  { display:block; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--grey); margin-bottom:5px; }
.f-input, .f-select, .f-textarea { width:100%; background:var(--white); border:1.5px solid var(--border); border-radius:8px; padding:11px 13px; font-family:'Open Sans',sans-serif; font-size:14px; color:var(--text); outline:none; transition:border-color .2s, box-shadow .2s; }
.f-input:focus, .f-select:focus, .f-textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(27,159,224,.12); }
.f-textarea { resize:vertical; min-height:110px; }
.f-check { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.f-check input[type=checkbox] { width:16px; height:16px; accent-color:var(--blue); flex-shrink:0; margin-top:3px; }
.f-check label { font-size:13px; color:var(--grey); line-height:1.5; }
.f-check label a { color:var(--blue); text-decoration:none; }
.f-submit { width:100%; background:var(--blue); border:none; color:#fff; padding:13px; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; box-shadow:0 4px 14px rgba(27,159,224,.28); transition:all .22s; }
.f-submit:hover { background:var(--blue2); transform:translateY(-1px); }
.f-success { background:rgba(23,134,95,.1); border:1px solid rgba(23,134,95,.3); border-radius:8px; padding:14px; color:var(--green); font-size:14px; font-weight:600; margin-bottom:16px; }
.f-alert   { background:rgba(204,41,54,.08); border:1px solid rgba(204,41,54,.2); border-radius:8px; padding:14px; color:var(--red); font-size:14px; margin-bottom:16px; }

/* ═══════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════ */
#main-nav { position:fixed; top:0; left:0; right:0; z-index:900; height:64px; background:var(--dark); border-bottom:1px solid rgba(255,255,255,.05); }
.nav-container { max-width:1160px; margin:0 auto; padding:0 48px; height:100%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { text-decoration:none; display:flex; align-items:center; }
.nav-links { display:flex; align-items:center; gap:2px; list-style:none; }
.nav-links a { color:rgba(255,255,255,.65); text-decoration:none; font-size:13px; font-weight:600; padding:6px 12px; border-radius:6px; transition:all .2s; }
.nav-links a:hover, .nav-links a.active { color:#fff; background:rgba(255,255,255,.08); }
.nav-lms-btn { background:var(--blue) !important; color:#fff !important; font-weight:700 !important; padding:7px 15px !important; border-radius:6px !important; font-size:12px !important; }
.nav-lms-btn:hover { background:var(--blue2) !important; }
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px; }
.nav-toggle span { display:block; width:22px; height:2px; background:rgba(255,255,255,.7); border-radius:2px; transition:all .2s; }

/* ═══════════════════════════════════════════════
   PAGE WRAP
═══════════════════════════════════════════════ */
.page-wrap { padding-top:64px; }

/* ═══════════════════════════════════════════════
   HOME HERO
═══════════════════════════════════════════════ */
.home-hero { min-height:calc(100vh - 64px); background:var(--dark); display:flex; align-items:center; position:relative; overflow:hidden; }
.home-hero::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(27,159,224,.08) 1px, transparent 1px); background-size:32px 32px; pointer-events:none; }
.home-hero::after  { content:''; position:absolute; top:-200px; right:-200px; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle, rgba(27,159,224,.07) 0%, transparent 70%); pointer-events:none; }
.hero-inner { display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center; padding:80px 48px; max-width:1160px; margin:0 auto; width:100%; position:relative; z-index:2; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:9px; background:rgba(27,159,224,.12); border:1px solid rgba(27,159,224,.3); border-radius:100px; padding:5px 16px; font-size:11px; font-weight:700; color:var(--blue); letter-spacing:2px; text-transform:uppercase; margin-bottom:22px; }
.hero-pulse { width:6px; height:6px; background:var(--blue); border-radius:50%; animation:pulse 2s infinite; flex-shrink:0; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.8)} }
.hero h1 { font-size:clamp(36px,5.5vw,64px); font-weight:800; line-height:1.05; color:#fff; margin-bottom:22px; letter-spacing:-.5px; }
.hero h1 .blue { color:var(--blue); }
.hero h1 .gold { color:var(--gold); }
.hero-sub { font-size:16px; color:rgba(255,255,255,.6); line-height:1.8; max-width:480px; margin-bottom:34px; }
.hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:44px; }
.hero-stats { display:flex; gap:0; border:1px solid rgba(255,255,255,.1); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.04); }
.hs { flex:1; padding:16px; border-right:1px solid rgba(255,255,255,.08); text-align:center; }
.hs:last-child { border-right:none; }
.hs-val { font-size:24px; font-weight:800; color:#fff; display:block; line-height:1; }
.hs-lbl { font-size:10px; font-weight:600; color:rgba(255,255,255,.4); letter-spacing:1px; text-transform:uppercase; margin-top:5px; display:block; }

/* ── HERO CARD (right) ──────────────────────── */
.hero-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:22px; backdrop-filter:blur(10px); position:relative; }
.hc-bar { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:12px; margin-bottom:9px; }
.hc-bar-label { font-size:10px; font-weight:700; color:rgba(255,255,255,.4); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; display:flex; justify-content:space-between; }
.hc-bar-label span { color:var(--blue); }
.hc-progress { height:4px; background:rgba(255,255,255,.06); border-radius:2px; overflow:hidden; }
.hc-progress-fill { height:100%; border-radius:2px; background:linear-gradient(90deg,var(--blue),#62C6F5); }
.hc-alert { background:rgba(232,147,10,.1); border:1px solid rgba(232,147,10,.25); border-radius:8px; padding:12px 13px; display:flex; gap:10px; align-items:flex-start; margin-bottom:9px; }
.hca-text strong { font-size:13px; font-weight:700; color:#fff; display:block; }
.hca-text span   { font-size:12px; color:rgba(255,255,255,.5); }
.hc-products { display:flex; gap:8px; margin-top:6px; }
.hcp { background:rgba(27,159,224,.15); border:1px solid rgba(27,159,224,.3); border-radius:6px; padding:5px 10px; font-size:10px; font-weight:700; color:var(--blue); letter-spacing:.5px; }
.hcp.gold { background:rgba(232,147,10,.12); border-color:rgba(232,147,10,.3); color:var(--gold); }
.hero-badge { position:absolute; bottom:-16px; right:-18px; background:var(--white); border:1.5px solid var(--border); border-radius:12px; padding:11px 14px; display:flex; align-items:center; gap:11px; box-shadow:var(--shadow-lg); }
.hb-icon { width:32px; height:32px; background:var(--blue-lt); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.hb-text strong { font-size:13px; font-weight:700; color:var(--dark); display:block; }
.hb-text span { font-size:11px; color:var(--muted); }

/* ═══════════════════════════════════════════════
   PRODUCT HIGHLIGHT BANDS
═══════════════════════════════════════════════ */
/* MasaGo band */
.masago-band { background:linear-gradient(135deg, #0a1e0a 0%, #0d280d 100%); padding:60px 0; position:relative; overflow:hidden; }
.masago-band::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(0,192,64,.04) 1px, transparent 1px); background-size:28px 28px; pointer-events:none; }
.masago-band-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
.mb-own-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(0,192,64,.15); border:1px solid rgba(0,192,64,.35); border-radius:100px; padding:4px 14px; font-size:10px; font-weight:700; color:#00C040; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.mb-logo { font-size:28px; font-weight:800; color:#00C040; letter-spacing:2px; margin-bottom:6px; }
.mb-title { font-size:clamp(20px,3vw,30px); font-weight:800; color:#fff; margin-bottom:14px; line-height:1.2; }
.mb-body { font-size:14px; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:22px; }
.mb-networks { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.mb-net { background:rgba(255,255,255,.05); border:1px solid rgba(0,192,64,.2); border-radius:10px; padding:14px; transition:all .2s; }
.mb-net:hover { border-color:rgba(0,192,64,.5); background:rgba(0,192,64,.08); }
.mb-net-name { font-size:13px; font-weight:700; color:#fff; margin-bottom:3px; }
.mb-net-sub  { font-size:11px; color:rgba(255,255,255,.4); }
.mb-secure { display:flex; align-items:center; gap:12px; background:rgba(0,192,64,.08); border:1px solid rgba(0,192,64,.2); border-radius:9px; padding:13px 15px; margin-top:16px; }
.mb-secure-text strong { font-size:12px; font-weight:700; color:#00C040; display:block; }
.mb-secure-text span   { font-size:11px; color:rgba(255,255,255,.45); }

/* LMS band */
.lms-band { background:linear-gradient(135deg, var(--dark) 0%, #152235 100%); padding:60px 0; position:relative; overflow:hidden; }
.lms-band::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(27,159,224,.04) 1px, transparent 1px); background-size:28px 28px; pointer-events:none; }
.lms-band-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
.lb-own-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(27,159,224,.15); border:1px solid rgba(27,159,224,.35); border-radius:100px; padding:4px 14px; font-size:10px; font-weight:700; color:var(--blue); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.lb-title { font-size:clamp(20px,3vw,30px); font-weight:800; color:#fff; margin-bottom:14px; line-height:1.2; }
.lb-body  { font-size:14px; color:rgba(255,255,255,.6); line-height:1.8; margin-bottom:22px; }
.lb-feats { list-style:none; margin-bottom:22px; }
.lb-feats li { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:13px; color:rgba(255,255,255,.65); }
.lb-feats li:last-child { border-bottom:none; }
.lb-feats li::before { content:'✓'; color:var(--blue); font-weight:800; flex-shrink:0; }
.lb-url { background:rgba(27,159,224,.08); border:1px solid rgba(27,159,224,.2); border-radius:9px; padding:13px 15px; font-size:13px; color:var(--blue); font-weight:600; margin-bottom:20px; display:flex; align-items:center; gap:9px; }
.lb-url::before { content:'🔗'; font-size:15px; }
/* LMS screen mockup */
.lms-screen { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:14px; overflow:hidden; }
.lms-bar { background:rgba(0,0,0,.4); padding:10px 15px; display:flex; align-items:center; gap:7px; }
.lms-dot { width:8px; height:8px; border-radius:50%; }
.lms-dot:nth-child(1){background:#FF5F56;}.lms-dot:nth-child(2){background:#FFBD2E;}.lms-dot:nth-child(3){background:#27C93F;}
.lms-url-bar { flex:1; background:rgba(255,255,255,.06); border-radius:4px; padding:3px 12px; font-size:11px; color:rgba(255,255,255,.3); margin-left:8px; }
.lms-content { padding:20px; }
.lms-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:9px; }
.lms-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:9px; padding:12px; }
.lms-card-label { font-size:9px; font-weight:700; color:var(--blue); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:6px; }
.lms-card.gold .lms-card-label { color:var(--gold); }
.lms-prog-track { height:4px; background:rgba(255,255,255,.06); border-radius:2px; overflow:hidden; margin-bottom:4px; }
.lms-prog-fill  { height:100%; border-radius:2px; background:linear-gradient(90deg, var(--blue), #62C6F5); }
.lms-card.gold .lms-prog-fill { background:linear-gradient(90deg, var(--gold), #F5B842); }
.lms-prog-pct { font-size:10px; color:rgba(255,255,255,.4); }
.lms-cert-row { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:9px; padding:11px 13px; display:flex; align-items:center; gap:10px; }
.lms-cert-text strong { font-size:13px; font-weight:700; color:#fff; display:block; }
.lms-cert-text span { font-size:11px; color:rgba(255,255,255,.45); }

/* ═══════════════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════════════ */
.page-hero { padding:72px 0 52px; background:var(--dark); position:relative; overflow:hidden; }
.page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:440px; height:440px; border-radius:50%; border:1px solid rgba(27,159,224,.1); pointer-events:none; }
.ph-bc { display:flex; align-items:center; gap:7px; font-size:12px; color:rgba(255,255,255,.35); margin-bottom:14px; }
.ph-bc a { color:rgba(255,255,255,.35); text-decoration:none; transition:color .2s; }
.ph-bc a:hover { color:var(--blue); }
.ph-bc span { color:rgba(255,255,255,.18); }
.page-hero h1 { font-size:clamp(26px,4vw,44px); font-weight:800; color:#fff; margin-bottom:12px; line-height:1.12; }
.hero-desc { font-size:15px; color:rgba(255,255,255,.55); max-width:540px; line-height:1.75; }
.hero-desc a { color:var(--blue); text-decoration:none; }

/* ═══════════════════════════════════════════════
   SERVICES PAGE
═══════════════════════════════════════════════ */
.svc-block { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.svc-block.rev { direction:rtl; }
.svc-block.rev > * { direction:ltr; }
.svc-tag { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:12px; }
.svc-tag::before { content:''; width:14px; height:2px; background:var(--blue); border-radius:1px; }
.svc-tag.gold { color:var(--gold); }
.svc-tag.gold::before { background:var(--gold); }
.svc-h2 { font-size:clamp(20px,2.6vw,28px); font-weight:800; color:var(--dark); line-height:1.18; margin-bottom:13px; }
.svc-body { font-size:14px; color:var(--grey); line-height:1.82; margin-bottom:16px; }
.fee-tag { display:inline-flex; align-items:center; gap:11px; background:var(--blue-lt); border:1px solid rgba(27,159,224,.22); border-radius:10px; padding:11px 16px; margin-bottom:20px; }
.fee-tag.gold { background:var(--gold-lt); border-color:rgba(232,147,10,.22); }
.fee-tag-label { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:1px; }
.fee-tag-val   { font-size:15px; font-weight:800; color:var(--blue); }
.fee-tag.gold .fee-tag-val { color:var(--gold); }
.svc-list { list-style:none; margin-bottom:24px; }
.svc-list li { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid var(--grey-md); font-size:13px; color:var(--grey); }
.svc-list li:last-child { border-bottom:none; }
.svc-list li::before { content:'✓'; color:var(--blue); font-weight:800; flex-shrink:0; }
.svc-list li.gold::before { color:var(--gold); }
/* Visual panel */
.svc-visual { background:var(--grey-lt); border:1.5px solid var(--border); border-radius:14px; padding:24px; box-shadow:var(--shadow); }
.svc-visual.dark { background:var(--dark); border-color:var(--mid); }
.sv-label { font-size:10px; font-weight:700; color:var(--muted); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.svc-visual.dark .sv-label { color:rgba(255,255,255,.3); }
.sv-items { display:flex; flex-direction:column; gap:8px; }
.sv-item { background:var(--white); border:1px solid var(--border); border-radius:9px; padding:11px 14px; display:flex; justify-content:space-between; align-items:center; }
.svc-visual.dark .sv-item { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.07); }
.sv-item-label { font-size:13px; color:var(--grey); }
.svc-visual.dark .sv-item-label { color:rgba(255,255,255,.5); }
.sv-val { font-size:12px; font-weight:700; }
.sv-blue { color:var(--blue); } .sv-grn { color:var(--green); } .sv-gld { color:var(--gold); }
.sv-red { color:#FF4444; } .sv-org { color:#FF8C00; } .sv-yel { color:#D4A017; }
.sv-bars { margin-top:12px; }
.sv-bar-row { margin-bottom:10px; }
.sv-bar-lbl { display:flex; justify-content:space-between; font-size:11px; color:var(--muted); margin-bottom:4px; }
.sv-bar { height:5px; background:var(--grey-md); border-radius:3px; overflow:hidden; }
.sv-bar-fill { height:100%; border-radius:3px; background:linear-gradient(90deg, var(--blue), #62C6F5); }

/* ═══════════════════════════════════════════════
   HOME SERVICE CARDS
═══════════════════════════════════════════════ */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc-card { background:var(--white); border:1.5px solid var(--border); border-radius:14px; padding:26px 22px; transition:all .26s; }
.svc-card:hover { border-color:var(--blue); box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.svc-card.gld:hover { border-color:var(--gold); }
.sc-icon { width:46px; height:46px; background:var(--blue-lt); border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:15px; transition:background .25s; }
.svc-card:hover .sc-icon { background:var(--blue); }
.svc-card.gld .sc-icon { background:var(--gold-lt); }
.svc-card.gld:hover .sc-icon { background:var(--gold); }
.svc-card h3 { font-size:14px; font-weight:700; color:var(--dark); margin-bottom:7px; }
.svc-card p  { font-size:13px; color:var(--grey); line-height:1.7; }
.sc-fee { font-size:12px; font-weight:700; color:var(--blue); margin-top:10px; display:block; }
.svc-card.gld .sc-fee { color:var(--gold); }
.sc-link { display:inline-flex; align-items:center; gap:5px; margin-top:11px; font-size:12px; font-weight:700; color:var(--blue); text-decoration:none; transition:gap .2s; }
.svc-card.gld .sc-link { color:var(--gold); }
.svc-card:hover .sc-link { gap:9px; }

/* ═══════════════════════════════════════════════
   PRICING PAGE
═══════════════════════════════════════════════ */
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.p-card { background:var(--white); border:1.5px solid var(--border); border-radius:20px; overflow:hidden; transition:box-shadow .3s, transform .3s; position:relative; }
.p-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-5px); }
.p-card.pop { border-color:var(--blue); box-shadow:0 4px 24px rgba(27,159,224,.15); }
.p-card.prem { border-color:var(--gold); }
.p-head { padding:26px 24px 18px; position:relative; }
.p-tier { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:10px; }
.p-card.prem .p-tier { color:var(--gold); }
.p-price { font-size:42px; font-weight:800; color:var(--dark); line-height:1; }
.p-price sup { font-size:18px; font-weight:600; vertical-align:super; color:var(--blue); }
.p-card.prem .p-price, .p-card.prem .p-price sup { color:var(--gold); }
.p-tagline { font-size:12px; color:var(--muted); margin-top:5px; }
.p-badge { position:absolute; top:18px; right:18px; background:var(--blue); color:#fff; font-size:10px; font-weight:700; letter-spacing:.8px; padding:4px 12px; border-radius:100px; }
.p-divider { height:1px; background:var(--border); margin:0 24px; }
.p-feats { padding:14px 24px; }
.p-feats table { width:100%; border-collapse:collapse; }
.p-feats th { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); padding:0 0 10px; text-align:left; }
.p-feats th:last-child { text-align:center; }
.p-feats td { font-size:13px; color:var(--text); padding:7px 0; border-bottom:1px solid var(--grey-md); }
.p-feats tr:last-child td { border-bottom:none; }
.p-feats td:last-child { text-align:center; }
.tick { color:var(--green); font-weight:700; font-size:14px; }
.cross { color:var(--red); font-size:12px; opacity:.5; }
.p-foot { padding:4px 24px 24px; }
.p-btn { display:block; width:100%; text-align:center; padding:12px; border-radius:9px; font-family:'Open Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; border:none; text-decoration:none; transition:all .22s; }
.p-btn.ghost { background:transparent; border:1.5px solid var(--border2); color:var(--dark); }
.p-btn.ghost:hover { border-color:var(--blue); color:var(--blue); }
.p-btn.solid { background:var(--blue); color:#fff; box-shadow:0 4px 14px rgba(27,159,224,.28); }
.p-btn.solid:hover { background:var(--blue2); }
.p-btn.gold  { background:var(--gold); color:#fff; box-shadow:0 4px 14px rgba(232,147,10,.28); }
.p-btn.gold:hover  { background:#cc7e07; }
.note-box { background:var(--grey-lt); border:1px solid var(--border); border-radius:13px; padding:22px 26px; margin-top:30px; display:flex; gap:14px; align-items:flex-start; }
.note-box strong { font-size:14px; font-weight:700; color:var(--dark); display:block; margin-bottom:4px; }
.note-box p { font-size:13px; color:var(--grey); line-height:1.7; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:36px; }
.faq-item { background:var(--white); border:1.5px solid var(--border); border-radius:12px; padding:18px 20px; transition:border-color .2s; }
.faq-item:hover { border-color:var(--blue); }
.faq-q { font-size:13px; font-weight:700; color:var(--dark); margin-bottom:7px; }
.faq-a { font-size:13px; color:var(--grey); line-height:1.7; }

/* ═══════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════ */
.about-body p { margin-bottom:16px; font-size:14px; color:var(--grey); line-height:1.85; }
.cred-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }
.cred { background:var(--grey-lt); border:1.5px solid var(--border); border-radius:9px; padding:12px 14px; text-align:center; transition:all .22s; }
.cred:hover { border-color:var(--blue); background:var(--blue-lt); }
.cred-name { font-size:13px; font-weight:700; color:var(--dark); margin-bottom:2px; }
.cred-type { font-size:11px; color:var(--muted); }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.stat-card { background:var(--white); border:1.5px solid var(--border); border-radius:13px; padding:22px; text-align:center; transition:all .22s; }
.stat-card:hover { border-color:var(--blue); box-shadow:var(--shadow); }
.stat-icon { font-size:26px; margin-bottom:9px; display:block; }
.stat-val  { font-size:24px; font-weight:800; color:var(--dark); display:block; line-height:1; margin-bottom:4px; }
.stat-lbl  { font-size:11px; color:var(--muted); font-weight:500; }
.region-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.region-card { background:var(--white); border:1.5px solid var(--border); border-radius:11px; padding:18px; text-align:center; transition:all .22s; }
.region-card:hover { border-color:var(--blue); box-shadow:var(--shadow); }
.region-flag { font-size:26px; margin-bottom:7px; display:block; }
.region-name { font-size:13px; font-weight:700; color:var(--dark); margin-bottom:2px; }
.region-role { font-size:11px; color:var(--muted); }

/* ═══════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════ */
.contact-form-wrap { background:var(--grey-lt); border:1.5px solid var(--border); border-radius:18px; padding:32px; }
.c-info-items { display:flex; flex-direction:column; gap:11px; margin-top:24px; }
.c-item { display:flex; gap:13px; padding:14px; background:var(--grey-lt); border:1px solid var(--border); border-radius:11px; transition:border-color .2s; }
.c-item:hover { border-color:var(--blue); }
.ci-icon { width:36px; height:36px; background:var(--blue-lt); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.ci-label { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--blue); margin-bottom:2px; }
.ci-val { font-size:13px; color:var(--text); }
.ci-val a { color:var(--blue); text-decoration:none; }

/* ═══════════════════════════════════════════════
   CTA BAND
═══════════════════════════════════════════════ */
.cta-band { padding:64px 0; background:var(--blue); }
.cta-band-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; }
.cta-band h2 { font-size:clamp(18px,2.5vw,26px); font-weight:800; color:#fff; margin-bottom:6px; }
.cta-band p  { font-size:14px; color:rgba(255,255,255,.8); }
.cta-dark { background:var(--dark); }
.cta-dark h2 { color:#fff; }
.cta-dark p  { color:rgba(255,255,255,.6); }

/* ═══════════════════════════════════════════════
   WHY US
═══════════════════════════════════════════════ */
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.why-cards { display:flex; flex-direction:column; gap:11px; }
.why-card { background:var(--white); border:1.5px solid var(--border); border-radius:12px; padding:17px 20px; display:flex; gap:13px; transition:border-color .22s, box-shadow .22s; }
.why-card:hover { border-color:var(--blue); box-shadow:var(--shadow); }
.wc-icon { width:38px; height:38px; background:var(--blue-lt); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.wc-title { font-size:14px; font-weight:700; color:var(--dark); margin-bottom:3px; }
.wc-body  { font-size:13px; color:var(--grey); line-height:1.6; }
.quote-box { background:var(--dark); border-radius:14px; padding:26px 28px; margin-top:10px; }
.qt { font-size:15px; font-weight:300; color:rgba(255,255,255,.82); line-height:1.78; font-style:italic; margin-bottom:14px; }
.qt-attr { font-size:11px; font-weight:700; color:var(--blue); letter-spacing:1.5px; text-transform:uppercase; }

/* ═══════════════════════════════════════════════
   PAYMENT MODAL
═══════════════════════════════════════════════ */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(5,15,28,.65); z-index:1000; align-items:center; justify-content:center; backdrop-filter:blur(6px); }
.modal-overlay.open { display:flex; }
.modal { background:var(--white); border-radius:22px; width:100%; max-width:560px; max-height:94vh; overflow-y:auto; position:relative; box-shadow:0 40px 80px rgba(13,27,42,.3); }
.modal-head { background:var(--dark); border-radius:22px 22px 0 0; padding:26px 30px 0; position:sticky; top:0; z-index:2; }
.modal-close { position:absolute; top:14px; right:14px; background:rgba(255,255,255,.09); border:none; border-radius:7px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:rgba(255,255,255,.5); font-size:15px; transition:all .2s; }
.modal-close:hover { background:rgba(255,255,255,.18); color:#fff; }
.step-track { display:flex; align-items:center; margin-bottom:20px; }
.s-num { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; border:2px solid rgba(255,255,255,.12); color:rgba(255,255,255,.3); transition:all .3s; flex-shrink:0; }
.s-num.active { border-color:var(--blue); color:var(--blue); background:rgba(27,159,224,.12); }
.s-num.done   { border-color:var(--green); background:var(--green); color:#fff; }
.s-line { flex:1; height:2px; background:rgba(255,255,255,.07); transition:background .3s; }
.s-line.done { background:var(--green); }
.modal-step-head { padding-bottom:20px; }
.m-lbl   { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:5px; }
.m-title { font-size:19px; font-weight:800; color:#fff; }
.modal-body { padding:24px 30px 28px; }
.step-panel { display:none; }
.step-panel.active { display:block; }
/* Plan options */
.plan-opts { display:flex; flex-direction:column; gap:10px; }
.plan-opt { border:1.5px solid var(--border); border-radius:12px; padding:14px 16px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; transition:all .2s; }
.plan-opt:hover, .plan-opt.sel { border-color:var(--blue); background:var(--blue-lt); }
.plan-opt.gld:hover, .plan-opt.gld.sel { border-color:var(--gold); background:var(--gold-lt); }
.po-name { font-size:14px; font-weight:700; color:var(--dark); }
.po-desc { font-size:11px; color:var(--muted); }
.po-right { display:flex; align-items:center; gap:11px; }
.po-price { font-size:17px; font-weight:800; color:var(--blue); }
.plan-opt.gld .po-price { color:var(--gold); }
.po-radio { width:17px; height:17px; border-radius:50%; border:2px solid var(--border2); transition:all .2s; flex-shrink:0; }
.plan-opt.sel .po-radio { border-color:var(--blue); background:var(--blue); }
.plan-opt.sel.gld .po-radio { border-color:var(--gold); background:var(--gold); }
/* Modal actions */
.m-actions { display:flex; gap:10px; margin-top:20px; }
.m-next { flex:1; background:var(--blue); border:none; color:#fff; padding:13px; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; box-shadow:0 4px 14px rgba(27,159,224,.3); transition:all .22s; }
.m-next:hover { background:var(--blue2); }
.m-back { background:transparent; border:1.5px solid var(--border2); color:var(--grey); padding:13px 18px; border-radius:8px; font-family:'Open Sans',sans-serif; font-size:14px; cursor:pointer; transition:all .22s; }
.m-back:hover { border-color:var(--dark); color:var(--dark); }
/* Order summary */
.order-box { background:var(--dark); border-radius:14px; padding:20px 22px; margin-bottom:16px; }
.ob-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ob-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.4); }
.ob-change { font-size:12px; font-weight:700; color:var(--blue); cursor:pointer; text-decoration:underline; }
.ob-row { display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:13px; }
.ob-row:last-child { border-bottom:none; }
.ob-lbl { color:rgba(255,255,255,.45); }
.ob-val { font-weight:600; color:rgba(255,255,255,.85); }
.ob-total { display:flex; justify-content:space-between; align-items:center; padding-top:11px; margin-top:4px; border-top:1px solid rgba(255,255,255,.1); }
.ob-total-lbl { font-size:14px; font-weight:700; color:#fff; }
.ob-total-amt { font-size:22px; font-weight:800; color:var(--blue); }
/* Payment method tabs */
.pay-tabs { display:flex; gap:8px; margin-bottom:14px; }
.ptab { flex:1; padding:10px; border:1.5px solid var(--border); border-radius:9px; background:var(--white); cursor:pointer; text-align:center; font-size:12px; font-weight:700; color:var(--grey); transition:all .2s; font-family:'Open Sans',sans-serif; }
.ptab:hover, .ptab.on { border-color:var(--blue); color:var(--blue); background:var(--blue-lt); }
.ptab-icon { font-size:15px; display:block; margin-bottom:3px; }
.ptab-panel { display:none; }
.ptab-panel.on { display:block; }
/* Stripe card form */
.card-form-box { background:var(--grey-lt); border:1.5px solid var(--border); border-radius:13px; padding:20px; margin-bottom:13px; }
.card-form-title { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--grey); margin-bottom:13px; display:flex; align-items:center; gap:7px; }
.card-logos { display:flex; gap:7px; margin-bottom:13px; align-items:center; }
.card-logo { height:26px; padding:3px 10px; background:var(--white); border:1px solid var(--border); border-radius:6px; display:flex; align-items:center; font-size:11px; font-weight:700; color:var(--muted); }
.card-logo.on { border-color:var(--blue); color:var(--blue); }
.card-num-wrap { position:relative; }
.card-num-wrap .f-input { padding-right:60px; }
.card-type-badge { position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:11px; font-weight:700; color:var(--muted); pointer-events:none; transition:all .2s; }
.card-type-badge.visa { color:#1A1F71; }
.card-type-badge.mc   { color:#EB001B; }
.card-type-badge.amex { color:#016FD0; }
.card-2col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.secure-strip { display:flex; align-items:center; gap:13px; background:var(--blue-lt); border:1px solid rgba(27,159,224,.2); border-radius:9px; padding:11px 14px; margin-bottom:13px; }
.ss-text strong { font-size:12px; font-weight:700; color:var(--dark); display:block; }
.ss-text span   { font-size:11px; color:var(--grey); }
/* MasaGo panel */
.masago-pay-box { background:linear-gradient(135deg,#0a1e0a,#0d280d); border:1.5px solid rgba(0,192,64,.2); border-radius:13px; padding:18px 20px; margin-bottom:13px; }
.mp-header { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.mp-logo-txt { font-size:15px; font-weight:800; color:#00C040; letter-spacing:1.5px; }
.mp-own-tag { background:rgba(0,192,64,.15); border:1px solid rgba(0,192,64,.3); border-radius:100px; padding:3px 10px; font-size:9px; font-weight:700; color:#00C040; letter-spacing:1.5px; text-transform:uppercase; }
.mp-title { font-size:13px; font-weight:700; color:#fff; }
.mp-sub   { font-size:11px; color:rgba(255,255,255,.45); }
.mp-networks { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mp-net { background:rgba(255,255,255,.05); border:1px solid rgba(0,192,64,.18); border-radius:8px; padding:11px 12px; cursor:pointer; transition:all .2s; }
.mp-net:hover, .mp-net.sel { border-color:#00C040; background:rgba(0,192,64,.1); }
.mp-net-name  { font-size:13px; font-weight:700; color:#fff; margin-bottom:2px; }
.mp-net-label { font-size:10px; color:rgba(255,255,255,.4); }
.mp-phone { margin-top:12px; }
.mp-phone .f-label { color:rgba(255,255,255,.45); }
.mp-phone .f-input  { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); color:#fff; }
.mp-phone .f-input::placeholder { color:rgba(255,255,255,.25); }
.mp-phone .f-input:focus { border-color:#00C040; box-shadow:0 0 0 3px rgba(0,192,64,.15); }
.mp-secure { display:flex; align-items:center; gap:12px; background:rgba(0,192,64,.08); border:1px solid rgba(0,192,64,.2); border-radius:8px; padding:11px 14px; margin-top:12px; }
.mp-s-text strong { font-size:12px; font-weight:700; color:#00C040; display:block; }
.mp-s-text span   { font-size:11px; color:rgba(255,255,255,.4); }
/* Newsletter */
.nl-box { background:var(--gold-lt); border:1.5px solid rgba(232,147,10,.2); border-radius:12px; padding:15px 18px; margin-bottom:13px; }
.nl-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:5px; }
.nl-body   { font-size:13px; color:var(--grey); line-height:1.6; margin-bottom:10px; }
/* Pay button */
.btn-pay { width:100%; background:linear-gradient(135deg, var(--gold), #cc7e07); border:none; color:#fff; padding:15px; border-radius:10px; font-family:'Open Sans',sans-serif; font-size:15px; font-weight:800; cursor:pointer; box-shadow:0 5px 18px rgba(232,147,10,.38); transition:all .25s; display:flex; align-items:center; justify-content:center; gap:10px; }
.btn-pay:hover { box-shadow:0 10px 28px rgba(232,147,10,.5); transform:translateY(-1px); }
.pay-fine { font-size:11px; color:var(--muted); text-align:center; margin-top:9px; line-height:1.5; }
.pay-fine a { color:var(--blue); text-decoration:none; }
/* Success */
.success-wrap { text-align:center; padding:10px 0 4px; }
.success-ico   { font-size:60px; display:block; margin-bottom:16px; animation:pop .5s ease; }
@keyframes pop { 0%{transform:scale(.4);opacity:0} 80%{transform:scale(1.1)} 100%{transform:scale(1);opacity:1} }
.success-title { font-size:21px; font-weight:800; color:var(--dark); margin-bottom:10px; }
.success-body  { font-size:14px; color:var(--grey); line-height:1.75; margin-bottom:20px; }
.success-table { background:var(--grey-lt); border:1px solid var(--border); border-radius:11px; padding:16px; margin-bottom:20px; text-align:left; }
.sr { display:flex; justify-content:space-between; font-size:13px; padding:6px 0; border-bottom:1px solid var(--grey-md); }
.sr:last-child { border-bottom:none; }
.sr-lbl { color:var(--muted); }
.sr-val { font-weight:700; color:var(--dark); }

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
footer { background:var(--dark3); padding:52px 0 22px; }
.footer-container { max-width:1160px; margin:0 auto; padding:0 48px; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:36px; margin-bottom:40px; }
.footer-logo-link { text-decoration:none; display:inline-block; margin-bottom:14px; }
.footer-tagline { font-size:13px; line-height:1.72; color:rgba(255,255,255,.38); max-width:240px; margin-bottom:15px; }
.footer-products { margin-bottom:16px; }
.fp-label { font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.25); margin-bottom:8px; }
.fp-items { display:flex; gap:8px; flex-wrap:wrap; }
.fp-chip { padding:5px 11px; border-radius:100px; font-size:11px; font-weight:700; text-decoration:none; transition:all .2s; }
.fp-lms { background:rgba(27,159,224,.15); border:1px solid rgba(27,159,224,.3); color:var(--blue); }
.fp-lms:hover { background:rgba(27,159,224,.25); }
.fp-masago { background:rgba(0,192,64,.12); border:1px solid rgba(0,192,64,.3); color:#00C040; }
.footer-socials { display:flex; gap:7px; }
.soc { width:30px; height:30px; border:1px solid rgba(255,255,255,.1); border-radius:6px; display:flex; align-items:center; justify-content:center; text-decoration:none; font-size:12px; color:rgba(255,255,255,.4); transition:all .2s; }
.soc:hover { border-color:var(--blue); color:var(--blue); }
.footer-col h4 { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.8); margin-bottom:13px; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:8px; }
.footer-col ul li a, .footer-col ul li span { text-decoration:none; font-size:12px; color:rgba(255,255,255,.4); transition:color .2s; display:block; line-height:1.5; }
.footer-col ul li a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding-top:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.footer-bottom p { font-size:11px; color:rgba(255,255,255,.28); }
.footer-bottom a { color:var(--blue); text-decoration:none; }
.footer-legal { display:flex; gap:14px; }
.footer-legal a { font-size:11px; color:rgba(255,255,255,.28); text-decoration:none; transition:color .2s; }
.footer-legal a:hover { color:#fff; }

/* ═══════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.vis { opacity:1; transform:none; }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 960px) {
  .nav-container { padding:0 20px; }
  .nav-links { display:none; flex-direction:column; position:fixed; top:64px; left:0; right:0; background:var(--dark); padding:16px 20px 24px; gap:4px; box-shadow:0 8px 24px rgba(0,0,0,.4); z-index:899; border-top:1px solid rgba(255,255,255,.06); }
  .nav-links.open { display:flex; }
  .nav-toggle { display:flex; }
  .container, .hero-inner, .footer-container { padding-left:20px; padding-right:20px; }
  .hero-inner { grid-template-columns:1fr; padding-top:64px; padding-bottom:64px; }
  .hero-right { display:none; }
  .svc-grid { grid-template-columns:1fr 1fr; }
  .why-grid, .svc-block, .masago-band-inner, .lms-band-inner, .contact-grid-inner { grid-template-columns:1fr; }
  .svc-block.rev { direction:ltr; }
  .pricing-grid { grid-template-columns:1fr 1fr; }
  .stat-grid { grid-template-columns:1fr 1fr; }
  .region-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .cta-band-inner { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 600px) {
  .svc-grid, .pricing-grid, .cred-grid, .faq-grid, .stat-grid, .region-grid, .footer-grid { grid-template-columns:1fr; }
  .hero-stats { flex-direction:column; }
  .modal { max-width:96vw; border-radius:16px; }
  .modal-head, .modal-body { padding-left:18px; padding-right:18px; }
  .card-2col { grid-template-columns:1fr; }
  .mp-networks { grid-template-columns:1fr 1fr; }
}

/* ── MasaGo nav item ────────────────── */
.nav-masago-link { position:relative; }
.nav-masago-dot  { display:inline-block; width:6px; height:6px; background:#A78BFA; border-radius:50%; margin-left:4px; vertical-align:middle; animation:pulse 2s infinite; }
.nav-masago-link.active, .nav-masago-link:hover { color:#C4B5FD !important; background:rgba(124,58,237,.15) !important; }

/* ── MasaGo footer chip fix ─────────── */
.fp-masago { cursor:default; }
