:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-cool: #f1f3f7;--color-surface-warm: #faf9f7;--color-surface-elevated: var(--color-surface-cool);--color-surface-panel: var(--color-surface-warm);--color-surface-panel-hover: #ffffff;--panel-hover-border: color-mix(in srgb, var(--color-accent) 14%, var(--color-border));--color-accent: #0057ff;--color-accent-hover: #0046cc;--color-on-accent: #ffffff;--color-accent-subtle: color-mix(in srgb, var(--color-accent) 10%, transparent);--color-accent-subtle-hover: color-mix(in srgb, var(--color-accent) 18%, transparent);--color-accent-border: color-mix(in srgb, var(--color-accent) 22%, transparent);--color-accent-glow: color-mix(in srgb, var(--color-accent) 12%, transparent);--color-linkedin: #0a66c2;--color-linkedin-hover: #004182;--color-telegram: #26a5e4;--color-telegram-hover: #1c8fd0;--color-resume: #475569;--color-resume-hover: #334155;--color-on-brand-btn: #ffffff;--color-text-primary: #0f172a;--color-text-secondary: #3f4d5f;--color-text-muted: #5b6578;--color-text-card-heading: var(--color-text-primary);--color-text-card-body: #334155;--color-border: #e4e4e7;--color-border-hover: #d4d4d8;--color-placeholder-bg: #eef1f5;--color-placeholder-border: #7c8da1;--color-placeholder-text: #475569;--color-experience-role-senior-bg: #f3e8ff;--color-experience-role-senior-text: #7e22ce;--color-experience-role-lead-bg: #dbeafe;--color-experience-role-lead-text: var(--color-accent-hover);--color-experience-role-default-bg: #f4f4f5;--color-experience-role-default-text: #3f3f46;--size-experience-bullet: calc(2 * var(--space-unit));--color-mesh-base: #faf9f7;--color-mesh-border: rgba(255, 255, 255, .65);--gradient-mesh-blobs: radial-gradient(ellipse 130% 95% at 94% 6%, rgba(186, 225, 255, .88) 0%, transparent 62%), radial-gradient(ellipse 115% 90% at 90% 48%, rgba(255, 196, 218, .82) 0%, transparent 64%), radial-gradient(ellipse 105% 85% at 96% 94%, rgba(255, 214, 186, .78) 0%, transparent 58%), radial-gradient(ellipse 80% 70% at 18% 82%, rgba(228, 210, 255, .52) 0%, transparent 52%), var(--color-mesh-base);--gradient-mesh-glass: linear-gradient( 152deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .38) 40%, rgba(255, 255, 255, .58) 100% );--gradient-mesh-glass-hover: linear-gradient( 152deg, rgba(255, 255, 255, .68) 0%, rgba(255, 255, 255, .28) 40%, rgba(255, 255, 255, .48) 100% );--gradient-accent-text: linear-gradient( 90deg, #2563eb 0%, #7c3aed 32%, #db2777 62%, #ea580c 100% );--gradient-glow: radial-gradient(ellipse 58% 52% at 18% 28%, rgba(205, 214, 255, .42) 0%, transparent 78%), radial-gradient(ellipse 52% 48% at 86% 24%, rgba(186, 230, 253, .38) 0%, transparent 76%), radial-gradient(ellipse 40% 36% at 62% 88%, rgba(224, 236, 255, .28) 0%, transparent 78%);--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: var(--font-sans);--font-heading: var(--font-sans);--font-hand: "Delius", "Segoe Print", "Bradley Hand", cursive;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--weight-display: var(--font-weight-semibold);--weight-heading: var(--font-weight-semibold);--weight-title: var(--font-weight-medium);--weight-body: var(--font-weight-normal);--weight-ui: var(--font-weight-medium);--weight-label: var(--font-weight-semibold);--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-display: -.025em;--tracking-wide: .02em;--tracking-wider: .05em;--line-tight: 1.05;--line-heading: 1.12;--line-display: 1.1;--line-snug: 1.35;--line-compact: 1.45;--line-body: 1.6;--line-relaxed: 1.65;--line-prose: 1.7;--line-ui: 1;--type-unit: .25rem;--type-scale-micro: calc(3 * var(--type-unit));--type-scale-0: calc(4 * var(--type-unit));--type-jump-0-1: calc(2 * var(--type-unit));--type-scale-1: calc(var(--type-scale-0) + var(--type-jump-0-1));--type-jump-0-2: calc(3 * var(--type-unit));--type-scale-2: calc(var(--type-scale-0) + var(--type-jump-0-2));--type-jump-1-3: calc(3 * var(--type-unit));--type-scale-3: calc(var(--type-scale-1) + var(--type-jump-1-3));--type-jump-3-4: calc(4 * var(--type-unit));--type-scale-4: calc(var(--type-scale-3) + var(--type-jump-3-4));--type-jump-4-5: calc(6 * var(--type-unit));--type-scale-5: calc(var(--type-scale-4) + var(--type-jump-4-5));--text-12: var(--type-scale-micro);--text-16: var(--type-scale-0);--text-20: calc(5 * var(--type-unit));--text-28: var(--type-scale-2);--text-36: var(--type-scale-3);--text-fluid-page: clamp(var(--type-scale-3), 2.8vw + 1rem, var(--type-scale-4));--text-fluid-hero: clamp(var(--type-scale-3), 3.5vw + 1.25rem, var(--type-scale-5));--space-unit: var(--type-unit);--space-4: calc(1 * var(--space-unit));--space-8: calc(2 * var(--space-unit));--space-12: calc(3 * var(--space-unit));--space-16: calc(4 * var(--space-unit));--space-24: calc(6 * var(--space-unit));--space-32: calc(8 * var(--space-unit));--space-48: calc(12 * var(--space-unit));--space-64: calc(16 * var(--space-unit));--space-96: calc(24 * var(--space-unit));--space-section: var(--space-64);--space-section-desktop: var(--space-96);--space-inset: var(--space-32);--space-stack: var(--space-24);--space-avatar: calc(18 * var(--space-unit));--gap-hairline: var(--space-4);--gap-tight: var(--space-8);--gap-compact: var(--space-12);--gap-default: var(--space-16);--gap-relaxed: var(--space-24);--gap-loose: var(--space-32);--gap-spacious: var(--space-48);--gap-wide: var(--space-64);--gap-max: var(--space-96);--gap-section: var(--space-section);--gap-inset: var(--space-inset);--gap-stack: var(--space-stack);--gap-experience-list: var(--space-48);--gap-experience-list-desktop: var(--space-64);--gap-experience-list-summary: var(--space-24);--gap-experience-list-summary-desktop: var(--space-32);--gap-experience-entry: var(--space-12);--gap-experience-row: var(--space-24);--gap-experience-column: var(--space-32);--gap-experience-body: var(--space-16);--gap-experience-headline: var(--space-12);--gap-experience-title: var(--space-4);--gap-experience-bullets: var(--space-8);--gap-experience-date-sep: var(--space-8);--radius-experience-logo: var(--radius-12);--padding-experience-logo-placeholder: var(--space-4);--gap-impact-section: var(--space-48);--gap-impact-columns: var(--space-48);--font-size-micro: var(--text-12);--font-size-body: var(--text-16);--font-size-ui: var(--text-16);--font-size-caption: var(--text-16);--font-size-lead: var(--text-20);--font-size-title: var(--text-28);--font-size-section: var(--text-36);--font-size-page: var(--text-fluid-page);--font-size-hero: var(--text-fluid-hero);--font-size-experience-role: var(--text-20);--font-size-experience-meta: var(--text-16);--radius-tight: var(--radius-4);--radius-control: var(--radius-8);--radius-logo: var(--radius-12);--radius-surface: var(--radius-16);--radius-panel: var(--radius-24);--size-experience-logo: calc( var(--font-size-experience-role) * var(--line-snug) + var(--font-size-experience-meta) * var(--line-snug) + var(--gap-experience-title) );--size-page-mark: calc(32 * var(--space-unit));--size-page-mark-desktop: calc(60 * var(--space-unit));--color-pill-bg: var(--color-surface);--color-pill-border: var(--color-border);--color-pill-text: var(--color-text-secondary);--size-pill-logo: var(--space-16);--radius-4: var(--space-4);--radius-8: var(--space-8);--radius-12: var(--space-12);--radius-16: var(--space-16);--radius-24: var(--space-24);--radius-32: var(--space-32);--radius-full: 50%;--aspect-square: 1 / 1;--aspect-standard: 4 / 3;--aspect-wide: 16 / 9;--aspect-photo: 3 / 2;--aspect-photo-portrait: 2 / 3;--aspect-portrait: 3 / 4;--max-width-tablet: 72rem;--max-width-desktop: 90rem;--content-padding-tablet: clamp(var(--space-32), 5vw, var(--space-48));--content-padding-desktop: clamp(var(--space-32), 4vw, var(--space-64));--max-width: var(--max-width-tablet);--content-padding: var(--content-padding-tablet);--viewport-min: 100svh;--viewport-fallback: 100vh;--bp-sm: 40rem;--bp-md: 48rem;--bp-lg: var(--bp-md);--bp-xl: 64rem;--bp-2xl: var(--bp-xl);--bp-3xl: 120rem;--bp-nav-max: 63.99rem;--size-icon-toggle: calc(10 * var(--space-unit));--size-deck-tick: var(--space-12);--size-deck-tick-active: var(--space-16);--size-deck-contact-icon: var(--space-16);--size-deck-thanks-heart: calc(32 * var(--space-unit));--size-nav-drawer-max: calc(75 * var(--space-unit));--size-site-header: calc(20 * var(--space-unit));--size-contact-portrait: clamp(calc(22 * var(--space-unit)), 14vw, calc(30 * var(--space-unit)));--input-min-height: calc(16 * var(--space-unit));--size-btn-min-height: calc(11 * var(--space-unit));--size-contact-actions-max: calc(120 * var(--space-unit));--space-btn-gap: var(--space-12);--space-btn-padding-y: var(--space-12);--space-btn-padding-x: var(--space-16);--border-width: 1px;--border-width-thin: .5px;--border-width-thick: 2px;--outline-width: 2px;--outline-offset: 2px;--shadow-panel-rest: inset 0 1px 0 rgba(255, 255, 255, .95), 0 1px 2px rgba(15, 23, 42, .03), 0 8px 32px rgba(15, 23, 42, .06), 0 24px 48px rgba(15, 23, 42, .04);--shadow-panel-hover: inset 0 1px 0 rgba(255, 255, 255, .98), 0 2px 4px rgba(15, 23, 42, .04), 0 12px 40px rgba(15, 23, 42, .08), 0 32px 64px rgba(15, 23, 42, .05);--radius-card: var(--radius-32);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .12);--shadow-btn-hover: 0 4px 12px rgba(0, 0, 0, .18);--opacity-subtle: .85;--opacity-muted: .6;--opacity-faint: .28;--transition-fast: .2s ease;--transition-base: .3s ease;--measure-md: 36ch;--measure-lg: 42ch;--measure-xl: 48ch;--measure-2xl: 52ch;--measure-hero: 50ch;--measure-quote: 55ch;--measure-content: 65ch;--color-thought-paper: #faf6e4;--color-thought-paper-border: #ebe3cf;--color-thought-paper-text: #292524;--color-thought-paper-text-muted: #57534e;--shadow-thought-paper: 0 1px 1px rgba(41, 37, 36, .05), 0 10px 28px rgba(41, 37, 36, .08);--color-modal-backdrop: color-mix(in srgb, var(--color-text-primary) 55%, transparent);--color-text-on-media: #ffffff;--gradient-work-scrim: linear-gradient( to top, color-mix(in srgb, #0f172a 78%, transparent) 0%, color-mix(in srgb, #0f172a 36%, transparent) 42%, transparent 72% );--gradient-deck-cover-scrim: var(--gradient-work-scrim);--color-deck-mist: #e8e8e8;--color-deck-graphite: #6f7271;--color-deck-crimson: #a85a4a;--color-deck-gold: #b08d5b;--color-deck-violet: #7a6b8a;--color-deck-olive: #8a8570;--color-deck-status-ok: #3d8b6e;--color-deck-status-warn: #c4a035;--color-deck-status-alert: #c45c4a;--color-deck-greybox: #d7dbe2;--color-deck-greybox-edge: #9aa3b2;--size-deck-phone-width: calc(56 * var(--space-unit));--size-deck-phone-width-lg: calc(72 * var(--space-unit));--size-deck-phone-width-mobile: calc(40 * var(--space-unit));--size-deck-phone-max-height: calc(132 * var(--space-unit));--size-deck-asset-max-height: min(calc(72 * var(--space-unit)), 32dvh);--size-deck-asset-footnote-min-height: calc(12 * var(--space-unit));--aspect-deck-phone: 1350 / 2760;--inset-deck-phone-screen-top: 2.1%;--inset-deck-phone-screen-right: 4.9%;--inset-deck-phone-screen-bottom: 2.1%;--inset-deck-phone-screen-left: 4.9%;--ratio-deck-phone-screen-radius: .125;--size-deck-phone-stack-overlap: calc(var(--size-deck-phone-width) * .6);--size-deck-phone-stack-overlap-mobile: calc(var(--size-deck-phone-width-mobile) * .42);--size-deck-phone-stack-visible: calc(var(--size-deck-phone-max-height) * .72 + var(--gap-spacious));--size-deck-phone-stack-crop: calc(var(--size-deck-phone-max-height) * -.34 + var(--gap-spacious));--size-deck-brand-mark: calc(8 * var(--space-unit))}@media(min-width:120rem){:root{--max-width: var(--max-width-desktop);--content-padding: var(--content-padding-desktop);--space-section: var(--space-section-desktop)}}[data-theme=dark]{--color-bg: #09090b;--color-surface: rgba(24, 24, 27, .5);--color-surface-cool: #161b24;--color-surface-warm: #241f1a;--color-surface-elevated: var(--color-surface-cool);--color-surface-panel: var(--color-surface-warm);--color-surface-panel-hover: #222226;--color-mesh-base: #18181b;--gradient-mesh-blobs: radial-gradient(ellipse 130% 95% at 94% 6%, rgba(96, 165, 250, .2) 0%, transparent 62%), radial-gradient(ellipse 115% 90% at 90% 48%, rgba(244, 114, 182, .16) 0%, transparent 64%), radial-gradient(ellipse 105% 85% at 96% 94%, rgba(251, 146, 60, .14) 0%, transparent 58%), radial-gradient(ellipse 80% 70% at 18% 82%, rgba(167, 139, 250, .12) 0%, transparent 52%), var(--color-mesh-base);--gradient-mesh-glass: linear-gradient( 152deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .03) 40%, rgba(255, 255, 255, .06) 100% );--gradient-mesh-glass-hover: linear-gradient( 152deg, rgba(255, 255, 255, .14) 0%, rgba(255, 255, 255, .05) 40%, rgba(255, 255, 255, .08) 100% );--color-accent-glow: color-mix(in srgb, var(--color-accent) 22%, transparent);--color-mesh-border: rgba(255, 255, 255, .1);--color-text-card-body: #cbd5e1;--gradient-accent-text: linear-gradient( 90deg, #93c5fd 0%, #c4b5fd 32%, #f9a8d4 62%, #fdba74 100% );--gradient-glow: radial-gradient(ellipse 58% 52% at 18% 28%, rgba(165, 180, 252, .22) 0%, transparent 78%), radial-gradient(ellipse 52% 48% at 86% 24%, rgba(56, 189, 248, .18) 0%, transparent 76%), radial-gradient(ellipse 40% 36% at 62% 88%, rgba(196, 181, 253, .14) 0%, transparent 78%);--color-text-primary: #fafafa;--color-text-secondary: #d4d4d8;--color-text-muted: #a1a1aa;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .12);--color-placeholder-bg: #1c1c1f;--color-placeholder-border: #94a3b8;--color-placeholder-text: #cbd5e1;--color-experience-role-senior-bg: rgba(91, 33, 182, .22);--color-experience-role-senior-text: #ddd6fe;--color-experience-role-lead-bg: rgba(29, 78, 216, .22);--color-experience-role-lead-text: color-mix(in srgb, var(--color-accent) 45%, #ffffff 55%);--color-experience-role-default-bg: rgba(255, 255, 255, .08);--color-experience-role-default-text: #e4e4e7;--shadow-panel-rest: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1px 3px rgba(0, 0, 0, .22), 0 12px 36px rgba(0, 0, 0, .28);--shadow-panel-hover: inset 0 1px 0 rgba(255, 255, 255, .12), 0 2px 6px rgba(0, 0, 0, .26), 0 16px 48px rgba(0, 0, 0, .34);--color-thought-paper: #3c3c3c;--color-thought-paper-border: #4a4a4a;--color-thought-paper-text: #ffffff;--color-thought-paper-text-muted: #d4d4d4;--shadow-thought-paper: 0 2px 2px rgba(0, 0, 0, .28), 0 10px 28px rgba(0, 0, 0, .42);--color-modal-backdrop: color-mix(in srgb, var(--color-bg) 75%, transparent)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-y:scroll;scrollbar-gutter:stable}body{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--weight-body);line-height:var(--line-body);color:var(--color-text-primary);background-color:var(--color-bg);min-height:var(--viewport-fallback);display:flex;flex-direction:column;transition:background-color var(--transition-base),color var(--transition-base)}img,picture,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible,input:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}h1,h2,h3,h4,h5,h6,.heading{font-family:var(--font-heading);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}h3,h4{font-weight:var(--weight-title)}h1{font-size:var(--font-size-page)}h2{font-size:var(--font-size-section)}h3{font-size:var(--font-size-title)}h4,h5,h6{font-size:var(--font-size-body)}.hero h1{font-size:var(--font-size-hero);font-weight:var(--weight-display);line-height:var(--line-display);letter-spacing:var(--tracking-display)}.page-header h1{font-size:var(--font-size-page);margin-bottom:var(--gap-stack)}.section-header h2{font-size:var(--font-size-section)}.label{font-family:var(--font-heading);font-weight:var(--weight-label);font-size:var(--font-size-body);letter-spacing:var(--tracking-wider);color:var(--color-accent);text-transform:uppercase}.lead{font-size:var(--font-size-lead);font-weight:var(--weight-body);line-height:var(--line-body);max-width:var(--measure-lg);color:var(--color-text-secondary)}.body-copy{font-size:var(--font-size-body);font-weight:var(--weight-body);line-height:var(--line-body);color:var(--color-text-secondary)}.meta-label,.portfolio-meta__item dt{font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted)}.muted,time{font-size:var(--font-size-body);font-weight:var(--weight-ui)}.muted{color:var(--color-text-muted)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gap-relaxed)}@media(min-width:48rem){.container{padding-inline:var(--content-padding)}}main{flex:1}main>section:not(.hero){padding-block:var(--gap-section)}.section-header{margin-bottom:var(--gap-inset)}.section-header .label{display:block;margin-bottom:var(--gap-tight)}.page-header .label{display:block;margin-bottom:var(--gap-stack)}.section-header .lead{margin-top:var(--gap-stack);margin-bottom:0}.section-header--panel{margin-bottom:0}.section-header--panel h2{color:var(--color-text-card-heading)}.section-header--panel .lead{max-width:var(--measure-xl);margin-top:var(--gap-compact);margin-inline:auto;font-size:var(--font-size-body);color:var(--color-text-card-body);opacity:var(--opacity-subtle)}@media(min-width:48rem){.section-header--panel .lead{margin-inline:0}}.site-header-group,.site-header-wrap{position:relative}.site-header-group[data-header-behavior=sticky]{position:sticky;top:0;z-index:1002}.site-header-group[data-header-behavior=sticky] .site-header{background:var(--color-bg)}.site-header-group[data-header-behavior=scroll-hide]{position:sticky;top:0;z-index:1002;transition:transform var(--transition-base)}.site-header-group[data-header-behavior=scroll-hide] .site-header{background:var(--color-bg)}.site-header-group[data-header-behavior=scroll-hide].is-header-hidden{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.site-header-group[data-header-behavior=scroll-hide]{transition:none}}.site-header{position:relative;padding-block:var(--gap-default)}.site-header__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--gap-default)}.site-header__actions{grid-column:2;justify-self:end;display:flex;align-items:center;gap:var(--gap-tight)}@media(min-width:48rem){.site-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;z-index:1}.site-nav__panel{display:contents}}@media(max-width:48rem){.site-header__actions{grid-column:2;grid-row:1}}.site-header .site-logo{grid-column:1;justify-self:start;font-family:var(--font-heading);font-weight:var(--font-weight-bold);font-size:var(--font-size-title);letter-spacing:var(--tracking-tight);text-decoration:none;color:var(--color-text-primary)}.site-header .site-logo:hover{color:var(--color-accent);text-decoration:none}.site-nav ul{display:flex;flex-wrap:wrap;gap:var(--gap-loose);list-style:none;padding:0}.site-nav a{font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--font-size-body);letter-spacing:var(--tracking-snug);text-decoration:none;color:var(--color-text-secondary);transition:color var(--transition-fast),background-color var(--transition-base)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-accent)}.site-nav__social{display:none}.header-resume-link,.theme-toggle{display:flex;align-items:center;justify-content:center;width:var(--size-icon-toggle);height:var(--size-icon-toggle);padding:0;background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface);color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base),color var(--transition-base)}.header-resume-link:hover,.theme-toggle:hover{border-color:var(--color-accent);background:var(--color-surface);color:var(--color-accent)}.header-resume-link:focus-visible,.theme-toggle:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.theme-toggle{position:relative}.theme-toggle .sun-icon,.theme-toggle .moon-icon{position:absolute;transition:opacity var(--transition-base),transform var(--transition-base);color:var(--color-text-secondary)}.theme-toggle .moon-icon{opacity:0;transform:rotate(-90deg)}[data-theme=dark] .theme-toggle .sun-icon{opacity:0;transform:rotate(90deg)}[data-theme=dark] .theme-toggle .moon-icon{opacity:1;transform:rotate(0)}[data-theme=light] .theme-toggle .sun-icon,:not([data-theme]) .theme-toggle .sun-icon{opacity:1;transform:rotate(0)}[data-theme=light] .theme-toggle .moon-icon,:not([data-theme]) .theme-toggle .moon-icon{opacity:0;transform:rotate(-90deg)}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:var(--size-icon-toggle);height:var(--size-icon-toggle);padding:0;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer}.mobile-menu-toggle:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.mobile-menu-toggle__bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:1.25rem}.mobile-menu-toggle__bar{display:block;width:100%;height:2px;background:currentColor;border-radius:1px;transition:transform var(--transition-base),opacity var(--transition-fast);transform-origin:center}.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(2){opacity:0}.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body.nav-open{touch-action:none}@media(max-width:48rem){.site-header-wrap{position:relative;z-index:1004}.mobile-menu-toggle{display:flex}.site-nav{position:fixed;inset:0;width:100%;max-width:none;margin:0;z-index:1003;padding:0;background:var(--color-bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base)}.site-nav.open{opacity:1;visibility:visible;pointer-events:auto;overflow:hidden}.site-nav__panel{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;overflow:hidden;padding-top:var(--size-site-header);padding-bottom:var(--gap-wide)}.site-nav ul{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-relaxed);width:100%;margin:0;padding-top:0}.site-nav li{width:auto}.site-nav a{font-size:var(--font-size-lead);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:0;background:none;transition:color var(--transition-fast)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-accent);background:none}.site-nav.open ul li{animation:mobile-nav-fade var(--transition-base) ease both}.site-nav.open ul li:nth-child(2){animation-delay:.05s}.site-nav.open ul li:nth-child(3){animation-delay:.1s}.site-nav__social{display:flex;align-items:center;justify-content:center;gap:var(--gap-loose);width:100%;margin-top:auto;padding-top:0;animation:mobile-nav-fade var(--transition-base) ease .15s both}.site-nav__social a{display:flex;color:var(--color-text-muted);transition:color var(--transition-fast)}.site-nav__social a:hover{color:var(--color-accent)}.site-nav__social svg{width:1.25rem;height:1.25rem}}@keyframes mobile-nav-fade{0%{opacity:0;transform:translateY(var(--gap-compact))}to{opacity:1;transform:translateY(0)}}.site-footer{padding-block:var(--gap-section);margin-top:0}.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--gap-relaxed)}.site-footer nav ul{display:flex;flex-wrap:wrap;gap:var(--gap-loose);list-style:none;padding:0}.site-footer nav a{font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--font-size-body);letter-spacing:var(--tracking-snug);text-decoration:none;color:var(--color-text-secondary);transition:color var(--transition-fast)}.site-footer nav a:hover{color:var(--color-accent)}@media(max-width:48rem){.site-footer .container{flex-direction:column;align-items:center;justify-content:center;text-align:center}.site-footer nav ul{justify-content:center}}.hero{background:var(--color-bg);color:var(--color-text-primary);position:relative;overflow:hidden;padding-block:var(--gap-inset);box-sizing:border-box;display:flex;align-items:center}@media(min-width:48rem){.hero{min-height:calc(var(--viewport-min) - var(--size-site-header));padding-block:var(--gap-stack)}}.hero:before{content:"";position:absolute;inset:0;background:var(--gradient-glow);pointer-events:none;z-index:0}.hero__inner{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap-inset);position:relative;z-index:1;width:100%}@media(min-width:48rem){.hero__inner{display:grid;grid-template-columns:1.1fr minmax(10rem,34%);align-items:center;gap:var(--gap-loose)}.hero__inner--solo{display:flex;flex-direction:column;align-items:flex-start;max-width:var(--measure-2xl)}}.hero__content{text-align:center}@media(min-width:48rem){.hero__content{text-align:left}}.profile-meta{margin:0;display:flex;flex-direction:column;gap:var(--gap-inset);text-align:left}.profile-meta__pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--gap-inset)}@media(min-width:48rem){.profile-meta__pillars{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-meta__pillar{display:flex;flex-direction:column;gap:var(--gap-default);padding:var(--gap-relaxed);text-align:left;background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel)}.profile-meta__pillar-icon{display:flex;align-items:center;color:var(--color-accent)}.profile-meta__pillar-icon svg{display:block;width:var(--size-icon-toggle);height:var(--size-icon-toggle)}.profile-meta__pillar-title{font-family:var(--font-heading);font-size:var(--font-size-lead);font-weight:var(--weight-label);line-height:var(--line-snug);letter-spacing:var(--tracking-snug);color:var(--color-text-primary)}.profile-meta__pillar-body{margin:0;font-size:var(--font-size-body);font-weight:var(--weight-body);line-height:var(--line-body);color:var(--color-text-secondary)}.hero__label{display:inline-block;margin-bottom:var(--gap-stack);color:var(--color-accent)}.hero h1{margin-bottom:var(--gap-stack);max-width:var(--measure-lg);margin-inline:auto;text-wrap:pretty}@media(min-width:48rem){.hero h1{max-width:var(--measure-hero);margin-inline:0}}.hero__accent{background:var(--gradient-accent-text);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{margin-bottom:var(--gap-inset);max-width:var(--measure-2xl);margin-inline:auto}@media(min-width:48rem){.hero .lead{margin-inline:0}}.hero__supporting{margin:0 0 var(--gap-inset);max-width:var(--measure-2xl);margin-inline:auto;color:var(--color-text-secondary)}@media(min-width:48rem){.hero__supporting{margin-inline:0}}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--gap-default) var(--gap-relaxed)}@media(min-width:48rem){.hero__actions{justify-content:flex-start;gap:var(--gap-default) var(--gap-loose)}}.hero__media{margin:0;width:100%;max-width:11rem;margin-inline:auto;border-radius:var(--radius-panel);background:transparent;line-height:0}@media(min-width:48rem){.hero__media{max-width:none;width:100%;justify-self:end}}.hero__media .hero__portrait.image-asset{object-fit:contain}.hero__media .hero__portrait{display:block;width:100%;height:auto;max-height:min(38svh,18rem);border-radius:var(--radius-panel)}@media(min-width:48rem){.hero__media .hero__portrait{max-height:min(calc(var(--viewport-min) - var(--size-site-header) - var(--gap-spacious)),32rem)}}.hero__media .image-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:var(--aspect-portrait);max-height:min(38svh,18rem)}.pull-quote{font-size:var(--font-size-title);line-height:var(--line-body);max-width:var(--measure-quote)}.project-card__title{margin:0}.project-card__title a{text-decoration:none}.project-card__title a:hover{color:var(--color-accent)}.project-card__media-link{display:block;color:inherit;text-decoration:none}main>#work{padding-block:var(--gap-section) var(--gap-spacious)}main>#faq,main>#thoughts{padding-block:var(--gap-spacious)}#work .work-footer,#thoughts .work-footer{margin-top:var(--gap-spacious)}#work .work-projects{display:grid;grid-template-columns:1fr;gap:var(--gap-relaxed)}@media(min-width:48rem){#work .work-projects{grid-template-columns:repeat(3,minmax(0,1fr))}}#work .project-card{position:relative;display:block;min-width:0;margin:0;padding:0;overflow:hidden;background:transparent;border:none;border-radius:var(--radius-panel);isolation:isolate}#work .project-card__media{aspect-ratio:var(--aspect-portrait);width:100%;margin:0;border-radius:var(--radius-panel);overflow:hidden;transition:box-shadow var(--transition-base)}#work .project-card .image-placeholder,#work .project-card .image-asset{width:100%;height:100%;border-radius:var(--radius-panel);transition:transform var(--transition-base)}#work .project-card__body{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:var(--gap-tight);padding:var(--gap-relaxed);background:var(--gradient-work-scrim);pointer-events:none;transition:opacity var(--transition-fast),background var(--transition-fast)}#work .project-card__body>*{pointer-events:auto}#work .project-card__title{font-size:var(--font-size-lead)}#work .project-card__title a{color:var(--color-text-on-media)}#work .project-card__title a:hover{color:var(--color-text-on-media);opacity:var(--opacity-subtle)}#work .project-card__period{margin:0;color:var(--color-text-on-media);opacity:var(--opacity-subtle)}#work .project-card__outcome{margin:0;max-width:var(--measure-lg);font-size:var(--font-size-micro);line-height:var(--line-body);color:var(--color-text-on-media)}#work .project-card__problem{font-size:var(--font-size-micro);padding:var(--gap-hairline) var(--gap-compact);background:transparent;border-color:color-mix(in srgb,var(--color-text-on-media) 55%,transparent);color:var(--color-text-on-media)}#work .project-card__problem:hover{background:color-mix(in srgb,var(--color-text-on-media) 12%,transparent);border-color:var(--color-text-on-media);color:var(--color-text-on-media)}@media(hover:hover)and (pointer:fine){#work .project-card__body{background:transparent;opacity:0}#work .project-card:hover .project-card__media,#work .project-card:focus-within .project-card__media{box-shadow:var(--shadow-panel-hover)}#work .project-card:hover .image-asset,#work .project-card:hover .image-placeholder,#work .project-card:focus-within .image-asset,#work .project-card:focus-within .image-placeholder{transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){#work .project-card__body,#work .project-card__media,#work .project-card .image-asset,#work .project-card .image-placeholder{transition:none}#work .project-card:hover .image-asset,#work .project-card:hover .image-placeholder,#work .project-card:focus-within .image-asset,#work .project-card:focus-within .image-placeholder{transform:none}}.contact-card{position:relative;isolation:isolate;overflow:hidden;border:var(--border-width) solid var(--color-mesh-border);border-radius:var(--radius-card);box-shadow:var(--shadow-panel-rest);background:var(--gradient-mesh-glass),var(--gradient-mesh-blobs);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.contact-card:hover{border-color:color-mix(in srgb,white 75%,var(--color-accent) 25%);box-shadow:var(--shadow-panel-hover);background:var(--gradient-mesh-glass-hover),var(--gradient-mesh-blobs)}.contact-card>*{position:relative;z-index:1}.contact{color:var(--color-text-primary)}.contact--panel{box-sizing:border-box}.contact__inner{width:100%}.contact-card{--contact-card-padding: var(--gap-loose);padding:var(--contact-card-padding);max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr;grid-template-areas:"portrait" "copy" "actions";gap:var(--gap-relaxed);align-items:center;justify-items:center;text-align:center}@media(min-width:48rem){.contact-card{--contact-card-padding: var(--gap-spacious);gap:var(--gap-loose);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"portrait copy" "actions actions";justify-items:stretch;text-align:left;align-items:start}}@media(min-width:64rem){.contact-card{grid-template-columns:auto minmax(0,1fr) minmax(18rem,22rem);grid-template-areas:"portrait copy actions";align-items:center}}.contact-portrait{grid-area:portrait;margin:0;width:var(--size-contact-portrait);aspect-ratio:var(--aspect-portrait);border-radius:var(--radius-panel);overflow:hidden;flex-shrink:0}.contact-portrait :is(.image-asset,.image-placeholder){border-radius:var(--radius-panel)}.contact-portrait .image-placeholder{border:none}.contact-card__copy{grid-area:copy;display:flex;flex-direction:column;gap:var(--gap-default);min-width:0;width:100%}.contact-card__location{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-compact);margin:0;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-card-body)}.contact-card__location-icon{display:block;width:calc(4 * var(--space-unit));height:calc(4 * var(--space-unit));flex-shrink:0;color:var(--color-accent)}@media(min-width:48rem){.contact-card__location{justify-content:flex-start}}.contact-card__actions{grid-area:actions;width:100%;max-width:24rem}@media(min-width:48rem){.contact-card__actions{max-width:none}}.contact-actions{display:flex;flex-direction:column;gap:var(--gap-compact);width:100%}@media(min-width:48rem){.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(var(--size-btn-min-height),auto));gap:var(--gap-compact);align-content:center}}.contact-actions .btn{width:100%}.contact-actions .btn:focus-visible{outline-color:var(--color-on-brand-btn)}.contact-actions__icon{display:block;width:1.125rem;height:1.125rem;flex-shrink:0}.contact-actions__icon--linkedin{width:1.25rem;height:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-btn-gap);min-height:var(--size-btn-min-height);padding:var(--space-btn-padding-y) var(--space-btn-padding-x);font-family:var(--font-heading);font-weight:var(--weight-ui);font-size:var(--font-size-body);letter-spacing:var(--tracking-snug);line-height:var(--line-ui);text-decoration:none;text-align:center;white-space:nowrap;border:none;border-radius:var(--radius-panel);cursor:pointer;box-shadow:var(--shadow-btn);transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-btn-hover)}.btn:focus-visible{outline:var(--outline-width) solid currentColor;outline-offset:var(--outline-offset)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn--linkedin{background:var(--color-linkedin);color:var(--color-on-brand-btn)}.btn--linkedin:hover{background:var(--color-linkedin-hover);color:var(--color-on-brand-btn)}.btn--email{background:var(--color-accent);color:var(--color-on-accent)}.btn--email:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn--telegram{background:var(--color-telegram);color:var(--color-on-brand-btn)}.btn--telegram:hover{background:var(--color-telegram-hover);color:var(--color-on-brand-btn)}.btn--resume{background:var(--color-resume);color:var(--color-on-brand-btn)}.btn--resume:hover{background:var(--color-resume-hover);color:var(--color-on-brand-btn)}.form-note{margin-top:var(--gap-hairline);font-size:var(--font-size-body);opacity:var(--opacity-muted)}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--gap-compact)}.tech-pill{display:inline-flex;align-items:center;gap:var(--gap-tight);padding:var(--gap-tight) var(--gap-default);background:var(--color-pill-bg);border:var(--border-width) solid var(--color-pill-border);border-radius:var(--radius-panel);font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--font-size-body);color:var(--color-pill-text)}.tech-pill__logo{display:block;width:var(--size-pill-logo);height:var(--size-pill-logo);flex-shrink:0;object-fit:contain;color:var(--color-text-primary)}.icon-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--gap-default)}.icon-list li{display:flex;align-items:flex-start;gap:var(--gap-default);font-size:var(--font-size-body);color:var(--color-text-secondary)}.icon-list li:before{content:"→";color:var(--color-accent);font-weight:var(--font-weight-bold);flex-shrink:0}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--gap-loose)}@media(min-width:48rem){.about-grid{grid-template-columns:14rem 1fr;align-items:start}}.about-bio p{margin-bottom:var(--gap-inset)}.about-bio p:last-child{margin-bottom:0}.about-skills h3{margin-bottom:var(--gap-stack)}.skills-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap-compact)}.skills-list li{font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--font-size-body);letter-spacing:var(--tracking-snug);padding:var(--gap-tight) var(--gap-default);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text-secondary);transition:all var(--transition-fast)}.skills-list li:hover{border-color:var(--color-accent);color:var(--color-accent)}.content-block{margin-bottom:var(--gap-spacious)}.content-block h2{margin-bottom:var(--gap-inset)}.content-block p+p{margin-top:var(--gap-relaxed)}.principles-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--gap-spacious)}.principles-list li{padding-top:var(--gap-loose)}.principles-list strong{font-family:var(--font-heading);font-weight:var(--font-weight-bold);font-size:var(--font-size-title);letter-spacing:var(--tracking-wide);display:block;margin-bottom:var(--gap-compact)}.experience-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--gap-experience-list)}.experience-list--summary{gap:var(--gap-experience-list-summary)}@media(min-width:48rem){.experience-list{gap:var(--gap-experience-list-desktop)}.experience-list--summary{gap:var(--gap-experience-list-summary-desktop)}}.experience-entry{display:grid;grid-template-columns:1fr;gap:var(--gap-experience-entry);align-items:start}@media(min-width:48rem){.experience-entry{grid-template-columns:minmax(8rem,13rem) minmax(0,1fr);gap:var(--gap-experience-row) var(--gap-experience-column);align-items:start}}.experience-entry__dates{min-width:0;display:flex;flex-direction:column;gap:var(--gap-experience-title)}.experience-entry__period-short{margin:0;font-size:var(--font-size-experience-meta);font-weight:var(--weight-ui);line-height:var(--line-snug);color:var(--color-text-muted)}.experience-entry__duration{margin:0;font-size:var(--font-size-experience-meta);font-weight:var(--weight-body);line-height:var(--line-snug);color:var(--color-text-muted)}@media(max-width:47.99rem){.experience-entry__dates{flex-direction:row;flex-wrap:wrap;align-items:baseline}.experience-entry__duration:before{content:"·";margin-inline:var(--gap-experience-date-sep)}}.experience-entry__body{display:flex;flex-direction:column;gap:var(--gap-experience-body);min-width:0;width:100%}.experience-entry__headline{display:grid;grid-template-columns:minmax(0,1fr) var(--size-experience-logo);gap:var(--gap-experience-headline);align-items:start;width:100%}.experience-entry__title{min-width:0;display:flex;flex-direction:column;gap:var(--gap-experience-title);grid-column:1}.experience-entry__role-title{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--font-size-experience-role);letter-spacing:var(--tracking-snug);line-height:var(--line-snug);color:var(--color-text-primary)}.experience-entry__company{margin:0;font-size:var(--font-size-experience-meta);font-weight:var(--weight-body);line-height:var(--line-snug);color:var(--color-text-secondary)}.experience-entry__location{margin:0;font-size:var(--font-size-experience-meta);line-height:var(--line-snug);color:var(--color-text-muted)}.experience-entry__logo-frame{grid-column:2;grid-row:1;width:var(--size-experience-logo);height:var(--size-experience-logo);padding:0;display:flex;align-items:center;justify-content:center;justify-self:end}.experience-entry__logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.experience-entry__period-row{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--gap-hairline) var(--gap-tight);width:fit-content;max-width:100%;cursor:pointer;list-style:none}.experience-entry__period-row::-webkit-details-marker{display:none}.experience-entry__period-row::marker{content:""}.experience-entry__period-row:hover .experience-entry__growth-label{color:var(--color-accent-hover)}.experience-entry__period-row:hover .experience-entry__growth-chevron{border-color:var(--color-accent-hover)}.experience-entry__period-row:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset);border-radius:var(--radius-control)}.experience-entry__growth-details{margin:0;width:100%}.experience-entry__period-row .experience-entry__period{margin:0}.experience-entry__period-row-sep{color:var(--color-text-muted)}.experience-entry__growth-label{font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-snug);color:var(--color-accent);transition:color var(--transition-fast)}.experience-entry__growth-chevron{flex-shrink:0;width:var(--gap-tight);height:var(--gap-tight);margin-top:-.125rem;border-inline-end:calc(var(--border-width) * 2) solid var(--color-accent);border-block-end:calc(var(--border-width) * 2) solid var(--color-accent);transform:rotate(45deg);transition:transform var(--transition-fast),border-color var(--transition-fast)}.experience-entry__growth-details[open] .experience-entry__growth-chevron{margin-top:.125rem;transform:rotate(-135deg)}.experience-entry__role{flex-shrink:0;display:inline-flex;align-items:center;max-width:100%;padding:var(--gap-hairline) var(--gap-compact);border-radius:var(--radius-surface);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-snug);text-align:start;background:var(--color-experience-role-default-bg);color:var(--color-experience-role-default-text)}@media(min-width:48rem){.experience-entry__role{text-align:end}}.experience-entry__role--senior{background:var(--color-experience-role-senior-bg);color:var(--color-experience-role-senior-text)}.experience-entry__role--lead{background:var(--color-experience-role-lead-bg);color:var(--color-experience-role-lead-text)}.experience-entry__bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--gap-experience-bullets);width:100%}.experience-entry__bullets li{position:relative;padding-inline-start:calc(var(--gap-default) + var(--size-experience-bullet));font-size:var(--font-size-body);font-weight:var(--weight-body);line-height:var(--line-body);color:var(--color-text-secondary)}.experience-entry__bullets li:before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:var(--size-experience-bullet);height:var(--size-experience-bullet);border-radius:50%;background:var(--color-accent)}.experience-entry__promotions-panel{list-style:none;margin:var(--gap-default) 0 0;padding:var(--gap-default);display:flex;flex-direction:column;gap:var(--gap-default);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface-cool)}.experience-entry__promotion-item{display:flex;flex-direction:column;gap:var(--gap-hairline)}.experience-entry__promotion-role{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);line-height:var(--line-snug);color:var(--color-text-primary)}.experience-entry__promotion-period,.experience-entry__promotion-location{margin:0;font-size:var(--font-size-body);line-height:var(--line-snug);color:var(--color-text-muted)}.experience-entry__clients{margin:0;width:100%}.experience-entry__clients-label{margin:0 0 var(--gap-hairline);text-transform:none;letter-spacing:var(--tracking-snug);color:var(--color-text-primary)}.experience-entry__clients-prose{margin:0;font-size:var(--font-size-body);line-height:var(--line-prose);color:var(--color-text-secondary)}.section-experience{scroll-margin-top:var(--size-site-header)}.section-experience__inner{display:flex;flex-direction:column;gap:var(--gap-inset);width:100%}.section-experience__header{margin-bottom:var(--gap-inset)}.section-experience__header .label{margin-bottom:var(--gap-tight)}.section-experience .experience-list--summary{gap:var(--gap-loose)}.section-experience__footer{margin-top:var(--gap-stack)}.section-experience--about{border-top:var(--border-width) solid var(--color-border)}main>.about-stack>section:first-child{padding-block:var(--gap-section) var(--gap-spacious)}main>.about-stack>section:not(:first-child){padding-block:var(--gap-spacious)}.about-stack>.about-page__toolkit{padding-block:var(--gap-spacious)}.about-bento{display:grid;grid-template-columns:1fr;gap:var(--gap-inset);text-align:left}@media(min-width:48rem){.about-bento{grid-template-columns:1fr 1fr}}.about-bento__card{padding:var(--gap-relaxed);background:var(--color-surface-warm);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel)}.about-bento__title{margin:0 0 var(--gap-default);font-size:var(--font-size-lead);color:var(--color-text-primary)}.faq-section__inner{display:grid;grid-template-columns:1fr;gap:var(--gap-inset)}@media(min-width:48rem){.faq-section__inner{grid-template-columns:minmax(0,20rem) minmax(0,1fr);gap:var(--gap-loose)}.faq-section__aside{position:sticky;align-self:start;top:calc(var(--size-site-header) + var(--gap-relaxed))}}.faq-list{display:flex;flex-direction:column;gap:var(--gap-stack)}.faq-item{margin:0;padding:var(--gap-relaxed);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-cool);transition:border-color var(--transition-fast),background var(--transition-fast)}.faq-item:hover,.faq-item[open]{border-color:var(--color-accent-border)}.faq-item__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-default);padding:0;cursor:pointer;list-style:none}.faq-item__summary::-webkit-details-marker{display:none}.faq-item__summary:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset);border-radius:var(--radius-control)}.faq-question{margin:0;font-family:var(--font-heading);font-size:var(--font-size-lead);font-weight:var(--weight-title);line-height:var(--line-snug);color:var(--color-text-primary)}.faq-chevron{flex-shrink:0;width:var(--gap-tight);height:var(--gap-tight);border-inline-end:calc(var(--border-width) * 2) solid var(--color-accent);border-block-end:calc(var(--border-width) * 2) solid var(--color-accent);transform:rotate(45deg);transition:transform var(--transition-fast),border-color var(--transition-fast)}.faq-item[open] .faq-chevron{transform:rotate(-135deg)}.faq-item__summary:hover .faq-chevron{border-color:var(--color-accent-hover)}.faq-answer{margin:var(--gap-default) 0 0;padding:0;max-width:var(--measure-content);font-size:var(--font-size-body);line-height:var(--line-relaxed);color:var(--color-text-secondary)}@keyframes faq-answer-reveal{0%{opacity:0;transform:translateY(var(--gap-tight))}to{opacity:1;transform:translateY(0)}}.faq-item[open] .faq-answer{animation:faq-answer-reveal var(--transition-fast) ease both}@media(prefers-reduced-motion:reduce){.faq-item[open] .faq-answer{animation:none}}.asset-frame{box-sizing:border-box;margin:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface-cool);overflow:hidden}.asset-frame--square{aspect-ratio:var(--aspect-square)}.asset-frame--logo{border-radius:var(--radius-logo)}.asset-frame--logo:has(.image-placeholder){padding:var(--padding-experience-logo-placeholder)}.asset-frame:has(.image-placeholder){border:none;background:transparent;padding:0}.asset-frame .image-placeholder{width:100%;height:100%;min-height:100%}.media-cover,.media-cover img{object-fit:cover}.image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;border:var(--border-width-thick) dashed var(--color-placeholder-border);background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text);font-family:var(--font-body);text-align:center;padding:var(--gap-compact)}.image-placeholder__meta{display:flex;flex-direction:column;gap:var(--gap-hairline);max-width:100%}.image-placeholder__name{font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--line-snug);word-break:break-all}.image-placeholder__specs{font-size:var(--font-size-micro);font-weight:var(--font-weight-medium);line-height:var(--line-compact);opacity:var(--opacity-subtle)}.image-placeholder[data-ratio="1/1"]{aspect-ratio:var(--aspect-square)}.image-placeholder[data-ratio="4/3"]{aspect-ratio:var(--aspect-standard)}.image-placeholder[data-ratio="16/9"]{aspect-ratio:var(--aspect-wide)}.image-placeholder[data-ratio="3/2"]{aspect-ratio:var(--aspect-photo)}.image-placeholder[data-ratio="2/3"]{aspect-ratio:var(--aspect-photo-portrait)}.image-placeholder[data-ratio="3/4"]{aspect-ratio:var(--aspect-portrait)}.image-asset{display:block;width:100%;box-sizing:border-box}.image-asset[data-ratio="1/1"]{aspect-ratio:var(--aspect-square)}.image-asset[data-ratio="4/3"]{aspect-ratio:var(--aspect-standard)}.image-asset[data-ratio="16/9"]{aspect-ratio:var(--aspect-wide)}.image-asset[data-ratio="3/2"]{aspect-ratio:var(--aspect-photo)}.image-asset[data-ratio="2/3"]{aspect-ratio:var(--aspect-photo-portrait)}.image-asset[data-ratio="3/4"]{aspect-ratio:var(--aspect-portrait)}:is(.project-card .image-placeholder,.project-hero-media,.contact-portrait) img,.image-asset.media-cover{display:block;width:100%;object-fit:cover}:is(.project-card .image-placeholder,.project-hero-media,.contact-portrait) img{height:100%}[data-theme=dark] .image-placeholder{background-color:var(--color-placeholder-bg);border-color:var(--color-placeholder-border);color:var(--color-placeholder-text)}.project-hero-media{margin-bottom:var(--gap-inset);border-radius:var(--radius-card)}.link-arrow{color:var(--color-accent)}.text-link{display:inline-flex;align-items:baseline;gap:var(--gap-tight);font-family:var(--font-heading);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-snug);font-size:var(--font-size-body);text-decoration:none;color:var(--color-text-secondary);transition:color var(--transition-fast)}.text-link:hover{color:var(--color-accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header{padding-block:var(--gap-section) var(--gap-inset)}.page-header--split{position:relative;overflow:hidden;background:var(--color-bg)}.page-header--split:before{content:"";position:absolute;inset:0;background:var(--gradient-glow);pointer-events:none;z-index:0}.page-header--split>.container{position:relative;z-index:1}.page-header--split .page-header__row{display:grid;gap:var(--gap-wide);align-items:center}.page-header--split .page-header__main{min-width:0}.page-header--split .page-header__asset{width:100%;max-width:var(--size-page-mark);margin-inline:auto;border:none;background:transparent}.page-header--split .page-header__asset-image{width:100%;height:100%}.page-header--split .page-header__asset .image-asset{display:block;width:100%;height:100%;object-fit:contain}@media(min-width:48rem){.page-header--split .page-header__row{grid-template-columns:minmax(0,1fr) minmax(0,var(--size-page-mark-desktop));gap:var(--gap-wide);align-items:start}.page-header--split .page-header__asset{max-width:none;margin-inline:0;justify-self:end}}.page-header .lead{margin-bottom:0;max-width:var(--measure-2xl)}.content-body{max-width:var(--measure-content)}.content-body h2{margin-top:var(--gap-spacious);margin-bottom:var(--gap-inset);font-size:var(--font-size-section)}.content-body h2:first-child{margin-top:0}.content-body p{margin-bottom:var(--gap-inset)}.content-body p:last-child{margin-bottom:0}.content-body ul,.content-body ol{margin-bottom:var(--gap-inset);padding-left:var(--gap-loose)}.thought-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--gap-inset)}@media(min-width:40rem){.thought-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.thought-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.thought-grid__item{min-width:0}.thought-tile{display:flex;flex-direction:column;align-items:flex-start;width:100%;aspect-ratio:var(--aspect-square);padding:var(--gap-relaxed);text-align:left;background-color:var(--color-thought-paper);border:var(--border-width) solid var(--color-thought-paper-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-thought-paper);color:var(--color-thought-paper-text);cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.thought-tile:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-thought-paper),0 0 0 1px var(--color-accent-border);transform:translateY(calc(var(--gap-hairline) * -1))}.thought-tile:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.thought-tile__title,.thought-paper .thought-article-title{margin-bottom:var(--gap-compact);font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--line-snug);color:var(--color-thought-paper-text)}.thought-paper--detail .thought-article-title{margin-bottom:var(--gap-inset)}.thought-tile__excerpt{flex:1;min-height:0;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;font-size:var(--font-size-body);line-height:var(--line-relaxed);color:var(--color-thought-paper-text)}.thought-modal{position:fixed;inset:0;width:min(100% - var(--gap-loose),var(--measure-content));height:fit-content;max-height:calc(var(--viewport-min) - var(--gap-spacious));margin:auto;padding:0;border:none;background:transparent;overflow:visible}.thought-modal::backdrop{background:var(--color-modal-backdrop)}.thought-modal__close{position:absolute;top:var(--gap-relaxed);right:var(--gap-relaxed);z-index:1;display:flex;align-items:center;justify-content:center;width:var(--size-icon-toggle);height:var(--size-icon-toggle);padding:0;border:var(--border-width) solid var(--color-thought-paper-border);border-radius:var(--radius-full);background:var(--color-thought-paper);color:var(--color-thought-paper-text);line-height:0;cursor:pointer}.thought-modal__close-icon{width:1.125rem;height:1.125rem;display:block;flex-shrink:0}.thought-modal__close:hover{border-color:var(--color-accent-border);color:var(--color-accent)}.thought-modal__close:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.thought-modal__body{position:relative}.thought-modal__article{max-height:calc(var(--viewport-min) - var(--gap-spacious));overflow:auto;padding-top:var(--gap-spacious);padding-right:calc(var(--gap-loose) + var(--size-icon-toggle) + var(--gap-compact))}.thought-article__label{max-width:var(--measure-content);margin-inline:auto;margin-bottom:var(--gap-compact)}.thought-paper{max-width:var(--measure-content);margin-inline:auto;padding:var(--gap-spacious) var(--gap-loose);background-color:var(--color-thought-paper);border:var(--border-width) solid var(--color-thought-paper-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-thought-paper);color:var(--color-thought-paper-text)}.thought-paper .thought-article-title a{text-decoration:none;color:inherit}.thought-paper .thought-article-title a:hover{color:var(--color-accent)}.thought-paper--detail .content-body{margin-top:var(--gap-inset);padding-top:var(--gap-inset);border-top:var(--border-width) solid var(--color-thought-paper-border)}.thought-modal__article.thought-paper--detail .content-body{margin-top:var(--gap-inset)}.thought-paper-section{padding-block:var(--gap-section) var(--gap-inset)}.thought-paper .muted{color:var(--color-thought-paper-text-muted)}.thought-hand{font-family:var(--font-hand);color:var(--color-thought-paper-text)}.thought-hand :is(h1,h2,h3,h4,h5,h6,p,li,strong,em,a){font-family:inherit;color:inherit}.thought-hand .content-body{font-size:var(--font-size-body);line-height:var(--line-relaxed)}.thought-hand .content-body strong{font-weight:var(--font-weight-normal);color:inherit}.portfolio-meta{margin-bottom:var(--gap-spacious);max-width:var(--measure-content)}.portfolio-meta__list{display:grid;gap:var(--gap-relaxed);margin:0}@media(min-width:48rem){.portfolio-meta__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gap-spacious);row-gap:var(--gap-relaxed)}}.portfolio-meta__item{display:grid;gap:var(--gap-tight);margin:0}.portfolio-meta__item dd{margin:0;font-size:var(--font-size-body);line-height:var(--line-relaxed);color:var(--color-text-primary)}.markdown-content{display:flex;flex-direction:column;gap:var(--gap-loose);font-size:var(--font-size-body);line-height:var(--line-prose);color:var(--color-text-secondary)}.markdown-content>*{margin:0}.markdown-content>h2:not(:first-child){padding-top:var(--gap-spacious);border-top:var(--border-width) solid var(--color-border)}.markdown-content h2{scroll-margin-top:var(--gap-spacious);font-family:var(--font-heading);font-size:var(--font-size-section);font-weight:var(--weight-heading);line-height:var(--line-heading);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.markdown-content h3{font-family:var(--font-heading);font-size:var(--font-size-title);font-weight:var(--weight-title);line-height:var(--line-snug);letter-spacing:var(--tracking-snug);color:var(--color-text-primary)}.markdown-content p{line-height:var(--line-prose);color:var(--color-text-secondary)}.markdown-content p:has(>strong:only-child){font-family:var(--font-heading);font-size:var(--font-size-title);font-weight:var(--weight-title);line-height:var(--line-snug);letter-spacing:var(--tracking-snug);color:var(--color-text-primary)}.markdown-content strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.markdown-content ul,.markdown-content ol{padding-left:var(--gap-loose);line-height:var(--line-prose);color:var(--color-text-secondary)}.markdown-content li+li{margin-top:var(--gap-default)}.markdown-content li>ul,.markdown-content li>ol{margin-top:var(--gap-default)}.markdown-content .portfolio-figure{margin:var(--gap-loose) 0;display:block;min-width:0}.markdown-content .portfolio-figure .image-asset{display:block;width:100%;border-radius:var(--radius-panel);border:var(--border-width) solid var(--color-border);object-fit:cover}.markdown-content .portfolio-figure .image-placeholder{width:100%;border-radius:var(--radius-panel)}.markdown-content .portfolio-figure[data-ratio="1/1"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-square)}.markdown-content .portfolio-figure[data-ratio="4/3"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-standard)}.markdown-content .portfolio-figure[data-ratio="16/9"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-wide)}.markdown-content .portfolio-figure[data-ratio="3/2"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-photo)}.markdown-content .portfolio-figure[data-ratio="2/3"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-photo-portrait)}.markdown-content .portfolio-figure[data-ratio="3/4"] :is(.image-asset,.image-placeholder){aspect-ratio:var(--aspect-portrait)}.markdown-content .portfolio-figure figcaption{margin-top:var(--gap-compact);font-size:var(--font-size-body);line-height:var(--line-relaxed);color:var(--color-text-muted);text-align:center}.markdown-content .portfolio-compare{display:grid;gap:var(--gap-relaxed);margin:var(--gap-loose) 0}@media(min-width:48rem){.markdown-content .portfolio-compare{grid-template-columns:1fr 1fr;gap:var(--gap-default)}}.markdown-content .portfolio-compare .portfolio-figure{margin:0;width:100%}.markdown-content .portfolio-compare__tag{display:inline-block;margin-right:var(--gap-tight);padding:var(--gap-hairline) var(--gap-tight);border-radius:var(--radius-control);background:var(--color-accent-subtle);color:var(--color-accent);font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.markdown-content .portfolio-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-relaxed);margin:var(--gap-loose) 0;padding:0;list-style:none}@media(min-width:48rem){.markdown-content .portfolio-stats{grid-template-columns:repeat(4,1fr)}}.markdown-content .portfolio-stat{padding:var(--gap-relaxed) var(--gap-default);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-cool);text-align:center}.markdown-content .portfolio-stat__value{display:block;margin-bottom:var(--gap-tight);font-family:var(--font-heading);font-weight:var(--weight-display);font-size:var(--font-size-title);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);color:var(--color-accent)}.markdown-content .portfolio-stat__label{display:block;font-size:var(--font-size-caption);line-height:var(--line-snug);color:var(--color-text-secondary)}.markdown-content blockquote{margin:var(--gap-loose) 0;padding:var(--gap-relaxed) var(--gap-loose);border-left:var(--border-width-thick) solid var(--color-accent-border);background:var(--color-accent-subtle);border-radius:0 var(--radius-surface) var(--radius-surface) 0}.markdown-content blockquote p{margin:0;max-width:var(--measure-md);line-height:var(--line-relaxed);color:var(--color-text-secondary)}.markdown-content table{width:100%;border-collapse:collapse;font-size:var(--font-size-body);line-height:var(--line-relaxed);color:var(--color-text-secondary)}.markdown-content th,.markdown-content td{padding:var(--gap-compact) var(--gap-default);border-bottom:var(--border-width) solid var(--color-border);text-align:left}.markdown-content th{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.markdown-content td{color:var(--color-text-secondary)}html.project-deck-page{--size-site-header: 0rem;scroll-snap-type:y mandatory;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html.project-deck-page{scroll-behavior:auto}}@media(max-width:47.9875rem){html.project-deck-page{scroll-snap-type:none;scroll-behavior:auto}.project-deck .story-section{scroll-snap-align:none;scroll-snap-stop:normal}.deck-stage-label{max-width:calc(100vw - var(--gap-section) * 2 - var(--gap-relaxed))}}.project-deck{position:relative}.deck-back-link{position:fixed;top:var(--gap-relaxed);left:var(--gap-relaxed);z-index:1010;display:flex;align-items:center;justify-content:center;width:var(--size-icon-toggle);height:var(--size-icon-toggle);border-radius:var(--radius-surface);color:var(--color-text-secondary);text-decoration:none;opacity:var(--opacity-muted);transition:color var(--transition-fast),opacity var(--transition-fast),background-color var(--transition-fast)}.deck-back-link:hover,.deck-back-link:focus-visible{color:var(--color-accent);opacity:1;background-color:var(--color-accent-subtle)}.deck-back-link:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.deck-back-link__arrow{display:block;width:var(--gap-compact);height:var(--gap-compact);border-inline-start:var(--border-width) solid currentColor;border-block-end:var(--border-width) solid currentColor;transform:rotate(45deg);margin-inline-start:var(--gap-hairline)}.project-deck>.theme-toggle{position:fixed;top:var(--gap-relaxed);right:var(--gap-relaxed);z-index:1010;border-color:transparent;opacity:var(--opacity-muted)}.project-deck>.theme-toggle:hover,.project-deck>.theme-toggle:focus-visible{opacity:1;border-color:transparent;background-color:var(--color-accent-subtle)}.deck-page-nav{position:fixed;top:50%;right:var(--gap-tight);z-index:1010;display:flex;flex-direction:column;align-items:center;gap:var(--gap-hairline);margin:0;padding:0;list-style:none;transform:translateY(-50%)}.deck-page-nav__tick{position:relative;display:flex;align-items:center;justify-content:center;width:var(--size-btn-min-height);height:var(--gap-tight);margin:0;padding:0;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;opacity:var(--opacity-muted);transition:opacity var(--transition-fast),color var(--transition-fast)}.deck-page-nav__tick:before{content:"";display:block;width:var(--size-deck-tick);height:var(--border-width-thick);border-radius:var(--radius-control);background:currentColor;transition:width var(--transition-fast)}.deck-page-nav__tick:after{content:attr(data-tooltip);position:absolute;right:calc(100% + var(--gap-tight));top:50%;z-index:1;max-width:var(--measure-md);padding:var(--gap-hairline) var(--gap-compact);overflow:hidden;border:var(--border-width) solid var(--color-accent-border);border-radius:var(--radius-panel);background:var(--color-accent-subtle);font-family:var(--font-body);font-size:var(--font-size-micro);font-weight:var(--weight-body);line-height:var(--line-ui);text-transform:none;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity var(--transition-fast)}.deck-page-nav__tick:hover,.deck-page-nav__tick:focus-visible{opacity:1;color:var(--color-text-primary)}.deck-page-nav__tick:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset);border-radius:var(--radius-control)}@media(hover:hover){.deck-page-nav__tick:hover:after{opacity:1}}.deck-page-nav__tick:focus-visible:after{opacity:1}.deck-page-nav__tick[aria-current=true]{opacity:1;color:var(--color-text-primary)}.deck-page-nav__tick[aria-current=true]:before{width:var(--size-deck-tick-active)}@media(prefers-reduced-motion:reduce){.deck-page-nav__tick:after{transition:none}}@media(max-width:47.9875rem){.deck-page-nav{display:none}}.deck-stage-label{position:fixed;bottom:var(--gap-relaxed);left:var(--gap-relaxed);z-index:1010;margin:0;max-width:calc(50vw - var(--gap-section));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);opacity:var(--opacity-muted);pointer-events:none;user-select:none}.deck-page-num{position:fixed;bottom:var(--gap-relaxed);right:var(--gap-relaxed);z-index:1010;margin:0;font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);opacity:var(--opacity-muted);pointer-events:none;user-select:none}.project-deck__stage{width:100%}.project-deck__slides{display:block;width:100%}.project-deck .story-section{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--gap-default);box-sizing:border-box;min-height:calc(100vh - var(--size-site-header));min-height:calc(100dvh - var(--size-site-header));padding-block:var(--gap-section);padding-inline:max(var(--gap-relaxed),calc((100vw - var(--max-width)) / 2 + var(--gap-relaxed)));text-align:left;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:var(--size-site-header);background:var(--color-bg);color:var(--color-text-primary)}@media(min-width:48rem){.project-deck .story-section{padding-inline:max(var(--content-padding),calc((100vw - var(--max-width)) / 2 + var(--content-padding)))}}.project-deck .story-section h2{margin:0;max-width:none;font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:var(--line-tight);color:var(--color-accent)}.project-deck .story-section[data-stage=cover]{position:relative;justify-content:center;align-items:stretch;gap:0;padding-block:var(--gap-inset);height:calc(100vh - var(--size-site-header));height:calc(100dvh - var(--size-site-header));min-height:calc(100vh - var(--size-site-header));min-height:calc(100dvh - var(--size-site-header));overflow:hidden;text-align:left;background:var(--color-bg);color:var(--color-text-primary)}.project-deck .story-section[data-stage=cover] .project-deck__cover-frame{position:relative;flex:1 1 auto;width:100%;min-height:0;overflow:hidden;border-radius:var(--radius-panel);background:var(--color-text-primary);color:var(--color-text-on-media)}.project-deck .story-section[data-stage=cover] .project-deck__cover-media{position:absolute;inset:0;z-index:0}.project-deck .story-section[data-stage=cover] .project-deck__cover-image,.project-deck .story-section[data-stage=cover] .project-deck__cover-media .image-placeholder,.project-deck .story-section[data-stage=cover] .project-deck__cover-media .image-asset{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0}.project-deck .story-section[data-stage=cover] .project-deck__cover-scrim{position:absolute;inset:0;background:var(--gradient-deck-cover-scrim);pointer-events:none}.project-deck .story-section[data-stage=cover] .project-deck__cover-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--gap-stack);box-sizing:border-box;width:100%;height:100%;padding:var(--gap-section);color:var(--color-text-on-media)}.project-deck .story-section[data-stage=cover] .project-deck__cover-frame .project-deck__eyebrow,.project-deck .story-section[data-stage=cover] .project-deck__cover-copy .project-deck__eyebrow{color:var(--color-text-on-media);opacity:.85}.project-deck .story-section[data-stage=cover] .project-deck__cover-frame .project-deck__cover-title,.project-deck .story-section[data-stage=cover] .project-deck__cover-copy .project-deck__cover-title{margin:0;max-width:var(--measure-lg);font-family:var(--font-heading);font-size:var(--font-size-hero);font-weight:var(--weight-display);line-height:var(--line-display);letter-spacing:var(--tracking-display);color:var(--color-text-on-media)}.project-deck .story-section[data-stage=cover].story-section--cover-text{align-items:center;justify-content:center;overflow:visible;text-align:center;background:var(--color-bg);color:var(--color-text-primary)}.project-deck .story-section[data-stage=cover] .project-deck__cover-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-stack);box-sizing:border-box;width:100%;max-width:var(--measure-lg);margin:0;padding:var(--gap-section);text-align:center;background:var(--color-bg);color:var(--color-text-primary)}.project-deck .story-section[data-stage=cover] .project-deck__cover-text .project-deck__eyebrow{color:var(--color-accent);opacity:1}.project-deck .story-section[data-stage=cover] .project-deck__cover-text .project-deck__cover-title,.project-deck .story-section[data-stage=cover] .project-deck__cover-text h1{margin:0;max-width:var(--measure-lg);font-family:var(--font-heading);font-size:var(--font-size-hero);font-weight:var(--weight-display);line-height:var(--line-display);letter-spacing:var(--tracking-display);color:var(--color-text-primary)}.project-deck .story-section[data-stage=overview],.project-deck .story-section[data-stage=strategy]:has(.project-overview){align-items:stretch;text-align:left;overflow:hidden;height:calc(100dvh - var(--size-site-header));max-height:calc(100dvh - var(--size-site-header))}.project-overview{display:grid;grid-template-columns:1fr;gap:var(--gap-section);flex:1 1 auto;align-items:center;width:100%;min-height:0;height:100%}.project-overview__copy{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap-stack);min-width:0;min-height:0}.project-overview__visual{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.project-overview__media{display:flex;flex-direction:column;align-items:center;gap:var(--gap-compact);min-width:0;max-height:100%}@media(min-width:48rem){.project-overview{grid-template-columns:minmax(0,1.2fr) auto}.project-overview__visual{justify-content:flex-end;align-self:stretch}}.project-deck .story-section[data-stage=overview] figure.deck-phone,.project-deck .story-section[data-stage=overview] figure.deck-phone--lg,.project-overview__frame{width:min(var(--size-deck-phone-width-lg),calc((100dvh - var(--size-site-header) - var(--gap-section) * 2 - var(--gap-spacious)) * 1350 / 2760));max-width:var(--size-deck-phone-width-lg);max-height:calc(100dvh - var(--size-site-header) - var(--gap-section) * 2 - var(--gap-spacious))}.project-overview__frame{overflow:hidden;border-radius:var(--radius-panel)}.project-overview__frame .image-placeholder,.project-overview__frame .image-asset{display:block;width:100%;height:100%;max-height:inherit;object-fit:cover}.project-deck .story-section[data-stage=overview] .project-overview__footnote,.project-deck .story-section[data-stage=role] .role-slide__footnote{margin:0;font-size:var(--font-size-micro);line-height:var(--line-relaxed);color:var(--color-text-muted)}.project-deck .story-section[data-stage=overview] .project-overview__footnote{text-align:center}.project-deck .story-section[data-stage=role] .role-slide__footnote{width:100%;text-align:center}.project-deck .story-section[data-stage=overview] .project-overview__footnote{max-width:var(--size-deck-phone-width-lg)}.project-overview__body{display:grid;gap:var(--gap-stack)}.project-overview__body p{margin:0;max-width:var(--measure-content)}.project-deck .story-section[data-stage=overview] .portfolio-meta{width:100%;max-width:none;margin:0}.project-deck .story-section[data-stage=role]{align-items:stretch;text-align:left}.project-deck .story-section[data-stage=role]:has(.role-slide){justify-content:center;gap:var(--gap-default);height:calc(100dvh - var(--size-site-header));max-height:calc(100dvh - var(--size-site-header));padding-block:var(--gap-inset);overflow:auto}@media(min-width:64rem){.project-deck .story-section[data-stage=role]:has(.role-slide){overflow:hidden}}.role-slide{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:var(--gap-default);flex:1 1 auto;min-height:0;max-height:100%;width:100%;overflow:hidden}.role-slide__hero{display:flex;flex-direction:column;gap:var(--gap-stack);flex:0 0 auto;min-width:0;max-width:var(--measure-xl)}.role-slide__support{--role-chip-pad-block: var(--gap-hairline);--role-chip-pad-inline: var(--gap-compact);--role-chip-font: var(--font-size-micro);--role-chip-weight: var(--weight-label);--role-chip-radius: var(--radius-control);--role-line: var(--border-width);--role-line-color: color-mix(in srgb, var(--color-text-primary) 32%, transparent);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:var(--gap-relaxed);flex:0 1 auto;min-height:0;width:100%;margin-top:var(--gap-compact);padding:0;background:transparent;border:0;border-radius:0;overflow-x:clip;overflow-y:auto}.role-slide__panel{display:flex;flex-direction:column;align-items:center;gap:var(--gap-tight);width:100%;min-width:0;min-height:0;padding:var(--gap-compact);background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface)}.role-slide__me{display:inline-flex;align-items:center;padding:0 var(--gap-tight);border-radius:var(--radius-control);background:var(--color-accent-subtle);font:inherit;letter-spacing:inherit;text-transform:uppercase;line-height:inherit;color:var(--color-accent)}.role-slide__chip,.role-slide__org-node,.role-slide__pipeline-label,.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack>li{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:center;max-width:100%;width:max-content;column-gap:var(--gap-tight);row-gap:var(--gap-hairline);margin:0;padding:var(--role-chip-pad-block) var(--role-chip-pad-inline);font-family:var(--font-heading);font-size:var(--role-chip-font);font-weight:var(--role-chip-weight);letter-spacing:var(--tracking-snug);line-height:var(--line-snug);text-align:center;white-space:nowrap;color:var(--color-text-primary);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--role-chip-radius)}.role-slide__org{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;min-width:0;min-height:0}.role-slide__org-lead{position:relative;z-index:1;width:auto;max-width:100%;flex-wrap:wrap;white-space:normal}.role-slide__org-lead:after{content:none;display:none}.role-slide__org-branch>.role-slide__org-node,.role-slide__org-reports .role-slide__org-node{width:auto;max-width:100%;box-sizing:border-box;flex-wrap:wrap;white-space:normal}.role-slide__org-name{font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;white-space:normal;overflow-wrap:break-word}.role-slide__org-branches{--role-org-gap: var(--gap-compact);--role-org-column-gap: var(--role-org-gap);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:start;column-gap:var(--role-org-column-gap);row-gap:var(--role-org-gap);width:100%;margin:0;padding:var(--gap-default) 0 0;list-style:none;position:relative}.project-deck .story-section[data-stage=role] ul.role-slide__org-branches{--role-org-gap: var(--gap-compact);--role-org-column-gap: var(--role-org-gap);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:start;column-gap:var(--role-org-column-gap);row-gap:var(--role-org-gap);width:100%;margin:0;padding:var(--gap-default) 0 0;list-style:none}.role-slide__org-branches:before{content:"";position:absolute;top:0;left:50%;width:var(--role-line);height:var(--gap-default);margin-left:calc(var(--role-line) / -2);background:var(--role-line-color)}.role-slide__org-branches:after{content:"";position:absolute;top:var(--gap-default);left:calc((100% - 2 * var(--role-org-column-gap)) / 6);right:calc((100% - 2 * var(--role-org-column-gap)) / 6);height:var(--role-line);background:var(--role-line-color);z-index:1}.project-deck .story-section[data-stage=role] .role-slide__org-branches>li{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:none;margin:0;padding:var(--gap-default) 0 0;font-size:inherit;line-height:inherit;color:inherit}.project-deck .story-section[data-stage=role] .role-slide__org-branches>li:before{content:"";position:absolute;top:0;left:50%;width:var(--role-line);height:var(--gap-default);margin-left:calc(var(--role-line) / -2);border-radius:0;background:var(--role-line-color)}.project-deck .story-section[data-stage=role] .role-slide__org-branches>li:after{content:none;display:none}.role-slide__org-reports,.project-deck .story-section[data-stage=role] ul.role-slide__org-reports{display:flex;flex-direction:column;align-items:center;gap:0;margin:0;padding:0;list-style:none}.project-deck .story-section[data-stage=role] .role-slide__org-reports>li{position:relative;max-width:none;margin:0;padding:var(--gap-default) 0 0;font-size:inherit;line-height:inherit;color:inherit}.project-deck .story-section[data-stage=role] .role-slide__org-reports>li:before{content:"";position:absolute;top:0;left:50%;width:var(--role-line);height:var(--gap-default);margin-left:calc(var(--role-line) / -2);border-radius:0;background:var(--role-line-color)}.project-deck .story-section[data-stage=role] .role-slide__org-reports>li:after{content:none;display:none}.role-slide__pipeline{--role-pipeline-return-space: var(--gap-loose);--role-pipeline-return-head: var(--gap-compact);display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;color:var(--role-line-color)}.role-slide__pipeline-track,.project-deck .story-section[data-stage=role] ol.role-slide__pipeline-track{display:flex;flex-direction:column;align-items:center;gap:var(--gap-tight);width:100%;margin:0;padding:0;list-style:none}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li{position:static;max-width:none;margin:0;padding:0;font-size:inherit;line-height:inherit;color:inherit}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li.role-slide__pipeline-cluster,.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li.role-slide__pipeline-arrow{position:relative}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li.role-slide__pipeline-cluster{padding-top:var(--role-pipeline-return-space)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li:not(.role-slide__pipeline-arrow):before,.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>li:not(.role-slide__pipeline-arrow):after{content:none;display:none}.role-slide__pipeline-stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0}.role-slide__pipeline-stage--stack{align-items:center}.role-slide__pipeline-cluster{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0}.role-slide__pipeline-cluster-flow{display:flex;flex-direction:column;align-items:center;gap:var(--gap-tight);width:100%;min-width:0}.role-slide__pipeline-returns{display:none;position:absolute;left:0;right:0;top:0;height:var(--role-pipeline-return-space);pointer-events:none;z-index:1;color:var(--role-line-color)}.role-slide__pipeline-returns:before{content:"";position:absolute;top:var(--gap-hairline);bottom:var(--role-pipeline-return-head);left:calc((100% - 2 * var(--gap-relaxed)) / 6);width:0;border-inline-start:var(--role-line) dashed currentColor}.role-slide__pipeline-return{position:absolute;box-sizing:border-box;border-style:dashed;border-color:currentColor;border-width:var(--role-line) var(--role-line) 0 0;border-radius:0;pointer-events:none}.role-slide__pipeline-return--long{top:var(--gap-hairline);bottom:0;left:calc((100% - 2 * var(--gap-relaxed)) / 6);right:calc((100% - 2 * var(--gap-relaxed)) / 6)}.role-slide__pipeline-return--short{top:var(--gap-compact);bottom:0;left:calc((100% - 2 * var(--gap-relaxed)) / 6);right:calc(50% - var(--role-line) / 2)}.role-slide__pipeline-loop-tip{display:none;position:absolute;top:calc(-1 * var(--role-pipeline-return-head) / 2);left:50%;box-sizing:border-box;width:auto;height:auto;border:0;background:transparent;color:var(--role-line-color);font-family:var(--font-heading);font-size:var(--font-size-lead);font-weight:var(--weight-label);line-height:1;transform:translate(-50%,-50%);z-index:2}.role-slide__pipeline-loop-tip:before{content:"›";display:block;transform:rotate(90deg)}.role-slide__pipeline-stack,.project-deck .story-section[data-stage=role] ul.role-slide__pipeline-stack{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap-hairline);width:max-content;max-width:100%;margin:0;padding:0;list-style:none}.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack>li{width:100%;justify-content:center}.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack>li:before,.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack>li:after{content:none;display:none}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow,.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>.role-slide__pipeline-arrow,.project-deck .story-section[data-stage=role] .role-slide__pipeline-returns,.project-deck .story-section[data-stage=role] .role-slide__pipeline-loop-tip{color:var(--role-line-color)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow{display:grid;place-items:center;min-width:var(--gap-compact)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow:before{content:"›";position:static;inset:auto;box-sizing:border-box;width:auto;height:auto;border:0;background:transparent;font-family:var(--font-heading);font-size:var(--font-size-lead);font-weight:var(--weight-label);line-height:1;transform:rotate(90deg)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow:after{content:none;display:none}.project-deck .story-section[data-stage=role] span.role-slide__pipeline-arrow{display:grid}@media(min-width:48rem){.role-slide__org-branches,.project-deck .story-section[data-stage=role] ul.role-slide__org-branches{--role-org-gap: var(--gap-default)}.role-slide__pipeline-returns,.role-slide__pipeline-loop-tip{display:block}.role-slide__pipeline-track,.project-deck .story-section[data-stage=role] ol.role-slide__pipeline-track{display:grid;grid-template-columns:minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr);justify-content:stretch;align-items:start;gap:0;width:100%}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>.role-slide__pipeline-cluster{grid-column:span 5}.project-deck .story-section[data-stage=role] .role-slide__pipeline-label,.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack,.project-deck .story-section[data-stage=role] ul.role-slide__pipeline-stack{width:100%;max-width:100%}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>.role-slide__pipeline-stage,.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>.role-slide__pipeline-arrow{margin-top:var(--role-pipeline-return-space);min-height:calc(var(--gap-loose) + var(--border-width) * 2)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-track>.role-slide__pipeline-arrow{align-self:start}.project-deck .story-section[data-stage=role] .role-slide__org-node,.project-deck .story-section[data-stage=role] .role-slide__pipeline-label,.project-deck .story-section[data-stage=role] .role-slide__pipeline-stack>li{position:relative;z-index:1;box-sizing:border-box;min-height:calc(var(--gap-loose) + var(--border-width) * 2)}.role-slide__pipeline-cluster-flow{display:grid;grid-template-columns:minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr) var(--gap-relaxed) minmax(0,1fr);align-items:start;gap:0}.role-slide__org-branches,.project-deck .story-section[data-stage=role] ul.role-slide__org-branches{--role-org-column-gap: var(--gap-relaxed);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;column-gap:var(--role-org-column-gap);row-gap:var(--role-org-gap);width:100%;max-width:100%;margin-inline:0}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow,.project-deck .story-section[data-stage=role] span.role-slide__pipeline-arrow{display:grid;place-items:center;align-self:center;box-sizing:border-box;width:100%;min-width:0;min-height:0;padding-inline:0}.project-deck .story-section[data-stage=role] .role-slide__pipeline-cluster-flow>.role-slide__pipeline-arrow{align-self:start;min-height:calc(var(--gap-loose) + var(--border-width) * 2)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow:before,.project-deck .story-section[data-stage=role] span.role-slide__pipeline-arrow:before{transform:none}.project-deck .story-section[data-stage=role] .role-slide__pipeline-loop-tip:before{transform:rotate(90deg)}.project-deck .story-section[data-stage=role] .role-slide__pipeline-arrow:after,.project-deck .story-section[data-stage=role] span.role-slide__pipeline-arrow:after{content:none;display:none}}@media(min-width:48rem){.role-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center;justify-content:center;gap:var(--gap-default)}.role-slide__hero{max-width:none}.role-slide__support{margin-top:0;max-height:100%;align-content:center;justify-self:stretch}}@media(min-width:64rem){.role-slide{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.role-slide__org-branches,.project-deck .story-section[data-stage=role] ul.role-slide__org-branches{grid-template-columns:repeat(3,minmax(0,calc(38 * var(--space-unit))));width:fit-content;max-width:100%;margin-inline:auto}}.project-deck .story-section .project-deck__title{margin:0;max-width:var(--measure-lg);font-family:var(--font-heading);font-size:var(--font-size-page);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-display);text-transform:none;color:var(--color-text-primary)}.project-deck .story-section[data-stage=strategy]{align-items:stretch;text-align:left}.project-deck .portfolio-meta__item dt{font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent)}.project-deck .portfolio-meta__item dd{font-size:var(--font-size-lead);line-height:var(--line-relaxed)}.project-deck .story-section p,.project-deck .story-section li{max-width:var(--measure-xl);margin-inline:0;font-size:var(--font-size-lead);line-height:var(--line-relaxed);color:var(--color-text-secondary)}.project-deck .story-section ul{display:flex;flex-direction:column;gap:var(--gap-tight);margin:0;padding:0;list-style:none}.project-deck .story-section li{position:relative;padding-left:var(--gap-relaxed);text-align:left}.project-deck .story-section li:before{content:"";position:absolute;left:0;top:.7em;width:var(--size-experience-bullet);height:var(--size-experience-bullet);border-radius:50%;background:var(--color-accent)}.project-deck .story-section .project-deck__eyebrow,.project-deck .story-section .presentation-eyebrow{margin:0;font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent)}.project-deck .story-section figure,.project-deck .story-section .portfolio-compare,.project-deck .story-section .portfolio-stats{width:100%;flex-shrink:0}.project-deck .story-section figure.deck-phone{width:min(var(--size-deck-phone-width),calc(var(--size-deck-phone-max-height) * 1350 / 2760),calc((100dvh - var(--size-site-header) - 10rem) * 1350 / 2760));max-width:var(--size-deck-phone-width);flex-shrink:0;aspect-ratio:var(--aspect-deck-phone)}.project-deck .story-section figure.deck-phone--lg{width:min(var(--size-deck-phone-width-lg),calc(var(--size-deck-phone-max-height) * 1350 / 2760),calc((100dvh - var(--size-site-header) - 10rem) * 1350 / 2760));max-width:var(--size-deck-phone-width-lg)}.project-deck .story-section .image-placeholder,.project-deck .story-section .image-asset{max-height:70vh;width:100%;object-fit:contain}.project-deck .story-section .portfolio-compare{grid-template-columns:1fr;gap:var(--gap-default)}@media(min-width:48rem){.project-deck .story-section .portfolio-compare{grid-template-columns:repeat(2,1fr)}}.project-deck .story-section .portfolio-stats{grid-template-columns:repeat(2,1fr);gap:var(--gap-default)}.project-deck .story-section[data-stage=outcome].impact-learned{position:relative;align-items:stretch;gap:var(--gap-impact-section);text-align:left}.impact-learned__panel{display:flex;flex-direction:column;gap:var(--gap-relaxed);width:100%}.impact-learned__header{display:flex;flex-direction:column;align-items:center;gap:var(--gap-default);width:100%;text-align:center}.impact-learned__headline{max-width:var(--measure-2xl);margin-inline:auto}.impact-learned__stats{width:min(100%,var(--max-width-tablet));margin-inline:auto}.impact-learned__stat{border:none;background:var(--color-surface-cool)}.impact-learned__columns{display:grid;grid-template-columns:1fr;gap:var(--gap-impact-columns);width:100%;margin-block:0}.impact-learned__columns--takeaway-only .impact-learned__takeaway,.impact-learned__takeaway{width:100%;margin-block:0;margin-inline:0;padding:var(--gap-relaxed) var(--gap-loose);border:none;border-inline-start:var(--border-width-thick) solid var(--color-accent-border);border-radius:0 var(--radius-surface) var(--radius-surface) 0;background:var(--color-accent-subtle)}.impact-learned__column-title{margin:0 0 var(--gap-default);font-family:var(--font-heading);font-size:var(--font-size-ui);font-weight:var(--weight-label);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.project-deck .story-section.impact-learned .impact-learned__takeaway p{max-width:none;width:100%;margin:0;font-size:var(--font-size-lead);font-style:normal;font-weight:var(--weight-body);line-height:var(--line-relaxed);color:var(--color-text-secondary)}@media(min-width:64rem){.project-deck .story-section .portfolio-stats{grid-template-columns:repeat(4,1fr)}}.project-deck .story-section[data-stage=contact] .contact-actions{width:min(100%,var(--size-contact-actions-max));margin-inline:0}.presentation-index-list{display:flex;flex-direction:column;gap:var(--gap-default);margin:var(--gap-loose) 0;padding:0;list-style:none}.presentation-index-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-default);padding:var(--gap-relaxed);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-cool)}@media(min-width:48rem){.presentation-index-item{flex-direction:row;align-items:center;justify-content:space-between}}.presentation-index-item__title{font-size:var(--font-size-title);margin-bottom:var(--gap-tight)}.presentation-index-item__description{color:var(--color-text-secondary);line-height:var(--line-relaxed)}.project-deck .story-section.deck-slide{position:relative;justify-content:stretch;align-items:stretch;gap:var(--gap-default);padding-block:var(--gap-inset);text-align:left;overflow:hidden;height:calc(100dvh - var(--size-site-header));min-height:calc(100dvh - var(--size-site-header));max-height:calc(100dvh - var(--size-site-header))}.project-deck .story-section.deck-slide--has-assets{justify-content:flex-start;overflow:hidden}.project-deck .story-section.deck-slide--has-assets .deck-slide__text--assets{flex:1 1 auto;min-height:0;height:100%}.project-deck .story-section.deck-slide--welcome{padding-bottom:0;gap:var(--gap-stack)}.project-deck .story-section.deck-slide--light{background:var(--color-bg);color:var(--color-text-primary)}.project-deck .story-section.deck-slide--mist{background:var(--color-deck-mist);color:var(--color-text-primary)}.project-deck .story-section.deck-slide--graphite{background:var(--color-deck-graphite);color:var(--color-text-on-media)}.project-deck .story-section.deck-slide--crimson{background:var(--color-deck-crimson);color:var(--color-text-on-media)}.project-deck .story-section.deck-slide--gold{background:var(--color-deck-gold);color:var(--color-text-primary)}.project-deck .story-section.deck-slide--violet{background:var(--color-deck-violet);color:var(--color-text-on-media)}.project-deck .story-section.deck-slide--olive{background:var(--color-deck-olive);color:var(--color-text-on-media)}.deck-slide__title{margin:0;max-width:none;font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--weight-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:var(--line-tight);color:var(--color-accent)}.deck-slide__lead,.deck-slide__body{margin:0;font-size:var(--font-size-lead);line-height:var(--line-relaxed);color:inherit;opacity:.9}.deck-slide__lead{max-width:var(--measure-content)}.deck-slide__body,.project-deck .story-section p.deck-slide__body{max-width:none;width:100%}.deck-slide__welcome,.deck-slide__text,.deck-slide__thanks{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-default);text-align:center;min-height:0}.deck-slide__text--assets{justify-content:center;align-items:stretch;width:min(100%,var(--max-width-tablet));height:100%;min-height:0;margin-inline:auto;gap:var(--gap-loose);text-align:center}.deck-slide__text--assets>h2,.deck-slide__text--assets>.project-deck__title,.deck-slide__text--assets>.deck-slide__body{flex-shrink:0}.project-deck .story-section.deck-slide--has-assets .deck-slide__body{text-align:center}.deck-slide__thanks{align-items:stretch;justify-content:flex-start;width:100%;height:100%;gap:0;text-align:left}.deck-slide__bento{display:grid;flex:1 1 auto;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"thank";gap:var(--gap-compact);width:100%;min-height:0;height:100%}.deck-slide__bento-tile{display:flex;min-width:0;min-height:0;overflow:hidden;background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface)}.project-deck .story-section .deck-slide__bento-tile :is(.image-placeholder,.image-asset){flex:1 1 auto;align-self:stretch;width:100%;height:100%;min-width:0;min-height:0;max-height:none;border:none;border-radius:inherit;object-fit:cover;object-position:center}.deck-slide__bento-tile .image-placeholder{background-color:var(--color-surface-cool)}.deck-slide__bento-tile--a{grid-area:a}.deck-slide__bento-tile--b{grid-area:b}.deck-slide__bento-tile--c{grid-area:c}.deck-slide__bento-tile--d{grid-area:d}.deck-slide__bento-tile--e{grid-area:e}.deck-slide__bento-tile--f{grid-area:f}.deck-slide__bento-right-stack{grid-area:right;display:none;min-width:0;min-height:0}.deck-slide__bento-tile--g,.deck-slide__bento-tile--h{grid-area:auto}.deck-slide__bento-tile--i{grid-area:i}.deck-slide__bento-tile--j{grid-area:j}.deck-slide__bento-tile--a,.deck-slide__bento-tile--b,.deck-slide__bento-tile--c,.deck-slide__bento-tile--d,.deck-slide__bento-tile--e,.deck-slide__bento-tile--f,.deck-slide__bento-right-stack,.deck-slide__bento-tile--i,.deck-slide__bento-tile--j{display:none}.deck-slide__bento-tile--thank{grid-area:thank;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-default);padding:var(--gap-relaxed);background:var(--color-accent);color:var(--color-on-accent);text-align:center}.deck-slide__thanks-heart{display:block;width:var(--size-deck-thanks-heart);height:auto;margin:0;object-fit:contain;mix-blend-mode:screen}@media(min-width:48rem){.deck-slide__bento{grid-template-columns:1.15fr 1fr 1.2fr 1.2fr 1fr 1.1fr;grid-template-rows:1.05fr .85fr 1.35fr 1fr;grid-template-areas:"a a b c d d" "e thank thank thank thank right" "f thank thank thank thank right" "i i j j j j";gap:var(--gap-default)}.deck-slide__bento-tile--a,.deck-slide__bento-tile--b,.deck-slide__bento-tile--c,.deck-slide__bento-tile--d,.deck-slide__bento-tile--e,.deck-slide__bento-tile--f,.deck-slide__bento-tile--i,.deck-slide__bento-tile--j{display:flex}.deck-slide__bento-right-stack{display:grid;grid-template-rows:1.35fr .85fr;gap:var(--gap-default)}}.deck-slide__welcome{justify-content:flex-start;gap:var(--gap-loose);width:100%;min-height:0}.deck-slide--welcome .deck-slide__welcome{flex:1 1 auto}.deck-slide--welcome .deck-slide__brand-lockup{flex:0 0 auto;margin-inline:auto}.deck-slide__welcome-copy{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-stack);width:100%;min-height:0;text-align:center}.deck-slide__brand-lockup{display:flex;align-items:center;justify-content:center;gap:var(--gap-default)}.deck-slide__brand-logo{display:block;width:var(--size-deck-brand-mark);height:var(--size-deck-brand-mark);border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.deck-slide__brand-name{margin:0;font-family:var(--font-heading);font-size:var(--font-size-lead);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-display);color:inherit}.deck-slide--welcome .deck-slide__phones--stack{margin-top:0;margin-bottom:0;width:100%;max-width:calc(var(--size-deck-phone-width-lg) * 2.4);height:var(--size-deck-phone-stack-visible);min-height:var(--size-deck-phone-stack-visible);flex:0 0 auto;overflow:hidden}.project-deck .story-section.deck-slide--welcome .deck-slide__welcome-copy .deck-slide__lead{margin-inline:auto;color:var(--color-text-secondary);opacity:1}.deck-slide__welcome .deck-slide__title,.deck-slide__thanks .deck-slide__title,.deck-slide__text .project-deck__title,.deck-slide__flow .project-deck__title{text-align:center;margin-inline:auto}.deck-slide__asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 1 auto;gap:var(--gap-default);width:100%;min-height:0;margin-inline:auto;text-align:left;align-items:end}.deck-slide__asset{display:flex;flex-direction:column;gap:var(--gap-compact);margin:0;min-width:0}.deck-slide__asset-card{display:flex;flex-direction:column;width:100%;max-width:100%;margin-inline:auto;min-width:0;aspect-ratio:var(--aspect-square);max-height:var(--size-deck-asset-max-height);overflow:hidden;background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-surface)}.project-deck .story-section .deck-slide__asset-card :is(.image-placeholder,.image-asset){flex:1 1 auto;width:100%;height:100%;min-height:0;max-height:none;overflow:hidden;border:none;border-radius:inherit;object-fit:contain;object-position:center;background:transparent}.deck-slide__asset-card .image-placeholder{border:var(--border-width-thick) dashed var(--color-placeholder-border);background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text)}.project-deck .story-section .deck-slide__asset-footnote{flex-shrink:0;margin:0;min-height:var(--size-deck-asset-footnote-min-height);font-size:var(--font-size-micro);font-weight:var(--weight-body);line-height:var(--line-relaxed);color:var(--color-text-muted);text-align:center}@media(min-width:64rem){.deck-slide__asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.project-deck .story-section.deck-slide--welcome .deck-slide__title{margin:0;max-width:var(--measure-content);font-size:var(--font-size-hero);font-weight:var(--weight-display);line-height:var(--line-display);letter-spacing:var(--tracking-display);text-transform:none;color:inherit}.project-deck .story-section.deck-slide--thanks .deck-slide__title{margin:0;max-width:var(--measure-content);font-size:var(--font-size-page);font-weight:var(--weight-display);line-height:var(--line-display);letter-spacing:var(--tracking-display);text-transform:none;color:inherit}.deck-slide__flow{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-stack);text-align:center;min-height:0}.deck-slide__demo{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-default);min-height:0;overflow:hidden}@media(min-width:48rem){.deck-slide__demo{flex-direction:row;gap:var(--gap-section)}}.deck-slide__demo-copy{display:flex;flex-direction:column;gap:var(--gap-stack);text-align:center}.deck-phone{position:relative;margin:0;line-height:0;flex-shrink:0;background:transparent;container-type:inline-size;container-name:deck-phone}.deck-phone__frame{position:relative;z-index:1;display:block;width:100%;height:auto;max-width:none;max-height:none;pointer-events:none}.deck-phone__viewport{position:absolute;z-index:0;top:var(--inset-deck-phone-screen-top);left:var(--inset-deck-phone-screen-left);width:calc(100% - var(--inset-deck-phone-screen-left) - var(--inset-deck-phone-screen-right));height:calc(100% - var(--inset-deck-phone-screen-top) - var(--inset-deck-phone-screen-bottom));border-radius:calc(100cqi * var(--ratio-deck-phone-screen-radius));overflow:hidden;background:transparent}.deck-phone__screen{display:block;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;object-fit:cover;object-position:top center}.deck-phone__screen--greybox{background:linear-gradient(135deg,color-mix(in srgb,var(--color-deck-greybox-edge) 35%,transparent) 25%,transparent 25% 50%,color-mix(in srgb,var(--color-deck-greybox-edge) 35%,transparent) 50% 75%,transparent 75%),var(--color-deck-greybox);background-size:calc(4 * var(--space-unit)) calc(4 * var(--space-unit));border:var(--border-width) dashed var(--color-deck-greybox-edge);box-sizing:border-box}.deck-slide__phones{display:flex;align-items:center;justify-content:center;gap:var(--gap-default);width:100%;flex-wrap:wrap}.deck-slide__phones--flow{margin-top:var(--gap-default)}.deck-slide__phones--stack{position:relative;flex:1 1 auto;align-self:center;width:100%;max-width:calc(var(--size-deck-phone-width-lg) * 2.4);min-height:var(--size-deck-phone-stack-visible);margin-top:var(--gap-loose);overflow:hidden}.project-deck .story-section .deck-slide__phones--stack figure.deck-phone,.project-deck .story-section .deck-slide__phones--stack figure.deck-phone--lg{position:absolute;left:50%;bottom:var(--size-deck-phone-stack-crop);width:min(var(--size-deck-phone-width-lg),calc(var(--size-deck-phone-max-height) * 1350 / 2760));margin:0;transform-origin:bottom center}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-left{z-index:1;transform:translate(calc(-50% - var(--size-deck-phone-stack-overlap))) scale(.94) translateY(var(--gap-default))}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-center{z-index:3;transform:translate(-50%) scale(1.04)}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-right{z-index:2;transform:translate(calc(-50% + var(--size-deck-phone-stack-overlap))) scale(.94) translateY(var(--gap-default))}.deck-slide__flow-arrow{font-family:var(--font-heading);font-size:var(--font-size-title);opacity:.45;flex-shrink:0}.deck-slide__portrait-visual{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;max-height:100%;overflow:hidden}.deck-slide__portrait-stage{display:flex;flex-direction:column;align-items:center;gap:var(--gap-compact);min-width:0;min-height:0}.project-deck .story-section .deck-slide__phone-note{margin:0;max-width:var(--size-deck-phone-width-lg);font-size:var(--font-size-micro);line-height:var(--line-relaxed);color:var(--color-text-muted);text-align:center}.deck-slide__portrait-visual-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--gap-default);min-width:0;min-height:0;max-height:100%}.deck-slide__portrait{display:grid;grid-template-columns:1fr;gap:var(--gap-loose);flex:1 1 auto;align-items:center;min-height:0;overflow:hidden}@media(min-width:48rem){.deck-slide__portrait{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--gap-relaxed)}.deck-slide__portrait-visual{justify-content:center;align-self:center}.deck-slide__portrait--pillar-story{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.deck-slide__portrait--pillar-story .deck-slide__portrait-visual-wrap{flex-direction:row;align-items:center;justify-content:center;gap:var(--gap-relaxed)}.deck-slide__portrait--pillar-story .deck-slide__pillar-story{flex:1 1 auto;max-width:calc(56 * var(--space-unit));min-width:0;margin-top:0}}.deck-slide__portrait-copy{display:flex;flex-direction:column;gap:var(--gap-stack);min-width:0}.deck-slide__portrait-copy .deck-slide__specs{margin-top:var(--gap-compact)}.deck-slide__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-default);margin-top:var(--gap-default);padding-top:var(--gap-default);border-top:var(--border-width) solid color-mix(in srgb,currentColor 22%,transparent)}.deck-slide__metric{display:flex;flex-direction:column;gap:var(--gap-hairline)}.deck-slide__metric-label{font-size:var(--font-size-micro);letter-spacing:var(--tracking-wider);text-transform:uppercase;opacity:.7}.deck-slide__metric-value{font-family:var(--font-heading);font-size:var(--font-size-title);font-weight:var(--weight-heading);line-height:var(--line-tight)}.deck-slide__specs{display:grid;grid-template-columns:1fr;gap:var(--gap-compact);margin:0;padding:0;border:none}@media(min-width:48rem){.deck-slide__specs{grid-template-columns:repeat(2,minmax(0,1fr))}}.deck-slide__spec{display:flex;flex-direction:column;gap:var(--gap-hairline);min-width:0;padding:var(--gap-compact) var(--gap-default);background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel)}.deck-slide__spec dt{font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--weight-heading)}.deck-slide__spec dd{margin:0;font-size:var(--font-size-body);opacity:.85}.deck-slide__keywords{margin:0;font-size:var(--font-size-caption);color:var(--color-text-muted)}.deck-slide__pillars{display:grid;grid-template-columns:1fr;gap:var(--gap-compact);margin-top:var(--gap-compact)}@media(min-width:48rem){.deck-slide__pillars{grid-template-columns:repeat(3,minmax(0,1fr))}}.deck-slide__pillar{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-hairline);min-width:0;margin:0;padding:var(--gap-compact) var(--gap-default);text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.deck-slide__pillar:hover{border-color:var(--color-border-hover)}.deck-slide__pillar:focus-visible{outline:var(--outline-width) solid var(--color-accent);outline-offset:var(--outline-offset)}.deck-slide__pillar[aria-pressed=true]{border-color:var(--color-accent-border);background:var(--color-accent-subtle)}.deck-slide__pillar-label{font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--weight-heading)}.deck-slide__pillar-value{font-size:var(--font-size-caption);opacity:.85}.deck-slide__pillar-story{display:grid;gap:var(--gap-compact);margin:var(--gap-compact) 0 0;padding:var(--gap-default);background:var(--color-surface-cool);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel)}.deck-slide__pillar-story>div{display:grid;gap:var(--gap-hairline);min-width:0}.deck-slide__pillar-story dt{font-family:var(--font-heading);font-size:var(--font-size-micro);font-weight:var(--weight-heading);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent)}.deck-slide__pillar-story dd{margin:0;font-size:var(--font-size-caption)}.deck-slide__features{display:grid;grid-template-columns:1fr;gap:var(--gap-section);flex:1 1 auto;align-items:center;width:100%;min-height:0}@media(min-width:48rem){.deck-slide__features{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"copy phone" "callouts phone";column-gap:var(--gap-section);row-gap:var(--gap-default);align-items:center}.deck-slide__features-copy{grid-area:copy}.deck-slide__features-visual{grid-area:phone}.deck-slide__features-callouts{grid-area:callouts}}@media(min-width:64rem){.deck-slide__features{grid-template-columns:minmax(16rem,1fr) max-content minmax(16rem,1fr);grid-template-areas:"copy phone callouts";column-gap:var(--gap-section);align-items:center}}.deck-slide__features-copy,.deck-slide__features-callouts{display:flex;flex-direction:column;gap:var(--gap-default);min-width:0;max-width:var(--measure-content)}.deck-slide__features-visual{display:flex;align-items:center;justify-content:center;width:max-content;max-width:var(--size-deck-phone-width-lg);min-width:0;min-height:0;max-height:calc(100dvh - var(--gap-section) * 2);overflow:hidden}.project-deck .story-section .deck-slide__features-visual figure.deck-phone,.project-deck .story-section .deck-slide__features-visual figure.deck-phone--lg{width:min(var(--size-deck-phone-width),calc(var(--size-deck-phone-max-height) * 1350 / 2760),calc((100dvh - var(--size-site-header) - 6rem) * 1350 / 2760));max-width:var(--size-deck-phone-width);max-height:calc(100dvh - var(--gap-section) * 2)}.deck-slide__group-title{margin:0 0 var(--gap-stack);font-size:var(--font-size-body);font-weight:var(--weight-heading)}.deck-slide__group-list{display:flex;flex-direction:column;gap:var(--gap-stack);margin:0;padding:0;list-style:none}.project-deck .deck-slide__group-item{position:relative;max-width:none;margin:0;padding-left:var(--gap-relaxed);font-size:var(--font-size-lead);color:inherit;text-align:left}.project-deck .deck-slide__group-item:before{content:"";position:absolute;left:0;top:.55em;width:var(--size-experience-bullet);height:var(--size-experience-bullet);border-radius:50%;background:var(--color-accent)}.project-deck .deck-slide__group-item--ok:before{background:var(--color-deck-status-ok)}.project-deck .deck-slide__group-item--warn:before{background:var(--color-deck-status-warn)}.project-deck .deck-slide__group-item--alert:before{background:var(--color-deck-status-alert)}.deck-slide__callout{display:flex;flex-direction:column;gap:var(--gap-hairline)}.deck-slide__callout h3{margin:0;font-size:var(--font-size-body);font-weight:var(--weight-heading)}.deck-slide__callout p{margin:0;max-width:none;font-size:var(--font-size-body);line-height:var(--line-relaxed);color:inherit;opacity:.85}.deck-slide__contacts{display:flex;flex-direction:column;align-items:center;gap:var(--gap-stack);margin:0 auto;padding:0;list-style:none;font-size:var(--font-size-body);text-align:center}.project-deck .deck-slide__contacts li,.project-deck .deck-slide__contact{display:flex;align-items:center;justify-content:center;max-width:none;margin:0;padding:0;font-size:var(--font-size-body);color:inherit;text-align:center;text-decoration:none}.project-deck .deck-slide__contact{gap:var(--gap-hairline)}.project-deck .deck-slide__contacts li:before{content:none}.project-deck .deck-slide__contacts .deck-slide__contact-pair{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--gap-relaxed)}a.deck-slide__contact:hover,a.deck-slide__contact:focus-visible{color:var(--color-accent)}.deck-slide__bento-tile--thank .deck-slide__title,.deck-slide__bento-tile--thank .deck-slide__contacts,.deck-slide__bento-tile--thank .deck-slide__contact{color:var(--color-on-accent)}.deck-slide__bento-tile--thank a.deck-slide__contact:hover,.deck-slide__bento-tile--thank a.deck-slide__contact:focus-visible{color:var(--color-on-accent);opacity:var(--opacity-muted)}.deck-slide__contact-icon{display:block;flex:0 0 auto;width:var(--size-deck-contact-icon);height:var(--size-deck-contact-icon);color:var(--color-accent)}.deck-slide__bento-tile--thank .deck-slide__contact-icon{color:var(--color-on-accent)}.deck-slide__contact-icon svg{display:block;width:100%;height:100%}.project-deck .deck-slide .deck-phone .image-asset,.project-deck .deck-slide .deck-phone__screen{max-height:none}@media(max-width:47.9875rem){.project-deck .story-section{height:auto;max-height:none;min-height:calc(100dvh - var(--size-site-header));overflow:visible;justify-content:flex-start;padding-block:var(--gap-spacious) var(--gap-max)}.project-deck .story-section[data-stage=cover].deck-slide,.project-deck .story-section[data-stage=overview],.project-deck .story-section[data-stage=strategy]:has(.project-overview),.project-deck .story-section[data-stage=role]:has(.role-slide),.project-deck .story-section.deck-slide{height:auto;max-height:none;min-height:calc(100dvh - var(--size-site-header));overflow:visible;padding-block:var(--gap-spacious) var(--gap-max)}.project-overview,.role-slide{height:auto;max-height:none;overflow:visible}.project-overview{align-items:start;gap:var(--gap-spacious)}.project-overview__copy,.project-overview__visual,.project-overview__media,.role-slide__hero,.role-slide__support{min-height:0;max-height:none}.deck-slide__portrait,.deck-slide__portrait-visual,.deck-slide__portrait-visual-wrap,.deck-slide__portrait-stage,.deck-slide__features,.deck-slide__features-visual,.deck-slide__demo{overflow:visible;max-height:none}.project-deck .story-section figure.deck-phone,.project-deck .story-section figure.deck-phone--lg,.project-deck .story-section[data-stage=overview] figure.deck-phone,.project-deck .story-section[data-stage=overview] figure.deck-phone--lg,.project-deck .story-section .deck-slide__features-visual figure.deck-phone,.project-deck .story-section .deck-slide__features-visual figure.deck-phone--lg,.project-overview__frame{width:min(var(--size-deck-phone-width-mobile),calc((100dvh - var(--size-site-header) - var(--gap-section) * 2) * 1350 / 2760));max-width:var(--size-deck-phone-width-mobile);max-height:none}.project-deck .story-section[data-stage=overview] .project-overview__footnote,.project-deck .story-section .deck-slide__phone-note,.deck-slide__features-visual{max-width:var(--size-deck-phone-width-mobile)}.deck-slide__phones--stack,.deck-slide--welcome .deck-slide__phones--stack{display:block;position:relative;width:100%;max-width:calc(var(--size-deck-phone-width-mobile) * 2.2);height:calc(var(--size-deck-phone-width-mobile) * 2760 / 1350 * .92);min-height:calc(var(--size-deck-phone-width-mobile) * 2760 / 1350 * .92);margin-inline:auto;margin-top:var(--gap-default);overflow:hidden}.project-deck .story-section .deck-slide__phones--stack figure.deck-phone,.project-deck .story-section .deck-slide__phones--stack figure.deck-phone--lg,.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-left,.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-center,.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-right{position:absolute;left:50%;bottom:calc(var(--size-deck-phone-width-mobile) * 2760 / 1350 * -.08);width:var(--size-deck-phone-width-mobile);max-width:var(--size-deck-phone-width-mobile);margin:0;transform-origin:bottom center}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-left{z-index:1;display:block;transform:translate(calc(-50% - var(--size-deck-phone-stack-overlap-mobile))) scale(.88) translateY(var(--gap-compact))}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-center{z-index:3;display:block;transform:translate(-50%) scale(1)}.project-deck .story-section .deck-slide__phones--stack .deck-phone--stack-right{z-index:2;display:block;transform:translate(calc(-50% + var(--size-deck-phone-stack-overlap-mobile))) scale(.88) translateY(var(--gap-compact))}}
