@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Space+Grotesk:wght@400;500;700&display=swap";:root{color-scheme:dark;--page-background: radial-gradient(circle at 18% 16%, rgba(120, 221, 255, .12), transparent 24%), radial-gradient(circle at 82% 10%, rgba(255, 212, 126, .08), transparent 20%), linear-gradient(180deg, #050608 0%, #0a0d12 38%, #06080b 100%);--grid-pattern: linear-gradient(rgba(255, 255, 255, .024) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .024) 1px, transparent 1px);--grid-opacity: .45;--surface: rgba(11, 15, 20, .72);--surface-strong: rgba(15, 19, 26, .94);--surface-hover: rgba(255, 255, 255, .065);--surface-soft: rgba(255, 255, 255, .035);--surface-soft-strong: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--text: #f4f7fb;--muted: #95a0b1;--muted-strong: #c3cbd6;--accent: #78ddff;--accent-soft: rgba(120, 221, 255, .16);--hero-stroke: rgba(244, 247, 251, .86);--hero-note: rgba(244, 247, 251, .82);--selection: rgba(120, 221, 255, .26);--panel-shadow: 0 30px 80px rgba(0, 0, 0, .28);--soft-shadow: 0 22px 50px rgba(0, 0, 0, .18);--nav-surface: rgba(7, 10, 14, .72);--nav-hover: rgba(255, 255, 255, .065);--identity-surface: linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);--identity-text: #0b1017;--identity-strong: rgba(11, 16, 23, .9);--identity-muted: rgba(11, 16, 23, .6);--identity-summary: #334155;--identity-portrait-bg: radial-gradient(circle at 22% 18%, rgba(120, 221, 255, .2), transparent 24%), linear-gradient(145deg, #dce5ef 0%, #f6f8fb 48%, #d7e0ea 100%);--identity-portrait-border: rgba(11, 16, 23, .08);--identity-caption-bg: rgba(248, 250, 252, .72);--contact-pill-bg: #0b1017;--contact-pill-hover: #111827;--contact-pill-text: #f8fafc;--button-primary-bg: var(--text);--button-primary-hover: #ffffff;--button-primary-border: rgba(255, 255, 255, .3);--button-primary-text: #091018;--button-secondary-bg: rgba(255, 255, 255, .03);--button-secondary-hover: rgba(255, 255, 255, .07);--pdf-control-bg: var(--button-secondary-bg);--pdf-control-hover: var(--button-secondary-hover);--pdf-control-border: var(--line);--pdf-control-border-hover: var(--line-strong);--pdf-control-text: var(--text);--chip-bg: rgba(255, 255, 255, .035);--chip-text: var(--muted-strong);--project-logo-border: rgba(15, 23, 42, .08);--project-logo-surface: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);--project-logo-image-bg: #ffffff;--project-logo-text: #0f172a;--project-logo-shadow: 0 16px 30px rgba(0, 0, 0, .12), inset 0 0 0 1px rgba(255, 255, 255, .8);--project-link-bg: rgba(255, 255, 255, .028);--project-link-hover: rgba(255, 255, 255, .08);--tile-surface: linear-gradient(180deg, #ffffff 0%, #f2f5f8 100%);--tile-text: #0f172a;--tile-muted: #64748b;--tile-description: #475569;--tile-shadow: 0 22px 50px rgba(0, 0, 0, .18);--tile-icon-ring: rgba(255, 255, 255, .82);--toggle-surface: rgba(7, 10, 14, .72);--toggle-border: rgba(255, 255, 255, .09);--toggle-text: #ffd47e;--toggle-hover: rgba(255, 255, 255, .09);--toggle-shadow: 0 18px 40px rgba(0, 0, 0, .24);--radius-xl: 34px;--radius-lg: 28px;--radius-md: 20px}:root[data-theme=light]{color-scheme:light;--page-background: radial-gradient(circle at 14% 16%, rgba(120, 221, 255, .16), transparent 23%), radial-gradient(circle at 84% 12%, rgba(255, 191, 118, .16), transparent 22%), linear-gradient(180deg, #fcfaf7 0%, #f4f0ea 42%, #ece7df 100%);--grid-pattern: linear-gradient(rgba(15, 23, 42, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, .04) 1px, transparent 1px);--grid-opacity: .38;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .92);--surface-hover: rgba(15, 23, 42, .06);--surface-soft: rgba(15, 23, 42, .05);--surface-soft-strong: rgba(15, 23, 42, .09);--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .18);--text: #151b24;--muted: #687585;--muted-strong: #334155;--accent: #1f88aa;--accent-soft: rgba(31, 136, 170, .16);--hero-stroke: rgba(21, 27, 36, .35);--hero-note: rgba(21, 27, 36, .76);--selection: rgba(31, 136, 170, .2);--panel-shadow: 0 24px 70px rgba(20, 28, 40, .12);--soft-shadow: 0 18px 45px rgba(20, 28, 40, .14);--nav-surface: rgba(255, 255, 255, .82);--nav-hover: rgba(15, 23, 42, .07);--identity-surface: linear-gradient(180deg, #111822 0%, #1b2533 100%);--identity-text: #f7fbff;--identity-strong: rgba(247, 251, 255, .92);--identity-muted: rgba(232, 239, 247, .68);--identity-summary: #c8d4df;--identity-portrait-bg: radial-gradient(circle at 22% 18%, rgba(120, 221, 255, .16), transparent 24%), linear-gradient(145deg, #213245 0%, #101923 48%, #1b2734 100%);--identity-portrait-border: rgba(255, 255, 255, .08);--identity-caption-bg: rgba(15, 23, 42, .64);--contact-pill-bg: #f8fafc;--contact-pill-hover: #e6edf5;--contact-pill-text: #0b1017;--button-primary-bg: #111822;--button-primary-hover: #182231;--button-primary-border: rgba(15, 23, 42, .12);--button-primary-text: #f8fafc;--button-secondary-bg: rgba(15, 23, 42, .045);--button-secondary-hover: rgba(15, 23, 42, .09);--pdf-control-bg: rgba(255, 255, 255, .86);--pdf-control-hover: #ffffff;--pdf-control-border: rgba(15, 23, 42, .14);--pdf-control-border-hover: rgba(15, 23, 42, .2);--pdf-control-text: #0f172a;--chip-bg: rgba(15, 23, 42, .05);--chip-text: #334155;--project-logo-border: rgba(255, 255, 255, .08);--project-logo-surface: #17212D;--project-logo-image-bg: transparent;--project-logo-text: #f8fafc;--project-logo-shadow: 0 14px 28px rgba(20, 28, 40, .12), inset 0 0 0 1px rgba(255, 255, 255, .05);--project-link-bg: rgba(15, 23, 42, .045);--project-link-hover: rgba(15, 23, 42, .085);--tile-surface: linear-gradient(180deg, #121a24 0%, #1b2532 100%);--tile-text: #f4f8fb;--tile-muted: #9fb1c4;--tile-description: #cad5e0;--tile-shadow: 0 18px 44px rgba(20, 28, 40, .14);--tile-icon-ring: rgba(255, 255, 255, .06);--toggle-surface: rgba(255, 255, 255, .84);--toggle-border: rgba(15, 23, 42, .08);--toggle-text: #111822;--toggle-hover: rgba(15, 23, 42, .06);--toggle-shadow: 0 14px 30px rgba(20, 28, 40, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2.75rem}body{margin:0;min-height:100vh;background:var(--page-background);color:var(--text);font-family:Space Grotesk,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:var(--grid-pattern);background-size:80px 80px;-webkit-mask-image:radial-gradient(circle at center,black 52%,transparent 96%);mask-image:radial-gradient(circle at center,black 52%,transparent 96%);opacity:var(--grid-opacity)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{background:var(--selection);color:var(--text)}#root{min-height:100vh}::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{position:relative;padding:1.35rem}.topbar{position:sticky;top:1rem;z-index:40;margin:0 auto 1.5rem;max-width:1480px}.topbar-inner{display:flex;justify-content:center;align-items:center;min-height:3.7rem;padding-left:clamp(1.25rem,5vw,5.5rem)}.topbar-actions{display:inline-flex;align-items:center;gap:.55rem;max-width:100%}.nav{display:inline-flex;flex:0 1 auto;gap:.35rem;padding:.4rem;border:1px solid var(--line);border-radius:999px;background:var(--nav-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--panel-shadow);overflow-x:auto;max-width:100%}.nav-link{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border-radius:50%;color:var(--muted);font-size:.95rem;white-space:nowrap;transition:transform .18s ease,background-color .18s ease,color .18s ease}.nav-link:hover,.nav-link:focus-visible{background:var(--nav-hover);color:var(--text);transform:translateY(-1px);outline:none}.nav-link.is-active{background:var(--nav-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.theme-toggle{display:inline-flex;place-items:center;justify-content:center;width:3.7rem;height:3.7rem;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--nav-surface);color:var(--muted-strong);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;transition:transform .26s cubic-bezier(.22,1,.36,1),background-color .32s cubic-bezier(.22,1,.36,1),border-color .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1)}.theme-toggle:hover,.theme-toggle:focus-visible{transform:translateY(-1px);background:var(--nav-hover);color:var(--text);outline:none}.theme-toggle-glyph{display:inline-grid;place-items:center}.theme-toggle-icon{font-size:1.08rem;stroke-width:1.9}.layout{display:grid;grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);gap:clamp(1.25rem,4vw,3rem);max-width:1480px;margin:0 auto;padding-left:clamp(1.25rem,5vw,5.5rem)}.sidebar{position:relative}.sidebar-inner{position:sticky;top:6.4rem}.identity-card{--identity-portrait-size: 100%;display:grid;gap:1rem;padding:1rem;border-radius:var(--radius-xl);background:var(--identity-surface);color:var(--identity-text);box-shadow:var(--panel-shadow)}.identity-media{display:grid}.identity-portrait{position:relative;overflow:hidden;width:var(--identity-portrait-size);margin-inline:auto;aspect-ratio:1 / 1;min-height:0;border-radius:2.5rem;background:var(--identity-portrait-bg);border:1px solid var(--identity-portrait-border)}.identity-portrait-live{background:transparent;border:0;border-radius:48%}.identity-photo{display:block;width:100%;height:100%;border-radius:48%;object-fit:cover}.portrait-rings{position:absolute;inset:1.4rem;border-radius:50%;border:1px solid var(--identity-portrait-border);transform:scale(1.08)}.portrait-rings:before,.portrait-rings:after{content:"";position:absolute;inset:11%;border-radius:50%;border:1px solid var(--identity-portrait-border)}.portrait-rings:after{inset:24%}.portrait-monogram{position:absolute;inset:auto 1.5rem 2rem;font-size:clamp(3.2rem,14vw,6.3rem);font-weight:700;letter-spacing:-.08em;color:var(--identity-strong);line-height:.9}.portrait-caption{position:absolute;top:1.3rem;right:1.3rem;padding:.45rem .75rem;border-radius:999px;background:var(--identity-caption-bg);border:1px solid var(--identity-portrait-border);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.identity-copy{display:grid;gap:.45rem}.identity-label{margin:0;color:var(--identity-muted);font-size:.88rem;letter-spacing:.18em;text-transform:uppercase}.identity-name{margin:0;font-size:clamp(1.55rem,3vw,2.1rem);line-height:.98;letter-spacing:-.06em}.identity-summary{margin:0;color:var(--identity-summary);font-size:.92rem;line-height:1.65}.contact-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.contact-link{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--contact-pill-bg);color:var(--contact-pill-text);font-size:1rem;transition:transform .18s ease,background-color .18s ease,color .18s ease}.contact-link:hover,.contact-link:focus-visible{transform:translateY(-2px);background:var(--contact-pill-hover);color:var(--accent);outline:none}.identity-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.identity-documents-floating{margin-top:.7rem}.document-card-mini{display:grid;grid-template-rows:1fr auto auto 1fr;justify-items:center;align-items:center;row-gap:.18rem;aspect-ratio:auto;min-height:6.5rem;padding:.7rem .4rem;border-radius:.9rem}.document-card-mini .document-card-label{display:grid;align-items:center;min-height:2.3rem;font-size:.72rem;letter-spacing:.08em;line-height:1.15;text-align:center}.document-card-icon-mini{width:1.9rem;height:1.9rem;border-radius:.65rem}.document-card-icon-mini svg{width:1rem;height:1rem;color:var(--accent);stroke:currentColor;fill:none}.content{min-width:0;padding-left:clamp(1rem,4vw,3.5rem);padding-right:50px}.section{position:relative;padding:clamp(2.3rem,6vw,4.6rem) 0;scroll-margin-top:-1.8rem;border-top:1px solid var(--line)}.hero.section{border-top:0;padding-top:clamp(1rem,4vw,2.2rem)}.hero-content{position:relative}.hero-eyebrow,.section-eyebrow{margin:0 0 1rem;color:var(--accent);font-size:.86rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero-display{display:grid;margin-bottom:1.1rem}.hero-display-line{display:block;font-size:clamp(4.1rem,13vw,9rem);line-height:.88;letter-spacing:-.1em;font-weight:700}.hero-display-line-accent{color:transparent;-webkit-text-stroke:1px var(--hero-stroke)}.hero-blurb{max-width:44rem;margin:0;color:var(--muted-strong);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.72}.hero-note{margin:1.25rem 0 0;color:var(--hero-note);font-family:"Instrument Serif",serif;font-size:clamp(1.4rem,2.5vw,2rem);font-style:italic}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.button{display:inline-flex;align-items:center;gap:.65rem;padding:.95rem 1.25rem;border:1px solid var(--line);border-radius:999px;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.button:hover,.button:focus-visible{transform:translateY(-2px);outline:none}.button-primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text);font-weight:700}.button-primary:hover,.button-primary:focus-visible{background:var(--button-primary-hover)}.button-secondary{background:var(--button-secondary-bg);color:var(--text)}.button-secondary:hover,.button-secondary:focus-visible{background:var(--button-secondary-hover);border-color:var(--line-strong)}.hero-chip-rail-shell{position:relative;margin-top:1.6rem;margin-left:80px;max-width:min(31rem,100%);overflow:hidden}.hero-chip-rail-shell:before,.hero-chip-rail-shell:after{content:"";position:absolute;top:0;bottom:0;width:clamp(1.6rem,3.5vw,2.8rem);z-index:1;pointer-events:none}.hero-chip-rail-shell:before{left:0;background:linear-gradient(90deg,var(--page-background) 12%,transparent 100%)}.hero-chip-rail-shell:after{right:0;background:linear-gradient(270deg,var(--page-background) 12%,transparent 100%)}.hero-chip-rail{display:flex;overflow-x:auto;padding:.2rem 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hero-chip-rail::-webkit-scrollbar{display:none}.hero-chip-track{display:flex;align-items:center;gap:.52rem;padding-right:.52rem}.hero-chip{display:inline-flex;align-items:center;gap:.46rem;padding:.56rem .8rem;border-radius:.52rem;border:1px solid var(--line);background:var(--chip-bg);color:var(--chip-text);font-size:.9rem;line-height:1;white-space:nowrap}.tag{display:inline-flex;align-items:center;padding:.5rem .82rem;border-radius:999px;border:1px solid var(--line);background:var(--chip-bg);color:var(--chip-text);font-size:.88rem}.hero-chip-icon{display:inline-grid;place-items:center;width:1.16rem;height:1.16rem;opacity:.9}.hero-chip-icon svg{width:.94rem;height:.94rem}.section-head{max-width:48rem;margin-bottom:2rem}.section-title{margin:0;font-size:clamp(2.1rem,5vw,3.8rem);line-height:1;letter-spacing:-.07em}.section-description{max-width:42rem;margin:1rem 0 0;color:var(--muted);font-size:1.02rem;line-height:1.8}.projects-list{display:grid}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.4rem;padding:1.45rem 0;border-top:1px solid var(--line)}.project-index{align-self:flex-start;padding-top:.25rem;color:var(--muted);font-size:.86rem;font-weight:700;letter-spacing:.16em}.project-logo-placeholder{position:relative;overflow:hidden;display:grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:1.35rem;border:1px solid var(--project-logo-border);background:var(--project-logo-surface);color:var(--project-logo-text);box-shadow:var(--project-logo-shadow)}.project-logo-image{width:100%;height:100%;object-fit:contain;padding:.65rem;background:var(--project-logo-image-bg)}.project-logo-placeholder span{font-size:.96rem;font-weight:700;letter-spacing:.12em}.project-main{display:grid;gap:.85rem;min-width:0}.project-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.project-title-group{display:flex;align-items:flex-start;gap:1rem;min-width:0}.project-primary-link{display:flex;align-items:flex-start;gap:1rem;min-width:0;color:inherit;transition:transform .18s ease,color .18s ease}.project-primary-link:hover,.project-primary-link:focus-visible{color:var(--text);transform:translateY(-1px);outline:none}.project-title{margin:0;font-size:clamp(1.45rem,2.8vw,2.15rem);line-height:1;letter-spacing:-.05em}.project-period{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.project-summary{max-width:44rem;margin:0;color:var(--muted-strong);line-height:1.8}.project-demo-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:100%}.project-demo-image{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:.9rem;border:1px solid var(--line)}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.project-links{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.7rem;margin-right:1.5rem}.project-link{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;padding:0;border-radius:999px;border:1px solid var(--line);color:var(--muted-strong);background:var(--project-link-bg);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.project-link svg{font-size:1rem}.project-link:hover,.project-link:focus-visible{background:var(--project-link-hover);border-color:var(--line-strong);color:var(--text);transform:translateY(-2px);outline:none}.extra-projects{overflow:hidden}.expand-button{display:inline-flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.85rem 1.15rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.expand-button:hover,.expand-button:focus-visible{transform:translateY(-2px);background:var(--surface-soft-strong);border-color:var(--line-strong);outline:none}.expand-dots{display:inline-block;min-width:2ch;color:var(--accent);font-weight:700}.known-for-list{display:grid}.known-for-row{display:grid;grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);gap:1.25rem 2rem;padding:1.25rem 0;border-top:1px solid var(--line)}.known-for-title-block{display:grid;gap:.75rem}.known-for-count{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.18em}.known-for-title{margin:0;font-size:clamp(1.65rem,3vw,2.55rem);line-height:.98;letter-spacing:-.05em}.known-for-description{max-width:46rem;margin:0;color:var(--muted-strong);line-height:1.84}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch;grid-auto-rows:1fr}.language-rail-shell{position:relative;overflow:hidden}.language-rail-shell:before,.language-rail-shell:after{content:"";position:absolute;top:0;bottom:0;width:clamp(2.5rem,6vw,5rem);z-index:1;pointer-events:none}.language-rail-shell:before{left:0;background:linear-gradient(90deg,var(--page-background) 8%,transparent 100%)}.language-rail-shell:after{right:0;background:linear-gradient(270deg,var(--page-background) 8%,transparent 100%)}.language-rail{display:flex;overflow-x:auto;padding:.3rem 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.language-rail::-webkit-scrollbar{display:none}.language-track{display:flex;gap:.9rem;padding-right:.9rem}.language-badge{flex:0 0 auto;height:3.35rem}.language-badge img{display:block;width:auto;height:100%;object-fit:contain;border-radius:.85rem}.stack-rail-shell{position:relative;overflow:hidden}.stack-rail{display:flex;container-type:inline-size;overflow-x:auto;overflow-y:hidden;padding:.3rem 0;align-items:stretch;scrollbar-width:none;-webkit-overflow-scrolling:touch}.stack-rail::-webkit-scrollbar{display:none}.stack-track{display:flex;align-items:stretch;gap:1rem;padding-right:1rem}.stack-rail-item{flex:0 0 calc((100cqw - 3rem)/4);min-width:0}.stack-tile{display:grid;grid-template-rows:auto 5.25rem minmax(3.3rem,auto) 1fr;gap:1rem;height:100%;min-height:18rem;padding:1.3rem;border-radius:var(--radius-lg);background:var(--tile-surface);color:var(--tile-text);box-shadow:var(--tile-shadow)}.tile-category{color:var(--tile-muted);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.tile-icon-shell{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:1.4rem;background:var(--tile-tint);color:var(--tile-tone);box-shadow:inset 0 0 0 1px var(--tile-icon-ring)}.tile-icon{font-size:2rem}.tile-copy{display:grid;gap:.6rem;min-height:7.4rem;align-content:start}.tile-name{margin:0;font-size:1.6rem;line-height:1;letter-spacing:-.05em;align-self:end}.tile-description{margin:0;color:var(--tile-description);line-height:1.72}.contact-cta{display:grid;gap:1.2rem;align-items:start}.contact-documents{display:grid;grid-template-columns:repeat(3,minmax(0,9.7rem));gap:2.8rem;width:fit-content;max-width:100%;margin-left:3.5rem;margin-bottom:1.5rem}.document-card{appearance:none;display:grid;place-items:center;align-content:center;width:100%;aspect-ratio:1;padding:.95rem .8rem;border:1px solid var(--line);border-radius:1.4rem;background:linear-gradient(180deg,var(--surface-strong) 0%,var(--surface) 100%);color:var(--text);cursor:pointer;text-align:center;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.document-card:hover,.document-card:focus-visible{transform:translateY(-2px);border-color:var(--line-strong);background:linear-gradient(180deg,var(--surface-strong) 0%,var(--surface-hover) 100%);color:var(--accent);outline:none}.document-card-label{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.document-card-icon{display:grid;place-items:center;width:3.45rem;height:3.45rem;border-radius:1rem;background:var(--accent-soft);color:var(--accent)}.document-card-icon svg{width:1.7rem;height:1.7rem;stroke-width:1.9}.contact-list{display:grid;gap:.9rem;max-width:42rem}.contact-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.95rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:1.2rem;background:var(--card);color:var(--text);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.contact-list-item:hover,.contact-list-item:focus-visible{transform:translateY(-2px);border-color:var(--line-strong);background:var(--card-strong);color:var(--accent);outline:none}.contact-list-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:999px;background:var(--contact-pill-bg);color:var(--contact-pill-text);font-size:.95rem}.contact-list-text{min-width:0;font-size:clamp(1rem,2.1vw,1.18rem);line-height:1.35;overflow-wrap:anywhere}.contact-list-arrow{color:var(--muted);font-size:.95rem}.pdf-viewer-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1.2rem;background:#04080cbd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pdf-viewer-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.85rem;width:min(72rem,100%);height:min(90vh,52rem)}.pdf-viewer-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.55rem;grid-column:2;grid-row:1}.pdf-viewer-icon-button{appearance:none;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--pdf-control-border);border-radius:999px;background:var(--pdf-control-bg);color:var(--pdf-control-text);cursor:pointer;box-shadow:0 6px 18px #0f172a14;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.pdf-viewer-icon-button svg{width:1rem;height:1rem}.pdf-viewer-icon-button:hover,.pdf-viewer-icon-button:focus-visible{transform:translateY(-2px);border-color:var(--pdf-control-border-hover);background:var(--pdf-control-hover);color:var(--accent);outline:none}.pdf-viewer-body{min-height:0;height:100%;overflow-y:auto;padding:.75rem;border-radius:1.4rem;background:#fff;box-shadow:var(--panel-shadow);scrollbar-gutter:stable;grid-column:1;grid-row:1}.pdf-viewer-scroll-shell{width:100%}.pdf-viewer-document{display:grid;gap:.7rem;justify-items:center}.pdf-viewer-page{overflow:hidden;width:min(100%,54rem);background:transparent}.pdf-viewer-page canvas{display:block}.pdf-viewer-page .annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover,.pdf-viewer-page .annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:focus-visible{opacity:1;background:transparent;box-shadow:none;outline:none}.pdf-viewer-loading{width:2.6rem;height:2.6rem;margin:4rem auto;border:2px solid rgba(15,23,42,.12);border-top-color:var(--accent);border-radius:999px;animation:pdf-spinner .7s linear infinite}@keyframes pdf-spinner{to{transform:rotate(360deg)}}@media(min-width:1025px)and (max-height:960px){.sidebar-inner{top:4.35rem;margin-top:-1.25rem}}@media(min-width:1025px)and (max-height:860px){.sidebar-inner{top:2.4rem;margin-top:-2.5rem}.identity-card{--identity-portrait-size: 87%;gap:.9rem;padding:.92rem}.contact-link{width:2.82rem;height:2.82rem}}@media(min-width:1025px)and (max-height:760px){.sidebar-inner{top:1.45rem;margin-top:-3.9rem}.identity-card{--identity-portrait-size: 78%;gap:.8rem;padding:.84rem}.identity-summary{font-size:.86rem;line-height:1.52}.contact-link{width:2.66rem;height:2.66rem;font-size:.9rem}}@media(max-width:1024px){.topbar-inner{padding-left:0}.layout{grid-template-columns:1fr}.sidebar-inner{position:static;width:min(100%,28rem);margin:0 auto}.identity-card{max-width:28rem}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-badge{height:3.2rem}.content{padding-left:0;padding-right:0}}@media(max-width:820px){html{scroll-padding-top:3.35rem}.section{scroll-margin-top:0}.page-shell{padding:.7rem}.topbar{margin-bottom:1rem}.hero-display-line{font-size:clamp(3.3rem,15vw,6.2rem)}.project-card,.known-for-row{grid-template-columns:1fr}.project-links{justify-content:flex-start;margin-right:0}.layout{padding-left:0}.project-title-group{flex-wrap:wrap}.language-badge{height:3.05rem}}@media(max-width:640px){.identity-portrait{min-height:0}.portrait-monogram{font-size:4rem}.badge-grid{grid-template-columns:1fr}.language-badge{height:3.1rem}.button,.expand-button{width:100%;justify-content:center}.nav{flex:1 1 auto;justify-content:space-between}.nav-link{width:2.75rem;height:2.75rem}.theme-toggle{width:3.55rem;height:3.55rem}.contact-list-item{grid-template-columns:auto minmax(0,1fr)}.contact-list-arrow{display:none}}@media(max-width:560px){.topbar-actions{width:100%}.nav{min-width:0}}@media(max-width:720px){.hero-chip-rail-shell{width:min(31rem,100%);margin-left:auto;margin-right:auto}.stack-track{gap:.75rem;padding-right:.75rem}.stack-rail-item{flex:0 0 min(20rem,66.5vw)}.stack-tile{min-height:17rem;padding:1.15rem}.contact-documents{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;width:100%;margin-left:0;margin-bottom:1rem}.document-card{gap:.5rem;padding:.58rem .45rem;border-radius:1rem}.document-card-label{font-size:.66rem;letter-spacing:.06em}.document-card-icon{width:2.25rem;height:2.25rem;border-radius:.75rem}.document-card-icon svg{width:1.2rem;height:1.2rem}.identity-documents .document-card-mini{min-height:6.5rem;padding:.7rem .4rem;row-gap:.18rem;border-radius:.9rem}.identity-documents .document-card-mini .document-card-label{min-height:2.3rem;font-size:.72rem;letter-spacing:.08em;line-height:1.15}.identity-documents .document-card-mini .document-card-icon-mini{width:1.9rem;height:1.9rem;border-radius:.65rem}.identity-documents .document-card-mini .document-card-icon-mini svg{width:1rem;height:1rem}.pdf-viewer-overlay{padding:.75rem}.pdf-viewer-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:100%;max-width:32rem;height:auto;max-height:calc(100vh - 1.5rem);gap:.7rem}.pdf-viewer-actions{grid-column:1;grid-row:1;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.pdf-viewer-body{grid-column:1;grid-row:2;width:100%;height:min(141.42vw,calc(100vh - 7.2rem));max-height:calc(100vh - 7.2rem);padding:.5rem;border-radius:1.15rem}.pdf-viewer-document{gap:0}.pdf-viewer-body-compact-mobile{height:min(62vh,30rem)!important;max-height:min(62vh,30rem)!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
