:root{--black:#050506;--gold:#d8b65a;--gold2:#f3df9b;--pink:#e83e8c;--cream:#fff8ec}
*{box-sizing:border-box}html,body{margin:0;background:var(--black);color:#fff;font-family:Inter,Arial,sans-serif}button,a{font:inherit}
.ys-gateway{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 45%,#171014 0,#090708 32%,#030304 72%);overflow:hidden;transition:opacity .8s ease,visibility .8s ease}.ys-gateway.is-gone{opacity:0;visibility:hidden;pointer-events:none}.ys-gateway__skip{position:absolute;right:28px;top:24px;z-index:10;border:0;background:none;color:#bdb3a5;text-transform:uppercase;letter-spacing:.18em;font-size:10px;cursor:pointer}.ys-gateway__brand{position:absolute;top:9vh;left:50%;transform:translateX(-50%);opacity:0;animation:reveal 1.1s .15s forwards}.ys-gateway__wordmark{font:500 clamp(24px,3vw,46px)/1 Georgia,serif;letter-spacing:.16em;background:linear-gradient(#f9e9ad,#bd8d27,#f2d77d);-webkit-background-clip:text;color:transparent;white-space:nowrap}.ys-gateway__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8vh 5vw 4vh;text-align:center}.ys-pearl{width:86px;height:86px;border-radius:50%;position:relative;margin-bottom:30px;background:radial-gradient(circle at 30% 24%,#fff 0 7%,#fff7e7 10%,#e9dfd0 35%,#c8bcae 64%,#82776f 100%);box-shadow:0 0 20px rgba(255,248,236,.3),0 0 70px rgba(216,182,90,.16);opacity:0;transform:scale(.82);animation:pearlIn 1.4s .7s forwards}.ys-pearl:after{content:"";position:absolute;inset:-15px;border-radius:50%;border:1px solid rgba(216,182,90,.16);animation:pulse 3s 2s infinite}.ys-pearl span{position:absolute;inset:0;border-radius:50%;overflow:hidden}.ys-pearl span:after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.8) 49%,transparent 62%);transform:translateX(-100%);animation:shimmer 4s 2.2s infinite}.ys-gateway__eyebrow{margin:0 0 12px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.32em;opacity:0;animation:reveal .9s 1.5s forwards}.ys-gateway h1{margin:0;font:400 clamp(42px,5.8vw,86px)/.98 Georgia,serif;color:var(--cream);letter-spacing:-.035em;opacity:0;transform:translateY(12px);animation:revealUp 1s 1.8s forwards}.ys-gateway__choices{width:min(1020px,92vw);margin-top:64px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:36px;opacity:0;animation:reveal 1s 2.65s forwards}.ys-choice{border:0;background:transparent;color:#fff;padding:22px;cursor:pointer;transition:transform .35s ease,opacity .35s ease}.ys-choice strong{display:block;color:var(--gold2);font-size:13px;letter-spacing:.22em;margin-bottom:10px}.ys-choice span{font:italic 18px/1.35 Georgia,serif;color:#c9c0b5}.ys-choice:hover{transform:translateY(-5px)}.ys-choice:hover strong{color:#fff}.ys-choice-axis{height:70px;background:linear-gradient(transparent,rgba(216,182,90,.65),transparent)}
.ys-gateway.is-institute .ys-gateway__brand,.ys-gateway.is-institute .ys-gateway__eyebrow,.ys-gateway.is-institute h1,.ys-gateway.is-institute .ys-gateway__choices{opacity:0!important;pointer-events:none;transition:opacity .7s ease}.ys-gateway.is-institute .ys-pearl{animation:none;opacity:0}.ys-portal{position:absolute;inset:0;display:none;height:420vh;background:#000}.ys-gateway.is-institute{position:relative;inset:auto;width:100%;height:420vh;overflow:visible}.ys-gateway.is-institute .ys-portal{display:block;position:relative;inset:auto;height:100%}.ys-gateway.is-institute + main{position:relative;z-index:1}.ys-portal__sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#000;display:grid;place-items:center}.ys-portal__mask{--portal:88px;width:var(--portal);height:var(--portal);border-radius:50%;overflow:hidden;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgba(255,255,255,.15),0 0 50px rgba(216,182,90,.24);background:#15100d}.ys-portal__mask video,.ys-portal__placeholder{width:100vw;height:100vh;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:cover}.ys-portal__placeholder{display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,#4b2639,#140d12 45%,#030303 78%);color:#ead58e}.ys-portal__placeholder span{font:400 clamp(42px,8vw,120px)/.9 Georgia,serif;letter-spacing:.04em}.ys-portal__placeholder small{margin-top:20px;line-height:1.6;color:#d6c9bc}.ys-portal.has-video .ys-portal__placeholder{display:none}.ys-portal__cue{position:absolute;z-index:7;bottom:7vh;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.25em;color:#d8c7a7;opacity:0}.ys-gateway.is-institute .ys-portal__cue{animation:reveal 1s .9s forwards}.ys-portal__cue b{display:block;margin-top:8px;font-size:18px;animation:bob 1.6s infinite}.ys-portal__arrival{position:absolute;z-index:6;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,.05) 55%,rgba(0,0,0,.25));opacity:0;pointer-events:none}.ys-portal__arrival p{color:var(--gold);letter-spacing:.35em;font-size:10px;margin:0 0 12px}.ys-portal__arrival h2{font:400 clamp(54px,9vw,142px)/.82 Georgia,serif;margin:0;color:#fff8e9}.ys-portal__arrival span{margin-top:18px;color:#e3d1ad;letter-spacing:.22em;font-size:11px}.ys-portal__arrival a{margin-top:42px;border:1px solid rgba(216,182,90,.7);border-radius:999px;padding:14px 22px;color:#fff;text-decoration:none;font-size:10px;letter-spacing:.18em}.ys-portal__arrival.is-visible{opacity:1;pointer-events:auto;transition:opacity 1.1s ease}.demo-home{min-height:100vh;padding:18vh 8vw;background:linear-gradient(135deg,#130b10,#050506);color:#fff}.demo-home p:first-child{color:var(--gold);letter-spacing:.25em;font-size:11px}.demo-home h2{font:400 clamp(50px,7vw,100px)/.95 Georgia,serif;max-width:1000px}.demo-home p{max-width:720px;line-height:1.7;color:#d7d0c8}.demo-home button{margin-top:30px;background:none;color:#fff;border:1px solid var(--gold);border-radius:999px;padding:12px 18px;cursor:pointer}
@keyframes reveal{to{opacity:1}}@keyframes revealUp{to{opacity:1;transform:none}}@keyframes pearlIn{to{opacity:1;transform:scale(1)}}@keyframes shimmer{45%,100%{transform:translateX(130%)}}@keyframes pulse{50%{transform:scale(1.14);opacity:.25}}@keyframes bob{50%{transform:translateY(6px)}}
@media(max-width:700px){.ys-gateway__brand{top:8vh}.ys-gateway__wordmark{font-size:23px}.ys-gateway__center{justify-content:center}.ys-pearl{width:72px;height:72px;margin-bottom:24px}.ys-gateway h1{font-size:clamp(40px,12vw,58px);max-width:520px}.ys-gateway__choices{grid-template-columns:1fr;margin-top:38px;gap:7px}.ys-choice-axis{width:110px;height:1px;margin:auto;background:linear-gradient(90deg,transparent,rgba(216,182,90,.65),transparent)}.ys-choice{padding:15px 12px}.ys-choice span{font-size:16px}.ys-gateway__skip{right:16px;top:16px}.ys-portal{height:220vh}.ys-gateway.is-institute{position:relative;inset:auto;width:100%;height:220vh}.ys-portal__arrival h2{font-size:clamp(48px,15vw,78px)}.ys-portal__arrival span{font-size:9px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ys-gateway__brand,.ys-pearl,.ys-gateway__eyebrow,.ys-gateway h1,.ys-gateway__choices{opacity:1;transform:none}.ys-gateway.is-institute{position:fixed;height:100vh}.ys-gateway.is-institute .ys-portal{height:100vh}.ys-portal__mask{width:100vw!important;height:100vh!important;border-radius:0!important}.ys-portal__arrival{opacity:1;pointer-events:auto}.ys-portal__cue{display:none}}


@media(max-width:700px){
  .ys-portal__arrival{
    justify-content:flex-end;
    padding:0 22px max(42px,env(safe-area-inset-bottom));
    background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.45) 38%,transparent 70%);
  }
  .ys-portal__arrival h2{font-size:clamp(44px,14vw,72px)}
  .ys-portal__arrival span{max-width:310px}
  .ys-portal__arrival a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:14px 20px;
    background:rgba(5,5,6,.72);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
}


/* ============================================================
   INTEGRATED HOMEPAGE FIX
   The live YS homepage has global overflow rules and its own
   welcome sequence. On mobile browsers those rules can interfere
   with position:sticky. The Institute portal therefore uses a
   fixed cinematic stage while the gateway element itself remains
   in normal document flow as the scroll ruler.
   ============================================================ */

body.ys-institute-portal{
  overflow-y:auto !important;
}

/* Existing homepage welcome code can temporarily add welcome-active
   (which uses overflow:hidden). The portal must still be scrollable. */
body.ys-institute-portal.welcome-active{
  overflow-y:auto !important;
}

/* Keep the page from drifting sideways without creating a vertical
   scroll container that can interfere with the portal. */
html.ys-institute-portal,
body.ys-institute-portal{
  overflow-x:clip !important;
}

.ys-gateway.is-institute{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:420vh;
  overflow:visible !important;
  z-index:9999;
}

.ys-gateway.is-institute .ys-portal{
  display:block;
  position:absolute;
  inset:0;
  height:100%;
}

.ys-gateway.is-institute .ys-portal__sticky{
  position:fixed !important;
  inset:0 !important;
  top:0 !important;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  z-index:10000;
  overflow:hidden;
}

/* Make certain the arrival message can never sit beneath the video. */
.ys-gateway.is-institute .ys-portal__arrival{
  z-index:10004;
}

.ys-gateway.is-institute .ys-portal__cue{
  z-index:10005;
}

@media(max-width:700px){
  .ys-gateway.is-institute{
    height:220vh;
  }

  /* The CTA arrives before the visitor reaches the end of the scroll ruler. */
  .ys-portal__arrival{
    justify-content:flex-end;
    padding:0 22px max(44px,env(safe-area-inset-bottom));
  }
}

/* Once the CTA is visible, keep it visible. The real homepage remains
   behind this fixed stage instead of replacing the Institute invitation. */
.ys-portal__arrival.is-visible{
  visibility:visible;
}


/* ============================================================
   IOS SAFARI NATIVE CTA FALLBACK
   Safari receives the same Pearl Portal reveal, then the fixed
   cinematic stage releases and a normal in-document anchor
   becomes the final navigation step.
   ============================================================ */

.ys-safari-institute-exit{
  display:none;
}

html.ys-ios-safari .ys-safari-institute-exit{
  min-height:100dvh;
  padding:96px 24px max(56px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 18%,rgba(216,182,90,.13),transparent 30%),
    linear-gradient(180deg,#050505,#0a0807);
  color:#f7f1e7;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  z-index:10030;
}

html.ys-ios-safari .ys-safari-institute-exit.is-visible{
  display:flex;
}

.ys-safari-institute-exit__inner{
  width:min(100%,560px);
  margin:auto;
}

.ys-safari-institute-exit__kicker{
  margin:0 0 16px;
  color:#d8b65a;
  font:700 11px/1.4 Arial,sans-serif;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.ys-safari-institute-exit h2{
  margin:0;
  color:#fff8ea;
  font:400 clamp(48px,14vw,82px)/.9 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}

.ys-safari-institute-exit__sub{
  margin:24px auto 30px;
  max-width:390px;
  color:#d7c8b5;
  font:400 15px/1.7 Arial,sans-serif;
  letter-spacing:.05em;
}

.ys-safari-institute-exit__link{
  display:flex;
  width:min(100%,340px);
  min-height:58px;
  margin:0 auto;
  padding:16px 24px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(216,182,90,.82);
  border-radius:999px;
  background:#090807;
  color:#fff8ea !important;
  text-decoration:none !important;
  font:700 11px/1 Arial,sans-serif;
  letter-spacing:.24em;
  text-transform:uppercase;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(216,182,90,.18);
}

.ys-safari-institute-exit__link:active{
  transform:scale(.985);
}

/* When Safari reaches the release point, retire the composited stage.
   The link is no longer inside a fixed/clip-path/video layer. */
html.ys-ios-safari .ys-gateway.is-safari-released .ys-portal__sticky{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .45s ease,visibility 0s linear .45s;
}

html.ys-ios-safari .ys-gateway.is-safari-released{
  height:auto !important;
  min-height:0 !important;
}

/* On Safari we intentionally do not use the CTA inside the fixed film. */
html.ys-ios-safari .ys-portal__arrival a{
  pointer-events:none !important;
}

