/* ================================================================
   BIQADX — Editorial Design System (elevated)
   Light, editorial, clinical-elegant.
   Type: Cormorant Garamond (display) + DM Sans (body/labels)
   Accent: magenta. Zero radius. Generous rhythm.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,300;1,6..72,400&display=swap');

/* ── Reset ─────────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{
  font-family:'DM Sans', sans-serif;
  background:var(--bg); color:var(--text);
  overflow-x:hidden; line-height:1.6;
}
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
ul{ list-style:none; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

/* ── Palette ───────────────────────────────────────────────────── */
:root{
  --bg:          #edf0f6;     /* cool porcelain */
  --bg-2:        #e3e7f0;
  --bg-white:    #ffffff;
  --bg-dark:     #0b0e17;     /* deep space ink */
  --bg-dark-2:   #141a2b;
  --text:        #0b0e18;
  --text-mid:    #545d70;
  --text-light:  #8990a3;
  --accent:      #4f57ff;     /* electric iris */
  --accent-deep: #3a41d6;
  --accent-soft: rgba(79,87,255,0.10);
  --aurora:      linear-gradient(100deg, #4f57ff 0%, #7d5cff 45%, #1fd3e6 100%);
  --border:      rgba(11,14,24,0.12);
  --border-soft: rgba(11,14,24,0.07);
  --line-dark:   rgba(255,255,255,0.10);

  --display:'Times New Roman', Times, serif;
  --serif:  'Times New Roman', Times, serif;
  --sans:   'Times New Roman', Times, serif;
  --radius: 0px;
  --nav-h:  76px;
  --maxw:   1440px;
  --ease:   cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Selection ─────────────────────────────────────────────────── */
::selection{ background:var(--accent); color:#fff; }

/* ── Type primitives ───────────────────────────────────────────── */
.serif{ font-family:var(--serif); }
.section-label{
  font-family:var(--sans); font-size:0.72rem; font-weight:600;
  letter-spacing:0.28em; text-transform:uppercase; color:var(--text-light);
  margin-bottom:22px; display:flex; align-items:center; gap:12px;
}
.section-label::before{ content:''; width:26px; height:1px; background:var(--accent); display:inline-block; }
.section-label.on-dark{ color:rgba(255,255,255,0.55); }
.section-label.center{ justify-content:center; }

.section-title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.6rem,5.2vw,4.8rem); letter-spacing:-0.025em; line-height:1.04;
  color:var(--text); text-wrap:balance;
}
.section-title em{ font-style:italic; font-weight:400; color:var(--accent); }
.section-title.on-dark{ color:#fff; }
.section-sub{
  font-size:1.12rem; line-height:1.75; color:var(--text-mid); max-width:600px; text-wrap:pretty;
}
.section-sub.on-dark{ color:rgba(255,255,255,0.7); }

/* ── Layout ────────────────────────────────────────────────────── */
.section{ padding:clamp(64px,9vw,120px) clamp(24px,5vw,60px); max-width:var(--maxw); margin:0 auto; }
.section-full{ padding:clamp(64px,9vw,120px) clamp(24px,5vw,60px); }
main{ padding-top:0; }
.divider{ height:1px; background:var(--border); }

/* ── Header ────────────────────────────────────────────────────── */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(24px,5vw,40px);
  background:rgba(236,238,243,0.82); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:background .4s var(--ease), border-color .4s var(--ease);
}
.site-header.scrolled{ border-bottom-color:var(--border); box-shadow:0 2px 24px rgba(0,0,0,0.05); }
.site-header.on-dark{ background:transparent; border-bottom-color:transparent; }
.site-header.on-dark.scrolled{ background:rgba(22,21,25,0.85); }
.logo{
  font-family:var(--sans); font-size:0.92rem; font-weight:500;
  letter-spacing:0.34em; text-transform:uppercase; color:var(--text);
}
.logo span{ color:var(--accent); }
.site-header.on-dark .logo{ color:#fff; }
.header-right{ display:flex; align-items:center; gap:20px; }
.header-cta{
  font-size:0.72rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
  padding:11px 22px; border:1px solid var(--text); color:var(--text); transition:all .4s var(--ease);
}
.header-cta:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }
.site-header.on-dark .header-cta{ color:#fff; border-color:rgba(255,255,255,0.4); }
.site-header.on-dark .header-cta:hover{ background:#fff; color:var(--text); border-color:#fff; }
@media(max-width:600px){ .header-cta{ display:none; } }

.hamburger{ width:46px; height:46px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  background:var(--bg-dark); transition:background .3s var(--ease); }
.hamburger:hover{ background:var(--accent); }
.hamburger span{ display:block; width:18px; height:1.5px; background:#fff; transition:transform .3s var(--ease), opacity .2s; }
.hamburger.open span:nth-child(1){ transform:rotate(45deg) translate(4px,4px); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:rotate(-45deg) translate(4px,-4px); }

/* ── Full-screen Nav Overlay ───────────────────────────────────── */
.nav-overlay{
  position:fixed; inset:0; z-index:999; background:var(--bg-white);
  display:flex; flex-direction:column; padding:var(--nav-h) 0 0;
  transform:translateY(-100%); transition:transform .6s cubic-bezier(0.76,0,0.24,1);
  visibility:hidden;
}
.nav-overlay.open{ transform:translateY(0); visibility:visible; }
.nav-overlay-inner{ flex:1; display:grid; grid-template-columns:1fr 1fr; align-items:center;
  padding:0 clamp(24px,5vw,60px); gap:40px; overflow-y:auto; }
.nav-overlay nav{ display:flex; flex-direction:column; }
.nav-overlay nav a{
  font-family:var(--serif); font-size:clamp(1.7rem,3.8vw,3rem); font-weight:300; color:var(--text);
  padding:8px 0; border-bottom:1px solid var(--border-soft);
  display:flex; align-items:center; justify-content:space-between; transition:color .25s var(--ease), padding-left .35s var(--ease);
}
.nav-overlay nav a:hover{ color:var(--accent); padding-left:14px; }
.nav-overlay nav a .idx{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.15em; color:var(--text-light); }
.nav-overlay nav a:hover .idx{ color:var(--accent); }
.nav-aside{ align-self:center; }
.nav-aside .na-label{ font-size:0.72rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-light); margin-bottom:14px; }
.nav-aside .na-line{ font-family:var(--serif); font-style:italic; font-size:1.7rem; font-weight:300; line-height:1.4; color:var(--text); max-width:24ch; margin-bottom:28px; }
.nav-aside a.na-mail{ font-size:1.05rem; color:var(--text); border-bottom:1px solid var(--accent); padding-bottom:2px; }
.nav-footer{ padding:24px clamp(24px,5vw,60px); display:flex; flex-wrap:wrap; gap:28px; border-top:1px solid var(--border-soft); }
.nav-footer a{ font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-light); transition:color .2s; }
.nav-footer a:hover{ color:var(--text); }
@media(max-width:820px){ .nav-overlay-inner{ grid-template-columns:1fr; } .nav-aside{ display:none; } }

/* ── Buttons ───────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:12px; padding:15px 34px;
  font-family:var(--sans); font-size:0.74rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase;
  border:1px solid currentColor; border-radius:var(--radius); position:relative; overflow:hidden; z-index:1;
  transition:color .45s var(--ease); white-space:nowrap;
}
.btn::before{ content:''; position:absolute; inset:0; z-index:-1; background:currentColor; transform:scaleY(0); transform-origin:bottom; transition:transform .45s var(--ease); }
.btn:hover::before{ transform:scaleY(1); transform-origin:top; }
.btn-arrow::after{ content:'→'; transition:transform .4s var(--ease); }
.btn-arrow:hover::after{ transform:translateX(4px); }
.btn-dark{ color:var(--text); border-color:var(--text); }
.btn-dark:hover{ color:#fff; }
.btn-accent{ color:#fff; background:var(--accent); border-color:var(--accent); }
.btn-accent::before{ background:var(--bg-dark); }
.btn-accent:hover{ color:#fff; }
.btn-white{ color:#fff; border-color:rgba(255,255,255,0.45); }
.btn-white:hover{ color:var(--text); }
.btn-white::before{ background:#fff; }

/* ── Ticker ────────────────────────────────────────────────────── */
.ticker-wrap{ overflow:hidden; white-space:nowrap; background:var(--bg-white); border-block:1px solid var(--border); padding:16px 0; }
.ticker-track{ display:inline-block; animation:ticker 38s linear infinite; }
.ticker-wrap:hover .ticker-track{ animation-play-state:paused; }
.ticker-item{ display:inline-flex; align-items:center; gap:24px; padding:0 38px; font-size:0.76rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-mid); }
.ticker-item .star{ color:var(--accent); font-size:1.1rem; line-height:1; }
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* ── Hero ──────────────────────────────────────────────────────── */
.hero{ position:relative; height:100svh; min-height:620px; overflow:hidden; background:var(--bg-dark); display:flex; }
.hero-media{ position:absolute; inset:0; }
.hero-media image-slot, .hero-media img{ width:100%; height:100%; object-fit:cover; opacity:0.78; }
.hero-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,21,25,0.35) 0%, transparent 28%, transparent 55%, rgba(22,21,25,0.82) 100%); z-index:1; }
.hero-content{ position:relative; z-index:2; align-self:flex-end; width:100%; padding:0 clamp(24px,5vw,60px) clamp(56px,8vw,88px); color:#fff; }
.hero-title{ font-family:var(--serif); font-size:clamp(3rem,8.5vw,8rem); font-weight:300; line-height:0.98; letter-spacing:-0.03em; color:#fff; max-width:16ch; text-wrap:balance; }
.hero-title em{ font-style:italic; font-weight:400; }
.hero-sub{ font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.6vw,1.35rem); color:rgba(255,255,255,0.72); margin-top:22px; letter-spacing:0.02em; }
.hero-cta{ margin-top:38px; display:flex; gap:16px; flex-wrap:wrap; }
.scroll-hint{ position:absolute; right:clamp(24px,5vw,60px); bottom:clamp(56px,8vw,88px); z-index:2; color:rgba(255,255,255,0.6);
  font-size:0.64rem; letter-spacing:0.25em; text-transform:uppercase; writing-mode:vertical-rl; display:flex; align-items:center; gap:12px; }
.scroll-hint::after{ content:''; width:1px; height:44px; background:linear-gradient(rgba(255,255,255,0.6),transparent); }
@media(max-width:700px){ .scroll-hint{ display:none; } }

/* ── Grids ─────────────────────────────────────────────────────── */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
@media(max-width:1024px){ .grid-3,.grid-4{ grid-template-columns:1fr 1fr; } }
@media(max-width:640px){ .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; } }

