@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&family=Noto+Sans+SC:wght@400;500;600;650;700;800&display=swap');

:root{--bg:#f7f9fc;--ink:#263449;--muted:#65758a;--line:#e5eaf2;--blue:#547cad;--teal:#518b8f;--surface:rgba(255,255,255,.8);--soft-shadow:0 10px 40px -24px #36517338;--text-main:#263449;--color-yellow:#eaf1fa;--color-pink:#f3eaf2;--color-blue:#e8f2fa;--color-green:#eaf5ef;--color-purple:#7485b2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,"Noto Sans SC",system-ui,sans-serif;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}body::before{content:"";position:absolute;inset:0 0 auto;height:1050px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 90% 20%,#e9e8fa 0,transparent 50%),radial-gradient(ellipse at 8% 10%,#e4f3f7 0,transparent 48%)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{max-width:100%;height:auto;display:block}svg{display:block;width:22px;height:22px;stroke-width:1.6}h1,h2,h3,h4,p,figure{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #8baed7;outline-offset:4px}.hidden{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}.opacity-0{opacity:0}.opacity-100{opacity:1}.scale-95{transform:translateY(-5px) scale(.98)}.scale-100{transform:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.skip-link{position:fixed;left:24px;top:-100px;background:white;padding:12px 18px;z-index:200}.skip-link:focus{top:12px}.section-wrap{width:min(1120px,calc(100% - 96px));margin:auto}.content-section{padding:72px 0;scroll-margin-top:96px}.compact-section{padding-top:40px;padding-bottom:40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px}.section-kicker,.section-eyebrow,.travel-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#8a96a7;margin-bottom:12px}.section-heading h2,.section-heading h3,.travel-top h2{font-size:30px;font-weight:650;line-height:1.35;letter-spacing:-.04em}.section-summary{max-width:340px;font-size:13px;line-height:1.9;color:var(--muted);font-weight:400}.section-number{font-size:52px;line-height:1;font-weight:500;color:#dce3ee;letter-spacing:-.06em}.muted{color:var(--muted);font-weight:400;line-height:1.9}.section-note{font-size:11px;color:#929dad;margin-top:20px}.surface{background:var(--surface);border:1px solid rgba(224,231,241,.9);border-radius:22px;box-shadow:var(--soft-shadow)}.text-link{display:inline-flex;align-items:center;gap:10px;color:#607d9f;font-size:12px;font-weight:600;transition:color .2s}.text-link:hover{color:#294c77}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:12px;padding:12px 23px;font-size:13px;font-weight:600;border-radius:12px;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#344e6e;color:white;box-shadow:0 8px 20px -10px #344e6e80}.button-primary:hover{background:#263f5f;box-shadow:0 10px 24px -10px #344e6e90}.button-secondary{background:#ffffff90;border:1px solid #dce5ef;color:#65738a}.status-label{font-size:10px;letter-spacing:.04em;color:#4e7567;background:#edf6f1;border:1px solid #e1eee7;padding:4px 10px;border-radius:30px;display:inline-flex;align-items:center;gap:5px}.status-label::before{content:"";width:4px;height:4px;background:#7aa594;border-radius:50%}.card-icon{width:46px;height:46px;border-radius:13px;background:#eef3f9;color:#6c87a7;display:inline-flex;align-items:center;justify-content:center}.card-icon svg{width:23px;height:23px}.card-icon.lavender{background:#f0eef8;color:#8c85af}.card-icon.mint{background:#ebf5f1;color:#79a296}.card-icon.small{width:36px;height:36px;border-radius:10px}.card-icon.small svg{width:19px;height:19px}

/* A quiet, translucent navigation bar. */
.site-nav{position:fixed;top:20px;left:0;right:0;z-index:70;pointer-events:none}.nav-shell{width:min(1240px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:22px;padding:12px 18px;border:1px solid #ffffffd9;border-radius:18px;background:#ffffffe0;box-shadow:0 5px 35px -18px #42577545;backdrop-filter:blur(20px);pointer-events:auto}.brand{display:flex;align-items:center;gap:8px;font-weight:750;font-size:16px;letter-spacing:-.6px;white-space:nowrap}.brand-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(140deg,#8aabc4,#afaccb);color:white;font-weight:700;font-size:17px;line-height:1;margin-right:2px}.brand-dot{color:#8dacc4;margin-left:-7px}.desktop-links{display:flex;align-items:center;gap:8px;margin:auto}.nav-link{font-size:12px;color:#66758b;font-weight:500;padding:8px 11px;border-radius:9px;white-space:nowrap;transition:background .2s,color .2s}.nav-link:hover{color:#405c7f;background:#f0f4fa}.nav-link[aria-current=location]{color:#456689;background:#edf2f8}.nav-actions{display:flex;gap:9px;align-items:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;background:transparent;border-radius:9px;padding:7px;color:#65768d}.icon-button:hover{background:#eef3f9}.icon-button svg{width:16px;height:16px}.language-button{font-size:11px}.language-button #lang-chevron{width:12px;height:12px;transition:transform .2s}.language-picker{position:relative}.language-menu{position:absolute;right:0;top:calc(100% + 14px);width:112px;display:flex;flex-direction:column;border:1px solid var(--line);padding:6px;border-radius:12px;background:white;box-shadow:0 12px 32px -12px #26344940;transition:transform .18s,opacity .18s;transform-origin:top right}.lang-switch-btn{padding:8px;border-radius:7px;font-size:12px;background:transparent}.lang-switch-btn:hover,.lang-active{background:#eef3fa;color:#44678f}.mobile-toggle{display:none}.mobile-links{pointer-events:auto;display:flex;flex-direction:column;background:#fffffff5;backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:16px;margin:10px 32px 0;padding:10px;box-shadow:var(--soft-shadow)}.mobile-links .nav-link{font-size:14px;padding:10px 14px}.scroll-progress{position:fixed;z-index:90;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#8ab9c9,#b6a3cd);pointer-events:none}

/* Hero: a landscape rendered with native vector geometry. */
/* A typographic cover: one focal point, a quiet landscape underneath. */
.hero-section{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:790px;min-height:min(900px,100svh);padding:155px 32px 150px;overflow:hidden;text-align:center;border-bottom:1px solid #e5ebef;background:radial-gradient(ellipse at 50% 45%,#e8f4f580,transparent 55%),linear-gradient(180deg,#fcfdfd,#f7f9fc)}
.hero-copy{position:relative;z-index:1;width:100%;max-width:960px}.hero-eyebrow{display:flex;justify-content:center;align-items:center;gap:10px;font-size:10px;font-weight:600;color:#72858a;letter-spacing:.22em;margin-bottom:30px}.status-dot{width:6px;height:6px;background:#659e91;border-radius:50%;box-shadow:0 0 0 4px #e7f1ed}
#hero-title{font-weight:700;line-height:1.2;letter-spacing:-.055em}.hero-slogan{display:block;font-size:clamp(54px,6.3vw,88px);font-weight:700;line-height:1.25;letter-spacing:-.055em;color:#243a40;text-wrap:balance}.hero-slogan>span{display:block}.hero-accent{background:linear-gradient(110deg,#2d777b 20%,#719fa9 90%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-intro{margin:27px auto 29px;color:#6b7d83;line-height:1.9;font-size:14px;max-width:600px}.hero-intro p{font-weight:400}.hero-intro span{color:inherit!important;background:none!important;text-decoration:none!important;padding:0!important;font-size:inherit!important;font-weight:400}.hero-intro br{display:none}.hero-intro .bg-black{display:inline;margin-left:14px!important;padding-left:14px!important;border-left:1px solid #cbd8db;border-radius:0}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.hero-actions .button{border-radius:50px;min-height:48px;padding:12px 24px;font-size:12px}.hero-actions .button-primary{background:#2b535a;box-shadow:0 7px 18px -12px #284b5c80}.hero-actions .button-primary:hover{background:#20444c}.hero-actions .button-secondary{background:#ffffffb3;border-color:#dce5e6;color:#566b71}
.hero-footnote{display:flex;justify-content:center;gap:15px;align-items:center;font-size:9px;color:#8b9b9f;letter-spacing:.16em;margin-top:29px}.tiny-separator{width:3px;height:3px;border-radius:50%;background:#c0cbd8}.hero-landscape{position:absolute;inset:auto 0 0;height:240px;z-index:0;pointer-events:none}.hero-landscape svg{width:100%;height:100%}.hero-scroll{position:absolute;z-index:2;bottom:27px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;color:#81979c;font-size:8px;letter-spacing:.2em}.hero-scroll>span:last-child{font-size:18px;font-weight:400;transition:transform .2s}.hero-scroll:hover>span:last-child{transform:translateY(4px)}


/* Capabilities and learning. */
.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.skill-card{padding:32px;transition:transform .22s,box-shadow .22s}.skill-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px -24px #36517340}.skill-card h3{font-size:21px;font-weight:600;letter-spacing:-.04em;margin:22px 0 18px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:66px;align-content:flex-start}.skill-tag{font-size:11px;line-height:1.5;border:1px solid #e9edf4;border-radius:7px;padding:7px 11px;background:#f7f9fc;color:#687991;transition:background .2s,color .2s}.skill-tag:hover{background:#edf3fa;color:#47668b}.skill-card .text-link{margin-top:24px;padding-top:20px;border-top:1px solid #edf1f6;width:100%;justify-content:space-between;color:#7b8da3}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.learning-card{padding:26px;background:#ffffff9c}.learning-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-index{font-size:10px;letter-spacing:.1em;color:#bac5d2;margin-top:26px}.learning-card h3{font-size:19px;font-weight:600;letter-spacing:-.03em;margin:5px 0 10px}.learning-card .muted{font-size:12px;min-height:48px}.now-project-card{position:relative;padding:32px 32px 72px;background:linear-gradient(120deg,#ffffffeb,#f2f6fbe0);min-height:210px}.now-project-card h3{font-size:25px;font-weight:600;margin:14px 0 9px;letter-spacing:-.04em}.now-project-card .muted{font-size:13px}.ahead-corner{position:absolute;right:26px;bottom:24px;width:125px;padding:3px;background:transparent;cursor:pointer;opacity:.8;transition:opacity .2s,transform .2s}.ahead-corner:hover{opacity:1;transform:translateY(-1px)}.ahead-corner img{width:100%;height:auto;border-radius:3px}.ahead-trigger:focus-visible{outline-offset:6px}

/* Projects and activity. */
.github-activity-card{padding:30px}.chart-scroll{overflow-x:auto}.chart-scroll #githubChart{width:100%;min-width:650px;mix-blend-mode:multiply;opacity:.85}.chart-fallback{padding:24px;text-align:center;color:var(--muted)}.chart-legend{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.13em;color:#a4afbc;margin-top:20px}.legend-colors{display:flex;gap:4px}.legend-colors i{width:9px;height:9px;border-radius:2px;background:#e8eeeb}.legend-colors i:nth-child(2){background:#d5e7dc}.legend-colors i:nth-child(3){background:#b2d0bc}.legend-colors i:nth-child(4){background:#8eb19b}.legend-colors i:nth-child(5){background:#6f9880}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .22s,box-shadow .22s}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px -25px #36517350}.project-art{height:210px;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #edf1f6;overflow:hidden}.art-ecw{background:linear-gradient(135deg,#edf5f1,#deecec)}.art-smartcar{background:linear-gradient(135deg,#edf1f9,#e0e8f6)}.art-paper-binder{background:linear-gradient(135deg,#f6eff6,#ede4f2)}.project-art>svg{width:70px;height:70px;stroke-width:1;color:#94aba8;transition:transform .5s ease}.art-smartcar>svg{color:#98aac5}.art-paper-binder>svg{color:#b7a2bd}.project-card:hover .project-art>svg{transform:translateY(-4px) rotate(-3deg)}.project-art-index{position:absolute;top:22px;left:22px;font-size:10px;color:#9baebb;letter-spacing:.1em}.project-art-meta{position:absolute;bottom:20px;left:22px;font-size:8px;letter-spacing:.15em;color:#8c9caa}.project-body{padding:26px;display:flex;flex-direction:column;flex:1}.project-body h3{font-size:20px;font-weight:600;letter-spacing:-.035em;margin-bottom:14px}.project-body .muted{font-size:12px;line-height:2;flex:1}.project-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid #edf1f6;padding-top:20px;flex-wrap:wrap}.project-links .text-link{font-size:11px}.project-launch{font-size:10px;color:#98a3b3}.project-launch:hover{color:#597da5}

/* Matchday: refined tiles with small typographic watermarks. */
.club-badges{display:flex;align-items:center;gap:10px}.club-badge{width:auto;height:34px;opacity:.8}.match-layout{display:grid;grid-template-columns:1fr 280px;gap:22px}.match-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.match-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:132px;padding:20px;border:1px solid #e4eaf2;border-radius:15px;background:#ffffffb3;overflow:hidden;transition:transform .2s,background .2s}.match-tile:hover{transform:translateY(-3px);background:white}.match-tile.large{grid-column:span 2;background:linear-gradient(130deg,#eaf1f7,#f3f5fb)}.match-tile-title{font-size:22px;font-weight:600;position:relative;z-index:1;color:#627893;letter-spacing:-.04em}.match-tile-meta{font-size:8px;letter-spacing:.05em;color:#7c8b9e;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:6px}.match-tile-mark{position:absolute;right:14px;bottom:20px;font-size:62px;font-weight:600;line-height:1;opacity:.045}.match-stats{padding:25px}.match-stats h3{font-size:15px;font-weight:500}.match-total{margin:20px 0 22px;border-bottom:1px solid var(--line);padding-bottom:20px}.match-total strong{display:block;font-size:58px;line-height:1.2;font-weight:500;letter-spacing:-.06em;color:#5b7997}.match-total>span{font-size:8px;letter-spacing:.12em;color:#7c8b9e;text-transform:uppercase}.match-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.match-stat-grid strong{display:block;font-size:22px;font-weight:500;color:#738ba5}.match-stat-grid span{display:block;font-size:10px;color:#7c8b9e}.match-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.match-result-grid strong{display:block;font-weight:500;font-size:17px;color:#739183}.match-result-grid span{display:block;font-size:8px;color:#a0aab8}

/* Travel cloud keeps the responsive packing and click targets. */
#travel{padding:72px 0;border:0;background:none;scroll-margin-top:108px}.travel-wrap{width:min(1120px,calc(100% - 96px));margin:auto}.travel-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.travel-top h2{margin-bottom:14px}.travel-intro{font-size:12px;line-height:1.9;color:var(--muted);max-width:510px}.travel-total{padding:0 6px;text-align:right;flex-shrink:0}.travel-total strong{display:block;font-size:50px;font-weight:500;letter-spacing:-.06em;color:#9caec1;line-height:1.2}.travel-total span{font-size:10px;color:#9da9b8}.travel-paper{background:#ffffffc9;border:1px solid #e3eaf2;border-radius:24px;overflow:hidden;box-shadow:var(--soft-shadow)}.travel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #edf1f6}.travel-filters{display:flex;flex-wrap:wrap;gap:5px}.travel-filters button{min-height:35px;padding:6px 13px;background:transparent;font-size:11px;font-weight:500;border-radius:9px;color:#99a4b3;transition:background .2s,color .2s}.travel-filters button:hover{background:#f0f4f9;color:#6485a7}.travel-filters button[aria-pressed=true]{background:#edf3fa;color:#5d7c9f}.travel-count-label{font-size:10px;color:#a2adbc;white-space:nowrap}.travel-cloud{position:relative;height:460px;margin:10px 20px;isolation:isolate}.travel-word{position:absolute;font-weight:600;line-height:1.35;white-space:nowrap;display:flex;justify-content:center;align-items:center;border-radius:6px;background:transparent;padding:0 8px;animation:wordAppear .4s ease both;animation-delay:var(--word-delay,0ms);transition:background .15s,transform .2s;opacity:.86}.travel-word:hover{background:#f0f4fa;transform:translateY(-2px);z-index:2;opacity:1}.travel-word:focus-visible{outline:2px solid #9cb7d6;outline-offset:1px;background:#edf3fa;z-index:2}.travel-cloud-fallback{height:auto;min-height:300px;display:flex;align-content:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:24px 0}.travel-cloud-fallback .travel-word{position:static;font-size:24px;min-height:44px}.travel-note{font-size:10px;line-height:1.8;color:#a4adbb;padding:15px 24px;border-top:1px solid #edf1f6}.travel-years{font-size:24px!important;font-weight:500;letter-spacing:.05em;color:#7e95b0!important}.travel-dialog-label{font-size:12px!important;color:#a2adbc!important}

/* A horizontal timeline and an airy contact card. */
.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:20px}.timeline-node{position:relative;border-top:1px solid #dce5ef;padding:24px 20px 0 0;animation:none!important}.timeline-dot{position:absolute;top:-4px;left:0;width:7px;height:7px;background:#a7bbd0;border:2px solid #f7f9fc;border-radius:50%;box-shadow:0 0 0 1px #d6e1ed}.timeline-node time{font-size:10px;letter-spacing:.06em;color:#9eacbc}.timeline-node h4{font-size:14px;font-weight:500;color:#6a7e97;margin-top:7px}.contact-section{padding-bottom:40px}.contact-panel{background:linear-gradient(120deg,#ecf2f8b3,#f0edf7a8);border:1px solid #e3e9f2;border-radius:26px;padding:40px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-card{display:flex;align-items:center;gap:14px;border:1px solid #ffffffd9;background:#ffffffa6;border-radius:16px;padding:20px;transition:background .2s,transform .2s;min-width:0}.contact-card:hover{background:white;transform:translateY(-3px)}.contact-card .card-icon{width:35px;height:35px;background:#eef3fa;flex-shrink:0}.contact-card .card-icon svg{width:17px;height:17px}.contact-label{display:block;min-width:0}.contact-label strong{display:block;font-size:12px;font-weight:500}.contact-label small{font-size:9px;color:#a1adbc;display:block;margin-top:3px;overflow-wrap:anywhere}.contact-arrow{font-size:13px;color:#abb8c9;margin-left:auto}.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:25px 0 45px;font-size:9px;color:#a3aebd}.site-footer>div{display:flex;align-items:center;gap:12px}.site-footer a:hover{color:#6d85a1}#visitWrapper{font-size:9px;gap:7px}

/* Native dialogs and restrained motion. */
.ahead-dialog{width:min(540px,calc(100% - 36px));max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid #e6ecf3;border-radius:24px;padding:32px;background:#fbfcfe;color:var(--ink);box-shadow:0 25px 100px -20px #172b4d4d}.ahead-dialog::backdrop{background:#26344950;backdrop-filter:blur(6px)}.ahead-dialog[open]{animation:revealUp .25s ease both}.ahead-dialog-close{display:block;margin-left:auto;background:#f0f4f9;border:1px solid #e5ebf4;border-radius:9px;padding:7px 12px;font-size:11px;color:#7f8fa4}.ahead-dialog h2{font-size:27px;font-weight:600;letter-spacing:-.04em;margin:24px 0 15px}.ahead-dialog p{font-size:13px;line-height:2;color:#64748a;margin:12px 0}.ahead-dialog .ahead-motto{color:#6482a7;font-weight:500}.ahead-dialog .travel-eyebrow{font-size:9px;color:#9eacbc;margin-top:24px}.fade-up{opacity:1}.motion-ready .fade-up:not(.show){opacity:0;translate:0 16px}.motion-ready .fade-up.is-revealing{animation:revealUp .55s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--reveal-delay,0ms)}.motion-paused *,.motion-offscreen{animation-play-state:paused!important}.floating-emoji{position:fixed;pointer-events:none;font-size:23px;z-index:9999;animation:emojiFloat 1s ease forwards}.tap-ring{position:fixed;width:20px;height:20px;border:1px solid #9cb8d4;border-radius:50%;pointer-events:none;z-index:9998;animation:tapRing .46s ease forwards}.motion-ready #hero-title{transform:translate3d(var(--hero-shift-x,0),var(--hero-shift-y,0),0)}@keyframes revealUp{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes wordAppear{from{opacity:0}to{opacity:.86}}@keyframes gentleFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes emojiFloat{from{opacity:1;transform:translateY(0) scale(.8)}to{opacity:0;transform:translateY(-100px) scale(1.2)}}@keyframes tapRing{from{opacity:.6;transform:scale(.4)}to{opacity:0;transform:scale(2.6)}}::-webkit-scrollbar{width:6px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1dae6;border-radius:9px}

@media(min-width:1121px){.mobile-links{display:none!important}}
@media(max-width:1120px){.desktop-links{display:none}.mobile-toggle{display:inline-flex}.nav-actions{margin-left:auto}.contact-card{padding:16px;gap:10px}.contact-grid{gap:10px}.project-body{padding:22px}.project-links{gap:10px}.match-layout{grid-template-columns:1fr 245px}.match-tile{padding:16px}.nav-shell{width:calc(100% - 56px)}}
@media(max-width:800px){.section-wrap,.travel-wrap{width:calc(100% - 48px)}.content-section,#travel{padding-top:52px;padding-bottom:52px}.compact-section{padding-top:25px;padding-bottom:25px}.projects-grid{grid-template-columns:1fr;gap:20px}.project-card{display:grid;grid-template-columns:38% 1fr}.project-art{height:100%;min-height:235px;border-bottom:0;border-right:1px solid #e7edf5}.project-body{padding:25px}.project-body h3{font-size:21px}.project-art-meta{font-size:7px;left:18px}.project-art-index{left:18px}.match-layout{grid-template-columns:1fr}.match-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;align-items:center}.match-stats>.section-kicker{grid-column:1/-1;margin:0}.match-stats>h3{grid-column:1/-1}.match-total{margin:0;border-bottom:0;padding:0;grid-row:3/5}.match-total strong{font-size:52px}.match-stat-grid{margin:0}.match-result-grid{margin-top:4px}.contact-grid{grid-template-columns:1fr;gap:10px}.contact-panel{padding:30px}.contact-card{padding:16px 20px}.contact-label small{font-size:11px}.contact-label strong{font-size:13px}.contact-card .card-icon{width:40px;height:40px}.section-summary{max-width:280px;font-size:12px}.learning-grid{gap:12px}.learning-card{padding:20px}.learning-card h3{font-size:17px}.learning-card .status-label{font-size:8px;padding:3px 7px}.card-index{margin-top:22px}.travel-cloud{height:500px}}
@media(max-width:600px){.site-nav{top:12px}.nav-shell{width:calc(100% - 32px);padding:10px 12px;border-radius:14px}.brand{font-size:14px}.brand-mark{width:26px;height:26px;font-size:15px}.mobile-links{margin:8px 16px 0}.section-wrap,.travel-wrap{width:calc(100% - 40px)}.button{min-height:44px;font-size:11px;padding:10px 17px}.section-heading{gap:16px;margin-bottom:23px;align-items:flex-start;flex-wrap:wrap}.section-heading h2,.section-heading h3,.travel-top h2{font-size:25px;letter-spacing:-.035em}.section-kicker,.travel-eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:10px}.section-summary{max-width:none;font-size:11px}.section-number{font-size:40px}.skills-grid{grid-template-columns:1fr;gap:15px}.skill-card{padding:26px}.skill-card h3{font-size:20px;margin-top:18px}.skill-tags{min-height:0}.skill-card .text-link{margin-top:22px;padding-top:18px}.skill-tag{font-size:10px;padding:7px 10px}.learning-grid{grid-template-columns:1fr;gap:12px}.learning-card{padding:23px;position:relative}.learning-card-top{margin-bottom:18px}.card-index{position:absolute;right:24px;top:62px;font-size:28px;color:#e2e8f1;font-weight:500}.learning-card h3{font-size:20px;margin-top:2px;margin-bottom:7px}.learning-card .muted{font-size:12px;min-height:0}.learning-card .status-label{font-size:9px}.now-project-card{padding:26px 24px 76px;min-height:205px}.now-project-card h3{font-size:23px}.ahead-corner{width:110px;right:23px;bottom:22px}.github-activity-card{padding:23px 20px}.chart-scroll #githubChart{min-width:620px}.chart-legend{font-size:7px;letter-spacing:.08em}.project-card{display:flex}.project-art{height:185px;min-height:185px;border-right:0;border-bottom:1px solid #e8edf4}.project-art>svg{width:65px;height:65px}.project-art-index{top:20px;left:23px}.project-art-meta{left:23px;bottom:18px;font-size:8px}.project-body{padding:26px}.project-body .muted{font-size:12px}.project-links{margin-top:22px;padding-top:18px}.match-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.match-tile{min-height:125px;padding:18px}.match-tile.large{grid-column:span 2;min-height:145px}.match-tile-title{font-size:23px}.match-tile-meta{font-size:7px}.match-tile-mark{font-size:55px}.match-stats{padding:23px}.club-badge{height:27px}.match-total strong{font-size:50px}.travel-top{gap:18px;align-items:flex-start;margin-bottom:24px}.travel-top h2{margin-bottom:12px}.travel-intro{font-size:11px;max-width:250px}.travel-total strong{font-size:39px}.travel-total span{font-size:9px}.travel-toolbar{padding:16px;flex-direction:column;align-items:flex-start;gap:9px}.travel-filters{gap:2px}.travel-filters button{min-height:33px;padding:6px 10px;font-size:10px}.travel-count-label{font-size:9px}.travel-paper{border-radius:20px}.travel-cloud{height:620px;margin:8px 6px}.travel-note{font-size:9px;padding:14px 18px}.timeline-grid{grid-template-columns:1fr;padding-top:0;margin-left:4px}.timeline-node{border-top:0;border-left:1px solid #dce5ef;padding:0 0 30px 24px}.timeline-node:last-child{padding-bottom:0}.timeline-dot{left:-4px;top:8px}.timeline-node time{font-size:10px}.timeline-node h4{font-size:14px}.contact-panel{padding:26px 20px;border-radius:22px}.contact-panel .section-heading{gap:14px}.contact-card{padding:15px}.site-footer{padding:15px 0 30px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:8px}.site-footer>div{flex-wrap:wrap;gap:8px}.ahead-dialog{padding:25px;border-radius:20px}.ahead-dialog h2{font-size:25px}.ahead-dialog p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .fade-up:not(.show){opacity:1;translate:none}.motion-ready #hero-title{transform:none}.scroll-progress{display:none}}

@media(max-width:800px){.hero-section{min-height:740px;padding:145px 28px 150px}.hero-slogan{font-size:68px}.hero-landscape{height:200px}}
@media(max-width:600px){.hero-section{min-height:680px;min-height:max(640px,92svh);padding:128px 20px 145px}.hero-eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:27px}.hero-slogan{font-size:clamp(44px,12.4vw,66px);line-height:1.3}.hero-intro{font-size:12px;margin:25px auto}.hero-intro .bg-black{display:block;border:0;margin:4px 0 0!important;padding:0!important}.hero-actions{gap:10px}.hero-actions .button{font-size:11px;min-height:44px;padding:11px 19px}.hero-footnote{font-size:8px;margin-top:26px}.hero-landscape{height:145px;width:170%;left:-35%}.hero-scroll{bottom:23px;font-size:7px}}
@media(prefers-reduced-motion:reduce){.hero-scroll>span:last-child{transition:none}}
