:root{ --maxw:1360px; --gutter:clamp(22px,4vw,44px); --rail:260px; --gap:clamp(18px,2vw,28px); --card-radius:22px; --chip-bg:#f6f9ff; --chip-border:#e2ebff; --shadow:0 10px 30px rgba(16,17,20,.09),0 6px 16px rgba(16,17,20,.04) }
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;width:100%;overflow-x:hidden;font-family:'Josefin Sans',system-ui,sans-serif;background:#fff;color:#101114;scroll-behavior:smooth}
main{position:relative;z-index:10}

.page-hero{max-width:var(--maxw);margin:42px auto 0;padding:24px 18px 0}
.page-hero-card{background:#fff;border:1px solid #e6ebf5;border-radius:22px;box-shadow:var(--shadow);padding:clamp(18px,3vw,28px);position:relative;overflow:hidden}
.page-hero-card::after{content:'';position:absolute;inset:-2px;border-radius:22px;background:radial-gradient(80% 50% at 20% 0%,rgba(159,182,255,.12),transparent 60%),radial-gradient(80% 50% at 80% 0%,rgba(226,61,61,.08),transparent 60%);filter:blur(10px)}
.page-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .8rem/1 'Work Sans',system-ui;background:var(--chip-bg);border:1px solid var(--chip-border);color:#1b2440;padding:8px 12px;border-radius:999px;margin-bottom:10px}
.hero-title{font-weight:900;font-size:clamp(2rem,5vw,3rem)}
.sub{margin-top: 10px;font-weight:750;font-size: clamp(1.5rem, 3vw, 2rem)}
.hero-sub{color:black;font-size:clamp(1.4rem,2.3vw,1.5rem);line-height:1.75;margin-top:10px}
.stats-grid{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat{background:#f9fbff;border:1px solid #e7edff;border-radius:14px;padding:14px;text-align:center}
.stat .num{font-weight:900;font-size:clamp(1.4rem,3.4vw,1.9rem);color:#0021AD}
.stat .label{font-size:.9rem;color:#56607a;margin-top:4px}

.product-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px dashed #cfe0ff;color:#18305a;padding:10px 14px;border-radius:999px;font-weight:800;box-shadow:0 4px 12px rgba(18,48,114,.06)}
.content-grid{max-width:var(--maxw);margin:18px auto 0;padding:0 18px 18px;display:grid;grid-template-columns:var(--rail) 1fr;gap:18px}
.content-rail{position:sticky;top:110px;align-self:start;background:rgba(255,255,255,.9);border:1px solid #e6ebf5;border-radius:16px;box-shadow:var(--shadow);padding:12px}
.toc{display:flex;flex-direction:column;gap:6px}
.toc a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#1a2242;font-weight:800;font-size:.95rem}
.toc a:hover{background:#f3f7ff}
.toc a.active{background:#eaf1ff;color:#0b2a6f;box-shadow:inset 0 0 0 1px #dbe6ff}
.toc-mobile{position:sticky;top:92px;z-index:5;display:none;gap:10px;padding:8px;margin:0 auto 10px;max-width:var(--maxw);overflow:auto hidden}
.toc-mobile .chip{white-space:nowrap}
@media (max-width:1024px){.content-grid{grid-template-columns:1fr}.content-rail{display:none}.toc-mobile{display:flex}}

.aurora-divider{width:min(1100px,92vw);height:4px;margin:36px auto;background:linear-gradient(90deg,rgba(18,48,114,.05),rgba(18,48,114,.18),rgba(18,48,114,.05));box-shadow:0 0 22px rgba(18,48,114,.06);border-radius:2px}
.card{
  background: #fff; border:1px solid #e6ebf5; border-radius: 20px;
  box-shadow: var(--shadow); position:relative; overflow:hidden;
}
.about-shell{display:grid;place-items:center;padding:24px 0 0}
.about-card{width:min(1000px,92vw);background:#fff;border:1px solid #e6ebf5;border-radius:22px;padding:3.25rem 2rem;box-shadow:var(--shadow)}
.about-title{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;text-align:center;margin-bottom:1.2rem;color:#0021AD}
.about-lead,.about-body{font-size:1.6rem;line-height:1.85;color:black;max-width:900px;margin:0 auto}
.story-shell{display:grid;place-items:center;padding:24px 0}
.story-wrap{width:min(1000px,92vw);background:#fff;border:1px solid #e6ebf5;border-radius:20px;padding:2.2rem;box-shadow:var(--shadow);text-align:center}
.founder-shell{display:grid;place-items:center;padding:24px 0}
.founder-card{width:min(1100px,92vw);display:grid;grid-template-columns:320px 1fr;gap:28px;background:#fff;border:1px solid #e6ebf5;border-radius:20px;padding:22px;box-shadow:var(--shadow)}
@media (max-width:900px){.founder-card{grid-template-columns:1fr}}
.avatar-wrap{display:grid;place-items:center;padding:18px}
.avatar-ring{position:relative;width:220px;height:220px;border-radius:50%;padding:12px;background:conic-gradient(from 0deg,rgba(30,71,168,.9),rgba(226,61,61,.9),rgba(30,71,168,.9))}
.avatar-ring img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);border-radius:50%;object-fit:cover}
.founder-content h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin:6px 0 14px;color:#0021AD}
.founder-content p{color:black;line-height:1.8;font-size:1.6rem}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e6ebf5;border-radius:999px;padding:8px 12px;font-weight:800;color:#1a2242}
.founder-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.founder-tabs .tab{appearance:none;border:1px solid #e6ebf5;background:#fff;color:#1a2242;font-weight:800;padding:8px 12px;border-radius:999px;cursor:pointer}
.founder-tabs .tab.is-active{background:#eaf1ff;color:#0b2a6f;box-shadow:inset 0 0 0 1px #dbe6ff}
.tab-panels .tab-panel{display:none}.tab-panels .tab-panel.is-active{display:block}
.quote{margin:14px auto 0;max-width:900px;background:#f8fbff;border:1px solid #e1ebff;border-radius:16px;padding:16px 18px;color:#132457;display:flex;gap:12px}
.apart-shell{display:grid;place-items:center;padding:28px 20px 64px}
.apart-card{width:min(1000px,92vw);background:#fff;border:1px solid #e6ebf5;border-radius:20px;padding:2.4rem 2rem;box-shadow:var(--shadow)}
.apart-title{text-align:center;font-size:clamp(2rem,3.5vw,2.6rem);margin-bottom:1.2rem;color:#0021AD}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.show{opacity:1;transform:translateY(0)}
.blue{color:#0021AD}.red{color:#e8000d}
main{font-size:clamp(14px,0.9vw + 8px,18px)}
:root{--rail:clamp(180px,18vw,260px)!important}
.content-grid{grid-template-columns:var(--rail) 1fr!important}
@media (max-width:920px){.content-grid{grid-template-columns:1fr!important}.content-rail{display:none!important}.toc-mobile{display:flex!important}}

/* ---------- Apart: card grid (2 per row) ---------- */
#difference .apart-card{ width: min(1100px, 96vw); }
#difference .apart-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
}
@media (max-width: 820px){ #difference .apart-grid{ grid-template-columns: 1fr; } }
#difference .feature-card{ padding: clamp(20px, 3vw, 32px); }
#difference .feature-title{ font-size: clamp(1.25rem, 2vw, 1.9rem); }
#difference .feature-body, #difference .mini li{
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.85;
}
#difference .feature-header i{ font-size: 1.15em; }
/* E) WHAT SETS US APART — icon + title wrap together (no trimming) */
#difference .feature-header{
display:grid !important;
grid-template-columns: auto 1fr !important;  /* icon | title */
align-items:center !important;
gap:.6rem !important;
}
#difference .feature-header i{ line-height:1 !important; }
#difference .feature-title{
white-space: normal !important;   /* allow wrapping */
overflow: visible !important;     /* no ellipsis */
text-overflow: clip !important;
margin: 0 !important;
color: #0021AD;
}
.chip-p{display:inline-flex;gap:0}
.page-hero-card::after{pointer-events: none}
/* --- Fix testimonial vertical alignment --- */
.testimonials .t-row {
/* ensure top alignment of the two columns */
align-items: start;
}
.testimonials .t-name{
font-weight: bold;
}
/* make sure the name block and quote block start at the same top */
.testimonials .t-name,
.testimonials .t-quote {
margin: 0;
padding: 0;
align-self: start; /* extra insurance */
}

/* make person and affiliation sit on their own lines and not affect baseline */
.testimonials .t-name .person,
.testimonials .t-name .affiliation {
display: block;
margin: 0;
line-height: 1.1;
}

/* ensure the quoted text starts at the top of its column */
.testimonials .t-quote q {
display: block;
margin: 0;
line-height: 1.7; /* keep your readable spacing */
}