/* ── Card ──────────────────────────────────────────────────────── */
.card{ background:var(--bg-white); overflow:hidden; cursor:pointer; transition:transform .45s var(--ease); display:block; }
.card:hover{ transform:translateY(-6px); }
.card-img-wrap{ overflow:hidden; aspect-ratio:4/3; }
.card-img-wrap image-slot, .card-img{ width:100%; height:100%; object-fit:cover; transition:transform .65s var(--ease); }
.card:hover .card-img-wrap image-slot, .card:hover .card-img{ transform:scale(1.05); }
.card-body{ padding:26px; }
.card-tag{ font-size:0.68rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.card-title{ font-family:var(--serif); font-size:1.65rem; font-weight:400; color:var(--text); line-height:1.15; }
.card-desc{ font-size:0.92rem; color:var(--text-mid); margin-top:10px; line-height:1.6; }

/* ── Split ─────────────────────────────────────────────────────── */
.split{ display:grid; grid-template-columns:1fr 1fr; min-height:min(86vh,720px); }
.split-img{ position:relative; overflow:hidden; background:var(--bg-dark); }
.split-img image-slot, .split-img img{ width:100%; height:100%; object-fit:cover; }
.split-content{ padding:clamp(48px,6vw,88px) clamp(24px,5vw,72px); display:flex; flex-direction:column; justify-content:center; background:var(--bg-white); }
.split-content.tint{ background:var(--bg); }
@media(max-width:880px){ .split{ grid-template-columns:1fr; } .split-img{ min-height:420px; } }

/* ── Stat / qualities row (dark) ───────────────────────────────── */
.stats-row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--bg-dark); color:#fff; }
.stat-item{ min-width:0; padding:clamp(40px,5vw,64px) clamp(24px,3vw,44px); border-right:1px solid var(--line-dark); }
.stat-item:last-child{ border-right:none; }
.stat-num{ font-family:var(--serif); font-size:clamp(1.8rem,3.4vw,2.9rem); font-weight:300; color:#fff; line-height:1.05; margin-bottom:14px; }
.stat-num em{ font-style:italic; color:var(--accent); }
.stat-label{ font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.5); }
.stat-label,.stat-num{ overflow-wrap:anywhere; }
@media(max-width:760px){ .stats-row{ grid-template-columns:repeat(2,minmax(0,1fr)); } .stat-item:nth-child(2){ border-right:none; } .stat-item:nth-child(1),.stat-item:nth-child(2){ border-bottom:1px solid var(--line-dark); } }
@media(max-width:420px){ .stats-row{ grid-template-columns:1fr; } .stat-item{ border-right:none; border-bottom:1px solid var(--line-dark); } .stat-item:last-child{ border-bottom:none; } }
@media(max-width:420px){ .stats-row[style]{ grid-template-columns:1fr!important; } }

/* ── Services accordion ────────────────────────────────────────── */
.accordion-item{ border-bottom:1px solid var(--border); }
.accordion-trigger{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0;
  font-family:var(--serif); font-size:clamp(1.4rem,2.4vw,2rem); font-weight:400; color:var(--text); text-align:left; transition:color .25s var(--ease); }
.accordion-trigger:hover{ color:var(--accent); }
.accordion-trigger .at-left{ display:flex; align-items:baseline; gap:20px; }
.accordion-trigger .at-num{ font-family:var(--sans); font-size:0.78rem; font-weight:600; letter-spacing:0.1em; color:var(--text-light); min-width:30px; }
.accordion-icon{ font-size:1.6rem; font-weight:300; color:var(--text-light); transition:transform .35s var(--ease); flex-shrink:0; }
.accordion-item.open .accordion-icon{ transform:rotate(45deg); color:var(--accent); }
.accordion-body{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease), padding .35s var(--ease); }
.accordion-item.open .accordion-body{ max-height:340px; padding-bottom:26px; }
.accordion-body p{ font-size:1rem; line-height:1.75; color:var(--text-mid); max-width:60ch; }

