/* ========================================================
   accelAIx — shared design system
   ======================================================== */

/* Google Fonts are loaded via <link> in each page's <head> (faster than @import) */

:root{
  --navy-dk:#0B1526;
  --navy:#14213D;
  --navy-2:#1B2A47;
  --ink:#101827;
  --slate:#3B4759;
  --muted:#64748B;
  --silver:#94A3B8;
  --line:#E4E8EF;
  --line-soft:#EEF1F6;
  --bg:#FFFFFF;
  --bg-soft:#F7F8FB;
  --bg-soft-2:#F1F4F8;
  --amber:#D9760F;
  --amber-dk:#B45F08;
  --gold:#F2A93B;
  --gold-lt:#FDF1DE;
  --amber-lt:#FCEEDD;
  --teal:#0F7A6E;
  --teal-lt:#E7F6F3;
  --red:#C4361B;
  --red-lt:#FBEAE6;
  --font-head:'Manrope','Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --radius:14px;
  --radius-sm:9px;
  --shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 8px 28px rgba(15,23,42,.09);
  --shadow-lg:0 24px 64px rgba(15,23,42,.14);
  --ease:.35s cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--slate);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{border:none;cursor:pointer;font-family:var(--font-body);background:none}
input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--navy);letter-spacing:-.01em}

/* ── layout ─────────────────────────────────────────── */
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:820px;margin:0 auto;padding:0 24px}
.section{padding:104px 0}
.section-sm{padding:64px 0}
@media(max-width:768px){
  .section{padding:64px 0}
  .section-sm{padding:48px 0}
}
.bg-soft{background:var(--bg-soft)}
.bg-navy{background:var(--navy)}
.bg-navy-dk{background:linear-gradient(160deg,var(--navy-dk) 0%,var(--navy) 55%,#16283F 100%)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.flex{display:flex;align-items:center}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.text-center{text-align:center}
@media(max-width:900px){
  .grid-2,.grid-3{grid-template-columns:1fr}
  .grid-4{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .grid-4{grid-template-columns:1fr}
}

/* ── section heading kit ────────────────────────────── */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-size:12px;font-weight:700;
  letter-spacing:1.6px;text-transform:uppercase;color:var(--amber-dk);
  margin-bottom:16px;
}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--amber);border-radius:2px}
.eyebrow.on-dark{color:var(--gold)}
.h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.14;margin-bottom:18px}
.h2.on-dark{color:#fff}
.lede{font-size:18px;color:var(--muted);line-height:1.7;max-width:600px}
.lede.wide{max-width:760px}
.lede.on-dark{color:rgba(255,255,255,.66)}
.heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:52px}

