/* Shared chrome and homepage. Page-specific layouts live in site-product/content. */
:root {
  --site-header-height:80px;
  --ink:#112744;
  --blue:#1765ea;
  --muted:#607089;
  --line:#e2e9f1;
  --shadow:0 16px 44px #183b620c;
}
html { scroll-padding-top:104px; }
body { background:#fff; color:var(--ink); -webkit-font-smoothing:antialiased; }
[hidden] { display:none!important; }
h1,h2,h3 { letter-spacing:0;text-wrap:balance; }
.page-hero h1>em,.hero h1>span { display:block;text-wrap:balance; }
.page-hero h1>br,.hero h1>br { display:none; }
.article-reading-progress { top:var(--site-header-height); }
/* First-paint content is readable; motion stays on deliberate interactions. */
.page-hero-copy,.page-hero-art,.insights-hero-copy,.insights-hero-art { animation:none; }
.site-icon { width:21px;height:21px;display:inline-block;vertical-align:middle;flex-shrink:0; }
.glyph { display:inline-flex;align-items:center;justify-content:center; }
.glyph .site-icon { width:25px;height:25px; }
a,button,input,select { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #72aeff;outline-offset:4px; }
.eyebrow { font-size:11px;letter-spacing:.07em;line-height:1.6;font-weight:750; }
.section { padding-block:78px; }
.section h2,.who-intro h2 { font-size:38px;line-height:1.42;letter-spacing:0;font-weight:800; }
.section-heading { gap:44px;margin-bottom:36px;align-items:flex-end; }
.section-heading>div { min-width:0; }
.section-heading>p { font-size:14px;line-height:1.95;color:var(--muted); }
.section-lead { font-size:16px;line-height:1.95; }
.button { min-height:48px;gap:24px;padding:12px 21px;border-radius:8px;font-size:14px;line-height:1.6;box-shadow:0 5px 14px #1765ea12;transition:background .2s,box-shadow .2s,transform .2s; }
.button:hover { transform:translateY(-2px);background:#0f54d0;box-shadow:0 8px 24px #1765ea20; }
.button-secondary { background:#fff;color:var(--blue);border-color:#cadcf2;box-shadow:none; }
.button-secondary:hover { background:#f0f6ff;color:var(--blue);box-shadow:none; }
.button .site-icon,.header-cta .site-icon { width:16px;height:16px; }
.text-link { font-size:14px; }
.site-header { max-width:1240px;height:80px;padding:0 28px;gap:32px;box-shadow:none;border-bottom:1px solid #e9eef680;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);z-index:100; }
.site-header .brand { flex-shrink:0; }
.brand img { width:34px;height:34px;object-fit:contain; }
.brand>span { font-size:20px;letter-spacing:0;line-height:1.4; }
.brand small { font-size:7px;letter-spacing:.09em;line-height:1.5;color:#607089; }
.site-header nav { display:flex;position:static;flex-direction:row;align-items:center;gap:23px;padding:0;border:0;box-shadow:none; }
.site-header nav a { position:relative;font-size:13px;font-weight:550;color:#63768e;white-space:nowrap; }
.site-header nav a.active,.site-header nav a:hover { color:var(--blue); }
.site-header nav a.active::after { content:"";position:absolute;bottom:-12px;left:50%;width:14px;height:2px;border-radius:2px;transform:translateX(-50%);background:var(--blue); }
.header-cta { display:inline-flex;align-items:center;gap:12px;min-height:40px;margin-left:auto;padding:9px 14px;font-size:12px;border:1px solid #cadcf2;border-radius:7px;white-space:nowrap; }
.menu-button { display:none; }
.cta-section { padding:76px 28px 80px;background:linear-gradient(120deg,#f4f8fe,#f9fbff);border-top:1px solid #e7eef7; }
.cta-section h2 { max-width:850px;margin:16px auto 20px;font-size:36px;line-height:1.5;letter-spacing:0; }
.cta-section p { font-size:15px;line-height:1.9;color:var(--muted); }
.cta-section .button { margin-top:12px; }

/* The opening stays readable as a sentence on laptop screens. */
body[data-page="home"] .hero { max-width:1240px;min-height:590px;padding:70px 28px 76px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:42px;align-items:center;background:none; }
body[data-page="home"] .hero-copy { max-width:none;min-width:0; }
body[data-page="home"] .hero h1 { font-size:46px;font-weight:850;line-height:1.43;letter-spacing:-.015em;margin:20px 0 22px;max-width:none; }
body[data-page="home"] .hero h1 span { background:none;-webkit-text-fill-color:currentColor;color:var(--blue); }
body[data-page="home"] .hero-lead { font-size:16px;line-height:1.95;max-width:475px;color:var(--muted);margin:0 0 22px; }
body[data-page="home"] .hero-proofline { gap:9px;flex-wrap:wrap;margin:0 0 29px; }
body[data-page="home"] .hero-proofline>span { border:0;padding:0;background:none;color:#607089;font-size:11px; }
body[data-page="home"] .hero-proofline>span+span { padding-left:12px;border-left:1px solid #d9e3f0; }
body[data-page="home"] .hero-actions { margin:0;gap:12px;flex-wrap:wrap; }
body[data-page="home"] .hero-action-note { max-width:455px;font-size:11px;line-height:1.8;color:#607089;margin-top:16px; }
body[data-page="home"] .hero-visual { min-width:0;width:100%;max-width:none;transform:none;animation:none; }
body[data-page="home"] .hero-illustration { width:100%;border:1px solid #dce7f4;border-radius:12px;box-shadow:0 20px 50px #193b7014;transform:none;animation:none; }
body[data-page="home"] .hero-visual:before { opacity:.28; }
body[data-page="home"] .hero-visual-badge { top:12px;right:12px;background:rgba(255,255,255,.97);font-size:10px;padding:6px 10px;border:1px solid #e2e9f1;box-shadow:none; }
body[data-page="home"] .hero-visual-caption { font-size:11px;line-height:1.6;left:16px;bottom:16px;border:1px solid #e2e9f1;border-radius:5px;box-shadow:none;padding:7px 11px; }
body[data-page="home"] .hero-glow { opacity:.25; }
body[data-page="home"] .brand-rail { padding-block:28px 36px;border-bottom:1px solid var(--line);border-top:0; }
body[data-page="home"] .brand-rail>div { flex-wrap:wrap;gap:14px 25px; }
body[data-page="home"] .who-section { max-width:1240px;padding:76px 28px 80px;border:0; }
body[data-page="home"] .who-intro { max-width:900px; }
body[data-page="home"] .who-intro h2 { font-size:34px;line-height:1.5; }
body[data-page="home"] .who-intro p { font-size:15px;max-width:750px;line-height:1.95; }
body[data-page="home"] .who-grid { margin-top:34px;gap:24px; }
body[data-page="home"] .who-grid article { background:#fff;padding:26px 0;border-width:1px 0 0;border-color:#dce6f2;border-radius:0; }
body[data-page="home"] .who-grid h3 { font-size:19px;letter-spacing:0;line-height:1.6;margin:17px 0 10px; }
body[data-page="home"] .who-grid b { font-size:11px;letter-spacing:.02em; }
body[data-page="home"] .product-pair { gap:24px;margin-top:36px; }
body[data-page="home"] .product-card { padding:32px;border:1px solid var(--line);border-radius:12px;box-shadow:none; }
body[data-page="home"] .product-card.primary { background:linear-gradient(130deg,#f4f8ff,#fff); }
body[data-page="home"] .product-card.secondary { background:#fff; }
body[data-page="home"] .product-card h3 { font-size:27px;letter-spacing:0;line-height:1.5; }
body[data-page="home"] .product-card p { font-size:14px;line-height:1.9;max-width:430px; }
body[data-page="home"] .product-mark { width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:#edf4ff;color:var(--blue); }
body[data-page="home"] .product-mark .site-icon { width:25px;height:25px; }
body[data-page="home"] .product-list { margin:24px 0 30px;gap:10px; }
body[data-page="home"] .product-list span { font-size:13px; }
body[data-page="home"] .scenario-grid { gap:24px; }
body[data-page="home"] .scenario-grid article { padding:26px;border-color:var(--line);border-radius:12px;background:#fff;box-shadow:none; }
body[data-page="home"] .scenario-grid h3 { font-size:21px;letter-spacing:0;line-height:1.5; }
body[data-page="home"] .scenario-grid p { font-size:14px;line-height:1.9; }
body[data-page="home"] .scenario-grid b { font-size:12px;line-height:1.9; }
body[data-page="home"] .function-table { border-radius:12px;border-color:var(--line);box-shadow:none; }
body[data-page="home"] .function-table>div { padding:24px;gap:24px; }
body[data-page="home"] .function-table strong { font-size:16px; }
body[data-page="home"] .function-table span,body[data-page="home"] .function-table b { font-size:13px;line-height:1.9; }
body[data-page="home"] .opportunity-card { border:1px solid var(--line);border-radius:12px;box-shadow:none;background:#fff;padding:28px; }
body[data-page="home"] .opportunity-card h3 { font-size:23px;line-height:1.5;letter-spacing:0; }
.opportunity-demo-tab { min-height:48px;border-radius:8px; }
.opportunity-demo-tab.is-active { box-shadow:none; }
.opportunity-demo-panel[hidden] { display:none; }
.opportunity-demo-panel strong { letter-spacing:0;line-height:1.75;font-size:19px; }
body[data-page="home"] .dark-section { overflow:hidden;isolation:isolate;gap:64px;max-height:none;padding-block:82px; }
body[data-page="home"] .dark-section>div { position:relative;z-index:1;min-width:0; }
body[data-page="home"] .dark-section:after { pointer-events:none;z-index:-1; }
body[data-page="home"] .trust-list { gap:0; }
body[data-page="home"] .platform-section { padding-top:80px; }
body[data-page="home"] .platform-art img { animation:none; }
body[data-page="home"] .platform-strip { flex-wrap:wrap;gap:10px; }
body[data-page="home"] .platform-status-row { line-height:1.8; }
body[data-page="home"] .steps { gap:28px; }
body[data-page="home"] .steps h3 { font-size:20px;letter-spacing:0;line-height:1.5; }
body[data-page="home"] .steps p { font-size:14px;line-height:1.9; }

/* A light, quiet end to each page, with the same content alignment as the body. */
footer { padding:54px max(28px,calc((100% - 1184px)/2)) 26px;background:#f8fafd;color:var(--ink);border-top:1px solid var(--line); }
.footer-top { padding-bottom:30px;border-bottom:1px solid var(--line);gap:30px; }
.footer-top .brand { color:var(--ink); }
.footer-top .brand b { color:var(--blue); }
.footer-top .brand small { color:#607089; }
.footer-top p { color:#607089;font-size:12px;line-height:1.9;max-width:355px; }
.footer-grid { max-width:850px;gap:60px;padding:29px 0 30px; }
.footer-grid h4 { color:#304763;font-size:12px;letter-spacing:.02em;margin-bottom:14px; }
.footer-grid a { color:#607089;font-size:12px;margin:9px 0;line-height:1.8; }
.footer-grid a:hover,.footer-legal a:hover { color:var(--blue); }
.footer-bottom { border-color:var(--line);gap:20px;color:#607089;font-size:10px;line-height:1.8;flex-wrap:wrap; }
.footer-legal { margin:0;gap:18px;flex-wrap:wrap; }
.footer-legal a { color:#607089; }

@media (max-width:1190px) {
  .site-header { gap:22px; }
  .site-header nav { gap:16px; }
  .site-header nav a { font-size:12px; }
  .brand small { font-size:6px; }
  body[data-page="home"] .hero { gap:30px; }
  body[data-page="home"] .hero h1 { font-size:clamp(34px,3.65vw,43px); }
}
@media (max-width:1100px) {
  :root { --site-header-height:72px; }
  .site-header { height:72px;padding-inline:28px;gap:16px; }
  .site-header nav { display:none;position:absolute;top:71px;left:0;right:0;padding:18px 28px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 25px #183b620b; }
  .site-header nav.open { display:grid;grid-template-columns:1fr 1fr;gap:8px 18px; }
  .site-header nav a { font-size:14px;padding:10px 12px;border-radius:6px; }
  .site-header nav a.active { background:#f0f6ff; }
  .site-header nav a.active::after { display:none; }
  .header-cta { display:inline-flex; }
  .menu-button { display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;margin-left:0;padding:10px;flex-shrink:0;border:1px solid #e3eaf4;border-radius:8px;background:#fff;color:#344d6b; }
  body[data-page="home"] .hero { min-height:510px;padding-block:54px 60px;gap:26px; }
  body[data-page="home"] .hero h1 { font-size:34px; }
  body[data-page="home"] .hero-lead { font-size:15px; }
  .section h2,.who-intro h2 { font-size:32px; }
  .section-heading { gap:28px; }
  body[data-page="home"] .who-intro h2 { font-size:30px; }
  body[data-page="home"] .dark-section { gap:35px; }
}
@media (max-width:800px) {
  body[data-page="home"] .hero { grid-template-columns:1fr;gap:36px;padding-block:42px 50px; }
  body[data-page="home"] .hero-copy { max-width:660px; }
  body[data-page="home"] .hero h1 { font-size:clamp(29px,5.4vw,40px);line-height:1.48; }
  body[data-page="home"] .hero-visual { max-width:640px;margin:auto; }
  body[data-page="home"] .hero-action-note { max-width:540px; }
  body[data-page="home"] .who-grid { grid-template-columns:1fr;gap:0; }
  body[data-page="home"] .who-grid article { padding:23px 0; }
  body[data-page="home"] .product-pair { grid-template-columns:1fr; }
  body[data-page="home"] .brand-rail { margin-inline:28px;padding-inline:0;display:block; }
  body[data-page="home"] .brand-rail>div { margin-top:18px;overflow:visible;white-space:normal;mask-image:none; }
  body[data-page="home"] .dark-section { display:block;padding-block:60px; }
  body[data-page="home"] .trust-list { margin-top:35px; }
  .section-heading { display:block; }
  .section-heading>p { max-width:570px;margin-top:20px; }
}
@media (max-width:700px) {
  :root { --site-header-height:68px; }
  html { scroll-padding-top:88px; }
  body { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
  main { padding-bottom:0; }
  .site-header { height:68px;padding-inline:20px; }
  .site-header nav { top:67px;padding:14px 20px 20px; }
  .site-header .header-cta { display:none; }
  .menu-button { margin-left:auto; }
  .brand>span { font-size:19px; }
  .brand img { width:31px;height:31px; }
  .brand small { font-size:6px; }
  .section { padding:52px 20px; }
  .section h2,.who-intro h2 { font-size:28px;line-height:1.5; }
  .section-heading { margin-bottom:28px; }
  .section-lead { font-size:15px; }
  body[data-page="home"] .hero { padding:36px 20px 44px;gap:30px; }
  body[data-page="home"] .hero h1 { font-size:clamp(27px,7vw,38px);line-height:1.5;letter-spacing:-.02em; }
  body[data-page="home"] .hero-lead { font-size:14px;max-width:33em; }
  body[data-page="home"] .hero-proofline { margin-bottom:24px;gap:8px; }
  body[data-page="home"] .hero-actions { display:flex;flex-direction:row;gap:10px; }
  body[data-page="home"] .hero-actions .button { min-width:0;flex:1;gap:12px;font-size:13px;padding-inline:12px; }
  body[data-page="home"] .hero-visual-caption { font-size:9px;padding:5px 8px;left:10px;bottom:10px; }
  body[data-page="home"] .hero-visual-badge { top:9px;right:9px;font-size:9px; }
  body[data-page="home"] .who-section { padding:52px 20px 35px; }
  body[data-page="home"] .who-intro h2 { font-size:27px; }
  body[data-page="home"] .product-card { padding:24px; }
  body[data-page="home"] .product-card h3 { font-size:25px; }
  body[data-page="home"] .product-pair { gap:18px; }
  body[data-page="home"] .scenario-grid { grid-template-columns:1fr;gap:16px; }
  body[data-page="home"] .function-table>div { gap:8px;padding:20px;grid-template-columns:1fr; }
  body[data-page="home"] .opportunity-card { padding:22px; }
  .opportunity-demo-tabs { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px; }
  .opportunity-demo-tab { justify-content:center;gap:6px;padding:9px 6px; }
  .opportunity-demo-tab span { font-size:12px; }
  .opportunity-demo-tab b { font-size:10px; }
  body[data-page="home"] .platform-section { padding-top:52px; }
  .cta-section { padding:52px 20px 56px; }
  .cta-section h2 { font-size:27px;line-height:1.5; }
  footer { padding:38px 20px 26px; }
  .footer-top { display:block;padding-bottom:25px; }
  .footer-top p { margin-top:20px; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:26px 20px;padding-block:26px; }
  .footer-grid>div:last-child { grid-column:1/-1; }
  .footer-bottom { display:flex;flex-direction:column;gap:7px;padding-top:18px; }
  .footer-bottom span { margin:0; }
  .footer-legal { margin-top:8px;gap:18px; }
  .footer-legal a { min-height:32px;display:inline-flex;align-items:center; }
  .mobile-cta { min-height:72px;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));gap:10px;border-radius:0;border:0;border-top:1px solid #dde7f4;background:rgba(255,255,255,.96);box-shadow:0 -5px 20px #183b6208; }
  .mobile-cta a { min-height:44px;border-radius:7px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .button,.site-icon,.hero-visual,.hero-illustration { animation:none!important;transition:none!important; }
}
