/* ================================================================
   neekos.ai — v2.3.0 "Obsidian Flagship" (rectified)
   Palette: OBSIDIAN #04050A · IVORY #F4EEE0 · AURUM #E9B45B
            AURUM-DEEP #C9783C · AZURE #4FA3D9 (V-mark gradient DNA)
   Type:   Fraunces (display + italic) · Inter (body) · JetBrains Mono (HUD)
   ================================================================ */

@font-face{font-family:'Fraunces';src:url('../fonts/fraunces.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-i.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jbm.woff2') format('woff2');font-weight:100 800;font-display:swap}

:root{
  --obsidian:#04050A;
  --pitch:#07090F;
  --raise:#0C0F18;
  --ivory:#F4EEE0;
  --ivory-70:rgba(244,238,224,.72);
  --ivory-50:rgba(244,238,224,.52);
  --ivory-30:rgba(244,238,224,.32);
  --aurum:#E9B45B;
  --aurum-deep:#C9783C;
  --aurum-glow:#FFE2A8;
  --azure:#4FA3D9;
  --azure-bright:#7CC4F2;
  --line:rgba(244,238,224,.09);
  --line-strong:rgba(244,238,224,.17);
  --line-aurum:rgba(233,180,91,.36);
  --grad-brand:linear-gradient(135deg,var(--aurum-glow) 0%,var(--aurum) 32%,var(--aurum-deep) 58%,var(--azure) 100%);
  --grad-hair:linear-gradient(90deg,transparent,rgba(233,180,91,.5) 30%,rgba(79,163,217,.45) 70%,transparent);
  --d:'Fraunces',serif;
  --b:'Inter',system-ui,sans-serif;
  --m:'JetBrains Mono',monospace;
  --gut:clamp(20px,4.5vw,76px);
  --max:1520px;
  --ease:cubic-bezier(.16,.84,.28,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
body{
  background:var(--obsidian);
  color:var(--ivory);
  font-family:var(--b);
  font-weight:350;
  font-size:16px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--aurum);color:var(--obsidian)}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--aurum);outline-offset:3px;border-radius:2px}
button{font-family:inherit}

/* film grain over everything */
body::before{
  content:'';position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  animation:grain 7s steps(8) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)}12%{transform:translate(-4%,3%)}25%{transform:translate(3%,-5%)}
  38%{transform:translate(-5%,-3%)}50%{transform:translate(5%,4%)}62%{transform:translate(-3%,5%)}
  75%{transform:translate(4%,-4%)}88%{transform:translate(-4%,-5%)}
}

/* custom cursor (pointer devices only) */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:300;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}
.cursor-dot{width:6px;height:6px;background:var(--aurum)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(233,180,91,.5);transition:width .25s,height .25s,border-color .25s,background .25s}
.cursor-ring.hot{width:58px;height:58px;border-color:var(--azure);background:rgba(79,163,217,.07)}
@media(hover:none){.cursor-dot,.cursor-ring{display:none}}

/* ---------- utilities ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.eyebrow{
  font-family:var(--m);font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--aurum);display:flex;align-items:center;gap:14px;font-weight:500;
}
.eyebrow::before{content:'';width:36px;height:1px;background:var(--grad-hair);flex:none}
.eyebrow .tick{color:var(--azure)}
.it{font-style:italic;font-weight:430;color:var(--aurum-glow)}
.it-az{font-style:italic;font-weight:430;background:linear-gradient(100deg,var(--aurum-glow),var(--azure-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
.hairline{height:1px;background:var(--grad-hair);border:0}
.display{font-family:var(--d);font-weight:560;letter-spacing:-.012em;line-height:1.04;font-variation-settings:'SOFT' 30,'WONK' 0,'opsz' 144}

/* section aurora glows */
.aura{position:relative}
.aura::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(46% 60% at 82% 8%,rgba(79,163,217,.075),transparent 60%),
    radial-gradient(50% 64% at 10% 92%,rgba(201,120,60,.085),transparent 62%);
}
.aura>*{position:relative;z-index:1}