/* ── Quote block (dark) ────────────────────────────────────────── */
.quote-block{ background:var(--bg-dark); color:#fff; padding:clamp(72px,11vw,150px) clamp(24px,5vw,60px); text-align:center; position:relative; overflow:hidden; }
.quote-block .qmark{ font-family:var(--serif); font-size:clamp(6rem,14vw,12rem); line-height:0.6; color:var(--accent); opacity:0.5; display:block; margin-bottom:0.1em; }
.quote-text{ font-family:var(--serif); font-size:clamp(1.8rem,4vw,3.4rem); font-weight:300; font-style:italic; line-height:1.3; max-width:18ch; margin:0 auto 34px; color:#fff; }
.quote-text em{ color:var(--accent); }
.quote-author{ font-size:0.76rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.5); }

/* ── CTA banner (dark) ─────────────────────────────────────────── */
.cta-banner{ background:var(--bg-dark); color:#fff; padding:clamp(64px,9vw,120px) clamp(24px,5vw,60px);
  display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; position:relative; overflow:hidden; }
.cta-banner-title{ font-family:var(--serif); font-size:clamp(2.4rem,5vw,4rem); font-weight:300; color:#fff; line-height:1.08; max-width:16ch; }
.cta-banner-title em{ font-style:italic; color:var(--accent); }
.cta-banner .cta-actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* ── Page hero (inner) ─────────────────────────────────────────── */
.page-hero{ padding:clamp(120px,16vw,180px) clamp(24px,5vw,60px) clamp(48px,6vw,72px); background:var(--bg-white); border-bottom:1px solid var(--border); }
.page-hero-label{ font-size:0.74rem; font-weight:600; letter-spacing:0.26em; text-transform:uppercase; color:var(--accent); margin-bottom:26px; }
.page-hero-title{ font-family:var(--serif); font-size:clamp(2.8rem,8vw,6.5rem); font-weight:300; line-height:1.0; letter-spacing:-0.03em; color:var(--text); max-width:16ch; text-wrap:balance; }
.page-hero-title em{ font-style:italic; color:var(--accent); }
.page-hero-sub{ font-size:1.18rem; color:var(--text-mid); margin-top:28px; line-height:1.65; max-width:60ch; }

/* ── Breadcrumb ────────────────────────────────────────────────── */
.breadcrumb{ font-size:0.74rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-light); padding:22px clamp(24px,5vw,60px); display:flex; gap:10px; background:var(--bg-white); border-bottom:1px solid var(--border); }
.breadcrumb a{ color:var(--text-light); transition:color .2s; }
.breadcrumb a:hover{ color:var(--accent); }
.breadcrumb .sep{ opacity:0.5; }

/* ── Tags ──────────────────────────────────────────────────────── */
.tag{ display:inline-block; padding:6px 14px; font-size:0.66rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; border:1px solid var(--border); color:var(--text-mid); transition:all .25s var(--ease); }
.tag:hover, .tag.active{ background:var(--text); color:#fff; border-color:var(--text); }
.tag.on-dark{ border-color:rgba(255,255,255,0.25); color:rgba(255,255,255,0.8); }
.tag.on-dark:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }

/* ── Value / pillar card ───────────────────────────────────────── */
.pillar{ background:var(--bg-white); padding:clamp(28px,3vw,40px); border-top:2px solid var(--accent); transition:transform .45s var(--ease); }
.pillar:hover{ transform:translateY(-6px); }
.pillar .p-num{ font-family:var(--serif); font-size:1.2rem; font-style:italic; color:var(--accent); margin-bottom:18px; }
.pillar h3{ font-family:var(--serif); font-size:1.7rem; font-weight:400; margin-bottom:12px; line-height:1.15; }
.pillar p{ font-size:0.96rem; color:var(--text-mid); line-height:1.65; }

/* ── Feature index list ────────────────────────────────────────── */
.idx-list{ }
.idx-row{ display:grid; grid-template-columns:60px 1fr auto; gap:28px; align-items:center; padding:30px 0; border-top:1px solid var(--border); transition:padding-left .35s var(--ease); }
.idx-row:last-child{ border-bottom:1px solid var(--border); }
.idx-row:hover{ padding-left:16px; }
.idx-row .ir-num{ font-family:var(--serif); font-size:1.1rem; color:var(--text-light); }
.idx-row .ir-name{ font-family:var(--serif); font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:400; }
.idx-row .ir-desc{ font-size:0.95rem; color:var(--text-mid); margin-top:6px; max-width:54ch; }
.idx-row .ir-arrow{ font-size:1.4rem; color:var(--text-light); transition:transform .3s var(--ease), color .3s; }
.idx-row:hover .ir-arrow{ transform:translateX(8px); color:var(--accent); }
@media(max-width:640px){ .idx-row{ grid-template-columns:40px 1fr; } .idx-row .ir-arrow{ display:none; } }

/* ── Forms ─────────────────────────────────────────────────────── */
.form{ display:grid; gap:0; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.form-group{ margin-bottom:28px; }
.form-label{ display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-light); margin-bottom:10px; }
.form-input{ display:block; width:100%; padding:14px 0; font-size:1.05rem; font-family:var(--sans); color:var(--text); background:transparent; border:none; border-bottom:1.5px solid var(--border); outline:none; transition:border-color .25s var(--ease); }
.form-input:focus{ border-bottom-color:var(--accent); }
.form-input::placeholder{ color:var(--text-light); }
.form-input.invalid{ border-bottom-color:var(--accent); }
textarea.form-input{ resize:vertical; min-height:110px; }
select.form-input{ appearance:none; cursor:pointer; }
.form-err{ font-size:0.78rem; color:var(--accent-deep); min-height:1em; margin-top:6px; }
@media(max-width:600px){ .form-row{ grid-template-columns:1fr; } }
.form-success{ padding:48px 0; }
.form-success .mark{ font-family:var(--serif); font-size:3rem; color:var(--accent); margin-bottom:18px; }
.form-success h3{ font-family:var(--serif); font-size:2.2rem; font-weight:400; margin-bottom:12px; }
.form-success p{ color:var(--text-mid); max-width:40ch; }

/* ── Footer ────────────────────────────────────────────────────── */
.footer{ background:var(--bg-white); padding:clamp(56px,7vw,88px) clamp(24px,5vw,60px) 40px; border-top:1px solid var(--border); }
.footer-top{ display:grid; grid-template-columns:2.2fr repeat(3,1fr); gap:clamp(40px,5vw,72px); margin-bottom:clamp(48px,6vw,72px); max-width:var(--maxw); margin-inline:auto; }
.footer-logo{ font-family:var(--sans); font-size:0.9rem; font-weight:500; letter-spacing:0.34em; text-transform:uppercase; margin-bottom:22px; }
.footer-logo span{ color:var(--accent); }
.footer-about{ font-family:var(--serif); font-size:1.4rem; font-weight:300; font-style:italic; color:var(--text); line-height:1.4; max-width:24ch; margin-bottom:22px; }
.footer-badge{ display:inline-block; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-light); border:1px solid var(--border); padding:7px 14px; }
.footer-col-title{ font-size:0.7rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-light); margin-bottom:22px; }
.footer-links{ display:flex; flex-direction:column; gap:12px; }
.footer-links a, .footer-links span{ font-size:0.94rem; color:var(--text-mid); transition:color .2s; }
.footer-links a:hover{ color:var(--accent); }
.footer-bottom{ border-top:1px solid var(--border); padding-top:28px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; max-width:var(--maxw); margin-inline:auto; }
.footer-copy{ font-size:0.82rem; color:var(--text-light); }
.footer-bottom-links{ display:flex; gap:24px; }
.footer-bottom-links a{ font-size:0.82rem; color:var(--text-light); transition:color .2s; }
.footer-bottom-links a:hover{ color:var(--text); }
@media(max-width:1024px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .footer-top{ grid-template-columns:1fr; } }

