/* Kinetic typography, a scroll-driven hero, and bold venture interactions. */
.hero-stage{position:relative;background:var(--ink);isolation:isolate}
.hero{perspective:1200px}
.hero-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.8}
.hero-shutters{position:absolute;inset:0;z-index:-1;pointer-events:none;display:none}
.hero-shutters i{background:#090b0c;transform-origin:top;will-change:transform}
.motion-ready .hero-shutters{display:grid;grid-template-columns:repeat(3,1fr)}
.motion-ready .hero-shutters i{animation:shutter-lift 1.15s cubic-bezier(.7,0,.15,1) both}
.motion-ready .hero-shutters i:nth-child(2){animation-delay:.12s}
.motion-ready .hero-shutters i:nth-child(3){animation-delay:.24s}
.hero .title-line{perspective:900px;overflow:visible}
.hero .title-line>span,.hero .title-line>em{animation:none;transform:translate3d(var(--line-x,0px),var(--line-y,0px),0);opacity:var(--line-opacity,1);will-change:transform,opacity}
.hero-word{display:inline-block;white-space:nowrap}
.hero-char{display:inline-block;backface-visibility:hidden;transform-origin:50% 95%;font-kerning:none}
.motion-ready .hero-char{animation:character-turn 1.05s cubic-bezier(.18,.82,.18,1) both;animation-delay:var(--char-delay,0s)}
.hero .hero-art,.motion-ready .hero-art{animation:art-arrive 1.9s cubic-bezier(.15,.72,.1,1) both;transform:translate3d(0,var(--art-y,0px),0) scale(var(--art-scale,1));transform-origin:70% 52%;will-change:transform}
.hero-sculpture{transform:perspective(1200px) translate3d(var(--px,0px),var(--py,0px),0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.06);transition:transform .65s cubic-bezier(.15,.65,.25,1);transform-origin:65% 55%}
.hero-middle{opacity:var(--hero-detail-opacity,1);transform:translateY(var(--detail-y,0px))}
.hero-topline{opacity:var(--hero-detail-opacity,1)}
.motion-ready .hero-middle,.motion-ready .hero-topline{animation:none}
.hero-explore{box-shadow:0 0 0 0 rgba(213,183,128,.14);animation:invitation-pulse 3.5s 2s 3}
.hero-explore:before{clip-path:inset(0 0 48% 0);animation:orbit-turn 9s linear 3}
body.pin-hero .hero-stage{height:185svh}
body.pin-hero .hero{position:sticky;top:0;min-height:0;height:100svh;padding-top:clamp(108px,16vh,165px);padding-bottom:24px}
body.pin-hero .hero-topline{margin-bottom:clamp(20px,4vh,40px)}
body.pin-hero .hero-title{font-size:min(7.3vw,12.6vh);line-height:1.1}
body.pin-hero .hero-middle{margin:18px 0 25px}
body.pin-hero .hero-explore{height:112px;width:112px}
body.pin-hero .hero-bottom{position:relative}
body.pin-hero .hero-art{top:2%;right:-11%;height:98%;width:88%}
.motion-band{height:110px;overflow:hidden;display:flex;align-items:center;background:var(--gold);color:var(--ink);position:relative;z-index:2}
.motion-band-track{display:flex;align-items:center;white-space:nowrap;will-change:transform;transform:translateX(var(--band-x,-12%))}
.motion-band-track>span{display:flex;align-items:center;gap:34px;padding-right:34px;font-size:clamp(28px,3.5vw,55px);line-height:1;font-weight:500;letter-spacing:-.045em;flex-shrink:0}
.motion-band-track i{font-style:normal;font-size:1.05em;display:inline-block;transform:rotate(var(--band-spin,0deg))}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,65px,0) rotateX(8deg);filter:blur(5px);transition:opacity .75s var(--ease),transform 1.05s var(--ease),filter .9s var(--ease);transition-delay:var(--reveal-delay,0ms);transform-origin:50% 100%}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0) rotateX(0);filter:blur(0)}
.motion-ready .venture[data-reveal]{transform:translate3d(var(--entry-x,-90px),38px,0) rotate(var(--entry-turn,-2deg));transition:opacity .65s var(--ease),transform .9s var(--ease),filter .75s var(--ease),padding .45s var(--ease),border-color .45s}
.motion-ready .venture:nth-child(even){--entry-x:90px;--entry-turn:2deg}
.motion-ready .venture[data-reveal].is-visible{transform:translate3d(0,0,0) rotate(0)}
.portfolio-section{overflow:clip}
.venture{padding-left:18px;padding-right:18px;min-height:180px;perspective:1000px}
.venture:before{content:'';position:absolute;inset:-1px;background:var(--gold);z-index:0;clip-path:circle(0 at var(--spot-x,88%) var(--spot-y,50%));transition:clip-path .75s cubic-bezier(.3,.7,.15,1)}
.venture:after{content:attr(data-sector);position:absolute;right:8%;top:50%;transform:translateY(-28%) translateX(45px) rotate(-4deg);font-size:clamp(80px,12vw,185px);font-weight:600;line-height:1;letter-spacing:-.08em;color:rgba(40,29,11,.075);pointer-events:none;z-index:0;opacity:0;transition:transform .7s var(--ease),opacity .5s}
.venture-highlight{display:none}
.venture-title{transform:translateZ(0);transition:transform .65s var(--ease)}
.venture h3,.venture p,.venture-number,.venture-category{transition:color .35s}
.venture:hover,.venture:focus-visible{padding-left:32px;padding-right:32px;border-color:var(--gold)}
.venture:hover:before,.venture:focus-visible:before{clip-path:circle(150% at var(--spot-x,88%) var(--spot-y,50%))}
.venture:hover:after,.venture:focus-visible:after{opacity:1;transform:translateY(-50%) translateX(0) rotate(-4deg)}
.venture:hover h3,.venture:focus-visible h3{color:#15180f}
.venture:hover>p,.venture:focus-visible>p{color:#343b28}
.venture:hover .venture-number,.venture:hover .venture-category,.venture:focus-visible .venture-number,.venture:focus-visible .venture-category{color:#45452f}
.venture:hover .venture-title,.venture:focus-visible .venture-title{transform:translateX(8px)}
.venture:hover .venture-visit,.venture:focus-visible .venture-visit{background:var(--ink);color:var(--gold);border-color:var(--ink);transform:rotate(-45deg) scale(1.08)}
.venture-visit{transition:background .45s,color .45s,border-color .45s,transform .65s var(--ease)}
.venture:hover .venture-visit>span{transform:rotate(0)}
.system-stack,.principles,.leaders-grid,.location-grid{perspective:1400px}
.motion-ready .system-step[data-reveal]{transform:translate3d(70px,30px,0) rotateY(-12deg);transform-origin:right center}
.motion-ready .system-step[data-reveal].is-visible{transform:translate3d(0,0,0) rotateY(0)}
.motion-ready .leader[data-reveal]{transform:translate3d(-50px,40px,0) rotateY(10deg);transform-origin:left}
.motion-ready .leader:nth-child(2)[data-reveal]{transform:translate3d(50px,40px,0) rotateY(-10deg);transform-origin:right}
.motion-ready .leader[data-reveal].is-visible{transform:translate3d(0,0,0) rotateY(0)}
.leaders-section{overflow:clip}
.location h3>span{transform:translateY(var(--location-offset,15px));transition:transform .2s linear,color .5s}
.contact-main h2{transform:translate3d(var(--contact-x,0px),0,0);will-change:transform}
.contact-link{box-shadow:0 0 0 14px rgba(213,183,128,.035),0 0 0 40px rgba(213,183,128,.02)}
@media(hover:hover) and (pointer:fine){.round-link{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0);transition:transform .55s cubic-bezier(.18,.85,.2,1),color .35s,background .35s}.motion-ready .round-link[data-reveal].is-visible{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0)}}
@keyframes character-turn{from{opacity:0;transform:translate3d(0,105%,0) rotateX(-85deg) rotateZ(8deg)}55%{opacity:1}to{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateZ(0)}}
@keyframes shutter-lift{0%,10%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes art-arrive{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
@keyframes invitation-pulse{0%,100%{box-shadow:0 0 0 0 rgba(213,183,128,.13)}70%{box-shadow:0 0 0 20px rgba(213,183,128,0)}}
@media(max-width:800px){.motion-band{height:86px}.motion-band-track>span{font-size:34px;gap:22px;padding-right:22px}.venture,.venture:hover,.venture:focus-visible{padding-left:12px;padding-right:12px;min-height:175px}.venture:after{font-size:90px;right:3%}.hero .title-line{perspective:600px}.hero-sculpture{transition:transform .25s ease-out}.motion-ready .hero-char{animation-duration:.9s}.motion-ready [data-reveal]{transform:translate3d(0,38px,0);filter:none}.motion-ready .venture[data-reveal]{--entry-x:-35px;--entry-turn:-1deg}.motion-ready .venture:nth-child(even){--entry-x:35px;--entry-turn:1deg}}
@media(max-width:520px){.hero-title{font-size:7.6vw}.hero .title-line em{font-size:1.04em}.hero-explore{transform:translateY(68px)}.motion-band{height:74px}.motion-band-track>span{font-size:28px}.venture{column-gap:8px}.venture h3{font-size:27px}.venture:hover .venture-title{transform:translateX(0)}.hero-particles{opacity:.65}.hero-art{will-change:transform}}
@media(prefers-reduced-motion:reduce){.hero-shutters,.hero-particles{display:none!important}.hero-stage,body.pin-hero .hero-stage{height:auto}.hero,body.pin-hero .hero{position:relative;height:auto;min-height:750px}.hero-art,.hero-sculpture,.hero .title-line>span,.hero .title-line>em,.hero-char,.hero-middle,.hero-topline,.motion-band-track,.contact-main h2,.location h3>span{transform:none!important;opacity:1!important;filter:none!important}.motion-ready [data-reveal],.motion-ready .venture[data-reveal],.motion-ready .system-step[data-reveal],.motion-ready .leader[data-reveal]{transform:none!important;opacity:1!important;filter:none!important}.motion-band-track>span:nth-child(2){display:none}.motion-band{height:auto;padding:22px}.motion-band-track>span{font-size:16px;white-space:normal;flex-wrap:wrap;gap:15px;line-height:1.5}.motion-band-track i{transform:none!important}.hero-explore{transform:none!important}.venture:before{transition:none}}
