@font-face{font-family:Nimbus;src:url('/assets/sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Nimbus;src:url('/assets/sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url('/assets/serif-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#f6f5f2;--ink:#051b32;--muted:#596675;--line:#d2d9df;--accent:#b51f37;--coral:#ff384f;--dark:#081e35}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Nimbus,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:#ffccd4;color:var(--ink)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400;line-height:1.1;letter-spacing:-.035em}
em{font-family:Editorial,Georgia,serif;font-weight:400}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.container{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;padding-block:6px;font-size:13px;font-weight:700;line-height:1.5}
.text-link:hover{color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:49px;padding:14px 20px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:700;line-height:1.4}
.button:hover{background:#28435e;border-color:#28435e}
.skip-link{position:fixed;top:-100px;left:20px;z-index:50;padding:12px 18px;background:var(--ink);color:white}
.skip-link:focus{top:14px}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(246,245,242,.97)}
.header-inner{min-height:86px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto;flex-shrink:0}
.brand img{width:49px;height:auto}
.brand>span{font-size:13px;line-height:1.25;letter-spacing:.045em;text-transform:uppercase;font-weight:700}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links>a{font-size:12px;padding:12px 0}
.nav-links>a:hover{text-decoration:underline;text-underline-offset:6px}
.language{display:flex;align-items:center;gap:8px;font-size:10px;white-space:nowrap}
.language [aria-current]{font-weight:700}
.language a{padding:10px 2px;color:var(--muted)}
.language a:hover{text-decoration:underline}
.menu-button{display:none}
.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:85px;align-items:center;padding:64px 0 70px}
.hero-copy>.eyebrow{color:var(--muted);margin-bottom:22px}
.hero h1{font-size:clamp(38px,4.5vw,58px);line-height:1.08;letter-spacing:-.045em;margin-bottom:27px}
.hero .intro{font-size:18px;line-height:1.65;max-width:50ch}
.hero-interest{font-size:15px;line-height:1.7;color:var(--muted);max-width:58ch;margin-top:18px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px}
.hero-actions>.text-link{font-size:12px;font-weight:400}
.portrait{width:100%;max-width:280px;justify-self:end}
.portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:3px}
.portrait figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.projects{padding:64px 0 65px;background:var(--dark);color:var(--paper)}
.project-intro{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}
.project-intro .eyebrow{color:#c5d3df;margin-bottom:20px}
.project-intro h2{font-size:clamp(33px,3.5vw,44px);margin-bottom:22px}
.project-intro>div>p:not(.eyebrow){font-size:15px;line-height:1.7;color:#c5d3df;max-width:50ch;margin-bottom:17px}
.project-examples a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.project-examples a:hover{color:#ffb6c1}
.projects .text-link{font-size:12px;color:var(--paper)}
.projects .text-link:hover{color:#ffb6c1}
.projects a:focus-visible{outline-color:#ffb6c1}
.project-photo img{width:100%;height:auto;border-radius:3px;aspect-ratio:2048/1156;object-fit:contain}
.project-photo figcaption{font-size:10px;line-height:1.6;color:#c5d3df;margin-top:12px;max-width:65ch}
.about{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;padding:66px 0}
.about-heading>.eyebrow{color:var(--muted);margin-bottom:20px}
.about h2{font-size:clamp(33px,3.5vw,44px);margin-bottom:23px}
.about-heading>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:51ch}
.about-heading>.personal-note{font-size:13px!important;color:var(--muted);padding-top:20px;margin-top:23px;border-top:1px solid var(--line)}
.roles{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.roles li{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);line-height:1.6}
.roles li>span{font-size:11px;color:var(--muted)}
.roles strong{font-size:13px;font-weight:400}
.role-link:hover{color:var(--accent)}
.role-link>span{font-size:11px;color:var(--accent);white-space:nowrap}
.standards-note{margin-top:22px;font-size:12px;line-height:1.8;color:var(--muted)}
.standards-note a{text-decoration:underline;text-underline-offset:3px}
.standards-note a:hover{color:var(--accent)}
.contact{padding:45px 0 48px;border-block:1px solid var(--line);background:#eceff1}
.contact .eyebrow{color:var(--muted);margin-bottom:17px}
.contact h2{font-size:clamp(29px,3vw,37px);margin-bottom:19px}
.contact-inner>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:65ch;margin-bottom:18px}
.site-footer{padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px;line-height:1.7}
.site-footer>div>p:first-child{color:var(--ink);margin-bottom:3px}
.site-footer>a{white-space:nowrap;padding:8px 0}
@media(max-width:1000px){
 .hero{gap:48px;grid-template-columns:1.6fr 1fr}
 .hero h1{font-size:44px}
 .hero .intro{font-size:17px}
 .project-intro,.about{gap:42px}
 .roles li{grid-template-columns:115px 1fr;gap:13px}
}
@media(max-width:760px){
 .container{width:calc(100% - 48px)}
 .header-inner{min-height:76px;gap:20px;flex-wrap:wrap;position:relative}
 .brand img{width:43px}
 .brand>span{font-size:12px}
 .nav-links{display:none;order:4;width:100%;padding:10px 0 20px;gap:0;flex-direction:column;align-items:stretch}
 .nav-links.is-open{display:flex}
 .nav-links>a{font-size:14px;border-top:1px solid var(--line);padding:13px 0}
 .menu-button{display:flex;align-items:center;gap:8px;border:1px solid #aebbc7;border-radius:3px;background:none;padding:8px 10px;font-size:10px}
 .menu-button>span{font-size:13px}
 .hero{padding:45px 0 49px;gap:32px;grid-template-columns:1.7fr 1fr}
 .hero h1{font-size:clamp(30px,5.1vw,39px)}
 .hero .intro{font-size:16px}
 .hero-interest{font-size:14px}
 .hero-actions{gap:20px;margin-top:23px}
 .portrait{max-width:210px}
 .project-intro{gap:30px}
 .project-intro h2,.about h2{font-size:34px}
 .project-intro>div>p:not(.eyebrow){font-size:14px}
 .about{grid-template-columns:1fr 1fr;gap:32px;padding:49px 0}
 .roles li{grid-template-columns:1fr;gap:3px;padding:14px 0}
}
@media(max-width:540px){
 html{scroll-padding-top:85px}
 .container{width:calc(100% - 42px)}
 .header-inner{gap:16px;min-height:73px}
 .language{gap:6px}
 .brand{gap:8px}
 .brand img{width:39px}
 .brand>span{font-size:11px}
 .menu-button{font-size:9px;padding:8px}
 .hero{grid-template-columns:1fr;gap:28px;padding:36px 0 42px}
 .hero-copy>.eyebrow{font-size:9px;margin-bottom:19px}
 .hero h1{font-size:clamp(34px,8.5vw,44px);margin-bottom:22px}
 .hero .intro{font-size:16px;max-width:42ch}
 .hero-interest{max-width:47ch;font-size:14px;margin-top:16px}
 .hero-actions{gap:23px;margin-top:23px}
 .hero-actions .text-link{font-size:12px}
 .portrait{justify-self:start;max-width:155px}
 .portrait img{aspect-ratio:1/1;object-position:50% 27%}
 .projects{padding:42px 0 45px}
 .project-intro{grid-template-columns:1fr;gap:26px}
 .project-intro .eyebrow{margin-bottom:17px}
 .project-intro h2{font-size:34px;margin-bottom:19px}
 .project-intro>div>p:not(.eyebrow){font-size:14px}
 .project-photo figcaption{font-size:10px}
 .projects .text-link{font-size:12px}
 .about{grid-template-columns:1fr;gap:28px;padding:43px 0}
 .about h2{font-size:34px;margin-bottom:20px}
 .about-heading>p:not(.eyebrow){font-size:14px}
 .about-heading>.personal-note{margin-top:20px;padding-top:17px}
 .roles li{grid-template-columns:112px 1fr;gap:15px;padding:16px 0}
 .roles strong{font-size:12px}
 .roles li>span{font-size:10px}
 .standards-note{font-size:12px;margin-top:18px}
 .contact{padding:35px 0 38px}
 .contact h2{font-size:31px}
 .contact-inner>p:not(.eyebrow){font-size:14px}
 .site-footer{align-items:start;padding:22px 0;font-size:9px;gap:15px}
 .site-footer>div{max-width:31ch}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 .site-header,.hero-actions,.site-footer,.skip-link{display:none}
 .container{width:100%}
 .hero,.projects,.about,.contact{padding:20px 0}
 .hero{grid-template-columns:2fr 1fr}
 .hero h1{font-size:34px}
 .portrait{max-width:150px}
 .projects{background:white;color:var(--ink)}
 .projects p,.projects .text-link,.project-photo figcaption{color:var(--ink)!important}
 .project-intro,.about{gap:30px}
 .project-photo{max-width:300px}
 a{text-decoration:underline}
}
