.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--z-header: 20;--z-dropdown: 30;--z-modal: 50;--paper-100: #fffdf8;--paper-200: #f4f1ea;--paper-300: #f7f4ed;--paper-400: #ede8de;--paper-800: #4e5a67;--paper-900: #18212b;--paper-border: #d7cfbf;--slate-950: #020617;--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-400: #94a3b8;--slate-100: #f1f5f9;--slate-50: #f8fafc;--ocean-50: #f0f9ff;--ocean-100: #e0f2fe;--ocean-200: #bae6fd;--ocean-300: #7dd3fc;--ocean-800: #075985;--ocean-900: #0c4a6e;--ocean-950: #082f49;--mono-50: #ffffff;--mono-100: #f3f4f6;--mono-200: #e5e7eb;--mono-300: #d1d5db;--mono-600: #4b5563;--mono-900: #111827;--mono-950: #030712;--teal-500: #0f766e;--teal-600: #115e59;--sky-400: #38bdf8;--sky-500: #0ea5e9;--blue-600: #2563eb;--blue-700: #1d4ed8;--black: #000000;--max-width: 1180px;--reading-width: 760px;--document-width: 900px;--shadow-sm: 0 1px 2px rgba(30, 25, 15, .04);--shadow: 0 1px 2px rgba(30, 25, 15, .04), 0 8px 24px rgba(30, 25, 15, .05);--shadow-lg: 0 1px 2px rgba(30, 25, 15, .04), 0 20px 50px rgba(30, 25, 15, .08);--radius: 18px;--radius-sm: 10px;--radius-lg: 22px;--font-body: "IBM Plex Sans", "Segoe UI", sans-serif;--font-display: "Pretendard", "Fraunces", "Georgia", serif;--font-mono: "IBM Plex Mono", "Consolas", monospace}:root,[data-theme=paper]{--bg: var(--paper-200);--surface: var(--paper-100);--surface-strong: var(--paper-300);--surface-muted: var(--paper-400);--text: var(--paper-900);--text-soft: var(--paper-800);--border: var(--paper-border);--accent: var(--teal-500);--accent-strong: var(--teal-600);--accent-soft: rgba(15, 118, 110, .1);--ink: #0f172a;--cat-note: #0f766e;--cat-journal: #865f18;--cat-conference: #294aa5;--cat-other: #6d54a8;--bg-gradient-top: #fffdf8;--bg-gradient-bottom: #f4f1ea}[data-theme=dark]{--bg: var(--slate-950);--surface: var(--slate-900);--surface-strong: var(--slate-800);--surface-muted: var(--slate-700);--text: var(--slate-50);--text-soft: var(--slate-400);--border: var(--slate-700);--accent: var(--sky-500);--accent-strong: var(--sky-400);--accent-soft: rgba(14, 165, 233, .15);--ink: var(--slate-100);--cat-note: #5eead4;--cat-journal: #fbbf24;--cat-conference: #93c5fd;--cat-other: #c4b5fd;--bg-gradient-top: #0f172a;--bg-gradient-bottom: #020617;--shadow: 0 16px 40px rgba(0, 0, 0, .5)}[data-theme=ocean]{--bg: var(--ocean-50);--surface: var(--mono-50);--surface-strong: var(--ocean-100);--surface-muted: var(--ocean-200);--text: var(--ocean-950);--text-soft: var(--ocean-800);--border: var(--ocean-300);--accent: var(--blue-600);--accent-strong: var(--blue-700);--accent-soft: rgba(37, 99, 235, .08);--ink: var(--ocean-950);--cat-note: #0f766e;--cat-journal: #9a6700;--cat-conference: #1d4ed8;--cat-other: #6d54a8;--bg-gradient-top: #ffffff;--bg-gradient-bottom: #f0f9ff}[data-theme=mono]{--bg: var(--mono-100);--surface: var(--mono-50);--surface-strong: var(--mono-200);--surface-muted: var(--mono-300);--text: var(--mono-950);--text-soft: var(--mono-600);--border: var(--mono-300);--accent: var(--mono-950);--accent-strong: var(--black);--accent-soft: rgba(0, 0, 0, .05);--ink: var(--black);--cat-note: #111827;--cat-journal: #374151;--cat-conference: #1f2937;--cat-other: #4b5563;--bg-gradient-top: #ffffff;--bg-gradient-bottom: #f3f4f6}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg,var(--bg-gradient-top) 0%,var(--bg-gradient-bottom) 100%);background-color:var(--bg);background-attachment:local;line-height:1.65}html:lang(ko){word-break:keep-all;line-break:strict;--font-body: "Pretendard", "IBM Plex Sans", "Segoe UI", sans-serif;--font-display: "Pretendard", "Fraunces", "Georgia", serif}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.15em;overflow-wrap:anywhere}:where(a,button,summary,input,textarea,select,[role=button]):focus-visible{outline:3px solid color-mix(in srgb,var(--accent-strong) 80%,white 20%);outline-offset:3px;border-radius:max(.5rem,var(--radius-sm))}:where(dialog):focus-visible{outline:3px solid color-mix(in srgb,var(--accent-strong) 80%,white 20%);outline-offset:4px}img{max-width:100%;display:block}button,input,textarea{font:inherit}main{min-height:70vh}.container{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto}.reading-container{width:min(calc(100% - 2rem),var(--reading-width));margin:0 auto}.document-container{width:min(calc(100% - 2rem),var(--document-width));margin:0 auto}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.eyebrow:before{content:"";width:2.5rem;height:1px;background:currentColor}.section{padding:4rem 0}.section-tight{padding:2.5rem 0}.section-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin:.8rem 0 1rem;text-wrap:balance;overflow-wrap:normal}.section-lead{max-width:62ch;color:var(--text-soft);margin:0;text-wrap:pretty}.grid{display:grid;gap:1.5rem}.two-column,.three-column{grid-template-columns:1fr}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.soft-card{background:#fffdf8c7;border:1px solid rgba(215,207,191,.85);border-radius:var(--radius);backdrop-filter:blur(12px)}.prose{font-size:1.06rem}.prose h2,.prose h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-top:2.4rem;margin-bottom:.8rem;text-wrap:balance}.prose h2{font-size:1.9rem}.prose h3{font-size:1.45rem}.prose p,.prose ul,.prose ol{color:var(--text);text-wrap:pretty}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.35rem}.muted{color:var(--text-soft);text-wrap:pretty}p,li,blockquote,figcaption{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3,html:lang(ko) h4,html:lang(ko) h5,html:lang(ko) h6,html:lang(ko) p,html:lang(ko) li,html:lang(ko) blockquote,html:lang(ko) figcaption,html:lang(ko) .section-title,html:lang(ko) .section-lead,html:lang(ko) .hero-copy,html:lang(ko) .muted{word-break:keep-all}.screen-only{display:block}.print-only{display:none}@media(min-width:901px){.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding:6rem 0}}.site-shell{position:relative}.site-header{position:sticky;top:0;z-index:var(--z-header);background:#f9f7f1db;border-bottom:1px solid rgba(215,207,191,.8);backdrop-filter:blur(16px)}.site-header__inner,.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.site-brand{font-family:var(--font-display);font-size:1.2rem;font-weight:700;text-decoration:none}.site-nav,.utility-links,.inline-links,.tag-row,.chip-row,.meta-row,.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.site-nav a,.utility-links a,.header-utility>a,.inline-links a{text-decoration:none;color:var(--text-soft)}.site-nav a[aria-current=page]{color:var(--text);font-weight:600}.header-utility{display:flex;align-items:center;gap:1.1rem;margin-left:auto}.header-locale{margin-left:1rem}.mobile-nav{display:none;position:relative;margin-left:auto}.mobile-nav__toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:.28rem;width:3rem;height:3rem;padding:.75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;list-style:none}.mobile-nav__toggle::-webkit-details-marker{display:none}.mobile-nav__toggle span{display:block;width:100%;height:2px;background:var(--ink);border-radius:999px}.mobile-nav__panel{position:absolute;right:0;top:calc(100% + .75rem);width:min(20rem,calc(100vw - 2rem));padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fffdf8fa;box-shadow:0 24px 60px #0f172a29}.mobile-nav__links,.mobile-nav__meta{display:grid;gap:.55rem}.mobile-nav__links a,.mobile-nav__meta a{text-decoration:none;color:var(--text)}.mobile-nav__links a[aria-current=page]{color:var(--accent-strong);font-weight:700}.mobile-nav__meta{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--surface-muted)}.mobile-nav__locale{justify-self:start;width:fit-content;max-width:100%}.mobile-nav__locale .locale-switch{display:flex;width:fit-content;max-width:100%}.site-footer{border-top:1px solid var(--border);margin-top:4rem;background:#fffdf8b3}.footer-copy{color:var(--text-soft);font-size:.95rem}.hero-panel,.page-hero,.detail-hero,.document-shell,.project-card,.research-card,.snapshot-card,.capability-card,.document-card,.resume-section,.case-study{padding:1.5rem}.hero-panel{padding:4rem;display:grid;gap:2rem;grid-template-columns:1.35fr .9fr}.hero-panel>*{min-width:0}.hero-title{font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;font-size:clamp(2.6rem,4.3vw,4.35rem);line-height:.98;margin:1rem 0 0}.hero-copy{font-size:1.08rem;color:var(--text-soft);max-width:58ch}.hero-title+.hero-copy{margin-top:1.25rem}.hero-actions{align-items:center;margin-top:1.15rem}.chip-row{margin-top:1rem}.role-chip,.tag-chip,.metric-badge{display:inline-flex;align-items:center;justify-content:center;min-height:2.1rem;padding:.35rem .8rem;box-sizing:border-box;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong);font-size:.88rem;line-height:1.25;text-align:center;align-self:flex-start;height:fit-content}.role-chip{background:var(--accent-soft);border-color:#0f766e33;color:var(--accent-strong)}.button-link,.button-link-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.7rem 1rem;border-radius:999px;text-decoration:none;border:1px solid transparent;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.button-link{background:var(--ink);color:#fff}.button-link-secondary{background:transparent;color:var(--text);border-color:var(--border)}.button-link:hover,.button-link-secondary:hover,.project-card:hover,.research-card:hover,.document-card:hover{transform:translateY(-2px)}.project-card{display:flex!important;flex-direction:column;gap:.95rem;height:100%;padding:1.75rem;background:linear-gradient(180deg,#fffffffc,#fcf8f1fa);border-color:#c4b69abd;box-shadow:0 20px 44px #271f1214,0 2px 8px #271f120a}.project-card__meta-row,.project-card__tag-row{margin-top:1rem}.project-card__footer{margin-top:auto;display:grid;gap:.9rem;padding-top:1.25rem;border-top:1px solid rgba(196,182,154,.4)}.project-card__actions{margin-top:0;align-items:flex-end;justify-content:space-between}.project-card__topline{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.project-card__type.small-label{margin-bottom:0;color:var(--accent-strong);font-weight:700}.project-card__year{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.25rem .75rem;border-radius:999px;background:#0f172a14;color:var(--ink);font-size:.82rem;font-weight:700;letter-spacing:.08em}.project-card__title{min-height:4.6em;margin-bottom:0;align-self:start;line-height:1.14;font-size:clamp(1.45rem,1.1rem + .9vw,2rem);text-wrap:balance}.project-card__role{min-height:1.4rem;margin:-.5rem 0 .5rem;color:var(--text);font-size:.95rem;font-weight:600}.project-card>.muted{min-height:6.4rem;margin:0;align-self:start;line-height:1.58}.project-card__highlight{display:grid;gap:.25rem;padding:.95rem 1rem;border-radius:1rem;border:1px solid rgba(15,118,110,.22);background:linear-gradient(180deg,#e9f5f2e0,#f6faf8eb)}.project-card__highlight .small-label{margin-bottom:0}.project-card__highlight strong{display:block;font-family:var(--font-display);font-size:1.08rem;line-height:1.2;letter-spacing:-.02em}.project-card__facts{display:grid;gap:.55rem}.project-card__facts p{margin:0;padding-left:1rem;position:relative;color:var(--text-soft);line-height:1.45}.project-card__facts p:before{content:"";position:absolute;left:0;top:.63rem;width:.38rem;height:.38rem;border-radius:999px;background:#0f766e9e}.project-card__stack{display:grid;gap:.55rem}.project-card__stack .small-label{margin-bottom:0}.project-card__resources{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center}.project-card__resources a{color:var(--text-soft);font-size:.9rem;font-weight:600;text-decoration:none}.project-card__resources a:hover{color:var(--accent-strong)}.tag-chip--muted{background:transparent;color:var(--text-soft);border-style:dashed}.project-card .tag-chip,.project-card .metric-badge,.project-card .button-link-secondary{min-height:2.5rem;padding:.48rem .92rem;border-radius:999px;border:1px solid rgba(196,182,154,.68);background:linear-gradient(180deg,#fffffff5,#faf6edf5);box-shadow:inset 0 1px #fffc}.project-card .tag-chip,.project-card .metric-badge{color:#1b2a44;font-size:.9rem}.project-card .tag-chip{min-height:2.15rem;padding:.35rem .78rem;font-size:.83rem}.project-card .button-link{min-width:10rem;font-weight:700;box-shadow:0 14px 28px #0f172a1f}.project-card .button-link-secondary{min-width:9rem;font-weight:650;color:#14213d;background:#ffffffdb}.project-card .button-link-secondary:hover,.project-card .project-preview-trigger:hover{border-color:#325fdd61;background:linear-gradient(180deg,#f6f9fffa,#edf3fff5)}.system-grid,.preview-grid,.research-list,.document-grid,.catalog-grid,.timeline-grid,.contact-grid{display:grid;gap:1.2rem}.system-grid{grid-template-columns:repeat(var(--system-grid-columns, 6),minmax(0,1fr))}.system-stage{padding:1rem;border-left:2px solid var(--accent);background:#fffdf8d6;border-radius:var(--radius-sm)}html:lang(ko) .system-stage .muted{word-break:break-all}.about-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.about-gallery__intro{max-width:62ch}.about-gallery__intro h2{margin:0 0 .75rem;font-family:var(--font-display)}.about-gallery__card{display:flex;flex-direction:column;min-height:100%;padding:1.35rem;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#fffdf8f5,#f8f3e9e6);box-shadow:var(--shadow)}.about-gallery__card[data-entry-type=event]{border-color:#0f766e5c}.about-gallery__card[data-entry-type=thought]{border-color:#b453094d}.about-gallery__card[data-entry-type=note]{border-color:#3b82f63d}.about-gallery__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}.about-gallery__card h3{margin:.8rem 0 .5rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.025em}.about-gallery__context{margin:0 0 .65rem;color:var(--text-soft);font-size:.95rem}.about-gallery__tags{margin-top:auto;padding-top:1rem}.about-gallery__actions{margin-top:1rem}.about-gallery__dialog-card{max-width:50rem}.about-gallery__prose{max-width:none;margin-top:1rem}.project-card,.research-card,.document-card,.snapshot-card,.capability-card,.resume-section,.case-study,.page-hero,.detail-hero,.document-shell{background:#ffffff73;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius);box-shadow:0 16px 40px #0000000f,inset 0 1px #fffc;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1)}.research-card{display:flex!important;flex-direction:column;gap:.95rem;height:100%;padding:1.75rem;background:linear-gradient(180deg,#fffffffc,#fcf8f1fa);border-color:#c4b69abd;box-shadow:0 20px 44px #271f1214,0 2px 8px #271f120a}.capability-card{display:flex;flex-direction:column;height:100%}.capability-card__content>.muted{margin-bottom:0}.capability-card>.tag-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.65rem .75rem;margin-top:auto;padding-top:1.9rem;min-height:auto}.capability-card .tag-chip{justify-content:center;width:100%;height:3.05rem;padding:.3rem .72rem;font-size:.79rem;letter-spacing:-.01em;line-height:1.1;text-align:center;white-space:normal;font-weight:550;word-break:keep-all}.research-card--note{background:linear-gradient(180deg,#f8fcfdfc,#f2f8faf5);border-color:#84abb47a}.research-card--journal{background:radial-gradient(circle at top right,rgba(255,241,208,.68),transparent 34%),linear-gradient(180deg,#fffffcfc,#fdf8eef7);border-color:#c9ab6ebd;box-shadow:0 20px 44px #4c340f14,0 2px 8px #4c340f0a}.research-card--conference{background:radial-gradient(circle at top right,rgba(228,235,255,.84),transparent 34%),linear-gradient(180deg,#fffffffc,#f6f8fff7);border-color:#95a4d9bd;box-shadow:0 20px 44px #22356a14,0 2px 8px #22356a0a}.research-card--technical{background:radial-gradient(circle at top right,rgba(224,246,250,.82),transparent 34%),linear-gradient(180deg,#f8fcfdfc,#f2f8faf5);border-color:#84abb48f}.research-card--other{background:radial-gradient(circle at top right,rgba(241,234,255,.72),transparent 34%),linear-gradient(180deg,#fffffffc,#f8f6fcf7);border-color:#b5a7d3b3}.research-card__topline{grid-area:topline;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.research-card__type-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:2rem;padding:.3rem .72rem;border-radius:999px;background:#0f172a12;color:var(--ink);font-size:.74rem;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.research-card--note .research-card__type-badge{background:#0f766e1a;color:var(--accent-strong)}.research-card--journal .research-card__type-badge{background:#ab78181f;color:#865f18}.research-card--conference .research-card__type-badge{background:#325fdd1f;color:#294aa5}.research-card--technical .research-card__type-badge{background:#0f766e1a;color:var(--accent-strong)}.research-card--other .research-card__type-badge{background:#6750a41a;color:#6d54a8}.research-card__year{color:var(--text-soft);font-size:.86rem;font-weight:700;letter-spacing:.1em}.research-card__venue{grid-area:venue;margin:0;color:var(--text-soft);font-size:.84rem;line-height:1.35;letter-spacing:.03em;text-transform:uppercase;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.research-card__header{display:contents}.research-card>h3,.research-card__header>h3{grid-area:title;margin-bottom:0;line-height:1.18;font-size:clamp(1.35rem,1.05rem + .7vw,1.8rem);text-wrap:balance;margin-top:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.research-card__summary{grid-area:summary;min-height:7rem;margin:0;line-height:1.58}.research-card__footer{grid-area:footer;margin-top:auto;padding-top:1.15rem;border-top:1px solid rgba(196,182,154,.4)}.research-card__keywords{grid-area:keywords;display:grid;gap:.55rem}.research-card__keywords .small-label{margin-bottom:0}.research-card__tag-row{margin-top:0;align-items:flex-start}.research-card .tag-chip,.research-card .button-link-secondary{min-height:2.2rem;padding:.36rem .8rem;border-radius:999px;border:1px solid rgba(196,182,154,.68);background:linear-gradient(180deg,#fffffff5,#faf6edf5);box-shadow:inset 0 1px #fffc}.research-card .tag-chip{flex:0 0 auto;justify-content:center;color:#1b2a44;font-size:.82rem;line-height:1;white-space:nowrap}.research-card .button-link-secondary{min-width:10.2rem;font-weight:700;color:#14213d;background:#ffffffdb}.research-card .button-link-secondary:hover{border-color:#325fdd61;background:linear-gradient(180deg,#f6f9fffa,#edf3fff5)}.research-card--journal .button-link-secondary:hover{border-color:#ab781852;background:linear-gradient(180deg,#fffaf0fa,#fcf4e3f5)}.research-card--technical .button-link-secondary:hover{border-color:#0f766e47;background:linear-gradient(180deg,#f2fbf9fa,#e7f6f3f5)}.research-card--other .button-link-secondary:hover{border-color:#6750a447;background:linear-gradient(180deg,#f9f7fffa,#f1eefcf5)}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.research-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.meta-list{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:1.5rem}.meta-item span{display:block}.meta-item span:first-child{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.external-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.external-link{font-size:.92rem;text-decoration:none;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong)}.experience-list,.document-list,.compact-list{display:grid;gap:1rem}.capability-card h3,.document-card h3,.project-card h3,.research-card h3,.case-study h3{margin-top:0;margin-bottom:.5rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.025em}.focus-card__title{margin-left:auto;margin-right:auto;max-width:100%;width:100%;text-align:center;line-height:1.04;min-width:0;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.project-card .compact-list>div,.project-card .compact-list strong{min-width:0}.project-card .compact-list strong{display:block;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.doc-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(215,207,191,.5)}.doc-toolbar span{grid-column:2;text-align:center}.doc-toolbar button{grid-column:3;justify-self:flex-end}.doc-toolbar button{border:1px solid rgba(50,95,221,.25);background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:.6rem 1.25rem;font-weight:700;color:#325fdd;cursor:pointer;box-shadow:0 4px 12px #325fdd1a;transition:all .2s ease}.doc-toolbar button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #325fdd26;background:#fff}.document-shell{padding:2rem}.document-page{background:linear-gradient(180deg,#f7f3eb,#efebe2)}.document-page__frame{margin-bottom:1rem}.document-page__masthead{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem .9rem 1.4rem;border:1px solid var(--border);border-radius:999px;background:#fffdf8d6;box-shadow:var(--shadow)}.document-page__masthead .site-brand{padding-left:.12rem}.document-header{padding-bottom:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.resume-header{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(14rem,.8fr);gap:1.2rem 1.5rem;align-items:start}.resume-header__identity{min-width:0}.resume-header__roles{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.8rem}.resume-header__role{display:inline-flex;align-items:center;min-height:1.8rem;padding:.28rem .68rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-alt) 72%,white 28%);color:var(--text-strong);font-size:.78rem;font-weight:600;letter-spacing:.01em;line-height:1.15}.resume-header__role--muted{background:transparent;color:var(--text-muted);font-weight:500}.resume-header__meta{display:grid;gap:.85rem;align-content:start;padding-top:.2rem}.resume-header__meta-group{display:grid;gap:.18rem}.resume-header__meta-label{color:var(--accent);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.resume-header__links{margin-top:.1rem}.resume-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:1.25rem}.resume-section h2,.portfolio-cover h2{margin-top:0;font-family:var(--font-display)}.resume-item+.resume-item,.document-item+.document-item{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--surface-muted)}.contact-card{padding:1.4rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.contact-card a{overflow-wrap:anywhere;word-break:break-word}.contact-intent-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.contact-card--intent{display:grid;gap:.75rem;align-content:start}.contact-card--intent h2{margin:0;font-family:var(--font-display);font-size:1.3rem;line-height:1.15}.project-preview-dialog{width:min(42rem,calc(100% - 2rem));border:none;padding:0;background:transparent}.project-preview-dialog::backdrop{background:#0f172a80;backdrop-filter:blur(4px)}.project-preview-card{padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 60px #0f172a2e}.inline-expander{margin:.9rem 0 .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);padding:.8rem .9rem}.inline-expander summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;list-style:none}.inline-expander summary::-webkit-details-marker{display:none}.inline-expander[open] summary{margin-bottom:.25rem}.inline-expander--compact{padding:.55rem .8rem;margin:.75rem 0 .55rem}.inline-expander--compact[open]{min-height:11.5rem}.inline-expander__hint{font-size:.82rem;font-weight:500;color:var(--text-soft)}.page-hero--catalog .section-title{font-size:clamp(2.6rem,4.6vw,4.2rem);max-width:14ch;line-height:1.02}.page-hero--catalog .section-lead{max-width:46ch;margin-top:1.1rem}.page-hero .meta-row,.page-hero--catalog .meta-row{margin-top:1.25rem}.inline-links--dense{gap:.45rem .8rem;font-size:.92rem}.paper-sheet{width:100%;max-width:210mm;height:297mm;margin:0 auto 1.25rem;padding:14mm 14mm 12mm;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 40px #0f172a14;overflow:hidden}.paper-sheet--resume{font-size:.94rem;height:auto;min-height:297mm;overflow:visible}.paper-sheet--resume-cv{min-height:297mm;padding:18mm 18mm 16mm;border-radius:0;border:1px solid rgba(15,23,42,.14);background:#fff;box-shadow:0 18px 40px #0f172a14;color:#111;font-family:Times New Roman,Georgia,serif;font-size:12.5pt;line-height:1.34}.cv-print-header{text-align:center;margin-bottom:1.8rem}.cv-print-header h1{margin:0;color:#111;font-family:Times New Roman,Georgia,serif;font-size:2.2rem;font-weight:700;letter-spacing:-.015em}.cv-print-header__contacts{margin-top:.4rem;font-size:1rem}.cv-print-header__contacts a{color:inherit;text-decoration:none}.cv-print-section+.cv-print-section{margin-top:1.8rem}.cv-print-section h2{margin:0 0 .65rem;padding-bottom:.16rem;border-bottom:1px solid rgba(17,17,17,.72);color:#111;font-family:Times New Roman,Georgia,serif;font-size:1.12rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.cv-print-copy p,.cv-print-entry__detail,.cv-print-bullets,.cv-print-publications{margin:0}.cv-print-copy p+p{margin-top:.35rem}.cv-print-stack{display:grid;gap:1rem}.cv-print-stack--compact{gap:.7rem}.cv-print-entry__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.cv-print-entry h3{margin:0;color:#111;font-family:Times New Roman,Georgia,serif;font-size:1rem;font-weight:700}.cv-print-entry__subline{margin:.08rem 0 0;font-size:.98rem}.cv-print-entry__subline--italic{font-style:italic}.cv-print-entry__meta{text-align:right;white-space:nowrap;font-size:.98rem;font-style:italic}.cv-print-entry__detail{margin-top:.28rem}.cv-print-entry__detail--muted{color:#111111c7}.cv-print-bullets{margin-top:.28rem;padding-left:1.2rem}.cv-print-bullets li+li{margin-top:.1rem}.cv-print-publications{margin:0;padding-left:1.7rem}.cv-print-publications li{padding-left:.18rem}.cv-print-publications li+li{margin-top:.7rem}.cv-print-publications__title{font-weight:700}.cv-print-publications__meta{font-style:italic}.paper-sheet--resume .section-title{font-size:2rem}.resume-compact-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:1rem}.resume-summary{margin:0}.resume-item--tight{margin-top:.75rem;padding-top:.75rem}.resume-item p{margin:.38rem 0 0}.compact-bullets{margin:.45rem 0 0;padding-left:1rem}.compact-bullets li+li{margin-top:.18rem}.compact-bullets--summary{margin-top:.55rem}.compact-skill-grid{display:grid;gap:.65rem}.resume-skill-group strong{display:block}.resume-skill-group__skills,.resume-inline-note{margin-top:.32rem}.small-label{display:block;margin:0;margin-bottom:.45rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}@media(max-width:900px){.site-footer__inner{flex-direction:column;align-items:flex-start}.site-header__inner{display:grid;grid-template-columns:1fr auto;align-items:center}.site-nav--desktop,.header-utility{display:none}.mobile-nav{display:block}.hero-panel,.resume-grid,.resume-compact-grid,.resume-header{grid-template-columns:1fr;padding:2rem}.hero-actions .button-link,.hero-actions .button-link-secondary{flex:0 1 auto}.document-page__masthead{flex-direction:column;align-items:center;border-radius:var(--radius);padding:.85rem 1rem}.doc-toolbar{display:flex;flex-direction:column;align-items:center;text-align:center}.doc-toolbar span,.doc-toolbar button{grid-column:auto;width:100%}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-shell,.paper-sheet,.resume-section,.page-hero,.detail-hero{padding:1.15rem}.hero-title{font-size:clamp(2.4rem,12vw,3.4rem)}.page-hero--catalog .section-title{font-size:clamp(2.3rem,8vw,3.2rem);max-width:none}.hero-copy,.prose{font-size:1rem}}@media(max-width:640px){.capability-card>.tag-row{grid-template-columns:1fr}.system-grid{grid-template-columns:1fr}.hero-panel{padding:1.4rem;gap:1.25rem}.chip-row{gap:.55rem}.role-chip,.tag-chip,.metric-badge{min-height:1.9rem;padding:.3rem .72rem;font-size:.84rem}.hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem;align-items:stretch;margin-top:1rem}.hero-actions .button-link,.hero-actions .button-link-secondary{width:100%}.section{padding:3rem 0}.section-tight{padding:1.75rem 0}.document-shell{padding:1rem}.document-page__masthead .inline-links{gap:.5rem}.paper-sheet{padding:1rem;min-height:auto;aspect-ratio:auto}.paper-sheet--resume-cv{padding:1.25rem}.cv-print-entry__row{grid-template-columns:1fr;gap:.2rem}.cv-print-entry__meta{text-align:left}.meta-list{grid-template-columns:1fr 1fr}.project-preview-dialog{width:calc(100% - 1rem)}}@media(max-width:600px){.research-card__topline{flex-wrap:wrap}.doc-toolbar{display:flex;flex-direction:column;align-items:stretch;text-align:center}}.project-card__tag-row,.research-card__tag-row{min-height:4.95rem;align-content:flex-start}.subgrid-highlight,.subgrid-facts,.subgrid-stack{display:block}.project-card__title{display:block!important;height:auto!important;min-height:0!important;margin-bottom:0!important;align-self:flex-start}.project-card>.muted{min-height:0!important;height:auto!important;margin-bottom:0!important;display:-webkit-box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.system-grid>.project-card,.preview-grid>.project-card,.featured-projects__grid>.project-card,.catalog-grid>.project-card{display:grid!important;grid-template-rows:subgrid!important;grid-row:span 8!important;row-gap:.95rem!important}.subgrid-stack{margin-top:1.85rem!important}.card-paper,.soft-card,.project-card,.research-card,.document-card,.snapshot-card,.capability-card,.resume-section,.case-study,.page-hero,.detail-hero,.document-shell{background:var(--surface)!important;border:1px solid color-mix(in srgb,var(--border) 82%,white 18%)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.card-paper--hero,.hero-panel,.portfolio-web-card--hero{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important}.hero-panel{padding:2.5rem!important;gap:1.5rem!important;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.9fr)}.hero-copy{max-width:42rem;font-size:.95rem}.hero-focus{display:grid;gap:.9rem;align-content:start;padding:1.4rem;border:1px solid color-mix(in srgb,var(--border) 78%,white 22%);border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,var(--surface-strong) 18%)}.hero-focus__label,.project-card__type,.project-card__highlight-label,.project-card__stack-label,.snapshot-card__period,.document-card__label,.small-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft)}.hero-focus__title{margin:0;font-family:var(--font-display);font-size:1.2rem;line-height:1.18;letter-spacing:-.02em}.hero-focus__body{margin:0;color:var(--text-soft);font-size:.88rem}.hero-focus__list{display:grid;gap:.2rem;margin:0}.hero-focus__item{display:grid;grid-template-columns:5.7rem 1fr;gap:.75rem;padding-top:.65rem;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent 20%)}.hero-focus__item:first-child{border-top:0;padding-top:0}.hero-focus__item dt,.hero-focus__item dd{margin:0;font-size:.82rem}.hero-focus__item dd{color:var(--text)}.section-head{display:grid;gap:.45rem;margin-bottom:1.4rem}.section-cta-row{margin-top:1.25rem}.experience-snapshot-grid,.capability-grid,.document-cta-grid{display:grid;gap:.9rem}.experience-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.snapshot-card,.capability-card,.document-card{display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.25rem!important}.snapshot-card__role,.capability-card__title,.document-card__title{margin:0;font-family:var(--font-display);font-size:1.08rem;line-height:1.18;letter-spacing:-.02em}.snapshot-card__org{margin:0;color:var(--accent-strong);font-size:.86rem;font-weight:600}.snapshot-card__summary,.capability-card__desc,.document-card__body{margin:0;color:var(--text-soft);font-size:.88rem;line-height:1.55}.capability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.capability-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.55rem}.document-cta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-card{min-height:14rem}.document-card__cta{margin-top:auto;padding-top:.5rem;color:var(--text);font-weight:600;text-decoration:none}.document-card__cta:after{content:" ->"}.project-card{display:flex!important;flex-direction:column;gap:.85rem;padding:1.45rem!important;height:100%;background:var(--surface)!important;border-color:color-mix(in srgb,var(--border) 82%,white 18%)!important}.project-card__topline{align-items:start}.project-card__type{color:var(--accent-strong)}.project-card__year{min-height:auto;padding:.32rem .72rem;background:color-mix(in srgb,var(--surface-strong) 90%,white 10%);color:var(--text);font-family:var(--font-mono);font-size:.74rem}.project-card__title{min-height:0!important;margin:0!important;font-size:clamp(1.3rem,1.1rem + .6vw,1.7rem)!important;line-height:1.12}.project-card__role{min-height:0!important;margin:-.25rem 0 0!important;color:var(--accent-strong);font-size:.88rem}.project-card__summary{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.58}.project-card__highlight{gap:.2rem;padding:.85rem .95rem;border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 55%,white 45%);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border) 84%)}.project-card__highlight strong{font-size:1rem}.project-card__stack{display:grid;gap:.45rem}.project-card__tag-row{display:flex;flex-wrap:wrap;gap:.45rem;min-height:0!important}.project-card__footer{margin-top:auto;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--border) 78%,white 22%)}.project-card__actions{display:flex;gap:.75rem}.project-card .button-link{min-width:0;width:100%;box-shadow:none}.research-card--note .research-card__type-badge,.research-card--technical .research-card__type-badge{background:color-mix(in srgb,var(--cat-note) 12%,white 88%);color:var(--cat-note)}.research-card--journal .research-card__type-badge{background:color-mix(in srgb,var(--cat-journal) 12%,white 88%);color:var(--cat-journal)}.research-card--conference .research-card__type-badge{background:color-mix(in srgb,var(--cat-conference) 12%,white 88%);color:var(--cat-conference)}.research-card--other .research-card__type-badge{background:color-mix(in srgb,var(--cat-other) 12%,white 88%);color:var(--cat-other)}.research-card .tag-chip,.project-card .tag-chip,.capability-card .tag-chip{min-height:auto;width:auto;padding:.32rem .66rem;border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 88%,white 12%);border:1px solid color-mix(in srgb,var(--border) 82%,white 18%);color:var(--text-soft);font-size:.75rem;box-shadow:none}.tag-chip--muted{background:transparent!important}@media(max-width:900px){.hero-panel{padding:2rem!important}.experience-snapshot-grid,.capability-grid,.document-cta-grid{grid-template-columns:1fr}}@media(max-width:640px){.hero-panel{padding:1.5rem!important;gap:1rem!important}.hero-focus__item{grid-template-columns:1fr;gap:.25rem}.project-card,.snapshot-card,.capability-card,.document-card{padding:1rem!important}}.portfolio-cover h2{margin-top:0;font-family:var(--font-display)}.portfolio-cover{padding:1rem 0 .55rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.portfolio-cover__hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(19.5rem,.88fr);gap:.85rem;align-items:start}.portfolio-cover__intro .section-lead{max-width:45ch;margin:.7rem 0 0;line-height:1.48}.portfolio-cover__identity{display:grid;gap:.55rem;min-width:0}.portfolio-cover__name-block{padding:.68rem .84rem;border:1px solid var(--surface-muted);border-radius:var(--radius-sm);background:#fffdf8d1}.portfolio-cover__name{font-family:var(--font-display);display:block;font-size:clamp(1.55rem,2.6vw,2rem);font-weight:800;letter-spacing:-.03em}.portfolio-cover__role{display:block;margin-top:.25rem;color:var(--accent-strong);font-weight:700}.portfolio-cover__meta-grid{display:grid;grid-template-columns:1fr;gap:.45rem;margin:0}.portfolio-cover__meta-item{display:grid;grid-template-columns:4.7rem minmax(0,1fr);align-items:start;gap:.45rem;margin:0;min-width:0}.portfolio-cover__meta-item .small-label{margin-top:.12rem}.portfolio-cover__meta-item dd{margin:0;min-width:0}.portfolio-cover__meta-item strong,.portfolio-cover__meta-item a{display:block;color:var(--text);font-weight:600;text-decoration:none;overflow-wrap:break-word;word-break:break-word;line-height:1.3}.portfolio-cover__focus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem .7rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--surface-muted)}.portfolio-cover__focus-item{min-width:0;padding-right:.2rem}.portfolio-cover__focus-item strong{display:block;margin-top:.14rem;line-height:1.2}.portfolio-cover__focus-item p{margin:.24rem 0 0;color:var(--text-soft);font-size:.88rem;line-height:1.35}.paper-sheet--portfolio .portfolio-cover{padding:0 0 .45rem}.paper-sheet--portfolio-cover.document-shell{padding-top:.95rem}.paper-sheet--portfolio-recognition.document-shell{padding-top:.5rem}.portfolio-section{margin-top:0;height:100%}.portfolio-section p{line-height:1.52}.portfolio-doc{display:grid;gap:1.5rem;justify-items:center}.portfolio-carousel{width:min(100%,98rem);margin:0 auto;display:grid;gap:.2rem}.portfolio-carousel__viewport{overflow:hidden;padding:0;cursor:grab;user-select:none;touch-action:pan-y}.portfolio-carousel__track{display:flex;gap:1.5rem;will-change:transform;padding-inline:var(--carousel-edge-space, 0px)}.portfolio-carousel__viewport.is-dragging{cursor:grabbing}.portfolio-carousel__viewport.is-dragging .portfolio-web-card,.portfolio-carousel__viewport.is-dragging .portfolio-web-card *{pointer-events:none}.portfolio-carousel__slide{flex:0 0 clamp(34.4rem,38.4vw,36.8rem);width:clamp(34.4rem,38.4vw,36.8rem);height:clamp(35rem,74vh,41rem);transition:transform .22s ease,opacity .22s ease,filter .22s ease;opacity:.74;transform:scale(.92);filter:saturate(.94);will-change:transform,opacity}.portfolio-carousel__slide.is-near{opacity:.9;transform:scale(.955)}.portfolio-carousel__slide.is-active{opacity:1;transform:scale(1);filter:none}.portfolio-carousel__slide>.paper-sheet,.portfolio-carousel__slide>.portfolio-web-card{width:100%;max-width:none;height:100%;min-height:100%;margin-bottom:0}.portfolio-carousel .paper-sheet--portfolio.document-shell{height:100%;min-height:100%;overflow:hidden}.portfolio-web-card{display:flex;flex-direction:column;gap:.85rem;padding:1.2rem 1.2rem 1.15rem;border:1px solid rgba(184,169,139,.42);border-radius:1.35rem;background:linear-gradient(180deg,#fffffffa,#fefcf7f7);box-shadow:0 20px 45px #271f121a,0 2px 10px #271f120a;overflow:hidden;position:relative}.portfolio-web-card:before{content:"";position:absolute;inset:0 0 auto;height:.3rem;background:linear-gradient(90deg,rgba(50,95,221,.95),rgba(69,122,255,.22) 62%,transparent)}.portfolio-web-card--hero{padding-inline:1.45rem}.portfolio-web-card--timeline{gap:.72rem;background:radial-gradient(circle at top right,rgba(235,241,255,.92),transparent 34%),linear-gradient(180deg,#fffffffc,#fcf8effa)}.portfolio-web-card--projects{background:radial-gradient(circle at top left,rgba(245,249,255,.92),transparent 32%),linear-gradient(180deg,#fffffffc,#f8fafff7)}.portfolio-web-card--map{background:linear-gradient(180deg,#fffffffc,#fcf8effa)}.portfolio-web-card--recognition{background:radial-gradient(circle at top right,rgba(255,243,227,.92),transparent 34%),linear-gradient(180deg,#fffffffc,#fef9f2fa)}.portfolio-web-card__eyebrow{color:#325fdd;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portfolio-web-card__title{margin:0;font-family:var(--font-display);font-size:1.75rem;line-height:1}.portfolio-web-card__year{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.3rem .8rem;border-radius:999px;border:1px solid rgba(50,95,221,.22);background:#ebf1fff2;color:#325fdd;font-weight:700}.portfolio-web-card__lead{margin:0;line-height:1.5;font-size:.98rem}.portfolio-web-card__lead--hero{margin-top:1.3rem;padding-inline:.1rem}.portfolio-web-card__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.15rem;align-items:start}.portfolio-web-card__list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;font-size:.92rem}.portfolio-web-card__list--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1rem;padding-left:1rem}.portfolio-web-card__list--tight{gap:.35rem}.portfolio-web-card__meta{display:grid;gap:.8rem;margin-top:.35rem;padding-top:.9rem;border-top:1px solid var(--surface-muted)}.portfolio-web-card--sectioned{gap:1.05rem}.portfolio-web-card__section{display:grid;gap:.85rem;padding-top:1rem;border-top:1px solid var(--surface-muted)}.portfolio-web-card__section:first-of-type{padding-top:.25rem;border-top:none}.portfolio-web-card__section-title{margin:0;color:#325fdd;font-size:1rem;font-weight:700;letter-spacing:-.01em}.portfolio-web-flow-heading{padding-top:.35rem}.portfolio-web-card__pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem .9rem;align-items:start}.portfolio-web-hero{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.9rem;align-items:start}.portfolio-web-hero--cover{grid-template-columns:minmax(12.8rem,.86fr) minmax(0,1.14fr);gap:1.25rem;align-items:stretch}.portfolio-web-hero__media{display:flex;align-items:center;justify-content:center;overflow:visible;aspect-ratio:3 / 4;min-height:0;align-self:start;border-radius:1rem;border:2px solid rgba(17,32,59,.28);background:linear-gradient(180deg,#e6ecfff2,#f4f7ffeb);color:#325fdd;font-family:var(--font-display);font-size:2rem;font-weight:800}.portfolio-web-hero__media--cover{aspect-ratio:auto;min-height:17rem;height:100%;align-self:stretch;justify-self:start;width:100%;max-width:15.75rem;overflow:hidden;background:transparent;border-radius:0;border:2px solid rgba(17,32,59,.32)}.portfolio-web-hero__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;-webkit-user-drag:none;user-select:none;pointer-events:none}.portfolio-web-hero__body{display:grid;gap:.6rem;min-width:0;align-content:start}.portfolio-web-hero__body--cover{grid-template-rows:auto 1fr auto;gap:.35rem;align-content:stretch;min-height:17rem;height:100%;min-width:0}.portfolio-web-hero__body h2{margin:0;font-family:var(--font-display);font-size:2rem;line-height:.98}.portfolio-web-hero__body--cover h2{max-width:100%;font-size:clamp(2.35rem,4.2vw,2.95rem);line-height:.94;letter-spacing:-.04em;align-self:center}.portfolio-web-hero__headline{margin:0;font-size:.96rem;font-weight:700;line-height:1.45}.portfolio-web-hero__body--cover .portfolio-web-hero__headline{font-size:1.22rem;line-height:1.38;align-self:end}.portfolio-web-hero__contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem}.portfolio-web-hero__contacts--cover{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem;margin-top:1.5rem;padding-inline:.1rem}.portfolio-web-hero__contact{display:grid;gap:.18rem;min-width:0}.portfolio-web-hero__contact span{color:var(--text-soft);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.portfolio-web-hero__body--cover .portfolio-web-card__eyebrow{font-size:1rem;letter-spacing:.02em}.portfolio-web-hero__contact strong,.portfolio-web-hero__contact a{color:var(--text);text-decoration:none;overflow-wrap:anywhere;word-break:break-word;font-size:.93rem}.portfolio-web-hero__contacts--cover .portfolio-web-hero__contact strong,.portfolio-web-hero__contacts--cover .portfolio-web-hero__contact a{font-size:1rem}.portfolio-web-stack{display:grid;gap:.65rem}.portfolio-web-stack--feature{gap:.9rem}.portfolio-web-stack--two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.1rem;align-items:start}.portfolio-web-stack--study-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-items:stretch;grid-auto-rows:1fr}.portfolio-web-entry__tags{margin-top:.15rem}.portfolio-web-entry{display:grid;gap:.45rem;padding-top:.75rem;border-top:1px solid var(--surface-muted)}.portfolio-web-entry:first-child{padding-top:0;border-top:none}.portfolio-web-entry__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start}.portfolio-web-entry__header h3{margin:0;font-family:var(--font-display);font-size:1rem;line-height:1.15}.portfolio-web-entry__header span{color:var(--text-soft);font-size:.82rem;font-weight:600;white-space:nowrap}.portfolio-web-entry p,.portfolio-web-mini p{margin:0;line-height:1.45;font-size:.92rem}.portfolio-web-entry__summary{color:var(--text-soft);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.portfolio-web-entry--feature{padding-top:.9rem;border-top:1px solid var(--surface-muted)}.portfolio-web-entry--feature:first-child{padding-top:0;border-top:none}.portfolio-web-card--timeline .portfolio-web-entry--feature,.portfolio-web-card--projects .portfolio-web-entry--feature,.portfolio-web-card--recognition .portfolio-web-entry--feature{gap:.55rem}.portfolio-web-card--timeline .portfolio-web-stack--feature{gap:.72rem}.portfolio-web-card--timeline .portfolio-web-entry__header h3,.portfolio-web-card--projects .portfolio-web-entry__header h3,.portfolio-web-card--recognition .portfolio-web-entry__header h3{font-size:1.08rem}.portfolio-web-card--timeline .portfolio-web-entry--feature{gap:.42rem;padding-top:.72rem}.portfolio-web-card--timeline .portfolio-web-entry__header{gap:.55rem}.portfolio-web-card--timeline .portfolio-web-entry__header h3{font-size:1rem;line-height:1.08}.portfolio-web-card--timeline .portfolio-web-entry__header span,.portfolio-web-card--timeline .portfolio-web-entry>p{font-size:.88rem}.portfolio-web-card--timeline .portfolio-web-entry>p{line-height:1.32}.portfolio-web-card--projects .portfolio-web-entry__summary,.portfolio-web-card--recognition .portfolio-web-entry__summary{-webkit-line-clamp:4}.portfolio-web-card--timeline .portfolio-web-card__list--tight,.portfolio-web-card--recognition .portfolio-web-card__list--tight{gap:.28rem}.portfolio-web-card--timeline .portfolio-web-card__list{font-size:.88rem;line-height:1.38}.portfolio-web-triple{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem 1.15rem;align-items:start}.portfolio-web-column{display:grid;gap:.65rem}.portfolio-web-column h3,.portfolio-web-case-section h3{margin:0;color:#325fdd;font-size:.92rem;font-weight:700}.portfolio-web-mini{display:grid;gap:.3rem;padding-top:.7rem;border-top:1px solid var(--surface-muted)}.portfolio-web-mini__kicker{color:var(--text-soft);font-size:.77rem;font-weight:600;letter-spacing:.01em}.portfolio-web-mini--dense p:last-child{color:var(--text-soft)}.portfolio-web-mini--study-card{gap:.38rem;padding:.8rem .85rem;height:100%;display:flex;flex-direction:column;border-top:none;border:1px solid rgba(184,169,139,.34);border-radius:1rem;background:linear-gradient(180deg,#fffffffa,#fbf8f1fa);box-shadow:0 8px 20px #271f120d}.portfolio-web-mini--study-card-placeholder{visibility:hidden;pointer-events:none}.portfolio-web-mini--study-card strong{font-family:var(--font-display);font-size:.96rem;line-height:1.15}.portfolio-web-mini--education-card{gap:.32rem;padding:.72rem .82rem;height:100%;align-content:start;border-top:none;border:1px solid rgba(196,205,224,.72);border-left:.32rem solid rgba(50,95,221,.58);border-radius:1rem;background:linear-gradient(180deg,#fafcfffc,#f4f8fffa);box-shadow:none}.portfolio-web-mini--education-card strong{font-family:var(--font-display);font-size:1rem;line-height:1.15}.portfolio-web-mini--education-card p:nth-child(2){color:var(--text);font-weight:600}.portfolio-web-mini--education-card p:last-child{color:var(--text-soft)}.portfolio-web-mini--study-card p:last-child{color:var(--text);font-size:.9rem;line-height:1.45;margin-top:auto}.portfolio-web-mini--pillar{padding-top:0;border-top:none;align-content:start;min-height:100%;justify-items:center;text-align:center;align-self:flex-start;height:fit-content}.portfolio-web-mini--pillar p{font-size:.9rem;line-height:1.58;text-wrap:pretty;overflow-wrap:anywhere}.portfolio-web-card--map .portfolio-web-column:first-child .portfolio-web-mini{padding-top:0;border-top:none}.portfolio-web-card--research .portfolio-web-entry__summary{-webkit-line-clamp:5}.portfolio-web-card--research-only .portfolio-web-entry__summary{-webkit-line-clamp:4}.portfolio-web-research{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem 1.15rem;align-items:start}.portfolio-web-research__feature,.portfolio-web-research__aside{display:grid;gap:.8rem}.portfolio-web-mini:first-of-type{padding-top:0;border-top:none}.portfolio-web-mini--education-card:first-of-type,.portfolio-web-mini--study-card:first-of-type{padding-top:.8rem}.portfolio-web-mini--education-card:first-of-type{padding-top:.72rem;border-top:1px solid rgba(196,205,224,.72)}.portfolio-web-mini--study-card:first-of-type{border-top:1px solid rgba(184,169,139,.34)}.portfolio-web-case-grid{display:grid;gap:.75rem}.portfolio-web-card--case .portfolio-web-case-grid{grid-template-columns:minmax(0,1.15fr) minmax(14rem,.85fr);gap:.75rem .95rem;align-items:start}.portfolio-web-case-section{display:grid;gap:.28rem}.portfolio-web-case-section p{margin:0;line-height:1.38;font-size:.89rem;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.portfolio-web-case-section--accent{padding:.72rem .78rem;border-radius:1rem;border:1px solid rgba(50,95,221,.16);background:#f5f9ff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff4d}.portfolio-web-card--case .portfolio-web-case-section--accent{grid-column:2;grid-row:1 / span 2}.portfolio-web-card--case .portfolio-web-case-section--accent p{display:block;overflow:visible;-webkit-line-clamp:unset}.portfolio-web-case-metrics{margin-top:.35rem;gap:.5rem}.portfolio-web-card--case .portfolio-web-card__meta{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;margin-top:auto;padding-top:.72rem}.portfolio-web-card--case{gap:.68rem;padding-bottom:3.1rem}.portfolio-web-card--case .portfolio-web-entry__header{gap:.6rem}.portfolio-web-card--case .portfolio-web-card__title{font-size:1.55rem;line-height:.98}.portfolio-web-card--case .portfolio-web-card__lead{font-size:.9rem;line-height:1.36}.portfolio-web-card--case .portfolio-web-card__year{min-height:1.85rem;padding:.24rem .68rem;font-size:.84rem}.portfolio-web-card--case .metric-badge{min-height:2.2rem;padding:.38rem .78rem;font-size:.84rem;line-height:1.3}.case-study{page-break-inside:avoid;break-inside:avoid}.case-study__meta-group{min-width:0;align-self:start}.case-study__meta-group--links{justify-self:end;justify-items:center;text-align:center;align-self:flex-start;height:fit-content}.case-study__meta-group--links .external-links{margin-top:0;justify-content:center}.case-study__meta-group--empty{visibility:hidden;pointer-events:none}.case-study__tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:.45rem;min-width:0;margin-top:0}.case-study__tags .tag-chip{min-height:2.55rem;padding:.42rem .78rem;min-width:0;line-height:1.25}.case-study__tags .tag-chip__text{display:block;min-width:0;white-space:normal;overflow-wrap:break-word;word-break:normal;text-wrap:balance;text-align:center;align-self:flex-start;height:fit-content}.case-study__tags .tag-chip--summary{justify-content:center;min-width:3.1rem}.portfolio-carousel__controls{display:flex;justify-content:center;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.3rem}.portfolio-toolbar__label{margin:0;color:var(--text-soft);font-size:.95rem;line-height:1.5;text-align:center;align-self:flex-start;height:fit-content}.portfolio-toolbar__label--intro{margin-bottom:0}.portfolio-carousel__button{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;border:1px solid rgba(17,32,59,.16);background:#ffffffe0;color:var(--text);font-size:2rem;line-height:1;box-shadow:0 10px 22px #271f1214;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.portfolio-carousel__button-icon{display:block;line-height:1;transform:translateY(-.08em)}.portfolio-carousel__button:hover{transform:translateY(-2px);border-color:#325fdd52;background:#fffffffa}.portfolio-doc__toolbar{width:min(calc(100% - 2rem),210mm);margin:0 auto;display:flex;justify-content:flex-end;position:sticky;top:1rem;z-index:5}.paper-sheet--portfolio-profile,.paper-sheet--portfolio-summary{font-size:.96rem}.paper-sheet--portfolio-summary.document-shell{height:auto;min-height:297mm;overflow:visible}@media screen{.paper-sheet--portfolio-summary .portfolio-print-columns{display:block;margin-top:1.25rem}.paper-sheet--portfolio-summary .portfolio-print-columns>.portfolio-print-section+.portfolio-print-section{margin-top:1.6rem}}.paper-sheet--case-study.document-shell{padding-top:10.5mm}.paper-sheet--portfolio.document-shell{height:auto;min-height:0;border-radius:1.35rem;border-color:#b8a98b6b;background:linear-gradient(180deg,#fffffffa,#fefcf7f7);box-shadow:0 20px 45px #271f121a,0 2px 10px #271f120a;overflow:visible}.portfolio-print-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.7rem;align-items:stretch}.portfolio-print-profile__media{display:flex;align-items:stretch;justify-content:center;overflow:visible;border:2px solid rgba(17,32,59,.28);background:linear-gradient(180deg,#e6ecfff2,#f4f7ffeb);color:#325fdd;font-family:var(--font-display);font-size:2.2rem;font-weight:800;align-self:stretch}.portfolio-print-profile__photo{display:block;height:100%;width:auto;max-width:none;object-fit:fill}.portfolio-print-profile__header{display:grid;gap:1.25rem}.portfolio-print-profile__role{margin:0;color:#325fdd;font-size:.95rem;font-weight:700}.portfolio-print-profile__header h1{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);line-height:1}.portfolio-print-profile__contacts{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.4rem;padding-top:.2rem}.portfolio-print-profile__contact{display:block;min-width:0}.portfolio-print-profile__contact strong{display:block;margin-bottom:.28rem;font-size:.9rem}.portfolio-print-profile__contact a,.portfolio-print-profile__contact span{text-decoration:none;color:var(--text);word-break:break-word;display:block}.portfolio-print-profile__headline{margin:2.35rem 0 0;font-size:1.35rem;font-weight:700}.portfolio-print-profile__summary{margin:1rem 0 0;line-height:1.65}.portfolio-print-profile__principles{margin:1.35rem 0 0;padding-left:1.25rem}.portfolio-print-profile__principles li+li{margin-top:.45rem}.portfolio-print-section{margin-top:1.85rem;padding-top:1.4rem;border-top:1px solid var(--surface-muted)}.portfolio-print-profile+.portfolio-print-profile__headline,.portfolio-print-profile__principles+.portfolio-print-section{display:block}.paper-sheet--portfolio-profile .portfolio-print-section+.portfolio-print-section{margin-top:2.4rem}.portfolio-print-section h2{margin:0 0 1rem;color:#325fdd;font-family:var(--font-display);font-size:1.15rem;line-height:1.1}.portfolio-print-entry+.portfolio-print-entry{margin-top:1.4rem}.portfolio-print-entry__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline}.portfolio-print-entry__header h3{margin:0;font-family:var(--font-display);font-size:1.55rem;line-height:1.15}.portfolio-print-entry__header span{color:var(--text-soft);font-weight:500;white-space:nowrap}.portfolio-print-entry__meta{margin:.45rem 0 0;color:var(--text-soft)}.portfolio-print-entry ul{margin:.7rem 0 0;padding-left:1.15rem}.portfolio-print-entry li+li{margin-top:.3rem}.portfolio-print-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.9rem;margin-top:.35rem}.portfolio-print-section--compact{margin-top:0;padding-top:0;border-top:none}.portfolio-print-entry--compact+.portfolio-print-entry--compact{margin-top:1.4rem}.portfolio-print-entry--compact h3{margin:0;font-family:var(--font-display);font-size:1rem}.portfolio-print-entry--compact .portfolio-print-entry__meta{margin-top:.3rem}.portfolio-print-entry--compact ul{margin-top:.55rem}.portfolio-print-entry--recognition+.portfolio-print-entry--recognition{margin-top:1rem}.portfolio-print-entry--recognition .portfolio-print-entry__header h3{font-size:1.08rem}.portfolio-print-entry--recognition .portfolio-print-entry__meta{margin-top:.2rem}.portfolio-print-entry--recognition ul{margin-top:.42rem}.portfolio-print-entry--recognition li+li{margin-top:.18rem}.portfolio-print-entry--placeholder p{margin:0;color:var(--text-soft);line-height:1.55}.portfolio-print-summary__row{margin-top:3rem}.portfolio-print-project-page__eyebrow{margin:0 0 .6rem;color:#325fdd;font-size:.9rem;font-weight:700}.portfolio-print-project-page__header h2{margin:0;color:var(--text);font-family:var(--font-display);font-size:2rem;line-height:1.05}.portfolio-print-project-page__header>p:last-child{margin-top:.9rem}.portfolio-print-project-page__list{margin:.75rem 0 0;padding-left:1.15rem}.portfolio-print-project-page__list li+li{margin-top:.3rem}.portfolio-print-recognition-page{display:grid;gap:1.5rem}.portfolio-print-recognition-page__title{margin:.55rem 0 0;font-family:var(--font-display);font-size:2.2rem;line-height:1.02}.portfolio-print-recognition-page__section{margin-top:0}.portfolio-print-recognition-page__section--first{padding-top:0;border-top:none}.portfolio-print-recognition-page__section--first h2{margin-top:0}.portfolio-overview-page{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:.7rem;align-items:start;margin-top:.45rem}.portfolio-overview-page__stack{display:grid;gap:.6rem}.paper-sheet--portfolio-cover .portfolio-section{padding:0;border:none;box-shadow:none;background:transparent;border-radius:0}.paper-sheet--portfolio-cover .portfolio-section h2{margin:0 0 .55rem;padding-bottom:.35rem;border-bottom:1px solid var(--surface-muted)}.paper-sheet--portfolio-cover .resume-item+.resume-item,.paper-sheet--portfolio-cover .document-item+.document-item{margin-top:.55rem;padding-top:.55rem}.portfolio-sheet__print-button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.65rem 1rem;cursor:pointer}.case-study-grid{display:grid;gap:.55rem}.case-study--sheet{display:flex;flex-direction:column;min-height:100%;padding:0;border:none;box-shadow:none;background:transparent}.case-study--sheet h3{margin:0;font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.04}.case-study__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.35rem;padding-bottom:1.2rem;border-bottom:1px solid var(--surface-muted)}.case-study__header-main{min-width:0}.case-study__year-badge{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(50,95,221,.2);background:#e6ecffc7;color:#325fdd;font-family:var(--font-display);font-weight:700;white-space:nowrap}.case-study__dek{margin:1rem 0 0;max-width:58ch;font-size:1.02rem;line-height:1.55;color:var(--text)}.portfolio-carousel__print{margin-right:.35rem}.case-study__meta{margin:.85rem 0 0}.case-study__body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(16rem,.95fr);gap:1.9rem;margin-top:1.6rem}.case-study__body-main{display:grid;gap:1.2rem}.case-study__aside{align-self:start}.case-study__section{padding-top:0;margin-top:0;border-top:none}.case-study__section+.case-study__section{margin-top:1.35rem}.case-study__section h4{margin:0 0 .65rem;color:#325fdd;font-family:var(--font-display);font-size:.98rem;line-height:1.1;letter-spacing:.02em}.case-study__section p{margin:0;line-height:1.55}.case-study__section--accent{padding:1.15rem 1.15rem 1.2rem;border:1px solid rgba(50,95,221,.16);border-radius:1rem;background:linear-gradient(180deg,#f5f9fffa,#eef4ffed)}.case-study__section--accent h4{margin-bottom:1rem}.case-study__metrics{margin-top:1.35rem}.case-study__footer{margin-top:1.7rem;padding-top:1.15rem;border-top:1px solid var(--surface-muted)}.case-study__group{display:grid;align-content:start}.case-study__group-label{display:block;margin-bottom:.55rem;color:#325fdd;font-weight:700}.case-study__footer .external-links{margin-top:0}.case-study__group+.case-study__group{margin-top:1.55rem}@media(max-width:900px){.portfolio-web-stack--study-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-cover,.case-study{padding:1.15rem}.portfolio-doc__toolbar{width:100%}.portfolio-carousel__viewport{padding-inline:0}.portfolio-carousel__slide{flex-basis:min(35.2rem,calc(100vw - 2rem));width:min(35.2rem,calc(100vw - 2rem));height:min(40rem,calc(100vh - 8.25rem))}.portfolio-web-hero{grid-template-columns:5.5rem minmax(0,1fr)}.portfolio-web-card__split,.portfolio-web-stack--two-column,.portfolio-web-card__pillars,.portfolio-web-triple,.portfolio-web-research,.portfolio-web-card--case .portfolio-web-case-grid,.portfolio-web-card--case .portfolio-web-card__meta{grid-template-columns:1fr}.portfolio-web-hero--cover{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portfolio-web-hero__body--cover h2{font-size:2.5rem}.portfolio-web-hero__body--cover .portfolio-web-hero__headline{font-size:1rem}.portfolio-web-hero__contacts--cover{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-web-card__list--compact{grid-template-columns:1fr}.portfolio-web-card--case .portfolio-web-case-section--accent{grid-column:auto;grid-row:auto}.portfolio-print-profile,.portfolio-overview-page,.portfolio-print-profile__contacts,.portfolio-cover__hero,.portfolio-cover__focus{grid-template-columns:1fr}.portfolio-cover__name-block{padding:.85rem 0;border-left:none;border-right:none;border-radius:0;background:transparent}.portfolio-cover__meta-item{grid-template-columns:1fr;gap:.15rem}}@media(max-width:640px){.portfolio-web-stack--study-cards{grid-template-columns:1fr}.portfolio-carousel__viewport{gap:1rem;padding-inline:.5rem}.portfolio-carousel__slide{flex-basis:calc(100vw - 1rem);width:calc(100vw - 1rem);height:min(37rem,calc(100vh - 7.5rem))}.portfolio-carousel__button{width:2.8rem;height:2.8rem;font-size:1.7rem}.portfolio-web-card{padding:1rem}.portfolio-web-hero{grid-template-columns:1fr}.portfolio-web-hero__media{min-height:11rem}.portfolio-web-hero__contacts,.portfolio-web-hero--cover{grid-template-columns:1fr}.portfolio-web-hero__body--cover h2{font-size:2rem}.portfolio-web-hero__body--cover .portfolio-web-hero__headline{font-size:1rem}.portfolio-web-card__list--compact,.portfolio-print-columns{grid-template-columns:1fr}.portfolio-print-profile{gap:1rem}.portfolio-print-profile__media{width:8rem}.portfolio-print-profile__headline{font-size:1.15rem}}.portfolio-web-card{border:1px solid color-mix(in srgb,var(--border) 82%,white 18%);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffffc,#fefbf5fa);box-shadow:var(--shadow)}.portfolio-web-card:before{display:none}.portfolio-web-card__eyebrow,.portfolio-web-card__section-title{color:var(--accent-strong)}.portfolio-web-card__year{border-color:color-mix(in srgb,var(--border) 82%,white 18%);background:color-mix(in srgb,var(--surface-strong) 88%,white 12%);color:var(--text)}.portfolio-web-cover{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(12rem,.72fr);gap:1rem 1.2rem;min-height:100%;align-content:start}.portfolio-web-cover__rule{grid-column:1 / -1;height:1px;background:color-mix(in srgb,var(--border) 85%,transparent 15%)}.portfolio-web-cover__colophon,.portfolio-web-cover__edition,.portfolio-web-cover__meta-item span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}.portfolio-web-cover__identity{display:grid;gap:.55rem}.portfolio-web-card__eyebrow--cover{margin:0;font-size:.82rem;letter-spacing:.16em}.portfolio-web-cover__identity h2{margin:0;font-family:var(--font-display);font-size:clamp(2.8rem,5vw,3.8rem);line-height:.92;letter-spacing:-.05em}.portfolio-web-cover__subhead{margin:0;max-width:22rem;color:var(--text-soft);font-size:1rem;line-height:1.45}.portfolio-web-cover__pull{align-self:end;max-width:30rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--border) 82%,white 18%);font-size:1rem;line-height:1.7}.portfolio-web-cover__meta{display:grid;gap:.8rem;align-content:start}.portfolio-web-cover__meta-item{display:grid;gap:.2rem}.portfolio-web-cover__meta-item strong,.portfolio-web-cover__meta-item a{color:var(--text);text-decoration:none;font-size:.95rem;overflow-wrap:anywhere}.portfolio-web-cover__photo{grid-column:2;grid-row:2 / span 3;align-self:stretch;min-height:18rem;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 78%,white 22%);background:color-mix(in srgb,var(--surface-strong) 74%,white 26%)}.portfolio-web-cover__photo .portfolio-web-hero__photo{height:100%;object-fit:cover;object-position:center top}@media(max-width:900px){.portfolio-web-cover{grid-template-columns:1fr}.portfolio-web-cover__photo{grid-column:auto;grid-row:auto;min-height:14rem}}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js [data-reveal="2"]{transition-delay:.1s}.js [data-reveal="3"]{transition-delay:.18s}.js [data-reveal="4"]{transition-delay:.26s}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@page{size:A4;margin:16mm 18mm}@media print{.portfolio-doc{display:block!important}:root{--bg: white;--surface: white;--surface-strong: white;--surface-muted: #f3f4f6;--text: #111827;--text-soft: #374151;--border: #d1d5db;--shadow: none}body{background:#fff!important;color:var(--text);font-size:9.6pt}.site-header,.site-footer,.screen-only,.doc-toolbar{display:none!important}.print-only{display:block!important}.document-shell,.resume-section,.case-study,.page-hero,.detail-hero,.project-card,.research-card,.document-card{box-shadow:none!important;background:#fff!important;border-color:#d1d5db!important}.document-shell{padding:0;border:none}.resume-grid,.resume-compact-grid{grid-template-columns:1fr!important}.paper-sheet{width:100%;max-width:none;height:auto!important;min-height:auto;margin:0;padding:0 6mm;overflow:visible!important;border:none!important;border-radius:0;box-shadow:none!important;background:#fff!important}.paper-sheet--resume{height:auto;min-height:auto;font-size:8.8pt;break-inside:avoid;page-break-inside:avoid}.paper-sheet--resume-cv{height:auto;min-height:auto;padding:0 6mm;border:none!important;box-shadow:none!important;background:#fff!important;color:#111!important;font-family:Palatino,Palatino Linotype,Book Antiqua,Garamond,Times New Roman,Georgia,serif;font-size:10.4pt;line-height:1.26}.paper-sheet--resume-cv.document-shell{padding-top:6mm;padding-bottom:6mm}.paper-sheet--resume-cv .cv-print-header{margin-bottom:5.5mm}.paper-sheet--resume-cv .cv-print-header h1{font-size:22pt;line-height:1.05}.paper-sheet--resume-cv .cv-print-header__contacts{margin-top:1.2mm;font-size:10.2pt}.paper-sheet--resume-cv .cv-print-section+.cv-print-section{margin-top:6.5mm}.paper-sheet--resume-cv .cv-print-section h2{margin:0 0 1.8mm;padding-bottom:.7mm;border-bottom:.6pt solid #111;font-size:12pt;line-height:1.05}.paper-sheet--resume-cv .cv-print-copy p,.paper-sheet--resume-cv .cv-print-entry__detail,.paper-sheet--resume-cv .cv-print-bullets,.paper-sheet--resume-cv .cv-print-publications,.paper-sheet--resume-cv .cv-print-entry__subline,.paper-sheet--resume-cv .cv-print-entry__meta{font-size:10.2pt;line-height:1.24}.paper-sheet--resume-cv .cv-print-stack{display:block}.paper-sheet--resume-cv .cv-print-stack>*+*{margin-top:3.2mm}.paper-sheet--resume-cv .cv-print-stack--compact>*+*{margin-top:2.2mm}.paper-sheet--resume-cv .cv-print-section{break-inside:auto;page-break-inside:auto}.paper-sheet--resume-cv .cv-print-section h2{break-after:avoid-page;page-break-after:avoid}.paper-sheet--resume-cv .cv-print-entry,.paper-sheet--resume-cv .cv-print-publications li,.paper-sheet--resume-cv .cv-print-copy p{break-inside:avoid;page-break-inside:avoid}.paper-sheet--resume-cv .cv-print-entry__row{gap:4mm}.paper-sheet--resume-cv .cv-print-entry h3{font-size:11.2pt;line-height:1.1}.paper-sheet--resume-cv .cv-print-entry__subline{margin-top:.2mm}.paper-sheet--resume-cv .cv-print-entry__detail{margin-top:.8mm}.paper-sheet--resume-cv .cv-print-bullets{margin-top:.9mm;padding-left:6.5mm}.paper-sheet--resume-cv .cv-print-bullets li+li,.paper-sheet--resume-cv .cv-print-publications li+li,.paper-sheet--resume-cv .cv-print-copy p+p{margin-top:.8mm}.paper-sheet--resume-cv .cv-print-publications{padding-left:5.5mm}.paper-sheet--resume-cv .cv-print-publications li{padding-left:.6mm}.paper-sheet--resume .section-title{font-size:17pt}.paper-sheet--resume .section-lead{font-size:9.3pt}.paper-sheet--resume p,.paper-sheet--resume li,.paper-sheet--resume .muted,.paper-sheet--resume .inline-links--dense{font-size:8.2pt;line-height:1.24}.paper-sheet--resume .resume-section{padding:0!important;margin:0 0 4mm;border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.paper-sheet--resume .document-header{margin-bottom:.7rem;padding-bottom:.7rem}.paper-sheet--resume .resume-header{grid-template-columns:1.15fr .85fr;gap:4mm 6mm}.paper-sheet--resume .resume-header__meta{gap:2.2mm;padding-top:0}.paper-sheet--resume .resume-header__meta-group{gap:.5mm}.paper-sheet--resume .resume-header__meta-label{font-size:6.3pt}.paper-sheet--resume .resume-header__roles{gap:1.2mm;margin-top:2mm}.paper-sheet--resume .resume-header__role{min-height:0;padding:.85mm 2.2mm;font-size:7pt;border-width:.5pt}.paper-sheet--resume .resume-compact-grid{display:grid!important;grid-template-columns:1.18fr .92fr!important;gap:6mm!important;align-items:start}.paper-sheet--resume .document-list{gap:0!important}.paper-sheet--resume .resume-item+.resume-item,.paper-sheet--resume .document-item+.document-item{margin-top:.45rem;padding-top:.45rem}.paper-sheet--resume .resume-item,.paper-sheet--resume .resume-item--tight{margin-top:0;padding-top:0;border-top:none!important}.paper-sheet--resume .resume-section h2{margin:0 0 1.8mm;padding-bottom:1.2mm;border-bottom:.4pt solid #cbd5e1;font-size:9.8pt;line-height:1.2}.paper-sheet--resume .compact-bullets{margin-top:1.2mm;margin-bottom:0;padding-left:4mm}.paper-sheet--resume .compact-bullets li{margin-top:0;margin-bottom:.8mm}.paper-sheet--resume .inline-links--dense{gap:1.2mm 3mm}.paper-sheet--resume .small-label{font-size:6.6pt}.paper-sheet--resume .document-header{break-after:avoid-page;page-break-after:avoid}.paper-sheet--resume .resume-compact-grid{break-before:avoid-page;page-break-before:avoid;margin-top:0}.paper-sheet--resume .resume-section--summary p,.paper-sheet--resume .resume-section--research p{margin:0}.paper-sheet--resume .resume-item p{margin-top:.9mm}.paper-sheet--resume .compact-bullets--summary{margin-top:1mm}.paper-sheet--resume .resume-skill-group__skills,.paper-sheet--resume .resume-inline-note{margin-top:.7mm}.paper-sheet--portfolio{min-height:auto;font-size:9pt}.paper-sheet--portfolio-recognition.document-shell{padding-top:4.2mm}.paper-sheet--portfolio-cover .portfolio-overview-page{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:2.6mm!important;align-items:start;margin-top:1.6mm}.paper-sheet--portfolio .portfolio-cover{padding:0 0 2.8mm;margin-bottom:2.8mm;border:none!important;border-bottom:.5pt solid #cbd5e1!important}.paper-sheet--portfolio .portfolio-cover__hero{grid-template-columns:1.1fr .9fr!important;gap:3mm!important}.paper-sheet--portfolio .portfolio-cover__intro .section-lead{margin-top:1.4mm;max-width:40ch;line-height:1.22}.paper-sheet--portfolio .portfolio-cover__name-block{padding:1.4mm 2mm}.paper-sheet--portfolio .portfolio-cover__meta-grid{grid-template-columns:1fr!important;gap:1.2mm!important}.paper-sheet--portfolio .portfolio-cover__meta-item{grid-template-columns:14mm minmax(0,1fr)!important;gap:1.2mm!important}.paper-sheet--portfolio .portfolio-cover__meta-item dd{margin-top:0;line-height:1.18}.paper-sheet--portfolio .portfolio-cover__focus{gap:1.2mm 2mm!important;margin-top:1.4mm;padding-top:1.4mm}.paper-sheet--portfolio .portfolio-cover__focus-item p{margin-top:.5mm;line-height:1.15}.paper-sheet--portfolio .resume-section,.paper-sheet--portfolio .portfolio-section{padding:0!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.paper-sheet--portfolio .resume-section h2{margin:0 0 1.4mm;padding-bottom:.9mm;border-bottom:.4pt solid #cbd5e1;font-size:9.2pt;line-height:1.2}.paper-sheet--portfolio p,.paper-sheet--portfolio li,.paper-sheet--portfolio .muted{font-size:7.9pt;line-height:1.14}.paper-sheet--portfolio .resume-item,.paper-sheet--portfolio .resume-item--tight,.paper-sheet--portfolio .document-item{margin-top:0;padding-top:0;border-top:none!important}.paper-sheet--portfolio .resume-item+.resume-item,.paper-sheet--portfolio .document-item+.document-item{margin-top:.9mm;padding-top:.9mm;border-top:.4pt solid #e2e8f0!important}.paper-sheet--portfolio .case-study{break-inside:auto;page-break-inside:auto}.paper-sheet--portfolio-cover .portfolio-overview-page__stack{display:grid;gap:1.8mm}.paper-sheet--portfolio .case-study--sheet h3{font-size:16pt;line-height:1.04}.paper-sheet--portfolio .case-study__header{padding-bottom:2.6mm}.paper-sheet--portfolio .case-study__year-badge{min-height:7.5mm;padding:1mm 3mm;font-size:10pt}.paper-sheet--portfolio .case-study__dek{margin-top:3.2mm;font-size:10pt;line-height:1.35}.paper-sheet--portfolio .case-study__meta{margin-top:2.6mm}.paper-sheet--portfolio .small-label{margin-bottom:1.8mm}.paper-sheet--portfolio .case-study__body{grid-template-columns:minmax(0,1.5fr) minmax(44mm,.9fr);gap:6mm;margin-top:4mm}.paper-sheet--portfolio .case-study__section h4{margin:0 0 1.4mm;font-size:10.5pt}.paper-sheet--portfolio .case-study__section p{line-height:1.3}.paper-sheet--portfolio .case-study__section+.case-study__section{margin-top:3.6mm}.paper-sheet--portfolio .case-study__section--accent{padding:3mm 3.2mm}.paper-sheet--portfolio .case-study__metrics{margin-top:3.4mm}.paper-sheet--portfolio .case-study__footer{margin-top:4.6mm;padding-top:2.4mm}.paper-sheet--portfolio .case-study__group-label{margin-bottom:3.6mm;color:#325fdd;font-weight:700}.paper-sheet--portfolio-profile,.paper-sheet--portfolio-summary,.paper-sheet--portfolio-recognition{font-size:8.8pt}.paper-sheet--case-study.document-shell{padding-top:10.5mm}.paper-sheet--portfolio-profile .portfolio-print-profile{grid-template-columns:auto minmax(0,1fr);gap:6mm}.paper-sheet--portfolio-profile .portfolio-print-profile__media{font-size:16pt}.paper-sheet--portfolio-profile .portfolio-print-profile__header h1{font-size:26pt}.paper-sheet--portfolio-profile .portfolio-print-profile__contacts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3mm 10mm}.paper-sheet--portfolio-profile .portfolio-print-profile__contact,.paper-sheet--portfolio-profile .portfolio-print-profile__contact strong,.paper-sheet--portfolio-profile .portfolio-print-profile__contact a,.paper-sheet--portfolio-profile .portfolio-print-profile__contact span{display:block!important}.paper-sheet--portfolio-profile .portfolio-print-profile__headline{margin-top:8.5mm;font-size:12.8pt}.paper-sheet--portfolio-profile .portfolio-print-profile__summary{margin-top:3.4mm;line-height:1.4}.paper-sheet--portfolio-profile .portfolio-print-profile__principles{margin-top:4.2mm}.paper-sheet--portfolio-profile .portfolio-print-section,.paper-sheet--portfolio-summary .portfolio-print-section,.paper-sheet--portfolio-recognition .portfolio-print-section{margin-top:4.8mm;padding-top:2.8mm}.paper-sheet--portfolio-summary .portfolio-print-summary__row{margin-top:6.2mm}.paper-sheet--portfolio-profile .portfolio-print-section+.portfolio-print-section{margin-top:6mm}.paper-sheet--portfolio-profile .portfolio-print-entry+.portfolio-print-entry,.paper-sheet--portfolio-summary .portfolio-print-entry+.portfolio-print-entry,.paper-sheet--portfolio-recognition .portfolio-print-entry+.portfolio-print-entry{margin-top:3.2mm}.paper-sheet--portfolio-profile .portfolio-print-entry,.paper-sheet--portfolio-summary .portfolio-print-entry,.paper-sheet--portfolio-recognition .portfolio-print-entry,.paper-sheet--portfolio-profile .portfolio-print-entry ul,.paper-sheet--portfolio-summary .portfolio-print-entry ul,.paper-sheet--portfolio-recognition .portfolio-print-entry ul{break-inside:avoid;page-break-inside:avoid}.paper-sheet--portfolio-profile .portfolio-print-entry__header h3,.paper-sheet--portfolio-summary .portfolio-print-entry__header h3,.paper-sheet--portfolio-recognition .portfolio-print-entry__header h3{font-size:11pt}.paper-sheet--case-study .portfolio-print-project-page__header h2{font-size:18pt;line-height:1.05}.paper-sheet--case-study .portfolio-print-project-page__eyebrow{margin-bottom:2mm;font-size:8.5pt}.paper-sheet--case-study .portfolio-print-project-page__list,.paper-sheet--case-study .external-links{margin-top:1.8mm}.paper-sheet--portfolio-recognition .portfolio-print-recognition-page{gap:3.6mm}.paper-sheet--portfolio-recognition .portfolio-print-recognition-page__title{margin-top:1.6mm;font-size:19pt}.paper-sheet--portfolio-recognition .portfolio-print-recognition-page__section{margin-top:0}.paper-sheet--portfolio-recognition .portfolio-print-recognition-page__section+.portfolio-print-recognition-page__section{margin-top:0}.paper-sheet--portfolio-recognition .portfolio-print-entry--recognition+.portfolio-print-entry--recognition{margin-top:2.6mm}.paper-sheet--portfolio-recognition .portfolio-print-entry--recognition .portfolio-print-entry__header h3{font-size:10pt}.paper-sheet--portfolio-recognition .portfolio-print-entry--recognition .portfolio-print-entry__meta{margin-top:1mm}.paper-sheet--portfolio-recognition .portfolio-print-entry--recognition ul{margin-top:1.2mm}.paper-sheet--portfolio-summary .portfolio-print-section{break-inside:auto;page-break-inside:auto}.paper-sheet--portfolio-summary .portfolio-print-section h2{break-after:avoid-page;page-break-after:avoid}.paper-sheet--portfolio-summary .portfolio-print-entry--compact+.portfolio-print-entry--compact{margin-top:3.8mm}.paper-sheet--portfolio-summary .portfolio-print-entry--compact ul{margin-top:1.8mm}.paper-sheet--portfolio .case-study__footer .external-links{margin-top:0}.paper-sheet--portfolio .case-study__group+.case-study__group{margin-top:4.2mm}.paper-sheet--portfolio .metric-badge,.paper-sheet--portfolio .tag-chip,.paper-sheet--portfolio .external-link,.paper-sheet--portfolio .button-link-secondary{box-shadow:none!important;background:transparent!important;border:.4pt solid #cbd5e1!important;color:#111827!important}.paper-sheet--portfolio .external-links,.paper-sheet--portfolio .tag-row,.paper-sheet--portfolio .meta-row{gap:1.6mm}.paper-sheet--portfolio .button-link-secondary,.paper-sheet--portfolio .metric-badge,.paper-sheet--portfolio .tag-chip,.paper-sheet--portfolio .external-link{padding-top:1.4mm;padding-bottom:1.4mm}a{color:inherit;text-decoration:none}.paper-sheet--portfolio .resume-section,.paper-sheet--portfolio .portfolio-cover,.paper-sheet--portfolio .document-item,.paper-sheet--portfolio .resume-item{break-inside:auto;page-break-inside:auto}.paper-sheet--portfolio .case-study__footer,.paper-sheet--portfolio .case-study__metrics,.resume-section,.case-study,.document-header,.portfolio-cover,.resume-item,.document-item{break-inside:avoid;page-break-inside:avoid}.portfolio-doc>.paper-sheet{display:block!important;break-before:auto;page-break-before:auto;break-after:page;page-break-after:always}.portfolio-doc>.paper-sheet:last-child{break-after:auto;page-break-after:auto}.portfolio-print-dump{display:block;width:100%;padding:0;color:#111827;font-size:10.2pt;line-height:1.5}.portfolio-print-dump__hero,.portfolio-print-dump__section,.portfolio-print-dump__entry,.portfolio-print-dump__item,.portfolio-print-dump__project,.portfolio-print-dump__recognition-card,.portfolio-print-dump__research-card,.portfolio-print-dump__study-card,.portfolio-print-dump__capability-card,.portfolio-print-dump__principle-card{break-inside:avoid;page-break-inside:avoid}.portfolio-print-dump__hero{display:grid;grid-template-columns:34mm minmax(0,1.35fr) minmax(38mm,.9fr);gap:8mm;padding:4.4mm 4.8mm 6.8mm;border:.6pt solid #d8e3f0;border-radius:4.5mm;background:linear-gradient(180deg,#eff6fff2,#fff0 38%),#fff;align-items:stretch;box-shadow:inset 0 0 0 .4pt #ffffffb3}.portfolio-print-dump__hero-main,.portfolio-print-dump__hero-side,.portfolio-print-dump__formation,.portfolio-print-dump__list,.portfolio-print-dump__project-list{display:grid;gap:4mm}.portfolio-print-dump__hero-side{grid-template-rows:repeat(4,1fr);align-content:stretch;gap:0;min-height:100%}.portfolio-print-dump__hero-photo{display:flex;align-items:flex-start;justify-content:center}.portfolio-print-dump__hero-photo-image{display:block;width:100%;border:.5pt solid #cbd5e1;border-radius:3.2mm;box-shadow:0 0 0 1.4mm #ffffffe0}.portfolio-print-dump__eyebrow{color:#2563eb;font-size:8.2pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portfolio-print-dump__headline{max-width:92mm;font-size:16.8pt;font-weight:700;line-height:1.16}.portfolio-print-dump__intro{display:grid;gap:2mm;max-width:88mm}.portfolio-print-dump__keywords{display:flex;flex-wrap:wrap;gap:1.4mm;grid-column:2 / 4;margin-top:2.2mm}.portfolio-print-dump__keywords span,.portfolio-print-dump__tag-row{color:#334155;font-size:8.9pt}.portfolio-print-dump__keywords span{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.7mm 1.8mm;border:.4pt solid #cbd5e1;border-radius:999px;white-space:nowrap}.portfolio-print-dump__meta{display:grid;gap:.8mm;padding:1.2mm 0 2.2mm;border-bottom:.4pt solid #e2e8f0;align-content:start;min-height:100%}.portfolio-print-dump__meta strong{color:#0f172a;font-size:8.7pt}.portfolio-print-dump__meta span,.portfolio-print-dump__meta a{color:#334155;font-size:9pt;line-height:1.38}.portfolio-print-dump__section{display:block;margin:0;padding:0;break-inside:auto;page-break-inside:auto}.portfolio-print-dump__section+.portfolio-print-dump__section{margin-top:8mm}.portfolio-print-dump__hero+.portfolio-print-dump__section{margin-top:8mm}.portfolio-print-dump__section--page-start{break-before:page;page-break-before:always}.portfolio-print-dump__section--capability{margin-top:5.5mm!important}.portfolio-print-dump__hero h1,.portfolio-print-dump__section h2,.portfolio-print-dump__section h3,.portfolio-print-dump__section h4,.portfolio-print-dump__hero p,.portfolio-print-dump__section p,.portfolio-print-dump__section ul{margin:0}.portfolio-print-dump__hero h1{font-size:23pt;line-height:1.1}.portfolio-print-dump__section h2{margin-bottom:3mm;padding-bottom:1.5mm;border-bottom:.4pt solid #dbe4f0;color:#2563eb;font-size:14.5pt;line-height:1.2;break-after:avoid-page;page-break-after:avoid}.portfolio-print-dump__section h3{font-size:11.5pt;line-height:1.25;break-after:avoid-page;page-break-after:avoid}.portfolio-print-dump__section h4{margin-top:2mm;font-size:10pt;line-height:1.2}.portfolio-print-dump__section-copy{max-width:150mm}.portfolio-print-dump__section p+p,.portfolio-print-dump__section p+ul,.portfolio-print-dump__section ul+p,.portfolio-print-dump__section h2+p,.portfolio-print-dump__section h3+p,.portfolio-print-dump__section h4+ul{margin-top:1.6mm}.portfolio-print-dump__section ul{padding-left:4.5mm}.portfolio-print-dump__item{display:block}.portfolio-print-dump__item+.portfolio-print-dump__item{margin-top:4.5mm}.portfolio-print-dump__principles,.portfolio-print-dump__capability-grid,.portfolio-print-dump__recognition-grid,.portfolio-print-dump__study-grid{display:grid;gap:3.6mm}.portfolio-print-dump__principles{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-print-dump__principle-card,.portfolio-print-dump__capability-card,.portfolio-print-dump__study-card,.portfolio-print-dump__recognition-card,.portfolio-print-dump__research-card,.portfolio-print-dump__project{padding:3.6mm 4mm;border:.5pt solid #dbe4f0;border-radius:3mm;background:#fff}.portfolio-print-dump__principle-card p,.portfolio-print-dump__capability-card p,.portfolio-print-dump__study-card p,.portfolio-print-dump__recognition-card p,.portfolio-print-dump__research-card p,.portfolio-print-dump__project p{color:#334155}.portfolio-print-dump__principle-card h3+p,.portfolio-print-dump__recognition-card h3+p,.portfolio-print-dump__study-card h4+p,.portfolio-print-dump__capability-card h3+p,.portfolio-print-dump__research-card h3+p,.portfolio-print-dump__project-head h3+p{margin-top:1.4mm}.portfolio-print-dump__formation{gap:7mm}.portfolio-print-dump__formation-block{display:grid;gap:3mm}.portfolio-print-dump__section h2+.portfolio-print-dump__formation,.portfolio-print-dump__formation-block h3+.portfolio-print-dump__item,.portfolio-print-dump__formation-block h3+.portfolio-print-dump__study-grid{break-before:avoid-page;page-break-before:avoid}.portfolio-print-dump__formation-block+.portfolio-print-dump__formation-block{margin-top:2mm}.portfolio-print-dump__study-grid,.portfolio-print-dump__recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-print-dump__capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.6mm}.portfolio-print-dump__study-card{border-color:#e2e8f0;background:linear-gradient(180deg,#f8fafce6,#fff);box-shadow:none}.portfolio-print-dump__study-card h4{font-size:11.2pt}.portfolio-print-dump__study-card .portfolio-print-dump__entry-meta{color:#64748b}.portfolio-print-dump__capability-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:1mm;border-color:#cfd9e6;background:linear-gradient(180deg,#eff6ff8c,#fff 70%);box-shadow:inset 0 0 0 .35pt #bfdbfe8c;padding:2.8mm 3.2mm}.portfolio-print-dump__capability-card h3{font-size:11.2pt}.portfolio-print-dump__capability-card>p:first-of-type{font-size:9.1pt;line-height:1.38}.portfolio-print-dump__capability-card .portfolio-print-dump__tag-row{align-self:end;min-height:2.45em;font-size:8.1pt;line-height:1.28;padding-top:1.1mm;border-top:.4pt solid #dbe4f0}.portfolio-print-dump__entry,.portfolio-print-dump__research-card{padding-bottom:4mm;border-bottom:.4pt solid #e2e8f0}.portfolio-print-dump__entry+.portfolio-print-dump__entry,.portfolio-print-dump__research-card+.portfolio-print-dump__research-card{padding-top:1.5mm}.portfolio-print-dump__entry{position:relative;padding-left:3.2mm}.portfolio-print-dump__entry:before{content:"";position:absolute;left:0;top:.8mm;width:1.1mm;height:calc(100% - 1.2mm);border-radius:999px;background:linear-gradient(180deg,#2563eb,#93c5fd);opacity:.9}.portfolio-print-dump__entry-head,.portfolio-print-dump__project-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2mm 4mm;align-items:start}.portfolio-print-dump__project-head>:nth-child(1),.portfolio-print-dump__project-head>:nth-child(2),.portfolio-print-dump__project-head>:nth-child(3),.portfolio-print-dump__project-head>:nth-child(4){grid-column:1 / -1}.portfolio-print-dump__entry-meta{color:#475569;font-size:9.1pt}.portfolio-print-dump__entry-period,.portfolio-print-dump__recognition-kind{color:#64748b;font-size:8.9pt;font-weight:700}.portfolio-print-dump__project-list{gap:4.5mm}.portfolio-print-dump__project-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.6mm}.portfolio-print-dump__project-archive-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:1.3mm;padding:2.6mm 3mm;border:.5pt solid #dbe4f0;border-radius:3mm;background:#fff;break-inside:avoid;page-break-inside:avoid}.portfolio-print-dump__project-archive-card h3{font-size:10.4pt;line-height:1.2}.portfolio-print-dump__project-archive-card p{color:#334155}.portfolio-print-dump__project-archive-card>p:nth-of-type(2){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:9.1pt;line-height:1.38}.portfolio-print-dump__project-archive-card .portfolio-print-dump__tag-row{display:-webkit-box;overflow:hidden;min-height:2.4em;font-size:8.5pt;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portfolio-print-dump__project{padding:3.8mm 4.2mm;border-top:.8pt solid #94a3b8}.portfolio-print-dump__project-body{display:grid;gap:2.4mm;margin-top:2.8mm}.portfolio-print-dump__project-block,.portfolio-print-dump__project-meta{display:grid;gap:1.1mm}.portfolio-print-dump__project-meta{margin-top:2.4mm}.portfolio-print-dump__project-head h3{font-size:13.8pt;line-height:1.15}.portfolio-print-dump__project-head>p{margin-top:1.4mm}.portfolio-print-dump__project-meta-row{display:flex;flex-wrap:wrap;gap:1.2mm;margin-top:1.8mm;color:#475569;font-size:8.4pt}.portfolio-print-dump__project-meta-row span{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.55mm 1.45mm;border:.4pt solid #d8e0ea;border-radius:999px;white-space:nowrap}.portfolio-print-dump__case-study-page{display:block}.portfolio-print-dump__case-study-topline{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:8.6pt;font-weight:700;margin-bottom:2.2mm}.portfolio-print-dump__project--case{min-height:238mm;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(34mm,.9fr);grid-template-rows:auto auto 1fr;align-content:start;padding:3.4mm 4mm;border:0;border-radius:0;background:radial-gradient(circle at top right,rgba(59,130,246,.28) 0,rgba(59,130,246,.28) 10mm,transparent 10mm),linear-gradient(180deg,#dbeafef2,#eff6ff61 26%,#fff0 42%),linear-gradient(90deg,rgba(30,64,175,.13) 0,rgba(30,64,175,.13) 10mm,transparent 10mm),#fff;break-inside:avoid;page-break-inside:avoid;box-sizing:border-box;position:relative;overflow:hidden}.portfolio-print-dump__project-titleblock{display:grid;gap:1.4mm}.portfolio-print-dump__project--case:before{content:"";position:absolute;inset:0;border:.75pt solid #cfd9e6;pointer-events:none}.portfolio-print-dump__project--case:after{content:"";position:absolute;right:-14mm;top:-14mm;width:46mm;height:46mm;border-radius:50%;background:radial-gradient(circle,#1e40af33,#60a5fa14 46%,#1e40af00 72%);pointer-events:none}.portfolio-print-dump__project--case .portfolio-print-dump__project-head{gap:1.5mm 3mm;grid-column:1 / -1;padding:7mm 6mm 4.4mm 14mm;border-bottom:.5pt solid #dbe4f0;background:linear-gradient(90deg,rgba(37,99,235,.16) 0,rgba(37,99,235,.16) 10mm,transparent 10mm),linear-gradient(180deg,#ffffffbd,#ffffff3d);position:relative}.portfolio-print-dump__project--case .portfolio-print-dump__project-head:after{content:"";position:absolute;left:14mm;bottom:-.5pt;width:24mm;height:1.2pt;background:linear-gradient(90deg,#2563eb,#60a5fa)}.portfolio-print-dump__project--case .portfolio-print-dump__project-head h3{font-size:14.6pt;line-height:1.1;letter-spacing:-.01em;color:#0f172a}.portfolio-print-dump__project--case .portfolio-print-dump__project-body{gap:1.8mm;margin-top:2mm;grid-column:1;padding:5mm 5mm 0 14mm}.portfolio-print-dump__project--case .portfolio-print-dump__project-block{gap:.7mm;padding:2.4mm 2.2mm 2.8mm 0;border-bottom:.35pt solid #e5e7eb;position:relative}.portfolio-print-dump__project--case .portfolio-print-dump__project-block:before{content:"";position:absolute;left:-5.2mm;top:2.6mm;width:2.4mm;height:2.4mm;border-radius:50%;background:linear-gradient(180deg,#1d4ed8,#93c5fd)}.portfolio-print-dump__project--case .portfolio-print-dump__project-block:nth-child(1){background:linear-gradient(90deg,#eff6ffad,#eff6ff00 65%)}.portfolio-print-dump__project--case .portfolio-print-dump__project-block:nth-child(2){background:linear-gradient(90deg,#f8fafcf5,#f8fafc00 68%)}.portfolio-print-dump__project--case .portfolio-print-dump__project-block:nth-child(3){background:linear-gradient(90deg,#eff6ff85,#eff6ff00 62%)}.portfolio-print-dump__project-aside{grid-column:2;grid-row:3;display:grid;align-content:start;gap:2.2mm;padding:5mm 0 0 4.2mm;border-left:.5pt solid #dbe4f0;margin-top:2mm;position:relative}.portfolio-print-dump__project-aside:before{content:"";position:absolute;left:-.5pt;top:5mm;width:1.4pt;height:28mm;background:linear-gradient(180deg,#2563eb,#93c5fd 62%,#2563eb00)}.portfolio-print-dump__project--case .portfolio-print-dump__project-meta{gap:.7mm;margin-top:0;padding:2.8mm;border:.45pt solid #dbe4f0;background:linear-gradient(180deg,#fff,#f1f5f9eb);box-shadow:inset 0 0 0 .35pt #fffc,0 1.1mm 2.4mm #94a3b81f;position:relative}.portfolio-print-dump__project--case .portfolio-print-dump__project-meta:before{content:"";position:absolute;left:0;top:0;width:100%;height:1.2mm;background:linear-gradient(90deg,#2563eb,#60a5fa 55%,#60a5fa2e)}.portfolio-print-dump__project--case .portfolio-print-dump__project-head>p{margin-top:.8mm}.portfolio-print-dump__project--case .portfolio-print-dump__project-meta-row{margin-top:1mm;gap:.9mm;font-size:7.9pt}.portfolio-print-dump__project--case .portfolio-print-dump__project-meta-row span{padding:.4mm 1.1mm}.portfolio-print-dump__project--case h4{margin-top:1.4mm;font-size:9.4pt;text-transform:uppercase;letter-spacing:.04em;color:#0f172a}.portfolio-print-dump__project--case p,.portfolio-print-dump__project--case li{font-size:9.1pt;line-height:1.36}.portfolio-print-dump__project--case ul{padding-left:4mm}.portfolio-print-dump__project--case .portfolio-print-dump__eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:.9mm 2.1mm;border:.45pt solid rgba(37,99,235,.22);border-radius:999px;background:linear-gradient(180deg,#eff6ff,#dbeafef0);box-shadow:inset 0 0 0 .35pt #ffffffe0}.portfolio-print-dump__metric-grid{display:grid;gap:1.4mm}.portfolio-print-dump__metric-card{display:grid;place-items:center start;min-height:10mm;padding:1.8mm 2.2mm;border:.45pt solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#dbeafec7)}.portfolio-print-dump__metric-card span{color:#0f172a;font-size:8.8pt;font-weight:700;line-height:1.25}.portfolio-print-dump__chip-row{display:flex;flex-wrap:wrap;gap:1.1mm}.portfolio-print-dump__chip{display:inline-flex;align-items:center;padding:.65mm 1.5mm;border:.4pt solid #c7d2fe;border-radius:999px;background:#eef2ffeb;color:#1e3a8a;font-size:8.1pt;font-weight:600;line-height:1.2}.portfolio-print-dump__link-stack{display:grid;gap:1.4mm}.portfolio-print-dump__link-card{display:grid;gap:.7mm;padding:1.8mm 2.2mm;border:.45pt solid #dbe4f0;background:linear-gradient(180deg,#fff,#f8fafceb);color:#0f172a!important;text-decoration:none}.portfolio-print-dump__link-card strong{color:#1d4ed8;font-size:8.4pt}.portfolio-print-dump__link-card span{color:#334155;font-size:7.8pt;line-height:1.3;word-break:break-all}.portfolio-print-dump__project-meta ul,.portfolio-print-dump__recognition-card ul,.portfolio-print-dump__entry ul{margin-top:1.4mm}.portfolio-print-dump__recognition-grid{gap:2.8mm}.portfolio-print-dump__recognition-card{padding:3mm 3.4mm}.portfolio-print-dump__recognition-card h3{font-size:11pt;line-height:1.2}.portfolio-print-dump__recognition-card p,.portfolio-print-dump__recognition-card li{font-size:9.2pt;line-height:1.4}.portfolio-print-dump__recognition-card ul{padding-left:4mm}}