/* ---------- reveal system ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.on{opacity:1;transform:none}
.rv-line{display:block;overflow:hidden}
.rv-line>span{display:block;transform:translateY(112%);transition:transform 1.05s var(--ease)}
.on .rv-line>span,.rv-line.on>span{transform:none}
.rv-fade{opacity:0;transition:opacity 1.3s ease}
.rv-fade.on{opacity:1}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--gut);
  transition:background .4s,border-color .4s,padding .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{background:rgba(4,5,10,.78);backdrop-filter:blur(16px) saturate(1.2);border-color:var(--line);padding:13px var(--gut)}
.nav-brand{display:flex;align-items:center;gap:13px}
.nav-brand svg{width:31px;height:31px;filter:drop-shadow(0 0 12px rgba(233,180,91,.35))}
.nav-word{font-family:var(--d);font-weight:620;font-size:21px;letter-spacing:0;font-variation-settings:'SOFT' 40,'opsz' 40}
.nav-word span{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.nav-tag{font-family:var(--m);font-size:9px;letter-spacing:.24em;color:var(--ivory-30);text-transform:uppercase;border-left:1px solid var(--line-strong);padding-left:12px;margin-left:2px}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-family:var(--m);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-50);transition:color .25s;position:relative}
.nav-links a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--grad-hair);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:not(.nav-cta):hover::after{transform:scaleX(1)}
.nav-links a:hover{color:var(--aurum-glow)}
.nav-cta{
  font-family:var(--m);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--obsidian)!important;background:linear-gradient(120deg,var(--aurum-glow),var(--aurum));
  padding:12px 24px;border-radius:2px;transition:box-shadow .3s,transform .3s;
}
.nav-cta:hover{box-shadow:0 0 28px rgba(233,180,91,.4);transform:translateY(-1px)}
.nav-burger{display:none;background:transparent;border:1px solid var(--line-strong);border-radius:2px;width:42px;height:38px;cursor:pointer;position:relative;z-index:120}
.nav-burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ivory);transition:transform .3s,opacity .3s}
.nav-burger span:nth-child(1){top:13px}.nav-burger span:nth-child(2){top:18.5px}.nav-burger span:nth-child(3){top:24px}
.menu-open .nav-burger span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-open .nav-burger span:nth-child(2){opacity:0}
.menu-open .nav-burger span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mobile-menu{
  position:fixed;inset:0;z-index:110;background:rgba(4,5,10,.97);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;justify-content:center;padding:0 var(--gut);
  opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.menu-open .mobile-menu{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--d);font-weight:520;font-style:italic;font-size:clamp(28px,8vw,44px);letter-spacing:-.01em;padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;color:var(--ivory)}
.mobile-menu a small{font-family:var(--m);font-style:normal;font-size:10px;letter-spacing:.24em;color:var(--aurum);text-transform:uppercase}
.mobile-menu a:hover{color:var(--aurum-glow)}
.menu-open{overflow:hidden}
@media(max-width:980px){.nav-burger{display:block}.nav-links a:not(.nav-cta){display:none}.nav-tag{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--obsidian)}
#field{position:absolute;inset:0;width:100%;height:100%}
.hero-vmark{
  position:absolute;right:max(2vw,calc((100vw - var(--max))/2));top:50%;transform:translateY(-58%);
  width:clamp(260px,30vw,520px);opacity:.9;pointer-events:none;z-index:1;
  filter:drop-shadow(0 0 60px rgba(233,180,91,.22));
}
.hero::after{content:'';position:absolute;inset:0;background:
  radial-gradient(110% 80% at 18% 105%,rgba(201,120,60,.14),transparent 56%),
  radial-gradient(80% 60% at 86% -6%,rgba(79,163,217,.12),transparent 60%),
  linear-gradient(to bottom,rgba(4,5,10,.4),rgba(4,5,10,.04) 32%,rgba(4,5,10,.86) 84%,var(--obsidian));
  pointer-events:none;z-index:1}
.hero-inner{position:relative;z-index:2;padding-bottom:42px;padding-top:150px}
.hero-eyebrow{margin-bottom:32px}
.hero h1{
  font-family:var(--d);font-weight:540;
  font-size:clamp(44px,7.2vw,116px);
  line-height:1.02;letter-spacing:-.015em;
  max-width:14ch;text-wrap:balance;
  font-variation-settings:'SOFT' 24,'WONK' 0,'opsz' 144;
}
.hero h1 .it{font-weight:430}
.hero-sub{
  margin-top:34px;max-width:580px;color:var(--ivory-70);
  font-size:clamp(15px,1.3vw,18px);font-weight:360;
}
.hero-sub strong{color:var(--ivory);font-weight:520}
.hero-actions{display:flex;gap:16px;margin-top:42px;flex-wrap:wrap;align-items:center}
.btn{
  font-family:var(--m);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  padding:17px 32px;border-radius:2px;display:inline-flex;align-items:center;gap:12px;
  position:relative;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s,color .3s;
  will-change:transform;cursor:pointer;
}
.btn-solid{background:linear-gradient(120deg,var(--aurum-glow),var(--aurum) 55%,var(--aurum-deep));color:var(--obsidian);font-weight:650;border:0}
.btn-solid:hover{box-shadow:0 6px 36px rgba(233,180,91,.42)}
.btn-ghost{border:1px solid var(--line-strong);color:var(--ivory);background:transparent}
.btn-ghost:hover{border-color:var(--azure);color:var(--azure-bright);box-shadow:0 0 26px rgba(79,163,217,.18)}
/* console ticker */
.hero-console{
  position:relative;z-index:2;margin-top:58px;border-top:1px solid var(--line);
  background:linear-gradient(to bottom,rgba(7,9,15,.5),transparent);
}
.console-row{display:flex;align-items:center;gap:0;overflow:hidden}
.console-label{
  flex:none;font-family:var(--m);font-size:9.5px;letter-spacing:.3em;color:var(--azure);
  text-transform:uppercase;padding:16px 22px;border-right:1px solid var(--line);
  display:flex;align-items:center;gap:9px;
}
.console-label i{width:6px;height:6px;border-radius:50%;background:var(--azure);box-shadow:0 0 10px var(--azure);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.3}}
.console-line{
  font-family:var(--m);font-size:11px;letter-spacing:.08em;color:var(--ivory-50);
  padding:16px 22px;white-space:nowrap;
}
.console-line .ok{color:var(--aurum)}
.console-line .caret{display:inline-block;width:7px;height:13px;background:var(--aurum);vertical-align:-2px;margin-left:4px;animation:pulse 1s steps(2) infinite}

