html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,canvas,svg{max-width:100%}
a{color:var(--blue-600)}a:hover{color:var(--blue-700)}
footer img[alt="Marrar"]{height:88px!important;width:159px;object-fit:fill;margin-right:94px}
footer div:has(>img[alt="Marrar"]){width:291px}
select:focus,textarea:focus{border-color:var(--color-primary)!important;box-shadow:var(--ring-focus)!important}
@keyframes icpIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes megaIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* nav */
.nav-row{max-width:100vw}
.site-nav{display:flex;gap:30px}
.nav-burger{display:none;margin-left:auto;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border-subtle);border-radius:8px;background:none;color:var(--text-strong);cursor:pointer}
.mobile-menu{display:none}
.nav-row>a img[alt="Marrar"]{height:26px;width:auto;display:block}
@media (max-width:900px){.nav-row>a img[alt="Marrar"]{height:23px}}
@media (max-width:480px){.nav-row>a img[alt="Marrar"]{height:20px}}
@media (max-width:1280px){.site-nav{gap:18px}.nav-row{gap:22px!important}}
@media (max-width:1120px){.site-nav{gap:14px;font-size:12px}.nav-cta{display:none!important}}
@media (max-width:900px){.site-nav{display:none}.nav-burger{display:flex}.nav-lang{margin-left:auto}.nav-row{gap:14px!important}.mega-panel{display:none!important}.mobile-menu{display:block}}
.mega-panel{position:absolute;left:0;right:0;top:100%;background:rgba(255,255,255,0.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);animation:megaIn .26s var(--ease-out)}
.mega-item{transition:background var(--dur-fast) var(--ease-out)}
.mega-item:hover{background:var(--surface-subtle)!important}
.mega-item:hover .mega-ico{background:var(--gradient-brand)!important;color:#fff!important;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.mm-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);animation:megaIn .24s var(--ease-out);max-height:calc(100vh - 64px);overflow-y:auto;padding:8px var(--gutter) 26px}
.mm-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:-0.01em;color:var(--text-strong);text-decoration:none}
.mm-sub{display:flex;flex-direction:column;padding:2px 0 12px}
.mm-sub a{padding:11px 2px;font-size:14px;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--border-subtle)}
/* home layout */
.hero-split{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.contact-split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,90px);align-items:start}
.icp-grid{display:grid;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle)}
.icp-grid[data-n="3"]{grid-template-columns:repeat(3,1fr)}
.icp-grid[data-n="4"],.icp-grid[data-n="5"],.icp-grid[data-n="6"]{grid-template-columns:repeat(2,1fr)}
.cases-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.case-row{display:grid;grid-template-columns:88px 1fr 1.15fr 64px;align-items:center;gap:28px}
.case-open{display:grid;grid-template-columns:88px 1fr 1.15fr 64px;gap:28px}
.case-open-2{display:grid;grid-template-columns:88px 1fr;gap:28px}
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle)}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
footer form input,footer form button{border-radius:5px!important}
#contact form input,#contact form select,#contact form textarea,#contact form button{border-radius:5px!important}
@media (max-width:1000px){.hero-split{grid-template-columns:1fr;gap:32px;align-items:start}.hero-split .hero-actions{justify-content:flex-start!important}}
@media (max-width:900px){.contact-split{grid-template-columns:1fr}.cases-head{grid-template-columns:1fr}.cases-head>div:last-child{justify-self:start!important}.icp-grid,.icp-grid[data-n="3"],.icp-grid[data-n="4"],.icp-grid[data-n="5"],.icp-grid[data-n="6"]{grid-template-columns:1fr}}
@media (max-width:820px){.case-row{grid-template-columns:44px 1fr 46px;gap:16px;padding:26px 12px!important}.case-row .case-desc{display:none}.case-open{grid-template-columns:1fr;gap:26px}.case-open>div:empty,.case-open-2>div:empty{display:none}.case-open-2{grid-template-columns:1fr}.res-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form-2{grid-template-columns:1fr}}
/* home: featured, services, process, partner, clients marquee */
.mq-mask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;align-items:center;gap:72px;width:max-content;animation:mq 28s linear infinite}
.mq-track:hover{animation-play-state:paused}
.mq-item{display:flex;align-items:center;flex:0 0 auto}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}}
.featured-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;justify-items:start}
.sec-head>div:last-child{justify-self:end}
.partner-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(32px,5vw,72px);align-items:center}
.core-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.core-grid,.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle)}
/* inner pages: services, products, cases, about */
.method-grid,.case-toc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle)}
.case-toc[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-toc[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.case-head{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:start}
.case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle)}
.case-metrics[data-n="4"],.res-grid[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.case-metrics[data-n="2"],.res-grid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1080px){.core-grid,.steps-grid,.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.case-metrics[data-n="4"],.res-grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.sec-head{grid-template-columns:1fr}.sec-head>div:last-child{justify-self:start}.core-grid{grid-template-columns:1fr!important}.case-body,.case-head{grid-template-columns:1fr}.case-toc,.case-toc[data-n="3"],.case-toc[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.case-metrics{grid-template-columns:1fr}}
@media (max-width:860px){.featured-grid{grid-template-columns:1fr}}
@media (max-width:820px){.partner-row{grid-template-columns:1fr}}
@media (max-width:560px){.steps-grid,.method-grid{grid-template-columns:1fr}.case-toc,.case-toc[data-n="3"],.case-toc[data-n="2"]{grid-template-columns:1fr}}
/* footer (design-system component uses inline grid) */
@media (max-width:1000px){footer div:has(>div>img[alt="Marrar"]){grid-template-columns:1fr 1fr!important;gap:36px!important}}
@media (max-width:620px){footer div:has(>div>img[alt="Marrar"]){grid-template-columns:1fr!important;gap:32px!important}footer div:has(>img[alt="Marrar"]){width:auto!important}footer img[alt="Marrar"]{margin-right:0!important;height:64px!important;width:auto!important}footer>div{padding:56px var(--gutter) 32px!important}}
