/* SAIG Technologies, homepage redesign preview (Oct 2026).
   Palette: night #070E1A · deep #0D1829 · paper #F3F5F8 · ink #0F172A · violet #7C3AED · lilac #C4B5FD · steel #8A9BB3
   Type: Bricolage Grotesque (display, optical size) · IBM Plex Sans (text) · IBM Plex Mono (status only)
   Lead with the two flagship products (SAIG AI, SAIG Meet), shown as real screens in a composed hero. */

@font-face { font-family: "Bricolage Grotesque"; src: url(/skylite/fonts/bricolage.woff2) format("woff2-variations"); font-weight: 200 800; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url(/skylite/fonts/plex-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url(/skylite/fonts/plex-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url(/skylite/fonts/plex-600.woff2) format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url(/skylite/fonts/plexmono-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --night: #070E1A; --deep: #0D1829; --line-d: #1C2A44;
  --paper: #F3F5F8; --ink: #0F172A; --ink-2: #334155; --mute: #5B6B82;
  --violet: #7C3AED; --lilac: #C4B5FD; --steel: #8A9BB3; --live: #34D399;
  --display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  --text: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --wrap: 1200px; --gutter: clamp(16px, 4vw, 40px);
  --ease: cubic-bezier(.2,.7,.1,1);
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--night); -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--night); color: #E6ECF5; font: 400 17px/1.6 var(--text); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--lilac); outline-offset: 3px; border-radius: 4px; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }

/* preview bar */
.badge { padding: 5px 10px; border-radius: 999px; background: rgba(124,58,237,.9); color: #fff; font-size: 12.5px; font-weight: 500; white-space: nowrap; }

/* nav */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; gap: 28px; padding: 14px var(--gutter); transition: background .4s var(--ease), top .4s var(--ease), backdrop-filter .4s; }
.nav.scrolled { background: rgba(7,14,26,.72); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid rgba(255,255,255,.06); }
.nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font: 700 17px/1 var(--display); letter-spacing: -.01em; }
.nav-brand img { border-radius: 8px; }
.nav-links { display: flex; gap: 26px; margin-left: auto; }
.nav-links a { text-decoration: none; font-size: 15px; color: #C3CEDD; transition: color .2s; }
.nav-links a:hover { color: #fff; }
@media (max-width: 900px) { .nav-links { display: none; } .nav .btn { margin-left: auto; } }
.nav .btn { white-space: nowrap; }
@media (max-width: 520px) { .nav-brand span { display: none; } .nav { gap: 10px; } }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 999px; background: #fff; color: var(--night); text-decoration: none; font: 600 15px/1 var(--text); border: 1px solid #fff; transition: transform .25s var(--ease), background .25s, color .25s; }
.btn:hover { transform: translateY(-1px); background: var(--lilac); border-color: var(--lilac); }
.btn-sm { min-height: 38px; padding: 0 16px; font-size: 14px; }
.btn-lg { min-height: 56px; padding: 0 30px; font-size: 16px; }
.btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.28); }
.btn-ghost:hover { background: rgba(255,255,255,.08); border-color: #fff; color: #fff; }
.btn-ghost-dark { background: transparent; color: var(--ink); border-color: rgba(15,23,42,.25); }
.btn-ghost-dark:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* type */
.h-section { font: 700 clamp(34px, 5.4vw, 72px)/1.02 var(--display); font-variation-settings: "opsz" 96; letter-spacing: -.035em; margin: 0 0 22px; max-width: 16ch; text-wrap: balance; }
.h-small { font-size: clamp(30px, 4vw, 52px); }
.h-display { font: 700 clamp(44px, 8.5vw, 128px)/.95 var(--display); font-variation-settings: "opsz" 96; letter-spacing: -.045em; margin: 0 0 26px; max-width: 14ch; text-wrap: balance; }
.sub { max-width: 60ch; font-size: clamp(17px, 1.5vw, 19px); color: var(--steel); margin: 0; }

/* ───────── hero: the two flagship products, composed ───────── */
.hero { position: relative; min-height: 100svh; padding: clamp(96px, 14vh, 140px) 0 120px; overflow: hidden;
  background: radial-gradient(1100px 600px at 78% 30%, rgba(124,58,237,.22), transparent 60%), radial-gradient(800px 500px at 95% 85%, rgba(56,189,248,.14), transparent 60%), var(--night); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: clamp(28px, 4vw, 64px); align-items: center; min-height: calc(100svh - 260px); }
.hero-kicker { margin: 0 0 18px; color: var(--lilac); font-size: 15px; }
.hero-title { margin: 0 0 24px; font: 700 clamp(44px, 5.6vw, 86px)/.95 var(--display); font-variation-settings: "opsz" 96; letter-spacing: -.035em; }
.hero-title .line { display: block; overflow: hidden; padding-bottom: .04em; }
.hero-title .in { display: block; }
.hero-lede { max-width: 54ch; margin: 0 0 30px; font-size: clamp(17px, 1.45vw, 19.5px); color: #C3CEDD; }
.hero-lede b { color: #fff; font-weight: 600; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.comp { position: relative; aspect-ratio: 16 / 12.4; }
.win { margin: 0; border-radius: 14px; overflow: hidden; background: #0B1220; border: 1px solid rgba(255,255,255,.09); box-shadow: 0 40px 80px -30px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.3); }
.win-bar { height: 30px; display: flex; align-items: center; gap: 6px; padding: 0 12px; background: #111A2B; border-bottom: 1px solid rgba(255,255,255,.06); }
.win-bar i { width: 9px; height: 9px; border-radius: 50%; background: #2A3A57; }
.win-bar span { margin-left: 10px; font: 500 11.5px/1 var(--mono); color: var(--steel); letter-spacing: .01em; }
.win img, .phone img, .card-notes img { display: block; width: 100%; height: auto; }
.phone { margin: 0; border-radius: 30px; overflow: hidden; border: 6px solid #1A2336; background: #0B1220; box-shadow: 0 40px 80px -25px rgba(0,0,0,.8); }
.w-meet { position: absolute; left: 0; bottom: 6%; width: 82%; z-index: 2; }
.w-ai { position: absolute; right: 0; top: 0; width: 60%; z-index: 1; opacity: .92; }
.w-phone { position: absolute; right: 2%; bottom: 0; width: 21%; z-index: 3; }
.hero-stats { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.1); background: rgba(7,14,26,.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 4; }
.hero-stats > div { padding: 18px var(--gutter); display: flex; align-items: baseline; gap: 12px; border-left: 1px solid rgba(255,255,255,.08); }
.hero-stats > div:first-child { border-left: 0; }
.hero-stats b { font: 700 clamp(26px, 3vw, 40px)/1 var(--display); letter-spacing: -.03em; }
.hero-stats span { color: var(--steel); font-size: 14px; line-height: 1.35; }
@media (max-width: 960px) {
  .hero { padding-top: 104px; padding-bottom: 150px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .comp { margin-top: 8px; aspect-ratio: 16 / 13; }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .hero-stats > div { padding: 14px 16px; flex-direction: column; gap: 4px; }
}
@media (max-width: 560px) { .win-bar { height: 20px; padding: 0 8px; gap: 4px; } .win-bar i { width: 6px; height: 6px; } .win-bar span { font-size: 9px; margin-left: 6px; } .win { border-radius: 9px; } .phone { border-width: 4px; border-radius: 18px; } }

/* ───────── flagship: SAIG AI and SAIG Meet ───────── */
.sec.flag { background: linear-gradient(to bottom, var(--night), #0A1322 40%, var(--night)); border-top: 1px solid var(--line-d); }
.chapter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding: clamp(56px, 8vw, 110px) 0 0; }
.chapter + .chapter { margin-top: clamp(40px, 6vw, 80px); border-top: 1px solid var(--line-d); }
.ch-meet { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); }
.ch-meet .ch-copy { order: 2; }
.ch-ai { --brand: #7B6CF6; } .ch-meet { --brand: #38BDF8; }
.pname { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font: 700 18px/1 var(--display); letter-spacing: -.01em; }
.pname .dot { width: 12px; height: 12px; border-radius: 4px; background: var(--brand); box-shadow: 0 0 24px var(--brand); }
.pname .live { font: 600 11.5px/1 var(--text); letter-spacing: .08em; text-transform: uppercase; color: var(--live); border: 1px solid rgba(52,211,153,.35); border-radius: 999px; padding: 5px 9px; }
.chapter h3 { margin: 0 0 18px; font: 700 clamp(30px, 3.6vw, 52px)/1.02 var(--display); font-variation-settings: "opsz" 96; letter-spacing: -.03em; text-wrap: balance; }
.ch-lede { margin: 0 0 26px; color: #C3CEDD; font-size: clamp(16.5px, 1.3vw, 18.5px); max-width: 52ch; }
.tiers { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tiers li { padding: 14px 16px; border: 1px solid var(--line-d); border-radius: 12px; background: rgba(255,255,255,.02); }
.tiers b { display: block; font: 700 17px/1.1 var(--display); color: #fff; margin-bottom: 6px; }
.tiers li:nth-child(3) b { color: var(--live); }
.tiers span { font-size: 14px; color: var(--steel); line-height: 1.45; }
.steps-meet { list-style: none; counter-reset: s; margin: 0 0 28px; padding: 0; display: grid; gap: 14px; }
.steps-meet li { counter-increment: s; position: relative; padding-left: 44px; color: var(--steel); font-size: 15.5px; }
.steps-meet li::before { content: counter(s, decimal-leading-zero); position: absolute; left: 0; top: 1px; font: 500 13px/1.6 var(--mono); color: var(--brand); }
.steps-meet b { color: #fff; font-weight: 600; }
.ch-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ch-visual { position: relative; padding-bottom: 8%; }
.ch-ai .ch-visual .phone { position: absolute; right: -2%; bottom: 0; width: 26%; }
.card-notes { position: absolute; right: -5%; bottom: -6%; width: 40%; margin: 0; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 40px 80px -25px rgba(0,0,0,.85); }
@media (max-width: 960px) {
  .chapter, .ch-meet { grid-template-columns: 1fr; }
  .ch-meet .ch-copy { order: 0; }
  .ch-visual { padding-bottom: 14%; }
  .card-notes { left: auto; right: 0; width: 46%; bottom: 0; }
}
@media (max-width: 560px) { .tiers { grid-template-columns: 1fr; } }

.sec { padding: clamp(84px, 11vw, 150px) 0; }
.sec.light { background: var(--paper); color: var(--ink); }
.sec.tint { background: #EEF0FB; color: var(--ink); }
.sec.dark { background: var(--night); }
.sec.deep { background: var(--deep); border-top: 1px solid var(--line-d); }
.sec.light .sub, .sec.tint .sub { color: var(--mute); }
.label { margin: 0 0 14px; color: var(--violet); font-weight: 600; font-size: 15px; }
.sec.dark .label, .sec.deep .label { color: var(--lilac); }
.h-sub { margin: 72px 0 24px; font: 600 clamp(22px, 2.2vw, 28px)/1.2 var(--display); letter-spacing: -.02em; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.btn-dark { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn-dark:hover { background: var(--violet); border-color: var(--violet); color: #fff; }
.two-col { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }

/* solutions */
.steps { list-style: none; counter-reset: s; margin: 64px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.steps::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 2px; background: linear-gradient(90deg, var(--violet) var(--p, 0%), rgba(15,23,42,.12) var(--p, 0%)); }
.steps li { counter-increment: s; position: relative; padding-right: 28px; }
.steps li::before { content: counter(s); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--paper); border: 2px solid var(--violet); color: var(--violet); font: 700 18px/1 var(--display); position: relative; margin-bottom: 24px; }
.steps .when { display: block; color: var(--violet); font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.steps h3 { margin: 0 0 6px; font: 700 clamp(26px, 2.6vw, 34px)/1.05 var(--display); letter-spacing: -.03em; }
.steps .tagline { margin: 0 0 10px; font-weight: 600; color: var(--ink); font-size: 16px; }
.steps p { margin: 0; color: var(--ink-2); font-size: 15.5px; }
.sol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; margin-top: 64px; border-top: 1px solid rgba(15,23,42,.12); }
.sol { padding-top: 24px; }
.sol h3 { margin: 0 0 8px; font: 600 21px/1.25 var(--display); letter-spacing: -.015em; }
.sol p { margin: 0; color: var(--ink-2); font-size: 15.5px; }
@media (max-width: 900px) {
  .steps { grid-template-columns: 1fr; gap: 34px; padding-left: 70px; }
  .steps::before { left: 23px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--violet) var(--p, 0%), rgba(15,23,42,.12) var(--p, 0%)); }
  .steps li { padding: 0; } .steps li::before { position: absolute; left: -70px; top: -4px; margin: 0; }
  .sol-grid { grid-template-columns: 1fr; gap: 0; } .sol { padding: 22px 0; border-bottom: 1px solid rgba(15,23,42,.12); }
}

/* products */
.prod-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); margin-top: 56px; }
.prod-grid-sm { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; gap: 20px; }
.prod { display: flex; flex-direction: column; border-radius: 22px; background: var(--deep); border: 1px solid var(--line-d); overflow: hidden; transition: border-color .3s; }
.prod:hover { border-color: rgba(196,181,253,.35); }
.prod-shots { position: relative; display: block; padding: 22px 22px 0; background: radial-gradient(120% 90% at 30% 0%, rgba(124,58,237,.22), transparent 60%), #0A1322; overflow: hidden; }
.prod-big .prod-shots { padding: 28px 28px 0; aspect-ratio: 16 / 10.4; }
.pd { position: relative; border-radius: 10px 10px 0 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 30px 60px -25px rgba(0,0,0,.8); }
.pd img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform 1.2s var(--ease); }
.prod-big .pd { width: 84%; }
.prod:hover .pd img { transform: scale(1.02); }
.pd-empty { aspect-ratio: 16 / 10; display: grid; place-items: center; background: var(--deep); color: var(--steel); font: 600 22px/1 var(--display); }
.pm { position: absolute; right: 22px; bottom: -26%; width: 25%; padding: 5px; border-radius: 20px; background: #0B1424; box-shadow: 0 0 0 1px rgba(255,255,255,.14), 0 30px 50px -15px rgba(0,0,0,.85); }
.pm img { width: 100%; height: auto; aspect-ratio: 390 / 844; object-fit: cover; object-position: top; border-radius: 15px; }
.prod-body { padding: 26px 28px 30px; display: flex; flex-direction: column; flex: 1; }
.prod-grid-sm .prod-body { padding: 18px 20px 22px; }
.status { display: inline-flex; align-items: center; gap: 8px; font: 500 13px/1 var(--mono); color: var(--live); margin-bottom: 14px; }
.status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(52,211,153,.15); }
.status.scaling { color: #FBBF24; } .status.scaling::before { box-shadow: 0 0 0 4px rgba(251,191,36,.15); }
.prod h3 { margin: 0 0 4px; font: 700 clamp(30px, 3vw, 42px)/1.02 var(--display); letter-spacing: -.035em; }
.prod-grid-sm .prod h3 { font-size: 24px; }
.prod .tag { margin: 0 0 12px; color: var(--lilac); font-size: 17px; }
.prod-grid-sm .prod .tag { font-size: 15px; }
.prod .copy { margin: 0 0 18px; color: #C3CEDD; font-size: 16px; }
.prod-grid-sm .prod .copy { font-size: 14.5px; }
.prod .visit { margin-top: auto; align-self: flex-start; font-size: 15px; color: #fff; text-decoration: underline; text-decoration-color: rgba(196,181,253,.5); text-underline-offset: 5px; }
.next-wave { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; color: var(--steel); }
.next-wave > div { display: flex; flex-wrap: wrap; gap: 12px; }
.next-wave a { display: inline-flex; gap: 10px; align-items: baseline; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--line-d); text-decoration: none; }
.next-wave a b { font: 600 17px/1 var(--display); color: #fff; } .next-wave a span { font-size: 14px; }
@media (max-width: 1100px) { .prod-grid-sm { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .prod-grid, .prod-grid-sm { grid-template-columns: 1fr; } .prod-big .prod-shots { padding: 18px 18px 0; } .pm { right: 14px; } }

/* platform */
.engines { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 clamp(24px, 5vw, 80px); margin-top: 56px; }
.engine { display: grid; grid-template-columns: minmax(150px, 34%) 1fr; gap: 20px; padding: 22px 0; border-top: 1px solid var(--line-d); align-items: baseline; }
.engine h3 { margin: 0; font: 600 clamp(19px, 1.9vw, 24px)/1.15 var(--display); letter-spacing: -.02em; color: #fff; }
.engine p { margin: 0; color: var(--steel); font-size: 15px; line-height: 1.55; }
@media (max-width: 900px) { .engines { grid-template-columns: 1fr; } .engine { grid-template-columns: 1fr; gap: 6px; } }

/* DAI */
.dai-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.dai-shot { margin: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 40px 80px -30px rgba(0,0,0,.8); }
.dai-shot img { width: 100%; height: auto; }
.legal { grid-column: 1 / -1; margin: 0; padding-top: 24px; border-top: 1px solid var(--line-d); color: var(--steel); font-size: 13px; line-height: 1.6; max-width: 110ch; }
@media (max-width: 900px) { .dai-grid { grid-template-columns: 1fr; } }

/* label/description pairs */
.pairs { margin: 56px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.pairs > div { padding: 22px 0; border-top: 1px solid rgba(15,23,42,.12); }
.pairs dt { font: 600 20px/1.25 var(--display); letter-spacing: -.015em; margin-bottom: 8px; }
.pairs dd { margin: 0; color: var(--ink-2); font-size: 15.5px; }
.pairs-1 { margin-top: 0; grid-template-columns: 1fr; }
.pairs-1 > div:first-child { border-top: 0; padding-top: 4px; }
@media (max-width: 900px) { .pairs { grid-template-columns: 1fr; } }

/* ventures */
.vent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
.vent { padding: 24px; border-radius: 18px; background: var(--deep); border: 1px solid var(--line-d); }
.vent h3 { margin: 0 0 14px; font: 600 19px/1.2 var(--display); color: var(--lilac); }
.vent ul { list-style: none; margin: 0; padding: 0; }
.vent li { padding: 12px 0; border-top: 1px solid var(--line-d); }
.vent li a { font-weight: 600; color: #fff; text-decoration: none; }
.vent li a:hover { text-decoration: underline; }
.vent li p { margin: 4px 0 0; color: var(--steel); font-size: 14.5px; line-height: 1.5; }
.chip-s { margin-left: 10px; font: 500 12px/1 var(--mono); color: var(--live); }
.chip-s.s-partial { color: #FBBF24; } .chip-s.s-scaffold { color: var(--steel); }
@media (max-width: 1000px) { .vent-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .vent-grid { grid-template-columns: 1fr; } }

/* governance */
.gov { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 28px; margin-top: 56px; }
.gov > div { padding-top: 22px; border-top: 2px solid var(--violet); }
.gov h3 { margin: 0 0 8px; font: 600 22px/1.2 var(--display); color: #fff; }
.gov p { margin: 0; color: var(--steel); font-size: 15px; }
@media (max-width: 1000px) { .gov { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 600px) { .gov { grid-template-columns: 1fr; } }

/* founder */
.role { margin: -8px 0 22px; color: var(--violet); font-weight: 600; }
.body { margin: 0 0 16px; color: var(--ink-2); max-width: 64ch; }
.cv { padding: 28px; border-radius: 20px; background: #fff; border: 1px solid rgba(15,23,42,.08); }
.cv summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; font: 600 20px/1.2 var(--display); }
.cv summary::-webkit-details-marker { display: none; }
.cv summary::after { content: "+"; font: 400 26px/1 var(--text); color: var(--violet); transition: transform .3s var(--ease); }
.cv[open] summary::after { transform: rotate(45deg); }
.cv[open] summary { margin-bottom: 8px; }
.cv dl { margin: 0; }
.cv dl > div { padding: 14px 0; border-top: 1px solid rgba(15,23,42,.1); }
.cv dt { font-weight: 600; } .cv dd { margin: 2px 0 0; color: var(--mute); font-size: 15px; }

/* investors */
.inv-cta { margin-top: 48px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding: 32px; border-radius: 20px; background: var(--ink); color: #fff; }
.inv-cta h3 { margin: 0 0 6px; font: 600 24px/1.2 var(--display); }
.inv-cta p { margin: 0; color: #C3CEDD; max-width: 70ch; }
.inv-cta .btn-dark { background: #fff; color: var(--ink); border-color: #fff; }

/* contact */
.contact { position: relative; background: var(--night); overflow: hidden; }
.contact::before { content: ""; position: absolute; width: 900px; height: 900px; left: -400px; top: -300px; border-radius: 50%; background: radial-gradient(closest-side, rgba(124,58,237,.3), transparent); pointer-events: none; }
.contact .wrap { position: relative; }
.enq { padding: clamp(22px, 3vw, 34px); border-radius: 22px; background: var(--deep); border: 1px solid var(--line-d); }
.enq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.enq label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: #C3CEDD; }
.enq label.wide { grid-column: 1 / -1; }
.enq input, .enq select, .enq textarea { font: 400 16px/1.4 var(--text); color: #fff; background: #0A1322; border: 1px solid var(--line-d); border-radius: 10px; padding: 12px 14px; }
.enq input:focus, .enq select:focus, .enq textarea:focus { outline: 2px solid var(--lilac); outline-offset: 1px; }
.enq .check { display: block; margin-top: 18px; padding-left: 28px; position: relative; line-height: 1.5; }
.enq .check input { position: absolute; left: 0; top: 2px; width: 18px; height: 18px; margin: 0; }
.enq-msg { min-height: 1em; color: var(--lilac); font-size: 14.5px; }
.enq-foot { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 8px; }
.enq-foot p { margin: 0; flex: 1 1 260px; color: var(--steel); font-size: 14px; }
@media (max-width: 600px) { .enq-grid { grid-template-columns: 1fr; } }

.foot { background: var(--night); border-top: 1px solid var(--line-d); padding: 36px 0 48px; color: var(--steel); font-size: 14px; }
.foot p { margin: 0 0 8px; max-width: 100ch; }

@media (prefers-reduced-motion: reduce) { .pd img, .btn { transition: none; } }

/* booking slots */
.slots { border: 0; padding: 0; margin: 22px 0 0; }
.slots legend { font-size: 14px; color: #C3CEDD; margin-bottom: 10px; }
.slots legend span { color: var(--steel); }
#slotDays { display: block; }
.slot-day b { display: block; font-size: 13px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.slot-day > div { display: flex; flex-direction: column; gap: 6px; }
.slot { position: relative; }
.slot input { position: absolute; opacity: 0; }
.slot span { display: block; text-align: center; padding: 8px 4px; border-radius: 9px; border: 1px solid var(--line-d); background: #0A1322; font-size: 14px; color: #C3CEDD; cursor: pointer; transition: border-color .2s, background .2s; }
.slot input:checked + span { background: var(--violet); border-color: var(--violet); color: #fff; }
.slot input:focus-visible + span { outline: 2px solid var(--lilac); outline-offset: 2px; }


.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.slot-note{margin:6px 0;color:inherit;opacity:.75;font-size:14px}

/* booking: pick a day, then a time (one day's times at a time, not a wall of buttons) */
.slot-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin: 4px 0 14px; scrollbar-width: none; }
.slot-tabs::-webkit-scrollbar { display: none; }
.slot-tab { flex: 0 0 auto; font: 600 14px/1 var(--text); padding: 11px 14px; border-radius: 999px; border: 1px solid var(--line-d); background: transparent; color: #C3CEDD; cursor: pointer; }
.slot-tab.on { background: #fff; color: var(--night); border-color: #fff; }
.slot-times { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.slot-times[hidden] { display: none; }

/* AI colleagues */
.sec.colleagues { background: var(--deep); border-top: 1px solid var(--line-d); }
.col-group { margin-top: 40px; }
.col-group h3, .cat-group h3 { margin: 0 0 14px; font: 600 13px/1 var(--text); letter-spacing: .08em; text-transform: uppercase; color: var(--steel); }
.cat-group h3 em { font-style: normal; color: var(--lilac); margin-left: 6px; }
.col-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.col-card { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--line-d); border-radius: 14px; background: rgba(255,255,255,.02); transition: border-color .25s, transform .25s var(--ease); }
.col-card:hover { border-color: rgba(196,181,253,.4); transform: translateY(-2px); }
.col-card img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; box-shadow: 0 0 0 2px rgba(129,140,248,.45); }
.col-card b { display: block; font: 700 17px/1.2 var(--display); color: #fff; }
.col-card .role { display: inline-block; margin: 4px 0 6px; font-size: 12.5px; font-weight: 600; color: #A5B4FC; }
.col-card p { margin: 0 0 8px; font-size: 14px; line-height: 1.5; color: #C3CEDD; }
.col-card .runs { font: 500 11.5px/1.4 var(--mono); color: var(--steel); }
.colleagues .cta-row { margin-top: 36px; }
.as-col { display: flex; align-items: center; gap: 10px; margin: 6px 0 14px; padding: 8px 12px 8px 8px; border: 1px solid var(--line-d); border-radius: 999px; text-decoration: none; color: #C3CEDD; font-size: 13.5px; width: fit-content; max-width: 100%; }
.as-col img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.as-col b { color: #fff; }
/* platform catalogue: mini cards */
.cat-group { margin-top: 36px; }
.mini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.mini { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line-d); border-radius: 12px; background: rgba(255,255,255,.02); text-decoration: none; color: inherit; transition: border-color .2s, background .2s; min-width: 0; }
.mini:hover { border-color: color-mix(in srgb, var(--c) 60%, transparent); background: color-mix(in srgb, var(--c) 8%, transparent); }
.mini-ic { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--c) 18%, #0A1322); }
.mini-ic img { width: 24px; height: 24px; }
.mini-ic i { font: 700 14px/1 var(--display); font-style: normal; color: var(--c); }
.mini-t { min-width: 0; flex: 1; }
.mini-t b { display: block; font-size: 15px; color: #fff; }
.mini-t span { display: block; font-size: 12.5px; color: var(--steel); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini .chip-s { flex: none; }
@media (max-width: 560px) { .col-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 6px; scrollbar-width: none; } .col-grid::-webkit-scrollbar { display: none; } .col-card { flex: 0 0 84%; scroll-snap-align: start; } .mini-grid { grid-template-columns: 1fr; } }
.chip-s.s-building { color: #93C5FD; }