/* ---------- marquee ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--pitch)}
.mq-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.mq-track span{
  font-family:var(--d);font-style:italic;font-weight:430;font-size:clamp(17px,1.8vw,24px);
  color:var(--ivory-30);padding:20px 0;white-space:nowrap;
}
.mq-track span b{font-style:normal;font-weight:560;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 .35em}
.mq-track span i{font-style:normal;color:var(--aurum);margin:0 2.2vw;font-family:var(--m);font-size:.6em;vertical-align:.25em}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- manifesto ---------- */
.manifesto{padding:clamp(110px,15vw,210px) 0;border-bottom:1px solid var(--line)}
.manifesto p{
  font-family:var(--d);font-weight:480;font-size:clamp(27px,3.9vw,56px);line-height:1.22;
  max-width:24ch;letter-spacing:-.008em;text-wrap:balance;font-variation-settings:'SOFT' 50,'opsz' 80;
}
.manifesto p em{font-style:italic;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.manifesto .who{margin-top:40px;color:var(--ivory-30);font-family:var(--m);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase}

/* ---------- engine / orbit ---------- */
.engine{padding:clamp(100px,12vw,180px) 0;border-bottom:1px solid var(--line);overflow:hidden}
.engine-grid{display:grid;grid-template-columns:1fr minmax(0,640px);gap:clamp(40px,6vw,110px);align-items:center}
.sec-head h2{font-family:var(--d);font-weight:540;font-size:clamp(33px,4.4vw,64px);letter-spacing:-.012em;line-height:1.06;max-width:16ch;text-wrap:balance;font-variation-settings:'SOFT' 30,'opsz' 120}
.sec-head .lede{max-width:400px;color:var(--ivory-70);font-size:15.5px}
.engine-copy .lede{margin-top:26px;max-width:46ch;color:var(--ivory-70);font-size:15.5px}
.engine-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.estat{background:var(--obsidian);padding:22px 20px}
.estat .v{font-family:var(--d);font-weight:560;font-size:clamp(26px,2.6vw,40px);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.estat .l{font-family:var(--m);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-30);margin-top:10px;line-height:1.8}
.orbit-wrap{position:relative;aspect-ratio:1/1;max-width:640px;width:100%;margin:0 auto}
.orbit-svg{width:100%;height:100%;overflow:visible}
.orbit-ring{fill:none;stroke:var(--line-strong);stroke-dasharray:2 7}
.orbit-ring.r2{stroke:rgba(79,163,217,.25)}
.orbit-spin{transform-origin:center;animation:orbit 70s linear infinite}
.orbit-spin.rev{animation-duration:95s;animation-direction:reverse}
@keyframes orbit{to{transform:rotate(360deg)}}
.onode{transform-origin:center}
.onode circle.halo{fill:rgba(233,180,91,.10);transition:fill .3s}
.onode circle.core{fill:var(--pitch);stroke:var(--line-aurum);stroke-width:1;transition:stroke .3s}
.onode text{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;fill:var(--ivory-70);text-anchor:middle;transition:fill .3s}
.onode:hover circle.halo,.onode.lit circle.halo{fill:rgba(79,163,217,.16)}
.onode:hover circle.core,.onode.lit circle.core{stroke:var(--azure)}
.onode:hover text,.onode.lit text{fill:var(--azure-bright)}
.orbit-center{filter:drop-shadow(0 0 26px rgba(233,180,91,.4))}
.orbit-tip{
  position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  font-family:var(--m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ivory-50);background:rgba(7,9,15,.85);border:1px solid var(--line-strong);
  padding:11px 18px;border-radius:2px;white-space:nowrap;backdrop-filter:blur(8px);
}
.orbit-tip b{color:var(--aurum);font-weight:600}
@media(max-width:1020px){.engine-grid{grid-template-columns:1fr}.orbit-wrap{max-width:520px}}

/* ---------- services ---------- */
.services{padding:clamp(100px,12vw,180px) 0 clamp(80px,9vw,130px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(48px,6vw,84px);flex-wrap:wrap}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.svc{
  position:relative;border-radius:4px;padding:clamp(28px,3.4vw,46px);
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,
             linear-gradient(140deg,rgba(233,180,91,.4),rgba(244,238,224,.07) 40%,rgba(79,163,217,.32)) border-box;
  border:1px solid transparent;overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s;
}
.svc::after{content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 0%,rgba(79,163,217,.09),transparent 60%);opacity:0;transition:opacity .45s}
.svc:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(0,0,0,.5)}
.svc:hover::after{opacity:1}
.svc .num{font-family:var(--m);font-size:11px;letter-spacing:.24em;color:var(--azure)}
.svc h3{font-family:var(--d);font-weight:540;font-size:clamp(21px,2.1vw,29px);letter-spacing:-.008em;line-height:1.16;margin-top:20px;text-wrap:balance;font-variation-settings:'SOFT' 40,'opsz' 60}
.svc .agent-ref{display:block;font-family:var(--m);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-30);margin-top:16px}
.svc .agent-ref b{color:var(--aurum);font-weight:600}
.svc p{color:var(--ivory-70);font-size:14.5px;margin-top:18px;position:relative;z-index:1}
@media(max-width:860px){.svc-grid{grid-template-columns:1fr}}

/* ---------- bench ---------- */
.bench{padding:clamp(90px,11vw,170px) 0 0;border-top:1px solid var(--line)}
.dossier{
  display:grid;grid-template-columns:minmax(0,470px) 1fr;
  gap:clamp(36px,6vw,110px);align-items:center;
  padding:clamp(64px,8vw,118px) 0;border-bottom:1px solid var(--line);
}
.dossier:nth-child(even){grid-template-columns:1fr minmax(0,470px)}
.dossier:nth-child(even) .plate{order:2}
.plate{position:relative;aspect-ratio:1/1;max-width:470px;width:100%;border-radius:4px;transform-style:preserve-3d;will-change:transform}
.plate-glow{position:absolute;inset:-1px;border-radius:5px;background:var(--grad-brand);opacity:.5;filter:blur(14px);z-index:0;transition:opacity .4s}
.plate:hover .plate-glow{opacity:.85}
.plate-inner{position:absolute;inset:0;border-radius:4px;overflow:hidden;z-index:1;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;
  border:1px solid transparent;}
.plate video{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.03)}
.plate-scanline{position:absolute;left:0;right:0;top:-30%;height:26%;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgba(124,196,242,.10) 45%,rgba(233,180,91,.12) 55%,transparent);
  animation:scan 5.5s var(--ease) infinite}
