:root { --ink:#16110f; --paper:#faf6f0; --rust:#a2371a; --sage:#6b7553; --moss:#3f4630; --sand:#e4d8c8; --line:rgba(22,17,15,.17);
  /* escala de microcopy: ningún texto por debajo de 12px */
  --fs-micro:.75rem; --fs-label:.8rem; --fs-ui:.82rem; --tap:44px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter, sans-serif; } a { color:inherit; text-decoration:none; } .skip-link { position:absolute; left:-999px; } .skip-link:focus { left:1rem; top:1rem; z-index:99; background:var(--paper); padding:1rem; }
:focus-visible { outline:2px solid var(--rust); outline-offset:3px; }
.services :focus-visible,.contact :focus-visible { outline-color:var(--sand); }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 5.6vw; border-bottom:1px solid var(--line); position:absolute; z-index:3; width:100%; }
.brand img { width:173px; height:auto; display:block; } .main-nav { display:flex; align-items:center; gap:2.4rem; font-size:var(--fs-ui); font-weight:600; letter-spacing:.02em; }.main-nav a { transition:color .2s; }.main-nav a:hover { color:var(--rust); }.nav-cta { border:1px solid var(--ink); padding:.75rem 1rem; }.nav-cta span { color:var(--rust); font-size:1rem; margin-left:.35rem; }
.menu-toggle { display:none; } .nav-backdrop { display:none; } .hero { min-height:780px; padding:186px 5.6vw 75px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; border-bottom:1px solid var(--line); }
.hero-copy { position:relative; z-index:1; max-width:700px; }.eyebrow { font-size:var(--fs-micro); line-height:1.3; letter-spacing:.15em; text-transform:uppercase; font-weight:600; margin:0 0 1.7rem; }.pulse { width:8px; height:8px; background:var(--rust); display:inline-block; border-radius:50%; margin-right:.55rem; box-shadow:0 0 0 4px rgba(162,55,26,.14); }
h1,h2,h3 { font-family:"Space Grotesk",sans-serif; margin:0; letter-spacing:-.055em; font-weight:500; } h1 { font-size:clamp(3.2rem,5.7vw,6rem); line-height:.99; } h1 em { color:var(--rust); font-style:normal; } .hero-text { max-width:520px; font-size:1.05rem; line-height:1.7; margin:2.1rem 0; color:rgba(22,17,15,.76); }
.hero-actions { display:flex; align-items:center; gap:1.6rem; }.button { display:inline-flex; align-items:center; gap:1rem; padding:1.05rem 1.25rem; min-height:var(--tap); font-size:var(--fs-ui); font-weight:600; letter-spacing:.01em; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--rust); color:var(--paper); }.button span { font-size:1.15rem; }.text-link,.arrow-link { border-bottom:1px solid var(--ink); padding-bottom:.35rem; font-size:var(--fs-ui); font-weight:600; }.text-link span,.arrow-link span { color:var(--rust); margin-left:.4rem; }
.hero-art { height:480px; position:relative; margin-left:2vw; }.core { width:160px; height:160px; border-radius:50%; background:var(--rust); position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:var(--paper); display:flex; justify-content:center; align-items:center; box-shadow:0 0 0 19px rgba(162,55,26,.09); }.core span { font-family:"Space Grotesk"; font-size:5rem; font-weight:700; letter-spacing:-.2em; transform:translateX(-7px); }.core small { border-left:1px solid rgba(250,246,240,.6); padding-left:.65rem; margin-left:.55rem; font-size:.62rem; font-weight:600; line-height:1.45; letter-spacing:.09em; }
.orbit { position:absolute; border:1px solid var(--line); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-29deg); }.orbit-one { width:355px; height:355px; }.orbit-two { width:510px; height:220px; }.orbit-three { width:220px; height:510px; }.node { position:absolute; width:9px; height:9px; background:var(--rust); border-radius:50%; }.node-a { top:7%; left:48%; }.node-b { right:3%; top:49%; }.node-c { bottom:9%; left:45%; }.node-d { left:14%; top:48%; }.art-label { position:absolute; font-size:var(--fs-label); font-weight:700; letter-spacing:.16em; color:var(--moss); background:rgba(250,246,240,.82); padding:.22rem .5rem; }.label-one { top:14%; left:8%; }.label-two { bottom:19%; right:3%; }.label-three { bottom:5%; left:15%; color:var(--rust); }
.scroll-cue { position:absolute; bottom:2rem; left:5.6vw; font-size:var(--fs-micro); letter-spacing:.11em; text-transform:uppercase; display:flex; align-items:center; gap:.65rem; }.scroll-cue span { height:35px; width:1px; background:var(--rust); display:block; }
.section { padding:9.5rem 5.6vw; }.about { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; }.section-intro h2,.section-heading h2,.benefit-copy h2 { font-size:clamp(2.4rem,4vw,4.4rem); line-height:1.05; }.about-content { padding-top:3.2rem; max-width:490px; }.about-content p { color:rgba(22,17,15,.75); font-size:.98rem; line-height:1.75; }.about-content .lead { color:var(--ink); font-family:"Space Grotesk"; letter-spacing:-.02em; font-size:1.45rem; line-height:1.35; margin-top:0; }.arrow-link { display:inline-block; margin-top:1.2rem; }
.services { background:var(--ink); color:var(--paper); }.services .eyebrow { color:var(--sand); }.section-heading { display:flex; justify-content:space-between; gap:2rem; margin-bottom:4rem; }.service-list { border-top:1px solid rgba(250,246,240,.25); }.service-card { display:grid; grid-template-columns:12% 1fr; gap:2rem; align-items:center; min-height:180px; padding:2rem 1.3rem 2rem 0; border-bottom:1px solid rgba(250,246,240,.25); transition:padding .25s, background .25s; }.service-card:hover { padding-left:1.5rem; background:rgba(250,246,240,.05); }.card-index { align-self:start; font-size:var(--fs-micro); padding-top:.4rem; color:var(--sand); }.service-card h3 { font-size:clamp(1.7rem,3vw,2.9rem); line-height:.95; }.service-card p { max-width:380px; font-size:.88rem; line-height:1.55; color:var(--sand); margin:.7rem 0 0; }.card-arrow { color:var(--rust); font-size:2rem; }.featured h3 { color:var(--sand); }
.benefits { display:grid; grid-template-columns:42% 1fr; gap:8vw; align-items:center; }.benefit-art { background:var(--sand); min-height:500px; position:relative; display:flex; align-items:flex-end; padding:2rem; overflow:hidden; }.benefit-art p { font:500 1.15rem/1.1 "Space Grotesk"; letter-spacing:-.05em; position:relative; z-index:1; }.grid-sphere { position:absolute; width:330px; height:330px; border:1px solid var(--sage); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-58%); }.grid-sphere:before,.grid-sphere:after,.grid-sphere span { content:""; position:absolute; border:1px solid var(--sage); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }.grid-sphere:before { width:68%; height:100%; }.grid-sphere:after { width:100%; height:42%; }.grid-sphere span:nth-child(1) { width:100%; height:68%; }.grid-sphere span:nth-child(2) { width:42%; height:100%; }.grid-sphere span:nth-child(3) { width:100%; height:16%; }.grid-sphere span:nth-child(4) { width:16%; height:100%; }
.benefit-copy ul { margin:3rem 0 0; padding:0; list-style:none; }.benefit-copy li { display:grid; grid-template-columns:45px 1fr; border-top:1px solid var(--line); padding:1.3rem 0; }.benefit-copy li>span { font-size:var(--fs-micro); color:var(--rust); }.benefit-copy h3 { font-size:1.15rem; letter-spacing:-.035em; }.benefit-copy li p { font-size:.84rem; line-height:1.55; margin:.45rem 0 0; color:rgba(22,17,15,.68); }
.contact { background:var(--rust); color:var(--paper); padding:7.5rem 5.6vw 1.7rem; }.contact-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:5vw; padding-bottom:7rem; }.contact .eyebrow { color:var(--sand); }.contact h2 { font-size:clamp(3rem,5vw,5.5rem); line-height:.98; }.contact-side { padding-top:4.3rem; }.contact-side p { max-width:270px; font-size:1rem; line-height:1.6; }.button-light { background:var(--paper); color:var(--ink); margin-top:1.5rem; } footer { display:grid; grid-template-columns:1fr 1fr auto; gap:1rem; align-items:end; padding-top:1.7rem; border-top:1px solid rgba(250,246,240,.35); font-size:var(--fs-micro); letter-spacing:.04em; } footer img { width:240px; filter:none; } footer p { margin:0; } footer p:last-child { text-align:right; }

