/* A little motion should make the world feel alive, while leaving the words in charge. */
.hero{overflow:hidden}
.hero-image{transform-origin:64% 54%;animation:workshop-drift 34s ease-in-out infinite alternate;will-change:transform}
@keyframes workshop-drift{from{transform:scale(1.035) translate3d(0,0,0)}to{transform:scale(1.115) translate3d(-.7%,.25%,0)}}

.auth-trigger{position:relative;display:inline-block;padding:0 .27em .04em 0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:nowrap;cursor:pointer;text-align:left}
.auth-trigger::after{content:"";position:absolute;left:0;right:.3em;bottom:0;height:2px;background:linear-gradient(90deg,#acf3e4,rgba(172,243,228,.16));transform-origin:left;transition:transform .35s,opacity .35s;opacity:.8}
.auth-trigger:hover::after,.auth-trigger:focus-visible::after{transform:scaleX(.78);opacity:1}
.auth-spark{position:absolute;right:0;top:.05em;font-size:.18em;color:#d5fff1;animation:quiet-starlight 4s ease-in-out infinite alternate}
.auth-invitation{margin:13px 0 0;color:#b5dfd7;font-size:9px;font-weight:750;letter-spacing:.17em}
.auth-invitation span{font-size:15px;margin-right:5px}
.hero-copy{margin-top:20px}
@keyframes quiet-starlight{from{opacity:.55;text-shadow:0 0 5px rgba(180,255,232,.25)}to{opacity:1;text-shadow:0 0 16px rgba(180,255,232,.85)}}

.galaxy-section,.closing{position:relative;isolation:isolate;overflow:hidden}
.galaxy-section::before,.closing::before{content:"";position:absolute;inset:-3%;z-index:-1;background-image:linear-gradient(90deg,rgba(4,20,29,.91),rgba(5,25,36,.67)),linear-gradient(0deg,rgba(4,20,29,.86),rgba(4,20,29,.1) 60%,rgba(4,20,29,.45)),url('/assets/galaxy-horizon.webp');background-size:cover;background-position:center;animation:galaxy-drift 42s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.closing::before{background-image:linear-gradient(rgba(4,22,30,.75),rgba(3,17,26,.93)),url('/assets/galaxy-horizon.webp');background-position:center 58%;animation-duration:48s}
@keyframes galaxy-drift{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(.5%,-.3%,0)}}
.project-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
@media(hover:hover){.project-card:hover{transform:translateY(-4px);border-color:rgba(180,242,224,.32);box-shadow:0 18px 38px rgba(0,8,14,.22)}}
.project-feature{background:linear-gradient(155deg,rgba(30,78,72,.94),rgba(19,53,55,.96))}
.project-corn{background:linear-gradient(135deg,rgba(64,57,59,.94),rgba(38,47,53,.97))}
.project-ai{background:rgba(17,43,58,.96)}.project-auto{background:rgba(21,59,59,.96)}

.button{position:relative;isolation:isolate;overflow:hidden;border-radius:7px;transition:transform .26s ease,box-shadow .26s ease,background .26s ease,border-color .26s ease}
.button::before{content:"";position:absolute;inset:-40% auto -40% -45%;width:30%;transform:translateX(-230%) skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);pointer-events:none;transition:transform .7s ease}
.button:hover::before,.button:focus-visible::before{transform:translateX(650%) skewX(-20deg)}
.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 10px 30px rgba(65,194,168,.25)}
.button:active{transform:translateY(0) scale(.98)}
.button span{display:inline-block;transition:transform .25s ease}
.button:hover span,.button:focus-visible span{transform:translate(3px,-3px)}
.text-link span,.project-link span{display:inline-block;transition:transform .25s ease}
.text-link:hover span,.text-link:focus-visible span,.project-link:hover span,.project-link:focus-visible span{transform:translate(4px,-3px)}

body.dialog-open{overflow:hidden}
.auth-dialog{width:min(960px,calc(100% - 32px));max-width:none;max-height:min(90vh,790px);padding:0;border:1px solid rgba(179,235,222,.32);border-radius:15px;color:#eefaf6;background:#0a202b;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:auto}
.auth-dialog::backdrop{background:rgba(2,12,20,.78);backdrop-filter:blur(8px)}
.auth-dialog-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:500px;position:relative}
.auth-art{position:relative;min-height:500px;overflow:hidden;background:#102735}
.auth-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#0a202b 100%);pointer-events:none}
.auth-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% center}
.auth-dialog-copy{padding:70px 46px 45px 26px;align-self:center}
.auth-dialog-copy .eyebrow{margin-bottom:18px}
.auth-dialog-copy h2{font-size:clamp(42px,4.4vw,60px);line-height:1;letter-spacing:-.06em;margin:0 0 23px}
.auth-dialog-copy h2 em{font-style:normal;font-weight:420;color:#a3e1d2}
.auth-dialog-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c5dbd7;margin:0 0 19px}
.auth-dialog-copy blockquote{margin:27px 0 18px;padding-left:17px;border-left:2px solid #8dd4c0;color:#edf9f3;font-size:19px;line-height:1.5;letter-spacing:-.02em}
.auth-dialog-copy .auth-note{font-weight:700;color:#a6d9c9!important;font-size:12px!important}
.auth-close{position:absolute;z-index:2;top:16px;right:18px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(218,249,238,.45);border-radius:50%;background:rgba(8,31,40,.78);color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:background .25s,transform .25s}
.auth-close:hover{background:#27544e;transform:rotate(90deg)}
.auth-return{margin-top:8px;display:inline-flex;align-items:center;gap:25px;padding:12px 0;border:0;border-bottom:1px solid #9edccd;background:transparent;color:#d9f6e9;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.auth-return span{font-size:17px}
@media(max-width:620px){.auth-invitation{font-size:8px;letter-spacing:.13em;margin-top:10px}.hero-copy{margin-top:17px}.auth-dialog{max-height:88vh}.auth-dialog-inner{grid-template-columns:1fr;min-height:0}.auth-art{min-height:205px;height:29vh;max-height:260px}.auth-art::after{background:linear-gradient(0deg,#0a202b,transparent 55%)}.auth-art img{object-position:center 44%}.auth-dialog-copy{padding:20px 25px 32px}.auth-dialog-copy h2{font-size:43px;margin-bottom:16px}.auth-dialog-copy>p:not(.eyebrow){font-size:13px}.auth-dialog-copy blockquote{font-size:17px;margin:19px 0 14px}.auth-close{top:12px;right:12px}}
@media(max-width:360px){.auth-trigger{letter-spacing:-.075em}.auth-dialog-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.hero-image,.galaxy-section::before,.closing::before,.auth-spark{animation:none!important;transform:none!important}.button,.project-card,.auth-close,.auth-trigger::after,.button::before,.button span,.text-link span,.project-link span{transition:none!important}.button:hover,.button:focus-visible,.project-card:hover,.auth-close:hover{transform:none!important}}
