/* ================================================================
   JI GLOBAL CONSULTANCY
   Modern Dark (cinema) + Aurora mesh. Brand: navy #2C2D48,
   sky #18C3F3 (agency), gold #BB7F27 (academy), white #FEFEFE.
   ================================================================ */
:root{
  --bg-deep:#06070F; --bg-base:#0A0B14; --bg-elev:#101223;
  --navy:#2C2D48; --navy-lift:#3A3C63;
  --sky:#18C3F3; --sky-deep:#0A93BC;
  --gold:#BB7F27; --gold-lift:#E0A344;
  --fg:#EDEEF4; --fg-mid:#AEB5C7; --fg-dim:#7D8497;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.055);
  --glass:rgba(255,255,255,.038);
  --glass-2:rgba(255,255,255,.062);

  --accent:var(--sky); --accent-lift:#5FD8FF; --accent-deep:var(--sky-deep);
  --accent-a12:rgba(24,195,243,.12);
  --accent-a25:rgba(24,195,243,.25);
  --accent-a40:rgba(24,195,243,.40);

  --f-display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;

  --wrap:1200px; --r:16px; --r-lg:24px; --r-xl:32px;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,.05,.36,1);
  --nav-h:72px;
}
[data-arm="academy"]{
  --accent:var(--gold); --accent-lift:var(--gold-lift); --accent-deep:#8C5C15;
  --accent-a12:rgba(187,127,39,.14);
  --accent-a25:rgba(187,127,39,.28);
  --accent-a40:rgba(187,127,39,.45);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
body{ overflow-x:hidden; max-width:100%; }
body{
  margin:0; background:var(--bg-deep); color:var(--fg);
  font-family:var(--f-body); font-size:16.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  background-image:
    radial-gradient(1100px 620px at 78% -8%, rgba(44,45,72,.62), transparent 62%),
    radial-gradient(820px 520px at 6% 4%, rgba(24,195,243,.09), transparent 60%);
  background-attachment:fixed;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
::selection{ background:var(--accent-a40); color:#fff; }

/* ---------- ambient layers ---------- */
#bg{ position:fixed; inset:0; z-index:0; pointer-events:none; display:block; width:100%; height:100%; }

#grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.038; mix-blend-mode:overlay;
  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='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#progress{
  position:fixed; top:0; left:0; height:2px; width:100%; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--accent),var(--accent-lift)); z-index:120; transition:transform .1s linear;
}
#spot{
  position:fixed; width:640px; height:640px; border-radius:50%; pointer-events:none; z-index:1; opacity:0;
  background:radial-gradient(circle,rgba(224,163,68,.07) 0%,rgba(24,195,243,.05) 38%,transparent 64%);
  transition:opacity .5s var(--ease); will-change:transform;
}

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.sec{ padding-block:clamp(38px,4vw,62px); position:relative; z-index:2; }
.sec-tight{ padding-block:clamp(26px,2.8vw,40px); }
main{ position:relative; z-index:2; }

