@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#09060d;--paper:#f4f0ea;--muted:#b9b0be;--violet:#4f196e;--rose:#bc3458;--orange:#f06c1b}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{color:var(--paper);background:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}::selection{color:#130711;background:#ed7b30}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{border:3px solid var(--ink);background:#5b285e;border-radius:99px}.hero{isolation:isolate;background:linear-gradient(104deg,#07040a 0%,#13061c 23%,#49126b 47%,#be3654 72%,#ed6d1b 100%);min-height:100svh;position:relative;overflow:hidden}nav{z-index:3;text-transform:uppercase;letter-spacing:.13em;justify-content:space-between;align-items:center;padding:28px 5.5vw;font-size:.74rem;display:flex;position:relative}nav>div{gap:28px;display:flex}nav a{opacity:.8;transition:opacity .2s}nav a:hover{opacity:1}.wordmark{font-size:1.25rem;font-weight:800;letter-spacing:-.08em!important;opacity:1!important}.wordmark span{color:#ff9e48}.hero-copy{z-index:2;width:min(670px,56vw);padding:13vh 5.5vw 10vh;position:relative}.availability{letter-spacing:.08em;text-transform:uppercase;color:#d6c8dd;align-items:center;gap:10px;font:500 .69rem/1.4 DM Mono,monospace;display:flex}.availability span{background:#ffb65e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 16px #ffad41}.hero h1,.section-head h2,.resume-intro h2{letter-spacing:-.08em;margin:28px 0 33px;font-size:clamp(5rem,11vw,10.5rem);font-weight:800;line-height:.78}.hero h1 em,.section-head em,.resume-intro em{letter-spacing:-.1em;font-family:Playfair Display,Georgia,serif;font-weight:600}.intro{color:#eee6ee;max-width:520px;font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.65}.hero-actions{align-items:center;gap:30px;margin-top:38px;display:flex}.primary{color:#120b16;letter-spacing:.04em;text-transform:uppercase;background:#f4eee9;align-items:center;gap:14px;padding:15px 19px;font-size:.75rem;font-weight:800;transition:transform .25s,background .25s;display:inline-flex}.primary:hover{background:#fff;transform:translateY(-3px)}.primary svg,.text-link svg,footer svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:17px;height:17px}.text-link{letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #ffffff73;align-items:center;gap:10px;padding-bottom:6px;font-size:.76rem;display:inline-flex}.floating-lights{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.light{mix-blend-mode:screen;border-radius:50%;display:block;position:absolute}.light-violet{background:radial-gradient(circle,#d58dff 0,#7b26c9 34%,#0000 70%);width:58vw;height:58vw;top:-28%;left:20%}.light-rose{background:radial-gradient(circle,#ff9093 0,#bc2b56 35%,#0000 71%);width:66vw;height:66vw;bottom:-39%;right:-18%}.light-amber{background:radial-gradient(circle,#ffca67 0,#ed681f 38%,#0000 72%);width:48vw;height:48vw;bottom:-23%;left:-18%}.light-ray{filter:blur(12px);transform-origin:50%;background:linear-gradient(90deg,#0000,#ffe8d2,#0000);width:112%;height:112px;display:block;position:absolute;left:-8%}.ray-one{top:18%;transform:rotate(-29deg)}.ray-two{top:49%;transform:rotate(34deg)}.ray-three{top:77%;transform:rotate(-10deg)}.floating-lights p{letter-spacing:.12em;text-transform:uppercase;color:#fff5e8;font:500 .61rem DM Mono,monospace;position:absolute;top:11%;right:22%;transform:rotate(-11deg)}.scroll-note{text-transform:uppercase;letter-spacing:.1em;z-index:2;align-items:center;gap:10px;font:500 .65rem DM Mono,monospace;display:flex;position:absolute;bottom:26px;left:5.5vw}.scroll-note span{border-top:1px solid;width:39px}.manifesto{color:#140b17;background:#f1e9e2;padding:clamp(80px,14vw,200px) 12vw}.manifesto p{letter-spacing:-.045em;max-width:1110px;margin:0;font:500 clamp(1.75rem,4.05vw,4.7rem)/1.12 Playfair Display,Georgia,serif}.manifesto strong{letter-spacing:-.07em;font-family:Manrope,Arial,sans-serif;font-weight:700}.work-section{background:#100915;padding:clamp(80px,12vw,160px) 5.5vw}.section-head{justify-content:space-between;align-items:end;margin-bottom:72px;display:flex}.section-head h2{margin:0;font-size:clamp(3.5rem,7vw,7rem)}.section-head p{color:#b9afbd;max-width:280px;font-size:.9rem;line-height:1.65}.project-list{border-top:1px solid #f5eded33}.project{border-bottom:1px solid #f5eded33;grid-template-columns:82px minmax(200px,1fr) minmax(240px,.8fr) 40px;align-items:center;gap:20px;padding:31px 4px;transition:padding .25s,background .25s;display:grid}.project:hover{background:linear-gradient(90deg,#83256766,#0000);padding-left:19px}.project-no{color:#d18c8f;font:500 .7rem DM Mono,monospace}.project h3{letter-spacing:-.05em;margin:0 0 6px;font-size:clamp(1.4rem,2.5vw,2.5rem)}.project p{color:#aaa0af;margin:0;font-size:.78rem}.project-stack{color:#d5c9d5;font:500 .68rem/1.6 DM Mono,monospace}.project-arrow svg{fill:none;stroke:#f2eae8;stroke-width:1.3px;width:25px;height:25px}.resume{background:linear-gradient(112deg,#3a0c5a,#932b58 65%,#d65429);grid-template-columns:minmax(260px,.65fr) minmax(500px,1.35fr);gap:7vw;padding:clamp(80px,12vw,160px) 5.5vw;display:grid}.resume-intro{align-self:start;position:sticky;top:60px}.resume-mark{text-transform:uppercase;letter-spacing:.1em;font:500 .67rem DM Mono,monospace}.resume-intro h2{margin:22px 0;font-size:clamp(3.6rem,6.2vw,7rem)}.resume-intro>p:not(.resume-mark){color:#f3dce0;max-width:290px;margin-bottom:32px;line-height:1.65}.primary.light{background:#fff9f0}.resume-sheet{color:#170d18;background:#fbf7f0;padding:clamp(28px,4vw,54px);box-shadow:20px 28px 60px #15041240}.resume-top{border-bottom:1px solid #1b1118;justify-content:space-between;gap:20px;padding-bottom:27px;display:flex}.resume-top>div{gap:5px;display:grid}.resume-top span{letter-spacing:-.045em;font-weight:800}.resume-top small,.resume-top>span{font:500 .67rem/1.5 DM Mono,monospace}.resume-entry{border-bottom:1px solid #180c1640;grid-template-columns:1fr auto;gap:8px 30px;padding:27px 0;display:grid}.resume-entry div p{color:#695b66;margin:4px 0 0;font-size:.78rem}.resume-entry time{text-align:right;font:500 .62rem/1.5 DM Mono,monospace}.entry-text{color:#352836;grid-column:1/-1;margin:4px 0 0;font-size:.82rem;line-height:1.65}.skills{padding-top:29px}.skills span{text-transform:uppercase;letter-spacing:.09em;font:600 .66rem DM Mono,monospace}.skills p{letter-spacing:-.025em;margin:12px 0 0;font-size:1rem;font-weight:600;line-height:1.65}footer{background:#09060d;grid-template-columns:1fr auto;align-items:end;gap:42px;padding:55px 5.5vw 28px;display:grid}footer p{letter-spacing:-.05em;margin:0;font:600 clamp(2rem,4vw,4.5rem)/.95 Playfair Display,Georgia,serif}footer a{border-bottom:1px solid #885d7f;align-items:center;gap:12px;padding-bottom:7px;font-size:.86rem;display:inline-flex}footer span{letter-spacing:.08em;color:#9a8d9a;grid-column:1/-1;font:500 .6rem DM Mono,monospace}@media (width<=780px){.hero{min-height:820px}.hero-copy{width:auto;padding-top:12vh}.hero h1{font-size:clamp(4.5rem,19vw,7.8rem)}.light-violet{width:520px;height:520px;top:-10%;left:-34%}.light-rose{width:570px;height:570px;bottom:-10%;right:-61%}.light-amber{width:430px;height:430px;bottom:-10%;left:-49%}.section-head,.resume{display:block}.section-head p{margin-top:23px}.project{grid-template-columns:42px 1fr 25px}.project-stack{grid-column:2/3}.project-arrow{grid-area:1/3/3}.resume-intro{margin-bottom:58px;position:relative;top:auto}.resume-sheet{padding:26px}.resume-top,.resume-entry{grid-template-columns:1fr}.resume-top>span,.resume-entry time{text-align:left}.resume-entry{gap:7px}.manifesto{padding-left:7vw;padding-right:7vw}footer{grid-template-columns:1fr;gap:32px}.hero-actions{flex-wrap:wrap;gap:20px}}.light{will-change:transform}.light-violet{animation:18s cubic-bezier(.45,0,.55,1) infinite alternate lightDriftOne}.light-rose{animation:22s cubic-bezier(.45,0,.55,1) -6s infinite alternate lightDriftTwo}.light-amber{animation:20s cubic-bezier(.45,0,.55,1) -10s infinite alternate lightDriftThree}.light-ray{will-change:transform}.ray-one{animation:15s ease-in-out infinite alternate raySweepOne}.ray-two{animation:19s ease-in-out -4s infinite alternate raySweepTwo}.ray-three{animation:17s ease-in-out -8s infinite alternate raySweepThree}@keyframes lightDriftOne{to{transform:translate(-15vw,18vh)scale(1.12)}}@keyframes lightDriftTwo{to{transform:translate(12vw,-16vh)scale(.88)}}@keyframes lightDriftThree{to{transform:translate(24vw,-21vh)scale(1.1)}}@keyframes raySweepOne{to{transform:translate(15vw,10vh)rotate(-29deg)}}@keyframes raySweepTwo{to{transform:translate(-18vw,-12vh)rotate(34deg)}}@keyframes raySweepThree{to{transform:translate(16vw,-8vh)rotate(-10deg)}}@media (prefers-reduced-motion:reduce){.light,.light-ray{animation:none}}.hero{background:linear-gradient(115deg,#102f4d 0%,#0b2741 47%,#a33d29 47%,#bc542d 100%)}.floating-lights{display:none}.andalusian-frame{z-index:0;pointer-events:none;background:radial-gradient(circle at 82% 18%,#ffd77b 0 8%,#0000 8.3%),linear-gradient(115deg,#0000 0 54%,#ffda872e 54.2% 55%,#0000 55.2%);position:absolute;inset:0;overflow:hidden}.tile-field{background-color:#e8d3a2;background-image:conic-gradient(from 45deg at 50% 50%,#0e526c 0 25%,#d96236 0 50%,#e8d3a2 0 75%,#0e526c 0);background-size:80px 80px;position:absolute;inset:0 0 0 54%;box-shadow:inset 110px 0 100px #0a233873}.arch{border:clamp(18px,2.2vw,34px) solid #e8d3a2;border-bottom:0;border-radius:50% 50% 0 0/36% 36% 0 0;position:absolute;bottom:-18vh;box-shadow:0 -16px 36px #0315212e}.arch-far{border-color:#b34b2d;width:min(66vw,900px);height:82vh;right:-7vw}.arch-near{background:linear-gradient(90deg,#0c384af2,#0c384a47);border-color:#f0d99e;width:min(46vw,660px);height:63vh;right:3vw}.sun-disc{aspect-ratio:1;background:#ffcf63;border-radius:50%;width:clamp(100px,13vw,220px);position:absolute;top:10vh;right:14vw;box-shadow:0 0 0 18px #ffcf6333,0 0 60px #ffcf63}.andalusian-frame p{color:#f7e4bb;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;font:500 .62rem DM Mono,monospace;position:absolute;bottom:8vh;right:7vw}.primary,.manifesto{color:#142d45;background:#f0d99e}@media (width<=780px){.tile-field{background-size:56px 56px;inset:45% 0 0;box-shadow:inset 0 70px 80px #0a233880}.arch-far{width:118vw;height:58vh;bottom:-14vh;right:-44vw}.arch-near{width:86vw;height:46vh;bottom:-10vh;right:-24vw}.sun-disc{width:112px;top:20vh;right:11vw}.andalusian-frame p{bottom:6vh;right:6vw}}:root{--himalaya-deep:#0a3d87;--himalaya-blue:#345caa;--himalaya-lavender:#c1b0d4;--himalaya-rose:#d27e9f;--himalaya-snow:#f4edf0}.hero{background-image:linear-gradient(115deg,#081f52c7 0%,#1e368270 38%,#c1b0d41f 68%,#d27e9f3d 100%),url(/himalayas.jpg);background-position:50% 51%;background-size:cover}.andalusian-frame{display:none}.hero-copy{width:min(690px,58vw)}.availability{color:#f4edf0}.availability span{background:#f2a2ba;box-shadow:0 0 16px #f2a2ba}.primary{color:#173b78;background:#f4edf0}.primary:hover{background:#fff}.manifesto{color:#123d80;background:linear-gradient(115deg,#d9bdd2,#f4edf0 60%,#e6a0b5)}.work-section{background:linear-gradient(145deg,#092d68,#16498e 54%,#6a5ba3)}.project:hover{background:linear-gradient(90deg,#de8aac6b,#0000)}.featured-project{background:linear-gradient(110deg,#f4edf033,#d37e9f73);border:0;margin:20px 0;padding:46px 32px;position:relative;box-shadow:0 18px 42px #05174442}.featured-project:before{content:"FLAGSHIP BUILD";letter-spacing:.14em;color:#f4edf0;font:500 .61rem DM Mono,monospace;position:absolute;top:13px;left:32px}.featured-project .project-no{color:#f5c0ce}.featured-project h3{font-size:clamp(2rem,3.4vw,3.8rem)}.featured-project .project-stack{color:#fff3f6}.resume{background:linear-gradient(125deg,#133f86,#745ca3 54%,#cf769a)}.resume-sheet{box-shadow:20px 28px 60px #071b4f4d}@media (width<=780px){.hero{background-position:58%}.hero-copy{width:auto}.featured-project{margin:16px 0;padding:43px 18px 31px}.featured-project:before{left:18px}}:root{background:#0d2766}.resume-site{color:#211d1c;background:linear-gradient(#091e4e75,#0c24578c),url(/himalayas.jpg) 50%/cover fixed;min-height:100vh;padding:42px 5vw;font-family:Manrope,Arial,sans-serif}.resume-site *{box-sizing:border-box}.resume-site ::selection{color:#271d25;background:#d6a3b3}.resume-site :focus-visible{outline-offset:3px;outline:2px solid #732630}.page-shell{background:#fffdfaf7;max-width:1160px;margin:auto;padding:0 56px;box-shadow:0 18px 48px #05113047}.resume-header{border-bottom:1px solid #d9d0ca;justify-content:space-between;gap:30px;padding:56px 0 37px;display:flex}.resume-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1}.resume-header p{color:#5d5551;max-width:560px;margin:14px 0 0;font-size:.92rem;line-height:1.6}.header-links{flex-wrap:wrap;align-self:flex-start;gap:18px;font-size:.79rem;font-weight:700;display:flex}.header-links a,.site-index a,.resume-entry h3 a,footer a{color:#752630;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.header-links a:hover,.site-index a:hover,.resume-entry h3 a:hover,footer a:hover{color:#341a22}.resume-layout{grid-template-columns:minmax(0,1fr) 185px;gap:64px;padding:47px 0 54px;display:grid}.resume-content{min-width:0}.resume-content section+section{margin-top:67px}.resume-content h2,.site-index h2{color:#70242e;margin:0 0 19px;font-size:.91rem;font-weight:800;line-height:1.2}.resume-entry{border-top:1px solid #d9d0ca;padding:20px 0}.entry-heading{justify-content:space-between;gap:20px;display:flex}.resume-entry h3{letter-spacing:-.01em;margin:0;font-size:.95rem}.resume-entry h3 a{font-weight:800}.resume-entry h3 a:after{content:" ↗";font-size:.7em}.resume-entry .entry-heading p{color:#665d59;margin:5px 0 0;font-size:.75rem}.resume-entry time,.repo-link{color:#665d59;white-space:nowrap;font:500 .68rem/1.45 DM Mono,monospace}.repo-link{color:#752630;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.repo-link:hover{text-decoration:underline}.repo-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:12px;height:12px}.resume-entry ul{gap:8px;margin:18px 0 0;padding:0;font-size:.84rem;line-height:1.56;list-style:none;display:grid}.resume-entry li{padding-left:14px;position:relative}.resume-entry li:before{content:"–";color:#7b4a50;position:absolute;left:0}.entry-copy{max-width:700px;margin:17px 0 0;font-size:.84rem;line-height:1.6}.skills dl{border-top:1px solid #d9d0ca;margin:0}.skills dl>div{border-bottom:1px solid #d9d0ca;grid-template-columns:132px 1fr;gap:18px;padding:16px 0;font-size:.82rem;line-height:1.55;display:grid}.skills dt{font-weight:800}.skills dd{color:#5d5551;margin:0}.interests p{border-top:1px solid #d9d0ca;border-bottom:1px solid #d9d0ca;margin:0;padding:16px 0;font-size:.84rem;line-height:1.6}.site-index{align-self:start;gap:35px;padding-top:2px;display:grid;position:sticky;top:92px}.site-index nav,.site-index div{gap:12px;display:grid}.site-index h2{margin-bottom:2px;font-size:.76rem}.site-index a{color:#6d2730;font-size:.76rem}footer{color:#6a625e;letter-spacing:.025em;border-top:1px solid #d9d0ca;justify-content:space-between;gap:20px;padding:21px 0 30px;font:500 .65rem DM Mono,monospace;display:flex}footer a{font:500 .65rem DM Mono,monospace}@media (width<=780px){.resume-site{background-position:58%;padding:0}.page-shell{padding:0 7vw}.resume-header{gap:24px;padding:42px 0 31px;display:grid}.resume-layout{grid-template-columns:1fr;gap:48px;padding-top:38px}.site-index{border-bottom:1px solid #d9d0ca;flex-wrap:wrap;order:-1;gap:20px;padding-bottom:22px;display:flex;position:static}.site-index nav,.site-index div{gap:9px;min-width:130px}.resume-content section+section{margin-top:52px}.entry-heading{display:block}.resume-entry time,.repo-link{margin-top:9px;display:inline-flex}.skills dl>div{grid-template-columns:1fr;gap:4px}.header-links{gap:15px}}@media (width<=440px){.resume-header h1{font-size:2.25rem}.resume-entry{padding:18px 0}.resume-site{background-position:63%}}.site-index nav{text-transform:none;letter-spacing:normal;align-items:initial;justify-content:initial;font-size:inherit;padding:0;position:static}footer{background:0 0}.resume-entry{display:block}.project-entry{padding-left:42px;position:relative}.project-number{color:#9a646c;letter-spacing:.08em;font:500 .64rem DM Mono,monospace;position:absolute;top:22px;left:0}.project-entry .entry-heading{align-items:flex-start}.live-project{background:linear-gradient(90deg,#e7d5da9e,#0000 72%);padding-right:18px}.live-link{color:#752630;border-bottom:1px solid;align-items:center;gap:6px;padding-bottom:3px;font:700 .7rem Manrope,Arial,sans-serif;text-decoration:none;display:inline-flex}.live-link:hover{color:#341a22}.live-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:13px;height:13px}.project-entry:hover .project-number{color:#70242e}.project-entry:hover{border-color:#af8a8f}
