﻿:root{--color-bg: #FBFAF7;--color-surface: #FFFFFF;--color-ink: #1C1E21;--color-ink-muted: #545A61;--color-accent: #103A66;--color-accent-hover: #0C2C4E;--color-hairline: #E7E3DA;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-display-xl: clamp(2.6rem, 5.5vw, 4.25rem);--text-display-lg: clamp(2.3rem, 4.25vw, 3.4rem);--text-display: clamp(2.1rem, 4.5vw, 3.25rem);--text-heading: clamp(1.4rem, 2.5vw, 1.875rem);--text-body: 1.125rem;--text-meta: 0.9375rem;--text-kicker: 0.8125rem;--text-index: clamp(2.75rem, 5vw, 4rem);--text-stat: clamp(1.75rem, 3vw, 2.5rem);--text-step: 3rem;--container-max: 1120px;--container-pad: clamp(1.25rem, 4vw, 2.5rem);--section-pad: clamp(4rem, 9vw, 7.5rem);--section-pad-lead: 1.5rem;--measure: 70ch;--radius-card: 10px;--shadow-card: 0 1px 2px rgba(0, 0, 0, 0.05);--rule-width: 32px;--ghost-opacity: 0.12;--motion-fast: 160ms;--motion-medium: 240ms;--motion-reveal: 500ms;--motion-reveal-step: 80ms}@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-v20-latin-regular.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-v20-latin-italic.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/inter-v20-latin-500.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-v20-latin-600.woff2") format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:optional;src:url("/assets/fonts/source-serif-4-v14-latin-600.woff2") format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:optional;src:url("/assets/fonts/source-serif-4-v14-latin-700.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-serif);color:var(--color-ink);margin:0 0 1rem}h1{font-size:var(--text-display);font-weight:700;line-height:1.12;letter-spacing:-0.015em}h2{font-size:var(--text-heading);font-weight:600;line-height:1.2}h3{font-size:var(--text-body);font-weight:600;line-height:1.3}p,li,blockquote,figcaption{max-width:var(--measure)}p{margin:0 0 1rem}ul,ol{padding-left:1.25em}img{max-width:100%;height:auto}a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--motion-fast) ease}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}code,kbd,samp{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:4px;padding:.1em .35em}pre{font-family:var(--font-mono);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);padding:1rem 1.25rem;overflow-x:auto}pre code{background:none;border:0;padding:0}.btn{display:inline-block;font-family:var(--font-sans);font-size:var(--text-meta);font-weight:600;line-height:1.2;border:0;cursor:pointer;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease}.btn--primary{background:var(--color-accent);color:var(--color-surface);text-decoration:none;border-radius:6px;padding:.875rem 1.5rem}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-surface)}.btn--secondary{background:none;color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;padding:.875rem 0}.btn--secondary:hover{color:var(--color-accent-hover)}.btn--small{padding:.5rem 0}.nowrap{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition-duration:.01ms !important}html{scroll-behavior:auto}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.container--narrow{max-width:56rem}.section{padding-block:var(--section-pad)}@media(max-width: 767px){.site-main>.section:first-child{padding-block-start:var(--section-pad-lead)}}.section--compact{padding-block:calc(var(--section-pad)/2.5)}.section--band{background:var(--color-surface);border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline)}.site-main>.section+.section{border-top:1px solid var(--color-hairline)}.site-main>.section--band+.section{border-top:0}.grid-2,.grid-3{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width: 768px){.grid-2{grid-template-columns:repeat(2, 1fr)}.grid-3{grid-template-columns:repeat(3, 1fr)}}.kicker{font-family:var(--font-sans);font-size:var(--text-kicker);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 0 .75rem}.kicker::before{content:"";display:inline-block;width:var(--rule-width);height:2px;background:var(--color-accent);vertical-align:.32em;margin-right:.875rem}.section-eyebrow{display:flex;align-items:baseline;gap:1.125rem;margin:0 0 2rem}.section-eyebrow__index{font-family:var(--font-serif);font-size:var(--text-index);font-weight:700;line-height:1;letter-spacing:-0.02em;color:var(--color-ink);opacity:var(--ghost-opacity)}.section-eyebrow__index::before{content:attr(data-index)}.section-eyebrow__label{font-family:var(--font-sans);font-size:var(--text-meta);font-weight:600;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);margin:0}.section-eyebrow__label::before{content:"";display:inline-block;width:var(--rule-width);height:2px;background:var(--color-accent);vertical-align:.32em;margin-right:.875rem}.section-header{font-family:var(--font-serif);font-size:var(--text-heading);font-weight:600;line-height:1.2;color:var(--color-ink);margin:0 0 1.5rem}.section-intro{font-size:var(--text-body);color:var(--color-ink-muted);max-width:var(--measure);margin:0 0 2.5rem}.section-note{font-size:var(--text-meta);color:var(--color-ink-muted);max-width:var(--measure);margin:1.5rem 0 0}.page-content__header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-hairline)}.page-content__header--bare::before{content:"";display:block;width:var(--rule-width);height:2px;background:var(--color-accent);margin-bottom:1.5rem}.page-content__title{margin:0;font-size:var(--text-display-lg);line-height:1.1;letter-spacing:-0.02em}.page-content__lede{font-size:var(--text-body);color:var(--color-ink-muted);max-width:var(--measure);margin:1.25rem 0 0}.page-content h2{margin:3rem 0 1rem}.page-content h3{margin:2rem 0 .75rem}.page-content li{margin-bottom:.5rem}.page-content img{border-radius:12px;border:1px solid var(--color-hairline)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0}.table-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.table-scroll table{border-collapse:collapse;font-size:var(--text-meta);width:100%;margin:0}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--color-hairline);padding:.625rem 1rem .625rem 0;text-align:left;vertical-align:top;min-width:9rem}.table-scroll th{color:var(--color-ink);font-weight:600}.table-scroll td{color:var(--color-ink-muted)}.site-nav{background:var(--color-bg);border-bottom:1px solid var(--color-hairline);position:sticky;top:0;z-index:60}.site-nav__inner{max-width:var(--container-max);margin-inline:auto;padding:.75rem var(--container-pad);display:flex;align-items:center;gap:.75rem}.site-nav__brand{font-family:var(--font-serif);font-size:var(--text-body);font-weight:600;line-height:1.5;min-height:1.6875rem;color:var(--color-ink);text-decoration:none;white-space:nowrap;margin-right:auto}.site-nav__brand:hover{color:var(--color-accent)}.site-nav__disclosure>summary{list-style:none}.site-nav__disclosure>summary::-webkit-details-marker{display:none}.site-nav__disclosure>summary::marker{content:""}.site-nav__toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;cursor:pointer;color:var(--color-ink);user-select:none}.site-nav__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.site-nav__toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.site-nav__toggle-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:20px}.site-nav__toggle-icon span{display:block;height:2px;background:var(--color-ink);border-radius:1px;transition:transform var(--motion-fast) ease,opacity var(--motion-fast) ease}.site-nav__disclosure[open] .site-nav__toggle-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-nav__disclosure[open] .site-nav__toggle-icon span:nth-child(2){opacity:0}.site-nav__disclosure[open] .site-nav__toggle-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.site-nav__links{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:100%;background:var(--color-bg);border-bottom:1px solid var(--color-hairline);box-shadow:0 12px 24px rgba(0,0,0,.06);padding:.25rem var(--container-pad) 1rem}.site-nav__links li{border-top:1px solid var(--color-hairline)}.site-nav__links a{display:block;padding:.9375rem 0;font-size:var(--text-body);font-weight:500;color:var(--color-ink);text-decoration:none}.site-nav__links a:hover{color:var(--color-accent)}.site-nav__links a[aria-current=page]{color:var(--color-accent);font-weight:600}.site-nav__lang a{font-size:var(--text-meta);color:var(--color-ink-muted)}.site-nav .lang-flag{display:inline-block;width:1.3em;height:auto;margin-right:.5em;vertical-align:-0.15em;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14)}.site-nav__cta{display:none;padding:.5rem .875rem;font-size:var(--text-meta);color:var(--color-surface);text-decoration:none;white-space:nowrap}.site-nav__cta:hover{color:var(--color-surface);text-decoration:none}@media(min-width: 768px){.site-nav{position:static}.site-nav__inner{padding:1.125rem var(--container-pad);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem}.site-nav__disclosure{display:block;order:2;margin-left:auto}.site-nav__toggle{display:none}.site-nav__disclosure::details-content{content-visibility:visible;block-size:auto;opacity:1}.site-nav__links{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;background:none;border-bottom:0;box-shadow:none;padding:0}.site-nav__links li{border-top:0}.site-nav__links a{display:inline;padding:0;font-size:var(--text-meta);color:var(--color-ink-muted)}.site-nav__links a:hover{color:var(--color-accent);text-decoration:underline}.site-nav__links a[aria-current=page]{color:var(--color-accent);font-weight:600}.site-nav__lang a{font-size:var(--text-meta)}.site-nav__brand{font-size:var(--text-body);margin-right:0;order:1}.site-nav__cta{display:inline-block;order:3}}.hero__grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media(min-width: 768px){.hero__grid{grid-template-columns:minmax(0, 1fr) auto;gap:4rem}}.hero__title{font-size:var(--text-display-xl);line-height:1.08;letter-spacing:-0.02em;margin:0 0 1.5rem}.hero__lede{font-size:var(--text-body);color:var(--color-ink-muted);max-width:var(--measure);margin:0 0 2.25rem}.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem}.hero__cta-note{font-size:var(--text-meta);color:var(--color-ink-muted);max-width:var(--measure);margin:1rem 0 0}.hero__media{justify-self:center;margin:0}@media(min-width: 768px){.hero__media{justify-self:end}}.hero__portrait{display:block;width:min(380px,75vw);height:auto;border-radius:12px;border:1px solid var(--color-hairline)}.hero__caption{font-family:var(--font-sans);font-size:var(--text-meta);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted);text-align:center;margin:.875rem 0 0}@keyframes reveal-up{from{opacity:0;transform:translateY(12px)}}.reveal{animation:reveal-up var(--motion-reveal) ease-out backwards}.reveal--d1{animation-delay:var(--motion-reveal-step)}.reveal--d2{animation-delay:calc(var(--motion-reveal-step)*2)}.reveal--d3{animation-delay:calc(var(--motion-reveal-step)*3)}@media(max-width: 767px){.hero__cta{display:grid;grid-template-columns:repeat(2, auto);justify-content:start;column-gap:2rem;row-gap:0}.hero__cta .btn--primary{grid-column:1/-1;justify-self:start;margin-bottom:.25rem}}.services-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin:0 0 1rem}@media(min-width: 768px){.services-grid{grid-template-columns:repeat(3, 1fr)}}.projects-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width: 480px){.projects-grid{grid-template-columns:repeat(2, 1fr)}}.service-card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;display:flex}.service-card:hover{border-color:var(--color-accent)}.service-card__link{display:flex;flex-direction:column;flex:1;padding:2rem;color:inherit;text-decoration:none}.service-card__link:hover{color:inherit}.service-card__name{font-family:var(--font-serif);font-size:var(--text-body);font-weight:600;line-height:1.3;color:var(--color-ink);margin:0 0 .75rem}.service-card .service-card__name{margin:0 0 .75rem}.service-card:hover .service-card__name{text-decoration:underline;text-decoration-color:var(--color-accent)}.service-card__description{font-size:var(--text-meta);line-height:1.5;color:var(--color-ink-muted);margin:0}.service-card__meta{font-size:var(--text-meta);color:var(--color-ink-muted);border-top:1px solid var(--color-hairline);padding-top:.875rem;margin:auto 0 0}.service-card__meta:not(:first-child){margin-top:1.25rem}.services-grid--ladder{counter-reset:ladder-step}.services-grid--ladder .service-card{counter-increment:ladder-step;position:relative}.services-grid--ladder .service-card__step::before{content:counter(ladder-step);display:block;font-family:var(--font-serif);font-size:var(--text-step);font-weight:700;line-height:1;letter-spacing:-0.02em;color:var(--color-accent);margin:0 0 1rem}.services-grid--ladder .service-card+.service-card::before{content:"";position:absolute;top:-1.5rem;left:2.75rem;width:1px;height:1.5rem;background:var(--color-accent)}.services-grid--ladder .service-card+.service-card::after{content:"";position:absolute;top:-8px;left:calc(2.75rem - 3px);border-top:7px solid var(--color-accent);border-left:3.5px solid rgba(0,0,0,0);border-right:3.5px solid rgba(0,0,0,0)}@media(min-width: 768px){.services-grid--ladder .service-card+.service-card::before{top:3.5rem;left:-1.5rem;width:1.5rem;height:1px}.services-grid--ladder .service-card+.service-card::after{top:calc(3.5rem - 3px);left:-8px;border-top:3.5px solid rgba(0,0,0,0);border-bottom:3.5px solid rgba(0,0,0,0);border-left:7px solid var(--color-accent);border-right:0}}.service-card--flagship{box-shadow:inset 0 3px 0 var(--color-accent),var(--shadow-card)}.project-card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;display:flex}.project-card:hover{border-color:var(--color-accent)}.project-card__link{display:block;flex:1;padding:2rem;color:inherit;text-decoration:none}.project-card__link:hover{color:inherit}.project-card__name{font-family:var(--font-serif);font-size:var(--text-body);font-weight:600;line-height:1.3;color:var(--color-ink);margin:0 0 .25rem}.project-card:hover .project-card__name{text-decoration:underline;text-decoration-color:var(--color-accent)}.project-card__role{display:block;font-size:var(--text-meta);font-weight:500;color:var(--color-ink-muted);margin:0 0 .75rem}.project-card__description{font-size:var(--text-meta);line-height:1.5;color:var(--color-ink-muted);margin:0}.stat-strip{list-style:none;margin:3.5rem 0 0;padding:2rem 0 0;border-top:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:1.25rem}.stat-strip__item{max-width:none;border-top:1px solid var(--color-hairline);padding-top:1.25rem}.stat-strip__item:first-child{border-top:0;padding-top:0}@media(min-width: 768px){.stat-strip{flex-direction:row;gap:0}.stat-strip__item{flex:1;border-top:0;padding:0 2rem;border-left:1px solid var(--color-hairline)}.stat-strip__item:first-child{padding-left:0;border-left:0}.stat-strip__item:last-child{padding-right:0}}.stat-strip__number{display:block;font-family:var(--font-serif);font-size:var(--text-stat);font-weight:700;line-height:1.15;letter-spacing:-0.01em;color:var(--color-ink)}.stat-strip__label{display:block;font-size:var(--text-meta);line-height:1.5;color:var(--color-ink-muted);margin-top:.25rem}.proof-cards{display:grid;gap:1.5rem;grid-template-columns:1fr;margin:0 0 2.5rem}@media(min-width: 768px){.proof-cards{grid-template-columns:repeat(3, 1fr)}}.proof-card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:2rem}.proof-card:hover{border-color:var(--color-accent)}.proof-card__metric{font-family:var(--font-serif);font-size:var(--text-display-lg);font-weight:700;line-height:1;letter-spacing:-0.02em;color:var(--color-ink);margin:0 0 1rem}.proof-card__title{font-family:var(--font-serif);font-size:var(--text-body);font-weight:600;line-height:1.4;margin:0}.proof-card__title a{color:inherit;text-decoration:none}.proof-card__title a::after{content:" →";color:var(--color-accent)}.proof-card:hover .proof-card__title a{text-decoration:underline;text-decoration-color:var(--color-accent)}.proof-card--index{display:flex;align-items:center}.proof-card__more{font-size:var(--text-meta);margin:0}.figure-proof{margin:2rem 0;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1rem}.figure-proof img{display:block;width:100%;height:auto;border-radius:calc(var(--radius-card) - 4px);border:0}.figure-proof figcaption{font-size:var(--text-meta);color:var(--color-ink-muted);padding:.75rem .25rem 0}.figure-proof--photo{max-width:calc(400px + 2rem);margin-left:auto;margin-right:auto}.skills-list{list-style:none;margin:0;padding:0;max-width:var(--measure);font-size:var(--text-body);line-height:1.8}.skills-list li{display:inline;color:var(--color-ink)}.skills-list li:not(:last-child)::after{content:" · ";color:var(--color-ink-muted)}.case-study__facts{font-size:var(--text-meta);font-weight:500;color:var(--color-ink-muted);margin:1.25rem 0 0}.case-study__it-box{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:.5rem 2rem 1.5rem;margin:3rem 0 0}.case-study__it-box h2{font-size:var(--text-body);margin:1.5rem 0 1rem}.case-study__it-box ul{margin-bottom:0}.case-study__quote{margin:3rem 0 0;padding-left:1.5rem;border-left:3px solid var(--color-accent)}.case-study__quote p{font-family:var(--font-serif);font-size:var(--text-body);color:var(--color-ink);margin:0}.case-study__quote footer{font-size:var(--text-meta);color:var(--color-ink-muted);margin-top:.75rem}.case-study__cta{margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--color-hairline)}.case-study-card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:2rem}.case-study-card+.case-study-card{margin-top:1.5rem}.case-study-card h2{font-size:var(--text-heading);margin:0 0 .5rem}.case-study-card h2 a{color:inherit;text-decoration:none}.case-study-card h2 a:hover{text-decoration:underline;text-decoration-color:var(--color-accent)}.case-study-card__facts{font-size:var(--text-meta);font-weight:500;color:var(--color-ink-muted);margin:0 0 1rem}.case-study-card__summary{font-size:var(--text-body);color:var(--color-ink-muted);margin:0 0 1rem}.case-study-card__more{font-size:var(--text-meta);margin:0}.testimonial-strip{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}@media(min-width: 768px){.testimonial-strip{grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr))}}.testimonial{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:2rem}.testimonial__photo{width:48px;height:48px;border-radius:50%;border:1px solid var(--color-hairline);margin-bottom:1rem}.testimonial__quote{border:0;padding:0;margin:0 0 1rem}.testimonial__quote p{font-family:var(--font-serif);font-size:var(--text-body);color:var(--color-ink);margin:0}.testimonial__attribution{font-size:var(--text-meta);color:var(--color-ink-muted);margin:0}.cv-header{text-align:center;margin-bottom:4rem;padding-bottom:2.5rem;border-bottom:1px solid var(--color-hairline)}.cv-header__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.cv-header__back{font-size:var(--text-meta);color:var(--color-ink-muted);text-decoration:none}.cv-header__back:hover{color:var(--color-accent);text-decoration:underline}.cv-header__image{margin-bottom:1.5rem}.cv-header__image img{width:120px;height:120px;border-radius:12px;border:1px solid var(--color-hairline);object-fit:cover}.cv-header__greeting{font-size:var(--text-heading);font-weight:700;margin:0 0 .5rem}.cv-header__name{font-family:var(--font-sans);font-size:var(--text-body);font-weight:600;color:var(--color-ink);margin:0 0 .75rem}.cv-header__tagline{font-size:var(--text-body);color:var(--color-ink-muted);margin:0 auto}.cv-section{margin-bottom:4rem}.cv-section__title{font-size:var(--text-heading);font-weight:600;margin:0 0 1.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-hairline)}.cv-section__content{color:var(--color-ink);line-height:1.7}.cv-section__content p{margin:0}.cv-job,.cv-education{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:2rem;margin-bottom:1.5rem}.cv-job:last-child,.cv-education:last-child{margin-bottom:0}.cv-job__header,.cv-education__header{margin-bottom:.75rem}.cv-job__date,.cv-education__date{display:block;font-size:var(--text-meta);color:var(--color-ink-muted);margin-bottom:.25rem}.cv-job__company{font-size:var(--text-body);font-weight:600;margin:0 0 .25rem}.cv-job__role{display:inline-block;font-size:var(--text-meta);font-weight:500;color:var(--color-ink-muted)}.cv-job__description{font-size:var(--text-meta);line-height:1.6;color:var(--color-ink);margin:.75rem 0}.cv-job__highlights{margin:.75rem 0 0;padding-left:1.25em}.cv-job__highlights li{font-size:var(--text-meta);line-height:1.6;color:var(--color-ink-muted);margin-bottom:.5rem}.cv-job__highlights li:last-child{margin-bottom:0}.cv-education__school{font-size:var(--text-body);font-weight:600;margin:0}.cv-education__degree{font-size:var(--text-meta);font-weight:500;color:var(--color-ink);margin:.5rem 0}.cv-education__note{font-size:var(--text-meta);line-height:1.6;color:var(--color-ink-muted);margin:0}.cv-skills{display:grid;gap:1.5rem}@media(min-width: 768px){.cv-skills{grid-template-columns:repeat(3, 1fr)}}.cv-skills__category{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;padding:1.75rem}.cv-skills__category-title{font-family:var(--font-sans);font-size:var(--text-meta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 0 1rem}.cv-skills__list{margin:0;padding-left:1.25em}.cv-skills__list li{font-size:var(--text-meta);line-height:1.5;color:var(--color-ink);margin-bottom:.375rem}.cv-skills__list li:last-child{margin-bottom:0}.cv-references{font-size:var(--text-body);color:var(--color-ink);margin:0}.cv-contact{display:flex;flex-direction:column;gap:.75rem}.cv-contact__item{display:flex;flex-wrap:wrap;gap:.5rem;font-size:var(--text-body)}.cv-contact__label{font-weight:600;color:var(--color-ink);min-width:6rem}.cv-contact__value{color:var(--color-ink-muted)}.cv-contact a.cv-contact__value{color:var(--color-accent)}.cv-contact a.cv-contact__value:hover{color:var(--color-accent-hover)}.cv-links{display:flex;flex-wrap:wrap;gap:1rem}.cv-links__item{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;display:flex;align-items:baseline;gap:.5rem;padding:.75rem 1.125rem;text-decoration:none}.cv-links__item:hover{border-color:var(--color-accent)}.cv-links__item:hover .cv-links__url{text-decoration:underline;color:var(--color-accent)}.cv-links__icon{font-size:var(--text-meta);font-weight:600;color:var(--color-ink)}.cv-links__url{font-size:var(--text-meta);color:var(--color-ink-muted)}.footer{border-top:1px solid var(--color-hairline);padding:2.5rem 0 3rem;text-align:center;font-size:var(--text-meta)}.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-bottom:1.5rem}.footer__nav a{color:var(--color-ink-muted);text-decoration:none}.footer__nav a:hover{color:var(--color-accent);text-decoration:underline}.footer__legal{color:var(--color-ink-muted);line-height:1.6}.footer__legal p{margin:0;max-width:none}.post-byline{display:flex;align-items:center;gap:.875rem;margin-top:1.5rem}.post-byline__photo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid var(--color-hairline);flex-shrink:0}.post-byline__author{font-size:var(--text-meta);font-weight:600;color:var(--color-ink);text-decoration:none}.post-byline__author:hover{color:var(--color-accent);text-decoration:underline}.post-byline__dates{font-size:var(--text-meta);color:var(--color-ink-muted);margin:.125rem 0 0}.post__body blockquote{border-left:3px solid var(--color-hairline);color:var(--color-ink-muted);margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem}.post__body blockquote p:last-child{margin-bottom:0}.post__body table{border-collapse:collapse;font-size:var(--text-meta);margin:1.5rem 0;max-width:var(--measure);width:100%}.post__body th,.post__body td{border-bottom:1px solid var(--color-hairline);padding:.625rem 1rem .625rem 0;text-align:left;vertical-align:top}.post__body th{color:var(--color-ink);font-weight:600}.post__body td{color:var(--color-ink-muted)}.post__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:2.5rem 0 0}.post__tag{font-size:var(--text-meta);color:var(--color-ink-muted);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:999px;padding:.125rem .75rem;margin:0}.post-cta{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast) ease;border-left:3px solid var(--color-accent);padding:1.5rem 1.75rem;margin:2.5rem 0 0;max-width:var(--measure)}.post-cta p{margin:0}.related-posts{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-hairline)}.related-posts__heading{font-size:var(--text-heading);margin:0 0 1rem}.related-posts__list{list-style:none;padding:0;margin:0}.related-posts__item{margin-bottom:1rem}.related-posts__meta{display:block;font-size:var(--text-meta);color:var(--color-ink-muted);margin-top:.125rem}.post-list{list-style:none;padding:0;margin:0}.post-list__item{margin:0;padding:2rem 0;max-width:var(--measure)}.post-list__item+.post-list__item{border-top:1px solid var(--color-hairline)}.post-list__labels{display:flex;align-items:center;gap:.625rem;margin:0 0 .625rem}.post-list__category{font-size:var(--text-meta);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted)}.post-list__badge{font-family:var(--font-sans);font-size:var(--text-meta);font-weight:600;line-height:1;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:4px;padding:.2rem .45rem}.post-list__title{font-size:var(--text-heading);margin:0 0 .5rem}.post-list__title a{color:var(--color-ink);text-decoration:none}.post-list__title a:hover{color:var(--color-accent);text-decoration:underline}.post-list__description{color:var(--color-ink-muted);margin:0 0 .5rem}.post-list__meta{font-size:var(--text-meta);color:var(--color-ink-muted);margin:0}.video-embed{margin:2.5rem 0 0;max-width:var(--measure)}.video-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--color-hairline);border-radius:var(--radius-card)}.cta-strip__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin:0 0 .5rem}.cta-strip__link{font-size:var(--text-meta)}.cta-strip__support{font-size:var(--text-meta);color:var(--color-ink-muted);max-width:var(--measure);margin:.5rem 0 0}.cta-strip--bare{margin-top:3rem}.contact-email{margin:1.5rem 0 .5rem}.contact-email a{font-family:var(--font-sans);font-size:var(--text-heading);font-weight:600;color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:.2em;overflow-wrap:anywhere}.contact-steps{max-width:var(--measure)}.contact-steps li{margin-bottom:.75rem}.contact-trust{font-size:var(--text-meta);color:var(--color-ink-muted);border-top:1px solid var(--color-hairline);padding-top:1.5rem;margin-top:3rem}
