/* CEYTRIO website v9.0. Generated from src/css by build.py. */
/* =====================================================================
   CEYTRIO v8 · design system
   Colours come from the final CEYTRIO brand kit (indigo):
   violet #7A5CFA / #A894FF · indigo #2D2A8C / #1A1747 · cyan #19C3E6 / #5EE0F5
   ===================================================================== */
@font-face{font-family:'Onest';src:url('/fonts/onest.woff') format('woff');font-weight:300 800;font-style:normal;font-display:swap}

:root{
  --background:#FFFFFF;
  --foreground:#1A1747;
  --brand-deep:#1A1747;    /* logo ink: hero, footer, dark bands */
  --brand-navy-2:#2D2A8C;
  --brand:#5B45D6;         /* actions and links (white text passes AA) */
  --brand-bright:#7A5CFA;  /* logo violet, for graphics and gradients */
  --brand-light:#A894FF;   /* violet on dark */
  --accent:#19C3E6;        /* logo cyan, small details */
  --accent-600:#0A8BB0;
  --accent-light:#5EE0F5;  /* cyan on dark */
  --accent-btn:#5B45D6;
  --accent-btn-hover:#4A3FD1;
  --surface:#F5F4FB;
  --surface-soft:#F0EDFF;
  --ink:#1A1747;
  --ink-soft:#5E5986;
  --ghost:#DBD7EC;
  --hairline:#E7E4F2;
  --on-brand:#FFFFFF;
  --navy-ink:#F3F1FD;
  --navy-muted:#ADA4D4;
  --navy-line:rgba(255,255,255,.12);
  --mint:#2DD4A7;
  --mint-ink:#0E9F72;
  --amber:#F2B35A;
  /* logo ink, overridden on dark surfaces */
  --lg1:#7A5CFA;
  --lg2:#2D2A8C;
  --lg3:#19C3E6;
  --lg-ink:#1A1747;
  --radius-card:1.5rem;
  --radius-card-lg:2rem;
  --radius-pill:62.5rem;
  --inset:.5rem;
  --hdr:4.5rem;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-in-out-cubic:cubic-bezier(.65,0,.35,1);
  --ease-out-quart:cubic-bezier(.25,1,.5,1);
  --shadow-card:0 1px 2px rgba(26,23,71,.04),0 18px 40px -26px rgba(26,23,71,.28);
  --shadow-lift:0 30px 70px -34px rgba(26,23,71,.45);
  --shadow-deep:0 50px 100px -40px rgba(10,6,40,.75);
  --font:'Onest',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color-scheme:light;
}
@media (min-width:768px){:root{--inset:.75rem;--hdr:5rem}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6.5rem}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font);font-size:1rem;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
@media (min-width:768px){body{font-size:1.0625rem}}
img{max-width:100%;height:auto}
svg{max-width:100%}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.05;letter-spacing:-.03em;text-wrap:balance}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:.4rem}
.on-dark :focus-visible,.band-dark :focus-visible,.hero :focus-visible,.menu :focus-visible,.foot :focus-visible{outline-color:#fff}
::selection{background:var(--brand);color:#fff}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:-4rem;z-index:300;background:#fff;color:var(--ink);padding:.7rem 1.1rem;border-radius:var(--radius-pill);font-weight:600;box-shadow:var(--shadow-card);transition:top .2s}
.skip:focus{top:1rem}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:82.5rem;margin-inline:auto;padding-inline:clamp(1.25rem,4.4vw,3.5rem)}
.wrap-wide{max-width:120rem}
.wrap-narrow{max-width:56rem}
.section{padding-block:clamp(4rem,7.6vw,7.25rem)}
.section-tight{padding-block:clamp(3rem,6vw,5.5rem)}
.band{margin-inline:var(--inset);border-radius:var(--radius-card-lg);position:relative;overflow:hidden;overflow:clip}
.band-light{background:var(--surface)}
.band-soft{background:var(--surface-soft)}
.band-dark{background:var(--brand-deep);color:var(--navy-ink)}
.band-dark p{color:var(--navy-muted)}
.band+.band{margin-top:var(--inset)}
.stack-sm>*+*{margin-top:.75rem}
.grid{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- type ---------- */
.d1{font-weight:500;text-transform:uppercase;letter-spacing:-.05em;line-height:.9;font-size:clamp(2.3rem,11vw,7.8rem)}
@media (min-width:1024px){.d1{font-size:clamp(4.6rem,7.1vw,8.2rem)}}
.d2{font-weight:500;text-transform:uppercase;letter-spacing:-.048em;line-height:.92;font-size:clamp(2.2rem,8.6vw,6.6rem)}
@media (min-width:1024px){.d2{font-size:clamp(4rem,6vw,6.6rem)}}
.d3{font-weight:500;text-transform:uppercase;letter-spacing:-.045em;line-height:.94;font-size:clamp(2rem,6.6vw,4.6rem)}
@media (min-width:1024px){.d3{font-size:clamp(3.4rem,4.4vw,4.6rem)}}
.h2{font-weight:600;letter-spacing:-.035em;line-height:1.04;font-size:clamp(1.9rem,4.2vw,3.25rem)}
.h3{font-weight:600;letter-spacing:-.02em;line-height:1.2;font-size:clamp(1.18rem,1.6vw,1.4rem)}
.h4{font-weight:600;letter-spacing:-.01em;line-height:1.3;font-size:1.05rem}
.lead{font-size:clamp(1.06rem,1.35vw,1.25rem);line-height:1.6;color:var(--ink-soft);max-width:42rem}
.band-dark .lead,.hero .lead{color:#C6BFE6}
.muted{color:var(--ink-soft)}
.small{font-size:.875rem}
.tiny{font-size:.78rem}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.42rem .9rem .42rem .75rem;border:1px solid var(--hairline);border-radius:var(--radius-pill);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:#fff;white-space:nowrap}
.eyebrow::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);flex:none}
.eyebrow.live::before{background:var(--mint);box-shadow:0 0 0 0 rgba(45,212,167,.55);animation:pulse 2.4s infinite}
.band-dark .eyebrow,.hero .eyebrow,.on-dark .eyebrow{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#ECEAFF}
.idx{font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.band-dark .idx{color:var(--navy-muted)}
@keyframes pulse{70%{box-shadow:0 0 0 .55rem rgba(45,212,167,0)}100%{box-shadow:0 0 0 0 rgba(45,212,167,0)}}
.ticks{list-style:none;display:grid;gap:.7rem}
.ticks li{display:flex;gap:.75rem;align-items:flex-start;color:var(--ink)}
.ticks li::before{content:"";flex:none;width:1.25rem;height:1.25rem;margin-top:.18rem;border-radius:50%;background:var(--surface-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B45D6' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/.72rem no-repeat}
.band-dark .ticks li{color:var(--navy-ink)}
.band-dark .ticks li::before{background-color:rgba(255,255,255,.08);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232DD4A7' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.hairline{border:0;border-top:1px solid var(--hairline);margin:0}
.caption{font-size:.78rem;color:var(--ink-soft);margin:.9rem 0 0;max-width:none}
.band-dark .caption,.hero .caption{color:var(--navy-muted)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:.85rem;min-height:3.3rem;padding:.4rem .42rem .4rem 1.45rem;border-radius:var(--radius-pill);font-weight:600;font-size:1rem;letter-spacing:-.01em;line-height:1.1;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s}
.btn .arr{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .55s var(--ease-out-expo)}
.btn .arr svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.btn-primary{background:var(--accent-btn);color:#fff;box-shadow:0 14px 30px -16px rgba(91,69,214,.8)}
.btn-primary .arr{background:#fff;color:var(--accent-btn)}
.btn-primary:hover{background:var(--accent-btn-hover)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light .arr{background:var(--brand-deep);color:#fff}
.btn-dark{background:var(--brand-deep);color:#fff}
.btn-dark .arr{background:#fff;color:var(--brand-deep)}
.btn-dark:hover{background:var(--brand-navy-2)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.3);color:#fff;padding-right:1.45rem}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-outline{background:#fff;border-color:#D6D1E5;color:var(--ink);padding-right:1.45rem}
.btn-outline:hover{border-color:var(--ink)}
.btn-sm{min-height:2.85rem;font-size:.94rem;padding-left:1.15rem}
.btn-sm .arr{width:2.1rem;height:2.1rem}
.btn-sm.btn-ghost,.btn-sm.btn-outline{padding-right:1.15rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.circ{width:3.3rem;height:3.3rem;border-radius:50%;border:1px solid #CFCADF;display:grid;place-items:center;flex:none;color:var(--ink);background:transparent;transition:background-color .4s,border-color .4s,color .4s,transform .55s var(--ease-out-expo);cursor:pointer}
.circ svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s var(--ease-out-expo)}
.band-dark .circ,.hero .circ,.on-dark .circ{border-color:rgba(255,255,255,.28);color:#fff}
.textlink{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.1rem}
.textlink svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease-out-expo)}
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .btn:hover .arr{transform:translateX(5px)}
  .circ:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
  .band-dark .circ:hover,.hero .circ:hover,.on-dark .circ:hover{background:#fff;border-color:#fff;color:var(--brand-deep)}
  .circ:hover svg,.textlink:hover svg{transform:translateX(6px)}
}

/* ---------- header ---------- */
.site-header{position:fixed;top:var(--inset);left:var(--inset);right:var(--inset);z-index:100;height:var(--hdr);display:flex;align-items:center;border-radius:1.25rem;color:#fff;transition:background-color .45s,box-shadow .45s,color .45s,transform .6s var(--ease-out-expo);view-transition-name:site-header}
.hbar{display:flex;align-items:center;gap:1.5rem;width:100%;max-width:120rem;margin:0 auto;padding-inline:clamp(1rem,3vw,2.25rem)}
.site-header.is-solid{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);color:var(--ink);box-shadow:0 1px 0 rgba(26,23,71,.05),0 22px 44px -30px rgba(26,23,71,.4)}
.site-header.is-hidden{transform:translateY(calc(-100% - var(--inset) - 4px))}
.brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit;flex:none}
.brand .lg{width:clamp(7.5rem,13vw,9.5rem);height:auto;display:block}
/* the mark is drawn with the brand's light-background ink by default; dark surfaces flip it */
.site-header .brand,.menu .brand,.foot .brand,.loader{--lg1:#A894FF;--lg2:#FFFFFF;--lg3:#5EE0F5;--lg-ink:#FFFFFF}
.site-header.is-solid .brand{--lg1:#7A5CFA;--lg2:#2D2A8C;--lg3:#19C3E6;--lg-ink:#1A1747}
.lg-live{display:block}
.lg-live svg{width:100%;height:auto;display:block}
.nav{margin-left:auto;display:flex;align-items:center;gap:2rem}
.nav-links{display:flex;gap:1.7rem;list-style:none}
.nav-links a{position:relative;display:inline-block;font-size:.95rem;font-weight:500;text-decoration:none;padding:.35rem 0;opacity:.9}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease-out-expo)}
.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.nav-links a[aria-current=page]{opacity:1}
.hdr-cta{display:flex;align-items:center;gap:.6rem}
.site-header .btn-head{min-height:2.85rem;padding:.35rem .35rem .35rem 1.15rem;font-size:.92rem;background:#fff;color:var(--ink)}
.site-header .btn-head .arr{width:2.15rem;height:2.15rem;background:var(--brand);color:#fff}
.site-header.is-solid .btn-head{background:var(--brand-deep);color:#fff}
.menu-btn{display:none;align-items:center;gap:.65rem;margin-left:auto;min-height:2.85rem;padding:.35rem 1.1rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.06);color:inherit;font-weight:600;font-size:.94rem;cursor:pointer}
.menu-btn .bars{display:grid;gap:5px;width:18px}
.menu-btn .bars i{display:block;height:1.6px;background:currentColor;border-radius:2px}
.menu-btn .bars i:last-child{width:70%;justify-self:end}
.site-header.is-solid .menu-btn{border-color:#D6D1E5;background:#fff}
@media (max-width:1079px){.nav{display:none}.menu-btn{display:inline-flex;margin-left:.6rem}.hdr-cta{margin-left:auto}}
@media (max-width:640px){.hdr-cta{display:none}.menu-btn{margin-left:auto}}
@media (min-width:1080px){.hdr-cta{margin-left:.5rem}}

/* ---------- fullscreen menu ---------- */
.menu{position:fixed;inset:var(--inset);z-index:150;background:var(--brand-deep);color:#fff;border-radius:var(--radius-card-lg);display:flex;flex-direction:column;padding:0 clamp(1.25rem,5vw,3rem) 1.75rem;visibility:hidden;clip-path:inset(0 0 100% 0 round 2rem);transition:clip-path .8s var(--ease-in-out-cubic),visibility 0s linear .8s;overflow-y:auto;overscroll-behavior:contain}
.menu::before{content:"";position:absolute;inset:0;background:radial-gradient(60rem 30rem at 90% -10%,rgba(91,69,214,.45),transparent 60%),radial-gradient(40rem 30rem at -10% 110%,rgba(168,148,255,.18),transparent 60%);pointer-events:none}
.menu.is-open{visibility:visible;clip-path:inset(0 0 0 0 round 2rem);transition:clip-path .8s var(--ease-in-out-cubic),visibility 0s}
.menu>*{position:relative}
.menu-top{display:flex;align-items:center;min-height:var(--hdr);gap:1rem}
.menu-close{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;min-height:2.85rem;padding:.35rem 1.1rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:600;cursor:pointer}
.menu-close svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.menu-links{list-style:none;display:grid;gap:.15rem;margin:clamp(1.5rem,6vh,4rem) 0 2rem}
.menu-links li{overflow:hidden;padding-bottom:.05em}
.menu-links a{display:flex;align-items:baseline;gap:1rem;font-size:clamp(2.35rem,10.5vw,5.2rem);font-weight:500;text-transform:uppercase;letter-spacing:-.045em;line-height:1.02;text-decoration:none;transform:translateY(105%);transition:transform .9s var(--ease-out-expo),color .3s}
.menu-links a .n{font-size:.78rem;letter-spacing:.08em;font-weight:600;color:var(--navy-muted);transform:translateY(-1.4em)}
.menu-links a[aria-current=page]{color:var(--brand-light)}
.menu.is-open .menu-links a{transform:none;transition-delay:calc(.28s + var(--i) * .07s)}
.menu-foot{margin-top:auto;display:grid;gap:1.25rem;border-top:1px solid var(--navy-line);padding-top:1.4rem;color:var(--navy-muted);opacity:0;transform:translateY(16px);transition:opacity .6s,transform .8s var(--ease-out-expo)}
.menu.is-open .menu-foot{opacity:1;transform:none;transition-delay:.7s}
.menu-foot a{color:#fff;text-decoration:none}
.menu-foot .row{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}
html.menu-lock,html.menu-lock body{overflow:hidden}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:200;background:var(--brand-deep);color:#fff;display:none;place-items:center;transition:transform .85s var(--ease-in-out-cubic)}
html.intro .loader{display:grid;animation:ldr-failsafe .01s linear 4.8s forwards}
html.intro.intro-exit .loader{transform:translateY(-100%)}
html.intro body{overflow:hidden}
.loader-inner{display:grid;justify-items:center;gap:1.75rem}
.loader-mark{width:min(21rem,62vw)}
.loader-mark .lg-live,.loader-mark svg{width:100%;height:auto;display:block}
.loader-line{width:min(17rem,62vw);height:1px;background:rgba(255,255,255,.16);overflow:hidden}
.loader-line i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left;animation:ldr-line 1.35s var(--ease-in-out-cubic) .15s forwards}
.loader-sub{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--navy-muted);opacity:0;animation:ldr-fade .8s ease .6s forwards}
@keyframes ldr-line{to{transform:scaleX(1)}}
@keyframes ldr-fade{to{opacity:1}}
@keyframes ldr-failsafe{to{visibility:hidden;opacity:0;pointer-events:none}}

/* ---------- footer ---------- */
.foot{margin:var(--inset);margin-top:clamp(3.5rem,7vw,6rem);border-radius:var(--radius-card-lg);background:var(--brand-deep);color:var(--navy-ink);overflow:hidden;position:relative;isolation:isolate}
.foot::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70rem 36rem at 100% 0%,rgba(91,69,214,.42),transparent 60%),radial-gradient(50rem 30rem at 0% 100%,rgba(168,148,255,.14),transparent 60%)}
.foot-cta{padding-block:clamp(4rem,9vw,8rem) clamp(2.5rem,5vw,4rem);display:grid;gap:2.2rem}
.foot-title{font-weight:500;text-transform:uppercase;letter-spacing:-.055em;line-height:.9;font-size:clamp(2.35rem,9.6vw,6.6rem);color:#fff}
.foot-title .l1,.foot-title .l2{display:block}
.foot-title .l2{padding-left:.55em;color:var(--brand-light)}
@media (min-width:1024px){.foot-title{font-size:clamp(4.4rem,5.9vw,6.6rem)}.foot-title .l2{padding-left:1.2em}}
.foot-cta .sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:end}
.foot-cta .sub p{color:#C6BFE6;max-width:34rem;margin:0;font-size:clamp(1.02rem,1.3vw,1.18rem)}
.foot-cta .sub b{display:block;color:#fff;font-weight:600;font-size:1.15rem;margin-bottom:.4rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:2.5rem;padding-block:3rem;border-top:1px solid var(--navy-line)}
.foot-grid .fh{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-muted);font-weight:600;margin:0 0 1rem;line-height:1.4}
.foot-grid ul{list-style:none;display:grid;gap:.6rem}
.foot-grid a{color:#E8E3FF;text-decoration:none;transition:color .3s}
.foot-grid a:hover{color:#fff;text-decoration:underline}
.foot-brand p{color:var(--navy-muted);max-width:26rem}
.foot-brand .brand{margin-bottom:.4rem}
.foot-brand .foot-tagline{color:#fff;font-weight:500;font-size:1.25rem;letter-spacing:-.02em;margin:1.2rem 0 .6rem}
.foot-contact{display:grid;gap:.55rem;margin-top:1.2rem;color:#E8E3FF;font-size:.95rem}
.foot-contact div{display:flex;gap:.65rem;align-items:flex-start}
.foot-contact svg{width:1rem;height:1rem;flex:none;margin-top:.3rem;fill:none;stroke:var(--brand-light);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-legal{border-top:1px solid var(--navy-line);padding-block:1.4rem 1.2rem;font-size:.8rem;color:var(--navy-muted);display:grid;gap:.45rem}
.foot-word{display:block;overflow:hidden;font-weight:600;letter-spacing:-.06em;line-height:.74;font-size:21.5vw;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);margin:0 0 -3.2vw;user-select:none;white-space:nowrap;pointer-events:none}
.foot-word span{display:inline-block}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}.foot-cta .sub{grid-template-columns:1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}}

/* ---------- secondary action that carries the Ceyluu logo ---------- */
.btn-logo{gap:.55rem;padding-right:1.3rem}
.btn-logo .lg-btn{width:5.1rem;height:auto;display:block;transform:translateY(.06em)}
@media (max-width:420px){.btn-logo .lg-btn{width:4.5rem}}

/* ---------- logo ink, so the same mark works on light and dark surfaces ---------- */
.lgf-a{fill:var(--lg1,#7A5CFA)}
.lgs-a{stroke:var(--lg1,#7A5CFA)}
.lgf-b{fill:var(--lg2,#2D2A8C)}
.lgs-b{stroke:var(--lg2,#2D2A8C)}
.lgf-c{fill:var(--lg3,#19C3E6)}
.lgs-c{stroke:var(--lg3,#19C3E6)}
.lgf-ink{fill:var(--lg-ink,#1A1747)}
.lgs-ink{stroke:var(--lg-ink,#1A1747)}

/* ---------- icons and marks ---------- */
svg.ic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
svg.ic .f{fill:currentColor;stroke:none}
.ico{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;background:var(--surface-soft);color:var(--brand);flex:none}
.ico svg{width:1.4rem;height:1.4rem}
.ico.navy{background:var(--brand-deep);color:#fff}
.ico.sm{width:2.4rem;height:2.4rem;border-radius:.8rem}
.ico.sm svg{width:1.15rem;height:1.15rem}
.band-dark .ico,.on-dark .ico{background:rgba(255,255,255,.08);color:var(--brand-light)}
.bmark{width:2.5rem;height:2.5rem;border-radius:.8rem;background:#fff;border:1px solid var(--hairline);display:grid;place-items:center;flex:none;color:var(--brand-deep)}
.bmark svg,.bmark img{width:1.35rem;height:1.35rem;object-fit:contain;display:block}
.bmark.gen{background:var(--surface-soft);border-color:transparent}
.bmark.gen svg{width:1.25rem;height:1.25rem}
.band-dark .bmark.gen,.on-dark .bmark.gen,.hero .bmark.gen{background:rgba(255,255,255,.1);color:#D0C5FF}
.band-dark .bmark:not(.gen),.on-dark .bmark:not(.gen){border-color:transparent}

/* ---------- brand chips and marquee ---------- */
.brand-chip{display:inline-flex;align-items:center;gap:.8rem;padding:.5rem 1.35rem .5rem .5rem;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--hairline);font-weight:600;font-size:1.02rem;letter-spacing:-.01em;white-space:nowrap;color:var(--ink)}
.brand-chip .bmark{width:2.5rem;height:2.5rem;border-radius:50%;border:0;background:var(--surface)}
.brand-chip.on-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.brand-chip.on-dark .bmark{background:#fff}
.brand-chip.on-dark .bmark.gen{background:rgba(255,255,255,.12);color:#E0D9FF}
.brand-chip.wm{padding:.65rem 1.4rem}
.brand-chip .wm-img svg,.brand-chip .wm-img img{height:1.6rem;width:auto;display:block}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;width:max-content;gap:var(--mq-gap,1rem);animation:mq var(--mq-dur,46s) linear infinite}
.marquee-track>ul{display:flex;align-items:center;gap:var(--mq-gap,1rem);list-style:none;margin:0;padding:0;flex:none}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee.rev .marquee-track{animation-direction:reverse}
@keyframes mq{to{transform:translate3d(calc(-50% - var(--mq-gap,1rem) / 2),0,0)}}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{animation:none!important;width:auto;flex-wrap:wrap;justify-content:center}
  .marquee-track>ul{flex-wrap:wrap;justify-content:center}
  .marquee-track>ul[aria-hidden]{display:none}
}

/* ---------- cards ---------- */
.card{position:relative;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-card);padding:clamp(1.5rem,2.4vw,2.1rem)}
.card h3{margin:1.15rem 0 .55rem}
.card p{color:var(--ink-soft);margin:0}
.card-soft{background:var(--surface);border-color:transparent}
.card-dark{background:var(--brand-deep);border-color:transparent;color:var(--navy-ink)}
.card-dark p{color:var(--navy-muted)}
.card .ticks{margin-top:1rem}
.card .ticks li{font-size:.97rem}
.card-n{position:absolute;top:clamp(1.5rem,2.4vw,2.1rem);right:clamp(1.5rem,2.4vw,2.1rem);font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.card-dark .card-n{color:var(--navy-muted)}

/* ---------- section heads ---------- */
.sh{display:grid;gap:1.4rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);justify-items:start}
.sh .lead{margin:0}
.sh-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sh-row .lead{margin:0}
.sh-stack{display:grid;gap:1.6rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sh-stack .lead{justify-self:end;margin:0;max-width:34rem}
.sh-c{justify-items:center;text-align:center}
.sh-c .lead{margin-inline:auto}
@media (max-width:900px){.sh-row{grid-template-columns:1fr}}

/* ---------- light pills ---------- */
.pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.28rem .62rem;border-radius:var(--radius-pill);white-space:nowrap;line-height:1.3}
.pill.mint{background:#DDF7EE;color:#0B7A57}
.pill.amber{background:#FFF1DA;color:#8A570B}
.pill.blue{background:#E9E4FF;color:#4B34C4}
.pill.gray{background:#EFEDF4;color:#5E5986}

/* ---------- forms ---------- */
.lead-card{position:relative;background:#fff;color:var(--ink);border-radius:var(--radius-card-lg);padding:clamp(1.35rem,3vw,2.4rem);box-shadow:0 1px 2px rgba(26,23,71,.05),0 40px 80px -48px rgba(26,23,71,.45);border:1px solid var(--hairline)}
.form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.form-head h3{font-size:clamp(1.25rem,2vw,1.5rem);letter-spacing:-.025em;line-height:1.15}
.form-head .sub{color:var(--ink-soft);margin:.4rem 0 0;font-size:.95rem;max-width:32rem}
.form-head .ico{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--brand);color:#fff}
.form-head .ico svg{width:1.2rem;height:1.2rem}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem 1rem}
.fgrid .full{grid-column:1/-1}
.lead-card label{display:block;font-size:.84rem;font-weight:600;margin-bottom:.45rem;color:var(--ink)}
.lead-card input,.lead-card select,.lead-card textarea{display:block;width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid #E3DFEE;border-radius:.95rem;padding:.8rem 1rem;min-height:3.15rem;transition:border-color .25s,background-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.lead-card select{padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;cursor:pointer}
.lead-card textarea{min-height:7.5rem;resize:vertical;line-height:1.5}
.lead-card ::placeholder{color:#8D88A8;opacity:1}
.lead-card input:hover,.lead-card select:hover,.lead-card textarea:hover{border-color:#CBC6E0}
.lead-card input:focus,.lead-card select:focus,.lead-card textarea:focus{outline:none;border-color:var(--brand);background-color:#fff;box-shadow:0 0 0 4px rgba(91,69,214,.15)}
.lead-card [aria-invalid=true]{border-color:#D23E27;background-color:#FFF6F4;box-shadow:0 0 0 4px rgba(210,62,39,.12)}
.lead-card .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-card button[type=submit]{width:100%;margin-top:1.5rem;justify-content:space-between}
.lead-card button[disabled]{opacity:.7;cursor:progress}
.form-msg{margin:1rem 0 0;font-size:.86rem;color:var(--ink-soft);line-height:1.5}
.form-msg a{color:var(--brand)}
.form-msg.ok{color:#0B7A57;font-weight:600}
.form-msg.err{color:#B8321C;font-weight:600}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}

/* ---------- numbered platform list (programs) ---------- */
.plist{list-style:none;border-top:1px solid var(--hairline);position:relative}
.pl-row{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1.25fr) minmax(0,1fr) auto;align-items:center;gap:1rem 2.5rem;padding:clamp(1.6rem,3vw,2.5rem) 0;border-bottom:1px solid var(--hairline)}
.pl-n{font-size:.9rem;font-weight:600;letter-spacing:.06em;color:var(--ink-soft);font-variant-numeric:tabular-nums;align-self:start;padding-top:.6rem}
.pl-t{font-size:clamp(1.85rem,4.1vw,4rem);font-weight:500;text-transform:uppercase;letter-spacing:-.048em;line-height:.95;transition:color .5s,transform .7s var(--ease-out-expo)}
.pl-a{color:inherit;text-decoration:none}
.pl-a::after{content:"";position:absolute;inset:0;z-index:2}
.pl-a:focus-visible{outline:none}
.pl-a:focus-visible::after{outline:2px solid var(--brand);outline-offset:4px;border-radius:1rem}
.pl-d{color:var(--ink-soft);margin:0;max-width:30rem}
.pl-row .circ{position:relative;z-index:1}
.pl-prev{position:absolute;left:0;top:0;z-index:3;width:19rem;pointer-events:none;opacity:0;transform:translate3d(var(--px,60%),var(--py,0px),0) translate(-50%,-50%) rotate(-7deg) scale(.86);transition:opacity .45s,transform .7s var(--ease-out-expo)}
@media (hover:hover) and (pointer:fine) and (min-width:1024px){
  .pl-row:hover .pl-t{color:var(--brand);transform:translateX(.6rem)}
  .pl-row:hover .circ{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
  .pl-row:hover .circ svg{transform:translateX(6px)}
  .pl-row:hover .pl-prev{opacity:1;transform:translate3d(var(--px,60%),var(--py,0px),0) translate(-50%,-50%) rotate(-6deg) scale(1)}
}
@media (max-width:1023px){.pl-prev{display:none}}
@media (max-width:860px){
  .pl-row{grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.9rem 1rem}
  .pl-n{padding-top:.35rem}
  .pl-d{grid-column:2/-1}
  .pl-row .circ{grid-row:1;grid-column:3;width:2.8rem;height:2.8rem}
}

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);list-style:none;position:relative}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{position:relative;padding:clamp(1.6rem,2.6vw,2.2rem);border-radius:var(--radius-card);background:var(--surface);display:flex;flex-direction:column;min-height:100%}
.step .num{font-size:clamp(3.4rem,5.6vw,5.4rem);font-weight:500;letter-spacing:-.06em;line-height:.85;color:var(--brand-deep);padding-bottom:2.4rem;font-variant-numeric:tabular-nums}
.step .num span{color:var(--brand)}
.step h3{margin:0 0 .5rem}
.step p{margin:0;color:var(--ink-soft)}
.step::after{content:"";position:absolute;top:2.6rem;right:-1.1rem;width:1.2rem;height:1px;background:#CBC6E0;z-index:1}
.step:last-child::after{display:none}
.band-light .step{background:#fff}
@media (max-width:1023px){.steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}.steps.four .step::after{display:none}}
@media (max-width:900px){.steps,.steps.four{grid-template-columns:1fr}.step::after{display:none}.step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.5rem;align-items:start}.step .num{grid-row:1/3;padding-bottom:0;font-size:clamp(2.6rem,9vw,3.6rem)}.step h3{margin-top:.2rem}}
@media (max-width:560px){.steps.four{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--hairline)}
.faq details{border-bottom:1px solid var(--hairline)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.15rem,2vw,1.55rem) 0;cursor:pointer;font-weight:600;font-size:clamp(1.05rem,1.45vw,1.28rem);letter-spacing:-.018em;line-height:1.35;border-radius:.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{position:relative;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid #D3CEE4;flex:none;transition:background-color .35s,border-color .35s,transform .6s var(--ease-out-expo)}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:.85rem;height:1.6px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);transition:transform .5s var(--ease-out-expo)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary .pm{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;transform:rotate(180deg)}
.faq details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq .a{padding:0 clamp(0rem,6vw,4.5rem) clamp(1.3rem,2vw,1.7rem) 0;color:var(--ink-soft)}
.faq .a p{margin:0}
.faq .a a{color:var(--brand)}
.faq details[open] .a{animation:faq-in .6s var(--ease-out-expo)}
@keyframes faq-in{from{opacity:0;transform:translateY(-.5rem)}}
@media (hover:hover) and (pointer:fine){.faq summary:hover .pm{border-color:var(--ink)}}

/* ---------- facts list ---------- */
.facts{display:grid;margin:0}
.facts dt{display:flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:1.25rem}
.facts dt:first-child{margin-top:0}
.facts dt svg{width:1rem;height:1rem;color:var(--brand)}
.facts dd{margin:.35rem 0 0;font-weight:500;font-size:1.02rem}
.facts a{text-decoration:none;border-bottom:1px solid #CBC6E0}
.facts a:hover{border-color:currentColor}
.on-dark .facts dt,.band-dark .facts dt{color:var(--navy-muted)}
.on-dark .facts dt svg,.band-dark .facts dt svg{color:var(--brand-light)}
.on-dark .facts a,.band-dark .facts a{border-color:rgba(255,255,255,.3)}

/* ---------- frames for product visuals ---------- */
.frame{position:relative;border-radius:var(--radius-card-lg);padding:clamp(1.1rem,3.4vw,3rem);background:radial-gradient(120% 80% at 100% 0%,rgba(168,148,255,.5),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(25,195,230,.12),transparent 60%),#EDEAFB;isolation:isolate;overflow:hidden}
.frame::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(26,23,71,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(26,23,71,.06) 1px,transparent 1px);background-size:2.75rem 2.75rem;-webkit-mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent);mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent)}
.frame.navy{background:radial-gradient(110% 80% at 100% 0%,rgba(91,69,214,.55),transparent 55%),radial-gradient(80% 60% at 0% 100%,rgba(168,148,255,.18),transparent 60%),var(--brand-deep)}
.frame.navy::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
.frame .caption{position:relative}
.frame.navy .caption{color:var(--navy-muted)}
.frame-float{position:absolute;z-index:3}
.vis-cap{margin-top:.9rem;font-size:.78rem;color:var(--ink-soft)}
.band-dark .vis-cap{color:var(--navy-muted)}

/* ---------- glass caption ---------- */
.gcap{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1rem .6rem .6rem;border-radius:var(--radius-pill);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 40px -22px rgba(26,23,71,.55);color:var(--ink)}
.gcap .ico{width:2.3rem;height:2.3rem;border-radius:50%;background:var(--brand-deep);color:#fff}
.gcap .ico svg{width:1.05rem;height:1.05rem}
.gcap b{display:block;font-size:.95rem;letter-spacing:-.01em;line-height:1.2}
.gcap small{display:block;font-size:.78rem;color:var(--ink-soft);line-height:1.3}

/* ---------- prose (legal) ---------- */
.prose{max-width:46rem;font-size:1.04rem}
.prose h2{font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.025em;margin:2.8rem 0 .9rem;scroll-margin-top:7rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#3B3666}
.prose ul{padding-left:1.25rem;display:grid;gap:.6rem;margin:0 0 1em}
.prose li::marker{color:var(--brand)}
.prose a{color:var(--brand)}
.prose strong{color:var(--ink)}

/* ---------- misc ---------- */
.textlink.on-dark,.band-dark .textlink{color:#fff}
.note-line{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--ink-soft);margin-top:1.4rem}
.note-line svg{width:1.1rem;height:1.1rem;color:var(--mint)}
.hero .note-line,.on-dark .note-line{color:#C6BFE6}
.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none}
.label{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.band-dark .label,.on-dark .label{color:var(--navy-muted)}
.nw{white-space:nowrap}
.tm-note{font-size:.8rem;color:var(--ink-soft);max-width:60rem;margin:2rem 0 0}

/* =====================================================================
   Ceyluu product UI (illustrative). Dark mocks scale through container queries.
   ===================================================================== */
.mock{--m-bg:#171444;--m-pane:#221E5E;--m-pane-2:#2B2672;--m-line:rgba(255,255,255,.07);--m-ink:#ECEAFF;--m-mute:#9D96C8;--ring:#221E5E;
  position:relative;container-type:inline-size;background:var(--m-bg);color:var(--m-ink);border-radius:1.15rem;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 50px 90px -40px rgba(10,6,40,.75);font-size:13px;line-height:1.45;overflow:hidden;text-align:left;font-variant-numeric:tabular-nums;letter-spacing:0}
.mock *,.lmock *,.mini *{box-sizing:border-box}
.m-top{display:flex;align-items:center;gap:.6rem;padding:.68rem .9rem;border-bottom:1px solid var(--m-line);background:rgba(255,255,255,.025)}
.m-dots{display:flex;gap:5px;flex:none}
.m-dots i{width:9px;height:9px;border-radius:50%;background:#343075}
.m-dots i:first-child{background:#FF6E6E;opacity:.85}
.m-dots i:nth-child(2){background:#F2B35A;opacity:.8}
.m-dots i:nth-child(3){background:#2DD4A7;opacity:.75}
.m-title{font-weight:600;font-size:12px;color:var(--m-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#7EF0CC;background:rgba(45,212,167,.12);padding:3px 9px;border-radius:99px;flex:none;line-height:1.4}
.m-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#2DD4A7;animation:pulse 2.4s infinite}
.m-pill,.m-right{margin-left:auto;font-size:11px;font-weight:600;color:#C8C1EE;background:rgba(255,255,255,.07);padding:3px 9px;border-radius:99px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:none}
.m-right svg{width:12px;height:12px}
.m-body{display:grid;gap:10px;padding:10px}
.pane{background:var(--m-pane);border-radius:.85rem;padding:12px;min-width:0;border:1px solid rgba(255,255,255,.04)}
.m-h{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--m-mute);margin-bottom:10px}

/* avatars (shared by dark and light UI) */
.av{position:relative;width:34px;height:34px;flex:none;border-radius:50%}
.av>svg{width:100%;height:100%;border-radius:50%;display:block}
.av.sm{width:26px;height:26px}
.av.md{width:38px;height:38px}
.av.lg{width:46px;height:46px}
.av.xl{width:62px;height:62px}
.av .ch{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px var(--ring,#fff)}
.av .ch svg{width:10px;height:10px}
.av .ch.ph{background:#5B45D6;color:#fff}
.av .ch.ph svg{stroke-width:2.6}
.av.sm .ch{width:13px;height:13px;right:-3px;bottom:-3px}
.av.sm .ch svg{width:8px;height:8px}

/* status tags (dark UI) */
.tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.08);color:#CEC7F1;white-space:nowrap;line-height:1.5}
.tag.mint{background:rgba(45,212,167,.15);color:#74EBC6}
.tag.amber{background:rgba(242,179,90,.16);color:#F7CB86}
.tag.blue{background:rgba(142,123,255,.2);color:#C4B6FF}
.tag.red{background:rgba(255,110,110,.16);color:#FFA3A3}

/* live waveform */
.wv{display:inline-flex;align-items:center;gap:2px;height:28px;flex:none}
.wv i{display:block;width:3px;height:var(--h);border-radius:2px;background:linear-gradient(#C4B6FF,#6A4FE0);animation:wv 1.05s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -1);transform-origin:50% 50%}
@keyframes wv{0%{transform:scaleY(.28)}100%{transform:scaleY(1)}}
.wv.lg{height:64px;gap:4px}
.wv.lg i{width:5px;height:calc(var(--h) * 2.1)}
.wv.sm{height:22px}
.wv.sm i{width:2.5px;height:calc(var(--h) * .72)}
.wv.xs{height:14px;gap:1.5px}
.wv.xs i{width:2px;height:calc(var(--h) * .5)}

/* buttons, bubbles */
.m-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.m-btns.spread{justify-content:space-between}
.mbtn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.08);color:#E0D9FF;white-space:nowrap}
.mbtn svg{width:11px;height:11px}
.mbtn.stop{background:rgba(255,110,110,.2);color:#FFA3A3}
.mbtn.ai{background:#5B45D6;color:#fff}
.mbtn.go{background:#2DD4A7;color:#06241F}
.bub{max-width:88%;background:var(--m-pane-2);border-radius:12px 12px 12px 4px;padding:8px 10px;margin:0 0 8px;font-size:12.5px;color:#ECEAFF}
.bub .who{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--m-mute);margin-bottom:3px}
.bub .who svg{width:11px;height:11px}
.bub.me{margin-left:auto;background:#5B45D6;border-radius:12px 12px 4px 12px;color:#fff}
.bub small{display:block;font-size:10px;color:rgba(255,255,255,.72);margin-top:3px}
.mock-ai .bub small{margin:0 0 3px;color:var(--m-mute)}
.mock-ai .bub.me small{color:rgba(255,255,255,.75)}
.timer{font-weight:600;font-size:12px;color:#fff;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.28);padding:3px 8px;border-radius:99px;flex:none}
.timer.big{font-size:14px;padding:4px 10px;margin-left:auto}

/* unified inbox */
.ib{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr) minmax(0,.82fr)}
.mock-inbox.compact .ib{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.m-tabs{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px}
.m-tabs span{font-size:11px;font-weight:600;color:var(--m-mute);padding:4px 8px;border-radius:99px;white-space:nowrap}
.m-tabs span.on{background:rgba(142,123,255,.2);color:#fff}
.m-tabs b{font-weight:600;opacity:.7;margin-left:2px}
.conv{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px}
.conv.on{background:rgba(142,123,255,.15);box-shadow:inset 2px 0 0 #9484FF}
.cx{min-width:0;flex:1;display:grid;line-height:1.35}
.cx b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx span{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock .cx span{color:var(--m-mute)}
.callbar{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:linear-gradient(90deg,rgba(91,69,214,.42),rgba(91,69,214,.12));margin-bottom:11px}
.cb-who{display:grid;min-width:0;line-height:1.3}
.cb-who b{font-size:12.5px;white-space:nowrap}
.cb-who small{font-size:10.5px;color:#C5BEEE;white-space:nowrap}
.callbar .wv{margin-left:auto;overflow:hidden;min-width:0;flex:1 1 auto;justify-content:flex-end}
.suggest{margin-top:11px;border:1px dashed rgba(168,148,255,.4);border-radius:12px;padding:10px;background:rgba(168,148,255,.07)}
.sg-h{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#C4B6FF;text-transform:uppercase;letter-spacing:.07em}
.sg-h svg{width:13px;height:13px}
.suggest p{margin:6px 0 0;font-size:12px;color:#E0D9FF}
.cust{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cust b{display:block;font-size:13px}
.cust small{font-size:11px;color:var(--m-mute)}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;margin:0;font-size:11.5px}
.kv dt{color:var(--m-mute)}
.kv dd{margin:0;text-align:right;font-weight:600;min-width:0}
.hist{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:7px 0;border-top:1px solid var(--m-line)}
.hist>span{width:20px;height:20px;border-radius:6px;background:#fff;display:grid;place-items:center;flex:none}
.hist>span svg{width:12px;height:12px}
.hist>span.ph{background:#5B45D6;color:#fff}
.hist em{margin-left:auto;font-style:normal;color:var(--m-mute);font-size:10.5px;white-space:nowrap}
@container (max-width:780px){.ib{grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr)}.pane-cust{display:none}}
.mock-inbox.compact .suggest{display:none}
@container (max-width:600px){.mock-inbox.compact .m-tabs span:nth-child(n+3){display:none}.mock-inbox.compact .pane-list .conv:nth-child(n+5){display:none}}
@container (max-width:540px){
  .mock-inbox:not(.compact) .ib{grid-template-columns:1fr}
  .mock-inbox:not(.compact) .pane-list .conv:nth-child(n+5){display:none}
  .callbar .wv{display:none}
  .callbar .timer{margin-left:auto}
}
@container (max-width:420px){
  .mock-inbox.compact .ib{grid-template-columns:1fr}
  .mock-inbox.compact .pane-list .conv:nth-child(n+5){display:none}
  .mock-inbox.compact .suggest{display:block}
}
@container (max-width:380px){.suggest{display:none}.m-tabs span:nth-child(n+3){display:none}}

/* live call */
.mc{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.mc-caller{display:flex;align-items:center;gap:12px}
.mc-caller b{display:block;font-size:15px;letter-spacing:-.01em}
.mc-caller small{font-size:11.5px;color:var(--m-mute)}
.mc-wave{display:flex;justify-content:center;align-items:center;padding:20px 0 14px;overflow:hidden}
.mc-ctx{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tagw{font-size:11px;padding:4px 9px;border-radius:99px;border:1px solid rgba(255,255,255,.13);color:#CEC7F1;white-space:nowrap}
.route{list-style:none;display:grid;margin:0;padding:0}
.route li{position:relative;padding:0 0 14px 24px}
.route li::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1px;background:rgba(255,255,255,.16)}
.route li:last-child{padding-bottom:4px}
.route li:last-child::before{display:none}
.route .dot{position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:#2DD4A7;box-shadow:0 0 0 3px rgba(45,212,167,.18)}
.route li.now .dot{background:#9484FF;box-shadow:0 0 0 3px rgba(142,123,255,.25);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 7px rgba(142,123,255,0)}}
.route b{display:block;font-size:12.5px}
.route small{display:block;font-size:11px;color:var(--m-mute)}
.mc-agent{display:flex;gap:10px;align-items:center;margin-top:10px;padding:10px;border-radius:11px;background:rgba(45,212,167,.09);border:1px solid rgba(45,212,167,.18)}
.mc-agent b{display:block;font-size:12.5px}
.mc-agent small{font-size:11px;color:#9FE9D1}
@container (max-width:600px){.mc{grid-template-columns:1fr}.wv.lg{height:48px}.wv.lg i{height:calc(var(--h) * 1.6)}}

/* kpi strip */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 10px 0}
.kpi{background:var(--m-pane);border-radius:.85rem;padding:10px 12px;border:1px solid rgba(255,255,255,.04);min-width:0}
.kpi small{display:block;font-size:10.5px;color:var(--m-mute);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.025em;margin:3px 0 1px;color:#fff;line-height:1.15}
.kpi strong span{font-size:13px;color:var(--m-mute);font-weight:500}
.kpi em{display:block;font-style:normal;font-size:10.5px;color:var(--m-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi em.up{color:#74EBC6}
.kpi em.dn{color:#FFA3A3}
@container (max-width:520px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:19px}}

/* charts */
.mock .chart{width:100%;height:auto;display:block;overflow:visible}
.mock .chart text{font-size:10px;fill:#9790C2;font-family:var(--font)}
.mock .chart .tt{fill:#fff;font-weight:600;font-size:10.5px}
.lg{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--m-mute);margin:8px 0 0;padding:0}
.lg li{display:inline-flex;align-items:center;gap:6px}
.lg i{width:8px;height:8px;border-radius:2px;display:inline-block;flex:none}
.lg.col{display:grid;gap:9px;flex:1;min-width:0}
.lg.col li{display:flex}
.lg.col li b{margin-left:auto;color:#fff;font-weight:600}

/* supervisor dashboard */
.dsh{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.arow{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--m-line)}
.m-h+.arow{border-top:0;padding-top:0}
.nm{font-size:12px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm{font-size:11px;color:var(--m-mute);font-variant-numeric:tabular-nums;white-space:nowrap}
@container (max-width:620px){.dsh{grid-template-columns:1fr}.dsh .arow:nth-of-type(n+5){display:none}}

/* live floor monitor */
.mon{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.agts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.agt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid var(--m-line)}
.ag-t{display:grid;gap:3px;justify-items:start;min-width:0}
.ag-t b{font-size:12px}
.ag-r{display:grid;justify-items:end;gap:4px}
.qrow{padding:9px 0;border-top:1px solid var(--m-line)}
.m-h+.qrow{border-top:0;padding-top:0}
.q-t{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.q-t b{font-size:12px}
.qrow small{display:block;font-size:10.5px;color:var(--m-mute);margin-top:5px}
.mock .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.mock .bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5B45D6,#A894FF)}
@container (max-width:760px){.agt:nth-child(n+7){display:none}}
@container (max-width:560px){.mon{grid-template-columns:1fr}}
@container (max-width:430px){.agts{grid-template-columns:1fr}.agt:nth-child(n+5){display:none}}

/* campaigns */
.cmp{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.crow{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 2.4rem auto;align-items:center;gap:6px 12px;padding:9px 0;border-top:1px solid var(--m-line)}
.m-h+.crow{border-top:0;padding-top:2px}
.cn{min-width:0}
.cn b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cn small{display:block;font-size:10.5px;color:var(--m-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crow .tm{text-align:right;color:#E0D9FF;font-weight:600}
@container (max-width:760px){.cmp{grid-template-columns:1fr}}
@container (max-width:440px){.crow{grid-template-columns:minmax(0,1fr) auto}.crow .bar{grid-column:1/-1;grid-row:2}.crow .tm{display:none}}

/* reports */
.rep{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.dn-wrap{display:flex;align-items:center;gap:14px}
.donut{width:118px;height:118px;flex:none}
.dn-big{font-size:22px;font-weight:600;fill:#fff;font-family:var(--font)}
.dn-sm{font-size:10px;fill:#9790C2;font-family:var(--font)}
@container (max-width:620px){.rep{grid-template-columns:1fr}}

/* wrap-up */
.wu{display:block;padding:14px}
.countdown{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.countdown b{font-size:13px}
.countdown .bar{flex:1}
.mock .bar.amber i{background:linear-gradient(90deg,#F2B35A,#FFD596);transform-origin:0 50%;animation:countdown 16s linear infinite}
@keyframes countdown{from{transform:scaleX(1)}to{transform:scaleX(.08)}}
.mchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.mchip{font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#CEC7F1}
.mchip.on{background:#2DD4A7;border-color:#2DD4A7;color:#06241F}
.mock .field{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;font-size:12px;color:#E0D9FF;margin-bottom:6px}

/* customer timeline */
.tl{padding:14px 16px 8px}
.tl-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--m-line)}
.tl-head b{display:block;font-size:13.5px}
.tl-head small{color:var(--m-mute);font-size:11px}
.tl-head .tag{margin-left:auto}
.ev{display:grid;grid-template-columns:28px minmax(0,1fr);gap:11px;position:relative;padding:9px 0}
.ev::before{content:"";position:absolute;left:13.5px;top:39px;bottom:-9px;width:1px;background:rgba(255,255,255,.13)}
.ev:last-child::before{display:none}
.ev .dot{width:28px;height:28px;border-radius:9px;background:#fff;display:grid;place-items:center}
.ev .dot svg{width:15px;height:15px}
.ev .dot.gen{background:#2A2570;color:#C4B6FF}
.ev .dot.ok{background:rgba(45,212,167,.17);color:#74EBC6}
.mock .meta{display:flex;gap:8px;align-items:baseline;font-size:11px;color:var(--m-mute)}
.mock .meta b{color:#fff;font-size:12px}
.ev p{margin:2px 0 0;font-size:12px;color:#CEC7F1}

/* ai voice agent */
.aig{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.aig>div:first-child{padding:6px 4px 4px}
.tline{display:flex;gap:3px;border-radius:99px;overflow:hidden;margin-top:12px;font-size:10.5px;font-weight:600;line-height:22px;white-space:nowrap}
.tline .ai{flex:0 0 auto;background:#8E7BFF;color:#fff;padding:0 10px}
.tline .hu{flex:1 1 auto;background:#2DD4A7;color:#06241F;padding:0 10px;overflow:hidden;text-overflow:ellipsis}
.handoff{background:rgba(255,255,255,.035);border:1px solid var(--m-line);border-radius:12px;padding:12px}
@container (max-width:600px){.aig{grid-template-columns:1fr}}

/* operations overview */
.ops{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.acall{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid var(--m-line)}
.m-h+.acall{border-top:0;padding-top:0}
.ac-t{display:grid;flex:1;min-width:0;line-height:1.3}
.ac-t b{font-size:12px;white-space:nowrap}
.ac-t small{font-size:10.5px;color:var(--m-mute)}
@container (max-width:680px){.ops{grid-template-columns:1fr}}

/* ---------- light inbox ---------- */
.lmock{position:relative;background:#fff;color:var(--ink);border-radius:1.15rem;box-shadow:0 1px 0 rgba(26,23,71,.04),0 40px 80px -40px rgba(26,23,71,.5);border:1px solid rgba(26,23,71,.06);font-size:13px;line-height:1.45;overflow:hidden;container-type:inline-size}
.l-top{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #EFEDF5}
.l-top b{font-size:15px;letter-spacing:-.01em}
.l-tabs{display:flex;gap:3px;margin-left:auto}
.l-tabs span{font-size:11.5px;font-weight:600;color:#5E5986;padding:5px 9px;border-radius:99px;white-space:nowrap}
.l-tabs .on{background:#F0EDFF;color:#4B34C4}
.l-body{padding:6px 8px}
.lrow{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:12px}
.lrow.on{background:#F4F2FF}
.lrow .cx b{color:var(--ink)}
.lrow .cx span{color:#5E5986}
.l-compose{display:flex;align-items:center;gap:10px;margin:4px 12px 12px;padding:7px 7px 7px 14px;border-radius:99px;background:#F5F4FB;color:#837DA0;font-size:12.5px}
.l-compose .send{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#5B45D6;color:#fff;display:grid;place-items:center;flex:none}
.l-compose .send svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@container (max-width:420px){.l-tabs span:nth-child(n+3){display:none}}

/* ---------- light mini widgets ---------- */
.mini{background:#fff;color:var(--ink);border-radius:1.1rem;padding:14px;box-shadow:0 0 0 1px rgba(26,23,71,.05),0 34px 70px -34px rgba(26,23,71,.55);font-size:13px;line-height:1.4}
.mrow{display:flex;align-items:center;gap:10px;padding:6px 4px}
.mrow b{font-size:13px;flex:1;min-width:0}
.mini .flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mini .node{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border-radius:99px;background:#F5F4FB;font-size:12px;font-weight:600;white-space:nowrap}
.mini .node .bmark{width:24px;height:24px;border-radius:50%;border:0}
.mini .node .bmark svg{width:14px;height:14px}
.mini .node .av{width:24px;height:24px}
.mini .arr{display:inline-grid;color:#8D88A8}
.mini .arr svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mini .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mini .chip{font-size:11px;font-weight:600;padding:5px 10px;border-radius:99px;background:#F0EDFF;color:#4B34C4}
.mini .chip.on{background:var(--brand-deep);color:#fff}
.mini .seg{display:inline-flex;padding:3px;border-radius:99px;background:#F2F0F7;font-size:11.5px;font-weight:600;margin-bottom:6px}
.mini .seg span{padding:5px 10px;border-radius:99px;color:#5E5986}
.mini .seg .on{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(26,23,71,.12)}
.mini .prog{font-size:12px;font-weight:600;color:#3B3666;margin-top:9px}
.pbar{height:7px;border-radius:99px;background:#EFEDF5;margin-top:6px;overflow:hidden}
.pbar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5B45D6,#A894FF)}
.mini .kline{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mini .kline strong{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1}
.minichart{width:100%;height:auto;display:block}
.mini .timerpill{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:99px;background:#FFF1DA;color:#8A570B}
.mini .timerpill svg{width:14px;height:14px}
.mini .note{margin-top:10px;font-size:12px;color:#5E5986;background:#F5F4FB;border-radius:10px;padding:8px 10px}
.mini .adm{list-style:none;display:grid;gap:9px;margin:0;padding:0}
.mini .adm li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.mini .adm .bmark{width:30px;height:30px;border-radius:9px}
.mini .adm .bmark svg{width:16px;height:16px}

/* ---------- glass floating cards ---------- */
.glass{background:linear-gradient(150deg,rgba(255,255,255,.17),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-radius:18px;color:#fff;box-shadow:0 26px 50px -24px rgba(9,5,36,.75),inset 0 1px 0 rgba(255,255,255,.2);font-size:12.5px;line-height:1.4}
.gc{display:flex;align-items:center;gap:10px;padding:10px 13px 10px 10px;min-width:0}
.gc b{display:block;font-size:12.5px;font-weight:600;white-space:nowrap}
.gc small{display:block;font-size:11px;color:#CFC8F2;white-space:nowrap}
.gc .bmark{width:32px;height:32px;border-radius:50%;border:0}
.gc .bmark svg{width:17px;height:17px}
.gc-time{margin-left:6px;font-size:10.5px;color:#ADA4D4;align-self:flex-start}
.gc-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
.gc-ic.call{background:#2DD4A7;color:#06241F}
.gc-ic svg{width:15px;height:15px;stroke-width:2.2}
.gc-timer{font-weight:600;font-variant-numeric:tabular-nums;font-size:12px}
.gc-queue,.gc-camp{display:block;padding:12px 14px;width:12.6rem}
.gc-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.gc-h .m-live{margin-left:0}
.gq{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}
.gc-pct{font-weight:700;font-size:15px}
.glass .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.16);margin:8px 0 6px;overflow:hidden}
.glass .bar i{display:block;height:100%;background:linear-gradient(90deg,#A894FF,#fff);border-radius:inherit}
.spark{width:100%;height:auto;display:block}
.hs-card .glass,.hcar-floats .glass,.ops-vis .glass{background:linear-gradient(150deg,rgba(60,50,140,.88),rgba(33,28,88,.84))}

/* ---------- AI to human handoff ---------- */
.hflow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,1.8vw,1.4rem);position:relative;margin:0;padding:0}
.hf{position:relative;padding:clamp(1.25rem,2.2vw,1.75rem);border-radius:var(--radius-card);background:#fff;border:1px solid var(--hairline);display:flex;flex-direction:column}
.hf-top{display:flex;align-items:center;gap:.45rem;margin-bottom:1.4rem}
.hf-top .idx{margin-left:auto}
.hf-ico{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);color:var(--brand)}
.hf-ico svg{width:1.2rem;height:1.2rem}
.hf-ico.wa{background:#fff;border:1px solid var(--hairline)}
.hf.ai .hf-ico{background:var(--brand);color:#fff}
.hf h3{margin:0}
.hf p{color:var(--ink-soft);margin:.55rem 0 1.2rem;font-size:.95rem}
.hf-card{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4rem;padding:.8rem .9rem;border-radius:.95rem;background:var(--surface);font-size:.85rem;line-height:1.4}
.hf-card b{display:block;width:100%;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.hf-card .q{font-style:italic;color:var(--ink)}
.hf-card .chip{font-size:.76rem;font-weight:600;padding:.25rem .6rem;border-radius:99px;background:#E9E4FF;color:#4B34C4}
.hf-card .chip.ok{background:#DDF7EE;color:#0B7A57}
.hf:not(:last-child)::after{content:"";position:absolute;z-index:2;top:2.7rem;right:calc(-1 * clamp(.9rem,1.8vw,1.4rem) / 2 - .5rem);width:1rem;height:1rem;border-radius:50%;background:var(--brand);box-shadow:0 0 0 .3rem rgba(91,69,214,.18)}
.hflow.on-dark .hf{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.11);color:#fff}
.hflow.on-dark .hf p{color:var(--navy-muted)}
.hflow.on-dark .hf-card{background:rgba(255,255,255,.06);color:#ECEAFF}
.hflow.on-dark .hf-card b{color:var(--navy-muted)}
.hflow.on-dark .hf-card .q{color:#fff}
.hflow.on-dark .hf-ico{background:rgba(255,255,255,.1);color:var(--brand-light)}
.hflow.on-dark .hf.ai .hf-ico{background:var(--brand);color:#fff}
.hflow.on-dark .hf-card .chip{background:rgba(142,123,255,.22);color:#D0C5FF}
.hflow.on-dark .hf-card .chip.ok{background:rgba(45,212,167,.18);color:#86F0CF}
.hflow.on-dark .hf:not(:last-child)::after{background:var(--brand-light);box-shadow:0 0 0 .3rem rgba(168,148,255,.2)}
@media (max-width:860px){
  .hflow{grid-template-columns:1fr}
  .hf:not(:last-child)::after{top:auto;bottom:calc(-1 * clamp(.9rem,1.8vw,1.4rem) / 2 - .5rem);right:auto;left:2.4rem}
}

/* ---------- phone system map ---------- */
.pbx{display:grid;grid-template-columns:minmax(0,1fr) 4.25rem minmax(0,1.05fr) 4.25rem minmax(0,1fr);align-items:center}
.pbx-col h4{font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .9rem;font-weight:600}
.pnode{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:1rem;background:#fff;border:1px solid var(--hairline);margin-bottom:.55rem}
.pnode b{display:block;font-size:.94rem;letter-spacing:-.01em;line-height:1.25}
.pnode small{display:block;font-size:.8rem;color:var(--ink-soft);line-height:1.35}
/* the Ceyluu panel reads as frosted violet glass rather than a flat tile */
.pbx-core{position:relative;overflow:hidden;color:#fff;border-radius:var(--radius-card-lg);padding:clamp(1.4rem,2.4vw,2rem);background:linear-gradient(155deg,rgba(122,92,250,.93),rgba(74,63,209,.88));border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 26px 60px -28px rgba(42,30,120,.6),inset 0 1px 0 rgba(255,255,255,.3)}
.pbx-core::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(120% 80% at 0% 0%,rgba(255,255,255,.22),transparent 55%)}
.pbx-core>*{position:relative;z-index:1}
.pc-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}
.pc-head h3{font-size:1.65rem;letter-spacing:-.035em}
.pc-mark{width:2.6rem;height:2.6rem;border-radius:.85rem;background:var(--brand);display:grid;place-items:center;color:#fff}
.pc-mark svg{width:1.3rem;height:1.3rem}
.pbx-core ul{list-style:none;display:grid;gap:.6rem;margin:0;padding:0}
.pbx-core li{display:flex;gap:.6rem;font-size:.93rem;color:#E0D9FF;line-height:1.4}
.pbx-core li::before{content:"";flex:none;width:1.05rem;height:1.05rem;margin-top:.15rem;border-radius:50%;background:rgba(45,212,167,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232DD4A7' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/.62rem no-repeat}
.pbx-link{display:grid;gap:.9rem;padding:0 .4rem}
.pbx-link span{position:relative;display:block;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(91,69,214,.15),rgba(91,69,214,.6),rgba(91,69,214,.15))}
.pbx-link span::after{content:"";position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(91,69,214,.18),0 0 14px rgba(91,69,214,.6);animation:flowdot 2.6s linear infinite}
.pbx-link span:nth-child(2)::after{animation-delay:-.9s}
.pbx-link span:nth-child(3)::after{animation-delay:-1.8s}
@keyframes flowdot{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.band-dark .pnode,.on-dark .pnode{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#fff}
.band-dark .pnode small,.on-dark .pnode small{color:var(--navy-muted)}
.band-dark .pbx-col h4,.on-dark .pbx-col h4{color:var(--navy-muted)}
.band-dark .pbx-core,.on-dark .pbx-core{background:linear-gradient(155deg,rgba(122,92,250,.52),rgba(74,63,209,.3));border-color:rgba(255,255,255,.22);box-shadow:0 30px 70px -30px rgba(8,4,34,.8),inset 0 1px 0 rgba(255,255,255,.22)}
.band-dark .pc-mark,.on-dark .pc-mark{background:#fff;color:var(--brand)}
.band-dark .pbx-link span,.on-dark .pbx-link span{background:linear-gradient(90deg,rgba(168,148,255,.1),rgba(168,148,255,.5),rgba(168,148,255,.1))}
.band-dark .pbx-link span::after,.on-dark .pbx-link span::after{background:#fff;box-shadow:0 0 0 4px rgba(168,148,255,.2),0 0 14px rgba(168,148,255,.8)}
@media (max-width:1023px){
  .pbx{grid-template-columns:1fr;gap:0}
  .pbx-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .6rem}
  .pbx-col h4{grid-column:1/-1}
  .pbx-link{grid-auto-flow:column;justify-content:center;gap:1.2rem;height:3rem;padding:.4rem 0}
  .pbx-link span{width:2px;height:100%;background:linear-gradient(180deg,rgba(91,69,214,.12),rgba(91,69,214,.45),rgba(91,69,214,.12))}
  .pbx-link span::after{left:-3px;top:0;animation-name:flowdot-y}
  .band-dark .pbx-link span,.on-dark .pbx-link span{background:linear-gradient(180deg,rgba(168,148,255,.1),rgba(168,148,255,.5),rgba(168,148,255,.1))}
}
@keyframes flowdot-y{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}
@media (max-width:560px){.pbx-col{grid-template-columns:1fr}}

/* ---------- motion safety ---------- */
@media (prefers-reduced-motion:reduce){.wv i{animation:none;transform:scaleY(.7)}.mock .bar.amber i{animation:none}}

/* ---------- Ceyluu marks inside the product chrome ---------- */
.cl-mark{width:18px;height:18px;border-radius:5px;flex:none;display:block}
.m-top .m-dots{margin-left:2px}
.pc-logo{width:min(11rem,62%);height:auto;display:block}
.pbx-core{--lg-ink:#FFFFFF;--lg1:#FFFFFF;--lg3:#5EE0F5}
.pc-head{align-items:center}

/* =====================================================================
   Hero (home) and page heroes share the inset navy stage
   ===================================================================== */
.hero{position:relative;margin:var(--inset);border-radius:var(--radius-card-lg);background:var(--brand-deep);color:#fff;overflow:hidden;isolation:isolate;display:flex;flex-direction:column}
.hero-home{min-height:calc(100svh - 2 * var(--inset))}
.hero-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(55% 65% at 82% 28%,rgba(91,69,214,.55),transparent 62%),radial-gradient(42% 52% at 6% 100%,rgba(168,148,255,.17),transparent 62%),radial-gradient(28% 32% at 58% 104%,rgba(25,195,230,.16),transparent 70%),linear-gradient(180deg,#211C5E,#15123F)}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:4.5rem 4.5rem;-webkit-mask-image:radial-gradient(70% 70% at 70% 35%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 70% 35%,#000,transparent 75%)}
.hero-ghost{position:absolute;left:0;right:0;bottom:-.2em;z-index:-1;font-size:25vw;font-weight:600;letter-spacing:-.065em;line-height:.8;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.085);text-align:center;white-space:nowrap;pointer-events:none;user-select:none}
.hero-inner{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,3.5rem);align-content:center;padding-top:calc(var(--hdr) + var(--inset) + clamp(2rem,5.5vh,4.25rem));padding-bottom:clamp(2.25rem,5vh,3.5rem)}
.hero-copy{position:relative;z-index:2;display:grid;justify-items:start;align-content:center}
.hero-title{margin:1.4rem 0 0;font-size:clamp(2.1rem,9.9vw,6.4rem)}
.hero-title .hl{display:block;white-space:nowrap}
.hero-title em{font-style:normal;color:var(--brand-light)}
.hero-lead{margin:clamp(1.25rem,2.6vh,1.9rem) 0 0;max-width:35rem;color:#C6BFE6}
.hero .actions{margin-top:clamp(1.5rem,3vh,2.2rem)}
.hero-visual{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0}
.hero-foot{position:absolute;left:0;right:0;bottom:clamp(1.1rem,3vh,1.9rem);display:flex;align-items:center;gap:1rem;pointer-events:none}
.hero-foot a{pointer-events:auto}
.scroll-cue{display:inline-flex;align-items:center;gap:.85rem;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#ADA4D4;text-decoration:none}
.scroll-cue i{position:relative;display:block;width:1px;height:2.6rem;background:rgba(255,255,255,.2);overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-45%;width:1px;height:45%;background:#fff;animation:cue 2.3s var(--ease-in-out-cubic) infinite}
@keyframes cue{to{top:105%}}
@media (min-width:1200px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.94fr);column-gap:clamp(2rem,3.6vw,4.5rem);align-items:center}
  .hero-title{font-size:clamp(3.5rem,5.55vw,7.1rem)}
}
@media (min-width:768px) and (max-width:1199px){
  .hero-title{font-size:clamp(3.6rem,9.2vw,6.4rem)}
  .hero-visual{max-width:46rem;width:100%;justify-self:center}
}
@media (max-width:1199px){.hero-foot{display:none}}
@media (max-width:767px){.hero-foot .scroll-cue{display:none}.hero-ghost{bottom:-.12em}.hero .eyebrow{white-space:normal;line-height:1.35;max-width:100%}}
@container (max-width:420px){.hs-main .pane-thread .bub,.hs-main .pane-thread .m-btns,.hs-main .pane-thread .suggest{display:none}.hs-main .pane-thread .callbar{margin-bottom:0}.hs-main .pane-list .conv:nth-child(n+4){display:none}}

/* command-centre stage */
.hero-stage{position:relative;padding:8% 15% 13% 3%}
.hs-plane{position:relative}
.hs-main{position:relative;z-index:1}
.hs-main .mock{transform:perspective(2200px) rotateY(-11deg) rotateX(5deg) rotateZ(.6deg);transform-origin:62% 50%;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,-40px 60px 100px -40px rgba(8,4,34,.85)}
.hs-card{position:absolute;z-index:2}
.hs-card .glass{animation:float 7s ease-in-out infinite}
.hs-card.c1{left:-5%;top:-8%}
.hs-card.c2{right:-21%;top:10%}
.hs-card.c3{left:6%;bottom:-10%}
.hs-card.c4{right:-17%;bottom:-8%}
.hs-card.c2 .glass{animation-delay:-2.2s}
.hs-card.c3 .glass{animation-delay:-4.1s}
.hs-card.c4 .glass{animation-delay:-5.6s}
@keyframes float{50%{transform:translate3d(0,-9px,0)}}
@media (max-width:640px){
  .hero-stage{padding:9% 2% 15% 2%}
  .hs-main .mock{transform:perspective(1400px) rotateY(-7deg) rotateX(3deg)}
  .hs-card.c2,.hs-card.c3,.hs-card.c4{display:none}
  .hs-card.c1{left:-2%;top:-1%}
  .hs-card.c3{left:auto;right:-1%;bottom:0}
  .hs-card .glass{font-size:11.5px}
}

/* hero editorial cards */
.hero-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.25rem}
.ecard{position:relative;display:grid;align-content:start;gap:.85rem;padding:1.05rem 1.1rem 1.15rem;text-decoration:none;color:#fff;border-radius:1.35rem;transition:background-color .4s,transform .6s var(--ease-out-expo)}
.ec-top{display:flex;align-items:center;gap:.6rem}
.ec-top .idx{color:#ADA4D4}
.ec-ic{display:flex;margin-left:auto}
.ec-ic>span{width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center;background:#fff;margin-left:-.45rem;box-shadow:0 0 0 2px rgba(26,23,71,.65)}
.ec-ic>span svg{width:1rem;height:1rem}
.ec-ic>span.ph{background:var(--brand);color:#fff}
.ec-bars{display:flex;align-items:flex-end;gap:3px;height:1.9rem;margin-left:auto}
.ec-bars i{display:block;width:5px;border-radius:2px;background:linear-gradient(#A894FF,#5B45D6)}
.ec-bars i:nth-child(6){background:linear-gradient(#7FF2CE,#2DD4A7)}
.ecard b{display:block;font-size:1.02rem;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.ecard p{margin:.25rem 0 0;font-size:.86rem;line-height:1.45;color:#C6BFE6}
.ecard .go{position:absolute;right:1rem;bottom:1rem;width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center}
.ecard .go svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease-out-expo)}
.ecard .ec-txt{padding-right:2.4rem}
@media (hover:hover) and (pointer:fine) and (min-width:769px){.ecard:hover{background:rgba(255,255,255,.15)}.ecard:hover .go svg{transform:translateX(4px)}}
@media (max-width:520px){.hero-cards{grid-template-columns:1fr}}

/* =====================================================================
   Demo request panel
   ===================================================================== */
.demo-sec{position:relative}
.demo-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,6rem);align-items:start}
.demo-copy{position:sticky;top:7.5rem;display:grid;justify-items:start;gap:1.4rem}
.demo-copy .lead{margin:0}
.demo-contact{list-style:none;display:grid;gap:.7rem;margin-top:.6rem}
.demo-contact li{display:flex;align-items:center;gap:.8rem}
.demo-contact a{font-weight:600;text-decoration:none;border-bottom:1px solid #CBC6E0}
.demo-contact a:hover{border-color:currentColor}
.demo-contact .ico{width:2.5rem;height:2.5rem;border-radius:50%}
.demo-contact .ico svg{width:1.1rem;height:1.1rem}
@media (max-width:960px){.demo-grid{grid-template-columns:1fr}.demo-copy{position:static}}

/* =====================================================================
   Compatible systems marquee
   ===================================================================== */
.logos{padding-block:clamp(2.5rem,5vw,4.25rem)}
.logos .label{text-align:center;margin:0 0 1.6rem}
.logos .marquee{--mq-gap:.9rem}

/* =====================================================================
   Story carousel with ghost words (Act 2)
   ===================================================================== */
.story{padding-block:clamp(4.5rem,8vw,7.5rem) clamp(3.5rem,6vw,5.5rem)}
.story-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}
.story-stage{position:relative;display:grid;align-items:center;margin-top:clamp(1.5rem,3vw,2.5rem);--dev-w:clamp(17.5rem,27vw,26rem);--gap-h:calc(var(--dev-w) * 1.3 - 2.5rem)}
.ghost{grid-area:1/1;display:grid;pointer-events:none;user-select:none;padding-inline:clamp(1rem,3vw,3rem);overflow:hidden}
.g-set{grid-area:1/1;display:grid;grid-template-rows:auto var(--gap-h) auto;visibility:hidden}
.g-set.is-current{visibility:visible}
html:not(.js) .g-set:first-child,html.reveal-all .g-set:first-child{visibility:visible}
.g-row{font-size:clamp(3.4rem,10.2vw,12.5rem);font-weight:600;text-transform:uppercase;letter-spacing:-.06em;line-height:.88;color:var(--ghost);white-space:nowrap}
.g-row.r1{text-align:right}
.g-row.r2{grid-row:3;text-align:left}
.g-dark{color:var(--brand-deep)}
.g-set .w{padding-bottom:.08em;margin-bottom:-.08em}
html.js .g-set .wi{transform:translate3d(0,112%,0);transition:transform 1.1s var(--ease-out-expo);transition-delay:calc(var(--i,0) * 140ms)}
html.js .g-set.is-in .wi{transform:none}
html.reveal-all .g-set .wi{transform:none!important}
.device-wrap{grid-area:1/1;justify-self:center;width:var(--dev-w);position:relative;z-index:1}
.device{position:relative;display:grid;grid-template-columns:minmax(0,1fr);aspect-ratio:10/13;border-radius:2rem;padding:.55rem;background:linear-gradient(160deg,#2B2673,#13103A);box-shadow:0 70px 110px -55px rgba(26,23,71,.75),inset 0 0 0 1px rgba(255,255,255,.07);transform:rotate(6deg);overflow:hidden}
.device::after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:.55rem;height:22%;border-radius:0 0 1.5rem 1.5rem;background:linear-gradient(rgba(23,20,68,0),#171444 85%);pointer-events:none;z-index:2}
.slide{grid-area:1/1;min-height:0;opacity:0;transform:scale(1.05);transition:opacity .85s var(--ease-in-out-cubic),transform 1.2s var(--ease-out-expo);border-radius:1.5rem;overflow:hidden}
.slide.is-active{opacity:1;transform:none}
.slide .mock{height:100%;border-radius:1.5rem;box-shadow:none;border-color:rgba(255,255,255,.06)}
.story.tick .device{animation:dev-tick 1s var(--ease-out-expo)}
@keyframes dev-tick{0%{transform:rotate(4.5deg) scale(.965)}100%{transform:rotate(6deg) scale(1)}}
.story-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem 3rem;margin-top:clamp(2.5rem,5vw,4rem)}
.caps{display:grid}
.cap{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem 1.25rem;opacity:0;transform:translateY(.75rem);transition:opacity .6s,transform .8s var(--ease-out-expo);visibility:hidden}
.cap.is-active{opacity:1;transform:none;visibility:visible}
.cap .idx{padding-top:.3rem}
.cap b{display:block;font-size:clamp(1.2rem,1.7vw,1.5rem);letter-spacing:-.025em}
.cap p{margin:.35rem 0 0;color:var(--ink-soft);max-width:36rem}
.ctrls{display:flex;align-items:center;gap:.75rem}
.dots{display:flex;align-items:center;gap:.25rem}
.dots button{position:relative;width:2.75rem;height:2.75rem;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.dots button::before{content:"";width:.55rem;height:.55rem;border-radius:99px;background:#C6C0D9;transition:width .5s var(--ease-out-expo),background-color .4s}
.dots button.is-active::before{width:1.9rem;background:var(--brand-deep)}
.ctrls .circ{width:3rem;height:3rem}
.circ.pp svg{width:.9rem;height:.9rem}
.circ.pp .i-play{display:none}
.circ.pp[aria-pressed=true] .i-play{display:block}
.circ.pp[aria-pressed=true] .i-pause{display:none}
.story .circ{background:#fff}
@media (max-width:767px){
  .story-stage{--dev-w:min(70vw,19rem);--gap-h:calc(var(--dev-w) * 1.3 - 1.2rem)}
  .g-row{font-size:min(15.5vw,4.6rem);white-space:normal;line-height:.9}
  .story-foot{grid-template-columns:1fr}
  .ctrls{justify-content:space-between}
}

/* =====================================================================
   Platform list and modules (Act 3)
   ===================================================================== */
.modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(2.5rem,5vw,4rem)}
.module{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:1.5rem;padding:clamp(1.25rem,2.4vw,2rem);border-radius:var(--radius-card-lg);background:var(--surface)}
.mod-vis{position:relative;display:grid;place-items:center;padding:clamp(1rem,2vw,1.6rem);border-radius:1.4rem;background:radial-gradient(100% 90% at 100% 0%,rgba(168,148,255,.55),transparent 60%),#E8E3FB;min-height:12rem;overflow:hidden}
.mod-vis .mini{width:100%;max-width:17.5rem;transform:rotate(-3deg)}
.module h3{margin:.65rem 0 .5rem}
.module p{margin:0;color:var(--ink-soft)}
@media (max-width:1100px){.module{grid-template-columns:1fr}}
@media (max-width:700px){.modules{grid-template-columns:1fr}}

/* =====================================================================
   Compare and showroom (Act 4)
   ===================================================================== */
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.cmp-col{border-radius:var(--radius-card-lg);padding:clamp(1.6rem,3vw,2.6rem)}
.cmp-col.bad{background:#fff;border:1px solid var(--hairline)}
.cmp-col.good{background:var(--brand-deep);color:#fff;position:relative;overflow:hidden}
.cmp-col.good::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 90% at 100% 0%,rgba(91,69,214,.5),transparent 60%);pointer-events:none}
.cmp-col>*{position:relative}
.cmp-col h3{display:flex;align-items:center;gap:.65rem;font-size:.8rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;margin:0 0 1.5rem;color:var(--ink-soft)}
.cmp-col.good h3{color:var(--brand-light)}
.cmp-col ul{list-style:none;display:grid;gap:0}
.cmp-col li{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 0;border-top:1px solid var(--hairline);font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.45}
.cmp-col.good li{border-color:rgba(255,255,255,.12)}
.cmp-col li:first-child{border-top:0;padding-top:0}
.mk{flex:none;width:1.65rem;height:1.65rem;border-radius:50%;display:grid;place-items:center;margin-top:.02rem}
.mk svg{width:.85rem;height:.85rem;stroke-width:2.6}
.mk.x{background:#FDECE8;color:#C2381F}
.mk.ok{background:rgba(45,212,167,.18);color:var(--mint)}
.cmp-col.bad li span{color:#504A77}
@media (max-width:760px){.compare{grid-template-columns:1fr}}
.showroom{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;margin-top:clamp(3.5rem,7vw,6rem)}
.sr-panel{position:relative;margin:0;min-width:0}
.sr-panel.p1{grid-column:1/7;grid-row:1;z-index:1}
.sr-panel.p2{grid-column:6/13;grid-row:1;margin-top:clamp(6rem,13vw,12rem);z-index:2}
.showroom .caption{grid-row:2}
.sr-tilt{transform:rotate(-6deg);transform-origin:50% 50%}
.sr-panel.p2 .sr-tilt{transform:rotate(4deg)}
.sr-panel .gcap{position:absolute;z-index:3}
.sr-panel.p1 .gcap{left:-.5rem;top:-1.6rem}
.sr-panel.p2 .gcap{right:-.5rem;bottom:-1.4rem}
.showroom .caption{grid-column:1/-1;margin-top:3rem}
@media (max-width:860px){
  .showroom{grid-template-columns:1fr;gap:3.5rem}
  .sr-panel.p1,.sr-panel.p2{grid-column:1;grid-row:auto;margin-top:0}
  .showroom .caption{grid-row:auto}
  .sr-tilt{transform:rotate(-3deg)}
  .sr-panel.p2 .sr-tilt{transform:rotate(2.5deg)}
  .showroom .caption{margin-top:0}
}

/* =====================================================================
   Deep dives
   ===================================================================== */
.dives{display:grid;gap:clamp(5rem,10vw,9rem)}
.dd{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:clamp(2rem,5vw,5rem);align-items:center;scroll-margin-top:6rem}
.dd.rev{grid-template-columns:minmax(0,1.26fr) minmax(0,.74fr)}
.dd.rev .dd-copy{order:2}
.dd-vis .mock-wrap{max-width:32rem;margin-inline:auto}
.dd-idx{display:flex;align-items:center;gap:.85rem;margin:0 0 1.4rem;font-size:.78rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.dd-idx span{display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .5rem;border-radius:99px;border:1px solid #D3CEE4;color:var(--ink);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.dd-copy h2{margin:0 0 1.2rem}
.dd-copy>p{color:var(--ink-soft);font-size:clamp(1.02rem,1.25vw,1.15rem);margin:0 0 1.6rem;max-width:34rem}
.dd-vis{position:relative;min-width:0}
.dd-vis .frame-float{right:-1rem;bottom:2.5rem}
.dd.wide{grid-template-columns:1fr;gap:clamp(2rem,4vw,3.25rem)}
.dd-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 4rem;align-items:start}
.dd-cols h2{margin:0}
.dd-cols p{color:var(--ink-soft);font-size:clamp(1.02rem,1.25vw,1.15rem);margin:0 0 1.4rem;max-width:34rem}
@media (max-width:960px){
  .dd,.dd.rev{grid-template-columns:1fr}
  .dd.rev .dd-copy{order:0}
  .dd-cols{grid-template-columns:1fr}
  .dd-vis .frame-float{right:.5rem;bottom:-1.25rem}
}

/* AI panel */
.ai-panel{position:relative;overflow:hidden;border-radius:var(--radius-card-lg);background:var(--brand-deep);color:var(--navy-ink);padding:clamp(1.75rem,5vw,4.5rem);isolation:isolate}
.ai-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 100% 0%,rgba(91,69,214,.55),transparent 60%),radial-gradient(40% 50% at 0% 100%,rgba(45,212,167,.12),transparent 60%)}
.ai-top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ai-panel .dd-idx{color:var(--navy-muted)}
.ai-panel .dd-idx span{border-color:rgba(255,255,255,.25);color:#fff}
.ai-panel p{color:var(--navy-muted)}
.ai-panel .lead{color:#C6BFE6}
.ai-brands{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1.6rem;list-style:none}
.ai-brands .lbl{width:100%;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-muted)}
.ai-flow{margin-top:clamp(2.5rem,5vw,4rem)}
.ai-flow .label{margin:0 0 1.2rem}
@media (max-width:960px){.ai-top{grid-template-columns:1fr}}

/* =====================================================================
   Dark operations band (Act 5)
   ===================================================================== */
.ops-band{padding-block:clamp(4.5rem,9vw,8.5rem)}
.ops-band::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 45% at 90% 0%,rgba(91,69,214,.5),transparent 60%),radial-gradient(45% 40% at 0% 60%,rgba(168,148,255,.12),transparent 60%);pointer-events:none}
.ops-band>.wrap{position:relative}
.ops-ghost{position:absolute;left:0;top:clamp(2rem,6vw,5rem);font-size:19vw;font-weight:600;letter-spacing:-.06em;line-height:.8;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);white-space:nowrap;pointer-events:none;user-select:none}
.pillars{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);border-top:1px solid var(--navy-line)}
.pillar{padding:1.6rem clamp(1rem,2vw,1.75rem) 0 0;border-right:1px solid var(--navy-line);margin-right:clamp(1rem,2vw,1.75rem)}
.pillar:last-child{border-right:0;margin-right:0}
.pillar .idx{display:block;margin-bottom:2.2rem;color:var(--brand-light)}
.pillar h3{font-size:clamp(1.9rem,3.3vw,3.1rem);font-weight:500;text-transform:uppercase;letter-spacing:-.05em;line-height:.95;color:#fff;margin:0 0 .9rem}
.pillar p{margin:0;color:var(--navy-muted);font-size:.98rem;max-width:17rem}
@media (max-width:1023px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar{padding-bottom:1.75rem;border-bottom:1px solid var(--navy-line)}.pillar:nth-child(2){border-right:0;margin-right:0}}
@media (max-width:520px){.pillars{grid-template-columns:1fr}.pillar{border-right:0;margin-right:0}}
.ops-vis{position:relative}
.ops-vis .mock{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 60px 120px -50px rgba(0,0,0,.8)}
.ops-vis .glass{position:absolute;z-index:2}
.ops-vis .gf1{left:-1.75rem;top:54%}
.ops-vis .gf2{right:-1.75rem;bottom:-2.25rem}
.connect{margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(3rem,5vw,4.5rem);border-top:1px solid var(--navy-line)}
.connect .sh-row{margin-bottom:clamp(2rem,4vw,3.5rem)}
@media (max-width:860px){.ops-vis .glass{display:none}}

/* =====================================================================
   Credibility cards (Act 6)
   ===================================================================== */
.creds3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);align-items:stretch}
.ccard{position:relative;display:flex;flex-direction:column;gap:1rem;border-radius:var(--radius-card-lg);padding:clamp(1.6rem,2.8vw,2.4rem);background:var(--surface);overflow:hidden}
.ccard.dark{background:var(--brand-deep);color:#fff}
.ccard.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 100% 0%,rgba(91,69,214,.5),transparent 60%);pointer-events:none}
.ccard>*{position:relative}
.ccard .ct{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ccard .ct .ico{width:3.1rem;height:3.1rem;border-radius:50%;background:#fff}
.ccard.dark .ct .ico{background:rgba(255,255,255,.1);color:var(--brand-light)}
.ccard h3{font-size:clamp(1.45rem,2.1vw,1.9rem);letter-spacing:-.035em;line-height:1.08;margin-top:1.4rem}
.ccard>p{margin:0;color:var(--ink-soft)}
.ccard.dark>p{color:var(--navy-muted)}
.cl{list-style:none;display:grid;gap:0;margin:.25rem 0 0}
.cl li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .8rem;padding:.9rem 0;border-top:1px solid var(--hairline)}
.ccard.dark .cl li{border-color:rgba(255,255,255,.12)}
.cl li svg{grid-row:1/3;width:1.15rem;height:1.15rem;margin-top:.2rem;color:var(--brand)}
.ccard.dark .cl li svg{color:var(--brand-light)}
.cl b{font-size:.98rem;letter-spacing:-.01em}
.cl small{font-size:.88rem;color:var(--ink-soft);line-height:1.45}
.ccard.dark .cl small{color:var(--navy-muted)}
.ccard .end{margin-top:auto;padding-top:.75rem}
@media (max-width:1023px){.creds3{grid-template-columns:1fr 1fr}.creds3 .ccard:first-child{grid-column:1/-1}}
@media (max-width:680px){.creds3{grid-template-columns:1fr}}

/* =====================================================================
   Industries
   ===================================================================== */
.ind-mq{margin:clamp(.5rem,2vw,1.5rem) 0 clamp(2.5rem,5vw,4rem);--mq-gap:2rem}
.ind-mq li{display:flex;align-items:center;gap:2rem;font-size:clamp(2.4rem,6.4vw,6rem);font-weight:500;text-transform:uppercase;letter-spacing:-.055em;line-height:1;color:var(--ghost);white-space:nowrap}
.ind-mq li::after{content:"";width:.28em;height:.28em;border-radius:50%;background:var(--accent);opacity:.85}
.ind-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.25rem)}
.ind{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:clamp(1.3rem,2.2vw,1.8rem);border-radius:var(--radius-card);background:#fff;border:1px solid var(--hairline);min-height:100%}
.ind .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.ind h3{font-size:1.12rem;letter-spacing:-.02em}
.ind p{margin:0;color:var(--ink-soft);font-size:.95rem}
@media (max-width:1100px){.ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.ind-grid{grid-template-columns:1fr}}

/* =====================================================================
   FAQ layout
   ===================================================================== */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,6rem);align-items:start}
.faq-side{position:sticky;top:7.5rem;display:grid;gap:1.3rem;justify-items:start}
.faq-side p{margin:0;color:var(--ink-soft)}
.faq-side a{color:var(--ink);font-weight:600}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-side{position:static}}

/* =====================================================================
   Inner page heroes
   ===================================================================== */
.phero .hero-inner{padding-bottom:clamp(3rem,6vw,5rem)}
.ph-title{margin:1.4rem 0 0;font-size:clamp(2.5rem,10vw,6rem)}
.ph-title .hl{display:block}
.phero .hero-lead{max-width:38rem}
.phero.compact .hero-inner{padding-bottom:clamp(2.75rem,5vw,4rem)}
.phero.compact .ph-title{font-size:clamp(2.4rem,8.6vw,5.4rem)}
@media (min-width:1100px){
  .ph-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,4vw,5rem);align-items:center}
  .ph-title{font-size:clamp(3.6rem,5.6vw,6.6rem)}
}

/* Ceyluu hero: product highlights carousel */
.hcar{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;min-width:0}
.hcar-view{position:relative}
.hcar-floats{position:absolute;inset:0;pointer-events:none}
.hcar-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);aspect-ratio:4/3;border-radius:1.15rem;overflow:hidden;box-shadow:0 60px 110px -50px rgba(0,0,0,.8)}
.hcar-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(rgba(23,20,68,0),#171444 90%);pointer-events:none;z-index:2;border-radius:0 0 1.15rem 1.15rem}
.hcar-stage .slide{min-height:0;overflow:hidden}
.hcar-stage .slide{border-radius:1.15rem;transform:translate3d(0,1.5rem,0) scale(.985)}
.hcar-stage .slide.is-active{transform:none}
.hcar-stage .mock{height:100%;box-shadow:none}
.hcar-floats .glass{position:absolute;z-index:3}
.hcar-floats .f1{left:-2.5rem;top:63%;animation:float 7s ease-in-out infinite}
.hcar-floats .f2{right:-1.75rem;top:80%;animation:float 7s ease-in-out -3s infinite}
.hcar-bar{display:flex;align-items:center;gap:.75rem}
.hcar-tabs{display:flex;flex:1;gap:.4rem;min-width:0}
.hcar-tabs button{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.75rem .2rem .85rem;background:none;border:0;border-top:2px solid rgba(255,255,255,.16);color:#ADA4D4;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}
.hcar-tabs button i{position:absolute;left:0;top:-2px;height:2px;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.hcar-tabs button.is-active{color:#fff}
.hcar-tabs button.is-active i{transform:scaleX(1)}
.hcar.run .hcar-tabs button.is-active i{transform:scaleX(0);animation:c2prog var(--interval,3800ms) linear forwards}
.hcar.is-paused .hcar-tabs button.is-active i{animation:none;transform:scaleX(1)}
@keyframes c2prog{to{transform:scaleX(1)}}
.hcar .circ{width:2.75rem;height:2.75rem}
.hcar-tabs button span{overflow:hidden;text-overflow:ellipsis}
@media (max-width:767px){.hcar-floats{display:none}.hcar-tabs button{font-size:.8rem;white-space:normal;line-height:1.25;align-items:flex-start}.hcar-tabs button span{overflow:visible}}
@media (max-width:600px){.hcar-stage{aspect-ratio:4/5}}

/* Integrations hero: orbit of compatible systems */
.orbit{position:relative;width:min(100%,33rem);aspect-ratio:1;margin-inline:auto}
.ring{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.2);animation:spin 70s linear infinite}
.ring.r1{inset:20%}
.ring.r2{inset:2%;animation-duration:110s;animation-direction:reverse}
.om{position:absolute;inset:0;transform:rotate(var(--a));pointer-events:none}
.om>span{position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(calc(-1 * var(--a)))}
.om i{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);animation:spin 70s linear infinite reverse;color:var(--brand-deep)}
.ring.r2 .om i{animation-duration:110s;animation-direction:normal}
.om i svg{width:1.6rem;height:1.6rem}
.om i.gen{background:#241F63;color:#D0C5FF;border:1px solid rgba(255,255,255,.14)}
.o-core{position:absolute;inset:33%;border-radius:50%;display:grid;place-items:center;text-align:center;background:linear-gradient(150deg,rgba(122,92,250,.72),rgba(74,63,209,.45));border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 0 0 .9rem rgba(122,92,250,.12),0 0 0 2rem rgba(122,92,250,.06),0 30px 60px -20px rgba(8,4,34,.65),inset 0 1px 0 rgba(255,255,255,.35);--lg-ink:#FFFFFF;--lg1:#FFFFFF;--lg3:#5EE0F5}
.o-logo{width:66%;height:auto;display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit-names{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1.25rem;list-style:none}
.orbit-names li{font-size:.78rem;font-weight:600;color:#C6BFE6;padding:.3rem .75rem;border-radius:99px;border:1px solid rgba(255,255,255,.14)}
@media (prefers-reduced-motion:reduce){.ring,.om i{animation:none}}

/* Integrations categories */
.int-cat{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(1.5rem,4vw,4.5rem);padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--hairline)}
.int-cat:first-of-type{border-top:0;padding-top:0}
.int-cat .ic-head{display:grid;gap:.9rem;align-content:start;position:sticky;top:7.5rem}
.int-cat .ic-head h2{font-size:clamp(1.9rem,3.6vw,3.2rem);font-weight:500;text-transform:uppercase;letter-spacing:-.05em;line-height:.95}
.int-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
.int-card{display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.25rem,2.2vw,1.75rem);border-radius:var(--radius-card);background:#fff;border:1px solid var(--hairline)}
.int-card .ih{display:flex;align-items:center;gap:.9rem}
.int-card .bmark{width:3.1rem;height:3.1rem;border-radius:1rem}
.int-card .bmark svg{width:1.6rem;height:1.6rem}
.int-card h3{font-size:1.2rem;letter-spacing:-.02em}
.int-card .ctg{display:block;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:.15rem}
.int-card p{margin:0;color:var(--ink-soft);font-size:.97rem}
.int-card .wm-img svg,.int-card .wm-img img{height:2rem;width:auto;display:block}
@media (max-width:960px){.int-cat{grid-template-columns:1fr}.int-cat .ic-head{position:static}}
@media (max-width:600px){.int-grid{grid-template-columns:1fr}}

/* Services list */
.slist{list-style:none;border-top:1px solid var(--hairline)}
.sl-row{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1.25fr) minmax(0,1fr) 3.5rem;gap:1rem 2.5rem;align-items:start;padding:clamp(1.6rem,3vw,2.4rem) 0;border-bottom:1px solid var(--hairline);transition:background-color .5s}
.sl-n{font-size:.9rem;font-weight:600;letter-spacing:.06em;color:var(--ink-soft);padding-top:.5rem;font-variant-numeric:tabular-nums}
.sl-t{font-size:clamp(1.45rem,2.6vw,2.35rem);font-weight:500;letter-spacing:-.04em;line-height:1.05;margin:0 0 .75rem}
.sl-main p{margin:0;color:var(--ink-soft);max-width:34rem}
.sl-meta{padding-top:.4rem}
.sl-meta .label{display:block;margin-bottom:.5rem}
.sl-meta p{margin:0;font-size:.97rem}
.sl-row .ico{justify-self:end;transition:transform .7s var(--ease-out-expo),background-color .4s,color .4s}
@media (hover:hover) and (pointer:fine) and (min-width:1024px){.sl-row:hover .ico{transform:rotate(-12deg) scale(1.08);background:var(--brand-deep);color:#fff}.sl-row:hover .sl-t{color:var(--brand)}}
@media (max-width:900px){
  .sl-row{grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.9rem 1rem}
  .sl-main{grid-column:2}
  .sl-meta{grid-column:2/-1}
  .sl-row .ico{grid-row:1;grid-column:3;width:2.6rem;height:2.6rem}
}

/* expertise glass list (services and about) */
.xlist{list-style:none;display:grid;gap:.75rem}
.xlist li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;border-radius:1.3rem}
.xlist .ico{width:2.8rem;height:2.8rem;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
.xlist b{display:block;font-size:1.05rem;letter-spacing:-.015em}
.xlist small{display:block;font-size:.9rem;color:#C6BFE6;line-height:1.45;margin-top:.15rem}

/* About */
.manifesto{padding-block:clamp(4.5rem,10vw,9rem) clamp(3rem,6vw,5rem)}
.mf{font-size:clamp(2.3rem,7.4vw,7.2rem);font-weight:500;text-transform:uppercase;letter-spacing:-.055em;line-height:.92;margin:0;max-width:16ch}
.mf em{font-style:normal;color:var(--brand)}
.about-who{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,6rem);align-items:start;margin-top:clamp(3rem,6vw,5.5rem)}
.about-copy p{font-size:clamp(1.05rem,1.3vw,1.2rem);color:#3B3666;max-width:38rem}
.about-copy h2{margin-bottom:1.4rem}
.facts-card{border-radius:var(--radius-card-lg);padding:clamp(1.6rem,3vw,2.4rem);background:var(--brand-deep);color:#fff;position:relative;overflow:hidden}
.facts-card::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 100% 0%,rgba(91,69,214,.45),transparent 60%);pointer-events:none}
.facts-card>*{position:relative}
.trio-frame{position:relative;border-radius:var(--radius-card-lg);background:radial-gradient(90% 80% at 80% 0%,#FFFFFF,transparent 60%),linear-gradient(160deg,#EDE9FF,#DED6FF);padding:clamp(1rem,3vw,2rem);overflow:hidden}
.trio-frame svg{display:block;width:100%;height:auto}
.trio-frame .gcap{position:absolute;left:1rem;bottom:1rem}
.beliefs{counter-reset:b}
@media (max-width:900px){.about-who{grid-template-columns:1fr}}

/* Contact */
.contact-hero .hero-inner{align-content:start}
.ct-grid{display:grid;gap:clamp(2rem,4vw,4rem)}
.ct-copy{display:grid;justify-items:start;align-content:start}
.ct-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;margin-top:2.2rem}
.ct-fact{padding:1.2rem 1.25rem;border-radius:1.3rem}
.ct-fact.full{grid-column:1/-1}
.ct-fact .label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.ct-fact .label svg{width:1rem;height:1rem;color:var(--brand-light)}
.ct-fact a,.ct-fact span{color:#fff;font-weight:500;font-size:1.02rem;text-decoration:none;line-height:1.45}
.ct-fact a{border-bottom:1px solid rgba(255,255,255,.3)}
.ct-fact a:hover{border-color:#fff}
.ct-next{margin-top:2rem;width:100%}
.ct-next .label{display:block;margin-bottom:1rem}
@media (min-width:1100px){.ct-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}}
@media (max-width:560px){.ct-facts{grid-template-columns:1fr}}

/* Legal */
.legal-grid{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.toc{position:sticky;top:7.5rem;display:grid;gap:1rem}
.toc ol{list-style:none;display:grid;gap:.15rem;border-left:1px solid var(--hairline)}
.toc a{display:block;padding:.4rem 0 .4rem 1rem;margin-left:-1px;border-left:1px solid transparent;text-decoration:none;color:var(--ink-soft);font-size:.92rem;transition:color .3s,border-color .3s}
.toc a:hover{color:var(--ink);border-color:var(--ink)}
@media (max-width:900px){.legal-grid{grid-template-columns:1fr}.toc{position:static}}

/* 404 */
.nf .hero-inner{align-content:center;justify-items:start}
.nf-num{position:absolute;right:-2vw;bottom:-6vw;font-size:42vw;font-weight:600;letter-spacing:-.08em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);pointer-events:none;user-select:none;z-index:-1}

/* deployment options */
.deploy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.dep{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:clamp(1.6rem,2.8vw,2.3rem);border-radius:var(--radius-card-lg);background:#fff;border:1px solid var(--hairline);overflow:hidden}
.dep .dep-n{font-size:clamp(3rem,5vw,4.6rem);font-weight:500;letter-spacing:-.06em;line-height:.85;color:var(--brand-deep);margin-bottom:1.6rem}
.dep .ico{position:absolute;top:clamp(1.6rem,2.8vw,2.3rem);right:clamp(1.6rem,2.8vw,2.3rem)}
.dep h3{font-size:1.3rem;letter-spacing:-.025em}
.dep p{margin:0;color:var(--ink-soft)}
.dep.featured{background:var(--brand-deep);color:#fff;border-color:transparent}
.dep.featured .dep-n{color:var(--brand-light)}
.dep.featured p{color:var(--navy-muted)}
@media (max-width:900px){.deploy{grid-template-columns:1fr}}

/* categories grid on the platform page */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.25rem)}
.fcat{position:relative;display:flex;flex-direction:column;padding:clamp(1.35rem,2.2vw,1.8rem);border-radius:var(--radius-card);background:#fff;border:1px solid var(--hairline);scroll-margin-top:7rem;transition:border-color .4s}
.fcat .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}
.fcat h3{font-size:1.18rem;letter-spacing:-.02em;margin:0 0 .9rem}
.fcat .ticks{gap:.55rem}
.fcat .ticks li{font-size:.94rem;color:#3B3666}
.fcat:target{border-color:var(--brand);box-shadow:0 0 0 4px rgba(91,69,214,.12)}
@media (max-width:1100px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cats{grid-template-columns:1fr}}

/* origin */
.origin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:start}
.origin p{color:#3B3666;font-size:clamp(1.02rem,1.25vw,1.15rem)}
@media (max-width:900px){.origin{grid-template-columns:1fr}}

/* ---------- dark-context helpers ---------- */
.hero .ticks li,.on-dark .ticks li,.ccard.dark .ticks li{color:#ECEAFF}
.hero .ticks li::before,.on-dark .ticks li::before{background-color:rgba(255,255,255,.1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232DD4A7' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ai-panel .ticks li{color:#ECEAFF}
.ai-panel .ticks li::before{background-color:rgba(255,255,255,.1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232DD4A7' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ccard.dark .textlink,.ai-panel .textlink{color:#fff}
.hero .caption,.hcar .caption{color:var(--navy-muted);margin:0}

/* ---------- brand marks in page heroes ---------- */
.hero-mark{width:min(13rem,46vw);margin-bottom:.35rem}
.hero-mark .lg-live,.hero-mark svg{width:100%;height:auto;display:block}
.hero .lg-live{--lg1:#A894FF;--lg2:#FFFFFF;--lg3:#5EE0F5;--lg-ink:#FFFFFF}
.mf-logo{width:min(26rem,70vw);margin:0 0 clamp(1.5rem,3vw,2.5rem)}
.mf-logo .lg-live,.mf-logo svg{width:100%;height:auto;display:block}

/* ---------- motion system ---------- */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em;padding-inline:.02em;margin-inline:-.02em}
.wi{display:inline-block}
html.js [data-split]:not(.split-done),html.js [data-hero-split]:not(.split-done){visibility:hidden}
html.js [data-split] .wi,html.js [data-hero-split] .wi{transform:translate3d(0,115%,0);opacity:0;transition:transform 1.1s var(--ease-out-expo),opacity 1.1s var(--ease-out-expo);transition-delay:calc(var(--i,0) * var(--st,140ms) + var(--d,0ms))}
html.js [data-split].is-in .wi,html.js [data-hero-split].is-in .wi{transform:none;opacity:1}
html.js [data-split].fast .wi{transition-delay:calc(var(--i,0) * 70ms + var(--d,0ms))}

html.js [data-reveal]{opacity:0;transform:translate3d(0,var(--ry,2.25rem),0);transition:opacity .95s var(--ease-out-expo),transform 1.2s var(--ease-out-expo);transition-delay:var(--rd,0ms)}
html.js [data-reveal="fade"]{--ry:0px}
html.js [data-reveal="up-lg"]{--ry:3.5rem}
html.js [data-reveal="scale"]{transform:scale(.94) translate3d(0,1.5rem,0)}
html.js [data-reveal].is-in{opacity:1;transform:none}
html.js [data-hero-reveal]{opacity:0;transform:translate3d(0,1.5rem,0);transition:opacity 1s var(--ease-out-expo),transform 1.2s var(--ease-out-expo);transition-delay:var(--rd,0ms)}
html.js [data-hero-reveal].is-in{opacity:1;transform:none}

[data-lines] .ln,[data-hero-lines] .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
html.js [data-lines] .ln>span,html.js [data-hero-lines] .ln>span{display:block;transform:translate3d(0,105%,0);transition:transform .9s var(--ease-out-expo);transition-delay:calc(var(--i,0) * 110ms + var(--d,0ms))}
html.js [data-lines].is-in .ln>span,html.js [data-hero-lines].is-in .ln>span{transform:none}

html.js .draw .ln-path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease-in-out-cubic) .25s}
html.js .draw.is-in .ln-path,html.js .is-in .draw .ln-path{stroke-dashoffset:0}
html.js .draw .area{opacity:0;transition:opacity 1.4s ease .9s}
html.js .draw.is-in .area,html.js .is-in .draw .area{opacity:1}
html.js .grow-y{transform:scaleY(.04);transform-origin:50% 100%;transform-box:fill-box;transition:transform 1.1s var(--ease-out-expo);transition-delay:calc(var(--i,0) * 60ms + .2s)}
html.js .is-in .grow-y{transform:none}
html.js .grow-x{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.3s var(--ease-out-expo);transition-delay:calc(var(--i,0) * 90ms + .25s)}
html.js .is-in .grow-x{transform:none}

html.reveal-all [data-reveal],html.reveal-all [data-hero-reveal],html.reveal-all [data-split] .wi,html.reveal-all [data-hero-split] .wi,html.reveal-all [data-lines] .ln>span,html.reveal-all [data-hero-lines] .ln>span,html.reveal-all .grow-y,html.reveal-all .grow-x{opacity:1!important;transform:none!important}
html.reveal-all [data-split],html.reveal-all [data-hero-split]{visibility:visible!important}
html.reveal-all .draw .ln-path{stroke-dashoffset:0!important}
html.reveal-all .draw .area{opacity:1!important}

span[data-parallax],span[data-drift]{display:inline-block}
/* looping animations idle while their section is off screen, so scrolling stays smooth */
.anim-rest,.anim-rest *,.anim-rest *::before,.anim-rest *::after{animation-play-state:paused!important}

/* page-to-page transitions (progressive: browsers without support navigate normally) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .45s var(--ease-in-out-cubic) both}
::view-transition-new(root){animation:vt-in .75s var(--ease-out-expo) both}
@keyframes vt-out{to{opacity:0;transform:translate3d(0,-1.5%,0)}}
@keyframes vt-in{from{opacity:0;transform:translate3d(0,2.5%,0)}}

/* hover lifts only where hover is real */
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .lift{transition:transform .6s var(--ease-out-expo),box-shadow .6s var(--ease-out-expo)}
  .lift:hover{transform:translateY(-8px) scale(1.015);box-shadow:var(--shadow-lift)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  html.js [data-reveal],html.js [data-hero-reveal],html.js [data-split] .wi,html.js [data-hero-split] .wi,html.js [data-lines] .ln>span,html.js [data-hero-lines] .ln>span,html.js .grow-y,html.js .grow-x{opacity:1!important;transform:none!important}
  html.js [data-split],html.js [data-hero-split]{visibility:visible!important}
  html.js .draw .ln-path{stroke-dashoffset:0!important}
  html.js .draw .area{opacity:1!important}
  [data-parallax],[data-drift],[data-hero-parallax]{transform:none!important}
  @view-transition{navigation:none}
}
