@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:calc(var(--spacing) * 4)}.h-full{height:100%}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.rotate-180{rotate:180deg}.resize{resize:both}.items-center{align-items:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-\[var\(--text\)\]{color:var(--text)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:40rem){.sm\:inline-flex{display:inline-flex}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:flex{display:flex}}}:root{--paper:#f3f1ec;--paper-deep:#e9e6df;--white:#fff;--ink:#111318;--ink-soft:#252932;--muted:#626872;--line:#d8d5ce;--cyan:#00a6c7;--coral:#ff5c57;--lime:#c9ed68;--violet:#6657d9;--danger:#c93542;--font-display:Bahnschrift, "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;--font-sans:"Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", "Yu Gothic UI", Arial, sans-serif;--font-mono:"Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--section-space:clamp(6rem, 11vw, 10.5rem)}*{box-sizing:border-box}html{background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}::selection{background:var(--lime);color:var(--ink)}.portfolio-shell{--page-bg:var(--paper);--text:var(--ink);--soft-text:var(--ink-soft);--accent:var(--cyan);background:var(--paper);min-height:100vh;color:var(--ink)}.portfolio-shell[data-lang=zh],.portfolio-shell[data-lang=ja]{--font-display:"Segoe UI Variable Display", "Microsoft YaHei UI", "Yu Gothic UI", "Noto Sans SC", "Noto Sans JP", Arial, sans-serif}.portfolio-shell:after{content:"";z-index:60;pointer-events:none;opacity:0;background:linear-gradient(180deg, transparent 0%, var(--cyan) 46%, var(--coral) 54%, transparent 100%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.portfolio-shell:after{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--cyan) 22%, transparent) 46%, color-mix(in srgb, var(--coral) 34%, transparent) 54%, transparent 100%)}}.portfolio-shell:after{transform:translateY(-75%)}.portfolio-shell[data-page-turning=true]:after{animation:page-turn .76s var(--ease-out)}@keyframes page-turn{0%{opacity:0;transform:translateY(-75%)}22%{opacity:1}to{opacity:0;transform:translateY(75%)}}.skip-link{z-index:100;background:var(--ink);color:var(--white);transition:transform .18s var(--ease-out);padding:.75rem 1rem;text-decoration:none;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.portfolio-nav{z-index:50;border-bottom:1px solid var(--ink);padding:.75rem clamp(1rem,3vw,2.5rem)}@supports (color:color-mix(in lab, red, red)){.portfolio-nav{border-bottom:1px solid color-mix(in srgb, var(--ink) 13%, transparent)}}.portfolio-nav{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.portfolio-nav{background:color-mix(in srgb, var(--paper) 94%, transparent)}}.portfolio-nav{-webkit-backdrop-filter:blur(14px)}.nav-frame{grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;gap:1.25rem;width:min(100%,84rem);min-height:3.25rem;margin-inline:auto;display:grid}.nav-name{min-height:2.5rem;color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;background:0 0;border:0;justify-self:start;align-items:center;font-size:1rem;font-weight:720;text-decoration:none;display:inline-flex}.nav-name:before{content:"";background:linear-gradient(180deg, var(--cyan) 0 50%, var(--coral) 50%);width:.58rem;height:1.15rem;margin-right:.65rem}.nav-links{justify-self:center;align-items:center;gap:.15rem;display:flex}.nav-link,.nav-contact,.language-option{min-height:2.4rem;color:var(--muted);transition:color .18s ease, background .18s ease, transform .18s var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:620;text-decoration:none;display:inline-flex;position:relative}.nav-link{padding:0 .7rem}.nav-link:after{content:"";background:var(--cyan);transform-origin:0;height:2px;transition:transform .22s var(--ease-out);position:absolute;bottom:.14rem;left:.7rem;right:.7rem;transform:scaleX(0)}.nav-link:hover,.nav-link[data-active=true]{color:var(--ink)}.nav-link:hover:after,.nav-link[data-active=true]:after{transform:scaleX(1)}.nav-controls{justify-self:end}.nav-contact{background:var(--ink);min-width:5.4rem;color:var(--white);padding:0 .9rem}.nav-contact:hover{background:var(--coral);color:var(--ink);transform:translateY(-2px)}.language-switcher{border:1px solid var(--line);background:var(--white);grid-template-columns:repeat(3,2rem);padding:.18rem;display:inline-grid}.language-option{min-height:2rem;font-size:.7rem;font-weight:750}.language-option:hover,.language-option[data-active=true]{background:var(--lime);color:var(--ink)}.section-rail{z-index:40;gap:.1rem;display:none;position:fixed;top:50%;right:1rem;transform:translateY(-50%)}.section-rail-dot{width:2.2rem;height:1.8rem;color:var(--ink);background:0 0;border:0;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.section-rail-dot{color:color-mix(in srgb, var(--ink) 42%, transparent)}}.section-rail-dot{font-family:var(--font-mono);font-size:.65rem}.section-rail-dot[data-active=true]{background:var(--ink);color:var(--white)}.portfolio-section{padding:var(--section-space) clamp(1.25rem, 5vw, 5rem);scroll-margin-top:5rem;position:relative;overflow:clip}.section-inner,.hero-layout{width:min(100%,80rem);margin-inline:auto}.section-intro{grid-template-columns:minmax(0,1.18fr) minmax(18rem,.82fr);align-items:end;gap:clamp(2rem,6vw,6rem);display:grid}.section-heading{max-width:15ch;color:inherit;font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.45rem,5.6vw,4.8rem);font-weight:680;line-height:.96}.section-body,.hero-description,.profile-note,.detail-summary,.contact-form-note{max-width:68ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:1rem;line-height:1.72}.hero-section{background:linear-gradient(90deg, transparent 0 65%, var(--cyan) 65%), var(--paper);min-height:100svh;padding-top:clamp(2rem,5vw,4rem);padding-bottom:2.5rem}@supports (color:color-mix(in lab, red, red)){.hero-section{background:linear-gradient(90deg, transparent 0 65%, color-mix(in srgb, var(--cyan) 9%, transparent) 65%), var(--paper)}}.hero-section:before{content:"";background:var(--coral);width:clamp(6rem,14vw,13rem);height:.5rem;position:absolute;bottom:0;left:0}.hero-layout{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1.12fr) minmax(23rem,.88fr);align-items:center;gap:2rem clamp(2.5rem,7vw,7rem);min-height:calc(100svh - 6.5rem);display:grid}.hero-mobile-controls{display:none}.hero-copy{align-self:center}.hero-greeting{color:var(--muted);margin:0 0 1.3rem;font-size:1rem;font-weight:600}.hero-name{max-width:9ch;color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(4.4rem,9vw,6rem);font-weight:720;line-height:.88}.hero-role{background:var(--lime);width:fit-content;color:var(--ink);font-family:var(--font-mono);margin:1.2rem 0 0;padding:.34rem .55rem;font-size:clamp(.76rem,1.2vw,.92rem);font-weight:650}.hero-headline{max-width:30ch;color:var(--ink);letter-spacing:-.025em;text-wrap:balance;margin:clamp(2rem,4vw,3.2rem) 0 0;font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:680;line-height:1.18}.hero-description{max-width:61ch;margin-top:1.15rem}.hero-actions,.contact-actions,.form-footer,.form-success-actions{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.primary-action,.secondary-action,.disabled-action{border:1px solid var(--ink);min-height:3rem;transition:color .18s ease, background .18s ease, transform .2s var(--ease-out);border-radius:3px;justify-content:center;align-items:center;gap:.65rem;padding:0 1rem;font-size:.88rem;font-weight:720;text-decoration:none;display:inline-flex}.primary-action{background:var(--ink);color:var(--white)}.secondary-action{color:var(--ink);background:0 0}.disabled-action{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.disabled-action{border-color:color-mix(in srgb, var(--ink) 22%, transparent)}}.disabled-action{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.disabled-action{color:color-mix(in srgb, var(--ink) 50%, transparent)}}.disabled-action{cursor:not-allowed}.primary-action:hover{background:var(--coral);color:var(--ink);transform:translateY(-3px)}.secondary-action:hover{background:var(--lime);transform:translateY(-3px)}.hero-capability-field{grid-template-rows:auto repeat(3,minmax(0,1fr));align-self:stretch;min-height:34rem;padding:.85rem 0;display:grid;position:relative}.capability-field-heading{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 0 .9rem;font-size:.7rem;display:flex}.capability-band{background:var(--cyan);width:100%;color:var(--ink);text-align:left;transition:transform .26s var(--ease-out), filter .18s ease;border:0;grid-template-rows:auto 1fr;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:start;gap:.25rem .85rem;padding:1.25rem;display:grid;position:relative}.capability-band[data-tone="2"]{background:var(--coral);width:calc(100% - 1.4rem);margin-left:1.4rem}.capability-band[data-tone="3"]{background:var(--violet);width:calc(100% - 2.8rem);color:var(--white);margin-left:2.8rem}.capability-band>span{font-family:var(--font-mono);grid-row:1/span 2;font-size:.72rem;font-weight:700}.capability-band strong{font-family:var(--font-display);font-size:1.18rem;font-weight:680}.capability-band p{max-width:38ch;margin:0;font-size:.82rem;line-height:1.48}.capability-band svg{grid-area:1/3/span 2;width:1.15rem;height:1.15rem}.capability-band:hover{z-index:2;filter:saturate(1.08);transform:translate(-.55rem)}.hero-bottom-line{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.2rem;display:flex}.hero-bottom-line p{max-width:60ch;color:var(--muted);margin:0;font-size:.83rem;line-height:1.55}.hero-bottom-line button{color:var(--ink);background:0 0;border:0;align-items:center;gap:.55rem;font-size:.78rem;font-weight:680;display:inline-flex}.hero-bottom-line button svg{width:1rem;transition:transform .18s var(--ease-out)}.hero-bottom-line button:hover svg{transform:translateY(4px)}.profile-section{background:var(--white)}.profile-opening{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end;gap:clamp(2.5rem,8vw,8rem);display:grid}.profile-opening .section-intro{display:block}.profile-opening .section-body{margin-top:1.7rem}.profile-note{border-top:4px solid var(--coral);color:var(--ink-soft);padding-top:1.2rem}.profile-principles{border-top:1px solid var(--line);margin-top:clamp(4rem,8vw,7rem)}.profile-principle{border-bottom:1px solid var(--line);grid-template-columns:minmax(3.5rem,.16fr) minmax(0,1fr);gap:clamp(1rem,4vw,3rem);padding:clamp(1.7rem,4vw,3rem) 0;display:grid}.profile-principle>span{color:var(--cyan);font-family:var(--font-mono);font-size:.78rem;font-weight:700}.profile-principle>div{grid-template-columns:minmax(12rem,.65fr) minmax(18rem,1fr);align-items:start;gap:1rem clamp(2rem,6vw,6rem);display:grid}.profile-principle h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,2.5vw,2.2rem);font-weight:680;line-height:1.05}.profile-principle p{color:var(--muted);margin:0;line-height:1.68}.plain-tags{flex-wrap:wrap;grid-column:2;gap:.45rem 1rem;display:flex}.plain-tags em,.stack-items em{color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem;font-style:normal;font-weight:600}.plain-tags em:before,.stack-items em:before{content:"+";color:var(--coral);margin-right:.35rem}.experience-section{background:var(--ink);color:var(--white)}.experience-section .section-body{color:#b9bec7}.experience-stage{grid-template-columns:minmax(15rem,.34fr) minmax(0,1fr);gap:clamp(2.5rem,8vw,8rem);margin-top:clamp(4rem,8vw,7rem);display:grid}.experience-index{border-top:1px solid #fff3;align-self:start}.experience-tab{color:#b9bec7;text-align:left;width:100%;transition:color .18s ease, padding .22s var(--ease-out);background:0 0;border:0;border-bottom:1px solid #fff3;grid-template-columns:2.4rem minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:1rem 0;display:grid}.experience-tab>span,.detail-period{font-family:var(--font-mono);letter-spacing:.05em;font-size:.7rem;font-weight:650}.experience-tab strong{color:inherit;text-overflow:ellipsis;font-size:.9rem;font-weight:650;overflow:hidden}.experience-tab em{font-family:var(--font-mono);font-size:.65rem;font-style:normal}.experience-tab svg{width:.9rem;transform:rotate(-90deg)}.experience-tab:hover,.experience-tab[data-active=true]{color:var(--white);padding-left:.6rem}.experience-tab[data-active=true]>span{color:var(--coral)}.experience-detail{min-width:0}.experience-detail .detail-period{color:var(--coral);margin:0}.experience-detail h3{max-width:16ch;font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:1.2rem 0 0;font-size:clamp(3rem,7vw,5.8rem);font-weight:680;line-height:.9}.detail-role{background:var(--coral);width:fit-content;color:var(--ink);margin:1.4rem 0 0;padding:.38rem .6rem;font-size:.86rem;font-weight:700}.detail-summary{color:#c9cdd4;max-width:58ch;margin-top:1.5rem}.experience-impact-list,.project-proof-list{margin:2.8rem 0 0;padding:0;list-style:none}.experience-impact-list li{border-top:1px solid #fff3;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding:1rem 0;display:grid}.experience-impact-list span{color:var(--coral);font-family:var(--font-mono);font-size:.7rem}.experience-impact-list p{color:#d8dbe0;max-width:70ch;margin:0;font-size:.92rem;line-height:1.62}.education-section{background:var(--lime);color:var(--ink)}.education-heading-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;display:grid}.education-heading-row .section-intro{grid-template-columns:minmax(0,1.05fr) minmax(18rem,.7fr)}.education-heading-row .section-body{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.education-heading-row .section-body{color:color-mix(in srgb, var(--ink) 72%, transparent)}}.education-scroll-hint{font-family:var(--font-mono);text-transform:uppercase;margin:0 0 .5rem;font-size:.68rem;font-weight:650}.education-track{scroll-snap-type:x mandatory;scrollbar-color:var(--ink) transparent;scrollbar-width:thin;grid-auto-columns:minmax(22rem,37rem);grid-auto-flow:column;gap:clamp(2rem,5vw,5rem);margin-top:clamp(4rem,8vw,7rem);padding:0 0 1.5rem;display:grid;overflow-x:auto}.education-station{border-top:4px solid var(--ink);scroll-snap-align:start;min-height:25rem;padding:1.4rem 0 0;position:relative}.education-number{color:var(--ink);position:absolute;top:.7rem;right:0}@supports (color:color-mix(in lab, red, red)){.education-number{color:color-mix(in srgb, var(--ink) 20%, transparent)}}.education-number{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(5rem,10vw,8rem);font-weight:720;line-height:.8}.education-station .detail-period{z-index:1;margin:0;position:relative}.education-station h3{z-index:1;max-width:19ch;font-family:var(--font-display);letter-spacing:-.03em;margin:3.8rem 0 0;font-size:clamp(2rem,4vw,3.5rem);font-weight:680;line-height:.98;position:relative}.education-credential{gap:.25rem;margin-top:1.5rem;display:grid}.education-credential strong{font-size:1.05rem}.education-credential span{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.education-credential span{color:color-mix(in srgb, var(--ink) 70%, transparent)}}.education-credential span{font-size:.88rem}.education-station>p{max-width:58ch;color:var(--ink);margin:1.35rem 0 0}@supports (color:color-mix(in lab, red, red)){.education-station>p{color:color-mix(in srgb, var(--ink) 75%, transparent)}}.education-station>p{line-height:1.65}.education-station .plain-tags{grid-column:auto;margin-top:1.3rem}.education-station .plain-tags em:before{color:var(--violet)}.projects-section{background:var(--paper)}.project-workbench{--project-accent:var(--cyan);grid-template-columns:minmax(14rem,.3fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,7rem);margin-top:clamp(4rem,8vw,7rem);display:grid}.project-index-panel{align-self:start;position:sticky;top:6.5rem}.project-index-panel>p{color:var(--muted);margin:0 0 1rem;font-size:.78rem;line-height:1.5}.project-index{border-top:1px solid var(--line)}.project-index-item{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--muted);text-align:left;transition:color .18s ease, padding .22s var(--ease-out);background:0 0;grid-template-columns:2.4rem minmax(0,1fr);gap:.6rem;padding:1rem 0;display:grid}.project-index-item span{font-family:var(--font-mono);font-size:.68rem}.project-index-item strong{font-size:.88rem;font-weight:650;line-height:1.35}.project-index-item:hover,.project-index-item[data-active=true]{color:var(--ink);padding-left:.6rem}.project-index-item[data-active=true]{box-shadow:inset 4px 0 0 var(--project-accent)}.project-stepper{border:1px solid var(--line);background:var(--white);grid-template-columns:2.6rem 1fr 2.6rem;align-items:center;margin-top:1rem;display:grid}.project-stepper button{height:2.6rem;color:var(--ink);background:0 0;border:0;place-items:center;display:grid}.project-stepper button:hover{background:var(--project-accent)}.project-stepper svg{width:1rem}.project-stepper span{text-align:center;font-family:var(--font-mono);font-size:.72rem;font-weight:700}.project-stage{min-width:0}.project-stage:before{content:"";background:var(--project-accent);width:6rem;height:.5rem;margin-bottom:1.5rem;display:block}.project-stage-header .detail-period{color:var(--muted);margin:0}.project-stage-header h3{max-width:16ch;font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:1rem 0 0;font-size:clamp(3.1rem,7vw,6rem);font-weight:690;line-height:.9}.project-stage-header>p:last-child{max-width:62ch;color:var(--muted);margin:1.5rem 0 0;line-height:1.7}.project-stack-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.35rem 1.2rem;margin-top:2rem;padding:1rem 0;display:flex}.project-stack-line span{font-family:var(--font-mono);font-size:.7rem;font-weight:650}.project-stack-line span:before{content:"";background:var(--project-accent);width:.45rem;height:.45rem;margin-right:.45rem;display:inline-block}.project-repo-link{border-bottom:2px solid var(--project-accent);color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;transition:transform .2s var(--ease-out);align-items:center;gap:.5rem;margin-top:1.6rem;padding-bottom:.25rem;font-size:.7rem;font-weight:680;text-decoration:none;display:inline-flex}.project-repo-link:hover{transform:translateY(-2px)}.project-repo-link svg{width:.85rem;height:.85rem}.project-lenses{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin-top:2.6rem;display:grid}.project-lenses section{border-top:1px solid var(--ink);grid-template-columns:2.5rem minmax(0,1fr);gap:.3rem .8rem;padding:1rem 0 2.4rem;display:grid}.project-lenses section>span{color:var(--project-accent);font-family:var(--font-mono);grid-row:1/span 2;font-size:.7rem;font-weight:700}.project-lenses h4{margin:0;font-size:1rem;font-weight:720}.project-lenses p{color:var(--muted);margin:.6rem 0 0;font-size:.9rem;line-height:1.65}.project-proof-list{counter-reset:proof;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin-top:1rem;display:grid}.project-proof-list li{border-top:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);gap:.8rem;padding:1rem 0;display:grid}.project-proof-list span{color:var(--project-accent);font-family:var(--font-mono);font-size:.7rem}.project-proof-list p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.6}.stack-section{background:var(--cyan);color:var(--ink)}.stack-section .section-body{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.stack-section .section-body{color:color-mix(in srgb, var(--ink) 74%, transparent)}}.stack-list{border-top:4px solid var(--ink);margin-top:clamp(4rem,8vw,7rem)}.stack-row{border-bottom:1px solid var(--ink);grid-template-columns:3rem minmax(15rem,.55fr) minmax(0,1fr);align-items:start;gap:clamp(1rem,4vw,4rem);display:grid}@supports (color:color-mix(in lab, red, red)){.stack-row{border-bottom:1px solid color-mix(in srgb, var(--ink) 35%, transparent)}}.stack-row{padding:clamp(1.5rem,4vw,2.7rem) 0}.stack-row>span{font-family:var(--font-mono);font-size:.72rem;font-weight:700}.stack-row h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:680;line-height:1}.stack-row p{max-width:46ch;color:var(--ink);margin:.8rem 0 0}@supports (color:color-mix(in lab, red, red)){.stack-row p{color:color-mix(in srgb, var(--ink) 74%, transparent)}}.stack-row p{font-size:.9rem;line-height:1.62}.stack-items{flex-wrap:wrap;gap:.75rem 1.4rem;padding-top:.15rem;display:flex}.stack-items em{color:var(--ink);font-size:.76rem}.stack-items em:before{color:var(--white)}.contact-section{background:var(--coral);min-height:86svh;color:var(--ink)}.contact-section .section-inner{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.contact-copy .section-heading{max-width:13ch}.contact-copy .section-body{max-width:56ch;color:var(--ink);margin-top:1.5rem}@supports (color:color-mix(in lab, red, red)){.contact-copy .section-body{color:color-mix(in srgb, var(--ink) 78%, transparent)}}.contact-section .primary-action{background:var(--ink)}.contact-section .secondary-action{background:var(--white)}.motto-panel{border-top:4px solid var(--ink);padding-top:1.2rem}.motto-panel>span{font-family:var(--font-mono);text-transform:uppercase;font-size:.7rem;font-weight:680}.motto-panel blockquote{max-width:19ch;font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:2rem 0 0;font-size:clamp(2.1rem,4.5vw,4rem);font-weight:680;line-height:.98}.motto-panel p{max-width:46ch;color:var(--ink);margin:1.4rem 0 0}@supports (color:color-mix(in lab, red, red)){.motto-panel p{color:color-mix(in srgb, var(--ink) 72%, transparent)}}.motto-panel p{line-height:1.66}.motto-panel button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:0 0;margin-top:1.8rem;padding:.3rem 0;font-size:.82rem;font-weight:700}.site-footer{border-top:1px solid var(--ink);grid-column:1/-1}@supports (color:color-mix(in lab, red, red)){.site-footer{border-top:1px solid color-mix(in srgb, var(--ink) 32%, transparent)}}.site-footer{padding-top:1.2rem;font-size:.75rem}.contact-page{background:linear-gradient(90deg, var(--coral) 0 31%, transparent 31%), var(--paper)}.contact-page-grid{z-index:1;grid-template-columns:minmax(18rem,.7fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,8vw,8rem);width:min(100% - 2.5rem,80rem);min-height:100svh;margin-inline:auto;padding:8.5rem 0 5rem;display:grid;position:relative}.contact-page-copy{position:sticky;top:7.5rem}.contact-page-copy .section-heading{max-width:9ch}.contact-page-copy .section-body{max-width:42ch;color:var(--ink);margin-top:1.4rem}@supports (color:color-mix(in lab, red, red)){.contact-page-copy .section-body{color:color-mix(in srgb, var(--ink) 74%, transparent)}}.contact-route-note{font-family:var(--font-mono);margin-top:2.2rem;font-size:.72rem;font-weight:650}.contact-form{border-top:5px solid var(--ink);background:var(--white);margin-top:1rem;padding:clamp(1.4rem,4vw,3rem)}.contact-form-note{margin-bottom:2rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-field{gap:.48rem;margin-top:1rem;display:grid}.form-grid .contact-field{margin-top:0}.contact-field label{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:680}.contact-field input,.contact-field textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-height:3.2rem;color:var(--ink);resize:vertical;border-radius:3px;padding:.85rem .95rem;transition:border-color .18s,background .18s}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--cyan);background:var(--white)}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:var(--danger)}.field-error,.form-status{min-height:1.2rem;color:var(--danger);margin:0;font-size:.78rem;line-height:1.4}.form-status:not(.error){color:#087589}.form-footer{justify-content:flex-end}.primary-action:disabled{cursor:not-allowed;opacity:.55;transform:none}@media (min-width:1280px){.section-rail{display:grid}}@media (max-width:1099px){.portfolio-nav:not(.contact-nav){display:none}.nav-frame{grid-template-columns:auto 1fr}.contact-nav .nav-links{display:none}.contact-nav .nav-controls{justify-self:end}.hero-mobile-controls{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.hero-mobile-mark{font-family:var(--font-display);font-size:.9rem;font-weight:700}.hero-layout{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;align-content:center;padding-top:1rem}.hero-capability-field{min-height:30rem}.hero-bottom-line{grid-column:1}.section-intro,.profile-opening,.education-heading-row,.education-heading-row .section-intro{grid-template-columns:1fr}.profile-principle>div{grid-template-columns:minmax(11rem,.55fr) minmax(0,1fr)}.experience-stage{grid-template-columns:1fr}.experience-index{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1.2rem;display:grid}.project-workbench{grid-template-columns:minmax(0,1fr)}.project-index-panel{position:static}.project-index{scroll-snap-type:x mandatory;grid-auto-columns:minmax(15rem,72vw);grid-auto-flow:column;display:grid;overflow-x:auto}.project-index-item{border-right:1px solid var(--line);scroll-snap-align:start;min-height:6rem;padding:1rem}.project-index-item:hover,.project-index-item[data-active=true]{box-shadow:inset 0 4px 0 var(--project-accent);padding-left:1rem}.project-stepper{max-width:18rem}.contact-page{background:linear-gradient(180deg, var(--coral) 0 24rem, transparent 24rem), var(--paper)}.contact-page-grid{grid-template-columns:1fr;padding-top:7.5rem}.contact-page-copy{max-width:44rem;position:static}}@media (max-width:720px){:root{--section-space:5.5rem}.portfolio-section{padding-inline:1.15rem}.contact-nav{padding:.55rem .75rem}.contact-nav .nav-contact{min-width:auto;padding:0 .65rem;font-size:.7rem}.contact-nav .language-switcher{grid-template-columns:repeat(3,1.7rem)}.hero-section{min-height:auto;padding-top:1rem}.hero-layout{gap:2.5rem;min-height:auto}.hero-name{font-size:clamp(3.45rem,17vw,5rem)}.hero-capability-field{min-height:auto}.capability-band,.capability-band[data-tone="2"],.capability-band[data-tone="3"]{width:100%;min-height:8.5rem;margin-left:0}.hero-bottom-line{flex-direction:column;align-items:flex-start}.section-heading{font-size:clamp(2.25rem,11vw,3.6rem)}.profile-principle{grid-template-columns:2.4rem minmax(0,1fr)}.profile-principle>div{grid-template-columns:1fr}.plain-tags{grid-column:1}.experience-index{grid-template-columns:1fr}.experience-detail h3,.project-stage-header h3{font-size:clamp(2.65rem,13vw,4.3rem)}.education-track{grid-auto-columns:minmax(17rem,86vw);gap:2rem}.education-station{min-height:26rem}.project-lenses,.project-proof-list{grid-template-columns:1fr}.stack-row{grid-template-columns:2.2rem minmax(0,1fr)}.stack-items{grid-column:2}.contact-section .section-inner{grid-template-columns:1fr}.contact-actions,.form-footer,.form-success-actions{flex-direction:column;align-items:stretch}.primary-action,.secondary-action,.disabled-action{width:100%}.form-grid{grid-template-columns:1fr}.contact-page-grid{width:min(100% - 2rem,80rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