@keyframes scan{0%{top:-30%}55%,100%{top:110%}}
.plate-scan{
  position:absolute;inset:auto 0 0 0;z-index:3;display:flex;justify-content:space-between;align-items:center;
  padding:11px 15px;background:linear-gradient(to top,rgba(4,5,10,.94),rgba(4,5,10,0));
  font-family:var(--m);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-70);
}
.plate-scan .rec{display:flex;align-items:center;gap:8px}
.plate-scan .rec i{width:6px;height:6px;border-radius:50%;background:var(--aurum);box-shadow:0 0 9px var(--aurum);animation:pulse 2.2s infinite}
.d-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.d-chip{
  font-family:var(--m);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  border:1px solid var(--line-strong);padding:8px 14px;border-radius:2px;color:var(--ivory-50);background:rgba(7,9,15,.5);
}
.d-chip.st{border-color:var(--line-aurum);color:var(--aurum);box-shadow:inset 0 0 18px rgba(233,180,91,.06)}
.d-name{font-family:var(--d);font-weight:560;font-size:clamp(40px,4.6vw,68px);letter-spacing:-.014em;line-height:1;font-variation-settings:'SOFT' 24,'opsz' 144}
.d-role{font-family:var(--d);font-style:italic;font-weight:430;font-size:clamp(19px,1.9vw,25px);margin-top:13px;background:linear-gradient(100deg,var(--aurum),var(--azure));-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content;max-width:100%}
.d-body{color:var(--ivory-70);font-size:15.5px;margin-top:24px;max-width:56ch}
.d-body strong{color:var(--ivory);font-weight:520}
.d-caps{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.d-caps li{display:flex;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ivory-70)}
.d-caps li::before{content:'—';color:var(--aurum);font-family:var(--m);flex:none}
@media(max-width:900px){
  .dossier,.dossier:nth-child(even){grid-template-columns:1fr}
  .dossier:nth-child(even) .plate{order:0}
  .plate{max-width:520px}
}

/* ---------- pipeline ---------- */
.pipeline{padding:clamp(100px,12vw,170px) 0}
.pipe-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.pipe-cell{background:var(--obsidian);padding:clamp(24px,2.6vw,40px);min-height:240px;display:flex;flex-direction:column;gap:15px;position:relative;transition:background .35s}
.pipe-cell::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:var(--grad-hair);opacity:0;transition:opacity .35s}
.pipe-cell:hover{background:var(--pitch)}
.pipe-cell:hover::before{opacity:1}
.pipe-cell .k{font-family:var(--m);font-size:9.5px;letter-spacing:.28em;color:var(--azure);text-transform:uppercase}
.pipe-cell h3{font-family:var(--d);font-weight:540;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.005em;font-variation-settings:'SOFT' 40,'opsz' 50}
.pipe-cell p{font-size:13.5px;color:var(--ivory-70);line-height:1.62}
.pipe-cell .arrow{margin-top:auto;font-family:var(--m);color:var(--aurum);font-size:14px}
@media(max-width:1020px){.pipe-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pipe-grid{grid-template-columns:1fr}.pipe-cell{min-height:0}}

/* ---------- compliance ---------- */
.comply{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--pitch)}
.comply .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,100px);padding-top:clamp(70px,8vw,118px);padding-bottom:clamp(70px,8vw,118px)}
.comply h2{font-family:var(--d);font-weight:540;font-size:clamp(28px,3.3vw,46px);letter-spacing:-.01em;line-height:1.1;text-wrap:balance;font-variation-settings:'SOFT' 30,'opsz' 100}
.comply .law-note{margin-top:24px;color:var(--ivory-70);font-size:15px;max-width:46ch}
.law-grid{display:flex;flex-wrap:wrap;gap:10px;align-content:center}
.law{font-family:var(--m);font-size:11px;letter-spacing:.2em;border:1px solid var(--line-strong);padding:13px 19px;border-radius:2px;color:var(--ivory-50);transition:border-color .3s,color .3s,box-shadow .3s;background:rgba(4,5,10,.4)}
.law:hover{border-color:var(--azure);color:var(--azure-bright);box-shadow:0 0 22px rgba(79,163,217,.14)}
.law b{color:var(--aurum);font-weight:600;margin-right:8px}
@media(max-width:880px){.comply .wrap{grid-template-columns:1fr}}