/* ── buttons ────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border-radius:10px;font-family:var(--font-head);
  font-size:15px;font-weight:700;transition:transform var(--ease),box-shadow var(--ease),background var(--ease),border-color var(--ease),color var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--amber);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.btn-primary:hover{background:var(--amber-dk);transform:translateY(-1px);box-shadow:0 10px 24px rgba(217,118,15,.28)}
.btn-ghost-dark{border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn-ghost-dark:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.06)}
.btn-ghost-light{border:1.5px solid var(--line);color:var(--navy)}
.btn-ghost-light:hover{border-color:var(--navy);background:var(--bg-soft)}
.btn-sm{padding:10px 18px;font-size:13.5px}
.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--amber-dk);transition:gap var(--ease)}
.link-arrow:hover{gap:10px}

/* ── nav ────────────────────────────────────────────── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:#FFFFFF;
  border-bottom:1px solid var(--line-soft);
  transition:border-color var(--ease),box-shadow var(--ease);
}
.site-nav.scrolled{border-color:var(--line);box-shadow:0 1px 20px rgba(15,23,42,.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:92px;max-width:1180px;margin:0 auto;padding:0 24px}
.nav-logo img{height:60px;width:auto}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links a{
  font-size:14.5px;font-weight:600;color:var(--slate);padding:10px 14px;border-radius:8px;
  transition:color var(--ease),background var(--ease);
}
.nav-links a:hover{color:var(--navy);background:var(--bg-soft)}
.nav-links a.active{color:var(--amber-dk)}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-tel{font-size:13.5px;font-weight:600;color:var(--slate);display:flex;align-items:center;gap:6px}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.nav-burger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:var(--ease)}
.mobile-menu{display:none;position:fixed;top:92px;left:0;right:0;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.12);z-index:190;padding:12px 24px 24px;flex-direction:column;border-top:1px solid var(--line)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:14px 4px;font-size:15.5px;font-weight:600;color:var(--slate);border-bottom:1px solid var(--line-soft)}
.mobile-menu a.cta-row{color:var(--amber-dk)}
@media(max-width:920px){
  .nav-links{display:none}
  .nav-tel{display:none}
  .nav-burger{display:flex}
}

/* ── hero (interior pages) ─────────────────────────── */
.page-hero{padding:184px 0 88px;position:relative;overflow:hidden}
.page-hero .container{position:relative;z-index:2}
.hero-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.page-hero .hero-glow-a{width:520px;height:520px;background:radial-gradient(circle,rgba(217,118,15,.16) 0%,transparent 70%);top:-160px;right:-120px}
.page-hero .hero-glow-b{width:360px;height:360px;background:radial-gradient(circle,rgba(242,169,59,.10) 0%,transparent 70%);bottom:-120px;left:-100px}
.page-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;background:rgba(217,118,15,.14);border:1px solid rgba(217,118,15,.28);border-radius:20px;color:var(--gold);font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:26px}
.page-hero h1{font-size:clamp(34px,4.6vw,58px);font-weight:800;color:#fff;line-height:1.12;letter-spacing:-.015em;margin-bottom:22px}
.page-hero h1 em{font-style:normal;color:var(--gold)}
.page-hero .lede{color:rgba(255,255,255,.68);font-size:19px}
.crumb{font-size:13px;color:rgba(255,255,255,.45);margin-bottom:18px;font-weight:600;letter-spacing:.2px}
.crumb a{color:rgba(255,255,255,.7)}
.crumb a:hover{color:var(--gold)}

/* ── chevron decoration (brand motif) ─────────────── */
.chevrons{position:absolute;pointer-events:none}
.chevrons polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ── cards ──────────────────────────────────────────── */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease)}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--line-soft)}
.icon-tile{width:46px;height:46px;border-radius:11px;background:var(--amber-lt);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:18px;flex-shrink:0}
.icon-tile.navy{background:rgba(20,33,61,.07)}
.icon-tile.teal{background:var(--teal-lt)}

/* ── trust / logo strip ────────────────────────────── */
.trust-strip{padding:34px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.trust-label{font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--silver);margin-bottom:20px;text-align:center}
.trust-row{display:flex;align-items:center;justify-content:center;gap:46px;flex-wrap:wrap}
.trust-item{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--silver);letter-spacing:.2px;opacity:.85;transition:opacity var(--ease),color var(--ease)}
.trust-item:hover{opacity:1;color:var(--slate)}

/* ── numbered process / timeline ───────────────────── */
.process{display:flex;flex-direction:column}
.process-step{display:grid;grid-template-columns:64px 1fr;gap:28px;position:relative;padding-bottom:52px}
.process-step:last-child{padding-bottom:0}
.process-step::before{content:'';position:absolute;left:31px;top:64px;bottom:0;width:1px;background:var(--line);}
.process-step:last-child::before{display:none}
.process-num{width:64px;height:64px;border-radius:16px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:22px;font-weight:800;flex-shrink:0;z-index:1}
.process-body h3{font-size:22px;font-weight:800;margin-bottom:8px}
.process-body p{color:var(--muted);line-height:1.7;margin-bottom:16px;max-width:640px}
.process-points{display:flex;flex-wrap:wrap;gap:10px 28px}
.process-point{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--slate);font-weight:500}
.process-point::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0}

