/* ============================================
   VARIABLES & RESET
============================================ */
:root {
  --blue:     #1B97FF;
  --orange:   #ff531a;
  --green:    #228B22;
  --dark:     #111827;
  --body:     #374151;
  --muted:    #6b7280;
  --bg:       #ffffff;
  --light:    #f7faff;
  --light2:   #f9fafb;
  --border:   #e5e9f2;
  --shadow:   0 2px 16px rgba(27,151,255,.09);
  --shadow-md:0 8px 40px rgba(27,151,255,.13);
  --radius:   12px;
  --radius-lg:18px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Plus Jakarta Sans', sans-serif;
  background:var(--bg);
  color:var(--body);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img { display:block; max-width:100%; }
a { text-decoration:none; transition:.22s; }
ul { list-style:none; }
.container { width:90%; max-width:1180px; margin:0 auto; }

/* ============================================
   BUTTONS
============================================ */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px; border-radius:8px;
  font-family:inherit; font-size:15px; font-weight:600;
  border:2px solid transparent; cursor:pointer; transition:.22s;
  white-space:nowrap; line-height:1;
}
.btn-blue   { background:var(--blue);   color:#fff; border-color:var(--blue);   box-shadow:0 4px 14px rgba(27,151,255,.28); }
.btn-orange { background:var(--orange); color:#fff; border-color:var(--orange); box-shadow:0 4px 14px rgba(255,83,26,.28); }
.btn-green  { background:var(--green);  color:#fff; border-color:var(--green);  box-shadow:0 4px 14px rgba(34,139,34,.22); }
.btn-blue:hover   { background:#0f85e8; border-color:#0f85e8; transform:translateY(-2px); }
.btn-orange:hover { background:#e84510; border-color:#e84510; transform:translateY(-2px); }
.btn-green:hover  { background:#1a6e1a; border-color:#1a6e1a; transform:translateY(-2px); }
.btn-outline-orange {
  background:transparent; color:var(--orange); border-color:var(--orange);
}
.btn-outline-orange:hover { background:var(--orange); color:#fff; transform:translateY(-2px); }
.btn-white {
  background:#fff; color:var(--blue); border-color:#fff;
}
.btn-white:hover { background:#f0f8ff; transform:translateY(-2px); }
.btn-outline-white {
  background:transparent; color:#fff; border-color:rgba(255,255,255,.65);
}
.btn-outline-white:hover { background:#fff; color:var(--orange); transform:translateY(-2px); }
.blue{ color:var(--blue); }
.green{ color:var(--green); }
.orange{ color:var(--orange); }
/* ============================================
   TAGS
============================================ */
.tag {
  display:inline-block; padding:5px 14px; border-radius:50px;
  font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
}
.tag-blue   { background:#e8f4ff; color:var(--blue); }
.tag-orange { background:#fff1ec; color:var(--orange); }
.tag-green  { background:#edf7ed; color:var(--green); }

/* ============================================
   SECTION HEADER
============================================ */
.sec-hd { margin-bottom:52px; }
.sec-hd.center { text-align:center; }
.sec-hd.center .sec-sub { max-width:580px; margin:10px auto 0; }
.sec-hd .tag { margin-bottom:14px; }
.sec-hd h2 {
  font-size:clamp(26px,3.6vw,42px); font-weight:800;
  color:var(--dark); letter-spacing:-1px; line-height:1.15;
  margin-bottom:10px;
}
.sec-sub { font-size:16px; color:var(--muted); line-height:1.85; }

/* ============================================
   NAVBAR
============================================ */
header {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  background:#fff; border-bottom:1px solid var(--border);
  box-shadow:0 1px 10px rgba(0,0,0,.05);
 
}
nav {
  display:flex; align-items:center;
  justify-content:space-between; height:68px;
}
.logo {
  font-family:'Plus Jakarta Sans', sans-serif;
  font-size:24px; font-weight:800; color:var(--dark);
  letter-spacing:-.5px; flex-shrink:0;
}
.logo span { color:var(--orange); }

.nav-links {
  display:flex; align-items:center; gap:2px;
  margin:0 32px;
}
.nav-links a {
  color:var(--body); font-size:14px; font-weight:600;
  padding:8px 13px; border-radius:7px;
}
.nav-links a:hover { color:var(--orange); background:#f0f8ff; }

.mob-btns { display:none; }

.nav-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.btn-sm { padding:10px 22px; font-size:14px; border-radius:7px; }

.hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.hamburger span {
  display:block; width:22px; height:2px;
  background:var(--dark); border-radius:2px; transition:.3s;
}

/* ============================================
   ANNOUNCEMENT
============================================ */
.announce-bar {
  background:var(--blue); color:#fff;
  text-align:center; padding:9px 20px;
  font-size:13px; font-weight:500;
  margin-top:68px;
}
.announce-bar a { color:#fff; font-weight:700; text-decoration:underline; margin-left:4px; }

/* ============================================
   HERO
============================================ */
.hero {
  background:var(--light);
  padding:72px 0 88px;
  position:relative; overflow:hidden;
}
/* dot pattern */
.hero::before {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:radial-gradient(circle,#c5d9f0 1px, transparent 1px);
  background-size:28px 28px; opacity:.6;
}
/* right color splash */
.hero::after {
  content:''; position:absolute;
  width:520px; height:520px; border-radius:50%; z-index:0;
  background:radial-gradient(circle, rgba(27,151,255,.08) 0%, transparent 70%);
  right:-80px; top:50%; transform:translateY(-50%);
}

.hero-inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 420px;
  gap:56px; align-items:center;
}

/* eyebrow badge */
.hero-badge {
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 16px; border-radius:50px;
  background:#fff; border:1px solid var(--border);
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  font-size:13px; font-weight:600; color:var(--blue);
  margin-bottom:22px;
}
.live-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--green);
  animation:blink 1.5s ease-in-out infinite;
}
@keyframes blink{ 0%,100%{opacity:1;} 50%{opacity:.25;} }

.hero h1 {
  font-size:clamp(34px,4.5vw,58px);
  font-weight:800; letter-spacing:-1.5px;
  color:var(--dark); line-height:1.1; margin-bottom:18px;
}
.hero h1 em {
  font-style:normal; color:var(--blue);
  font-family:'Lora', serif;
}

.hero-sub {
  font-size:17px; color:var(--muted);
  line-height:1.85; max-width:500px; margin-bottom:32px;
}

.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }

/* trust row */
.trust-row { display:flex; align-items:center; gap:12px; }
.trust-avatars { display:flex; }
.trust-avatars img {
  width:32px; height:32px; border-radius:50%;
  border:2px solid #fff; margin-left:-8px;
  object-fit:cover;
}
.trust-avatars img:first-child { margin-left:0; }
.trust-text { font-size:13px; color:var(--muted); }
.trust-text strong { color:var(--dark); }

/* Hero feature card */
.hero-card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-md);
}
.hc-header {
  background:var(--blue); padding:22px 26px; color:#fff;
}
.hc-header h3 { font-size:17px; font-weight:700; color:#fff; }
.hc-header p  { font-size:13px; opacity:.8; margin-top:2px; }

.hc-row {
  display:flex; align-items:center; gap:14px;
  padding:14px 22px; border-bottom:1px solid var(--border);
  transition:.2s;
}
.hc-row:last-child { border-bottom:none; }
.hc-row:hover { background:var(--light); }

.hc-ico {
  width:42px; height:42px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; flex-shrink:0;
}
.ic-b { background:#e8f4ff; color:var(--blue); }
.ic-o { background:#fff1ec; color:var(--orange); }
.ic-g { background:#edf7ed; color:var(--green); }

.hc-txt { flex:1; }
.hc-txt strong { display:block; font-size:13px; font-weight:700; color:var(--dark); }
.hc-txt span   { font-size:12px; color:var(--muted); }

.hc-pill {
  font-size:11px; font-weight:700; padding:3px 9px;
  border-radius:50px; white-space:nowrap;
}
.pill-g { background:#edf7ed; color:var(--green); }
.pill-b { background:#e8f4ff; color:var(--blue); }
.pill-o { background:#fff1ec; color:var(--orange); }

/* ============================================
   STATS STRIP
============================================ */
.stats-strip {
  background:#fff; 
  /* border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);  */
  padding:44px 0;
}
.stats-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:20px; text-align:center;
}
.stat-item { padding:12px; }
.stat-item strong {
  display:block;
  font-size:clamp(28px,3.5vw,42px); font-weight:800;
  color:var(--blue); letter-spacing:-1px; line-height:1;
  margin-bottom:6px;
}
.stat-item p { font-size:14px; color:var(--muted); font-weight:500; }

/* ============================================
   PORTALS
============================================ */
.portals { padding:88px 0; background:var(--light); }

.portals-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.portal-card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:40px 30px;
  text-align:center; box-shadow:var(--shadow);
  transition:.28s; position:relative; overflow:hidden;
}
.portal-card::before {
  content:''; position:absolute;
  top:0; left:0; width:100%; height:4px;
}
.pc-blue::before   { background:var(--blue); }
.pc-orange::before { background:var(--orange); }
.pc-green::before  { background:var(--green); }

.portal-card:hover {
  transform:translateY(-7px);
  box-shadow:var(--shadow-md);
}

.p-icon {
  width:76px; height:76px; border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  font-size:32px; margin:0 auto 22px;
}
.portal-card h3 { font-size:21px; font-weight:700; color:var(--dark); margin-bottom:10px; }
.portal-card p  { font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:26px; }

/* ============================================
   FEATURES
============================================ */
.features { padding:88px 0; background:#fff; }

.features-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.feat-card {
  background:var(--light2); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:34px 28px; transition:.28s;
}
.feat-card:hover {
  transform:translateY(-5px); box-shadow:var(--shadow-md);
  border-color:var(--orange); background:#fff;
}
.f-icon {
  width:56px; height:56px; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; margin-bottom:18px;
}
.feat-card h3 { font-size:18px; font-weight:700; color:var(--dark); margin-bottom:10px; }
.feat-card p  { font-size:14px; color:var(--muted); line-height:1.85; }

/* ============================================
   PLATFORM SPLIT
============================================ */
.platform { padding:88px 0; background:var(--light); }

.platform-inner {
  display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:center;
}
.platform-img { position:relative; }
.platform-img img {
  width:100%; border-radius:var(--radius-lg);
  box-shadow:0 12px 48px rgba(27,151,255,.13);
  border:1px solid var(--border);
}
.img-badge {
  position:absolute; bottom:22px; left:22px;
  background:#fff; border-radius:10px;
  padding:12px 16px; display:flex; align-items:center; gap:10px;
  box-shadow:0 6px 22px rgba(0,0,0,.1); font-size:13px;
}
.img-badge i { font-size:22px; color:var(--green); }
.img-badge strong { display:block; color:var(--dark); font-size:14px; }
.img-badge span   { color:var(--muted); font-size:12px; }

.platform-txt h2 { margin-bottom:14px; }
.platform-txt > p { font-size:16px; color:var(--muted); line-height:1.85; margin-bottom:14px; }

.check-list { margin:24px 0 32px; }
.check-list li {
  display:flex; align-items:flex-start; gap:11px;
  padding:10px 0; border-bottom:1px solid var(--border);
  font-size:15px; color:var(--body); font-weight:500;
}
.check-list li:last-child { border-bottom:none; }
.check-list li i { color:var(--green); font-size:14px; margin-top:3px; flex-shrink:0; }

/* ============================================
   TESTIMONIALS
============================================ */
.testimonials { padding:88px 0; background:#fff; }

.testi-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.testi-card {
  background:var(--light2); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:30px 26px; transition:.28s;
}
.testi-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); background:#fff; }

.stars { display:flex; gap:3px; margin-bottom:14px; color:#f59e0b; font-size:14px; }

.testi-card blockquote {
  font-size:15px; color:#555; line-height:1.85;
  margin-bottom:22px; font-style:italic;
  padding-left:14px; border-left:3px solid var(--blue);
}
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-author img {
  width:46px; height:46px; border-radius:50%;
  border:2px solid var(--border); object-fit:cover;
}
.testi-author strong { display:block; font-size:14px; font-weight:700; color:var(--dark); }
.testi-author span   { font-size:12px; color:var(--muted); }

/* ============================================
   CTA
============================================ */
.cta-section { padding:80px 0; background:var(--light); }

.cta-box {
  background:linear-gradient(135deg, #ff531a 0%, #e84510 60%, #c73a0d 100%);
  border-radius:20px; padding:0; color:#fff;
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:stretch;
}
.cta-box::before {
  content:''; position:absolute; inset:0; z-index:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='20' cy='20' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* LEFT content */
.cta-content {
  position:relative; z-index:1;
  padding:64px 52px; display:flex; flex-direction:column; justify-content:center;
}
.cta-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
  border-radius:50px; padding:6px 14px;
  font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
  color:#fff; margin-bottom:22px; width:fit-content;
}
.cta-content h2 {
  color:#fff; font-size:clamp(24px,3.2vw,28px);
  font-weight:800; letter-spacing:-1px; line-height:1.15; margin-bottom:14px;
}
.cta-content > p {
  color:rgba(255,255,255,.82); font-size:16px; line-height:1.85; margin-bottom:28px;
}
.cta-perks {
  list-style:none; margin-bottom:32px; display:flex; flex-direction:column; gap:10px;
}
.cta-perks li {
  display:flex; align-items:center; gap:10px;
  font-size:14px; font-weight:600; color:rgba(255,255,255,.9);
}
.cta-perks li i { color:rgba(255,255,255,.7); font-size:15px; flex-shrink:0; }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* RIGHT form */
.cta-form-wrap {
  position:relative; z-index:1;
  padding:40px 44px; display:flex; align-items:center;
  background:rgba(0,0,0,.12);
  border-left:1px solid rgba(255,255,255,.12);
}
.cta-form-inner {
  background:#fff; border-radius:16px;
  padding:32px 28px; width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.cta-form-head {
  display:flex; align-items:center; gap:12px; margin-bottom:24px;
  padding-bottom:18px; border-bottom:1px solid var(--border);
}
.cta-form-head > i {
  width:44px; height:44px; border-radius:11px;
  background:linear-gradient(135deg,#ff531a,#e84510);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:18px; flex-shrink:0;
}
.cta-form-head h3 { font-size:17px; font-weight:700; color:var(--dark); margin-bottom:2px; }
.cta-form-head p  { font-size:12px; color:var(--muted); }

.cta-form { display:flex; flex-direction:column; gap:12px; }
.cf-group {
  position:relative; display:flex; align-items:center;
}
.cf-icon {
  position:absolute; left:14px; color:var(--muted);
  font-size:14px; pointer-events:none; z-index:1;
}
.cf-icon-top { top:14px; align-self:flex-start; }
.cf-group input,
.cf-group textarea {
  width:100%; padding:12px 14px 12px 40px;
  border:1.5px solid var(--border); border-radius:9px;
  font-family:inherit; font-size:14px; color:var(--dark);
  background:#fff; transition:.2s; resize:none; outline:none;
}
.cf-group textarea { padding-top:13px; }
.cf-group input:focus,
.cf-group textarea:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(255,83,26,.1);
}
.cf-group input::placeholder,
.cf-group textarea::placeholder { color:#b0b8c9; }
.cf-submit {
  width:100%; justify-content:center;
  padding:13px; font-size:15px; border-radius:9px;
  margin-top:4px; transition:.22s;
}
.cf-submit:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(255,83,26,.35); }

.cf-group { flex-direction:column; align-items:stretch; }
.cf-group input, .cf-group textarea { position:relative; }
.cf-icon { position:absolute; top:50%; transform:translateY(-50%); left:14px; }
.cf-icon-top { top:14px; transform:none; }
.cf-group input, .cf-group textarea { padding-left:40px; }
.cf-invalid { border-color:#e53e3e !important; box-shadow:0 0 0 3px rgba(229,62,62,.12) !important; }
.cf-error {
  display:none; font-size:11.5px; color:#e53e3e;
  margin-top:4px; padding-left:4px; font-weight:500;
}

/* CTA responsive */
@media(max-width:900px) {
  .cta-box { grid-template-columns:1fr; }
  .cta-content { padding:48px 32px 32px; }
  .cta-form-wrap { padding:0 32px 48px; border-left:none; border-top:1px solid rgba(255,255,255,.12); }
}
@media(max-width:480px) {
  .cta-content { padding:36px 22px 24px; }
  .cta-form-wrap { padding:22px 36px; }
  .cta-form-inner { padding:24px 18px; }
}

/* ============================================
   FOOTER
============================================ */
footer {
  background:#0d1117; color:rgba(255,255,255,.6);
  padding:70px 0 0;
}
.footer-top {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:40px; padding-bottom:52px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.fb .logo { color:#fff; display:block; margin-bottom:12px; }
.fb p { font-size:14px; line-height:1.85; color:rgba(255,255,255,.45); max-width:250px; }

.socials { display:flex; gap:8px; margin-top:20px; }
.socials a {
  width:36px; height:36px; border-radius:8px;
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.5); font-size:14px; transition:.2s;
}
.socials a:hover { border-color:var(--orange); color:var(--orange); background:rgba(255,83,26,.1); }

.fc h4 {
  font-size:12px; font-weight:700; color:#fff;
  letter-spacing:.6px; text-transform:uppercase; margin-bottom:16px;
}
.fc a, .fc p {
  display:block; color:rgba(255,255,255,.45);
  font-size:14px; line-height:2.5; transition:.2s;
}
.fc a:hover { color:var(--orange); padding-left:4px; }

.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0; font-size:13px; color:rgba(255,255,255,.3);
}
.footer-bottom a { color:rgba(255,255,255,.3); margin-left:16px; }
.footer-bottom a:hover { color:var(--orange); }

/* ============================================
   SCROLL REVEAL
============================================ */
.reveal {
  opacity:0; transform:translateY(22px);
  transition:opacity .5s ease, transform .5s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* ============================================
   RESPONSIVE
============================================ */
@media(max-width:1050px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-card  { display:none; }
  .platform-inner { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media(max-width:768px) {
  .nav-links, .nav-actions { display:none; }
  .hamburger { display:flex; }

  /* ---- open state ---- */
  .nav-links.open {
    display:flex;
    flex-direction:column;
    position:fixed; top:68px; left:0; right:0; width:100vw;
    background:#fff;
    border-top:3px solid var(--orange);
    box-shadow:0 6px 24px rgba(0,0,0,.12);
    z-index:999;
    max-height:calc(100vh - 68px);
    overflow-y:auto;
    padding:0 0 12px;
    margin:0;
  }

  /* regular nav links */
  .nav-links.open > li {
    width:100%;
  }
  .nav-links.open > li > a {
    display:block;
    width:100%;
    padding:15px 20px;
    font-size:15px; font-weight:600;
    color:var(--dark);
    border-bottom:1px solid var(--border);
    box-sizing:border-box;
  }
  .nav-links.open > li > a:hover { color:var(--orange); background:#fff8f5; }
  .nav-links.open > li > a.active { color:var(--orange); background:#fff1ec; }

  /* buttons block at bottom of menu */
  .nav-links.open .mob-btns {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:14px 16px 4px;
    width:100%;
    border-top:2px solid var(--border);
    margin-top:4px;
    box-sizing:border-box;
  }
  .nav-links.open .mob-btns .btn {
    width:100%;
    justify-content:center;
    padding:13px;
    font-size:15px;
    border-radius:9px;
  }

  /* other layout fixes */
  .portals-grid, .features-grid, .testi-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
  .hero { padding:56px 0 72px; }
}

.t-m-20 { margin-top:20px; }