/* ---------- founding ---------- */
.founding{padding:clamp(80px,9vw,130px) 0}
.founding-box{
  border-radius:5px;position:relative;overflow:hidden;
  padding:clamp(36px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;border:1px solid transparent;
}
.founding-box::before{content:'';position:absolute;inset:0;background:
  radial-gradient(70% 130% at 0% 0%,rgba(233,180,91,.12),transparent 52%),
  radial-gradient(60% 120% at 100% 100%,rgba(79,163,217,.12),transparent 55%)}
.founding-box>*{position:relative}
.founding-box h3{font-family:var(--d);font-weight:550;font-size:clamp(25px,3vw,42px);letter-spacing:-.01em;max-width:20ch;line-height:1.1;text-wrap:balance;font-variation-settings:'SOFT' 30,'opsz' 90}
.founding-box h3 em{font-style:italic;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.founding-box .f-sub{font-family:var(--m);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-50);margin-top:16px;line-height:2.1}
.founding-box .f-sub b{color:var(--aurum);font-weight:600}

/* ---------- contact ---------- */
.contact{padding:clamp(110px,14vw,190px) 0 clamp(80px,9vw,130px);position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;inset:auto -10% -55% -10%;height:85%;background:
  radial-gradient(46% 60% at 38% 100%,rgba(201,120,60,.2),transparent 68%),
  radial-gradient(40% 55% at 66% 100%,rgba(79,163,217,.14),transparent 70%);pointer-events:none}
.contact .eyebrow{justify-content:center}
.contact .eyebrow::after{content:'';width:36px;height:1px;background:var(--grad-hair);flex:none}
.contact h2{
  font-family:var(--d);font-weight:540;text-align:center;
  font-size:clamp(38px,6.2vw,94px);letter-spacing:-.016em;line-height:1.04;
  margin-top:32px;text-wrap:balance;font-variation-settings:'SOFT' 24,'opsz' 144;
}
.contact h2 .it{display:block;font-size:.6em;margin-top:20px;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.2;padding-bottom:.08em}
.mail-line{display:flex;justify-content:center;margin-top:clamp(40px,5vw,60px)}
.mail-line a{
  font-family:var(--m);font-size:clamp(16px,2.5vw,29px);letter-spacing:.05em;color:var(--aurum-glow);
  border-bottom:1px solid var(--line-aurum);padding-bottom:10px;transition:color .3s,border-color .3s,text-shadow .3s;
}
.mail-line a:hover{color:var(--aurum);border-color:var(--aurum);text-shadow:0 0 30px rgba(233,180,91,.5)}
.contact-meta{display:flex;justify-content:center;gap:clamp(20px,4vw,56px);margin-top:46px;flex-wrap:wrap;font-family:var(--m);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-30)}
.contact-meta a:hover{color:var(--aurum-glow)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);background:var(--pitch)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(30px,4vw,60px);padding:clamp(54px,7vw,88px) 0 clamp(40px,5vw,58px)}
.footer-grid .fcol h4{font-family:var(--m);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--aurum);margin-bottom:20px;font-weight:500}
.footer-grid .fcol a{display:block;font-size:14px;color:var(--ivory-50);padding:7px 0;transition:color .25s}
.footer-grid .fcol a:hover{color:var(--aurum-glow)}
.fbrand .fb-row{display:flex;align-items:center;gap:11px}
.fbrand svg{width:27px;height:27px}
.fbrand .nav-word{font-size:19px}
.fbrand p{color:var(--ivory-30);font-size:13px;margin-top:16px;max-width:32ch;line-height:1.7}
.foot-bottom{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--m);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-30)}
.foot-bottom button{background:none;border:none;color:var(--ivory-30);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
.foot-bottom button:hover,.foot-bottom a:hover{color:var(--aurum-glow)}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ---------- subpages ---------- */
.subpage{padding:clamp(150px,18vh,210px) 0 clamp(80px,9vw,130px)}
.subpage-head h1{font-family:var(--d);font-weight:540;font-size:clamp(36px,5.6vw,80px);letter-spacing:-.014em;line-height:1.04;max-width:17ch;text-wrap:balance;font-variation-settings:'SOFT' 26,'opsz' 144}
.subpage-head .sub{margin-top:26px;max-width:580px;color:var(--ivory-70);font-size:clamp(15px,1.3vw,17.5px)}
.subpage-head .meta-line{margin-top:30px;font-family:var(--m);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-30);line-height:2}
.holding{min-height:34vh;display:flex;align-items:center;margin-top:clamp(40px,6vw,80px)}
.holding-card{
  border-radius:5px;padding:clamp(34px,5vw,60px);width:100%;position:relative;overflow:hidden;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;border:1px solid transparent;
}
.holding-card::before{content:'';position:absolute;inset:0;background:radial-gradient(80% 150% at 0% 0%,rgba(233,180,91,.09),transparent 55%)}
.holding-card>*{position:relative}
.holding-card .k{font-family:var(--m);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--azure)}
.holding-card h2{font-family:var(--d);font-weight:550;font-size:clamp(24px,3vw,40px);letter-spacing:-.01em;margin-top:16px;max-width:24ch;line-height:1.12;text-wrap:balance;font-variation-settings:'SOFT' 40,'opsz' 80}
.holding-card p{color:var(--ivory-70);margin-top:14px;max-width:56ch;font-size:15px}
.holding-card .row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}

/* ---------- legal ---------- */
.legal{max-width:830px}
.legal .subpage-head h1{font-size:clamp(30px,4.2vw,56px)}
.legal-glance{border-radius:4px;padding:clamp(22px,3vw,34px);margin:clamp(36px,5vw,56px) 0;color:var(--ivory-70);font-size:15px;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,linear-gradient(140deg,rgba(233,180,91,.4),rgba(79,163,217,.3)) border-box;border:1px solid transparent}
.legal-glance b{color:var(--aurum-glow);font-weight:560}
.legal h2{font-family:var(--d);font-weight:550;font-size:clamp(19px,2.1vw,27px);letter-spacing:-.005em;margin:clamp(44px,6vw,64px) 0 18px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:16px;align-items:baseline;font-variation-settings:'SOFT' 40,'opsz' 50}
.legal h2 .n{font-family:var(--m);font-size:12px;color:var(--azure);letter-spacing:.14em;flex:none;font-weight:500}
.legal h3{font-family:var(--b);font-weight:600;font-size:16px;color:var(--ivory);margin:26px 0 8px}
.legal h3 .n{color:var(--aurum);font-family:var(--m);font-weight:500;font-size:12.5px;margin-right:8px}
.legal p,.legal li{color:var(--ivory-70);font-size:15px;line-height:1.78}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 16px 18px}
.legal li{margin-bottom:8px}
.legal table{width:100%;border-collapse:collapse;margin:20px 0 26px;font-size:13.5px}
.legal th{font-family:var(--m);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--azure);text-align:left;padding:12px 14px;border:1px solid var(--line);background:var(--pitch)}
.legal td{padding:12px 14px;border:1px solid var(--line);color:var(--ivory-70);vertical-align:top}
.legal td b{color:var(--ivory);font-weight:560}
.legal .note{font-size:13px;color:var(--ivory-30);font-style:italic}
.legal a{color:var(--aurum);border-bottom:1px solid var(--line-aurum)}
.legal a:hover{color:var(--aurum-glow)}
@media(max-width:700px){.legal table{display:block;overflow-x:auto}}