/* 03 — Cómo trabajamos */
.process-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:2.2rem; border-top:1px solid var(--line); padding-top:2.2rem; counter-reset:paso; }
.process-list li { position:relative; padding-right:2.4rem; }
.process-list li:not(:last-child):after { content:""; position:absolute; top:-2.2rem; right:.9rem; width:1px; height:calc(100% + 2.2rem); background:var(--line); }
.step-index { display:block; font-size:var(--fs-micro); font-weight:600; letter-spacing:.15em; color:var(--rust); margin-bottom:1.5rem; }
.process-list h3 { font-size:1.5rem; letter-spacing:-.04em; margin-bottom:.7rem; }
.process-list p { font-size:.9rem; line-height:1.65; color:rgba(22,17,15,.72); margin:0; }

/* 04 — Con qué construimos */
.domains { background:var(--sand); }
.domains-heading { max-width:820px; margin-bottom:4rem; }
.domains-lead { max-width:640px; font-size:.98rem; line-height:1.7; color:rgba(22,17,15,.72); margin:1.6rem 0 0; }
.domains-heading h2 { font-size:clamp(2rem,3.2vw,3.3rem); line-height:1.08; }
.domains-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2.2rem; }
.domains-group { border-top:1px solid rgba(22,17,15,.22); padding-top:1.3rem; }
.domains-group h3 { font-size:var(--fs-label); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-family:Inter,sans-serif; color:var(--rust); margin-bottom:1.1rem; }
.domains-group ul { list-style:none; margin:0; padding:0; }
.domains-group li { font-size:.92rem; line-height:1.5; padding:.42rem 0; border-bottom:1px solid rgba(22,17,15,.09); }
.domains-group li:last-child { border-bottom:0; }

