:root{--bg:#101421;--sky-top:#0b1020;--sky-bottom:#1b2540;--text:#e9ecf4;--text-soft:#a9b1c6;--text-faint:#6f7893;--eyebrow:#ff5c8a;--accent:#ffcb47;--link:#8fb4ff;--mark-bg:#ffcb472e;--hover:#8fb4ff0f;--pill-bg:#8fb4ff1f;--pill-text:#a9c5ff;--line:#ffffff14;--m-far:#26314f;--m-mid:#1a2238;--m-near:#141a2c;--m-front:var(--bg);--snow:#c9d3ee;--orb:#f4f1e6;--orb-glow:#f4f1e60b;--stars:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fdf8f1;--sky-top:#ffd7b0;--sky-bottom:#fff1e0;--text:#1e2233;--text-soft:#4c5368;--text-faint:#858aa0;--eyebrow:#e2336b;--accent:#c47f00;--link:#2f5fd0;--mark-bg:#ffba3b59;--hover:#2f5fd00d;--pill-bg:#2f5fd017;--pill-text:#2f5fd0;--line:#1e22331a;--m-far:#b8a6c9;--m-mid:#d7a99b;--m-near:#e9c3a4;--m-front:var(--bg);--snow:#fff;--orb:#ff9f43;--orb-glow:#ff9f4338;--stars:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:17px/1.7 Figtree,Segoe UI,system-ui,sans-serif;transition:background-color .4s,color .4s}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}.logo,h1,h2,h3{font-family:Bricolage Grotesque,Figtree,system-ui,sans-serif}.wrap{max-width:1120px;margin:0 auto;padding-inline:24px}.sky{background:linear-gradient(var(--sky-top),var(--sky-bottom));transition:background .5s}.footer,.hero,.sky,.topbar{position:relative}.topbar{z-index:2;gap:32px;padding-block:28px;display:flex}.logo,.topbar{align-items:center}.logo{letter-spacing:-.02em;color:var(--link);gap:4px;font-size:1.45rem;font-weight:800;display:inline-flex}.icon-btn:hover,.logo:hover{text-decoration:none}.logo-peak{fill:none;width:22px;height:16px;stroke:var(--accent);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.logo:hover .logo-peak{transform:translateY(-3px)rotate(-8deg)}.nav{gap:26px;display:flex}.nav a{color:var(--text);font-weight:500}.actions{gap:6px;margin-left:auto;display:flex}.icon-btn{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--hover)}.theme-toggle .rays{transform-origin:12px 12px;transition:opacity .3s,transform .5s}.theme-toggle .mask-c{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}.theme-toggle svg.dark .rays{opacity:0;transform:rotate(-45deg)scale(.6)}.theme-toggle svg:not(.dark) .mask-c{transform:translate(10px,-10px)}.theme-toggle .core{transition:r .4s}.theme-toggle svg:not(.dark) .core{r:5}.hero{z-index:1;padding-block:56px 0}.hello{color:var(--text-soft);margin:0;font-size:1.25rem;font-weight:500}.hero h1{letter-spacing:-.035em;margin:4px 0 22px;font-size:calc(clamp(3rem,9vw,6.2rem));line-height:.95}.wave{transform-origin:70% 80%;vertical-align:.25em;margin-left:.2em;font-size:.55em;display:inline-block}.hero h1:hover .wave{animation:1s wave}.tagline{max-width:34ch;color:var(--text-soft);margin:0;font-size:calc(clamp(1.15rem,2.2vw,1.4rem))}.tagline mark{background:linear-gradient(transparent 55%,var(--mark-bg) 55%);color:var(--text);padding:0 .1em}.place{color:var(--text);font-weight:600}.mountains{width:100%;height:calc(clamp(220px,32vw,460px));margin-top:-40px;display:block}.mountains .m-far{fill:var(--m-far);transition:fill .5s}.mountains .m-mid{fill:var(--m-mid);transition:fill .5s}.mountains .alhambra rect,.mountains .m-near path{fill:var(--m-near);transition:fill .5s}.mountains .m-front{fill:var(--m-front);transition:fill .5s}.mountains .snow{fill:var(--snow);transition:fill .5s}.mountains .stars circle{fill:#fff;opacity:calc(var(--stars) * .8);animation:3.2s ease-in-out infinite twinkle;animation-delay:var(--d,0s);transition:opacity .6s}.mountains .orb-body{fill:var(--orb);transition:fill .5s}.mountains .orb-glow{fill:var(--orb-glow);transition:fill .5s}.mountains .moon-bite,.mountains .orb{transition:transform .8s cubic-bezier(.3,1.2,.4,1)}:root[data-theme=light] .mountains .moon-bite{transform:translate(120px,-120px)}.ground{background:var(--bg);transition:background .4s}.layout{grid-template-columns:minmax(0,1fr) 300px;gap:80px;padding-block:24px 40px;display:grid}.main>section{margin-bottom:72px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 22px;font-family:Figtree,system-ui,sans-serif;font-size:.82rem;font-weight:700}.prose{color:var(--text-soft);max-width:62ch;margin:0 0 16px}.prose strong{color:var(--text);font-weight:600}.exp-list{gap:6px;margin:0 0 18px;padding:0;list-style:none;display:grid}.exp{border-radius:10px;grid-template-columns:140px 1fr;gap:20px;margin-inline:-18px;padding:18px;transition:background .2s;display:grid}.exp:hover{background:var(--hover)}.exp-period{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding-top:5px;font-size:.78rem;font-weight:600}.exp h3{margin:0 0 6px;font-size:1.12rem}.exp-role{font-family:Figtree,system-ui,sans-serif;font-size:1rem;font-weight:500}.exp p,.exp-role{color:var(--text-soft)}.exp p{margin:0 0 12px;font-size:.97rem}.pills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pills li{background:var(--pill-bg);color:var(--pill-text);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:600}.pills.outline li{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:8px;padding:5px 12px;font-weight:500}.arrow-link{color:var(--text);gap:6px;font-weight:700;display:inline-flex}.arrow-link span{transition:transform .2s}.arrow-link:hover span{transform:translate(3px,-3px)}.project{margin-bottom:44px}.project-year{color:var(--text-faint);letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:600}.project h3{letter-spacing:-.02em;margin:2px 0;font-size:1.55rem}.project-sub{color:var(--accent);margin:0 0 12px;font-weight:600}.project>p:not(.project-sub):not(.project-year){color:var(--text-soft);max-width:62ch;margin:0 0 12px}.how{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 0;font-weight:700;display:inline-flex}.how-icon{background:var(--pill-bg);width:22px;height:22px;color:var(--pill-text);border-radius:6px;place-items:center;line-height:1;transition:transform .3s cubic-bezier(.3,1.6,.5,1);display:grid}.how-icon.open{transform:rotate(45deg)}.project-detail{border-left:3px solid var(--accent);margin-top:12px;padding:4px 0 4px 20px}.project-detail ol{color:var(--text-soft);margin:0 0 12px;padding-left:20px}.project-detail li{margin-bottom:4px}.project-detail li::marker{color:var(--accent);font-weight:700}.result{margin:0 0 6px;font-weight:600}.result span{text-transform:uppercase;letter-spacing:.14em;color:var(--eyebrow);margin-right:8px;font-size:.72rem}.tools-line{color:var(--text-faint);margin:0 0 8px;font-size:.9rem}.side{flex-direction:column;gap:48px;padding-top:4px;display:flex}.side-block p{color:var(--text-soft);margin:0;font-size:.97rem}.arrows a,.side-block strong{color:var(--text)}.arrows{gap:12px;margin:0;padding:0;list-style:none;display:grid}.arrows li{grid-template-columns:22px 1fr;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:1.02rem;font-weight:600;line-height:1.35;display:grid}.arrows li span{color:var(--text-faint);transition:transform .2s}.arrows li:hover span{color:var(--accent);transform:translate(4px)}.contact{text-align:center;padding-block:40px 80px}.contact h2{letter-spacing:-.03em;margin:0 0 12px;font-size:calc(clamp(2rem,5vw,3rem))}.contact p{color:var(--text-soft);max-width:52ch;margin:0 auto 16px}.contact .mail a{color:var(--accent);font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:calc(clamp(1.2rem,3vw,1.6rem));font-weight:700}.footer{background:var(--m-near);transition:background .5s}.footer-hills{width:100%;height:60px;display:block;position:absolute;bottom:100%;left:0}.footer-hills path{fill:var(--m-near);transition:fill .5s}.footer-inner{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:28px 36px;font-size:.88rem;display:flex}@keyframes twinkle{0%,to{opacity:calc(var(--stars) * .85)}50%{opacity:calc(var(--stars) * .25)}}@keyframes wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(16deg)}40%,80%{transform:rotate(-8deg)}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}html{scroll-behavior:auto}}@media (width<=900px){.layout{grid-template-columns:1fr;gap:0}.side{gap:36px;margin-bottom:56px}.nav{display:none}}@media (width<=560px){body{font-size:16px}.topbar{padding-block:18px}.exp{grid-template-columns:1fr;gap:4px}.hero{padding-top:28px}}
