/* ============================================================
   Authrio — brand theme (Ink Navy + Citation Gold) on Bootstrap 5
   ============================================================ */
:root{
  --bs-primary:#1A2B4A;
  --bs-link-color:#1A2B4A; --bs-link-color-rgb:26,43,74;
  --bs-link-hover-color:#9c7320; --bs-link-hover-color-rgb:156,115,32;
  --ind:#1A2B4A; --vio:#2a4470; --cyan:#C2902C; --emerald:#C2902C; --amber:#7A8499;
  --navy:#1A2B4A; --navy-2:#2a4470; --navy-d:#14233D;
  --gold:#C2902C; --gold-2:#d9a843; --slate:#7A8499; --paper:#F6F7F9;
  --ink:#1f2c47; --muted:#5d6878; --line:#e3e7ee;
  --grad:linear-gradient(135deg,#1A2B4A 0%,#2a4470 100%);
  --grad-soft:linear-gradient(135deg,#243a61,#1A2B4A);
  --grad-gold:linear-gradient(135deg,#caa23f,#C2902C);
  --shadow-sm:0 4px 14px rgba(26,43,74,.07);
  --shadow:0 14px 40px rgba(26,43,74,.12);
  --shadow-lg:0 30px 70px rgba(26,43,74,.20);
}
*{ -webkit-font-smoothing:antialiased }
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink); background:#fbfcfe;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display-1,.display-2,.display-3,.display-4{
  font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; letter-spacing:-.02em; color:var(--navy);
}
.lead{ color:var(--muted); font-size:1.18rem }
.text-muted-2{ color:var(--muted)!important }
section{ position:relative }

/* gradient + accent helpers */
.text-gradient{ background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.btn-gradient{ background:var(--grad); color:#fff; border:0; font-weight:600; box-shadow:0 8px 20px rgba(26,43,74,.26); }
.btn-gradient:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 12px 28px rgba(26,43,74,.38); }
.btn{ transition:.2s; border-radius:12px; }
.btn-lg{ padding:.8rem 1.6rem; font-size:1.02rem }
.btn-outline-dark{ border-color:var(--line); color:var(--navy) }
.btn-outline-dark:hover{ background:var(--navy); border-color:var(--navy); color:#fff }

/* Brand lockup */
.brand-logo{ display:block }
/* Footer sits on dark navy — render the navy logo as clean white. */
.logo-white{ filter:brightness(0) invert(1); opacity:.92 }
.brand-lockup{ display:flex; flex-direction:column; line-height:1 }
.brand-wordmark{ font-family:'Plus Jakarta Sans'; font-weight:800; letter-spacing:.14em; color:var(--navy); font-size:1.12rem }
.brand-sub{ font-size:.54rem; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); font-weight:600; margin-top:3px }
.footer-wordmark{ font-family:'Plus Jakarta Sans'; font-weight:800; letter-spacing:.14em; color:#fff; font-size:1.2rem }

/* Glass navbar */
.glass-nav{ background:rgba(255,255,255,.80); backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(26,43,74,.08); padding:.55rem 0; }
.glass-nav .nav-link{ color:#3a4659; font-weight:500; padding:.5rem .9rem!important; border-radius:10px; }
.glass-nav .nav-link:hover{ color:var(--navy) }
.glass-nav .nav-link.active{ color:var(--navy); background:rgba(26,43,74,.07); font-weight:600 }
.nav-spacer{ height:74px }

/* ---------- HERO ---------- */
.hero{ position:relative; padding:84px 0 96px; overflow:hidden;
  background:radial-gradient(1200px 600px at 15% -10%, #eef1f6 0%, transparent 55%),
             radial-gradient(1000px 600px at 100% 0%, #f7f0dd 0%, transparent 50%),
             linear-gradient(180deg,#ffffff,#f6f7fa); }
.hero .blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.45; z-index:0 }
.hero .blob.b1{ width:340px;height:340px; background:#d9a843; top:-60px; right:8%; }
.hero .blob.b2{ width:280px;height:280px; background:#5e79a8; bottom:-80px; left:-40px; }
.hero > .container{ position:relative; z-index:2 }
.hero h1{ font-size:clamp(2.3rem,5vw,3.6rem); line-height:1.05 }
.eyebrow{ display:inline-flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line);
  color:var(--gold); font-weight:600; font-size:.8rem; padding:.4rem .9rem; border-radius:30px; box-shadow:var(--shadow-sm); }
.hero-card{ background:rgba(255,255,255,.88); backdrop-filter:blur(8px); border:1px solid #fff;
  border-radius:24px; padding:28px; box-shadow:var(--shadow-lg); }
.trust-chips{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem }
.trust-chips li{ background:#fff; border:1px solid var(--line); border-radius:30px; padding:.45rem .9rem;
  font-size:.85rem; color:#3a4659; box-shadow:var(--shadow-sm) }
.trust-chips i{ color:var(--gold) }

/* logos / stats strip */
.stat{ font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.9rem; }
.stat-num{ background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }

/* ---------- CARDS ---------- */
.feature-card,.price-card,.trust-card{ background:#fff; border:1px solid var(--line); border-radius:20px;
  padding:26px; transition:.25s; box-shadow:var(--shadow-sm) }
.feature-card:hover,.price-card:hover,.trust-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow);
  border-color:rgba(194,144,44,.5) }
.icon-badge{ width:52px;height:52px;border-radius:14px; display:grid;place-items:center; font-size:1.4rem;
  color:#fff; background:var(--grad-soft); box-shadow:var(--shadow-sm); margin-bottom:14px }
/* One consistent badge colour (navy). Gold is reserved for thin accents only. */
.icon-badge.cyan,.icon-badge.emerald,.icon-badge.amber,.icon-badge.violet,.icon-badge.primary{ background:var(--grad-soft) }
.price-card.featured{ border-color:var(--gold); box-shadow:var(--shadow) }
.ribbon{ position:absolute; top:18px; right:18px; background:var(--grad-gold); color:#1A2B4A; font-size:.7rem;
  font-weight:700; letter-spacing:.4px; padding:.3rem .7rem; border-radius:30px }
.badge-gold{ background:var(--gold); color:#1A2B4A; font-weight:700 }
.text-gold{ color:var(--gold)!important }

/* price bits */
.rate-big{ font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.7rem; }
.rate-min{ font-size:.78rem; color:var(--muted); background:#f1f3f7; padding:.2rem .6rem; border-radius:30px }
.estimator label{ font-size:.82rem; font-weight:600; color:#3a4659 }
.form-control,.form-select{ border-radius:12px; border-color:var(--line); padding:.7rem .9rem }
.form-control:focus,.form-select:focus{ border-color:var(--navy); box-shadow:0 0 0 .25rem rgba(26,43,74,.12) }
.estimate-out{ display:flex; align-items:baseline; gap:.6rem; margin:.4rem 0 0 }
.est-usd{ font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.9rem; color:var(--navy) }
.est-inr{ color:var(--muted); font-size:.95rem }

/* speed toggle */
.speed-toggle{ display:inline-flex; gap:6px; background:#eef0f5; padding:6px; border-radius:16px; flex-wrap:wrap }
.speed-btn{ border:0; background:transparent; border-radius:12px; padding:.55rem 1rem; cursor:pointer;
  font-weight:600; color:var(--muted); display:flex; flex-direction:column; line-height:1.1; gap:2px; transition:.2s }
.speed-btn small{ font-weight:500; font-size:.72rem }
.speed-btn.active{ background:#fff; color:var(--navy); box-shadow:var(--shadow-sm) }

/* free banner */
.free-banner{ background:linear-gradient(135deg,#fbf6ea,#f2f5fa); border:1.5px dashed var(--gold);
  border-radius:22px; padding:28px 30px }

/* bundle */
.bundle-card{ background:linear-gradient(135deg,#14233D,#1A2B4A 55%,#2a4470); color:#fff;
  border-radius:26px; padding:34px; box-shadow:var(--shadow-lg); overflow:hidden; position:relative }
.bundle-card h2,.bundle-card .est-usd{ color:#fff }
.bundle-card .text-muted-2{ color:#c9d3e2!important }
.bundle-inner{ background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18);
  border-radius:18px; padding:22px; backdrop-filter:blur(4px) }
.bundle-inner .form-control{ background:rgba(255,255,255,.95) }

/* section heads */
.section{ padding:84px 0 }
.kicker{ color:var(--gold); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.78rem }

/* steps band */
.band{ background:linear-gradient(160deg,#eef2f8,#f7f9fc); color:var(--ink);
  border:1px solid #e3e9f1; border-radius:28px; padding:54px 0; box-shadow:var(--shadow-sm) }
.band .step-num{ background:var(--grad-gold); color:#14233D; box-shadow:0 6px 16px rgba(194,144,44,.28) }
.step-num{ width:46px;height:46px;border-radius:14px; background:var(--navy); color:#fff;
  display:grid;place-items:center; font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.2rem }

/* ethics lists */
.list-clean{ list-style:none; padding:0; margin:0 }
.list-clean li{ display:flex; gap:.6rem; align-items:flex-start; margin-bottom:.7rem }
.list-clean.good i{ color:var(--gold) }
.list-clean.bad i{ color:#c0392b }

/* note callout */
.note{ background:#fbf6ea; border:1px solid #ecd9a8; border-left:4px solid var(--gold);
  padding:18px 20px; border-radius:14px }

/* footer */
.site-footer{ background:var(--navy-d); color:#cbd5e1; margin-top:40px }
.site-footer h6{ color:#fff; font-weight:700; margin-bottom:.9rem }
.site-footer a{ display:block; color:#9aa6ba; text-decoration:none; padding:.2rem 0; font-size:.92rem }
.site-footer a:hover{ color:#fff }
.social{ width:38px;height:38px;border-radius:10px; background:rgba(255,255,255,.08);
  display:inline-grid!important; place-items:center; color:#cbd5e1!important }
.social:hover{ background:var(--grad-gold); color:#1A2B4A!important }

/* scroll reveal */
.reveal{ opacity:0; transform:translateY(24px); transition:.6s cubic-bezier(.2,.7,.2,1) }
.reveal.in{ opacity:1; transform:none }

.page-head{ padding:54px 0 22px; background:radial-gradient(900px 400px at 80% -20%,#eef1f6,transparent 60%) }

/* auth */
.avatar-dot{ width:26px;height:26px;border-radius:50%; background:var(--grad); color:#fff;
  display:grid;place-items:center; font-weight:700; font-size:.8rem }
.auth-tabs .nav-link{ border-radius:12px; font-weight:600; color:var(--muted) }
.auth-tabs .nav-link.active{ background:rgba(26,43,74,.09); color:var(--navy) }
.btn-google{ background:#fff; border:1px solid var(--line); color:#1f2937; font-weight:600 }
.btn-google:hover{ border-color:#cbd5e1; background:#f8fafc }
.auth-alert{ display:none }
.dash-stat{ background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-sm) }
