/* ============ SHARED SECTION UTILITIES ============ */
section{ position:relative; }

/* ============ 02 CHECK-IN FLOW ============ */
.flow{
  padding: 140px 40px;
  background:var(--ivory);
  position:relative;
  min-height: 100vh;
}
.flow__meta{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--line);
  padding-top:16px; margin-bottom:80px;
}
.flow__inner{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px; align-items:center;
  max-width:1360px; margin:0 auto;
}
.flow__phone{
  display:flex; justify-content:center;
  position: sticky; top: 120px;
}
.flow__phone-frame{
  width:340px; height:640px;
  background: linear-gradient(140deg, #1e1e1e 0%, #0a0a0a 100%);
  border-radius:44px; padding:10px;
  box-shadow: 0 40px 100px -30px rgba(16,16,16,.4), 0 20px 40px -20px rgba(101,75,255,.15), inset 0 0 0 1px rgba(255,255,255,.08);
  position:relative;
  transform: rotate(-2deg);
}
.flow__phone-notch{
  position:absolute; top:22px; left:50%; transform:translateX(-50%);
  width:100px; height:24px; background:#000; border-radius:20px; z-index:5;
}
.flow__phone-screen{
  position:relative; width:100%; height:100%;
  background:#0a0812;
  border-radius:36px; overflow:hidden;
}
.fs{
  position:absolute; inset:0;
  padding:60px 28px 30px;
  display:flex; flex-direction:column;
  color:#F4F2EC;
  opacity:0; visibility:hidden;
  transform:translateY(20px);
  transition:opacity .5s var(--e-out), transform .6s var(--e-out), visibility .5s;
}
.fs.is-active{ opacity:1; visibility:visible; transform:none; }
.fs__brand{
  font-size:11px; font-family:var(--f-mono); letter-spacing:.28em; opacity:.5;
}
.fs__title{
  margin-top:24px; font-size:12px; font-family:var(--f-mono); letter-spacing:.24em; color:var(--violet-soft);
}
.fs__q{
  margin-top:12px; font-size:28px; line-height:1.15; letter-spacing:-.02em; font-weight:500;
}
.fs__field{ margin-top:auto; }
.fs__field label{
  display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; opacity:.5; margin-bottom:8px;
}
.fs__input{
  display:flex; align-items:center; gap:4px;
  padding:14px 0; border-bottom:1px solid rgba(255,255,255,.2);
  font-size:22px; letter-spacing:-.01em;
}
.fs__input .caret{ display:inline-block; width:2px; height:22px; background:var(--violet); animation:caret 1s steps(2) infinite; }
@keyframes caret{ 50%{ opacity:0 } }
.fs__continue{
  margin-top:16px; padding:14px; background:var(--violet); color:#fff; border-radius:100px;
  display:flex; align-items:center; justify-content:center; gap:8px; font-size:14px; font-weight:500;
  box-shadow: 0 10px 30px -10px rgba(101,75,255,.6);
}
.fs__progress{
  margin-top:20px; height:3px; background:rgba(255,255,255,.1); border-radius:3px; overflow:hidden;
}
.fs__progress i{ display:block; height:100%; background:var(--lime); transition:width .6s var(--e-out); }

.fs--3{ text-align:center; align-items:center; }
.fs--3 .fs__brand{ align-self:flex-start; }
.fs__check{
  margin-top:40px; color:var(--lime);
  animation: checkPop .6s var(--e-spring);
}
@keyframes checkPop{ 0%{ transform:scale(.5); opacity:0; } 100%{ transform:scale(1); opacity:1; } }
.fs--3 .fs__title{ margin-top:20px; font-size:16px; color:var(--lime); }
.fs__welcome{ margin-top:8px; font-size:32px; line-height:1.1; letter-spacing:-.02em; font-weight:500; }
.fs__welcome b{ font-family:var(--f-display); font-weight:400; font-style:italic; color:var(--violet-soft); }
.fs__meta{
  margin-top:auto; margin-bottom:20px; width:100%;
  display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--f-mono); font-size:11px; letter-spacing:.16em;
}
.fs__meta span{ opacity:.5; margin-right:6px; }

.flow__side{ padding: 20px 0; }
.flow__stepper{ display:flex; gap:6px; margin-bottom:32px; }
.fs-step{
  flex:1; padding:14px 16px; border:1px solid var(--line-2); border-radius:14px;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  transition: border-color .3s, background .3s, color .3s;
  font-family:var(--f-sans);
}
.fs-step b{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2); }
.fs-step span{ font-size:14px; font-weight:500; }
.fs-step:hover{ border-color:var(--ink); }
.fs-step.is-active{ background:var(--ink); color:var(--ivory); border-color:var(--ink); }
.fs-step.is-active b{ color:var(--lime); }

.flow__h{
  font-size:clamp(40px,4.6vw,72px); line-height:1; letter-spacing:-.035em; font-weight:500; margin:0 0 20px;
}
.flow__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.flow__p{ font-size:16px; max-width:44ch; color:var(--ink-2); line-height:1.55; margin:0 0 32px; }
.flow__hint{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2);
}
.flow__hint i{ width:20px; height:1px; background:var(--warm); position:relative; }
.flow__hint i::after{ content:""; position:absolute; right:0; top:-2px; width:6px; height:1px; background:var(--warm); transform:rotate(30deg); transform-origin:right; }