/* ---------- contact form ---------- */
.contact-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:clamp(40px,6vw,100px);margin-top:clamp(44px,6vw,72px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:9px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--m);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-50)}
.field label .req{color:var(--aurum)}
.field input,.field select,.field textarea{
  background:var(--pitch);border:1px solid var(--line-strong);border-radius:2px;
  padding:15px 16px;color:var(--ivory);font-family:var(--b);font-size:15px;
  transition:border-color .25s,box-shadow .25s;appearance:none;width:100%;
}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--aurum) 50%),linear-gradient(135deg,var(--aurum) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--azure);outline:none;box-shadow:0 0 0 3px rgba(79,163,217,.12)}
.field input::placeholder,.field textarea::placeholder{color:var(--ivory-30)}
.consent{grid-column:1/-1;display:flex;gap:14px;align-items:flex-start;font-size:13px;color:var(--ivory-70);line-height:1.6}
.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#E9B45B}
.consent a{color:var(--aurum)}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.btn-submit{background:linear-gradient(120deg,var(--aurum-glow),var(--aurum) 55%,var(--aurum-deep));color:var(--obsidian);border:none;cursor:pointer;font-weight:650}
.btn-submit:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.form-status{font-family:var(--m);font-size:11.5px;letter-spacing:.1em;color:var(--aurum)}
.side-card{border-radius:4px;padding:clamp(26px,3vw,38px);height:max-content;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,linear-gradient(160deg,rgba(233,180,91,.35),rgba(79,163,217,.28)) border-box;border:1px solid transparent}
.side-card h3{font-family:var(--d);font-weight:560;font-size:21px;margin-bottom:8px;font-variation-settings:'SOFT' 40}
.side-card p{color:var(--ivory-70);font-size:14px}
.side-rows{margin-top:24px;border-top:1px solid var(--line)}
.side-rows a,.side-rows span.row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--m);font-size:12px;letter-spacing:.06em;color:var(--ivory-70)}
.side-rows a:hover{color:var(--aurum-glow)}
.side-rows i{font-style:normal;color:var(--azure);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;flex:none}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* ---------- portal ---------- */
.portal-shell{max-width:440px;margin:clamp(44px,6vw,72px) auto 0;border-radius:4px;padding:clamp(30px,4vw,44px);
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;border:1px solid transparent}
.portal-shell .form-grid{grid-template-columns:1fr}
.portal-note{margin-top:18px;font-family:var(--m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory-30);text-align:center;line-height:2}

/* ---------- blog empty ---------- */
.blog-empty{border:1px dashed var(--line-strong);border-radius:4px;padding:clamp(44px,7vw,90px) clamp(24px,4vw,60px);text-align:center;margin-top:clamp(44px,6vw,72px);position:relative;overflow:hidden}
.blog-empty::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 80% at 50% 0%,rgba(79,163,217,.07),transparent 60%)}
.blog-empty>*{position:relative}
.blog-empty .k{font-family:var(--m);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--azure)}
.blog-empty h2{font-family:var(--d);font-weight:550;font-size:clamp(24px,3.4vw,44px);letter-spacing:-.01em;margin-top:18px;font-variation-settings:'SOFT' 30,'opsz' 90}
.blog-empty p{color:var(--ivory-70);max-width:46ch;margin:14px auto 0;font-size:15px}

