:root{--paper:#f5f1e9;--ink:#15171a;--muted:#63666a;--line:#d7d3ca;--coral:#ff694e;--blue:#3058ed;--sky:#dde7ff;--white:#fffaf3;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}::selection{background:var(--coral);color:var(--ink)}.wrap{width:min(100% - 80px,1440px);margin-inline:auto}.skip-link{position:absolute;left:16px;top:-60px;padding:10px;background:#fff;z-index:100}.skip-link:focus{top:12px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 40px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:13px;letter-spacing:-.05em;line-height:.9;min-width:200px}.brand-mark{display:grid;place-items:center;position:relative;background:var(--ink);color:var(--paper);width:38px;height:38px;font-size:25px;line-height:1}.brand-mark span{font-size:10px;position:absolute;right:5px;top:3px;color:var(--coral)}.nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:700}.nav a,.header-contact,.contact-links a,.footer a{transition:opacity .2s}.nav a:hover,.header-contact:hover,.contact-links a:hover,.footer a:hover{opacity:.55}.header-right{display:flex;align-items:center;gap:28px}.languages{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.languages button{background:none;border:0;padding:8px 2px;color:#8a8a86;cursor:pointer}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:3px;text-underline-offset:5px}.languages button:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.header-contact{font-size:13px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px;display:flex;gap:20px}.hero{min-height:710px;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(340px,.82fr);gap:36px;padding-top:46px;padding-bottom:74px}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.eyebrow,.small-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.13em}.asterisk{color:var(--coral);font-size:23px;line-height:.5}.hero h1{font-size:clamp(66px,8.5vw,150px);line-height:.79;letter-spacing:-.092em;font-weight:900;margin:58px 0 65px;white-space:nowrap}.hero h1>span{color:var(--blue)}.period{color:var(--coral)}.hero-lower{display:grid;grid-template-columns:.8fr 1fr;gap:30px;align-items:start}.hero-statement{font-size:clamp(25px,2.6vw,42px);line-height:1.05;font-weight:800;letter-spacing:-.055em;max-width:330px}.hero-statement em{font-style:normal;color:var(--coral)}.hero-description p{font-size:16px;line-height:1.55;max-width:440px;color:#3c4145;margin:0 0 24px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:49px;padding:13px 17px;font-size:12px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--blue)}.button-outline{border:1px solid var(--ink)}.button-outline:hover{background:#fff}.hero-visual{position:relative;align-self:stretch;min-height:600px;padding:24px 20px 20px;background:var(--blue)}.portrait-frame{height:calc(100% - 35px);position:relative;overflow:hidden}.portrait-frame:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 27%}.photo-label{position:absolute;z-index:1;bottom:20px;left:22px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em}.visual-caption{display:flex;justify-content:space-between;color:white;font-size:10px;font-weight:800;letter-spacing:.08em;padding-top:15px}.orbit{position:absolute;display:grid;place-items:center;border-radius:50%;z-index:2}.orbit-one{width:83px;height:83px;left:-42px;top:66px;background:var(--coral);font-size:53px;animation:spin 18s linear infinite}.orbit-two{width:56px;height:56px;right:-25px;bottom:105px;background:var(--white);font-size:29px;transform:rotate(12deg)}@keyframes spin{to{transform:rotate(360deg)}}.ticker{background:var(--coral);overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);height:74px;display:flex;align-items:center}.ticker-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.ticker-track span{white-space:nowrap;font-size:30px;font-weight:900;letter-spacing:-.07em;padding-right:20px}.ticker-track b{font-size:26px;margin:0 17px;font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding-top:100px;padding-bottom:110px}.section-index{display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;padding-top:15px;font-size:11px;font-weight:800;letter-spacing:.08em}.section-index .arrow{font-size:22px;font-weight:400;line-height:1}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;padding-top:70px}.intro h2,.section-heading h2{font-size:clamp(56px,6.3vw,104px);line-height:.9;letter-spacing:-.075em;font-weight:900;margin:0}.intro h2{max-width:760px}.intro-right>p:first-child{font-size:clamp(18px,1.65vw,25px);line-height:1.4;letter-spacing:-.025em;max-width:620px;margin-bottom:60px}.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:20px;gap:15px}.fact-strip div{display:flex;flex-direction:column;gap:14px}.fact-strip strong{font-size:clamp(42px,4.5vw,78px);line-height:.9;letter-spacing:-.08em}.fact-strip span{font-size:10px;font-weight:800;letter-spacing:.09em;line-height:1.35}.fact-note{color:var(--muted);font-size:11px!important;line-height:1.5!important;margin:15px 0 0!important}.work{background:var(--ink);color:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:65px 0 55px}.section-heading p{font-size:16px;line-height:1.45;max-width:280px;margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.work-card{min-height:510px;padding:23px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--ink)}.card-blue{background:#8eaaff}.card-coral{background:#ff8b69}.card-dark{background:#d2eaa6}.card-num,.card-tags{font-size:11px;font-weight:900;letter-spacing:.08em}.card-art{height:200px;display:flex;align-items:center;justify-content:center;margin:15px 0 auto;position:relative}.work-card h3{font-size:clamp(31px,3vw,48px);line-height:.98;letter-spacing:-.065em;margin:0 0 17px}.work-card p{font-size:15px;line-height:1.45;max-width:340px;margin:0 0 28px}.card-tags{margin-top:auto;padding-top:14px;border-top:1px solid rgba(0,0,0,.45)}.node-map{width:185px;height:145px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:15px;transform:rotate(-12deg)}.node-map i{background:var(--ink);border-radius:50%;box-shadow:9px 7px 0 rgba(255,255,255,.65)}.node-map i:nth-child(2),.node-map i:nth-child(4),.node-map i:nth-child(9){background:#fff;border:3px solid var(--ink)}.pipeline-art{gap:6px;transform:rotate(-8deg)}.pipeline-art span{background:var(--ink);color:white;padding:11px 10px;font-size:13px;font-weight:900;box-shadow:5px 5px 0 #fff}.pipeline-art b{font-size:20px}.pulse-art svg{width:100%;height:130px;overflow:visible}.pulse-art path{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:650;stroke-dashoffset:0}.experience .section-heading h2{max-width:820px}.timeline{border-top:1px solid var(--ink)}.timeline-row{display:grid;grid-template-columns:220px 1fr 30px;gap:26px;padding:31px 0 36px;border-bottom:1px solid var(--line)}.timeline-date{font-size:11px;font-weight:900;letter-spacing:.08em;padding-top:7px}.timeline-top{display:flex;justify-content:space-between;gap:30px;align-items:baseline}.timeline-top h3{font-size:clamp(25px,2.3vw,38px);letter-spacing:-.055em;margin-bottom:13px}.timeline-top span{font-size:12px;font-weight:800;text-align:right}.timeline-main p{font-size:15px;line-height:1.5;color:#505459;max-width:670px;margin:0}.timeline-arrow{font-size:24px}.project{background:var(--blue);color:#fff;overflow:hidden}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;min-height:550px}.project-grid>div:first-child{display:flex;flex-direction:column}.project .section-index{width:100%}.project-kicker{margin:65px 0 14px;font-size:18px;font-weight:700}.project h2{font-size:clamp(90px,11vw,180px);line-height:.8;letter-spacing:-.1em;margin:0 0 37px}.project h2 span{font-size:21px;vertical-align:top;letter-spacing:0;margin-left:12px}.project-description{font-size:18px;line-height:1.45;max-width:580px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.project-tags span{font-size:10px;font-weight:900;border:1px solid rgba(255,255,255,.8);padding:10px 12px}.project-graphic{position:relative;min-height:480px;display:grid;place-items:center}.graphic-ring{position:absolute;border:1px solid rgba(255,255,255,.55);border-radius:50%;aspect-ratio:1}.ring-a{width:85%}.ring-b{width:60%}.graphic-core{position:relative;width:215px;height:215px;background:var(--coral);color:var(--ink);display:grid;place-items:center;font-size:150px;font-weight:900;letter-spacing:-.12em;transform:rotate(-16deg);box-shadow:30px 30px 0 rgba(10,20,100,.24)}.graphic-core span{position:absolute;font-size:52px;top:12px;right:22px;letter-spacing:0}.graphic-small{position:absolute;background:#fff;color:var(--ink);padding:11px 15px;font-size:11px;font-weight:900;letter-spacing:.06em;transform:rotate(-6deg)}.gs1{left:6%;top:24%}.gs2{right:4%;bottom:27%;transform:rotate(8deg)}.gs3{left:16%;bottom:14%;background:#cbea91}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.stack-grid>div{padding:25px 21px 35px;border-right:1px solid var(--line);min-height:275px}.stack-grid>div:first-child{padding-left:0}.stack-grid>div:last-child{border-right:0}.stack-num{font-size:12px;font-weight:800;color:var(--blue)}.stack-grid h3{font-size:clamp(22px,2vw,30px);line-height:1;letter-spacing:-.05em;margin:50px 0 16px}.stack-grid p{font-size:14px;line-height:1.6;color:#4e5458;margin:0}.education{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:65px}.education .small-label{color:var(--blue);margin-bottom:20px}.education p{font-size:17px;line-height:1.4;max-width:450px}.contact{background:var(--coral)}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;padding-top:90px}.contact-kicker{font-size:18px;font-weight:800}.contact h2{font-size:clamp(68px,8.5vw,142px);line-height:.81;letter-spacing:-.085em;margin:30px 0 0}.contact h2 em{font-style:normal;color:#fffaf3}.contact-right{padding-top:30px;display:flex;flex-direction:column;align-items:flex-start}.contact-right p{font-size:22px;line-height:1.3;letter-spacing:-.03em;max-width:440px}.contact-email{font-size:clamp(22px,2.9vw,45px);font-weight:900;letter-spacing:-.055em;border-bottom:2px solid var(--ink);padding:20px 0 8px;margin-top:38px;white-space:nowrap}.contact-email span{font-size:.65em}.contact-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:35px;font-size:11px;font-weight:900;letter-spacing:.05em}.footer{min-height:135px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer>span,.footer>a:last-child{font-size:11px;font-weight:800;letter-spacing:.08em}.footer-brand{min-width:0}
@media(max-width:1200px){.hero h1{font-size:clamp(65px,8vw,110px)}.hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.hero-lower{grid-template-columns:1fr}.hero-statement{max-width:530px}.hero-description p{max-width:530px}.intro-grid{gap:40px}.contact-grid{gap:40px}.contact-email{font-size:26px}}@media(max-width:900px){.wrap{width:min(100% - 44px,1440px)}.header{padding:0 22px}.brand{min-width:0}.nav{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:35px}.hero h1{font-size:clamp(68px,12vw,125px);margin:55px 0}.hero-lower{grid-template-columns:1fr 1fr}.hero-visual{min-height:590px;max-width:580px;width:100%;justify-self:end}.intro-grid,.project-grid,.contact-grid{grid-template-columns:1fr}.intro h2{max-width:680px}.work-grid{grid-template-columns:1fr 1fr}.work-card:last-child{grid-column:1/-1;min-height:420px}.project-graphic{min-height:400px}.stack-grid{grid-template-columns:1fr 1fr}.stack-grid>div:nth-child(2){border-right:0}.stack-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-right{padding:0}.contact h2{font-size:clamp(72px,10vw,110px)}}@media(max-width:640px){.wrap{width:min(100% - 34px,1440px)}.header{height:70px;padding:0 17px}.brand{font-size:11px}.brand-mark{width:33px;height:33px;font-size:21px}.header-right{gap:13px}.header-contact{font-size:11px;gap:7px}.languages{font-size:11px}.hero{padding-top:27px;padding-bottom:47px;min-height:0}.eyebrow{font-size:9px}.hero h1{font-size:clamp(47px,12.5vw,80px);margin:52px 0 46px;letter-spacing:-.09em}.hero-lower{grid-template-columns:1fr;gap:7px}.hero-statement{font-size:32px;max-width:350px;margin-bottom:15px}.hero-description p{font-size:15px}.hero-visual{min-height:520px;padding:13px 12px 15px;width:calc(100% - 11px)}.portrait-frame{height:calc(100% - 28px)}.visual-caption{font-size:8px;padding-top:12px}.orbit-one{width:54px;height:54px;left:-27px;top:44px;font-size:35px}.orbit-two{width:43px;height:43px;right:-20px}.ticker{height:56px}.ticker-track span{font-size:24px}.section{padding-top:70px;padding-bottom:75px}.intro-grid{padding-top:52px;gap:38px}.intro h2,.section-heading h2{font-size:clamp(49px,11vw,74px)}.intro-right>p:first-child{font-size:18px;margin-bottom:45px}.fact-strip{gap:8px}.fact-strip strong{font-size:40px}.fact-strip span{font-size:8px}.section-heading{display:block;padding:52px 0 35px}.section-heading p{margin-top:24px;font-size:15px}.work-grid{grid-template-columns:1fr}.work-card,.work-card:last-child{grid-column:auto;min-height:450px}.work-card h3{font-size:40px}.timeline-row{grid-template-columns:1fr 22px;gap:10px;padding:27px 0}.timeline-date{grid-column:1/-1;padding:0;margin-bottom:7px}.timeline-main{grid-column:1}.timeline-top{display:block}.timeline-top h3{font-size:28px;margin-bottom:5px}.timeline-top span{display:block;text-align:left;margin-bottom:15px}.timeline-arrow{grid-column:2;grid-row:2}.project-grid{gap:0}.project-kicker{margin-top:50px}.project h2{font-size:clamp(85px,20vw,130px)}.project-description{font-size:16px}.project-tags{margin-top:25px}.project-graphic{min-height:355px}.graphic-core{width:170px;height:170px;font-size:120px}.graphic-core span{font-size:40px}.stack-grid{grid-template-columns:1fr}.stack-grid>div,.stack-grid>div:first-child{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:20px 0 25px}.stack-grid>div:last-child{border-bottom:0}.stack-grid h3{margin:20px 0 10px;font-size:26px}.education{grid-template-columns:1fr;gap:20px;padding-top:44px}.education p{font-size:15px}.contact-grid{padding-top:50px;gap:40px}.contact h2{font-size:clamp(59px,13vw,90px)}.contact-right p{font-size:19px}.contact-email{font-size:clamp(21px,5.7vw,31px);margin-top:10px}.contact-links{gap:17px}.footer{min-height:120px;flex-wrap:wrap;justify-content:space-between;padding:25px 0}.footer>span{display:none}}@media(max-width:390px){.hero h1{font-size:11.8vw}.header-contact{display:none}.hero-visual{min-height:450px}.contact h2{font-size:12vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.orbit-one{animation:none}.button{transition:none}}
.portrait-placeholder{background:#dce7ff;color:var(--ink);display:flex;align-items:center;justify-content:center;isolation:isolate}
.portrait-placeholder:before,.portrait-placeholder:after{content:"";position:absolute;border:1px solid var(--blue);border-radius:50%;width:78%;aspect-ratio:1;transform:rotate(25deg) scaleX(.6)}
.portrait-placeholder:after{transform:rotate(-30deg) scaleX(.6)}
.portrait-placeholder strong{font-size:clamp(120px,17vw,260px);font-weight:900;letter-spacing:-.16em;line-height:1;position:relative;z-index:1;color:var(--blue);transform:translateX(-.06em)}
.portrait-placeholder strong span{font-size:.3em;color:var(--coral);vertical-align:top;letter-spacing:0}
.placeholder-code{position:absolute;top:25px;left:24px;font-size:10px;font-weight:900;letter-spacing:.1em}
.portrait-placeholder .photo-label{color:var(--ink)}
.graphic-core svg{width:84%;height:84%;display:block;transform:rotate(8deg)}
