:root{--white:#fff;--ink:#172231;--blue:#215ad8;--deep:#1235a0;--gray:#657080;--line:#d8dfe8;--paper:#f2f5f9;--pad:clamp(24px,6.5vw,120px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:7px}p{font-size:1.0625rem;line-height:1.7;margin:0 0 22px}h1,h2,h3{margin:0;font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;font-weight:900}h2{font-size:clamp(3rem,6.9vw,7.2rem);line-height:.96;letter-spacing:-.065em}.blue{color:var(--blue)}.skip{position:absolute;z-index:10;top:-100px;left:20px;background:white;padding:14px}.skip:focus{top:10px}.header{height:106px;display:flex;align-items:center;gap:44px;padding:0 var(--pad);border-bottom:1px solid #edf0f5;position:relative;z-index:5;background:white}.wordmark{font-size:1.1rem;letter-spacing:-.04em;font-weight:800;white-space:nowrap}.wordmark span{display:block;font-size:.75rem;letter-spacing:.13em;color:var(--blue);margin-top:6px}nav{display:flex;gap:28px;margin-left:auto}nav a{font-size:.9375rem}nav a:hover{color:var(--blue)}.download{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--ink);padding:14px 21px;font-size:.875rem;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}.download:hover{color:#fff;background:var(--ink)}.hero{height:calc(100svh - 106px);min-height:730px;max-height:1150px;position:relative;isolation:isolate;overflow:hidden;padding:35px var(--pad) 44px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between}.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.08em;margin:0}.hero-location{font-size:.8125rem;text-align:right;color:var(--gray);line-height:1.5}.hero h1{position:relative;z-index:0;font-size:clamp(72px,8.2vw,150px);letter-spacing:-.07em;line-height:.92;padding-top:34px;white-space:nowrap}.hero h1>span{display:block}.hero h1 .blue{font-size:1.12em;margin-top:13px}.period{color:var(--ink)}.hero-art{position:absolute;left:68%;top:24%;width:min(26vw,375px);height:50%;z-index:1;pointer-events:none;transform:translate3d(calc(var(--mx,0)*50px),calc(var(--my,0)*32px),0) rotate(calc(var(--mx,0)*12deg));transition:transform .5s ease-out}.hero-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 28px #152b5630);animation:float 5s ease-in-out infinite}.hero-bottom{position:absolute;bottom:65px;left:var(--pad);right:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;z-index:2}.hero-role{font-size:clamp(24px,2.9vw,45px);line-height:1;font-weight:900;letter-spacing:-.05em;color:var(--blue);margin:0 0 16px}.hero-intro{font-size:clamp(17px,1.4vw,22px);line-height:1.5;margin:0;max-width:340px}.scroll-link{font-size:.75rem;letter-spacing:.1em;white-space:nowrap;display:flex;align-items:center;gap:16px;margin-bottom:5px}.scroll-line{display:block;width:2px;height:48px;background:var(--blue)}.art-note{position:absolute;right:var(--pad);bottom:19px;color:var(--gray);font-size:.75rem}.section{padding:100px var(--pad) 110px}.section-kicker{display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;letter-spacing:.07em;font-weight:700;line-height:1.5;margin-bottom:55px}.section-kicker span:last-child{color:var(--gray);text-align:right}.profile{border-top:1px solid var(--line)}.profile-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:7vw;align-items:start}.profile h2{font-size:clamp(42px,5.15vw,90px);line-height:1.08;letter-spacing:-.055em}.profile-copy .lead{font-size:1.45rem;line-height:1.4;letter-spacing:-.025em}.profile-copy p:not(.lead){color:var(--gray)}.profile-foot{display:grid;grid-template-columns:1.6fr 1fr .8fr;gap:30px;border-top:1px solid var(--line);margin-top:55px;padding-top:28px}.profile-foot p{font-size:.9375rem;line-height:1.6;margin:0}.profile-foot span{display:block;color:var(--gray);font-size:.75rem;letter-spacing:.06em;margin-bottom:9px}.projects{background:var(--paper)}.projects h2{margin-bottom:70px}.project-row{display:grid;grid-template-columns:45px 1.05fr 1fr;gap:30px;padding:45px 0;border-top:1px solid #c9d4e4}.project-row:last-child{border-bottom:1px solid #c9d4e4}.number{font-size:.875rem;line-height:2;font-weight:700;color:var(--blue)}.project-row h3{font-size:clamp(30px,3.3vw,60px);letter-spacing:-.055em;line-height:1.05}.meta{color:var(--blue);font-size:.8125rem;letter-spacing:.03em;line-height:1.6;margin-top:17px;margin-bottom:0}.project-description p{color:var(--gray);margin-bottom:15px}.project-description p:last-child{margin-bottom:0}.training{background:var(--deep);color:#fff}.training .section-kicker span:last-child{color:#b9caff}.training h2{font-size:clamp(2.3rem,6.25vw,6.8rem)}.training h2 span{color:#8eb4ff}.training-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;margin-top:55px;margin-bottom:48px}.training-intro .lead{font-size:clamp(22px,2.6vw,36px);line-height:1.3;letter-spacing:-.04em}.training-intro p:last-child{color:#d0ddff;max-width:440px}.audiences{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px}.audiences li{font-size:clamp(19px,1.65vw,26px);letter-spacing:-.03em;line-height:1.35;border-top:1px solid #7893df;padding:25px 0 30px}.career h2{margin-bottom:65px}.timeline details{border-top:1px solid var(--line)}.timeline details:last-child{border-bottom:1px solid var(--line)}.timeline summary{list-style:none;display:grid;grid-template-columns:175px 1fr 30px;gap:30px;align-items:start;padding:33px 0;cursor:pointer}.timeline summary::-webkit-details-marker{display:none}.date{color:var(--blue);font-size:.875rem;font-weight:700;padding-top:7px;line-height:1.5}.timeline-heading{min-width:0;overflow-wrap:break-word;font-size:clamp(24px,2.7vw,43px);line-height:1.13;letter-spacing:-.04em;font-weight:800}.timeline-heading>span{display:block;font-size:1rem;font-weight:400;letter-spacing:0;color:var(--gray);margin-top:12px;line-height:1.5}.toggle{color:var(--blue);font-size:32px;line-height:1;transition:transform .2s}.timeline details[open] .toggle{transform:rotate(45deg)}.timeline-body{margin-left:205px;max-width:780px;padding-bottom:29px}.timeline-body .lead{font-size:1.0625rem;color:var(--blue);line-height:1.5}.timeline-body ul{padding-left:19px;margin:0;color:var(--gray)}.timeline-body li{font-size:1rem;line-height:1.65;padding-left:4px;margin-bottom:12px}.creation{background:#e7edf7}.creation-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw}.creation h2{font-size:clamp(40px,5.2vw,90px)}.creation .lead{font-size:1.4rem;line-height:1.4;margin-top:32px}.creation-copy{color:var(--gray)}.apps{list-style:none;margin:20px 0 28px;padding:0;color:var(--ink)}.apps li{font-size:clamp(22px,2.6vw,39px);line-height:1.25;letter-spacing:-.035em;font-weight:700;border-top:1px solid #c2cee1;padding:14px 0}.apps li:last-child{border-bottom:1px solid #c2cee1}.skills h2{font-size:clamp(35px,6.5vw,108px);margin-bottom:60px}.skills-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.skills h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.4;margin-bottom:25px}.qualification{font-size:1.45rem;letter-spacing:-.025em;line-height:1.35;font-weight:700;margin-bottom:27px}.qualification span{display:block;font-size:1rem;color:var(--gray);font-weight:400;letter-spacing:0;margin-top:10px}.language-title{padding-top:24px}.skill-list{margin:0;padding:0;list-style:none}.skill-list li{font-size:1rem;line-height:1.6;padding:13px 0;border-top:1px solid var(--line)}.skill-list li:first-child{padding-top:0;border:0}.contact{background:#172231;color:#fff}.contact .section-kicker span:last-child{color:#a3afc0}.contact h2{font-size:clamp(38px,7vw,115px);line-height:1.03}.contact h2>span{color:#90b8ff}.contact-philosophy{margin-top:34px;color:#c2cbd7;max-width:780px}.contact-bottom{margin-top:55px;padding-top:35px;border-top:1px solid #465263;display:grid;grid-template-columns:1.1fr 1fr auto;gap:30px;align-items:center}.contact-bottom>div{display:flex;flex-direction:column;gap:12px}.contact-bottom a:not(.download){font-size:clamp(16px,1.6vw,24px);letter-spacing:-.025em}.contact-bottom a:not(.download):hover{color:#90b8ff}.bottom-download{border-color:#a8b7cc;font-size:.875rem}.bottom-download:hover{background:#fff;color:var(--ink)}.closing{margin:70px 0 0;padding-top:26px;border-top:1px solid #465263;font-size:.8125rem;display:flex;justify-content:space-between;gap:20px;color:#a3afc0}.reveal{opacity:1;transform:none}.animate-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.animate-ready .reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translate3d(-8px,8px,0) rotate(-8deg) scale(.98)}50%{transform:translate3d(10px,-22px,0) rotate(8deg) scale(1.03)}}
@media(min-width:1600px){.hero-intro{max-width:410px}.section{padding-left:max(120px,calc((100vw - 1420px)/2));padding-right:max(120px,calc((100vw - 1420px)/2))}}
@media(max-width:1000px){.header{gap:25px}nav{gap:17px}.hero{min-height:700px}.hero-art{top:30%;left:65%;width:30vw;height:46%}.profile-grid{gap:35px;grid-template-columns:1fr 1fr}.profile h2{font-size:4.7vw}.project-row{grid-template-columns:28px 1fr 1fr;gap:20px}.timeline summary{grid-template-columns:150px 1fr 25px;gap:22px}.timeline-body{margin-left:172px}.contact-bottom{grid-template-columns:1fr 1fr}.bottom-download{grid-column:1/-1;justify-self:start;margin-top:10px}}
@media(max-width:700px){.header{height:88px;padding:0 24px;justify-content:space-between;gap:15px}.wordmark{font-size:1rem}.wordmark span{font-size:.7rem}nav{display:none}.header .download{padding:11px 12px;font-size:.75rem}.hero{height:calc(100svh - 88px);min-height:700px;max-height:960px;padding-top:25px}.hero-top .eyebrow{font-size:.75rem;line-height:1.6;max-width:230px}.hero-location{display:none}.hero h1{font-size:12.4vw;padding-top:24px;line-height:.97}.hero h1 .blue{font-size:1.32em;margin-top:8px}.hero-art{left:20%;top:33%;width:60%;height:35%}.hero-bottom{bottom:49px;display:block}.hero-role{font-size:30px;margin-bottom:13px}.hero-intro{font-size:17px;max-width:none}.scroll-link{display:none}.scroll-line{height:54px}.art-note{left:24px;right:auto;bottom:17px;font-size:.6875rem}.section{padding:65px 24px 75px}.section-kicker{font-size:.75rem;margin-bottom:37px}.section-kicker span:last-child{max-width:145px}.profile-grid{display:block}.profile h2{font-size:clamp(37px,9.3vw,65px);line-height:1.02;margin-bottom:38px}.profile-copy .lead{font-size:1.25rem;line-height:1.45}.profile-copy p:not(.lead){font-size:1rem}.profile-foot{grid-template-columns:1fr;gap:24px;margin-top:30px;padding-top:25px}.profile-foot p{font-size:.9375rem}.projects h2{font-size:11vw;margin-bottom:40px}.project-row{grid-template-columns:26px 1fr;gap:15px;padding:30px 0}.project-row h3{font-size:clamp(30px,8.5vw,48px)}.project-description{grid-column:2}.project-description p{font-size:1rem}.meta{font-size:.75rem;line-height:1.6}.training h2{font-size:8.2vw}.training-intro{display:block;margin-top:34px;margin-bottom:33px}.training-intro .lead{font-size:26px}.training-intro p:last-child{font-size:1rem}.audiences{grid-template-columns:1fr 1fr;gap:0 23px}.audiences li{font-size:1rem;line-height:1.5;padding:21px 0}.career h2{font-size:11vw;margin-bottom:38px}.timeline summary{grid-template-columns:minmax(0,1fr) 25px;gap:10px;padding:26px 0}.date{grid-column:1;font-size:.8125rem;padding:0}.timeline-heading{grid-column:1;font-size:27px}.timeline-heading>span{font-size:.9375rem}.toggle{font-size:26px;grid-column:2;grid-row:1/3;align-self:center}.timeline-body{margin:0;padding-bottom:23px}.timeline-body li{font-size:1rem}.creation-grid{display:block}.creation h2{font-size:10.5vw}.creation .lead{font-size:1.25rem;margin:25px 0 35px}.creation-copy p{font-size:1rem}.apps li{font-size:26px}.skills h2{font-size:9vw;line-height:1.03;margin-bottom:37px}.skills-grid{display:block}.skills-grid>div+div{margin-top:37px}.skills h3{font-size:1.2rem;margin-bottom:22px}.qualification{font-size:1.25rem}.language-title{padding-top:8px}.contact h2{font-size:9.4vw;line-height:1.08}.contact-philosophy{font-size:1rem;line-height:1.65;margin-top:27px}.contact-bottom{grid-template-columns:1fr;gap:25px;margin-top:33px;padding-top:28px}.contact-bottom a:not(.download){font-size:1.125rem}.bottom-download{margin-top:0}.closing{display:block;font-size:.8125rem;line-height:1.6;margin-top:47px}.closing span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art{transition:none;transform:none}.hero-art img{animation:none}.animate-ready .reveal{opacity:1;transform:none;transition:none}.download,.toggle{transition:none}}
@media print{.header, .hero-art,.art-note,.scroll-link,.download{display:none}.hero{height:auto;min-height:0;padding:20px}.hero h1{font-size:45px;padding:0}.hero-bottom{position:static;margin-top:20px}.section{padding:25px 20px;color:#000;background:white;break-inside:avoid}.section h2{font-size:32px;color:black}.blue{color:black}.section-kicker{margin-bottom:20px}.timeline details:not([open]) .timeline-body{display:block}.timeline-body{margin:0}.animate-ready .reveal{opacity:1;transform:none}.contact h2>span,.training h2 span{color:#000}.contact-philosophy,.contact .section-kicker span:last-child{color:#444}.contact-bottom{margin-top:20px}.contact-bottom>div a{font-size:14px}.closing{color:#444}.hero h1 .blue{font-size:45px}}

.profile-identity{min-width:0}.portrait{margin:38px 0 0;max-width:360px}.portrait img{display:block;width:100%;height:370px;object-fit:cover;object-position:55% 58%;background:#fff;border-bottom:3px solid var(--blue)}.portrait figcaption{font-size:.9375rem;font-weight:700;margin-top:15px}.portrait figcaption span{display:block;font-size:.6875rem;letter-spacing:.12em;color:var(--blue);margin-top:6px}
@media(max-width:700px){.profile-identity h2{margin-bottom:0}.portrait{margin:28px 0 35px;max-width:320px}.portrait img{height:340px}}
