:root{--ink: #13201e;--ink-soft: #4f5d59;--paper: #f5f3eb;--paper-deep: #ebe8dd;--navy: #102c2a;--navy-light: #183936;--line: rgba(19, 32, 30, .15);--blue: #7ea1ff;--lime: #c9f66f;--coral: #ff896e;--white: #fffef9;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--paper);color:var(--ink);margin:0;min-width:320px;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}svg{display:block;flex:0 0 auto}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.skip-link{background:var(--lime);color:var(--ink);font-weight:800;left:1rem;padding:.75rem 1rem;position:fixed;top:-5rem;z-index:100}.skip-link:focus{top:1rem}.page-shell{margin:0 auto;max-width:1240px;padding-inline:32px;width:100%}.site-nav{background:#f5f3ebe0;border-bottom:1px solid rgba(19,32,30,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}.nav-inner{align-items:center;display:flex;height:76px;justify-content:space-between;margin:0 auto;max-width:1240px;padding-inline:32px}.wordmark{align-items:center;display:inline-flex;font-size:.88rem;font-weight:800;gap:12px;text-decoration:none}.wordmark-mark{align-items:center;background:var(--ink);border-radius:50%;color:var(--paper);display:inline-flex;font-family:var(--mono);font-size:.7rem;height:34px;justify-content:center;letter-spacing:-.04em;width:34px}.nav-links{align-items:center;display:flex;gap:32px}.nav-links a{color:#3d4a46;font-size:.78rem;font-weight:700;position:relative;text-decoration:none}.nav-links a:after{background:var(--ink);bottom:-8px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .18s ease;width:100%}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1);transform-origin:left}.nav-actions{align-items:center;display:flex;gap:10px}.language-switcher{display:block;position:relative}.language-switcher:after{border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;content:"";height:6px;pointer-events:none;position:absolute;right:15px;top:16px;transform:rotate(45deg);width:6px}.language-switcher select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fffef98f;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font-family:var(--mono);font-size:.66rem;font-weight:700;height:42px;letter-spacing:.03em;padding:0 34px 0 15px;transition:background .18s ease,border-color .18s ease;width:132px}.language-switcher select:hover{background:var(--white);border-color:#13201e4d}.nav-resume{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:999px;color:var(--paper);display:inline-flex;font-size:.76rem;font-weight:700;gap:8px;min-height:42px;padding:0 18px;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-resume:hover{background:transparent;color:var(--ink);transform:translateY(-1px)}.hero{min-height:calc(100svh - 76px);overflow:hidden;position:relative}.hero-grid{align-items:center;display:grid;gap:80px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:calc(100svh - 148px);padding-block:72px}.hero-copy{animation:enter-up .6s both ease-out}.eyebrow,.section-index{align-items:center;display:flex;font-family:var(--mono);font-size:.68rem;font-weight:500;gap:10px;letter-spacing:.11em;margin:0 0 22px;text-transform:uppercase}.eyebrow>span{background:var(--coral);border-radius:50%;height:7px;width:7px}.hero h1{font-size:clamp(3.6rem,6.5vw,6.25rem);letter-spacing:-.07em;line-height:.95;margin:0;max-width:790px}h1 em,.section-heading h2 em{color:#5272d6;font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-intro{color:var(--ink-soft);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75;margin:32px 0;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{align-items:center;border:1px solid var(--ink);border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:800;gap:10px;justify-content:center;min-height:52px;padding:0 22px;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:var(--navy-light)}.button-ghost{background:transparent}.button-ghost:hover{background:var(--white)}.hero-meta{align-items:center;color:#5d6965;display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:.67rem;gap:22px;margin-top:34px}.hero-meta span,.hero-meta a{align-items:center;display:inline-flex;gap:8px}.hero-meta a{text-decoration-color:#13201e59;text-underline-offset:4px}.hero-visual{align-items:center;animation:enter-up .6s .12s both ease-out;display:flex;justify-content:center;min-height:520px;position:relative}.profile-card{background:var(--navy);border-radius:28px;box-shadow:0 30px 70px #1a272533;color:var(--white);overflow:hidden;padding:28px;position:relative;transform:rotate(3deg);width:min(100%,385px);z-index:3}.profile-card:before{background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(to bottom,black,transparent 68%);mask-image:linear-gradient(to bottom,black,transparent 68%);position:absolute}.profile-topline{align-items:center;color:#ffffff94;display:flex;font-family:var(--mono);font-size:.62rem;justify-content:space-between;letter-spacing:.08em;position:relative;text-transform:uppercase}.status-dot{background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px #c9f66f1f;height:8px;width:8px}.profile-monogram{align-items:center;color:var(--paper);display:flex;font-size:10rem;font-weight:800;height:245px;justify-content:center;letter-spacing:-.14em;line-height:1;position:relative}.profile-monogram span{color:var(--lime)}.profile-copy{border-top:1px solid rgba(255,255,255,.14);padding:20px 0 22px;position:relative}.profile-copy p{font-size:1.05rem;font-weight:700;margin:0 0 4px}.profile-copy span{color:#ffffff94;font-size:.73rem}.profile-stats{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);position:relative}.profile-stats div{align-items:center;background:#ffffff12;border-radius:12px;display:flex;justify-content:center;min-height:44px;padding:12px}.profile-stats strong{display:block;font-family:var(--mono);font-size:.78rem;text-align:center}.orbit{border:1px solid rgba(19,32,30,.12);border-radius:50%;position:absolute}.orbit:after{background:var(--coral);border:5px solid var(--paper);border-radius:50%;content:"";height:14px;left:13%;position:absolute;top:16%;width:14px}.orbit-one{height:500px;width:500px}.orbit-two{height:390px;width:390px}.orbit-two:after{background:var(--blue);left:auto;right:2%;top:70%}.floating-note{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffef9e6;border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 30px #13201e14;display:flex;font-family:var(--mono);font-size:.65rem;gap:8px;padding:11px 15px;position:absolute;z-index:4}.note-top{right:-16px;top:13%}.capability-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);overflow:hidden}.capability-track{align-items:center;display:flex;gap:26px;justify-content:center;min-height:72px;padding:0 24px;white-space:nowrap}.capability-track span{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.capability-track i{background:var(--coral);border-radius:50%;height:5px;width:5px}.section-block{padding:128px 0}.section-heading{align-items:end;display:grid;gap:60px;grid-template-columns:1.5fr .5fr;margin-bottom:72px}.section-index{color:#68736f;margin-bottom:18px}.section-heading h2{font-size:clamp(2.7rem,5vw,4.9rem);letter-spacing:-.065em;line-height:1;margin:0;max-width:820px}.section-heading>p{color:var(--ink-soft);font-size:.92rem;line-height:1.7;margin:0}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:48px 210px minmax(0,1fr);padding:44px 0}.timeline-marker span,.education-number,.project-number{color:#68736f;font-family:var(--mono);font-size:.7rem}.timeline-date p,.timeline-date span{margin:0}.timeline-date p{font-family:var(--mono);font-size:.72rem;font-weight:500}.timeline-date span{color:#7a8581;display:block;font-size:.7rem;margin-top:8px}.timeline-content .organisation{color:#5272d6;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.timeline-content h3{font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-.04em;margin:0}.timeline-description{color:var(--ink-soft);font-size:.9rem;line-height:1.75;margin:18px 0 22px;max-width:720px}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list>span,.detail-item summary{border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.58rem;padding:7px 10px}.detail-tags{align-items:flex-start}.tag-hint{color:#7a8581;font-family:var(--mono);font-size:.58rem;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.detail-item{max-width:720px}.detail-item[open]{flex-basis:100%}.detail-item summary{align-items:center;cursor:pointer;display:inline-flex;gap:8px;list-style:none;transition:background .18s ease,border-color .18s ease,color .18s ease}.detail-item summary::-webkit-details-marker{display:none}.detail-item summary:hover{background:#fffef9cc;border-color:#13201e52}.detail-item summary b{font-size:.76rem;font-weight:500;line-height:.7;transition:transform .18s ease}.detail-item[open] summary{background:var(--ink);border-color:var(--ink);color:var(--white)}.detail-item[open] summary b{transform:rotate(45deg)}.detail-panel{animation:detail-in .18s ease-out;background:var(--white);border:1px solid var(--line);border-radius:16px;margin-top:12px;max-width:720px;padding:18px 20px}.detail-panel p{color:var(--ink-soft);font-size:.82rem;line-height:1.65;margin:0}.projects-section{background:var(--navy);color:var(--white)}.section-heading-light .section-index,.section-heading-light>p{color:#ffffff94}.section-heading-light h2 em{color:var(--lime)}.project-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.project-card{border-radius:22px;color:var(--ink);display:flex;flex-direction:column;min-height:570px;overflow:hidden;padding:26px;position:relative;text-decoration:none;transition:transform .22s ease}.project-card:hover{transform:translateY(-8px)}.project-blue{background:var(--blue)}.project-lime{background:var(--lime)}.project-coral{background:var(--coral)}.project-card-top{align-items:center;display:flex;justify-content:space-between}.project-number{color:#13201ead}.project-arrow{align-items:center;border:1px solid rgba(19,32,30,.22);border-radius:50%;display:flex;height:44px;justify-content:center;transition:background .18s ease,transform .18s ease;width:44px}.project-card:hover .project-arrow{background:var(--ink);color:var(--white);transform:rotate(45deg)}.project-graphic{aspect-ratio:3 / 2;background:#13201e14;border:1px solid rgba(19,32,30,.18);border-radius:14px;margin:24px 0;overflow:hidden}.project-graphic img,.project-graphic video{display:block;height:100%;object-fit:cover;transition:transform .26s ease;width:100%}.project-graphic .project-fallback{display:none}.project-blue .project-graphic{background:#6ab1dc}.project-blue .project-graphic img{object-fit:contain}.project-lime .project-graphic{background:var(--white)}.project-lime .project-graphic img,.project-lime .project-graphic video{object-fit:contain}.project-card:hover .project-graphic img,.project-card:hover .project-graphic video{transform:scale(1.025)}.project-body h3{font-size:clamp(1.45rem,2.2vw,1.9rem);letter-spacing:-.045em;line-height:1.1;margin:0}.project-body>p{font-size:.82rem;line-height:1.7;margin:16px 0 20px}.project-card .tag-list span{border-color:#13201e40}.project-body>strong{display:block;font-size:.7rem;margin-top:26px;text-decoration:underline;text-underline-offset:5px}.education-list{display:grid;gap:12px}.education-card{align-items:start;background:#fffef98c;border:1px solid var(--line);border-radius:18px;display:grid;gap:28px;grid-template-columns:44px minmax(0,1fr) 190px;padding:34px;transition:background .18s ease,transform .18s ease}.education-card:hover{background:var(--white);transform:translate(5px)}.education-school{color:#5272d6;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.education-main h3{font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.04em;margin:0 0 12px}.education-main>span,.education-meta>span{color:var(--ink-soft);font-size:.8rem;line-height:1.6}.education-main .tag-hint{margin-top:20px}.education-meta strong,.education-meta span{display:block;text-align:right}.education-meta strong{font-family:var(--mono);font-size:.7rem;margin-bottom:12px}.skills-section{background:var(--paper-deep)}.skills-layout{display:grid;gap:90px;grid-template-columns:.85fr 1.15fr}.skills-intro{position:sticky;top:120px}.skills-intro h2{font-size:clamp(2.6rem,4.5vw,4.5rem);letter-spacing:-.06em;line-height:1;margin:0}.skills-intro>p:not(.section-index){color:var(--ink-soft);font-size:.9rem;line-height:1.75;margin:26px 0 34px;max-width:500px}.language-card{border-left:2px solid var(--coral);padding-left:18px}.language-card span{font-family:var(--mono);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}.language-card p{font-size:.82rem;margin:8px 0 0}.skill-groups{border-top:1px solid var(--line)}.skill-group{border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:50px 1fr;padding:35px 0}.skill-group-icon{align-items:center;background:var(--ink);border-radius:12px;color:var(--lime);display:flex;height:44px;justify-content:center;width:44px}.skill-group h3{font-size:1.3rem;letter-spacing:-.035em;margin:8px 0 18px}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-list span{background:#fffef9bf;border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:.62rem;padding:9px 11px}.profile-section{background:var(--paper);padding:128px 0}.profile-grid{align-items:start;display:grid;gap:18px;grid-template-columns:.9fr 1.1fr}.curiosity-card,.elsewhere-card{border-radius:24px;padding:42px}.curiosity-card{background:var(--blue);display:flex;flex-direction:column}.curiosity-card .section-index{color:#13201ead;margin-bottom:0}.curiosity-topline{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.curiosity-badge{border:1px solid rgba(19,32,30,.24);border-radius:999px;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;padding:12px 16px;text-transform:uppercase}.curiosity-content{margin-top:32px}.curiosity-card h2{font-size:1.55rem;letter-spacing:-.025em;line-height:1.2;margin:0 0 20px}.curiosity-body{font-size:.86rem;line-height:1.7;margin:0;max-width:520px}.elsewhere-card{background:var(--navy);color:var(--white);display:flex;flex-direction:column;justify-content:center}.elsewhere-card .eyebrow{color:#ffffff94}.elsewhere-card h2{font-size:clamp(2.4rem,4.5vw,4.5rem);letter-spacing:-.065em;line-height:.98;margin:0;max-width:640px}.elsewhere-card>p:not(.eyebrow){color:#ffffff9e;font-size:.9rem;line-height:1.7;margin:24px 0 36px;max-width:520px}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.social-links a{align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;display:inline-flex;font-size:.72rem;gap:8px;min-height:42px;padding:0 15px;text-decoration:none;transition:background .18s ease,color .18s ease}.social-links a:hover{background:var(--white);color:var(--ink)}.site-footer{background:var(--navy);color:#ffffff7a}.site-footer .page-shell{align-items:center;border-top:1px solid rgba(255,255,255,.12);display:flex;font-family:var(--mono);font-size:.59rem;justify-content:space-between;min-height:100px}.site-footer a{align-items:center;display:inline-flex;gap:8px;text-decoration:none}@keyframes enter-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1000px){.wordmark-name{display:none}.hero-grid{gap:40px;grid-template-columns:1fr .72fr}.profile-card{padding:22px}.profile-monogram{font-size:7.6rem}.floating-note{display:none}.section-heading{grid-template-columns:1fr 280px}.project-card{min-height:530px}.skills-layout{gap:56px}}@media (max-width: 800px){.page-shell,.nav-inner{padding-inline:22px}.nav-links{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding-bottom:84px;padding-top:58px}.hero-copy{max-width:680px}.hero-visual{min-height:500px}.profile-card{width:min(82vw,390px)}.capability-track{justify-content:flex-start;overflow-x:auto}.section-block,.profile-section{padding:96px 0}.section-heading{align-items:start;gap:24px;grid-template-columns:1fr;margin-bottom:52px}.section-heading>p{max-width:520px}.timeline-item{grid-template-columns:42px minmax(0,1fr)}.timeline-date,.timeline-content{grid-column:2}.project-grid{grid-template-columns:1fr}.project-card{min-height:500px}.education-card{grid-template-columns:36px 1fr}.education-meta{grid-column:2}.education-meta strong,.education-meta span{text-align:left}.skills-layout{grid-template-columns:1fr}.skills-intro{position:static}.profile-grid{grid-template-columns:1fr}}@media (max-width: 520px){.page-shell,.nav-inner{padding-inline:18px}.nav-inner{height:68px}.nav-resume{min-height:40px;padding-inline:14px}.language-switcher:after{top:15px}.language-switcher select{height:40px;width:126px}.hero{min-height:auto}.hero-grid{gap:48px;padding-block:48px 68px}.hero h1{font-size:clamp(3rem,14vw,4.1rem)}.hero-intro{line-height:1.65;margin:26px 0}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{min-height:50px;padding-inline:14px}.hero-meta{align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}.hero-visual{min-height:430px}.profile-card{border-radius:22px;padding:21px;transform:rotate(2deg);width:calc(100vw - 58px)}.profile-monogram{font-size:7.4rem;height:205px}.profile-copy{padding-block:17px}.profile-stats div{padding:10px 8px}.orbit-one{height:410px;width:410px}.orbit-two{height:330px;width:330px}.capability-track{gap:18px;min-height:62px;padding-inline:18px}.section-block,.profile-section{padding:78px 0}.section-heading{margin-bottom:42px}.section-heading h2,.skills-intro h2{font-size:clamp(2.65rem,12vw,3.7rem)}.timeline-item{gap:16px;grid-template-columns:30px minmax(0,1fr);padding:32px 0}.timeline-date{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px}.timeline-date span{margin-top:0}.timeline-description{margin-top:14px}.project-card{min-height:485px;padding:22px}.project-graphic{margin:20px 0}.education-card{gap:16px;grid-template-columns:26px 1fr;padding:26px 20px}.skills-layout{gap:56px}.skill-group{grid-template-columns:1fr}.skill-group h3{margin-top:0}.curiosity-card,.elsewhere-card{border-radius:18px;padding:28px 24px}.curiosity-content{margin-top:28px}.curiosity-badge{padding:10px 13px}.elsewhere-card{min-height:500px}.elsewhere-card h2{font-size:clamp(2.7rem,12vw,3.7rem)}.site-footer .page-shell{align-items:flex-start;flex-direction:column;gap:12px;justify-content:center;min-height:150px}}@media (max-width: 360px){.nav-actions{gap:7px}.language-switcher select{padding-left:12px;width:112px}.hero-actions{grid-template-columns:1fr}.button{width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.project-graphic video{display:none}.project-graphic .project-fallback{display:block}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{min-height:100vh}::selection{background:#c9f66f;color:#13201e}:focus-visible{outline:3px solid #5272d6;outline-offset:4px}