/* ---------- cookie consent ---------- */
.cookie{
  position:fixed;z-index:200;left:18px;right:18px;bottom:18px;max-width:480px;border-radius:4px;
  background:linear-gradient(rgba(7,9,15,.96),rgba(7,9,15,.96)) padding-box,linear-gradient(140deg,rgba(233,180,91,.5),rgba(79,163,217,.4)) border-box;
  border:1px solid transparent;backdrop-filter:blur(12px);
  padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.65);
  transform:translateY(24px);opacity:0;pointer-events:none;transition:transform .4s var(--ease),opacity .4s;
}
.cookie.show{transform:none;opacity:1;pointer-events:auto}
.cookie .k{font-family:var(--m);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--azure)}
.cookie p{font-size:13px;color:var(--ivory-70);margin-top:10px;line-height:1.65}
.cookie p a{color:var(--aurum);border-bottom:1px solid var(--line-aurum)}
.cookie-toggles{margin-top:16px;border-top:1px solid var(--line);display:none}
.cookie.manage .cookie-toggles{display:block}
.ck-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.ck-row .t{font-size:13px;color:var(--ivory)}
.ck-row .d{font-size:11px;color:var(--ivory-30);margin-top:3px}
.ck-row input{width:18px;height:18px;accent-color:#E9B45B;flex:none}
.cookie-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;align-items:center}
.cookie-actions .btn{padding:12px 18px;font-size:10px}
.cookie-actions .link{background:none;border:none;color:var(--ivory-30);font-family:var(--m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:12px 4px}
.cookie-actions .link:hover{color:var(--aurum-glow)}
@media(max-width:520px){.cookie{left:12px;right:12px;bottom:12px}}

/* ---------- 404 helper kept inline in 404.html ---------- */

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .rv,.rv-fade{opacity:1;transform:none;transition:none}
  .rv-line>span{transform:none;transition:none}
  .mq-track,.orbit-spin,.plate-scanline,body::before{animation:none!important}
  html{scroll-behavior:auto}
  *{animation-duration:.001s!important;transition-duration:.001s!important}
  .cursor-dot,.cursor-ring{display:none}
}
/* hero monogram float + sec-head display inheritance */
.vm-float{animation:vfloat 9s ease-in-out infinite;transform-origin:50% 60%}
@keyframes vfloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(.6deg)}}
@media(max-width:1100px){.hero-vmark{opacity:.34;right:-6vw}}
@media(max-width:700px){.hero-vmark{width:64vw;top:38%;opacity:.22}}
.engine .sec-head{display:block;margin:0}
.engine h2 .display{font-size:clamp(33px,4.2vw,58px);line-height:1.07;display:block;max-width:15ch;text-wrap:balance}
/* hero clearance vs monogram */
.hero h1{text-shadow:0 2px 34px rgba(4,5,10,.55)}
@media(min-width:1101px){
  .hero h1{font-size:clamp(44px,6.3vw,98px)}
  .hero-vmark{right:max(1vw,calc((100vw - var(--max))/2 - 30px));opacity:.8;top:52%}
}
.hero-inner{width:100%}
/* living orbit */
.olink{stroke:rgba(233,180,91,.13);stroke-width:1;transition:stroke .3s}
.olink.lit{stroke:rgba(124,196,242,.45)}
.opulse{fill:var(--aurum-glow);opacity:0}
.onode{cursor:pointer}
.onode .halo{animation:halobreathe 4.5s ease-in-out infinite}
.onode:nth-of-type(2n) .halo{animation-delay:-1.5s}
.onode:nth-of-type(3n) .halo{animation-delay:-3s}
@keyframes halobreathe{0%,100%{fill:rgba(233,180,91,.08)}50%{fill:rgba(233,180,91,.2)}}
.onode.lit .halo{animation:none;fill:rgba(124,196,242,.22)}
.cpulse{fill:none;stroke:rgba(233,180,91,.5);stroke-width:1;transform-origin:301px 300px;transform-box:view-box;animation:cpulse 3.6s ease-out infinite}
.cpulse.p2{animation-delay:-1.8s;stroke:rgba(79,163,217,.4)}
@keyframes cpulse{0%{transform:scale(.55);opacity:.9}80%,100%{transform:scale(2.6);opacity:0}}
.vm-breathe{transform-origin:301px 300px;transform-box:view-box;animation:vmb 5s ease-in-out infinite}
@keyframes vmb{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.cpulse,.vm-breathe,.onode .halo{animation:none!important}.opulse{display:none}}
/* orbit nodes: given names */
.onode text{font-size:11px;letter-spacing:.05em}

/* ============ v2.2.0 — face-medallion orbit + team plate ============ */
.opulse.ret{fill:var(--azure-bright)}
.omed{position:absolute;left:50%;top:50%;width:17%;transform:translate(-50%,-50%);cursor:pointer;z-index:3;transition:filter .3s}
.omed-core{width:25%;z-index:4}
.om-disc{
  position:relative;width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;
  border:2px solid transparent;
  box-shadow:0 0 26px rgba(233,180,91,.22),0 10px 30px rgba(0,0,0,.5);
  transition:box-shadow .35s,transform .35s var(--ease);
}
.omed-core .om-disc{border-width:2.5px;box-shadow:0 0 44px rgba(233,180,91,.4),0 14px 40px rgba(0,0,0,.55)}
.om-disc video{width:100%;height:100%;object-fit:cover;border-radius:50%}
.om-disc::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 24px rgba(4,5,10,.55)}
.omed:hover .om-disc,.omed.lit .om-disc{transform:scale(1.06);box-shadow:0 0 34px rgba(124,196,242,.45),0 12px 34px rgba(0,0,0,.55)}
.om-label{
  position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);
  text-align:center;white-space:nowrap;pointer-events:none;
  background:rgba(7,9,15,.78);border:1px solid var(--line);border-radius:3px;
  padding:6px 11px;backdrop-filter:blur(6px);
}
.om-label b{display:block;font-family:var(--d);font-weight:600;font-size:clamp(11px,1.05vw,15px);letter-spacing:.01em;color:var(--ivory)}
.om-label i{display:block;font-family:var(--m);font-style:normal;font-size:clamp(7.5px,.62vw,9.5px);letter-spacing:.16em;text-transform:uppercase;color:var(--aurum);margin-top:3px}
.omed.lit .om-label{border-color:rgba(124,196,242,.4)}
.omed.lit .om-label i{color:var(--azure-bright)}
.omed-core .om-label b{font-size:clamp(12px,1.2vw,17px)}
.orbit-legend{
  position:absolute;left:50%;top:-36px;transform:translateX(-50%);
  display:flex;gap:22px;white-space:nowrap;
  font-family:var(--m);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-30);
}
.orbit-legend .lg{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:1px}
.lg-au{background:var(--aurum-glow);box-shadow:0 0 8px var(--aurum)}
.lg-az{background:var(--azure-bright);box-shadow:0 0 8px var(--azure)}
.orbit-wrap{padding-bottom:56px}
.orbit-tip{bottom:-6px}
@media(max-width:560px){.om-label i{display:none}.om-label{padding:4px 8px}.orbit-legend{gap:12px;font-size:8px;top:-30px}}

/* team plate */
.team-plate{
  position:relative;border-radius:5px;overflow:hidden;margin-bottom:clamp(20px,3vw,36px);
  background:linear-gradient(var(--pitch),var(--pitch)) padding-box,var(--grad-brand) border-box;border:1px solid transparent;
}
.team-plate video{width:100%;aspect-ratio:1600/882;object-fit:cover}
.team-cap{
  position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:13px 18px;background:linear-gradient(to top,rgba(4,5,10,.92),rgba(4,5,10,0));
  font-family:var(--m);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-70);
}
.team-cap .rec{display:flex;align-items:center;gap:8px;color:var(--aurum)}
.team-cap .rec i{width:6px;height:6px;border-radius:50%;background:var(--aurum);box-shadow:0 0 9px var(--aurum);animation:pulse 2.2s infinite}
/* orbit clearance + mobile labels */
.engine{overflow:visible}
@media(max-width:560px){.om-label{white-space:normal;max-width:92px}.om-label b{font-size:11px}}