/* ── image-slot placeholder styling ────────────────────────────── */
image-slot{
  --slot-bg:var(--bg-dark);
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 2px, transparent 2px 11px),
    var(--bg-dark);
  color:rgba(255,255,255,0.4);
}
.viz{ position:relative; overflow:hidden; background:var(--bg-dark); }

/* ── Reveal ────────────────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity 1s var(--ease), transform 1s var(--ease); will-change:opacity, transform; }
.reveal.in{ opacity:1; transform:none; }
.reveal.snap{ transition:none !important; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; } .reveal.d5{ transition-delay:.4s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ transition:none!important; opacity:1!important; transform:none!important; }
  html{ scroll-behavior:auto; }
  .ticker-track{ animation:none; }
}

/* ── Utilities ─────────────────────────────────────────────────── */
.tint{ background:var(--bg); }
.white-bg{ background:var(--bg-white); }
.dark-bg{ background:var(--bg-dark); color:#fff; }
.center{ text-align:center; }
.mt-s{ margin-top:24px; } .mt-m{ margin-top:40px; } .mt-l{ margin-top:60px; }
.flex-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.maxw-head{ max-width:760px; }

/* ════════════════════════════════════════════════════════════════
   PREMIUM POLISH LAYER
   ════════════════════════════════════════════════════════════════ */

/* Page fade-in removed — animation-based body hiding risks a blank page in
   non-painting contexts. Reveals handle entrance motion safely instead. */

/* Anchor offset so sticky sub-nav never covers section titles */
[id]{ scroll-margin-top:calc(var(--nav-h) + 72px); }

/* Scroll progress bar */
.scroll-progress{ position:fixed; top:0; left:0; height:2px; width:0; background:var(--accent); z-index:2000; transition:width .12s linear; box-shadow:0 0 12px rgba(79,87,255,0.5); }

/* Editorial grain overlay */
.grain{ position:fixed; inset:0; z-index:1400; pointer-events:none; opacity:0.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Custom scrollbar */
*{ scrollbar-width:thin; scrollbar-color:var(--text-light) transparent; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--text-light); border:3px solid var(--bg); }
::-webkit-scrollbar-thumb:hover{ background:var(--accent); }

/* Premium empty-state for image slots — cinematic dark frame with magenta glow */
image-slot{
  --slot-bg:var(--bg-dark);
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(79,87,255,0.13), transparent 62%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.022) 0 2px, transparent 2px 12px),
    linear-gradient(160deg, #1c1b21, #131217 70%);
  color:rgba(255,255,255,0.42);
}

/* Hero: slow Ken-Burns settle + parallax-ready media */
@keyframes kenburns{ from{ transform:scale(1.09); } to{ transform:scale(1); } }
.hero-media image-slot, .hero-media img{ animation:kenburns 9s var(--ease) both; will-change:transform; }

/* Card hover affordance — gradient veil + corner arrow */
.card-img-wrap{ position:relative; }
.card-img-wrap::before{ content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(transparent 45%, rgba(22,21,25,0.55)); opacity:0; transition:opacity .55s var(--ease); }
.card-img-wrap::after{ content:'↗'; position:absolute; z-index:3; right:18px; bottom:14px; pointer-events:none;
  color:#fff; font-size:1.35rem; line-height:1; opacity:0; transform:translateY(10px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.card:hover .card-img-wrap::before{ opacity:1; }
.card:hover .card-img-wrap::after{ opacity:1; transform:none; }

/* Overlay nav link stagger (set --i in JS) */
.nav-overlay nav a{ opacity:0; transform:translateY(18px); transition:opacity .5s var(--ease), transform .5s var(--ease), color .25s var(--ease), padding-left .35s var(--ease); }
.nav-overlay.open nav a{ opacity:1; transform:none; transition-delay:calc(0.18s + var(--i,0) * 0.045s); }
.nav-overlay .nav-aside{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease) .35s, transform .6s var(--ease) .35s; }
.nav-overlay.open .nav-aside{ opacity:1; transform:none; }

/* Refined link-underline for inline text links inside copy */
.section-sub a, .footer-about a{ color:var(--accent); }

/* Tighten hero scrim for richer depth */
.hero-scrim{ background:linear-gradient(180deg, rgba(19,18,23,0.45) 0%, transparent 26%, transparent 50%, rgba(19,18,23,0.88) 100%); }

@media (prefers-reduced-motion: reduce){
  .hero-media image-slot, .hero-media img{ animation:none; }
  .scroll-progress{ display:none; }
  .grain{ display:none; }
  .nav-overlay nav a, .nav-overlay .nav-aside{ opacity:1; transform:none; }
}

/* ════════════════════════════════════════════════════════════════
   SIGNATURE CINEMATIC HERO — generative signal field
   ════════════════════════════════════════════════════════════════ */
.hero-cinematic{
  position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden;
  background:radial-gradient(ellipse 90% 80% at 70% 30%, #1a1822 0%, #0e0d12 55%, #09080c 100%);
  color:#fff;
}
.hero-cinematic .signal-field{ position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.hero-cinematic .hero-3d{ position:absolute; inset:0; z-index:1; }
.hero-cinematic .hero-3d canvas{ display:block; width:100%!important; height:100%!important; }
.hero-cinematic .hc-vignette{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, rgba(7,6,10,0.9) 0%, rgba(7,6,10,0.55) 32%, transparent 62%),
             radial-gradient(ellipse 75% 75% at 50% 50%, transparent 45%, rgba(7,6,10,0.55) 100%),
             linear-gradient(180deg, rgba(7,6,10,0.5) 0%, transparent 22%, transparent 60%, rgba(7,6,10,0.72) 100%); }
.hero-cinematic .hc-inner{ position:relative; z-index:3; width:100%; max-width:var(--maxw); margin:0 auto;
  padding:calc(var(--nav-h) + 4vh) clamp(24px,5vw,60px) clamp(120px,16vh,180px); }

.hc-eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:0.72rem; font-weight:600;
  letter-spacing:0.32em; text-transform:uppercase; color:rgba(255,255,255,0.72); margin-bottom:clamp(20px,3vw,32px); }
.hc-eyebrow .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 rgba(79,87,255,0.6); animation:pulseDot 2.4s var(--ease) infinite; }
@keyframes pulseDot{ 0%{ box-shadow:0 0 0 0 rgba(79,87,255,0.55);} 70%{ box-shadow:0 0 0 10px rgba(79,87,255,0);} 100%{ box-shadow:0 0 0 0 rgba(79,87,255,0);} }

