@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2)format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090e14;--surface:#111720d1;--surface-strong:#131a24f5;--line:#ffffff14;--line-strong:#ffffff21;--text:#edf2f7;--muted:#b1bed0;--muted-soft:#8fa0b5;--accent:#2fd3e9;--font-sans:"Sora", sans-serif;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--shadow-lg:0 28px 72px #0000005c;--shadow-md:0 18px 44px #00000042;--radius-lg:24px;--content-width:1180px}*,:before,:after{box-sizing:border-box}html{min-width:320px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}::selection{color:var(--text);background:#2fd3e92e}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline-offset:3px;outline:2px solid #2fd3e9b8}:where(.brand,.nav a,.mobile-nav__links a,.topbar__link,.menu-toggle,.button,.contact__email,.contact__copy,.lang-switch__button):focus-visible{outline:none;box-shadow:0 0 0 1px #2fd3e970,0 0 0 4px #2fd3e924}#root{isolation:isolate}main{z-index:1;position:relative}.hero,.section{scroll-margin-top:6.4rem}.skip-link{z-index:120;color:var(--text);background:#090e14f0;border:1px solid #2fd3e947;border-radius:999px;padding:.7rem 1rem;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-160%);box-shadow:0 12px 30px #00000038}.skip-link:focus-visible{transform:translateY(0)}.site-shell{position:relative;overflow-x:clip}.site-bg{z-index:0;pointer-events:none;background:radial-gradient(75% 55% at 8% 12%,#7f99b526 0%,#0000 55%),radial-gradient(65% 45% at 92% 85%,#2c42592b 0%,#0000 55%),linear-gradient(#0b1016 0%,#0d131a 45%,#090e14 100%);position:fixed;inset:0;transform:translateZ(0)}.site-grain{z-index:9000;pointer-events:none;opacity:.16;background-image:radial-gradient(#ffffff0d .6px,#0000 .9px),radial-gradient(#ffffff06 .5px,#0000 .8px);background-position:0 0,1px 2px;background-repeat:repeat;background-size:4px 4px,7px 7px;width:100%;height:100%;position:fixed;inset:0}html.has-native-scroll .site-grain{opacity:.12}html.is-scrolling .site-grain{opacity:0}.cursor-dot,.cursor-trail{z-index:9999;opacity:0;pointer-events:none;will-change:transform, opacity;contain:layout paint style;position:fixed;top:0;left:0}.cursor-dot{background:#dcfcfffa;border-radius:50%;width:6px;height:6px;transition:opacity .26s,box-shadow .18s;box-shadow:0 0 8px #2fd3e99e,0 0 20px #2fd3e92e}.cursor-dot[data-interactive=true]{box-shadow:0 0 0 4px #2fd3e91a,0 0 0 1px #2fd3e98c,0 0 14px #2fd3e98a}@media (hover:hover) and (pointer:fine){.has-custom-cursor,.has-custom-cursor *{cursor:none!important}}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-trail{display:none}}.cursor-trail{background:radial-gradient(circle,#2fd3e952 0%,#2fd3e91f 45%,#0000 78%);border-radius:999px;width:14px;height:14px;transition:opacity .18s}.cursor-trail--1{background:radial-gradient(circle,#2fd3e947 0%,#2fd3e91c 48%,#0000 78%);width:12px;height:12px}.cursor-trail--2{background:radial-gradient(circle,#2fd3e938 0%,#2fd3e917 50%,#0000 79%);width:11px;height:11px}.cursor-trail--3{background:radial-gradient(circle,#2fd3e92e 0%,#2fd3e912 52%,#0000 80%);width:10px;height:10px}.cursor-trail--4{background:radial-gradient(circle,#2fd3e924 0%,#2fd3e90f 54%,#0000 82%);width:9px;height:9px}.cursor-trail--5{background:radial-gradient(circle,#2fd3e91f 0%,#2fd3e90d 56%,#0000 84%);width:8px;height:8px}html.is-scrolling .cursor-dot{box-shadow:0 0 6px #2fd3e957,0 0 14px #2fd3e91a}html.is-scrolling .cursor-trail{opacity:0!important}[data-reveal]{--reveal-x:0px;--reveal-y:26px;--reveal-delay:0s;--reveal-duration:.82s;--reveal-scale-from:1}.js [data-reveal]{opacity:0;transform:translate3d(var(--reveal-x), var(--reveal-y), 0) scale(var(--reveal-scale-from));transition:opacity var(--reveal-duration) cubic-bezier(.16, 1, .3, 1) var(--reveal-delay), transform var(--reveal-duration) cubic-bezier(.16, 1, .3, 1) var(--reveal-delay);will-change:opacity, transform}[data-reveal-kind=heading]{--reveal-y:18px;--reveal-duration:.76s}[data-reveal-kind=copy]{--reveal-y:18px;--reveal-duration:.86s}[data-reveal-kind=card]{--reveal-y:24px;--reveal-duration:.84s;--reveal-scale-from:.992}[data-reveal-kind=media]{--reveal-y:22px;--reveal-duration:.92s;--reveal-scale-from:.985}.js [data-reveal].is-visible{opacity:1;will-change:auto;transform:translate(0,0)scale(1)}.hero-reveal{--hero-reveal-y:26px;--hero-reveal-duration:.98s;--hero-reveal-scale-from:1;opacity:0;animation:hero-in var(--hero-reveal-duration) cubic-bezier(.16, 1, .3, 1) both}.hero-reveal--0{--hero-reveal-y:14px;--hero-reveal-duration:.72s;animation-delay:80ms}.hero-reveal--1{--hero-reveal-y:28px;--hero-reveal-duration:1.08s;animation-delay:.22s}.hero-reveal--2{--hero-reveal-y:18px;--hero-reveal-duration:.86s;animation-delay:.42s}.hero-reveal--3{--hero-reveal-y:14px;--hero-reveal-duration:.82s;animation-delay:.56s}.hero-reveal--4{--hero-reveal-y:28px;--hero-reveal-duration:1.04s;--hero-reveal-scale-from:.992;animation-delay:.34s}.hero-reveal--5{--hero-reveal-y:14px;--hero-reveal-duration:.78s;animation-delay:.7s}.hero-reveal--6{--hero-reveal-y:14px;--hero-reveal-duration:.78s;animation-delay:.64s}@keyframes hero-in{0%{opacity:0;transform:translateY(var(--hero-reveal-y)) scale(var(--hero-reveal-scale-from))}to{opacity:1;transform:translateY(0)scale(1)}}.container{width:min(calc(100% - 2rem), var(--content-width));margin:0 auto}.topbar{z-index:40;padding:1rem 0 0;position:sticky;top:0}.topbar__stack{position:relative}.topbar__inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);isolation:isolate;background:#090e14e6;border:1px solid #ffffff17;border-radius:999px;justify-content:space-between;align-items:center;gap:.9rem;padding:.7rem .85rem .7rem 1rem;transition:border-color .22s;display:flex;box-shadow:0 12px 34px #00000042}.topbar__inner:hover{border-color:#ffffff21}html.is-scrolling .topbar__inner{-webkit-backdrop-filter:none;backdrop-filter:none;background:#090e14f7}.brand{flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar__mobile-title{font-family:var(--font-serif);font-style:italic;font-weight:600;display:none}.brand:hover .brand__mark{background:#2fd3e912;border-color:#2fd3e94d}.brand__mark{width:2.45rem;min-width:2.45rem;height:2.45rem;color:var(--text);letter-spacing:.18em;text-transform:uppercase;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;transition:border-color .2s,background .2s;display:inline-flex;transform:translate(.05em)}.nav{flex:auto;justify-content:center;align-items:center;gap:.3rem;min-width:0;display:flex}.nav a{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.54rem .8rem;font-size:.91rem;line-height:1;display:inline-flex}.nav a,.topbar__link,.mobile-nav__links a{transition:color .16s,border-color .16s,background .16s}.nav a:hover{color:var(--text);background:#ffffff0d}.nav a[aria-current=location]{color:var(--text);background:#ffffff0f;border-color:#ffffff14}.topbar__actions{flex:none;align-items:center;gap:.55rem;display:flex}.lang-switch{background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;grid-auto-flow:column;gap:.2rem;padding:.2rem;display:inline-grid}.lang-switch__button{min-width:2.35rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.46rem .6rem;font-size:.76rem;font-weight:700;transition:color .16s,background .16s;display:inline-flex}.lang-switch__button:hover,.lang-switch__button.is-active{color:var(--text);background:#ffffff17}.lang-switch--mobile{width:100%;margin-top:.8rem;display:none}.lang-switch--mobile .lang-switch__button{min-width:0}.topbar__link{width:2.45rem;height:2.45rem;color:var(--muted);background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.topbar__link:hover{color:var(--text);background:#2fd3e914;border-color:#2fd3e95c}.topbar__icon-link svg{width:1rem;height:1rem}.menu-toggle{width:2.45rem;height:2.45rem;color:var(--text);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;transition:border-color .16s,background .16s;display:none;position:relative}.menu-toggle:hover,.menu-toggle.is-open{background:#2fd3e914;border-color:#2fd3e957}.menu-toggle span{background:currentColor;border-radius:999px;width:.9rem;height:1.5px;transition:transform .2s,margin .2s;position:absolute}.menu-toggle span:first-child{margin-top:-.18rem}.menu-toggle span:last-child{margin-top:.18rem}.menu-toggle.is-open span:first-child{margin-top:0;transform:rotate(45deg)}.menu-toggle.is-open span:last-child{margin-top:0;transform:rotate(-45deg)}.mobile-nav{padding-top:.6rem}.mobile-nav__panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);isolation:isolate;background:#090e14fa;border:1px solid #ffffff17;border-radius:24px;padding:.7rem;box-shadow:0 16px 40px #0000004d}html.is-scrolling .mobile-nav__panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#090e14fb}.mobile-nav__links{gap:.42rem;margin:0;padding:0;list-style:none;display:grid}.mobile-nav__links a{color:var(--muted);border:1px solid #0000;border-radius:16px;padding:.82rem .9rem;font-size:.96rem;display:block}.mobile-nav__links a:hover,.mobile-nav__links a[aria-current=location]{color:var(--text);background:#ffffff0a;border-color:#ffffff14}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar__inner,.mobile-nav__panel{background:#090e14f5}}.section{padding:4rem 0}.section--project{padding-top:4.5rem;position:relative}.section--contact{padding-top:3.4rem;padding-bottom:2.4rem}.section-heading{max-width:46rem;margin-bottom:2.6rem}.section-heading--center{text-align:center;margin-inline:auto}.section-heading h2{margin:.12rem 0 0}.eyebrow{color:#2fd3e9d1;letter-spacing:.22em;text-transform:uppercase;margin:0 0 .85rem;font-size:.76rem;font-weight:700;display:inline-flex}h2{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.08}h3{margin:0;font-size:1.1rem;line-height:1.32}.section-copy{color:var(--muted);margin:.9rem 0 0;line-height:1.8}.button{min-height:3rem;color:var(--text);text-align:center;background:#ffffff0a;border:1px solid #ffffff1c;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.2rem;font-size:.94rem;font-weight:600;line-height:1;transition:transform .2s,border-color .16s,background .16s;display:inline-flex}.button:hover{background:#ffffff12;border-color:#ffffff2b;transform:translateY(-1px)}.button--project{color:#e5fdff;background:#2fd3e921;border-color:#2fd3e957}.button--project:hover{background:#2fd3e933;border-color:#2fd3e980}.button--ghost,.button--secondary{background:#ffffff08}.hero{padding:6.6rem 0 4.5rem;position:relative;overflow:hidden}.hero:before{content:"";opacity:0;pointer-events:none;background-image:linear-gradient(#2fd3e907 1px,#0000 1px),linear-gradient(90deg,#2fd3e907 1px,#0000 1px);background-size:52px 52px;animation:1.8s .5s both grid-reveal;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 65% at 50% 0,#000 5%,#0000 70%);mask-image:radial-gradient(80% 65% at 50% 0,#000 5%,#0000 70%)}@keyframes grid-reveal{to{opacity:1}}.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:2.2rem;display:grid}.hero__content{min-width:0;max-width:740px}.hero__eyebrow{color:var(--muted);white-space:nowrap;letter-spacing:.075em;text-transform:uppercase;flex-wrap:nowrap;gap:.65rem;max-width:100%;margin:0 0 1.2rem;font-size:clamp(.76rem,.86vw,.88rem);font-weight:600;display:inline-flex}.hero__eyebrow span{color:#ffffff42}.hero h1{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.9rem,5.6vw,4.9rem);line-height:1}.accent-serif{font-family:var(--font-serif);color:#f2fbff;font-style:italic;font-weight:600}.hero__intro{max-width:58ch;color:var(--text);margin:1.6rem 0 0;font-size:1.06rem;line-height:1.76}.hero__note{max-width:56ch;color:var(--muted);margin:.9rem 0 0;font-size:.98rem;line-height:1.72}.hero__actions{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.hero__aside{justify-content:flex-end;display:flex}.portrait-card{--gx:50%;--gy:50%;--portrait-glow:.16;--frame-scale:1;--media-scale:1;--media-shift-x:0px;--media-shift-y:0px;--meta-shift-x:0px;--meta-shift-y:0px;background:radial-gradient(circle at var(--gx) var(--gy), #2fd3e912, transparent 60%), linear-gradient(180deg, #ffffff0d, #ffffff05), #0d121ae6;width:min(100%,400px);box-shadow:var(--shadow-lg);transform-style:preserve-3d;border:1px solid #ffffff17;border-radius:30px;margin:0;padding:1rem;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .22s,box-shadow .32s,background .32s}.portrait-card:hover,.portrait-card.is-portrait-active{border-color:#ffffff21;box-shadow:0 26px 62px #00000057,inset 0 0 0 1px #2fd3e912}.portrait-card__frame{aspect-ratio:.86;transform:translate3d(0, 0, 22px) scale(var(--frame-scale));border:1px solid #ffffff12;border-radius:22px;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .22s,box-shadow .32s;position:relative;overflow:hidden;box-shadow:0 18px 40px #0000002e}.portrait-card__frame:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy), rgba(255, 255, 255, calc(var(--portrait-glow) * .38)), transparent 32%), radial-gradient(circle at var(--gx) var(--gy), rgba(47, 211, 233, calc(var(--portrait-glow) * .72)), transparent 58%);opacity:.72;transition:opacity .26s;position:absolute;inset:0}.portrait-card:hover .portrait-card__frame,.portrait-card.is-portrait-active .portrait-card__frame{border-color:#ffffff1f;box-shadow:0 24px 44px #0000003d,inset 0 0 0 1px #2fd3e90d}.portrait-card__frame img{object-fit:cover;width:100%;height:100%;transform:translate3d(var(--media-shift-x), var(--media-shift-y), 0) scale(var(--media-scale));transform-origin:50%;transition:transform .32s cubic-bezier(.22,1,.36,1)}.portrait-card__meta{transform:translate3d(var(--meta-shift-x), var(--meta-shift-y), 18px);justify-content:space-between;gap:1rem;padding:1rem .15rem .1rem;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex}.portrait-card__meta p{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.portrait-card__meta span{color:var(--muted);text-align:right;font-size:.92rem}.surface-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(160deg, #ffffff07 0%, #ffffff02 100%), var(--surface);padding:1.4rem;transition:transform .24s,border-color .2s,box-shadow .24s;position:relative;box-shadow:inset 0 1px #ffffff08}.surface-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 14px 30px #00000024,inset 0 1px #ffffff08}.surface-card p{color:var(--muted);margin:.7rem 0 0;line-height:1.76}.surface-card__index{color:#2fd3e9ad;letter-spacing:.14em;margin-bottom:.85rem;font-size:.78rem;font-weight:700;display:inline-flex}.card-grid{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.about__grid{grid-template-columns:minmax(0,1.16fr) minmax(290px,.88fr);align-items:stretch;gap:clamp(2rem,3.6vw,3.35rem);display:grid}.about__editorial{flex-direction:column;gap:.92rem;padding-right:1rem;display:flex}.about__heading{max-width:37rem;margin-bottom:0}.about__copy{gap:.82rem;display:grid}.about__copy p{color:var(--muted);margin:0;font-size:1rem;line-height:1.84}.about__lead{color:#d6e3ef;font-size:1.02rem;line-height:1.8}.principles{align-content:start;gap:.72rem;display:grid}.principles__intro{padding:.1rem .1rem .3rem}.principles__intro .eyebrow{margin-bottom:0}.principle-card{padding:1.15rem 1.25rem}.principle-card h3{font-size:1rem}.principle-card p{margin-top:.55rem;line-height:1.7}.timeline{gap:1rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.journey__columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(1.4rem,3vw,2.4rem);display:grid}.journey__label{color:var(--text);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem;font-weight:700}.journey__certifications{margin-top:clamp(2.2rem,4vw,3rem)}.timeline:before{content:"";background:linear-gradient(#2fd3e947,#2fd3e908 85%,#0000);width:1px;position:absolute;top:.4rem;bottom:.4rem;left:1.1rem}.timeline__item{grid-template-columns:2.4rem minmax(0,1fr);align-items:start;display:grid}.timeline__dot{background:var(--accent);border-radius:50%;justify-self:center;width:.65rem;height:.65rem;margin-top:1.8rem;box-shadow:0 0 0 4px #2fd3e91a,0 0 10px #2fd3e942}.timeline__content{padding:1.4rem}.timeline__year{color:#2fd3e9cc;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.7rem;font-size:.78rem;font-weight:700;display:inline-flex}.timeline__subtitle{color:var(--muted-soft);margin-top:.3rem;font-size:.93rem}.timeline__content h4,.certification-card h4{margin:0;font-size:1.1rem;line-height:1.32}.timeline__content p{margin:.55rem 0 0;line-height:1.72}.skill-rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:2.8rem clamp(8.5rem,22%,13rem) 1fr;align-items:baseline;gap:clamp(.8rem,2.2vw,1.7rem);padding:clamp(.95rem,1.5vw,1.2rem) .2rem;transition:border-color .18s;display:grid}.skill-row:hover{border-bottom-color:#2fd3e921}.skill-row__index{color:#2fd3e9a6;letter-spacing:.14em;padding-top:.06em;font-size:.78rem;font-weight:700}.skill-row__title{letter-spacing:-.01em;grid-column:2;margin:0;font-size:1rem;font-weight:600;transition:color .18s}.skill-row:hover .skill-row__title{color:#2fd3e9e0}.skill-row__summary{color:var(--muted);grid-column:3;margin:0;line-height:1.68}.skill-tags{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.skill-tag{border:1px solid var(--line-strong);color:#d6e3ef;background:#ffffff08;border-radius:999px;padding:.3rem .72rem;font-size:.86rem;line-height:1.4;transition:border-color .18s,color .18s}.skill-row:hover .skill-tag{border-color:#2fd3e938}.section--project:before{content:"";pointer-events:none;background:radial-gradient(55% 45% at 80% 20%,#2fd3e914,#0000 55%),radial-gradient(45% 35% at 20% 80%,#2fd3e90a,#0000 55%);position:absolute;inset:0}.project{box-shadow:var(--shadow-lg), 0 0 0 1px #2fd3e90a inset;isolation:isolate;background:linear-gradient(170deg,#091018fa,#070c12fa);border:1px solid #2fd3e921;border-radius:38px;padding:clamp(2rem,4vw,2.8rem);position:relative;overflow:hidden}.project:after{content:"";border-radius:inherit;pointer-events:none;opacity:.18;background:radial-gradient(82% 62% at 50% 0,#2fd3e91f,#0000 70%),radial-gradient(76% 58% at 50% 100%,#2fd3e914,#0000 74%);border:1px solid #2fd3e929;transition:opacity .42s;position:absolute;inset:0}.project.project--glow-active:after,.project:hover:after,.project:focus-within:after{animation:.92s cubic-bezier(.22,1,.36,1) both project-glow}@keyframes project-glow{0%{opacity:.18}42%{opacity:.34}to{opacity:.2}}html.is-scrolling .project:after{opacity:.12;animation:none}.project .eyebrow{color:var(--accent)}.project__grid{grid-template-columns:minmax(0,.88fr) minmax(340px,1.12fr);align-items:start;gap:1.6rem;margin-top:2rem;display:grid}.project__content{gap:1rem;padding-right:clamp(0rem,2.5vw,1.8rem);display:grid}.project__intro,.project__narrative,.project__block{background:linear-gradient(170deg,#0d161ef0,#080f16eb);border-color:#2fd3e91a}.project__release{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.project__release-badge{color:var(--accent);letter-spacing:.07em;background:#2fd3e91f;border:1px solid #2fd3e938;border-radius:999px;align-items:center;padding:.36rem .76rem;font-size:.78rem;font-weight:700;display:inline-flex}.project__release-copy{color:#b4dce6cc;font-size:.88rem}.project__journey{color:var(--muted);margin:0;line-height:1.78}.project__detail-label{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:700}.project__narrative-copy{color:#bddde3;margin:.7rem 0 0;line-height:1.75}.project__proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.project__proof-item{height:100%}.project-proof{background:#2fd3e90a;border:1px solid #2fd3e91f;border-radius:20px;flex-direction:column;min-height:100%;padding:1.1rem 1.2rem;display:flex}.project-proof,.project-shot{transition:transform .22s,border-color .2s}.project-proof:hover{border-color:#2fd3e933;transform:translateY(-2px)}.project-proof h3{color:#d9f8fc;font-size:.95rem}.project-proof p{color:#8fc4ca;margin:.35rem 0 0;font-size:.88rem;line-height:1.64}.project__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.project-list{gap:.7rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.project-list li{color:var(--muted);padding-left:1rem;line-height:1.68;position:relative}.project-list li:before{content:"";background:#2fd3e9b3;border-radius:50%;width:.34rem;height:.34rem;position:absolute;top:.6rem;left:0}.project__shots{width:min(100%,36rem);height:100%;box-shadow:var(--shadow-md);background:#070c12d1;border:1px solid #ffffff14;border-radius:28px;place-self:stretch end;padding:.85rem}.project__shot-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.9rem;height:100%;margin:0;padding:0;list-style:none;display:grid}.project__shot-list li{min-height:0}.project__shots-hint{display:none}.project-shot{background:#0e141cfa;border:1px solid #ffffff12;border-radius:22px;height:100%;margin:0;overflow:hidden}.project-shot:hover{border-color:#2fd3e921;transform:translateY(-2px)}.project-shot img{object-fit:cover;object-position:top;width:100%;height:100%}.certification-grid{align-items:stretch;gap:.68rem}.certification-card{min-height:100%}.certification-card__date{color:#2fd3e9b8;letter-spacing:.13em;text-transform:uppercase;margin-bottom:0;font-size:.74rem;font-weight:700;display:inline-flex}.certification-card h4{margin-top:.35rem;font-size:.98rem;line-height:1.35}.certification-card p:last-child{margin-top:.2rem;font-size:.88rem}.contact{text-align:center}.contact__panel{background:var(--surface-strong);justify-items:center;gap:.4rem;width:min(100%,780px);margin:0 auto;padding:2rem 1.6rem;display:grid}.contact__lead{max-width:46ch;color:var(--muted);margin-top:0;font-size:1rem;line-height:1.76}.contact__email{color:#f0fdff;letter-spacing:-.01em;margin-top:1rem;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:clamp(1.2rem,3.5vw,1.8rem);font-weight:600;transition:color .16s;display:inline-block}.contact__email:hover{color:var(--accent)}.contact__copy{border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:999px;margin-top:.2rem;padding:.42rem .95rem;font-size:.82rem;font-weight:600;transition:color .16s,border-color .16s,background .16s}.contact__copy:hover{color:var(--text);background:#2fd3e914;border-color:#2fd3e957}.contact__copy.is-copied{color:var(--accent);border-color:#2fd3e966}.contact__copy.is-failed{color:#f0b4b4}.contact__actions{grid-template-columns:repeat(2,minmax(0,10.5rem));justify-content:center;gap:.8rem;width:100%;margin-top:1.2rem;display:grid}.contact__actions .button{gap:.55rem}.contact__cv{grid-column:1/-1}.contact__icon{color:var(--accent);display:inline-flex}.contact__cv .contact__icon{color:inherit}.contact__icon svg{width:1.1rem;height:1.1rem}.footer{width:min(100%,780px);margin:1rem auto 0}.footer__inner{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.1rem;display:flex}.footer__identity{text-align:left;justify-items:start;gap:.18rem;display:grid}.footer__name{color:var(--text);margin:0;font-size:.98rem;font-weight:700}.footer__role,.footer__closing{color:var(--muted-soft);font-size:.9rem}.footer__role{line-height:1.5}.footer__closing{text-align:right;max-width:20rem;margin:0;line-height:1.6}@media (width<=1080px){.topbar__inner{gap:.62rem;padding-left:.78rem;padding-right:.64rem}.nav{gap:.08rem}.nav a{padding:.5rem .6rem;font-size:.87rem}.hero__grid,.about__grid,.project__grid{grid-template-columns:1fr}.hero{padding-top:5.8rem}.hero__aside{justify-content:flex-start}.portrait-card{width:min(100%,460px)}.project__content{padding-right:0}.project__shots{justify-self:start;width:100%;max-width:720px;height:auto}.project__shot-list{grid-auto-rows:auto;height:auto}.project-shot,.project-shot img{height:auto}.card-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1081px) and (height<=820px){.hero{padding-top:4.4rem;padding-bottom:3.5rem}.hero h1{font-size:clamp(2.9rem,5vw,4.2rem)}.hero__intro{margin-top:1.2rem}}@media (width<=760px){.hero,.section{scroll-margin-top:5.35rem}.container{width:min(calc(100% - 1.25rem), var(--content-width))}.topbar{padding-top:.75rem}.topbar__inner{padding:.58rem .62rem .58rem .78rem}.topbar__mobile-title{color:#f3f9fcf5;letter-spacing:-.014em;text-align:center;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 10px #2fd3e90d,0 0 20px #2fd3e905;flex:auto;min-width:0;padding:0 .55rem;font-size:1.02rem;line-height:1;animation:.82s cubic-bezier(.16,1,.3,1) .12s both mobile-topbar-title-in;display:block;position:relative;overflow:hidden}.topbar__mobile-title:before{content:"";opacity:.1;filter:blur(10px);pointer-events:none;background:radial-gradient(#2fd3e92e,#2fd3e90a 48%,#0000 72%);border-radius:999px;height:1.5rem;position:absolute;top:50%;left:24%;right:24%;transform:translateY(-52%)}.topbar__mobile-title:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#2fd3e985,#2fd3e92e,#0000);border-radius:999px;height:1.5px;animation:.82s cubic-bezier(.16,1,.3,1) .24s both mobile-topbar-line-in;position:absolute;bottom:-.42rem;left:12%;right:12%;box-shadow:0 0 10px #2fd3e929}.brand__mark,.topbar__link,.menu-toggle{width:2.25rem;min-width:2.25rem;height:2.25rem}.brand__mark{font-size:.74rem}.nav,.topbar__icon-link,.lang-switch--topbar{display:none}.menu-toggle{display:inline-flex}.lang-switch--mobile{display:inline-grid}.hero{padding:4rem 0 3.4rem}@keyframes mobile-topbar-title-in{0%{opacity:0;text-shadow:0 0 #2fd3e900,0 0 #2fd3e900;transform:translateY(6px)}to{opacity:1;text-shadow:0 0 10px #2fd3e90d,0 0 20px #2fd3e905;transform:translateY(0)}}@keyframes mobile-topbar-line-in{0%{opacity:0;transform:scaleX(.82)}to{opacity:.28;transform:scaleX(.86)}}.hero__grid{gap:1.8rem}.hero h1{font-size:clamp(2.5rem,12vw,4rem)}.hero__eyebrow{white-space:normal;flex-wrap:wrap;row-gap:.18rem}.hero__intro,.hero__note,.section-copy,.about__copy p,.project__journey,.project__narrative-copy{font-size:.97rem;line-height:1.72}.section{padding:3.2rem 0}.section--project{padding-top:3.6rem}.section--contact{padding-top:3.2rem;padding-bottom:1.8rem}.section-heading{margin-bottom:1.6rem}.about__grid{gap:1.5rem}.about__editorial{padding-right:0}.journey__columns{grid-template-columns:1fr}.timeline__item{grid-template-columns:2rem minmax(0,1fr);gap:.6rem}.timeline:before{left:.86rem}.timeline__dot{margin-left:.28rem}.card-grid--three,.project__proof-grid,.project__links{grid-template-columns:1fr}.project__shot-list{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:.8rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.project__shot-list>li{scroll-snap-align:start;flex:0 0 72%}.project__shots-hint{color:var(--muted-soft);text-align:center;margin:.7rem 0 0;font-size:.82rem;display:block}.footer__inner{grid-template-columns:minmax(0,1fr) minmax(8rem,10.5rem);align-items:end;gap:.85rem;display:grid}.footer__identity{text-align:left;align-content:end;justify-items:start;min-width:0}.footer__name{font-size:.94rem;line-height:1.2}.footer__role,.footer__closing{font-size:.84rem;line-height:1.5}.footer__closing{align-self:end;max-width:none}.skill-row{grid-template-rows:auto auto;grid-template-columns:2.4rem 1fr;column-gap:.8rem}.skill-row__summary{grid-column:2;margin-top:.2rem;font-size:.95rem}}@media (width<=580px){.hero__eyebrow{letter-spacing:.055em;gap:.38rem;font-size:clamp(.56rem,1.95vw,.68rem)}.hero__intro{margin-top:1.2rem}.portrait-card{border-radius:26px;padding:.8rem}.portrait-card__frame{border-radius:18px}.surface-card,.project-proof{border-radius:20px;padding:1.1rem}.project__shots{border-radius:24px;padding:.8rem}.project-shot{border-radius:18px}.skill-row{grid-template-columns:1fr;padding-left:0}.skill-row__index{display:none}.skill-row__title,.skill-row__summary{grid-column:1}.skill-row__summary{margin-top:.3rem}.button{width:100%}.contact__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.contact__email{font-size:clamp(.9rem,3.8vw,1.1rem)}.footer{margin-top:.9rem}.footer__inner{grid-template-columns:minmax(0,1fr) minmax(7rem,8.8rem);gap:.7rem}.footer__name{font-size:.9rem}.footer__role,.footer__closing{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.hero-reveal{opacity:1;animation:none;transform:none}.js [data-reveal]{opacity:1;transition:none;transform:none}.cursor-dot,.cursor-trail{display:none}.project:after{animation:none}.project.project--glow-active:after,.project:hover:after,.project:focus-within:after{opacity:.2;animation:none}.hero:before{opacity:1;animation:none}.topbar__mobile-title,.topbar__mobile-title:before,.topbar__mobile-title:after{animation:none}.topbar__mobile-title{opacity:1;transform:none}.topbar__mobile-title:after{opacity:.28;transform:scaleX(.86)}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@page{margin:14mm}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:#fff!important}body *{color:#111!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important;transition:none!important;animation:none!important}.site-bg,.site-grain,.cursor-dot,.cursor-trail,.topbar,.skip-link,.hero__actions,.contact__copy,.project__links,.project__shots-hint,.contact__actions a[download],.hero:before,.section--project:before,.project:after{display:none!important}.js [data-reveal],.hero-reveal{opacity:1!important;transform:none!important}.eyebrow,.journey__label,.timeline__year,.certification-card__date,.project__detail-label,.skill-row__index,.project__release-badge{color:#0b6b7a!important}.hero,.section{padding:0 0 1.4rem}.hero__grid,.project__grid{grid-template-columns:1fr}.hero h1{font-size:2.2rem}.portrait-card{transform-style:flat;border:0;width:180px;padding:0;transform:none!important}.portrait-card__frame,.portrait-card__frame img,.portrait-card__meta{transform:none!important}.portrait-card__frame:after{display:none}.surface-card,.project,.project-proof,.project__shots,.skill-tag{border-color:#ccc!important}.project{border:0;padding:0;overflow:visible}.portrait-card__meta{flex-direction:column;gap:.1rem}.portrait-card__meta span{text-align:left}.section-heading,.journey__label,.project__detail-label{break-after:avoid}.section-heading{break-inside:avoid}.project__shots{border:0;width:100%;height:auto;padding:0}.project__shot-list{grid-template-columns:repeat(4,minmax(0,1fr));height:auto;overflow:visible;display:grid!important}.project__shot-list>li{flex:none}.project-shot,.project-shot img{height:auto}.project-list li:before,.timeline__dot{background:#0b6b7a!important}.principles,.surface-card,.timeline__item,.skill-row,.project-proof,.project__shots,.contact__panel{break-inside:avoid}.contact__actions a[href^=http]:after{content:" (" attr(href) ")";font-weight:400}.contact__actions{flex-direction:column;align-items:center;display:flex}.contact__actions .button{border:0;min-height:0;padding:0}}
