@font-face{font-family:Noto Sans Cypro Minoan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0509782ddf451168-s.31be0e79.woff2)format("woff2");unicode-range:U+10100-10101,U+12F90-12FF2}@font-face{font-family:Noto Sans Cypro Minoan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/245215637b2e7731-s.dc942619.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Cypro Minoan;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cca617f54bccd5ad-s.p.cd116309.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Cypro Minoan Fallback;src:local(Arial);ascent-override:100.54%;descent-override:27.56%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_cypro_minoan_7690e663-module__j92MLW__className{font-family:Noto Sans Cypro Minoan,Noto Sans Cypro Minoan Fallback;font-style:normal;font-weight:400}.noto_sans_cypro_minoan_7690e663-module__j92MLW__variable{--font-primary:"Noto Sans Cypro Minoan","Noto Sans Cypro Minoan Fallback"}
*,:before,:after{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--earth-950:#100b08;--earth-900:#17100d;--earth-800:#211711;--earth-700:#2e2119;--earth-600:#493528;--earth-500:#755942;--moss-700:#263325;--moss-500:#637052;--clay-500:#b87453;--ochre-400:#d8a45d;--cream-100:#f2e8d6;--cream-200:#d5c6ad;--paper:#f7eddb;--ink:#efe3cf;--muted:#b8a992;--line:#f2e8d624;--shadow:0 28px 82px #04030275;--nav-height:76px;--content-width:1160px;--home-transition-bg:var(--earth-950);--ease:cubic-bezier(.22,1,.36,1)}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:var(--nav-height);background:var(--earth-950)}html.nav-menu-open,html.nav-menu-open body{overscroll-behavior:none;overflow:hidden}body.nav-menu-open{touch-action:none}body{min-width:320px;color:var(--ink);font-family:var(--font-primary),"Noto Sans Cypro Minoan","Noto Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:linear-gradient(145deg,var(--earth-950)0%,#18100c 46%,#251a12 100%);margin:0;line-height:1.6}body[class*=noto],body[class*=cypro],.noto-sans-cypro-minoan,.font-noto-sans-cypro-minoan{font-family:var(--font-primary),"Noto Sans Cypro Minoan","Noto Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img,picture,video,canvas,svg{max-width:100%;display:block}img,video{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:0}::selection{color:var(--earth-950);background:#d8a45db8}:focus-visible{outline-offset:4px;outline:3px solid #d8a45d80}.site-shell{background:linear-gradient(#100b0866,#211711db),0 0;min-height:100vh;position:relative;overflow-x:clip}.nav{z-index:1000;height:var(--nav-height);color:var(--cream-100);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:linear-gradient(#100b08db,#100b087a 64%,#100b0800);position:fixed;inset:0 0 auto}.nav__inner{z-index:1002;width:min(calc(100% - 40px),var(--content-width));pointer-events:auto;justify-content:space-between;align-items:center;gap:28px;height:100%;margin:0 auto;display:flex;position:relative}.nav__brand{min-width:0;color:var(--cream-100);letter-spacing:0;text-shadow:0 1px 18px #0000005c;align-items:center;font-size:clamp(1rem,.95rem + .25vw,1.14rem);font-weight:700;display:inline-flex}.nav__links{justify-content:flex-end;align-items:center;gap:clamp(16px,3vw,34px);min-width:0;margin:0;padding:0;list-style:none;display:flex}.nav__toggle,.nav__mobile-menu{display:none}.nav__link{color:#f2e8d6b8;letter-spacing:0;align-items:center;min-height:40px;font-size:.92rem;font-weight:650;transition:color .18s;display:inline-flex;position:relative}.nav__link:after{content:"";background:linear-gradient(90deg,var(--clay-500),var(--ochre-400));transform-origin:0;height:2px;transition:transform .24s var(--ease);border-radius:999px;position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.nav__link:hover,.nav__link:focus-visible,.nav__link[aria-current=page]{color:var(--paper)}.nav__link:hover:after,.nav__link[aria-current=page]:after{transform:scaleX(1)}.hero{isolation:isolate;min-height:100svh;color:var(--paper);background:linear-gradient(135deg,var(--earth-950),var(--earth-900)44%,#24170f);align-items:end;display:grid;position:relative;overflow:hidden}.hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom,#100b0800,var(--home-transition-bg));height:20vh;min-height:150px;position:absolute;bottom:0;left:0;right:0}.hero__overlay{z-index:0;background:linear-gradient(90deg,#100b08e6,#211711a8 48%,#100b0870),linear-gradient(#100b08b8,#100b083d 38%,#100b08e0);position:absolute;inset:0}.hero__content{z-index:2;width:min(calc(100% - 40px),var(--content-width));padding:calc(var(--nav-height) + 52px)0 clamp(96px,12vh,132px);margin:0 auto;position:relative}.hero__eyebrow{color:var(--ochre-400);letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:.8rem;font-weight:800;line-height:1.3}.hero__title{letter-spacing:0;text-wrap:balance;text-shadow:0 18px 52px #00000061;max-width:920px;margin:0;font-size:clamp(3rem,8.5vw,7.8rem);font-weight:800;line-height:.96}.hero__copy{color:#f2e8d6d6;text-wrap:pretty;max-width:650px;margin:28px 0 0;font-size:clamp(1.08rem,.96rem + .6vw,1.42rem);line-height:1.55}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{max-width:100%;min-height:46px;color:var(--earth-950);background:linear-gradient(180deg,#dfb473,var(--clay-500));letter-spacing:0;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease),border-color .2s ease,background .2s ease,box-shadow .2s ease;border:1px solid #d8a45d6b;border-radius:8px;justify-content:center;align-items:center;padding:0 20px;font-size:.95rem;font-weight:800;line-height:1.1;display:inline-flex;box-shadow:0 16px 44px #0403025c}.button:hover,.button:focus-visible{border-color:#f2e8d666;transform:translateY(-2px);box-shadow:0 20px 52px #0403027a}.button--ghost{color:var(--paper);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f2e8d60f;border-color:#f2e8d638}.button--ghost:hover,.button--ghost:focus-visible{background:#f2e8d61a;border-color:#d8a45d7a}.about-page{min-height:100svh;padding:calc(var(--nav-height) + clamp(56px,8vw,104px))0 clamp(72px,10vw,128px);color:var(--ink);background:linear-gradient(180deg,var(--earth-950),var(--earth-800))}.about-page__inner{width:min(calc(100% - 40px),var(--content-width));margin:0 auto}.about-intro{border:1px solid var(--line);background:linear-gradient(135deg,#f2e8d612,#6370520b 46%,#100b0829),#f2e8d609;border-radius:8px;grid-template-columns:minmax(0,.63fr) minmax(280px,.37fr);align-items:center;gap:clamp(24px,3.4vw,42px);padding:clamp(30px,4.5vw,54px);display:grid;box-shadow:0 22px 72px #0403023d}.experience-card{border:1px solid var(--line);background:#f2e8d60e;border-radius:8px;box-shadow:0 18px 58px #04030238}.about-intro__copy{align-content:center;max-width:700px;display:grid}.about-eyebrow{color:var(--ochre-400);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:.74rem;font-weight:750;line-height:1.3}.about-intro__eyebrow{letter-spacing:.18em;margin-bottom:12px;font-size:.68rem}.about-title{max-width:690px;color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.25rem,3.1vw,3.35rem);font-weight:400;line-height:1.06}.about-title span{display:block}.about-title span:first-child{white-space:nowrap}.about-intro__copy p:not(.about-eyebrow){max-width:630px;color:var(--muted);text-wrap:pretty;margin:24px 0 0;font-size:clamp(1rem,.96rem + .2vw,1.12rem);line-height:1.82}.portrait-card{place-self:center end;width:100%;max-width:360px;margin:0}.portrait-card__frame{aspect-ratio:4/5;background:linear-gradient(145deg,var(--earth-800),var(--earth-950));border:1px solid #f2e8d621;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 54px #04030252}.portrait-card__frame:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #f2e8d614;position:absolute;inset:0}.portrait-card__image{object-fit:cover;object-position:center 42%;width:100%;height:100%}.portrait-card__caption{color:#d5c6adb8;text-align:center;gap:4px;margin-top:10px;font-size:.78rem;line-height:1.45;display:grid}.portrait-card__caption-role{color:#b8a992b8;font-size:.74rem}.about-section{margin-top:clamp(72px,11vw,132px)}.about-section__header{max-width:760px;margin-bottom:clamp(28px,5vw,46px)}.about-section__header h2{color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.1rem,4.6vw,4.6rem);font-weight:400;line-height:1.02}.experience-list{gap:14px;display:grid}.experience-card{transition:border-color .18s,background-color .18s,box-shadow .18s;overflow:hidden}.experience-card--open{background:#f2e8d612;border-color:#d8a45d42;box-shadow:0 20px 64px #04030247}.experience-card__button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) minmax(180px,320px);grid-template-areas:"meta company""title company""summary company";gap:12px;padding:clamp(22px,3.2vw,34px) clamp(22px,3.2vw,34px) 72px;display:grid;position:relative}.experience-card:not(.experience-card--open) .experience-card__button:hover,.experience-card:not(.experience-card--open) .experience-card__button:focus-visible{background:#d8a45d0e}.experience-card--open .experience-card__button,.experience-card--open .experience-card__button:hover,.experience-card--open .experience-card__button:focus-visible{background:#d8a45d09}.experience-card__meta{color:var(--ochre-400);grid-area:meta;font-size:.82rem;line-height:1.35}.experience-card__company{min-width:0;max-width:100%;color:var(--cream-200);text-align:right;grid-area:company;justify-content:flex-end;place-self:start end;align-items:center;gap:8px;display:inline-flex}.experience-card__logo{object-fit:contain;background:#f2e8d614;border-radius:10px;flex:0 0 44px;width:44px;height:44px;overflow:hidden}.experience-card__company-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:100%;padding-top:2px;font-size:clamp(.72rem,1.2vw,.95rem);font-weight:500;line-height:1.35;overflow:hidden}.experience-card__company--with-logo .experience-card__company-name{max-width:calc(100% - 52px)}.experience-card__title{min-width:0;color:var(--cream-100);grid-area:title;font-size:clamp(1.28rem,1rem + 1.25vw,2rem);line-height:1.1}.experience-card__summary{min-width:0;max-width:780px;color:var(--muted);grid-area:summary;line-height:1.68}.experience-card__indicator{border:1px solid #f2e8d629;border-radius:8px;width:30px;height:30px;position:absolute;bottom:24px;right:clamp(22px,3.2vw,34px)}.experience-card__indicator:before,.experience-card__indicator:after{content:"";background:var(--ochre-400);border-radius:999px;width:12px;height:2px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.experience-card__indicator:after{transition:transform .18s;transform:translate(-50%,-50%)rotate(90deg)}.experience-card__button[aria-expanded=true] .experience-card__indicator:after{transform:translate(-50%,-50%)rotate(0)}.experience-card__details{opacity:0;height:0;overflow:hidden}.experience-card__details-inner{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0 clamp(22px,3.2vw,34px) clamp(24px,3.2vw,34px);display:grid}.experience-card__details h3{color:var(--cream-100);margin:0 0 12px;font-size:1rem;line-height:1.3}.experience-card__details ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-card__details li{padding-left:18px;line-height:1.62;position:relative}.experience-card__details li:before{content:"";background:var(--clay-500);border-radius:0;width:9px;height:2px;position:absolute;top:.72em;left:0}.experience-card__tools{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.experience-card__tools span{min-height:30px;color:var(--cream-200);background:#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;align-items:center;padding:0 10px;font-size:.86rem;display:inline-flex}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));align-items:center;gap:clamp(24px,4vw,44px) clamp(18px,3vw,38px);padding:clamp(18px,3vw,34px) 0;display:grid}.toolkit-icon{outline:none;place-items:center;min-height:86px;display:grid;position:relative}.toolkit-icon__symbol{transform-origin:50%;will-change:filter,transform,opacity;place-items:center;width:clamp(50px,5vw,70px);height:clamp(50px,5vw,70px);display:grid}.toolkit-icon__image,.toolkit-icon__svg{object-fit:contain;width:100%;height:100%;display:block}.toolkit-icon__svg{color:var(--cream-100);filter:drop-shadow(0 10px 18px #04030233)}.toolkit-icon__image--contrast{filter:invert(.92)sepia(.08)saturate(1.6)hue-rotate(340deg)drop-shadow(0 10px 18px #04030238)}.toolkit-icon__fallback{width:100%;height:100%;color:var(--cream-100);text-transform:uppercase;background:#d8a45d1a;border:1px solid #d8a45d57;border-radius:8px;place-items:center;font-size:clamp(.78rem,1vw,.95rem);line-height:1;display:grid}.toolkit-icon__tooltip{z-index:2;width:max-content;max-width:180px;color:var(--cream-100);opacity:0;pointer-events:none;text-align:center;background:#150f0bf5;border:1px solid #f2e8d61f;border-radius:8px;padding:7px 9px;font-size:.78rem;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:0 14px 36px #04030257}.toolkit-icon:hover .toolkit-icon__tooltip,.toolkit-icon:focus .toolkit-icon__tooltip,.toolkit-icon:focus-visible .toolkit-icon__tooltip{opacity:1;transform:translate(-50%)}.toolkit-icon:focus-visible .toolkit-icon__symbol{outline-offset:10px;border-radius:12px;outline:1px solid #d8a45d6b}.personal-gallery__header p:not(.about-eyebrow){max-width:620px;color:var(--muted);margin:18px 0 0;font-size:clamp(1rem,.94rem + .22vw,1.12rem);line-height:1.7}.personal-gallery__grid{grid-template-rows:repeat(2,minmax(280px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.personal-gallery__item{border:1px solid var(--line);transform-origin:50%;background:linear-gradient(145deg,#2c1f17f5,#100b08fa);border-radius:8px;min-height:220px;margin:0;position:relative;overflow:hidden;box-shadow:0 18px 58px #04030238}.personal-gallery__item--featured{grid-area:span 2/1}.personal-gallery__item--wide{grid-area:1/2}.personal-gallery__item--standard{grid-area:2/2}.personal-gallery__media{position:absolute;inset:0;overflow:hidden}.personal-gallery__trigger{z-index:1;width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.personal-gallery__fallback{color:#f2e8d64d;background:linear-gradient(135deg,#63705229,transparent 48%),linear-gradient(145deg,var(--earth-800),var(--earth-950));place-items:center;display:grid;position:absolute;inset:0}.personal-gallery__fallback span{font-size:clamp(3rem,8vw,7.5rem);line-height:1}.personal-gallery__image{object-fit:cover;object-position:center;transition:transform .52s;transform:scale(1.01)}.personal-gallery__caption{z-index:1;max-width:420px;color:var(--cream-100);opacity:.84;font-size:.95rem;line-height:1.45;transition:color .18s,opacity .18s,transform .18s;position:absolute;bottom:16px;left:16px;right:16px;transform:translateY(4px)}.personal-gallery__item:hover .personal-gallery__image,.personal-gallery__item:focus-within .personal-gallery__image{transform:scale(1.045)}.personal-gallery__item:hover .personal-gallery__caption,.personal-gallery__item:focus-within .personal-gallery__caption{color:var(--ochre-400);opacity:1;transform:translateY(0)}.personal-gallery__preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.personal-lightbox{z-index:1100;background:#100b08eb;place-items:center;height:100dvh;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.personal-lightbox__panel{justify-items:center;gap:14px;width:min(100%,920px);padding:12px 52px 0;display:grid;position:relative}.personal-lightbox__image-wrap{border:1px solid var(--line);background:var(--earth-900);border-radius:8px;width:min(90vw,820px);height:min(78vh,760px);position:relative;overflow:hidden}.personal-lightbox__image{object-fit:contain}.personal-lightbox__close,.personal-lightbox__nav{min-width:44px;min-height:44px;color:var(--cream-100);cursor:pointer;background:#f2e8d614;border:1px solid #f2e8d633;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.personal-lightbox__close{z-index:1;font-size:1.8rem;line-height:1;position:absolute;top:0;right:0}.personal-lightbox__nav{z-index:1;font-size:2rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.personal-lightbox__nav--previous{left:0}.personal-lightbox__nav--next{right:0}.personal-lightbox__close:hover,.personal-lightbox__close:focus-visible,.personal-lightbox__nav:hover,.personal-lightbox__nav:focus-visible{background:#d8a45d24;border-color:#d8a45d80}.personal-lightbox__caption{color:var(--cream-100);text-align:center}.personal-lightbox__caption h3,.personal-lightbox__caption p{margin:0}.personal-lightbox__caption h3{font-size:1rem;font-weight:500}.personal-lightbox__caption p{color:var(--muted);margin-top:4px;font-size:.8rem}@media (max-width:760px){.personal-lightbox{padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);background:#100b08f7}.personal-lightbox__panel{grid-template-rows:minmax(0,1fr) auto;gap:10px;width:100%;height:100%;min-height:0;padding:48px 0 8px}.personal-lightbox__image-wrap{border-radius:8px;width:100%;height:auto;min-height:0}.personal-lightbox__close{top:0;right:env(safe-area-inset-right)}.personal-lightbox__nav{top:50%;transform:translateY(-50%)}.personal-lightbox__nav--previous{left:0}.personal-lightbox__nav--next{right:0}.personal-lightbox__caption{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:none;padding:0 4px;display:flex}.personal-lightbox__caption h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.personal-lightbox__caption p{flex:none}}.projects-page{min-height:100svh;padding:calc(var(--nav-height) + clamp(56px,8vw,104px))0 clamp(72px,10vw,128px);color:var(--ink);background:linear-gradient(180deg,var(--earth-950),var(--earth-800))}.projects-page__inner{width:min(calc(100% - 40px),var(--content-width));margin:0 auto}.projects-hero{max-width:900px;margin-bottom:clamp(58px,8vw,92px)}.projects-hero__eyebrow,.projects-timeline__eyebrow{color:var(--ochre-400);text-transform:uppercase;margin:0 0 14px;font-size:.8rem;line-height:1.3}.projects-hero h1{max-width:920px;color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.5rem,6.4vw,6rem);font-weight:400;line-height:1}.projects-hero p:not(.projects-hero__eyebrow){max-width:760px;color:var(--muted);text-wrap:pretty;margin:24px 0 0;font-size:clamp(1rem,.94rem + .3vw,1.18rem);line-height:1.72}.projects-timeline{position:relative}.projects-timeline__header{max-width:760px;margin-bottom:clamp(30px,5vw,48px)}.projects-timeline__header h2{color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2rem,4.4vw,4.2rem);font-weight:400;line-height:1.04}.projects-timeline__list{--timeline-date-width:132px;--timeline-gap:20px;--timeline-marker-track:42px;--timeline-line-left:calc(var(--timeline-date-width) + var(--timeline-gap) + (var(--timeline-marker-track)/2));gap:18px;padding:8px 0 18px;display:grid;position:relative}.projects-timeline__line{top:12px;bottom:16px;left:var(--timeline-line-left);z-index:0;transform-origin:top;background:linear-gradient(#d8a45dc2,#b8745347 54%,#f2e8d614);border-radius:999px;width:1px;position:absolute}.projects-timeline__item{z-index:1;grid-template-columns:var(--timeline-date-width)var(--timeline-marker-track)minmax(0,1fr);gap:var(--timeline-gap);align-items:start;display:grid;position:relative}.projects-timeline__date{color:#d8a45dd6;justify-self:end;margin-top:30px;font-size:.84rem;font-weight:800;line-height:1.2}.project-timeline-marker{z-index:2;place-items:center;width:42px;height:42px;margin-top:20px;display:grid;position:relative}.project-timeline-marker:before{content:"";background:linear-gradient(180deg,#2e2119eb,#100b08e6),var(--earth-900);border:1px solid #d8a45d57;border-radius:8px;position:absolute;inset:2px;box-shadow:0 12px 32px #04030257}.project-timeline-marker__core{z-index:1;background:var(--clay-500);border-radius:999px;width:12px;height:12px;position:relative;box-shadow:0 0 0 5px #b874531f}.project-timeline-marker--active .project-timeline-marker__core,.project-timeline-marker--featured .project-timeline-marker__core{background:var(--ochre-400);box-shadow:0 0 0 5px #d8a45d24,0 0 26px #d8a45d57}.project-card{border:1px solid var(--line);will-change:opacity,transform;background:#f2e8d60e;border-radius:8px;transition:border-color .18s,background-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 18px 58px #04030238}.project-card--open{background:#f2e8d612;border-color:#d8a45d4d;box-shadow:0 20px 64px #0403024d}.project-card__button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;gap:13px;padding:clamp(22px,3.2vw,34px);display:grid;position:relative}.project-card:not(.project-card--open) .project-card__button:hover,.project-card:not(.project-card--open) .project-card__button:focus-visible{background:#d8a45d0e}.project-card--open .project-card__button,.project-card--open .project-card__button:hover,.project-card--open .project-card__button:focus-visible{background:#d8a45d09}.project-card__meta{color:var(--ochre-400);text-transform:uppercase;flex-wrap:wrap;gap:8px;padding-right:42px;font-size:.8rem;font-weight:800;line-height:1.35;display:flex}.project-card__meta span{align-items:center;min-height:24px;display:inline-flex}.project-card__meta span+span:before{content:"";background:#d8a45d8f;border-radius:0;width:1px;height:12px;margin-right:8px}.project-card__title{max-width:820px;color:var(--cream-100);padding-right:42px;font-size:clamp(1.3rem,1.03rem + 1.3vw,2.1rem);line-height:1.1;display:block}.project-card__summary{max-width:790px;color:var(--muted);line-height:1.68}.project-card__tech-preview,.project-card__tools{flex-wrap:wrap;gap:8px;display:flex}.project-card__tech-preview span,.project-card__tools span{min-height:30px;color:var(--cream-200);background:#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;align-items:center;padding:0 10px;font-size:.86rem;line-height:1.1;display:inline-flex}.project-card__indicator{border:1px solid #f2e8d629;border-radius:8px;width:30px;height:30px;position:absolute;top:clamp(24px,3.2vw,34px);right:clamp(22px,3.2vw,34px)}.project-card__indicator:before,.project-card__indicator:after{content:"";background:var(--ochre-400);border-radius:999px;width:12px;height:2px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.project-card__indicator:after{transition:transform .18s;transform:translate(-50%,-50%)rotate(90deg)}.project-card__button[aria-expanded=true] .project-card__indicator:after{transform:translate(-50%,-50%)rotate(0)}.project-card__details{opacity:0;visibility:hidden;height:0;overflow:hidden}.project-card__details-inner{color:var(--muted);gap:28px;padding:0 clamp(22px,3.2vw,34px) clamp(24px,3.2vw,34px);display:grid}.project-card__image{background:#100b086b;border:1px solid #f2e8d61a;border-radius:8px;margin:0;overflow:hidden}.project-card__image img{aspect-ratio:16/9;object-fit:cover;width:100%}.project-card__description{gap:12px;display:grid}.project-card__description p{max-width:860px;margin:0;line-height:1.72}.project-card__detail-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.56fr);gap:28px;display:grid}.project-card__details h3{color:var(--cream-100);margin:0 0 12px;font-size:1rem;line-height:1.3}.project-card__details ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.project-card__details li{padding-left:18px;line-height:1.62;position:relative}.project-card__details li:before{content:"";background:var(--clay-500);border-radius:0;width:9px;height:2px;position:absolute;top:.72em;left:0}.project-card__links{flex-wrap:wrap;gap:10px;display:flex}.project-card__links a{min-height:38px;color:var(--cream-100);background:#d8a45d13;border:1px solid #d8a45d57;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:.9rem;font-weight:800;line-height:1.1;transition:border-color .18s,background .18s,color .18s;display:inline-flex}.project-card__links a:hover,.project-card__links a:focus-visible{color:var(--paper);background:#d8a45d1f;border-color:#d8a45d94}.research-page{background:linear-gradient(180deg,#100b08f5,#211711f0),linear-gradient(135deg,#6370521f,transparent 44%),var(--earth-800)}.research-hero{isolation:isolate;position:relative}.research-hero:before{content:"";z-index:-1;opacity:.42;pointer-events:none;background-color:#0000;background-image:linear-gradient(#f2e8d60e 1px,#0000 1px),linear-gradient(90deg,#f2e8d60e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #d8a45d1f;border-radius:8px;width:min(420px,44%);height:260px;position:absolute;inset:-24px -28px auto auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24%,#000);mask-image:linear-gradient(90deg,#0000,#000 24%,#000)}.research-hero__eyebrow{letter-spacing:.16em;font-weight:800}.research-hero__accent{pointer-events:none;gap:12px;width:min(340px,36%);display:grid;position:absolute;top:12px;right:0}.research-hero__accent span{transform-origin:0;height:2px;animation:research-scan 4.6s var(--ease)infinite;background:linear-gradient(90deg,#d8a45d00,#d8a45dbd,#63705233);border-radius:0}.research-hero__accent span:nth-child(2){justify-self:end;width:76%;animation-delay:.5s}.research-hero__accent span:nth-child(3){width:58%;animation-delay:.95s}.research-hero__pillars{flex-wrap:wrap;gap:8px;max-width:860px;margin-top:28px;display:flex}.research-hero__pillars span,.research-tech{min-height:34px;color:var(--cream-200);background:#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;align-items:center;font-size:.86rem;line-height:1.1;display:inline-flex}.research-hero__pillars span{padding:0 11px}.research-impact{margin:0 0 clamp(72px,10vw,120px)}.research-impact__header{max-width:760px;margin-bottom:clamp(24px,4vw,34px)}.research-impact__header h2{color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(1.8rem,3.2vw,3.2rem);font-weight:400;line-height:1.08}.research-impact__metrics{border:1px solid var(--line);background:#f2e8d609;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden;box-shadow:0 18px 58px #04030233}.research-impact__metric{border-right:1px solid var(--line);min-width:0;padding:clamp(18px,2.6vw,26px)}.research-impact__metric:last-child{border-right:0}.research-impact__metric strong,.research-card__stat strong{color:var(--cream-100);font-size:clamp(1.6rem,2.4vw,2.35rem);font-weight:500;line-height:1;display:block}.research-impact__metric span,.research-card__stat span{color:var(--ochre-400);text-transform:uppercase;margin-top:10px;font-size:.78rem;font-weight:800;line-height:1.25;display:block}.research-impact__metric p,.research-card__stat p{color:var(--muted);margin:10px 0 0;font-size:.92rem;line-height:1.55}.research-timeline{margin-top:0}.research-timeline-marker--completed .project-timeline-marker__core{background:var(--moss-500);box-shadow:0 0 0 5px #63705224,0 0 24px #6370523d}.research-card{background:linear-gradient(135deg,#f2e8d610,#0000 64%),#f2e8d60d;position:relative}.research-card--open{background:linear-gradient(135deg,#d8a45d13,#0000 58%),#f2e8d611}.research-card__summary{max-width:860px}.research-card__paper-action{z-index:2;margin:0 clamp(22px,3.2vw,34px) 24px;position:relative}.research-card__paper-link{min-height:38px;color:var(--cream-100);background:#d8a45d13;border:1px solid #d8a45d57;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:.9rem;font-weight:800;line-height:1.1;transition:border-color .18s,background .18s,color .18s;display:inline-flex}.research-card__paper-link:hover,.research-card__paper-link:focus-visible{color:var(--paper);background:#d8a45d1f;border-color:#d8a45d94}.research-card__tech-preview,.research-card__tools{flex-wrap:wrap;gap:8px;display:flex}.research-card__tech-preview{padding-right:42px}.research-tech{gap:8px;max-width:100%;padding:4px 10px 4px 7px}.research-tech__icon{flex:0 0 22px;place-items:center;width:22px;height:22px;display:grid}.research-tech__image,.research-tech__svg{object-fit:contain;width:20px;height:20px}.research-tech__svg{color:var(--cream-100)}.research-tech__image--contrast{filter:invert(.92)sepia(.08)saturate(1.6)hue-rotate(340deg)}.research-tech__fallback{width:22px;height:22px;color:var(--cream-100);background:#d8a45d17;border:1px solid #d8a45d47;border-radius:6px;place-items:center;font-size:.58rem;font-weight:800;line-height:1;display:grid}.research-tech__label{overflow-wrap:anywhere;min-width:0}.research-tech--count{color:var(--ochre-400);padding:0 10px}.research-card__details-inner{gap:30px}.research-card__stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.research-card__stat{border-right:1px solid var(--line);min-width:0;padding:clamp(16px,2.5vw,22px)}.research-card__stat strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.research-card__stat:last-child{border-right:0}.research-card__abstract h3,.research-card__technology-stack h3{margin-bottom:12px}.research-card__callout{background:linear-gradient(90deg,#d8a45d14,#d8a45d00);border-left:3px solid #d8a45dad;padding:16px 0 16px 18px}.research-card__callout p{max-width:860px;color:var(--cream-200);margin:0;line-height:1.7}.research-card__callout-label{letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:850;color:var(--ochre-400)!important;margin-bottom:8px!important;line-height:1.2!important}.research-card__narrative{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.research-card__narrative section{min-width:0}.research-card__narrative p{color:var(--muted);margin:0;line-height:1.72}.research-card__narrative p+p{margin-top:12px}.research-card__detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-card__technology-stack{gap:12px;display:grid}@keyframes research-scan{0%,to{opacity:.28;transform:scaleX(.62)}48%{opacity:.9;transform:scaleX(1)}}.contact-page{min-height:100svh;padding:calc(var(--nav-height) + clamp(58px,8vw,106px))0 clamp(74px,10vw,128px);color:var(--ink);background:radial-gradient(circle at 78% 18%,#d8a45d24,transparent 30%),radial-gradient(circle at 18% 72%,#6370522e,transparent 34%),linear-gradient(180deg,var(--earth-950),var(--earth-800));position:relative;overflow:hidden}.contact-page:before{content:"";pointer-events:none;opacity:.38;background-color:#0000;background-image:linear-gradient(#f2e8d60b 1px,#0000 1px),linear-gradient(90deg,#f2e8d609 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 64% 20%,#000,#0000 64%);mask-image:radial-gradient(circle at 64% 20%,#000,#0000 64%)}.contact-page:after{content:"";aspect-ratio:1;pointer-events:none;filter:blur(1px);opacity:.78;background:radial-gradient(circle,#b8745329,#0000 62%),#f2e8d605;border:1px solid #d8a45d29;border-radius:50%;width:min(42vw,520px);position:absolute;bottom:12%;right:max(-160px,-8vw)}.contact-page__grid{background:linear-gradient(90deg,#0000,#d8a45d57,#0000);height:1px;position:absolute;inset:auto 0 0}.contact-page__inner{z-index:1;width:min(calc(100% - 40px),var(--content-width));margin:0 auto;position:relative}.contact-layout{grid-template-columns:minmax(0,.95fr) minmax(360px,.72fr);align-items:start;gap:clamp(38px,7vw,104px);display:grid}.contact-copy{top:calc(var(--nav-height) + 44px);min-width:0;max-width:720px;padding-top:clamp(12px,4vw,42px);display:grid;position:sticky}.contact-eyebrow{color:var(--ochre-400);letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:.8rem;font-weight:800;line-height:1.3}.contact-title{max-width:680px;color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(3rem,7.2vw,6.7rem);font-weight:400;line-height:.96}.contact-intro{color:#f2e8d6d1;text-wrap:pretty;max-width:660px;margin:28px 0 0;font-size:clamp(1.05rem,.96rem + .44vw,1.28rem);line-height:1.68}.contact-note{max-width:580px;color:var(--muted);text-wrap:pretty;margin:clamp(30px,4vw,42px) 0 0;padding:18px 0 0 22px;font-size:.98rem;line-height:1.72;position:relative}.contact-note:before{content:"";background:linear-gradient(#d8a45dd1,#b874532e);border-radius:999px;width:2px;position:absolute;top:0;bottom:4px;left:0}.contact-methods{gap:14px;min-width:0;margin-top:clamp(18px,6vw,68px);display:grid;position:relative}.contact-methods:before{content:"";z-index:-1;background:linear-gradient(145deg,#f2e8d60b,#0000 58%),#100b082e;border:1px solid #f2e8d612;border-radius:8px;position:absolute;inset:-18px -16px;box-shadow:0 24px 74px #04030238}.contact-card{min-width:0;min-height:116px;color:var(--cream-100);transition:transform .22s var(--ease),border-color .2s ease,background .2s ease,box-shadow .22s ease;background:linear-gradient(135deg,#f2e8d614,#0000 55%),#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2vw,20px);padding:clamp(18px,2.8vw,26px);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 58px #04030233}.contact-card:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 20%,#d8a45d33,#0000 34%),linear-gradient(90deg,#d8a45d3d,#0000 34%);transition:opacity .22s;position:absolute;inset:0}.contact-card:hover,.contact-card:focus-visible{background:linear-gradient(135deg,#f2e8d617,#0000 55%),#d8a45d11;border-color:#d8a45d5c;transform:translateY(-4px);box-shadow:0 22px 66px #0403024d}.contact-card:hover:before,.contact-card:focus-visible:before{opacity:1}.contact-card__icon,.contact-card__arrow{z-index:1;flex:none;place-items:center;display:grid;position:relative}.contact-card__icon{width:clamp(48px,5vw,62px);height:clamp(48px,5vw,62px);color:var(--ochre-400);transition:color .2s ease,border-color .2s ease,transform .22s var(--ease);background:linear-gradient(#d8a45d21,#100b0833),#f2e8d60b;border:1px solid #d8a45d3d;border-radius:8px;box-shadow:inset 0 1px #f2e8d61a}.contact-card__icon svg{width:1.36em;height:1.36em}.contact-card__content{z-index:1;gap:7px;min-width:0;display:grid;position:relative}.contact-card__label{color:var(--cream-100);font-size:clamp(1.08rem,1rem + .38vw,1.32rem);font-weight:800;line-height:1.14}.contact-card__value{color:#d5c6adc7;overflow-wrap:anywhere;font-size:.94rem;line-height:1.38;transition:color .2s}.contact-card__arrow{color:#f2e8d6a8;width:34px;height:34px;transition:color .2s ease,border-color .2s ease,transform .22s var(--ease);background:#100b082e;border:1px solid #f2e8d61f;border-radius:8px}.contact-card__arrow svg{width:.88em;height:.88em}.contact-card:hover .contact-card__icon,.contact-card:focus-visible .contact-card__icon{color:var(--cream-100);border-color:#d8a45d75;transform:scale(1.04)}.contact-card:hover .contact-card__value,.contact-card:focus-visible .contact-card__value{color:var(--cream-200)}.contact-card:hover .contact-card__arrow,.contact-card:focus-visible .contact-card__arrow{color:var(--ochre-400);border-color:#d8a45d57;transform:translate(2px,-2px)}.subpage{min-height:100svh;padding:calc(var(--nav-height) + clamp(72px,10vw,120px))0 clamp(72px,10vw,120px);color:var(--ink);background:linear-gradient(180deg,var(--earth-950),var(--earth-800))}.subpage__inner{width:min(calc(100% - 40px),var(--content-width));margin:0 auto}.subpage__eyebrow{color:var(--ochre-400);letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:.8rem;line-height:1.3}.subpage__title{max-width:820px;color:var(--cream-100);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.6rem,7vw,6.4rem);font-weight:400;line-height:.98}.subpage__intro{max-width:760px;color:var(--muted);text-wrap:pretty;margin:24px 0 0;font-size:clamp(1rem,.94rem + .3vw,1.18rem);line-height:1.72}.subpage__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(36px,6vw,58px);display:grid}.subpage__card{border:1px solid var(--line);background:#f2e8d60e;border-radius:8px;min-height:180px;padding:clamp(22px,3vw,32px);box-shadow:0 18px 58px #0403023d}.subpage__card h2{color:var(--cream-100);margin:0 0 12px;font-size:clamp(1.12rem,1rem + .6vw,1.4rem);line-height:1.16}.subpage__card p{color:var(--muted);margin:0}.subpage__card a{color:var(--cream-200);text-underline-offset:.22em;overflow-wrap:anywhere;-webkit-text-decoration:underline #d8a45d80;text-decoration:underline #d8a45d80;transition:color .18s,text-decoration-color .18s}.subpage__card a:hover,.subpage__card a:focus-visible{color:var(--ochre-400);text-decoration-color:currentColor}.footer{color:var(--ink);background:linear-gradient(180deg,#211711eb,#100b08fa),var(--earth-950);border-top:1px solid var(--line)}.footer__inner{width:min(calc(100% - 40px),var(--content-width));grid-template-columns:minmax(220px,.62fr) minmax(0,1fr);grid-template-areas:"brand navs""copyright navs";align-items:center;gap:10px clamp(28px,5vw,64px);margin:0 auto;padding:clamp(26px,4vw,38px) 0;display:grid}.footer__brand{grid-area:brand;min-width:0}.footer__name{color:var(--cream-100);width:fit-content;max-width:100%;margin:0;font-size:clamp(1.08rem,1rem + .35vw,1.32rem);font-weight:750;line-height:1.2;transition:color .18s;display:inline-flex}.footer__name:hover,.footer__name:focus-visible{color:var(--ochre-400)}.footer__copy{color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.45}.footer__navs{flex-direction:column;grid-area:navs;justify-self:end;align-items:flex-end;gap:9px;width:min(100%,700px);display:flex}.footer__nav{min-width:0}.footer__nav--sitemap{order:1}.footer__nav--social{order:2}.footer__links{flex-wrap:wrap;justify-content:flex-end;gap:6px 15px;margin-top:0;display:flex}.footer__links a,.footer__social-link{color:#f2e8d6bd;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s var(--ease);font-size:.84rem;line-height:1.1}.footer__links a{align-items:center;width:fit-content;max-width:100%;min-height:30px;display:inline-flex}.footer__socials{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:0;display:flex}.footer__social-link{color:#f2e8d6b8;background:#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 10px;display:inline-flex}.footer__social-link svg{width:1em;height:1em;color:var(--cream-100);flex:none}.footer__links a:hover,.footer__links a:focus-visible,.footer__social-link:hover,.footer__social-link:focus-visible{color:var(--ochre-400)}.footer__social-link:hover,.footer__social-link:focus-visible{background:#d8a45d14;border-color:#d8a45d61;transform:translateY(-1px)}.footer__copyright{color:#d5c6ad9e;grid-area:copyright;margin:0;font-size:.78rem;line-height:1.4}@media (max-width:900px){:root{--nav-height:68px}.nav__inner,.hero__content,.about-page__inner,.projects-page__inner,.contact-page__inner,.footer__inner{width:min(calc(100% - 32px),var(--content-width))}.nav__links{gap:14px}.nav__link{font-size:.86rem}.hero__content{padding-bottom:92px}.hero__overlay{background:linear-gradient(90deg,#100b08e6,#2117119e),linear-gradient(#100b08ad,#100b084d 36%,#100b08e6)}.subpage__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr;gap:34px}.contact-copy{max-width:760px;padding-top:0;position:relative;top:auto}.contact-methods{margin-top:0}.contact-methods:before{inset:-14px -12px}.about-intro{grid-template-columns:minmax(0,.6fr) minmax(220px,.4fr);gap:26px;padding:28px}.about-intro__copy{max-width:none;min-height:auto}.portrait-card{justify-self:end;max-width:320px}.experience-card__details-inner{grid-template-columns:1fr}.projects-timeline__list{--timeline-date-width:104px;--timeline-gap:16px;--timeline-marker-track:38px}.project-timeline-marker{width:38px;height:38px}.project-card__detail-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:28px 22px}.personal-gallery__grid{grid-template-rows:repeat(2,minmax(240px,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.personal-gallery__item--featured{grid-area:span 2/1}.personal-gallery__item--wide{grid-area:1/2}.personal-gallery__item--standard{grid-area:2/2}}@media (max-width:760px){.nav{pointer-events:auto}.nav--open{background:var(--earth-950);-webkit-backdrop-filter:none;backdrop-filter:none}.nav__links{display:none}.nav__toggle{z-index:1003;width:44px;height:44px;color:var(--cream-100);cursor:pointer;background:#f2e8d60e;border:1px solid #f2e8d629;border-radius:8px;justify-content:center;align-items:center;transition:border-color .18s,background .18s;display:inline-flex;position:fixed;top:10px;right:max(16px,50vw - 260px)}.nav__toggle:hover,.nav__toggle:focus-visible,.nav__toggle[aria-expanded=true]{background:#d8a45d1a;border-color:#d8a45d70}.nav__toggle span{width:18px;height:2px;transition:transform .22s var(--ease),opacity .16s ease;background:currentColor;border-radius:0;position:absolute}.nav__toggle span:first-child{transform:translateY(-6px)}.nav__toggle span:nth-child(3){transform:translateY(6px)}.nav__toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}.nav__mobile-menu{z-index:1001;background:var(--earth-950);opacity:0;pointer-events:none;visibility:hidden;min-height:100dvh;transition:opacity .22s,visibility 0s linear .26s;display:block;position:fixed;inset:0;overflow:hidden}.nav__mobile-menu--open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .22s}.nav__mobile-panel{z-index:1;width:min(100% - 32px,520px);height:100dvh;padding:calc(var(--nav-height) + 28px)0 36px;align-content:center;gap:12px;margin:0 auto;display:grid;position:relative}.nav__mobile-link{color:#f2e8d6c7;background:#f2e8d60b;border:1px solid #f2e8d61f;border-radius:8px;justify-content:space-between;align-items:center;min-height:60px;padding:0 18px 0 20px;font-size:clamp(1.12rem,6vw,1.7rem);line-height:1;transition:border-color .18s,background .18s,color .18s;display:flex}.nav__mobile-link:after{content:"";background:0 0;border-radius:0;flex:none;width:14px;height:2px;margin-left:18px;transition:background .18s}.nav__mobile-link:hover,.nav__mobile-link:focus-visible{color:var(--cream-100);background:#d8a45d14;border-color:#d8a45d57}.nav__mobile-link[aria-current=page]{color:var(--paper);background:#d8a45d1f;border-color:#d8a45d85}.nav__mobile-link[aria-current=page]:after{background:var(--ochre-400)}.about-intro{grid-template-columns:1fr;gap:26px}.portrait-card{justify-self:start;max-width:min(100%,340px)}}@media (max-width:640px){:root{--nav-height:64px}.nav{background:linear-gradient(#100b08eb,#100b082e)}.nav__inner,.hero__content,.about-page__inner,.projects-page__inner,.contact-page__inner,.footer__inner{width:min(calc(100% - 28px),var(--content-width))}.nav__inner{gap:14px}.nav__brand{font-size:1rem}.hero{align-items:center;min-height:100vh}.hero__content{padding-top:calc(var(--nav-height) + 42px);padding-bottom:74px}.hero__title{font-size:clamp(2.8rem,17vw,4.4rem)}.hero__copy{margin-top:22px;font-size:1.05rem}.hero__actions{align-items:stretch}.button{white-space:normal;width:100%}.about-page{padding-top:calc(var(--nav-height) + 48px);padding-bottom:72px}.about-intro{gap:22px;padding:20px}.about-intro__copy{padding:0}.about-title{font-size:clamp(1.72rem,7.4vw,2.35rem);line-height:1.1}.about-intro__copy p:not(.about-eyebrow){margin-top:19px;font-size:1rem}.portrait-card{max-width:min(100%,320px);padding:0}.portrait-card__caption{font-size:.76rem}.about-section{margin-top:68px}.about-section__header{margin-bottom:24px}.about-section__header h2{font-size:clamp(1.9rem,9.5vw,2.8rem);line-height:1.06}.experience-list{gap:12px}.experience-card__button{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta""company""title""summary";gap:10px;padding:20px 20px 62px}.experience-card__company{text-align:left;justify-content:flex-start;justify-self:start}.experience-card__title{font-size:1.28rem}.experience-card__summary{font-size:.95rem}.experience-card__indicator{bottom:20px;right:20px}.experience-card__details-inner{gap:22px;padding:0 20px 22px}.experience-card__details li{font-size:.94rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:22px 16px;padding:12px 0}.projects-page,.contact-page{padding-top:calc(var(--nav-height) + 48px);padding-bottom:72px}.contact-layout{gap:30px}.contact-title{font-size:clamp(2.5rem,13vw,4rem);line-height:1.02}.contact-intro{margin-top:21px;font-size:1rem}.contact-note{margin-top:26px;padding:16px 0 0 18px;font-size:.94rem}.contact-methods{gap:12px}.contact-methods:before{inset:-10px -8px}.contact-card{grid-template-columns:auto minmax(0,1fr);min-height:104px;padding:16px 56px 16px 16px}.contact-card__icon{width:46px;height:46px}.contact-card__arrow{position:absolute;top:18px;right:16px}.contact-card__label{font-size:1.05rem}.contact-card__value{font-size:.86rem}.projects-hero{margin-bottom:58px}.projects-hero h1{font-size:clamp(2.05rem,10vw,3.35rem);line-height:1.06}.projects-hero p:not(.projects-hero__eyebrow){margin-top:20px;font-size:1rem}.projects-timeline__header{margin-bottom:24px}.projects-timeline__header h2{font-size:clamp(1.8rem,9vw,2.65rem);line-height:1.07}.projects-timeline__list{--timeline-gap:12px;--timeline-line-left:18px;--timeline-marker-track:36px;gap:16px}.projects-timeline__item{grid-template-columns:var(--timeline-marker-track)minmax(0,1fr);gap:var(--timeline-gap)}.projects-timeline__date{grid-area:1/2;justify-self:start;margin:0 0 -2px}.project-timeline-marker{grid-area:1/1/span 2;width:36px;height:36px;margin-top:2px}.project-timeline-marker:before{inset:3px}.project-card{grid-area:2/2}.project-card__button{gap:11px;padding:20px}.project-card__meta,.project-card__title{padding-right:40px}.project-card__title{font-size:1.28rem}.project-card__summary{font-size:.95rem}.project-card__indicator{top:20px;right:20px}.project-card__details-inner{gap:22px;padding:0 20px 22px}.project-card__details li,.project-card__description p{font-size:.94rem}.project-card__links a{width:100%}.toolkit-icon{min-height:64px}.toolkit-icon__symbol{width:46px;height:46px}.toolkit-icon__tooltip{display:none}.personal-gallery__header p:not(.about-eyebrow){margin-top:14px;font-size:1rem}.personal-gallery__grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.personal-gallery__item,.personal-gallery__item--featured,.personal-gallery__item--wide,.personal-gallery__item--standard{aspect-ratio:4/3;grid-area:auto/1;min-height:auto}.personal-gallery__item--featured{aspect-ratio:3/4}.personal-gallery__caption{opacity:1;font-size:.9rem;bottom:14px;left:14px;right:14px;transform:none}.subpage{padding-top:calc(var(--nav-height) + 48px);padding-bottom:64px}.subpage__inner{width:min(calc(100% - 28px),var(--content-width))}.subpage__grid{grid-template-columns:1fr;gap:16px;margin-top:34px}.subpage__title{font-size:clamp(2.15rem,11.5vw,3.5rem);line-height:1.04}.subpage__intro{margin-top:20px;font-size:1rem}.subpage__card{min-height:auto;padding:20px}.subpage__card h2{margin-bottom:10px;font-size:1.12rem}.footer__inner{text-align:center;grid-template-columns:1fr;grid-template-areas:"brand""navs""copyright";justify-items:center;gap:14px;padding:24px 0 28px}.footer__brand{justify-items:center;display:grid}.footer__copy{margin-top:4px;font-size:.82rem}.footer__navs{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.footer__nav{justify-items:center;width:100%;display:grid}.footer__nav--social{order:1}.footer__nav--sitemap{order:2}.footer__links{justify-content:center;gap:4px 12px;margin-top:0}.footer__links a{min-height:34px;padding:0 2px}.footer__socials{justify-content:center;gap:8px;margin-top:0}.footer__social-link{min-height:36px;padding:0 9px}.footer__copyright{margin-top:2px;font-size:.74rem}}@media (max-width:360px){.contact-card{gap:12px;padding:14px 50px 14px 14px}.contact-card__icon{width:42px;height:42px}.contact-card__arrow{width:30px;height:30px;top:14px;right:14px}.footer__inner{gap:12px;padding:22px 0 26px}.footer__links{gap:2px 9px}.footer__links a{min-height:32px;padding:0}.footer__social-link{width:36px;padding:0}.footer__social-link span{display:none}}@media (max-width:900px){.research-hero:before{opacity:.3;width:48%}.research-impact__metrics,.research-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.research-impact__metric,.research-card__stat{border-top:1px solid var(--line)}.research-impact__metric:nth-child(-n+2),.research-card__stat:nth-child(-n+2){border-top:0}.research-impact__metric:nth-child(2n),.research-card__stat:nth-child(2n){border-right:0}.research-card__narrative,.research-card__detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.research-hero:before,.research-hero__accent{display:none}.research-hero__pillars{margin-top:22px}.research-impact{margin-bottom:58px}.research-impact__header{margin-bottom:22px}.research-impact__header h2{font-size:1.65rem;line-height:1.12}.research-impact__metrics,.research-card__stats{grid-template-columns:1fr}.research-impact__metric,.research-card__stat,.research-impact__metric:nth-child(2n),.research-card__stat:nth-child(2n){border-right:0}.research-impact__metric,.research-card__stat,.research-impact__metric:nth-child(-n+2),.research-card__stat:nth-child(-n+2){border-top:1px solid var(--line)}.research-impact__metric:first-child,.research-card__stat:first-child{border-top:0}.research-card__tech-preview{padding-right:40px}.research-tech{min-height:32px;font-size:.8rem}.research-tech__icon{flex-basis:20px;width:20px;height:20px}.research-tech__image,.research-tech__svg{width:18px;height:18px}.research-tech__fallback{width:20px;height:20px}.research-card__callout{padding-left:14px}.research-card__narrative{gap:22px}.research-card__narrative p,.research-card__callout p{font-size:.94rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-card{will-change:auto}}