.hc-title{ font-family:var(--serif); font-weight:300; font-size:clamp(3.2rem,9.5vw,9rem); line-height:0.94;
  letter-spacing:-0.03em; color:#fff; max-width:15ch; text-wrap:balance; }
.hc-title em{ font-style:italic; font-weight:400;
  background:linear-gradient(100deg, #fff 0%, #fff 38%, var(--accent) 50%, #fff 62%, #fff 100%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:shimmer 6s var(--ease) infinite; }
@keyframes shimmer{ 0%{ background-position:140% 0;} 55%{ background-position:-40% 0;} 100%{ background-position:-40% 0;} }
.hc-sub{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(1.1rem,1.9vw,1.6rem);
  color:rgba(255,255,255,0.74); margin-top:clamp(20px,3vw,30px); max-width:46ch; }
.hc-cta{ margin-top:clamp(30px,4vw,44px); display:flex; gap:16px; flex-wrap:wrap; }

/* spectral equalizer readout at hero base */
.hc-spectral{ position:absolute; left:clamp(24px,5vw,60px); right:clamp(24px,5vw,60px); bottom:clamp(40px,6vh,64px); z-index:3;
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.hc-spectral .spec-bars{ display:flex; align-items:flex-end; gap:4px; height:34px; }
.hc-spectral .spec-bars i{ display:block; width:3px; background:linear-gradient(var(--accent),rgba(79,87,255,0.2)); animation:spec 1.4s var(--ease) infinite; }
@keyframes spec{ 0%,100%{ height:18%; opacity:0.5;} 50%{ height:100%; opacity:1;} }
.hc-readout{ font-family:var(--sans); font-size:0.66rem; letter-spacing:0.28em; text-transform:uppercase; color:rgba(255,255,255,0.5); white-space:nowrap; }
.hc-scrollcue{ display:flex; align-items:center; gap:12px; font-size:0.62rem; letter-spacing:0.28em; text-transform:uppercase; color:rgba(255,255,255,0.5); }
.hc-scrollcue::after{ content:''; width:46px; height:1px; background:linear-gradient(90deg,var(--accent),transparent); }
@media(max-width:680px){ .hc-spectral{ flex-direction:column; align-items:flex-start; gap:14px; } .hc-readout{ display:none; } }

/* magnetic button wrapper */
.btn{ will-change:transform; }
.btn-light-on-dark{ color:#fff; border-color:rgba(255,255,255,0.5); }
.btn-light-on-dark::before{ background:#fff; }
.btn-light-on-dark:hover{ color:var(--text); }

/* hero trust / credibility strip */
.hc-trust{ display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:clamp(28px,3.5vw,40px); padding:0; list-style:none; }
.hc-trust li{ display:flex; align-items:center; gap:10px; font-family:var(--display); font-size:0.74rem;
  font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.72); }
.hc-trust .ht-mark{ width:7px; height:7px; border-radius:50%; background:var(--accent); flex-shrink:0;
  box-shadow:0 0 0 4px rgba(10,92,184,0.18); }
@media(max-width:560px){ .hc-trust{ gap:10px 20px; } .hc-trust li{ font-size:0.66rem; letter-spacing:0.08em; } }

/* page-enter veil — fades away on load (JS-injected only) */
.page-veil{ position:fixed; inset:0; z-index:3000; background:var(--bg); pointer-events:none;
  opacity:1; transition:opacity .85s var(--ease); }
.page-veil.lift{ opacity:0; }

/* back-to-top */
.to-top{ position:fixed; right:clamp(18px,3vw,32px); bottom:clamp(18px,3vw,32px); z-index:900;
  width:48px; height:48px; border-radius:50%; background:var(--bg-dark); color:#fff; font-size:1.1rem;
  display:grid; place-items:center; cursor:pointer; opacity:0; transform:translateY(16px) scale(0.9);
  pointer-events:none; transition:opacity .45s var(--ease), transform .45s var(--ease), background .3s var(--ease);
  box-shadow:0 8px 30px rgba(11,14,24,0.22); }
.to-top.show{ opacity:1; transform:none; pointer-events:auto; }
.to-top:hover{ background:var(--accent); transform:translateY(-3px); }
.to-top span{ line-height:1; transition:transform .3s var(--ease); }
.to-top:hover span{ transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce){ .to-top{ transition:opacity .3s; } .to-top:hover{ transform:none; } }

/* ════════════════════════════════════════════════════════════════
   PROFESSIONAL TYPE SYSTEM
   Headings: Space Grotesk (sans) · Body: Manrope · Serif accents: Newsreader
   ════════════════════════════════════════════════════════════════ */
body{ font-family:var(--sans); letter-spacing:-0.004em; }
.section-title, .hc-title, .page-hero-title, .hero-title, .cta-banner-title,
.card-title, .pillar h3, .accordion-trigger, .idx-row .ir-name, .form-success h3,
.cov-card h3, .mode-card h3, .gov-stage h3, .sig-name, .feature-title,
.makers-title, .values-title, .craft-title, .sec-title, .strip-title,
.cta-band-title, .page-title{
  font-family:var(--display);
  font-weight:600;
  font-style:normal;
  letter-spacing:-0.022em;
}
.section-title em, .hc-title em, .page-hero-title em, .hero-title em,
.cta-banner-title em, .page-title em, .sec-title em, .makers-title em,
.values-title em, .craft-title em, .strip-title em, .cta-band-title em{
  font-family:var(--display);
  font-style:normal;
  font-weight:600;
  color:var(--accent);
  -webkit-text-fill-color:var(--accent);
  background:none;
}
/* refined serif reserved for big numerals + pull-quotes only */
.stat-num, .quote-text, .art-dek, .story-lead, .footer-about, .pull-quote{
  font-family:var(--serif);
}
.quote-text{ font-weight:400; }
.quote-text em, .stat-num em{ color:var(--accent); font-style:italic; }

/* compact cinematic hero for inner pages */
.hero-cinematic.compact{ min-height:78vh; }
.hero-cinematic.compact .hc-inner{ padding-bottom:clamp(80px,12vh,120px); }

/* signature glow on every CTA banner for cohesion */
.cta-banner::before{ content:''; position:absolute; right:-10%; top:50%; transform:translateY(-50%);
  width:55%; height:160%; pointer-events:none;
  background:radial-gradient(ellipse 50% 50% at 70% 50%, rgba(79,87,255,0.16), transparent 70%); }
.cta-banner > *{ position:relative; z-index:1; }

/* ── Product detail: use-context band ──────────────────────────── */
.ctx-band{ position:relative; min-height:62vh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--bg-dark); text-align:center; padding:clamp(72px,10vw,120px) 24px; }
.ctx-band .cb-media{ position:absolute; inset:0; }
.ctx-band .cb-media image-slot{ width:100%; height:100%; opacity:0.5; }
.ctx-band .cb-scrim{ position:absolute; inset:0; background:linear-gradient(rgba(22,21,25,0.45),rgba(22,21,25,0.72)); }
.ctx-band .cb-inner{ position:relative; z-index:2; max-width:22ch; }
.ctx-band .cb-line{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(1.8rem,4vw,3.3rem); color:#fff; line-height:1.25; }
.ctx-band .cb-line em{ color:var(--accent); font-style:italic; }

/* ── Related strip ─────────────────────────────────────────────── */
.related-strip{ max-width:var(--maxw); margin:0 auto; }
.related-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:clamp(32px,4vw,48px); }
.product-hero{ height:88svh; min-height:600px; }


/* ═══════════ FUTURE / UNIVERSE THEME LAYER ═══════════ */
/* precision Space Grotesk for all UI labels/chrome */
.section-label,.card-tag,.footer-col-title,.page-hero-label,.hc-eyebrow,.stat-label,
.ticker-item,.btn,.fam-link,.breadcrumb,.tag,.form-label,.blog-date,.nav-links a,
.header-cta,.hc-readout,.scroll-hint,.quote-author{ font-family:var(--display); }

/* cosmic deep-space hero with subtle starfield */
.hero-cinematic{ background:
  radial-gradient(1.6px 1.6px at 78% 16%, rgba(150,170,255,0.75), transparent),
  radial-gradient(1px 1px at 64% 40%, rgba(255,255,255,0.5), transparent),
  radial-gradient(1px 1px at 88% 54%, rgba(255,255,255,0.45), transparent),
  radial-gradient(1.2px 1.2px at 71% 73%, rgba(180,200,255,0.55), transparent),
  radial-gradient(1px 1px at 92% 30%, rgba(255,255,255,0.4), transparent),
  radial-gradient(1px 1px at 55% 22%, rgba(255,255,255,0.35), transparent),
  radial-gradient(ellipse 100% 92% at 72% 16%, #19203a 0%, #0c1120 52%, #070a12 100%); }
.hero-cinematic .hc-vignette{ background:
  linear-gradient(90deg, rgba(6,8,16,0.93) 0%, rgba(6,8,16,0.55) 32%, transparent 62%),
  radial-gradient(ellipse 75% 75% at 50% 50%, transparent 45%, rgba(6,8,16,0.55) 100%),
  linear-gradient(180deg, rgba(6,8,16,0.5) 0%, transparent 22%, transparent 60%, rgba(6,8,16,0.76) 100%); }

/* iris-lit image-slot empty state */
image-slot{ background:
  radial-gradient(ellipse 70% 55% at 50% 42%, rgba(79,87,255,0.18), transparent 62%),
  repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 12px),
  linear-gradient(160deg, #141a2e, #0b1020 70%); color:rgba(255,255,255,0.45); }

/* aurora hairline accent under eyebrows on dark heroes */
.hc-eyebrow .dot{ background:var(--accent); }
.section-label::before{ background:var(--accent); }

/* ════════════════════════════════════════════════════════════════
   BIQADX FINAL-ZIP PREMIUM TRANSPLANT
   Reference-informed polish: warmer clinical surfaces, cyan-teal
   science accent, denser governance sections, and filled premium
   recognition states without relying on unverified official logos.
   ════════════════════════════════════════════════════════════════ */
:root{
  --bg:#f3f6f8;
  --bg-2:#e9eef3;
  --bg-white:#fffdf9;
  --bg-dark:#08111c;
  --bg-dark-2:#111b2b;
  --text:#0a0f1a;
  --text-mid:#4c596a;
  --text-light:#7d8797;
  --accent:#00c2a8;
  --accent-deep:#078f82;
  --accent-soft:rgba(0,194,168,0.12);
  --aurora:linear-gradient(100deg,#00c2a8 0%,#38bdf8 48%,#8a5fff 100%);
}
body{ background:var(--bg); }
.site-header.scrolled{ box-shadow:0 10px 40px rgba(10,15,26,0.08); }
.logo span,.footer-logo span{ color:var(--accent); }
.card,.pillar,.mode-card,.recognition-tile{
  border:1px solid rgba(10,15,26,0.08);
  box-shadow:0 18px 56px rgba(10,15,26,0.06);
}
.card,.pillar,.mode-card{ border-radius:8px; }
.card-img-wrap{ border-radius:8px 8px 0 0; }
.pillar{ border-top:1px solid rgba(10,15,26,0.08); position:relative; }
.pillar::before{ content:''; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--aurora); }
.hero-cinematic .hero-media image-slot{ filter:saturate(1.04) contrast(1.04); }
.hero-cinematic .hc-vignette{
  background:
    linear-gradient(90deg, rgba(4,11,22,0.94) 0%, rgba(4,11,22,0.60) 34%, transparent 64%),
    radial-gradient(ellipse 78% 78% at 58% 44%, transparent 42%, rgba(4,11,22,0.58) 100%),
    linear-gradient(180deg, rgba(4,11,22,0.48) 0%, transparent 22%, transparent 58%, rgba(4,11,22,0.82) 100%);
}
.hc-title em{
  color:var(--accent);
  -webkit-text-fill-color:var(--accent);
}
.cta-banner::before{ background:radial-gradient(ellipse 50% 50% at 70% 50%, rgba(0,194,168,0.18), transparent 70%); }
.scroll-progress{ background:var(--aurora); box-shadow:0 0 14px rgba(0,194,168,0.45); }

.premium-stat-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:linear-gradient(180deg,#fffdf9 0%,#eef5f7 100%);
  border-block:1px solid rgba(10,15,26,0.09);
  padding-inline:clamp(18px,4vw,60px);
}
.premium-stat{
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  padding:24px 18px;
  border-right:1px solid rgba(10,15,26,0.08);
}
.premium-stat:first-child{ border-left:1px solid rgba(10,15,26,0.08); }
.premium-stat strong{
  font-family:var(--display);
  font-size:clamp(1.15rem,1.6vw,1.55rem);
  line-height:1.05;
  color:var(--text);
}
.premium-stat span{
  font-family:var(--display);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--text-light);
}

.premium-pillar-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.premium-pillar-card{
  position:relative;
  overflow:hidden;
  min-height:440px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  padding:34px 30px;
  background:var(--bg-dark);
  color:#fff;
  display:flex;
  flex-direction:column;
}
.premium-pillar-card::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(135deg,rgba(4,11,22,0.96),rgba(4,11,22,0.82)),var(--bg-img);
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  transition:transform .75s var(--ease);
}
.premium-pillar-card:hover::before{ transform:scale(1.08); }
.premium-pillar-card > *{ position:relative; z-index:1; }
.premium-pillar-card .p-num{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  background:rgba(255,255,255,0.07);
  margin-bottom:24px;
}
.premium-pillar-card h3{ color:#fff; font-size:1.36rem; margin-bottom:12px; }
.premium-pillar-card p{ color:rgba(255,255,255,0.72); line-height:1.68; margin-bottom:18px; }
.premium-pillar-card .chk{ margin-top:auto; }
.premium-pillar-card .chk li{ color:rgba(255,255,255,0.72); }
.premium-pillar-card .chk li::before{ background:var(--accent); box-shadow:0 0 14px rgba(0,194,168,0.55); }

.governance-spotlight{
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(40px,7vw,96px);
  align-items:center;
  padding:clamp(76px,10vw,132px) clamp(24px,5vw,60px);
  background:
    radial-gradient(ellipse 70% 85% at 82% 20%,rgba(0,194,168,0.12),transparent 62%),
    linear-gradient(145deg,#07101d 0%,#101a2a 100%);
  color:#fff;
}
.governance-spotlight > *{ max-width:720px; }
.spotlight-quote{
  margin-top:28px;
  padding-left:18px;
  border-left:2px solid var(--accent);
  color:rgba(255,255,255,0.58);
  font-family:var(--serif);
  font-style:italic;
  font-size:1.08rem;
  line-height:1.7;
}
.governance-list-card{
  display:grid;
  gap:12px;
}
.governance-list-card div{
  display:grid;
  grid-template-columns:minmax(150px,0.4fr) minmax(0,1fr);
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.045);
  backdrop-filter:blur(12px);
  border-radius:8px;
}
.governance-list-card strong{ color:#fff; font-size:1rem; }
.governance-list-card span{ color:rgba(255,255,255,0.65); line-height:1.55; }

.ip-grid{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(40px,7vw,92px);
  align-items:center;
}
.ip-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ip-chip-grid span{
  padding:17px 18px;
  border:1px solid rgba(10,15,26,0.09);
  background:#fff;
  border-radius:8px;
  color:var(--text);
  box-shadow:0 12px 36px rgba(10,15,26,0.05);
}
.recognition-tile{
  min-height:132px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,0.92),rgba(255,255,255,0.72)),
    radial-gradient(ellipse at top right,rgba(0,194,168,0.16),transparent 56%);
  border-radius:8px;
  text-align:center;
  padding:22px;
}
.recognition-tile span{
  font-family:var(--display);
  font-size:clamp(1.25rem,2vw,1.7rem);
  font-weight:700;
  color:var(--text);
}
.recognition-tile small{
  font-family:var(--display);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--text-light);
}

@media(max-width:980px){
  .premium-stat-strip{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-stat:first-child{ border-left:none; }
  .premium-pillar-grid{ grid-template-columns:1fr 1fr; }
  .governance-spotlight,.ip-grid{ grid-template-columns:1fr; }
}
@media(max-width:640px){
  .premium-stat-strip,.premium-pillar-grid,.ip-chip-grid{ grid-template-columns:1fr; }
  .premium-stat{ border-right:none; border-bottom:1px solid rgba(10,15,26,0.08); }
  .governance-list-card div{ grid-template-columns:1fr; gap:6px; }
  .premium-pillar-card{ min-height:auto; }
  .cta-actions,.flex-actions,.hero-cta{ width:100%; }
  .cta-actions .btn,.flex-actions .btn,.hero-cta .btn{
    width:100%;
    justify-content:center;
    white-space:normal;
    text-align:center;
    line-height:1.35;
    padding-inline:18px;
    letter-spacing:0.12em;
  }
}

/* ════════════════════════════════════════════════════════════════
   HOMEPAGE FINAL POLISH
   Investor-ready clarity, evidence maturity, audience paths, and
   lighter responsive homepage imagery.
   ════════════════════════════════════════════════════════════════ */
.hc-trust{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,max-content));
  align-items:center;
  gap:10px 18px;
}
.hc-trust li{
  padding:10px 13px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.055);
  backdrop-filter:blur(10px);
  border-radius:999px;
}
.source-tag{
  margin-top:18px;
  max-width:68ch;
  font-size:0.78rem;
  color:var(--text-light);
  line-height:1.6;
}
.source-dark{
  margin:0;
  max-width:none;
  padding:14px clamp(24px,5vw,60px);
  background:var(--bg-dark);
  color:rgba(255,255,255,0.48);
  border-top:1px solid rgba(255,255,255,0.08);
  text-align:center;
}
.mission-line{
  max-width:760px;
  margin:clamp(34px,5vw,56px) auto 12px;
  font-family:var(--display);
  font-size:clamp(1.45rem,2.8vw,2.35rem);
  font-weight:600;
  line-height:1.18;
  text-align:center;
  color:var(--text);
}
.rd-note{
  max-width:80ch;
  margin:clamp(32px,4vw,48px) 0 0;
  padding:1.25rem 1.45rem;
  background:var(--bg-2);
  border-left:2px solid var(--accent);
  border-radius:8px;
}
.rd-note-label{
  display:block;
  font-family:var(--display);
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}
.rd-note p{
  font-size:0.95rem;
  color:var(--text-mid);
  line-height:1.7;
}
.rd-note.on-dark{
  background:rgba(255,255,255,0.055);
  border-color:var(--accent);
}
.rd-note.on-dark p{ color:rgba(255,255,255,0.68); }

.visual-card-grid{ align-items:stretch; }
.visual-pillar{
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.visual-pillar::before{ z-index:2; }
.visual-pillar-img{
  position:relative;
  aspect-ratio:16/10;
  background:var(--bg-dark);
  overflow:hidden;
}
.visual-pillar-img image-slot,
.visual-pillar-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.visual-pillar-body{
  padding:clamp(28px,3vw,40px);
}

.capabilities-visual{
  width:min(100%,520px);
  aspect-ratio:4/3;
  margin-top:32px;
  overflow:hidden;
  border-radius:8px;
  border:1px solid rgba(10,15,26,0.08);
  box-shadow:0 18px 56px rgba(10,15,26,0.08);
  background:var(--bg-dark);
}
.capabilities-visual image-slot{
  width:100%;
  height:100%;
}

.how-card{
  overflow:hidden;
  background:var(--bg);
  border:1px solid rgba(10,15,26,0.08);
  border-radius:8px;
  box-shadow:0 18px 56px rgba(10,15,26,0.05);
}
.how-card-img{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bg-dark);
}
.how-card-img image-slot{
  width:100%;
  height:100%;
}
.how-card-body{
  padding:clamp(30px,4vw,48px);
}

[data-screen-label="problem"],
[data-screen-label="mission-scale"]{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:var(--bg-dark);
}
[data-screen-label="problem"]::before,
[data-screen-label="mission-scale"]::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0.28;
  background-size:cover;
  background-position:center;
  filter:saturate(0.95) contrast(1.05);
}
[data-screen-label="problem"]::before{
  background-image:linear-gradient(rgba(8,17,28,0.82),rgba(8,17,28,0.88)),url('../images/optimized/home_quote_lab_1920.webp');
}
[data-screen-label="mission-scale"]::before{
  background-image:linear-gradient(rgba(8,17,28,0.82),rgba(8,17,28,0.9)),url('../images/optimized/home_mission_scale_1920.webp');
}
[data-screen-label="problem"] .stat-item,
[data-screen-label="mission-scale"] .stat-item{
  background:rgba(8,17,28,0.44);
  backdrop-filter:blur(4px);
}

.evidence-shell{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr);
  gap:clamp(42px,7vw,92px);
  align-items:start;
}
.evidence-timeline{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.evidence-step{
  position:relative;
  min-height:172px;
  padding:24px;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  background:rgba(255,255,255,0.045);
  overflow:hidden;
}
.evidence-step::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:rgba(255,255,255,0.16);
}
.evidence-step.active::before{ background:var(--aurora); }
.evidence-step span{
  display:block;
  font-family:var(--display);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:18px;
}
.evidence-step strong{
  display:block;
  font-family:var(--display);
  font-size:1.32rem;
  line-height:1.15;
  color:#fff;
  margin-bottom:10px;
}
.evidence-step p{
  color:rgba(255,255,255,0.64);
  font-size:0.94rem;
  line-height:1.62;
}
.evidence-visual{
  aspect-ratio:16/10;
  margin-top:32px;
  overflow:hidden;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.12);
  background:var(--bg-dark);
}
.evidence-visual image-slot{
  width:100%;
  height:100%;
}

