/* ============================================================
   aiH Systems — shared styles
   Off-white + electric indigo · premium minimalist
   ============================================================ */
:root{
  --bg:#F6F3EB;        /* soft cream — page base */
  --bg-1:#FBFAF6;      /* warm ivory — cards & boxes */
  --bg-2:#EFEBDF;      /* warm sand — recessed insets */
  --chrome:#FAFBFF;    /* cool porcelain — header & rail */
  --ink:#15151A;       /* near-black */
  --ink-2:#4A4A52;     /* body (AA on off-white) */
  --ink-3:#5E5E66;     /* small text (kept dark enough for AA) */
  --blue:#4F5BD5;      /* electric indigo */
  --blue-2:#5C6FFF;
  --blue-deep:#3A45C4;
  --blue-soft:rgba(79,91,213,.08);
  --blue-line:rgba(79,91,213,.22);
  --line:rgba(21,21,26,.10);
  --line-2:rgba(21,21,26,.16);
  --shadow-sm:0 1px 2px rgba(21,21,26,.05),0 4px 14px rgba(21,21,26,.05);
  --shadow-md:0 8px 30px -8px rgba(21,21,26,.14);
  --shadow-glow:0 14px 40px -12px rgba(79,91,213,.40);
  --r:10px;--r-lg:18px;--pill:100px;
  --d:'Space Grotesk',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --s:'Space Grotesk',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --b:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --m:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --pad:clamp(1.25rem,5vw,5rem);
  --maxw:1240px;
  --h1:clamp(2rem,3.6vw,2.8rem);
  --h2:clamp(1.45rem,2.5vw,1.95rem);
  --h3:clamp(1.1rem,1.5vw,1.25rem);
  --h4:1rem;
}
*{margin:0;padding:0;box-sizing:border-box}
#bgfx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:1}
@media(max-width:768px){#bgfx{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--b);background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
section{padding-block:clamp(4rem,8vw,8rem);position:relative}
.tight{padding-top:0}

/* type */
.eyebrow{font-family:var(--m);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--blue);opacity:.75}
.eyebrow.center{justify-content:center}
.serif{font-family:var(--serif);font-style:italic;font-weight:inherit;letter-spacing:-.01em;color:var(--blue)}
.serif.ink{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--d);font-weight:700;letter-spacing:-.025em;line-height:1.14;color:var(--ink);overflow-wrap:break-word}
h1,.h1{font-size:var(--h1);line-height:1.1;letter-spacing:-.03em;text-wrap:balance}
h2,.h2,.sh2{font-size:var(--h2);line-height:1.18;letter-spacing:-.022em}
h3,.h3{font-size:var(--h3);font-weight:600;line-height:1.32;letter-spacing:-.012em}
h4,.h4{font-size:var(--h4);font-weight:600;line-height:1.35;letter-spacing:-.008em}
.lead{font-size:clamp(1.04rem,1.45vw,1.2rem);color:var(--ink-2);line-height:1.7}
.muted{color:var(--ink-2)}
.mono-sm{font-family:var(--m);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--d);font-weight:600;font-size:.92rem;padding:.9rem 1.55rem;border-radius:var(--pill);cursor:pointer;border:1px solid transparent;transition:.3s var(--ease);white-space:nowrap}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:var(--shadow-glow)}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}

/* skip + focus */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--blue);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem var(--pad);transition:.35s var(--ease);background:var(--chrome);border-bottom:1px solid var(--line)}
.nav.scrolled{background:rgba(250,251,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 14px rgba(21,21,26,.06);padding-block:.75rem}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--d);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink)}
.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--blue);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;font-family:var(--d);box-shadow:0 6px 16px -6px rgba(79,91,213,.7)}
.logo .lo-ai{color:var(--blue)}
.logo .lo-sub{display:block;font-family:var(--m);font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-top:1px}
.nav-links{display:flex;align-items:center;gap:.2rem}
.nav-links a{font-size:.85rem;color:var(--ink-2);padding:.5rem .9rem;border-radius:var(--pill);transition:.2s}
.nav-links a:hover{color:var(--ink);background:rgba(21,21,26,.05)}
.nav-links a.active{color:var(--blue);background:var(--blue-soft);font-weight:600}
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop>a::after{content:"";display:inline-block;width:.4em;height:.4em;margin-left:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.55;transition:.25s var(--ease)}
.nav-drop:hover>a::after,.nav-drop:focus-within>a::after{transform:rotate(225deg) translateY(1px);opacity:1}
.nav-drop::before{content:"";position:absolute;top:100%;left:0;right:0;height:.7rem}
.nav-menu{position:absolute;top:calc(100% + .55rem);left:0;min-width:248px;background:var(--chrome);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:.5rem;display:flex;flex-direction:column;gap:.1rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s var(--ease);z-index:120}
.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu a{display:block;font-size:.85rem;color:var(--ink-2);padding:.62rem .8rem;border-radius:9px;white-space:nowrap;background:none}
.nav-menu a:hover{color:var(--blue);background:var(--blue-soft)}
.nav-cta{display:flex;align-items:center;gap:.8rem}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.ham span{width:24px;height:2px;background:var(--ink);transition:.3s var(--ease)}
.ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(86vw,360px);z-index:99;background:var(--bg-1);
  transform:translateX(100%);transition:transform .38s var(--ease),visibility .38s var(--ease);
  display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:5.25rem 1.5rem 2.2rem;
  visibility:hidden;overflow-y:auto;overscroll-behavior:contain;
  border-left:1px solid var(--line);box-shadow:-20px 0 55px -22px rgba(21,21,26,.32)}