/* ---------- type ---------- */
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:600; line-height:1.06; letter-spacing:-.032em; margin:0 0 .55em; text-wrap:balance; }
h1{ font-size:clamp(2.6rem,6.4vw,4.9rem); font-weight:700; letter-spacing:-.045em; }
h2{ font-size:clamp(2rem,4.1vw,3.15rem); font-weight:700; letter-spacing:-.038em; }
h3{ font-size:clamp(1.15rem,1.9vw,1.4rem); letter-spacing:-.022em; }
p{ margin:0 0 1.15em; color:var(--fg-mid); }
.lede{ font-size:clamp(1.04rem,1.55vw,1.19rem); color:var(--fg-mid); max-width:60ch; line-height:1.68; }
.dim{ color:var(--fg-dim); }
.grad{ color:var(--accent-lift); }
.c-gold{ color:var(--gold-lift); }
.c-sky{ color:#5FD8FF; }
.sec-head{ max-width:60ch; margin-bottom:clamp(20px,2.4vw,32px); }

.tag{
  display:inline-flex; align-items:center; gap:9px; padding:6px 14px 6px 11px;
  border:1px solid var(--line); border-radius:999px; background:var(--glass);
  font-family:var(--f-mono); font-size:.7rem; font-weight:500; letter-spacing:.11em;
  text-transform:uppercase; color:var(--fg-mid); margin-bottom:22px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.tag i{ width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px var(--accent-a25); animation:pulse 2.4s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.55; transform:scale(.8); } }
.kicker{
  font-family:var(--f-mono); font-size:.71rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px; display:block;
}

/* ---------- buttons ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 26px; border-radius:999px; border:1px solid transparent; cursor:pointer;
  font-size:.94rem; font-weight:600; letter-spacing:-.01em; white-space:nowrap;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
  will-change:transform;
}
.btn-main{ background:var(--accent); color:#04121A; box-shadow:0 8px 30px -10px var(--accent-a40); }
.btn-main:hover{ background:var(--accent-lift); box-shadow:0 14px 44px -12px var(--accent-a40); }
[data-arm="academy"] .btn-main{ color:#160D02; }
.btn-glass{ background:var(--glass); color:var(--fg); border-color:var(--line); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.btn-glass:hover{ background:var(--glass-2); border-color:var(--accent-a40); }
.btn-line{ border-color:var(--line); color:var(--fg); }
.btn-line:hover{ border-color:var(--accent); color:var(--accent); }
.btn .ar{ transition:transform .3s var(--ease); }
.btn:hover .ar{ transform:translateX(4px); }
.btn:active{ transform:scale(.975); }

.lnk{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:var(--accent); }
.lnk .ar{ transition:transform .3s var(--ease); }
.lnk:hover .ar{ transform:translateX(4px); }

:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:2px solid var(--accent); outline-offset:3px; border-radius:8px;
}
.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:16px; top:16px; z-index:200; background:var(--accent); color:#04121A; padding:11px 18px; border-radius:10px; font-weight:600; }

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:100; height:var(--nav-h);
  background:rgba(6,7,15,.66); backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid transparent; transition:border-color .35s var(--ease), background-color .35s var(--ease);
}
.nav.stuck{ border-bottom-color:var(--line-2); background:rgba(6,7,15,.86); }
.nav-in{ display:flex; align-items:center; gap:18px; height:var(--nav-h); }
.brand{ display:flex; align-items:center; gap:11px; flex-shrink:0; }
.brand img{ width:30px; height:auto; }
.mark-img{ width:30px; height:36px; flex-shrink:0;
  background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEwCAMAAABv1l/5AAADAFBMVEVMaXH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KYZgzAAAA/3RSTlMA+wT6AwH9/vwCBfgMBwbp8fD0+Q4UECb35ggVPxIqFu/e4wrR9rFssq8uG07oF5V9T3kZiCubmOHr3fJS87U4kw1gZ8zIbdq8zX/LHDM1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") center/contain no-repeat; }
.brand-tx b{ font-family:var(--f-display); font-size:1.02rem; font-weight:700; letter-spacing:-.03em; display:block; line-height:1.15; }
.brand-tx small{ font-family:var(--f-mono); font-size:.56rem; letter-spacing:.19em; text-transform:uppercase; color:var(--fg-dim); }

/* arm switcher */
.arm-sw{ display:flex; padding:4px; gap:2px; background:var(--glass); border:1px solid var(--line); border-radius:999px; margin-left:6px; position:relative; }
.arm-sw button{
  position:relative; z-index:1; border:0; background:transparent; cursor:pointer;
  padding:8px 17px; border-radius:999px; font-size:.83rem; font-weight:600; color:var(--fg-dim);
  transition:color .3s var(--ease);
}
.arm-sw button[aria-current="true"]{ color:#04121A; }
[data-arm="academy"] .arm-sw button[aria-current="true"]{ color:#160D02; }
.arm-pill{
  position:absolute; top:4px; bottom:4px; border-radius:999px; background:var(--accent); z-index:0;
  transition:transform .45s var(--ease), width .45s var(--ease), background-color .4s var(--ease);
  box-shadow:0 4px 18px -6px var(--accent-a40);
}

.nav-links{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.nav-links a{
  position:relative; padding:9px 14px; border-radius:10px; font-size:.9rem; font-weight:500; color:var(--fg-dim);
  transition:color .25s var(--ease), background-color .25s var(--ease);
}
.nav-links a:hover{ color:var(--fg); background:var(--glass); }
.nav-links a.on{ color:var(--fg); }
.nav-links a.on::after{
  content:""; position:absolute; left:14px; right:14px; bottom:3px; height:1.5px; border-radius:2px;
  background:var(--accent); box-shadow:0 0 10px var(--accent);
}
.nav-end{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
@media (max-width:430px){
  .arm-sw{ margin-left:4px; padding:3px; }
  .arm-sw button{ padding:7px 11px; font-size:.78rem; }
  .arm-pill{ top:3px; bottom:3px; }
  .brand{ gap:8px; }
  .brand-tx small{ display:none; }
  .brand-tx b{ font-size:.94rem; }
  .nav-inner{ gap:8px; }
}
@media (max-width:360px){
  .brand-tx{ display:none; }
  .arm-sw button{ padding:7px 9px; font-size:.74rem; }
}
.nav .btn{ padding:11px 20px; font-size:.86rem; }

.burger{ display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; background:var(--glass); cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:4px; }
.burger i{ display:block; width:16px; height:1.6px; background:var(--fg); border-radius:2px; transition:.3s var(--ease); }
.burger[aria-expanded="true"] i:nth-child(1){ transform:translateY(5.6px) rotate(45deg); }
.burger[aria-expanded="true"] i:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] i:nth-child(3){ transform:translateY(-5.6px) rotate(-45deg); }

.drawer{
  position:fixed; inset:var(--nav-h) 0 auto 0; z-index:99; display:none;
  background:rgba(6,7,15,.97); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line); padding:18px 24px 28px;
}
.drawer.open{ display:block; animation:drawIn .35s var(--ease); }
@keyframes drawIn{ from{ opacity:0; transform:translateY(-10px);} to{ opacity:1; transform:none;} }
.drawer a{ display:flex; align-items:center; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--line-2); font-size:1.02rem; font-weight:500; }
.drawer a .ar{ color:var(--fg-dim); }
.drawer .btn{ width:100%; margin-top:22px; justify-content:center; padding:15px 26px; border-bottom:0; }
.drawer .btn .ar{ color:inherit; }

/* ---------- pages ---------- */
.page{ display:none; }
.page.on{ display:block; animation:pageIn .55s var(--ease) both; }
@keyframes pageIn{ from{ opacity:0; transform:translateY(16px);} to{ opacity:1; transform:none;} }

/* ---------- hero ---------- */
.hero{ padding-block:clamp(34px,4vw,62px) clamp(30px,3.4vw,52px); }
.hero h1{ max-width:19ch; }
.hero h1 .w{ display:inline-block; opacity:0; transform:translateY(24px); animation:wordUp .8s var(--ease) forwards; }
@keyframes wordUp{ to{ opacity:1; transform:none; } }
.hero-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-meta{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:30px; font-size:.86rem; color:var(--fg-dim); }
.hero-meta span{ display:inline-flex; align-items:center; gap:8px; }
.hero-meta svg{ width:15px; height:15px; color:var(--accent); flex-shrink:0; }

.hero-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(34px,4.5vw,68px); align-items:center; }

/* glass display panel in hero */
.panel{
  position:relative; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.018));
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.85);
}
.panel-top{ display:flex; align-items:center; gap:8px; padding:14px 18px; border-bottom:1px solid var(--line-2); }
.panel-top i{ width:9px; height:9px; border-radius:50%; background:var(--line); }
.panel-top i:first-child{ background:var(--accent); }
.panel-top span{ margin-left:8px; font-family:var(--f-mono); font-size:.68rem; color:var(--fg-dim); letter-spacing:.06em; }
.panel-body{ padding:22px; display:grid; gap:11px; }
.prow{
  display:flex; align-items:center; gap:13px; padding:14px 16px; border-radius:14px;
  border:1px solid var(--line-2); background:rgba(255,255,255,.028);
  animation:rowIn .7s var(--ease) both;
}
@keyframes rowIn{ from{ opacity:0; transform:translateX(-14px);} to{ opacity:1; transform:none;} }
.prow .ic{ width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--accent-a12); color:var(--accent); flex-shrink:0; }
.prow .ic svg{ width:17px; height:17px; }
.prow b{ font-size:.9rem; font-weight:600; display:block; letter-spacing:-.01em; }
.prow small{ font-size:.76rem; color:var(--fg-dim); }
.prow .st{ margin-left:auto; font-family:var(--f-mono); font-size:.66rem; padding:4px 9px; border-radius:999px; background:var(--accent-a12); color:var(--accent); letter-spacing:.05em; }