.founder-note{
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:clamp(26px,5vw,54px);
  align-items:center;
  padding:clamp(34px,5vw,58px);
  background:var(--bg-white);
  border:1px solid rgba(10,15,26,0.08);
  border-radius:8px;
  box-shadow:0 22px 70px rgba(10,15,26,0.08);
}
.founder-portrait{
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:8px;
  background:var(--bg-dark);
}
.founder-portrait image-slot{
  width:100%;
  height:100%;
}
.founder-note blockquote{
  font-family:var(--display);
  font-size:clamp(1.85rem,4vw,3.35rem);
  font-weight:600;
  line-height:1.08;
  color:var(--text);
  max-width:18ch;
}
.founder-signature{
  margin-top:clamp(28px,4vw,42px);
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 18px;
  color:var(--text-mid);
}
.founder-signature strong{
  font-family:var(--display);
  color:var(--text);
  font-size:1.08rem;
}

.honest-premium{
  background:
    radial-gradient(ellipse 70% 70% at 82% 18%,rgba(0,194,168,0.12),transparent 58%),
    var(--bg-white);
}
.honest-premium .pillar{
  padding:clamp(34px,4.5vw,64px);
  min-height:360px;
}
.honest-premium .pillar .p-num{
  display:inline-flex;
  margin-bottom:22px;
  padding:7px 11px;
  border-radius:999px;
  background:var(--accent-soft);
  font-family:var(--display);
  font-style:normal;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.honest-premium .pillar h3{ font-size:clamp(1.75rem,3vw,2.45rem); }
.honest-premium .pillar p{ font-size:1rem; max-width:62ch; }

.audience-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2px;
}
.audience-card{
  display:flex;
  flex-direction:column;
  min-height:330px;
  padding:0;
  overflow:hidden;
  background:var(--bg-white);
  border:1px solid rgba(10,15,26,0.08);
  border-radius:8px;
  box-shadow:0 18px 56px rgba(10,15,26,0.06);
  transition:transform .45s var(--ease), border-color .45s var(--ease);
}
.audience-card:hover{
  transform:translateY(-6px);
  border-color:rgba(0,194,168,0.38);
}
.audience-img{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bg-dark);
}
.audience-img image-slot{
  width:100%;
  height:100%;
}
.audience-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:clamp(24px,3vw,34px);
}
.audience-body span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
  font-family:var(--display);
  font-size:0.78rem;
  font-weight:700;
  margin-bottom:24px;
}
.audience-body h3{
  font-family:var(--display);
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1.16;
  margin-bottom:12px;
}
.audience-body p{
  color:var(--text-mid);
  line-height:1.65;
  font-size:0.95rem;
}
.audience-body strong{
  margin-top:auto;
  padding-top:28px;
  color:var(--accent);
  font-family:var(--display);
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.newsletter-card{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(220px,0.55fr) minmax(0,1fr) minmax(320px,0.7fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
  padding:clamp(32px,5vw,58px);
  border:1px solid rgba(10,15,26,0.08);
  border-radius:8px;
  background:
    radial-gradient(ellipse 60% 90% at 92% 10%,rgba(0,194,168,0.13),transparent 60%),
    var(--bg-white);
  box-shadow:0 22px 70px rgba(10,15,26,0.07);
}
.newsletter-media{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:8px;
  background:var(--bg-dark);
}
.newsletter-media image-slot{
  width:100%;
  height:100%;
}
.newsletter-card h3{
  font-family:var(--display);
  font-size:clamp(1.55rem,3vw,2.45rem);
  line-height:1.12;
  max-width:20ch;
}
.newsletter-card p{
  margin-top:12px;
  color:var(--text-mid);
  max-width:56ch;
}
.newsletter-form{
  display:flex;
  gap:12px;
  align-items:center;
}
.newsletter-form input{
  min-width:0;
  flex:1;
  height:52px;
  border:1px solid rgba(10,15,26,0.14);
  border-radius:4px;
  background:#fff;
  padding:0 16px;
  font:inherit;
  color:var(--text);
}

.quote-block > *:not(.quote-media){ position:relative; z-index:1; }
.quote-media{
  position:absolute;
  inset:0;
  z-index:0;
}
.quote-media image-slot{
  width:100%;
  height:100%;
  opacity:0.34;
  filter:saturate(0.95) contrast(1.08);
}
.quote-block::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(rgba(8,17,28,0.78),rgba(8,17,28,0.86));
}

.visual-cta{
  isolation:isolate;
}
.visual-cta .cta-media{
  position:absolute;
  inset:0;
  z-index:0;
}
.visual-cta .cta-media image-slot{
  width:100%;
  height:100%;
  opacity:0.28;
}
.visual-cta::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(8,17,28,0.92),rgba(8,17,28,0.78));
}
.visual-cta > *:not(.cta-media){ position:relative; z-index:2; }

