*{box-sizing:border-box}html{scroll-behavior:smooth}body{--bg:#101111;--text:#f3f2ed;--muted:#959a96;--line:#30332f;--accent:#f47d23;background:var(--bg);color:var(--text);font:16px/1.5 'Segoe UI',Arial,sans-serif;margin:0}.light{--bg:#f6f5f1;--text:#202022;--muted:#686b68;--line:#dadbd4;--accent:#bc5100}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:absolute;top:-80px;background:var(--accent);padding:12px;z-index:5}.skip:focus{top:0}header{height:110px;display:flex;align-items:center;justify-content:space-between;margin:0 7%;border-bottom:1px solid var(--line)}header img{display:block;width:205px;height:auto}nav{display:flex;gap:42px;font-size:13px}nav span{color:var(--accent);margin-left:16px}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:610px;align-items:center;margin:0 7%;position:relative}.copy{position:relative;z-index:1;padding:60px 0}.kicker{font:10px/1.6 Consolas,monospace;letter-spacing:1.9px;color:var(--muted);margin:0 0 25px}h1{font-size:clamp(52px,5.7vw,90px);line-height:1.06;font-weight:600;letter-spacing:-4px;margin:0 0 28px}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:16px;color:var(--muted);margin-bottom:35px}.button{display:inline-flex;gap:38px;align-items:center;padding:15px 20px;background:#f47d23;color:#171815;font-size:13px;font-weight:600;transition:background .2s}.button:hover{background:#ff9a4c}.visual{height:550px;position:relative;min-width:0}canvas{width:100%;height:100%;display:block}.core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:31%;height:auto;pointer-events:none;filter:drop-shadow(0 0 25px #f47d2320)}.motion{position:absolute;bottom:15px;right:0;border:1px solid var(--line);background:var(--bg);color:var(--muted);width:32px;height:32px;cursor:pointer;font-size:13px}.expertise{border-top:1px solid var(--line);padding:32px 7% 45px}.expertise>.kicker{margin-bottom:28px}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.skills article+article{border-left:1px solid var(--line);padding-left:35px}.skills article>span{color:var(--accent);font:10px Consolas,monospace}h2{font-size:23px;font-weight:500;letter-spacing:-.5px;margin:10px 0}.skills p,.contact p{font-size:13px;color:var(--muted);margin:0}.contact{margin:0 7%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 0}.contact .kicker{margin-bottom:15px}.contact h2{font-size:30px;margin:0 0 5px}.contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.contact-links a:first-child{font-size:19px}.contact-links a:last-child{font-size:13px;color:var(--muted)}.contact-links span{color:var(--accent);margin-left:24px}a:hover{color:var(--accent)}.button:hover{color:#171815}footer{margin:0 7%;padding:23px 0;border-top:0;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:25px}footer>div{display:flex;gap:22px}.variant-link{color:var(--accent)}.light .hero{min-height:640px}.light h1{font-weight:450}.light .visual{height:560px}.light .button{background:var(--text);color:#fff}.light .button:hover{background:#bc5100}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:740px}.visual{height:670px}}@media(max-width:1000px){h1{font-size:60px;letter-spacing:-3px}.hero,.light .hero{min-height:540px}.visual,.light .visual{height:450px}.intro{font-size:14px}.skills{gap:20px}.skills article+article{padding-left:20px}.skills p{font-size:12px}}@media(max-width:700px){header{height:90px;margin:0 6%}header img{width:155px}nav{gap:20px;font-size:12px}nav span{margin-left:4px}.hero,.light .hero{grid-template-columns:1fr;margin:0 6%;min-height:0}.copy{padding:50px 0 0}h1{font-size:clamp(48px,10vw,68px);letter-spacing:-2.5px}.kicker{font-size:9px;letter-spacing:1.3px}.intro{font-size:13px;margin-bottom:26px}.visual,.light .visual{height:320px;margin-top:5px}.motion{bottom:5px}.expertise{padding:28px 6% 35px}.skills{grid-template-columns:1fr;gap:24px}.skills article+article{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.skills h2{font-size:23px}.skills p{font-size:13px}.contact{margin:0 6%;align-items:flex-start;flex-direction:column;padding:35px 0;gap:25px}.contact-links{align-items:flex-start}.contact-links a:first-child{font-size:17px}footer{margin:0 6%;flex-wrap:wrap;gap:16px}footer>div{gap:18px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.visual{background:radial-gradient(ellipse at 50% 48%,rgba(244,125,35,.035),transparent 62%)}.cloud-controls{position:absolute;bottom:15px;left:0;display:flex;align-items:center;gap:17px}.discover{font:10px Consolas,monospace;letter-spacing:.4px;color:var(--muted);background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;cursor:pointer}.discover:hover{color:var(--accent)}.discover span{color:var(--accent);margin-left:9px}.cloud-hint{font:9px Consolas,monospace;color:var(--muted);opacity:.65}.cloud-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.cloud-controls{bottom:5px}.cloud-hint{display:none}.visual,.light .visual{height:350px}}

/* Cloud-first layout */
header{height:84px;margin:0 6%;border-bottom:0;position:relative;z-index:2}header img{width:175px}header nav{gap:26px;font-size:11px}header nav a:first-child{color:var(--muted)}.hero,.light .hero{display:block;margin:0;min-height:660px;height:calc(100svh - 84px);max-height:1050px;overflow:hidden}.visual,.light .visual{position:absolute;inset:0;width:100%;height:100%;margin:0;background:radial-gradient(ellipse at 50% 42%,rgba(244,125,35,.045),transparent 60%)}.copy{position:absolute;left:6%;bottom:44px;padding:0;max-width:370px;pointer-events:none}.copy a{pointer-events:auto}.copy .kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:12px}.copy h1,.light .copy h1{font-size:28px;font-weight:400;line-height:1.2;letter-spacing:-.7px;margin-bottom:10px}.copy h1 span{color:var(--accent)}.copy .intro{font-size:11px;margin:0 0 17px}.copy .button,.light .copy .button{padding:0 0 6px;min-height:0;background:none;color:var(--text);border-bottom:1px solid var(--line);font-size:11px;gap:25px;font-weight:400}.copy .button span{color:var(--accent)}.cloud-controls{left:auto;right:calc(6% + 50px);bottom:44px;flex-direction:column;align-items:flex-end;gap:7px}.cloud-hint{font-size:8px;letter-spacing:.3px}.discover{font-size:10px}.motion{right:6%;bottom:44px;border:0;background:transparent}.expertise{padding-top:65px;padding-bottom:65px}.light{--bg:#f3f2ee}.skills h2{font-size:20px}.skills article>span{color:var(--muted)}@media(min-width:1600px){body{max-width:none}.hero,.light .hero{min-height:700px}.visual{height:100%}}@media(max-width:700px){header{height:72px;margin:0 6%}header img{width:145px}header nav{gap:18px;font-size:10px}.hero,.light .hero{height:calc(100svh - 72px);min-height:640px;max-height:900px}.copy{bottom:31px;left:6%;max-width:290px}.copy h1,.light .copy h1{font-size:25px}.visual,.light .visual{height:100%;margin-top:0}.cloud-controls{left:6%;right:auto;bottom:190px;align-items:flex-start}.cloud-hint{display:block}.motion{right:6%;bottom:190px}.expertise{padding-top:40px;padding-bottom:40px}}

/* Large logo in the center of the interactive dust cloud. */
.cloud-logo{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:clamp(240px,40vw,620px);max-width:72%;height:auto;z-index:1;pointer-events:none;filter:drop-shadow(0 0 7px rgba(244,151,78,.17)) drop-shadow(0 0 22px rgba(244,125,35,.11))}
@media(max-width:700px){.cloud-logo{top:39%;width:72%;max-width:400px}}

.light .cloud-logo{filter:drop-shadow(0 0 6px rgba(188,81,0,.12)) drop-shadow(0 0 18px rgba(244,125,35,.08))}

/* Single dark landing page with only a contact link above the cloud. */
.top-contact{position:absolute;top:32px;right:6%;z-index:3;font-size:11px;gap:0}.top-contact span{color:var(--accent);margin-left:4px}.hero{height:100svh}
@media(max-width:700px){.top-contact{top:27px;font-size:10px}.hero{height:100svh}}

/* The logo recedes when the pointer approaches its original footprint. */
.visual canvas{position:relative;z-index:2}
.cloud-logo{z-index:3;transform:translate(-50%,-50%) scale(var(--logo-scale,1));opacity:var(--logo-front-opacity,1)}
.cloud-logo-back{z-index:1;opacity:var(--logo-back-opacity,0)}
@media(prefers-reduced-motion:reduce){.cloud-logo{transition:none}}

.copy{max-width:420px}.copy .kicker{color:#7e8780;letter-spacing:1.6px;margin-bottom:16px}.copy h1{font-size:38px;font-weight:500;line-height:1.15;letter-spacing:-1px;margin-bottom:14px;color:#eeeee8}.copy .consulting-tagline{display:flex;align-items:center;gap:12px;font-size:17px;line-height:1.5;font-weight:400;letter-spacing:.3px;color:#adb3ad;margin-bottom:0}.copy .consulting-tagline::before{content:'';width:22px;height:2px;flex-shrink:0;background:var(--accent);opacity:.8}
@media(max-width:700px){.copy{max-width:310px}.copy h1{font-size:32px;margin-bottom:12px}.copy .consulting-tagline{font-size:16px;gap:10px}.copy .consulting-tagline::before{width:18px}}

/* Keep the landing page and its footer within the visible viewport. */
body.landing{height:100svh;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.landing main{min-height:0;min-width:0}.landing .hero{height:100%;min-height:0;max-height:none}.landing footer{padding:14px 0 16px;align-items:center}.landing .copy{bottom:24px}
@media(max-width:700px){.landing footer{padding:10px 0 14px;gap:10px}.landing .copy{bottom:20px}}
@media(max-height:450px){.landing .copy{bottom:12px}.landing .copy .kicker{margin-bottom:8px}.landing .copy h1{font-size:28px;margin-bottom:8px}.landing .copy .consulting-tagline{font-size:15px}.landing footer{padding:8px 0 10px}}

.landing footer{justify-content:flex-end}.landing footer>div{order:0;margin-left:auto}.landing footer>span{order:1;margin-left:0;text-align:right}

.landing canvas{touch-action:none}

/* One continuous particle and lighting surface, including the footer. */
.landing .hero{overflow:visible}.landing .visual{position:fixed;inset:0;width:100%;height:100%;margin:0}.landing footer{position:relative;z-index:4;background:transparent;pointer-events:none}.landing footer a{pointer-events:auto}
