
:root{--bg:#000000;--white:#ffffff;--muted:#999999;--line:#e0e0e038}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;isolation:isolate}a{color:inherit;text-decoration:none}::selection{background:#626262;color:white}a:focus-visible{outline:1px solid #eeeeee;outline-offset:7px}#scene{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#000000}#scene canvas{width:100%;height:100%;display:block}.atmosphere{position:fixed;inset:0;z-index:7;pointer-events:none;box-shadow:inset 0 0 120px #11111150}.atmosphere:after{content:'';position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
header{position:fixed;top:34px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;z-index:20}.brand{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-1px;font-size:25px;display:flex;align-items:baseline;gap:9px}.brand span{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:12px;letter-spacing:.07em}nav{display:flex;align-items:center;gap:32px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:12px}nav>span{height:1px;width:25px;background:#a9a9a955}nav a{padding:12px 0;transition:color .3s}nav a:hover{color:#ffffff;text-shadow:none;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.journey-label{position:fixed;left:4%;bottom:35px;display:flex;align-items:center;gap:13px;z-index:20;font-size:12px;color:#9a9a9a;pointer-events:none}.journey-line{width:44px;height:1px;background:#80808077}.eyebrow{font-size:12px;line-height:1.65;letter-spacing:.06em;font-weight:400;margin:0;color:#ababab}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;font-size:clamp(47px,5.5vw,92px);line-height:1.08;letter-spacing:-.07em}h3{font-weight:400}section{position:relative}.intro{height:145svh;min-height:1000px}.intro-copy{position:absolute;left:12%;top:38svh;max-width:62%;text-shadow:0 2px 30px #000000bb}.intro-copy .eyebrow{margin-bottom:26px}.intro-sub{font-size:14px;line-height:1.7;color:#a6a6a6;margin-top:30px}.explore{position:absolute;bottom:17svh;left:12%;font-size:12px;display:flex;gap:65px;align-items:center}.explore span{font-size:20px}.work-intro{height:65svh;min-height:470px}.section-copy{position:absolute;left:12%;top:15%;text-shadow:0 2px 30px #000000bb}.section-copy .eyebrow{margin-bottom:25px}.section-copy>p:last-child{margin-top:25px;font-size:14px;color:#a8a8a8;line-height:1.7}.panel-stage{height:115svh;min-height:820px}.screen-link{position:absolute;display:block;left:50%;top:50%;width:min(820px,70vw);transform:translate(-50%,-50%);z-index:4}.screen-link>img{width:100%;height:auto;display:block;border-radius:14px;filter:brightness(.8)}.screen-title{padding-top:17px;display:grid;grid-template-columns:1fr auto;gap:10px;font-family:Arial,Helvetica,sans-serif}.screen-title>span{font-size:12px;color:#ababab}.screen-title h3{font-family:Arial,Helvetica,sans-serif;font-size:34px;grid-row:2;letter-spacing:-1px}.screen-title>span:last-child{grid-row:2;align-self:end}.webgl-ready .screen-link{position:fixed;transform:none;opacity:1;background:none;border:0;border-radius:14px;visibility:hidden;cursor:pointer}.webgl-ready .screen-link>*{opacity:0;pointer-events:none}.webgl-ready .screen-link:focus-visible{outline:1px solid #ebebeb;box-shadow:0 0 30px #a8a8a822}.also{min-height:28svh;padding:3svh 12% 6svh;display:flex;align-items:flex-start;gap:70px}.also>div{display:flex;gap:35px;flex-wrap:wrap;font-size:14px}.also a{color:#bcbcbc}.also a:hover{color:white}.archive-intro{height:75svh;min-height:550px}.archive-intro h2{font-size:clamp(42px,4.8vw,78px)}
.about{height:165svh;min-height:1300px;padding:13svh 12%}.about-heading>.eyebrow{margin-bottom:25px}.about-heading h2{font-size:clamp(50px,5.4vw,90px)}.about-copy{max-width:460px;margin:16svh 0 0 auto}.about-copy>p{font-family:Arial,Helvetica,sans-serif;font-size:25px;line-height:1.55;letter-spacing:-.45px}.about-copy>p+p{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.85;color:#9f9f9f;margin-top:27px;letter-spacing:0}.text-link{display:inline-block;font-size:12px;padding:15px 0;border-bottom:1px solid #9b9b9b66;margin-top:23px}.expertise{height:160svh;min-height:1250px;padding:8svh 12%}.expertise-heading>.eyebrow{margin-bottom:22px}.expertise-heading h2{font-size:clamp(38px,4.2vw,64px)}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:22svh 40%;margin-top:16svh}.capability:nth-child(even){text-align:right}.capability>span{font-size:12px;color:#929292}.capability h3{font-family:Arial,Helvetica,sans-serif;font-size:32px;line-height:1.14;letter-spacing:-.7px;margin:17px 0}.capability p{font-size:12px;line-height:1.75;color:#a7a7a7}.contact{height:170svh;min-height:1300px}.contact-copy{position:absolute;top:98svh;left:0;width:100%;text-align:center}.contact-copy .eyebrow{margin-bottom:26px}.contact-copy h2{font-size:clamp(48px,6vw,96px);text-shadow:0 0 20px #000000bb}.contact-button{display:flex;gap:55px;justify-content:space-between;align-items:center;width:fit-content;margin:40px auto 0;padding:17px 27px;font-size:12px;border:1px solid #dbdbdb66;border-radius:40px;background:#0a0a0aaa;transition:background .2s,box-shadow .2s}.contact-button:hover{background:#30303088;box-shadow:0 0 30px #b7b7b722}.contact-button span{font-size:20px}.contact-channel{display:block;margin-top:17px;font-size:12px;color:#8e8e8e}footer{display:flex;justify-content:space-between;align-items:center;padding:50px 4% 35px;font-size:12px;color:#a0a0a0;min-height:160px}.scene-unavailable #scene{background:radial-gradient(ellipse at center,#262626,#000000 70%)}.scene-unavailable .panel-stage{height:auto;min-height:700px}
@media(max-width:900px){.intro-copy{left:8%;max-width:85%}.section-copy{left:8%}.about,.expertise{padding-left:8%;padding-right:8%}.about-copy{max-width:45%}.about-copy>p{font-size:21px}.capabilities{gap:23svh 30%}.capability h3{font-size:28px}nav{gap:26px;padding:0}.brand span{display:none}.also{padding-left:8%;padding-right:8%;gap:30px}.screen-title h3{font-size:28px}}
@media(max-width:600px){header{top:22px;left:6%;right:6%}.brand{font-size:23px}nav{gap:18px;padding:0;font-size:12px}nav>span{display:none}.journey-label{font-size:12px;left:6%;bottom:24px;gap:9px}.journey-line{width:25px}.intro{height:140svh;min-height:1000px}.intro-copy{left:7%;top:47svh;max-width:90%}.eyebrow{font-size:12px}h1{font-size:clamp(37px,8.5vw,51px);letter-spacing:-.07em}.intro-copy .eyebrow{margin-bottom:20px}.intro-sub{font-size:13px;margin-top:22px}.explore{left:7%;bottom:18svh;font-size:12px;gap:30px}.work-intro{height:60svh;min-height:450px}.section-copy{left:7%;top:16%}.section-copy h2{font-size:43px}.section-copy>p:last-child{font-size:12px;line-height:1.7}.panel-stage{height:100svh;min-height:760px}.screen-link{width:92vw}.screen-title{gap:8px}.screen-title h3{font-size:24px}.screen-title span{font-size:12px}.also{padding:0 7% 50px;display:block;min-height:260px}.also>div{font-size:13px;gap:25px;margin-top:26px}.archive-intro{height:70svh;min-height:540px}.archive-intro .eyebrow{max-width:220px}.archive-intro h2{font-size:39px}.about{height:170svh;min-height:1320px;padding:9svh 7%}.about-heading h2{font-size:43px}.about-copy{max-width:100%;margin-top:49svh;background:linear-gradient(90deg,#000000db,#00000000);padding:15px 0}.about-copy>p{font-size:22px}.about-copy>p+p{font-size:13px;line-height:1.7}.text-link{font-size:12px}.expertise{height:155svh;min-height:1240px;padding:8svh 7%}.expertise-heading h2{font-size:32px}.capabilities{gap:35svh 14%;margin-top:12svh}.capability h3{font-size:24px;margin:13px 0}.capability>span{font-size:12px}.capability p{font-size:12px;line-height:1.65}.contact{height:155svh;min-height:1150px}.contact-copy{top:96svh;padding:0 5%}.contact-copy h2{font-size:39px}.contact-copy .eyebrow{font-size:12px}.contact-button{margin-top:30px;font-size:12px;padding:14px 22px;gap:25px}.contact-channel{font-size:12px}footer{font-size:12px;padding:45px 6% 80px;gap:15px;flex-wrap:wrap}.scene-unavailable .panel-stage{min-height:480px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

nav{font-size:14px}.intro-sub,.section-copy>p:last-child,.about-copy>p+p{font-size:16px}.capability p{font-size:14px}.contact-button,.text-link,.explore{font-size:14px}.brand span{font-size:12px}.eyebrow{font-size:12px}@media(max-width:600px){nav{font-size:12px}.contact-button,.text-link,.explore{font-size:12px}.capability p{font-size:13px}.intro-sub,.section-copy>p:last-child,.about-copy>p+p{font-size:16px}}
/* Pinned channel orbits. The document still uses native wheel/touch scrolling. */
.orbit-sequence{position:relative;--orbit-base:100svh;--orbit-viewport:calc(var(--orbit-base) + var(--caption-extra,0px) - var(--label-trim,0px))}.orbit-sticky{display:none}
.webgl-ready .orbit-sequence{height:calc(var(--orbit-viewport) + var(--steps)*var(--orbit-step,80svh))}
.webgl-ready .orbit-sequence>.panel-stage{position:absolute;top:calc(var(--index)/var(--last)*(100% - var(--orbit-viewport)));left:0;min-height:0;height:1px;width:100%;pointer-events:none}
.webgl-ready .orbit-sticky{position:sticky;top:0;display:block;height:var(--orbit-viewport);pointer-events:none}
.orbit-caption{position:absolute;left:6%;right:6%;top:145px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em;color:#b6b6b6;text-shadow:0 0 15px #000000}
.orbit-counter{font-variant-numeric:tabular-nums}.orbit-instruction{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;white-space:nowrap;font-size:12px;color:#b4b4b4}.orbit-instruction>span{font-size:20px}
.webgl-ready .screen-link{will-change:transform;pointer-events:auto}
@media(max-width:600px){.orbit-caption{top:110px;left:7%;right:7%;font-size:12px}.orbit-instruction{bottom:13%;font-size:12px}}

/* Brand typography and a compact field of creation. */
h1,h2{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.055em;line-height:1.01}
.intro-copy h1{font-size:clamp(54px,6.9vw,110px)}.intro-copy{max-width:78%}.about-heading h2{font-size:clamp(56px,6.7vw,108px)}
.also>div{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em}.orbit-caption{font-weight:700}.archive-intro h2{font-weight:700}
.expertise{height:auto;min-height:1120px;padding:100px 6% 160px}.expertise-heading{max-width:850px;margin:0 auto;text-align:center}.expertise-heading h2{font-size:clamp(40px,4.8vw,76px)}
.capabilities{position:relative;max-width:790px;margin:100px auto 0;gap:54px 130px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);perspective:1000px}
.capability{position:relative;padding:29px 25px;min-height:212px;text-align:left!important;border:1px solid #c1c1c139;border-radius:16px;background:linear-gradient(135deg,#343434ad,#0b0b0bd9);box-shadow:0 20px 55px #00000044,inset 0 1px #f3f3f30d;transform:rotateY(var(--tilt-y,7deg)) rotateX(var(--tilt-x,2deg)) rotateZ(1deg);transition:border-color .25s,box-shadow .25s;transform-style:preserve-3d}
.capability:nth-child(even){--tilt-y:-7deg;transform:rotateY(var(--tilt-y)) rotateX(var(--tilt-x,2deg)) rotateZ(-1deg);margin-top:38px;margin-bottom:-38px}
.capability:hover{border-color:#d7d7d799;box-shadow:0 20px 55px #00000044,0 0 25px #a1a1a11c}.capability>span{font-size:12px;letter-spacing:.05em;color:#b7b7b7}.capability h3{font-size:29px;font-weight:600;letter-spacing:-.035em;margin:17px 0 13px}.capability p{font-size:14px;line-height:1.65;color:#b5b5b5}
.contact{height:auto;min-height:1120px;padding:100px 7% 130px}.contact-copy{position:relative;top:auto;left:auto;max-width:850px;margin:0 auto;width:100%;text-align:left;padding:0}.contact-copy h2{font-size:clamp(48px,5.9vw,90px)}.contact-intro{font:400 19px/1.5 Arial,Helvetica,sans-serif;color:#bcbcbc;margin:25px 0 0}
.contact-form{position:relative;margin-top:45px;padding:32px;border:1px solid #bdbdbd33;border-radius:18px;background:rgba(0,0,0,.7);box-shadow:0 30px 90px #00000044}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 24px}.field-wide{grid-column:1/-1}.contact-form label{display:block;font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:500}.contact-form label>span{font-size:12px;font-weight:400;color:#a3a3a3;margin-left:5px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:10px;padding:14px 15px;border:1px solid #b5b5b540;border-radius:8px;background:#00000066;font:400 16px/1.5 Arial,Helvetica,sans-serif;color:#f0f0f0;outline:none;transition:border-color .2s,background .2s}.contact-form textarea{resize:vertical;min-height:124px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#929292}.contact-form input:focus,.contact-form textarea:focus{border-color:#d6d6d6;background:#00000099;box-shadow:0 0 0 3px #ffffff14}.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-color:#d19d9d}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.form-bottom>p{max-width:340px;font-size:12px;line-height:1.7;color:#adadad}.form-bottom .contact-button{margin:0;cursor:pointer;color:#f0f0f0;font-family:Arial,Helvetica,sans-serif;flex-shrink:0}.contact-button:focus-visible{outline:2px solid #dedede;outline-offset:5px}.form-status{font-size:14px;line-height:1.7;color:#d6d6d6}.form-status:not(:empty){margin-top:22px}#contact-fallback[hidden]{display:none}#contact-fallback{font-size:12px;margin-top:5px}.contact-form [hidden]{display:none}
@media(max-width:900px){.capabilities{max-width:690px;gap:40px 90px}.capability{padding:24px 20px}.capability h3{font-size:26px}.expertise{min-height:1000px}}
@media(max-width:600px){.intro-copy h1{font-size:clamp(40px,10.8vw,63px)}.intro-copy{max-width:91%}.about-heading h2{font-size:clamp(40px,11.5vw,66px)}.also>div{font-size:19px}.expertise{padding:80px 5% 100px;min-height:960px}.expertise-heading h2{font-size:34px}.capabilities{margin-top:65px;gap:38px 38px}.capability{padding:19px 12px;min-height:216px;border-radius:12px}.capability h3{font-size:clamp(18px,5.2vw,25px)}.capability>span{font-size:12px;letter-spacing:0}.capability p{font-size:13px;line-height:1.55}.contact{min-height:0;padding:85px 6% 100px}.contact-copy h2{font-size:44px}.contact-intro{font-size:18px}.contact-form{padding:23px 18px;margin-top:30px}.form-grid{grid-template-columns:1fr;gap:23px}.form-bottom{align-items:stretch;flex-direction:column;gap:19px}.form-bottom .contact-button{width:100%;font-size:13px;justify-content:space-between}.form-bottom>p{font-size:12px}.contact-form label{font-size:16px}}
@media(prefers-reduced-motion:reduce){.capability{transform:none!important}}

/* Tighter chapter joins; the final panel releases into the next section. */
.also{position:relative;min-height:0;margin-top:-14svh;padding-top:30px;padding-bottom:45px}
.archive-intro{height:clamp(310px,43svh,420px);min-height:0}.archive-intro .section-copy{top:25px}.archive-intro .section-copy>p:last-child{margin-top:20px}
#archive-panels{margin-top:-14svh}
.expertise{min-height:0;margin-top:-14svh;padding-top:55px;padding-bottom:100px}.capabilities{margin-top:75px}
.about{height:auto;min-height:0;padding-top:75px;padding-bottom:90px}.about-copy{margin-top:65px}.contact{padding-top:75px}
.capability,.capability:nth-child(even){transform:translate3d(0,var(--float-y,0px),0) rotateY(var(--tilt-y,7deg)) rotateX(var(--tilt-x,2deg)) rotateZ(var(--tilt-z,1deg));will-change:transform;transition:border-color .55s ease,box-shadow .65s ease}
.capability:nth-child(even){--tilt-y:-7deg;--tilt-z:-1deg}
.contact-form.interactive-surface{transform:translate3d(0,var(--form-lift,0px),0);opacity:var(--form-opacity,1);transition:border-color .7s ease,box-shadow .7s ease;isolation:isolate}
.contact-form.interactive-surface::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 350px 280px at var(--glow-x,50%) var(--glow-y,50%),#ffffff0c,transparent 75%);opacity:var(--glow-strength,0);pointer-events:none;z-index:-1}
.contact-form:focus-within{border-color:#c9c9c966;box-shadow:0 30px 90px #00000044,0 0 30px #ffffff0a}.contact-form label{transition:color .4s}.contact-form label:focus-within{color:#ffffff}.contact-form input,.contact-form textarea{transition:border-color .4s,background .45s,box-shadow .5s}
.contact-form .contact-button{border-color:#bdbdbd55;background:#00000088;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s,box-shadow .5s}.contact-form .contact-button:hover{transform:translateY(-2px);background:#000000bb;box-shadow:0 0 30px #ffffff12}.contact-form .contact-button:active{transform:translateY(0)}.contact-button>span{display:inline-block;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.contact-button:hover>span{transform:translate(3px,-3px)}
@media(max-width:900px){.expertise{min-height:0}.about-copy{max-width:55%}}
@media(max-width:600px){.also{margin-top:-15svh;padding-top:20px;padding-bottom:25px}.archive-intro{height:315px;min-height:0}.archive-intro .section-copy{top:25px}.archive-intro .section-copy h2{font-size:37px}#archive-panels{margin-top:-18svh}.expertise{min-height:0;margin-top:-18svh;padding-top:40px;padding-bottom:70px}.capabilities{margin-top:55px}.about{height:auto;min-height:0;padding-top:55px;padding-bottom:55px}.about-copy{max-width:100%;margin-top:50px}.contact{padding-top:60px}}
@media(prefers-reduced-motion:reduce){.capability,.capability:nth-child(even),.contact-form.interactive-surface{transform:none!important;opacity:1!important}.contact-form.interactive-surface::before{display:none}}

/* Portfolio scale leads the opening; the statement follows on native scroll. */
.intro{height:auto;min-height:100svh;padding:clamp(165px,25svh,290px) 12% 75px}
.intro-copy{position:relative;left:auto;top:auto;max-width:none}.intro-copy>.eyebrow{margin-bottom:26px}
.hero-metrics{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr);gap:28px 6vw;margin:0;max-width:1200px}
.hero-metric{display:flex;flex-direction:column;justify-content:center;padding-left:32px;border-left:1px solid #d1d1d12c}
.hero-metric dt{order:2;font-size:14px;line-height:1.6;color:#b7b7b7;letter-spacing:.01em;margin-top:9px}
.hero-metric dd{margin:0;font:700 clamp(46px,4.6vw,74px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.045em;color:#f2f2f2;font-variant-numeric:tabular-nums}
.hero-metric dd>span{display:flex;align-items:baseline;gap:.11em;white-space:nowrap}
.metric-primary{grid-row:1/3;padding-left:0;border-left:0;justify-content:center}
.metric-primary dd{font-size:clamp(100px,12.3vw,200px);letter-spacing:-.06em}
.metric-primary dt{margin-top:20px}.metric-unit{font-size:.43em;letter-spacing:-.045em}.metric-plus{display:inline-block;font-size:.63em;margin-left:.09em;vertical-align:top;line-height:1}
.metrics-source{max-width:690px;margin-top:28px;font-size:12px;line-height:1.8;color:#929292}.metrics-source a{display:inline-block;color:#b3b3b3;border-bottom:1px solid #b3b3b344}.metrics-source a:hover{color:#ffffff;border-bottom-color:#ffffff}
.intro-copy h1{font-size:clamp(50px,5.8vw,92px);margin-top:clamp(85px,13svh,145px)}
.intro .explore{position:relative;left:auto;bottom:auto;margin-top:48px;width:fit-content}
@media(max-width:1000px){.intro{padding-left:8%;padding-right:8%}.hero-metrics{gap:24px 5vw}.hero-metric{padding-left:23px}.metric-primary{padding-left:0}.metric-primary dd{font-size:clamp(100px,12.5vw,140px)}}
@media(max-width:600px){.intro{padding:clamp(140px,23svh,205px) 7% 55px;min-height:100svh}.intro-copy{max-width:none}.intro-copy>.eyebrow{font-size:12px;margin-bottom:25px}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.hero-metric{padding:0;border:0}.metric-primary{grid-column:1/-1;grid-row:auto}.metric-primary dd{font-size:clamp(100px,25vw,148px)}.metric-primary dt{margin-top:15px}.hero-metric:not(.metric-primary) dd{font-size:clamp(36px,10.6vw,53px)}.hero-metric dt{font-size:14px}.metrics-source{font-size:12px;margin-top:25px;max-width:320px}.intro-copy h1{font-size:clamp(37px,9.7vw,58px);margin-top:75px}.intro .intro-sub{margin-top:24px}.intro .explore{margin-top:36px}}

/* Direct entry into the channel wheel and a quieter opening statement. */
.intro{min-height:0;padding-top:clamp(155px,22svh,245px);padding-bottom:45px}
.intro-copy .intro-statement{font-size:clamp(25px,2.65vw,42px);line-height:1.15;letter-spacing:-.035em;margin-top:32px;max-width:760px}
.orbit-sticky{display:block;height:130px}.orbit-caption{top:35px;align-items:center;gap:18px;flex-wrap:wrap}.orbit-caption h2{font-size:clamp(23px,2.5vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.1}.work-history-link{font-size:12px;letter-spacing:.04em;border-bottom:1px solid #bfbfbf44;padding:10px 0;pointer-events:auto}.work-history-link:hover{color:#ffffff;border-color:#ffffff}.work-history-link span{display:inline-block;margin-left:9px;transition:transform .35s}.work-history-link:hover span{transform:translate(2px,-2px)}
.webgl-ready .orbit-caption{top:125px}.orbit-instruction{display:none}
#archive-panels{margin-top:0}.history-heading{padding:150px 12% 25px}.history-heading h1{font-size:clamp(45px,5vw,76px);margin-top:26px}.history-heading>p{font-size:16px;line-height:1.7;color:#b5b5b5;margin-top:24px;max-width:530px}.history-heading>.text-link{margin:0}
.capability{display:block;isolation:isolate;min-height:332px;padding-top:122px;background:linear-gradient(145deg,#3030304a,#0a0a0a45 75%);border-color:#c5c5c540;box-shadow:0 20px 50px #00000022,inset 0 1px #ebebeb18;overflow:hidden}
.capability::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at var(--card-glow-x,50%) var(--card-glow-y,50%),#d5d5d530,transparent 70%);opacity:var(--card-hover,0)}
.capability-field{position:absolute;top:0;left:0;width:100%;height:122px;pointer-events:none;opacity:.9;mask-image:linear-gradient(#000000 80%,transparent)}
.capability:focus-visible{outline:2px solid #e5e5e5;outline-offset:5px;border-color:#e5e5e5}.capability p{padding-right:12px}.capability:hover{background-color:#22222224;box-shadow:0 20px 55px #00000033,0 0 26px #d9d9d912}
@media(max-width:900px){.capability{padding-top:118px}.history-heading{padding-left:8%;padding-right:8%}}
@media(max-width:600px){.intro{padding-top:140px;padding-bottom:30px;min-height:0}.intro-copy .intro-statement{font-size:25px;margin-top:27px;max-width:330px}.orbit-caption{align-items:flex-start;gap:8px}.orbit-caption h2{font-size:24px}.webgl-ready .orbit-caption{top:102px}.work-history-link{font-size:12px;padding:5px 0}.history-heading{padding:130px 7% 15px}.history-heading h1{font-size:40px}.history-heading>p{font-size:16px}.capability{padding-top:105px;min-height:318px}.capability-field{height:104px}}

.webgl-ready .orbit-sticky{z-index:10}
/* The page is revealed only once its 3D scene has rendered. */
.site-loader{display:none;position:fixed;inset:0;z-index:100;background:#000000;place-content:center;justify-items:center;gap:32px;opacity:1;transition:opacity .8s cubic-bezier(.22,.7,.2,1)}
html.is-loading{overflow:hidden}.is-loading .site-loader,.site-revealed .site-loader{display:grid}.site-loader[hidden]{display:none!important}.is-loading body>header,.is-loading main,.is-loading footer,.is-loading .journey-label{visibility:hidden}.site-revealed .site-loader{opacity:0;pointer-events:none}
.loader-mark{font:700 clamp(58px,10vw,94px)/.85 Arial,Helvetica,sans-serif;letter-spacing:-.07em;color:#f3f3f3;text-align:center}.loader-mark>span{display:block;font:400 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.21em;margin-top:19px;padding-left:.21em}.site-loader>p{font:400 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:#9c9c9c}
.loader-timeline{position:relative;width:210px;height:39px;border-top:1px solid #c7c7c733;border-bottom:1px solid #c7c7c733;background:repeating-linear-gradient(90deg,transparent 0 20px,#cacaca14 20px 21px);overflow:hidden}.loader-timeline>i{position:absolute;height:6px;left:0;width:calc(15% + var(--load-progress,0)*85%);background:#c9c9c966;transition:width .35s;top:5px}.loader-timeline>i:nth-child(2){top:16px;width:calc(8% + var(--load-progress,0)*92%);background:#9797974d}.loader-timeline>i:nth-child(3){top:27px;width:calc(5% + var(--load-progress,0)*95%);background:#d0d0d04d}.loader-timeline>b{position:absolute;top:0;bottom:0;left:0;width:1px;background:#f8f8f8;box-shadow:0 0 9px #d8d8d8;animation:loader-head 2s ease-in-out infinite alternate}@keyframes loader-head{to{transform:translateX(208px)}}
nav{gap:32px;padding:0}nav a{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.04em;white-space:nowrap}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.hero-metric{position:relative}.site-revealed .hero-metric{animation:metric-arrive 1s cubic-bezier(.2,.65,.2,1) both}.site-revealed .hero-metric:nth-child(2){animation-delay:.12s}.site-revealed .hero-metric:nth-child(3){animation-delay:.24s}.site-revealed .intro-statement{animation:metric-arrive 1.15s .32s both}
@keyframes metric-arrive{from{opacity:0;transform:translateY(18px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
/* Float the complete value independently of the one-time counter entrance. */
.site-revealed .hero-metric dd>span{animation:metric-float 7.2s ease-in-out infinite;will-change:transform}
.site-revealed .hero-metric:nth-child(2) dd>span{animation-duration:6.6s;animation-delay:-2.2s;--metric-lift:-5px}
.site-revealed .hero-metric:nth-child(3) dd>span{animation-duration:8.4s;animation-delay:-4.2s;--metric-lift:-6px}
@keyframes metric-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,var(--metric-lift,-7px),0)}}
.metric-count{display:inline-block;flex-shrink:0;overflow:visible;padding-right:.03em;margin-right:-.03em;color:#f2f2f2;animation:metric-light 9s ease-in-out infinite}.hero-metric:nth-child(2) .metric-count{animation-delay:-2s}.hero-metric:nth-child(3) .metric-count{animation-delay:-4s}@keyframes metric-light{0%,100%{color:#f2f2f2}50%{color:#dcdcdc}}
.metric-trace{display:block;position:relative;width:min(100%,160px);height:9px;margin-top:14px;overflow:hidden;border-bottom:1px solid #c7c7c726;background:repeating-linear-gradient(90deg,#cccccc30 0 1px,transparent 1px 15px)}.metric-primary .metric-trace{width:min(100%,285px)}.metric-trace>i{position:absolute;top:0;bottom:0;width:28%;left:-28%;background:linear-gradient(90deg,transparent,#dbdbdb99,transparent);animation:metric-trace 6s ease-in-out infinite}.hero-metric:nth-child(2) .metric-trace>i{animation-delay:-2s}.hero-metric:nth-child(3) .metric-trace>i{animation-delay:-4s}@keyframes metric-trace{to{left:100%}}
.hero-metric:hover .metric-trace{border-color:#e8e8e888}.intro-statement{transition:color .5s,text-shadow .5s}.intro-statement:hover{color:#f9f9f9;text-shadow:0 0 20px #c4c4c42a}
@media(max-width:900px){nav{gap:26px;padding:0}nav a{font-size:13px}}
@media(max-width:600px){header{flex-wrap:nowrap;gap:12px;top:19px}.brand{font-size:24px}header nav{width:auto;justify-content:space-between;gap:18px;padding:0;border-radius:0}nav a{font-size:12px}.intro{padding-top:140px}.history-heading{padding-top:130px}.webgl-ready .orbit-caption{top:102px}.orbit-caption h2{font-size:22px}.metric-trace{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.loader-timeline>b,.site-revealed .hero-metric,.site-revealed .hero-metric dd>span,.site-revealed .intro-statement,.metric-count,.metric-trace>i{animation:none!important}.site-revealed .hero-metric dd>span{transform:none;will-change:auto}.metric-count{color:#f2f2f2;background:none}.metric-trace>i{left:35%}}

/* WebGL hit areas retain accessible labels without laying out duplicate media. */
.webgl-ready .screen-link>*{display:none}

/* Approved Ruby Collective identity: outlined horizontal signature and flat symbol. */
.brand{display:flex;align-items:center;flex-shrink:0;min-height:44px;line-height:1;letter-spacing:0}
.brand>img{display:block;width:230px;height:auto}
.loader-mark{display:grid;justify-items:center;gap:26px;line-height:1}
.loader-symbol{display:block;width:54px;height:auto}
.loader-wordmark{display:block;width:min(72vw,430px);height:auto}
.footer-brand{display:flex;align-items:center;gap:14px;min-height:44px}
.footer-symbol{display:block;width:23px;height:auto}
.footer-wordmark{display:block;width:185px;height:auto}
@media(max-width:900px){.brand>img{width:190px}}
@media(max-width:600px){.brand>img{width:158px}.footer-wordmark{width:164px}.footer-symbol{width:21px}}
@media(max-width:380px){.brand>img{width:120px}header{gap:10px}header nav{gap:10px}}

/* Mobile browser chrome may resize innerHeight continuously during a gesture.
   A stable canvas covers the largest viewport without reallocating on scroll. */
.lite-scene #scene{bottom:auto;height:100vh;height:100lvh}
.lite-scene .atmosphere{box-shadow:none}
.lite-scene .atmosphere:after{display:none}
.lite-scene .metric-count{animation:none}
.webgl-ready .screen-link{left:0;top:0;width:100px;height:100px;transform-origin:0 0;contain:layout style;}
.webgl-ready .screen-link:focus-visible{outline-width:1px;outline-offset:2px;box-shadow:none}
.site-revealed .metrics-offscreen .hero-metric dd>span,.metrics-offscreen .metric-count,.metrics-offscreen .metric-trace>i{animation-play-state:paused}

/* Compact joins without changing the spacing or speed between channel cards. */
@media(max-width:699px){
 .orbit-sequence{--orbit-base:calc(clamp(360px,62svh,470px) - 24px)}
 .expertise{padding-top:34px}
 .capabilities{margin-top:48px}
}
.action-icon{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:opacity .3s,transform .35s}
.work-history-link,.text-link.action-link{display:inline-flex;align-items:center;gap:12px}
.work-history-link .action-icon{width:19px;height:19px}
.work-history-link:hover .action-icon,.action-link:hover .action-icon,.contact-button:hover .action-icon{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.action-icon{transition:none!important;transform:none!important}}

.brand-picture{display:block;line-height:0}
.brand-picture>img{display:block;width:230px;height:auto}
@media(max-width:900px){.brand-picture>img{width:190px}}
@media(max-width:699px){
 .brand-picture>img{width:92px}
 header{column-gap:24px}
 .screen-title>.channel-explore{display:none}
}
@media(max-width:380px){.brand-picture>img{width:84px}}

/* Touch scrolling: title and 3D move on one timeline, with no sticky handoff. */
.lite-scene.webgl-ready .orbit-sticky{position:relative}
.lite-scene.webgl-ready .orbit-caption{position:fixed;will-change:transform,opacity;transition:none;text-shadow:none}
.lite-scene .channel-explore{display:none}
.history-page .orbit-sequence{--orbit-step:64svh;--orbit-base:clamp(540px,80svh,820px)}
.archive-intro-copy{max-width:600px}
.archive-intro-copy>.text-link{margin:0;padding:0 0 8px;font-size:12px;pointer-events:auto}
.archive-intro-copy h1{font-size:clamp(32px,3vw,48px);font-weight:700;letter-spacing:-.045em;line-height:1.04;margin:16px 0 12px}
.archive-intro-copy p{font-size:16px;line-height:1.5;font-weight:400;letter-spacing:0;color:#b5b5b5}
.history-page:not(.webgl-ready) .orbit-sticky{height:auto;padding:130px 7% 28px}
.history-page:not(.webgl-ready) .orbit-caption{position:static}
.history-page:not(.webgl-ready) .panel-stage{height:auto;min-height:0;padding:0 7% 36px}
.history-page:not(.webgl-ready) .screen-link{position:relative;left:auto;top:auto;width:min(100%,820px);margin:auto;transform:none}
@media(max-width:699px){
 .intro{height:auto;min-height:0;padding-bottom:20px}
 .webgl-ready .orbit-caption{top:88px}
 .webgl-ready #work .orbit-caption{top:clamp(150px,24svh,200px)}
 #work{--orbit-entry-gap:32px;--orbit-base:calc(clamp(360px,62svh,470px) + 40px + var(--orbit-depth-space,0px));scroll-margin-top:calc(clamp(150px,24svh,200px) - 32px)}
 .expertise{margin-top:-14svh}
 .about-copy>.action-link{display:none}
 .journey-label{display:none}
 .history-page .orbit-sequence{--orbit-base:clamp(420px,62svh,560px)}
 header::before{content:'';position:absolute;z-index:-1;left:-7vw;right:-7vw;top:-24px;height:100px;background:linear-gradient(#000e,#000a 65%,#0000);pointer-events:none}
}
