/* Misan Partners — site styles */
@font-face{font-family:Inter;src:url(../fonts/Inter-300.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/Inter-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/Inter-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{--ink:#000;--w:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#000;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}

/* ambient breathing glow */
.amb{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side at 50% 42%,rgba(255,255,255,0.06),transparent 70%);
  animation:amb 8s ease-in-out infinite}
@keyframes amb{0%,100%{opacity:.7}50%{opacity:1}}

/* ---- manifesto / landing ---- */
.scroller{scroll-snap-type:y proximity}
.beat{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:8vh 7vw;scroll-snap-align:center;gap:2.4vh}

.xl{font-size:clamp(40px,7vw,104px);line-height:1.04;font-weight:300;letter-spacing:-0.01em}
.xl.tight{margin-bottom:-1vh}
.lg{font-size:clamp(26px,4vw,54px);line-height:1.18;font-weight:300}
.md{font-size:clamp(17px,2.1vw,27px);line-height:1.5;font-weight:300;color:rgba(255,255,255,.62);max-width:22ch}
.sub{font-size:clamp(18px,2.3vw,30px);font-weight:300;color:rgba(255,255,255,.55)}
.accent{color:#fff}
.fbu{letter-spacing:.005em}
.verbs{font-size:clamp(26px,4vw,52px);font-weight:300;line-height:1.25;max-width:18ch}
.vb{display:inline-block;opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;
  transition-delay:calc(var(--i) * 220ms + 200ms)}

/* reveal on scroll */
.beat p,.beat .mark,.beat .crumb{opacity:0;transform:translateY(34px);
  transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.beat.in p,.beat.in .mark,.beat.in .crumb{opacity:1;transform:none}
.beat.in .vb{opacity:1;transform:none}
.beat .md{transition-delay:.18s}.beat .sub{transition-delay:.25s}.beat .lg.accent{transition-delay:.3s}

.mark{width:min(300px,46vw);height:auto}
.hero .mark{margin-top:2vh}
.finale .mark{width:min(220px,40vw);margin-top:2vh}

/* orb */
.orb{width:46px;height:46px;border-radius:50%;background:#fff;
  box-shadow:0 0 22px rgba(255,255,255,.85),0 0 46px rgba(255,255,255,.5),0 0 70px rgba(255,255,255,.3);
  animation:pulse 3.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 22px rgba(255,255,255,.85),0 0 46px rgba(255,255,255,.5),0 0 70px rgba(255,255,255,.3)}
  50%{box-shadow:0 0 28px rgba(255,255,255,.95),0 0 56px rgba(255,255,255,.62),0 0 86px rgba(255,255,255,.4)}}
.hero-orb{margin-bottom:1vh;position:relative}
.hero-orb::after{content:"";position:absolute;left:50%;top:50%;width:118px;height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.7),transparent);transform-origin:left;transform:rotate(-45deg);opacity:.8}

/* traveling guide orb */
.guide{position:fixed;right:42px;top:0;z-index:3;width:10px;height:10px;border-radius:50%;background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.9),0 0 22px rgba(255,255,255,.5);opacity:0;transition:opacity .8s ease;
  animation:pulse 3.4s ease-in-out infinite}
.guide.show{opacity:.9}
.guide::after{content:"";position:absolute;left:50%;top:-60vh;width:1px;height:60vh;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.25))}

/* hero one line + crumb */
.oneline{font-size:clamp(11.5px,1.25vw,15px);font-weight:300;letter-spacing:.04em;
  color:rgba(255,255,255,.5);margin-top:1.8vh;max-width:34ch;line-height:1.5}
.crumb{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;margin-top:1.5vh}
.crumb .dot{color:rgba(255,255,255,.72);font-size:1.5em;font-weight:500;line-height:0;position:relative;top:.02em}
.crumb.fixed{position:absolute;bottom:6vh;margin-top:0}
.invlink{color:rgba(255,255,255,.6);text-decoration:none;transition:color .3s}
.invlink:hover,.invlink:focus-visible{color:#fff}

/* scroll cue */
.scrollcue{position:absolute;bottom:6vh;font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  color:rgba(255,255,255,.4);animation:cue 2.6s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:.6;transform:translateY(6px)}}

/* ---- investor login gate ---- */
.gate{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:10vh 7vw;position:relative;z-index:1}
.gate-card{width:100%;max-width:380px;background:#0a0a0a;border:1px solid rgba(255,255,255,.12);border-radius:20px;
  padding:48px 40px;display:flex;flex-direction:column;align-items:center}
.gate .orb.mini{width:26px;height:26px;margin-bottom:26px}
.gate .mark{width:150px;margin-bottom:34px}
.gate-form{width:100%;display:flex;flex-direction:column;gap:14px}
.field{position:relative;text-align:left}
.flabel{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}
.field input{width:100%;background:#000;border:1px solid rgba(255,255,255,.2);border-radius:10px;
  padding:13px 15px;color:#fff;font-family:inherit;font-size:14px;transition:border-color .3s}
.field input::placeholder{color:rgba(255,255,255,.3)}
.field input:focus{outline:none;border-color:rgba(255,255,255,.55)}
.enter{margin-top:8px;width:100%;background:#fff;color:#000;border:none;border-radius:10px;padding:14px;
  font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .3s}
.enter:hover{background:rgba(255,255,255,.9)}
.micro{margin-top:24px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.gate-msg{margin-top:18px;font-size:12.5px;font-weight:300;color:rgba(255,255,255,.7);min-height:1.2em;line-height:1.5}
.gate-msg a{color:#fff}
.backhome{position:absolute;top:40px;left:0;right:0;text-align:center;font-size:13px;letter-spacing:.2em;
  color:rgba(255,255,255,.45);text-decoration:none;font-weight:300;transition:color .3s}
.backhome:hover{color:#fff}

@media (max-width:600px){.guide{right:20px}.md{max-width:26ch}.gate-card{padding:40px 28px}}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .scroller{scroll-snap-type:none}
  .amb,.orb,.guide{animation:none}
  .beat p,.beat .mark,.beat .crumb,.vb{opacity:1!important;transform:none!important;transition:none!important}
  .guide{display:none}
}
