/* Edit these tokens to change the visual identity across the site. */
:root{--bg:#111110;--panel:#1b1b19;--ink:#f2f0e9;--muted:#aaa9a2;--red:#ff4c3d;--line:#373732;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}a:hover{color:var(--red)}.wrap{width:min(var(--max),calc(100% - 100px));margin-inline:auto}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:800;letter-spacing:1px;line-height:1.05}.mark{font-size:52px;letter-spacing:-7px;line-height:1}.mark span,.red{color:var(--red)}nav{display:flex;align-items:center;gap:29px;font-size:13px}.nav-contact{margin-left:16px;border:1px solid #77776e;border-radius:30px;padding:13px 20px}.nav-contact span{margin-left:25px}.eyebrow,.hero-bottom,.art-label,.period,figcaption,.status{font:10px/1.5 'Courier New',monospace;letter-spacing:1.4px}.eyebrow{margin:0 0 26px}.red-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:9px}.hero{padding-top:65px}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.2vw,75px);letter-spacing:-4.5px;line-height:1.04;font-weight:500;margin-bottom:29px}em{font-style:normal;color:var(--red)}.intro{max-width:500px;color:var(--muted);font-size:16px;line-height:1.7}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;gap:30px;background:var(--red);color:var(--bg);padding:17px 21px;font-size:12px;font-weight:700}.button:hover{background:var(--ink);color:var(--bg)}.text-link{font-size:12px;border-bottom:1px solid #696961;padding-bottom:9px;display:inline-flex;gap:26px}.vision{background:#181817;border:1px solid #45443e;transform:rotate(-3deg);box-shadow:12px 16px 0 #090909;min-width:0}.vision-top,.vision-bottom{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;font:9px 'Courier New',monospace;letter-spacing:1px}.vision-top{border-bottom:1px solid var(--line)}.vision-bottom{border-top:1px solid var(--line);gap:20px}.vision-bottom strong{font:700 16px Arial;letter-spacing:-.5px}.vision-bottom>span{color:var(--muted);font-size:8px;line-height:1.6}.orbit-art{height:310px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff03 3px 4px),radial-gradient(ellipse at center,#5c211c70,transparent 70%)}.orbit{position:absolute;border:1px solid #ff4c3d9c;width:78%;height:45%;border-radius:50%;top:27%;left:11%}.orbit-two{transform:rotate(60deg)}.orbit-three{transform:rotate(-60deg)}.core{position:absolute;inset:0;display:grid;place-content:center;font-size:118px;font-weight:700;letter-spacing:-12px;color:var(--red)}.core span{position:absolute;left:58%;top:37%}.coordinate{position:absolute;font:8px 'Courier New',monospace;letter-spacing:1.4px;background:#181817;padding:5px}.c1{top:22%;left:8%}.c2{right:6%;top:32%}.c3{top:75%;left:20%}.c4{right:7%;bottom:15%}.hero-bottom{display:flex;justify-content:space-between;padding:55px 0 25px;color:var(--muted)}.credibility{padding:27px 0 34px;border-block:1px solid var(--line)}.credibility .eyebrow{font-size:9px;color:var(--muted);margin-bottom:21px}.clients{display:flex;justify-content:space-between;align-items:center;gap:25px;color:#c5c4bc;font-size:19px;font-weight:600;letter-spacing:-.6px}.section{padding-top:105px;padding-bottom:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-heading .eyebrow{color:var(--muted);margin-bottom:20px}h2{font-weight:500;letter-spacing:-2.5px;font-size:clamp(36px,4vw,54px);line-height:1.1;margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:3px}.section-heading em{color:var(--muted)}.project{display:grid;grid-template-columns:1fr 1.05fr;border-top:1px solid var(--line);margin-top:30px;background:var(--panel)}.project-copy{padding:40px}.project-copy .eyebrow{color:var(--red);margin-bottom:35px}h3{font-weight:500;letter-spacing:-1.1px;font-size:32px;line-height:1.15;margin-bottom:20px}.project-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:380px}.tags{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:25px 0 30px}.tags li{font-size:9px;border:1px solid #4b4b43;padding:7px 10px;border-radius:20px;color:#cecdc4}details{border-top:1px solid var(--line)}summary{padding-top:18px;cursor:pointer;font-size:12px;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{color:var(--red);font-size:18px}details[open] summary span{transform:rotate(45deg)}.detail-content{color:var(--muted);font-size:13px;line-height:1.7;padding-top:20px}.project-art{position:relative;overflow:hidden;min-height:420px;display:grid;place-items:center}.sanofi-art{background:#242229;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:32px 32px}.art-label{position:absolute;top:20px;left:24px;font-size:8px;color:#bdb7ca;letter-spacing:.8px}.capability{width:78%;padding:25px;background:#e9e5ef;color:#34303c;transform:rotate(-5deg);box-shadow:20px 24px 0 #15131950;border-radius:5px;margin-top:20px}.mock-top{display:flex;justify-content:space-between;font-size:12px}.capability>p{font-size:22px;margin:23px 0 0;letter-spacing:-.8px}.map{height:180px;position:relative;background:linear-gradient(34deg,transparent 49.6%,#b0a7bb 50%,transparent 50.4%),linear-gradient(-34deg,transparent 49.6%,#b0a7bb 50%,transparent 50.4%),linear-gradient(90deg,transparent 49.6%,#b0a7bb 50%,transparent 50.4%)}.map div,.map i{position:absolute;border-radius:50%;background:#bdb3ca;width:18px;height:18px}.map div{left:calc(50% - 28px);top:calc(50% - 28px);width:56px;height:56px;background:#65517d;color:white;display:grid;place-items:center;font-size:15px}.map i:nth-child(1){left:6%;top:5%}.map i:nth-child(2){right:6%;top:5%}.map i:nth-child(3){left:47%;top:0}.map i:nth-child(4){left:6%;bottom:5%}.map i:nth-child(5){right:6%;bottom:5%}.map i:nth-child(6){left:47%;bottom:0}.mock-bottom{display:flex;justify-content:space-between;font-size:9px;border-top:1px solid #c9c2d2;padding-top:15px}.lotic-art{background:#182d2d}.wellbeing-ring{width:290px;height:290px;border-radius:50%;border:35px solid #629c9070;box-shadow:0 0 70px #87baa54f,inset 0 0 60px #87baa54f;position:absolute;right:-40px;top:120px}.wellbeing-copy{z-index:1;display:flex;flex-direction:column;gap:50px;width:80%}.wellbeing-copy>span:first-child{font-size:29px;font-weight:700}.wellbeing-copy strong{font-size:38px;line-height:1.15;letter-spacing:-1.8px;font-weight:400}.wellbeing-copy>span:last-child{font:8px 'Courier New',monospace;letter-spacing:1px}.creative{margin-top:75px}.creative-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.creative-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.8}.creative .eyebrow{color:var(--red)}figure{margin:20px 0}.archive-window{aspect-ratio:2.6;overflow:hidden;background:#222}.archive-window img{display:block;width:126%;height:auto;max-width:none;margin-left:-13%;margin-top:-8.4%}figcaption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:8px;margin-top:12px}.creative-list{display:flex;gap:30px;flex-wrap:wrap;font-size:13px;padding:15px 0 0}.labs{background:#191917;padding-block:75px;margin-top:100px}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.lab-art{height:190px;border-block:1px solid #4b4b43;margin-bottom:27px;display:flex;align-items:center;justify-content:center;position:relative}.lab-one{background:#b9bd9d;color:#26291e;font-family:Georgia,serif;font-size:140px;font-style:italic}.lab-one span{font:10px monospace;position:absolute;right:15px;bottom:15px}.lab-two{background:#252b32;font-size:80px;color:#b9c1d2;gap:30px}.lab-two span{font-weight:100;font-size:65px;color:#626f82}.lab-three{background:#422722;color:#ffa08e;gap:12px;font:13px 'Courier New',monospace}.lab-three b{font-size:50px;font-weight:400}.lab-grid .eyebrow{font-size:8px;color:var(--muted);margin-bottom:12px}.lab-grid h3{font-size:24px}.lab-grid p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.7;max-width:300px;min-height:44px}.status{font-size:8px;letter-spacing:.8px;color:#c6c5bb}.status:before{content:'◌';color:var(--red);margin-right:8px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:40px}.about .eyebrow{color:var(--muted)}.about em{color:var(--muted)}.about-monogram{font-size:185px;letter-spacing:-18px;font-weight:700;line-height:1.1;margin-top:30px}.about-monogram>span{color:var(--red)}.about-monogram small{display:block;letter-spacing:2px;font:9px 'Courier New',monospace;margin-top:20px}.about-copy{padding-top:45px}.about-copy h3{font-size:25px}.about-copy p{font-size:16px;line-height:1.8;color:var(--muted)}.progression{display:flex;flex-wrap:wrap;gap:15px 10px;list-style:none;padding:25px 0 0;border-top:1px solid var(--line);font-size:10px}.progression li:not(:last-child):after{content:'↗';margin-left:10px;color:var(--red)}.experience{padding-top:60px;padding-bottom:95px}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;align-items:center;gap:25px;border-top:1px solid var(--line);padding:26px 0}.period{font-size:9px;color:var(--muted);letter-spacing:.5px}.timeline h3{font-size:21px;margin:0;letter-spacing:-.6px}.timeline p{font-size:12px;color:var(--muted);margin:0}.resume{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:30px}.resume h3{font-size:18px;margin-bottom:8px;letter-spacing:-.3px}.resume p{font-size:12px;color:var(--muted);margin:0}.contact{background:var(--red);color:#161613;padding-top:70px}.contact h2{font-size:clamp(44px,6vw,80px);letter-spacing:-4px}.contact em{color:inherit}.contact-email{display:inline-flex;gap:55px;font-size:22px;border-bottom:1px solid #772920;padding-block:25px 10px;margin-bottom:24px}.contact a:hover{color:#fff}.contact p:not(.eyebrow){font-size:13px;line-height:1.7}footer{margin-top:65px;padding-block:25px;border-top:1px solid #9d3026;display:flex;justify-content:space-between;font-size:10px}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--ink);color:var(--bg);padding:15px}.skip:focus{top:15px}.menu-toggle{background:none;color:var(--ink);border:1px solid var(--line);padding:10px 14px}.menu-toggle[hidden]{display:none}
@media(min-width:1000px){.vision:hover .orbit-one{transform:rotate(12deg)}.orbit{transition:transform .8s ease}.vision{transition:transform .4s}.vision:hover{transform:rotate(0)}}
@media(max-width:1000px){.wrap{width:calc(100% - 60px)}nav{gap:18px}.nav-contact{margin-left:0}h1{letter-spacing:-3px}.hero-grid{grid-template-columns:1.25fr 1fr;gap:25px}.orbit-art{height:260px}.vision-bottom{padding:15px}.vision-bottom strong{font-size:12px}.vision-bottom>span{font-size:7px}.clients{flex-wrap:wrap;justify-content:flex-start;gap:25px 35px}.clients span{font-size:17px}.actions{gap:20px;flex-wrap:wrap}.project-copy{padding:30px}.wellbeing-copy strong{font-size:32px}.lab-three{font-size:10px}.about{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:auto;min-height:85px;flex-wrap:wrap;padding-block:18px;gap:20px}.brand{font-size:10px}.mark{font-size:42px}nav{width:100%;flex-wrap:wrap;gap:18px;font-size:12px;padding-bottom:10px}body.js .menu-toggle{display:block}body.js nav{display:none}body.js nav.open{display:flex}.nav-contact{border:0;padding:0}.nav-contact span{margin-left:8px}.hero{padding-top:40px}.hero-grid{grid-template-columns:1fr;gap:45px}h1{font-size:clamp(42px,8.9vw,65px);letter-spacing:-2.6px}.intro{font-size:15px;max-width:490px}.vision{width:90%;max-width:440px;justify-self:center}.orbit-art{height:270px}.vision-bottom strong{font-size:16px}.vision-bottom>span{font-size:8px}.hero-bottom{font-size:8px;padding-top:40px;gap:20px}.clients{gap:20px 25px}.clients span{font-size:16px}.section{padding-top:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.section-heading>.text-link{margin-top:25px}h2{letter-spacing:-1.7px}.project{grid-template-columns:1fr}.project-copy{padding:28px}.project-copy .eyebrow{margin-bottom:25px}.project-art{min-height:350px}.capability{max-width:360px}.creative{margin-top:50px}.creative-heading{display:block}.creative-heading>p{max-width:480px}.archive-window{aspect-ratio:1.45}figcaption{flex-direction:column;gap:4px}.creative-list{gap:18px;font-size:12px}.labs{margin-top:65px;padding-bottom:55px}.lab-grid{grid-template-columns:1fr;gap:40px}.lab-art{height:210px}.lab-grid p:not(.eyebrow){min-height:0;max-width:100%}.lab-three{font-size:16px}.about{grid-template-columns:1fr;gap:0}.about-monogram{display:none}.about-copy{padding-top:30px}.timeline li{grid-template-columns:1fr;gap:10px;padding-block:22px}.timeline h3{font-size:22px}.timeline p{font-size:13px}.resume{align-items:start}.resume .text-link{white-space:nowrap}.contact{padding-top:50px}.contact h2{letter-spacing:-2.5px}.contact-email{font-size:clamp(16px,4.5vw,22px);gap:20px}footer{flex-wrap:wrap;gap:20px;margin-top:45px}.experience{padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:761px){.menu-toggle{display:none}}

/* V2: readable type, controllable motion, and restrained interaction. */
:root{--muted:#c4c3ba;--line:#55554d}
body{font-size:16px;line-height:1.5}
nav{font-size:14px;gap:22px}nav a{padding-block:12px}
.eyebrow,.hero-bottom,.art-label,.period,figcaption,.status,
.credibility .eyebrow,.lab-grid .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.8px}
.intro,.about-copy p{font-size:18px;line-height:1.75}
.section-heading>p,.project-copy>p:not(.eyebrow),.creative-heading>p,
.lab-grid p:not(.eyebrow),.timeline p,.detail-content,.resume p,
.contact p:not(.eyebrow){font-size:16px;line-height:1.75}
.button,.text-link,summary,.creative-list{font-size:15px}
.button{min-height:48px;align-items:center}
.text-link{min-height:44px;align-items:center}
summary{min-height:52px;align-items:center;padding-block:14px}
.tags li{font-size:12px;color:var(--ink);border-color:#77776d}
.progression{font-size:14px;line-height:1.8}
.timeline h3{line-height:1.4}
footer{font-size:14px;align-items:center}
footer a{min-height:44px;display:inline-flex;align-items:center}
.vision-top{font-size:11px}.vision-bottom>span{font-size:11px;letter-spacing:0}
.coordinate{font-size:11px;letter-spacing:.5px}.vision-bottom{flex-wrap:wrap}
.art-label{position:relative;top:auto;left:auto;align-self:start;padding:20px 24px 0;width:100%;font-size:12px;color:#ddd8e6}
.project-art{display:flex;flex-direction:column;justify-content:space-between;gap:25px;padding-bottom:35px}
.capability{margin-bottom:0}.mock-top{font-size:15px}.mock-bottom{font-size:12px}
.wellbeing-copy{flex:1;justify-content:center;gap:35px;min-height:290px}
.wellbeing-copy>span:last-child{font-size:12px;line-height:1.7}
.about-monogram small,.lab-one span{font-size:12px}
.status{color:#deddd4}.contact .eyebrow{color:#161613}
.ticker-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.credibility .eyebrow{margin:0}
.ticker-toggle{flex-shrink:0;min-height:44px;border:1px solid #88887d;border-radius:24px;background:transparent;color:var(--ink);padding:9px 18px;font-size:14px;cursor:pointer}
.ticker-toggle:hover{background:var(--ink);color:var(--bg)}
.ticker-toggle[hidden]{display:none}
.ticker{overflow:hidden}.ticker-track{display:flex;width:100%}
.clients{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:20px 35px;color:var(--ink);font-size:20px;line-height:1.5;letter-spacing:-.4px}
.ticker.is-running .ticker-track{width:max-content;animation:client-scroll 110s linear infinite}
.ticker.is-running .clients{flex-wrap:nowrap;flex-shrink:0;gap:48px;padding-right:48px}
.ticker.is-running .clients li{white-space:nowrap}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes client-scroll{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .vision{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-3deg);transition:transform .25s ease-out}
 .vision:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-1deg)}
 .capability,.wellbeing-ring,.lab-two,.lab-three b{transition:transform .6s ease}
 .project:hover .capability,.project:focus-within .capability{transform:rotate(-2deg) translateY(-5px)}
 .project:hover .wellbeing-ring,.project:focus-within .wellbeing-ring{transform:scale(1.04)}
 .lab-grid article:hover .lab-two{transform:translateY(-4px)}
 .lab-grid article:hover .lab-three b{transform:translate(5px,-5px)}
 .text-link span,.button span{transition:transform .2s ease}
 .text-link:hover span,.button:hover span{transform:translate(3px,-2px)}
}
@media(max-width:1000px){.header{height:auto;min-height:112px;gap:20px}.nav-contact{padding-inline:14px}nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}.hero-grid{grid-template-columns:1.25fr 1fr}.actions{gap:16px}.vision-bottom strong{font-size:16px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.ticker-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.clients{font-size:18px;gap:16px 25px}.section-heading>p br{display:none}.hero-bottom{flex-wrap:wrap}.resume{flex-wrap:wrap}.project-copy{padding:25px}.vision-bottom>span{font-size:11px}nav{justify-content:flex-start}.header{min-height:85px}.lab-grid p:not(.eyebrow){min-height:0}}
@media(prefers-reduced-motion:reduce){.ticker.is-running .ticker-track{animation:none;transform:none;width:100%}.ticker.is-running .clients{flex-wrap:wrap;padding:0;gap:20px 30px}.ticker .clients[aria-hidden="true"]{display:none}.vision,.vision:hover{transform:none}}
