@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#f3f3ef;--bg-white:#fafaf8;--bg-dark:#111;--text:#111;--text-muted:#5c5c5c;--text-subtle:#888;--border:#1111111f;--border-strong:#11111138;--font:"Inter", system-ui, sans-serif;--font-display:"Instrument Serif", Georgia, serif;--container:1200px;--header-h:72px;--transition:.25s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none!important}}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:100;height:var(--header-h);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#f3f3efe0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-style:italic}.site-nav{gap:1.75rem;display:flex}.nav-link{color:var(--text-muted);transition:color var(--transition);font-size:.9rem;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--text)}.btn{font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-dark{background:var(--bg-dark);color:#fff}.btn-dark:hover{background:#333}.btn-outline{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-outline:hover{border-color:var(--text)}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-primary{background:var(--bg-dark);color:#fff}.hero{border-bottom:1px solid var(--border);padding:4rem 0 5rem}.hero-grid{grid-template-columns:1.4fr .8fr;align-items:end;gap:3rem;display:grid}.hero-headline{font-family:var(--font-display);letter-spacing:-.03em;max-width:14ch;margin:0 0 1.5rem;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:400;line-height:1.05}.hero-stats{max-width:42ch;color:var(--text-muted);margin:0 0 1.25rem;font-size:1rem;line-height:1.7}.hero-cta-label{margin:0 0 1.75rem;font-size:.95rem;font-weight:600}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero-name-block{text-align:right;padding-bottom:.5rem}.hero-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,3rem);font-style:italic}.hero-role{color:var(--text-muted);margin:.35rem 0 0;font-size:.95rem}.hero-location{color:var(--text-subtle);margin:.25rem 0 0;font-size:.85rem}.section{padding:5rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-subtle);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.1}.section-title-large{font-family:var(--font-display);letter-spacing:-.02em;max-width:22ch;margin:0;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:400;line-height:1.15}.about-section{background:var(--bg-white);border-bottom:1px solid var(--border)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.about-body{color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.8}.services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.service-card{border-top:1px solid var(--border-strong);padding-top:1.5rem}.service-number{color:var(--text-subtle);margin-bottom:1rem;font-size:.85rem;font-weight:600;display:block}.service-card h3{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.75rem;font-weight:400}.service-card p{color:var(--text-muted);margin:0;line-height:1.7}.marquee-section{background:var(--bg-dark);color:#fff;padding:3rem 0;overflow:hidden}.marquee-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffff80;margin:0 0 1.5rem;font-size:.8rem;font-weight:600}.marquee{white-space:nowrap;margin-bottom:.75rem;overflow:hidden}.marquee-track{animation:40s linear infinite marquee;display:inline-flex}.marquee--reverse .marquee-track{animation-direction:reverse}.marquee-item{letter-spacing:.14em;color:#ffffffd9;align-items:center;padding-right:2rem;font-size:.78rem;font-weight:600;display:inline-flex}.marquee-dot{opacity:.35;margin-left:2rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.case-studies{background:var(--bg-white);border-bottom:1px solid var(--border)}.section-intro-row{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;display:flex}.case-controls{align-items:center;gap:.75rem;display:flex}.case-counter{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.5rem}.case-counter-sep{color:var(--text-subtle);margin:0 .15rem}.case-nav-btn{border:1px solid var(--border-strong);cursor:pointer;width:44px;height:44px;transition:background var(--transition);background:0 0;border-radius:50%;font-size:1rem}.case-nav-btn:hover{background:var(--bg)}.case-card{grid-template-columns:1.1fr 1fr;align-items:center;gap:2.5rem;display:grid}.case-card-visual{aspect-ratio:4/3;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}.case-card-visual img{object-fit:cover;width:100%;height:100%}.case-card-placeholder{color:#fff;width:100%;height:100%;font-family:var(--font-display);place-items:center;font-size:2rem;font-style:italic;display:grid}.case-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);gap:1rem;margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:flex}.case-card-body h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400}.case-subtitle{color:var(--text-muted);margin:0 0 1rem;font-weight:600}.case-card-body>p{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.75}.case-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.case-tags span{border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.75rem;font-weight:500}.case-link{text-underline-offset:3px;font-size:.9rem;font-weight:600;text-decoration:underline}.projects-section{border-bottom:1px solid var(--border)}.projects-list{border-top:1px solid var(--border-strong);margin-top:2.5rem}.project-row{border-bottom:1px solid var(--border);padding:2rem 0}.project-row-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.project-row-head h3{font-family:var(--font-display);margin:0;font-size:1.75rem;font-weight:400}.project-year{color:var(--text-subtle);font-size:.9rem;font-weight:500}.project-row-desc{max-width:70ch;color:var(--text-muted);margin:0 0 1rem;line-height:1.7}.project-row-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.project-row-tags span{letter-spacing:.04em;color:var(--text-subtle);font-size:.78rem;font-weight:600}.project-row-tags span:not(:last-child):after{content:"•";opacity:.4;margin-left:.5rem}.project-row-link{text-underline-offset:3px;font-size:.88rem;font-weight:600;text-decoration:underline}.site-footer{background:var(--bg);padding:3rem 0 4rem}.footer-inner{text-align:center}.footer-title{font-family:var(--font-display);margin:0;font-size:1.25rem;font-style:italic}.footer-note{color:var(--text-subtle);margin:.5rem 0 0;font-size:.85rem}.cv-page{background:var(--bg-white);min-height:100vh}.cv-toolbar{top:var(--header-h);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fafaf8eb;padding:.75rem 0;position:sticky}.cv-toolbar-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.cv-document{max-width:780px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.cv-header{border-bottom:2px solid var(--border-strong);margin-bottom:2rem;padding-bottom:1.5rem}.cv-header h1{font-family:var(--font-display);margin:0;font-size:2.5rem;font-weight:400}.cv-title{color:var(--text-muted);margin:.25rem 0 0;font-size:1.05rem;font-weight:600}.cv-location{color:var(--text-subtle);margin:.25rem 0 0;font-size:.9rem}.cv-section{margin-bottom:2rem}.cv-section h2{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);margin:0 0 .75rem;font-size:.8rem;font-weight:700}.cv-section>p{color:var(--text-muted);margin:0 0 .75rem;line-height:1.65}.cv-section ul{color:var(--text-muted);margin:0;padding-left:1.15rem}.cv-section li{margin-bottom:.35rem}.cv-skills-inline{flex-wrap:wrap;gap:.4rem;display:flex}.cv-skill-tag{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.cv-project{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.cv-project:last-child{border-bottom:none}.cv-project-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.cv-project-header h3{font-family:var(--font-display);margin:0;font-size:1.25rem}.cv-project-status{text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);font-size:.72rem;font-weight:600}.cv-project-subtitle{color:var(--text-muted);margin:.15rem 0 .5rem;font-size:.88rem}.cv-project-role,.cv-project-stack,.cv-project-link{color:var(--text-subtle);margin:.5rem 0 0;font-size:.85rem}.cv-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-subtle);margin-top:2rem;padding-top:1rem;font-size:.85rem}@media print{.no-print,.site-header{display:none!important}body{color:#111;background:#fff;font-size:11pt}.cv-page{background:#fff}.cv-document{max-width:100%;padding:0}.cv-project{break-inside:avoid}}@media (width<=900px){.hero-grid,.about-grid,.case-card,.services-grid{grid-template-columns:1fr}.hero-name-block{text-align:left}.section-intro-row{flex-direction:column;align-items:flex-start}}@media (width<=640px){.site-nav{gap:1rem}.nav-link{font-size:.82rem}.hero{padding:2.5rem 0 3.5rem}.section{padding:3.5rem 0}.cv-toolbar-inner{flex-direction:column;align-items:stretch}}