.drawer.open{transform:translateX(0);visibility:visible}
/* dimmed backdrop behind the side panel */
.drawer-scrim{position:fixed;inset:0;z-index:98;background:rgba(21,21,26,.42);
  opacity:0;visibility:hidden;transition:opacity .38s var(--ease),visibility .38s var(--ease);backdrop-filter:blur(2px)}
.drawer-scrim.open{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.drawer,.drawer-scrim{transition:none}}
/* top-level rows + expandable group headers */
.drawer>a,.drawer summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--d);font-weight:600;font-size:1.2rem;letter-spacing:-.02em;line-height:1.2;
  padding:1rem .15rem;color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s var(--ease)}
.drawer summary{cursor:pointer;list-style:none}
.drawer summary::-webkit-details-marker{display:none}
.drawer>a:hover,.drawer>a:active,.drawer summary:hover,.drawer summary:active{color:var(--blue)}
/* chevron on plain top-level links */
.drawer>a:not(.d-cta)::after{content:"";width:7px;height:7px;border-right:2px solid var(--line-2);border-bottom:2px solid var(--line-2);transform:rotate(-45deg);transition:.2s var(--ease);flex:0 0 auto}
.drawer>a:not(.d-cta):hover::after,.drawer>a:not(.d-cta):active::after{border-color:var(--blue);transform:rotate(-45deg) translateX(2px)}
/* expandable groups */
.drawer-group{display:flex;flex-direction:column}
.dg-chev{width:18px;height:18px;color:var(--ink-3);transition:transform .25s var(--ease);flex:0 0 auto}
.drawer-group[open]>summary{color:var(--blue)}
.drawer-group[open] .dg-chev{transform:rotate(180deg);color:var(--blue)}
.drawer-sub{display:flex;flex-direction:column;padding:.2rem 0 .5rem;animation:drawerSub .25s var(--ease)}
@keyframes drawerSub{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.drawer-sub a{position:relative;font-family:var(--b);font-weight:500;font-size:.98rem;color:var(--ink-2);
  padding:.62rem .15rem .62rem 1.1rem;border-bottom:1px solid var(--line);transition:color .2s var(--ease)}
.drawer-sub a:last-child{border-bottom:0}
.drawer-sub a::before{content:"";position:absolute;left:.15rem;top:50%;width:5px;height:5px;border-radius:50%;background:var(--blue-line);transform:translateY(-50%);transition:.2s var(--ease)}
.drawer-sub a:hover,.drawer-sub a:active{color:var(--blue)}
.drawer-sub a:hover::before,.drawer-sub a:active::before{background:var(--blue)}
/* CTA */
.drawer .d-cta{margin-top:1.6rem;border:0;color:#fff;font-size:1rem;justify-content:center;padding:1.05rem 1.4rem}
/* staggered entrance */
.drawer>*{opacity:0;transform:translateY(8px)}
.drawer.open>*{animation:drawerItem .45s var(--ease) forwards}
.drawer.open>*:nth-child(1){animation-delay:.05s}
.drawer.open>*:nth-child(2){animation-delay:.10s}
.drawer.open>*:nth-child(3){animation-delay:.15s}
.drawer.open>*:nth-child(4){animation-delay:.20s}
.drawer.open>*:nth-child(5){animation-delay:.25s}
.drawer.open>*:nth-child(6){animation-delay:.30s}
@keyframes drawerItem{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.drawer>*{opacity:1;transform:none}.drawer.open>*{animation:none}.drawer-sub{animation:none}}

/* HERO */
.hero{display:flex;align-items:center;padding:6.5rem 0 3.5rem;position:relative;overflow:hidden}
@media(min-width:900px) and (min-height:760px){.hero{min-height:90svh;padding-top:7rem}}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:
  radial-gradient(60% 50% at 80% 12%,rgba(79,91,213,.12),transparent 60%),
  radial-gradient(50% 50% at 8% 92%,rgba(79,91,213,.06),transparent 60%)}
.hero::after{content:"";position:absolute;inset:0;z-index:0;opacity:.7;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:62px 62px;mask-image:radial-gradient(70% 70% at 50% 38%,#000,transparent 78%)}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero h1{margin:.2rem 0 1.5rem;max-width:17ch}
.hero .lead{margin-bottom:2.3rem}
.page-hero{padding:9rem 0 3rem;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;z-index:0;opacity:.6;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:62px 62px;mask-image:radial-gradient(60% 80% at 30% 20%,#000,transparent 80%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{max-width:18ch;margin-bottom:1.3rem}
.crumb{font-family:var(--m);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1.6rem}
.crumb a:hover{color:var(--blue)}
.hero-acts{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:3rem}
.engines{display:flex;align-items:center;gap:.7rem 1.3rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5rem;max-width:780px}
.engines .lbl{font-family:var(--m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.engines .e{font-size:.82rem;color:var(--ink-2);font-weight:500}

/* STAT STRIP */
.stats{border-block:1px solid var(--line);background:var(--bg-1)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:2.4rem var(--pad);border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat .n{font-family:var(--d);font-weight:800;font-size:clamp(2.1rem,3.8vw,3rem);letter-spacing:-.04em;line-height:1;color:var(--blue)}
.stat .n .serif{font-size:.7em;color:var(--blue)}
.stat .l{margin-top:.55rem;font-size:.82rem;color:var(--ink-2);line-height:1.45}

/* section header */
.sec-head{margin-bottom:3.2rem}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head .lead{margin-top:1.1rem}

/* generic cards grid */
.cards{display:grid;gap:1.4rem}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;overflow:hidden;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--blue-2));transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.card:hover{border-color:var(--blue-line);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.card:hover::before{transform:scaleY(1)}
.card:hover .icon-chip{background:var(--blue);color:#fff;box-shadow:var(--shadow-glow)}
.card .num{font-family:var(--m);color:var(--blue);font-size:.7rem;letter-spacing:.14em;margin-bottom:1rem;text-transform:uppercase}
.card h3{margin-bottom:.7rem}
.card p{color:var(--ink-2);font-size:.92rem;line-height:1.65}
.card .tags{font-size:.78rem;color:var(--ink-3);margin-top:1rem}
.icon-chip{width:46px;height:46px;border-radius:12px;background:var(--blue-soft);border:1px solid var(--blue-line);display:grid;place-items:center;color:var(--blue);margin-bottom:1.3rem;transition:.3s var(--ease)}
.icon-chip svg{width:22px;height:22px}
.card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.2rem;font-family:var(--d);font-weight:600;font-size:.86rem;color:var(--blue)}
.card-link svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.card-link:hover svg{transform:translateX(4px)}

/* PRODUCT detail blocks */
.pcard{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:1.4rem;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.pcard:hover{border-color:var(--blue-line);box-shadow:var(--shadow-md)}
.pcard:hover .icon-chip{background:var(--blue);color:#fff;box-shadow:var(--shadow-glow)}
/* products as open sections */
.psec{padding-block:clamp(2.6rem,5vw,4.5rem);scroll-margin-top:90px}
.card h2[id]{scroll-margin-top:120px}
.psec+.psec{border-top:1px solid var(--line)}
.psec .pcard-in{padding:0}
.psec .p-changed{padding:clamp(1.6rem,3.2vw,2.6rem) 0 0;border-top:1px solid var(--line);margin-top:clamp(1.6rem,3.2vw,2.6rem)}
.pcard-in{display:grid;grid-template-columns:1.1fr 1.3fr;gap:2.5rem;padding:clamp(1.6rem,3.5vw,3rem)}
.pcard.flag{border-color:var(--blue-line)}
.pcard.flag::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 80% at 100% 0,rgba(79,91,213,.07),transparent 55%);pointer-events:none}
.p-changed{position:relative;border-top:1px solid var(--line);padding:clamp(1.6rem,3.5vw,3rem)}
.p-changed .h3{margin-top:.2rem}
.p-changed .p-plain{margin:.6rem 0 1.6rem;max-width:none}
.changed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.changed-grid .num{font-family:var(--m);color:var(--blue);font-size:.7rem;letter-spacing:.14em;margin-bottom:.5rem;text-transform:uppercase}
.changed-grid .cl{color:var(--blue);font-weight:700;margin-right:.25rem}
.changed-grid p{font-size:.92rem;color:var(--ink-2);line-height:1.6;margin-top:.4rem}
@media(max-width:768px){.changed-grid{grid-template-columns:1fr}}
.p-tag{font-family:var(--m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.p-tag .pill{border:1px solid var(--blue-line);color:var(--blue);padding:.18rem .6rem;border-radius:var(--pill);font-size:.6rem}
.p-desc{color:var(--ink-2);font-size:.98rem;line-height:1.7;margin:.5rem 0 1.4rem}
.p-list{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.p-list li{position:relative;padding-left:1.9rem;font-size:.93rem;color:var(--ink-2);line-height:1.62}
.p-list li::before{content:"";position:absolute;left:0;top:.18rem;width:17px;height:17px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue-line)}
.p-list li::after{content:"";position:absolute;left:5px;top:.44rem;width:4px;height:7px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg)}
.p-list li b{color:var(--ink);font-weight:600}
.p-meta{margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font-family:var(--m);font-size:.62rem;letter-spacing:.05em;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--pill);padding:.35rem .8rem;background:var(--bg-2)}
.p-right{align-self:center}

/* mini visuals */
.panel{border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;background:var(--bg-1);box-shadow:var(--shadow-md)}
.panel-bar{display:flex;gap:.45rem;margin-bottom:1.2rem}
.panel-bar span{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.panel-bar span:first-child{background:#E2685C}
.panel-bar span:nth-child(2){background:#E0A13B}
.panel-bar span:nth-child(3){background:#62B45A}
.share{display:flex;flex-direction:column;gap:.7rem;margin-top:.4rem}
.s-row{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:.7rem;font-size:.74rem;color:var(--ink-2)}
.s-row.wide{grid-template-columns:120px 1fr 50px}
.track{height:10px;border-radius:6px;background:rgba(21,21,26,.07);overflow:hidden}
.fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--blue),var(--blue-2))}
.fill.dim{background:rgba(21,21,26,.2)}
.bar{height:8px;border-radius:6px;background:linear-gradient(90deg,#E25555,#E0A13B,#7FB24A,#4F5BD5);margin:.4rem 0 .9rem}
.bar-row{display:flex;justify-content:space-between;font-family:var(--m);font-size:.56rem;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}
.bubble{font-size:.82rem;line-height:1.6;border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;background:var(--bg-1);margin-bottom:.7rem;color:var(--ink-2)}
.bubble.ans{border-color:var(--blue-line);background:var(--blue-soft);color:var(--ink)}
.bubble .who{color:var(--ink-3);font-family:var(--m);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.bubble .src{color:var(--ink-3);font-size:.72rem}

/* funnel / steps */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.mini{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;background:var(--bg-1);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.mini::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--blue-2));transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.mini:hover{border-color:var(--blue-line);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.mini:hover::before{transform:scaleY(1)}
.mini .st{font-family:var(--m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.7rem}
.mini .sn{font-family:var(--d);font-weight:800;font-size:2.3rem;color:var(--blue-line);line-height:1;margin-bottom:.9rem}
.mini h4{margin-bottom:.5rem}
.mini p{font-size:.86rem;color:var(--ink-2);line-height:1.55}

/* PILLARS (vertical list) */
.pillars{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:48px 1fr auto;gap:1.4rem;align-items:start;padding:1.7rem 0;border-bottom:1px solid var(--line)}
.pillar .pn{font-family:var(--d);font-weight:800;color:var(--blue);font-size:1.3rem}
.pillar h4{margin-bottom:.4rem}
.pillar p{font-size:.92rem;color:var(--ink-2);line-height:1.6;max-width:70ch}
.pillar .tagp{font-family:var(--m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue-line);border-radius:var(--pill);padding:.3rem .7rem;height:fit-content;white-space:nowrap}

/* ABOUT — foundation principle cards */
.found-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.found-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1);padding:1.9rem;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.found-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--blue-2));transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.found-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-line)}
.found-card:hover::before{transform:scaleY(1)}
.found-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.found-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);border:1px solid var(--blue-line);transition:.3s var(--ease)}
.found-ic svg{width:22px;height:22px}
.found-card:hover .found-ic{background:var(--blue);color:#fff;box-shadow:var(--shadow-glow)}
.found-no{font-family:var(--m);font-weight:800;font-size:.78rem;letter-spacing:.18em;color:var(--blue-line)}
.found-card h3{margin-bottom:.55rem}
.found-card p{font-size:.92rem;color:var(--ink-2);line-height:1.62}
.found-tag{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;margin-top:1.2rem;font-family:var(--m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue-line);border-radius:var(--pill);padding:.34rem .75rem}
.found-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
@media(max-width:768px){.found-grid{grid-template-columns:1fr}}

/* PROOF */
.proof{border:1px solid var(--line);border-radius:var(--r-lg);padding:2.3rem;background:var(--bg-1);display:flex;gap:1.6rem;align-items:flex-start;box-shadow:var(--shadow-sm)}
.proof .big{font-family:var(--d);font-weight:800;font-size:clamp(2.3rem,5vw,3.2rem);letter-spacing:-.04em;color:var(--blue);line-height:.9;flex:0 0 auto}
.proof .lbl{font-family:var(--m);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-top:.5rem}
.proof p{color:var(--ink-2);font-size:.92rem;line-height:1.6}

/* VISION / MISSION + quote */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.vm .card{background:#ECEAFB;border-color:var(--blue-line)}
.vm .card .vc{font-family:var(--m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.7rem}
.vm .card h2{font-size:1.35rem;line-height:1.35;font-weight:700;color:var(--ink)}
.quote{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(2rem,4vw,3.2rem);background:linear-gradient(135deg,var(--blue-soft),rgba(79,91,213,.02));text-align:center;box-shadow:var(--shadow-sm)}
.quote .q{font-family:var(--d);font-weight:700;font-size:clamp(1.35rem,2.6vw,2rem);letter-spacing:-.02em;line-height:1.4;color:var(--ink);max-width:30ch;margin:0 auto 1.3rem}
.quote .attr{font-family:var(--m);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.founder{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;background:var(--bg-1);box-shadow:var(--shadow-sm)}
.founder .ava{width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--d);font-weight:800;font-size:1.4rem;overflow:hidden}
.founder .ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.founder blockquote{font-size:1rem;line-height:1.7;color:var(--ink);font-style:italic}
.founder .by{font-family:var(--m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.8rem;font-style:normal}

/* INDUSTRIES */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ind{background:var(--bg-1);padding:1.5rem;transition:.3s}
.ind:hover{background:var(--blue-soft)}
.ind .ix{font-family:var(--m);font-size:.62rem;color:var(--blue);letter-spacing:.1em;margin-bottom:.55rem}
.ind h4{font-size:.94rem;font-weight:600}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.3rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-family:var(--d);font-weight:600;font-size:1.02rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:0 0 auto;width:22px;height:22px;border:1px solid var(--line-2);border-radius:6px;display:grid;place-items:center;color:var(--blue);transition:.3s}
.faq details[open] summary .pm{background:var(--blue);color:#fff;border-color:var(--blue);transform:rotate(45deg)}
.faq .a{padding:0 0 1.4rem;color:var(--ink-2);font-size:.94rem;line-height:1.7;max-width:74ch}

/* CTA band */
.cta{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(2.4rem,5vw,4rem);text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0,rgba(79,91,213,.4),transparent 60%);pointer-events:none}
.cta>*{position:relative;z-index:1}
.cta h2{color:#fff;margin-bottom:1rem}
.cta p{color:rgba(255,255,255,.7);max-width:52ch;margin:0 auto 2rem;font-size:1.05rem}
.cta .serif{color:var(--blue-2)}

/* CONTACT */
.con-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}
.cc-list{display:flex;flex-direction:column;gap:.6rem;margin-top:2rem}
.cc{display:flex;gap:1rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);box-shadow:var(--shadow-sm);transition:.3s var(--ease)}
.cc:hover{border-color:var(--blue-line);transform:translateX(4px)}
.cc .ic{width:38px;height:38px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.cc .ic svg{width:18px;height:18px}
.cc .k{font-family:var(--m);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.cc .v{font-size:.95rem;color:var(--ink);font-weight:500;margin-top:.15rem}
.cc .v:hover{color:var(--blue)}

/* FORM */
.form-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,2.6rem);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}
.form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--blue-2),transparent)}
.form-card h2{margin-bottom:.4rem}
.form-card .sub{color:var(--ink-2);font-size:.9rem;margin-bottom:1.8rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fgrp{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.1rem}
.fgrp label{font-family:var(--m);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.fgrp input,.fgrp select,.fgrp textarea{
  background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r);padding:.85rem 1rem;
  font-family:var(--b);font-size:.92rem;color:var(--ink);width:100%;transition:.25s var(--ease);appearance:none}
.fgrp input::placeholder,.fgrp textarea::placeholder{color:var(--ink-3)}
.fgrp input:focus,.fgrp select:focus,.fgrp textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,91,213,.14);background:var(--bg-1)}
.fgrp textarea{min-height:130px;resize:vertical}
.fgrp select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%234F5BD5' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.fgrp select option{background:var(--bg-1);color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fbtn{width:100%;margin-top:.5rem;justify-content:center;font-size:.96rem;padding:1.05rem}
.consent{margin-top:1rem;font-size:.72rem;color:var(--ink-3);text-align:center;line-height:1.5}
.consent a{color:var(--ink-2);text-decoration:underline}
.ferr{display:none;align-items:center;gap:.6rem;background:rgba(214,69,69,.08);border:1px solid rgba(214,69,69,.3);color:#C0392B;border-radius:var(--r);padding:.85rem 1rem;font-size:.85rem;margin-bottom:1.1rem}
.ferr.show{display:flex;animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* THANK YOU */
.thanks{display:none}
.thanks.show{display:block;animation:rise .6s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.thanks .tick{width:60px;height:60px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue-line);color:var(--blue);display:grid;place-items:center;margin-bottom:1.4rem}
.thanks h2{font-size:1.6rem;margin-bottom:.7rem}
.thanks .ty-lead{color:var(--ink);font-size:1rem;margin-bottom:1.3rem}
.thanks .ty-over{color:var(--ink-2);font-size:.92rem;line-height:1.7;padding:1.2rem 1.3rem;border-left:3px solid var(--blue);background:var(--bg-2);border-radius:0 var(--r) var(--r) 0;margin-bottom:1.5rem}
.thanks .ty-over b{color:var(--ink)}
.thanks .ty-demo{border:1px solid var(--blue-line);border-radius:var(--r);padding:1.4rem;margin-bottom:1.4rem;background:var(--blue-soft)}
.thanks .ty-demo h3{font-size:1.1rem;margin-bottom:.5rem}
.thanks .ty-demo p{font-size:.88rem;color:var(--ink-2);line-height:1.6;margin-bottom:1.1rem}
.thanks .ty-acts{display:flex;gap:.7rem;flex-wrap:wrap}
.thanks .ty-foot{font-size:.8rem;color:var(--ink-3)}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* FOOTER */
footer{background:var(--bg-1);border-top:1px solid var(--line);padding-block:4rem 2.2rem}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.ft-tag{color:var(--ink-2);font-size:.83rem;line-height:1.7;max-width:48ch;margin:1.2rem 0;text-wrap:balance}
.ft-col h3{font-family:var(--m);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:1.1rem}
.ft-col a{display:block;color:var(--ink-2);font-size:.88rem;padding:.32rem 0;transition:.2s}
.ft-col a:hover{color:var(--blue)}
.ft-soc{display:flex;gap:.6rem;margin-top:1.4rem}
.ft-soc a{width:38px;height:38px;border:1px solid var(--line-2);border-radius:10px;display:grid;place-items:center;color:var(--ink-2);transition:.3s var(--ease)}
.ft-soc a:hover{color:var(--blue);border-color:var(--blue-line);transform:translateY(-3px)}
.ft-soc svg{width:16px;height:16px}
.ft-bot{border-top:1px solid var(--line);padding-top:1.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--ink-3)}
.ft-bot a{color:var(--ink-3)}.ft-bot a:hover{color:var(--blue)}

/* responsive */
@media(max-width:1024px){
  .pcard-in{grid-template-columns:1fr;gap:1.8rem}
  .p-right{order:0}
  .stats .grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0}
  .stat{border-top:1px solid var(--line)}
  .stat:first-child,.stat:nth-child(2){border-top:0}
  .grid4{grid-template-columns:1fr 1fr}
  .cards.c3,.cards.c4{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links,.nav-cta .btn{display:none}
  .ham{display:flex}
  .cards.c2,.cards.c3,.cards.c4{grid-template-columns:1fr}
  .vm{grid-template-columns:1fr}
  .grid3,.grid4{grid-template-columns:1fr}
  .con-grid{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}
  .founder{grid-template-columns:1fr;text-align:center}
  .founder .ava{margin:0 auto}
  .pillar{grid-template-columns:32px 1fr}
  .pillar .tagp{grid-column:1/-1;justify-self:start}
  .ft-grid{grid-template-columns:1fr 1fr}
  .stats .grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.grid4,.ind-grid{grid-template-columns:1fr 1fr}.ft-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   Additions
   ============================================================ */
/* image logo */
.logo .lo-img{width:38px;height:38px;border-radius:9px;object-fit:cover;box-shadow:0 4px 12px -4px rgba(79,91,213,.45);background:var(--bg-1)}

/* "Pakistan's leading" badge */
.badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-1);border:1px solid var(--blue-line);
  border-radius:var(--pill);padding:.42rem .9rem .42rem .7rem;font-family:var(--m);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
.badge .bd{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft);flex:0 0 auto}
.badge b{color:var(--blue);font-weight:500}

/* plain-language sub on product tag */
.p-plain{font-family:var(--b);font-size:.9rem;color:var(--ink-2);margin:-.3rem 0 1.1rem;line-height:1.5}
.p-plain b{color:var(--ink);font-weight:600}

/* ABOUT — evolution timeline */
.tl{position:relative;margin-top:1rem}
.tl::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--blue-line),var(--line));}
.tl-item{position:relative;padding:0 0 1.8rem 3.2rem}
.tl-item:last-child{padding-bottom:0}
.tl-item .dot{position:absolute;left:5px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--blue);display:grid;place-items:center}
.tl-item .dot::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}
.tl-item .yr{font-family:var(--m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.3rem}
.tl-item h4{margin-bottom:.35rem}
.tl-item p{font-size:.92rem;color:var(--ink-2);line-height:1.6;max-width:60ch}

/* ABOUT — split feature row */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.split .visual{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1);box-shadow:var(--shadow-md);padding:2rem;position:relative;overflow:hidden}
.split .visual::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 70% at 80% 0,var(--blue-soft),transparent 60%);pointer-events:none}