/* ============ 03 TRANSFORM ============ */
.transform{
  padding:180px 40px;
  background: linear-gradient(180deg, var(--ivory) 0%, #EDE9DE 100%);
  overflow:hidden;
}
.transform__label{
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:var(--warm-2);
  margin-bottom:80px;
}
.transform__label i{ width:6px; height:6px; border-radius:50%; background:var(--violet); }

.transform__stage{
  display:grid; grid-template-columns: 1fr 1fr 1.2fr;
  gap:40px; align-items:center;
  max-width:1200px; margin:0 auto;
}
.tf-node{ display:flex; justify-content:center; }
.tf-sphere{
  position:relative;
  width:220px; height:220px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #d0cec8, #a7a6a1 40%, #6b6a65 100%);
  box-shadow: inset -20px -20px 40px rgba(0,0,0,.3), inset 20px 20px 40px rgba(255,255,255,.15), 0 30px 60px -20px rgba(16,16,16,.4);
  display:flex; align-items:center; justify-content:center;
  animation: spin 20s linear infinite;
}
@keyframes spin{ 0%{ background-position: 0% 50% } 100%{ background-position:100% 50% } }
.tf-sphere__glow{
  position:absolute; inset:-20px; border-radius:50%;
  background:radial-gradient(circle, rgba(167,166,161,.3), transparent 60%);
  filter:blur(20px);
}
.tf-sphere__label{
  position:absolute; bottom:-40px; left:50%; transform:translateX(-50%);
  font-family:var(--f-mono); font-size:10px; letter-spacing:.28em; color:var(--warm-2);
  white-space:nowrap;
}

.tf-arrow{ display:flex; align-items:center; padding: 0 20px; }

.tf-card{
  width:100%; max-width:400px;
  padding:2px; border-radius:20px;
  background: linear-gradient(140deg, rgba(101,75,255,.5) 0%, rgba(101,75,255,.1) 50%, rgba(199,255,58,.4) 100%);
  position:relative;
  transform: perspective(1000px) rotateY(-12deg) rotateX(4deg);
  transform-style:preserve-3d;
  box-shadow: 0 40px 80px -30px rgba(101,75,255,.4);
  animation: cardFloat 8s var(--e-inout) infinite alternate;
}
@keyframes cardFloat{
  0%{ transform: perspective(1000px) rotateY(-12deg) rotateX(4deg) translateY(-6px); }
  100%{ transform: perspective(1000px) rotateY(-8deg) rotateX(6deg) translateY(6px); }
}
.tf-card__inner{
  background: rgba(244,242,236,.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius:18px; padding:24px 24px 20px;
  position:relative; overflow:hidden;
}
.tf-card__inner::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
}
.tf-card__top{ display:flex; justify-content:space-between; align-items:center; font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; margin-bottom:20px; }
.tf-card__top span{ color:var(--warm-2); }
.tf-card__top b{ color:var(--ink); font-weight:500; }
.tf-card__name{
  font-size:34px; line-height:1; letter-spacing:-.03em; font-weight:500;
  margin-bottom:24px;
}
.tf-card__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.tf-card__row > div{ padding:10px 12px; background:rgba(16,16,16,.03); border-radius:10px; }
.tf-card__row span{ display:block; font-family:var(--f-mono); font-size:9px; letter-spacing:.24em; color:var(--warm-2); margin-bottom:4px; }
.tf-card__row b{ font-size:14px; font-weight:500; }
.tf-card__strip{ display:flex; gap:2px; margin-top:20px; }
.tf-card__strip i{ flex:1; height:12px; background: repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 3px); border-radius:2px; opacity:.6; }
.tf-card__strip i:nth-child(odd){ opacity:1; }
.tf-card__foot{
  margin-top:16px; padding-top:12px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2);
}
.tf-card__foot .dot{ width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime); }

.transform__copy{
  max-width:1200px; margin: 100px auto 0;
}
.transform__lead{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.24em; color:var(--warm-2); text-transform:uppercase; margin: 0 0 16px;
}
.transform__h{
  font-size:clamp(40px,5.5vw,90px); line-height:1; letter-spacing:-.035em; font-weight:500; margin:0;
  display:flex; align-items:center; gap:30px; flex-wrap:wrap;
}
.transform__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); font-size:.9em; }
.transform__h span:last-child{ color:var(--ink); }

@media (max-width:900px){
  .transform__stage{ grid-template-columns:1fr; gap:60px; }
  .tf-arrow{ transform:rotate(90deg); padding:0; }
  .tf-card{ transform:none; margin:0 auto; }
}

/* ============ 04 PROBLEM ============ */
.problem{
  background:#0A0A0A; color:var(--ivory);
  padding: 200px 40px;
  min-height: 100vh;
  display:flex; align-items:center;
  overflow:hidden;
}
.problem__inner{ max-width:1360px; margin:0 auto; width:100%; }
.pr-line{
  font-size: clamp(28px, 4vw, 56px);
  line-height:1.2; letter-spacing:-.02em; font-weight:400;
  margin: 0 0 60px;
  color:rgba(244,242,236,.9);
}
.pr-line span{
  display:inline-block; opacity:.2; transition:opacity .8s var(--e-out);
  padding-right:.3em;
}
.pr-line.is-in span{ opacity:1; }
.pr-line.is-in span:nth-child(1){ transition-delay:.05s }
.pr-line.is-in span:nth-child(2){ transition-delay:.10s }
.pr-line.is-in span:nth-child(3){ transition-delay:.15s }
.pr-line.is-in span:nth-child(4){ transition-delay:.20s }
.pr-line.is-in span:nth-child(5){ transition-delay:.25s }
.pr-line.is-in span:nth-child(6){ transition-delay:.30s }
.pr-line.is-in span:nth-child(7){ transition-delay:.35s }
.pr-line.is-in span:nth-child(8){ transition-delay:.40s }

.pr-h{
  margin: 100px 0 0;
  font-size: clamp(48px, 9vw, 160px);
  line-height:.9; letter-spacing:-.045em; font-weight:500;
  color:var(--ivory);
}
.pr-h span{ display:block; }
.pr-h span:last-child{ padding-left:2em; }
.pr-h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--lime); }
@media (max-width:900px){ .pr-h span:last-child{ padding-left:0 } }

