/* Home V3: a continuous monochrome narrative, with a shared WebGL layer. */
.home{background:#080808}.home-continuum{background:#080808;color:#f3f3f3;position:relative}.home .immersive-story{margin-bottom:-1px}.home .story-progress{background:#171717}.home .story-progress span{background:#555}.connection-bridge{height:130px;display:flex;align-items:center;gap:30px;padding:0 var(--gutter);color:#a5a5a5}.connection-bridge .mono{font-size:8px;white-space:nowrap}.bridge-line{flex:1;height:1px;background:linear-gradient(90deg,#303030,#a7a7a7,#303030);transform:scaleX(var(--bridge,1));transform-origin:left}.home .solutions{padding:35px var(--gutter) 110px;position:relative;isolation:isolate}.section-topline,.company-topline{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #383838;padding-top:23px;font-size:8px;color:#aaa;letter-spacing:.07em}.home .solutions .section-heading{grid-template-columns:26% 1fr;margin-top:75px;margin-bottom:60px;position:relative;z-index:3}.home .solutions .section-heading>.eyebrow{color:#aaa}.home .solutions h2{font-size:clamp(48px,6.4vw,108px);line-height:1.02}.home .solutions .section-heading p{color:#b0b0b0;max-width:440px}.solution-experience{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.home .solution-list{position:relative;z-index:3}.home .solution{border-color:#393939}.home .solution summary{grid-template-columns:33px 1fr 16px;gap:17px;padding:29px 0}.home .solution h3{font-size:clamp(23px,2.4vw,37px);letter-spacing:-.05em}.home .solution-no{color:#a0a0a0}.home .solution-tags{display:none}.home .solution-body{margin-left:50px;display:block;padding-bottom:32px;animation:solution-open .5s var(--ease)}.home .solution-body p{color:#b6b6b6;font-size:13px;max-width:360px}.home .solution-body .tags{margin-top:23px;gap:8px}.home .tags li{border-color:#505050;color:#c9c9c9;font-size:9px}.home .solution-body .text-link{margin-top:25px;font-size:11px}.home .solution[open] summary{color:#fff}.home .solution:not([open]) summary{color:#a9a9a9}.home .solution summary:hover{color:white}.home .solution .plus{transition:transform .5s}.home .solution[open] .plus{transform:rotate(180deg)}@keyframes solution-open{from{clip-path:inset(0 0 100% 0);transform:translateY(-8px)}to{clip-path:inset(0);transform:none}}
.connection-lab{height:530px;position:relative;border:1px solid #323232;background:radial-gradient(ellipse at 50% 45%,#222,#0c0c0c 66%);border-radius:50% 50% 3px 3px;isolation:isolate}.lab-orbit{position:absolute;inset:30px -15% 60px}.art-slot{pointer-events:none}.lab-coordinates{position:absolute;inset:44px 34px auto;display:flex;justify-content:space-between;color:#b0b0b0;font-size:7px;z-index:3}.lab-bottom{position:absolute;bottom:27px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between;gap:20px;z-index:3}.lab-caption{max-width:190px;font-size:8px;color:#bebebe;line-height:1.8}.lab-counter{font-size:54px;font-weight:350;line-height:1;letter-spacing:-.06em}.lab-counter>span{font-family:JetBrains,monospace;font-size:9px;letter-spacing:0;color:#aaa;margin-left:8px}.lab-crosshair{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:14px;color:#777;z-index:3;pointer-events:none}.orbit-fallback{position:absolute;inset:20%;border:1px solid #888;border-radius:50%;transform:rotateX(55deg) rotateZ(-25deg);box-shadow:inset 0 0 0 6px #ffffff06,0 0 0 1px #ffffff08}.orbit-fallback:after,.orbit-fallback:before{content:'';position:absolute;inset:-15%;border:1px solid #777;border-radius:50%;transform:rotateY(60deg) rotate(45deg)}.orbit-fallback:after{transform:rotateY(-60deg) rotate(-45deg)}.home-art-ready .orbit-fallback{visibility:hidden}.home-webgl{position:fixed;inset:0;pointer-events:none;z-index:2;width:100%;height:100%}.home-art-unavailable .home-webgl{display:none}
.connection-manifesto{position:relative;padding:100px var(--gutter) 115px;overflow:hidden;text-align:center;isolation:isolate;border-top:1px solid #252525}.connection-manifesto>.mono{font-size:8px;color:#b7b7b7;position:relative;z-index:3}.connection-manifesto p{font-size:clamp(70px,11vw,180px);font-weight:450;letter-spacing:-.075em;line-height:.98;margin-top:40px;position:relative;z-index:3}.connection-manifesto p>span{color:#b8b8b8}.manifesto-thread{position:absolute;inset:28% -5% 14%;pointer-events:none}.manifesto-thread svg{width:100%;height:100%;stroke-width:.7}.thread-base{stroke:#333}.thread-draw{stroke:#bbb;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--thread,1))}.connection-manifesto .manifesto-note{display:block;margin-top:50px}
.home .company-teaser{display:block;margin:0;position:relative;z-index:3;padding:45px var(--gutter) 38px;background:#ededed;color:#151515;border-radius:var(--company-radius,0) var(--company-radius,0) 0 0;overflow:clip}.company-topline{border-color:#c2c2c2;color:#5b5b5b}.company-layout{display:grid;grid-template-columns:45% 1fr;gap:11%;align-items:center;padding-top:72px;padding-bottom:65px}.home .teaser-photo{height:640px;overflow:visible;position:relative}.portrait-frame{height:100%;overflow:hidden;clip-path:inset(var(--portrait-crop,0) 0 0);position:relative;background:#aaa}.home .teaser-photo img{height:112%;width:100%;object-fit:cover;object-position:center 8%;filter:grayscale(1);transform:translateY(var(--portrait-shift,-3%));transition:none}.home .photo-caption{left:22px;bottom:23px;font-size:7px;background:#111b;padding:8px 10px;z-index:3}.portrait-index{font-size:clamp(130px,17vw,270px);position:absolute;right:-45px;bottom:-42px;color:#ededed;font-weight:500;letter-spacing:-.09em;line-height:.9;z-index:3;pointer-events:none}.home .teaser-copy{position:relative;z-index:3}.home .teaser-copy h2{font-size:clamp(40px,5vw,82px);line-height:1.02;margin-top:28px}.home .teaser-copy h2>span{color:#656565}.home .teaser-copy p{font-size:13px;max-width:370px}.home .people-signoff{gap:25px;justify-content:space-between;margin-top:45px}.home .people-signoff b{font-size:7px}.company-bottom{display:flex;align-items:center;gap:30px;font-size:8px;color:#5b5b5b}.company-rule{height:1px;background:#bcbcbc;flex:1;transform:scaleX(var(--company-line,1));transform-origin:left}
.home .crm-section{display:block;position:relative;padding:60px var(--gutter) 45px;background:#0b0b0b;overflow:clip}.crm-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:5%;align-items:center;min-height:780px;padding-top:55px}.home .crm-copy{position:relative;z-index:3;padding-bottom:25px}.home .crm-copy .eyebrow{font-size:8px;color:#b7b7b7}.home .crm-copy h2{font-size:clamp(48px,5.8vw,98px);line-height:1.02;letter-spacing:-.065em;margin-top:34px}.home .crm-copy h2>span{color:#a0a0a0}.home .crm-copy p{max-width:340px;font-size:13px;margin-top:30px}.home .crm-copy .pill-link{font-size:11px;padding:16px 20px}.crm-universe{position:relative;min-height:660px;perspective:1100px}.crm-orbit{position:absolute;inset:-40px -18% -10px -15%;opacity:.6}.crm-flow{position:relative;z-index:3;display:flex;flex-direction:column;gap:28px;padding:55px 0 65px 12%;transform:rotateX(var(--crm-rx,0deg)) rotateY(var(--crm-ry,0deg));transition:transform .7s var(--ease)}.journey-card{position:relative;width:90%;border:1px solid #7777;border-radius:5px;padding:24px 25px 26px;background:linear-gradient(125deg,#292929e8,#151515eb);box-shadow:0 25px 60px #0005;backdrop-filter:blur(15px);transform:translateY(var(--card-rise,0px));transition:border-color .6s,background .6s,transform .7s var(--ease)}.journey-card:nth-child(3){margin-left:9%}.journey-card:nth-child(4){margin-left:-3%}.card-index{font-size:7px;color:#c1c1c1}.journey-card h3{font-size:clamp(23px,2.3vw,34px);letter-spacing:-.045em;line-height:1.12;margin-top:17px;padding-right:30px}.card-detail{display:block;font-size:10px;color:#c1c1c1;margin-top:13px;line-height:1.6;padding-right:12px}.card-symbol{position:absolute;right:23px;top:47px;font-size:24px;font-weight:300;color:#b1b1b1}.card-node{position:absolute;width:7px;height:7px;border:1px solid #999;border-radius:50%;left:-24px;top:50%;background:#111;box-shadow:0 0 0 5px #1118;transition:background .5s,box-shadow .5s}.journey-card.is-active{border-color:#adadad;background:linear-gradient(125deg,#353535ed,#202020ee)}.journey-card.is-active .card-node{background:white;border-color:white;box-shadow:0 0 0 5px #ffffff16,0 0 18px #ffffff70}.flow-spine{position:absolute;left:calc(12% - 21px);top:100px;bottom:130px;width:1px;background:#4d4d4d;transform:rotate(-4deg);transform-origin:top}.flow-spine>span{display:block;width:100%;height:100%;background:linear-gradient(#555,#fff);transform:scaleY(var(--flow-progress,1));transform-origin:top}.home .crm-universe .concept-label{position:relative;z-index:3;display:block;text-align:center;margin-top:0;font-size:7px;color:#aaa;letter-spacing:.04em}.crm-bottom{position:relative;z-index:3;border-top:1px solid #3b3b3b;padding-top:25px;display:flex;justify-content:space-between;gap:25px;align-items:center}.crm-bottom>.mono{font-size:8px;color:#aaa}.crm-bottom .text-link{font-size:10px}
:is(.home,.about,.service) .contact-section{position:relative;margin:0;padding:105px var(--gutter) 42px;min-height:610px;isolation:isolate;overflow:clip;color:#f3f3f3;background:radial-gradient(ellipse at 78% 50%,#262626,#111 48%,#0b0b0b 80%)}:is(.home,.about,.service) .contact-section>.eyebrow{position:relative;z-index:3;color:#bfbfbf;font-size:8px}:is(.home,.about,.service) .contact-title{position:relative;z-index:3;font-size:clamp(62px,9vw,150px);margin-top:42px}:is(.home,.about,.service) .contact-title>span:first-child{max-width:80%}:is(.home,.about,.service) .contact-arrow{width:110px;height:110px;border-color:#888;background:#1116;backdrop-filter:blur(5px)}:is(.home,.about,.service) .contact-title:hover .contact-arrow{background:#ededed;color:#111}.contact-orbit{position:absolute;right:-9%;top:-25px;width:62%;height:620px}:is(.home,.about,.service) .contact-bottom{position:relative;z-index:3;border-color:#484848;color:#bfbfbf;margin-top:90px}:is(.home,.about,.service) .footer{position:relative;z-index:3;background:#080808;border-top:1px solid #333}.home-motion-toggle{position:fixed;z-index:30;bottom:22px;left:22px;border:1px solid #6b6b6b;background:#141414e8;color:#eee;padding:11px 15px;border-radius:30px;display:flex;align-items:center;gap:10px;font-size:8px;backdrop-filter:blur(12px)}.home-motion-toggle[hidden]{display:none}.home-motion-toggle:hover{background:#303030}.motion-paused .home-continuum *,.motion-paused .home-continuum *:before,.motion-paused .home-continuum *:after{animation-play-state:paused!important}.motion-paused .crm-flow{transform:none}
@media(min-width:1600px){:is(.home,.about,.service) .contact-section{max-width:none}.home .solutions,.home .company-teaser,.home .crm-section{padding-inline:max(var(--gutter),calc((100vw - 1490px)/2))}}
@media(max-width:1050px){.solution-experience{gap:5%;grid-template-columns:1.1fr 1fr}.home .solution summary{grid-template-columns:25px 1fr 15px;gap:12px}.home .solution-body{margin-left:37px}.connection-lab{height:470px}.lab-bottom{left:23px;right:23px}.lab-coordinates{left:25px;right:25px;font-size:6px}.lab-caption{font-size:7px;max-width:120px}.company-layout{gap:8%}.home .teaser-photo{height:570px}.home .teaser-copy h2{font-size:4.8vw}.home .people-signoff{gap:15px;flex-wrap:wrap}.crm-layout{gap:2%;grid-template-columns:1fr 1fr}.journey-card{padding:20px}.card-detail{font-size:9px}.crm-flow{padding-left:8%}.flow-spine{left:calc(8% - 21px)}.home .crm-copy h2{font-size:5.7vw}:is(.home,.about,.service) .contact-section{min-height:550px}:is(.home,.about,.service) .contact-arrow{width:85px;height:85px}:is(.home,.about,.service) .contact-arrow svg{width:42px;height:42px}}
@media(max-width:760px){.connection-bridge{height:100px;gap:16px}.connection-bridge .mono{font-size:6px}.home .solutions{padding-top:15px;padding-bottom:60px}.section-topline,.company-topline{font-size:6px;padding-top:18px;gap:20px}.section-topline>span:last-child,.company-topline>span:last-child{text-align:right;max-width:125px}.home .solutions .section-heading{margin-top:45px;margin-bottom:35px}.home .solutions .section-heading>.eyebrow{font-size:7px;margin-bottom:23px}.home .solutions h2{font-size:clamp(36px,8.6vw,62px)}.home .solutions .section-heading p{font-size:12px}.solution-experience{display:flex;flex-direction:column;gap:35px}.home .solution-list{width:100%;order:2}.home .solution summary{padding-block:24px}.home .solution h3{font-size:23px}.home .solution-body p{font-size:12px}.home .solution-body .text-link{font-size:10px;gap:15px}.home .tags li{font-size:8px}.connection-lab{width:100%;height:360px;border-radius:45% 45% 3px 3px}.lab-orbit{inset:0 -7% 45px}.lab-coordinates{inset:40px 24px auto}.lab-bottom{bottom:22px;align-items:center}.lab-caption{max-width:175px}.lab-counter{font-size:40px}.lab-counter>span{font-size:8px}.connection-manifesto{padding:65px var(--gutter) 75px}.connection-manifesto p{font-size:clamp(58px,13vw,95px);margin-top:35px}.connection-manifesto>.mono{font-size:6px}.connection-manifesto .manifesto-note{margin-top:38px}.manifesto-thread{inset:30% -25% 17%}.home .company-teaser{padding-top:30px;padding-bottom:30px}.company-layout{display:flex;flex-direction:column;align-items:stretch;gap:48px;padding-top:40px;padding-bottom:40px}.home .teaser-photo{height:490px}.portrait-index{font-size:160px;right:2px;bottom:-28px}.home .teaser-copy h2{font-size:clamp(40px,10vw,66px);margin-top:23px}.home .teaser-copy p{font-size:12px}.home .people-signoff{flex-wrap:nowrap;gap:16px;margin-top:32px}.home .people-signoff b{font-size:6px}.company-bottom{font-size:6px;gap:15px}.home .crm-section{padding-top:35px;padding-bottom:32px}.crm-layout{display:block;padding-top:48px;min-height:0}.home .crm-copy h2{font-size:clamp(48px,12vw,78px);margin-top:25px}.home .crm-copy .eyebrow{font-size:7px}.home .crm-copy p{font-size:12px;max-width:320px}.home .crm-copy .pill-link{font-size:10px;margin-top:27px}.crm-universe{min-height:600px;margin-top:20px}.crm-orbit{inset:-10px -28% 0}.crm-flow{gap:25px;padding:55px 5px 40px 8%}.journey-card{padding:22px;width:92%;transform:none}.journey-card h3{font-size:26px;margin-top:14px}.card-detail{font-size:10px}.card-index{font-size:7px}.card-symbol{top:46px;right:18px;font-size:23px}.flow-spine{top:100px;bottom:100px}.home .crm-universe .concept-label{font-size:5.8px;line-height:1.8}.crm-bottom{margin-top:10px;align-items:start}.crm-bottom>.mono{font-size:6px;max-width:165px;line-height:1.8}.crm-bottom .text-link{font-size:9px;gap:15px;white-space:nowrap}:is(.home,.about,.service) .contact-section{padding-top:70px;padding-bottom:35px;min-height:490px}:is(.home,.about,.service) .contact-title{font-size:clamp(43px,10.8vw,72px);align-items:end;margin-top:38px;gap:15px}:is(.home,.about,.service) .contact-title>span:first-child{max-width:84%}:is(.home,.about,.service) .contact-arrow{width:48px;height:48px}:is(.home,.about,.service) .contact-arrow svg{width:24px;height:24px}.contact-orbit{right:-30%;top:-25px;width:105%;height:430px;opacity:.5}:is(.home,.about,.service) .contact-bottom{margin-top:110px;font-size:10px}:is(.home,.about,.service) .contact-bottom .mono{font-size:6px}.home-motion-toggle{bottom:14px;left:14px;font-size:7px;padding:10px 12px}:is(.home,.about,.service) .footer{padding-bottom:65px}}
@media(max-width:380px){.home .solution h3{font-size:20px}.home .solution summary{gap:9px;grid-template-columns:22px 1fr 13px}.home .solution-body{margin-left:31px}.home .people-signoff{font-size:7px}.home .people-signoff b{font-size:5.5px}.connection-lab{height:330px}.home .teaser-photo{height:430px}:is(.home,.about,.service) .contact-title{font-size:41px;gap:8px}:is(.home,.about,.service) .contact-arrow{width:42px;height:42px}.card-detail{font-size:9px}.journey-card h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.bridge-line,.company-rule,.flow-spine>span{transform:none}.thread-draw{stroke-dashoffset:0}.home .company-teaser{border-radius:0}.home .teaser-photo img{transform:translateY(-3%)}.portrait-frame{clip-path:none}.crm-flow,.journey-card{transform:none!important}.home-motion-toggle{display:none}.home .solution-body{animation:none}}
@media(forced-colors:active){.home-webgl,.orbit-fallback,.manifesto-thread{display:none}.home-continuum,.home .solutions,.home .company-teaser,.home .crm-section,:is(.home,.about,.service) .contact-section{background:Canvas;color:CanvasText}.journey-card{background:Canvas;color:CanvasText;border-color:CanvasText}.home-motion-toggle{background:Canvas;color:CanvasText}}

.home .solutions,.connection-lab,:is(.home,.about,.service) .contact-section{isolation:auto}.home .solutions{overflow:clip}
/* Keep copy above the shared renderer; perspective belongs to the cards only. */
.crm-universe{perspective:none}.crm-flow{transform:perspective(1100px) rotateX(var(--crm-rx,0deg)) rotateY(var(--crm-ry,0deg))}