/* ---------- marquee ---------- */
.marq{ position:relative; z-index:2; border-block:1px solid var(--line-2); padding-block:20px; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.marq-track{ display:flex; gap:0; width:max-content; animation:slide 38s linear infinite; }
.marq:hover .marq-track{ animation-play-state:paused; }
@keyframes slide{ to{ transform:translateX(-50%); } }
.marq-track span{ display:inline-flex; align-items:center; gap:14px; padding-inline:26px;
  font-family:var(--f-mono); font-size:.79rem; letter-spacing:.09em; text-transform:uppercase; color:var(--fg-dim); white-space:nowrap; }
.marq-track span::after{ content:""; width:4px; height:4px; border-radius:50%; background:var(--accent); opacity:.65; }

/* ---------- cards / bento ---------- */
.grid{ display:grid; gap:14px; }
.g2{ grid-template-columns:repeat(2,1fr); }
.g3{ grid-template-columns:repeat(3,1fr); }
.g4{ grid-template-columns:repeat(4,1fr); }
.bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.sp2{ grid-column:span 2; } .sp3{ grid-column:span 3; } .sp4{ grid-column:span 4; } .sp6{ grid-column:span 6; }

.card{
  position:relative; overflow:hidden; padding:24px 22px; border-radius:var(--r-lg);
  border:1px solid var(--line); background:var(--glass);
  transition:transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease), background-color .45s var(--ease);
}
.card::before{
  content:""; position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .45s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), var(--accent-a12), transparent 46%);
}
.card:hover{ transform:translateY(-4px); border-color:var(--accent-a25); background:var(--glass-2); box-shadow:0 28px 70px -34px var(--accent-a40); }
.card:hover::before{ opacity:1; }
.card .ic{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center; margin-bottom:20px;
  background:var(--accent-a12); color:var(--accent); border:1px solid var(--accent-a25);
  transition:transform .45s var(--ease);
}
.card:hover .ic{ transform:scale(1.07) rotate(-4deg); }
.card .ic svg{ width:21px; height:21px; }
.card h3{ margin-bottom:9px; }
.card p{ font-size:.93rem; margin:0; color:var(--fg-mid); }
.card .num{ font-family:var(--f-mono); font-size:.7rem; color:var(--fg-dim); letter-spacing:.12em; margin-bottom:14px; display:block; }
.card ul{ margin:16px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.card ul li{ position:relative; padding-left:20px; font-size:.87rem; color:var(--fg-dim); }
.card ul li::before{ content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:2px; background:var(--accent); opacity:.75; }

/* stat */
.metrics{
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--glass); overflow:hidden;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.mt{ padding:26px 22px; border-left:1px solid var(--line-2); }
.mt:first-child{ border-left:0; }
.mt b{
  font-family:var(--f-display); font-size:clamp(2.2rem,4.4vw,3.4rem); font-weight:700;
  letter-spacing:-.045em; line-height:1; display:block; color:var(--accent-lift);
  font-variant-numeric:tabular-nums;
}
.mt:nth-child(2) b{ color:var(--gold-lift); }
.mt:nth-child(4) b{ color:var(--gold-lift); }
.mt span{ display:block; margin-top:9px; font-size:.83rem; color:var(--fg-dim); line-height:1.4; }
.metrics-note{ margin:16px 0 0; font-size:.86rem; color:var(--fg-dim); }
@media (max-width:760px){
  .metrics{ grid-template-columns:1fr 1fr; }
  .mt{ padding:20px 18px; }
  .mt:nth-child(odd){ border-left:0; }
  .mt:nth-child(n+3){ border-top:1px solid var(--line-2); }
}
.stat{ text-align:left; }
.stat b{ font-family:var(--f-display); font-size:clamp(2.1rem,3.6vw,2.9rem); font-weight:700; letter-spacing:-.04em; line-height:1; display:block; color:var(--fg); }
.stat b em{ font-style:normal; color:var(--accent); }
.stat span{ display:block; margin-top:10px; font-size:.85rem; color:var(--fg-dim); }

/* step */
.step{ position:relative; padding-top:26px; }
.step::before{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--line); }
.step::after{ content:""; position:absolute; top:0; left:0; width:36px; height:2px; background:var(--accent); box-shadow:0 0 12px var(--accent); }
.step .n{ font-family:var(--f-mono); font-size:.72rem; color:var(--accent); letter-spacing:.14em; }
.step h3{ margin:12px 0 8px; }
.step p{ font-size:.92rem; margin:0; }

