/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-font-weight:initial;--tw-leading:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--radius-xl:.75rem;--blur-xl:24px;--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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light;--page-bg:#ebefee;--surface:#ffffff5c;--surface-strong:#ffffffa8;--text:#2a2522;--muted:#6f625b;--subtle:#8f7e72;--line:#4a413c38;--accent:#bb6c43;--accent-soft:#c8906d;--accent-muted:#ccb499;--map-point:#2f7d6f;--map-point-soft:#79b8aa;--shadow:none}:root[data-theme=dark]{color-scheme:dark;--page-bg:#171412;--surface:#ffffff09;--surface-strong:#ffffff12;--text:#ebefee;--muted:#ccb499;--subtle:#aa9788;--line:#ebefee2e;--accent:#c8906d;--accent-soft:#bb6c43;--accent-muted:#4a413c;--map-point:#7cc8b8;--map-point-soft:#2f7d6f;--shadow:none}html{scroll-behavior:smooth}body{background:var(--page-bg);font-feature-settings:"cv02","cv03","cv04","cv11";min-width:320px;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}}@layer components{.site-header{top:calc(var(--spacing) * 0);z-index:50;max-width:var(--container-6xl);align-items:center;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);border-bottom-width:1px;margin-inline:auto;display:flex;position:sticky}@media(min-width:40rem){.site-header{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.site-header{padding-inline:calc(var(--spacing) * 8)}}.site-header{background:var(--page-bg)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--page-bg) 92%,transparent)}}.site-header{border-color:var(--line)}.brand-button{min-width:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 2);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);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));flex-shrink:1}@media(hover:hover){.brand-button:hover{opacity:.7}}.brand-button{color:var(--text)}.brand-button span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.nav-tabs{align-items:center;gap:calc(var(--spacing) * 6);margin-inline:auto;display:none}@media(min-width:48rem){.nav-tabs{display:flex}}.nav-tab{border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);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));color:var(--muted);border-color:#0000;border-bottom-width:1px}.nav-tab:hover,.nav-tab.is-active{border-color:var(--accent);color:var(--text)}.header-actions{align-items:center;gap:calc(var(--spacing) * 2);flex-shrink:0;display:flex}.icon-action{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-style:var(--tw-border-style);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));border-width:1px;place-items:center;display:grid}@media(hover:hover){.icon-action:hover{background-color:var(--surface-strong)}}.icon-action{border-color:var(--line);color:var(--text);background:0 0}.home-grid{gap:calc(var(--spacing) * 8);padding-top:calc(var(--spacing) * 8);display:grid}@media(min-width:64rem){.home-grid{padding-top:calc(var(--spacing) * 16)}}.home-title{max-width:var(--container-6xl);font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-leading:1.02;--tw-font-weight:var(--font-weight-semibold);line-height:1.02;font-weight:var(--font-weight-semibold);text-wrap:balance}@media(min-width:40rem){.home-title{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media(min-width:64rem){.home-title{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}.home-title{color:var(--text)}.home-summary{margin-top:calc(var(--spacing) * 7);max-width:var(--container-2xl);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}@media(min-width:40rem){.home-summary{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}.home-summary{color:var(--muted)}.identity-panel,.section-panel,.metric,.timeline-row,.project-row,.research-feature{border-style:var(--tw-border-style);background:var(--surface);border-width:1px;border-color:var(--line)}.identity-panel{gap:calc(var(--spacing) * 7);padding:calc(var(--spacing) * 6);display:grid}@media(min-width:48rem){.identity-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}.metric-grid{gap:calc(var(--spacing) * 3);display:grid}@media(min-width:48rem){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.metric{padding:calc(var(--spacing) * 6)}.metric strong{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--text);display:block}.metric span,.label,.kicker{color:var(--subtle)}.metric span{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:block}.journey-panel{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 4);border-width:1px}@media(min-width:40rem){.journey-panel{padding:calc(var(--spacing) * 6)}}.journey-panel{background:var(--surface);border-color:var(--line)}.journey-intro{margin-bottom:calc(var(--spacing) * 5);max-width:var(--container-2xl)}.journey-intro h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);line-height:1;font-weight:var(--font-weight-semibold)}@media(min-width:40rem){.journey-intro h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.journey-intro h2{color:var(--text)}.journey-intro p{margin-top:calc(var(--spacing) * 4);max-width:var(--container-xl);--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:var(--muted)}.journey-visual{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 3);border-width:1px;border-color:var(--line);background:var(--surface-strong);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.journey-visual{background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}}.journey-visual svg{width:100%;height:auto;display:block}.map-sphere{fill:var(--surface-strong)}@supports (color:color-mix(in lab,red,red)){.map-sphere{fill:color-mix(in srgb,var(--surface-strong) 82%,var(--accent-muted))}}.map-sphere{stroke:var(--text)}@supports (color:color-mix(in lab,red,red)){.map-sphere{stroke:color-mix(in srgb,var(--text) 18%,transparent)}}.map-sphere{stroke-width:1.1px}.map-graticule{fill:none;stroke:var(--text)}@supports (color:color-mix(in lab,red,red)){.map-graticule{stroke:color-mix(in srgb,var(--text) 12%,transparent)}}.map-graticule{stroke-width:.65px}.map-land{fill:var(--accent-muted)}@supports (color:color-mix(in lab,red,red)){.map-land{fill:color-mix(in srgb,var(--accent-muted) 42%,var(--surface-strong))}}.map-land{stroke:var(--text)}@supports (color:color-mix(in lab,red,red)){.map-land{stroke:color-mix(in srgb,var(--text) 22%,transparent)}}.map-land{stroke-linejoin:round;stroke-width:.7px}.map-route{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--accent);stroke-width:2.15px;opacity:0;stroke-dasharray:760;stroke-dashoffset:760px;animation:draw-map-route var(--route-duration,3.6s) cubic-bezier(.33,0,.2,1) forwards,fade-route .52s ease-out forwards;animation-delay:var(--route-delay),var(--route-delay)}.map-marker-stem{stroke:var(--map-point)}@supports (color:color-mix(in lab,red,red)){.map-marker-stem{stroke:color-mix(in srgb,var(--map-point) 68%,transparent)}}.map-marker-stem{stroke-linecap:round;stroke-width:1.2px}.map-marker{opacity:0;animation:.52s ease-out forwards marker-in;animation-delay:var(--marker-delay)}.map-marker-pulse{fill:var(--map-point);opacity:.2;animation:1.3s ease-out marker-pulse}.map-marker-dot{fill:var(--map-point);stroke:var(--page-bg);stroke-width:2.5px}.map-location-pulse{fill:var(--map-point-soft);opacity:.28;animation:1.3s ease-out marker-pulse}.map-location-dot{fill:var(--map-point);stroke:var(--page-bg);stroke-width:2.8px}.map-marker-order{fill:var(--page-bg);font-size:9.5px;font-weight:800}.journey-map-legend{margin-top:calc(var(--spacing) * 3);gap:calc(var(--spacing) * 2);display:grid}@media(min-width:40rem){.journey-map-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.journey-map-legend{grid-template-columns:repeat(5,minmax(0,1fr))}}.journey-legend-row{align-items:flex-start;gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));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));--tw-duration:.5s;border-width:1px;border-color:var(--line);background:var(--surface-strong);transition-duration:.5s;display:flex}@supports (color:color-mix(in lab,red,red)){.journey-legend-row{background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}}.journey-legend-row.is-complete{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.journey-legend-row.is-complete{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}}.journey-legend-row.is-complete{background:var(--accent-muted)}@supports (color:color-mix(in lab,red,red)){.journey-legend-row.is-complete{background:color-mix(in srgb,var(--accent-muted) 18%,var(--surface-strong))}}.journey-legend-row.is-active{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.journey-legend-row.is-active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line))}}.journey-legend-row.is-active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.journey-legend-row.is-active{background:color-mix(in srgb,var(--accent) 18%,var(--surface-strong))}}.journey-legend-row.is-active{transform:translateY(-1px)}.journey-map-legend span{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-bold);font-size:.68rem;font-weight:var(--font-weight-bold);background:var(--text);flex-shrink:0;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.journey-map-legend span{background:color-mix(in srgb,var(--text) 12%,transparent)}}.journey-map-legend span{color:var(--text);transition:inherit}.journey-legend-row.is-complete span,.journey-legend-row.is-active span{background:var(--map-point);color:var(--page-bg)}.journey-map-legend strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--text);flex-shrink:0}.journey-map-legend em{min-width:calc(var(--spacing) * 0);--tw-leading:var(--leading-snug);line-height:var(--leading-snug);overflow-wrap:break-word;white-space:normal;color:var(--muted);font-style:normal}.kicker{margin-bottom:calc(var(--spacing) * 4);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);text-transform:uppercase}.label{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);text-transform:uppercase}.page-title{max-width:var(--container-4xl);padding-top:calc(var(--spacing) * 8)}@media(min-width:40rem){.page-title{padding-top:calc(var(--spacing) * 14)}}.page-title h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-leading:1.04;--tw-font-weight:var(--font-weight-semibold);line-height:1.04;font-weight:var(--font-weight-semibold);text-wrap:balance}@media(min-width:40rem){.page-title h1{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}.page-title h1{color:var(--text)}.page-copy{margin-top:calc(var(--spacing) * 6);max-width:var(--container-3xl);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8);color:var(--muted)}.button-primary,.button-secondary{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);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));border-width:1px}@media(hover:hover){:is(.button-primary,.button-secondary):hover{background-color:var(--surface-strong)}}.button-primary{background:var(--text);border-color:var(--text);color:var(--page-bg)}.button-secondary{border:1px solid var(--line);color:var(--text);background:0 0}.link-inline{align-items:center;gap:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);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));display:inline-flex}@media(hover:hover){.link-inline:hover{opacity:.7}}.link-inline{color:var(--accent)}.focus-list{gap:calc(var(--spacing) * 3);display:grid}@media(min-width:40rem){.focus-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.focus-list span{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-width:1px;border-color:var(--line);color:var(--text);background:0 0}.timeline-list,.project-list{margin-top:calc(var(--spacing) * 10);display:grid}.timeline-row{gap:calc(var(--spacing) * 4);padding:calc(var(--spacing) * 6);display:grid}@media(min-width:48rem){.timeline-row{grid-template-columns:11rem 1fr}}.timeline-row{background:0 0;border-width:1px 0 0}.row-date{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent)}.timeline-row h2,.project-row h2,.research-copy h2,.compact-row h3,.panel-title{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--text)}.timeline-row h2,.project-row h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.row-org,.row-copy,.compact-row p{color:var(--muted)}.row-org{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.row-copy{margin-top:calc(var(--spacing) * 4);--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.section-panel{padding:calc(var(--spacing) * 6)}.compact-list{gap:calc(var(--spacing) * 3);display:grid}.compact-row{justify-content:space-between;gap:calc(var(--spacing) * 3);border-top-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 4);border-top-width:1px;flex-direction:column;display:flex}@media(min-width:40rem){.compact-row{flex-direction:row;align-items:center}}.compact-row{border-color:var(--line);background:0 0}.compact-row span{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--accent);flex-shrink:0}.skills-grid{margin-top:calc(var(--spacing) * 10);gap:calc(var(--spacing) * 4);display:grid}@media(min-width:48rem){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel-title{margin-bottom:calc(var(--spacing) * 5);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.tag-list{gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.tag-list.dense{gap:calc(var(--spacing) * 1.5)}.tag{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-width:1px;border-color:var(--line);color:var(--text);background:0 0}.project-row{padding:calc(var(--spacing) * 6);background:0 0;border-width:1px 0 0}.row-head{justify-content:space-between;gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}@media(min-width:40rem){.row-head{flex-direction:row;align-items:flex-start}}.row-head span{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media(min-width:40rem){.row-head span{flex-shrink:0}}.row-head span{color:var(--subtle)}.research-feature{margin-top:calc(var(--spacing) * 10);align-items:flex-start;gap:calc(var(--spacing) * 6);padding:calc(var(--spacing) * 4);display:grid}@media(min-width:48rem){.research-feature{padding:calc(var(--spacing) * 6)}}@media(min-width:64rem){.research-feature{grid-template-columns:minmax(22rem,.92fr) minmax(0,1.08fr)}}.poster-preview{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 2);text-align:left;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));border-width:1px;align-self:flex-start;display:block;overflow:hidden}@media(hover:hover){.poster-preview:hover{border-color:var(--accent)}}.poster-preview{border-color:var(--line);background:#fff}.poster-preview img{aspect-ratio:4/3;object-fit:contain;width:100%}.poster-modal-backdrop{inset:calc(var(--spacing) * 0);z-index:100;padding:calc(var(--spacing) * 4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#171412b8;place-items:center;display:grid;position:fixed}.poster-modal{width:100%;max-height:92svh;max-width:var(--container-6xl);border-style:var(--tw-border-style);background:var(--surface-strong);border-width:1px;border-color:var(--line);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden;box-shadow:0 24px 90px #00000047}.poster-modal-header,.poster-modal-footer{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);padding:calc(var(--spacing) * 4);border-bottom-width:1px;display:flex}@media(min-width:40rem){.poster-modal-header,.poster-modal-footer{padding:calc(var(--spacing) * 5)}}.poster-modal-header,.poster-modal-footer{border-color:var(--line)}.poster-modal-header h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media(min-width:40rem){.poster-modal-header h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}.poster-modal-header h2{color:var(--text)}.poster-modal-body{background-color:var(--color-white);padding:calc(var(--spacing) * 3);overflow:auto}@media(min-width:40rem){.poster-modal-body{padding:calc(var(--spacing) * 5)}}.poster-modal-body img{max-width:100%;height:auto;margin-inline:auto}.poster-modal-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}.research-copy{align-content:flex-start;gap:calc(var(--spacing) * 6);display:grid}.research-copy h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1;line-height:1}@media(min-width:40rem){.research-copy h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.subtitle{margin-top:calc(var(--spacing) * 3);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:var(--muted)}.callout{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 5);border-width:1px;border-color:var(--line);background:0 0}.callout h3,.mini-title{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--subtle)}.callout p,.ordered-list,.check-list{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:var(--muted)}.research-detail-grid{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 4);display:grid}@media(min-width:64rem){.research-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ordered-list{gap:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 5);list-style-type:decimal;display:grid}.check-list{gap:calc(var(--spacing) * 3);display:grid}.check-list li{gap:calc(var(--spacing) * 3);display:flex}.check-list svg{margin-top:calc(var(--spacing) * 1);color:var(--accent);flex-shrink:0}@media(max-width:767px){.site-header{flex-wrap:wrap}.nav-tabs{border-top-style:var(--tw-border-style);width:100%;padding-top:calc(var(--spacing) * 2);border-top-width:1px;border-color:var(--line);scrollbar-width:none;order:3;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding-inline:calc(var(--spacing) * 3);white-space:nowrap;flex-shrink:0}.header-actions{margin-left:auto}.icon-action{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.home-grid{padding-top:calc(var(--spacing) * 4)}.home-title{--tw-leading:1.02;font-size:2.55rem;line-height:1.02}.home-summary,.page-copy{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.identity-panel,.section-panel,.metric,.timeline-row,.project-row,.research-feature{border-radius:0}.journey-panel{padding:calc(var(--spacing) * 3);border-radius:0}.journey-intro{padding-inline:calc(var(--spacing) * 1)}.journey-intro h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.journey-visual{padding:calc(var(--spacing) * 2);border-radius:0}.journey-map-legend{grid-template-columns:repeat(1,minmax(0,1fr))}.timeline-row,.project-row{padding:calc(var(--spacing) * 5)}.research-feature{margin-top:calc(var(--spacing) * 8);padding:calc(var(--spacing) * 3)}.poster-preview img{aspect-ratio:3/2}.poster-modal{border-radius:0;max-height:94svh}.poster-modal-header,.poster-modal-footer{padding:calc(var(--spacing) * 3);align-items:flex-start}.poster-modal-header h2{max-width:72vw;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.poster-modal-footer{flex-direction:column}.poster-modal-footer .button-secondary,.poster-modal-footer .link-inline{justify-content:center;width:100%}}}@layer utilities{.static{position:static}.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}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.min-h-\[calc\(100svh-9rem\)\]{min-height:calc(100svh - 9rem)}.min-h-screen{min-height:100vh}.max-w-6xl{max-width:var(--container-6xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-10{gap:calc(var(--spacing) * 10)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--line\)\]{border-color:var(--line)}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}}@keyframes draw-map-route{to{stroke-dashoffset:0}}@keyframes fade-route{0%{opacity:0}to{opacity:.96}}@keyframes marker-in{0%{opacity:0}to{opacity:1}}@keyframes marker-pulse{0%{opacity:0}38%{opacity:.28}to{opacity:.16}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important}.map-route,.map-marker{opacity:1!important;stroke-dashoffset:0!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
