@font-face{font-family:Inter;src:url('assets/fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif-normal-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif-italic-latin.woff2') format('woff2');font-style:italic;font-display:swap}
:root{--paper:#f7f6f0;--ink:#253b33;--muted:#626b62;--line:#d4d9cc;--accent:#800020;--green:#e9ede2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Inter,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:#dce5c8}.wrap{width:min(1140px,calc(100% - 96px));margin:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:29px 0;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-weight:650;font-size:23px;letter-spacing:-1px;text-decoration:none}.dot{color:var(--accent)}nav{display:flex;gap:30px;align-items:center}nav a{font-size:13px;text-decoration:none}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:3px}.nav-contact span{margin-left:14px}.hero{padding-top:64px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.8px;font-weight:550;margin:0 0 23px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:Instrument,Georgia,serif;font-weight:400;letter-spacing:-2px}h1{font-size:clamp(68px,8.5vw,114px);line-height:.99;margin-bottom:33px}em{font-weight:400;color:var(--accent)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:56px;margin-bottom:45px}.hero-bottom p{max-width:630px;font-size:16px;line-height:1.8;margin-bottom:0}.text-link{font-size:13px;font-weight:550;text-decoration:none;display:inline-flex;align-items:center;gap:22px;padding-bottom:4px;border-bottom:1px solid currentColor}.hero-bottom .text-link{white-space:nowrap;margin-bottom:7px}.hero-photo{margin:0}.hero-photo img{display:block;width:100%;height:auto}.hero-photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);line-height:1.6;padding-top:12px}.section{padding-top:100px;padding-bottom:100px}h2{font-size:clamp(38px,4.5vw,57px);line-height:1.08;margin-bottom:26px;letter-spacing:-1px}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.prose p{font-size:14px}.prose .lead{font-size:19px;line-height:1.65}.strengths{margin:34px 0 0}.strengths>div{padding:16px 0;border-top:1px solid var(--line)}dt{font-size:13px;font-weight:650}dd{font-size:13px;margin:3px 0 0;color:var(--muted)}.engagement{background:var(--green)}.section-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:end;margin-bottom:44px}.section-intro h2{margin-bottom:0}.section-intro>p{font-size:14px;margin-bottom:4px;max-width:440px}.roles{display:grid;grid-template-columns:1fr 1fr;gap:60px}.roles article{border-top:1px solid #b8c4b3;padding-top:25px}h3{font-size:21px;line-height:1.4;font-weight:500;letter-spacing:-.5px;margin:18px 0 8px}.role-place{font-size:12px;color:#4d5f51;margin-bottom:20px}.roles article>p:not(.role-place){font-size:14px;max-width:460px}.roles .text-link{margin-top:9px}.selection-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:0 0 30px}.project{display:grid;grid-template-columns:.95fr 1.2fr;gap:60px;padding:34px 0;border-bottom:1px solid var(--line);align-items:center}.project:first-child{padding-top:0}.project-cover{min-height:275px;padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between}.project-cover>span,.project-cover small{text-transform:uppercase;font-size:9px;letter-spacing:1.4px}.project-cover strong{font-family:Instrument,Georgia,serif;font-size:51px;line-height:1.03;font-weight:400;letter-spacing:-1px;margin:30px 0}.cover-blue{color:#164885;background:#e6eaf0}.cover-green{color:#345438;background:#e1e7d7}.cover-clay{color:#8c422e;background:#efdfd2}.project-copy .eyebrow{font-size:10px;margin:0 0 12px}.project-copy h3{margin:0 0 14px;font-size:23px}.project-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:16px}.project-copy .project-focus{color:var(--muted);font-size:12px!important}.more-projects{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;font-size:14px;font-weight:550}summary>span{float:right}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px 0 8px}.more-grid a{text-decoration:none}.more-grid strong{display:block;font-size:13px}.more-grid span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.learning-note{display:flex;gap:22px;margin-top:28px;color:var(--muted)}.learning-note>span{font-size:30px;line-height:1}.learning-note p{font-size:12px;max-width:760px;margin:0}.contact{background:var(--green);color:var(--ink)}.contact em{color:var(--accent)}.contact h2{font-size:clamp(52px,6.5vw,82px);margin-bottom:42px}.contact-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact-bottom p{font-size:14px;color:var(--ink);max-width:510px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px;justify-content:center}.contact-links a{display:flex;justify-content:space-between;gap:35px;text-decoration:none;border-bottom:1px solid #809086;padding:0 0 9px;font-size:17px}.contact-links a:last-child{font-size:12px}.contact-links a:hover{color:var(--accent)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:25px}.footer p,.footer nav a{font-size:10px;margin:0}.footer nav{gap:24px}.draft-note{flex-basis:100%;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:white;padding:12px;z-index:10}@media(min-width:1500px){.wrap{width:1200px}}@media(max-width:800px){.wrap{width:calc(100% - 48px)}.header{padding:22px 0}nav{gap:18px}nav a{font-size:11px}.hero{padding-top:45px}.hero-bottom{gap:30px}.hero-bottom p{font-size:14px}.hero-bottom .text-link{font-size:11px}.split,.section-intro{gap:36px}.section{padding:70px 0}.roles{gap:32px}.project{gap:30px}.project-cover{padding:22px;min-height:270px}.project-cover strong{font-size:40px}.contact-bottom{gap:35px}.hero-photo figcaption{font-size:9px}}@media(max-width:560px){.wrap{width:calc(100% - 40px)}.header{align-items:flex-start;gap:20px;flex-direction:column}.header nav{width:100%;justify-content:space-between;gap:12px}.wordmark{font-size:22px}.hero{padding-top:37px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:clamp(44px,13.5vw,66px);letter-spacing:-1.8px}.hero-bottom{display:block;margin-bottom:30px}.hero-bottom p{font-size:14px}.hero-bottom .text-link{margin-top:24px;font-size:12px}.hero-photo figcaption{display:block}.hero-photo figcaption span{display:block;margin-bottom:5px}.section{padding:57px 0}.split,.section-intro,.roles,.project,.contact-bottom{grid-template-columns:1fr;gap:25px}.prose .lead{font-size:18px}.section-intro{margin-bottom:30px}h2{font-size:40px}.roles{gap:30px}.project{padding:30px 0;gap:24px}.project-cover{min-height:245px}.project-cover strong{font-size:49px}.project-copy h3{font-size:22px}.more-grid{grid-template-columns:1fr;gap:22px}.contact h2{font-size:55px}.contact-links a{font-size:17px}.footer{gap:18px}.footer nav{gap:18px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:white;font-size:11pt}.header nav,.skip,.draft-note{display:none}.wrap{width:100%}.section{padding:24px 0}.hero{padding-top:20px}h1{font-size:52pt}.hero-photo{max-width:70%}.project,.roles article{break-inside:avoid}.contact{background:white;color:#253b33}.contact-bottom p{color:inherit}details:not([open]){display:none}a{color:inherit}.contact h2{font-size:36pt}}

.project-screenshot{display:block;line-height:0;border:1px solid var(--line);overflow:hidden}.project-screenshot img{display:block;width:100%;height:auto;aspect-ratio:16/9}.project-screenshot:hover{border-color:var(--accent)}

.wordmark{font-family:Instrument,Georgia,serif;font-weight:400;display:inline-flex;align-items:center;gap:13px;letter-spacing:-.6px;font-size:20px;flex-shrink:0}.wordmark img{display:block;width:48px;height:48px}.portfolio-label{letter-spacing:2px}@media(max-width:800px){.wordmark{font-size:16px;gap:10px}.wordmark img{width:40px;height:40px}.header{flex-wrap:wrap}}

.email-reveal{display:flex;align-items:center;justify-content:space-between;gap:35px;background:none;border:0;border-bottom:1px solid #809086;padding:0 0 9px;color:inherit;font:inherit;font-size:17px;cursor:pointer;text-align:left}.email-reveal:hover{color:var(--accent)}.email-reveal:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.contact-links noscript p{font-size:12px;margin:0;max-width:320px}

.legal-content{max-width:850px;padding-top:55px;padding-bottom:70px}.legal-intro{padding-bottom:28px;border-bottom:1px solid var(--line)}.legal-intro h1{font-size:clamp(40px,6vw,70px);line-height:1.1;overflow-wrap:anywhere;margin:20px 0}.legal-content h2{font-size:32px;line-height:1.2;margin:40px 0 20px;letter-spacing:-.4px}.legal-content h3{font-size:19px}.legal-content p{font-size:14px;line-height:1.85}.legal-content .language-note,.legal-content .footer-note{font-size:12px;color:var(--muted)}.legal-content .email-contact{display:inline-block;vertical-align:baseline}.legal-content .email-reveal{display:inline-flex;font-size:14px;gap:16px;padding-bottom:1px}.legal-content .email-contact a{font-size:14px}.email-contact button[hidden]{display:none}

.language-switch{display:inline-flex;gap:12px;align-items:center;border-left:1px solid var(--line);padding-left:18px;font-family:Inter,Arial,sans-serif;white-space:nowrap}.language-switch a{font-size:11px;letter-spacing:1px}.language-switch a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.header>nav{flex-wrap:wrap;justify-content:flex-end}@media(max-width:560px){.header>nav{justify-content:flex-start;row-gap:16px}.language-switch{padding-left:12px;gap:9px}}

.personal-story{display:grid;grid-template-columns:1.2fr .95fr;align-items:start;gap:56px;border-top:1px solid #b8c4b3;margin-top:55px;padding-top:42px}.personal-story figure{margin:0}.personal-story img{display:block;width:100%;height:auto}.personal-story figcaption{font-size:10px;color:var(--muted);line-height:1.6;padding-top:10px}.personal-story .eyebrow{margin-bottom:15px}.personal-story h3{font-family:Instrument,Georgia,serif;font-size:39px;font-weight:400;line-height:1.12;letter-spacing:-.5px;margin:0 0 23px}.personal-story p:not(.eyebrow){font-size:14px;line-height:1.8}.personal-story .text-link{margin-top:8px}@media(max-width:800px){.personal-story{gap:30px}}@media(max-width:560px){.personal-story{grid-template-columns:1fr;gap:28px;margin-top:38px;padding-top:30px}.personal-story h3{font-size:36px}}

/* Selected profiles: local icons, no third-party requests. */
.footer .social-links{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 28px;padding-bottom:20px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.footer .social-heading{font-size:11px;color:var(--muted);margin-right:4px}
.footer .social-links a{display:inline-flex;align-items:center;gap:8px;font-size:12px;min-height:36px}
.footer .social-links svg{width:17px;height:17px;flex:none;fill:currentColor}
.footer .social-links a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:560px){.footer .social-links{gap:8px 22px}.footer .social-heading{flex-basis:100%}}
