*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.absolute{position:absolute}.flex{display:flex}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.gap-2{gap:.5rem}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.py-24{padding-top:6rem;padding-bottom:6rem}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/spacegrotesk-latin.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/jetbrains-mono-400-latin.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/noto-sans-jp-subset.woff2) format("woff2");unicode-range:u+3000-303f,u+3040-30ff,u+31f?,u+4e00-9fff,u+ff00-ffef}:root{color-scheme:dark;--color-paper:#08090a;--color-paper-2:#111315;--color-paper-3:#1b1e21;--color-ink:#f2f3f4;--color-ink-2:#b0b5ba;--color-ink-3:#888f96;--color-muted:var(--color-ink-3);--color-accent:#e8b86d;--color-accent-2:var(--color-accent);--color-focus:var(--color-accent);--color-rule:hsla(0,0%,100%,.08);--color-rule-2:#555c63;--color-accent-soft:hsla(37,73%,67%,.08);--color-accent-edge:hsla(37,73%,67%,.4);--color-accent-ring:hsla(37,73%,67%,.25);--color-warn-soft:var(--color-accent-soft);--color-warn-ring:var(--color-accent-ring);--color-shade:rgba(0,0,0,.25);--color-shade-2:rgba(0,0,0,.4);--color-shade-3:rgba(0,0,0,.6);--font-display:"Space Grotesk","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-body:var(--font-display);--font-mono:"JetBrains Mono",ui-monospace,monospace;--font-label:var(--font-mono);--text-display:clamp(5rem,10.5vw,9rem);--text-display-s:clamp(2.25rem,4.5vw,4rem);--text-4xl:clamp(1.5rem,2.5vw,2rem);--text-lg:1.125rem;--text-md:1rem;--text-sm:.875rem;--text-xs:.75rem;--tracking-micro:.06em;--space-3xs:.25rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:9rem;--page-gutter:clamp(1.25rem,4.45vw,4rem);--page-width:90rem;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:var(--ease-out);--dur-micro:200ms;--dur-short:300ms;--dur-long:400ms;--radius-sm:0;--radius-md:0;--bg:var(--color-paper);--bg-alt:var(--color-paper-2);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-3:var(--color-ink-3);--accent:var(--color-accent);--border:var(--color-rule);--border-dark:var(--color-rule-2)}.projects-featured-grid{border-top:1px solid var(--color-rule);min-height:40rem}.featured-project-card{width:100%;display:grid;grid-template-columns:3fr 7fr 2fr;-moz-column-gap:24px;column-gap:24px;row-gap:1rem;padding:2rem 0;text-align:left;border-bottom:1px solid var(--color-rule);background:var(--color-paper);position:relative;cursor:pointer;transition:background .3s var(--ease-out)}.featured-project-card__company{grid-column:1;grid-row:1/4;font:.75rem/1.6 var(--font-mono);color:var(--color-ink-3);max-width:24ch}.featured-project-card__title{grid-column:2;font:500 clamp(1.5rem,2.5vw,2rem)/1.15 var(--font-display);letter-spacing:-.035em;color:var(--color-ink)}.featured-project-card__summary{grid-column:2;max-width:65ch;color:var(--color-ink-2);font-size:1rem;line-height:1.65}.featured-project-card__details{grid-column:3;grid-row:1/4;align-self:start;text-align:right;font:.75rem/1.5 var(--font-mono);color:var(--color-ink-2)}.featured-project-card__chips{grid-column:2;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.featured-project-card:focus-visible,.featured-project-card:hover{background:var(--color-paper-2)}.featured-project-card:focus-visible .featured-project-card__title,.featured-project-card:hover .featured-project-card__title{color:var(--color-accent)}.project-tech-badge{font:.75rem/1.5 var(--font-mono);color:var(--color-ink-3)}.project-tech-list{display:flex;flex-wrap:wrap;gap:.75rem 1rem}#projectModal{position:fixed;inset:0;z-index:2000;padding:2rem;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center}#projectModal.hidden{display:none}.modal-container{position:relative;width:min(100%,800px);max-height:calc(100dvh - 4rem);overflow-y:auto;padding:3rem;overscroll-behavior:contain}.modal-close-btn,.modal-container{background:var(--color-paper-2);border:1px solid var(--color-rule-2)}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--color-ink)}.modal-close-btn svg{width:20px;height:20px}.modal-close-btn:hover{background:var(--color-paper-3)}.modal-project-header{padding-right:2rem;margin-bottom:2rem}.modal-project-title{font-size:2rem;margin-bottom:1rem}.modal-project-company{font:.75rem/1.6 var(--font-mono);color:var(--color-ink-3)}.project-details-section{margin-top:2rem}.project-details-title{font:.75rem/1.6 var(--font-mono);letter-spacing:0;color:var(--color-ink-3);margin-bottom:1rem}.project-responsibilities{list-style:square;padding-left:1rem}.project-responsibilities li{padding-left:.5rem;margin-top:.75rem}.project-responsibilities li::marker{color:var(--color-ink-3);font-size:.75em}@media (prefers-reduced-motion:no-preference){.modal-container{animation:panel-enter .3s var(--ease-out)}}@keyframes panel-enter{0%{transform:translateY(12px)}to{transform:none}}@media (max-width:700px){.featured-project-card{grid-template-columns:1fr auto;gap:1rem;padding-block:1.75rem}.featured-project-card__company{grid-column:1;grid-row:1}.featured-project-card__details{grid-column:2;grid-row:1}.featured-project-card__chips,.featured-project-card__summary,.featured-project-card__title{grid-column:1/-1}#projectModal{padding:1rem}.modal-container{padding:4.5rem 1.5rem 2rem;max-height:calc(100dvh - 2rem)}.modal-project-title{font-size:1.75rem}}.chatbot-widget{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:1000;transition:bottom var(--dur-short) var(--ease-out)}.chatbot-toggle{width:3.25rem;height:3.25rem;border-radius:var(--radius-md);background:var(--color-accent);border:1px solid transparent;box-shadow:0 0 0 1px var(--color-shade),0 8px 28px var(--color-shade-2),0 0 24px var(--color-glow-2);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:var(--color-paper);transition:background var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.chatbot-toggle.is-hover,.chatbot-toggle:hover{background:var(--color-accent-2);transform:translateY(-2px);box-shadow:0 0 0 1px var(--color-shade),0 12px 32px var(--color-shade-2),0 0 32px var(--color-glow)}.chatbot-toggle.is-focus,.chatbot-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.chatbot-toggle.is-active,.chatbot-toggle:active{transform:translateY(1px)}.chatbot-toggle.is-disabled,.chatbot-toggle:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.chatbot-toggle .chatbot-close-icon,.chatbot-toggle .chatbot-icon{width:1.25rem;height:1.25rem;position:absolute;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.chatbot-toggle .chatbot-icon{opacity:1;transform:rotate(0deg) scale(1)}.chatbot-toggle .chatbot-close-icon{opacity:0;transform:rotate(90deg) scale(.85)}.chatbot-widget.open .chatbot-toggle{background:var(--color-paper-3);border-color:var(--color-rule-2);color:var(--color-ink);box-shadow:0 8px 24px var(--color-shade)}.chatbot-widget.open .chatbot-toggle.is-hover,.chatbot-widget.open .chatbot-toggle:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 8px 24px var(--color-shade)}.chatbot-widget.open .chatbot-toggle .chatbot-icon{opacity:0;transform:rotate(-90deg) scale(.85)}.chatbot-widget.open .chatbot-toggle .chatbot-close-icon{opacity:1;transform:rotate(0deg) scale(1)}.chatbot-window{position:absolute;bottom:4.25rem;right:0;width:min(22.5rem,calc(100vw - 2rem));height:35rem;max-height:calc(100vh - 7.5rem);display:flex;flex-direction:column;background:linear-gradient(165deg,var(--color-paper-emit) 0,transparent 42%),var(--color-paper-2);border:1px solid var(--color-rule-2);border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--color-shade),0 24px 64px var(--color-shade-3),0 0 40px var(--color-glow-2);overflow:hidden;opacity:0;transform:translateY(.75rem) scale(.98);pointer-events:none;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.chatbot-widget.open .chatbot-window{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.chatbot-header{position:relative;flex-shrink:0;padding:var(--space-md) var(--space-lg);background:var(--color-paper-3);border-bottom:1px solid var(--color-rule);display:grid;grid-template-columns:1fr auto;gap:var(--space-2xs) var(--space-sm);align-items:center}.chatbot-header:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--color-accent)}.chatbot-header h3{margin:0;font-family:var(--font-display)!important;font-size:var(--text-md)!important;font-weight:500!important;font-style:normal!important;letter-spacing:-.01em!important;color:var(--color-ink)!important;line-height:1.2}.chatbot-subtitle{margin:0;grid-column:1;letter-spacing:var(--tracking-micro)}.chatbot-status,.chatbot-subtitle{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;color:var(--color-ink-3)}.chatbot-status{grid-column:2;grid-row:1/span 2;align-self:center;display:inline-flex;align-items:center;gap:.375rem;letter-spacing:.06em}.chatbot-status:before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 8px var(--color-glow)}.chatbot-mobile-close{display:none;position:absolute;top:50%;right:var(--space-sm);transform:translateY(-50%);width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-3);cursor:pointer;align-items:center;justify-content:center;transition:color var(--dur-micro) var(--ease-out),background var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.chatbot-mobile-close.is-hover,.chatbot-mobile-close:hover{color:var(--color-ink);background:var(--color-paper);border-color:var(--color-rule)}.chatbot-mobile-close.is-focus,.chatbot-mobile-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chatbot-mobile-close svg{width:1rem;height:1rem}.chatbot-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:clip;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);background:linear-gradient(var(--rule-blueprint) 1px,transparent 1px),linear-gradient(90deg,var(--rule-blueprint) 1px,transparent 1px),var(--color-paper);background-size:24px 24px,24px 24px,auto}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--color-rule-2);border-radius:var(--radius-sm)}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:var(--color-ink-3)}.chatbot-message{display:flex;margin:0}.message-content{max-width:84%;min-width:0;padding:.625rem .875rem;font-family:var(--font-body);font-size:.8125rem;line-height:1.55;font-weight:300;color:var(--color-ink);overflow-wrap:anywhere;word-wrap:break-word}.bot-message .message-content{background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-md);box-shadow:0 4px 16px var(--color-shade)}.user-message{justify-content:flex-end}.user-message .message-content{background:var(--color-accent-soft);border:1px solid var(--color-accent-edge);color:var(--color-ink);border-radius:var(--radius-md) var(--radius-sm) var(--radius-md) var(--radius-md)}.chatbot-message.is-error .message-content{border-color:var(--color-accent-2);background:var(--color-warn-soft)}.chatbot-message.is-success .message-content{border-color:var(--color-accent)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:.5em 0;font-weight:500;font-style:normal;line-height:1.3;font-family:var(--font-display)!important;letter-spacing:-.01em!important;color:var(--color-ink)}.message-content h1{font-size:1.2em}.message-content h2{font-size:1.1em}.message-content h3{font-size:1em}.message-content p{margin:.4em 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content ol,.message-content ul{margin:.4em 0;padding-left:1.25em}.message-content li{margin:.2em 0}.message-content strong{font-weight:600}.message-content em{font-style:italic}.message-content code{background:var(--color-paper);padding:.12em .35em;border-radius:var(--radius-sm);border:1px solid var(--color-rule);font-family:var(--font-mono);font-size:.85em;color:var(--color-accent)}.user-message .message-content code{background:var(--color-shade);border-color:var(--color-accent-edge);color:var(--color-accent)}.message-content pre{background:var(--color-paper);padding:var(--space-sm);border-radius:var(--radius-sm);overflow-x:auto;margin:.5em 0;border:1px solid var(--color-rule);border-left:2px solid var(--color-accent)}.message-content pre code{background:transparent;border:none;padding:0}.message-content a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.message-content a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.message-content blockquote{border-left:2px solid var(--color-rule-2);padding-left:.75em;margin:.5em 0;color:var(--color-ink-2)}.chatbot-input-container{display:flex;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-paper-3);border-top:1px solid var(--color-rule);flex-shrink:0}.chatbot-input{flex:1;min-width:0;padding:.625rem .875rem;border:1px solid var(--color-rule-2);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;background:var(--color-paper);color:var(--color-ink);outline:none;transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.chatbot-input::-moz-placeholder{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em}.chatbot-input::placeholder{color:var(--color-ink-3);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em}.chatbot-input.is-hover,.chatbot-input:hover{border-color:var(--color-ink-3)}.chatbot-input.is-focus,.chatbot-input:focus,.chatbot-input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ring)}.chatbot-input.is-disabled,.chatbot-input:disabled{opacity:.5;cursor:not-allowed}.chatbot-input.is-error{border-color:var(--color-accent-2);box-shadow:0 0 0 2px var(--color-warn-ring)}.chatbot-input.is-success{border-color:var(--color-accent)}.chatbot-send-btn{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);background:var(--color-accent);border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-paper);transition:background var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}.chatbot-send-btn.is-hover,.chatbot-send-btn:hover{background:var(--color-accent-2);transform:translateY(-1px)}.chatbot-send-btn.is-focus,.chatbot-send-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chatbot-send-btn.is-active,.chatbot-send-btn:active{transform:translateY(1px)}.chatbot-send-btn.is-disabled,.chatbot-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chatbot-send-btn.is-loading,.chatbot-send-btn[data-state=loading]{opacity:.7;cursor:wait;pointer-events:none}.chatbot-send-btn.is-error,.chatbot-send-btn[data-state=error]{background:var(--color-accent-2)}.chatbot-send-btn.is-success,.chatbot-send-btn[data-state=success]{background:var(--color-accent)}.chatbot-send-btn svg{width:1rem;height:1rem}.typing-indicator .message-content{display:flex;gap:.3rem;padding:.75rem 1rem;align-items:center}.typing-indicator .message-content span{width:.375rem;height:.375rem;border-radius:50%;background:var(--color-accent);opacity:.55;animation:chatbot-typing 1.4s var(--ease-in-out) infinite}.typing-indicator .message-content span:nth-child(2){animation-delay:.18s}.typing-indicator .message-content span:nth-child(3){animation-delay:.36s}@keyframes chatbot-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.fade-in-message{animation:chatbot-fade-in var(--dur-short) var(--ease-out)}@keyframes chatbot-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chatbot-input,.chatbot-mobile-close,.chatbot-send-btn,.chatbot-toggle,.chatbot-window{transition:opacity .15s linear}.chatbot-send-btn.is-hover,.chatbot-send-btn:hover,.chatbot-toggle.is-hover,.chatbot-toggle:hover{transform:none}.fade-in-message{animation:none}.typing-indicator .message-content span{animation:none;opacity:.7}}@media (max-width:640px){.chatbot-widget{bottom:var(--space-md);right:var(--space-md)}.chatbot-window{width:calc(100vw - 1.5rem);height:calc(100dvh - 6.5rem);max-height:none;right:-.25rem}.chatbot-header{padding-right:2.75rem}.chatbot-status{display:none}.chatbot-mobile-close{display:flex}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body.theme-console{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}::-moz-selection{background:var(--color-accent);color:var(--color-paper)}::selection{background:var(--color-accent);color:var(--color-paper)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}[hidden]{display:none!important}main:focus{outline:none}body.theme-console>main{flex:1 0 auto}h1,h2,h3,h4,h5,h6{color:var(--color-ink);font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}h1{font-size:var(--text-display)}h2{font-size:var(--text-display-s)}h3{font-size:1.5rem}p{line-height:1.65}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration-thickness:1px;text-underline-offset:.25em}a,button,input,textarea{transition:color .2s var(--ease-out),background-color .2s var(--ease-out),border-color .2s var(--ease-out)}button{font:inherit}svg{stroke:currentColor;stroke-width:1.5}.arrow-icon{width:1.25rem;height:1.25rem;flex:none;transition:transform .3s var(--ease-out)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:10000;padding:.75rem 1.5rem;color:var(--color-paper);background:var(--color-accent)}.skip-link:focus{top:1rem}.page-grid{position:fixed;inset:0 var(--page-gutter);max-width:var(--page-width);margin:auto;pointer-events:none;z-index:-1;display:flex;justify-content:space-between}.page-grid span{height:100%;width:1px;background:hsla(0,0%,100%,.03)}.page-grid span:nth-child(4n+1){background:var(--color-rule)}.site-header{position:sticky;top:0;z-index:50;background:var(--color-paper)}.console-nav{max-width:var(--page-width);margin:auto;min-height:88px;display:flex;align-items:center;border-bottom:1px solid var(--color-rule);gap:3rem}.site-header{padding-inline:var(--page-gutter)}.site-logo{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-ink);font-size:1rem;font-weight:500;letter-spacing:-.025em;white-space:nowrap}.site-logo svg{width:20px;height:20px;stroke-width:1}.console-nav__links{display:flex;gap:2rem;margin-left:auto}.console-nav__actions{display:flex;align-items:center;gap:1.5rem}.console-nav__cta,.console-nav__link,.lang-toggle{min-height:44px;display:inline-flex;align-items:center;font:400 .75rem var(--font-mono);color:var(--color-ink-2)}.console-nav__link{position:relative}.console-nav__link:after{content:"";height:1px;background:var(--color-accent);position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.console-nav__link:hover:after,.console-nav__link[aria-current]:after{transform:scaleX(1)}.console-nav__cta{color:var(--color-ink)}.lang-toggle{border-left:1px solid var(--color-rule);padding-inline:1.5rem .5rem}.console-nav__menu{display:none;flex-shrink:0;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;align-items:center;justify-content:center;color:var(--color-ink);cursor:pointer}.console-nav__menu svg{width:24px;height:24px;display:block}.console-nav__menu .console-nav__menu-close,.console-nav__menu[aria-expanded=true] .console-nav__menu-open{display:none}.console-nav__menu[aria-expanded=true] .console-nav__menu-close{display:block}.nav-mobile{border-bottom:1px solid var(--color-rule);padding-block:1rem}.nav-mobile ul{display:grid;grid-template-columns:1fr 1fr}.site-nav-mobile-link{display:block;padding:.75rem 0;color:var(--color-ink)}.console-nav a:hover,.lang-toggle:hover{color:var(--color-accent)}.console-hero,.foot-stmt,.page-container,.section-inner{width:calc(100% - var(--page-gutter)*2);max-width:var(--page-width);margin-inline:auto}.console-hero{padding-top:2rem}.hero-bottomline,.hero-topline{display:flex;justify-content:space-between;font:.75rem/1.5 var(--font-mono);color:var(--color-ink-3)}.hero-composition{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:24px;column-gap:24px;padding-top:3.5rem}.hero-primary{grid-column:1/9;min-width:0}.hero-name{position:relative;margin:0;color:var(--color-ink);font-size:clamp(5rem,10.5vw,9rem);line-height:.94;letter-spacing:-.055em;font-weight:500;max-width:6ch}.hero-name__base{display:block}.hero-name__band{display:none;position:absolute;inset:0;pointer-events:none}.hero-registration{display:flex;align-items:center;margin:2rem 0 2.5rem;color:var(--color-accent)}.hero-registration span{flex:1;height:1px;background:var(--color-rule)}.hero-registration svg{width:25px;height:25px;margin-right:-12px}.hero-lede{max-width:39rem;font-size:1.125rem;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}.btn-ghost,.btn-ink,.btn-primary,.btn-secondary{display:inline-flex;min-height:48px;padding:.75rem 1.25rem;justify-content:center;align-items:center;gap:2rem;border:1px solid var(--color-rule-2);border-radius:0;font:.75rem/1.5 var(--font-mono);font-weight:400;letter-spacing:.01em;text-decoration:none;transform:none;box-shadow:none;cursor:pointer}.btn-ink,.btn-primary{color:var(--color-paper);background:var(--color-accent);border-color:var(--color-accent)}.btn-ghost,.btn-secondary{color:var(--color-ink);background:transparent}.btn-ink:hover,.btn-primary:hover{background:var(--color-ink);border-color:var(--color-ink)}.btn-ghost:hover,.btn-secondary:hover{background:var(--color-paper-3);border-color:var(--color-ink-3)}.btn-primary:hover .arrow-icon{transform:translateX(4px)}.text-link{display:inline-flex;align-items:center;min-height:44px;font:.75rem/1.5 var(--font-mono);color:var(--color-ink-2);text-decoration:underline}.text-link:hover{color:var(--color-accent)}.profile-ledger{grid-column:10/-1;align-self:start;padding-top:.5rem}.profile-ledger__header{padding-bottom:1.5rem;border-bottom:1px solid var(--color-rule)}.profile-ledger__eyebrow{font:.75rem/1.5 var(--font-mono);color:var(--color-ink-3);margin-bottom:.75rem}.profile-ledger__row{padding-block:1rem;border-bottom:1px solid var(--color-rule)}.profile-ledger__row dt{font:.6875rem/1.5 var(--font-mono);color:var(--color-ink-3);margin-bottom:.375rem}.profile-ledger__row dd{font-size:.875rem;color:var(--color-ink)}.profile-ledger__divider{height:2rem}.profile-ledger__tags{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font:.75rem/1.5 var(--font-mono)}.hero-bottomline{margin-top:4rem;padding-block:1rem;border-top:1px solid var(--color-rule)}@media (min-width:701px){.console-hero{min-height:0;padding-top:1rem}.hero-composition{padding-top:2rem}.hero-registration{margin:1rem 0 1.25rem}.hero-lede{margin-bottom:1.25rem}.hero-bottomline{margin-top:.75rem;padding-block:.5rem}}.registration-ticks{width:84px;height:8px;background:repeating-linear-gradient(90deg,var(--color-ink-3) 0 1px,transparent 1px 12px);opacity:.6}.home-section{padding-block:6rem;border-bottom:1px solid var(--color-rule);scroll-margin-top:5.5rem;background:var(--color-paper)}.section-head{margin-bottom:3rem;display:flex;justify-content:space-between;align-items:baseline}.section-title{color:var(--color-ink);font-size:var(--text-display-s);margin:0}.bio-block{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-bottom:5rem}.bio-p{font-size:1.125rem;line-height:1.75}.bio-block .bio-p:first-child{grid-column:4/9;color:var(--color-ink)}.bio-block .bio-p:last-child{grid-column:9/-1;font-size:1rem}.subsection-title{font:.875rem/1.5 var(--font-mono);color:var(--color-ink-3);letter-spacing:0;margin:3rem 0 1.5rem}.timeline-entry{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding:2.5rem 0;border-top:1px solid var(--color-rule)}.timeline-co-mono,.timeline-date-mono,.timeline-loc-mono{display:block}.timeline-date-mono,.timeline-loc-mono{font:.75rem/1.6 var(--font-mono);color:var(--color-ink-3)}.timeline-co-mono{font-size:1.375rem;color:var(--color-ink);margin-block:.75rem .25rem;letter-spacing:-.025em}.timeline-role-label{display:block;color:var(--color-ink);font-size:1.25rem;line-height:1.4;margin-bottom:1rem}.timeline-list{max-width:70ch;padding-left:1rem;list-style:square}.timeline-list li{padding-left:.375rem;margin-bottom:.5rem}.timeline-list li::marker{color:var(--color-ink-3);font-size:.7em}.education-block{margin-top:3rem}.education-grid{border-top:1px solid var(--color-rule)}.education-card{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--color-rule)}.education-card__period{font:.75rem/1.6 var(--font-mono);grid-row:span 2;color:var(--color-ink-3)}.education-card__degree{font-size:1.25rem}.education-card__institution{grid-column:2}.education-card__meta{grid-column:3;grid-row:1/3;font:.75rem/1.8 var(--font-mono);display:flex;flex-direction:column;align-items:flex-end}.education-card__result{color:var(--color-ink)}.skills-grid{border-top:1px solid var(--color-rule)}.skill-card{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding:1.5rem 0;border-bottom:1px solid var(--color-rule)}.skill-category-label{font:.75rem/1.8 var(--font-mono);letter-spacing:0;color:var(--color-ink-3)}.skill-tag{font-size:clamp(1.125rem,1.75vw,1.5rem);line-height:1.5;letter-spacing:-.02em;color:var(--color-ink)}.skill-tag:not(:last-child):after{content:"/";color:var(--color-ink-3);margin-inline:.75rem .25rem;font-weight:300}.contact-panel{display:grid;grid-template-columns:6fr 6fr;gap:2rem}.contact-panel .section-head{grid-row:span 2}.contact-panel__lede{max-width:40ch}.contact-actions{display:flex;gap:.75rem;flex-wrap:wrap}.foot-stmt{padding-block:4rem 2rem;max-width:68.75rem}.foot-stmt__meta{border-top:1px solid var(--color-rule);padding-top:1.5rem;display:flex;gap:2rem;align-items:baseline;flex-wrap:wrap;font:.75rem/1.5 var(--font-mono)}.foot-stmt__brand{color:var(--color-ink)}.foot-stmt__links{display:flex;gap:1.5rem;margin-left:auto;flex-wrap:wrap}.foot-stmt__links a{min-height:44px;display:flex;align-items:center}.foot-stmt__links a:hover{color:var(--color-accent)}.foot-stmt__copy{width:100%;color:var(--color-ink-3);padding-right:3rem}@media (min-width:701px) and (max-width:1100px){.foot-stmt__meta{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1rem}.foot-stmt__brand{grid-column:1;grid-row:1}.foot-stmt__copy{grid-column:2;grid-row:1;width:auto;justify-self:end;padding-right:0}.foot-stmt__links{grid-column:1/-1;grid-row:2;margin-left:0}}.page-masthead{padding-block:5rem 4rem;border-bottom:1px solid var(--color-rule)}.page-masthead h1{max-width:14ch;font-size:clamp(3rem,7vw,7rem);line-height:1.02;letter-spacing:-.05em}.page-intro{margin-top:1.5rem;max-width:60ch;font-size:1.125rem}.page-section{padding-block:4rem;background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.editorial-section{display:grid;grid-template-columns:3fr 9fr;gap:24px}.editorial-section>h2{font-size:1.5rem;max-width:14ch}.section-content{min-width:0}.biography-copy{max-width:70ch;font-size:1.125rem}.biography-copy p+p{margin-top:1.5rem}.career-row{display:grid;grid-template-columns:3fr 9fr;gap:24px;border-top:1px solid var(--color-rule);padding-block:2.5rem}.blog-entry-meta,.career-company,.career-meta,.project-meta,.project-tags,.skill-level,.tag-list{font:.75rem/1.7 var(--font-mono);color:var(--color-ink-3)}.career-heading{font-size:1.5rem;margin-bottom:.75rem}.career-role{margin-top:1.5rem}.career-role h4{font-size:1rem;margin-bottom:.75rem}.editorial-list{list-style:square;padding-left:1rem;margin-top:1rem;max-width:72ch}.editorial-list li{padding-left:.375rem;margin-top:.5rem}.editorial-list li::marker{color:var(--color-ink-3);font-size:.7em}.education-row{display:grid;grid-template-columns:1fr 3fr;gap:1.5rem;padding-block:2rem;border-top:1px solid var(--color-rule)}.education-row h3{margin-bottom:.5rem}.skill-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem 2rem;padding-block:1.5rem;border-top:1px solid var(--color-rule)}.skill-heading{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.skill-heading h3{font-size:1.25rem}.skill-meter{grid-column:2;height:2px;background:var(--color-rule)}.skill-meter span{display:block;height:100%;background:var(--color-ink-3)}.capability-inventory{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:3rem;column-gap:3rem}.capability-item{padding-block:1.5rem;border-top:1px solid var(--color-rule)}.capability-item h3{font-size:1.25rem;margin-bottom:.75rem}.project-case{display:grid;grid-template-columns:4fr 8fr;gap:3rem;padding-block:3rem;border-top:1px solid var(--color-rule)}.project-case h2{font-size:clamp(1.75rem,3vw,2.5rem);margin-top:.75rem}.project-case h3{font:.75rem/1.5 var(--font-mono);letter-spacing:0;color:var(--color-ink-3);margin:2rem 0 1rem}.project-tags,.tag-list{display:flex;gap:.5rem 1rem;flex-wrap:wrap}.project-tags span,.tag-list span{color:var(--color-ink-2)}.project-description{font-size:1.125rem;line-height:1.75}.page-cta{padding-block:4rem;border-bottom:1px solid var(--color-rule);background:var(--color-paper-2)}.page-cta h2{max-width:22ch;font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1.5rem}.page-cta p{max-width:60ch;margin-bottom:2rem}.action-group{display:flex;gap:1rem;flex-wrap:wrap}.blog-entry{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding-block:2.5rem;border-top:1px solid var(--color-rule)}.blog-entry h2{font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:1rem}.blog-entry h2 a:hover{color:var(--color-accent)}.blog-entry p{max-width:65ch;margin-bottom:1rem}.blog-entry .tag-list{margin-block:1rem}.reading-layout{max-width:74ch;margin-left:calc(25% - var(--page-gutter)*2/12*3 + var(--page-gutter))}.author-note{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-rule)}.author-note h2,.author-note h3{font-size:1.5rem;margin-bottom:.75rem}.contact-layout{display:grid;grid-template-columns:5fr 6fr;gap:8.333%}.contact-layout h2{font-size:2rem;margin-bottom:1.5rem}.contact-info>p{max-width:44ch}.contact-method{display:block;padding-block:1.5rem;border-bottom:1px solid var(--color-rule);overflow-wrap:anywhere}.contact-method h3{font:.75rem/1.5 var(--font-mono);color:var(--color-ink-3);margin-bottom:.5rem}.contact-method a{color:var(--color-ink);text-decoration:underline}.contact-method a:hover{color:var(--color-accent)}.contact-form-panel{border-top:1px solid var(--color-rule);padding-top:2rem}.form-field{margin-bottom:1.5rem}.form-field label{font:.75rem/1.5 var(--font-mono);margin-bottom:.75rem}.form-control,.form-field label{display:block;color:var(--color-ink)}.form-control{width:100%;min-height:48px;background:var(--color-paper-2);border:1px solid var(--color-rule-2);padding:.875rem 1rem;border-radius:0;font-size:1rem}.form-control::-moz-placeholder{color:var(--color-ink-3)}.form-control::placeholder{color:var(--color-ink-3)}.form-control:focus{border-color:var(--color-accent)}textarea.form-control{resize:vertical;min-height:160px}.field-validation,.field-validation-error,.validation-summary-errors{color:var(--color-accent);font-size:.875rem;display:block;margin-top:.5rem}.form-status{border:1px solid var(--color-accent);padding:1rem;margin-bottom:1.5rem;color:var(--color-ink)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.related-link{border-top:1px solid var(--color-rule);padding-block:1.5rem;display:block}.related-link h3{font-size:1.25rem;margin-bottom:.75rem}.related-link:hover h3{color:var(--color-accent)}@media (prefers-reduced-motion:no-preference){.hero-name__base{animation:calibration-base .9s step-end both}.hero-name__band{display:block;animation:calibration-band .9s var(--ease-out) both}.hero-name__band--0{clip-path:inset(0 0 66.66%);--calibration-offset:-12px}.hero-name__band--1{clip-path:inset(33.33% 0 33.33%);--calibration-offset:16px;animation-delay:70ms}.hero-name__band--2{clip-path:inset(66.66% 0 0);--calibration-offset:-8px;animation-delay:.12s}.hero-registration svg{animation:registration-settle .9s var(--ease-out) both}.profile-ledger__row{animation:ledger-enter .4s var(--ease-out) both}.profile-ledger__row:nth-child(2){animation-delay:60ms}.profile-ledger__row:nth-child(3){animation-delay:.12s}.profile-ledger__row:nth-child(4){animation-delay:.18s}.profile-ledger__row:nth-child(5){animation-delay:.24s}@supports (animation-timeline:view()){.home-section .section-title,.page-section>.editorial-section>h2{animation:scroll-reveal linear both;animation-timeline:view();animation-range:entry 0 entry 90%}}}@keyframes calibration-base{0%,99%{opacity:0}to{opacity:1}}@keyframes calibration-band{0%{transform:translateX(var(--calibration-offset));opacity:1}75%,99%{transform:translateX(0);opacity:1}to{transform:translateX(0);opacity:0}}@keyframes registration-settle{0%{transform:translateX(-80px) rotate(-90deg)}to{transform:none}}@keyframes ledger-enter{0%{transform:translateY(8px)}to{transform:none}}@keyframes scroll-reveal{0%{transform:translateY(20px);opacity:.5}to{transform:none;opacity:1}}@media (max-width:1000px){.hero-primary{grid-column:1/9}.profile-ledger{grid-column:9/-1}.console-nav{gap:2rem}.console-nav__links{gap:1.25rem}.hero-actions{gap:1rem}.bio-block .bio-p:first-child{grid-column:1/7}.bio-block .bio-p:last-child{grid-column:7/-1}.reading-layout{margin-inline:auto}}@media (max-width:700px){.page-grid span{display:none}.page-grid span:nth-child(3n+1){display:block;background:var(--color-rule)}.console-nav{min-height:72px;gap:1rem;justify-content:space-between}.console-nav__links{display:none}.console-nav__actions{gap:.25rem}.console-nav__cta{display:none}.console-nav__menu{display:flex}.lang-toggle{border:0;padding-inline:.75rem}.hero-topline{font-size:.6875rem;gap:1rem}.hero-topline span:first-child{max-width:22ch}.hero-topline span:last-child{text-align:right}.console-hero{padding-top:1.5rem}.hero-composition{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 12px;padding-top:2.5rem}.hero-primary{grid-column:1/-1}.hero-name{font-size:clamp(4rem,17vw,7rem);max-width:6ch}.hero-registration{margin-block:1.5rem 2rem}.hero-registration svg{margin-right:0}.hero-lede{font-size:1rem}.hero-actions{gap:1.25rem}.hero-actions .btn-primary{width:100%;justify-content:space-between}.profile-ledger{grid-column:1/-1;padding-top:0;border-top:1px solid var(--color-rule)}.profile-ledger__header{display:flex;justify-content:space-between;gap:1rem;padding-block:1.25rem}.profile-ledger__header .profile-ledger__eyebrow{margin:0}.profile-ledger__facts{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:1.5rem;column-gap:1.5rem}.profile-ledger__row:last-child{grid-column:1/-1}.profile-ledger__divider{height:1.5rem}.hero-bottomline{margin-top:2.5rem}.home-section{padding-block:3.5rem}.section-head{margin-bottom:2rem}.bio-block{display:block;margin-bottom:3rem}.bio-block .bio-p+.bio-p{margin-top:1.5rem}.timeline-entry{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}.timeline-entry>div:first-child{display:grid;grid-template-columns:1fr 1fr;align-items:baseline;gap:.5rem}.timeline-date-mono{grid-column:1/-1}.timeline-co-mono{margin:0}.timeline-loc-mono{text-align:right}.education-card{grid-template-columns:1fr;gap:.5rem}.education-card__institution,.education-card__meta,.education-card__period{grid-column:auto;grid-row:auto}.education-card__meta{flex-direction:row;justify-content:space-between;align-items:baseline}.education-card__degree{margin-top:.5rem}.skill-card{grid-template-columns:1fr;gap:.75rem}.contact-panel{grid-template-columns:1fr;gap:1.5rem}.contact-panel .section-head{margin:0;grid-row:auto}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.contact-actions .btn-primary{grid-column:1/-1}.foot-stmt{padding-top:3rem}.foot-stmt__links{margin:0;gap:.5rem 1.5rem}.foot-stmt__meta{gap:1rem}.foot-stmt__brand{width:100%}.page-cta,.page-masthead,.page-section{padding-block:3rem}.blog-entry,.career-row,.contact-layout,.editorial-section,.project-case{grid-template-columns:1fr;gap:1.5rem}.editorial-section>h2{max-width:none;margin-bottom:.5rem}.education-row{gap:.5rem}.capability-inventory,.education-row,.skill-row{grid-template-columns:1fr}.skill-meter{grid-column:1}.related-links{grid-template-columns:1fr;gap:.5rem}.contact-form-panel{margin-top:1.5rem}.reading-layout{width:calc(100% - var(--page-gutter)*2)}}@media (prefers-reduced-motion:reduce){html,html:focus-within{scroll-behavior:auto!important}*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-name__base{opacity:1}.hero-name__band{display:none}}.chatbot-toggle,.chatbot-toggle:hover,.chatbot-widget.open .chatbot-toggle,.chatbot-widget.open .chatbot-toggle:hover{box-shadow:none;border-radius:0}.chatbot-toggle{background:var(--color-paper-2);color:var(--color-ink);border:1px solid var(--color-rule-2)}.chatbot-toggle:hover{color:var(--color-paper)}.chatbot-window{box-shadow:0 16px 40px rgba(0,0,0,.4);border-radius:0}.chatbot-header,.chatbot-window{background:var(--color-paper-2)}.chatbot-header h3{font-family:var(--font-display);font-size:1.25rem}.message-content{font-size:.875rem;font-weight:400}.bot-message .message-content{box-shadow:none}.chatbot-input{font-size:1rem;min-height:44px}.chatbot-send-btn{width:44px;height:44px}.chatbot-input::-moz-placeholder{color:var(--color-ink-3);font-size:.75rem}.chatbot-input::placeholder,.chatbot-status,.chatbot-subtitle{color:var(--color-ink-3);font-size:.75rem}.chatbot-mobile-close{width:44px;height:44px}.article-cover{margin-top:2rem}.article-cover img{width:100%;height:auto;aspect-ratio:16/9;-o-object-fit:contain;object-fit:contain;background:var(--color-paper-2)}.article-back{margin-bottom:2rem}.author-monogram{font:1.25rem var(--font-mono);color:var(--color-ink-3);margin-bottom:1rem}.empty-state{padding-block:2rem}.empty-state h2{font-size:2rem;margin-bottom:1rem}.legal-copy p{margin-bottom:1.5rem}.contact-social{margin-top:2rem}.contact-social h3{font-size:1.25rem;margin-bottom:1rem}.contact-social .action-group{gap:1.5rem}.article-masthead h1{max-width:24ch;font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.08}.article-masthead .blog-entry-meta{margin-top:1.5rem}.blog-entry-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-content:start}.education-row{grid-template-columns:2fr 1fr;gap:.5rem 1.5rem}.education-row .career-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.project-case .project-responsibilities{padding-left:0}.text-link{gap:.5rem}.contact-method .arrow-icon{display:inline-block;vertical-align:middle;margin-left:.375rem}.related-link>.arrow-icon{margin-top:1rem}@media (max-width:700px){.education-row{grid-template-columns:1fr}.education-row .career-meta{grid-column:auto}}html:lang(ja){--font-display:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--font-body:var(--font-display);--font-mono:"JetBrains Mono","Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,monospace;font-feature-settings:"palt" 1,"chws" 1;line-break:strict}html:lang(ja) body{line-height:1.9}html:lang(ja) :is(h1,h2,h3,h4,h5,h6){letter-spacing:.015em;line-height:1.5;word-break:normal}html:lang(ja) :is(p,.timeline-list,.editorial-list,.project-responsibilities){line-height:1.9}html:lang(ja) .hero-name{max-width:none;font-size:clamp(5rem,10.5vw,9rem);letter-spacing:.06em;line-height:1.2;white-space:nowrap}.hero-name-reading{font:.75rem/1.5 JetBrains Mono,monospace;letter-spacing:.16em;color:var(--color-ink-3);margin-top:1rem}html:lang(ja) .hero-lede{max-width:34em;max-width:34ic;margin-top:0}html:lang(ja) :is(.hero-topline,.console-nav__link,.console-nav__cta,.btn-primary,.btn-secondary,.btn-ink,.btn-ghost,.text-link){font-size:.8125rem}html:lang(ja) .hero-topline{-moz-column-gap:2rem;column-gap:2rem}html:lang(ja) .hero-topline span{text-wrap:balance}html:lang(ja) .profile-ledger__row dd{text-wrap:pretty;line-height:1.85}html:lang(ja) :is(.profile-ledger__row dt,.profile-ledger__eyebrow,.skill-category-label,.form-field label){font-size:.8125rem;line-height:1.7}.profile-ledger__header .profile-ledger__eyebrow{margin:0}html:lang(ja) :is(.bio-p,.biography-copy,.project-description,.page-intro){line-height:1.95}html:lang(ja) :is(.timeline-list,.editorial-list){max-width:44em;max-width:44ic}html:lang(ja) :is(.timeline-list,.editorial-list,.project-responsibilities) li{margin-top:.75rem}html:lang(ja) .page-masthead h1{max-width:none;font-size:clamp(2.25rem,5vw,5rem);line-height:1.4}html:lang(ja) .section-title{font-size:clamp(2rem,3.7vw,3.5rem)}html:lang(ja) .editorial-section>h2{max-width:none;font-size:1.375rem}html:lang(ja) .page-cta h2{font-size:clamp(1.75rem,3vw,2.75rem)}html:lang(ja) .contact-layout h2{font-size:1.75rem}@media (min-width:701px){html:lang(ja) .profile-ledger{grid-column:9/-1;padding-left:1.5rem}html:lang(ja) .bio-block .bio-p:first-child{grid-column:3/8}html:lang(ja) .bio-block .bio-p:last-child{grid-column:9/-1}}@media (min-width:701px) and (max-width:1000px){html:lang(ja) .console-nav{gap:1rem}html:lang(ja) .console-nav__links{gap:.875rem}html:lang(ja) .console-nav__actions{gap:.75rem}html:lang(ja) .lang-toggle{padding-left:.75rem}html:lang(ja) .bio-block .bio-p:first-child{grid-column:1/7}html:lang(ja) .bio-block .bio-p:last-child{grid-column:7/-1}}@media (max-width:700px){html:lang(ja) .hero-topline{display:grid;gap:.5rem}html:lang(ja) .hero-topline span:first-child{max-width:none}html:lang(ja) .hero-topline span:last-child{text-align:left;font-size:.75rem}html:lang(ja) .hero-name{font-size:clamp(4.5rem,20vw,7rem)}html:lang(ja) .hero-lede{font-size:1rem}html:lang(ja) .profile-ledger__header{gap:.75rem}html:lang(ja) .profile-ledger__facts{-moz-column-gap:1rem;column-gap:1rem}html:lang(ja) .profile-ledger__row dd{font-size:.8125rem;text-wrap:balance}html:lang(ja) .timeline-entry>div:first-child{grid-template-columns:1fr}html:lang(ja) .timeline-loc-mono{text-align:left}html:lang(ja) .timeline-role-label{font-size:1.125rem;line-height:1.75;text-wrap:balance}html:lang(ja) .project-case h2{font-size:1.625rem}}html:lang(ja) .featured-project-card__title{letter-spacing:.015em;line-height:1.5;text-wrap:balance}html:lang(ja) .featured-project-card__summary{line-height:1.9}html:lang(ja) :is(.featured-project-card__details,.project-details-title){font-size:.8125rem;line-height:1.7}