@media (max-width:760px) {
  .site-header{height:72px;padding:0 6vw;background:var(--paper);position:fixed}
  .brand img{width:137px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;background:none;border:0;padding:0;width:var(--tap);height:var(--tap);margin-right:-.4rem}
  .menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s,opacity .2s}
  .main-nav{display:none;position:fixed;top:72px;left:0;width:100%;padding:.6rem 6vw 1.4rem;gap:0;background:var(--paper);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(22,17,15,.13);z-index:4}
  .main-nav.open{display:flex}
  .main-nav a{display:flex;align-items:center;min-height:var(--tap);padding:.35rem 0;width:100%}
  .main-nav .nav-cta{justify-content:space-between;margin-top:.9rem;padding:.9rem 1rem}
  .nav-backdrop{display:block;position:fixed;inset:72px 0 0;background:rgba(22,17,15,.42);opacity:0;pointer-events:none;transition:opacity .22s;z-index:2}
  .nav-backdrop.visible{opacity:1;pointer-events:auto}
  body.nav-open{overflow:hidden}
  .hero{padding:126px 6vw 84px;display:block;min-height:auto}
  h1{font-size:clamp(2.35rem,8.8vw,3.1rem);line-height:1.02}
  .eyebrow{margin-bottom:1.3rem}
  .hero-text{font-size:1rem;line-height:1.6;margin:1.5rem 0}
  .hero-art{height:310px;margin:3.7rem 0 0}
  .core{width:118px;height:118px}
  .core span{font-size:3.6rem}
  .core small{font-size:.55rem;padding-left:.5rem;margin-left:.4rem}
  .art-label{font-size:var(--fs-micro);padding:.18rem .4rem}
  .orbit-one{width:255px;height:255px}
  .orbit-two{width:330px;height:145px}
  .orbit-three{width:145px;height:330px}
  .scroll-cue{display:none}
  .section{padding:5.7rem 6vw}
  .about,.benefits,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-content{padding:0}
  .section-heading{display:block;margin-bottom:2.5rem}
  .services{padding-top:5.7rem}
  .service-card{grid-template-columns:36px 1fr;gap:1rem;min-height:155px}
  .benefits{padding-bottom:0}
  .benefit-art{min-height:360px;order:2}
  .contact{padding:5.7rem 6vw 1.5rem}
  .contact-grid{padding-bottom:4rem}
  .contact-side{padding-top:0}
  footer{grid-template-columns:1fr auto}
  footer img{width:180px}
  footer p:nth-child(2){display:none}
  .process-list{grid-template-columns:1fr;gap:2rem;padding-top:1.8rem}
  .process-list li{padding-right:0}
  .process-list li:not(:last-child):after{display:none}
  .step-index{margin-bottom:.8rem}
  .process-list h3{font-size:1.35rem}
  .domains-heading{margin-bottom:2.5rem}
  .domains-lead{font-size:.95rem;margin-top:1.2rem}
  .domains-grid{grid-template-columns:1fr;gap:1.9rem}
  .hero-actions{align-items:stretch;flex-direction:column;gap:1rem}
  .hero-actions .button{justify-content:space-between}
  .hero-actions .text-link{align-self:flex-start}
}

@media (min-width:761px) and (max-width:1080px) {
  .process-list,.domains-grid{grid-template-columns:repeat(2,1fr);row-gap:2.8rem}
  .process-list li:nth-child(2n):after{display:none}
}

/* Respeta la preferencia de movimiento reducido del sistema */
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .button:hover{transform:none}
  .service-card:hover{padding-left:0}
}