/* ---------- team ---------- */
.team{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.person{
  position:relative; overflow:hidden; border-radius:var(--r-xl); border:1px solid var(--line);
  background:var(--glass); display:grid; grid-template-columns:auto 1fr; gap:24px; padding:24px;
  transition:border-color .45s var(--ease), box-shadow .45s var(--ease), transform .45s var(--ease);
}
.person:hover{ border-color:var(--accent-a25); transform:translateY(-3px); box-shadow:0 30px 70px -36px var(--accent-a40); }
.person{ align-items:stretch; }
.person .ph{ width:150px; align-self:stretch; min-height:196px; border-radius:18px; overflow:hidden; background:var(--bg-elev); border:1px solid var(--line); flex-shrink:0; position:relative; }
.person .ph img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.person .ph .ini{
  position:absolute; inset:0; display:grid; place-items:center; font-family:var(--f-display);
  font-size:2.4rem; font-weight:700; color:var(--accent); letter-spacing:-.03em;
  background:linear-gradient(150deg,rgba(255,255,255,.06),transparent);
}
.person h3{ margin-bottom:4px; }
.person .role{ font-family:var(--f-mono); font-size:.71rem; letter-spacing:.11em; text-transform:uppercase; color:var(--accent); margin-bottom:4px; }
.person .loc{ font-size:.8rem; color:var(--fg-dim); margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.person .loc svg{ width:13px; height:13px; }
.person p{ font-size:.89rem; margin:0; }
.person .soc{ display:flex; gap:8px; margin-top:14px; }
.person .soc a{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line); display:grid; place-items:center; color:var(--fg-dim); transition:.3s var(--ease); }
.person .soc a:hover{ color:var(--accent); border-color:var(--accent-a40); background:var(--accent-a12); }
.person .soc svg{ width:15px; height:15px; }

/* ---------- service rows (services page) ---------- */
.srow{
  display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:start;
  padding:22px 0; border-top:1px solid var(--line-2); transition:padding .4s var(--ease);
}
.srow:last-child{ border-bottom:1px solid var(--line-2); }
.srow .sn{ font-family:var(--f-mono); font-size:.75rem; color:var(--fg-dim); padding-top:6px; letter-spacing:.1em; }
.srow h3{ margin-bottom:10px; }
.srow p{ font-size:.94rem; max-width:62ch; margin:0 0 14px; }
.srow .chips{ display:flex; flex-wrap:wrap; gap:7px; }
.srow .chips span{ font-family:var(--f-mono); font-size:.68rem; padding:5px 11px; border-radius:999px; border:1px solid var(--line); color:var(--fg-dim); letter-spacing:.05em; transition:.3s var(--ease); }
.srow:hover .chips span{ border-color:var(--accent-a25); color:var(--fg-mid); }
.srow .sic{ width:52px; height:52px; border-radius:15px; display:grid; place-items:center; background:var(--accent-a12); border:1px solid var(--accent-a25); color:var(--accent); transition:transform .45s var(--ease); }
.srow:hover .sic{ transform:scale(1.08) rotate(-5deg); }
.srow .sic svg{ width:23px; height:23px; }

/* ---------- CTA band ---------- */
.band{
  position:relative; overflow:hidden; border-radius:var(--r-xl); border:1px solid var(--line);
  padding:clamp(38px,5vw,68px); text-align:center;
  background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.02));
}
.band::before{
  content:""; position:absolute; width:620px; height:620px; left:50%; top:-72%; transform:translateX(-50%);
  background:radial-gradient(circle,var(--accent-a25),transparent 62%); pointer-events:none;
}
.band > *{ position:relative; }
.band h2{ max-width:19ch; margin-inline:auto; }
.band p{ max-width:56ch; margin-inline:auto; }
.band .hero-cta{ justify-content:center; }