/* ================================================================
   v2.3.0 ADDITIONS — Founder band · Buddy widget · Single-line footer · Social icons
   ================================================================ */

/* Founder band — vision quote above footer */
.founder-band {
  background: linear-gradient(180deg, var(--obsidian) 0%, var(--raise) 100%);
  border-top: 1px solid var(--line);
  padding: 56px 0 0;
}
.founder-band .wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.founder-note {
  padding: 36px clamp(24px, 3vw, 44px);
  background: linear-gradient(135deg, rgba(233,180,91,.06), rgba(79,163,217,.04));
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
}
.founder-note-text .quote {
  display: block;
  font-family: var(--d, 'Fraunces'), serif;
  font-style: italic;
  font-size: clamp(1.0625rem, 1.5vw, 1.375rem);
  line-height: 1.5;
  color: var(--ivory);
  margin-bottom: 10px;
}
.founder-note-text .sig {
  font-family: var(--m, 'JetBrains Mono'), monospace;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aurum);
}
.founder-cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  border: 1px solid var(--line-aurum);
  background: rgba(233,180,91,.05);
  color: var(--ivory);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 240ms ease, border-color 240ms ease, transform 240ms ease;
  white-space: nowrap;
}
.founder-cta:hover {
  background: rgba(233,180,91,.12);
  border-color: var(--aurum);
  transform: translateY(-1px);
}
@media (max-width: 760px) {
  .founder-note { grid-template-columns: 1fr; gap: 18px; }
  .founder-cta { justify-self: start; }
}

/* Footer single-line attribution */
.footer-line {
  display: block;
  text-align: center;
  font-family: var(--b, 'Inter'), system-ui, sans-serif;
  font-size: 0.78rem;
  color: var(--ivory-50);
  letter-spacing: 0.01em;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}
.footer-line strong { color: var(--aurum); font-weight: 600; }

/* Override v2.2.0 foot-bottom display */
.foot-bottom {
  display: block !important;
  padding: 0 !important;
}

/* Social icons under footer brand */
.footer-socials {
  display: flex; gap: 10px; align-items: center;
  margin-top: 18px;
}
.footer-socials a {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border-radius: 8px;
  border: 1px solid var(--line);
  color: var(--ivory-70);
  transition: color 240ms ease, border-color 240ms ease, transform 240ms ease;
}
.footer-socials a:hover {
  color: var(--aurum);
  border-color: var(--aurum);
  transform: translateY(-2px);
}

/* Buddy chat bubble */
.buddy {
  position: fixed; right: 22px; bottom: 22px;
  z-index: 9000;
  display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.buddy-btn {
  width: 58px; height: 58px; border-radius: 50%;
  background: linear-gradient(135deg, var(--aurum-glow), var(--aurum) 55%, var(--aurum-deep));
  display: grid; place-items: center;
  box-shadow: 0 0 0 1px rgba(233,180,91,.35), 0 16px 38px -8px rgba(233,180,91,.45), 0 0 60px -10px rgba(201,120,60,.4);
  cursor: pointer;
  color: var(--obsidian);
  border: 0;
  transition: transform 240ms ease, box-shadow 240ms ease;
  position: relative; isolation: isolate;
}
.buddy-btn:hover { transform: scale(1.06); box-shadow: 0 0 0 1px rgba(233,180,91,.55), 0 20px 50px -8px rgba(233,180,91,.65); }
.buddy-btn::after {
  content: ""; position: absolute; inset: -4px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--aurum-glow), var(--azure));
  opacity: 0.35; z-index: -1;
  animation: buddyHalo 2.6s ease-in-out infinite;
}
@keyframes buddyHalo { 0%,100%{transform:scale(1);opacity:.3} 50%{transform:scale(1.2);opacity:0} }
.buddy-btn svg { width: 26px; height: 26px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.buddy-panel {
  width: 320px;
  background: rgba(4, 5, 10, 0.94);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--line-aurum);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 28px 64px -10px rgba(0,0,0,.7);
}
.buddy-panel[hidden] { display: none; }
.b-h {
  font-family: var(--d, 'Fraunces'), serif;
  font-size: 1.1rem;
  margin-bottom: 6px;
  color: var(--ivory);
  display: flex; align-items: center; gap: 8px;
}
.b-status {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--azure-bright);
  box-shadow: 0 0 8px var(--azure-bright);
}
.b-sub {
  font-family: var(--m, 'JetBrains Mono'), monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ivory-50);
  margin-bottom: 14px;
}
.buddy-panel p {
  font-size: 0.875rem;
  color: var(--ivory-70);
  margin: 0 0 16px;
  line-height: 1.55;
}
.b-options { display: flex; flex-direction: column; gap: 8px; }
.b-options a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(233,180,91,.06);
  border: 1px solid var(--line);
  color: var(--ivory);
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 240ms ease, border-color 240ms ease, color 240ms ease;
}
.b-options a:hover {
  background: rgba(233,180,91,.14);
  border-color: var(--aurum);
  color: var(--aurum);
}
@media (max-width: 480px) {
  .buddy { right: 16px; bottom: 16px; }
  .buddy-btn { width: 52px; height: 52px; }
  .buddy-panel { width: calc(100vw - 32px); max-width: 320px; }
}
