:root{--transition-bg:#091713;--transition-accent:#93d7ba}
.page-transition{--origin-x:88%;--origin-y:38px;position:fixed;z-index:1000;inset:0;visibility:hidden;pointer-events:none;overflow:hidden;transform:translate3d(0,0,0);will-change:transform}
.page-transition.is-active{visibility:visible}
.page-transition-surface{position:absolute;inset:-1px;display:grid;place-items:center;overflow:hidden;color:#eaf4ef;background:
 radial-gradient(circle at var(--origin-x) var(--origin-y),rgba(147,215,186,.19),transparent 28%),
 radial-gradient(circle at 52% 46%,rgba(69,211,156,.12),transparent 32%),
 linear-gradient(145deg,#07110f 0%,#0b1b16 52%,#07110f 100%);
 clip-path:circle(0 at var(--origin-x) var(--origin-y));will-change:clip-path}
.page-transition-surface::before{content:"";position:absolute;inset:0;opacity:.34;background-image:
 radial-gradient(circle at 18% 26%,rgba(255,255,255,.62) 0 1px,transparent 1.5px),
 radial-gradient(circle at 78% 18%,rgba(147,215,186,.72) 0 1px,transparent 1.7px),
 radial-gradient(circle at 64% 74%,rgba(255,255,255,.45) 0 1px,transparent 1.5px),
 radial-gradient(circle at 30% 82%,rgba(147,215,186,.56) 0 1px,transparent 1.8px);
 background-size:170px 170px,230px 230px,190px 190px,260px 260px;transform:scale(1.04);animation:transition-stars 14s linear infinite}
.page-transition-surface::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 43%,rgba(255,255,255,.035) 49%,transparent 56%);transform:translateX(-120%)}
.page-transition.is-active .page-transition-surface::after{animation:transition-sheen 1.75s .1s cubic-bezier(.22,.7,.2,1) both}
.page-transition-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(12px) scale(.98);will-change:opacity,transform}
.page-transition-star{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border:1px solid rgba(234,244,239,.19);border-radius:50%;font-size:24px;color:var(--transition-accent);box-shadow:0 0 34px rgba(147,215,186,.18),inset 0 0 24px rgba(147,215,186,.04)}
.page-transition-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.2em;font:500 9px/1 "DM Sans",system-ui,sans-serif;color:#819a90}
.page-transition-title{margin:0;font:400 clamp(25px,3vw,43px)/1.05 "Cormorant Garamond",Georgia,serif;letter-spacing:-.035em;color:#eaf4ef}
.page-transition-orbit{position:absolute;z-index:1;left:50%;top:50%;width:min(58vw,720px);aspect-ratio:1;border:1px solid rgba(147,215,186,.075);border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg)}
.page-transition-orbit::before,.page-transition-orbit::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.045);border-radius:50%}
.page-transition-orbit::before{inset:13%;transform:rotate(31deg)}
.page-transition-orbit::after{inset:29%;border-color:rgba(147,215,186,.09);transform:rotate(-27deg)}
.page-transition-line{position:absolute;z-index:3;left:50%;bottom:8vh;width:min(280px,52vw);height:1px;background:rgba(255,255,255,.09);transform:translateX(-50%);overflow:hidden}
.page-transition-line::after{content:"";display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--transition-accent),transparent);transform:translateX(-120%)}
.page-transition.is-active .page-transition-line::after{animation:transition-line 1.7s .24s ease-in-out both}
body.barba-transitioning{cursor:progress}
body.barba-transitioning a,body.barba-transitioning button{pointer-events:none!important}
@keyframes transition-stars{to{background-position:170px 70px,-130px 230px,190px -90px,-260px 130px}}
@keyframes transition-sheen{to{transform:translateX(120%)}}
@keyframes transition-line{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}
@media(max-width:700px){.page-transition{--origin-x:91%;--origin-y:32px}.page-transition-orbit{width:108vw}.page-transition-star{width:50px;height:50px;font-size:21px}.page-transition-title{font-size:29px}}
@media(prefers-reduced-motion:reduce){.page-transition-surface::before,.page-transition.is-active .page-transition-surface::after,.page-transition.is-active .page-transition-line::after{animation:none}}