/* ---------- FAQ ---------- */
.faq{ max-width:860px; }
.faq details{ border:1px solid var(--line); border-radius:var(--r); margin-bottom:10px; background:var(--glass); overflow:hidden; transition:border-color .35s var(--ease); }
.faq details[open]{ border-color:var(--accent-a25); }
.faq summary{ cursor:pointer; list-style:none; padding:19px 52px 19px 22px; position:relative; font-family:var(--f-display); font-size:1.02rem; font-weight:600; letter-spacing:-.02em; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; position:absolute; right:22px; top:50%; width:9px; height:9px; margin-top:-5px;
  border-right:1.8px solid var(--accent); border-bottom:1.8px solid var(--accent);
  transform:rotate(45deg); transition:transform .35s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.faq .ans{ padding:0 22px 20px; }
.faq .ans p{ margin:0; font-size:.93rem; }

/* ---------- form ---------- */
.form-wrap{
  border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(24px,3vw,36px);
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.fld{ margin-bottom:16px; }
.r2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label{ display:block; font-size:.8rem; font-weight:500; margin-bottom:7px; color:var(--fg-mid); }
input,select,textarea{
  width:100%; padding:13px 15px; border-radius:12px; border:1px solid var(--line);
  background:rgba(255,255,255,.03); color:var(--fg); font-family:inherit; font-size:.94rem;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease);
}
input::placeholder,textarea::placeholder{ color:#5C6377; }
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--accent); background:rgba(255,255,255,.055);
  box-shadow:0 0 0 3px var(--accent-a12);
}
select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237D8497' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:17px; padding-right:42px; }
select option{ background:#12131F; color:var(--fg); }
textarea{ resize:vertical; min-height:120px; }
.form-wrap .btn{ width:100%; margin-top:4px; }
.fine{ font-size:.76rem; color:var(--fg-dim); text-align:center; margin:13px 0 0; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.msg{ margin-top:14px; padding:13px 16px; border-radius:12px; font-size:.88rem; display:none; }
.msg.ok{ display:block; background:rgba(24,195,243,.1); border:1px solid var(--accent-a40); color:var(--accent-lift); }
.msg.bad{ display:block; background:rgba(232,79,63,.1); border:1px solid rgba(232,79,63,.4); color:#F2938A; }

/* contact channels */
.chan{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:24px; }
.chan a{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r); background:var(--glass); transition:.35s var(--ease); }
.chan a:hover{ border-color:var(--accent-a40); background:var(--glass-2); transform:translateY(-2px); }
.chan .ci{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex-shrink:0;
  background:var(--accent-a12); border:1px solid var(--accent-a25); color:var(--accent); transition:.35s var(--ease); }
.chan a:hover .ci{ background:var(--accent-a25); }
.chan .ci svg{ width:18px; height:18px; }
.chan .cv{ min-width:0; }
.chan .cv b{ display:block; font-size:.87rem; font-weight:600; color:var(--fg); }
.chan .cv small{ display:block; font-size:.77rem; color:var(--fg-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:520px){ .chan{ grid-template-columns:1fr; } }

/* ---------- footer ---------- */
footer{ position:relative; z-index:2; border-top:1px solid var(--line-2); padding-block:56px 30px; margin-top:40px; }
.foot{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; margin-bottom:34px; }
.foot h4{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-dim); margin:0 0 16px; font-weight:500; }
.foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.foot a{ font-size:.89rem; color:var(--fg-mid); transition:color .25s var(--ease); }
.foot a:hover{ color:var(--accent); }
.foot-brand p{ font-size:.88rem; max-width:36ch; margin:16px 0 0; }
.foot-bot{ border-top:1px solid var(--line-2); padding-top:24px; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; font-size:.81rem; color:var(--fg-dim); }
.prose h2{ font-family:var(--f-display); font-size:1.18rem; font-weight:600; letter-spacing:-.02em; margin:34px 0 10px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ margin:0 0 13px; font-size:.95rem; line-height:1.72; color:var(--fg-mid); }
.prose a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.prose strong{ color:var(--fg); font-weight:600; }
.cc{ position:fixed; left:0; right:0; bottom:0; z-index:400; padding:14px clamp(14px,3vw,26px) calc(14px + env(safe-area-inset-bottom)); }
.cc-inner{ max-width:var(--w); margin-inline:auto; display:flex; flex-wrap:wrap; align-items:center; gap:16px;
  padding:16px 20px; border:1px solid var(--line); border-radius:var(--r-lg); background:rgba(10,12,22,.94);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 18px 60px rgba(0,0,0,.55); }
.cc-tx{ flex:1 1 320px; min-width:0; }
.cc-tx h3{ font-family:var(--f-display); font-size:.95rem; font-weight:600; margin:0 0 4px; }
.cc-tx p{ margin:0; font-size:.83rem; line-height:1.55; color:var(--fg-dim); }
.cc-tx a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.cc-btns{ display:flex; gap:10px; flex:0 0 auto; }
.btn.cc-sm{ padding:10px 18px; font-size:.83rem; }
@media (max-width:620px){
  .cc-btns{ width:100%; }
  .btn.cc-sm{ flex:1; justify-content:center; }
}
.foot-legal{ display:flex; gap:16px; }
.foot-legal a{ color:var(--fg-dim); }
.foot-legal a:hover{ color:var(--accent); }

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

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-links{ display:none; }
  .burger{ display:flex; }
  .nav-end .btn{ display:none; }
  .bento{ grid-template-columns:repeat(4,1fr); }
  .sp3{ grid-column:span 2; } .sp4{ grid-column:span 4; } .sp6{ grid-column:span 4; }
}
@media (max-width:900px){
  .hero-split{ grid-template-columns:1fr; }
  .team{ grid-template-columns:1fr; }
  .g3,.g4{ grid-template-columns:repeat(2,1fr); }
  .foot{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:680px){
  body{ font-size:16px; }
  .bento{ grid-template-columns:1fr; }
  .sp2,.sp3,.sp4,.sp6{ grid-column:span 1; }
  .g2,.g3,.g4{ grid-template-columns:1fr; }
  .r2{ grid-template-columns:1fr; }
  .foot{ grid-template-columns:1fr 1fr; gap:30px 22px; }
  .foot-brand{ grid-column:1 / -1; }
  .foot .fx{ grid-column:1 / -1; }
  .foot div:has(.fx){ grid-column:1 / -1; }
  .foot div:has(.fx) ul{ grid-template-columns:1fr 1fr; gap:11px 22px; }
  .foot-bot{ justify-content:flex-start; }
  .srow{ grid-template-columns:1fr; gap:16px; }
  .srow .sn{ padding-top:0; }
  .person{ grid-template-columns:1fr; }
  .person .ph{ width:100%; height:230px; }
  .person .ph img{ object-position:center 15%; }
  .hero-cta .btn{ width:100%; }
  .brand-tx small{ display:none; }
  .arm-sw button{ padding:8px 13px; font-size:.79rem; }
  #spot{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .rv{ opacity:1; transform:none; }
  .hero h1 .w{ opacity:1; transform:none; }
  .blob{ animation:none; }
  #spot{ display:none; }
}

/* ================= bounty announcement =================
   A quiet corner card, not an interstitial. It waits, it can be
   dismissed, and once dismissed it stays gone for a month. */
.ba{
  position:fixed; right:clamp(14px,2.2vw,26px); bottom:clamp(14px,2.2vw,26px);
  z-index:380; width:min(372px, calc(100vw - 28px));
  border:1px solid rgba(224,163,68,.34); border-radius:var(--r-lg);
  background:linear-gradient(168deg, rgba(28,22,10,.97), rgba(10,12,22,.97));
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 26px 70px rgba(0,0,0,.6);
  padding:20px 20px 18px;
  opacity:0; transform:translateY(18px) scale(.985);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
  pointer-events:none;
}
.ba.in{ opacity:1; transform:none; pointer-events:auto; }
.ba-kick{
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.14em;
  text-transform:uppercase; color:#E0A344; display:flex; align-items:center; gap:7px;
}
.ba-kick i{ width:6px; height:6px; border-radius:50%; background:#E0A344; display:block; }
.ba h3{
  font-family:var(--f-display); font-weight:700; letter-spacing:-.03em;
  font-size:1.42rem; margin:9px 0 0; color:var(--fg); line-height:1.15;
}
.ba h3 b{ color:#E0A344; font-weight:700; }
.ba p{ margin:8px 0 0; font-size:.88rem; line-height:1.55; color:var(--fg-mid); }
.ba-row{ display:flex; align-items:center; gap:10px; margin-top:15px; }
.ba-go{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 16px; border-radius:999px; font-weight:600; font-size:.88rem;
  background:#E0A344; color:#160D02; border:0; transition:.3s var(--ease);
}
.ba-go:hover{ background:#F0BE6C; transform:translateY(-1px); }
.ba-no{
  background:none; border:0; padding:10px 6px; cursor:pointer;
  font-size:.8rem; color:var(--fg-dim); font-family:var(--f-body);
}
.ba-no:hover{ color:var(--fg-mid); }
.ba-x{
  position:absolute; top:9px; right:9px; width:30px; height:30px;
  display:grid; place-items:center; border:0; background:none; cursor:pointer;
  color:var(--fg-dim); border-radius:50%; transition:.3s var(--ease);
}
.ba-x:hover{ color:var(--fg); background:var(--glass-2); }
.ba-x svg{ width:15px; height:15px; }
@media (max-width:520px){
  .ba{ right:12px; left:12px; bottom:12px; width:auto; padding:18px 18px 16px; }
  .ba h3{ font-size:1.26rem; }
}
@media (prefers-reduced-motion:reduce){
  .ba{ transition:opacity .01ms; transform:none; }
}
