
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior:smooth; }
body { font-family: 'Inter', system-ui, sans-serif; background: #fff; color: #001A3A; }
:root { --bd:#003A70; --bm:#0070B8; --bl:#29ABE2; --bp:#E8F5FC; --muted:#5C7A99; --border:rgba(0,58,112,0.10); }

nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.95); backdrop-filter:blur(20px); border-bottom:0.5px solid var(--border); padding:0 2.5rem; display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; cursor:pointer; }
.logo-mark { width:36px; height:36px; border-radius:10px; background:var(--bd); display:flex; align-items:center; justify-content:center; }
.logo-mark svg { width:20px; height:20px; }
.logo-text { font-size:18px; font-weight:700; color:var(--bd); letter-spacing:-0.3px; }
.logo img { display:block; height:32px; width:auto; }
.footer-brand .logo img { height:28px; }

.nav-links { display:flex; align-items:center; gap:2rem; }
.nav-links a { font-size:14px; color:var(--muted); text-decoration:none; font-weight:500; cursor:pointer; transition:color 0.15s; }
.nav-links a:hover, .nav-links a.active { color:var(--bd); }
.btn-cta { background:var(--bd); color:#fff; font-size:13px; font-weight:600; padding:9px 20px; border-radius:8px; text-decoration:none; cursor:pointer; }

.page { display:none; }
.page.active { display:block; }

.eyebrow { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.4px; margin-bottom:0.75rem; }
.sec-title { font-size:2.1rem; font-weight:700; color:var(--bd); letter-spacing:-0.8px; margin-bottom:0.75rem; }
.sec-sub { font-size:1rem; color:var(--muted); max-width:520px; line-height:1.75; margin-bottom:2.5rem; }

.hero { padding:6rem 2.5rem 4.5rem; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:6px; background:var(--bp); color:var(--bm); font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; margin-bottom:1.5rem; border:0.5px solid rgba(41,171,226,0.3); }
.badge-dot { width:6px; height:6px; border-radius:50%; background:var(--bl); }
.hero h1 { font-size:2.9rem; font-weight:700; line-height:1.1; color:var(--bd); letter-spacing:-1.5px; margin-bottom:1.25rem; }
.hero h1 em { font-style:normal; color:var(--bm); }
.hero p { font-size:1.05rem; color:var(--muted); line-height:1.75; margin-bottom:2rem; max-width:440px; }
.hero-cta { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.btn-primary { background:var(--bd); color:#fff; font-size:15px; font-weight:600; padding:14px 28px; border-radius:10px; text-decoration:none; cursor:pointer; display:inline-block; }
.hero-trust { font-size:12px; color:var(--muted); }

.hero-visual { background:var(--bp); border-radius:20px; padding:1.75rem; border:0.5px solid rgba(41,171,226,0.2); }
.hv-inner { background:#fff; border-radius:14px; padding:1.5rem; border:0.5px solid var(--border); }
.hv-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.25rem; }
.hv-title { font-size:13px; font-weight:700; color:var(--bd); }
.hv-ok { font-size:11px; font-weight:600; background:#e8faf2; color:#1a6b42; padding:3px 9px; border-radius:20px; }
.hv-stats { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-bottom:1rem; }
.hv-stat { background:var(--bp); border-radius:10px; padding:10px 12px; }
.hv-num { font-size:19px; font-weight:700; color:var(--bd); }
.hv-lbl { font-size:10px; color:var(--muted); margin-top:2px; }
.hv-row { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.hv-name { font-size:11px; color:var(--muted); width:58px; flex-shrink:0; }
.hv-bg { flex:1; height:5px; background:#f0f4fa; border-radius:3px; overflow:hidden; }
.hv-fill { height:100%; border-radius:3px; }
.hv-val { font-size:11px; font-weight:700; color:var(--bd); width:36px; text-align:right; }

.logos { background:#F5F9FE; border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); padding:1.25rem 2.5rem; }
.logos-inner { max-width:1120px; margin:0 auto; display:flex; align-items:center; gap:1.5rem; justify-content:center; flex-wrap:wrap; }
.logos-lbl { font-size:11px; color:var(--muted); white-space:nowrap; margin-right:0.5rem; }
.cred-img-wrap { display:flex; align-items:center; justify-content:center; background:#fff; border:0.5px solid var(--border); border-radius:10px; padding:8px 16px; height:48px; transition:border-color 0.15s; }
.cred-img-wrap:hover { border-color:var(--bl); }
.cred-img-wrap img { height:28px; width:auto; object-fit:contain; display:block; }
.cred-img-wrap.yt { gap:8px; }
.cred-img-wrap.yt span { font-size:11px; font-weight:700; color:#c00; white-space:nowrap; }
.badge-pill { font-size:11px; font-weight:600; color:var(--muted); padding:6px 14px; border-radius:20px; background:#fff; border:0.5px solid var(--border); white-space:nowrap; }
.badge-pill.gold { background:#fffbf0; border-color:rgba(186,117,23,0.25); color:#7a4d0a; }
.badge-pill.blue { background:var(--bp); border-color:rgba(41,171,226,0.3); color:#004D8C; }

.customer-banner { background:var(--bd); padding:3rem 2.5rem; }
.customer-banner-inner { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; }
.cb-statement { text-align:center; padding:1.5rem; }
.cb-statement.center { border-left:0.5px solid rgba(255,255,255,0.1); border-right:0.5px solid rgba(255,255,255,0.1); }
.cb-icon { width:40px; height:40px; border-radius:10px; background:rgba(41,171,226,0.15); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.cb-icon svg { width:20px; height:20px; }
.cb-label { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:0.5rem; }
.cb-text { font-size:15px; font-weight:600; color:#fff; line-height:1.45; }

.pain-section { padding:5rem 2.5rem; max-width:1120px; margin:0 auto; }
.pain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pain-card { border:0.5px solid var(--border); border-radius:14px; padding:1.25rem; background:#fff; }
.pain-icon { width:36px; height:36px; border-radius:8px; background:#fff3f3; display:flex; align-items:center; justify-content:center; margin-bottom:0.75rem; }
.pain-icon svg { width:18px; height:18px; }
.pain-name { font-size:13px; font-weight:700; color:var(--bd); margin-bottom:5px; }
.pain-desc { font-size:12px; color:var(--muted); line-height:1.6; }

.stats-section { padding:3rem 2.5rem; max-width:1120px; margin:0 auto; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.stat-card { border-radius:18px; padding:2rem 1.75rem; position:relative; overflow:hidden; }
.stat-card.dark { background:var(--bd); } .stat-card.mid { background:var(--bm); } .stat-card.light { background:var(--bp); }
.stat-num { font-size:2.8rem; font-weight:700; letter-spacing:-2px; }
.stat-card.dark .stat-num,.stat-card.mid .stat-num { color:#fff; } .stat-card.light .stat-num { color:var(--bd); }
.stat-lbl { font-size:13px; margin-top:5px; }
.stat-card.dark .stat-lbl,.stat-card.mid .stat-lbl { color:rgba(255,255,255,0.55); } .stat-card.light .stat-lbl { color:var(--muted); }
.stat-accent { position:absolute; right:-20px; bottom:-20px; width:80px; height:80px; border-radius:50%; background:rgba(255,255,255,0.06); }

.clients-section { padding:4rem 2.5rem; background:#F5F9FE; border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); }
.clients-inner { max-width:1120px; margin:0 auto; }
.clients-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.25rem; margin-top:2.5rem; }
.client-card { background:#fff; border:0.5px solid var(--border); border-radius:16px; padding:2rem 1.5rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:110px; transition:all 0.18s; }
.client-card:hover { border-color:var(--bl); background:var(--bp); transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,58,112,0.07); }
.client-name { font-size:14px; font-weight:700; color:var(--bd); text-align:center; line-height:1.4; }
.client-cat { font-size:11px; color:var(--muted); text-align:center; }

.growth-section { padding:5rem 2.5rem; max-width:1120px; margin:0 auto; }
.growth-hero { background:var(--bd); border-radius:24px; padding:3.5rem; margin-bottom:2rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.gh-eyebrow { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.4px; margin-bottom:1rem; }
.gh-title { font-size:2rem; font-weight:700; color:#fff; letter-spacing:-0.8px; margin-bottom:1rem; line-height:1.2; }
.gh-title em { font-style:normal; color:var(--bl); }
.gh-desc { font-size:14px; color:rgba(255,255,255,0.6); line-height:1.75; margin-bottom:1.75rem; }
.gh-btn { display:inline-block; background:#fff; color:var(--bd); font-size:14px; font-weight:700; padding:12px 26px; border-radius:10px; text-decoration:none; cursor:pointer; }
.gh-steps { display:flex; flex-direction:column; gap:1rem; }
.gh-step { display:flex; align-items:flex-start; gap:1rem; background:rgba(255,255,255,0.05); border-radius:14px; padding:1.25rem; border:0.5px solid rgba(255,255,255,0.08); }
.gh-step-num { width:28px; height:28px; border-radius:50%; background:var(--bl); color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.gh-step-title { font-size:13px; font-weight:700; color:#fff; margin-bottom:3px; }
.gh-step-desc { font-size:12px; color:rgba(255,255,255,0.5); line-height:1.6; }
.growth-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pillar-card { border:0.5px solid var(--border); border-radius:16px; padding:1.75rem; background:#fff; transition:all 0.18s; }
.pillar-card:hover { border-color:var(--bl); background:var(--bp); transform:translateY(-2px); }
.pillar-icon { width:44px; height:44px; border-radius:10px; background:var(--bp); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.pillar-icon svg { width:22px; height:22px; }
.pillar-name { font-size:15px; font-weight:700; color:var(--bd); margin-bottom:6px; }
.pillar-desc { font-size:13px; color:var(--muted); line-height:1.65; }

.platforms-strip { background:#F0F7FD; border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); padding:2rem 2.5rem; }
.platforms-inner { max-width:1120px; margin:0 auto; }
.platforms-label { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:1.25rem; text-align:center; }
.platforms-wrap { display:flex; flex-wrap:wrap; gap:0.75rem; justify-content:center; align-items:center; }
.platform-logo { display:flex; align-items:center; gap:7px; background:#fff; border:0.5px solid var(--border); padding:8px 16px; border-radius:10px; transition:all 0.15s; cursor:default; }
.platform-logo:hover { border-color:var(--bl); transform:translateY(-1px); box-shadow:0 2px 8px rgba(0,58,112,0.07); }
.platform-logo svg { display:block; flex-shrink:0; }
.platform-logo span { font-size:12px; font-weight:600; color:var(--bd); white-space:nowrap; }

.eligibility-section { padding:5rem 2.5rem; background:#003A70; }
.eligibility-inner { max-width:1120px; margin:0 auto; }
.elig-eyebrow { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.4px; margin-bottom:0.75rem; }
.elig-title { font-size:2.1rem; font-weight:700; color:#fff; letter-spacing:-0.8px; margin-bottom:0.75rem; line-height:1.2; }
.elig-title em { font-style:normal; color:var(--bl); }
.elig-sub { font-size:1rem; color:rgba(255,255,255,0.5); max-width:560px; line-height:1.75; margin-bottom:3rem; }
.elig-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-bottom:2.5rem; }
.elig-card { background:rgba(255,255,255,0.04); border:0.5px solid rgba(255,255,255,0.08); border-radius:16px; padding:1.5rem; display:flex; align-items:flex-start; gap:1rem; }
.elig-x { width:32px; height:32px; border-radius:50%; background:rgba(226,75,74,0.15); border:0.5px solid rgba(226,75,74,0.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.elig-x svg { width:14px; height:14px; }
.elig-card-title { font-size:14px; font-weight:700; color:#fff; margin-bottom:5px; line-height:1.35; }
.elig-card-desc { font-size:12px; color:rgba(255,255,255,0.45); line-height:1.65; }
.elig-cta-strip { background:rgba(41,171,226,0.08); border:0.5px solid rgba(41,171,226,0.2); border-radius:16px; padding:2rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.elig-cta-text { font-size:1.1rem; font-weight:700; color:#fff; line-height:1.4; }
.elig-cta-sub { font-size:13px; color:rgba(255,255,255,0.45); margin-top:4px; }
.elig-btn { background:#fff; color:var(--bd); font-size:14px; font-weight:700; padding:13px 26px; border-radius:10px; text-decoration:none; white-space:nowrap; flex-shrink:0; cursor:pointer; }

.why-section { padding:4rem 2.5rem; max-width:1120px; margin:0 auto; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.why-feats { display:flex; flex-direction:column; gap:1rem; }
.why-feat { display:flex; align-items:flex-start; gap:1rem; padding:1.25rem; border-radius:14px; border:0.5px solid var(--border); }
.wf-icon { width:36px; height:36px; border-radius:8px; flex-shrink:0; background:var(--bp); display:flex; align-items:center; justify-content:center; }
.wf-icon svg { width:18px; height:18px; }
.wf-title { font-size:13px; font-weight:700; color:var(--bd); margin-bottom:4px; }
.wf-desc { font-size:12px; color:var(--muted); line-height:1.6; }
.why-visual { background:var(--bd); border-radius:20px; padding:2rem; }
.wv-lbl { font-size:10px; color:rgba(255,255,255,0.4); font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:1.5rem; }
.wv-row { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.wv-ico { width:32px; height:32px; border-radius:7px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wv-ico svg { width:15px; height:15px; }
.wv-nm { font-size:12px; font-weight:600; color:#fff; }
.wv-bg { height:4px; background:rgba(255,255,255,0.1); border-radius:2px; margin-top:5px; overflow:hidden; }
.wv-f { height:100%; border-radius:2px; background:var(--bl); }
.wv-pct { font-size:12px; font-weight:700; color:var(--bl); }
.wv-divider { border-top:0.5px solid rgba(255,255,255,0.1); padding-top:1.25rem; margin-top:0.25rem; }

.audit-section { padding:5rem 2.5rem; background:#F0F7FD; }
.audit-inner { max-width:1120px; margin:0 auto; }
.audit-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-top:2.5rem; }
.audit-step { display:flex; gap:1.25rem; padding-bottom:2rem; position:relative; }
.audit-step:not(:last-child)::before { content:''; position:absolute; left:19px; top:40px; width:1px; height:calc(100% - 20px); background:rgba(0,58,112,0.12); }
.step-num { width:38px; height:38px; border-radius:50%; background:var(--bd); color:#fff; font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.step-body { padding-top:6px; }
.step-title { font-size:15px; font-weight:700; color:var(--bd); margin-bottom:6px; }
.step-desc { font-size:13px; color:var(--muted); line-height:1.7; }
.audit-cta-box { background:var(--bd); border-radius:20px; padding:2.5rem; }
.ac-eyebrow { font-size:11px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:1rem; }
.ac-title { font-size:1.8rem; font-weight:700; color:#fff; letter-spacing:-0.5px; margin-bottom:1rem; line-height:1.25; }
.ac-list { margin-bottom:1.75rem; }
.ac-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.ac-check { width:18px; height:18px; border-radius:50%; background:rgba(41,171,226,0.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.ac-check svg { width:10px; height:10px; }
.ac-text { font-size:13px; color:rgba(255,255,255,0.8); line-height:1.6; }
.ac-btn { display:inline-block; background:#fff; color:var(--bd); font-size:14px; font-weight:700; padding:13px 28px; border-radius:10px; text-decoration:none; cursor:pointer; }

.testi-section { padding:4.5rem 2.5rem; background:#F5F9FE; border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); }
.testi-inner { max-width:1120px; margin:0 auto; }
.testi-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2rem; }
.testi-nav { display:flex; gap:0.6rem; }
.testi-btn { width:38px; height:38px; border-radius:50%; border:0.5px solid var(--border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.15s; flex-shrink:0; }
.testi-btn:hover { background:var(--bd); border-color:var(--bd); }
.testi-btn:hover svg { stroke:#fff; }
.testi-btn svg { width:16px; height:16px; stroke:var(--bd); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:stroke 0.15s; }
.testi-track-wrap { overflow:hidden; touch-action:pan-y; }
.testi-track { display:flex; gap:1.25rem; transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94); will-change:transform; align-items:stretch; }
.testi-card { background:#fff; border-radius:16px; padding:1.75rem; border:0.5px solid var(--border); flex:0 0 calc(33.333% - 0.84rem); min-width:0; box-shadow:0 2px 12px rgba(0,58,112,0.04); display:flex; flex-direction:column; }
.testi-quote { font-size:2rem; color:var(--bl); line-height:1; margin-bottom:0.75rem; font-family:Georgia,serif; }
.testi-stars { color:#f5a623; font-size:13px; margin-bottom:0.75rem; letter-spacing:1px; }
.testi-text { font-size:13.5px; color:#2A4060; line-height:1.8; margin-bottom:1.25rem; flex:1; }
.testi-author { display:flex; align-items:center; gap:12px; border-top:0.5px solid var(--border); padding-top:1rem; margin-top:auto; }
.t-avatar { width:42px; height:42px; border-radius:50%; background:var(--bp); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--bm); flex-shrink:0; border:2px solid #E8F5FC; }
.t-name { font-size:13px; font-weight:700; color:var(--bd); }
.t-role { font-size:11px; color:var(--muted); margin-top:2px; }
.testi-dots { display:flex; gap:6px; justify-content:center; margin-top:1.5rem; }
.testi-dot { width:6px; height:6px; border-radius:50%; background:var(--border); cursor:pointer; transition:all 0.2s; }
.testi-dot.active { background:var(--bd); width:20px; border-radius:3px; }

.cta-section { padding:5rem 2.5rem; max-width:1120px; margin:0 auto; }
.cta-card { background:var(--bd); border-radius:24px; padding:4rem 3rem; text-align:center; position:relative; overflow:hidden; }
.cta-accent-1 { position:absolute; width:200px; height:200px; border-radius:50%; background:rgba(41,171,226,0.06); top:-60px; left:-60px; }
.cta-accent-2 { position:absolute; width:160px; height:160px; border-radius:50%; background:rgba(41,171,226,0.05); bottom:-50px; right:-50px; }
.cta-card h2 { font-size:2.3rem; font-weight:700; color:#fff; letter-spacing:-1px; margin-bottom:1rem; position:relative; }
.cta-card p { font-size:1rem; color:rgba(255,255,255,0.55); margin-bottom:0.75rem; max-width:520px; margin-left:auto; margin-right:auto; line-height:1.75; position:relative; }
.cta-fears { display:flex; gap:1rem; justify-content:center; margin-bottom:2.5rem; flex-wrap:wrap; position:relative; }
.fear-tag { font-size:12px; color:rgba(255,255,255,0.45); background:rgba(255,255,255,0.06); padding:5px 14px; border-radius:20px; border:0.5px solid rgba(255,255,255,0.12); }
.cta-btn-w { display:inline-block; background:#fff; color:var(--bd); font-size:15px; font-weight:700; padding:14px 32px; border-radius:10px; cursor:pointer; position:relative; }

/* TERMS OF SERVICE PAGE — mirrors Privacy Policy design system */
.tos-page { min-height:100vh; background:#fff; }
.tos-hero { background:var(--bd); padding:5rem 2.5rem 4rem; position:relative; overflow:hidden; }
.tos-hero::before { content:''; position:absolute; top:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(41,171,226,0.06); pointer-events:none; }
.tos-hero::after { content:''; position:absolute; bottom:-60px; left:10%; width:260px; height:260px; border-radius:50%; background:rgba(0,112,184,0.08); pointer-events:none; }
.tos-hero-inner { max-width:860px; margin:0 auto; position:relative; }
.tos-hero-tag { display:inline-flex; align-items:center; gap:6px; background:rgba(41,171,226,0.12); border:0.5px solid rgba(41,171,226,0.25); color:var(--bl); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:1.5rem; }
.tos-hero h1 { font-size:2.6rem; font-weight:700; color:#fff; letter-spacing:-1px; line-height:1.1; margin-bottom:1rem; }
.tos-hero h1 em { font-style:normal; color:var(--bl); }
.tos-hero-sub { font-size:1rem; color:rgba(255,255,255,0.55); line-height:1.8; max-width:580px; margin-bottom:2rem; }
.tos-meta-row { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.tos-meta-item { display:flex; align-items:center; gap:7px; }
.tos-meta-label { font-size:12px; color:rgba(255,255,255,0.4); }
.tos-meta-value { font-size:12px; font-weight:600; color:rgba(255,255,255,0.75); }
.tos-meta-dot { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.2); }

.tos-layout { max-width:1060px; margin:0 auto; padding:4rem 2.5rem; display:grid; grid-template-columns:220px 1fr; gap:4rem; align-items:start; }
.tos-sidebar { position:sticky; top:88px; }
.tos-nav-label { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:1rem; }
.tos-nav-item { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:8px; cursor:pointer; transition:all 0.15s; margin-bottom:2px; }
.tos-nav-item:hover { background:var(--bp); }
.tos-nav-item span { font-size:12.5px; font-weight:500; color:var(--bd); line-height:1.4; }
.tos-nav-num { width:22px; height:22px; border-radius:50%; background:#eef2f8; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:var(--muted); flex-shrink:0; }
.tos-nav-item.tnav-active .tos-nav-num { background:var(--bd); color:#fff; }
.tos-nav-item.tnav-active span { color:var(--bm); font-weight:600; }

.tos-content { min-width:0; }
.tos-section { padding-bottom:3.5rem; margin-bottom:3.5rem; border-bottom:0.5px solid var(--border); scroll-margin-top:88px; }
.tos-section:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.ts-header { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.75rem; }
.ts-icon { width:44px; height:44px; border-radius:12px; background:var(--bp); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ts-icon svg { width:22px; height:22px; }
.ts-num { font-size:10px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:4px; }
.ts-title { font-size:1.35rem; font-weight:700; color:var(--bd); letter-spacing:-0.4px; }
.ts-body { font-size:14px; color:#2A4060; line-height:1.85; }
.ts-body p { margin-bottom:1rem; }
.ts-body p:last-child { margin-bottom:0; }
.ts-body strong { color:var(--bd); font-weight:600; }
.ts-body a { color:var(--bm); text-decoration:none; }
.ts-body a:hover { text-decoration:underline; }

.tos-card { background:#F5F9FE; border:0.5px solid var(--border); border-radius:14px; padding:1.5rem; margin:1.25rem 0; }
.tos-card-title { font-size:11px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:1rem; }
.tos-list { list-style:none; }
.tos-list li { font-size:13.5px; color:#2A4060; line-height:1.75; padding:7px 0 7px 22px; position:relative; border-bottom:0.5px solid var(--border); }
.tos-list li:last-child { border-bottom:none; }
.tos-list li::before { content:''; position:absolute; left:0; top:15px; width:7px; height:7px; border-radius:50%; background:var(--bl); }
.tos-highlight { background:rgba(41,171,226,0.06); border-left:3px solid var(--bl); padding:1rem 1.25rem; border-radius:0 10px 10px 0; margin:1.25rem 0; font-size:13.5px; color:#2A4060; line-height:1.75; }
.tos-highlight.amber { background:rgba(245,166,35,0.06); border-left-color:#f5a623; }
.tos-highlight.red { background:rgba(220,38,38,0.05); border-left-color:#dc2626; }
.tos-table { width:100%; border-collapse:collapse; margin:1.25rem 0; font-size:13px; border-radius:12px; overflow:hidden; }
.tos-table th { background:var(--bd); color:#fff; padding:11px 16px; text-align:left; font-size:11px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; }
.tos-table td { padding:10px 16px; color:#2A4060; border-bottom:0.5px solid var(--border); vertical-align:top; line-height:1.65; }
.tos-table tr:last-child td { border-bottom:none; }
.tos-table tr:nth-child(even) td { background:#F5F9FE; }
.tos-contact-box { background:var(--bd); border-radius:16px; padding:2rem; margin-top:1.5rem; }
.tos-contact-box h4 { font-size:15px; font-weight:700; color:#fff; margin-bottom:0.75rem; }
.tos-contact-box p { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.7; margin-bottom:0.5rem; }
.tos-contact-box a { color:var(--bl); text-decoration:none; font-weight:600; }
.privacy-page { min-height:100vh; background:#fff; }
.privacy-hero { background:var(--bd); padding:5rem 2.5rem 4rem; position:relative; overflow:hidden; }
.privacy-hero::before { content:''; position:absolute; top:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(41,171,226,0.06); pointer-events:none; }
.privacy-hero::after { content:''; position:absolute; bottom:-60px; left:10%; width:260px; height:260px; border-radius:50%; background:rgba(0,112,184,0.08); pointer-events:none; }
.privacy-hero-inner { max-width:860px; margin:0 auto; position:relative; }
.privacy-hero-tag { display:inline-flex; align-items:center; gap:6px; background:rgba(41,171,226,0.12); border:0.5px solid rgba(41,171,226,0.25); color:var(--bl); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:1.5rem; }
.privacy-hero h1 { font-size:2.6rem; font-weight:700; color:#fff; letter-spacing:-1px; line-height:1.1; margin-bottom:1rem; }
.privacy-hero h1 em { font-style:normal; color:var(--bl); }
.privacy-hero-sub { font-size:1rem; color:rgba(255,255,255,0.55); line-height:1.8; max-width:580px; margin-bottom:2rem; }
.privacy-meta-row { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.privacy-meta-item { display:flex; align-items:center; gap:7px; }
.privacy-meta-label { font-size:12px; color:rgba(255,255,255,0.4); }
.privacy-meta-value { font-size:12px; font-weight:600; color:rgba(255,255,255,0.75); }
.privacy-meta-dot { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.2); }

.privacy-layout { max-width:1060px; margin:0 auto; padding:4rem 2.5rem; display:grid; grid-template-columns:220px 1fr; gap:4rem; align-items:start; }
.privacy-sidebar { position:sticky; top:88px; }
.privacy-nav-label { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:1rem; }
.privacy-nav-item { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:8px; cursor:pointer; transition:all 0.15s; margin-bottom:2px; }
.privacy-nav-item:hover { background:var(--bp); }
.privacy-nav-item span { font-size:12.5px; font-weight:500; color:var(--bd); line-height:1.4; }
.privacy-nav-num { width:20px; height:20px; border-radius:50%; background:#eef2f8; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:var(--muted); flex-shrink:0; }
.privacy-nav-item.pnav-active .privacy-nav-num { background:var(--bd); color:#fff; }
.privacy-nav-item.pnav-active span { color:var(--bm); font-weight:600; }

.privacy-content { min-width:0; }
.privacy-section { padding-bottom:3.5rem; margin-bottom:3.5rem; border-bottom:0.5px solid var(--border); scroll-margin-top:88px; }
.privacy-section:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.ps-header { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.75rem; }
.ps-icon { width:44px; height:44px; border-radius:12px; background:var(--bp); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ps-icon svg { width:22px; height:22px; }
.ps-num { font-size:10px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:4px; }
.ps-title { font-size:1.35rem; font-weight:700; color:var(--bd); letter-spacing:-0.4px; }
.ps-body { font-size:14px; color:#2A4060; line-height:1.85; }
.ps-body p { margin-bottom:1rem; }
.ps-body p:last-child { margin-bottom:0; }
.ps-body strong { color:var(--bd); font-weight:600; }
.ps-body a { color:var(--bm); text-decoration:none; }
.ps-body a:hover { text-decoration:underline; }

.privacy-card { background:#F5F9FE; border:0.5px solid var(--border); border-radius:14px; padding:1.5rem; margin:1.25rem 0; }
.privacy-card-title { font-size:11px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:1rem; }
.privacy-list { list-style:none; }
.privacy-list li { font-size:13.5px; color:#2A4060; line-height:1.75; padding:7px 0 7px 22px; position:relative; border-bottom:0.5px solid var(--border); }
.privacy-list li:last-child { border-bottom:none; }
.privacy-list li::before { content:''; position:absolute; left:0; top:15px; width:7px; height:7px; border-radius:50%; background:var(--bl); }
.privacy-highlight { background:rgba(41,171,226,0.06); border-left:3px solid var(--bl); padding:1rem 1.25rem; border-radius:0 10px 10px 0; margin:1.25rem 0; font-size:13.5px; color:#2A4060; line-height:1.75; }
.privacy-table { width:100%; border-collapse:collapse; margin:1.25rem 0; font-size:13px; border-radius:12px; overflow:hidden; }
.privacy-table th { background:var(--bd); color:#fff; padding:11px 16px; text-align:left; font-size:11px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; }
.privacy-table td { padding:10px 16px; color:#2A4060; border-bottom:0.5px solid var(--border); vertical-align:top; line-height:1.65; }
.privacy-table tr:last-child td { border-bottom:none; }
.privacy-table tr:nth-child(even) td { background:#F5F9FE; }
.privacy-contact-box { background:var(--bd); border-radius:16px; padding:2rem; margin-top:1.5rem; }
.privacy-contact-box h4 { font-size:15px; font-weight:700; color:#fff; margin-bottom:0.75rem; }
.privacy-contact-box p { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.7; margin-bottom:0.5rem; }
.privacy-contact-box a { color:var(--bl); text-decoration:none; font-weight:600; }

footer { background:#F5F9FE; border-top:0.5px solid var(--border); padding:3rem 2.5rem 2rem; }
.footer-inner { max-width:1120px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand p { font-size:13px; color:var(--muted); line-height:1.7; margin-top:0.75rem; max-width:260px; }
.footer-col h4 { font-size:11px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:1rem; }
.footer-col a { display:block; font-size:13px; color:var(--muted); text-decoration:none; margin-bottom:0.5rem; cursor:pointer; }
.footer-col a:hover { color:var(--bm); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; border-top:0.5px solid var(--border); padding-top:1.5rem; }
.footer-bottom p { font-size:12px; color:var(--muted); }
.footer-bottom a { color:var(--muted); text-decoration:none; margin-left:1rem; }

/* ═══════════════════════════════════════════
    INSIGHTS PAGE — RESOURCE LIBRARY
═══════════════════════════════════════════ */

/* Hero */
.lib-hero { background:var(--bd); padding:4.5rem 2.5rem 0; position:relative; overflow:hidden; }
.lib-hero::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:rgba(41,171,226,0.05); pointer-events:none; }
.lib-hero::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60px; background:linear-gradient(to bottom, transparent, #F5F9FE); pointer-events:none; }
.lib-hero-inner { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:end; padding-bottom:0; }
.lib-hero-text { padding-bottom:3rem; }
.lib-eyebrow { display:inline-flex; align-items:center; gap:6px; background:rgba(41,171,226,0.12); border:0.5px solid rgba(41,171,226,0.25); color:var(--bl); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:1.25rem; }
.lib-hero h1 { font-size:2.7rem; font-weight:700; color:#fff; letter-spacing:-1.2px; line-height:1.1; margin-bottom:1rem; }
.lib-hero h1 em { font-style:normal; color:var(--bl); }
.lib-hero-sub { font-size:1rem; color:rgba(255,255,255,0.5); line-height:1.8; max-width:520px; margin-bottom:2rem; }
.lib-stats-row { display:flex; gap:2rem; flex-wrap:wrap; }
.lib-stat { text-align:left; }
.lib-stat-num { font-size:1.6rem; font-weight:700; color:#fff; letter-spacing:-0.5px; }
.lib-stat-lbl { font-size:11px; color:rgba(255,255,255,0.4); margin-top:2px; }
.lib-stat-sep { width:0.5px; background:rgba(255,255,255,0.1); align-self:stretch; }

/* Featured resource card in hero */
.lib-featured-card { width:320px; flex-shrink:0; background:#fff; border-radius:20px 20px 0 0; padding:1.75rem; box-shadow:0 -8px 40px rgba(0,0,0,0.2); align-self:flex-end; position:relative; }
.lib-feat-label { font-size:10px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:1rem; display:flex; align-items:center; gap:6px; }
.lib-feat-label::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--bl); display:inline-block; }
.lib-feat-thumb { height:120px; border-radius:12px; background:var(--bd); margin-bottom:1rem; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.lib-feat-thumb::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, #003A70 0%, #0070B8 100%); }
.lib-feat-thumb-icon { position:relative; z-index:1; width:48px; height:48px; border-radius:12px; background:rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; }
.lib-feat-type { position:absolute; top:10px; left:10px; z-index:1; font-size:9px; font-weight:700; background:rgba(255,255,255,0.2); color:#fff; padding:3px 9px; border-radius:20px; text-transform:uppercase; letter-spacing:0.8px; }
.lib-feat-title { font-size:14px; font-weight:700; color:var(--bd); line-height:1.4; margin-bottom:0.5rem; }
.lib-feat-desc { font-size:12px; color:var(--muted); line-height:1.6; margin-bottom:1.25rem; }
.lib-feat-cta { width:100%; background:var(--bd); color:#fff; font-size:13px; font-weight:600; padding:11px; border-radius:9px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; transition:background 0.15s; }
.lib-feat-cta:hover { background:var(--bm); }

/* Search + Filter bar */
.lib-controls { background:#F5F9FE; border-bottom:0.5px solid var(--border); padding:1.25rem 2.5rem; position:sticky; top:64px; z-index:50; }
.lib-controls-inner { max-width:1120px; margin:0 auto; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.lib-search-wrap { position:relative; flex:1; min-width:220px; }
.lib-search { width:100%; padding:9px 14px 9px 38px; border:0.5px solid var(--border); border-radius:9px; font-size:13px; color:var(--bd); background:#fff; outline:none; transition:border-color 0.15s; }
.lib-search:focus { border-color:var(--bl); }
.lib-search-icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; }
.lib-filter-scroll { display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center; }
.lib-filter-btn { font-size:12px; font-weight:600; padding:6px 14px; border-radius:20px; border:0.5px solid var(--border); background:#fff; color:var(--muted); cursor:pointer; transition:all 0.15s; white-space:nowrap; display:flex; align-items:center; gap:5px; }
.lib-filter-btn:hover { border-color:var(--bl); color:var(--bd); }
.lib-filter-btn.active { background:var(--bd); color:#fff; border-color:var(--bd); }
.lib-filter-count { font-size:10px; font-weight:700; background:rgba(255,255,255,0.2); padding:1px 6px; border-radius:20px; }
.lib-filter-btn:not(.active) .lib-filter-count { background:var(--bp); color:var(--bm); }
.lib-results-count { font-size:12px; color:var(--muted); white-space:nowrap; margin-left:auto; }

/* Resource grid */
.lib-body { max-width:1120px; margin:0 auto; padding:2.5rem 2.5rem 5rem; }
.lib-section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; margin-top:2.5rem; }
.lib-section-header:first-child { margin-top:0; }
.lib-section-title { font-size:13px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; display:flex; align-items:center; gap:8px; }
.lib-section-line { flex:1; height:0.5px; background:var(--border); }
.lib-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-bottom:0.5rem; }
.lib-no-results { text-align:center; padding:4rem 2rem; color:var(--muted); }
.lib-no-results svg { width:48px; height:48px; margin:0 auto 1rem; display:block; color:var(--border); }
.lib-no-results h3 { font-size:16px; font-weight:700; color:var(--bd); margin-bottom:0.5rem; }

/* Resource card */
.res-card { background:#fff; border:0.5px solid var(--border); border-radius:16px; overflow:hidden; transition:all 0.2s; display:flex; flex-direction:column; }
.res-card:hover { border-color:var(--bl); transform:translateY(-3px); box-shadow:0 8px 28px rgba(0,58,112,0.09); }
.res-thumb { height:120px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; flex-shrink:0; }
.res-thumb-pattern { position:absolute; inset:0; opacity:0.08; background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.5) 0, rgba(255,255,255,0.5) 1px, transparent 0, transparent 50%); background-size:8px 8px; }
.res-type-pill { position:absolute; top:10px; left:10px; font-size:9px; font-weight:700; padding:3px 9px; border-radius:20px; text-transform:uppercase; letter-spacing:0.8px; background:rgba(255,255,255,0.2); color:#fff; border:0.5px solid rgba(255,255,255,0.25); }
.res-icon-wrap { width:50px; height:50px; border-radius:12px; background:rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.res-icon-wrap svg { width:26px; height:26px; color:#fff; }
.res-body { padding:1.1rem; flex:1; display:flex; flex-direction:column; }
.res-meta { display:flex; align-items:center; gap:6px; margin-bottom:0.6rem; }
.res-type-tag { font-size:9px; font-weight:700; background:var(--bp); color:var(--bm); padding:2px 8px; border-radius:5px; text-transform:uppercase; letter-spacing:0.6px; }
.res-free-tag { font-size:9px; font-weight:700; color:#1a6b42; background:#e8faf2; padding:2px 8px; border-radius:5px; }
.res-title { font-size:14px; font-weight:700; color:var(--bd); margin-bottom:5px; line-height:1.35; flex:1; }
.res-desc { font-size:12px; color:var(--muted); line-height:1.65; margin-bottom:1rem; }
.res-actions { display:flex; gap:7px; margin-top:auto; }
.res-dl-btn { flex:1; background:var(--bd); color:#fff; font-size:12px; font-weight:600; padding:9px 0; border-radius:8px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:5px; transition:background 0.15s; }
.res-dl-btn:hover { background:var(--bm); }
.res-dl-btn svg { width:13px; height:13px; flex-shrink:0; }
.res-share-btn { width:36px; height:36px; background:#fff; border:0.5px solid var(--border); border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.15s; flex-shrink:0; }
.res-share-btn:hover { border-color:var(--bl); background:var(--bp); }
.res-share-btn svg { width:14px; height:14px; }

/* Download gate modal */
.dl-modal-overlay { position:fixed; inset:0; background:rgba(0,30,80,0.65); backdrop-filter:blur(4px); z-index:500; display:flex; align-items:center; justify-content:center; padding:1.5rem; opacity:0; pointer-events:none; transition:opacity 0.25s; }
.dl-modal-overlay.open { opacity:1; pointer-events:all; }
.dl-modal { background:#fff; border-radius:20px; padding:2.5rem; max-width:460px; width:100%; box-shadow:0 24px 80px rgba(0,58,112,0.25); transform:translateY(20px) scale(0.97); transition:transform 0.25s; position:relative; }
.dl-modal-overlay.open .dl-modal { transform:translateY(0) scale(1); }
.dl-modal-close { position:absolute; top:1rem; right:1rem; width:30px; height:30px; border-radius:50%; border:0.5px solid var(--border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:16px; line-height:1; transition:all 0.15s; }
.dl-modal-close:hover { background:var(--bd); color:#fff; border-color:var(--bd); }
.dl-modal-thumb { height:90px; border-radius:12px; margin-bottom:1.5rem; display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
.dl-modal-type { position:absolute; top:8px; left:8px; font-size:9px; font-weight:700; background:rgba(255,255,255,0.2); color:#fff; padding:3px 8px; border-radius:20px; text-transform:uppercase; letter-spacing:0.8px; }
.dl-modal-thumb-icon { width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.dl-modal-thumb-icon svg { width:24px; height:24px; color:#fff; }
.dl-modal h3 { font-size:1.2rem; font-weight:700; color:var(--bd); line-height:1.35; margin-bottom:0.5rem; letter-spacing:-0.3px; }
.dl-modal-sub { font-size:13px; color:var(--muted); line-height:1.65; margin-bottom:1.5rem; }
.dl-modal-form { display:flex; flex-direction:column; gap:0.75rem; margin-bottom:1rem; }
.dl-modal-field { display:flex; flex-direction:column; gap:5px; }
.dl-modal-field label { font-size:11px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; }
.dl-modal-field input { padding:10px 14px; border:0.5px solid var(--border); border-radius:9px; font-size:13px; color:var(--bd); outline:none; transition:border-color 0.15s; background:#fff; font-family:inherit; }
.dl-modal-field input:focus { border-color:var(--bl); }
.dl-modal-field input::placeholder { color:#b0bacf; }
.dl-modal-submit { width:100%; background:var(--bd); color:#fff; font-size:14px; font-weight:700; padding:13px; border-radius:10px; border:none; cursor:pointer; transition:background 0.15s; font-family:inherit; }
.dl-modal-submit:hover { background:var(--bm); }
.dl-modal-note { font-size:11px; color:var(--muted); text-align:center; line-height:1.6; }
.dl-modal-success { text-align:center; padding:1rem 0; display:none; }
.dl-success-icon { width:56px; height:56px; border-radius:50%; background:#e8faf2; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.dl-success-icon svg { width:28px; height:28px; color:#1a6b42; }
.dl-success-title { font-size:1.2rem; font-weight:700; color:var(--bd); margin-bottom:0.5rem; }
.dl-success-sub { font-size:13px; color:var(--muted); line-height:1.65; margin-bottom:1.5rem; }
.dl-success-btn { display:inline-block; background:var(--bd); color:#fff; font-size:13px; font-weight:600; padding:11px 28px; border-radius:9px; text-decoration:none; cursor:pointer; border:none; font-family:inherit; }

/* CTA strip */
.lib-cta { background:var(--bd); border-radius:20px; padding:3rem 3.5rem; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; margin-top:3rem; position:relative; overflow:hidden; }
.lib-cta::before { content:''; position:absolute; right:-60px; top:-60px; width:200px; height:200px; border-radius:50%; background:rgba(41,171,226,0.07); pointer-events:none; }
.lib-cta-title { font-size:1.4rem; font-weight:700; color:#fff; letter-spacing:-0.4px; margin-bottom:0.5rem; }
.lib-cta-sub { font-size:13px; color:rgba(255,255,255,0.5); line-height:1.7; }
.lib-cta-btn { background:#fff; color:var(--bd); font-size:14px; font-weight:700; padding:13px 28px; border-radius:10px; white-space:nowrap; cursor:pointer; flex-shrink:0; border:none; font-family:inherit; transition:opacity 0.15s; position:relative; z-index:1; }
.lib-cta-btn:hover { opacity:0.9; }

/* Coming Soon cards */
.cs-section { margin-top:3.5rem; }
.cs-section-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.cs-section-eyebrow { font-size:10px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.4px; background:var(--bp); border:0.5px solid rgba(41,171,226,0.3); padding:4px 12px; border-radius:20px; white-space:nowrap; }
.cs-section-title { font-size:13px; font-weight:700; color:var(--bd); }
.cs-section-line { flex:1; height:0.5px; background:var(--border); }
.cs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.cs-card { background:#fff; border:0.5px dashed rgba(0,58,112,0.15); border-radius:16px; overflow:hidden; position:relative; opacity:0.72; transition:all 0.2s; }
.cs-card:hover { opacity:0.9; border-color:var(--bl); }
.cs-thumb { height:90px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.cs-lock { position:absolute; inset:0; background:rgba(0,0,0,0.28); display:flex; align-items:center; justify-content:center; }
.cs-lock-icon { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.2); border:1.5px solid rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center; }
.cs-type-pill { position:absolute; top:8px; left:8px; font-size:9px; font-weight:700; padding:2px 8px; border-radius:20px; text-transform:uppercase; letter-spacing:0.8px; background:rgba(255,255,255,0.18); color:#fff; border:0.5px solid rgba(255,255,255,0.25); z-index:1; }
.cs-body { padding:1rem; }
.cs-badge { font-size:9px; font-weight:700; background:#fff3cd; color:#856404; padding:2px 8px; border-radius:5px; display:inline-block; margin-bottom:0.5rem; }
.cs-title { font-size:13px; font-weight:700; color:var(--bd); line-height:1.35; margin-bottom:4px; }
.cs-desc { font-size:11px; color:var(--muted); line-height:1.6; margin-bottom:0.75rem; }
.cs-notify-btn { width:100%; background:transparent; border:0.5px solid var(--border); color:var(--bd); font-size:11px; font-weight:600; padding:7px; border-radius:7px; cursor:pointer; transition:all 0.15s; font-family:inherit; }
.cs-notify-btn:hover { background:var(--bp); border-color:var(--bl); color:var(--bm); }

/* Subscription section */
.sub-section { background:var(--bd); border-radius:20px; padding:3rem 3.5rem; margin-top:2.5rem; position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 380px; gap:3rem; align-items:center; }
.sub-section::before { content:''; position:absolute; right:-80px; top:-80px; width:280px; height:280px; border-radius:50%; background:rgba(41,171,226,0.07); pointer-events:none; }
.sub-section::after { content:''; position:absolute; left:-40px; bottom:-60px; width:180px; height:180px; border-radius:50%; background:rgba(0,112,184,0.08); pointer-events:none; }
.sub-eyebrow { font-size:10px; font-weight:700; color:var(--bl); text-transform:uppercase; letter-spacing:1.4px; margin-bottom:0.75rem; }
.sub-title { font-size:1.7rem; font-weight:700; color:#fff; letter-spacing:-0.6px; line-height:1.2; margin-bottom:0.75rem; }
.sub-title em { font-style:normal; color:var(--bl); }
.sub-desc { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.75; margin-bottom:1.5rem; }
.sub-perks { display:flex; flex-direction:column; gap:0.6rem; }
.sub-perk { display:flex; align-items:center; gap:10px; }
.sub-perk-check { width:18px; height:18px; border-radius:50%; background:rgba(41,171,226,0.2); border:0.5px solid rgba(41,171,226,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sub-perk-check svg { width:9px; height:9px; }
.sub-perk span { font-size:13px; color:rgba(255,255,255,0.75); }
.sub-form-card { background:rgba(255,255,255,0.07); border:0.5px solid rgba(255,255,255,0.12); border-radius:16px; padding:1.75rem; position:relative; z-index:1; }
.sub-form-title { font-size:15px; font-weight:700; color:#fff; margin-bottom:0.4rem; }
.sub-form-sub { font-size:12px; color:rgba(255,255,255,0.45); margin-bottom:1.25rem; line-height:1.6; }
.sub-form { display:flex; flex-direction:column; gap:0.75rem; }
.sub-field input { width:100%; padding:10px 14px; border:0.5px solid rgba(255,255,255,0.15); border-radius:9px; font-size:13px; color:#fff; background:rgba(255,255,255,0.08); outline:none; transition:border-color 0.15s; font-family:inherit; }
.sub-field input::placeholder { color:rgba(255,255,255,0.3); }
.sub-field input:focus { border-color:var(--bl); }
.sub-submit { width:100%; background:#fff; color:var(--bd); font-size:13px; font-weight:700; padding:12px; border-radius:9px; border:none; cursor:pointer; transition:opacity 0.15s; font-family:inherit; }
.sub-submit:hover { opacity:0.9; }
.sub-note { font-size:10px; color:rgba(255,255,255,0.3); text-align:center; margin-top:0.75rem; line-height:1.6; }
.sub-success { text-align:center; padding:1rem 0; display:none; }
.sub-success-icon { width:48px; height:48px; border-radius:50%; background:rgba(41,171,226,0.15); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.sub-success-icon svg { width:24px; height:24px; color:var(--bl); }
.sub-success-title { font-size:15px; font-weight:700; color:#fff; margin-bottom:0.4rem; }
.sub-success-sub { font-size:12px; color:rgba(255,255,255,0.45); line-height:1.65; } position:fixed; bottom:2rem; left:50%; transform:translateX(-50%) translateY(20px); background:var(--bd); color:#fff; font-size:13px; font-weight:500; padding:10px 20px; border-radius:30px; opacity:0; transition:all 0.3s; pointer-events:none; z-index:999; }
.share-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.insights-cta { background:var(--bd); border-radius:20px; padding:3rem; text-align:center; margin-top:3rem; }
.insights-cta h3 { font-size:1.6rem; font-weight:700; color:#fff; letter-spacing:-0.5px; margin-bottom:0.75rem; }
.insights-cta p { font-size:14px; color:rgba(255,255,255,0.55); margin-bottom:1.75rem; max-width:420px; margin-left:auto; margin-right:auto; line-height:1.7; }

/* CAREER PAGE */
.career-hero { background:var(--bd); padding:5rem 2.5rem; }
.career-hero-inner { max-width:1120px; margin:0 auto; }
.career-hero-title { font-size:2.8rem; font-weight:700; color:#fff; letter-spacing:-1.2px; margin-bottom:1rem; line-height:1.1; }
.career-hero-title em { font-style:normal; color:var(--bl); }
.career-hero-sub { font-size:1rem; color:rgba(255,255,255,0.55); max-width:520px; line-height:1.75; margin-bottom:2rem; }
.career-perks { display:flex; gap:1rem; flex-wrap:wrap; }
.career-perk { display:flex; align-items:center; gap:7px; background:rgba(255,255,255,0.07); border:0.5px solid rgba(255,255,255,0.12); border-radius:8px; padding:7px 14px; }
.career-perk svg { width:15px; height:15px; flex-shrink:0; }
.career-perk span { font-size:12px; font-weight:600; color:rgba(255,255,255,0.85); }
.career-body { max-width:1120px; margin:0 auto; padding:4rem 2.5rem; }
.career-section-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.career-count { font-size:12px; font-weight:600; color:var(--bl); background:var(--bp); border:0.5px solid rgba(41,171,226,0.3); padding:5px 14px; border-radius:20px; }
.job-card { border:0.5px solid var(--border); border-radius:16px; background:#fff; margin-bottom:1rem; overflow:hidden; transition:border-color 0.15s; }
.job-card:hover { border-color:var(--bl); }
.job-card.open { border-color:var(--bm); }
.job-card-header { display:flex; align-items:center; gap:1.25rem; padding:1.5rem; cursor:pointer; }
.job-left { display:flex; align-items:center; gap:1rem; flex:1; min-width:0; }
.job-icon { width:44px; height:44px; border-radius:10px; background:var(--bp); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.job-icon svg { width:22px; height:22px; }
.job-title { font-size:16px; font-weight:700; color:var(--bd); margin-bottom:5px; }
.job-meta { display:flex; gap:6px; flex-wrap:wrap; }
.job-tag { font-size:10px; font-weight:600; color:var(--muted); background:#F0F7FD; border:0.5px solid var(--border); padding:3px 8px; border-radius:6px; }
.job-desc-short { font-size:13px; color:var(--muted); flex:1; min-width:0; display:none; }
@media(min-width:900px){ .job-desc-short { display:block; } }
.job-chevron { width:32px; height:32px; border-radius:50%; border:0.5px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.2s; }
.job-chevron svg { width:14px; height:14px; transition:transform 0.25s; stroke:var(--muted); fill:none; stroke-width:2; stroke-linecap:round; }
.job-card.open .job-chevron svg { transform:rotate(180deg); }
.job-card.open .job-chevron { background:var(--bd); border-color:var(--bd); }
.job-card.open .job-chevron svg { stroke:#fff; }
.job-card-body { display:none; padding:0 1.5rem 1.5rem; border-top:0.5px solid var(--border); padding-top:1.5rem; }
.job-card.open .job-card-body { display:block; }
.job-sections { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:1.5rem; }
.job-section-title { font-size:11px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:0.75rem; }
.job-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.5rem; }
.job-list li { font-size:13px; color:var(--muted); line-height:1.6; padding-left:1rem; position:relative; }
.job-list li::before { content:'—'; position:absolute; left:0; color:var(--bl); font-weight:700; }
.job-apply-btn { display:inline-block; background:var(--bd); color:#fff; font-size:14px; font-weight:600; padding:11px 24px; border-radius:9px; text-decoration:none; }
.job-apply-btn:hover { background:var(--bm); }
.career-cta { background:var(--bp); border:0.5px solid rgba(41,171,226,0.2); border-radius:20px; padding:3rem; text-align:center; margin-top:2.5rem; }
.career-cta-inner h3 { font-size:1.6rem; font-weight:700; color:var(--bd); letter-spacing:-0.5px; margin-bottom:0.75rem; }
.career-cta-inner p { font-size:14px; color:var(--muted); max-width:420px; margin:0 auto 1.75rem; line-height:1.7; }
/* FAQ PAGE */
.faq-hero { background:var(--bd); padding:5rem 2.5rem; }
.faq-hero-inner { max-width:780px; margin:0 auto; text-align:center; }
.faq-hero-title { font-size:2.8rem; font-weight:700; color:#fff; letter-spacing:-1.2px; margin-bottom:1rem; line-height:1.1; }
.faq-hero-title em { font-style:normal; color:var(--bl); }
.faq-hero-sub { font-size:1rem; color:rgba(255,255,255,0.55); line-height:1.75; margin-bottom:2rem; }
.faq-search-wrap { position:relative; max-width:480px; margin:0 auto; }
.faq-search { width:100%; padding:13px 20px 13px 44px; border-radius:10px; border:none; font-size:14px; color:var(--bd); outline:none; box-shadow:0 2px 12px rgba(0,0,0,0.15); }
.faq-search::placeholder { color:#9aabbd; }
.faq-search-icon { position:absolute; left:15px; top:50%; transform:translateY(-50%); width:16px; height:16px; pointer-events:none; }
.faq-body { max-width:780px; margin:0 auto; padding:4rem 2.5rem; }
.faq-category { margin-bottom:3rem; }
.faq-cat-label { display:flex; align-items:center; gap:10px; margin-bottom:1.25rem; }
.faq-cat-icon { width:32px; height:32px; border-radius:8px; background:var(--bp); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.faq-cat-icon svg { width:16px; height:16px; }
.faq-cat-title { font-size:13px; font-weight:700; color:var(--bd); text-transform:uppercase; letter-spacing:0.8px; }
.faq-item { border:0.5px solid var(--border); border-radius:12px; background:#fff; margin-bottom:0.6rem; overflow:hidden; transition:border-color 0.15s; }
.faq-item:hover { border-color:var(--bl); }
.faq-item.open { border-color:var(--bm); }
.faq-q { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; cursor:pointer; }
.faq-q-text { font-size:14px; font-weight:600; color:var(--bd); line-height:1.45; }
.faq-item.open .faq-q-text { color:var(--bm); }
.faq-chevron { width:28px; height:28px; border-radius:50%; border:0.5px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.2s; }
.faq-chevron svg { width:12px; height:12px; transition:transform 0.25s; stroke:var(--muted); fill:none; stroke-width:2; stroke-linecap:round; }
.faq-item.open .faq-chevron { background:var(--bd); border-color:var(--bd); }
.faq-item.open .faq-chevron svg { transform:rotate(180deg); stroke:#fff; }
.faq-a { display:none; padding:0 1.25rem 1.1rem; font-size:13.5px; color:var(--muted); line-height:1.8; border-top:0.5px solid var(--border); padding-top:1rem; }
.faq-item.open .faq-a { display:block; }
.faq-no-results { text-align:center; padding:3rem; color:var(--muted); font-size:14px; display:none; }
.faq-cta { background:var(--bd); border-radius:20px; padding:3rem; text-align:center; margin-top:1rem; }
.faq-cta h3 { font-size:1.5rem; font-weight:700; color:#fff; letter-spacing:-0.4px; margin-bottom:0.6rem; }
.faq-cta p { font-size:14px; color:rgba(255,255,255,0.5); margin-bottom:1.5rem; line-height:1.7; }


/* ═══════════════════════════════════════════
    MOBILE HAMBURGER NAV
═══════════════════════════════════════════ */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; border:none; background:none; z-index:200; }
.hamburger span { display:block; width:22px; height:2px; background:var(--bd); border-radius:2px; transition:all 0.3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-menu { display:none; position:fixed; inset:0; top:64px; background:#fff; z-index:99; padding:1.5rem 1.5rem 2rem; flex-direction:column; gap:0; overflow-y:auto; border-top:0.5px solid var(--border); }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:16px; font-weight:600; color:var(--bd); text-decoration:none; padding:1rem 0; border-bottom:0.5px solid var(--border); cursor:pointer; }
.mobile-menu .mm-cta { margin-top:1.5rem; background:var(--bd); color:#fff; font-size:15px; font-weight:700; padding:14px 24px; border-radius:10px; text-align:center; cursor:pointer; border:none; }

/* ═══════════════════════════════════════════
    RESPONSIVE BREAKPOINTS
═══════════════════════════════════════════ */

/* Tablet (≤900px) */
@media(max-width:900px) {
nav { padding:0 1.5rem; }
.nav-links { display:none; }
.btn-cta { display:none; }
.hamburger { display:flex; }

.hero { grid-template-columns:1fr; gap:2rem; padding:3rem 1.5rem 3rem; }
.hero h1 { font-size:2.2rem; }
.hero-visual { display:none; }

.customer-banner-inner { grid-template-columns:1fr; gap:0; }
.cb-statement.center { border-left:none; border-right:none; border-top:0.5px solid rgba(255,255,255,0.1); border-bottom:0.5px solid rgba(255,255,255,0.1); }

.pain-grid { grid-template-columns:1fr 1fr; }
.stats-grid { grid-template-columns:1fr 1fr; }
.stat-card:last-child { grid-column:1/-1; }
.clients-grid { grid-template-columns:repeat(3,1fr); }
.growth-hero { grid-template-columns:1fr; gap:2rem; padding:2rem; }
.growth-pillars { grid-template-columns:1fr 1fr; }
.why-grid { grid-template-columns:1fr; gap:2rem; }
.why-visual { display:none; }
.audit-grid { grid-template-columns:1fr; gap:2rem; }
.elig-grid { grid-template-columns:1fr; }
.testi-card { flex:0 0 calc(50% - 0.63rem); }
.lib-hero-inner { grid-template-columns:1fr; }
.lib-featured-card { display:none; }
.lib-stats-row { gap:1rem; }
.privacy-layout { grid-template-columns:1fr; }
.privacy-sidebar { display:none; }
.tos-layout { grid-template-columns:1fr; }
.tos-sidebar { display:none; }
.footer-top { grid-template-columns:1fr 1fr; gap:2rem; }
.footer-brand { grid-column:1/-1; }
.elig-cta-strip { flex-direction:column; align-items:flex-start; }
.lib-cta { grid-template-columns:1fr; }
.job-sections { grid-template-columns:1fr; }
.cs-grid { grid-template-columns:repeat(2,1fr); }
.lib-grid { grid-template-columns:repeat(2,1fr); }
.sub-section { grid-template-columns:1fr; }
.hv-stats { grid-template-columns:1fr 1fr 1fr; }
}

/* Mobile (≤640px) */
@media(max-width:640px) {
nav { padding:0 1rem; }
.pain-grid { grid-template-columns:1fr; }
.stats-grid { grid-template-columns:1fr; }
.stat-card:last-child { grid-column:auto; }
.clients-grid { grid-template-columns:1fr 1fr; }
.growth-pillars { grid-template-columns:1fr; }
.testi-card { flex:0 0 100%; }
.hero h1 { font-size:1.85rem; letter-spacing:-0.8px; }
.sec-title { font-size:1.6rem; }
.faq-hero-title { font-size:2rem; }
.gh-title { font-size:1.5rem; }
.hero { padding:2.5rem 1rem; }
.logos { padding:1rem; }
.logos-inner { gap:0.75rem; }
.pain-section, .stats-section, .growth-section, .why-section, .cta-section { padding:3rem 1rem; }
.eligibility-section, .audit-section, .testi-section, .clients-section { padding:3rem 1rem; }
.platforms-strip { padding:1.5rem 1rem; }
.customer-banner { padding:2rem 1rem; }
.cta-card { padding:2.5rem 1.5rem; }
.cta-card h2 { font-size:1.7rem; }
.cta-fears { flex-wrap:wrap; gap:0.5rem; }
footer { padding:2rem 1rem 1.5rem; }
.footer-top { grid-template-columns:1fr; gap:1.5rem; }
.lib-hero { padding:3rem 1rem 0; }
.lib-body { padding:2rem 1rem 3rem; }
.faq-hero { padding:3rem 1rem; }
.faq-body { padding:2.5rem 1rem; }
.audit-section .audit-inner, .audit-inner { padding:0 1rem; }
.privacy-hero, .tos-hero { padding:3rem 1rem 2.5rem; }
.privacy-layout, .tos-layout { padding:2rem 1rem; }
.career-body { padding:2.5rem 1rem; }
.growth-hero { padding:1.5rem; }
.ac-title { font-size:1.4rem; }
.cs-grid { grid-template-columns:1fr; }
.lib-grid { grid-template-columns:1fr; }
.lib-controls { padding:1rem; }
.lib-controls-inner { flex-direction:column; }
.lib-search-wrap { min-width:unset; width:100%; }
.platforms-wrap { gap:0.5rem; }
.platform-logo { padding:6px 10px; }
.platform-logo span { font-size:11px; }
.privacy-hero h1, .tos-hero h1 { font-size:1.9rem; }
.lib-hero h1 { font-size:2rem; }
.career-hero-title { font-size:2rem; }
.career-perks { flex-wrap:wrap; gap:0.75rem; }
}

/* Small phones (≤380px) */
@media(max-width:380px) {
.hero h1 { font-size:1.6rem; }
.clients-grid { grid-template-columns:1fr; }
.logos-inner { flex-direction:column; align-items:center; }
}

/* Image lazy-load placeholder */
img { max-width:100%; height:auto; display:block; }
img[loading="lazy"] { background:#f0f4fa; }

.share-toast {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--bd);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 22px;
  border-radius: 30px;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 20px rgba(0,58,112,0.25);
  white-space: nowrap;
}
.share-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}