body[data-page="home"] .hero-cinematic{
  min-height:94svh;
}
body[data-page="home"] .hero-cinematic .hc-inner{
  padding-top:calc(var(--nav-h) + 28px);
  padding-bottom:clamp(42px,6vh,64px);
}
body[data-page="home"] .hc-title{
  max-width:15ch;
  font-size:clamp(3rem,6vw,6.3rem);
  line-height:0.98;
}
body[data-page="home"] .hc-sub{
  max-width:60ch;
  line-height:1.58;
}
body[data-page="home"] .hc-spectral{
  display:none;
}

@media(max-width:1100px){
  .audience-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:880px){
  .evidence-shell,.newsletter-card{ grid-template-columns:1fr; }
  .evidence-timeline{ grid-template-columns:1fr; }
  .founder-note{ grid-template-columns:1fr; }
  .founder-portrait{ max-width:320px; }
  .founder-note blockquote{ max-width:22ch; }
  [data-screen-label="capabilities"] .section > div{ grid-template-columns:1fr!important; }
  .accordion-trigger{ gap:12px; }
  .accordion-trigger .at-left{ min-width:0; gap:12px; align-items:flex-start; }
}
@media(max-width:720px){
  .hc-trust{ grid-template-columns:1fr 1fr; width:100%; }
  .hc-trust li{ justify-content:flex-start; min-height:42px; }
  .audience-grid{ grid-template-columns:1fr; }
  .audience-card{ min-height:auto; }
  .visual-pillar-img,.how-card-img,.audience-img{ aspect-ratio:16/9; }
  .newsletter-form{ flex-direction:column; align-items:stretch; }
  .newsletter-form .btn{ width:100%; justify-content:center; }
}
@media(max-width:520px){
  .hc-trust{ grid-template-columns:1fr 1fr; gap:8px; }
  .hc-trust li{ padding:8px 10px; font-size:0.58rem; min-height:38px; }
  .hc-title{ font-size:clamp(2.35rem,12vw,3.15rem); line-height:0.98; }
  .hc-sub{ font-size:0.98rem; line-height:1.55; margin-top:16px; }
  .hc-cta{ margin-top:22px; gap:10px; }
  .hc-cta .btn{ padding:13px 18px; font-size:0.66rem; letter-spacing:0.13em; }
  .hero-cinematic .hc-spectral{ display:none; }
  body[data-page="home"] .hero-cinematic{ min-height:92svh; }
  body[data-page="home"] .hero-cinematic .hc-inner{ padding-top:calc(var(--nav-h) + 24px); padding-bottom:36px; }
  .founder-note,.honest-premium .pillar,.newsletter-card{ padding:28px 22px; }
}
