:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;--space-scale: .6667;--inner-window-gap: calc(2rem * var(--space-scale));--header-control-height: 2.1rem;--home-photo-width: 220px;--home-photo-height: 220px;--home-photo-offset-x: 0px;--home-photo-offset-y: 0px;--home-linked-node-height-scale: 3;--project-linked-node-height-scale: 2;--color-body-bg: #f7f8fb;--color-text: #15171a;--color-surface: #ffffff;--color-surface-soft: #f9fbff;--color-surface-soft-alt: #f8fbff;--color-border: #e4e7ec;--color-border-soft: #d8dee8;--color-border-strong: #c2cad6;--color-border-hover: #64748b;--color-muted: #334155;--color-muted-strong: #3f516d;--color-navstripe-bg: #f8fbff;--color-navstripe-border: #d3deee;--color-navstripe-label: #334155;--color-navstripe-divider: rgba(148, 163, 184, .5);--color-navstripe-nested-line: rgba(148, 163, 184, .58);--color-navstripe-viewport-border: rgba(59, 130, 246, .45);--color-navstripe-viewport-bg: rgba(147, 197, 253, .26);--color-button-bg: #ffffff;--color-button-bg-hover: #f1f5f9;--color-button-bg-active: #e2e8f0;--color-cta-bg: #f8fbff;--color-cta-bg-hover: #eef4ff;--color-cta-border: #c7d4e7;--color-tech-row-bg: linear-gradient(90deg, #f8fbff, #edf3ff);--color-tech-chip-bg: #ffffff;--color-tech-icon-bg: #f8fafc;--color-tech-fallback: #334155;--color-story-block-bg: linear-gradient(180deg, #f9fbff 0%, #f2f6fd 100%);--color-story-image-bg: #dde8fa;--color-story-image-placeholder-bg: linear-gradient(180deg, #e6edf9 0%, #dbe5f6 100%);--color-story-copy-bg: #ffffff;--color-story-copy-shadow: 0 8px 24px rgba(30, 64, 175, .06);--color-story-text: #1e293b;--color-gallery-bg: linear-gradient(180deg, #f9fbff 0%, #f2f6fd 100%);--color-hover-shadow: 0 10px 24px rgba(31, 41, 55, .12);--color-theme-toggle-bg: #ffffff;--color-theme-toggle-border: #c2cad6;--color-theme-toggle-icon: #1f2937;--color-theme-toggle-bg-hover: #f1f5f9}:root[data-theme=dark]{color-scheme:dark;--color-body-bg: #0d121a;--color-text: rgba(230, 237, 247, .67);--color-surface: #131b26;--color-surface-soft: #172233;--color-surface-soft-alt: #121c2b;--color-border: #33465f;--color-border-soft: #41566f;--color-border-strong: #506884;--color-border-hover: #9db2c9;--color-muted: rgba(208, 220, 237, .67);--color-muted-strong: rgba(184, 199, 218, .67);--color-navstripe-bg: #111a29;--color-navstripe-border: #445b79;--color-navstripe-label: rgba(217, 229, 245, .67);--color-navstripe-divider: rgba(148, 163, 184, .72);--color-navstripe-nested-line: rgba(180, 196, 219, .82);--color-navstripe-viewport-border: rgba(96, 165, 250, .82);--color-navstripe-viewport-bg: rgba(59, 130, 246, .3);--color-button-bg: #182539;--color-button-bg-hover: #233450;--color-button-bg-active: #30456a;--color-cta-bg: #1a2a42;--color-cta-bg-hover: #253856;--color-cta-border: #5b7596;--color-tech-row-bg: linear-gradient(90deg, #1a283f, #142136);--color-tech-chip-bg: #1b2b42;--color-tech-icon-bg: #122034;--color-tech-fallback: rgba(217, 229, 245, .67);--color-story-block-bg: linear-gradient(180deg, #152338 0%, #101a2a 100%);--color-story-image-bg: #253852;--color-story-image-placeholder-bg: linear-gradient(180deg, #243951 0%, #1a2b43 100%);--color-story-copy-bg: #172739;--color-story-copy-shadow: 0 8px 24px rgba(2, 8, 23, .5);--color-story-text: rgba(230, 237, 247, .67);--color-gallery-bg: linear-gradient(180deg, #152338 0%, #101a2a 100%);--color-hover-shadow: 0 12px 30px rgba(2, 8, 23, .5);--color-theme-toggle-bg: #182539;--color-theme-toggle-border: #506884;--color-theme-toggle-icon: rgba(248, 250, 252, .67);--color-theme-toggle-bg-hover: #243755}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-body-bg);color:var(--color-text);overflow:hidden}.site-shell{position:relative;margin:0 auto;max-width:960px;height:100vh;padding:0 calc(1rem * var(--space-scale)) var(--inner-window-gap);display:flex;flex-direction:column}.site-header{position:relative;display:flex;align-items:stretch;gap:var(--inner-window-gap);justify-content:stretch;margin-bottom:0;min-height:calc(2.4rem + var(--inner-window-gap) * 2)}.theme-toggle-button{flex:0 0 var(--header-control-height);width:var(--header-control-height);height:var(--header-control-height);margin-block:var(--inner-window-gap);border:1px solid var(--color-theme-toggle-border);border-radius:8px;background:var(--color-theme-toggle-bg);color:var(--color-theme-toggle-icon);display:grid;place-items:center;cursor:pointer;padding:0}.theme-toggle-button:hover{background:var(--color-theme-toggle-bg-hover)}.theme-toggle-button:focus-visible{outline:2px solid var(--color-navstripe-viewport-border);outline-offset:2px}.theme-toggle-button svg{width:1.12rem;height:1.12rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-layout{flex:1;min-height:0;display:flex}.site-layout .page-content{width:100%;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);scrollbar-width:none;-ms-overflow-style:none}.site-layout .page-content::-webkit-scrollbar{width:0;height:0;display:none}.site-layout .page-content>section{border:0;border-radius:0;min-height:100%}.nav-stripe{--nav-nested-indent: 28px;position:fixed;left:0;border:1px solid var(--color-navstripe-border);border-radius:10px;background:var(--color-navstripe-bg);overflow:hidden;z-index:18}.nav-stripe-placeholder-right{position:fixed;border:1px solid var(--color-navstripe-border);border-radius:10px;background:var(--color-navstripe-bg);overflow:hidden;z-index:17;pointer-events:none}.nav-stripe-track{position:relative;width:100%;height:100%;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-stripe-track-locked{cursor:default}.nav-stripe-labels{position:absolute;top:0;right:0;bottom:0;left:0}.nav-stripe-label{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:.28rem .55rem;font-size:.9rem;font-weight:600;line-height:1.2;color:var(--color-navstripe-label);overflow:hidden;border-bottom:3px solid var(--color-navstripe-divider)}.nav-stripe-label:first-child{border-top:3px solid var(--color-navstripe-divider)}.nav-stripe-label-content{position:relative;width:100%;min-width:0;display:flex;align-items:center;justify-content:center}.nav-stripe-label-prefix{position:absolute;left:max(6px,calc(15% - 1rem));width:.78rem;text-align:center;font-weight:700;line-height:1}.nav-stripe-label-box{width:70%;max-width:70%;min-width:0;display:block;padding:0;border:0;border-radius:0;background:transparent;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.16}.nav-stripe-label-nested{position:absolute}.nav-stripe-label-nested:before{content:"";position:absolute;left:calc((var(--nav-depth, 1) * var(--nav-nested-indent)) - 10px);top:3px;bottom:3px;border-left:2px solid var(--color-navstripe-nested-line);pointer-events:none}.nav-stripe-viewport{position:absolute;left:6px;right:6px;border-radius:8px;border:1px solid var(--color-navstripe-viewport-border);background:var(--color-navstripe-viewport-bg);cursor:grab;touch-action:none}.nav-stripe-viewport-locked{cursor:default}.nav-stripe-viewport-dragging{cursor:grabbing}.site-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;justify-content:stretch;flex:5 1 0;gap:var(--inner-window-gap);margin-block:var(--inner-window-gap)}.header-placeholder{flex:1.6 1 0;min-width:0;height:var(--header-control-height);margin-block:var(--inner-window-gap);border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-button-bg);display:flex;align-items:center;justify-content:center;padding-inline:.5rem}.header-active-label{font-size:1.1rem;font-weight:700;line-height:1}.nav-button{border:1px solid var(--color-border-strong);border-radius:8px;height:var(--header-control-height);display:inline-flex;align-items:center;justify-content:center;width:100%;padding:0 .45rem;color:inherit;text-decoration:none;background:var(--color-button-bg);font-size:1.05rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .12s ease,background-color .12s ease}.nav-button:hover{border-color:var(--color-border-hover);background:var(--color-button-bg-hover)}.nav-button-active{border-color:var(--color-border-hover);background:var(--color-button-bg-active)}.page-content section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:calc(1.25rem * var(--space-scale))}.page-content h1{margin-top:0}.content-page-shell{position:relative}.content-page-shell-project>h1:first-of-type{display:none}.content-page-project-header{display:flex;align-items:baseline;justify-content:space-between;gap:calc(.7rem * var(--space-scale));margin:0 0 calc(.8rem * var(--space-scale))}.content-page-project-title{margin:0;min-width:0}.content-page-project-status{position:static;margin-left:auto;margin-right:calc(1.25rem * var(--space-scale));flex:0 0 auto;margin-top:calc(1.2rem + (.45rem * var(--space-scale)))}.home-nav-only-node{position:absolute;left:-10000px;top:0;width:min(100%,720px);visibility:hidden;pointer-events:none}.home-hero{display:grid;grid-template-columns:1fr auto;align-items:start;gap:calc(1rem * var(--space-scale))}.home-hero-text h2,.home-hero-text p{margin:0}.home-hero-text p+p{margin-top:calc(.45rem * var(--space-scale))}.home-photo-slot{width:var(--home-photo-width);height:var(--home-photo-height);justify-self:end;transform:translate(var(--home-photo-offset-x),var(--home-photo-offset-y));border:1px solid var(--color-border-soft);border-radius:50%;background:var(--color-surface-soft);overflow:hidden}.home-page-template>h1,.home-page-template>p{text-align:left}.collapsible-block{margin-top:calc(.6rem * var(--space-scale))}.collapsible-toggle{width:100%;display:flex;align-items:center;gap:.45rem;border:0;background:transparent;color:inherit;padding:.2rem 0;text-align:left;cursor:pointer;font:inherit;font-weight:600}.collapsible-icon{width:1rem;flex:0 0 1rem;text-align:center}.collapsible-title{line-height:1.2}.collapsible-body{margin-left:1rem;margin-top:calc(.4rem * var(--space-scale));padding-left:calc(.75rem * var(--space-scale));border-left:1px solid var(--color-border-soft);display:grid;gap:calc(.45rem * var(--space-scale))}.education-page-template .collapsible-body p{margin:0}.education-page-template .collapsible-body p+p{margin-top:calc(.2rem * var(--space-scale))}.work-inline-dual-line{display:flex;align-items:baseline;gap:calc(.75rem * var(--space-scale))}.work-inline-left-copy{margin:0}.work-inline-right-copy{margin:0 0 0 auto;text-align:right;white-space:nowrap}.contact-row{margin-top:calc(1rem * var(--space-scale));display:flex;align-items:flex-start;justify-content:center;gap:calc(1.25rem * var(--space-scale))}.contact-tile{width:min(30%,240px);min-width:180px;display:flex;flex-direction:column;align-items:center;gap:calc(.6rem * var(--space-scale));color:inherit;text-decoration:none}.contact-icon-wrap{width:84px;height:84px;border:1px solid var(--color-border-strong);border-radius:18px;background:var(--color-button-bg);display:grid;place-items:center}.contact-icon-wrap svg{width:52px;height:52px;display:block}.contact-tile-label{font-size:.88rem;line-height:1.25;text-align:center;word-break:break-word;user-select:text;-webkit-user-select:text}.contact-tile:hover .contact-icon-wrap,.contact-tile:focus-visible .contact-icon-wrap{border-color:var(--color-border-hover);background:var(--color-button-bg-hover)}.contact-row-compact{margin-top:calc(.55rem * var(--space-scale));justify-content:flex-start;gap:calc(.6rem * var(--space-scale));flex-wrap:wrap}.contact-row-compact .contact-tile{width:72px;min-width:72px;gap:calc(.28rem * var(--space-scale))}.contact-row-compact .contact-icon-wrap{width:48px;height:48px;border-radius:10px}.contact-row-compact .contact-icon-wrap svg{width:28px;height:28px}.contact-row-compact .contact-tile-label{font-size:.62rem}.home-compact-contact-row{margin-top:0;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:0;width:auto;height:100%;padding-top:0;padding-bottom:var(--home-hero-edge-margin);max-width:none}.home-compact-contact-row .contact-tile{width:72px;min-width:72px}.contact-page-template{display:flex;align-items:center;justify-content:center}.contact-page-node{width:100%}.contact-page-template .contact-row{margin-top:0}.home-visible-hero{--home-hero-edge-margin: calc(2 * (.5rem * var(--space-scale)));display:flex;align-items:stretch;justify-content:flex-start;gap:calc(1rem * var(--space-scale));margin-top:0;width:100%}.home-photo-stack{display:flex;align-items:stretch;flex:0 0 auto}.home-visible-hero-text{flex:1 1 auto;min-width:0;text-align:left;margin-top:0;margin-bottom:var(--home-hero-edge-margin)}.home-visible-hero-text h2,.home-visible-hero-text p{margin:0}.home-visible-hero-text p+p{margin-top:calc(.45rem * var(--space-scale))}.home-photo-image{width:100%;height:100%;object-fit:cover;display:block}.home-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:calc(.75rem * var(--space-scale));color:var(--color-muted);font-size:.9rem}.tech-stack-section{margin-top:calc(1rem * var(--space-scale));display:grid;gap:calc(.55rem * var(--space-scale))}.tech-stack-heading{margin:0;font-size:1rem;line-height:1.1}.tech-stack-rows{display:grid;gap:calc(.55rem * var(--space-scale))}.tech-stack-row-window{position:relative;overflow:hidden;border:1px solid var(--color-border-soft);border-radius:12px;background:var(--color-tech-row-bg);padding:calc(.35rem * var(--space-scale)) 0;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y}.tech-stack-row-window:active{cursor:grabbing}.tech-stack-row-track{display:flex;width:max-content;will-change:transform}.tech-stack-row-set{display:flex;align-items:center;gap:calc(.6rem * var(--space-scale));padding-inline:calc(.6rem * var(--space-scale))}.tech-stack-logo-chip{display:flex;align-items:center;flex:0 0 auto;gap:calc(.35rem * var(--space-scale));padding:.25rem .52rem .25rem .35rem;border:1px solid var(--color-border-soft);border-radius:999px;background:var(--color-tech-chip-bg);white-space:nowrap}.tech-stack-logo-icon{width:22px;height:22px;border:1px solid var(--color-border-soft);border-radius:50%;background:var(--color-tech-icon-bg);display:grid;place-items:center;overflow:hidden}.tech-stack-logo-icon img{width:14px;height:14px;display:block}.tech-stack-logo-fallback{display:block;font-size:.58rem;font-weight:700;letter-spacing:.02em;line-height:1;color:var(--color-tech-fallback)}.tech-stack-logo-name{font-size:.78rem;font-weight:600;line-height:1}.tech-stack-list-copy{margin:0;font-size:.85rem;line-height:1.35;word-break:break-word}.tech-stack-list-copy p{margin:0}.intro-node-grid{margin-top:calc(1rem * var(--space-scale));display:grid;gap:calc(1rem * var(--space-scale))}.home-projects-cta{margin-top:calc(1rem * var(--space-scale));display:flex;align-items:center;justify-content:center;position:relative;min-height:2.7rem;padding:.5rem 2.25rem;border:1px solid var(--color-cta-border);border-radius:8px;background:var(--color-cta-bg);color:var(--color-text);text-decoration:none;font-size:1.02rem;font-weight:700;line-height:1.1}.home-projects-cta:hover,.home-projects-cta:focus-visible{border-color:var(--color-border-hover);background:var(--color-cta-bg-hover)}.home-projects-cta-label{width:100%;text-align:center}.home-projects-cta-arrow{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-size:1rem;line-height:1}.intro-node{position:relative;display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:calc(1rem * var(--space-scale));align-items:stretch;padding:calc(.9rem * var(--space-scale));border:1px solid var(--color-border-soft);border-radius:12px;background:var(--color-surface-soft);text-decoration:none;color:inherit}.project-node-status{position:absolute;top:calc(.45rem * var(--space-scale));right:calc(.45rem * var(--space-scale));z-index:2;min-width:5.8rem;padding:.24rem .5rem;border-radius:999px;border:1px solid transparent;text-align:center;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.01em;text-transform:uppercase}.project-node-status-finished{color:#065f46;border-color:#6ee7b7;background:#ecfdf5}.project-node-status-ongoing{color:#7c2d12;border-color:#fdba74;background:#fff7ed}.project-node-status-early-prototype{color:#7f1d1d;border-color:#fca5a5;background:#fef2f2}:root[data-theme=dark] .project-node-status-finished{color:#86efac;border-color:#34d399;background:#065f4657}:root[data-theme=dark] .project-node-status-ongoing{color:#fdba74;border-color:#fb923c;background:#7c2d1257}:root[data-theme=dark] .project-node-status-early-prototype{color:#fca5a5;border-color:#ef4444;background:#7f1d1d57}.home-intro-node-grid .intro-node,.home-intro-node-grid .intro-node-visual,.home-intro-node-grid .intro-visual-fill{min-height:calc(90px * var(--home-linked-node-height-scale))}.projects-intro-node-grid .intro-node{grid-template-columns:minmax(120px,34%) minmax(180px,28%) minmax(0,1fr);min-height:calc(90px * var(--project-linked-node-height-scale))}.projects-intro-node-grid .intro-node-visual,.projects-intro-node-grid .intro-visual-fill{min-height:calc(90px * var(--project-linked-node-height-scale));height:100%}.projects-intro-node-grid .intro-node-visual{grid-column:1;grid-row:1;align-self:stretch;height:100%;border-radius:8px;overflow:hidden;padding-bottom:calc(1rem * var(--space-scale))}.projects-intro-node-grid .intro-node-visual .intro-visual-fill,.projects-intro-node-grid .intro-node-visual .project-node-media,.projects-intro-node-grid .intro-node-visual .aes-node-cover{height:100%;border-radius:inherit}.projects-intro-node-grid .intro-node-text{grid-column:2;grid-row:1;align-self:stretch;height:100%;min-height:calc(90px * var(--project-linked-node-height-scale));width:100%;justify-self:start;max-width:100%;margin-left:20%;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:calc(.45rem * var(--space-scale));padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}.projects-intro-node-grid .intro-node-text h3{margin:0}.projects-intro-node-grid .project-node-status{position:static;grid-column:3;grid-row:1;align-self:start;justify-self:end;margin-bottom:0}.intro-node-visual{border-radius:8px;overflow:hidden;min-height:90px}.intro-visual-fill{width:100%;height:100%;min-height:90px}.intro-visual-home{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.intro-visual-projects{background:linear-gradient(135deg,#dcfce7,#86efac)}:root[data-theme=dark] .intro-visual-home{background:linear-gradient(135deg,#233c5e,#1d304a)}:root[data-theme=dark] .intro-visual-projects{background:linear-gradient(135deg,#234c43,#1b3a33)}.aes-node-cover{width:100%;height:100%;display:grid;place-items:center;background:#05060a;border:1px solid #111827}.aes-node-cover-label{color:#e5e7eb;font-size:clamp(1.45rem,2.8vw,2.25rem);font-weight:800;letter-spacing:.14em;line-height:1;text-transform:uppercase}.intro-node-text h3{margin:0 0 .35rem}.intro-node-summary,.intro-node-summary p{margin:0}.intro-node-hover{transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease}.intro-node-hover:hover{transform:translateY(-2px);border-color:var(--color-border-hover);box-shadow:var(--color-hover-shadow)}.content-meta{margin:0 0 calc(.75rem * var(--space-scale));color:var(--color-muted-strong)}.content-layout{display:grid;grid-template-columns:minmax(160px,34%) 1fr;gap:calc(1rem * var(--space-scale))}.content-visual{border-radius:10px;overflow:hidden;border:1px solid var(--color-border-soft)}.content-text p{margin-top:0}.expandable-media-trigger{width:100%;border:0;padding:0;margin:0;display:block;background:transparent;cursor:zoom-in;text-align:inherit}.expandable-media-trigger *{cursor:inherit}.expandable-media-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:3px;border-radius:12px}.expandable-media-preview-media{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.expandable-media-preview-frame{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.expandable-media-preview-frame-video{background:#0c1528}.expandable-media-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:clamp(.6rem,2vw,1.6rem);background:#080f1ec2}.expandable-media-modal{--expandable-media-topbar-height: 46px;--expandable-media-edge-gap: clamp(.6rem, 1.5vw, 1.1rem);position:relative;width:min(96vw,1400px);height:min(92vh,920px);max-height:calc(100vh - (2*clamp(.6rem,2vw,1.6rem)));display:flex;flex-direction:column;border:1px solid #2a3e61;border-radius:14px;overflow:hidden;background:#0c1528;box-shadow:0 22px 60px #00000073}.expandable-media-modal-video{height:min(92vh,920px);max-height:calc(100vh - (2*clamp(.6rem,2vw,1.6rem)))}@supports (height: 1dvh){.expandable-media-modal,.expandable-media-modal-video{height:min(92dvh,920px);max-height:calc(100dvh - (2*clamp(.6rem,2vw,1.6rem)))}}.expandable-media-modal-topbar{position:absolute;top:0;left:0;right:0;z-index:3;height:var(--expandable-media-topbar-height);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .55rem 0 .85rem;border-bottom:1px solid rgba(148,163,184,.35);background:linear-gradient(180deg,#1f3356,#162848)}.expandable-media-modal-caption{margin:0;min-width:0;flex:1;color:#e2e8f0;font-size:clamp(.76rem,1.05vw,.92rem);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expandable-media-close-button{width:34px;height:34px;border:1px solid rgba(226,232,240,.45);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0;background:#0f172a38;cursor:pointer}.expandable-media-close-button:hover{background:#1e293bad}.expandable-media-close-button svg{width:18px;height:18px}.expandable-media-modal-body{flex:1;min-height:0;display:grid;place-items:center;padding:calc(var(--expandable-media-topbar-height) + var(--expandable-media-edge-gap)) var(--expandable-media-edge-gap) var(--expandable-media-edge-gap);background:#0a1222;overflow:hidden}.expandable-media-modal-body-video{place-items:stretch}.expandable-media-fit-frame{width:100%;height:100%;min-width:0;min-height:0;justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:center}.expandable-media-fit-frame-video{align-items:flex-start}.expandable-media-expanded-media{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:auto}.expandable-media-expanded-media-video{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}body.expandable-media-open .page-content{overflow:hidden}.readability-story{grid-column:1 / -1;display:grid;width:100%;max-width:100%;gap:calc(1.35rem * var(--space-scale))}.readability-story-block{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:calc(1.25rem * var(--space-scale));padding:calc(.75rem * var(--space-scale));border:1px solid var(--color-border-soft);border-radius:14px;background:var(--color-story-block-bg)}.readability-story-block-no-media{grid-template-columns:1fr}.readability-story-block-no-media .readability-story-copy{align-self:start;border:0;border-radius:0;background:transparent;box-shadow:none}.readability-story-block-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.readability-story-block-reverse .readability-story-media{order:2}.readability-story-block-reverse .readability-story-copy{order:1;align-self:start}.readability-story-media{margin:0;min-width:0;display:flex;flex-direction:column}.readability-story-media .expandable-media-trigger,.readability-story-media-frame{border-radius:11px;overflow:hidden}.readability-story-image{display:block;width:100%;height:clamp(260px,34vh,460px);border-radius:11px;border:1px solid var(--color-border-soft);background:var(--color-story-image-bg);object-fit:contain}.readability-story-image-placeholder{display:grid;place-items:center;color:var(--color-muted);font-size:.86rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-style:dashed;background:var(--color-story-image-placeholder-bg)}.readability-story-caption{margin-top:calc(.52rem * var(--space-scale));font-size:.92rem;line-height:1.4;color:var(--color-muted)}.readability-story-copy{min-width:0;width:100%;height:auto;align-self:start;justify-self:stretch;padding:calc(.9rem * var(--space-scale)) calc(1rem * var(--space-scale));border:1px solid var(--color-border-soft);border-radius:12px;background:var(--color-story-copy-bg);box-shadow:var(--color-story-copy-shadow)}.readability-story-copy p{margin:0;max-width:64ch;color:var(--color-story-text);font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.72;text-wrap:pretty}.readability-story-copy p+p{margin-top:calc(.9rem * var(--space-scale))}.section-text-box{width:100%;height:auto;align-self:start;justify-self:stretch}.readability-story-copy ul{margin:0;padding-left:1.25rem;color:var(--color-story-text);font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.64}.readability-story-copy li+li{margin-top:calc(.52rem * var(--space-scale))}.project-media-gallery{grid-column:1 / -1;margin-top:calc(.45rem * var(--space-scale));padding:calc(.7rem * var(--space-scale));border:1px solid var(--color-border-soft);border-radius:14px;background:var(--color-gallery-bg)}.project-media-gallery-title{margin:0 0 calc(.6rem * var(--space-scale));font-size:1.03rem;line-height:1.2}.project-media-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(.8rem * var(--space-scale))}.project-media-gallery-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-media-gallery-item{margin:0;min-width:0}.project-media-gallery-item .expandable-media-trigger{border-radius:11px;overflow:hidden}.project-media-gallery-caption{margin-top:calc(.45rem * var(--space-scale));font-size:.88rem;line-height:1.35;color:var(--color-muted)}.project-node-media{width:100%;height:100%;display:block;object-fit:cover}@media(max-width:700px){.nav-stripe-placeholder-right{display:none}.header-placeholder{flex:1.6 1 0;min-width:0}.home-hero{grid-template-columns:1fr}.home-visible-hero{flex-direction:column;align-items:flex-start}.work-inline-right-copy{text-align:left;white-space:normal;margin-left:0}.work-inline-dual-line{flex-direction:column;align-items:flex-start}.contact-row:not(.contact-row-compact){flex-direction:column;align-items:stretch}.contact-row:not(.contact-row-compact) .contact-tile{width:100%;min-width:0}.home-photo-slot{justify-self:start;transform:none}.tech-stack-logo-name{font-size:.74rem}.intro-node,.content-layout,.projects-intro-node-grid .intro-node{grid-template-columns:1fr}.projects-intro-node-grid .intro-node-visual,.projects-intro-node-grid .intro-node-text,.projects-intro-node-grid .project-node-status{grid-column:auto;justify-self:stretch;align-self:auto}.content-page-project-header{align-items:flex-start}.projects-intro-node-grid .intro-node-text{margin-left:0}.readability-story-block{grid-template-columns:1fr}.readability-story-block-reverse .readability-story-media,.readability-story-block-reverse .readability-story-copy{order:initial}.readability-story-image{height:clamp(220px,52vw,340px)}.project-media-gallery-grid{grid-template-columns:1fr}}
