@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&display=swap";:root{color-scheme:light;--font-heading: "Century Gothic", "Avenir Next", "Montserrat", sans-serif;--font-body: "Arial", "Roboto Condensed", "Helvetica Neue", sans-serif;--font-mono: "Roboto Mono", "Courier New", Courier, monospace;--ink: #17324a;--muted: #4d677b;--accent: #145f8b;--surface: rgba(251, 253, 254, .64);--surface-strong: rgba(250, 253, 255, .78);--border: rgba(35, 84, 115, .16);--shadow: 0 18px 50px rgba(42, 91, 119, .12);--button-active: #164f72;--button-active-text: #f7fbff;--radius: 1.5rem}:root[data-theme=sunset]{color-scheme:light;--ink: #472529;--muted: #74454a;--accent: #9c342d;--surface: rgba(255, 247, 236, .66);--surface-strong: rgba(255, 248, 238, .8);--border: rgba(117, 46, 42, .18);--shadow: 0 18px 50px rgba(108, 43, 40, .14);--button-active: #a33a2f;--button-active-text: #fff8ef}:root[data-theme=night]{color-scheme:dark;--ink: #f1f5ff;--muted: #c2cde1;--accent: #9fcaff;--surface: rgba(8, 25, 54, .6);--surface-strong: rgba(8, 25, 54, .74);--border: rgba(184, 209, 255, .17);--shadow: 0 20px 56px rgba(1, 7, 20, .32);--button-active: #e7efff;--button-active-text: #112343}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#dcecf5}html[data-theme=sunset]{background:#d98c78}html[data-theme=night]{background:#071b43}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:transparent;font-family:var(--font-body);text-rendering:optimizeLegibility;transition:color .7s ease}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,white);outline-offset:3px}.atmosphere{position:fixed;inset:0;z-index:-2;overflow:hidden;background:#dcecf5}.scene-layer,.scene-wash{position:absolute;inset:0}.scene-layer{background-position:center bottom;background-repeat:no-repeat;background-size:cover;opacity:0;transform:scale(1.025);transition:opacity 1s ease,transform 1.3s ease}:root[data-theme=day] .scene-day,:root[data-theme=sunset] .scene-sunset,:root[data-theme=night] .scene-night{opacity:1;transform:scale(1)}.scene-wash{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 34%),linear-gradient(90deg,rgba(250,253,255,.14),transparent 24%,transparent 76%,rgba(250,253,255,.08));transition:background .7s ease}:root[data-theme=sunset] .scene-wash{background:linear-gradient(180deg,rgba(92,29,37,.08),transparent 48%,rgba(64,25,35,.08))}:root[data-theme=night] .scene-wash{background:linear-gradient(180deg,#020a1b14,#020b1b2e)}.sun-orb,.moon-orb,.drift-cloud,.plane-runner,.bird-runner,.ship-runner,.shooting-star,.twinkle{position:absolute;z-index:2;pointer-events:none}.sun-orb,.moon-orb{width:clamp(3.5rem,6vw,5.5rem);height:clamp(3.5rem,6vw,5.5rem);border-radius:50%;transition:left 1.8s cubic-bezier(.45,0,.2,1),top 1.8s cubic-bezier(.45,0,.2,1),opacity .9s ease,background .9s ease,box-shadow .9s ease}.sun-orb{left:84%;top:10%;background:#fff1a8;box-shadow:0 0 28px 10px #ffef9e80,0 0 72px 26px #ffef9e33;opacity:.96}:root[data-theme=sunset] .sun-orb{left:84%;top:37%;background:#e95836;box-shadow:0 0 26px 9px #ee59366b,0 0 68px 25px #ff934c2e}:root[data-theme=night] .sun-orb{left:86%;top:86%;opacity:0}.moon-orb{left:88%;top:85%;background:#f5f8ff;box-shadow:0 0 24px 7px #e0ebff61,0 0 62px 22px #b7d0ff2e;opacity:0;-webkit-mask:radial-gradient(circle at 68% 38%,transparent 0 42%,#000 43%);mask:radial-gradient(circle at 68% 38%,transparent 0 42%,#000 43%)}:root[data-theme=sunset] .moon-orb{left:87%;top:85%;opacity:0}:root[data-theme=night] .moon-orb{left:84%;top:10%;opacity:1;animation:moon-rise 1.8s cubic-bezier(.45,0,.2,1) both}.drift-cloud{--cloud-scale: 1;left:-28vw;width:clamp(20rem,34vw,34rem);height:auto;opacity:.64;filter:drop-shadow(0 7px 10px rgba(53,92,124,.1));animation:cloud-drift 92s linear infinite;transition:opacity .7s ease,filter .7s ease}:root[data-theme=sunset] .drift-cloud{opacity:.48;filter:sepia(.42) saturate(1.25) hue-rotate(324deg) drop-shadow(0 7px 10px rgba(107,48,48,.12))}:root[data-theme=night] .drift-cloud{opacity:.36;filter:brightness(.68) saturate(.82) hue-rotate(8deg) drop-shadow(0 7px 12px rgba(2,10,31,.24))}.cloud-one{top:18%;animation-delay:-16s}.cloud-two{--cloud-scale: .72;top:33%;animation-duration:118s;animation-delay:-47s}.cloud-three{--cloud-scale: .5;top:7%;opacity:.42;animation-duration:144s;animation-delay:-85s}.plane-runner{top:17%;left:0;display:flex;align-items:center;width:clamp(7.5rem,11vw,11rem);filter:drop-shadow(0 4px 4px rgba(42,79,104,.2));animation:fly-across 34s linear -6s infinite;transition:opacity .5s ease}.plane-runner img,.bird-runner img,.ship-runner img{display:block;width:100%;height:auto}.contrail{position:absolute;top:64%;right:calc(100% - 1.25rem);width:15vw;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58));filter:blur(1.4px)}:root:not([data-theme=day]) .plane-runner{opacity:0}.bird-runner{top:45%;left:0;width:clamp(6rem,10vw,10rem);opacity:.7;filter:drop-shadow(0 3px 3px rgba(32,48,62,.12));animation:birds-across 48s linear -34s infinite;transition:opacity .5s ease}:root[data-theme=sunset] .bird-runner{opacity:.9}:root[data-theme=night] .bird-runner{opacity:0}.ship-runner{bottom:5.3%;left:0;width:clamp(8rem,13vw,13rem);filter:drop-shadow(0 4px 4px rgba(12,35,55,.24));animation:sail-across 62s linear -18s infinite}.shooting-star{top:16%;left:-14%;width:7rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92));box-shadow:0 0 8px #dbeaffcc;opacity:0;transform:rotate(17deg)}:root[data-theme=night] .shooting-star{animation:shooting-star 11s ease-in 4s infinite}.twinkle{width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 10px #dbe9ff;opacity:0}.twinkle-one{top:15%;left:21%}.twinkle-two{top:27%;right:31%;animation-delay:.7s}.twinkle-three{top:10%;right:16%;animation-delay:1.4s}:root[data-theme=night] .twinkle{animation:twinkle 2.8s ease-in-out infinite alternate}.top-nav{position:sticky;top:1rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(1120px,calc(100% - 2rem));margin:1rem auto 0;padding:.65rem .75rem .65rem 1.15rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);box-shadow:0 10px 34px #0f23381a;backdrop-filter:blur(16px) saturate(120%);transition:background .7s ease,border-color .7s ease}.wordmark{flex:0 0 auto;color:var(--ink);font-family:var(--font-heading);font-size:1.03rem;font-weight:650;letter-spacing:-.02em;text-decoration:none}.top-nav-controls,.top-nav nav,.theme-toggle{display:flex;align-items:center}.top-nav-controls{gap:clamp(.75rem,2vw,1.5rem)}.top-nav nav{gap:clamp(.7rem,1.8vw,1.25rem)}.top-nav nav a{color:var(--muted);font-size:.82rem;font-weight:600;text-decoration:none;transition:color .18s ease}.top-nav nav a:hover{color:var(--ink)}.theme-toggle{position:relative;gap:.2rem}.theme-toggle button{position:relative;display:grid;width:2.35rem;height:2.35rem;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:transform .18s ease,color .2s ease,background .25s ease}.theme-toggle button:hover{color:var(--ink);transform:translateY(-1px)}.theme-toggle button[aria-pressed=true]{color:var(--button-active-text);background:var(--button-active)}.theme-icon{display:block;width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon-moon{fill:currentColor;stroke:none}.theme-toggle button[data-tooltip]:hover:after,.theme-toggle button[data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;top:calc(100% + .7rem);right:-2.7rem;z-index:40;width:min(270px,72vw);padding:.6rem .75rem;border:1px solid var(--border);border-radius:.8rem;background:color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:var(--shadow);color:var(--ink);font-size:.74rem;font-weight:600;line-height:1.4;text-align:left;pointer-events:none;backdrop-filter:blur(14px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(4.5rem,10vw,8.5rem) 0 7rem}.hero,.section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);transition:background .7s ease,border-color .7s ease,box-shadow .7s ease}.hero{max-width:860px;padding:clamp(2rem,6vw,4.5rem);border-radius:2rem}.eyebrow,.kicker{margin:0 0 1rem;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:var(--font-heading)}h1{max-width:760px;margin-bottom:1.4rem;font-size:clamp(3.9rem,9vw,7.6rem);font-weight:500;line-height:.88;letter-spacing:-.055em}.hero-name-primary{color:var(--accent)}.hero-name-secondary{display:inline-block;color:var(--ink);white-space:nowrap}.lede{max-width:630px;margin-bottom:1.3rem;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65}.hero-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;color:var(--muted);font-family:var(--font-mono);font-size:.9rem}.hero-meta span+span:before{content:"·";margin-right:1.4rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.btn{padding:.75rem 1rem;border:1px solid var(--border);border-radius:999px;font-size:.86rem;font-weight:700;text-decoration:none;transition:transform .18s ease,background .25s ease,color .25s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{border-color:transparent;background:var(--button-active);color:var(--button-active-text)}.btn.secondary{background:color-mix(in srgb,var(--surface-strong) 66%,transparent);color:var(--ink)}.section{scroll-margin-top:7rem;margin-top:clamp(5rem,14vw,10rem);padding:clamp(1.5rem,5vw,3.5rem);border-radius:2rem}.section-heading{max-width:760px;margin-bottom:2.25rem}h2{margin:0 0 .85rem;font-size:clamp(2.35rem,5vw,4.25rem);font-weight:500;line-height:1.02;letter-spacing:-.035em}.subtitle{max-width:70ch;margin-bottom:0;color:var(--muted);font-size:.98rem;line-height:1.65}.stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.stack-grid>:last-child:nth-child(odd){grid-column:1 / -1}.card{padding:clamp(1.15rem,3vw,1.65rem);border:1px solid var(--border);border-radius:1.25rem;background:color-mix(in srgb,var(--surface-strong) 72%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 7%,transparent)}.card h3{margin:0 0 .4rem;font-size:clamp(1.35rem,2.5vw,1.7rem);font-weight:600;letter-spacing:-.02em}.card p{margin-bottom:1rem;line-height:1.68}.card p:last-child{margin-bottom:0}#about .card p,#about .subtitle,#contact .subtitle,#experience,#projects{font-family:var(--font-mono)}.card-header p{margin:.25rem 0;color:var(--muted);font-size:.9rem}.muted{color:var(--muted);font-family:var(--font-mono);font-size:.75rem!important}ul{margin:1.25rem 0 1.5rem;padding-left:1.2rem}li{margin-bottom:.7rem;color:color-mix(in srgb,var(--ink) 88%,var(--muted));line-height:1.58}li::marker{color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.chip{padding:.36rem .62rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 76%,var(--accent) 6%);color:var(--ink);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.01em}.link-row{display:flex;flex-wrap:wrap;gap:1rem}.link-row a,.contact-card a{color:var(--accent);font-weight:700;text-decoration:none}.link-row a:hover,.contact-card a:hover{text-decoration:underline;text-underline-offset:.2em}.contact-card{display:flex;flex-direction:column;gap:1rem}.contact-card p{margin:0;font-family:var(--font-mono);font-size:.9rem}.reveal{opacity:1;transform:none}@keyframes cloud-drift{0%{transform:translateZ(0) scale(var(--cloud-scale))}to{transform:translate3d(150vw,0,0) scale(var(--cloud-scale))}}@keyframes moon-rise{0%,50%{left:87%;top:85%;opacity:0}68%{left:85%;top:25%;opacity:.55}to{left:84%;top:10%;opacity:1}}@keyframes fly-across{0%{transform:translate3d(-22vw,4vh,0) rotate(-3deg)}45%{transform:translate3d(48vw,-2vh,0) rotate(1deg)}to{transform:translate3d(122vw,-7vh,0) rotate(-3deg)}}@keyframes birds-across{0%{transform:translate3d(-16vw,1.5vh,0) scale(.88)}50%{transform:translate3d(52vw,-1vh,0) scale(1)}to{transform:translate3d(120vw,.5vh,0) scale(.92)}}@keyframes sail-across{0%{transform:translate3d(-16vw,0,0)}50%{transform:translate3d(52vw,-2px,0)}to{transform:translate3d(120vw,0,0)}}@keyframes shooting-star{0%,72%{opacity:0;transform:translateZ(0) rotate(17deg)}75%{opacity:1}82%,to{opacity:0;transform:translate3d(130vw,34vh,0) rotate(17deg)}}@keyframes twinkle{0%{opacity:.15;transform:scale(.7)}to{opacity:.95;transform:scale(1.25)}}@media(max-width:860px){.top-nav{align-items:flex-start;flex-wrap:wrap;border-radius:1.4rem;padding:.85rem 1rem}.top-nav-controls{flex:1 1 100%;justify-content:space-between;width:100%}.stack-grid{grid-template-columns:1fr}.stack-grid>:last-child:nth-child(odd){grid-column:auto}}@media(max-width:620px){.top-nav{top:.5rem;display:grid;grid-template-columns:1fr auto;align-items:center;width:calc(100% - 1rem);margin-top:.5rem}.top-nav-controls{display:contents}.top-nav nav{grid-row:2;grid-column:1 / -1;justify-content:space-between;width:100%;max-width:none;gap:.55rem;padding:.45rem 0}.top-nav nav a{flex:0 0 auto;font-size:.76rem}.theme-toggle{grid-row:1;grid-column:2}.theme-toggle button[data-tooltip]:hover:after,.theme-toggle button[data-tooltip]:focus-visible:after{right:-2.6rem;width:min(245px,82vw)}.container{width:calc(100% - 1rem);padding-top:4rem}.hero,.section{border-radius:1.5rem}.hero{padding:2.1rem 1.25rem}h1{font-size:clamp(3rem,18vw,4.8rem);line-height:.92}.hero-meta{flex-direction:column;gap:.4rem}.hero-meta span+span:before{content:none}.section{margin-top:5rem;padding:1.35rem}.section-heading{margin-bottom:1.5rem}.card{border-radius:1rem}.scene-layer{background-position:61% bottom}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.drift-cloud,.plane-runner,.bird-runner,.ship-runner,.shooting-star,.twinkle{animation:none!important}.cloud-one{left:12%}.cloud-two{left:54%;transform:scale(var(--cloud-scale))}.cloud-three{left:76%;transform:scale(var(--cloud-scale))}.plane-runner{left:22%}.bird-runner{left:72%}.ship-runner{left:66%}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