/* larger vision/mission with icon */
.vm-lg .card{padding:2.4rem}
.vm-lg .icon-chip{width:50px;height:50px}
.vm-lg h2{font-size:1.45rem;line-height:1.32;margin-top:.4rem}

/* belief big statement */
.belief{font-family:var(--d);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.4rem);letter-spacing:-.03em;line-height:1.3;max-width:24ch}
.belief .serif{font-weight:400}

@media(max-width:768px){.split{grid-template-columns:1fr;gap:1.8rem}}

/* ── Best-in-class hero ── */
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,4vw,4rem);align-items:center;width:100%}
.hero-grid .copy h1{margin:.2rem 0 1.4rem;max-width:none}
.hero-grid .lead{margin-bottom:2.1rem}
.hero-visual{position:relative}
.hero-visual .glow{position:absolute;inset:-12% -8% -12% -8%;background:radial-gradient(60% 60% at 60% 40%,rgba(79,91,213,.18),transparent 70%);filter:blur(8px);z-index:0}
.ac{position:relative;z-index:1;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.5rem;animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.ac-top{display:flex;align-items:center;gap:.5rem;padding-bottom:.95rem;border-bottom:1px solid var(--line);margin-bottom:1.05rem}
.ac-dots{display:flex;gap:5px}
.ac-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-2);display:block}
.ac-title{font-family:var(--m);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-left:.5rem}
.ac-q{font-size:.85rem;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:.75rem .95rem;margin-bottom:.85rem}
.ac-q span{color:var(--ink-3);font-family:var(--m);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.25rem}
.ac-a{font-size:.9rem;line-height:1.65;color:var(--ink);border:1px solid var(--blue-line);background:var(--blue-soft);border-radius:12px;padding:.9rem 1rem}
.ac-a span.lbl{color:var(--blue);font-family:var(--m);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.35rem}
.ac-a .name{color:#fff;background:var(--blue);font-weight:600;padding:.05rem .4rem;border-radius:5px;white-space:nowrap}
.ac-share{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.ac-cap{margin-top:.9rem;font-size:.74rem;color:var(--ink-3);display:flex;align-items:center;gap:.5rem}
.ac-cap::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-visual{max-width:460px}}
@media(prefers-reduced-motion:reduce){.ac{animation:none}}

/* hero "systems online" list */
.sys{list-style:none;display:flex;flex-direction:column;gap:.2rem}
.sys li{display:flex;align-items:center;gap:.7rem;padding:.7rem .2rem;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink);font-weight:500}
.sys li:last-child{border-bottom:0}
.sys .d{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.sys .d.ok{background:#1FA971;box-shadow:0 0 0 4px rgba(31,169,113,.14)}
.sys .d.up{background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.sys li em{margin-left:auto;font-style:normal;font-family:var(--m);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}

/* ── Pricing ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;align-items:start}
.price-card{position:relative;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem 1.8rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.price-card:hover{border-color:var(--blue-line);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.price-card.pop{border-color:var(--blue);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-6px)}
.price-pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-family:var(--m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.32rem .8rem;border-radius:var(--pill);white-space:nowrap}
.price-name{font-family:var(--d);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;margin-bottom:.25rem}
.price-model{font-family:var(--m);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:1.2rem}
.price{font-family:var(--d);font-weight:800;font-size:2rem;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.price .per{font-family:var(--b);font-weight:500;font-size:.8rem;color:var(--ink-3);letter-spacing:0}
.price-usd{font-size:.8rem;color:var(--ink-3);margin:.3rem 0 1.3rem}
.price-feat{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.6rem;flex:1}
.price-feat li{position:relative;padding-left:1.5rem;font-size:.86rem;color:var(--ink-2);line-height:1.5}
.price-feat li::before{content:"";position:absolute;left:0;top:.42rem;width:13px;height:13px;border-radius:50%;background:var(--blue-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 24 24' fill='none' stroke='%234F5BD5' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat}
.price-feat li b{color:var(--ink);font-weight:600}
.price-note{margin-top:1.6rem;font-size:.78rem;color:var(--ink-3);line-height:1.6;text-align:center;max-width:70ch;margin-inline:auto}

/* product sections — polish */
.psec.tint{background:var(--bg-1)}
.psec.alt .pcard-in>div:not(.p-right){order:2}
.psec .pcard-in .p-plain{margin:.4rem 0 1.2rem}
.psec .p-meta{margin-top:2rem;padding-top:1.4rem}
@media(max-width:1024px){.psec.alt .pcard-in>div:not(.p-right){order:0}}

/* pricing comparison table */
.ptable-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--bg-1)}
.ptable-scroll{overflow-x:auto}
.ptable{width:100%;border-collapse:collapse;min-width:780px;font-size:.9rem}
.ptable th,.ptable td{padding:.82rem 1.1rem;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.ptable thead th{font-family:var(--d);font-weight:700;font-size:.98rem;letter-spacing:-.01em;background:var(--bg-2);color:var(--ink);padding-block:1.15rem}
.ptable thead th.pt-feat{background:var(--ink);color:#fff;text-align:left}
.ptable thead th.pt-pop{background:var(--blue);color:#fff}
.ptable thead th.pt-pop span{margin-left:.25rem;opacity:.92}
.ptable tbody th{text-align:left;font-family:var(--d);font-weight:600;font-size:.88rem;line-height:1.4;color:var(--ink);background:var(--bg-2);max-width:300px}
.ptable tbody td{color:var(--ink-2)}
.ptable td.pt-pop{background:var(--blue-soft);color:var(--blue);font-weight:600}
.ptable td.no{color:var(--ink-3)}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:0}
.ptable tfoot td{padding:1.3rem 1.1rem;border-bottom:0}
.ptable tfoot td.pt-pop{background:var(--blue-soft)}
.ptable tfoot .btn{width:100%;justify-content:center}
.ptable-star{margin-top:1.6rem;text-align:center;font-size:.92rem;color:var(--ink-2);max-width:76ch;margin-inline:auto;line-height:1.65}
.ptable-star b{color:var(--blue)}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr;gap:1.6rem}.price-card.pop{transform:none}}

/* small-screen tightening */
@media(max-width:520px){
  .badge{font-size:.6rem}
  .hero-acts{gap:.6rem}
  .hero-acts .btn{width:100%;justify-content:center}
  .page-hero{padding:7.5rem 0 2rem}
  .cc{padding:1rem}
}

/* ── Lavender scheme (from old contact form) ── */
:root{--lav:#F0F1FF;--lav-line:rgba(92,111,255,.20);--lav-accent:rgba(92,111,255,.55)}
/* lavender form card */
.form-card{background:var(--bg-1);border:1px solid var(--lav-line);border-left:3px solid var(--lav-accent);box-shadow:0 6px 30px rgba(92,111,255,.12),0 2px 8px rgba(0,0,0,.05)}
.form-card::before{height:2px;background:linear-gradient(90deg,transparent 0%,rgba(92,111,255,.7) 40%,rgba(61,79,232,.7) 60%,transparent 100%)}
.form-card::after{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(92,111,255,.10) 0%,transparent 70%);pointer-events:none}
.form-card .fgrp input,.form-card .fgrp select,.form-card .fgrp textarea{background:var(--chrome);border-color:var(--lav-line)}
.form-card .fgrp input:focus,.form-card .fgrp select:focus,.form-card .fgrp textarea:focus{background:#fff}
.thanks .ty-over{background:var(--bg)}
.thanks .ty-demo{background:var(--bg)}

/* generic lavender card helper */
.lav{background:var(--lav);border-color:var(--lav-line)}

/* ── "live" section label ── */
.live-lbl{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--m);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:1.4rem;font-weight:600}
.live-lbl .liveico{position:relative;width:30px;height:30px;border-radius:9px;background:var(--bg-1);border:1px solid var(--lav-line);display:grid;place-items:center;color:var(--blue);box-shadow:var(--shadow-sm)}
.live-lbl .liveico svg{width:16px;height:16px}
.live-lbl .liveico::after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#1FA971;box-shadow:0 0 0 3px var(--bg);animation:livedot 1.8s ease-in-out infinite}
@keyframes livedot{0%,100%{box-shadow:0 0 0 3px var(--bg),0 0 0 4px rgba(31,169,113,.5)}50%{box-shadow:0 0 0 3px var(--bg),0 0 0 9px rgba(31,169,113,0)}}

/* ── industry icon cards (old "Industries We Serve" style) ── */
.ind2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.ind2{background:var(--bg-1);border:1px solid var(--lav-line);border-radius:var(--r-lg);padding:1.6rem;transition:.3s var(--ease)}
.ind2:hover{transform:translateY(-4px);box-shadow:0 14px 34px -14px rgba(92,111,255,.35);border-color:var(--lav-accent)}
.ind2 .ic{width:44px;height:44px;border-radius:12px;background:var(--bg);border:1px solid var(--lav-line);display:grid;place-items:center;color:var(--blue);margin-bottom:1rem}
.ind2 .ic svg{width:21px;height:21px}
.ind2 h3{font-size:.98rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.35rem;color:var(--ink)}
.ind2 p{font-size:.82rem;color:var(--ink-2);line-height:1.5}
@media(max-width:1024px){.ind2-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.ind2-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.ind2-grid{grid-template-columns:1fr}}

/* ── Left brand rail (homepage test, desktop only) ── */
.page-rail{display:none}
@media(min-width:1180px){
  .has-rail .page-rail{display:block;position:fixed;left:0;top:0;bottom:0;width:132px;z-index:80;overflow:hidden;
    border-right:1px solid var(--line);background:var(--chrome);box-shadow:1px 0 12px rgba(21,21,26,.04)}
  .has-rail{padding-left:132px}
  .has-rail .nav{left:132px}
  .page-rail .kg{position:absolute;inset:0}
  .page-rail .kg svg{width:100%;height:100%}
  .page-rail .rail-label{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);writing-mode:vertical-rl;
    font-family:var(--m);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);opacity:.7}
}
.rail-svg{width:100%;height:100%;display:block}
.np-track{fill:none;stroke:var(--blue);stroke-width:1.1;stroke-linecap:round;opacity:.16}
.np-flow{fill:none;stroke:var(--blue);stroke-width:1.9;stroke-linecap:round;opacity:.6;stroke-dasharray:40 960;stroke-dashoffset:1000;animation:npflow 5.5s linear infinite}
.np-flow.f2{stroke-width:1.3;opacity:.38;animation-delay:2.75s}
@keyframes npflow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.np-node{fill:var(--blue);opacity:.2}
.np-node.hub{opacity:.32}
.np-node.pulse{animation:npnode 3.4s ease-in-out infinite}
.np-node.pulse.d1{animation-delay:.4s}
.np-node.pulse.d2{animation-delay:1.3s}
.np-node.pulse.d3{animation-delay:2.2s}
@keyframes npnode{0%,100%{opacity:.25}50%{opacity:.85}}
@media(prefers-reduced-motion:reduce){.np-flow{display:none}.np-node.pulse{animation:none}}

