@font-face{font-family:'New York';src:url('assets/fonts/new-york-variable.ttf') format('truetype');font-weight:400 1000;font-style:normal;font-display:swap}
@font-face{font-family:'New York';src:url('assets/fonts/new-york-italic.otf') format('opentype');font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:Typold;src:url('assets/fonts/typold-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Typold;src:url('assets/fonts/typold-medium.otf') format('opentype');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:Typold;src:url('assets/fonts/typold-bold.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}
:root{--display:'New York',Georgia,serif;--sans:Typold,Arial,sans-serif;--bg:#627a65;--cream:#fff;--sage:#fff;--ink:#26392c;--muted:#485e4b;--accent:#49634c}
html{scroll-padding-top:28px}body{background:#627a65;font:400 18px/1.65 var(--sans)}
html[lang] body :is(h2,h3,.display-heading,.project-name,.about-lead,.about-quote blockquote,.design-note,.impact-row strong,.step>span){font-family:var(--display);font-optical-sizing:auto}
html[lang] body :is(.eyebrow,.section-bar,.section-bar-right,.index-label,.project-caption,.project-count,.filter,.text-link,.timeline-year,.timeline-tag,.exp-detail,.step h3,.identity-name,.identity-role,.master-expertise){font-family:var(--sans)}
.master-hero{overflow:hidden}.identity-name{font-size:clamp(20px,2.35cqw,30px);letter-spacing:0;line-height:1.3}.identity-role{font-weight:400;letter-spacing:0}.hero-controls{gap:12px}.hero-controls .language-switch{min-height:44px;min-width:62px;font-size:14px;gap:8px}.hero-controls .language-switch span,.hero-controls .language-switch .active{color:white}.hero-controls .mobile-menu{width:44px;height:44px;display:grid;align-content:center;justify-content:center}.hero-controls .mobile-menu span{margin:4px 0}.hero-identity .main-nav{top:52px}.hero-identity .main-nav a{font-size:16px;line-height:1.5}
.master-intro{font-size:clamp(18px,1.65cqw,21px);line-height:1.5;letter-spacing:0;font-weight:400;width:47%;color:white}.master-intro p{margin-bottom:22px}.master-cta{font-size:18px;line-height:1.4;margin-top:18px;padding:16px 22px;min-height:52px;white-space:normal;letter-spacing:.015em}.master-cta:hover{color:#314a36}.master-expertise{font-size:clamp(14px,1.45cqw,18px);line-height:1.65;letter-spacing:0;width:22%;white-space:normal;padding-left:12px}.master-expertise li{margin-bottom:3px}
.portfolio-content{color:var(--ink);--cream:#26392c;--sage:#49634c;--line:#ccd5c9;--line-strong:#8a9e85}
.portfolio-content .display-heading{font-size:clamp(40px,4.5vw,70px);font-weight:400;line-height:1.12;letter-spacing:-.035em;color:var(--ink)}
.portfolio-content .display-heading em,.portfolio-content .journey-left .display-heading em{color:var(--accent)}
.portfolio-content :is(.section-intro,.about-paragraph,.timeline-content>p:last-child,.journey-left>p:not(.eyebrow),.contact-bottom p,.step p){font-size:18px;line-height:1.7;color:var(--muted);letter-spacing:0;font-weight:400}
.portfolio-content .section-intro{max-width:42ch}.section-heading,.expertise-intro,.process-head{gap:32px}
.portfolio-content :is(.section-bar,.index-label,.section-bar-right,.eyebrow,.color-moss,.timeline-year,.timeline-tag){color:var(--muted);font-size:13px;letter-spacing:.07em;line-height:1.6;font-weight:500}
.portfolio-content .section-bar--light .section-bar-right{color:var(--muted)}.section-bar{align-items:baseline;gap:20px}.section-bar-right{text-align:right}
.portfolio-content .filter-list{flex-wrap:wrap;overflow:visible;gap:10px}.portfolio-content .filter{min-height:44px;padding:10px 15px;font-size:14px;letter-spacing:.04em;color:var(--muted);border-color:#a6b5a1}.filter span{font-size:14px;padding-left:10px}.portfolio-content .filter.active,.portfolio-content .filter:hover{background:#48634c;color:#fff;border-color:#48634c}
.portfolio-content .project-name,.portfolio-content .portrait-card .project-name{font-size:clamp(27px,2.6vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.025em;color:var(--ink);margin-top:10px;margin-bottom:10px}
.portfolio-content .project-caption{font-size:16px;line-height:1.55;color:var(--muted)}.portfolio-content .project-count{font-size:12px;line-height:1.6;letter-spacing:.06em;color:var(--muted)}.project-arrow{flex-shrink:0;width:38px;height:38px}.project-meta{gap:16px}.projects-grid{gap:44px 28px}
.portfolio-content :is(.text-link,.outline-btn){font-size:14px;line-height:1.5;letter-spacing:.045em;font-weight:500}.portfolio-content .outline-btn{min-height:48px;padding:13px 18px;gap:20px}.portfolio-content .work-foot p{font-size:15px;line-height:1.6;color:var(--muted)}.portfolio-content .more-work{font-size:18px;min-width:180px;white-space:nowrap}
.portfolio-content .about-grid{grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.portfolio-content .about-quote{grid-column:1/-1;max-width:640px;margin-left:auto;padding:0 0 0 24px}.portfolio-content .about-lead{font-size:26px;line-height:1.5;color:var(--ink)}.portfolio-content .about-paragraph{max-width:58ch}.portfolio-content .about-quote blockquote{font-size:26px;line-height:1.5;color:var(--ink)}.portfolio-content .quote-foot{font-size:13px;line-height:1.7;letter-spacing:.05em;color:var(--muted)}.photo-caption{font-size:12px;line-height:1.5;letter-spacing:.05em;color:#fff}.about-photo-shade{inset:35% 0 0;background:linear-gradient(transparent,rgba(9,17,11,.9))}
.portfolio-content .personal-note{font-size:16px;line-height:1.65;color:var(--muted)}.personal-note a{font-weight:500}.portfolio-content .impact-row{grid-template-columns:repeat(3,1fr)}.portfolio-content .impact-row>div{padding:24px;min-width:0}.portfolio-content .impact-row>div:first-child{padding-left:0}.portfolio-content .impact-row strong{font-size:56px;line-height:1.2;color:var(--ink)}.portfolio-content .impact-row>div>span{font-size:13px;line-height:1.6;letter-spacing:.055em;color:var(--muted)}.portfolio-content .impact-note{grid-column:1/-1;border-top:1px solid var(--line);border-right:0;font-size:15px;line-height:1.65;color:var(--muted);padding:18px 0}
.portfolio-content .expertise-item{grid-template-columns:40px 1fr 250px 24px;gap:18px;align-items:center;padding:26px 0}.portfolio-content .expertise-item h3{font-size:clamp(26px,2.6vw,38px);line-height:1.3;letter-spacing:-.025em;color:var(--ink)}.portfolio-content .exp-detail,.portfolio-content .expertise-item>span:first-child{font-size:13px;line-height:1.65;color:var(--muted);letter-spacing:.045em}.portfolio-content .exp-arrow{color:var(--muted)}
.portfolio-content .journey-layout{grid-template-columns:.8fr 1.2fr;gap:50px}.portfolio-content .timeline-row{grid-template-columns:1fr;gap:10px;padding:0 0 28px 25px}.portfolio-content .timeline-content h3{font-size:32px;line-height:1.3;color:var(--ink)}.portfolio-content .timeline-content>p:last-child{max-width:56ch}.portfolio-content .timeline-year{white-space:normal}.portfolio-content .timeline-tag{margin-bottom:10px}.journey-decoration{display:none}
.portfolio-content .steps{grid-template-columns:repeat(3,1fr)}.portfolio-content .step{padding:26px;min-height:230px}.portfolio-content .step:first-child{padding-left:0}.portfolio-content .step:nth-child(3){border-right:0}.portfolio-content .step:nth-child(n+4){border-top:1px solid var(--line)}.portfolio-content .step>span{color:var(--accent);font-size:40px;margin-bottom:25px}.portfolio-content .step h3{font-size:15px;line-height:1.5;letter-spacing:.08em;color:var(--ink);font-weight:500}.portfolio-content .design-note{margin-left:35%;font-size:26px;line-height:1.5;color:var(--ink)}
.portfolio-content .contact-title{font-size:clamp(44px,6.4vw,96px);line-height:1.1;letter-spacing:-.04em;font-weight:400;color:var(--ink)}.portfolio-content .contact-title em,.portfolio-content .contact-title span{color:var(--accent)}.portfolio-content .contact-main>.eyebrow{color:var(--muted)}.portfolio-content .contact-cta{font-size:18px;line-height:1.5}.portfolio-content .contact-links{font-size:13px;line-height:1.65;color:var(--muted);letter-spacing:.05em}
.site-footer>div,.site-footer>div span,.back-top{font-size:13px;line-height:1.65;color:#fff;letter-spacing:.045em}.site-footer>div{gap:24px}.site-footer .brand-mark-footer,.site-footer .brand-mark-footer span{color:#fff}.site-footer{padding:28px 0;gap:25px}
.project-dialog{color:#fff}.dialog-toolbar .eyebrow{font-size:13px;line-height:1.6;color:#dce8d6;letter-spacing:.07em}.dialog-body h2{font-size:clamp(32px,5vw,56px);line-height:1.2}.dialog-body>p{font-size:17px;line-height:1.7;color:#dce8d6}.gallery-bottom .text-link,.gallery-controls span{font-size:14px;line-height:1.5;color:#fff}.dialog-close{min-width:44px;min-height:44px}.gallery-bottom{flex-wrap:wrap}
a:focus-visible,button:focus-visible{outline:3px solid #172e1c;outline-offset:4px}.master-hero :focus-visible,.project-dialog :focus-visible,.site-footer :focus-visible{outline-color:#fff}
@media(max-width:1100px){.portfolio-content .section-heading,.portfolio-content .expertise-intro,.portfolio-content .process-head{flex-direction:column;align-items:start}.portfolio-content .section-intro{max-width:65ch}.portfolio-content .expertise-item{grid-template-columns:32px 1fr 24px}.portfolio-content .exp-detail{display:none}.portfolio-content .journey-layout{grid-template-columns:1fr;gap:45px}.portfolio-content .journey-left{display:block}.portfolio-content .journey-left>p:not(.eyebrow){max-width:60ch}.portfolio-content .journey-left h2{margin-bottom:25px}.portfolio-content .timeline-row{grid-template-columns:155px 1fr}.portfolio-content .contact-bottom{gap:25px}.portfolio-content .contact-cta{min-width:240px;gap:40px}}
@media(min-width:701px) and (max-width:1100px){.master-hero{aspect-ratio:auto;height:830px}.hero-identity{top:28px}.identity-name{font-size:20px}.identity-role{display:block;font-size:15px}.identity-name{display:block}.identity-name>span:first-child{display:none}.master-title{top:110px}.master-portrait{top:210px;left:18%;width:85%}.master-intro{top:300px;width:46%;font-size:17px;line-height:1.55}.master-expertise{display:none}.master-cta{font-size:16px;gap:12px;padding:14px 16px}.portfolio-content .steps{grid-template-columns:repeat(2,1fr)}.portfolio-content .step:nth-child(3){border-right:1px solid var(--line)}.portfolio-content .step:nth-child(2n){border-right:0}.portfolio-content .step:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:700px){.master-hero{width:calc(100% - 36px);aspect-ratio:auto;height:auto;display:flex;flex-direction:column;padding-bottom:36px;overflow:hidden}.hero-identity{position:relative;top:auto;left:auto;padding-top:24px;gap:10px;align-items:center}.identity-name{font-size:16px;line-height:1.4;display:block}.identity-role{display:block;font-size:12px;font-weight:400;letter-spacing:.02em;margin-top:3px}.identity-name>span:first-child{display:none}.hero-controls{gap:4px}.hero-controls .language-switch{font-size:13px;gap:6px;min-width:58px}.master-title{position:relative;top:auto;left:auto;order:1;margin-top:32px;width:100%}.master-portrait{position:relative;top:auto;left:auto;order:2;width:100%;height:340px;object-fit:cover;object-position:top;margin-top:-4px;mask-image:linear-gradient(black 88%,transparent)}.master-intro{position:relative;top:auto;left:auto;order:3;width:100%;font-size:17px;line-height:1.6;letter-spacing:0;background:none;padding:0;margin-top:8px;color:#fff}.master-intro p{margin:0 0 20px;max-width:100%}.master-cta{font-size:16px;min-height:50px;padding:14px 20px;margin-top:4px}.master-expertise{display:none}.hero-identity .main-nav{top:80px}
.portfolio-content{width:calc(100% - 24px)}.portfolio-content .wrap{width:calc(100% - 40px)}.portfolio-content .section-space{padding:48px 0}.portfolio-content .section-bar{flex-wrap:wrap;gap:6px 16px}.portfolio-content .section-bar-right{text-align:left;font-size:12px;letter-spacing:.035em}.portfolio-content .index-label,.portfolio-content .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.055em}.portfolio-content .section-heading{margin-top:32px;margin-bottom:22px}.portfolio-content .display-heading,.portfolio-content .about-headline,.portfolio-content .journey-left h2{font-size:40px;line-height:1.18;letter-spacing:-.03em}.portfolio-content .display-heading br{display:none}.portfolio-content :is(.section-intro,.about-paragraph,.timeline-content>p:last-child,.journey-left>p:not(.eyebrow),.contact-bottom p,.step p){font-size:16px;line-height:1.7}.portfolio-content .filter-list{gap:8px;margin-top:28px}.portfolio-content .filter{font-size:13px;padding:10px 12px;letter-spacing:.02em}.filter span{font-size:13px}.projects-grid{grid-template-columns:1fr;gap:34px}.project-card,.project-card.portrait-card{grid-column:auto}.portfolio-content .project-name,.portfolio-content .portrait-card .project-name{font-size:30px;line-height:1.25}.portfolio-content .project-caption{font-size:16px}.portfolio-content .project-count{font-size:12px}.portfolio-content .work-foot{display:flex;flex-direction:column;align-items:start;gap:16px}.portfolio-content .work-foot p{font-size:14px}.portfolio-content .more-work{margin:0}
.portfolio-content .about-grid{grid-template-columns:1fr;gap:30px;padding-top:32px}.portfolio-content .about-lead{font-size:23px;line-height:1.5}.portfolio-content .about-quote{margin:0;grid-column:auto;padding-left:18px}.portfolio-content .about-quote blockquote{font-size:24px}.portfolio-content .quote-foot{font-size:12px}.portfolio-content .personal-note{font-size:15px;gap:10px}.portfolio-content .impact-row{grid-template-columns:repeat(2,1fr)}.portfolio-content .impact-row>div{padding:20px 14px;min-height:0}.portfolio-content .impact-row>div:nth-child(3){padding-left:0}.portfolio-content .impact-row strong{font-size:48px}.portfolio-content .impact-row>div>span{font-size:12px}.portfolio-content .impact-note{padding:16px 0!important;font-size:14px}.portfolio-content .expertise-item{grid-template-columns:25px 1fr 20px;gap:10px}.portfolio-content .expertise-item h3{font-size:27px;line-height:1.3}.portfolio-content .timeline-row{grid-template-columns:1fr;gap:8px;padding-left:20px}.portfolio-content .timeline-content h3{font-size:29px}.portfolio-content .timeline-tag,.portfolio-content .timeline-year{font-size:13px}.portfolio-content .steps{grid-template-columns:1fr}.portfolio-content .step,.portfolio-content .step:first-child{min-height:0;padding:24px 0;border-right:0}.portfolio-content .step+.step{border-top:1px solid var(--line)}.portfolio-content .step>span{margin-bottom:12px;font-size:34px}.portfolio-content .step h3{font-size:15px}.portfolio-content .design-note{margin:28px 0 0;font-size:23px}.portfolio-content .contact-title{font-size:clamp(29px,7.4vw,48px);line-height:1.2;letter-spacing:-.035em}.portfolio-content .contact-bottom{flex-direction:column;align-items:stretch}.portfolio-content .contact-cta{min-width:0;width:100%;padding:16px}.portfolio-content .contact-links{font-size:12px;flex-direction:column;gap:12px}.site-footer{align-items:start;width:calc(100% - 36px)}.site-footer>div{gap:8px}.site-footer>div span,.back-top{font-size:12px}.gallery-bottom .text-link{font-size:13px}.dialog-body p{font-size:16px;line-height:1.7}}
@media(max-width:360px){.identity-name{font-size:14px}.identity-role{font-size:11px}.hero-controls .language-switch{font-size:12px;min-width:50px}.master-portrait{height:300px}.master-intro{font-size:16px}.portfolio-content .wrap{width:calc(100% - 32px)}.portfolio-content .display-heading{font-size:36px}}

/* Keep small glyphs legible in hover states and the timeline. */
.portfolio-content .project-card:hover .project-arrow{background:var(--ink);color:#fff}.portfolio-content .quote-mark,.portfolio-content .timeline-content h3 span{color:var(--accent)}

/* English CV preview: show the whole document without portrait overlays. */
.about-cv-preview{display:block;width:100%;max-width:460px;justify-self:center;align-self:center;border:1px solid #a6b5a1;background:#fff;box-shadow:0 12px 32px #26392c12;transition:box-shadow .2s}.about-cv-preview img{display:block;width:100%;height:auto;object-fit:contain}.cv-preview-caption{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;background:#f7f9f5;color:#26392c;font:500 12px/1.5 var(--sans);letter-spacing:.06em;border-top:1px solid #ccd5c9}.about-cv-preview:hover{box-shadow:0 14px 36px #26392c26}.about-cv-preview:focus-visible{outline:3px solid #26392c;outline-offset:5px}
