.breadcrumb{margin-bottom:var(--space-md)}.breadcrumb ol{display:flex;align-items:center;gap:0;list-style:none}.breadcrumb li{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.breadcrumb li:not(:last-child)::after{content:"/";margin:0 var(--space-xs);color:var(--border)}.breadcrumb a{color:var(--accent-mid);transition:color .2s}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--accent)}.resume-header{padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-xl);border-bottom:1px solid var(--border)}.resume-header__accent{width:40px;height:4px;background-color:var(--accent);margin-bottom:var(--space-md);border-radius:2px}.resume-header__name{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,3rem);letter-spacing:0;line-height:1;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-header__title{font-family:var(--font-display);font-weight:600;font-size:clamp(.9rem,2vw,1.1rem);letter-spacing:0;line-height:1.35;color:var(--accent);margin-bottom:var(--space-md)}.resume-header__summary{font-size:1rem;line-height:1.65;letter-spacing:.01em;color:var(--text-secondary);max-width:640px;margin-bottom:var(--space-lg)}.resume-header__contact{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.resume-header__contact a{color:var(--accent-mid);overflow-wrap:anywhere;transition:color .2s}.resume-header__contact a:hover,.resume-header__contact a:focus-visible{color:var(--accent)}.resume-header__label{display:block;font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:2px}.resume-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.resume-project__card{display:grid;grid-template-columns:1fr 240px;gap:var(--col-gap);padding:var(--space-lg);background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.resume-project__title-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xs)}.resume-project__title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:0;line-height:1.35;color:var(--text-primary)}.resume-project__type{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.resume-project__url{display:inline-block;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--accent-mid);margin-bottom:var(--space-sm);transition:color .2s}.resume-project__url:hover,.resume-project__url:focus-visible{color:var(--accent)}.resume-project__stack-label{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-xs)}.resume-project__stack-text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.resume-list{list-style:none}.resume-list li{position:relative;padding-left:14px;margin-top:var(--space-xs);font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.resume-list li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background-color:var(--accent)}.resume-body{padding-bottom:var(--space-xl)}.resume-grid{display:grid;grid-template-columns:1fr 280px;gap:var(--col-gap);align-items:start}.resume-job{margin-top:var(--space-lg)}.resume-job:first-of-type{margin-top:0}.resume-job__role{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:0;line-height:1.35;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-job__company{font-size:.95rem;font-weight:400;color:var(--text-primary);margin-bottom:2px}.resume-job__meta{display:flex;justify-content:space-between;gap:var(--space-md);font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.04em;color:var(--accent-mid);font-style:italic;margin-bottom:var(--space-sm)}.resume-sidebar-section{margin-top:var(--space-lg)}.resume-sidebar-section:first-child{margin-top:0}.resume-skills{display:grid;gap:var(--space-sm)}.resume-skill-group{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.resume-skill-group:last-child{border-bottom:none;padding-bottom:0}.resume-skill-group__label{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-skill-group__text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.resume-edu{margin-top:var(--space-sm)}.resume-edu:first-of-type{margin-top:0}.resume-edu__degree{font-family:var(--font-body);font-weight:400;font-size:.95rem;color:var(--text-primary);margin-bottom:2px}.resume-edu__school{font-size:.875rem;color:var(--text-secondary)}.resume-edu__dates{font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.04em;color:var(--text-tertiary)}.resume-focus__title{font-family:var(--font-body);font-weight:400;font-size:.95rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-focus__text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}@media(max-width: 768px){.resume-project__card{grid-template-columns:1fr;padding:var(--space-md)}.resume-grid{grid-template-columns:1fr}.resume-job__meta{flex-direction:column;gap:2px}.resume-project__title-row{flex-direction:column;gap:var(--space-xs)}.resume-header__contact{grid-template-columns:1fr 1fr}}@media(max-width: 480px){.resume-header__contact{grid-template-columns:1fr}.resume-header__actions{flex-direction:column}.resume-header__actions .btn{justify-content:center}}@media print{.site-header,.skip-link,.footer,.breadcrumb,.resume-header__actions{display:none !important}@page{size:Letter;margin:.44in .5in}html{font-size:10pt}body{--font-display: Arial, Helvetica, sans-serif;--font-body: Arial, Helvetica, sans-serif;--font-mono: Arial, Helvetica, sans-serif;--accent: #2A3A8C;--accent-mid: #2A3A8C;--accent-rule: #B8C0E0;--border: #C9D0D8;--text-primary: #17202B;--text-secondary: #536174;--text-tertiary: #536174;--card-bg: #F6F8FA;--space-xs: 4px;--space-sm: 8px;--space-md: 10px;--space-lg: 14px;--col-gap: 18px;background:#fff !important;font-size:9.25pt;line-height:1.3;font-variant-ligatures:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.resume-header{padding-top:0 !important;padding-bottom:9px !important;border-bottom:2px solid var(--text-primary)}.resume-header .section__inner{display:grid;grid-template-columns:minmax(0, 1fr) 178px;grid-template-rows:auto auto 1fr;column-gap:22px;align-items:start}.resume-header__accent{display:none}.resume-header__name{grid-column:1;grid-row:1;font-size:24pt;letter-spacing:0;margin-bottom:3px}.resume-header__title{grid-column:1;grid-row:2;font-size:10.75pt;line-height:1.25;color:var(--accent);margin-bottom:5px}.resume-header__summary{grid-column:1;grid-row:3;max-width:none;font-size:9.25pt;line-height:1.35;color:var(--text-secondary);margin-bottom:0}.resume-header__contact{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:1fr;gap:6px;text-align:left;margin-bottom:0;font-size:8.5pt;line-height:1.3}.resume-header__contact>div{margin-bottom:0}.resume-header__label{display:block;font-family:var(--font-body);font-size:7.5pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin:0 0 1px}.section{padding:9px 0 0 !important}.section__inner{padding:0 !important;max-width:none}.section--surface{background:rgba(0,0,0,0) !important}.section--surface .section-label{position:static}.resume-project__card{display:grid;grid-template-columns:minmax(0, 1fr) 158px;gap:14px;align-items:start;background:#f6f8fa !important;border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:0;padding:9px 11px}.resume-project__title-row{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2px}.resume-project__title{font-size:11pt;letter-spacing:0}.resume-project__type{font-size:8pt;color:var(--text-secondary);font-weight:700;letter-spacing:.02em}.resume-project__url{font-size:8.5pt;margin-bottom:3px}.resume-project__stack{margin-top:0;padding:0 0 0 12px;border-top:0;border-left:1px solid var(--border)}.resume-project__stack-label{display:block;font-size:8.5pt;font-weight:700;color:var(--text-primary);margin:0 0 3px}.resume-project__stack-text{display:block;font-size:8.25pt;line-height:1.32}.resume-body{padding-bottom:0 !important}.resume-grid{display:grid;grid-template-columns:minmax(0, 1fr) 194px;gap:17px;align-items:start}.resume-grid__sidebar{padding-left:15px;border-left:1px solid var(--border)}.section-label{font-size:9pt !important;line-height:1;letter-spacing:.06em;color:var(--accent);margin-bottom:6px !important}.section-label::before{content:none !important}.resume-job{margin-top:7px !important;break-inside:avoid}.resume-job:first-of-type{margin-top:0 !important}.resume-job__role{font-size:10.5pt;letter-spacing:0;margin-bottom:1px}.resume-job__company{font-size:9pt;font-weight:700;line-height:1.2}.resume-job__meta{display:block;font-size:8.25pt;color:var(--accent);margin-bottom:3px}.resume-job__meta span{display:inline}.resume-job__meta span+span::before{content:" | "}.resume-sidebar-section{margin-top:9px !important;break-inside:avoid}.resume-sidebar-section:first-child{padding-top:0;border-top:0}.resume-sidebar-section--career{display:none}.resume-print-optional{display:none}.resume-skills{gap:0}.resume-skill-group{padding-bottom:3px;margin-bottom:3px}.resume-skill-group__label{display:block;font-size:8.75pt;font-weight:700;letter-spacing:.02em;color:var(--text-primary);margin:0 0 1px}.resume-skill-group__text,.resume-focus__text{display:block;font-size:8.75pt;line-height:1.32}.resume-edu{margin-top:4px}.resume-edu__degree,.resume-focus__title{display:block;font-size:9pt;font-weight:700;line-height:1.2}.resume-edu__school,.resume-edu__dates{display:block;font-size:8.5pt;line-height:1.25}.resume-edu__school::before{content:none}.resume-edu__dates::before{content:none}.resume-focus__text{display:block;margin-top:2px}.resume-list li{padding-left:13px;margin-top:2px;font-size:9pt;line-height:1.3}.resume-list li::before{top:.55em;width:4px;height:4px}}:root{--accent: oklch(0.45 0.18 260);--accent-mid: oklch(0.53 0.13 260);--accent-rule: oklch(0.74 0.07 260);--accent-pale: oklch(0.93 0.03 260);--bg: oklch(0.97 0.005 260);--surface: oklch(0.94 0.008 260);--border: oklch(0.87 0.01 260);--text-primary: oklch(0.17 0.015 260);--text-secondary: oklch(0.43 0.025 260);--text-tertiary: oklch(0.32 0.025 260);--card-bg: var(--bg);--space-xs: 0.375rem;--space-sm: 0.75rem;--space-md: 1.5rem;--space-lg: 3rem;--space-xl: 5rem;--space-2xl: 8rem;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 100px;--max-width: 1100px;--inline-pad: clamp(1.25rem, 5vw, 3rem);--col-gap: clamp(1.5rem, 4vw, 3rem);--nav-height: 56px;--nav-transition-duration: 300ms;--duration-fast: 160ms;--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);--font-display: 'Schibsted Grotesk', sans-serif;--font-body: 'Source Sans 3', sans-serif;--font-mono: 'JetBrains Mono', monospace}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--text-primary);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::selection{background-color:var(--accent-pale);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:var(--space-md);z-index:1000;padding:var(--space-xs) var(--space-sm);background:var(--accent);color:oklch(.98 .003 260);font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-sm)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);transition:background-color var(--nav-transition-duration),box-shadow var(--nav-transition-duration)}.site-header.scrolled{background-color:oklch(.97 .005 260/.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--border)}.site-header.scrolled .nav__logo{color:var(--text-primary)}.site-header.scrolled .nav__link{color:var(--text-primary)}.site-header.scrolled .nav__link:hover,.site-header.scrolled .nav__link:focus-visible{color:var(--accent)}.site-header.scrolled .nav__link.active{color:var(--accent)}.site-header.scrolled .nav__link--cta{border-color:var(--border);color:var(--text-primary)}.site-header.scrolled .nav__link--cta:hover,.site-header.scrolled .nav__link--cta:focus-visible{border-color:var(--accent);color:var(--accent)}.site-header.scrolled .nav__toggle span{background:var(--text-primary)}.nav{display:flex;align-items:center;max-width:calc(var(--max-width) + var(--inline-pad)*2);margin:0 auto;padding:0 var(--inline-pad);height:100%}.nav__logo{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:oklch(.98 .003 260);transition:color var(--nav-transition-duration)}.nav__context{margin-left:var(--space-md);padding-left:var(--space-md);border-left:1px solid var(--border);font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:color .2s}.nav__context:hover,.nav__context:focus-visible{color:var(--accent)}.nav--case .nav__links{gap:clamp(var(--space-md),3vw,var(--space-lg))}.nav__links{display:flex;align-items:center;gap:var(--space-lg);margin-left:auto}.nav__link{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:oklch(.98 .003 260/.82);transition:color .2s}.nav__link:hover,.nav__link:focus-visible{color:oklch(.98 .003 260)}.nav__link.active{color:oklch(.98 .003 260)}.nav__link--cta{padding:var(--space-xs) var(--space-sm);border:1px solid oklch(.98 .003 260/.3);border-radius:var(--radius-sm)}.nav__link--cta:hover,.nav__link--cta:focus-visible{border-color:oklch(.98 .003 260/.6);color:oklch(.98 .003 260)}.nav__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;min-width:44px;min-height:44px;background:none;border:none;cursor:pointer;padding:10px}.nav__toggle span{display:block;width:100%;height:2px;background:oklch(.98 .003 260);border-radius:1px;transition:transform var(--nav-transition-duration),opacity var(--nav-transition-duration)}.nav__toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,0);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart);white-space:nowrap}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background-color:var(--accent);color:oklch(.98 .003 260);border-color:var(--accent)}.btn--primary:hover,.btn--primary:focus-visible{background-color:var(--accent-mid);border-color:var(--accent-mid)}.btn--secondary{background-color:rgba(0,0,0,0);color:var(--text-primary);border-color:var(--border)}.btn--secondary:hover,.btn--secondary:focus-visible{border-color:var(--accent);color:var(--accent)}.btn--secondary-light{background-color:rgba(0,0,0,0);color:oklch(.98 .003 260/.85);border-color:oklch(.98 .003 260/.3)}.btn--secondary-light:hover,.btn--secondary-light:focus-visible{border-color:oklch(.98 .003 260/.6);color:oklch(.98 .003 260)}.btn:active{transform:translateY(1px)}.section{padding:var(--space-2xl) 0}.section--tight{padding:var(--space-xl) 0}.section--surface{background-color:var(--surface)}.section__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad)}.section-label{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:var(--space-lg)}.section-label::before{content:"";display:block;width:16px;height:2px;background:var(--accent-rule);flex-shrink:0}.hero{min-height:65vh;min-height:65svh;display:flex;align-items:center;background-color:oklch(.2 .04 260);position:relative;padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-xl)}.hero ::selection{background-color:var(--accent);color:oklch(.98 .003 260)}.hero__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad);width:100%}.hero__accent{width:40px;height:4px;background-color:var(--accent);margin-bottom:var(--space-lg);border-radius:2px}.hero__name{font-family:var(--font-display);font-weight:700;font-size:clamp(3.5rem,10vw,6.5rem);letter-spacing:0;line-height:1;color:oklch(.98 .003 260);margin-bottom:var(--space-md)}.hero__title{font-family:var(--font-body);font-size:clamp(.95rem,2vw,1.125rem);font-weight:300;color:oklch(.98 .003 260/.78);letter-spacing:.01em;line-height:1.75;max-width:600px;margin-bottom:var(--space-lg)}.hero__statement{padding:var(--space-md);margin-bottom:var(--space-lg);max-width:700px;background:oklch(.98 .003 260/.07);border:1px solid oklch(.98 .003 260/.12);border-radius:var(--radius-sm)}.hero__statement p{font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.65;letter-spacing:.01em;color:oklch(.98 .003 260/.84)}.hero__actions{display:grid;grid-template-columns:repeat(4, max-content);gap:var(--space-sm)}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--col-gap);align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.project-card__content{min-width:0}.project-card__preview img{width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--card-bg)}.project-card__header{margin-bottom:var(--space-md)}.project-card__status{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid)}.project-card__dot{width:8px;height:8px;background-color:oklch(.55 .14 150);border-radius:50%;display:inline-block}.project-card__title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:0;line-height:1;color:var(--text-primary);margin-bottom:var(--space-sm)}.project-card__url{display:inline-block;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--accent-mid);margin-bottom:var(--space-md);transition:color .2s}.project-card__url:hover,.project-card__url:focus-visible{color:var(--accent)}.project-card__desc{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-sm)}.project-card__proof{max-width:52ch;margin-bottom:var(--space-md);color:var(--text-primary);font-size:.95rem;line-height:1.6;font-weight:600}.project-card__highlights{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.project-card__highlights li{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm)}.project-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.case-header{padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-xl);border-bottom:1px solid var(--border);background-color:var(--surface)}.case-header__accent{width:40px;height:4px;background-color:var(--accent);margin-bottom:var(--space-md);border-radius:2px}.case-header__eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:var(--space-sm)}.case-header__title{max-width:880px;font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,7vw,5.2rem);letter-spacing:0;line-height:.98;color:var(--text-primary);margin-bottom:var(--space-lg)}.case-header__summary{max-width:760px;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;letter-spacing:.01em;color:var(--text-secondary);margin-bottom:var(--space-lg)}.case-header__layout{display:grid;grid-template-columns:minmax(0, 1fr) minmax(240px, 340px);gap:var(--col-gap);align-items:start}.case-header__preview img{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface)}.case-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.case-story__intro{max-width:700px;margin-bottom:var(--space-lg)}.case-story__intro p{font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.7;color:var(--text-primary)}.case-story__layout{display:grid;grid-template-columns:minmax(240px, 0.8fr) minmax(280px, 1.2fr);gap:var(--col-gap);align-items:start}.case-story__screen{max-width:420px}.case-story__screen picture,.case-story__screen img{display:block;width:100%}.case-story__screen img{height:auto;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--card-bg)}.case-story__screen figcaption{margin-top:var(--space-sm);font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.case-story__screen figcaption span,.case-story__proof span{display:block;margin-bottom:2px;font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid)}.case-story__proof{display:grid;border-top:1px solid var(--border)}.case-story__proof>div{padding:var(--space-md) 0;border-bottom:1px solid var(--border)}.case-story__proof p{max-width:620px;font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.6;color:var(--text-primary)}.case-walkthrough{display:grid;gap:clamp(var(--space-md),4vw,var(--space-lg));max-width:880px}.walkthrough-step{display:grid;grid-template-columns:56px minmax(0, 1fr);gap:var(--space-md);align-items:start}.walkthrough-step__number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--accent-rule);border-radius:50%;font-family:var(--font-mono);font-size:.72rem;color:var(--accent-mid);background-color:var(--accent-pale)}.walkthrough-step h3,.architecture-brief h3,.control-band h3,.decision-item h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.3;letter-spacing:0;color:var(--text-primary);margin-bottom:var(--space-xs)}.walkthrough-step p,.architecture-brief p,.control-band p,.decision-item p,.case-proof p{font-size:.98rem;line-height:1.65;color:var(--text-secondary)}.architecture-brief{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(340px, 1.1fr);gap:var(--col-gap);align-items:center;margin-bottom:var(--space-lg)}.architecture-brief__copy p+p{margin-top:var(--space-sm)}.architecture-map{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--card-bg)}.architecture-map__node{min-height:92px;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-weight:600;line-height:1.25}.architecture-map__node span{display:block;margin-top:var(--space-xs);font-family:var(--font-body);font-size:.82rem;font-weight:400;color:var(--text-secondary)}.architecture-map__node--core{grid-column:1/-1;background-color:var(--accent-pale);border-color:var(--accent-rule)}.case-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.case-tags li{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.02em;color:var(--text-tertiary);padding:2px var(--space-xs);background-color:var(--accent-pale);border-radius:var(--radius-sm)}.case-tags--stack{max-width:850px}.control-band{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--border)}.control-band article{padding:var(--space-lg) var(--space-md);background-color:var(--card-bg)}.control-band span{display:block;margin-bottom:var(--space-sm);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid)}.decision-list{display:grid;gap:var(--space-md)}.decision-item{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.decision-item__label{display:block;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:var(--space-xs)}.case-proof{max-width:760px}.case-proof p+p{margin-top:var(--space-sm)}.case-close{padding-bottom:var(--space-2xl)}.case-close__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border)}.case-close__contact{margin-left:var(--space-sm);color:var(--accent-mid);font-size:.9rem;font-weight:600;transition:color .2s}.case-close__contact:hover,.case-close__contact:focus-visible{color:var(--accent)}.experience-list{display:grid;gap:var(--space-md)}.experience-item{padding:var(--space-md) var(--space-lg);background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.experience-item__role{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:0;line-height:1.25;color:var(--text-primary);margin-bottom:var(--space-xs)}.experience-item__company{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid);margin-bottom:2px}.experience-item__dates{font-size:.75rem;letter-spacing:.04em;color:var(--text-tertiary);font-style:italic;margin-bottom:var(--space-sm)}.experience-item__desc{font-size:.925rem;line-height:1.6;color:var(--text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-lg)}.skill-group{padding:var(--space-md) 0;border-top:1px solid var(--border)}.skill-group__label{font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:0;color:var(--text-primary);margin-bottom:var(--space-sm)}.skill-group__desc{font-size:.925rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-sm)}.skill-group__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{font-family:var(--font-mono);font-size:.7rem;font-weight:400;letter-spacing:.02em;padding:2px var(--space-xs);background-color:var(--accent-pale);border-radius:var(--radius-sm);color:var(--text-tertiary)}.contact__intro{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.65;letter-spacing:.01em;color:var(--text-primary);max-width:720px;margin-bottom:var(--space-lg)}.contact-rows{display:grid;gap:var(--space-md);max-width:640px}.contact-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background-color:var(--card-bg);border:1px solid var(--accent-rule);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart)}.contact-row:hover,.contact-row:focus-visible,.contact-row:focus-within{border-color:var(--accent-rule)}.contact-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-row--split{justify-content:space-between}.contact-row__main{display:flex;align-items:center;gap:var(--space-md);min-width:0}.contact-row__content{min-width:0}.contact-row__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--accent-pale);border-radius:var(--radius-md);color:var(--accent-mid);flex-shrink:0}.section--surface .contact-row__icon{background-color:var(--accent-pale)}.contact-row__label{display:block;font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:2px}.contact-row__value{display:block;font-size:.925rem;color:var(--text-primary);overflow-wrap:anywhere}.contact-row__action{min-width:64px;min-height:44px;padding:0 var(--space-sm);background:rgba(0,0,0,0);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-mid);cursor:pointer;font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.contact-row__action:hover,.contact-row__action:focus-visible{background-color:var(--surface);border-color:var(--accent-rule);color:var(--accent)}.contact-row__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-row__action:active{transform:translateY(1px)}.contact-status{max-width:640px;margin-top:var(--space-sm);color:var(--accent-mid);font-size:.875rem}.contact-status:empty{display:none}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--border)}.footer__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad);display:flex;align-items:center;justify-content:space-between}.footer__logo{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary)}.footer__copy{font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.04em;color:var(--text-tertiary)}@media(max-width: 768px){.nav{flex-wrap:wrap;align-content:flex-start;height:auto;min-height:var(--nav-height)}.js-enabled .nav{flex-wrap:nowrap;align-content:center;height:100%;min-height:0}.js-enabled .nav__toggle{display:flex;margin-left:auto}.nav__context{max-width:160px;overflow:hidden;text-overflow:ellipsis}.theme-toggle{margin-left:var(--space-xs);order:4}.nav__links{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;background-color:oklch(.17 .015 260/.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin:0 calc(var(--inline-pad)*-1);padding:var(--space-sm) var(--inline-pad);border-bottom:1px solid oklch(.98 .003 260/.1)}.js-enabled .nav__links{position:absolute;top:var(--nav-height);left:0;right:0;flex-basis:auto;margin:0;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--nav-transition-duration),opacity var(--nav-transition-duration),visibility var(--nav-transition-duration)}.js-enabled .nav__links.open{transform:translateY(0);opacity:1;visibility:visible}.site-header.scrolled .nav__links{background-color:oklch(.97 .005 260/.95);border-bottom-color:var(--border)}.nav__link{display:block;padding:var(--space-sm) 0;color:oklch(.98 .003 260/.85);border-bottom:1px solid oklch(.98 .003 260/.1)}.site-header.scrolled .nav__link{color:var(--text-primary);border-bottom-color:var(--border)}.nav__link--cta{border:none;border-bottom:1px solid var(--border);border-radius:0;padding:var(--space-sm) 0}.nav__link:last-child,.nav__link--cta:last-child{border-bottom:none}.hero__name{font-size:clamp(2.5rem,12vw,4rem)}.hero__actions{grid-template-columns:repeat(2, minmax(0, 1fr))}.hero__actions .btn{justify-content:center}.section{padding:var(--space-xl) 0}.project-card{grid-template-columns:1fr;padding:var(--space-md)}.project-card__preview{order:-1}.project-card__actions,.case-header__actions,.case-close__actions{display:grid;grid-template-columns:1fr}.project-card__actions .btn,.case-header__actions .btn,.case-close__actions .btn{justify-content:center}.case-header__layout,.case-story__layout,.architecture-brief,.control-band{grid-template-columns:1fr}.case-header__preview{max-width:360px}.case-story__screen{max-width:360px}.architecture-map{grid-template-columns:1fr}.architecture-map__node--core{grid-column:auto}.control-band{gap:1px}.control-band article,.decision-item{padding:var(--space-md)}.case-close__contact{margin:var(--space-xs) 0 0;text-align:center}.experience-item{padding:var(--space-md)}.contact-row{padding:var(--space-sm) var(--space-md)}.contact-row--split{align-items:stretch}.skills-grid{grid-template-columns:1fr;gap:var(--space-lg)}}@media(max-width: 480px){.nav__context{max-width:120px;margin-left:var(--space-sm);padding-left:var(--space-sm);font-size:.75rem}.contact-row--split{display:grid;grid-template-columns:1fr}.contact-row__action{width:100%}}@media(prefers-color-scheme: dark){html:not([data-theme]){--bg: oklch(0.18 0.02 260);--surface: oklch(0.22 0.025 260);--border: oklch(0.30 0.03 260);--text-primary: oklch(0.93 0.006 260);--text-secondary: oklch(0.76 0.018 260);--text-tertiary: oklch(0.80 0.014 260);--accent: oklch(0.68 0.16 260);--accent-mid: oklch(0.72 0.10 260);--accent-rule: oklch(0.36 0.06 260);--accent-pale: oklch(0.24 0.04 260);--card-bg: oklch(0.25 0.025 260)}html:not([data-theme]) .hero{background-color:oklch(.14 .03 260)}html:not([data-theme]) .btn--primary{color:oklch(.17 .015 260)}html:not([data-theme]) .site-header.scrolled{background-color:oklch(.18 .02 260/.85);box-shadow:0 1px 0 var(--border)}html:not([data-theme]) .project-card__dot{background-color:oklch(.65 .16 150)}html:not([data-theme]) .section--surface .contact-row__icon{background-color:var(--card-bg)}}@media(prefers-color-scheme: dark)and (max-width: 768px){html:not([data-theme]) .nav__links{background-color:oklch(.14 .03 260/.95)}html:not([data-theme]) .site-header.scrolled .nav__links{background-color:oklch(.18 .02 260/.95);border-bottom-color:var(--border)}html:not([data-theme]) .site-header.scrolled .nav__link{color:var(--text-primary);border-bottom-color:var(--border)}}html[data-theme=dark]{--bg: oklch(0.18 0.02 260);--surface: oklch(0.22 0.025 260);--border: oklch(0.30 0.03 260);--text-primary: oklch(0.93 0.006 260);--text-secondary: oklch(0.76 0.018 260);--text-tertiary: oklch(0.80 0.014 260);--accent: oklch(0.68 0.16 260);--accent-mid: oklch(0.72 0.10 260);--accent-rule: oklch(0.36 0.06 260);--accent-pale: oklch(0.24 0.04 260);--card-bg: oklch(0.25 0.025 260)}html[data-theme=dark] .hero{background-color:oklch(.14 .03 260)}html[data-theme=dark] .btn--primary{color:oklch(.17 .015 260)}html[data-theme=dark] .site-header.scrolled{background-color:oklch(.18 .02 260/.85);box-shadow:0 1px 0 var(--border)}html[data-theme=dark] .project-card__dot{background-color:oklch(.65 .16 150)}html[data-theme=dark] .section--surface .contact-row__icon{background-color:var(--card-bg)}@media(max-width: 768px){html[data-theme=dark] .nav__links{background-color:oklch(.14 .03 260/.95)}html[data-theme=dark] .site-header.scrolled .nav__links{background-color:oklch(.18 .02 260/.95);border-bottom-color:var(--border)}html[data-theme=dark] .site-header.scrolled .nav__link{color:var(--text-primary);border-bottom-color:var(--border)}}.theme-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;background:none;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);cursor:pointer;color:oklch(.98 .003 260/.72);transition:color .2s,border-color .2s;flex-shrink:0;margin-left:var(--space-sm)}.theme-toggle:hover,.theme-toggle:focus-visible{color:oklch(.98 .003 260);border-color:oklch(.98 .003 260/.2)}.site-header.scrolled .theme-toggle{color:var(--text-secondary)}.site-header.scrolled .theme-toggle:hover,.site-header.scrolled .theme-toggle:focus-visible{color:var(--accent);border-color:var(--border)}.theme-toggle__sun{display:none}html[data-theme=dark] .theme-toggle__moon{display:none}html[data-theme=dark] .theme-toggle__sun{display:block}@media(prefers-color-scheme: dark){html:not([data-theme]) .theme-toggle__moon{display:none}html:not([data-theme]) .theme-toggle__sun{display:block}}.error-page__main{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-lg)}.error-page__label{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:var(--space-md)}.error-page__heading{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,8vw,4rem);letter-spacing:0;line-height:1;color:var(--text-primary);margin-bottom:var(--space-md)}.error-page__desc{font-size:1rem;line-height:1.65;color:var(--text-secondary);max-width:460px;margin:0 auto var(--space-lg)}.error-page__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-sm)}@media(max-width: 480px){.error-page__actions{flex-direction:column}.error-page__actions .btn{justify-content:center}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
