:root{
    --bg:#FFFFFF;
    --paper:#FBFAF7;
    --bg-soft:#F5F7FC;
    --bg-soft-2:#EEF1FA;
    --ink:#101517;
    --ink-deep:#0A0D0F;
    --ink-70:rgba(16,21,23,.64);
    --ink-soft:var(--ink-70);
    --ink-50:rgba(16,21,23,.44);
    --line:rgba(16,21,23,.10);
    --line-strong:rgba(16,21,23,.18);
    --blue:#3B6EF6;
    --blue-deep:#2450C7;
    --violet:#7C5CFC;
    --green:#16A34A;
    --amber:#D9A441;
    --grad: linear-gradient(90deg, var(--blue), var(--violet));
    /* Page shell (marketing / archives). Reading measure = posts + legal only. */
    --page-width:1372px;
    --page-gutter:32px;
    --measure:760px;
    --max:var(--page-width);
    --header-max:var(--page-width);
    --header-offset:96px;
    --section-head-gap:80px;
    --section-padding-y:128px;
    --section-padding-y-mobile:88px;
    /* Editorial tags (not SaaS pills) */
    --radius-tag:4px;
    /* Avatars: square crop, modest editorial radius (not circles) */
    --radius-avatar:var(--radius-tag);
    /* Air between last content and footer chrome (non-Home). */
    --content-footer-gap:var(--section-padding-y);
    --content-footer-gap-mobile:var(--section-padding-y-mobile);
    --btn-ease:linear;
    --btn-dur:0s;
    --btn-transition:none;
    --btn-border-width:2.5px;
    --btn-radius:8px;
    --btn-font-weight:500;
    --btn-font-size:16px;
    --btn-line-height:24px;
    --btn-min-height:48px;
    --btn-padding-y:12px;
    --btn-padding-x:24px;
    /* Type scale: Home H1 heroic; remaining Hx moderate */
    --type-home-hero:clamp(48px, 8vw, 72px);
    --type-page-hero:clamp(40px, 6.5vw, 64px);
    --type-page-title:clamp(36px, 5vw, 52px);
    --type-section-title:clamp(28px, 3.5vw, 40px);
    --type-section-title-compact:clamp(24px, 3vw, 36px);
    --type-panel-title:clamp(24px, 2.8vw, 32px);
    --type-card-title:clamp(18px, 1.4vw, 22px);
    --type-challenge-title:clamp(20px, 2.2vw, 26px);
    --type-h1:var(--type-page-title);
    --type-h2:var(--type-section-title);
    --type-h3:var(--type-card-title);
    --type-lede:18px;
    --type-body:16px;
    --type-eyebrow:15px;
    --type-team-name:16px;
    --type-team-role:15px;
  }

  .home,
  body.page-home,
  body.front-page{
    --section-padding-y:72px;
    --section-padding-y-mobile:52px;
  }

  /* Same section rhythm and gutters as Home.
   * Do not redefine --content-footer-gap here: page classes also sit on
   * <main>, which would override body:has(.contact-cta) zeroing and leave
   * a white strip above the footer. Gap inherits from :root / body rules. */
  .page-nosotros,
  .page-servicios,
  .page-servicio,
  .page-tecnologias,
  .page-tecnologia,
  .page-contacto,
  .page-guia-de-estilos,
  .page-marca{
    --section-padding-y:72px;
    --section-padding-y-mobile:52px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit; text-decoration:none;}
  ul{margin:0; padding:0;}

  .wrap{max-width:var(--page-width); margin:0 auto; padding:0 var(--page-gutter); box-sizing:border-box;}
  .eyebrow{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:var(--type-eyebrow);
    letter-spacing:0;
    text-transform:none;
    color:var(--blue);
  }
  h1,h2,h3,h4,h5,h6{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    margin:0;
    letter-spacing:-0.01em;
  }
  h1{
    font-size:var(--type-h1);
    line-height:1.08;
  }
  h2{
    font-size:var(--type-h2);
    line-height:1.15;
  }
  h3{
    font-size:var(--type-h3);
    line-height:1.25;
  }
  /* Editorial lede token — guide documents --type-lede (18px). */
  p.lede,
  .lede{
    font-size:var(--type-lede);
    line-height:1.6;
  }
  /* Long-form / legal only — not marketing pages (Nosotros, Servicios…)
     whose patterns live inside .wp-block-post-content. */
  .legal-page h2,
  .page-legal-main h2,
  .single-post .section-single-post .wp-block-post-content h2{
    font-size:clamp(20px, 2.4vw, 26px);
    line-height:1.25;
  }
  .legal-page h3,
  .page-legal-main h3,
  .single-post .section-single-post .wp-block-post-content h3{
    font-size:17px;
    line-height:1.3;
  }
  .grad-text{
    background:none;
    -webkit-background-clip:border-box;
    background-clip:border-box;
    color:var(--blue);
  }

  /* ---------- HEADER ---------- */
  /* Same shell as .wrap: max-width + horizontal gutter inside the box. */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:20px 0;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease, padding .3s ease;
  }
  .site-header__inner,
  header#siteHeader .site-header__inner{
    max-width:var(--page-width);
    margin:0 auto;
    width:100%;
    padding:0 var(--page-gutter);
    box-sizing:border-box;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
  header.scrolled{border-bottom:1px solid var(--line); padding:14px 0;}
  .logo-mark{width:150px; height:auto; display:block; color:var(--ink);}
  .site-header .logo .logo-mark,
  header#siteHeader .logo .logo-mark{color:var(--ink);}
  .logo-mark-stack{
    position:relative;
    display:block;
    width:150px;
    line-height:0;
  }
  .logo-mark-stack .logo-mark--full{
    position:relative;
    z-index:1;
    width:150px;
    height:auto;
    opacity:1;
    transition:opacity 1.2s ease;
  }
  .logo-mark-stack .logo-mark--mwm{
    position:absolute;
    left:0;
    top:50%;
    z-index:2;
    width:auto;
    height:100%;
    max-height:100%;
    transform:translateY(-50%);
    opacity:0;
    pointer-events:none;
    transition:opacity 1.2s ease;
  }
  .logo-mark-stack.is-mwm .logo-mark--full{opacity:0;}
  .logo-mark-stack.is-mwm .logo-mark--mwm{opacity:1;}
  .logo.foot .logo-mark{width:150px;}
  nav{display:flex; align-items:center; gap:24px;}
  nav ul{list-style:none; display:flex; align-items:center; gap:28px;}
  nav ul li a{font-size:16px; font-weight:500; line-height:24px; letter-spacing:-0.01em; position:relative; padding-bottom:2px; display:inline-flex; align-items:center;}
  nav ul li a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
    background:var(--blue); border-radius:2px; transition:width .25s ease;
  }
  nav ul li a:hover::after{width:100%;}
  /* Botones al estilo WooCommerce.com: radio 8px, weight 500, sin sombra.
     Primario y outline comparten --btn-border-width para que el swap no salte. */
  .btn-pill,
  .btn-pill-accent,
  .btn-solid,
  .btn-outline,
  .btn-onlight,
  .btn-onlight .wp-block-button__link{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    border-radius:var(--btn-radius);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:var(--btn-min-height);
    padding:var(--btn-padding-y) var(--btn-padding-x);
    text-decoration:none;
    box-shadow:none;
    transition:none;
    white-space:nowrap;
    cursor:pointer;
    box-sizing:border-box;
  }
  /* Primario / “on” (Cuéntanos): mismo grosor de borde que el outline */
  .btn-pill-accent,
  .btn-solid{
    color:#fff;
    background:var(--blue);
    border:var(--btn-border-width) solid var(--blue);
  }
  /* Hover primario = reposo outline */
  .btn-pill-accent:hover,
  .btn-pill-accent:focus-visible,
  .btn-solid:hover,
  .btn-solid:focus-visible{
    background:transparent;
    border-color:var(--blue);
    color:var(--blue);
    box-shadow:none;
  }
  /* Secundario (texto) */
  .btn-pill{
    color:var(--blue);
    background:transparent;
    border:none;
  }
  .btn-pill:hover,
  .btn-pill:focus-visible{
    background:var(--bg-soft);
    color:var(--blue-deep);
    box-shadow:none;
  }
  /* Outline (Ver servicios) */
  .btn-outline{
    border:var(--btn-border-width) solid var(--blue);
    color:var(--blue);
    background:transparent;
  }
  /* Hover outline = reposo primario (“on” con el mismo borde) */
  .btn-outline:hover,
  .btn-outline:focus-visible{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
    box-shadow:none;
  }
  /* Fallback si el patrón del hero en BD aún usa btn-ghost */
  .hero-actions .btn-ghost[href="#servicios"],
  .hero-actions a[href="#servicios"]{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    border-radius:var(--btn-radius);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:var(--btn-min-height);
    padding:var(--btn-padding-y) var(--btn-padding-x);
    border:var(--btn-border-width) solid var(--blue);
    color:var(--blue);
    background:transparent;
    box-shadow:none;
    opacity:1;
  }
  .hero-actions .btn-ghost[href="#servicios"]:hover,
  .hero-actions a[href="#servicios"]:hover{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
    opacity:1;
  }
  /* Invertido (sobre fondos oscuros / gradiente) */
  .btn-onlight,
  .btn-onlight .wp-block-button__link{
    color:var(--blue-deep);
    background:#fff;
    border:none;
  }
  .btn-onlight:hover,
  .btn-onlight:focus-visible,
  .btn-onlight .wp-block-button__link:hover,
  .btn-onlight .wp-block-button__link:focus-visible{
    background:var(--bg-soft);
    color:var(--blue-deep);
    box-shadow:none;
  }
  .nav-ctas{display:flex; align-items:center; gap:12px;}
  /* Text CTAs (.go / .btn-ghost): design-system link = Inter 500 + blue + underline */
  .go,
  .btn-ghost,
  .team-link{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    color:var(--blue-deep);
    padding:0 0 3px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    transition:none;
    white-space:nowrap;
  }
  .go:hover,
  .go:focus-visible,
  .btn-ghost:hover,
  .btn-ghost:focus-visible,
  .team-link:hover,
  .team-link:focus-visible{
    color:var(--blue-deep);
  }
  .section-head .btn-ghost,
  .section-head .go,
  .cases-nav .btn-ghost{
    font-size:var(--btn-font-size);
    font-weight:var(--btn-font-weight);
  }
  /* Same animated underline as header nav */
  .go,
  .btn-ghost,
  .team-link{
    position:relative;
    padding-bottom:3px;
  }
  .go::after,
  .btn-ghost::after,
  .team-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:var(--blue);
    border-radius:2px;
    transition:width .25s ease;
  }
  .go:hover::after,
  .go:focus-visible::after,
  .btn-ghost:hover::after,
  .btn-ghost:focus-visible::after,
  .team-card:hover .team-link::after,
  .team-card:focus-visible .team-link::after,
  .service:hover .go::after,
  .service:focus-within .go::after,
  a.author-charla-card:hover .go::after,
  a.author-charla-card:focus-visible .go::after{
    width:100%;
  }
  /* No aplicar underline a botones outline/sólidos disfrazados de btn-ghost */
  .hero-actions .btn-ghost[href="#servicios"]::after,
  .hero-actions a[href="#servicios"]::after{
    content:none;
    display:none;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    overflow:hidden;
    padding:68px 0 var(--section-padding-y);
  }
  .hero:has(.hero-visual--cutout){
    padding-bottom:var(--section-padding-y);
  }
  .hero-mesh{
    position:absolute; inset:-10% -10% auto -10%; height:900px;
    background:
      linear-gradient(180deg, rgba(251,250,247,.92), rgba(255,255,255,0) 62%),
      radial-gradient(520px 420px at 28% 0%, rgba(16,21,23,.06), transparent 72%);
    filter:none;
    z-index:0;
  }
  .hero .wrap{position:relative; z-index:2;}
  .hero-wrap{display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); gap:clamp(24px, 4vw, 56px); align-items:center;}
  .hero:has(.hero-visual--cutout) .hero-wrap{
    grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
    align-items:center;
    gap:clamp(24px, 4vw, 56px);
  }
  .hero-eyebrow{margin-bottom:24px;}
  .hero h1{
    font-size:var(--type-home-hero);
    line-height:1.06;
    color:var(--ink);
  }
  .hero p.lede{
    margin-top:28px; max-width:480px; font-size:16px; line-height:1.6; color:var(--ink-70);
  }
  .hero-actions{margin-top:40px; display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
  .hero:has(.hero-visual--cutout) .hero-copy{
    align-self:center;
    padding-bottom:0;
  }

  /* ---------- HERO VISUAL (cutout + blob, photo box, o mockups) ---------- */
  .hero-visual{position:relative; height:400px; display:block; cursor:default;}
  .hero-wrap > .wp-block-template-part{
    min-width:0; align-self:stretch;
  }
  .hero .hero-visual.hero-visual--photo,
  .hero figure.hero-visual.hero-visual--photo{
    height:400px; width:100%; margin:0; padding:0;
    border-radius:28px; overflow:hidden; box-shadow:none; background:var(--bg-soft);
    border:1px solid var(--line);
  }
  .hero figure.hero-visual.hero-visual--photo img{
    display:block; width:100%; height:100%; object-fit:cover;
    border-radius:0; box-shadow:none;
  }

  /* Cutout composition: person + brand blob at native asset size */
  .hero-visual--cutout{
    position:relative;
    z-index:2;
    width:min(665px, 100%);
    max-width:665px;
    height:auto;
    min-height:0;
    aspect-ratio:665 / 686;
    margin:30px 0 0 auto;
    padding:0;
    overflow:visible;
    color:inherit;
    justify-self:end;
    align-self:center;
    cursor:default;
    border:0;
  }
  .hero-visual__photo{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    pointer-events:none;
    user-select:none;
    filter:drop-shadow(0 18px 40px rgba(16, 21, 23, .18));
  }
  .hero-visual__credit{
    position:absolute;
    z-index:3;
    left:clamp(8px, 2vw, 20px);
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    display:grid;
    gap:2px;
    margin:0;
    padding:12px 16px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 24px rgba(16,21,23,.08);
  }
  .hero-visual__name,
  .hero-visual__role{
    margin:0;
    font-family:'Space Grotesk', sans-serif;
    line-height:1.2;
  }
  .hero-visual__name{
    font-weight:600;
    font-size:var(--type-team-name);
    color:var(--ink);
  }
  .hero-visual__role{
    font-weight:500;
    font-size:var(--type-team-role);
    color:var(--ink-70);
  }
  .editorial-board{
    position:relative;
    height:100%;
    min-height:400px;
  }
  .editorial-board__sheet{
    position:absolute;
    background:rgba(251,250,247,.96);
    border:1px solid rgba(16,21,23,.13);
    box-shadow:0 28px 70px -44px rgba(16,21,23,.38);
    color:var(--ink);
  }
  .editorial-board__sheet--main{
    inset:28px 24px 36px 0;
    border-radius:24px;
    padding:34px;
  }
  .editorial-board__sheet--note{
    right:0;
    bottom:8px;
    width:min(270px, 58%);
    border-radius:18px;
    padding:22px;
    transform:rotate(1.5deg);
  }
  .editorial-board__sheet--capture{
    right:18px;
    top:0;
    width:190px;
    height:126px;
    border-radius:18px;
    padding:18px;
    transform:rotate(-2deg);
    background:#fff;
  }
  .editorial-board__sheet--capture span{
    display:block;
    height:10px;
    margin-bottom:12px;
    border-radius:999px;
    background:var(--bg-soft-2);
  }
  .editorial-board__sheet--capture span:first-child{
    width:42%;
    background:var(--ink);
  }
  .editorial-board__sheet--capture span:nth-child(2){width:72%;}
  .editorial-board__sheet--capture span:nth-child(3){
    width:56%;
    background:rgba(59,110,246,.18);
  }
  .editorial-board__label{
    display:block;
    margin-bottom:16px;
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--blue-deep);
  }
  .editorial-board__title{
    max-width:10ch;
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title);
    font-weight:600;
    line-height:1.1;
    letter-spacing:-.02em;
  }
  .editorial-board__rule{
    width:52%;
    height:2px;
    margin-top:18px;
    background:var(--line-strong);
  }
  .editorial-board__rule--wide{
    width:76%;
    margin-top:28px;
    background:var(--ink);
  }
  .editorial-board__decision{
    display:grid;
    grid-template-columns:36px minmax(0, 1fr) 54px;
    align-items:center;
    gap:14px;
    max-width:330px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
    font-family:'Inter', sans-serif;
  }
  .editorial-board__decision span{
    color:var(--ink-50);
    font-weight:700;
    font-size:12px;
  }
  .editorial-board__decision strong{
    font-size:15px;
    font-weight:700;
  }
  .editorial-board__decision i{
    height:8px;
    border-radius:999px;
    background:var(--blue);
  }
  .editorial-board__sheet--note p{
    margin:0;
    font-family:'Inter', sans-serif;
    font-size:15px;
    line-height:1.45;
    color:var(--ink-70);
  }
  .mock-float{position:absolute; animation:float 6.5s ease-in-out infinite;}
  .mock-float.f1{top:6px; left:0; animation-delay:0s;}
  .mock-float.f2{bottom:0; right:4%; animation-delay:.7s;}
  .mock-float.f3{top:-10px; right:6%; animation-delay:1.1s;}
  .mock-float.f4{bottom:8%; left:-2%; animation-delay:.45s;}
  .mock-float.f5{top:236px; left:8%; animation-delay:1.7s;}
  @keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
  .mock{transition:transform .05s linear; will-change:transform;}
  .mock-browser{
    width:min(340px, 78vw); border-radius:16px; overflow:hidden;
    background:#fff; border:1px solid var(--line);
    box-shadow:0 30px 60px -18px rgba(16,21,23,.28);
    transform:rotate(-3deg);
  }
  .mock-topbar{height:24px; background:var(--bg-soft); display:flex; align-items:center; gap:5px; padding:0 12px;}
  .mock-topbar span{width:6px; height:6px; border-radius:50%; background:var(--line-strong);}
  .mock-body--site{padding:18px;}
  .mb-nav{height:9px; width:38%; background:var(--bg-soft-2); border-radius:5px; margin-bottom:16px; position:relative;}
  .mb-nav::after{content:""; position:absolute; right:0; top:-1px; width:28px; height:11px; background:var(--grad); border-radius:5px;}
  .mb-hero{height:64px; border-radius:10px; margin-bottom:12px; position:relative; background:linear-gradient(135deg, rgba(59,110,246,.16), rgba(124,92,252,.14));}
  .mb-hero::after{content:""; position:absolute; left:14px; top:14px; width:64px; height:9px; background:var(--grad); border-radius:5px;}
  .mb-row{display:flex; gap:8px;}
  .mb-card{flex:1; height:40px; background:var(--bg-soft); border-radius:8px;}
  .mock-phone{
    width:min(126px, 30vw); border-radius:24px; background:#fff; border:1px solid var(--line);
    box-shadow:0 24px 50px -14px rgba(16,21,23,.3);
    padding-top:14px; transform:rotate(5deg);
  }
  .mock-notch{width:32px; height:5px; background:var(--bg-soft-2); border-radius:3px; margin:0 auto 12px;}
  .mock-body--app{padding:0 14px 16px;}
  .mb-appbar{height:7px; width:55%; background:var(--bg-soft-2); border-radius:4px; margin-bottom:14px;}
  .mb-list{display:flex; flex-direction:column; gap:8px; margin-bottom:14px;}
  .mb-item{height:14px; background:var(--bg-soft); border-radius:5px;}
  .mb-item:nth-child(2){width:80%;}
  .mb-fab{width:26px; height:26px; border-radius:50%; background:var(--grad); margin-left:auto;}

  /* extra floating chips: ecommerce / AI / security */
  .mock-chip{
    width:74px; height:74px; border-radius:20px; background:#fff; border:1px solid var(--line);
    box-shadow:0 16px 30px -12px rgba(16,21,23,.26);
    display:flex; align-items:center; justify-content:center; position:relative;
  }
  .mock-chip svg{width:30px; height:30px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .chip-cart{color:var(--blue-deep);}
  .chip-ai{color:var(--violet);}
  .chip-ai .chip-ring{
    position:absolute; inset:-1px; border-radius:18px; border:1.5px solid var(--violet);
    animation:chip-pulse 2.4s ease-out infinite;
  }
  .chip-shield{color:var(--green);}
  @keyframes chip-pulse{0%{transform:scale(1); opacity:.65;} 100%{transform:scale(1.5); opacity:0;}}
  @media (prefers-reduced-motion: reduce){ .chip-ring{animation:none; opacity:0;} }
  @media (max-width:900px){
    .mock-chip{width:40px; height:40px; border-radius:13px;}
    .mock-chip svg{width:17px; height:17px;}
    .mock-float.f5{top:auto; bottom:2px; left:auto; right:10%;}
    .mock-float.f3{top:-4px; right:2%;}
    .mock-float.f4{bottom:auto; top:40%; left:-4%;}
  }
  @media (prefers-reduced-motion: reduce){ .mock-float{animation:none;} }
  @media (max-width:900px){
    .hero-wrap{grid-template-columns:1fr;}
    .hero h1{
      font-size:clamp(40px, 8vw, 64px);
      line-height:1.05;
    }
    .hero:has(.hero-visual--cutout){
      padding-bottom:var(--section-padding-y-mobile);
    }
    .hero:has(.hero-visual--cutout) .hero-wrap{
      min-height:0;
      align-items:stretch;
    }
    .hero:has(.hero-visual--cutout) .hero-copy{
      padding-bottom:0;
    }
    .hero-visual{height:280px; margin-top:16px;}
    .hero-visual--cutout{
      width:min(665px, 100%);
      max-width:100%;
      height:auto;
      margin:54px auto 0;
      justify-self:center;
      align-self:center;
    }
    .hero-visual__credit{
      left:12px;
      top:50%;
      bottom:auto;
      transform:translateY(-50%);
      padding:10px 14px;
    }
    .hero .hero-visual.hero-visual--photo,
    .hero figure.hero-visual.hero-visual--photo{height:280px; margin-top:16px;}
    .editorial-board{min-height:280px;}
    .editorial-board__sheet--main{inset:18px 12px 24px 0; padding:24px;}
    .editorial-board__sheet--capture{width:150px; height:96px; right:6px;}
    .editorial-board__sheet--note{display:none;}
  }
  @media (max-width:400px){
    .hero-visual{height:250px;}
    .hero-visual--cutout{
      width:min(340px, 100%);
    }
    .hero .hero-visual.hero-visual--photo,
    .hero figure.hero-visual.hero-visual--photo{height:250px;}
    .mock-notch{width:26px;}
  }

  /* ---------- SECTION shell ---------- */
  section{padding:var(--section-padding-y) 0;}
  .section-cases{padding-top:var(--section-padding-y); padding-bottom:var(--section-padding-y);}
  .section-head{display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:52px; flex-wrap:wrap;}
  .wrap > .section-head:not(:first-child){margin-top:var(--section-head-gap);}
  .section-why > .section-head{margin-top:0;}
  .section-head--cases{flex-direction:column; align-items:stretch; gap:28px;}
  .section-head--cases .section-head__row{
    display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%;
  }
  .section-head--left{align-items:flex-start; text-align:left;}
  .section-head--left .section-head__row{align-items:flex-start; justify-content:flex-start; text-align:left;}
  .section-head--left h2,
  .section-head--left p{text-align:left;}
  .section-head--cases .cases-nav{align-self:flex-end;}
  .section-head h2{font-size:var(--type-section-title); max-width:620px; line-height:1.15;}
  .section-head p{
    max-width:360px;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.6;
    margin:0;
    border-left:4px solid var(--blue);
    border-right:4px solid var(--blue);
    padding-inline:12px;
  }

  /* ---------- SERVICES ---------- */
  .services-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}

  /* «Seis formas…»: filas compactas imagen | texto, zigzag 75% izq/der */
  .services-grid.services-grid--zigzag{
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
    gap:16px;
    width:100%;
    align-items:stretch;
  }
  .services-grid.services-grid--zigzag > .service{
    width:75%;
    max-width:75%;
    flex-shrink:0;
    box-sizing:border-box;
    margin:0;
    align-self:flex-start;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:18px;
    padding:18px 22px;
    border-radius:12px;
  }
  .services-grid.services-grid--zigzag > .service:nth-child(even){
    flex-direction:row-reverse;
    align-self:flex-end;
  }
  .services-grid.services-grid--zigzag .service-visual{
    flex:0 0 36%;
    width:36%;
    max-width:260px;
    height:160px;
    aspect-ratio:auto;
    margin-bottom:0;
    border-radius:10px;
  }
  .services-grid.services-grid--zigzag .service:hover .service-visual{transform:none;}
  .services-grid.services-grid--zigzag .service-body{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left;
  }
  .services-grid.services-grid--zigzag > .service:nth-child(even) .service-body{
    align-items:flex-end;
    text-align:right;
  }
  .services-grid.services-grid--zigzag .service h3.eyebrow{
    font-size:var(--type-panel-title);
    line-height:1.2;
    margin-bottom:6px;
  }
  .services-grid.services-grid--zigzag .service .service-dek{
    font-size:16px;
    margin:0 0 6px;
  }
  .services-grid.services-grid--zigzag .service p{
    font-size:15px;
    line-height:1.45;
    margin:0 0 10px;
  }
  .services-grid.services-grid--zigzag .service .go{font-size:var(--btn-font-size);}
  .services-grid.services-grid--zigzag .service:hover{transform:translateY(-2px);}
  .services-grid.services-grid--zigzag .service-badge{
    top:10px; left:10px; width:36px; height:36px; border-radius:10px;
  }
  .services-grid.services-grid--zigzag .service-badge svg{width:16px; height:16px;}

  .service{
    border:1px solid var(--line); border-radius:20px; padding:36px;
    transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease;
    background:#fff;
  }
  .service:hover{box-shadow:0 20px 40px -18px rgba(16,21,23,.18); transform:translateY(-4px); border-color:var(--line-strong);}
  .service-visual{
    width:100%; aspect-ratio:16/10; border-radius:16px; overflow:hidden; position:relative;
    margin-bottom:24px; transition:transform .4s ease;
  }
  .service:hover .service-visual{transform:scale(1.02);}
  .service-visual--photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .service-body{min-width:0;}

  /* ---------- LEGAL PAGES ---------- */
  .legal-page{font-size:var(--type-body); line-height:1.7; color:var(--ink-70);}
  .legal-page h2{color:var(--ink); margin:36px 0 14px;}
  .legal-page h3{color:var(--ink); margin:24px 0 10px;}
  .legal-page p, .legal-page li{margin:0 0 14px;}
  .legal-page ul, .legal-page ol{padding-left:1.25em; margin:0 0 18px;}
  .legal-page a{color:var(--blue-deep); font-weight:600;}
  .legal-page .legal-intro{margin-bottom:22px;}
  .legal-page .legal-table-wrap{overflow-x:auto; margin:18px 0 24px;}
  .legal-page table{width:100%; border-collapse:collapse; font-size:var(--type-body);}
  .legal-page th, .legal-page td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
  .legal-page th{background:var(--bg-soft); color:var(--ink); font-weight:600;}
  .page-legal-main{max-width:var(--measure); margin:0 auto; padding:160px 0 80px;}
  .page-legal-main h1{font-family:'Space Grotesk', sans-serif; font-size:var(--type-page-title); line-height:1.08; margin:0 0 28px; color:var(--ink);}
  .service-badge{
    position:absolute; top:14px; left:14px; width:42px; height:42px; border-radius:12px;
    background:rgba(255,255,255,.92); backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center; color:var(--blue-deep);
    box-shadow:0 6px 14px -6px rgba(16,21,23,.28); transition:transform .3s ease;
  }
  .service:hover .service-badge{transform:scale(1.08);}
  .service-badge svg{width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}

  /* Consultoría illustration */
  .sv-consultoria{background:linear-gradient(135deg, rgba(59,110,246,.12), rgba(124,92,252,.08));}
  .sv-consultoria .sv-radar{
    position:absolute; width:64px; height:64px; border-radius:50%; border:1.5px solid var(--blue);
    left:20%; top:22%; animation:sv-pulse 2.6s ease-out infinite;
  }
  .sv-consultoria .sv-glass{position:absolute; left:20%; top:22%; width:64px; height:64px;}
  .sv-consultoria .sv-glass circle, .sv-consultoria .sv-glass line{stroke:var(--blue-deep); stroke-width:2; fill:none; stroke-linecap:round;}
  .sv-consultoria .sv-bars{position:absolute; right:12%; bottom:14%; display:flex; align-items:flex-end; gap:7px; height:44px;}
  .sv-consultoria .sv-bars i{width:11px; background:var(--violet); opacity:.75; border-radius:3px 3px 0 0; display:block;}
  @keyframes sv-pulse{0%{transform:scale(1); opacity:.6;} 100%{transform:scale(1.7); opacity:0;}}

  /* SEO illustration */
  .sv-seo{background:linear-gradient(135deg, rgba(124,92,252,.12), rgba(59,110,246,.08));}
  .sv-seo .sv-trend{position:absolute; left:8%; top:12%; width:84%; height:76%;}
  .sv-seo .sv-trend-line{
    stroke:var(--blue-deep); stroke-width:2.4; fill:none; stroke-linecap:round; stroke-linejoin:round;
    stroke-dasharray:260; stroke-dashoffset:260; transition:stroke-dashoffset 1.4s ease;
  }
  .services-grid.in .sv-seo .sv-trend-line{stroke-dashoffset:0;}
  .sv-seo .sv-trend circle{fill:var(--violet); stroke:none;}
  .sv-seo .sv-dot{position:absolute; width:6px; height:6px; border-radius:50%; background:var(--blue); opacity:.55; animation:sv-float 4s ease-in-out infinite;}
  .sv-seo .sv-dot.d1{top:22%; left:14%; animation-delay:0s;}
  .sv-seo .sv-dot.d2{bottom:26%; left:32%; animation-delay:1.4s;}
  @keyframes sv-float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}

  /* IA illustration */
  .sv-ia{background:linear-gradient(135deg, rgba(124,92,252,.16), rgba(59,110,246,.06));}
  .sv-ia .sv-nodes{position:absolute; left:6%; top:14%; width:88%; height:72%;}
  .sv-ia .sv-node-line{stroke:rgba(16,21,23,.22); stroke-width:1.6; fill:none; stroke-dasharray:220; stroke-dashoffset:220; transition:stroke-dashoffset 1.4s ease;}
  .services-grid.in .sv-ia .sv-node-line{stroke-dashoffset:0;}
  .sv-ia .sv-nodes circle{fill:var(--violet); stroke:none;}
  .sv-ia .sv-nodes .sv-pulse-node{transform-box:fill-box; transform-origin:center; animation:sv-node-pulse 2.4s ease-out infinite;}
  @keyframes sv-node-pulse{0%{transform:scale(1); opacity:1;} 50%{transform:scale(1.9); opacity:.35;} 100%{transform:scale(1); opacity:1;}}

  /* Web illustration */
  .sv-web{background:linear-gradient(135deg, rgba(59,110,246,.12), rgba(124,92,252,.1));}
  .sv-web .sv-mini-browser{
    position:absolute; left:8%; top:16%; width:64%; border-radius:9px; overflow:hidden;
    background:#fff; border:1px solid var(--line); box-shadow:0 14px 26px -12px rgba(16,21,23,.3);
    animation:sv-float 5.5s ease-in-out infinite;
  }
  .sv-web .sv-mini-topbar{height:14px; background:var(--bg-soft); display:flex; align-items:center; gap:3px; padding:0 7px;}
  .sv-web .sv-mini-topbar span{width:3.5px; height:3.5px; border-radius:50%; background:var(--line-strong);}
  .sv-web .sv-mini-body{padding:10px;}
  .sv-web .sv-mini-nav{height:5px; width:40%; background:var(--bg-soft-2); border-radius:3px; margin-bottom:8px;}
  .sv-web .sv-mini-hero{height:26px; border-radius:5px; background:linear-gradient(135deg, rgba(59,110,246,.22), rgba(124,92,252,.18));}
  .sv-web .sv-mini-phone{
    position:absolute; right:10%; bottom:12%; width:34px; height:60px; border-radius:10px;
    background:#fff; border:1px solid var(--line); box-shadow:0 12px 22px -10px rgba(16,21,23,.32);
    animation:sv-float 5.5s ease-in-out infinite; animation-delay:.6s;
  }
  .sv-web .sv-mini-notch{display:block; width:12px; height:2.5px; background:var(--bg-soft-2); border-radius:2px; margin:6px auto 0;}

  /* Seguridad illustration */
  .sv-seguridad{background:linear-gradient(135deg, rgba(22,163,74,.1), rgba(59,110,246,.08));}
  .sv-seguridad .sv-shield{position:absolute; left:50%; top:50%; width:72px; height:72px; transform:translate(-50%,-50%);}
  .sv-seguridad .sv-shield path{stroke:var(--blue-deep); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round;}
  .sv-seguridad .sv-lock-ring{
    position:absolute; left:50%; top:50%; width:88px; height:88px; border-radius:50%;
    border:1.5px solid var(--blue); transform:translate(-50%,-50%);
    animation:sv-pulse 2.8s ease-out infinite;
  }

  /* Apps móviles illustration */
  .sv-mobile{background:linear-gradient(135deg, rgba(59,110,246,.1), rgba(124,92,252,.14));}
  .sv-mobile .sv-phone-mock{
    position:absolute; left:50%; top:50%; width:58px; height:100px; border-radius:14px;
    background:#fff; border:1px solid var(--line); box-shadow:0 14px 26px -12px rgba(16,21,23,.3);
    transform:translate(-50%,-50%); animation:sv-float 5s ease-in-out infinite;
  }
  .sv-mobile .sv-phone-notch{display:block; width:20px; height:3px; background:var(--bg-soft-2); border-radius:2px; margin:9px auto 0;}
  .sv-mobile .sv-phone-screen{
    display:block; margin:10px auto 0; width:42px; height:58px; border-radius:8px;
    background:linear-gradient(135deg, rgba(59,110,246,.24), rgba(124,92,252,.2));
  }
  .sv-mobile .sv-app-dot{position:absolute; width:6px; height:6px; border-radius:50%; background:var(--violet); opacity:.55; animation:sv-float 4s ease-in-out infinite;}
  .sv-mobile .sv-app-dot.d1{top:20%; left:18%; animation-delay:0s;}
  .sv-mobile .sv-app-dot.d2{bottom:22%; right:16%; animation-delay:1.2s;}

  @media (prefers-reduced-motion: reduce){
    .sv-radar, .sv-dot, .sv-pulse-node, .sv-mini-browser, .sv-mini-phone, .sv-lock-ring, .sv-phone-mock, .sv-app-dot{animation:none;}
  }
  .icon-line path, .icon-line circle, .icon-line rect, .icon-line line{
    fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
    stroke-dasharray:110; stroke-dashoffset:110; transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1);
  }
  .services-grid.in .service:nth-child(1) .icon-line *{transition-delay:.05s; stroke-dashoffset:0;}
  .services-grid.in .service:nth-child(2) .icon-line *{transition-delay:.2s; stroke-dashoffset:0;}
  .services-grid.in .service:nth-child(3) .icon-line *{transition-delay:.35s; stroke-dashoffset:0;}
  .services-grid.in .service:nth-child(4) .icon-line *{transition-delay:.5s; stroke-dashoffset:0;}
  .services-grid.in .service:nth-child(5) .icon-line *{transition-delay:.65s; stroke-dashoffset:0;}
  .services-grid.in .service:nth-child(6) .icon-line *{transition-delay:.8s; stroke-dashoffset:0;}
  .service h3.eyebrow{
    margin-bottom:14px; display:block; font-size:var(--type-panel-title); line-height:1.2;
  }
  .service .service-dek{
    font-family:'Space Grotesk', sans-serif; font-weight:600;
    font-size:var(--type-lede); line-height:1.3; margin:0 0 12px; color:var(--ink);
  }
  .service p{font-size:var(--type-body); line-height:1.6; color:var(--ink-70); margin:0 0 20px;}
  .service p.service-dek{color:var(--ink); margin:0 0 12px;}
  .service .go{font-family:'Inter'; font-weight:var(--btn-font-weight); font-size:var(--btn-font-size); display:inline-flex; align-items:center; gap:6px; color:var(--blue-deep);}

  /* ---------- TECNOLOGÍA / PARTNERS ---------- */
  .credential,
  .mowomo-logo-marquee .credential{
    box-sizing:border-box;
    display:inline-block;
    width:auto;
    max-width:100%;
    flex:0 0 auto;
    align-self:center;
    border-radius:20px; padding:36px 44px; margin:0 0 64px;
    background:var(--bg-soft);
    border:1px solid var(--line);
    text-align:center;
  }
  .mowomo-logo-marquee{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
  }
  .credential p{font-family:'Inter', sans-serif; font-weight:600; font-size:var(--type-challenge-title); line-height:1.5; margin:0; max-width:52ch; color:var(--ink); text-align:center;}
  .credential .quote-who{
    display:block; margin-top:16px; font-family:'Inter', sans-serif;
    font-size:13px; font-weight:600; color:var(--ink-50);
  }
  .credential strong{
    background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .technology-proof{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:clamp(28px, 4vw, 48px);
    margin:8px 0 52px;
    padding:0;
    overflow:visible;
    border:none;
    border-radius:0;
    background:transparent;
    counter-reset:tech-step;
  }
  .technology-proof article{
    position:relative;
    min-height:0;
    padding:0 0 0 0;
    background:transparent;
    border:none;
    counter-increment:tech-step;
  }
  .technology-proof article::before{
    content:counter(tech-step, decimal-leading-zero);
    display:block;
    margin:0 0 12px;
    font-family:'Space Grotesk', sans-serif;
    font-size:clamp(40px, 5.5vw, 64px);
    font-weight:700;
    line-height:1;
    letter-spacing:-.02em;
    color:var(--blue);
  }
  .technology-proof article > span:first-child{
    display:none;
  }
  .technology-proof h3{
    margin:0 0 12px;
    font-size:clamp(22px, 2.2vw, 28px);
    line-height:1.15;
    letter-spacing:-.02em;
  }
  .technology-proof p{
    max-width:36ch;
    margin:0;
    color:var(--ink-70);
    font-size:16px;
    line-height:1.6;
  }
  @media (max-width:1100px){
    .technology-proof{grid-template-columns:repeat(2, minmax(0, 1fr));}
  }

  /* ---------- TEAM QUOTE (distinct, more prominent) ---------- */
  .team-quote{
    padding:40px 44px; background:var(--bg-soft); border:1px solid var(--line);
  }
  .team-quote p{
    font-family:'Inter', sans-serif; font-weight:600; font-style:italic;
    font-size:var(--type-panel-title); line-height:1.45; margin:0; max-width:760px; color:var(--ink);
  }
  .team-quote .quote-who{
    display:flex; align-items:center; gap:12px; margin-top:22px;
  }
  /* Same date/meta typography as .post .meta and .single-post .page-hero .meta */
  .team-quote .quote-who .quote-meta,
  .team-quote .quote-who .meta{
    font-family:'Inter', sans-serif; font-size:14px; font-weight:400;
    color:var(--ink-50); display:flex; gap:10px; align-items:center; flex-wrap:wrap;
    letter-spacing:0; min-width:0;
  }
  .team-quote .quote-who .quote-who__name{
    font-weight:700; font-size:var(--type-team-name); color:var(--ink);
  }
  .team-quote .quote-who .quote-who__role{
    font-family:'Inter', sans-serif; font-size:var(--type-team-role); font-weight:400; color:var(--ink-50);
  }
  .team-quote .quote-who .quote-date{
    font-family:'Inter', sans-serif; font-size:14px; font-weight:400; color:var(--ink-50);
  }
  .team-quote .quote-who .dot{
    width:4px; height:4px; background:var(--blue); border-radius:50%; flex:none;
  }
  .team-quote .quote-who .dot[hidden],
  .team-quote .quote-who .quote-date[hidden],
  .team-quote .quote-who .quote-who__role[hidden]{display:none;}
  .quote-avatar{
    width:38px; height:38px; border-radius:var(--radius-avatar); object-fit:cover; flex:none;
    background:var(--bg-soft-2); border:1px solid var(--line);
  }
  .quote-avatar-onlight{border:2px solid rgba(255,255,255,.7); background:rgba(255,255,255,.15);}
  @media (max-width:600px){ .team-quote{padding:30px 26px;} }
  .tech-groups{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:28px;
  }
  .tech-group{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .tech-group + .tech-group{margin-top:0;}
  .tech-group-label,
  .tech-group-label.eyebrow{
    margin:0; display:block; width:100%; text-align:left;
    font-size:13px; font-family:'Inter', sans-serif; font-weight:600;
    letter-spacing:.04em; text-transform:uppercase; color:var(--ink-50);
  }

  /*
   * Partner logos: single horizontal row spanning content width.
   * Space-between on desktop/tablet; horizontal scroll when they cannot fit.
   * Same media box (140×40) for every brand; names under icon-only SVGs.
   */
  .mowomo-logo-marquee .partner-logos{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    justify-content:space-between;
    gap:0;
    width:100%;
    margin:0;
    padding:0 0 4px;
    list-style:none;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .mowomo-logo-marquee .partner-logos::-webkit-scrollbar{display:none;}
  .mowomo-logo-marquee .partner-logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
    width:140px;
    text-align:center;
    scroll-snap-align:start;
  }
  .mowomo-logo-marquee .partner-logo__media{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:56px;
    flex:none;
  }
  .mowomo-logo-marquee .partner-logo img{
    display:block;
    box-sizing:border-box;
    width:140px;
    height:40px;
    max-width:100%;
    object-fit:contain;
    object-position:center;
    margin:0;
    filter:none;
    opacity:1;
  }
  .mowomo-logo-marquee .partner-logo__name{
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:13px;
    line-height:1.3;
    color:var(--ink-50);
    letter-spacing:-0.01em;
    max-width:100%;
    min-height:1.3em;
  }
  .mowomo-logo-marquee .partner-logo--text{
    justify-content:flex-start;
  }
  .mowomo-logo-marquee .partner-logo--text .partner-logo__name{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    font-size:15px;
    font-weight:600;
    color:var(--ink-70);
    white-space:normal;
  }
  @media (max-width:720px){
    .mowomo-logo-marquee .partner-logos{
      justify-content:flex-start;
      gap:20px;
    }
    .mowomo-logo-marquee .partner-logo{width:120px;}
    .mowomo-logo-marquee .partner-logo img{
      width:120px;
      height:36px;
    }
  }
  /* Editorial tags — shared by servicios, tecnologías, casos, partners */
  .mw-tags{display:flex; flex-wrap:wrap; gap:8px;}
  .mw-tag,
  a.mw-tag,
  .wp-block-post-terms.mw-tags a{
    display:inline-block;
    padding:6px 12px;
    border-radius:var(--radius-tag);
    border:0;
    background:var(--bg-soft);
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:14px;
    line-height:1.35;
    color:var(--ink);
    text-decoration:none;
    transition:background .2s ease, color .2s ease;
  }
  .mw-tag .dot{display:none;}
  a.mw-tag:hover,
  a.mw-tag:focus-visible,
  .wp-block-post-terms.mw-tags a:hover,
  .wp-block-post-terms.mw-tags a:focus-visible{
    background:var(--bg-soft-2);
    color:var(--ink-deep);
  }
  .wp-block-post-terms.mw-tags{
    display:flex; flex-wrap:wrap; gap:8px;
  }

  /* ---------- CLIENTS marquee ---------- */
  .clients{position:relative; z-index:1; background:var(--bg-soft); padding:var(--section-padding-y) 0; margin-top:0; overflow:hidden;}
  .clients > .wrap{padding-bottom:0;}
  .clients .section-head{margin-bottom:52px;}
  .clients-head{
    max-width:var(--max);
    width:100%;
    margin:0 auto 26px;
    padding:0;
    box-sizing:border-box;
  }
  .clients .eyebrow{margin:0; text-align:left;}
  .marquee{display:flex; width:max-content; animation:scroll 26s linear infinite; align-items:center;}
  .marquee:hover{animation-play-state:paused;}
  .marquee span,
  .marquee .marquee-client--text{
    font-family:'Inter', sans-serif; font-size:22px; font-weight:600;
    padding:0 42px; white-space:nowrap; color:var(--ink-50); border-right:1px solid var(--line);
  }
  .marquee--logos .marquee-client{
    display:inline-flex; align-items:center; justify-content:center;
    padding:0 36px; height:56px; border-right:1px solid var(--line);
  }
  .marquee--logos .marquee-client img{
    display:block; height:36px; width:auto; max-width:160px; object-fit:contain;
    filter:none; opacity:1;
  }
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* ---------- CASES ---------- */
  .cases-scroll{
    display:flex; gap:22px; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .cases-scroll::-webkit-scrollbar{display:none;}
  .cases-scroll:focus-visible{outline:3px solid var(--blue); outline-offset:4px; border-radius:8px;}
  .cases-nav{display:flex; gap:10px;}
  .cases-nav--bottom{justify-content:flex-end; margin-top:28px;}
  /* Circular icon buttons: same blue chrome as .btn-solid */
  .cases-nav button,
  .footer-quote__arrow,
  .back-to-top{
    width:48px; height:48px; min-width:48px; min-height:48px; margin:0; padding:0;
    border:var(--btn-border-width) solid var(--blue); border-radius:50%;
    background:var(--blue); color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    cursor:pointer; box-shadow:none;
    transition:var(--btn-transition);
  }
  .footer-quote__arrow{flex:none;}
  /* Own background so it stays visible over the blue footer gradient, not just on white. */
  .back-to-top{
    background:#fff; color:var(--blue);
    box-shadow:0 4px 16px rgba(15, 23, 42, .18);
  }
  .cases-nav button:hover,
  .cases-nav button:focus-visible,
  .footer-quote__arrow:hover,
  .footer-quote__arrow:focus-visible,
  .back-to-top:hover,
  .back-to-top:focus-visible{
    background:transparent;
    border-color:var(--blue);
    color:var(--blue);
    box-shadow:none;
  }
  .back-to-top:hover,
  .back-to-top:focus-visible{
    background:var(--blue);
    color:#fff;
    box-shadow:0 4px 16px rgba(15, 23, 42, .18);
  }
  .cases-nav button:focus-visible,
  .footer-quote__arrow:focus-visible,
  .back-to-top:focus-visible{
    outline:3px solid var(--blue); outline-offset:3px;
  }
  .cases-nav button:disabled{opacity:.35; cursor:default; background:var(--blue); color:#fff;}
  .cases-nav button svg,
  .footer-quote__arrow svg,
  .back-to-top svg,
  .back-to-top img{width:20px; height:20px; display:block;}
  .cases-nav button svg path,
  .footer-quote__arrow svg path,
  .back-to-top svg path{stroke:currentColor;}
  /* Rotate upright arrow-up.svg left/right (mw-icon-arrow--*). */
  .cases-nav button.mw-icon-arrow--prev svg,
  .footer-quote__arrow--prev svg,
  .footer-quote__arrow.mw-icon-arrow--prev svg{transform:rotate(-90deg);}
  .cases-nav button.mw-icon-arrow--next svg,
  .footer-quote__arrow--next svg,
  .footer-quote__arrow.mw-icon-arrow--next svg{transform:rotate(90deg);}
  /* CSS icon if HTML/SVG emptied (kses / stale paste). */
  .cases-nav button.mw-icon-arrow:not(:has(svg)):not(:has(img))::before,
  .footer-quote__arrow:not(:has(svg)):not(:has(img))::before,
  .back-to-top:not(:has(svg)):not(:has(img))::before{
    content:""; display:block; width:20px; height:20px;
    background-color:currentColor;
    -webkit-mask:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 15V5M10 5L5 10M10 5l5 5' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 15V5M10 5L5 10M10 5l5 5' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  .cases-nav button.mw-icon-arrow--prev:not(:has(svg)):not(:has(img))::before,
  .footer-quote__arrow--prev:not(:has(svg)):not(:has(img))::before,
  .footer-quote__arrow.mw-icon-arrow--prev:not(:has(svg)):not(:has(img))::before{transform:rotate(-90deg);}
  .cases-nav button.mw-icon-arrow--next:not(:has(svg)):not(:has(img))::before,
  .footer-quote__arrow--next:not(:has(svg)):not(:has(img))::before,
  .footer-quote__arrow.mw-icon-arrow--next:not(:has(svg)):not(:has(img))::before{transform:rotate(90deg);}
  @media (max-width:600px){
    .cases-nav button,
    .footer-quote__arrow{width:44px; height:44px; min-width:44px; min-height:44px;}
  }
  .case-card{
    scroll-snap-align:start; flex:0 0 290px;
    background:#fff; border:1px solid var(--line); border-radius:0; overflow:hidden;
    transition:border-color .25s ease; box-shadow:none; will-change:auto;
    display:block;
  }
  .case-card:hover{border-color:var(--line-strong); box-shadow:none;}
  .case-card:focus-visible{outline:3px solid var(--blue); outline-offset:3px;}
  .case-window{background:var(--paper); margin:14px; border-radius:0; overflow:hidden; border:1px solid rgba(16,21,23,.08);}
  .case-topbar{height:22px; background:rgba(16,21,23,.04); display:flex; align-items:center; gap:5px; padding:0 10px;}
  .case-topbar span{width:6px; height:6px; border-radius:50%; background:rgba(16,21,23,.22);}
  .case-canvas{height:126px; padding:14px;}
  .case-canvas:has(.case-screenshot){padding:0; height:auto;}
  .case-screenshot{display:block; width:100%; height:126px; object-fit:cover; object-position:top center;}
  .case-info{padding:6px 20px 26px;}
  .case-info h3{font-size:var(--type-card-title); margin-bottom:12px;}
  .case-info .mw-tags{margin-top:0;}
  .case-info .mw-tag{
    font-size:12px;
    padding:5px 10px;
    color:var(--ink-70);
  }
  .case-evidence{
    height:100%;
    position:relative;
    padding:2px 0 0;
  }
  .case-evidence__kicker{
    display:block;
    margin-bottom:12px;
    font-family:'Inter', sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--blue-deep);
  }
  .case-evidence--note strong{
    display:block;
    max-width:13ch;
    font-family:'Space Grotesk', sans-serif;
    font-size:20px;
    line-height:1;
    letter-spacing:-.03em;
  }
  .case-evidence--note i{
    display:block;
    width:58%;
    height:7px;
    margin-top:18px;
    border-radius:999px;
    background:var(--line-strong);
  }
  .p-nav{height:9px; width:38%; background:#fff; border:1px solid var(--line); border-radius:5px; margin-bottom:12px;}
  .p-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:6px;}
  .p-grid i{aspect-ratio:1; display:block; border-radius:6px; background:#fff; border:1px solid var(--line);}
  .p-grid i:nth-child(3n+1){background:rgba(59,110,246,.14); border-color:rgba(59,110,246,.25);}
  .p-hero-block{height:38px; border-radius:8px; margin-bottom:10px; background:linear-gradient(135deg, rgba(59,110,246,.18), rgba(124,92,252,.15));}
  .p-lines i{display:block; height:6px; background:#fff; border:1px solid var(--line); border-radius:4px; margin-bottom:6px;}
  .p-lines i:last-child{width:60%; margin-bottom:0;}
  .p-chart{display:flex; align-items:flex-end; gap:6px; height:64px;}
  .p-chart i{flex:1; display:block; border-radius:4px 4px 0 0; background:rgba(59,110,246,.5);}
  .p-chart i.peak{background:var(--violet);}
  .p-nodes{width:100%; height:64px;}
  .p-nodes circle{fill:var(--blue); stroke:none;}
  .p-nodes path{stroke:var(--line-strong); stroke-width:1.3; fill:none;}
  .p-ai{position:relative; height:64px; display:flex; align-items:center; justify-content:center;}
  .p-ai-core{width:12px; height:12px; border-radius:50%; background:var(--violet); position:relative; z-index:2;}
  .p-ai-ring{position:absolute; width:12px; height:12px; border-radius:50%; border:1.5px solid var(--violet); animation:pulse-ring 2.6s ease-out infinite;}
  @keyframes pulse-ring{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(4.2); opacity:0;}}
  @media (prefers-reduced-motion: reduce){ .p-ai-ring{animation:none; opacity:0;} }
  .p-checklist{display:flex; flex-direction:column; gap:11px; padding-top:2px;}
  .p-checklist .chk-row{display:flex; align-items:center; gap:9px;}
  .p-checklist .chk-dot{width:11px; height:11px; border-radius:50%; border:1.6px solid var(--blue); flex:none;}
  .p-checklist .chk-bar{flex:1; height:6px; background:#fff; border:1px solid var(--line); border-radius:4px;}
  .case-tags{display:flex; flex-wrap:wrap; gap:8px;}
  .case-tags span,
  .case-tags a{
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:0;
    background:var(--bg-soft);
    padding:5px 10px;
    border-radius:var(--radius-tag);
    color:var(--ink-70);
    text-decoration:none;
  }

  /* ---------- TIMELINE (vertical zigzag) ---------- */
  .timeline{
    display:flex; flex-direction:column;
    width:100%; max-width:none;
    margin-bottom:var(--section-head-gap);
  }
  .tl-item{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 22px minmax(0, 1fr);
    column-gap:28px;
    padding-bottom:72px;
    position:relative;
    align-items:start;
  }
  .tl-item:last-child{padding-bottom:0;}
  .tl-marker{
    grid-column:2;
    grid-row:1;
    position:relative;
    align-self:stretch;
    min-height:100%;
  }
  .tl-dot{
    position:absolute; left:50%; top:8px; z-index:2;
    width:11px; height:11px; border-radius:50%;
    background:var(--grad); transform:translateX(-50%);
    box-shadow:0 0 0 3px var(--bg);
  }
  .tl-marker::after{
    content:""; position:absolute; z-index:0; top:11px; bottom:-76px; left:50%;
    width:2px; background:var(--line); transform:translateX(-50%); pointer-events:none;
  }
  .tl-item:last-child .tl-marker::after{display:none;}
  .tl-body{
    display:flex; flex-direction:column; gap:10px;
    min-width:0; max-width:36rem;
  }
  .tl-item:nth-child(odd) .tl-body{
    grid-column:1; grid-row:1;
    justify-self:end; text-align:right;
  }
  .tl-item:nth-child(even) .tl-body{
    grid-column:3; grid-row:1;
    justify-self:start; text-align:left;
  }
  .tl-item:nth-child(odd) .tl-media{align-self:flex-end;}
  .tl-item:nth-child(even) .tl-media{align-self:flex-start;}
  .tl-year{
    font-family:'Space Grotesk', sans-serif; font-weight:700;
    font-size:var(--type-lede); line-height:1.15; padding-top:1px;
  }
  .tl-media{flex:none; margin-top:2px; width:min(100%, 220px);}
  .tl-image{
    display:block; width:100%; height:auto; aspect-ratio:2 / 1; object-fit:cover;
    border-radius:12px; border:1px solid var(--line); background:var(--bg-soft);
  }
  .tl-image--logo{
    object-fit:contain; object-position:center; padding:10px; box-sizing:border-box;
    background:var(--bg);
  }
  .tl-content h4{
    font-family:'Space Grotesk', sans-serif; font-weight:600;
    font-size:var(--type-card-title); margin:0 0 6px; line-height:1.3;
  }
  .tl-content p{margin:0; font-size:var(--type-body); line-height:1.6; color:var(--ink-70);}

  @media (max-width:900px){
    .tl-item{column-gap:20px; padding-bottom:56px;}
    .tl-year{font-size:17px;}
    .tl-media{width:min(100%, 180px);}
  }

  /* Narrow: line left, all milestones on the right (readable stack). */
  @media (max-width:720px){
    .tl-item{
      grid-template-columns:14px minmax(0, 1fr);
      column-gap:14px;
      row-gap:0;
      padding-bottom:44px;
    }
    .tl-marker{grid-column:1; grid-row:1;}
    .tl-item:nth-child(odd) .tl-body,
    .tl-item:nth-child(even) .tl-body{
      grid-column:2; grid-row:1;
      justify-self:stretch; text-align:left; max-width:none;
    }
    .tl-item:nth-child(odd) .tl-media,
    .tl-item:nth-child(even) .tl-media{align-self:stretch; width:100%; max-width:280px;}
    .tl-year{font-size:15px;}
    .tl-content h4{font-size:16px;}
    .tl-content p{font-size:15px;}
    .tl-marker::after{bottom:-50px;}
    .tl-dot{top:6px;}
  }

  @media (max-width:420px){
    .tl-item{grid-template-columns:12px minmax(0, 1fr); column-gap:12px;}
    .tl-year{font-size:14px;}
    .tl-dot{width:9px; height:9px; top:5px;}
  }

  /* ---------- TIMELINE (scoped) ---------- */
  .section-timeline > .wrap > .impact-stat + .section-head--cases,
  #nosotros > .wrap > .impact-stat + .section-head--cases{
    margin-top:0;
  }
  #nosotros .timeline,
  .section-timeline .timeline,
  section:has(> .wrap > .timeline) .timeline{
    margin-left:auto; margin-right:auto; width:100%;
  }
  #nosotros .impact-stat,
  .section-timeline .impact-stat,
  section:has(> .wrap > .timeline) .impact-stat{
    justify-content:center; margin-left:auto; margin-right:auto;
    margin-top:var(--section-head-gap); margin-bottom:128px;
    text-align:center;
  }

  /* ---------- IMPACT + MANIFESTO ---------- */
  .impact-stat{display:flex; align-items:center; gap:44px; margin:0; flex-wrap:wrap;}
  .impact-number{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:clamp(104px, 16vw, 208px); line-height:1;}
  .impact-number::before{content:"+";}
  .impact-stat p{max-width:280px; font-size:16px; color:var(--ink-70); line-height:1.6; margin:0;}
  .manifesto-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
  .m-card{border:1px solid var(--line); border-radius:20px; padding:30px; background:#fff;}
  .m-card-icon{
    width:44px; height:44px; border-radius:12px; background:var(--bg-soft);
    display:flex; align-items:center; justify-content:center; color:var(--blue-deep);
    margin-bottom:18px;
  }
  .m-card-icon svg{width:22px; height:22px;}
  .m-card-icon .icon-line path,
  .m-card-icon .icon-line circle,
  .m-card-icon .icon-line line,
  .m-card-icon .icon-line rect{
    fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
    stroke-dasharray:none; stroke-dashoffset:0; transition:none;
  }
  .m-card .tag{font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:var(--type-panel-title); letter-spacing:0; text-transform:none; color:var(--blue); margin-bottom:16px; display:block;}
  .m-card h3{font-size:var(--type-card-title); margin-bottom:10px; line-height:1.3;}
  .m-card p{margin:0; color:var(--ink-70); font-size:var(--type-body); line-height:1.6;}

  /* Nosotros: editorial pillars (image + title + body, no card chrome) */
  .section-why--nosotros{
    padding-top:calc(var(--section-padding-y, 52px) + 40px);
    padding-bottom:calc(var(--section-padding-y, 52px) + 40px);
  }
  .section-why--nosotros .manifesto-grid{gap:36px;}
  .section-why--nosotros .manifesto-col__media{
    display:block; width:100%; height:auto; aspect-ratio:4 / 3;
    object-fit:cover; object-position:center; margin:0 0 28px;
  }
  .section-why--nosotros .manifesto-col h3{
    font-size:var(--type-card-title); margin:0 0 18px; line-height:1.3;
  }
  .section-why--nosotros .manifesto-col p{
    margin:0; color:var(--ink-70); font-size:var(--type-body); line-height:1.65;
  }
  .section-why--nosotros .manifesto-col p + p{margin-top:14px;}
  .section-why--nosotros .section-why__cta{
    display:flex;
    justify-content:center;
    margin-top:48px;
  }
  @media (max-width:720px){
    .section-why--nosotros{
      padding-top:calc(var(--section-padding-y-mobile, 36px) + 28px);
      padding-bottom:calc(var(--section-padding-y-mobile, 36px) + 28px);
    }
    .section-why--nosotros .manifesto-grid{gap:40px;}
    .section-why--nosotros .manifesto-col__media{margin-bottom:24px;}
    .section-why--nosotros .section-why__cta{margin-top:40px;}
  }

  /* ---------- BLOG ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}
  .post{display:flex; flex-direction:column; gap:14px;}
  .post .thumb{width:100%; aspect-ratio:4/3; border-radius:0; background:var(--bg-soft); border:1px solid var(--line); position:relative; overflow:hidden;}
  .post .thumb img,
  .post .thumb .post-thumb{display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
  .post .meta{
    font-family:'Inter', sans-serif; font-size:14px; color:var(--ink-50);
    display:flex; flex-direction:column; align-items:flex-start;
    gap:10px; min-width:0; width:100%;
  }
  .post .meta__facts{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    column-gap:10px; row-gap:6px; min-width:0; width:100%; max-width:100%;
  }
  .post .meta .meta__date{flex:none; white-space:nowrap;}
  .post .meta .mw-tags{
    display:inline-flex; flex-wrap:wrap; align-items:center;
    gap:8px; min-width:0; max-width:100%;
  }
  .post .post__footer{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    column-gap:10px; row-gap:8px; width:100%; min-width:0; margin-top:auto;
    padding-block-start:14px; border-block-start:1px solid var(--line);
    font-family:'Inter', sans-serif; font-size:14px; color:var(--ink-50);
  }
  .post .post__footer .post-author{
    display:inline-flex; align-items:center; gap:8px;
    color:inherit; text-decoration:none; min-width:0; max-width:min(100%, 70%);
  }
  .post-author__avatar{
    width:36px; height:36px; border-radius:var(--radius-avatar);
    object-fit:cover; flex-shrink:0; background:var(--line);
  }
  .post h3{font-size:var(--type-card-title); font-weight:600; line-height:1.35;}
  .post .go{font-family:'Inter'; font-weight:var(--btn-font-weight); font-size:var(--btn-font-size); color:var(--blue-deep);}
  .post .post__footer .go{margin-top:0; margin-inline-start:auto; flex-shrink:0; align-self:center;}

  /* ---------- CONTACT / CTA ---------- */
  /* .contact-cta padding/background owned by wp-overrides.css (canonical banner). */
  .contact-wrap{padding:var(--section-padding-y) 0;}
  .contact-card{
    max-width:var(--max); margin:0 auto; border-radius:32px;
    position:relative;
    overflow:hidden;
    background:var(--ink-deep);
    color:#fff; text-align:left; padding:72px 64px;
    border:1px solid rgba(16,21,23,.16);
  }
  .contact-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:8px;
    background:var(--blue);
  }
  .contact-card::after{
    content:"";
    position:absolute;
    right:64px;
    top:64px;
    width:min(260px, 28vw);
    height:1px;
    background:rgba(255,255,255,.24);
  }
  .contact-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:30px;
  }
  .contact-card__meta span{
    padding:6px 10px;
    border:0;
    border-radius:var(--radius-tag);
    background:rgba(255,255,255,.12);
    font-family:'Inter', sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:rgba(255,255,255,.78);
  }
  .contact-card blockquote{
    font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:var(--type-section-title);
    line-height:1.15; max-width:920px; margin:0 0 24px;
    letter-spacing:-.02em;
  }
  .contact-card__lede{
    max-width:560px;
    margin:0 0 34px;
    color:rgba(255,255,255,.72);
    font-size:17px;
    line-height:1.6;
  }
  .contact-card .who{
    display:inline-flex; align-items:center; gap:12px;
    font-family:'Inter', sans-serif; font-size:13px; font-weight:600;
    color:rgba(255,255,255,.85); margin-bottom:40px;
  }
  .contact-card .wp-block-buttons{
    justify-content:flex-start;
  }

  /* ---------- FOOTER ---------- */
  footer{padding:0; border-top:none;}
  footer .wrap{padding:0 var(--page-gutter);}
  .home footer .wrap,
  body.page-home footer .wrap,
  body.front-page footer .wrap{padding:100px var(--page-gutter);}
  .team-quote.footer-quote{
    margin-bottom:0; border:none; border-left:none; background:transparent; padding:0;
    text-align:left;
  }
  .team-quote.footer-quote:focus{outline:none;}
  .team-quote.footer-quote:focus-visible{outline:2px solid var(--blue); outline-offset:8px;}
  /*
   * Quote column centered; text left-aligned; arrows below (cases-nav pattern).
   * DOM: content then .footer-quote__arrows.
   */
  .footer-quote__nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-width:760px;
    margin:0 auto;
  }
  .footer-quote__content{
    flex:none;
    width:100%;
    min-width:0;
    order:0;
    margin:0 0 28px;
    text-align:left;
  }
  .footer-quote__arrows{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    margin:0;
  }
  .team-quote.footer-quote p{
    margin-left:0;
    margin-right:0;
    max-width:none;
    text-align:left;
  }
  .team-quote.footer-quote .quote-who{
    justify-content:flex-start;
  }
  .team-quote.footer-quote .quote-who .quote-meta,
  .team-quote.footer-quote .quote-who .meta{
    justify-content:flex-start;
  }
  .team-quote.footer-quote .quote-avatar{width:50px; height:50px;}
  .footer-quote__arrow[hidden]{display:none;}
  @media (max-width:600px){
    .footer-quote__nav{gap:10px;}
    .footer-quote__content{margin-bottom:22px;}
  }
  /* Gradient band: 64px vertical padding = previous 32px + 32px additional. */
  .site-footer .foot-main,
  .site-footer .wp-block-group.foot-main,
  .foot-main{
    position:relative;
    border-top:none;
    padding-top:64px;
    padding-bottom:64px;
    padding-left:0;
    padding-right:0;
    width:100%;
    background:var(--grad);
    color:#fff;
  }
  .foot-main__inner{max-width:var(--page-width); margin:0 auto; padding:0 var(--page-gutter); box-sizing:border-box;}
  /* Only !important that must stay: WP .wp-block-columns { align-items: initial !important } */
  .foot-main .wp-block-columns.foot-top,
  .foot-main .wp-block-columns.foot-top.is-layout-flex,
  .site-footer .wp-block-columns.foot-top,
  .site-footer .wp-block-columns.are-vertically-aligned-top.foot-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start !important;
    gap:30px;
    margin-bottom:40px;
  }
  .foot-main .wp-block-column.foot-brand,
  .foot-main .wp-block-column.foot-menus,
  .site-footer .wp-block-column.foot-brand,
  .site-footer .wp-block-column.foot-menus{
    align-self:flex-start;
    justify-content:flex-start;
  }
  .foot-main .wp-block-column.foot-menus,
  .site-footer .wp-block-column.foot-menus{
    display:grid;
    grid-template-columns:repeat(2, minmax(140px, auto));
    gap:48px;
    margin-left:auto;
    justify-items:start;
    align-items:start;
    align-content:start;
    text-align:left;
    /* Kill WP flow layout block-gap margin on the 2nd nav (was pushing .foot-legal down 24px). */
    --wp--style--block-gap:0;
  }
  .foot-main .foot-menus > .wp-block-navigation + .wp-block-navigation,
  .site-footer .foot-menus > .wp-block-navigation + .wp-block-navigation{
    margin-block-start:0;
    margin-top:0;
  }
  .foot-main .foot-menus .wp-block-navigation,
  .foot-main .foot-menus .wp-block-navigation.is-vertical,
  .foot-main .foot-links,
  .foot-main .foot-legal,
  .foot-main .foot-links .wp-block-navigation__container,
  .foot-main .foot-legal .wp-block-navigation__container{
    align-items:flex-start;
    justify-content:flex-start;
  }
  .foot-addr{font-size:16px; color:var(--ink-70); max-width:280px; line-height:1.6;}
  .foot-main .foot-addr{color:#fff;}
  .foot-menus{display:grid; grid-template-columns:repeat(2, minmax(140px, auto)); gap:48px; margin-left:auto; justify-items:start; align-items:start; align-content:start; text-align:left; --wp--style--block-gap:0;}
  .foot-links, .foot-legal{display:flex; flex-direction:column; align-items:flex-start; gap:12px; font-family:'Inter', sans-serif; text-align:left;}
  .foot-links a, .foot-legal a{font-family:'Inter', sans-serif; font-size:16px; font-weight:500; text-decoration:none;}
  .foot-links a{color:var(--ink-70);}
  .foot-legal a{color:var(--ink-70);}
  .foot-main .foot-links a,
  .foot-main .foot-legal a{
    color:#fff;
    position:relative;
    padding-bottom:2px;
    display:inline-flex;
    align-items:center;
  }
  .foot-main .foot-links a::after,
  .foot-main .foot-legal a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:#fff;
    border-radius:2px;
    transition:width .25s ease;
  }
  .foot-main .foot-links a:hover::after,
  .foot-main .foot-links a:focus-visible::after,
  .foot-main .foot-legal a:hover::after,
  .foot-main .foot-legal a:focus-visible::after{width:100%;}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; color:var(--ink-50); flex-wrap:wrap; gap:12px;}
  .foot-bottom > span{font-family:'Inter', sans-serif; font-size:14px;}
  .foot-copy{display:flex; flex-direction:column; gap:6px; max-width:36rem;}
  .site-copyright{margin:0;}
  .site-credit{margin:0; font-family:'Inter', sans-serif; font-size:12px; line-height:1.45; max-width:480px;}
  .foot-main .foot-bottom{color:#fff;}
  .foot-main .site-copyright,
  .foot-main .site-credit{color:#fff;}
  .foot-main .site-credit{opacity:.72;}
  .foot-social{display:flex; gap:16px; align-items:center;}
  /* Explicit size — do NOT set font-size on .foot-social a (breaks 1em icons). */
  .foot-main .wp-block-social-links.foot-social,
  .foot-main .wp-block-social-links.foot-social.has-small-icon-size{
    font-size:32px;
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link svg,
  .foot-main .wp-block-social-links.foot-social.is-style-logos-only .wp-block-social-link.wp-social-link svg{
    width:32px;
    height:32px;
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link-anchor{
    font-size:inherit;
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link,
  .foot-main .wp-block-social-links.foot-social.has-icon-color .wp-block-social-link.wp-social-link{
    background:transparent;
    color:#fff;
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg path{
    color:inherit;
    fill:currentColor;
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:hover,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:focus-within{
    color:var(--ink);
  }
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:hover .wp-block-social-link-anchor,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:hover .wp-block-social-link-anchor svg,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:hover .wp-block-social-link-anchor svg path,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:focus-within .wp-block-social-link-anchor,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:focus-within .wp-block-social-link-anchor svg,
  .foot-main .wp-block-social-links.foot-social .wp-block-social-link.wp-social-link:focus-within .wp-block-social-link-anchor svg path{
    fill:currentColor;
    color:inherit;
  }
  .foot-main .foot-social a:focus-visible{
    outline:2px solid #fff;
    outline-offset:3px;
  }
  .foot-main .logo.foot{color:#fff;}
  .foot-main .logo.foot .logo-mark{filter:brightness(0) invert(1);}

  /* reveal */
  .reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- BACK TO TOP ---------- */
  .back-to-top{
    position:fixed; right:24px; bottom:24px; z-index:90;
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity var(--btn-dur) var(--btn-ease), transform var(--btn-dur) var(--btn-ease), visibility var(--btn-dur) var(--btn-ease), var(--btn-transition);
  }
  .back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
  .back-to-top.visible:hover,
  .back-to-top.visible:focus-visible{transform:translateY(0);}
  @media (max-width:600px){ .back-to-top{right:16px; bottom:16px; width:44px; height:44px; min-width:44px; min-height:44px;} }
  @media (prefers-reduced-motion: reduce){ .back-to-top{transition:opacity .01s linear;} }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .marquee{animation:none;}
    .reveal{opacity:1; transform:none; transition:none;}
  }

  .nav-toggle{
    display:none; background:none; border:none; cursor:pointer; padding:6px;
    color:var(--ink); align-items:center; justify-content:center;
  }
  .nav-toggle svg{width:24px; height:24px;}

  .mobile-menu{
    position:fixed; inset:0; background:#fff; z-index:200;
    padding:100px 32px 40px; overflow-y:auto;
    transform:translateX(100%); transition:transform .35s ease;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu-close{
    position:absolute; top:24px; right:24px; width:44px; height:44px; border-radius:50%;
    background:var(--bg-soft); border:none; color:var(--ink); cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  .mobile-menu-close svg{width:20px; height:20px;}
  .mobile-menu ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
  .mobile-menu ul li a{
    display:block; padding:18px 0; border-bottom:1px solid var(--line);
    font-family:'Inter', sans-serif; font-weight:600; font-size:22px; color:var(--ink);
  }
  .mobile-menu-item--submenu{border-bottom:1px solid var(--line);}
  .mobile-submenu summary{
    list-style:none; cursor:pointer; padding:18px 0;
    font-family:'Inter', sans-serif; font-weight:600; font-size:22px; color:var(--ink);
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .mobile-submenu summary::-webkit-details-marker{display:none;}
  .mobile-submenu summary::after{
    content:""; width:10px; height:10px; flex:none;
    border-right:2px solid var(--ink-50); border-bottom:2px solid var(--ink-50);
    transform:rotate(45deg); transition:transform .2s ease;
  }
  .mobile-submenu[open] summary::after{transform:rotate(-135deg); margin-top:4px;}
  .mobile-submenu__list{
    list-style:none; margin:0; padding:0 0 8px;
    display:flex; flex-direction:column; gap:0;
  }
  .mobile-submenu__list li a{
    padding:12px 0 12px 16px; font-size:17px; font-weight:500; color:var(--ink-70);
    border-bottom:none;
  }
  .mobile-submenu__list li:first-child a{
    font-weight:600; color:var(--blue-deep);
  }
  .mobile-menu-ctas{margin-top:28px; display:flex; flex-direction:column; gap:12px;}
  .mobile-menu-ctas a{text-align:center; padding:14px 22px; font-size:16px;}
  body.menu-open{overflow:hidden;}
  @media (prefers-reduced-motion: reduce){ .mobile-menu{transition:none;} }

  @media (max-width: 1100px){
    .services-grid:not(.services-grid--zigzag){grid-template-columns:repeat(2, 1fr);}
    .services-grid.services-grid--zigzag{gap:14px;}
    .services-grid.services-grid--zigzag .service-visual{
      flex-basis:34%;
      width:34%;
      max-width:220px;
      height:148px;
    }
  }
  @media (max-width: 860px){
    nav ul{display:none;}
    .nav-ctas{display:none;}
    .nav-toggle{display:flex;}
    .services-grid:not(.services-grid--zigzag){grid-template-columns:1fr;}
    .services-grid.services-grid--zigzag{gap:12px;}
    .services-grid.services-grid--zigzag > .service,
    .services-grid.services-grid--zigzag > .service:nth-child(even){
      width:100%;
      max-width:100%;
      margin:0;
      align-self:stretch;
      flex-direction:column;
      align-items:stretch;
      gap:12px;
      padding:16px;
    }
    .services-grid.services-grid--zigzag .service-body,
    .services-grid.services-grid--zigzag > .service:nth-child(even) .service-body{
      align-items:flex-start;
      text-align:left;
    }
    .services-grid.services-grid--zigzag .service-visual{
      flex:none;
      width:100%;
      max-width:none;
      height:148px;
    }
    .blog-grid{grid-template-columns:1fr;}
    .manifesto-grid,
    #nosotros .manifesto-grid,
    .section-why .manifesto-grid{grid-template-columns:1fr;}
    .technology-proof{grid-template-columns:1fr; margin-top:0; gap:32px;}
    .technology-proof article{min-height:auto; padding:0; border-top:1px solid var(--line); padding-top:28px;}
    .technology-proof article:first-child{border-top:0; padding-top:0;}
    .technology-proof span{margin-bottom:24px;}
    .credential{padding:28px 26px;}
    .contact-card{padding:56px 26px; border-radius:24px;}
    .contact-card::after{display:none;}
    .contact-card .wp-block-buttons{justify-content:flex-start;}
    .section-head{flex-direction:column; align-items:flex-start;}
    .section-head--cases .section-head__row{flex-direction:column; align-items:flex-start; gap:16px;}
  }

  /* ---------- PAGE HERO (sub-pages) ---------- */
  .page-hero{position:relative; overflow:hidden; padding:96px 0 40px;}
  /* Block heroes: horizontal shell comes from wp-overrides (same as .wrap). */
  .page-hero .wrap{position:relative; z-index:2;}
  .page-hero .eyebrow{margin-bottom:20px;}
  .page-hero h1{font-size:var(--type-page-hero); line-height:1.08; max-width:600px;}
  /* Service singles: slogan under H1 name — supporting, not competing. */
  .page-hero .service-dek{
    margin:16px 0 0;
    max-width:600px;
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:var(--type-lede);
    line-height:1.35;
    color:var(--ink);
  }
	.page-hero p.lede{margin-top:22px; max-width:600px; font-size:var(--type-lede); line-height:1.6; color:var(--ink-70);}
  .page-hero .service-dek + p.lede{margin-top:14px;}

  /* Hub heroes with team cutout (Tecnologías / Servicios / Casos). */
  .page-hero--tech .tech-hero-row,
  .page-hero--servicios .tech-hero-row,
  .page-hero--casos .tech-hero-row,
  .page-hero--nosotros .tech-hero-row,
  .page-hero--contacto .tech-hero-row{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(260px, min(560px, 42vw));
    gap:clamp(24px, 4vw, 48px);
    align-items:start;
  }
  .page-hero--tech .tech-hero-copy,
  .page-hero--servicios .tech-hero-copy,
  .page-hero--casos .tech-hero-copy,
  .page-hero--nosotros .tech-hero-copy,
  .page-hero--contacto .tech-hero-copy{
    align-self:start;
    padding-top:0;
  }
  .page-hero--tech h1,
  .page-hero--servicios h1,
  .page-hero--casos h1,
  .page-hero--nosotros h1,
  .page-hero--contacto h1{
    max-width:600px;
  }
  .page-hero--tech .tech-hero-copy .lede,
  .page-hero--servicios .tech-hero-copy .lede,
  .page-hero--casos .tech-hero-copy .lede,
  .page-hero--nosotros .tech-hero-copy .lede,
  .page-hero--contacto .tech-hero-copy .lede{
    max-width:600px;
  }
  .page-hero--tech .tech-hero-visual,
  .page-hero--servicios .tech-hero-visual,
  .page-hero--casos .tech-hero-visual,
  .page-hero--nosotros .tech-hero-visual,
  .page-hero--contacto .tech-hero-visual{
    position:relative;
    display:block;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    min-height:0;
    justify-self:end;
    align-self:start;
    width:min(560px, 100%);
    overflow:visible;
    color:inherit;
  }
  .page-hero--tech .tech-hero-visual img,
  .page-hero--servicios .tech-hero-visual img,
  .page-hero--casos .tech-hero-visual img,
  .page-hero--nosotros .tech-hero-visual img,
  .page-hero--contacto .tech-hero-visual img{
    display:block;
    width:100%;
    height:auto;
    border-radius:0;
    background:transparent;
    filter:drop-shadow(0 18px 40px rgba(16, 21, 23, .18));
  }
  .page-hero--tech .tech-hero-visual .hero-visual__credit,
  .page-hero--servicios .tech-hero-visual .hero-visual__credit,
  .page-hero--casos .tech-hero-visual .hero-visual__credit,
  .page-hero--contacto .tech-hero-visual .hero-visual__credit{
    left:clamp(-28px, -3.5vw, -10px);
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
  .page-hero--nosotros .tech-hero-visual .hero-visual__credit{
    left:clamp(-28px, -3.5vw, -10px);
    top:50%;
    bottom:auto;
    transform:translateY(calc(-50% + 100px));
  }
  @media (max-width:860px){
    .page-hero--tech .tech-hero-row,
    .page-hero--servicios .tech-hero-row,
    .page-hero--casos .tech-hero-row,
    .page-hero--nosotros .tech-hero-row,
    .page-hero--contacto .tech-hero-row{
      grid-template-columns:1fr;
      gap:28px;
    }
    .page-hero--tech h1,
    .page-hero--servicios h1,
    .page-hero--casos h1,
    .page-hero--nosotros h1,
    .page-hero--contacto h1{max-width:none;}
    .page-hero--tech .tech-hero-visual,
    .page-hero--servicios .tech-hero-visual,
    .page-hero--casos .tech-hero-visual,
    .page-hero--nosotros .tech-hero-visual,
    .page-hero--contacto .tech-hero-visual{
      order:-1;
      justify-self:center;
      width:min(380px, 88vw);
    }
  }

  /* Service singles keep the same .page-hero shell as Nosotros (no split layout). */
  .section-team{padding-top:var(--section-padding-y); padding-bottom:var(--section-padding-y);}
  .breadcrumb{
    font-family:'Inter', sans-serif; font-size:12.5px; color:var(--ink-50);
    margin-bottom:20px; display:flex; gap:8px; align-items:center; flex-wrap:wrap;
  }
  .breadcrumb a{color:var(--ink-50);}
  .breadcrumb a:hover{color:var(--blue-deep);}
  .page-hero__actions{margin:20px 0 0;}
  .page-hero__actions .go{font-weight:560;}

  .section-services-care{
    padding:var(--section-padding-y) 0;
  }
  .section-services-care .care-brand{
    color:var(--care, #EA445A);
  }
  .services-care-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:0;
  }

  /* ---------- FEATURE LIST (service sub-pages — editorial, not icon cards) ---------- */
  .section-service-features,
  .section-service-related,
  .section-service-brand,
  .section-service-next-step{
    padding:var(--section-padding-y) 0 0;
  }
  .section-service-related,
  .section-service-brand,
  .section-service-next-step{padding-bottom:var(--section-padding-y);}
  .section-service-features .mw-tags,
  .section-service-related .mw-tags{
    margin-top:8px;
  }
  .service-brand-actions,
  .service-next-step-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:0;
  }

  /* ---------- CARE CONFIGURATOR (informational) ---------- */
  .section-care-configurator{
    padding:var(--section-padding-y) 0;
  }
  .page-mowomo-care .section-care-configurator{
    padding-top:var(--section-padding-y);
  }
  .page-mowomo-care{
    --care:#EA445A;
    --care-deep:#C92F44;
    --care-soft:color-mix(in srgb, var(--care) 12%, #fff);
    --care-page-nav-height:96px;
  }
  .page-mowomo-care .care-brand{
    color:var(--care);
  }
  .page-mowomo-care .go,
  .page-mowomo-care .btn-ghost,
  .page-mowomo-care .care-configurator__badge,
  .page-mowomo-care .care-configurator__choice-meta,
  .page-mowomo-care .care-configurator__saving,
  .page-mowomo-care .care-configurator__base .eyebrow,
  .page-mowomo-care .care-pitch__points strong,
  .page-mowomo-care .breadcrumb a:hover,
  .page-mowomo-care .breadcrumb a:focus-visible{
    color:var(--care-deep);
  }
  .page-mowomo-care .go:hover,
  .page-mowomo-care .go:focus-visible,
  .page-mowomo-care .btn-ghost:hover,
  .page-mowomo-care .btn-ghost:focus-visible{
    color:var(--care);
  }
  .page-mowomo-care .go::after,
  .page-mowomo-care .btn-ghost::after,
  .page-mowomo-care .go:hover::after,
  .page-mowomo-care .go:focus-visible::after,
  .page-mowomo-care .btn-ghost:hover::after,
  .page-mowomo-care .btn-ghost:focus-visible::after{
    background:var(--care);
  }
  .page-mowomo-care .care-configurator__billing-option input,
  .page-mowomo-care .care-configurator__choice input,
  .page-mowomo-care .care-configurator__featured-card input,
  .page-mowomo-care .care-configurator__base-card input{
    accent-color:var(--care);
  }
  .page-mowomo-care .care-configurator__badge,
  .page-mowomo-care .care-configurator__choice-level{
    color:var(--care-deep);
  }
  .page-mowomo-care .care-configurator__step-num{
    background:rgba(234,68,90,.10);
    color:var(--care-deep);
  }
  .page-mowomo-care .btn-solid,
  .page-mowomo-care .contact-cta .btn-solid,
  .page-mowomo-care .contact-cta__button{
    background:var(--care);
    border-color:var(--care);
    color:#fff;
  }
  /* Match site solid hover pattern (fill → outline), Care palette. */
  .page-mowomo-care .btn-solid:hover,
  .page-mowomo-care .btn-solid:focus-visible,
  .page-mowomo-care .contact-cta .btn-solid:hover,
  .page-mowomo-care .contact-cta .btn-solid:focus-visible,
  .page-mowomo-care .contact-cta__button:hover,
  .page-mowomo-care .contact-cta__button:focus-visible{
    background:transparent;
    border-color:var(--care);
    color:var(--care);
  }
  .page-mowomo-care .btn-outline{
    border-color:var(--care);
    color:var(--care-deep);
    background:transparent;
  }
  .page-mowomo-care .btn-outline:hover,
  .page-mowomo-care .btn-outline:focus-visible{
    background:var(--care);
    border-color:var(--care);
    color:#fff;
  }
  .page-mowomo-care .team-quote.footer-quote,
  .page-mowomo-care #footerQuoteBox{
    display:none;
  }
  .page-mowomo-care a:focus-visible,
  .page-mowomo-care button:focus-visible,
  .page-mowomo-care input:focus-visible{
    outline-color:var(--care);
  }
  .section-care-pitch{
    padding:var(--section-padding-y) 0;
  }

  /* ---------- CARE PAGE NAV (in-page) ---------- */
  .care-page-nav{
    position:sticky;
    top:var(--header-offset, 96px);
    z-index:30;
    background:var(--care-soft, color-mix(in srgb, #EA445A 12%, #fff));
    border-bottom:1px solid color-mix(in srgb, var(--care, #EA445A) 22%, transparent);
  }
  .care-page-nav__inner{
    display:block;
  }
  .care-page-nav__track{
    display:flex;
    gap:10px 28px;
    align-items:center;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:20px 0;
  }
  .care-page-nav__track::-webkit-scrollbar{display:none;}
  .care-page-nav__link{
    flex:0 0 auto;
    font-family:'Space Grotesk', sans-serif;
    font-size:16px;
    font-weight:600;
    color:var(--ink-70);
    text-decoration:none;
    padding:8px 0;
    border-bottom:2px solid transparent;
    white-space:nowrap;
  }
  .care-page-nav__link:hover,
  .care-page-nav__link:focus-visible{
    color:var(--ink);
  }
  .care-page-nav__link.is-active{
    color:var(--care-deep, #C92F44);
    border-bottom-color:var(--care, #EA445A);
  }
  .page-mowomo-care .care-page-nav__link:focus-visible{
    outline:2px solid var(--care);
    outline-offset:4px;
  }
  #care-top,
  #care-enfoque,
  #care-configurar,
  #care-proceso,
  #care-preguntas{
    scroll-margin-top:calc(var(--header-offset, 96px) + 72px);
  }
  /* Keep floating back-to-top above Care sticky summary on mobile. */
  .page-mowomo-care .back-to-top{
    z-index:95;
    border-color:var(--care);
    background:var(--care);
    color:#fff;
  }
  .page-mowomo-care .back-to-top:hover,
  .page-mowomo-care .back-to-top:focus-visible{
    background:transparent;
    border-color:var(--care);
    color:var(--care);
  }
  .page-mowomo-care .back-to-top:focus-visible{
    outline-color:var(--care);
  }
  @media (max-width:959px){
    .page-mowomo-care .back-to-top{
      /* Clear the sticky Care summary strip at the bottom. */
      bottom:max(88px, calc(72px + env(safe-area-inset-bottom, 0px)));
    }
  }
  .care-pitch{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:36px;
    margin-top:8px;
  }
  @media (min-width:900px){
    .care-pitch{
      grid-template-columns:minmax(0, 1.35fr) minmax(260px, .85fr);
      gap:48px;
      align-items:start;
    }
  }
  .care-pitch__copy{
    display:grid;
    gap:16px;
    max-width:62ch;
  }
  .care-pitch__copy p{
    margin:0;
    font-size:var(--type-body);
    line-height:1.65;
    color:var(--ink-70);
  }
  .care-pitch__actions{
    margin-top:4px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:16px;
  }
  .care-pitch__points{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:0;
    border-top:1px solid var(--line);
  }
  .care-pitch__points li{
    display:grid;
    gap:6px;
    padding:20px 0;
    border-bottom:1px solid var(--line);
  }
  .care-pitch__points strong{
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
    color:var(--ink);
  }
  .care-pitch__points span{
    font-size:var(--type-body);
    line-height:1.55;
    color:var(--ink-70);
  }
  .care-configurator{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:40px;
    margin:0 0 48px;
    align-items:start;
  }
  @media (min-width:960px){
    .care-configurator{
      grid-template-columns:minmax(0, 1.4fr) minmax(280px, .85fr);
      gap:48px;
    }
  }
  .care-configurator__billing{
    display:flex;
    flex-wrap:wrap;
    gap:12px 20px;
    margin:0 0 28px;
    padding-bottom:20px;
    border-bottom:1px solid var(--line);
  }
  .care-configurator__billing-option{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:var(--type-body);
    color:var(--ink);
    cursor:pointer;
  }
  .care-configurator__billing-option input{
    width:18px;
    height:18px;
    accent-color:var(--blue);
  }
  .care-configurator__badge{
    font-size:12px;
    font-weight:600;
    color:var(--blue-deep);
    letter-spacing:.02em;
  }
  .care-configurator__base{
    margin:0 0 28px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line);
  }
  .care-configurator__base .eyebrow{margin-bottom:10px;}
  .care-configurator__base-card{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:14px;
    align-items:start;
  }
  .care-configurator__base-card input[type="checkbox"]{
    margin-top:4px;
    width:18px;
    height:18px;
    accent-color:var(--care, #EA445A);
    cursor:default;
  }
  .care-configurator__base-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:16px 24px;
    align-items:start;
  }
  .care-configurator__base-row strong{
    display:block;
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
    margin:0 0 6px;
  }
  .care-configurator__base-row p{margin:0; color:var(--ink-70); max-width:62ch;}
  .care-configurator__base-points{
    list-style:none;
    margin:12px 0 0;
    padding:0;
    display:grid;
    gap:8px;
    max-width:62ch;
  }
  .care-configurator__base-points li{
    position:relative;
    padding-left:14px;
    font-size:var(--type-body);
    line-height:1.5;
    color:var(--ink-70);
  }
  .care-configurator__base-points li::before{
    content:'';
    position:absolute;
    left:0;
    top:.55em;
    width:6px;
    height:6px;
    border-radius:1px;
    background:var(--care, #EA445A);
  }
  .care-configurator__base-price{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:18px;
    white-space:nowrap;
    margin:0;
  }
  .care-configurator__group{
    margin:0 0 28px;
    padding:0;
    border:0;
  }
  .care-configurator__apps{
    margin:0 0 28px;
    padding:0 0 24px;
    border:0;
    border-bottom:1px solid var(--line);
  }
  .care-configurator__group-title,
  .care-configurator__process-title{
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
    margin:0 0 8px;
  }
  .care-configurator__summary h3{
    font-family:'Space Grotesk', sans-serif;
    font-size:clamp(22px, 2.4vw, 28px);
    font-weight:600;
    margin:0 0 16px;
    color:var(--care-deep, #C92F44);
    letter-spacing:-0.02em;
    line-height:1.2;
  }
  .care-configurator__choices--apps{
    margin-top:4px;
  }
  .care-configurator__choice--app .care-configurator__choice-label{
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
  }
  .care-configurator__profile{
    margin:0 0 14px;
    font-size:var(--type-body);
    line-height:1.5;
    color:var(--ink-70);
    max-width:42ch;
  }
  .care-configurator__profile:empty,
  .care-configurator__profile[hidden]{
    display:none;
  }
  .care-configurator__featured{
    margin:0 0 28px;
    padding:20px 0 24px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .care-configurator__featured-card{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:14px;
    align-items:center;
    margin-top:14px;
    padding:18px 0;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    cursor:pointer;
  }
  .care-configurator__featured-card input{
    margin:0;
    width:18px;
    height:18px;
    accent-color:var(--care, #EA445A);
  }
  .care-configurator__featured-body{
    display:grid;
    gap:10px;
  }
  .care-configurator__featured-top{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:8px 12px;
  }
  .care-configurator__featured-top .care-configurator__choice-label{
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
  }
  .care-configurator__featured-points{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
  }
  .care-configurator__featured-points li{
    position:relative;
    padding-left:14px;
    font-size:13.5px;
    line-height:1.45;
    color:var(--ink-70);
  }
  .care-configurator__featured-points li::before{
    content:'';
    position:absolute;
    left:0;
    top:.55em;
    width:6px;
    height:6px;
    border-radius:1px;
    background:var(--care, #EA445A);
  }
  .care-configurator__choices,
  .care-configurator__toggles{
    display:grid;
    gap:10px;
  }
  .care-configurator__toggles{margin-top:8px;}
  .care-configurator__choice{
    display:grid;
    gap:6px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    cursor:pointer;
  }
  .care-configurator__choice:last-child{border-bottom:0;}
  .care-configurator__choice-head{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    gap:12px;
    align-items:center;
  }
  .care-configurator__choice input{
    margin:0;
    width:18px;
    height:18px;
    accent-color:var(--blue);
  }
  .care-configurator__choice-body{display:grid; gap:6px;}
  .care-configurator__choice-label{
    font-weight:560;
    color:var(--ink);
    line-height:1.35;
  }
  .care-configurator__choice-meta{
    font-size:14px;
    color:var(--blue-deep);
    font-weight:600;
    line-height:1.35;
    white-space:nowrap;
  }
  .care-configurator__choice-level,
  .care-configurator__choice-help{
    display:block;
    padding-left:30px;
    font-size:var(--type-body);
    color:var(--ink-70);
    line-height:1.55;
    max-width:calc(52ch + 30px);
  }
  .care-configurator__choice-level{
    font-size:13px;
    font-weight:600;
    letter-spacing:.01em;
    line-height:1.4;
    max-width:none;
  }
  .page-mowomo-care .care-configurator__choice-help{
    color:rgba(16,21,23,.72);
  }
  .care-configurator__group-help{
    margin:0 0 14px;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.55;
    max-width:62ch;
  }
  .care-configurator__summary{
    position:sticky;
    top:calc(var(--header-offset, 96px) + var(--care-page-nav-height, 96px) + 16px);
    z-index:5;
    padding:24px 0 0;
    border-top:1px solid var(--line);
    background:var(--bg);
    max-height:calc(100vh - var(--header-offset, 96px) - var(--care-page-nav-height, 96px) - 32px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  @media (min-width:960px){
    .care-configurator__summary{
      padding:4px 0 0 28px;
      border-top:0;
      border-left:1px solid var(--line);
    }
  }
  .care-configurator__summary-list{
    list-style:none;
    margin:0 0 20px;
    padding:0;
    display:grid;
    gap:10px;
  }
  .care-configurator__summary-list li{
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:14px;
    color:var(--ink-70);
    border-bottom:1px solid var(--line);
    padding-bottom:10px;
  }
  .care-configurator__summary-list li span:last-child{
    color:var(--ink);
    font-weight:560;
    white-space:nowrap;
  }
  .care-configurator__total{
    display:grid;
    gap:4px;
    margin:0 0 12px;
  }
  .care-configurator__total-label{
    font-size:13px;
    color:var(--ink-50);
  }
  .care-configurator__total-value{
    font-family:'Space Grotesk', sans-serif;
    font-size:28px;
    font-weight:600;
    line-height:1.15;
    color:var(--ink);
  }
  .care-configurator__vat{
    font-size:14px;
    font-weight:500;
    color:var(--ink-50);
  }
  .care-configurator__saving{
    margin:0 0 12px;
    font-size:13.5px;
    color:var(--blue-deep);
    font-weight:560;
  }
  .care-configurator__disclaimer{
    margin:0 0 20px;
    font-size:13px;
    line-height:1.5;
    color:var(--ink-50);
  }
  .care-configurator__actions{margin:0;}
  .care-configurator__process{
    padding-top:8px;
    margin-bottom:var(--section-padding-y);
  }
  .care-configurator__steps{
    list-style:none;
    margin:16px 0 0;
    padding:0;
    display:grid;
    gap:20px;
  }
  @media (min-width:800px){
    .care-configurator__steps{grid-template-columns:repeat(3, 1fr); gap:28px;}
  }
  .care-configurator__step{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:14px;
    align-items:start;
  }
  .care-configurator__step-num{
    width:32px;
    height:32px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--bg-soft);
    color:var(--ink);
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:14px;
  }
  .care-configurator__step strong{
    display:block;
    margin:0 0 6px;
    font-family:'Space Grotesk', sans-serif;
    font-size:16px;
  }
  .care-configurator__step p{
    margin:0;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.55;
  }
  @media (max-width:959px){
    .care-configurator__summary{
      position:sticky;
      top:auto;
      bottom:0;
      z-index:40;
      margin-top:8px;
      padding:16px 0 calc(16px + env(safe-area-inset-bottom, 0px));
      border-top:1px solid var(--line);
      border-left:0;
      box-shadow:0 -8px 24px -16px rgba(16,21,23,.18);
      max-height:min(48vh, 420px);
    }
  }

  /* ---------- CARE FAQ ---------- */
  .section-care-faq{
    padding:var(--section-padding-y) 0;
  }
  .care-faq{
    list-style:none;
    margin:0;
    padding:0;
    max-width:760px;
    border-top:1px solid var(--line);
  }
  .care-faq__item{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:16px 20px;
    padding:24px 0;
    border-bottom:1px solid var(--line);
  }
  .care-faq__num{
    font-family:'Space Grotesk', sans-serif;
    font-size:14px;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--ink-50);
    line-height:1.4;
    padding-top:2px;
  }
  .care-faq__body{
    display:grid;
    gap:10px;
    max-width:62ch;
  }
  .care-faq__question{
    margin:0;
    font-family:'Space Grotesk', sans-serif;
    font-size:var(--type-panel-title, 18px);
    font-weight:600;
    line-height:1.35;
    color:var(--ink);
  }
  .care-faq__answer{
    margin:0;
    font-size:var(--type-body);
    line-height:1.65;
    color:var(--ink-70);
  }
  .page-mowomo-care .care-faq__num{
    color:var(--care);
  }

  .feature-list{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:0 0 32px;
    border-top:1px solid var(--line);
  }
  .feature-item{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:8px;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    padding:28px 0;
    background:transparent;
  }
  .feature-item .check{display:none;}
  .feature-item p{margin:0; font-size:var(--type-body); line-height:1.6; color:var(--ink-70); max-width:62ch;}
  .feature-item strong{
    display:block;
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:var(--type-panel-title, 18px);
    color:var(--ink);
    margin:0;
    line-height:1.3;
  }
  @media (min-width:900px){
    .feature-list{grid-template-columns:repeat(2, 1fr); column-gap:48px;}
    .feature-item{padding:32px 0;}
  }

  /* ---------- FILTER BAR + FULL PORTFOLIO GRID (casos.html) ---------- */
  .filter-bar{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:44px;}
  .filter-btn{
    font-family:'Inter', sans-serif; font-weight:500; font-size:14px; padding:6px 12px; border-radius:var(--radius-tag);
    border:0; background:var(--bg-soft); color:var(--ink-70); cursor:pointer; transition:var(--btn-transition);
    min-height:44px; box-sizing:border-box; display:inline-flex; align-items:center;
  }
  .filter-btn:hover{background:var(--bg-soft-2); color:var(--ink);}
  .filter-btn.active{background:var(--blue); color:#fff;}
  .filter-btn:focus-visible{outline:3px solid var(--blue); outline-offset:2px;}
  .portfolio-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
  .portfolio-grid .case-card{scroll-snap-align:none;}
  .case-card.is-hidden{display:none;}

  /* ---------- TEAM (ruled portrait — canonical B) ----------
   * Photo with thin page-color padding (var(--bg)), 1px rule under photo,
   * then name, role, last-line .team-card__footer with quiet square + button
   * (right-aligned). Link-rule underline adapted onto the button on card
   * hover/focus — name/role stay plain (no prose underline). No polaroid,
   * no radius, no tilt, no shadow. No text CTA.
   */
  .team-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:20px;}
  .team-card{
    display:flex; flex-direction:column; align-items:stretch;
    border:0; border-radius:0;
    padding:0; background:transparent;
    text-align:left;
    box-shadow:none;
    text-decoration:none; color:inherit;
  }
  .team-card:focus-visible{
    outline:3px solid var(--blue);
    outline-offset:3px;
  }
  .team-avatar{
    border-radius:var(--radius-avatar); overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--tint1, var(--blue)), var(--tint2, var(--violet)));
  }
  .team-card .team-avatar{
    display:block;
    width:100%; height:auto; flex:none; margin:0;
    padding:6px 6px 0;
    box-sizing:border-box;
    background:var(--bg);
    border-radius:0;
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .team-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
  .team-card .team-avatar img{
    width:100%; height:auto; aspect-ratio:1; object-fit:cover;
    border-radius:0;
  }
  .team-card h3{
    font-size:var(--type-team-name);
    margin:16px 6px 4px;
    line-height:1.3;
    text-decoration:none;
  }
  .team-role{
    display:block; font-family:'Inter', sans-serif; font-size:var(--type-team-role); font-weight:500;
    color:var(--ink-70); line-height:1.4; margin:0 6px 8px; min-width:0;
    text-decoration:none;
  }
  .team-card__footer{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;
    margin:0 6px 12px; min-width:0;
  }
  /* Square + control — same solid chrome as header CTA (.nav-item--cta), radius forced to 0. */
  .team-card__more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:24px;
    height:24px;
    margin:0;
    margin-inline-start:auto;
    flex-shrink:0;
    border:var(--btn-border-width, 2.5px) solid var(--blue);
    border-radius:0;
    background:var(--blue);
    padding:0;
    font-family:'Inter', sans-serif;
    font-size:18px;
    font-weight:500;
    line-height:1;
    color:#fff;
    text-decoration:none;
    box-shadow:none;
    transition:none;
  }
  .team-card--static{
    cursor:default;
  }
  .team-card--static .team-role{
    margin-block-end:12px;
  }
  .team-card:hover .team-card__more,
  .team-card:focus-visible .team-card__more{
    background:transparent;
    color:var(--blue-deep);
    border-color:var(--blue);
  }
  .team-linkedin,
  .team-link{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    color:var(--blue-deep);
  }
  .team-nolink{display:block; height:1px;}

  /* ---------- AUTHOR PROFILE ---------- */
  .archive-author .author-hero__inner,
  .archive-author .author-profile__main{display:flex; align-items:flex-start; gap:36px; flex-wrap:wrap;}
  .archive-author .author-hero__avatar,
  .archive-author .author-profile__avatar{width:180px; height:180px; flex:none;}
  .archive-author .author-role,
  .archive-author .author-profile__role{font-family:'Inter', sans-serif; font-size:var(--type-team-role); font-weight:600; color:var(--blue-deep); margin:8px 0 0;}
  .archive-author .author-hero .lede,
  .archive-author .author-profile__bio{margin-top:18px;}
  .archive-author .section-author-charlas{padding:0 0 var(--section-padding-y, 104px);}
  .archive-author .section-author-charlas .wrap,
  .archive-author .section-author-posts .wrap{max-width:var(--max); margin:0 auto;}
  .archive-author .section-author-posts{padding:0 0 var(--section-padding-y, 104px);}
  .archive-author .section-author-posts .section-head{margin-bottom:52px;}
  .archive-author .author-empty{color:var(--ink-70); font-size:16px; line-height:1.6;}

  /* Author posts: compact list (small thumb + title), not blog cards */
  .archive-author .author-posts-list,
  .archive-author ul.author-posts-list.wp-block-post-template{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .archive-author .author-posts-list > li{
    list-style:none;
    margin:0;
    padding:0;
    border-block-end:1px solid var(--line);
  }
  .archive-author .author-posts-list > li:first-child .author-post-row{
    padding-block-start:0;
  }
  .archive-author .author-post-row{
    display:grid;
    grid-template-columns:88px minmax(0, 1fr);
    gap:20px;
    align-items:center;
    padding:20px 0;
  }
  .archive-author .author-post-row:not(:has(.wp-block-post-featured-image)){
    grid-template-columns:minmax(0, 1fr);
  }
  .archive-author .author-post-row__thumb,
  .archive-author .author-post-row .wp-block-post-featured-image{
    width:88px;
    height:88px;
    margin:0;
    flex:none;
  }
  .archive-author .author-post-row__thumb a,
  .archive-author .author-post-row .wp-block-post-featured-image a{
    display:block;
    width:88px;
    height:88px;
    overflow:hidden;
    background:var(--bg-soft, #f3f4f5);
  }
  .archive-author .author-post-row__thumb img,
  .archive-author .author-post-row .wp-block-post-featured-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .archive-author .author-post-row__body{min-width:0;}
  .archive-author .author-post-row__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;
    margin:0 0 6px;
    font-family:'Inter', sans-serif;
    font-size:14px;
    color:var(--ink-50, rgba(16,21,23,.48));
  }
  .archive-author .author-post-row__meta .wp-block-post-date,
  .archive-author .author-post-row__meta time{
    margin:0;
    color:inherit;
  }
  .archive-author .author-post-row__meta .wp-block-post-terms,
  .archive-author .author-post-row__meta .wp-block-post-terms a{
    margin:0;
    color:var(--blue-deep);
    text-decoration:none;
  }
  .archive-author .author-post-row__title,
  .archive-author .author-post-row .wp-block-post-title{
    margin:0;
    font-size:var(--type-card-title);
    line-height:1.35;
  }
  .archive-author .author-post-row__title a,
  .archive-author .author-post-row .wp-block-post-title a{
    color:inherit;
    text-decoration:none;
  }
  .archive-author .author-post-row__title a:hover,
  .archive-author .author-post-row .wp-block-post-title a:hover,
  .archive-author .author-post-row__title a:focus-visible,
  .archive-author .author-post-row .wp-block-post-title a:focus-visible{
    color:var(--blue-deep);
  }
  @media (max-width:560px){
    .archive-author .author-post-row{
      grid-template-columns:72px minmax(0, 1fr);
      gap:14px;
      padding:16px 0;
    }
    .archive-author .author-post-row__thumb,
    .archive-author .author-post-row .wp-block-post-featured-image,
    .archive-author .author-post-row__thumb a,
    .archive-author .author-post-row .wp-block-post-featured-image a{
      width:72px;
      height:72px;
    }
  }
  @media (max-width:900px){ .team-grid{grid-template-columns:repeat(3, 1fr);} }
  @media (max-width:600px){ .team-grid{grid-template-columns:repeat(2, 1fr);} }
  @media (max-width:480px){
    .team-grid{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px;}
  }

  /* ---------- PAGINATION (editorial — not SaaS pills) ----------
   * Query Pagination block + style-guide sample.
   * Prev/next = .go textual CTA; page numbers = outline chrome (btn-outline tokens).
   * Vertical air: --section-head-gap above the grid (~64px), light padding-block so
   * the control band breathes before section/CTA bottom spacing.
   */
  .pagination,
  .wp-block-query-pagination.pagination,
  nav.wp-block-query-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px 32px;
    margin-block-start:var(--section-head-gap, 64px);
    padding-block:16px;
  }
  .pagination .wp-block-query-pagination-numbers,
  .wp-block-query-pagination .wp-block-query-pagination-numbers{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }
  /* Prev / next — same tokens as .go */
  .pagination .wp-block-query-pagination-previous,
  .pagination .wp-block-query-pagination-next,
  .wp-block-query-pagination .wp-block-query-pagination-previous,
  .wp-block-query-pagination .wp-block-query-pagination-next{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    color:var(--blue-deep);
    display:inline-flex;
    align-items:center;
    gap:8px;
    position:relative;
    padding:0 0 3px;
    min-height:44px;
    border:none;
    background:transparent;
    border-radius:0;
    text-decoration:none;
    white-space:nowrap;
    transition:none;
  }
  .pagination .wp-block-query-pagination-previous::after,
  .pagination .wp-block-query-pagination-next::after,
  .wp-block-query-pagination .wp-block-query-pagination-previous::after,
  .wp-block-query-pagination .wp-block-query-pagination-next::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:var(--blue);
    border-radius:2px;
    transition:width .25s ease;
  }
  .pagination .wp-block-query-pagination-previous:hover,
  .pagination .wp-block-query-pagination-previous:focus-visible,
  .pagination .wp-block-query-pagination-next:hover,
  .pagination .wp-block-query-pagination-next:focus-visible,
  .wp-block-query-pagination .wp-block-query-pagination-previous:hover,
  .wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible,
  .wp-block-query-pagination .wp-block-query-pagination-next:hover,
  .wp-block-query-pagination .wp-block-query-pagination-next:focus-visible{
    color:var(--blue-deep);
  }
  .pagination .wp-block-query-pagination-previous:hover::after,
  .pagination .wp-block-query-pagination-previous:focus-visible::after,
  .pagination .wp-block-query-pagination-next:hover::after,
  .pagination .wp-block-query-pagination-next:focus-visible::after,
  .wp-block-query-pagination .wp-block-query-pagination-previous:hover::after,
  .wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible::after,
  .wp-block-query-pagination .wp-block-query-pagination-next:hover::after,
  .wp-block-query-pagination .wp-block-query-pagination-next:focus-visible::after{
    width:100%;
  }
  .pagination .wp-block-query-pagination-previous:focus-visible,
  .pagination .wp-block-query-pagination-next:focus-visible,
  .wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible,
  .wp-block-query-pagination .wp-block-query-pagination-next:focus-visible{
    outline:3px solid var(--blue);
    outline-offset:4px;
  }
  /* Page numbers — compact outline (btn-outline radius / border tokens) */
  .pagination .page-numbers,
  .wp-block-query-pagination .page-numbers,
  .page-btn{
    font-family:'Inter', sans-serif;
    font-weight:var(--btn-font-weight);
    font-size:var(--btn-font-size);
    line-height:var(--btn-line-height);
    letter-spacing:-0.01em;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:8px 14px;
    border-radius:var(--btn-radius);
    border:var(--btn-border-width) solid transparent;
    background:transparent;
    color:var(--ink-70);
    text-decoration:none;
    box-sizing:border-box;
    cursor:pointer;
    transition:none;
    box-shadow:none;
  }
  .pagination a.page-numbers:hover,
  .pagination a.page-numbers:focus-visible,
  .wp-block-query-pagination a.page-numbers:hover,
  .wp-block-query-pagination a.page-numbers:focus-visible,
  .page-btn:hover,
  .page-btn:focus-visible{
    color:var(--blue);
    border-color:var(--blue);
    background:transparent;
  }
  .pagination .page-numbers.current,
  .wp-block-query-pagination .page-numbers.current,
  .page-btn.active{
    color:var(--blue);
    border-color:var(--blue);
    background:transparent;
    cursor:default;
  }
  .pagination .page-numbers.dots,
  .wp-block-query-pagination .page-numbers.dots{
    min-width:auto;
    padding:8px 4px;
    border-color:transparent;
    color:var(--ink-50);
    cursor:default;
  }
  .pagination a.page-numbers:focus-visible,
  .wp-block-query-pagination a.page-numbers:focus-visible,
  .page-btn:focus-visible{
    outline:3px solid var(--blue);
    outline-offset:2px;
  }
  .page-btn:disabled,
  .page-btn[aria-disabled="true"]{
    opacity:.35;
    cursor:default;
    border-color:transparent;
    color:var(--ink-50);
  }
  .page-btn:disabled:hover,
  .page-btn[aria-disabled="true"]:hover{
    border-color:transparent;
    color:var(--ink-50);
  }
  .blog-post.is-hidden{display:none;}

  /* ---------- CASE STUDY SINGLE ---------- */
  .case-hero-meta{display:flex; flex-wrap:wrap; gap:32px; margin-top:36px;}
  .case-hero-meta > div{display:flex; flex-direction:column; gap:5px;}
  .case-hero-meta .label{font-family:'Inter', sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--blue);}
  .case-hero-meta .value{font-family:'Inter', sans-serif; font-weight:600; font-size:15.5px; color:var(--ink);}
  .case-hero-meta .value:has(.mw-tags){font-weight:500;}
  .case-hero-meta .value .mw-tags{margin-top:2px;}

  /* Case single hero: claim + project screenshot */
  .page-hero--case .case-hero-row{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(240px, 0.85fr);
    gap:clamp(28px, 5vw, 64px);
    align-items:center;
    margin-top:8px;
  }
  .page-hero--case .case-hero-copy{
    min-width:0;
  }
  .page-hero--case .case-hero-copy .wp-block-post-title,
  .page-hero--case .case-hero-copy h1{
    max-width:600px;
  }
  .page-hero--case .case-hero-copy .lede,
  .page-hero--case .case-hero-copy .wp-block-post-excerpt{
    max-width:600px;
  }
  .page-hero--case .case-hero-visual{
    min-width:0;
  }
  .page-hero--case .case-window--hero{
    margin:0;
    border-radius:16px;
    border:1px solid var(--line);
    background:var(--paper, #fff);
    overflow:hidden;
    box-shadow:0 18px 40px -28px rgba(16, 21, 23, 0.35);
  }
  .page-hero--case .case-window--hero .case-topbar{
    display:flex;
    align-items:center;
    gap:6px;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
    background:var(--bg-soft, #f3f4f5);
  }
  .page-hero--case .case-window--hero .case-topbar span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(16,21,23,.18);
  }
  .page-hero--case .case-window--hero .case-canvas{
    height:auto;
    padding:0;
  }
  .page-hero--case .case-window--hero .case-screenshot{
    display:block;
    width:100%;
    height:clamp(220px, 28vw, 320px);
    object-fit:cover;
    object-position:top center;
  }
  @media (max-width:860px){
    .page-hero--case .case-hero-row{
      grid-template-columns:1fr;
      gap:28px;
    }
    .page-hero--case .case-hero-visual{
      order:-1;
      max-width:420px;
    }
    .page-hero--case .case-window--hero .case-screenshot{
      height:220px;
    }
  }

  .case-gallery{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
  .case-gallery .case-window{margin:0;}
  .case-gallery .case-canvas{height:190px;}

  .case-stat-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;}
  .case-stat-number{
    font-family:'Inter', sans-serif; font-weight:700; font-size:clamp(38px, 5vw, 56px);
    line-height:1; margin-bottom:10px;
  }
  .case-stat p{margin:0; font-size:16px; color:var(--ink-70); line-height:1.5;}
  .case-disclaimer{font-size:12.5px; color:var(--ink-50); margin-top:24px; font-style:italic;}

  /* Editorial quote — no SaaS card chrome */
  .case-testimonial{
    margin:0;
    padding:0 0 0 1.25rem;
    border:0;
    border-left:3px solid var(--blue);
    border-radius:0;
    background:transparent;
    font-family:'Inter', sans-serif;
    font-size:clamp(1.05rem, 1.8vw, 1.25rem);
    font-weight:500;
    line-height:1.55;
    color:var(--ink);
  }

  /* Case tech strip — left-aligned with case body, room above/below */
  .single-proyecto .case-tech-section{
    margin-top:clamp(48px, 6vw, 72px);
    margin-bottom:clamp(28px, 4vw, 48px);
    margin-inline:0;
    max-width:none;
    text-align:left;
  }
  .single-proyecto .case-tech-section.is-layout-constrained{
    --wp--style--global--content-size:100%;
    --wp--style--global--wide-size:100%;
  }
  .single-proyecto .case-tech-section.is-layout-constrained > :where(.wp-block-heading, h2, .wp-block-post-terms, .mw-tags){
    margin-inline:0;
    max-width:none;
    width:100%;
  }
  .single-proyecto .case-tech-section .wp-block-heading{
    margin:0 0 0.65rem;
    text-align:left;
  }
  .single-proyecto .case-tech-section .wp-block-post-terms.mw-tags{
    margin-top:0.35rem;
    justify-content:flex-start;
  }

  .case-nav-links{
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    margin-top:8px; padding-top:32px; border-top:1px solid var(--line); flex-wrap:wrap;
  }
  /* Links use class="go" — blue-deep + underline; no ink/600 overrides */
  .case-nav-links .go{
    white-space:normal;
    max-width:min(100%, 28rem);
  }

  @media (max-width:860px){
    .case-gallery{grid-template-columns:1fr;}
    .case-stat-grid{grid-template-columns:1fr; gap:24px;}
  }

  /* ---------- CONTACT PAGE INFO ---------- */
  .info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:56px;}
  .info-card{border:1px solid var(--line); border-radius:var(--btn-radius); padding:26px; background:var(--paper);}
  .info-card .eyebrow{display:block; margin-bottom:10px;}
  .info-card p{margin:0; font-size:var(--type-body); line-height:1.6;}
  .info-card a:not(.go){color:var(--blue-deep); font-weight:var(--btn-font-weight);}
  .contact-map{
    margin:18px 0 0;
    border-radius:var(--btn-radius);
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--bg-soft);
  }
  .contact-map__frame{
    display:block;
    width:100%;
    height:220px;
    border:0;
  }
  .contact-map__actions{
    margin:14px 0 0;
  }
  .contact-subject-other.is-hidden,
  .contact-subject-other[hidden]{
    display:none !important;
  }

  /*
   * Canonical editorial form (.mw-form / .contact-form).
   * Source of truth for /contacto/ (CF7) and style-guide sample.
   * Submit = .btn-solid (do not invent pill/gradient one-offs).
   */
  .mw-form,
  .contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:20px;
  }
  .mw-form .full,
  .contact-form .full,
  .mw-form > p:has(textarea),
  .mw-form > p:has(select),
  .mw-form > p:has(.btn-solid),
  .mw-form > p:has([type="submit"]),
  .mw-form > p:has(.form-legal),
  .mw-form > p.form-legal,
  .mw-form > p.form-legal-note,
  .mw-form > label:has(textarea),
  .mw-form > label:has(select),
  .contact-form > p:has(textarea),
  .contact-form > p:has(select),
  .contact-form > p:has(.btn-solid),
  .contact-form > p:has([type="submit"]),
  .contact-form > p:has(.form-legal),
  .contact-form > p.form-legal,
  .contact-form > p.form-legal-note,
  .contact-form > label:has(textarea),
  .contact-form > label:has(select){
    grid-column:1 / -1;
  }
  .mw-form > p,
  .contact-form > p{margin:0;}
  .mw-form label,
  .contact-form label{
    display:block;
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:var(--type-eyebrow);
    letter-spacing:-0.01em;
    text-transform:none;
    color:var(--ink);
    margin-bottom:8px;
  }
  .mw-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .mw-form textarea,
  .mw-form select,
  .contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .contact-form textarea,
  .contact-form select{
    width:100%;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-tag);
    padding:12px 14px;
    font-family:'Inter', sans-serif;
    font-size:var(--type-body);
    line-height:1.5;
    color:var(--ink);
    background:var(--bg);
    box-sizing:border-box;
    appearance:none;
  }
  .mw-form select,
  .contact-form select{
    background-image:linear-gradient(45deg, transparent 50%, var(--ink-50) 50%),
      linear-gradient(135deg, var(--ink-50) 50%, transparent 50%);
    background-position:calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);
    background-size:6px 6px, 6px 6px;
    background-repeat:no-repeat;
    padding-right:36px;
  }
  .mw-form input:focus,
  .mw-form textarea:focus,
  .mw-form select:focus,
  .contact-form input:focus,
  .contact-form textarea:focus,
  .contact-form select:focus{
    outline:2px solid var(--blue);
    outline-offset:2px;
    border-color:var(--blue);
  }
  .mw-form textarea,
  .contact-form textarea{resize:vertical; min-height:140px;}
  .mw-form .btn-solid,
  .contact-form .btn-solid,
  .mw-form input[type="submit"].btn-solid,
  .contact-form input[type="submit"].btn-solid{
    width:auto;
    justify-self:start;
    cursor:pointer;
  }
  .form-note{
    font-size:15px;
    line-height:1.55;
    color:var(--ink-50);
    margin-top:18px;
    max-width:42em;
  }
  .form-note.form-legal-links{margin-top:10px;}
  .form-note a,
  .form-legal a,
  .form-legal-note a{
    color:var(--ink-70);
    font-weight:500;
    text-decoration:underline;
    text-underline-offset:2px;
  }
  .form-note a:hover,
  .form-note a:focus-visible,
  .form-legal a:hover,
  .form-legal a:focus-visible,
  .form-legal-note a:hover,
  .form-legal-note a:focus-visible{
    color:var(--blue-deep);
  }
  /* RGPD / LSSI-CE consent — editorial small print, not a card */
  .mw-form .form-legal,
  .contact-form .form-legal,
  .mw-form .form-legal-note,
  .contact-form .form-legal-note{
    margin:0;
    font-family:'Inter', sans-serif;
    font-size:13px;
    line-height:1.55;
    color:var(--ink-50);
    max-width:42em;
  }
  .mw-form .form-legal .wpcf7-form-control-wrap,
  .contact-form .form-legal .wpcf7-form-control-wrap,
  .mw-form .form-legal .wpcf7-acceptance,
  .contact-form .form-legal .wpcf7-acceptance{
    display:block;
    width:100%;
    max-width:42em;
    height:auto;
    padding:0;
    border:none;
    background:transparent;
  }
  .mw-form .form-legal .wpcf7-list-item,
  .contact-form .form-legal .wpcf7-list-item{
    display:block;
    width:100%;
    margin:0;
  }
  .mw-form .form-legal__label,
  .contact-form .form-legal__label,
  .mw-form .form-legal .wpcf7-list-item label,
  .contact-form .form-legal .wpcf7-list-item label{
    display:grid;
    grid-template-columns:18px 1fr;
    column-gap:10px;
    align-items:start;
    margin:0;
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
    letter-spacing:0;
    text-transform:none;
    color:var(--ink-70);
    cursor:pointer;
  }
  .mw-form .form-legal input[type="checkbox"],
  .contact-form .form-legal input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--blue-deep);
  }
  .mw-form .form-legal .wpcf7-list-item-label,
  .contact-form .form-legal .wpcf7-list-item-label{
    min-width:0;
    font-weight:400;
  }

  @media (max-width:860px){
    .feature-list{grid-template-columns:1fr;}
    .portfolio-grid{grid-template-columns:1fr;}
    .info-grid{grid-template-columns:1fr;}
    .mw-form,
    .contact-form{grid-template-columns:1fr;}
  }

  /* ---------- SMALL PHONES (≤480px, e.g. 375px) ---------- */
  @media (max-width:480px){
    :root{--page-gutter:20px;}
    .wrap{padding:0 var(--page-gutter);}
    .clients-head{padding:0 var(--page-gutter);}
    header{padding:16px 20px;}
    header.scrolled{padding:12px 20px;}
    .logo-mark{width:130px;}
    section{padding:var(--section-padding-y-mobile) 0;}
    .section-cases{padding-top:var(--section-padding-y-mobile); padding-bottom:var(--section-padding-y-mobile);}
    .hero{padding:116px 0 var(--section-padding-y-mobile);}
    .hero:has(.hero-visual--cutout){
      padding-bottom:var(--section-padding-y-mobile);
    }
    .hero h1{
      font-size:clamp(42px, 13vw, 48px);
      line-height:1.04;
    }
    .hero .hero-visual.hero-visual--photo,
    .hero figure.hero-visual.hero-visual--photo{
      height:190px;
      margin-top:8px;
      border-radius:20px;
    }
    .hero-visual--cutout{
      width:min(360px, 94%);
      margin-top:16px;
    }
    .clients{padding:var(--section-padding-y-mobile) 0;}
    .page-hero{padding:88px 0 32px;}
    .hero p.lede,
    .page-hero p.lede{font-size:16px;}
    .hero-actions{gap:12px;}
    .hero-actions .btn-outline[href="#servicios"],
    .hero-actions a[href="#servicios"]{
      display:none;
    }
    .btn-pill,
    .btn-pill-accent,
    .btn-solid,
    .btn-onlight,
    .btn-onlight .wp-block-button__link{padding:12px 24px; font-size:16px;}
    .mobile-menu{padding:88px 20px 32px;}
    .mobile-menu ul li a{font-size:19px; padding:15px 0;}
    .section-head{margin-bottom:36px;}
    .service{padding:24px;}
    .credential, .team-quote{padding:26px 22px;}
    .contact-card{padding:44px 20px; border-radius:20px;}
    .contact-card blockquote{font-size:clamp(28px, 11vw, 42px);}
    .contact-card__meta span{font-size:10px;}
    .impact-number{font-size:88px;}
    .case-card{flex-basis:230px;}
    .cases-nav{gap:6px;}
    .filter-bar{gap:8px;}
    .filter-btn{padding:8px 13px; font-size:12.5px;}
    .pagination,
    .wp-block-query-pagination.pagination,
    nav.wp-block-query-pagination{
      gap:16px 24px;
      margin-block-start:48px;
      padding-block:12px;
    }
    .pagination .wp-block-query-pagination-numbers,
    .wp-block-query-pagination .wp-block-query-pagination-numbers{gap:10px;}
    .pagination .page-numbers,
    .wp-block-query-pagination .page-numbers,
    .page-btn{min-width:40px; min-height:40px; padding:6px 12px;}
    .mw-tag{padding:5px 10px; font-size:13px;}
    .m-card, .info-card{padding:20px;}
    .feature-item{padding:22px 0;}
  }

  /* ---------- AI approach (home editorial) ---------- */
  .ai-approach{
    /* Kill WP flow layout block-gap so band meets needs-diagnostic continuously. */
    margin-top:0;
    padding:var(--section-padding-y) 0;
    background:var(--bg-soft);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .ai-approach__wrap{
    max-width:720px;
  }
  .ai-approach h2{
    margin:0 0 18px;
    max-width:22ch;
    font-size:var(--type-section-title);
  }
  .ai-approach__lede{
    margin:0 0 28px;
    max-width:52ch;
    font-size:var(--type-body);
    line-height:1.6;
    color:var(--ink-70);
  }
  .ai-approach__link{margin:0;}
  .ai-approach__link .btn-ghost{
    font-size:var(--type-body);
  }
  /* ---------- Servicios hub (editorial index + orientation) ---------- */
  .services-index{padding:0 0 var(--section-padding-y);}
  .services-index__list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    column-gap:var(--section-head-gap);
    row-gap:0;
  }
  .services-index__item{
    padding:32px 0;
    border-top:1px solid var(--line);
  }
  /* Name = primary (Home/Nosotros panel-title); slogan = supporting dek. */
  .services-index__item h3.eyebrow{
    margin:0 0 12px;
    display:block;
    font-size:var(--type-panel-title);
    line-height:1.2;
  }
  .services-index__dek{
    margin:0 0 12px;
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:var(--type-lede);
    line-height:1.3;
    color:var(--ink);
  }
  .services-index__phrase{
    margin:0 0 18px;
    max-width:46ch;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.6;
  }
  .services-index__item .go{margin-top:0;}

  .services-orient{
    padding:var(--section-padding-y) 0;
    background:var(--bg-soft-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-bottom:0;
  }
  /* On Servicios: different band from contact-cta, flush join (no gap / double border). */
  .page-servicios .services-orient{
    margin-block-end:0;
    border-bottom:0;
  }
  .page-servicios .services-orient + .contact-cta,
  .page-servicios .wp-block-post-content > .services-orient + .contact-cta{
    margin-block-start:0;
    border-top:0;
  }
  .page-servicios .wp-block-post-content > .services-orient + .contact-cta{
    margin-top:0;
  }
  .services-orient__list{
    display:flex;
    flex-direction:column;
    gap:0;
    max-width:820px;
  }
  .services-orient__row{
    display:grid;
    grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
    gap:16px 32px;
    align-items:baseline;
    padding:22px 0;
    border-top:1px solid var(--line);
  }
  .services-orient__row:first-child{border-top:0; padding-top:0;}
  .services-orient__friction{
    margin:0;
    font-size:var(--type-body);
    line-height:1.55;
    color:var(--ink);
  }
  .services-orient__rec{
    margin:0;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:8px 10px;
    font-size:var(--type-body);
    line-height:1.45;
  }
  .services-orient__label{
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-50);
  }

  /* ---------- Technologies guide page ---------- */
  .tech-guide{padding:0 0 var(--section-padding-y);}
  .page-tecnologia .technology-other-stacks{
    padding-top:var(--section-padding-y);
    padding-bottom:clamp(48px, 8vw, 96px);
  }
  .page-tecnologia .technology-other-stacks + .contact-cta,
  .page-tecnologia .technology-other-stacks-slot + .contact-cta{
    margin-top:clamp(16px, 3vw, 40px);
  }
  /* Same rule line under section-head as tech-guide__item after “Cuándo encaja”. */
  .page-tecnologia .technology-related-cases-section{
    scroll-margin-top:calc(96px + 12px);
  }
  .page-tecnologia .technology-related-cases-section .portfolio-grid.technology-related-cases,
  .page-tecnologia .technology-other-stacks .mw-tags{
    border-top:1px solid var(--line);
    padding-top:clamp(36px, 5vw, 56px);
  }
  .tech-guide__list{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .tech-guide__item{
    padding:clamp(36px, 5vw, 56px) 0;
    border-top:1px solid var(--line);
  }
  .tech-guide__item:first-child{border-top:0;}
  .tech-guide__item h3{
    margin:0 0 14px;
    font-size:clamp(24px, 2.4vw, 32px);
    letter-spacing:-.02em;
  }
  .tech-guide__item h3 a{
    color:inherit;
    text-decoration:none;
  }
  .tech-guide__item h3 a:hover,
  .tech-guide__item h3 a:focus-visible{
    color:var(--blue-deep);
    text-decoration:underline;
    text-underline-offset:0.12em;
  }
  .tech-guide__lead{
    max-width:62ch;
    margin:0 0 28px;
    color:var(--ink-70);
    font-size:17px;
    line-height:1.6;
  }
  .tech-guide__cols{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:clamp(24px, 4vw, 48px);
    margin-bottom:24px;
  }
  .tech-guide__cols .eyebrow{margin:0 0 12px;}
  .tech-guide__cols ul{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:10px;
  }
  .tech-guide__cols li{
    position:relative;
    padding-left:16px;
    color:var(--ink-70);
    font-size:15px;
    line-height:1.5;
  }
  .tech-guide__cols li::before{
    content:"";
    position:absolute;
    left:0;
    top:.65em;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--blue);
  }
  .tech-guide__fit{
    margin:0;
    max-width:62ch;
    font-weight:600;
    color:var(--ink);
    font-size:15px;
    line-height:1.5;
  }
  .tech-guide__cta{
    margin:12px 0 0;
  }
  .section-tech-next-step{
    padding:var(--section-padding-y) 0;
  }
  .tech-next-step-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:0;
  }
  .page-hero .lede--bridge{
    margin-top:8px;
    max-width:54ch;
  }
  .page-hero .hero-actions{
    margin-top:20px;
  }
  @media (max-width:720px){
    .services-index__list{grid-template-columns:1fr;}
    .services-orient{padding:var(--section-padding-y-mobile) 0;}
    .services-orient__row{grid-template-columns:1fr; gap:8px;}
    .tech-guide__cols{grid-template-columns:1fr; gap:22px;}
    .ai-approach{padding:var(--section-padding-y-mobile) 0;}
  }

  /* ---------- BRAND GUIDE (/marca/) ---------- */
  .brand-guide-section{
    padding:var(--section-padding-y) 0;
    border-top:1px solid var(--line);
  }
  .brand-guide-hero + .brand-guide-section{border-top:0;}
  .brand-logo-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
  }
  .brand-logo-panel{
    margin:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:28px;
    min-height:180px;
    padding:40px 32px 28px;
    border:1px solid var(--line);
    border-radius:8px;
  }
  .brand-logo-panel--light{background:var(--bg);}
  .brand-logo-panel--dark{
    background:var(--ink-deep);
    border-color:transparent;
    color:#fff;
  }
  .brand-logo-panel__mark{
    width:min(220px, 100%);
    height:auto;
    display:block;
  }
  .brand-logo-panel__mark--mwm{
    width:min(280px, 100%);
  }
  .brand-logo-panel figcaption{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 14px;
  }
  .brand-logo-panel--dark .mw-tag{
    background:rgba(255,255,255,.12);
    color:#fff;
  }
  .brand-logo-panel__file{
    font-family:ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace;
    font-size:12px;
    line-height:1.45;
    color:var(--ink-50);
  }
  .brand-logo-panel--dark .brand-logo-panel__file{color:rgba(255,255,255,.55);}
  .brand-logo-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
  }
  .brand-guide-note{
    margin:20px 0 0;
    max-width:62ch;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.6;
  }
  .brand-usage-cols{margin-top:0; margin-bottom:0;}
  .brand-swatches{max-width:560px;}
  .brand-guide-legal{
    max-width:720px;
    padding:28px 0 0;
    border-top:1px solid var(--line);
  }
  .brand-guide-legal__copy{
    margin:0 0 16px;
    font-size:var(--type-body);
    line-height:1.55;
    color:var(--ink);
    font-weight:600;
  }
  .brand-guide-legal__rules{
    margin:0;
    padding-left:1.15em;
    color:var(--ink-70);
    font-size:var(--type-body);
    line-height:1.6;
  }
  .brand-guide-legal__rules li{margin:0 0 10px;}
  .brand-guide-legal__rules li:last-child{margin-bottom:0;}
  .brand-guide-legal__cta{margin:20px 0 0;}
  @media (max-width:720px){
    .brand-logo-grid{grid-template-columns:1fr;}
  }

  /* ---------- STYLE GUIDE (dev / agent reference chrome only) ---------- */
  .style-guide-section{
    padding:var(--section-padding-y) 0;
    border-top:1px solid var(--line);
  }
  .style-guide-section.section-why{border-top:1px solid var(--line);}
  .style-guide-hero + .style-guide-section{border-top:0;}
  .sg-stack{display:flex; flex-direction:column; gap:8px; max-width:720px;}
  .sg-stack h1,
  .sg-stack h2,
  .sg-stack h3{margin:16px 0 0;}
  .sg-stack > :first-child{margin-top:0;}
  .sg-row{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:center;
  }
  .sg-swatches{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
    gap:16px;
  }
  .sg-swatch__chip{
    height:64px;
    border-radius:8px;
    border:1px solid var(--line);
  }
  .sg-caption{
    margin:10px 0 0;
    font-family:ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace;
    font-size:12px;
    line-height:1.45;
    color:var(--ink-50);
  }
  .sg-caption--cta{margin:0 auto 32px; padding:0 var(--page-gutter);}
  .sg-team-sample{max-width:220px;}

  /* Team card archive specimens — guide only (live = .team-card ruled B). */
  .sg-team-alt-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:clamp(32px, 5vw, 56px);
    align-items:start;
  }
  .sg-team-alt{margin:0;}
  .sg-team-alt__label{
    margin:0 0 16px;
    font-family:'Inter', sans-serif;
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    color:var(--ink);
  }
  .sg-team-alt__tag{
    font-weight:500;
    color:var(--ink-70);
  }
  .sg-team-card{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    max-width:220px;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    text-align:left;
    color:inherit;
  }
  .sg-team-card__media{
    margin:0;
    overflow:hidden;
    border-radius:0;
    aspect-ratio:1;
    background:linear-gradient(135deg, var(--blue), var(--violet));
  }
  .sg-team-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .sg-team-card__body{display:flex; flex-direction:column; align-items:stretch;}
  .sg-team-card__name{
    margin:0 0 4px;
    font-size:var(--type-team-name);
    line-height:1.3;
  }
  .sg-team-card__role{
    display:block;
    margin:0 0 12px;
    font-family:'Inter', sans-serif;
    font-size:var(--type-team-role);
    font-weight:500;
    line-height:1.4;
    color:var(--ink-70);
  }
  .sg-team-card__body .team-card__footer{margin-block-end:12px;}
  .sg-team-card__body .sg-team-card__role{margin-block-end:8px;}
  .sg-team-card--editorial .sg-team-card__body{padding-block-start:18px;}
  .sg-team-card--ruled .sg-team-card__frame{
    padding:6px 6px 0;
    background:var(--bg);
    border-bottom:1px solid var(--line);
  }
  .sg-team-card--ruled .sg-team-card__body{padding:16px 6px 0;}
  @media (max-width:720px){
    .sg-team-alt-grid{grid-template-columns:1fr;}
  }

  /* Display type scale is global via --type-h1 / --type-h2 (see :root). */
