/* Coterie visual direction, inspired by the reference's grid and motion language. */
:root{--bg:#101014;--panel:#16161a;--line:#34343b;--mint:#89e8c3;--violet:#b699ff;--orange:#f6a676}
body{background:#101014}
.site-header{background:#101014f0}
.site-header:after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,#ed9f76 18%,#83e4cb 49%,#aa8cff 78%,transparent 100%);opacity:.32;pointer-events:none}
.brand{min-width:230px}.desktop-nav>a,.nav-trigger{border-right:1px solid #2e2e36}.desktop-nav>.nav-group:first-of-type{border-left:1px solid #2e2e36}.desktop-nav>.nav-group:first-of-type:before{content:'';position:absolute;height:2px;left:0;right:0;top:0;background:linear-gradient(90deg,var(--orange),var(--mint),var(--violet));z-index:2}.desktop-nav>.nav-group:first-of-type .nav-trigger{min-width:130px;justify-content:center;background:#17171c}.header-contact{height:44px;align-self:center;margin:0 22px;padding:0 15px;border:1px solid #6f9c8d;background:linear-gradient(#131318,#131318) padding-box,linear-gradient(90deg,var(--orange),var(--mint),var(--violet)) border-box;color:#fff}.header-contact:hover{background:var(--mint);color:#101015}.nav-panel{border-top:2px solid var(--mint)}
.hero-v2{height:min(880px,calc(100svh - 112px));min-height:680px;padding:0 max(5.5vw,24px);align-items:stretch;background-color:#101014;isolation:isolate}
.hero-v2:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 40%,#7655aa30 0%,transparent 37%),radial-gradient(ellipse at 48% 68%,#41897817 0%,transparent 43%);z-index:-1}
.hero-v2:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101014 0%,#101014d9 38%,transparent 68%);z-index:0;pointer-events:none}
.hero-topline{position:absolute;top:24px;left:max(5.5vw,24px);right:max(5.5vw,24px);display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.045em;color:#a6a6ad;z-index:5}.hero-topline span:last-child{display:flex;align-items:center;gap:10px}.hero-topline .live-dot{width:6px;height:6px}
.hero-trace{position:absolute;top:11%;left:17%;width:52%;height:210px;border-top:1px solid #55545f;border-right:1px solid #55545f;border-radius:0 27px 0 0;z-index:3;pointer-events:none}.hero-trace:before{content:'';position:absolute;left:0;top:-2px;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--orange),var(--mint),var(--violet),transparent);background-size:220% 100%;animation:traceShift 5s linear infinite;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.hero-trace:after{content:'';position:absolute;right:-5px;bottom:0;width:9px;height:9px;border-radius:50%;background:var(--violet);box-shadow:0 0 22px 8px #aa8cff66;animation:nodePulse 3s ease-in-out infinite}.hero-trace>span{position:absolute;left:-8px;top:-9px;width:16px;height:16px;border:1px solid var(--orange);transform:rotate(45deg)}.hero-trace>i{position:absolute;right:0;top:0;width:1px;height:100%;background:linear-gradient(var(--mint),var(--violet),transparent)}
@keyframes traceShift{to{background-position:220% 0}}@keyframes nodePulse{50%{box-shadow:0 0 36px 12px #aa8cff99;transform:scale(1.3)}}
.hero-prompt{position:absolute;top:17%;left:max(8vw,30px);width:min(580px,46vw);height:88px;border:1px solid #5f606b;background:#18181fcc;z-index:5;display:flex;align-items:center;gap:13px;padding:0 21px;box-shadow:0 22px 60px #0006;backdrop-filter:blur(10px)}.hero-prompt:before{content:'';position:absolute;left:0;top:0;height:100%;width:3px;background:linear-gradient(var(--orange),var(--mint),var(--violet))}.prompt-icon{font-size:31px;color:var(--mint);line-height:1}.prompt-led{width:6px;height:6px;background:var(--mint);border-radius:50%;box-shadow:0 0 13px var(--mint);flex:none}.prompt-label{font:9px var(--mono);color:#a0a1ad;position:absolute;left:70px;top:15px}.hero-prompt strong{font:12px var(--mono);font-weight:400;letter-spacing:.035em;color:#f3f3f4;padding-top:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-caret{color:var(--mint);font:17px var(--mono);padding-top:14px;animation:caretBlink .8s steps(2,start) infinite}@keyframes caretBlink{to{opacity:0}}
.hero-v2 .hero-content{position:relative;z-index:4;width:57%;margin-top:auto;margin-bottom:105px;padding:0}.hero-kicker{font:clamp(11px,1.1vw,16px) var(--mono);letter-spacing:.07em;color:#d7d7dc;margin:0 0 9px}.hero-v2 .hero-title{font-size:clamp(74px,8.5vw,146px);line-height:.99;letter-spacing:-.085em;margin:0 0 25px;font-weight:500}.hero-v2 .hero-title>span:first-child{display:inline-block}.hero-v2 .hero-title .hero-ai{display:inline-block;position:relative;color:#f5f4f6;text-shadow:0 0 50px #aa87ff49}.hero-v2 .hero-title .hero-ai:after{content:'';position:absolute;left:-8px;right:-15px;top:10%;bottom:0;border:2px solid transparent;border-image:linear-gradient(120deg,var(--mint),var(--orange),var(--violet)) 1;clip-path:polygon(0 0,70% 0,70% 22%,100% 22%,100% 100%,0 100%);pointer-events:none}.hero-v2 .hero-description{font-size:clamp(15px,1.4vw,18px);line-height:1.6;max-width:470px;color:#d0d0d8;margin:0}.hero-v2 .hero-buttons{margin-top:28px;gap:30px}.hero-v2 .button-bright{min-height:55px;background:transparent;color:#f6f6f7;border:1px solid var(--mint);position:relative;overflow:hidden}.hero-v2 .button-bright:before{content:'';position:absolute;inset:0;transform:translateX(-101%);background:linear-gradient(90deg,var(--mint),#b6e2ec);transition:transform .35s;z-index:-1}.hero-v2 .button-bright:hover{color:#111;box-shadow:0 0 25px #89e8c343}.hero-v2 .button-bright:hover:before{transform:none}.hero-v2 .text-link{font-size:10px;color:#e0e0e5}
.hero-v2 .hero-visual.robot-stage{position:absolute;z-index:2;top:0;bottom:0;right:1%;width:54%;height:auto;aspect-ratio:auto;transform:none;overflow:hidden;pointer-events:none}.robot-stage:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent 60%,#101014 100%);pointer-events:none}.robot-halo{position:absolute;z-index:0;left:14%;top:12%;width:75%;aspect-ratio:1;border-radius:50%;border:1px solid #8790a259;box-shadow:0 0 80px #ad8cfb24,inset 0 0 80px #98e0de13;animation:haloBreathe 6s ease-in-out infinite}.halo-inner{left:23%;top:19%;width:58%;border-color:#88ddc28b;animation-delay:-3s}.halo-outer:before,.halo-inner:before{content:'';position:absolute;left:18%;top:11%;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 20px var(--mint)}.halo-inner:before{background:var(--orange);box-shadow:0 0 20px var(--orange);left:80%;top:20%}@keyframes haloBreathe{50%{transform:scale(1.06);opacity:.65}}
.robot-grid{position:absolute;inset:15% 0 10%;background:repeating-linear-gradient(0deg,transparent 0 40px,#fff1 41px 42px),repeating-linear-gradient(90deg,transparent 0 70px,#fff1 71px 72px);mask-image:radial-gradient(ellipse at center,#000 0%,transparent 65%)}.robot-wrap{position:absolute;z-index:1;width:90%;height:105%;bottom:-18%;right:0;transform:translate3d(var(--robot-x,0px),var(--robot-y,0px),0);transition:transform .18s ease-out;animation:robotFloat 7s ease-in-out infinite}.robot-image{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(-30px 20px 40px #000b) drop-shadow(0 0 36px #9f8fff25)}@keyframes robotFloat{50%{translate:0 -14px}}
.robot-scan{position:absolute;z-index:2;left:22%;right:10%;height:1px;top:26%;background:linear-gradient(90deg,transparent,var(--mint),transparent);box-shadow:0 0 20px 2px var(--mint);opacity:.3;animation:scanMove 7s linear infinite}@keyframes scanMove{0%,100%{top:22%;opacity:0}20%{opacity:.45}80%{opacity:.25}90%{top:85%;opacity:0}}
.hero-v2 .visual-chip{z-index:4;letter-spacing:.04em}.hero-v2 .chip-one{left:2%;top:38%;border-color:#8d8178;background:#1b1a20e0}.hero-v2 .chip-one span{color:var(--mint);margin-left:12px}.hero-v2 .chip-two{right:5%;top:28%}.hero-v2 .chip-three{left:17%;bottom:15%;border-color:var(--violet);background:#191922e5}.hero-side-rail{position:absolute;z-index:5;right:22px;top:38%;display:flex;align-items:center;flex-direction:column;gap:17px;color:#a6a6ae;font:9px var(--mono);writing-mode:vertical-rl}.hero-side-rail i{width:3px;height:3px;border-radius:50%;background:#777}.hero-side-rail i.active{width:7px;height:7px;background:var(--mint);box-shadow:0 0 10px var(--mint)}.hero-side-rail span:last-child{margin-top:12px}.hero-v2 .hero-bottom{z-index:5;bottom:23px;left:max(5.5vw,24px);right:max(5.5vw,24px);padding-top:18px;border-top:1px solid #67667188}.hero-bottom a{display:flex;align-items:center;gap:14px}.down-arrow{font:18px var(--sans);color:var(--mint);animation:arrowDown 2s ease-in-out infinite}@keyframes arrowDown{50%{transform:translateY(5px)}}.hero-bottom-line{width:60px;height:1px;background:var(--mint);margin-right:auto}
.service-card,.directory-card{border-top:1px solid #45444d}.service-card:hover,.directory-card:hover{box-shadow:inset 0 0 70px #8ce7c20a}.service-card .service-art:before,.directory-card .service-art:before{border-width:2px}.service-card .card-arrow,.directory-card .card-arrow{border:1px solid #747482;width:36px;height:36px;display:grid;place-items:center;font-size:17px}.service-card:hover .card-arrow,.directory-card:hover .card-arrow{border-color:var(--mint)}.service-card .card-bottom h3{font-weight:500;letter-spacing:-.055em}.section-heading{font-weight:500}.statement-orb{animation:haloBreathe 7s ease-in-out infinite}.industry-row:hover strong{color:var(--mint)}
.hero-prompt strong{transition:opacity .25s,transform .25s}.hero-prompt strong.changing{opacity:0;transform:translateY(-7px)}.cursor-reticle{position:fixed;left:-100px;top:-100px;width:24px;height:24px;border:1px solid #8ce7c2b8;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:999;transition:width .24s,height .24s,border-color .24s,background .24s;box-shadow:0 0 15px #8ce7c22a}.cursor-reticle span{position:absolute;left:50%;top:50%;width:3px;height:3px;background:var(--mint);border-radius:50%;transform:translate(-50%,-50%)}.cursor-reticle.is-hovering{width:49px;height:49px;border-color:var(--orange);background:#f4ad850d}.cursor-reticle.is-hovering span{background:var(--orange)}
@media(max-width:1100px){.brand{min-width:0}.hero-v2 .hero-content{width:63%}.hero-v2 .hero-title{font-size:clamp(74px,9vw,112px)}.hero-v2 .hero-visual.robot-stage{width:59%;right:-7%}.hero-prompt{top:16%;left:7%;width:55%}.hero-v2 .chip-one{display:none}}
@media(max-width:760px){.cursor-reticle{display:none}.header-contact{margin:0 0 0 auto;height:100%;border:0;border-left:1px solid #34343b}.hero-v2{min-height:850px;height:auto;padding:0 22px}.hero-topline{top:21px;left:22px;right:22px;font-size:8px}.hero-topline span:last-child{display:none}.hero-trace{top:12%;left:6%;width:79%;height:150px}.hero-prompt{left:22px;top:17%;width:calc(100% - 75px);height:75px;padding-left:15px}.prompt-icon{font-size:25px}.prompt-label{left:56px}.hero-prompt strong{font-size:10px}.hero-v2 .hero-content{width:100%;margin:310px 0 160px;padding:0}.hero-v2 .hero-title{font-size:clamp(66px,13.5vw,102px);margin-bottom:20px}.hero-v2 .hero-description{max-width:390px;font-size:15px}.hero-v2 .hero-visual.robot-stage{width:90%;height:580px;top:auto;bottom:20px;right:-22%;opacity:.58}.robot-wrap{bottom:-22%;right:0;width:85%;height:115%}.hero-v2:after{background:linear-gradient(90deg,#101014 0%,#101014dd 18%,transparent 72%),linear-gradient(0deg,#101014 0%,transparent 45%)}.hero-v2 .chip-one,.hero-v2 .chip-two,.hero-v2 .chip-three,.hero-side-rail{display:none}.hero-v2 .hero-bottom{left:22px;right:22px}.hero-v2 .hero-buttons{gap:18px}.hero-v2 .text-link{display:inline-flex}.hero-trace:after{display:none}}
@media(max-width:540px){.hero-v2{min-height:810px}.hero-prompt{top:15%;height:68px}.hero-v2 .hero-content{margin-top:280px;margin-bottom:135px}.hero-v2 .hero-title{font-size:clamp(61px,15vw,82px)}.hero-v2 .hero-description{max-width:320px}.hero-v2 .hero-visual.robot-stage{height:500px;width:105%;right:-34%;bottom:20px;opacity:.4}.hero-v2 .hero-buttons .text-link{display:none}.hero-v2 .button{min-height:52px}.hero-trace{height:130px}.hero-bottom-line{width:25px}}
@media(prefers-reduced-motion:reduce){.cursor-reticle{display:none}.hero-trace:before,.hero-trace:after,.robot-halo,.robot-wrap,.robot-scan,.prompt-caret,.down-arrow{animation:none!important}.robot-wrap{transform:none!important}}
