/* Tokens: Frubis Design System v3.0 (frubis-brandbook.netlify.app, frubis-tokens.css) */
:root{--f-green-50:#deffe2;--f-green-100:#b3fdbf;--f-green-200:#9beba9;--f-green-300:#7bd58c;--f-green-400:#60BB73;--f-green-500:#42a35a;--f-green-600:#338848;--f-green-700:#246e37;--f-green-900:#063b17;--f-neutral-100:#191d1b;--f-neutral-400:#393d3b;--f-neutral-700:#848785;--f-neutral-1000:#f5f7f6;--f-bg-secondary:#111513;--f-brand-black:#06100C;--green:var(--f-green-400);--green-hover:var(--f-green-300);--green-ink:var(--f-green-700);--black:var(--f-brand-black);--white:#fff;--mint:var(--f-green-50);--paper:var(--f-neutral-1000);--sage:var(--f-green-50);--forest:var(--f-green-900);--line:rgba(6,16,12,.14);--n200:var(--line);--n500:var(--f-neutral-700);--n700:var(--f-neutral-400);--sans:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--ease:cubic-bezier(.2,0,0,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--black);font-family:var(--sans);line-height:1.55;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:var(--green);color:var(--black)}
.container{margin:auto;max-width:1200px;width:min(91%,1200px)}.mono{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase}.kicker{align-items:center;color:var(--n700);display:flex;font:500 .66rem/1.3 var(--mono);gap:10px;letter-spacing:.14em;text-transform:uppercase}.kicker:before{background:var(--green);content:"";flex:none;height:6px;width:6px}.rule{border-top:1px solid var(--n200)}
header{align-items:center;background:rgba(5,15,12,.96);border-bottom:1px solid rgba(255,255,255,.12);display:flex;height:76px;justify-content:space-between;left:0;padding:0 max(4.5vw,24px);position:fixed;right:0;top:0;z-index:50}header img{height:23px;width:auto}.nav{align-items:center;color:rgba(255,255,255,.72);display:flex;gap:28px;font-size:.85rem}.nav a{padding:8px 0;position:relative}.nav a:after{background:var(--green);bottom:0;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:.2s;width:100%}.nav a:hover{color:#fff}.nav a:hover:after{transform:scaleX(1)}.nav a.current{color:#fff}.nav a.current:after{transform:scaleX(1)}.nav-cta{border:1px solid var(--green);color:var(--green)!important;padding:10px 16px!important}.nav-cta:hover{background:var(--green);color:var(--black)!important}.menu{background:none;border:0;color:#fff;display:none;font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.hero{--mx:0px;--my:0px;background:var(--black);color:#fff;isolation:isolate;min-height:100svh;overflow:hidden;padding:148px 0 70px;position:relative}.hero:after{border:1px solid rgba(96,187,115,.42);border-radius:50%;content:"";height:54vw;max-height:720px;max-width:720px;position:absolute;right:-23vw;top:7vh;transform:translate(calc(var(--mx)*-.35),calc(var(--my)*-.35));transition:transform .15s linear;width:54vw}.hero-atmosphere{inset:0;pointer-events:none;position:absolute;z-index:-1}.hero-giant-words{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:-1}.giant-word{color:rgba(96,187,115,.05);font-weight:900;letter-spacing:-.03em;position:absolute;white-space:nowrap}.gw-1{animation:driftWordA 30s ease-in-out infinite;font-size:clamp(7rem,17vw,19rem);left:-4%;top:6%}.gw-2{animation:driftWordB 38s ease-in-out infinite;color:rgba(255,255,255,.04);font-size:clamp(6rem,14vw,16rem);left:22%;top:52%}.gw-3{animation:driftWordC 25s ease-in-out infinite;font-size:clamp(8rem,20vw,22rem);right:-6%;top:28%}.gw-4{animation:driftWordB 33s ease-in-out infinite 3s;color:rgba(96,187,115,.035);font-size:clamp(5rem,11vw,12rem);left:8%;top:78%}
@keyframes driftWordA{0%,100%{transform:translateX(0)}50%{transform:translateX(3vw)}}
@keyframes driftWordB{0%,100%{transform:translateX(0)}50%{transform:translateX(-4vw)}}
@keyframes driftWordC{0%,100%{transform:translateX(0)}50%{transform:translateX(-2.5vw)}}
@media(max-width:850px){.hero-giant-words{display:none}}
.hero-bg-words{display:none}
@media(max-width:850px){.hero-bg-words{display:none}}.orbit{border:1px solid rgba(96,187,115,.16);border-radius:50%;position:absolute}.orbit.one{animation:driftA 13s ease-in-out infinite;height:36vw;left:-15vw;top:24%;width:36vw}.orbit.two{animation:driftB 17s ease-in-out infinite;height:18vw;right:18%;top:8%;width:18vw}.orb{display:none}.wave-field{bottom:-7%;height:48%;left:-12%;opacity:.8;position:absolute;right:-12%;transform:translate(calc(var(--mx)*-.08),calc(var(--my)*-.1));transition:transform .2s linear}.wave{animation:waveTravel 11s ease-in-out infinite;border-top:1px solid rgba(96,187,115,.42);border-radius:50%;height:58%;left:-8%;position:absolute;top:var(--top);transform:rotate(var(--tilt));width:116%}.wave:nth-child(2){animation-delay:-2.2s;animation-duration:14s;opacity:.75}.wave:nth-child(3){animation-delay:-5.5s;animation-duration:17s;opacity:.55}.wave:nth-child(4){animation-delay:-8s;animation-duration:20s;opacity:.38}.wave:nth-child(5){animation-delay:-3.7s;animation-duration:23s;opacity:.25}.hero-grid{align-items:end;display:grid;gap:70px;grid-template-columns:1.35fr .65fr;min-height:calc(100svh - 218px);position:relative;z-index:1}.hero-title{perspective:900px;transform:translate(calc(var(--mx)*.18),calc(var(--my)*.18));transition:transform .18s ease-out}.hero h1{font-size:clamp(4rem,9.6vw,9.5rem);font-weight:600;letter-spacing:-.065em;line-height:.82;margin-top:30px;max-width:990px}.hero-line{display:inline-block;transform-origin:left center;transition:letter-spacing .45s,transform .45s}.hero:hover .hero-line:first-child{letter-spacing:-.075em;transform:rotateX(2deg)}.hero h1 .brand-word{color:var(--green);display:inline-block;position:relative}.hero h1 .brand-word:after{background:var(--green);bottom:-.03em;content:"";height:.035em;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.8,.2,1);width:100%}.hero:hover .brand-word:after{transform:scaleX(1)}.hero-copy{align-self:end;border-left:1px solid var(--green);padding-left:24px;transform:translate(calc(var(--mx)*-.2),calc(var(--my)*-.2));transition:transform .2s ease-out}.hero-copy p{color:rgba(255,255,255,.72);font-size:1.08rem;margin-bottom:28px}.hero-copy .text-link{will-change:transform}.text-link{align-items:center;color:var(--green);display:inline-flex;font:500 .72rem var(--mono);gap:10px;letter-spacing:.12em;text-transform:uppercase}.text-link span{font-size:1.2rem;transition:.2s}.text-link:hover span{transform:translateX(6px)}.scroll-note{animation:pulseScroll 2.2s ease-in-out infinite;bottom:35px;color:rgba(255,255,255,.45);font:400 .62rem var(--mono);left:max(4.5vw,24px);letter-spacing:.14em;position:absolute;text-transform:uppercase}
.signals{background:var(--green);color:var(--black);display:grid;grid-template-columns:repeat(3,1fr);position:relative}.signal{border-right:1px solid rgba(6,16,12,.22);cursor:default;overflow:hidden;padding:36px max(3.2vw,28px);position:relative}.signal:last-child{border-right:0}.signal:before{background:var(--black);content:"";inset:0;position:absolute;transform:translateY(101%);transition:transform .45s var(--ease)}.signal strong,.signal span{position:relative;z-index:1}.signal strong{display:block;font-size:clamp(1.3rem,2vw,1.9rem);font-weight:600;letter-spacing:-.03em;transition:color .3s}.signal span{display:block;font-size:.95rem;line-height:1.5;margin-top:8px;max-width:340px;transition:color .3s}.signal:hover:before{transform:none}.signal:hover strong{color:var(--green)}.signal:hover span{color:rgba(255,255,255,.78)}
.hero-grid{align-items:center;gap:clamp(40px,6vw,95px);grid-template-columns:minmax(0,1.2fr) minmax(250px,.52fr)}.hero-title{min-width:0}.hero h1{font-size:clamp(3.6rem,6.9vw,7.4rem);font-weight:700;letter-spacing:-.05em;line-height:1;max-width:none}.hero-title .kicker{align-items:center;display:flex;gap:12px}.hero-title .kicker:before{background:var(--green);content:"";height:1px;width:34px}.hero-copy{background:rgba(5,15,12,.72);border-left:1px solid var(--green);padding:24px 0 24px 28px;position:relative}.hero-proof{border-top:1px solid rgba(255,255,255,.16);display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:32px;padding-top:18px}.hero-proof span{color:rgba(255,255,255,.48);font:500 .59rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.hero-proof strong{color:#fff;display:block;font:600 1rem var(--sans);letter-spacing:0;margin-bottom:3px;text-transform:none}.hero-proof-3{grid-template-columns:repeat(3,1fr)}.wave-field{bottom:-15%;height:45%;opacity:.45}.hero:after{opacity:.62}.hero-line:first-child{white-space:nowrap}
.hero-subtitle{color:rgba(255,255,255,.6);font-size:clamp(1rem,1.5vw,1.2rem);margin-top:22px;max-width:560px}
.hero-channels{display:flex;flex-direction:column;gap:10px}.hero-channel-group{display:flex;flex-wrap:wrap;gap:8px}.hero-channel-group span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;color:rgba(255,255,255,.75);font:500 .68rem var(--mono);letter-spacing:.02em;padding:6px 12px;text-transform:uppercase}
.growth-engine{background:var(--paper);color:var(--black);overflow:hidden;position:relative}.growth-engine .section-head p{color:var(--n700)}.growth-engine-bg{color:rgba(5,15,12,.04);font-size:clamp(4.5rem,15vw,15rem);font-weight:900;left:50%;letter-spacing:-.03em;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:0}.growth-flow{align-items:center;color:var(--black);display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:0;position:relative;z-index:1}.growth-flow span{font:600 1.05rem var(--mono);letter-spacing:.05em;text-transform:uppercase}.growth-flow .flow-arrow{color:var(--green)}
@media(max-width:850px){.hero-proof-3{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.hero-grid{grid-template-columns:minmax(0,1fr) 290px}.hero h1{font-size:clamp(3.4rem,6.8vw,6rem)}}
@keyframes driftA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(7vw,-4vh) scale(1.08)}}@keyframes driftB{0%,100%{transform:translate(0,0)}50%{transform:translate(-5vw,7vh)}}@keyframes floatOrb{0%,100%{transform:translate(0,0) scale(1)}35%{transform:translate(70px,-55px) scale(1.5)}70%{transform:translate(-35px,30px) scale(.7)}}@keyframes waveTravel{0%,100%{border-radius:44% 56% 50% 50%;transform:translate3d(-2%,12px,0) rotate(var(--tilt)) scaleY(.82)}35%{border-radius:58% 42% 46% 54%;transform:translate3d(4%,-22px,0) rotate(var(--tilt)) scaleY(1.14)}68%{border-radius:48% 52% 60% 40%;transform:translate3d(-4%,8px,0) rotate(var(--tilt)) scaleY(.94)}}@keyframes pulseScroll{0%,100%{opacity:.38;transform:translateY(0)}50%{opacity:.9;transform:translateY(7px)}}
.page-hero{background:var(--black);color:#fff;padding:170px 0 70px}.page-hero .kicker{margin-bottom:18px}.page-hero h1{font-size:clamp(2.6rem,5.8vw,5rem);font-weight:600;letter-spacing:-.045em;line-height:1.02;max-width:900px}.page-hero h1 span{color:var(--green)}.page-hero p{color:rgba(255,255,255,.68);font-size:1.05rem;margin-top:22px;max-width:640px}.page-hero .lede{border-left:1px solid var(--green);color:rgba(255,255,255,.75);font-size:1.1rem;margin-top:30px;max-width:680px;padding-left:22px}
.breadcrumb{color:rgba(255,255,255,.5);font:400 .68rem var(--mono);letter-spacing:.1em;margin-bottom:16px;text-transform:uppercase}.breadcrumb a{color:rgba(255,255,255,.72)}.breadcrumb a:hover{color:var(--green)}
.deliverables{background:var(--sage)}.deliv-grid{border-top:1px solid var(--n200);display:grid;grid-template-columns:repeat(2,1fr)}.deliv{border-bottom:1px solid var(--n200);border-right:1px solid var(--n200);padding:34px 30px 34px 0}.deliv:nth-child(2n){border-right:0;padding-left:30px;padding-right:0}.deliv h3{font-size:1.3rem;font-weight:600;margin-bottom:10px}.deliv p{color:var(--n700);font-size:.95rem}
.service-cta{background:var(--green);padding:90px 0}.service-cta-grid{align-items:end;display:grid;gap:50px;grid-template-columns:1.3fr .7fr}.service-cta h2{font-size:clamp(2.2rem,5vw,4.6rem);font-weight:600;letter-spacing:-.05em;line-height:.94}.service-cta p{margin-bottom:24px}.service-cta .text-link{color:var(--black);margin-top:0}
@media(max-width:850px){.deliv-grid,.service-cta-grid{grid-template-columns:1fr}.deliv:nth-child(2n){border-right:1px solid var(--n200);padding-left:0}}
section{padding:96px 0}.section-head{align-items:end;display:grid;gap:40px;grid-template-columns:.7fr 1.3fr;margin-bottom:62px}.section-head h2{font-size:clamp(2.4rem,5.2vw,5.2rem);font-weight:600;letter-spacing:-.045em;line-height:1}.section-head h2+p{margin-top:22px}.section-head p{color:var(--n700);font-size:1.05rem;max-width:640px}
.capabilities{background:var(--sage)}.cap-layout{border-top:1px solid var(--n200);display:grid;grid-template-columns:.6fr 1.4fr}.cap-tabs{border-right:1px solid var(--n200);padding:30px 30px 30px 0}.cap-tab{background:transparent;border:0;border-bottom:1px solid var(--n200);color:var(--n500);cursor:pointer;display:flex;font:500 .76rem var(--mono);justify-content:space-between;padding:20px 0;text-align:left;text-transform:uppercase;width:100%}.cap-tab.active,.cap-tab:hover{color:var(--black)}.cap-tab.active span{color:var(--green)}.cap-panel{min-height:390px;padding:50px 0 30px 70px}.cap-panel small{color:var(--green);font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.cap-panel h3{font-size:clamp(2rem,4vw,4rem);font-weight:600;letter-spacing:-.045em;line-height:1;margin:20px 0}.cap-panel p{color:var(--n700);font-size:1.05rem;max-width:680px}.cap-list{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);list-style:none;margin-top:32px}.cap-list li{border-top:1px solid var(--n200);padding:12px 0}.cap-list li:before{color:var(--green);content:"→";margin-right:10px}
.system{background:var(--black);color:#fff}.system .section-head p{color:rgba(255,255,255,.62)}.steps{border-bottom:1px solid rgba(255,255,255,.16);border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(4,1fr)}.step{border-right:1px solid rgba(255,255,255,.16);min-height:290px;padding:28px;transition:.25s}.step:last-child{border:0}.step:hover{background:var(--green);color:var(--black)}.step-num{color:var(--green);font:500 .68rem var(--mono);letter-spacing:.16em}.step:hover .step-num{color:var(--black)}.step h3{font-size:1.55rem;font-weight:600;margin:90px 0 12px}.step p{color:rgba(255,255,255,.58);font-size:.92rem}.step:hover p{color:rgba(5,15,12,.72)}
.tech-ai{background:var(--sage);overflow:hidden}.tech-grid{background:var(--n200);display:grid;gap:1px;grid-template-columns:.82fr 1.18fr}.suite-copy{background:var(--green);padding:42px}.suite-copy h3{font-size:clamp(2.2rem,4vw,4.3rem);font-weight:600;letter-spacing:-.05em;line-height:.95;margin:20px 0}.suite-copy p{max-width:520px}.suite-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.suite-tags span{border:1px solid rgba(5,15,12,.35);font:500 .65rem var(--mono);padding:8px 10px;text-transform:uppercase}.suite-console{background:var(--black);color:#fff;min-height:400px;padding:30px}.suite-head{align-items:center;border-bottom:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;padding-bottom:18px}.suite-head span{color:var(--green);font:500 .65rem var(--mono);letter-spacing:.1em}.suite-query{border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:.9rem;margin:28px 0 16px;padding:16px}.suite-answer{background:rgba(96,187,115,.1);border-left:2px solid var(--green);font-size:.88rem;margin-bottom:10px;padding:15px}.suite-answer strong{color:var(--green);display:block;font:500 .66rem var(--mono);letter-spacing:.1em;margin-bottom:5px;text-transform:uppercase}.suite-products{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.suite-products button{background:transparent;border:1px solid rgba(255,255,255,.24);color:#fff;cursor:pointer;font:500 .68rem var(--mono);padding:9px 11px}.suite-products button:hover,.suite-products button.active{background:var(--green);border-color:var(--green);color:var(--black)}.tech-stack{background:var(--n200);display:grid;gap:1px;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.tech-card{background:var(--mint);cursor:pointer;min-height:250px;padding:25px;position:relative;transition:.35s}.tech-card:hover,.tech-card.active{background:var(--black);color:#fff}.tech-card small{color:var(--green);font:500 .65rem var(--mono);letter-spacing:.12em}.tech-card h3{font-size:1.35rem;margin:55px 0 12px}.tech-card p{color:var(--n700);font-size:.84rem}.tech-card:hover p,.tech-card.active p{color:rgba(255,255,255,.62)}.tech-pulse{border:1px solid var(--green);border-radius:50%;height:30px;position:absolute;right:22px;top:22px;width:30px}.tech-card:hover .tech-pulse,.tech-card.active .tech-pulse{animation:techPulse 1.8s ease-out infinite}@keyframes techPulse{0%{box-shadow:0 0 0 0 rgba(96,187,115,.55)}100%{box-shadow:0 0 0 18px rgba(96,187,115,0)}}
@media(max-width:850px){.tech-grid{grid-template-columns:1fr}.tech-stack{grid-template-columns:1fr 1fr}.tech-card:last-child{grid-column:1/-1}}
@media(max-width:520px){.tech-stack{grid-template-columns:1fr}.tech-card:last-child{grid-column:auto}}
.partners{background:var(--mint);overflow:hidden;padding-bottom:80px}.partners-tagline{color:var(--black);font:600 .95rem/1.3 var(--mono);letter-spacing:.04em;margin-top:36px;text-transform:uppercase}.partner-carousel{margin-top:40px;overflow:hidden;position:relative;width:100%}.partner-carousel:before,.partner-carousel:after{content:"";inset:0 auto;position:absolute;top:0;bottom:0;width:min(14vw,140px);z-index:2}.partner-carousel:before{left:0;background:linear-gradient(to right,var(--sage),transparent)}.partner-carousel:after{right:0;background:linear-gradient(to left,var(--sage),transparent)}.partner-track{align-items:center;animation:partnerScroll 24s linear infinite;display:flex;gap:110px;width:max-content}.partner-carousel:hover .partner-track{animation-play-state:paused}.partner-logo{align-items:center;display:flex;flex:none;height:78px;justify-content:center}.partner-logo img{display:block;height:100%;max-width:220px;object-fit:contain;width:auto}
@keyframes partnerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:520px){.partner-track{gap:60px}.partner-logo{height:52px}.partner-logo img{max-width:140px}}
.insights{background:var(--paper);padding:70px 0}.insights .section-head{gap:24px;margin-bottom:36px}.insights .section-head h2{font-size:clamp(1.7rem,3vw,2.6rem)}.insights .section-head p{font-size:.92rem}.accordion{border-top:1px solid var(--n200)}.acc-item{border-bottom:1px solid var(--n200)}.acc-btn{align-items:center;background:none;border:0;color:var(--black);cursor:pointer;display:grid;grid-template-columns:50px 1fr auto;padding:16px 0;text-align:left;width:100%}.acc-btn span:first-child{color:var(--green);font:500 .68rem var(--mono)}.acc-btn strong{font-size:clamp(.92rem,1.3vw,1.05rem);font-weight:500}.acc-btn i{font-style:normal;font-size:1.2rem;transition:.2s}.acc-item.open .acc-btn i{transform:rotate(45deg)}.acc-content{color:var(--n700);display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.acc-content>div{overflow:hidden}.acc-content p{font-size:.86rem;max-width:700px;padding:0 0 18px 50px}.acc-item.open .acc-content{grid-template-rows:1fr}
.blog{background:var(--mint)}.blog-grid{border-top:1px solid var(--n200);display:grid;grid-template-columns:1.2fr .8fr .8fr}.post{border-right:1px solid var(--n200);display:flex;flex-direction:column;min-height:430px;padding:30px;transition:.25s}.post:last-child{border-right:0}.post:hover{background:var(--black);color:#fff}.post-meta{color:var(--green);font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.post h3{font-size:clamp(1.55rem,2.8vw,3rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;margin:45px 0 18px}.post:not(.featured) h3{font-size:1.75rem}.post p{color:var(--n700);font-size:.92rem}.post:hover p{color:rgba(255,255,255,.62)}.post .text-link{margin-top:auto;padding-top:35px}.post-index{align-items:center;border:1px solid var(--n200);border-radius:50%;display:flex;font:500 .7rem var(--mono);height:42px;justify-content:center;margin-left:auto;width:42px}.post:hover .post-index{border-color:var(--green)}
.team{background:var(--black);color:#fff}.team .section-head p{color:rgba(255,255,255,.62)}.team-grid{display:grid;gap:1px;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.18)}.person{background:var(--black);overflow:hidden;position:relative}.person-photo{aspect-ratio:4/4.7;overflow:hidden}.person img{filter:grayscale(1);height:100%;object-fit:cover;transition:.45s;width:100%}.person:hover img{filter:none;transform:scale(1.025)}.person-copy{border-top:3px solid var(--green);min-height:135px;padding:22px;text-align:center}.person h3{font-size:1.25rem;font-weight:600}.person p{color:rgba(255,255,255,.56);font-size:.84rem;margin-top:5px}.person-link{color:inherit;display:block;height:100%}.person-link:focus-visible{outline:0}.person-link:focus-visible:after{box-shadow:inset 0 0 0 2px var(--green);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.person h3{transition:color .2s}.person-link:hover h3,.person-link:focus-visible h3{color:var(--green)}.person-in{color:var(--green);font:500 .65rem var(--mono);position:absolute;right:20px;top:20px}
.contact{background:var(--green)}.contact-grid{display:grid;gap:8vw;grid-template-columns:.75fr 1.25fr}
.cta-band{display:grid;gap:60px;grid-template-columns:1.15fr .85fr}.cta-band-main h2{font-size:clamp(2.2rem,4.4vw,3.8rem);font-weight:600;letter-spacing:-.05em;line-height:.96}.cta-band-main p{margin:18px 0 30px;max-width:460px}.btn-primary{align-items:center;background:var(--black);color:#fff!important;display:inline-flex;font:600 .74rem var(--mono);gap:10px;letter-spacing:.1em;padding:17px 26px;text-transform:uppercase;transition:transform .2s,background .2s}.btn-primary:hover{background:#000;transform:translateY(-2px)}.btn-primary span{transition:transform .2s}.btn-primary:hover span{transform:translateX(5px)}.cta-band-proof{border-left:1px solid rgba(5,15,12,.25);display:grid;gap:26px 20px;grid-template-columns:1fr 1fr;padding-left:40px}.cta-band-proof div strong{display:block;font-size:1.7rem;font-weight:700;letter-spacing:-.02em}.cta-band-proof div span{color:rgba(5,15,12,.68);display:block;font:500 .64rem var(--mono);letter-spacing:.06em;margin-top:4px;text-transform:uppercase}
@media(max-width:850px){.cta-band{grid-template-columns:1fr}.cta-band-proof{border-left:0;border-top:1px solid rgba(5,15,12,.25);padding-left:0;padding-top:28px}}.contact h2{font-size:clamp(3rem,6vw,6.3rem);font-weight:600;letter-spacing:-.06em;line-height:.9}.contact-intro{margin-top:25px;max-width:430px}.contact-form{display:grid;gap:18px;grid-template-columns:1fr 1fr}.field{display:grid;gap:7px}.field.full,.service-field,.form-status{grid-column:1/-1}.field label,.service-field>span{font:500 .65rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid rgba(5,15,12,.4);border-radius:0;color:var(--black);font:500 1rem var(--sans);outline:0;padding:12px 0}.field input:focus,.field textarea:focus{border-color:var(--black)}.field textarea{min-height:100px;resize:vertical}.service-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.service-options label{border:1px solid rgba(5,15,12,.35);cursor:pointer;font-size:.75rem;padding:8px 11px}.service-options input{accent-color:var(--black);margin-right:6px}.submit{background:var(--black);border:1px solid var(--black);color:#fff;cursor:pointer;font:500 .7rem var(--mono);grid-column:1/-1;letter-spacing:.12em;padding:16px;text-transform:uppercase}.submit:hover{background:transparent;color:var(--black)}.form-status{font-size:.84rem;min-height:1.3em}
.form-modes{border:1px solid rgba(5,15,12,.35);display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;margin-bottom:8px}.form-mode{background:transparent;border:0;color:rgba(5,15,12,.6);cursor:pointer;font:600 .68rem var(--mono);letter-spacing:.1em;padding:14px;text-transform:uppercase}.form-mode.active{background:var(--black);color:#fff}.career-fields{display:none;gap:18px;grid-column:1/-1;grid-template-columns:1fr 1fr}.contact-form.career-mode .career-fields{display:grid}.contact-form.career-mode .business-only{display:none}.upload-field{grid-column:1/-1}.upload-box{border:1px dashed rgba(5,15,12,.52);cursor:pointer;display:block;padding:25px;text-align:center;transition:.2s}.upload-box:hover,.upload-box.has-file{background:rgba(255,255,255,.22);border-style:solid}.upload-box strong{display:block;font-size:.9rem}.upload-box span{display:block;font:500 .63rem var(--mono);letter-spacing:.08em;margin-top:5px;text-transform:uppercase}.upload-box input{height:1px;opacity:0;position:absolute;width:1px}
.regions{background:var(--mint)}.region-grid{display:grid;grid-template-columns:repeat(4,1fr)}.region-card{appearance:none;background:var(--black);border:0;cursor:pointer;display:block;height:350px;overflow:hidden;padding:0;perspective:1000px;text-align:left;width:100%}.region-inner{display:block;height:100%;position:relative;transform-style:preserve-3d;transition:transform .55s;width:100%}.region-card:hover .region-inner,.region-card.flipped .region-inner{transform:rotateY(180deg)}.region-face{backface-visibility:hidden;display:block;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.region-front{background:var(--black)}.region-front img{display:block;height:100%;max-width:none;object-fit:cover;opacity:.86;width:100%}.region-front:after{background:rgba(5,15,12,.38);content:"";inset:0;position:absolute}.region-name{bottom:22px;color:#fff;font-size:1.4rem;font-weight:600;left:22px;position:absolute;z-index:1}.region-name small{color:var(--green);display:block;font:500 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.region-back{align-items:flex-start;background:var(--black);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;transform:rotateY(180deg)}.region-back p{color:rgba(255,255,255,.62);font-size:.85rem;margin:8px 0 20px}
.routes{background:var(--mint)}.route-grid{border-top:1px solid var(--n200);display:grid;grid-template-columns:repeat(3,1fr)}.route-card{border-right:1px solid var(--n200);border-bottom:1px solid var(--n200);display:flex;flex-direction:column;min-height:240px;padding:30px;transition:.25s}.route-card:nth-child(3n){border-right:0}.route-card:hover{background:var(--black);color:#fff}.route-card small{color:var(--green);font:500 .68rem var(--mono);letter-spacing:.12em}.route-card h3{font-size:1.5rem;font-weight:600;margin:60px 0 10px;letter-spacing:-.02em}.route-card p{color:var(--n700);font-size:.88rem}.route-card:hover p{color:rgba(255,255,255,.62)}.route-card .text-link{color:var(--green);margin-top:auto;padding-top:20px}
#canales .route-grid{grid-template-columns:repeat(4,1fr)}#canales .route-card:nth-child(3n){border-right:1px solid var(--n200)}#canales .route-card:nth-child(4n){border-right:0}
@media(max-width:850px){#canales .route-grid{grid-template-columns:1fr 1fr}#canales .route-card:nth-child(3n){border-right:0}#canales .route-card:nth-child(2n){border-right:0}}
@media(max-width:520px){#canales .route-grid{grid-template-columns:1fr}}
@media(max-width:850px){.route-grid{grid-template-columns:1fr 1fr}.route-card:nth-child(3n){border-right:1px solid var(--n200)}.route-card:nth-child(2n){border-right:0}}
@media(max-width:520px){.route-grid{grid-template-columns:1fr}.route-card{border-right:0!important}}
footer{background:var(--black);color:#fff;padding:64px 0 36px}.footer-grid{align-items:flex-start;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer-grid img{height:22px;margin-bottom:6px}.footer-brand p{color:rgba(255,255,255,.55);font:400 .66rem var(--mono);letter-spacing:.08em;max-width:280px;margin-top:10px}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{color:rgba(255,255,255,.55);font:400 .66rem var(--mono);letter-spacing:.08em}.footer-links a:hover{color:#fff}
.footer-cols{display:grid;gap:40px;grid-template-columns:1.3fr 1fr 1fr 1fr}.footer-col img{height:22px;margin-bottom:18px}.footer-pillars{color:rgba(255,255,255,.78);font:600 .84rem/1.7 var(--sans)}.footer-years{color:rgba(255,255,255,.48);font:400 .66rem var(--mono);letter-spacing:.06em;margin-top:18px;text-transform:uppercase}.footer-heading{color:var(--green);font:600 .64rem var(--mono);letter-spacing:.12em;margin-bottom:14px;text-transform:uppercase}.footer-partners{display:flex;flex-direction:column;gap:9px;list-style:none}.footer-partners li{color:rgba(255,255,255,.58);font:400 .8rem var(--sans)}.footer-countries{color:rgba(255,255,255,.55);font:400 .68rem var(--mono);letter-spacing:.05em;text-transform:uppercase}.footer-nav{display:flex;flex-direction:column;gap:9px}.footer-nav a{color:rgba(255,255,255,.58);font:400 .82rem var(--sans)}.footer-nav a:hover{color:var(--green)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:22px;text-align:center}.footer-bottom p{color:rgba(255,255,255,.4);font:400 .64rem var(--mono);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:850px){.footer-cols{grid-template-columns:1fr 1fr;gap:36px 24px}}
@media(max-width:520px){.footer-cols{grid-template-columns:1fr}}
.brand-stamp{background:var(--black);overflow:hidden;padding:clamp(34px,4vw,56px) 16px;position:relative}.brand-stamp-words{display:none}
@keyframes floatWord{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.brand-stamp-text{color:var(--paper);display:block;font-size:clamp(1.4rem,4.4vw,3.6rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;opacity:1;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap;width:100%}
@media(max-width:520px){.brand-stamp-words{display:none}.brand-stamp-text{font-size:clamp(1.6rem,10vw,2.6rem);white-space:normal}}
.chat-toggle{background:var(--green);border:0;bottom:22px;color:var(--black);cursor:pointer;font:600 .72rem var(--mono);letter-spacing:.08em;padding:14px 18px;position:fixed;right:22px;text-transform:uppercase;z-index:80}.chat{background:var(--mint);border:1px solid var(--black);bottom:78px;display:none;max-height:min(610px,72vh);overflow:auto;position:fixed;right:22px;width:min(360px,calc(100vw - 28px));z-index:80}.chat.open{display:block}.chat-head{align-items:center;background:var(--black);color:#fff;display:flex;justify-content:space-between;padding:16px}.chat-head strong{font-size:.95rem}.chat-close{background:none;border:0;color:#fff;cursor:pointer}.chat-body{padding:16px}.chat-messages{display:grid;gap:10px;margin-bottom:14px}.bubble{background:var(--paper);font-size:.84rem;padding:11px 12px}.bubble.user{background:var(--green);margin-left:34px}.quick{display:flex;flex-wrap:wrap;gap:6px}.quick button{background:var(--mint);border:1px solid var(--n200);cursor:pointer;font-size:.72rem;padding:7px 8px}.quick button:hover{border-color:var(--green)}.chat-compose{border-top:1px solid var(--n200);display:grid;grid-template-columns:1fr auto}.chat-compose textarea{border:0;font:inherit;min-height:55px;outline:0;padding:12px;resize:none}.chat-send{background:var(--green);border:0;cursor:pointer;padding:0 15px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.nav{background:var(--black);display:none;inset:76px 0 auto;padding:28px;position:fixed}.nav.open{display:grid}.menu{display:block}.hero-grid,.section-head,.contact-grid{grid-template-columns:1fr}.hero-grid{align-content:center;gap:70px}.hero h1{font-size:clamp(3rem,13vw,5.6rem)}.hero-copy{max-width:520px}.signals{grid-template-columns:1fr}.signal{border-bottom:1px solid rgba(5,15,12,.22);border-right:0}.cap-layout{grid-template-columns:1fr}.cap-tabs{border-bottom:1px solid var(--n200);border-right:0;padding-right:0}.cap-panel{padding:45px 0}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}.partner-row,.team-grid,.region-grid{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:1fr}.post{border-bottom:1px solid var(--n200);border-right:0;min-height:330px}.partner:nth-child(2){border-right:0}.partner:nth-child(-n+2){border-bottom:1px solid var(--n200)}}
@media(max-width:520px){section{padding:48px 0}.steps,.team-grid,.region-grid{grid-template-columns:1fr}.step{border-bottom:1px solid rgba(255,255,255,.16)!important;border-right:0}.cap-list,.contact-form{grid-template-columns:1fr}.acc-btn{grid-template-columns:45px 1fr auto}.acc-content p{padding-left:45px}.footer-links{flex-wrap:wrap}.region-card{height:300px}.chat-toggle{bottom:12px;right:12px}.chat{bottom:67px;right:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
.hero-title .kicker{color:var(--green)}.page-hero .kicker,.team .kicker,.system .kicker,.clients .kicker,.region-back .kicker{color:rgba(255,255,255,.66)}.contact .kicker:before,.suite-copy .kicker:before,.service-cta .kicker:before{background:var(--black)}
.route-card small,.cap-panel small,.tech-card small,.acc-btn span:first-child,.cap-list li:before,.growth-flow .flow-arrow,.routes .text-link,.route-card .text-link,.capabilities .text-link{color:var(--green-ink)}.route-card:hover small,.route-card:hover .text-link,.tech-card:hover small,.tech-card.active small{color:var(--green)}
.nav-item{align-items:center;display:flex;gap:2px;position:relative}.nav-sub-toggle{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:22px}.nav-sub-toggle svg{transition:transform .2s var(--ease)}.nav-item:hover .nav-sub-toggle svg,.nav-item.open .nav-sub-toggle svg{transform:rotate(180deg)}.nav-sub{background:var(--f-bg-secondary);border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 16px 48px rgba(3,7,5,.72);display:grid;left:-14px;min-width:220px;opacity:0;padding:8px;position:absolute;top:calc(100% + 12px);transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;visibility:hidden;z-index:60}.nav-sub:before{content:"";height:14px;left:0;position:absolute;right:0;top:-14px}.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub,.nav-item.open .nav-sub{opacity:1;transform:none;visibility:visible}.nav .nav-sub a{border-radius:6px;color:rgba(255,255,255,.78);font-size:.86rem;padding:9px 12px}.nav .nav-sub a:after{display:none}.nav .nav-sub a:hover,.nav .nav-sub a.current{background:rgba(255,255,255,.06);color:#fff}.nav .nav-sub a.current{box-shadow:inset 2px 0 0 var(--green)}
@media(max-width:850px){.nav-item{display:grid;grid-template-columns:1fr auto}.nav-sub-toggle{height:36px;width:36px}.nav-sub{background:transparent;border:0;box-shadow:none;display:none;grid-column:1/-1;min-width:0;opacity:1;padding:2px 0 8px 14px;position:static;transform:none;visibility:visible}.nav-sub:before{display:none}.nav-item.open .nav-sub{display:grid}}
.hero-subtitle{color:rgba(255,255,255,.74);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.6;margin-top:26px;max-width:600px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:18px;margin-top:30px}.btn-accent{align-items:center;background:var(--green);border-radius:6px;box-shadow:0 8px 24px -8px rgba(96,187,115,.45);color:var(--black);display:inline-flex;font:600 .95rem var(--sans);gap:10px;height:48px;padding:0 24px;transition:background .15s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.btn-accent:hover{background:var(--green-hover);box-shadow:0 12px 32px -8px rgba(96,187,115,.55);transform:translateY(-1px)}.btn-accent span{transition:transform .2s var(--ease)}.btn-accent:hover span{transform:translateX(4px)}
.capabilities .cap-kicker{font-size:1.05rem;margin-bottom:28px}.cap-layout{border-top:1px solid var(--line)}.cap-tabs{border-right:1px solid var(--line);padding:24px 24px 24px 0}.cap-tab{border-bottom:1px solid var(--line);color:var(--n700);padding:18px 14px;position:relative;transition:background .2s var(--ease),color .2s var(--ease)}.cap-tab:hover{background:rgba(6,16,12,.04);color:var(--black)}.cap-tab.active{background:var(--f-green-100);color:var(--black)}.cap-tab.active:before{background:var(--green-ink);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.cap-tab.active span{color:var(--green-ink)}.cap-panel{padding:44px 0 24px 64px}.cap-list li{border-top:1px solid var(--line)}.cap-more{margin-top:30px}
.clients{background:radial-gradient(circle at 85% 15%,rgba(96,187,115,.16) 0%,rgba(96,187,115,.05) 30%,transparent 60%),var(--black);color:#fff}.clients .section-head{margin-bottom:44px}.client-grid{border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:repeat(5,1fr);list-style:none}.client-grid li{align-items:center;border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);display:flex;height:118px;justify-content:center;padding:22px}.client-grid img{height:auto;max-height:46px;max-width:min(150px,100%);width:auto}.partners-block{align-items:center;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:40px;grid-template-columns:.8fr 1.2fr;margin-top:72px;padding-top:56px}.partners-block h3{font-size:clamp(1.9rem,3.4vw,3rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin-top:16px}.badge-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}.badge-grid img{display:block;height:auto;width:100%}
@media(max-width:850px){.client-grid{grid-template-columns:repeat(3,1fr)}.partners-block{grid-template-columns:1fr}}
@media(max-width:520px){.client-grid{grid-template-columns:repeat(2,1fr)}.client-grid li{height:92px;padding:16px}.client-grid img{max-height:38px}.badge-grid{grid-template-columns:1fr}}
.regions{padding-bottom:0}
.contact{padding:80px 0}.contact-grid{align-items:start;gap:6vw;grid-template-columns:.8fr 1.2fr}.contact h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.98}.contact-intro{margin-top:22px}.contact-form{gap:12px 16px}.career-fields{gap:12px 16px}.field{gap:6px;min-width:0}fieldset.field{border:0;margin:0;padding:0}.field label,.field legend{font:500 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.field legend{margin-bottom:6px;padding:0}.req{margin-left:2px}
.field input,.field select,.field textarea{appearance:none;background:rgba(255,255,255,.74);border:1px solid rgba(6,16,12,.22);border-radius:6px;color:var(--black);font:400 .92rem var(--sans);min-height:38px;outline:0;padding:8px 12px;transition:border-color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease);width:100%}.field input::placeholder,.field textarea::placeholder{color:rgba(6,16,12,.45)}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--black);box-shadow:0 0 0 3px rgba(6,16,12,.12)}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--black) 50%),linear-gradient(135deg,var(--black) 50%,transparent 50%);background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer;padding-right:32px}.field textarea{min-height:78px;resize:vertical}
.radio-grid{display:grid;gap:6px 16px;grid-template-columns:repeat(3,max-content)}.radio-grid label{align-items:center;cursor:pointer;display:flex;font:400 .88rem var(--sans);gap:7px;letter-spacing:0;text-transform:none}.radio-grid input{accent-color:var(--black);appearance:auto;background:none;border:0;border-radius:50%;box-shadow:none;height:15px;margin:0;min-height:0;padding:0;width:15px}.consent{align-items:flex-start;cursor:pointer;display:flex;font-size:.82rem;gap:9px;grid-column:1/-1;line-height:1.45}.consent input{accent-color:var(--black);flex:none;height:16px;margin-top:2px;width:16px}.form-legal{font-size:.74rem;grid-column:1/-1;line-height:1.45;margin-top:-4px;opacity:.85}.form-legal a{text-decoration:underline;text-underline-offset:3px}.submit{border-radius:6px;padding:14px}.form-modes{border-radius:6px;margin-bottom:4px;overflow:hidden}.form-mode{padding:11px}
.video-section{background:var(--black);padding:0 0 96px}.video-frame{aspect-ratio:16/9;background:#000;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden}.video-frame video{display:block;height:100%;width:100%}
.tech-ai{background:var(--black)}.tech-grid,.tech-stack{background:rgba(255,255,255,.1)}.suite-console{background:var(--f-bg-secondary)}.tech-card:hover,.tech-card.active{background:var(--f-neutral-100)}
.brand-stamp-text span{color:var(--green)}.footer-col img{height:23px;width:auto}.footer-bottom{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:48px;padding-top:32px;text-align:center}.footer-publicis{display:inline-block;opacity:.92;transition:opacity .15s var(--ease)}.footer-publicis:hover{opacity:1}.footer-publicis img{height:64px;width:auto}.footer-legal{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center}.footer-legal a{color:rgba(255,255,255,.72);font:400 .84rem var(--sans);text-decoration:underline;text-decoration-color:rgba(255,255,255,.28);text-underline-offset:4px}.footer-legal a:hover{color:var(--green);text-decoration-color:var(--green)}.footer-bottom .footer-copy{color:rgba(255,255,255,.6);font:400 .8rem var(--sans);letter-spacing:0;text-transform:none}
.legal{background:var(--paper)}
/* Aviso de privacidad de OneTrust (/privacidad): usa el ancho del sitio; su índice viene fijo a la altura de carga, se pasa a sticky debajo del header (desde 1024px) o al menú de mobile (768-1023px). Tablas y URLs largas no desbordan en mobile */
.otnotice table{table-layout:fixed;width:100%!important}.otnotice td,.otnotice th{width:auto!important}.otnotice td,.otnotice th,.otnotice a{overflow-wrap:anywhere}
@media(min-width:1024px){.otnotice .otnotice-content{align-items:flex-start;display:flex;gap:56px}.otnotice .otnotice-menu{flex:none;margin:0;max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:100px}.otnotice .otnotice-sections{flex:1;margin-left:0;min-width:0}}
@media(min-width:768px) and (max-width:1023px){.otnotice .otnotice-menu{display:none}.otnotice .otnotice-menu-mobile{display:flex}.otnotice .otnotice-sections{margin-left:0}}
@media(max-width:850px){section{padding:64px 0}.contact{padding:64px 0}.contact-grid{gap:40px;grid-template-columns:1fr}.video-section{padding-bottom:64px}.cap-tabs{border-right:0;padding:12px 0}.cap-panel{padding:36px 0}}
@media(max-width:520px){section{padding:48px 0}.contact{padding:48px 0}.video-section{padding-bottom:48px}.section-head h2{font-size:2.15rem}}
/* SEO: H1 de Contacto, H2 compactos, links contextuales y card de Data Intelligence en Servicios */
.contact h1{font-size:clamp(2.6rem,5vw,5rem);font-weight:600;letter-spacing:-.06em;line-height:.98}.section-head.compact{gap:24px;margin-bottom:36px}.section-head.compact h2{font-size:clamp(1.7rem,3vw,2.6rem)}.tech-ai .section-head{color:#fff}.tech-ai .section-head .kicker{color:rgba(255,255,255,.66)}.inline-link{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:4px}.inline-link:hover{color:var(--green)}.tech-card .text-link{color:var(--green-ink);margin-top:16px}.tech-card:hover .text-link,.tech-card.active .text-link{color:var(--green)}#canales .route-card.route-wide{border-right:0;grid-column:1/-1;min-height:0}#canales .route-wide h3{margin-top:28px}
/* Clientes: logos en color al 65% de saturación; hover (o toque en mobile) con color pleno, borde verde e industria; filtro por industria */
.client-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.client-filter{background:transparent;border:1px solid rgba(96,187,115,.35);border-radius:999px;color:rgba(255,255,255,.78);cursor:pointer;font:500 .66rem var(--mono);letter-spacing:.08em;padding:9px 14px;text-transform:uppercase;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.client-filter:hover{border-color:var(--green);color:#fff}.client-filter.active{background:var(--green);border-color:var(--green);color:var(--black)}.client-filter:focus-visible{outline:2px solid var(--green);outline-offset:2px}.client-grid{border-left-color:rgba(96,187,115,.22);border-top-color:rgba(96,187,115,.22)}.client-grid li{border-bottom-color:rgba(96,187,115,.22);border-right-color:rgba(96,187,115,.22);position:relative;transition:background .3s var(--ease),box-shadow .3s var(--ease),opacity .3s var(--ease)}.client-grid img{filter:saturate(.65);max-height:none;max-width:100%;opacity:.85;transition:opacity .3s var(--ease),transform .3s var(--ease),filter .3s var(--ease);width:calc(var(--w)*1px)}.client-tag{bottom:14px;color:var(--green);font:500 .6rem var(--mono);left:0;letter-spacing:.12em;opacity:0;position:absolute;right:0;text-align:center;text-transform:uppercase;transform:translateY(6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.client-grid li:hover,.client-grid li.is-active,.client-grid li.is-match{background:rgba(96,187,115,.07);box-shadow:inset 0 0 0 1px var(--green),0 0 28px rgba(96,187,115,.18);z-index:1}.client-grid li:hover img,.client-grid li.is-active img,.client-grid li.is-match img{filter:saturate(1);opacity:1;transform:translateY(-8px)}.client-grid li:hover .client-tag,.client-grid li.is-active .client-tag,.client-grid li.is-match .client-tag{opacity:1;transform:none}.client-grid li.is-dim{opacity:.28}.client-grid li.is-dim:hover{opacity:1}
@media(max-width:520px){.client-grid img{width:calc(var(--w)*.78px)}.client-tag{bottom:10px;font-size:.55rem}.client-filters{flex-wrap:nowrap;margin:0 -16px 24px;overflow-x:auto;padding:0 16px 4px;scrollbar-width:none}.client-filter{flex:none}}
@media(prefers-reduced-motion:reduce){.client-grid li,.client-grid img,.client-tag,.client-filter{transition:none}}
/* Servicios: botón de play propio sobre el poster; los controles nativos aparecen al reproducir */
.video-frame{position:relative}.video-play{display:none}.video-frame.has-play .video-play{align-items:center;background:var(--green);border:0;border-radius:50%;box-shadow:0 0 0 10px rgba(96,187,115,.18),0 18px 40px rgba(0,0,0,.45);color:var(--black);cursor:pointer;display:flex;height:84px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .25s var(--ease),box-shadow .25s var(--ease);width:84px}.video-frame.has-play .video-play:hover{box-shadow:0 0 0 16px rgba(96,187,115,.22),0 18px 40px rgba(0,0,0,.45);transform:translate(-50%,-50%) scale(1.06)}.video-play:focus-visible{outline:2px solid #fff;outline-offset:4px}.video-play svg{margin-left:5px}
@media(max-width:520px){.video-frame.has-play .video-play{height:58px;width:58px}.video-play svg{height:21px;width:18px}}
/* Partners: badges oficiales sin modificar, en grilla oscura con bordes verdes como Clientes */
.partners-block{display:block}.partners-block .section-head h3{margin-top:0}.partners-block .section-head h3+p{color:rgba(255,255,255,.62);font-size:1rem;margin-top:14px}.partner-grid{border-left:1px solid rgba(96,187,115,.22);border-top:1px solid rgba(96,187,115,.22);display:grid;grid-template-columns:repeat(4,1fr);list-style:none}.partner-grid li{align-items:center;border-bottom:1px solid rgba(96,187,115,.22);border-right:1px solid rgba(96,187,115,.22);display:flex;height:150px;justify-content:center;padding:22px 26px;position:relative;transition:background .3s var(--ease),box-shadow .3s var(--ease)}.partner-grid img{display:block;filter:drop-shadow(0 12px 22px rgba(0,0,0,.45));height:auto;max-width:220px;opacity:.86;transition:opacity .3s var(--ease),transform .3s var(--ease),filter .3s var(--ease);width:100%}.partner-grid li:hover,.partner-grid li.is-active{background:rgba(96,187,115,.07);box-shadow:inset 0 0 0 1px var(--green),0 0 28px rgba(96,187,115,.18);z-index:1}.partner-grid li:hover img,.partner-grid li.is-active img{filter:drop-shadow(0 16px 28px rgba(0,0,0,.55));opacity:1;transform:translateY(-8px)}.partner-grid li:hover .client-tag,.partner-grid li.is-active .client-tag{opacity:1;transform:none}
@media(max-width:850px){.partner-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.partner-grid{grid-template-columns:1fr}.partner-grid li{height:118px}.partner-grid img{max-width:240px}}
@media(prefers-reduced-motion:reduce){.partner-grid li,.partner-grid img{transition:none}}
/* Formulario: confirmación de envío (reemplaza los campos) y link del mensaje de error */
.submit:disabled{cursor:wait;opacity:.6}.form-status a{text-decoration:underline;text-underline-offset:3px}.contact-form.sent>:not(.form-success){display:none}.form-success{background:var(--black);border-radius:6px;color:#fff;grid-column:1/-1;padding:44px 36px}.form-success:focus{outline:0}.form-success-title{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;margin-bottom:18px}.form-success p+p{font-size:1rem;line-height:1.5;max-width:460px}.form-success .form-success-tagline{border-top:1px solid rgba(255,255,255,.16);color:var(--green);font:500 .72rem/1.6 var(--mono);letter-spacing:.08em;margin-top:26px;padding-top:20px;text-transform:uppercase}
@media(max-width:520px){.form-success{padding:32px 24px}}