/* ── stat band ──────────────────────────────────────── */
.stat-band{background:var(--navy);border-radius:20px;padding:48px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.stat-band .stat-num{font-family:var(--font-head);font-size:44px;font-weight:800;color:var(--gold);line-height:1;margin-bottom:10px}
.stat-band .stat-lbl{font-size:14px;color:rgba(255,255,255,.62);line-height:1.5}
@media(max-width:768px){.stat-band{grid-template-columns:1fr;text-align:center}}

/* ── browser-chrome screenshot frame ───────────────────────── */
.browser-frame{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md)}
.browser-frame .bf-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg-soft-2);border-bottom:1px solid var(--line)}
.browser-frame .bf-dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.browser-frame .bf-dot:nth-child(1){background:#EF9A6B}
.browser-frame .bf-dot:nth-child(2){background:#F2C94C}
.browser-frame .bf-dot:nth-child(3){background:#8FC7A6}
.browser-frame img{display:block;width:100%;height:auto}
.shot-caption{font-size:13px;color:var(--muted);line-height:1.5;margin-top:14px}
.shot-caption strong{color:var(--navy)}

.shot-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.shot-gallery.g2{grid-template-columns:repeat(3,1fr)}
.shot-card{}
@media(max-width:900px){.shot-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.shot-gallery{grid-template-columns:1fr}}

.mini-shot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.mini-shot-row{grid-template-columns:1fr}}

/* ── quote ──────────────────────────────────────────── */
.pull-quote{border-left:3px solid var(--amber);padding-left:28px;margin:36px 0}
.pull-quote p{font-size:20px;color:var(--navy);font-weight:600;line-height:1.55;font-family:var(--font-head)}

/* ── tags / chips ───────────────────────────────────── */
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:20px;font-size:11.5px;font-weight:700;font-family:var(--font-head);letter-spacing:.4px;text-transform:uppercase}
.tag-amber{background:var(--amber-lt);color:var(--amber-dk)}
.tag-teal{background:var(--teal-lt);color:var(--teal)}
.tag-navy{background:rgba(20,33,61,.08);color:var(--navy)}
.chip{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--bg-soft-2);color:var(--slate);border:1px solid var(--line)}