/* ============ 05 UNIVERSE ============ */
.universe{
  position:relative; height: 220vh;
  background:#0A0A0A; color:var(--ivory);
  overflow:hidden;
}
.universe__label{
  position:sticky; top:100px; z-index:5;
  padding: 20px 40px;
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:rgba(244,242,236,.5);
}
.universe__label i{ width:6px; height:6px; border-radius:50%; background:var(--violet); box-shadow:0 0 8px var(--violet); }
#universe-canvas{
  position:sticky; top:0; width:100%; height:100vh;
  display:block;
}
.universe__copy{
  position:absolute; bottom:0; left:0; right:0; z-index:5;
  padding: 60px 40px;
  display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
  height: 100vh; pointer-events:none;
}
.universe__h{
  font-size:clamp(36px,5vw,80px); line-height:.95; letter-spacing:-.035em; font-weight:500; margin:0;
  max-width:14ch;
}
.universe__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet-soft); }
.universe__stages{
  display:flex; flex-direction:column; gap:6px; pointer-events:auto;
}
.us{
  display:flex; align-items:center; gap:14px;
  padding:10px 16px; border:1px solid rgba(255,255,255,.1); border-radius:100px;
  font-size:13px; color:rgba(244,242,236,.6);
  transition:all .3s var(--e-out);
}
.us b{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:rgba(255,255,255,.4); }
.us.is-active{ background:rgba(101,75,255,.15); border-color:var(--violet); color:#fff; }
.us.is-active b{ color:var(--lime); }
.us:hover{ border-color:rgba(255,255,255,.3); color:#fff; }

.universe__legend{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  display:none; gap:20px;
  padding:10px 18px; background:rgba(10,10,10,.6); backdrop-filter:blur(10px); border-radius:100px;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:rgba(255,255,255,.6);
  z-index:10;
}
.universe__legend > div{ display:flex; align-items:center; gap:6px; }
.lg{ width:8px; height:8px; border-radius:50%; }
.lg--gray{ background:#666; }
.lg--violet{ background:var(--violet); box-shadow:0 0 8px var(--violet); }
.lg--lime{ background:var(--lime); box-shadow:0 0 8px var(--lime); }
.lg--line{ width:16px; height:1px; border-radius:0; background:rgba(255,255,255,.4); }

/* ============ 06 REPEAT ============ */
.repeat{
  padding:160px 40px;
  background: var(--ivory);
  overflow:hidden;
}
.repeat__grid{
  max-width:1360px; margin:0 auto;
  display:grid; grid-template-columns: 1.1fr 1fr; gap:60px; align-items:center;
}
.repeat__vis{
  position:relative; height:600px;
  background:radial-gradient(ellipse at center, #EDE9DE, var(--ivory) 70%);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--line);
}
.repeat__scene{ position:absolute; inset:0; }
.rp-sphere{
  position:absolute; top:50%; left:30%; transform:translate(-50%,-50%);
  width:160px; height:160px;
}
.rp-sphere__core{
  position:absolute; inset:20px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #a89bff, #654BFF 50%, #3E2FBD 100%);
  box-shadow: 0 20px 50px -10px rgba(101,75,255,.5), inset -10px -10px 30px rgba(0,0,0,.3), inset 10px 10px 20px rgba(255,255,255,.2);
}
.rp-sphere__ring{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(101,75,255,.4);
  animation: rippleR 3s var(--e-out) infinite;
}
.rp-sphere__ring--2{ animation-delay:1.5s; }
@keyframes rippleR{
  0%{ transform:scale(1); opacity:.6; }
  100%{ transform:scale(2.2); opacity:0; }
}
.rp-terminal{
  position:absolute; top:50%; right:8%; transform:translateY(-50%);
  width:280px; height:200px;
  background: linear-gradient(140deg, #1a1a1a, #0a0a0a);
  border-radius:16px; padding:8px;
  box-shadow: 0 30px 60px -20px rgba(16,16,16,.4), inset 0 0 0 1px rgba(255,255,255,.06);
}
.rp-terminal__screen{
  width:100%; height:100%;
  background: linear-gradient(180deg, #0f0d1a, #131018);
  border-radius:10px;
  padding:18px 20px;
  color:#fff;
  position:relative; overflow:hidden;
}
.rp-terminal__screen::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 0%, rgba(101,75,255,.3), transparent 60%);
}
.rp-t__hi{ font-family:var(--f-mono); font-size:10px; letter-spacing:.28em; color:var(--lime); position:relative; z-index:2; }
.rp-t__name{ font-size:38px; line-height:1; letter-spacing:-.03em; font-weight:500; margin-top:8px; position:relative; z-index:2; }
.rp-t__meta{ margin-top:12px; display:flex; align-items:center; gap:6px; font-family:var(--f-mono); font-size:10px; letter-spacing:.18em; color:rgba(255,255,255,.5); position:relative; z-index:2; flex-wrap:wrap; }
.rp-t__meta b{ color:#fff; margin-right:4px; }
.rp-t__meta em{ opacity:.4; margin: 0 2px; }
.rp-t__foot{ position:absolute; bottom:12px; left:20px; font-family:var(--f-mono); font-size:9px; letter-spacing:.24em; color:var(--lime); z-index:2; }

.repeat__copy .tag{ margin-bottom:24px; }
.repeat__h{
  font-size:clamp(40px,4.8vw,84px); line-height:.95; letter-spacing:-.035em; font-weight:500; margin: 0 0 24px;
}
.repeat__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.repeat__p{ font-size:16px; max-width:44ch; color:var(--ink-2); margin:0 0 40px; }
.repeat__stats{ display:flex; gap:40px; padding-top:28px; border-top:1px solid var(--line); }
.repeat__stats b{ display:block; font-size:44px; font-weight:500; letter-spacing:-.03em; }
.repeat__stats span{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2); }

@media (max-width:900px){ .repeat__grid{ grid-template-columns:1fr; } .repeat__vis{ height:400px; } .rp-terminal{ right:4%; width:220px; height:170px; } .rp-t__name{ font-size:28px; } }

/* ============ 07 HOW ============ */
.how{ padding: 160px 40px; background:var(--ivory); }
.how__intro{
  max-width:1360px; margin: 0 auto 100px;
  display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:end;
  padding-bottom:40px; border-bottom:1px solid var(--line);
}
.how__h{ font-size:clamp(48px,7vw,120px); line-height:.9; letter-spacing:-.04em; font-weight:500; margin:0; }
.how__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }

.how__steps{ max-width:1360px; margin:0 auto; display:flex; flex-direction:column; gap:120px; }
.hs{
  display:grid; grid-template-columns: 1fr 1.2fr 1fr; gap:40px; align-items:center;
  min-height:70vh;
}
.hs:nth-child(even){ grid-template-columns: 1fr 1.2fr 1fr; }
.hs:nth-child(even) .hs__text{ order:-1; text-align:right; }
.hs__num{
  font-family:var(--f-display); font-style:italic; font-size: clamp(120px, 18vw, 280px);
  line-height:1; color:var(--ink); opacity:.08; letter-spacing:-.05em; font-weight:400;
}
.hs__vis{
  position:relative; height:400px;
  background: linear-gradient(180deg, #EDE9DE 0%, var(--ivory) 100%);
  border-radius:24px;
  overflow:hidden; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.hs__text h3{
  font-size: clamp(28px,3vw,44px); line-height:1; letter-spacing:-.025em; font-weight:500; margin:0 0 12px;
}
.hs__text p{ font-size:16px; max-width:34ch; color:var(--ink-2); line-height:1.5; }
.hs:nth-child(even) .hs__text p{ margin-left:auto; }

/* Step 01 tablet */
.hs__tablet{
  width:180px; height:240px;
  background: linear-gradient(140deg, #1a1a1a, #0a0a0a);
  border-radius:20px; padding:10px;
  box-shadow: 0 30px 60px -20px rgba(16,16,16,.35);
  animation: floatY 5s var(--e-inout) infinite alternate;
}
.hs__tablet-screen{
  width:100%; height:100%;
  background: linear-gradient(180deg, #0f0d1a, #131018);
  border-radius:12px;
  padding:16px 14px;
  display:flex; flex-direction:column;
  color:#fff;
  position:relative; overflow:hidden;
}
.hs__tablet-brand{ font-family:var(--f-mono); font-size:9px; letter-spacing:.28em; opacity:.5; }
.hs__tablet-cta{
  margin-top:auto; font-size:14px; letter-spacing:-.01em; font-weight:500;
  padding:12px; background:var(--violet); border-radius:10px; text-align:center;
  box-shadow:0 8px 20px -6px rgba(101,75,255,.6);
}
.hs__tablet-pulse{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:60px; height:60px; border-radius:50%; border:1px solid var(--violet-soft);
  animation: rippleR 2.5s var(--e-out) infinite;
}

/* Step 02 identity node */
.hs__id-node{
  position:relative; width:220px; height:220px;
  display:flex; align-items:center; justify-content:center;
}
.hs__id-orbit{
  position:absolute; inset:0; border-radius:50%; border:1px dashed rgba(101,75,255,.3);
  animation: spinSlow 20s linear infinite;
}
@keyframes spinSlow{ to{ transform:rotate(360deg); } }
.hs__id-orbit::before{ content:""; position:absolute; top:-4px; left:50%; width:8px; height:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 12px var(--lime); }
.hs__id-core{
  position:relative;
  width:120px; height:120px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #a89bff, #654BFF 50%, #3E2FBD 100%);
  box-shadow: 0 20px 50px -10px rgba(101,75,255,.5);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff;
}
.hs__id-core span{ font-size:22px; font-weight:500; letter-spacing:-.02em; }
.hs__id-core b{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; opacity:.8; margin-top:4px; }

/* Step 03 network canvas */
.hs__net{ width:100%; height:100%; }

@media (max-width:900px){
  .hs, .hs:nth-child(even){ grid-template-columns:1fr; gap:24px; text-align:left; min-height:auto; }
  .hs:nth-child(even) .hs__text{ order:0; text-align:left; }
  .hs__num{ font-size:120px; }
  .hs__vis{ height:280px; }
}

/* ============ 08 ENTRIES ============ */
.entries{ padding:160px 40px; background:#0F0E13; color:var(--ivory); position:relative; overflow:hidden; }
.entries::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(circle at 50% 40%, rgba(101,75,255,.15), transparent 60%);
  pointer-events:none;
}
.entries__head{
  max-width:1360px; margin: 0 auto 80px;
  display:grid; grid-template-columns: 1fr 2fr; gap:40px; align-items:end;
  position:relative;
}
.entries__head .tag{ color:var(--ivory); border-color:rgba(255,255,255,.2); }
.entries__h{
  font-size:clamp(40px,6vw,100px); line-height:.95; letter-spacing:-.04em; font-weight:500; margin:0;
}
.entries__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet-soft); }

.entries__stage{
  position:relative; max-width:1200px; margin:0 auto; height:560px;
}
.ent-center{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:200px; height:200px; display:flex; align-items:center; justify-content:center;
  z-index:2;
}
.ent-center__ring{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(101,75,255,.3);
  animation: spinSlow 30s linear infinite;
}
.ent-center__ring::before, .ent-center__ring::after{
  content:""; position:absolute; border-radius:50%;
}
.ent-center__ring::before{ inset:-30px; border:1px dashed rgba(255,255,255,.06); }
.ent-center__ring::after{ inset:-60px; border:1px solid rgba(255,255,255,.04); }
.ent-center__core{
  width:120px; height:120px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #E4DEFF, #654BFF 60%, #3E2FBD 100%);
  box-shadow: 0 0 60px rgba(101,75,255,.6), inset 0 0 30px rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-family:var(--f-mono); letter-spacing:.24em; color:#fff;
  font-weight:600;
}
.ent-orbit{
  position:absolute; inset:0;
  animation: spinSlow 40s linear infinite;
}
.ent{
  position:absolute; top:50%; left:50%;
  width:200px;
  animation: spinSlowRev 40s linear infinite;
}
.ent[data-i="0"]{ transform: translate(-50%,-50%) rotate(0deg) translate(320px) rotate(0deg); }
.ent[data-i="1"]{ transform: translate(-50%,-50%) rotate(120deg) translate(320px) rotate(-120deg); }
.ent[data-i="2"]{ transform: translate(-50%,-50%) rotate(240deg) translate(320px) rotate(-240deg); }
@keyframes spinSlowRev{ to{ transform: rotate(-360deg); } }

.ent__vis{
  width:140px; height:140px; margin: 0 auto;
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.ent__vis::before{
  content:""; position:absolute; inset:-20px; border-radius:50%;
  background:radial-gradient(circle, rgba(101,75,255,.2), transparent 60%);
  filter:blur(10px);
}
.ent__vis--kiosk .ent__tablet{
  width:70px; height:100px; border-radius:8px;
  background: linear-gradient(140deg, #2a2a2a, #0a0a0a);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), inset 0 0 20px rgba(101,75,255,.3);
  position:relative;
}
.ent__vis--kiosk .ent__tablet::before{
  content:"CHECKIN"; position:absolute; inset:6px; border-radius:4px;
  background: linear-gradient(180deg, #0f0d1a, #131018);
  color:#E4DEFF; font-family:var(--f-mono); font-size:8px; letter-spacing:.24em;
  display:flex; align-items:center; justify-content:center;
}
.ent__vis--kiosk .ent__stand{
  width:4px; height:30px; background:#3a3a3a; margin-top:-2px;
  position:relative;
}
.ent__vis--kiosk .ent__stand::after{
  content:""; position:absolute; bottom:-4px; left:-14px; width:32px; height:4px; background:#101010; border-radius:50%;
}

.ent__vis--qr .ent__qr{
  width:100px; height:100px; background:#F4F2EC; border-radius:8px; padding:8px; position:relative;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.5);
  transform: rotate(-6deg);
}
.ent__qr-grid{
  width:100%; height:100%;
  background-image:
    radial-gradient(circle at 25% 25%, #101010 3px, transparent 4px),
    radial-gradient(circle at 75% 25%, #101010 3px, transparent 4px),
    radial-gradient(circle at 25% 75%, #101010 3px, transparent 4px),
    radial-gradient(circle at 50% 50%, #101010 2px, transparent 3px),
    linear-gradient(45deg, #101010 2px, transparent 2px 6px);
  background-size: 100% 100%, 100% 100%, 100% 100%, 12px 12px, 12px 12px;
  border-radius:4px;
  opacity:.85;
}
.ent__qr-corner{
  position:absolute; width:16px; height:16px; border:3px solid #101010; border-radius:2px;
}
.ent__qr-corner.tl{ top:8px; left:8px; }
.ent__qr-corner.tr{ top:8px; right:8px; }
.ent__qr-corner.bl{ bottom:8px; left:8px; }

.ent__vis--mobile .ent__phone{
  width:70px; height:130px; border-radius:14px;
  background: linear-gradient(140deg, #2a2a2a, #0a0a0a);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
  padding:5px;
  transform: rotate(8deg);
}
.ent__vis--mobile .ent__phone-screen{
  width:100%; height:100%; border-radius:10px;
  background: linear-gradient(180deg, #0f0d1a, #131018);
  padding:12px 8px; display:flex; flex-direction:column; justify-content:space-between;
  color:#fff;
}
.ent__vis--mobile .ent__phone-screen span{ font-family:var(--f-mono); font-size:8px; letter-spacing:.24em; opacity:.5; }
.ent__vis--mobile .ent__phone-screen b{ font-size:12px; letter-spacing:-.01em; color:var(--violet-soft); font-weight:500; }

.ent__meta{ text-align:center; margin-top:16px; }
.ent__meta b{ display:block; font-family:var(--f-mono); font-size:12px; letter-spacing:.24em; margin-bottom:4px; }
.ent__meta span{ font-size:11px; color:rgba(255,255,255,.5); }

@media (max-width:900px){
  .entries__head{ grid-template-columns:1fr; align-items:start; }
  .entries__stage{ height:auto; }
  .ent-center{ position:relative; transform:none; margin:0 auto 40px; }
  .ent-orbit{ position:relative; display:flex; flex-direction:column; gap:40px; }
  .ent-orbit{ animation:none; }
  .ent{ position:relative; transform:none !important; animation:none !important; }
}

/* ============ 09 BUSINESS TYPES ============ */
.biz{ padding: 160px 40px; background:var(--ivory); position:relative; overflow:hidden; }
.biz__head{
  max-width:1360px; margin: 0 auto 80px;
  display:grid; grid-template-columns: 1fr 2fr; gap:40px; align-items:end;
  padding-bottom:24px; border-bottom:1px solid var(--line);
}
.biz__h{ font-size:clamp(44px,6vw,100px); line-height:.95; letter-spacing:-.04em; font-weight:500; margin:0; }
.biz__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }

.biz__list{
  list-style:none; padding:0; margin: 0 auto; max-width:1360px;
}
.biz-row{
  position:relative;
  display:grid; grid-template-columns: 60px 1fr auto 40px; gap:24px; align-items:center;
  padding: 28px 20px;
  border-bottom:1px solid var(--line);
  cursor:pointer;
  transition: padding .4s var(--e-out), background .3s;
  overflow:hidden;
}
.biz-row::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--ink); transform:translateX(-100%);
  transition: transform .5s var(--e-out);
}
.biz-row:hover::before{ transform:translateX(0); }
.biz-row:hover{ padding-left:40px; color:var(--ivory); }
.biz-row__num{ font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); }
.biz-row:hover .biz-row__num{ color:var(--lime); }
.biz-row__name{
  font-size:clamp(28px,4vw,64px); line-height:1; letter-spacing:-.03em; font-weight:500;
  transition:transform .4s var(--e-out);
}
.biz-row:hover .biz-row__name{ transform:translateX(10px); }
.biz-row__meta{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2); }
.biz-row:hover .biz-row__meta{ color:var(--violet-soft); }
.biz-row__arrow{ font-size:20px; text-align:right; transition:transform .4s var(--e-out); }
.biz-row:hover .biz-row__arrow{ transform:translateX(6px) rotate(-45deg); color:var(--lime); }

/* Hover scene */
.biz__scene{
  position:fixed; top:0; left:0; z-index:60;
  width:360px; height:240px; pointer-events:none;
  opacity:0; transform:scale(.9);
  transition:opacity .3s var(--e-out), transform .4s var(--e-out);
}
.biz__scene.is-visible{ opacity:1; transform:scale(1); }
.biz-scene__frame{
  position:relative; width:100%; height:100%; border-radius:12px; overflow:hidden;
  box-shadow: 0 30px 60px -20px rgba(16,16,16,.5);
  background:#101010;
}
.biz-scene__grid{
  position:absolute; inset:0;
  transition: background .6s var(--e-out);
}
.biz-scene__caption{
  position:absolute; bottom:0; left:0; right:0; padding:12px 16px;
  background: linear-gradient(0deg, rgba(0,0,0,.7), transparent);
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:#fff;
}
.biz-scene__caption span{ opacity:.5; }
.biz-scene__caption b{ font-weight:500; }

/* Business scenes — CSS-generated */
.scene-lounge{ background:
  radial-gradient(ellipse at 50% 80%, rgba(200,162,75,.4), transparent 60%),
  linear-gradient(180deg, #0B0906 0%, #1A140A 100%);
}
.scene-lounge::before{
  content:""; position:absolute; top:20%; left:50%; transform:translateX(-50%);
  width:20%; height:60%;
  background: linear-gradient(180deg, rgba(200,162,75,.4), rgba(200,162,75,.1));
  border-radius:200px 200px 0 0;
  filter:blur(2px);
}
.scene-bar{ background:
  radial-gradient(ellipse at 30% 70%, rgba(101,75,255,.35), transparent 60%),
  radial-gradient(ellipse at 70% 30%, rgba(199,255,58,.15), transparent 60%),
  linear-gradient(180deg, #0A0A0F, #14131B);
}
.scene-restaurant{ background:
  radial-gradient(ellipse at 50% 50%, rgba(230,180,120,.3), transparent 60%),
  linear-gradient(180deg, #221A12, #362A1D);
}
.scene-cafe{ background:
  linear-gradient(180deg, #E8DDCB 0%, #C9B392 50%, #6B5340 100%);
}
.scene-cafe::before{ content:""; position:absolute; inset:60% 0 0; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.4)); }
.scene-club{ background:
  radial-gradient(ellipse at 30% 40%, rgba(228,52,255,.4), transparent 50%),
  radial-gradient(ellipse at 70% 60%, rgba(101,75,255,.5), transparent 50%),
  #08050D;
}
.scene-venue{ background:
  radial-gradient(ellipse at 50% 20%, rgba(255,215,120,.3), transparent 60%),
  linear-gradient(180deg, #100A0A, #2B1D15);
}
.scene-salon{ background: linear-gradient(180deg, #EFE6DA 0%, #C3B39C 100%); }
.scene-spa{ background:
  radial-gradient(ellipse at 50% 60%, rgba(200,220,210,.5), transparent 60%),
  linear-gradient(180deg, #E5EDE8, #A8BAB2);
}
.scene-fitness{ background:
  linear-gradient(180deg, #0E0E0E 0%, #1A1A1A 100%);
  position:relative;
}
.scene-fitness::before{
  content:""; position:absolute; inset:40% 0 0;
  background: repeating-linear-gradient(90deg, transparent 0 40px, rgba(199,255,58,.1) 40px 41px);
}
.scene-retail{ background:
  linear-gradient(180deg, #F4F2EC 0%, #DBD6C7 100%);
}
.scene-showroom{ background:
  radial-gradient(ellipse at 50% 100%, rgba(255,255,255,.6), transparent 60%),
  linear-gradient(180deg, #ECECEC, #C7C7C7);
}
.scene-hospitality{ background:
  radial-gradient(ellipse at 50% 40%, rgba(200,162,75,.25), transparent 60%),
  linear-gradient(180deg, #191410, #2E241A);
}

/* ============ 10 THEMES ============ */
.themes{
  padding:160px 40px;
  background:var(--ivory);
  position:relative;
}
.themes__head{ max-width:900px; margin:0 auto 80px; text-align:center; }
.themes__head .tag{ margin-bottom:24px; }
.themes__h{ font-size:clamp(44px,6vw,100px); line-height:.95; letter-spacing:-.04em; font-weight:500; margin: 0 0 24px; }
.themes__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.themes__p{ font-size:16px; max-width:52ch; margin: 0 auto; color:var(--ink-2); }

.themes__stage{
  display:grid; grid-template-columns: 1fr 1fr; gap:60px; align-items:center;
  max-width:1200px; margin:0 auto;
}
.themes__tablet{ display:flex; justify-content:center; }
.themes__tablet-frame{
  width:340px; height:460px;
  background: linear-gradient(140deg, #1a1a1a, #0a0a0a);
  border-radius:28px; padding:12px;
  box-shadow: 0 40px 80px -30px rgba(16,16,16,.4), inset 0 0 0 1px rgba(255,255,255,.06);
  transform: perspective(1000px) rotateY(-8deg);
  transition: transform .6s var(--e-out);
}
.themes__tablet:hover .themes__tablet-frame{ transform: perspective(1000px) rotateY(-4deg); }
.themes__tablet-screen{
  width:100%; height:100%;
  border-radius:18px; overflow:hidden;
  padding:32px 28px 24px;
  display:flex; flex-direction:column;
  transition: background .8s var(--e-out), color .8s var(--e-out);
  position:relative;
  background: linear-gradient(180deg, #0f0d1a, #131018);
  color:#fff;
}
.themes__tablet-screen::before{
  content:""; position:absolute; inset:0; opacity:.7;
  background:radial-gradient(circle at 30% 0%, var(--tt-accent, rgba(101,75,255,.4)), transparent 60%);
  transition: background .8s var(--e-out);
  pointer-events:none;
}
.tt__brand{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.28em; opacity:.6; position:relative;
}
.tt__hello{
  margin-top:auto; font-size:34px; line-height:1.05; letter-spacing:-.03em; font-weight:500;
  position:relative;
}
.tt__prompt{
  margin-top:12px; font-size:18px; line-height:1.3; opacity:.85; letter-spacing:-.01em;
  position:relative;
}
.tt__cta{
  margin-top:24px; padding:14px 18px; border-radius:100px; text-align:center;
  font-size:13px; font-weight:500; letter-spacing:-.005em;
  background: var(--tt-cta-bg, var(--violet));
  color: var(--tt-cta-fg, #fff);
  position:relative;
  transition: background .8s, color .8s;
}
.tt__foot{
  margin-top:16px; font-family:var(--f-mono); font-size:9px; letter-spacing:.24em; opacity:.5; text-align:center;
  position:relative;
}

.themes__controls{ display:flex; flex-direction:column; gap:10px; }
.th{
  display:grid; grid-template-columns: auto 1fr auto; align-items:center; gap:16px;
  padding:16px 20px; border:1px solid var(--line-2); border-radius:16px;
  text-align:left; transition:all .3s var(--e-out); font-family:var(--f-sans);
}
.th:hover{ border-color:var(--ink); }
.th.is-active{ background:var(--ink); color:var(--ivory); border-color:var(--ink); }
.th__sw{ display:flex; gap:2px; }
.th__sw i{ width:18px; height:26px; border-radius:4px; }
.th b{ font-family:var(--f-mono); font-size:11px; letter-spacing:.22em; }
.th span{ font-size:12px; opacity:.6; text-align:right; }

@media (max-width:900px){
  .themes__stage{ grid-template-columns:1fr; }
  .themes__tablet-frame{ transform:none; }
}

/* ============ 11 JOURNEY ============ */
.journey{ height: 400vh; background:#0A0A0A; color:var(--ivory); position:relative; }
.journey__sticky{
  position:sticky; top:0; height:100vh;
  padding:80px 40px 40px;
  display:flex; flex-direction:column;
  overflow:hidden;
}
.journey__label{ display:flex; align-items:center; gap:10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:rgba(255,255,255,.5); }
.journey__label i{ width:6px; height:6px; border-radius:50%; background:var(--violet); box-shadow:0 0 8px var(--violet); }

.journey__scene{
  flex:1; margin:40px 0;
  position:relative; border-radius:24px; overflow:hidden;
  background:#0F0E13;
  border:1px solid rgba(255,255,255,.06);
}
.jr-bg{
  position:absolute; inset:0;
  background: radial-gradient(circle at 20% 30%, rgba(101,75,255,.2), transparent 60%);
  transition: background 1s var(--e-out);
}
.jr-track{
  position:absolute; inset:20% 5% 30%;
  display:flex; align-items:center;
}
.jr-node{
  position:absolute;
  width:60px; height:60px;
  transition: left 1.2s var(--e-inout), transform 1.2s var(--e-inout);
  left:0%;
}
.jr-node__core{
  width:100%; height:100%; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #a89bff, #654BFF 50%, #3E2FBD 100%);
  box-shadow: 0 0 40px rgba(101,75,255,.6);
}
.jr-node__pulse{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(101,75,255,.4);
  animation: rippleR 2.5s var(--e-out) infinite;
}
.jr-node__label{
  position:absolute; top:-24px; left:50%; transform:translateX(-50%);
  font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:#fff;
  opacity:0; transition:opacity .5s;
  white-space:nowrap;
}
.jr-node.is-known .jr-node__label{ opacity:1; }
.jr-node.is-returning .jr-node__core{ box-shadow: 0 0 40px rgba(199,255,58,.6); background: radial-gradient(circle at 30% 30%, #E8FF9B, #C7FF3A 50%, #7EAF1F 100%); }

.jr-stages{
  position:absolute; bottom:20px; left:20px; right:20px;
  display:grid; grid-template-columns:repeat(7,1fr); gap:8px;
}
.jr-stage{
  padding:12px 8px; border:1px solid rgba(255,255,255,.1); border-radius:10px;
  display:flex; flex-direction:column; gap:4px; align-items:flex-start;
  transition:all .4s var(--e-out);
}
.jr-stage b{ font-family:var(--f-mono); font-size:9px; letter-spacing:.24em; color:rgba(255,255,255,.4); }
.jr-stage span{ font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; color:rgba(255,255,255,.6); }
.jr-stage.is-active{ background:rgba(101,75,255,.15); border-color:var(--violet); }
.jr-stage.is-active b{ color:var(--lime); }
.jr-stage.is-active span{ color:#fff; }

.jr-caption{
  position:absolute; top:32px; left:32px; max-width:400px;
}
.jr-caption__title{
  font-family:var(--f-display); font-style:italic; font-size:44px; line-height:1; color:#fff; font-weight:400;
  transition:opacity .5s;
}
.jr-caption__sub{
  margin-top:8px; font-size:14px; color:rgba(255,255,255,.6); max-width:34ch;
  transition:opacity .5s;
}

.jr-welcome{
  position:absolute; top:40%; right:6%;
  opacity:0; transform:translateX(20px);
  transition: opacity .6s var(--e-out), transform .6s var(--e-out);
  text-align:right;
}
.jr-welcome.is-visible{ opacity:1; transform:none; }
.jr-welcome span{ font-family:var(--f-mono); font-size:12px; letter-spacing:.24em; color:var(--lime); }
.jr-welcome b{ display:block; font-size:60px; line-height:1; letter-spacing:-.035em; font-weight:500; margin-top:8px; }
.jr-welcome em{ display:block; margin-top:6px; font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:rgba(255,255,255,.6); font-style:normal; }

.journey__h{
  font-size:clamp(30px,4vw,64px); line-height:.95; letter-spacing:-.03em; font-weight:500; margin:0;
  max-width:22ch;
}
.journey__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet-soft); }

/* ============ 12 VALUE ============ */
.value{ padding:120px 40px; background:var(--ivory); }
.value__row{
  max-width:1360px; margin:0 auto;
  display:grid; grid-template-columns: 80px 1fr 1fr; gap:40px; align-items:baseline;
  padding: 40px 0;
  border-bottom:1px solid var(--line);
}
.value__num{ font-family:var(--f-mono); font-size:12px; letter-spacing:.24em; color:var(--warm-2); }
.value__word{
  font-size: clamp(80px, 14vw, 240px);
  line-height:.85; letter-spacing:-.05em; font-weight:500; margin:0; color:var(--ink);
  transition: color .3s;
}
.value__row:hover .value__word{ color:var(--violet); }
.value__row:nth-child(even):hover .value__word{ color:var(--ink); }
.value__row:nth-child(even) .value__word{ font-family:var(--f-display); font-style:italic; font-weight:400; }
.value__p{ font-size:18px; max-width:24ch; line-height:1.4; color:var(--ink-2); margin:0; }

@media (max-width:900px){
  .value__row{ grid-template-columns:1fr; gap:12px; padding:32px 0; }
}

/* ============ 13 METRICS ============ */
.metrics{ padding:140px 40px; background:#0A0A0A; color:var(--ivory); }
.metrics__label{ display:flex; align-items:center; gap:10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:rgba(255,255,255,.5); margin-bottom:60px; }
.metrics__label i{ width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime); }
.metrics__grid{
  max-width:1360px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:2px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.06);
}
.mt{ background:#0A0A0A; padding:40px 30px; }
.mt__label{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:rgba(255,255,255,.5); }
.mt__value{
  display:block; margin-top:24px;
  font-size: clamp(48px, 6vw, 96px);
  line-height:1; letter-spacing:-.04em; font-weight:500; color:#fff;
}
.mt__trend{ display:block; margin-top:16px; font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; color:rgba(255,255,255,.5); }
.mt__trend i{ color:var(--lime); margin-right:4px; }
.metrics__foot{ max-width:1360px; margin: 24px auto 0; font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; color:rgba(255,255,255,.4); }

@media (max-width:900px){ .metrics__grid{ grid-template-columns:1fr 1fr; } }

/* ============ 14 TRUST ============ */
.trust{ padding:180px 40px; background: linear-gradient(180deg, #EDE9DE 0%, var(--ivory) 100%); }
.trust__inner{ max-width:1000px; margin:0 auto; text-align:center; }
.trust__h{
  margin: 24px 0; font-size:clamp(48px,7vw,120px); line-height:.9; letter-spacing:-.04em; font-weight:500;
}
.trust__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.trust__p{ font-size:18px; max-width:56ch; margin: 0 auto 60px; color:var(--ink-2); line-height:1.5; }
.trust__three{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
  padding-top:60px; border-top:1px solid var(--line);
}
.trust__three > div{ text-align:left; }
.trust__three b{
  display:block; font-family:var(--f-mono); font-size:12px; letter-spacing:.24em; margin-bottom:12px;
}
.trust__three span{ font-size:16px; color:var(--ink-2); }
@media (max-width:900px){ .trust__three{ grid-template-columns:1fr; gap:20px; } }

/* ============ 15 ONBOARD ============ */
.onboard{
  position:relative;
  padding: 180px 40px 140px;
  background: linear-gradient(180deg, #101010 0%, #050505 100%);
  color:var(--ivory);
  overflow:hidden;
}
.onboard__grain{
  position:absolute; inset:0; opacity:.4; pointer-events:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.onboard__inner{ position:relative; max-width:1200px; margin:0 auto; text-align:center; }
.onboard__h{
  margin: 30px 0; font-size:clamp(56px,9vw,180px); line-height:.9; letter-spacing:-.045em; font-weight:500;
}
.onboard__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--lime); }
.onboard__p{ font-size:18px; max-width:52ch; margin: 0 auto 50px; color:rgba(244,242,236,.7); }

.onboard__ctas{ display:flex; flex-direction:column; align-items:center; gap:20px; margin-bottom:80px; }
.onboard__ctas .btn--lime .btn__label{ position:relative; display:inline-block; }
.onboard__ctas .btn--lime:hover .btn__label{ animation:morphLabel .4s var(--e-out) forwards; }
@keyframes morphLabel{ 0%{ opacity:1 } 50%{ opacity:0; transform:translateY(-6px) } 51%{ transform:translateY(6px) } 100%{ opacity:1; transform:none; } }

.onboard__meta{
  display:grid; grid-template-columns:1fr 1fr; gap:40px;
  max-width:800px; margin:0 auto;
  padding-top:40px; border-top:1px solid rgba(255,255,255,.08);
  text-align:left;
}
.onboard__meta > div{ display:flex; gap:12px; align-items:baseline; }
.onboard__meta b{ font-family:var(--f-mono); color:var(--lime); font-weight:500; }
.onboard__meta span{ font-size:14px; color:rgba(255,255,255,.6); }

.onboard__contact{
  display:flex; justify-content:center; align-items:center; gap:36px;
  max-width:800px; margin: 32px auto 0;
  padding-top:32px;
}
.onboard__contact a{
  display:flex; flex-direction:column; gap:6px;
  padding:14px 20px; border-radius:14px;
  transition: background .3s var(--e-out);
}
.onboard__contact a:hover{ background:rgba(255,255,255,.04); }
.oc__label{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.28em; color:rgba(255,255,255,.5);
}
.oc__val{
  font-size:20px; letter-spacing:-.01em; color:var(--ivory); font-weight:500;
}
.onboard__contact-div{
  width:1px; height:36px; background:rgba(255,255,255,.1);
}
@media (max-width:700px){
  .onboard__contact{ flex-direction:column; gap:8px; }
  .onboard__contact-div{ width:36px; height:1px; }
}

/* ============ 16 FOOTER ============ */
.foot{
  padding: 80px 40px 40px;
  background:var(--ivory);
  border-top:1px solid var(--line);
}
.foot__top{
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:60px;
}
.foot__label{ display:flex; align-items:center; gap:10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); }
.foot__label i{ width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime); }
.foot__meta{ display:flex; gap:10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); }

.foot__mark{
  font-size: clamp(90px, 20vw, 320px);
  line-height:.85; letter-spacing:-.06em; font-weight:700; margin:0;
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding: 40px 0;
  text-align:left;
  display:flex; align-items:flex-end; gap:.35em; flex-wrap:wrap;
}
.foot__mark-mark{
  display:inline-flex; align-items:flex-end;
  width:clamp(60px, 12vw, 200px); color:var(--violet);
  margin-right:.2em; margin-bottom:.08em;
}
.foot__mark-mark svg{ width:100%; height:auto; display:block; }
.foot__mark-v{ color:var(--ink); }
.foot__mark-a{ color:var(--violet); }

.foot__cols{
  display:grid; grid-template-columns:repeat(5,1fr); gap:24px;
  padding: 60px 0;
  border-bottom:1px solid var(--line);
}
.foot__cols > div{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.foot__cols span{ font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2); text-transform:uppercase; margin-bottom:6px; white-space:nowrap; }
.foot__cols a{ font-size:14px; color:var(--ink); transition: color .2s, padding-left .2s; white-space:nowrap; }
.foot__cols a:hover{ color:var(--violet); padding-left:6px; }

.foot__bottom{
  padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.24em; color:var(--warm-2);
}
.foot__pulse{ display:inline-flex; align-items:center; gap:8px; }
.foot__pulse i{ width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime); animation:pulse 2s infinite; }

@media (max-width:1200px){
  .foot__cols{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px){
  .foot__cols{ grid-template-columns:1fr 1fr; }
  .foot__bottom{ flex-direction:column; gap:12px; align-items:flex-start; }
  .foot__mark{ font-size: clamp(70px, 22vw, 140px); }
}