/* ── Dark bottom bar only (the "all rights reserved" strip) ── */
.ft-bot{margin-top:2.6rem;border-top:0;background:#13131A;color:rgba(255,255,255,.6);border-radius:var(--r);padding:1.2rem 1.6rem}
.ft-bot a{color:rgba(255,255,255,.55)}
.ft-bot a:hover{color:#fff}

/* ── hero capability strip ── */
.cap-strip{border-top:1px solid var(--line);padding-top:1.5rem;max-width:560px}
.cap-strip .cap-lbl{display:block;font-family:var(--m);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1rem}
.cap-list{display:flex;flex-wrap:wrap;gap:.55rem}
.cap{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--ink);background:var(--bg-1);border:1px solid var(--lav-line);border-radius:var(--pill);padding:.45rem .9rem;box-shadow:var(--shadow-sm);transition:.25s var(--ease)}
.cap .cdot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.cap:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ── hero background video (homepage only) ── */
.hero::before,.hero::after{display:none}
.hero-vbg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-vbg-media{width:100%;height:100%;object-fit:cover;display:block}
.hero-vbg::after{content:"";position:absolute;inset:0;opacity:1;background:linear-gradient(100deg,rgba(246,243,235,.62) 0%,rgba(246,243,235,.4) 48%,rgba(246,243,235,.12) 100%);animation:heroWash 2.4s ease forwards}
@keyframes heroWash{0%{opacity:0}52%{opacity:0}100%{opacity:1}}
.hero-bg{z-index:1;animation:heroFadeIn 1s ease 1.3s both}
.hero .wrap{z-index:2}
.hero .copy>*{animation:heroArrive .75s var(--ease) both}
.hero .copy>.badge{animation-delay:1.15s}
.hero .copy>.h1{animation-delay:1.32s}
.hero .copy>.lead{animation-delay:1.5s}
.hero .copy>.hero-acts{animation-delay:1.66s}
.hero .copy>.cap-strip{animation-delay:1.82s}
@keyframes heroFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes heroArrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .copy{max-width:660px}
.page-hero .copy{max-width:none}
@media(prefers-reduced-motion:reduce){.hero-vbg-media{display:none}.hero-vbg::after,.hero-bg,.hero .copy>*{animation:none}}

/* ── hero live chat-bubble background (homepage) ── */
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.cb{position:absolute;display:inline-flex;align-items:center;gap:.45rem;background:var(--bg-1);border:1px solid var(--line);border-radius:14px;padding:.5rem .75rem;font-size:.72rem;color:var(--ink-2);box-shadow:var(--shadow-sm);white-space:nowrap;opacity:0;animation:cbfloat 17s ease-in-out infinite}
.cb .dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.cb.ai{background:var(--blue-soft);border-color:var(--blue-line);color:var(--ink)}
.cb b{color:var(--blue-deep);font-weight:600}
@keyframes cbfloat{0%{opacity:0;transform:translateY(22px) scale(.96)}14%{opacity:.6}50%{transform:translateY(-8px) scale(1)}82%{opacity:.6}100%{opacity:0;transform:translateY(-34px) scale(.98)}}
.cb1{top:13%;left:2%;animation-delay:0s}
.cb2{top:7%;left:42%;animation-delay:5.5s}
.cb3{top:22%;right:4%;animation-delay:9s}
.cb4{bottom:15%;left:5%;animation-delay:3s}
.cb5{bottom:8%;left:37%;animation-delay:11.5s}
.cb6{bottom:23%;right:3%;animation-delay:7s}
@media(max-width:860px){.hero-bg{display:none}}
@media(prefers-reduced-motion:reduce){.cb{animation:none;opacity:.38}}

/* ── Mobile polish: page-hero spacing + compact footer ── */
@media(max-width:768px){
  /* belt-and-suspenders: dropdown submenus must never render on mobile */
  .nav-links,.nav-menu,.nav-drop .nav-menu{display:none}
  /* trim the empty top gap under the fixed header on inner pages */
  .page-hero{padding:6.5rem 0 1.5rem}
  /* footer: compact 2-up layout instead of one tall stack */
  .ft-grid{grid-template-columns:1fr 1fr;gap:2rem 1.4rem;margin-bottom:2.2rem}
  .ft-grid>:first-child{grid-column:1 / -1}
  .ft-col h3{margin-bottom:.7rem}
  .ft-bot{flex-direction:column;align-items:flex-start;gap:.45rem;text-align:left}
}
@media(max-width:380px){
  .ft-grid{grid-template-columns:1fr}
}
/* ── Mobile: keep the "What we bring in-house" pills on one line ── */
@media(max-width:768px){
  .cap-strip{max-width:none}
  .cap-list{flex-wrap:nowrap;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .cap-list::-webkit-scrollbar{display:none}
  .cap{flex:0 0 auto;font-size:.64rem;padding:.34rem .55rem;white-space:nowrap;gap:0}
  .cap .cdot{display:none}
}
/* ── "What we do" — justified intro + card text ── */
#what .lead,#what .card p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
/* ── About page — justify body text (keep the CTA band centered) ── */
.page-about p,.page-about blockquote{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.page-about .cta p{text-align:center;-webkit-hyphens:none;hyphens:none}
.page-about .ind2 p{text-align:left;-webkit-hyphens:none;hyphens:none}
/* ── Mobile: keep product chip rows on a single line ── */
@media(max-width:768px){
  .p-meta{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem}
  .p-meta::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;white-space:nowrap}
}