/* ── badge (why cards) ──────────────────────────────── */
.badge-pill{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.badge-pill.unique{background:var(--gold-lt);color:#8A5A12}
.badge-pill.free{background:var(--teal-lt);color:#0B5C52}
.badge-pill.add{background:#EEF1FE;color:#3B3FA8}
.badge-pill.future{background:#F4EEFE;color:#6B3FB8}

/* ── divided rows (alternating feature sections) ────── */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:72px 0;border-bottom:1px solid var(--line-soft)}
.feature-row:last-child{border-bottom:none}
.feature-row.reverse .feature-visual{order:2}
.feature-row.reverse .feature-text{order:1}
@media(max-width:900px){
  .feature-row{grid-template-columns:1fr;gap:32px;padding:48px 0}
  .feature-row.reverse .feature-visual,.feature-row.reverse .feature-text{order:initial}
}
.feature-visual{background:var(--bg-soft);border:1px solid var(--line);border-radius:18px;padding:28px}
.panel-title{font-family:var(--font-head);font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.panel{background:#fff;border-radius:10px;border:1px solid var(--line);padding:20px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.mock-bar{height:8px;border-radius:4px;background:var(--line);margin-bottom:8px}
.mock-bar.dark{background:var(--navy);width:55%}
.mock-bar.w100{width:100%}
.mock-bar.w70{width:70%}
.mock-bar.w50{width:50%}
.mock-stat-row{display:flex;gap:12px;margin:14px 0}
.mock-stat{flex:1;background:var(--bg-soft);border-radius:8px;padding:12px;text-align:center}
.mock-stat .ms-num{font-family:var(--font-head);font-size:19px;font-weight:800;color:var(--amber-dk)}
.mock-stat .ms-lbl{font-size:10.5px;color:var(--muted);margin-top:3px}
.mock-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mock-flow-item{padding:6px 12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;font-size:11.5px;color:var(--slate);font-weight:600}
.mock-flow-arrow{color:var(--silver);font-size:13px}

/* ── use case row (solutions page) ─────────────────── */
.usecase{border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:24px;transition:box-shadow var(--ease)}
.usecase:hover{box-shadow:var(--shadow-md)}
.usecase-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:0}
.usecase-main{padding:38px 40px}
.usecase-side{background:var(--bg-soft);padding:38px 32px;border-left:1px solid var(--line)}
@media(max-width:900px){
  .usecase-grid{grid-template-columns:1fr}
  .usecase-side{border-left:none;border-top:1px solid var(--line)}
}
.usecase-main h3{font-size:23px;font-weight:800;margin:10px 0 8px}
.usecase-main .uc-sub{font-size:14.5px;color:var(--muted);margin-bottom:20px;line-height:1.6}
.uc-points{display:flex;flex-direction:column;gap:11px}
.uc-point{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--slate);line-height:1.55}
.uc-point-mark{width:19px;height:19px;border-radius:50%;background:var(--amber-lt);color:var(--amber-dk);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.oc-title{font-family:var(--font-head);font-size:11.5px;font-weight:700;color:var(--navy);margin-bottom:16px;text-transform:uppercase;letter-spacing:.6px}
.oc-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.oc-row:last-of-type{border-bottom:none}
.oc-label{font-size:13.5px;color:var(--muted)}
.oc-value{font-family:var(--font-head);font-size:14.5px;font-weight:800;color:var(--teal)}
.oc-connects{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.6}
.oc-connects strong{color:var(--navy)}

/* ── table ──────────────────────────────────────────── */
.use-table{width:100%;border-collapse:collapse;font-size:13.5px}
.use-table th{background:var(--navy);color:#fff;text-align:left;padding:12px 16px;font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:.3px;text-transform:uppercase}
.use-table td{padding:11px 16px;border-bottom:1px solid var(--line);color:var(--slate)}
.use-table tr:nth-child(even) td{background:var(--bg-soft)}
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}
.table-wrap .use-table{min-width:760px}

/* ── CTA band ───────────────────────────────────────── */
.cta-band{background:linear-gradient(135deg,var(--navy-dk) 0%,#16283F 100%);border-radius:24px;padding:64px 48px;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23D9760F' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.cta-band-inner{position:relative;z-index:1}
.cta-band h2{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.65);font-size:16.5px;max-width:520px;margin:0 auto 34px;line-height:1.6}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
@media(max-width:600px){.cta-band{padding:44px 24px}}

/* ── footer ─────────────────────────────────────────── */
footer{background:var(--navy-dk);padding:72px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.footer-brand .brand-wordmark{font-family:var(--font-head);font-size:24px;font-weight:800;margin-bottom:16px}
.footer-brand .brand-wordmark .accel{color:#fff}
.footer-brand .brand-wordmark .aix{color:var(--gold)}
.footer-brand p{font-size:14px;color:rgba(255,255,255,.42);line-height:1.7;max-width:270px;margin-bottom:22px}
.footer-social{display:flex;gap:10px}
.social-icon{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:14px;transition:var(--ease)}
.social-icon:hover{background:var(--amber);color:#fff}
.footer-col h5{font-family:var(--font-head);font-size:11.5px;font-weight:700;color:rgba(255,255,255,.32);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:18px}
.footer-col ul li{margin-bottom:11px}
.footer-col ul li a{font-size:14px;color:rgba(255,255,255,.55);transition:color var(--ease)}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:12.5px;color:rgba(255,255,255,.3)}
.footer-bottom-links{display:flex;gap:22px}
.footer-bottom-links a{font-size:12.5px;color:rgba(255,255,255,.3);transition:color var(--ease)}
.footer-bottom-links a:hover{color:var(--gold)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr}}

/* ── contact form ───────────────────────────────────── */
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow-md)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:700;font-family:var(--font-head);color:var(--slate);margin-bottom:7px}
.form-group label .req{color:var(--amber)}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px 15px;border:1.5px solid var(--line);border-radius:9px;font-size:14.5px;
  color:var(--slate);background:#fff;transition:border-color var(--ease),box-shadow var(--ease);outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--amber);box-shadow:0 0 0 4px rgba(217,118,15,.1)}
.form-group textarea{min-height:104px;resize:vertical}
.form-success{display:none;text-align:center;padding:40px 20px}
.form-success .success-icon{font-size:44px;margin-bottom:18px}
.form-success h4{font-size:21px;margin-bottom:10px}
.form-success p{font-size:14.5px;color:var(--muted);line-height:1.6}
@media(max-width:900px){.form-row{grid-template-columns:1fr}}

.contact-detail{display:flex;align-items:flex-start;gap:16px;margin-bottom:26px}
.contact-detail-icon{width:46px;height:46px;border-radius:12px;background:var(--amber-lt);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.contact-detail-label{font-size:11.5px;font-weight:700;font-family:var(--font-head);color:var(--silver);letter-spacing:.6px;text-transform:uppercase;margin-bottom:4px}
.contact-detail-value{font-size:16.5px;font-weight:700;color:var(--navy)}
.contact-detail-value a{color:var(--navy);transition:color var(--ease)}
.contact-detail-value a:hover{color:var(--amber-dk)}

/* ── fade-up scroll animation ───────────────────────── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-up.d1{transition-delay:.08s}
.fade-up.d2{transition-delay:.16s}
.fade-up.d3{transition-delay:.24s}
.fade-up.d4{transition-delay:.32s}

/* ── misc ───────────────────────────────────────────── */
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill{padding:8px 16px;border-radius:20px;background:var(--bg-soft-2);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--slate)}
hr.rule{border:none;border-top:1px solid var(--line);margin:48px 0}

/* ── architecture diagram (home) ────────────────────── */
.arch{display:grid;grid-template-columns:1fr 1.55fr 1fr;column-gap:36px;row-gap:34px;align-items:stretch}
.arch-sources{grid-column:2;grid-row:1;position:relative;text-align:center;padding:16px 18px;border:1px dashed var(--silver);border-radius:var(--radius);background:var(--bg-soft)}
.arch-sources::after{content:'';position:absolute;left:50%;bottom:-35px;width:2px;height:34px;background:var(--silver);transform:translateX(-50%)}
.arch-label{font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.arch-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.arch-chip{padding:6px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--slate);line-height:1.35}
.arch-side{grid-row:2;display:flex;flex-direction:column;justify-content:center;gap:24px}
.arch-side.left{grid-column:1}
.arch-side.right{grid-column:3}
.arch-engine{grid-column:2;grid-row:2}
.arch-persona{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;box-shadow:var(--shadow-sm)}
.arch-persona::after{content:'';position:absolute;top:50%;width:35px;height:2px;background:repeating-linear-gradient(90deg,var(--silver) 0 5px,transparent 5px 9px)}
.arch-side.left .arch-persona::after{right:-37px}
.arch-side.right .arch-persona::after{left:-37px}
.arch-persona-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.arch-icon{width:42px;height:42px;border-radius:12px;background:var(--amber-lt);color:var(--amber-dk);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.arch-icon svg{width:21px;height:21px}
.arch-persona h4{font-size:17px;font-weight:800;line-height:1.2}
.arch-tagline{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--silver);margin-top:3px}
.arch-persona ul{list-style:none;display:grid;gap:7px}
.arch-persona li{position:relative;padding-left:16px;font-size:14px;color:var(--slate);line-height:1.45}
.arch-persona li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--amber)}
.arch-engine{background:linear-gradient(180deg,#fff 0%,#FFFAF3 100%);border:2px solid var(--amber);border-radius:18px;padding:26px 24px 24px;box-shadow:var(--shadow-md)}
.arch-engine-title{text-align:center;margin-bottom:18px}
.arch-engine-title h3{font-size:25px;font-weight:800;line-height:1.2}
.arch-engine-title h3 span{color:var(--amber)}
.arch-engine-title p{font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);margin-top:6px}
.arch-layer{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.arch-layer+.arch-layer{margin-top:12px}
.arch-layer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--navy-2);color:#fff}
.arch-layer.primary .arch-layer-head{background:var(--amber)}
.arch-layer-head b{font-family:var(--font-head);font-size:15.5px;font-weight:800}
.arch-layer-head small{font-size:10.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;opacity:.78;text-align:right}
.arch-layer .arch-chips{justify-content:flex-start;padding:12px 14px}
.arch-layer .arch-chip{background:var(--bg-soft);font-size:12.5px}
.arch-stores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.arch-store{border-radius:12px;background:var(--bg-soft-2);border:1px solid var(--line);padding:11px 14px}
.arch-store b{display:block;font-family:var(--font-head);font-size:13.5px;font-weight:800;color:var(--navy)}
.arch-store small{font-size:12px;color:var(--muted)}
@media(max-width:980px){
  .arch{grid-template-columns:1fr;row-gap:24px}
  .arch-sources,.arch-engine,.arch-side.left,.arch-side.right{grid-column:auto;grid-row:auto}
  .arch-sources::after{bottom:-25px;height:24px}
  .arch-engine{order:2}
  .arch-side{order:3;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .arch-persona::after{display:none}
}
@media(max-width:600px){
  .arch-side{grid-template-columns:1fr}
  .arch-stores{grid-template-columns:1fr}
  .arch-layer-head small{display:none}
}

/* ── merged-site additions ──────────────────────────── */
.hero-chips{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px}
.hero-chips span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:rgba(255,255,255,.72)}
.hero-chips span::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold)}
.mini-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:box-shadow var(--ease),transform var(--ease)}
.mini-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.mini-card h3{font-size:16.5px;margin-bottom:6px}
.mini-card p{font-size:14px;color:var(--muted);line-height:1.6}
.oc-measure{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--slate)}
.oc-measure:last-of-type{border-bottom:none}
.oc-measure::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--teal);flex-shrink:0}
.oc-note{font-size:12.5px;color:var(--muted);margin:-8px 0 12px;line-height:1.5}
.step-label{font-family:var(--font-head);font-size:12px;font-weight:800;letter-spacing:1px;color:var(--amber-dk);margin-bottom:10px}
.demo-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft-2)}
.demo-thumb img{width:100%;height:100%;object-fit:cover;object-position:top left}
.demo-soon{position:absolute;right:12px;bottom:12px;padding:6px 12px;border-radius:20px;background:rgba(11,21,38,.82);color:#fff;font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:.4px}
.demo-card h3{font-size:18px;margin:14px 0 6px}
.demo-card p{font-size:14px;color:var(--muted);line-height:1.6}
.stack{max-width:900px;margin:0 auto}

/* ── two-column hero + hero visuals ─────────────────── */
h1,h2,h3,.h2{text-wrap:balance}
.lede,.page-hero .lede{text-wrap:pretty}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:60px;align-items:center}
.hero-grid .page-hero-text h1,.page-hero .hero-grid h1{font-size:clamp(34px,4vw,52px)}
.hero-visual{position:relative}
.hv-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.hv-title{font-family:var(--font-head);font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.hv-sub{font-size:13.5px;color:rgba(255,255,255,.55);margin-bottom:18px}
.hv-rows{display:flex;flex-direction:column;gap:10px}
.hv-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.hv-num{width:36px;height:36px;border-radius:10px;background:rgba(217,118,15,.18);color:var(--gold);font-family:var(--font-head);font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hv-num.done{background:rgba(15,122,110,.28);color:#6FD8C4}
.hv-num.wait{background:rgba(242,169,59,.22);color:var(--gold)}
.hv-label{flex:1;min-width:0}
.hv-label b{display:block;color:#fff;font-size:14.5px;font-weight:700;font-family:var(--font-head)}
.hv-label small{display:block;color:rgba(255,255,255,.52);font-size:12.5px;line-height:1.4}
.hv-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid rgba(111,216,196,.35);color:#8FE3D2;white-space:nowrap}
.hv-pill.amber{border-color:rgba(242,169,59,.4);color:var(--gold)}
.hv-pill.muted{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.55)}
.hv-foot{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:rgba(255,255,255,.5);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hv-foot a{color:var(--gold);font-weight:700}
.hero-shot{position:relative;padding:30px 0 26px}
.hero-shot .browser-frame{box-shadow:0 30px 70px rgba(0,0,0,.35);border-color:rgba(255,255,255,.14)}
.hero-shot .bf-label{margin-left:8px;font-size:11.5px;font-weight:600;color:var(--muted)}
.hv-float{position:absolute;z-index:2;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 14px 34px rgba(0,0,0,.28);font-size:12.5px;color:var(--slate);line-height:1.35}
.hv-float b{display:block;font-family:var(--font-head);font-size:13.5px;color:var(--navy)}
.hv-float.tl{top:-30px;left:-22px}
.hv-float.br{bottom:0;right:-14px}
.hv-float .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:6px}
@media(max-width:1100px){.hv-float.tl{left:-8px}.hv-float.br{right:-6px}}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-visual{max-width:560px}
  .hero-visual.hide-sm{display:none}
}

/* ── home hero collage (full-journey visual) ────────── */
.hero-collage{position:relative;aspect-ratio:1/1;max-height:560px}
.hc-card{position:absolute;margin:0}
.hc-card .browser-frame{box-shadow:0 26px 60px rgba(0,0,0,.4);border-color:rgba(255,255,255,.14)}
.hc-card .bf-bar{padding:8px 12px}
.hc-card img{display:block;width:100%;height:auto}
.hc-step{margin-left:8px;font-family:var(--font-head);font-size:11px;font-weight:800;letter-spacing:.3px;color:var(--navy)}
.hc-step i{font-style:normal;color:var(--amber-dk);margin-right:4px}
.hc-1{top:0;left:0;width:72%;z-index:1}
.hc-2{top:24%;right:0;width:58%;z-index:2}
.hc-3{bottom:4%;left:6%;width:62%;z-index:3}
.hc-badge{position:absolute;z-index:4;right:2%;bottom:0;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 14px 34px rgba(0,0,0,.3);font-size:12.5px;color:var(--slate);line-height:1.35}
.hc-badge b{display:block;font-family:var(--font-head);font-size:13.5px;color:var(--navy)}
.hc-badge .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:6px}
.hc-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:22px;font-family:var(--font-head);font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}
.hc-strip span{padding:5px 11px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.hc-strip em{font-style:normal;color:var(--gold)}
@media(min-width:981px){.hero-grid.home{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
.hc-strip{flex-wrap:nowrap;gap:0;justify-content:flex-start}
.hc-strip .hc-flow{padding:7px 14px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);white-space:nowrap}
@media(max-width:600px){.hc-strip .hc-flow{white-space:normal}}

/* ── home hero: architecture at a glance ────────────── */
.ha-sources{margin:0 110px;text-align:center;padding:12px 14px 13px;border:1px dashed rgba(255,255,255,.26);border-radius:14px;background:rgba(255,255,255,.04)}
.ha-label{font-family:var(--font-head);font-size:10.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px}
.ha-src{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.ha-src span{font-size:11.5px;font-weight:600;color:rgba(255,255,255,.82);padding:4px 10px;border-radius:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.ha-down{position:relative;width:2px;height:26px;margin:0 auto;background:rgba(255,255,255,.3)}
.ha-down::after{content:'';position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(255,255,255,.45);border-bottom:0}
.ha-mid{display:grid;grid-template-columns:92px minmax(0,1fr) 92px;gap:18px;align-items:center;margin-top:4px}
.ha-roles{display:flex;flex-direction:column;gap:18px}
.ha-role{position:relative;text-align:center;padding:12px 6px 11px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13)}
.ha-role .ha-ico{width:34px;height:34px;margin:0 auto 7px;border-radius:10px;background:rgba(217,118,15,.2);color:var(--gold);display:flex;align-items:center;justify-content:center}
.ha-role .ha-ico svg{width:18px;height:18px}
.ha-role b{display:block;font-family:var(--font-head);font-size:12.5px;color:#fff;line-height:1.2}
.ha-role small{display:block;font-size:10.5px;color:rgba(255,255,255,.5);margin-top:3px;line-height:1.3}
.ha-role::after{content:'';position:absolute;top:50%;width:18px;border-top:2px dashed rgba(255,255,255,.3)}
.ha-roles.left .ha-role::after{right:-20px}
.ha-roles.right .ha-role::after{left:-20px}
.ha-engine{background:linear-gradient(180deg,#fff 0%,#FFFAF3 100%);border:2px solid var(--amber);border-radius:16px;padding:16px 14px 14px;box-shadow:0 30px 70px rgba(0,0,0,.4)}
.ha-engine-title{text-align:center;margin-bottom:10px}
.ha-engine-title h3{font-size:20px;font-weight:800;line-height:1.15}
.ha-engine-title h3 span{color:var(--amber)}
.ha-engine-title p{font-family:var(--font-head);font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:4px}
.ha-layer{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.ha-layer+.ha-layer{margin-top:7px}
.ha-layer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 11px;background:var(--navy-2);color:#fff}
.ha-layer.primary .ha-layer-head{background:var(--amber)}
.ha-layer-head b{font-family:var(--font-head);font-size:13px;font-weight:800}
.ha-layer-head small{font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;opacity:.78}
.ha-chips{display:flex;flex-wrap:wrap;gap:5px;padding:7px 9px}
.ha-chips span{font-size:11px;font-weight:600;color:var(--slate);padding:3px 8px;border-radius:6px;background:var(--bg-soft);border:1px solid var(--line)}
.ha-stores{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.ha-stores span{font-family:var(--font-head);font-size:11px;font-weight:800;color:var(--navy);padding:6px 10px;border-radius:8px;background:var(--bg-soft-2);border:1px solid var(--line);text-align:center}
.ha .hc-strip{justify-content:center;margin-top:24px}
@media(max-width:600px){
  .ha-sources{margin:0}
  .ha-mid{grid-template-columns:1fr;gap:14px}
  .ha-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ha-roles.left{order:2}.ha-engine{order:1}.ha-roles.right{order:3}
  .ha-role::after{display:none}
}

/* ── home hero: enterprise ecosystem band ───────────── */
.ha-eco .ha-label{text-align:center;margin-bottom:10px}
.ha-eco-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ha-sys{text-align:center;padding:10px 4px 9px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.ha-sys .ha-ico{width:30px;height:30px;margin:0 auto 6px;border-radius:9px;background:rgba(15,122,110,.32);color:#7EDCCB;display:flex;align-items:center;justify-content:center}
.ha-sys .ha-ico svg{width:17px;height:17px}
.ha-sys b{display:block;font-family:var(--font-head);font-size:11.5px;color:#fff;line-height:1.2}
.ha-sys small{display:block;font-size:9.5px;color:rgba(255,255,255,.5);margin-top:3px;line-height:1.3}
.ha-bus{height:14px;margin:0 10%;border:2px solid rgba(255,255,255,.28);border-top:0;border-radius:0 0 10px 10px;
  background-image:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28));
  background-size:2px 100%;background-repeat:no-repeat;background-position:25% 0,50% 0,75% 0}
.ha-eco + .ha-down{height:20px}
@media(max-width:600px){
  .ha-eco-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ha-bus{display:none}
  .ha-eco + .ha-down{margin-top:10px}
}
@media(max-width:600px){.ha-eco-grid{display:flex;flex-wrap:wrap;justify-content:center}.ha-eco-grid .ha-sys{flex:0 0 calc(33.333% - 6px)}}

/* ── hero engine: layer icons + uniform 2×2 components ─ */
.ha-layer-head b{display:inline-flex;align-items:center;gap:7px}
.ha-lic{width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ha-lic svg{width:14px;height:14px}
.ha-chips.g2{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ha-chips.g2 span{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arch-layer-head b{display:inline-flex;align-items:center;gap:9px}
.arch-layer-head .ha-lic{width:26px;height:26px}
.arch-layer-head .ha-lic svg{width:16px;height:16px}
.ha-layer-head b,.ha-layer-head small{white-space:nowrap}
.ha-layer-head small{overflow:hidden;text-overflow:ellipsis;min-width:0}
.arch-engine .arch-layer .arch-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.arch-engine .arch-layer .arch-chip{text-align:center}

/* ── data foundation tier (separate from the capability layers) ── */
.ha-found{margin-top:11px;padding-top:9px;border-top:1.5px dashed #D7DDE6}
.ha-found-label{font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:7px}
.ha-found .ha-stores{margin-top:0}
.ha-found .ha-stores span{display:flex;align-items:center;justify-content:center;gap:6px;background:#5B6577;border-color:#5B6577;color:#fff;border-radius:10px;padding:8px 8px}
.ha-found .ha-stores svg{width:14px;height:14px;flex-shrink:0;opacity:.9}
.arch-found{margin-top:16px;padding-top:12px;border-top:1.5px dashed #D7DDE6}
.arch-found .ha-found-label{font-size:10.5px;margin-bottom:10px}
.arch-found .arch-stores{margin-top:0}
.arch-found .arch-store{display:flex;align-items:center;gap:10px;background:#5B6577;border-color:#5B6577}
.arch-found .arch-store b{color:#fff}
.arch-found .arch-store small{color:rgba(255,255,255,.72)}
.arch-found .arch-store .db{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.arch-found .arch-store .db svg{width:17px;height:17px}
.arch-found .arch-store b{line-height:1.25}
.arch-found .arch-store small{display:block;line-height:1.35;margin-top:3px}
.hero-chips{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 32px}
@media(max-width:480px){.hero-chips{grid-template-columns:1fr}}
