@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#f4f3f0; --muted:#a4a4ac; --paper:#090a0f; --line:#25262e; --violet:#8d5cff; --cyan:#10b5d9; --lime:#d9ff5d; --max:1240px; }
@keyframes grid-drift { from { background-position:0 0,0 0; } to { background-position:72px 72px,-72px 0; } } @keyframes hero-breathe { 0%,100% { transform:scale(1) rotate(0deg); opacity:.7; } 50% { transform:scale(1.12) rotate(18deg); opacity:1; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Manrope',sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.site-shell { overflow:hidden; }
.section-grid { width:min(calc(100% - 80px),var(--max)); margin-inline:auto; display:grid; grid-template-columns:repeat(12,1fr); gap:24px; }
.site-header { width:100%; height:104px; margin:auto; padding-inline:max(40px,calc((100% - var(--max)) / 2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand img { display:block; width:154px; height:auto; }
.main-nav { display:flex; align-items:center; gap:36px; color:var(--muted); font-size:14px; }
.main-nav a { transition:color .2s ease; }.main-nav a:hover { color:var(--ink); }.nav-cta { color:var(--ink); border:1px solid #3a3b43; padding:11px 16px; border-radius:2px; }.nav-cta span,.button span { color:var(--lime); margin-left:12px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }.menu-toggle span:not(.sr-only) { display:block; background:var(--ink); width:24px; height:2px; margin:5px 0; }
.hero { position:relative; isolation:isolate; overflow:hidden; width:100%; max-width:none; min-height:680px; align-items:center; padding:78px max(40px,calc((100% - var(--max)) / 2)) 0; background:radial-gradient(ellipse at 12% 48%,rgba(141,92,255,.22),transparent 40%),radial-gradient(ellipse at 92% 18%,rgba(16,181,217,.16),transparent 40%); }.hero::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.58; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%); animation:grid-drift 24s linear infinite; }.hero::after { content:''; position:absolute; z-index:-1; width:48vw; height:48vw; max-width:720px; max-height:720px; right:-18vw; top:4%; border:1px solid rgba(16,181,217,.22); border-radius:50%; box-shadow:0 0 90px rgba(141,92,255,.14),inset 0 0 90px rgba(16,181,217,.16); animation:hero-breathe 6s ease-in-out infinite; }.hero > * { position:relative; z-index:1; }.hero-copy { grid-column:1 / span 6; }.eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:.14em; color:var(--muted); margin:0 0 24px; font-weight:700; }.eyebrow-dot { display:inline-block; width:7px; height:7px; background:var(--lime); border-radius:50%; margin:0 9px 1px 0; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:'Manrope',sans-serif; letter-spacing:-.055em; } h1 { font-size:clamp(50px,5.8vw,82px); line-height:1.02; margin:0 0 34px; font-weight:600; } h1 em,h2 span { color:var(--violet); font-style:normal; }.hero-highlight { display:inline-block; font-size:calc(1.08em - 10px); white-space:nowrap; }.hero-first-line { display:inline-block; white-space:nowrap; font-size:.92em; }.hero-text { max-width:400px; color:var(--muted); font-size:18px; line-height:1.55; }.hero-actions { display:flex; align-items:center; gap:28px; margin-top:36px; }.button { display:inline-flex; align-items:center; border:0; padding:15px 20px; font-weight:700; font-size:14px; cursor:pointer; transition:transform .2s ease, background .2s ease; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--violet); color:#fff; }.button-primary:hover { background:#a277ff; }.button-light { background:var(--lime); color:var(--paper); }.button-light span { color:var(--paper); }.text-link { display:inline-flex; align-items:center; font-size:14px; color:var(--muted); border:1px solid #3a3b43; padding:12px 16px; transition:color .2s ease, border-color .2s ease, transform .2s ease; }.text-link:hover { color:var(--ink); border-color:var(--lime); transform:translateY(-2px); }.text-link span { color:var(--lime); padding-left:7px; }
.hero-art { grid-column:8 / span 5; min-height:450px; position:relative; display:flex; align-items:center; align-self:end; overflow:visible; }.hero-art img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; }
.ticker { position:relative; isolation:isolate; white-space:nowrap; overflow:hidden; border-block:1px solid rgba(141,92,255,.6); color:var(--muted); font-family:'Manrope'; font-size:20px; padding:22px 0; background:radial-gradient(ellipse at 18% 50%,rgba(141,92,255,.24),transparent 40%),radial-gradient(ellipse at 82% 50%,rgba(16,181,217,.2),transparent 40%),linear-gradient(90deg,#110d1d,#090a0f 48%,#0c1420); box-shadow:inset 0 0 26px rgba(141,92,255,.18),inset 0 0 70px rgba(16,181,217,.08),0 0 28px rgba(141,92,255,.16); }.ticker::before,.ticker::after { content:''; position:absolute; z-index:2; top:0; bottom:0; width:15%; pointer-events:none; }.ticker::before { left:0; background:linear-gradient(90deg,#090a0f,transparent); }.ticker::after { right:0; background:linear-gradient(270deg,#090a0f,transparent); }.ticker-track { position:relative; z-index:1; display:flex; width:max-content; align-items:center; gap:34px; animation:marquee 26s linear infinite; }.ticker span { color:#f4f3f0; text-shadow:0 0 8px rgba(255,255,255,.35),0 0 22px rgba(141,92,255,.55); }.ticker b { color:var(--lime); font-size:14px; text-shadow:0 0 8px rgba(16,181,217,.95),0 0 18px rgba(16,181,217,.65); } @keyframes marquee { to { transform:translateX(-50%); } }
.section-space { padding-top:150px; padding-bottom:150px; }.section-intro { grid-column:1 / span 5; }.section-intro :is(h1,h2:not(.detail-heading)),.contact :is(h1,h2:not(.detail-heading)) { font-size:clamp(44px,5vw,72px); line-height:.95; margin-bottom:28px; }.section-intro p:last-child { max-width:315px; color:var(--muted); }.service-list { grid-column:7 / -1; }.service-item { display:grid; grid-template-columns:44px 1fr 30px; gap:18px; align-items:center; padding:25px 0; border-top:1px solid var(--line); }.service-item:last-child { border-bottom:1px solid var(--line); }.service-index { color:var(--lime); font-size:12px; font-weight:700; }.service-item h3 { font-size:22px; margin:0 0 6px; letter-spacing:-.03em; }.service-item p { color:var(--muted); font-size:14px; margin:0; }.service-arrow { color:var(--lime); font-size:22px; transition:transform .2s; }.service-item:hover .service-arrow { transform:translate(4px,-4px); }
.manifesto { background:var(--lime); color:var(--paper); padding:96px 0; }.manifesto-inner { position:relative; }.manifesto .eyebrow { color:#59632d; grid-column:1 / span 4; }.manifesto-text { grid-column:5 / span 7; font-family:'Manrope'; font-size:clamp(30px,4vw,58px); letter-spacing:-.06em; line-height:1.03; margin:0; }.manifesto-mark { position:absolute; right:0; bottom:-16px; font-family:'Manrope'; font-weight:700; font-size:52px; }.manifesto-mark span { color:var(--violet); }
.method-content { grid-column:7 / -1; }.method-lead { max-width:480px; color:var(--muted); font-size:18px; line-height:1.55; margin-bottom:66px; }.steps { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }.step { padding:23px 0 25px; border-top:1px solid var(--line); }.step span { color:var(--lime); font-size:11px; }.step h3 { font-size:20px; margin:14px 0 8px; }.step p { color:var(--muted); font-size:14px; margin:0; max-width:210px; }
.prestashop { background:#16111f; width:100%; max-width:none; padding:120px max(40px,calc((100% - var(--max)) / 2)); grid-template-columns:repeat(12,1fr); position:relative; }.ps-badge { position:absolute; right:8%; top:75px; width:76px; height:76px; border-radius:50%; display:grid; place-items:center; background:var(--violet); color:#fff; font-family:'Manrope'; font-weight:700; font-size:22px; }.ps-copy { grid-column:1 / span 5; }.ps-copy :is(h1,h2:not(.detail-heading)) { font-size:clamp(48px,5vw,76px); line-height:.92; margin-bottom:26px; }.ps-copy > p:not(.eyebrow) { color:#c1b9ce; max-width:430px; margin-bottom:35px; }.ps-stats { grid-column:8 / span 4; display:flex; flex-direction:column; justify-content:center; gap:34px; }.ps-stats div { display:flex; align-items:baseline; gap:22px; border-bottom:1px solid #3a3047; padding-bottom:19px; }.ps-stats strong { color:var(--lime); font-family:'Manrope'; font-size:42px; letter-spacing:-.06em; }.ps-stats span { color:#c1b9ce; font-size:13px; }
.contact-copy { grid-column:1 / span 5; }.contact-copy > p:not(.eyebrow) { color:var(--muted); max-width:320px; }.email-link { display:inline-block; color:var(--lime); font-family:'Manrope'; font-size:18px; margin-top:25px; border-bottom:1px solid var(--lime); padding-bottom:5px; }.email-link span { padding-left:15px; }.contact-form { grid-column:7 / -1; }.contact-form label { display:block; color:var(--muted); font-size:12px; margin-bottom:23px; }.contact-form input,.contact-form textarea { display:block; width:100%; color:var(--ink); background:transparent; border:0; border-bottom:1px solid #3b3c44; padding:12px 0; font:inherit; outline:none; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--lime); }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#55565e; }.form-note { color:var(--lime); font-size:13px; margin:14px 0 0; min-height:20px; }
.site-footer { padding-top:36px; padding-bottom:36px; border-top:1px solid var(--line); align-items:end; }.site-footer .brand { grid-column:1 / span 3; }.site-footer p { grid-column:5 / span 4; color:var(--muted); font-size:13px; margin:0; }.footer-meta { grid-column:10 / -1; display:flex; flex-direction:column; align-items:flex-end; gap:8px; color:var(--muted); font-size:12px; }.footer-meta a { color:var(--ink); }
.whatsapp-float { position:fixed; z-index:20; right:28px; bottom:28px; display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 0 6px rgba(37,211,102,.12); transition:transform .2s ease, box-shadow .2s ease; }.whatsapp-float::before { content:''; position:absolute; inset:-7px; border:1px solid rgba(37,211,102,.45); border-radius:50%; animation:whatsapp-pulse 2.4s ease-out infinite; }.whatsapp-float svg { position:relative; width:30px; height:30px; fill:currentColor; }.whatsapp-float:hover { transform:translateY(-4px) scale(1.04); box-shadow:0 14px 32px rgba(0,0,0,.34),0 0 0 7px rgba(37,211,102,.18); } @keyframes whatsapp-pulse { 0% { transform:scale(.86); opacity:.8; } 70%,100% { transform:scale(1.22); opacity:0; } }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }.reveal-delay { transition-delay:.16s; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:800px) { .section-grid,.site-header { width:min(calc(100% - 40px),var(--max)); }.site-header { width:100%; height:82px; padding-inline:20px; }.brand img { width:132px; }.menu-toggle { display:block; }.main-nav { display:none; position:absolute; z-index:5; top:82px; left:0; right:0; background:var(--paper); padding:22px 20px 28px; flex-direction:column; align-items:flex-start; border-bottom:1px solid var(--line); gap:20px; }.main-nav.is-open { display:flex; }.nav-cta { width:100%; }.hero { display:flex; flex-direction:column; align-items:stretch; padding:70px 20px 0; width:100%; min-height:0; }.hero-copy { order:1; padding-inline:8px; }.hero h1 { line-height:.9; }.hero-first-line { white-space:normal; }.hero-art { order:2; width:100%; height:auto; min-height:0; margin-top:54px; }.hero-actions { flex-wrap:wrap; gap:20px; }.section-space { padding-top:90px; padding-bottom:90px; }.section-intro,.service-list,.method-content,.contact-copy,.contact-form { grid-column:1 / -1; }.section-intro { margin-bottom:50px; }.manifesto { padding:64px 0; }.manifesto .eyebrow,.manifesto-text { grid-column:1 / -1; }.manifesto-text { margin-top:8px; }.manifesto-mark { right:0; bottom:-45px; font-size:36px; }.steps { gap:0 18px; }.prestashop { display:grid; padding:85px 20px; }.ps-copy { grid-column:1 / -1; }.ps-badge { top:30px; right:20px; width:56px; height:56px; font-size:17px; }.ps-stats { grid-column:1 / -1; margin-top:65px; gap:22px; }.ps-stats strong { font-size:32px; }.site-footer { padding-top:28px; padding-bottom:28px; row-gap:24px; }.site-footer .brand,.site-footer p,.footer-meta { grid-column:1 / -1; }.footer-meta { align-items:flex-start; }.site-footer p { margin-top:10px; }.whatsapp-float { right:18px; bottom:18px; width:54px; height:54px; }.whatsapp-float svg { width:28px; height:28px; } }
@media (max-width:450px) { h1 { font-size:46px; margin-inline:8px; }.hero-first-line { font-size:.64em; white-space:normal; }.hero-highlight { white-space:normal; }.hero-text { font-size:16px; }.service-item { grid-template-columns:30px 1fr 20px; gap:10px; }.service-item h3 { font-size:18px; }.service-item p { font-size:13px; }.steps { grid-template-columns:1fr; }.step p { max-width:none; }.ticker { font-size:17px; } }
.hero-art img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.hero-actions .button,.hero-actions .text-link { min-height:52px; }
.manifesto { width:100%; max-width:none; padding:104px max(40px,calc((100% - var(--max)) / 2)); background:var(--lime); color:var(--paper); position:relative; overflow:hidden; }.manifesto::before { content:''; position:absolute; inset:-8% 0; opacity:.44; background-image:linear-gradient(rgba(9,10,15,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(9,10,15,.14) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%); }.manifesto::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at center, rgba(255,255,255,.26), transparent 56%); mix-blend-mode:screen; opacity:.7; pointer-events:none; }.manifesto-inner { position:relative; z-index:1; width:100%; max-width:var(--max); margin:0 auto; }.manifesto-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:52px; }.manifesto-heading .eyebrow { color:#59632d; margin:0 0 8px; }.manifesto-heading :is(h1,h2:not(.detail-heading)) { font-size:clamp(44px,5vw,72px); line-height:.9; margin:0; }.manifesto-heading :is(h1,h2:not(.detail-heading)) span { color:var(--paper); }.manifesto-lead { max-width:390px; margin:0 0 4px; font-size:clamp(18px,2vw,24px); line-height:1.25; font-weight:600; letter-spacing:-.03em; }.manifesto-cards { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(9,10,15,.35); border-left:1px solid rgba(9,10,15,.35); }.manifesto-card { min-height:238px; padding:24px 22px 28px; border-right:1px solid rgba(9,10,15,.35); border-bottom:1px solid rgba(9,10,15,.35); }.manifesto-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:34px; border:1px solid rgba(9,10,15,.5); color:var(--violet); font-size:11px; font-weight:800; letter-spacing:.08em; }.manifesto-card h3 { margin:0 0 10px; font-size:19px; letter-spacing:-.03em; }.manifesto-card p { max-width:245px; margin:0; color:#414a20; font-size:13px; line-height:1.55; }
@media (max-width:800px) { .manifesto { padding:76px 20px; }.manifesto-heading { display:block; margin-bottom:36px; }.manifesto-heading :is(h1,h2:not(.detail-heading)) { font-size:52px; }.manifesto-lead { margin-top:28px; max-width:520px; }.manifesto-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:450px) { .manifesto { padding:64px 20px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { transition:none; }.whatsapp-float::before { animation:none; } }
.platform-badges { position:absolute; right:8%; top:75px; display:flex; gap:8px; }.platform-badges span { display:grid; place-items:center; width:62px; height:62px; border:1px solid rgba(217,255,93,.55); border-radius:50%; color:var(--lime); font-family:'Manrope'; font-weight:800; font-size:18px; }.platform-badges span + span { color:#fff; border-color:rgba(141,92,255,.7); background:var(--violet); }.ps-copy { grid-column:1 / span 6; }.ecommerce-offers { display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; max-width:590px; padding:0; margin:0 0 36px; list-style:none; }.ecommerce-offers li { position:relative; padding-left:18px; color:#c1b9ce; font-size:13px; line-height:1.45; }.ecommerce-offers li::before { content:'+'; position:absolute; left:0; color:var(--lime); font-weight:800; }.ps-stats strong { min-width:76px; }
@media (max-width:800px) { .platform-badges { position:static; margin:0 0 38px; }.platform-badges span { width:52px; height:52px; font-size:16px; }.ecommerce-offers { grid-template-columns:1fr; gap:9px; } }
.platform-badges img { display:block; width:76px; height:76px; object-fit:contain; }.platform-badges img + img { margin-left:4px; }
@media (max-width:800px) { .platform-badges img { width:60px; height:60px; } }
.prestashop {
  isolation:isolate;
  overflow:hidden;
  background:radial-gradient(ellipse at 88% 48%,rgba(141,92,255,.22),transparent 40%),radial-gradient(ellipse at 8% 18%,rgba(16,181,217,.16),transparent 40%),var(--paper);
}
.prestashop::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.58;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
  animation:grid-drift 24s linear infinite reverse;
}
.prestashop::after {
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:48vw;
  height:48vw;
  max-width:720px;
  max-height:720px;
  left:-18vw;
  top:4%;
  border:1px solid rgba(16,181,217,.22);
  border-radius:50%;
  box-shadow:0 0 90px rgba(141,92,255,.14),inset 0 0 90px rgba(16,181,217,.16);
  animation:ecommerce-halo 6s ease-in-out infinite;
}
@keyframes ecommerce-halo {
  0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.7; }
  50% { transform:translate3d(48px,28px,0) scale(1.12); opacity:1; }
}
.prestashop > * { position:relative; z-index:1; }

.prestashop { grid-template-columns:3fr 7fr; gap:40px; padding-block:0; align-items:stretch; }.ps-copy { grid-column:auto; align-self:center; padding-block:32px; min-width:0; container-type:inline-size; }.ps-copy .platform-badges { position:static; margin:0 0 34px; }.ps-copy :is(h1,h2:not(.detail-heading)) { margin-bottom:32px; font-size:min(64px,12cqw); line-height:1.05; white-space:nowrap; }.ps-copy h3 { margin:28px 0 8px; color:var(--lime); font-size:20px; letter-spacing:-.03em; }.ps-copy > p:not(.eyebrow) { max-width:440px; color:#c1b9ce; }.ps-visual { grid-column:auto; min-width:0; left:max(20px,calc((100vw - var(--max)) / 4)); }.ps-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:800px) { .prestashop { grid-template-columns:1fr; gap:0; }.ps-copy { grid-column:auto; }.ps-visual { grid-column:auto; margin-top:0; left:0; }.ps-visual img { height:auto; } }

/* Shared layouts for the independent pages. */
.main-nav { gap:24px; }
.main-nav a[aria-current="page"] { color:var(--lime); }
h1 span:not(.hero-first-line) { color:var(--violet); }
.manifesto-heading h1 span { color:var(--paper); }
.service-item .detail-heading { font-size:22px; margin:0 0 6px; letter-spacing:-.03em; }
.manifesto-card .detail-heading { margin:0 0 10px; font-size:19px; letter-spacing:-.03em; }
.step .detail-heading { font-size:20px; margin:14px 0 8px; }
.ps-copy .detail-heading { margin:28px 0 8px; color:var(--lime); font-size:20px; line-height:1.3; letter-spacing:-.03em; }
.breadcrumb,.page-contact,.home-pages { width:min(calc(100% - 80px),var(--max)); margin-inline:auto; }
.breadcrumb { display:flex; gap:12px; padding-block:24px; color:var(--muted); font-size:13px; }
.breadcrumb a:hover { color:var(--lime); }
.page-contact { padding-block:40px 64px; }
.home-pages > h2 { font-size:clamp(40px,5vw,64px); line-height:1.05; }
.home-page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-page-card { padding:28px; border:1px solid var(--line); transition:border-color .2s,background .2s; }
.home-page-card:hover { border-color:var(--violet); background:#16111f; }
.home-page-card h3 { font-size:24px; letter-spacing:-.03em; }
.home-page-card h3 span { color:var(--lime); }
.home-page-card p { color:var(--muted); margin:0; }
a:focus-visible,button:focus-visible { outline:2px solid var(--lime); outline-offset:5px; }
@media (min-width:801px) and (max-width:1100px) { .main-nav { gap:14px; font-size:12px; } }
@media (max-width:800px) {
  .breadcrumb,.page-contact,.home-pages { width:calc(100% - 40px); }
  .home-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:450px) {
  .home-page-grid { grid-template-columns:1fr; }
  .service-item .detail-heading { font-size:18px; }
}
