*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%}html{background:#04050f}body{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;color:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:auto}body.has-custom-cursor,body.has-custom-cursor *,body.has-custom-cursor a,body.has-custom-cursor button{cursor:none!important}a{color:inherit;text-decoration:none}.page{position:relative;width:100%;overflow-x:hidden;z-index:10}.layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;will-change:transform,opacity}.sky-layer{z-index:1}.celestial-layer{z-index:2}.sun-rays{z-index:2;mix-blend-mode:screen}.mountains-layer,.ocean-layer{z-index:3}.foreground-flora{z-index:4}.weather-canvas{z-index:5}.rain-cursor{z-index:8}.sky-layer{--sky-top: #fcd1a1;--sky-mid: #f7a2a0;--sky-bot: #6e5a8a;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 55%,var(--sky-bot) 100%);transition:background 60ms linear}.mountains-layer{overflow:hidden}.mountains{position:absolute;left:0;right:0;bottom:0;width:100%;height:38vh;display:block}.mountains__far{height:28vh;bottom:6vh}.mountains__mid{height:32vh;bottom:2vh}.mountains__near{height:36vh;bottom:-1vh}.ocean-layer{overflow:hidden;opacity:0;will-change:opacity}.ocean{position:absolute;left:0;bottom:0;width:200vw;height:38vh;display:block;will-change:transform}.ocean--far{height:22vh;bottom:8vh;animation:ocean-drift 22s linear infinite}.ocean--mid{height:28vh;bottom:3vh;animation:ocean-drift 14s linear infinite}.ocean--near{height:34vh;bottom:-2vh;animation:ocean-drift 9s linear infinite}@keyframes ocean-drift{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.celestial-layer{overflow:hidden}.celestial{position:absolute;top:0;left:0;border-radius:50%;pointer-events:none;will-change:transform,width,height;contain:layout paint}.celestial__halo{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;border-radius:50%;filter:blur(2px);transform-origin:center}.celestial__body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.celestial__craters{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;pointer-events:none}.celestial__craters>span{position:absolute;border-radius:50%;background:#786e5a57;box-shadow:inset 1px 1px 2px #3c321e66}.celestial[data-moon=true]{pointer-events:auto;cursor:pointer}.moon-hotspot{position:fixed;border:0;background:transparent;border-radius:50%;padding:0;margin:0;z-index:11;opacity:0;pointer-events:none;transition:opacity .4s ease;cursor:pointer}.moon-hotspot:after{content:"";position:absolute;top:14%;right:14%;bottom:14%;left:14%;border-radius:50%;background:radial-gradient(circle,#fff8e61a,#fff8e600 65%);opacity:0;transition:opacity .28s ease;pointer-events:none}.moon-hotspot.is-active{opacity:1;pointer-events:auto}.moon-hotspot.is-active:hover:after,.moon-hotspot.is-active:focus-visible:after{opacity:1}.moon-hotspot:focus-visible{outline:none}.moon-hint{margin:28px 0 0;font-style:italic;font-size:13px;letter-spacing:.04em;color:#fffae68c;animation:moon-hint-pulse 4s ease-in-out infinite}@keyframes moon-hint-pulse{0%,to{opacity:.55}50%{opacity:.95}}.constellation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:radial-gradient(ellipse at 50% 55%,#0b1126,#04050f 70%);opacity:0;pointer-events:none;transition:opacity .7s ease;display:flex;align-items:center;justify-content:center}.constellation-overlay.is-open{opacity:1;pointer-events:auto}.constellation-overlay__stars,.constellation-overlay__map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.constellation-overlay__stars .bg-star{fill:#f4f1ff;opacity:.55;animation:bg-star-twinkle 3s ease-in-out infinite}@keyframes bg-star-twinkle{0%,to{opacity:.18}50%{opacity:.85}}.constellation{opacity:0;animation:constellation-in 1.1s ease forwards}@keyframes constellation-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.constellation__line{stroke:#b4c8ff8c;stroke-width:.12;stroke-linecap:round;fill:none}.constellation__star{fill:#fff5d8;filter:drop-shadow(0 0 .4px rgba(255,240,200,.9))}.constellation__label{fill:#dcdcff9e;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.4px;letter-spacing:.08px;font-style:italic}.constellation-hint{position:absolute;bottom:6vh;left:50%;transform:translate(-50%);margin:0;color:#dce1f08c;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-style:italic}.constellation-hint kbd{font-family:inherit;font-style:normal;padding:1px 6px;border:1px solid rgba(220,225,240,.35);border-radius:4px}.app-root.constellation-open .layer:not(.celestial-layer),.app-root.constellation-open .page,.app-root.constellation-open .nav{transition:opacity .6s ease,filter .6s ease;opacity:0;pointer-events:none}.app-root.constellation-open .celestial-layer{z-index:91;overflow:visible}.app-root.constellation-open .moon-hotspot{z-index:92}.nav{--nav-accent: #fff0c4;--nav-ink: #fff3df;position:fixed;top:50%;right:clamp(16px,3vw,36px);transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;gap:14px;padding:18px 14px;border-radius:999px;background:#14141e2e;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 36px #00000047}.nav__item{position:relative;display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:transparent;border:0;padding:0;color:var(--nav-ink)}.nav__dot{width:8px;height:8px;border-radius:50%;background:var(--nav-accent);opacity:.5;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .28s ease,box-shadow .28s ease}.nav__item:hover .nav__dot,.nav__item--active .nav__dot{opacity:1;transform:scale(1.6);box-shadow:0 0 18px var(--nav-accent)}.nav__label{position:absolute;right:28px;white-space:nowrap;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--nav-ink);opacity:0;transform:translate(10px);transition:opacity .22s ease,transform .28s cubic-bezier(.2,.7,.2,1);pointer-events:none}.nav__item:hover .nav__label,.nav__item--active .nav__label{opacity:.95;transform:translate(0)}@media (max-width: 720px){.scene{padding-bottom:max(140px,env(safe-area-inset-bottom,0px) + 120px)}.nav{top:auto;right:auto;bottom:max(clamp(14px,3vh,28px),env(safe-area-inset-bottom,0px) + 12px);left:50%;transform:translate(-50%);flex-direction:row;gap:18px;padding:12px 18px}.nav__item{width:18px;height:18px}.nav__label{right:auto;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);font-size:10px;letter-spacing:.26em;background:#14141e8c;padding:4px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav__item:hover .nav__label,.nav__item--active .nav__label{transform:translate(-50%)}}@media (max-width: 720px) and (pointer: coarse){.nav__item:hover .nav__label{opacity:0}.nav__item--active .nav__label{opacity:.95}}.custom-cursor-halo,.custom-cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:200;will-change:transform;border-radius:50%}.custom-cursor-halo{width:36px;height:36px;margin:-18px 0 0 -18px;border:1.4px solid rgba(255,255,255,.7);background:#ffffff0f;transition:border-color .28s ease,background .28s ease;mix-blend-mode:screen}.custom-cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff}body.is-magnetic .custom-cursor-dot{width:10px;height:10px;margin:-5px 0 0 -5px;transition:width .2s ease,height .2s ease,margin .2s ease}.intro-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none;overflow:hidden}.intro-curtain__panel{position:absolute;left:0;right:0;height:51%}.intro-curtain__panel--top{top:0;background:linear-gradient(180deg,#2a1f4a,#5b3f6e 55%,#c97a82)}.intro-curtain__panel--bot{bottom:0;background:linear-gradient(180deg,#c97a82,#e6a06e,#f9c98a 70%,#ffd9a8)}.intro-curtain__glow{position:absolute;left:50%;top:50%;width:min(80vw,720px);height:min(80vw,720px);margin:calc(min(80vw,720px)/-2) 0 0 calc(min(80vw,720px)/-2);border-radius:50%;background:radial-gradient(circle,#fff0c8d9,#ffc88c73,#ffb47800 70%);filter:blur(2px);opacity:0;will-change:transform,opacity}.intro-curtain__mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff7e6;font-size:12px;letter-spacing:.32em;text-transform:uppercase;z-index:1;opacity:0;text-shadow:0 0 18px rgba(255,220,170,.85)}.scene{position:relative;z-index:10;min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(80px,12vh,140px) clamp(24px,6vw,80px);scroll-margin-top:0}.scene__deck{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.scene__content{position:relative;z-index:11;width:100%;max-width:920px}.scene__content--center{text-align:center}.scene__content--left{text-align:left}.scene__eyebrow{display:inline-block;font-size:11px;letter-spacing:.36em;text-transform:uppercase;opacity:.85;margin-bottom:18px;border-bottom:1px solid currentColor;padding-bottom:4px}.scene__title{font-size:clamp(40px,7vw,92px);line-height:1.02;font-weight:400;margin:0 0 22px;letter-spacing:-.012em;text-shadow:0 2px 24px rgba(0,0,0,.35),0 0 32px rgba(20,20,40,.32)}.scene__lede{font-size:clamp(18px,1.6vw,22px);line-height:1.55;max-width:640px;margin:0 0 28px;opacity:.94;text-shadow:0 1px 14px rgba(0,0,0,.4),0 0 22px rgba(20,20,40,.3)}.scene__content--center .scene__lede{margin-left:auto;margin-right:auto}.scene__body{font-size:clamp(15px,1.15vw,17px);line-height:1.65;max-width:580px;opacity:.85;text-shadow:0 1px 12px rgba(0,0,0,.35)}.scene__eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.35)}.dawn-signature{display:inline-flex;align-items:center;gap:14px;margin-top:28px;font-size:12px;letter-spacing:.36em;text-transform:uppercase;opacity:.85}.dawn-signature__line{width:64px;height:1px;background:currentColor;opacity:.6}.foreground-flora{overflow:hidden}.flora-group{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity .12s linear}.flora{position:absolute;bottom:0;display:block;will-change:transform}.storm-flash{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:screen;pointer-events:none}.storm-bolts{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.night-stars{position:absolute;top:0;right:0;bottom:0;left:0}.night-star{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 6px #ffffffbf}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:40px;width:100%}.card{position:relative;padding:22px 22px 26px;border-radius:16px;background:#14192847;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);transition:transform .32s cubic-bezier(.2,.7,.2,1),background .32s ease,border-color .32s ease;color:#fff}.card:hover{transform:translateY(-6px);background:#28325061;border-color:#ffffff57}.card__kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.78;margin-bottom:8px}.card__title{font-size:22px;margin:0 0 8px;font-weight:500;line-height:1.15}.card__body{font-size:14px;line-height:1.55;opacity:.86;margin:0}.card--link{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}.experience-list{display:flex;flex-direction:column;gap:18px;margin-top:40px;width:100%}.experience{position:relative;padding:26px 28px 28px;border-radius:16px;background:#14192847;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);transition:transform .32s cubic-bezier(.2,.7,.2,1),background .32s ease,border-color .32s ease;color:#fff}.experience:hover{transform:translateY(-4px);background:#28325057;border-color:#ffffff4d}.experience__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}.experience__company{margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:500;letter-spacing:-.01em;line-height:1.1}.experience__meta{display:inline-flex;flex-wrap:wrap;gap:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.78}.experience__roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.role{position:relative;padding:16px 18px 18px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);transition:background .24s ease,border-color .24s ease}.role:hover{background:#ffffff12;border-color:#ffffff2e}.role__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-bottom:4px}.role__title{font-size:16px;font-weight:500;letter-spacing:.005em}.role__period{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.7;white-space:nowrap}.role__team{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.62;margin-bottom:10px}.role__body{font-size:14.5px;line-height:1.6;opacity:.88;margin:0}@media (max-width: 600px){.experience{padding:22px 20px}.role{padding:14px 14px 16px}.role__head{flex-direction:column;align-items:flex-start;gap:2px}}.card__more{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.78;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.7,.2,1)}.card--link:hover .card__more{opacity:1;transform:translate(4px)}.contact-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.contact-link{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:#14192847;border:1px solid rgba(255,255,255,.28);font-size:14px;letter-spacing:.06em;transition:background .24s ease,transform .28s cubic-bezier(.2,.7,.2,1),border-color .24s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.contact-link:hover{background:#3c466e6b;border-color:#ffffff8c;transform:translateY(-3px)}.footnote{position:relative;z-index:11;padding:28px;text-align:center;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#ffffffa6;background:#04050f8c}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (pointer: coarse){.custom-cursor-halo,.custom-cursor-dot{display:none}body.has-custom-cursor,body.has-custom-cursor *{cursor:auto!important}}
