:root{--paper:#f9f9f6;--ink:#242b33;--muted:#636a72;--line:#d8dce0;--blue:#203b63}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#34629b}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #335f9b;outline-offset:6px}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:clamp(56px,6vw,82px);letter-spacing:-2.5px;color:var(--blue)}h2{font-size:40px;letter-spacing:-1px}h3{font-size:29px;letter-spacing:-.5px}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}[hidden]{display:none!important}.site{max-width:1320px;margin:auto;padding:0 56px}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:var(--blue);color:white;padding:10px;z-index:20}
header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.identity{font-family:Georgia,serif;font-size:24px;line-height:1.3}nav{display:flex;gap:32px;font-size:17px}nav a{padding:10px 0;min-height:44px}nav a[aria-current=page]{border-bottom:1px solid var(--blue);color:var(--blue)}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;border:1px solid var(--blue);font-size:17px;line-height:1.5;padding:13px 20px;min-height:50px}.button:hover{background:#345985;color:white}.text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-size:17px;line-height:1.5;padding:7px 0}.lede{font-size:23px;line-height:1.55;letter-spacing:-.25px;max-width:590px}.period{color:#a06d55}
.intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:48px;align-items:center;padding:65px 0 75px}.intro h1{font-size:clamp(65px,7.7vw,108px);line-height:1;letter-spacing:-4.5px;margin-bottom:32px}.intro-photo{min-width:0}.intro-photo:empty{min-height:350px;background:#edf1f5}.intro-photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:60% 70%}.home-experience{border-top:1px solid var(--line);padding:48px 0 65px}.home-experience>h2{margin-bottom:30px}.experience-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:60px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.experience-preview:last-child{border-bottom:1px solid var(--line)}.experience-preview h3{font-size:34px;max-width:650px}.experience-preview p{font-size:18px;color:var(--muted);margin-top:16px}.experience-preview img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:50% 65%}.experience-preview[data-slug=esn] img{object-position:50% 82%}.experience-preview[data-slug=events] img{object-position:50% 20%}.experience-preview:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.page-heading{padding:60px 0 45px;display:flex;align-items:baseline;justify-content:space-between;gap:30px}.work-entry{padding:45px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.work-entry h2{font-size:36px;max-width:740px}.work-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center}.work-row.without-photo{grid-template-columns:1fr}.work-row.without-photo .work-copy{max-width:830px}.date{font-size:17px;color:var(--muted);margin-bottom:15px}.jobtitle{font-size:18px;color:var(--muted);margin-top:18px}.jobtitle span{display:block}.work-description{font-size:18px;margin-top:24px}.work-photo img{width:100%;height:auto;aspect-ratio:1/1;max-height:530px;object-fit:contain}.work-photo a{display:block}.project-photos{margin-top:25px}.project-photos summary{list-style:none;cursor:pointer;display:inline-block;font-size:17px;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.project-photos summary::-webkit-details-marker{display:none}.project-photos summary::marker{content:''}.project-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.project-photo-grid img{width:100%;height:auto}.more-button{margin:0 0 45px}
.about-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:80px;align-items:center;padding:65px 0}.about-intro h1{margin-bottom:28px}.about-intro p:not(.lede){max-width:580px;margin-top:25px}.about-intro figure{width:100%;max-width:380px;justify-self:end}.about-intro img{width:100%;height:auto}.education-section{border-top:1px solid var(--line);padding:55px 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:85px;align-items:center}.education-section figure{max-width:430px}.education-section img{width:100%;height:auto}.education-section h2{margin-bottom:28px}.education-entry{border-top:1px solid var(--line);padding:22px 0}.education-entry:last-child{padding-bottom:0}.education-entry .date{margin-bottom:10px}.education-entry h3{font-size:25px}.education-entry>p:last-child{font-size:18px;color:var(--muted);margin-top:8px}figcaption{font-size:16px;line-height:1.5;color:var(--muted);margin-top:12px}.music-section{padding:55px 0;border-top:1px solid var(--line)}.section-intro{max-width:720px;margin-bottom:35px}.section-intro h2{margin-bottom:22px}.music-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start}.music-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 42%}.music-gallery figure{min-width:0}.music-gallery .content-error,.music-gallery .loading-message{grid-column:1/-1}.music-section .more-button{margin-top:25px}.contact-section{border-top:1px solid var(--line);padding:50px 0 65px}.contact-section h2{margin-bottom:22px}.contact-email{font-family:Georgia,serif;font-size:34px;color:var(--blue);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.contact-section .actions{margin-top:25px}.information{max-width:850px;padding-bottom:60px}.information section{padding:30px 0;border-top:1px solid var(--line)}.information h2{font-size:30px;margin-bottom:20px}.information p{font-size:17px}.loading-message,.content-error{font-size:18px;padding:25px 0}.content-error p{margin-bottom:20px}
footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0;border-top:1px solid var(--line);font-size:16px;color:var(--muted)}footer>div{display:flex;gap:25px}footer a{padding:6px 0}
@media(max-width:1000px){.site{padding:0 35px}.intro{gap:35px}.intro h1{font-size:clamp(65px,7.5vw,90px)}.lede{font-size:21px}.experience-preview,.work-row{gap:35px}.experience-preview h3{font-size:30px}.about-intro{gap:45px}.education-section{gap:45px}h2{font-size:36px}.work-entry h2{font-size:32px}.contact-email{font-size:30px}}
@media(max-width:720px){.site{padding:0 24px}header{align-items:start;flex-direction:column;gap:18px;padding:23px 0}.identity{font-size:23px}nav{font-size:17px;gap:30px;width:100%}.intro{grid-template-columns:1fr;gap:35px;padding:40px 0 45px}.intro h1{font-size:clamp(58px,13vw,85px);letter-spacing:-3px;margin-bottom:25px}.lede{font-size:21px}.actions{gap:20px;margin-top:25px}.intro-photo img{aspect-ratio:5/4}.home-experience{padding:35px 0 45px}.home-experience>h2{margin-bottom:23px}.experience-preview{grid-template-columns:1fr;gap:22px;padding:27px 0}.experience-preview h3{font-size:29px}.experience-preview p{font-size:17px;margin-top:12px}.experience-preview img{aspect-ratio:8/5}.page-heading{padding:40px 0 30px;flex-direction:column;gap:15px}h1{font-size:52px;letter-spacing:-1.7px}h2{font-size:32px}.work-entry{padding:30px 0}.work-row{grid-template-columns:1fr;gap:25px}.work-entry h2{font-size:30px}.work-description{font-size:18px;margin-top:20px}.jobtitle{font-size:17px;margin-top:15px}.project-photo-grid{grid-template-columns:1fr;gap:20px}.work-photo img{max-height:530px}.about-intro{grid-template-columns:1fr;gap:30px;padding:40px 0}.about-intro h1{margin-bottom:23px}.about-intro figure{justify-self:start;max-width:380px}.about-intro p:not(.lede){margin-top:20px}.education-section{grid-template-columns:1fr;gap:30px;padding:38px 0}.education-section figure{order:2}.education-section h2{margin-bottom:23px}.education-entry h3{font-size:24px}.education-entry>p:last-child{font-size:17px}.music-section{padding:38px 0}.music-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.section-intro{margin-bottom:25px}.contact-section{padding:38px 0 45px}.contact-email{font-size:27px}.information h2{font-size:28px}.information p{font-size:17px}footer{align-items:start;flex-direction:column;gap:12px;padding:25px 0}footer>div{gap:20px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Dedicated destinations, with the experience links grouped in one readable menu. */
nav{position:relative;align-items:center;gap:26px}.nav-experience>summary{list-style:none;cursor:pointer;padding:10px 0;min-height:44px}.nav-experience>summary::-webkit-details-marker{display:none}.nav-experience>summary::marker{content:''}.nav-experience>summary.is-current{border-bottom:1px solid var(--blue);color:var(--blue)}.nav-dropdown{position:absolute;z-index:30;top:100%;right:0;min-width:290px;display:grid;padding:10px 20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 20px #242b3310}.nav-dropdown a{font-size:17px;padding:10px 0}.detail-heading{display:block;max-width:1000px;padding-bottom:40px}.detail-heading h1{font-size:clamp(46px,5.5vw,72px);line-height:1.12}.detail-heading .lede{margin-top:28px;max-width:800px}.case-section{padding:35px 0 55px;border-top:1px solid var(--line)}.case-section>.work-row .work-description{margin-top:20px}.case-projects:empty{display:none}.case-projects{border-top:1px solid var(--line);padding:45px 0 60px}.case-projects h2{margin-bottom:30px}.music-experience>h2,.business-section>h2{margin-bottom:24px}.music-experience .work-copy,.business-section .work-copy{max-width:850px}.music-section>h2{margin-bottom:30px}.language-section{border-top:1px solid var(--line);padding:35px 0 45px}.language-section>h2{margin-bottom:25px}.language-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 35px;list-style:none;padding:0;margin:0}.language-profile li{font-family:Georgia,serif;font-size:29px;border-top:1px solid var(--line);padding:18px 0}.language-level{display:block;font-family:Arial,Helvetica,sans-serif;font-size:17px;color:var(--muted);margin-top:4px}.business-section>.text-link{margin-top:22px}.skills-columns{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding:30px 0 55px;border-top:1px solid var(--line)}.skills-column h2{margin-bottom:28px}.skill-list{margin:0}.skill-list dt{font-family:Georgia,serif;font-size:25px;line-height:1.3;padding-top:25px;border-top:1px solid var(--line);margin-bottom:12px}.skill-list dd{font-size:18px;margin:0 0 27px}.skill-list a.text-link{display:inline;padding:0;font-size:inherit}.experience-preview[data-slug=business] img{object-position:50% 65%}
@media(max-width:720px){nav{gap:18px}.nav-dropdown{left:0;right:auto;width:100%;min-width:0}.detail-heading h1{font-size:43px;letter-spacing:-1.5px}.case-section{padding:28px 0 40px}.case-projects{padding:30px 0 40px}.language-profile{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.language-profile li{font-size:27px}.skills-columns{grid-template-columns:1fr;gap:20px;padding:25px 0 35px}.skills-column h2{margin-bottom:23px}.skill-list dt{font-size:24px}.skills-column:last-child{padding-top:20px}}

.experience-preview .experience-description{font-size:18px;line-height:1.65;color:var(--ink);margin-top:14px;max-width:650px}

footer{padding-bottom:95px}footer>div{flex-wrap:wrap;align-items:center;gap:8px 25px}.footer-cookie-settings{border:0;padding:6px 0;background:none;color:inherit;font:inherit;text-align:left}.footer-cookie-settings:hover{color:#34629b}
.cookie-banner{position:fixed;z-index:100;left:24px;right:24px;bottom:76px;max-width:940px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:24px 28px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 30px #242b3320;max-height:calc(100dvh - 110px);overflow:auto}.cookie-banner h2{font-size:27px;letter-spacing:-.5px;margin-bottom:10px}.cookie-banner p{font-size:16px;line-height:1.6;margin:0}.cookie-banner a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.cookie-choice{border:1px solid var(--blue);background:var(--blue);color:white;padding:11px 24px;min-height:46px;min-width:110px;font-size:16px;line-height:1.5}.cookie-choice:hover{background:#345985}
@media(max-width:720px){.cookie-banner{display:block;left:12px;right:12px;bottom:72px;padding:20px;max-height:calc(100dvh - 95px)}.cookie-banner h2{font-size:25px}.cookie-actions{display:flex;justify-content:flex-end;margin-top:16px}}
