:root{--bg:#080a11;--ink:#f5f4f9;--muted:#a4a8ba;--violet:#a18bff;--button:#7955db;--border:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #c7bcff;outline-offset:5px}.skip{position:absolute;top:-100px;left:15px;background:white;color:black;padding:12px;z-index:20}.skip:focus{top:15px}header{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;gap:35px;padding:24px 5%;border-bottom:1px solid #ffffff16}.brand{display:flex;align-items:center;gap:11px;font-size:18px;line-height:1.15;font-weight:800;letter-spacing:.6px}.brand small{display:block;font-size:10px;letter-spacing:2.1px;margin-top:4px}.logo-crop{display:block;position:relative;overflow:hidden;width:39px;height:39px;background:white;border-radius:4px}.logo-crop img{position:absolute;width:64px;height:64px;max-width:none;left:-12px;top:-8px}.wordmark{font-size:32px;letter-spacing:-5px;color:var(--violet);padding-right:8px}nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:13px}nav a{color:#bfc2cf}.nav-contact{color:white;border-bottom:1px solid var(--violet);padding:5px 0}.languages{display:flex;gap:10px;align-items:center;font-size:12px}.languages button{background:none;border:0;padding:4px 0;color:var(--muted);cursor:pointer;font-size:12px}.languages button[aria-pressed=true]{color:var(--violet);border-bottom:1px solid var(--violet)}.languages>span{color:#535b73}.journey{height:245svh;position:relative}.stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:var(--bg)}#earth{width:100%;height:100%;display:block;position:absolute;inset:0;touch-action:pan-y;cursor:grab}#earth.dragging{cursor:grabbing}.earth-fallback{position:absolute;inset:15% 0 0;pointer-events:none;opacity:.55}.earth-fallback img{height:100%;width:100%;object-fit:cover}.hero-content{position:absolute;left:6%;top:29%;width:53%;pointer-events:none;will-change:opacity,transform}.eyebrow{font-size:10px;letter-spacing:1.8px;display:block;font-weight:600;color:var(--violet)}h1{font-size:clamp(44px,5.4vw,84px);font-weight:500;line-height:1.06;letter-spacing:-3.5px;margin:28px 0 24px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--violet)}.hero-content p{max-width:430px;font-size:17px;color:#c1c5d4;margin:0 0 31px}.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--button);color:white;border:0;padding:15px 24px;border-radius:5px;font-weight:600;font-size:14px;cursor:pointer;pointer-events:auto}.cta:hover{background:#8e6bea}.world-caption{position:absolute;top:23%;left:64%;right:6%;text-align:center;pointer-events:none}.world-caption p{font-size:13px;line-height:1.6;margin:12px 0 0;color:#d0cbe8}.world-caption small{display:block;margin-top:8px;font-size:10px;color:#939bb6}.world-line{height:34px;width:1px;background:var(--violet);display:block;margin:auto}.zoom-title{position:absolute;left:0;right:0;top:36%;text-align:center;opacity:0;pointer-events:none}.zoom-title h2{font-size:clamp(50px,7vw,110px);font-weight:400;letter-spacing:-4px;line-height:1.04;margin:26px 0}.scene-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:25px}.demo-label{font-size:9px;color:#a3a8bd;letter-spacing:1.5px}.scroll-link{font-size:11px;display:flex;align-items:center;gap:20px;color:#c6c9d6}.scroll-line{width:1px;height:28px;background:#a7a0ce}.scene-bottom button{background:transparent;color:#c6c9d6;font-size:11px;cursor:pointer;border:1px solid #ffffff30;padding:9px 13px;border-radius:3px}.progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff0c}.progress span{display:block;height:100%;width:0;background:var(--violet)}.section{padding:100px 6%;max-width:1600px;margin:auto}.work{position:relative;background:var(--bg)}.section-head>div{display:flex;justify-content:space-between;gap:50px;align-items:end}h2{font-size:clamp(35px,3.8vw,57px);letter-spacing:-2px;line-height:1.14;font-weight:400;margin:25px 0 0}.section-head p{max-width:380px;color:var(--muted);margin:0;font-size:15px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:47px}.project-image{position:relative;display:block;height:330px;overflow:hidden;border-radius:6px;background:#121714}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-image:hover>img{transform:scale(1.035)}.project-image.abstract{background:#141712}.project-image.abstract>img{object-fit:contain;width:70%;margin-left:25%}.forme-type{position:absolute;left:25px;bottom:25px;font-size:36px;font-weight:600;letter-spacing:-2px}.preview-label{position:absolute;right:18px;top:18px;background:#080a11de;padding:8px 13px;font-size:11px;border:1px solid #ffffff44;border-radius:3px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:21px}.project-meta h3{font-size:24px;font-weight:500;margin:0;letter-spacing:-.7px}.project-meta>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.projects article>p{font-size:14px;color:var(--muted);max-width:510px;margin:12px 0 18px}.project-link{font-size:13px;color:#c1b3ff;border-bottom:1px solid #7c69ae;padding-bottom:5px}.access-note{font-size:11px;color:#9299af;margin:35px 0 0}.approach{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.principles article{border-top:1px solid var(--border);padding-top:20px}.principles article>span{color:var(--violet);font-size:11px}.principles h3{font-size:19px;line-height:1.4;font-weight:500;margin:20px 0 10px}.principles p{font-size:14px;color:var(--muted);margin:0}.project-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.project-section>div>p{color:var(--muted);max-width:400px;font-size:15px;margin-top:25px}#brief{background:#10131e;border:1px solid var(--border);padding:30px;border-radius:6px}label{display:block;font-size:13px;color:#c8ccda;margin:0 0 8px}select{width:100%;color:white;background:#171c2b;border:1px solid #41485e;padding:13px 12px;border-radius:4px;font-size:14px;margin-bottom:22px}form>.cta{width:100%}.form-note{font-size:11px;color:#9ca4b9;margin:18px 0 0;line-height:1.6}#brief-result{font-size:14px;background:#1a2133;padding:17px;margin-top:20px;border-left:2px solid var(--violet)}footer{padding:35px 6%;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}body.motion-off .journey{height:100svh}body.motion-off .hero-content,body.motion-off .world-caption{opacity:1!important;transform:none!important}body.motion-off .zoom-title{display:none}@media(max-width:1000px){header{gap:25px}nav{gap:20px}h1{font-size:59px;letter-spacing:-2.5px}.hero-content{width:55%;top:30%}.world-caption{left:66%;right:4%}.world-caption p{font-size:11px}.section{padding:75px 6%}.project-section{gap:45px}.project-image{height:270px}.project-meta{display:block}.project-meta>span{display:block;margin-top:7px}.section-head p{max-width:290px}}@media(max-width:650px){header{padding:19px 6%;gap:15px}.brand{font-size:14px;gap:8px}.brand small{font-size:8px;letter-spacing:1.6px}.logo-crop{width:30px;height:30px}.logo-crop img{width:51px;height:51px;left:-10px;top:-7px}nav{display:none}.languages{margin-left:auto;gap:9px}.languages button{font-size:11px}.stage{min-height:680px}.journey{height:220svh}.hero-content{left:6%;right:6%;width:auto;top:16%}.hero-content .eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:clamp(38px,10.8vw,59px);line-height:1.05;letter-spacing:-2px;margin:20px 0 17px}.hero-content p{font-size:14px;max-width:310px;margin-bottom:21px}.cta{font-size:12px;padding:13px 18px}.world-caption{top:56%;left:6%;right:6%}.world-line{display:none}.world-caption p{font-size:11px;margin:0}.world-caption small{font-size:9px;margin-top:3px}.zoom-title{top:36%;left:6%;right:6%}.zoom-title .eyebrow{font-size:8px;letter-spacing:1px}.zoom-title h2{font-size:49px;letter-spacing:-2px}.scene-bottom{bottom:19px;left:6%;right:6%;gap:15px}.demo-label{display:none}.scroll-link{font-size:9px;gap:10px;max-width:180px;line-height:1.4}.scene-bottom button{font-size:9px;padding:8px 10px}.scroll-line{height:24px;flex:0 0 1px}.section{padding:55px 6%}.section-head>div{display:block}h2{font-size:35px;letter-spacing:-1.4px;margin-top:19px}.eyebrow{font-size:8px;letter-spacing:1.3px}.section-head p{margin-top:21px;max-width:none;font-size:14px}.projects{grid-template-columns:1fr;gap:34px;margin-top:30px}.project-image{height:260px}.project-meta{display:flex}.project-meta h3{font-size:23px}.project-meta>span{font-size:8px;letter-spacing:1px;margin:0}.projects article>p{font-size:14px}.principles{grid-template-columns:1fr;gap:26px;margin-top:30px}.principles h3{font-size:20px;margin-top:13px}.principles p{font-size:15px}.project-section{display:block}.project-section>div>p{font-size:14px}#brief{margin-top:30px;padding:23px}footer{flex-wrap:wrap;gap:13px;padding:28px 6%}footer p{margin:0}footer>a:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.journey{height:100svh}.zoom-title{display:none}}

/* Center the complete TB symbol without the source wordmark. */
.logo-crop{width:42px;height:42px;border-radius:5px}.logo-crop img{width:63px;height:63px;left:50%;top:50%;transform:translate(-50%,-50%) translate(-.1px,6.5px)}
@media(max-width:650px){.logo-crop{width:34px;height:34px}.logo-crop img{width:51px;height:51px;left:50%;top:50%;transform:translate(-50%,-50%) translate(-.1px,5.2px)}}
.projects article:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 20px)}
@media(max-width:650px){.projects article:last-child:nth-child(odd){max-width:none}}
/* Keep the headline, primary action and globe caption in separate layers. */
.hero-content{z-index:3}.hero-content>.cta{position:relative;z-index:1;isolation:isolate;line-height:1.35;letter-spacing:normal;white-space:normal;text-align:center;min-height:48px;max-width:100%;font-size:15px}.world-caption{z-index:2}.zoom-title{z-index:1}.hero-content>p{line-height:1.6}.scene-bottom{z-index:4}
@media(max-width:650px){.hero-content{top:115px}.world-caption{top:auto;bottom:100px}.hero-content>.cta{font-size:14px;padding:14px 20px}.world-caption p{font-size:13px}.world-caption small{font-size:12px}.stage{min-height:740px}.hero-content p{font-size:16px;max-width:340px;margin-bottom:24px}.hero-content h1{margin-top:18px;margin-bottom:20px}}
@media(max-width:650px) and (max-height:700px){.stage{min-height:780px}}

/* Touch navigation stays native; the globe never pins the mobile page. */
@media(max-width:650px){.journey{height:auto!important}.stage{position:relative;top:auto}#earth{pointer-events:none}.zoom-title{display:none}.hero-content,.world-caption{opacity:1!important;transform:none!important}}
