/* =========================================================
   Variables
   ======================================================= */
:root{
  --font-body: "Quicksand", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-display: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-brand: "Oswald", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --text:#0f1115; 
  --muted:#6b7280; 
  --border:rgba(0,0,0,.08);
  --bg:#ffffff; 
  --lab-bg:#0E1116; 
  --lab-card-b:#1f2937;

  /* knobs de velocidad (transiciones) */
  --t-cover:.16s;
  --t-aria:.20s;
  --t-bruta-o:.26s; /* opacity */
  --t-bruta-t:.30s; /* transform */
  --t-bruta-f:.24s; /* filter */
}


/* =========================================================
   Reset básico
   ======================================================= */
html,body{
  height:100%;
  overflow-x:hidden;   /* quita la barra horizontal en toda la web */
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family: var(--font-body);
  -webkit-font-smoothing:antialiased; 
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3{margin:.1em 0 .4em}

/* body sin scroll cuando usamos landing-wrap */
body.has-snap{
  overflow:hidden;
}

/* =========================================================
   THEME: ARIA
   ======================================================= */
.theme-aria .h-sub{margin:0 0 16px}
.container{max-width:1200px;margin:0 auto;padding:32px 20px 96px}
.stack{margin-top:40px}
.stack-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.small{font-size:.9rem}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:14px}
.card{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}
.card.pad{padding:16px}
.card-media{aspect-ratio:4/3;background:#f2f2f2}
.card-body{padding:10px 12px}
.card .s{margin:4px 0 0}

/* =========================================================
   THEME: BRUTA
   ======================================================= */
.lab-head{color:#eaeef6;text-align:center;margin:0 auto 24px;padding-top:20px;max-width:1000px}
.lab-head h1{font-size:clamp(28px,5vw,56px);margin:0}
.lab-lead{opacity:.82}
.lab-grid{max-width:1200px;margin:0 auto;padding:8px 20px 64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.lab-card{
  position:relative;isolation:isolate;border-radius:18px;overflow:hidden;
  border:1px solid var(--lab-card-b);color:#dbe2ee;
  transition:transform .18s ease;
}
.lab-card::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(1200px 400px at -10% -20%,rgba(56,189,248,.20),transparent 60%),
    linear-gradient(180deg,#0F172A 0%,#0B1220 100%);
}
.lab-card:hover{transform:translateY(-2px)}
.lab-card .body{padding:18px 18px 16px}
.lab-card .head{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.lab-card .head svg{width:22px;height:22px;stroke:#67e8f9;fill:none}
.lab-card h3,.lab-card h4{margin:0;color:#eef2ff}
.badge{
  border:1px solid #22d3ee;color:#22d3ee;
  border-radius:999px;padding:.25rem .6rem;font-size:.85rem;
}
.btn-chip{
  display:inline-block;margin-top:10px;padding:.45rem .7rem;
  border-radius:999px;border:1px solid #93c5fd;
  color:#cfe1ff;background:rgba(15,23,42,.45);
}
.btn-chip:hover{background:rgba(15,23,42,.65)}
.row{display:flex;gap:10px;flex-wrap:wrap}

/* =========================================================
   Header
   ======================================================= */
.ab-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(0,0,0,.06);
  backdrop-filter:saturate(180%) blur(10px);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
}
.ab-header.is-landing{
  position:fixed;top:0;left:0;right:0;
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.ab-h-row{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:12px;padding:0 16px;
}
.ab-logo{
  font-family:"Quicksand", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:700;
  color:#1b79e0;
  text-decoration:none;
}
.ab-logo span{opacity:.7}
.ab-burger{
  font-size:16px;background:#fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius:11px;padding:.38rem .48rem;
  cursor:pointer;
  transition:
    background-color .14s ease,
    border-color .14s ease,
    box-shadow .14s ease,
    transform .08s ease;
}

.ab-ico{
  background:#fff;border:1px solid rgba(0,0,0,.1);
  border-radius:11px;padding:.38rem .48rem;
  cursor:pointer;
  transition:
    background-color .14s ease,
    border-color .14s ease,
    box-shadow .14s ease,
    transform .08s ease;
}
.ab-ico svg{
  width:16px;height:16px;
  stroke:var(--text);stroke-width:2;fill:none;display:block;
  transition:stroke .14s ease;
}

/* Hover/active coherentes para los botones del header */
.ab-ico:hover,
.ab-burger:hover{
  background:rgba(27,121,224,.06);
  border-color:rgba(27,121,224,.35);
  box-shadow:0 10px 26px rgba(0,0,0,.10);
}
.ab-ico:active,
.ab-burger:active{
  transform:translateY(1px) scale(.98);
}
.ab-ico.is-open,
.ab-burger[aria-expanded="true"]{
  background:rgba(27,121,224,.10);
  border-color:rgba(27,121,224,.45);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.ab-ico:hover svg,
.ab-ico.is-open svg{stroke:#1b79e0}
/* CLICK (active/focus) más claro y azul */
.ab-ico:active,
.ab-burger:active{
  background: rgba(27,121,224,.14);
  border-color: rgba(27,121,224,.55);
  box-shadow: 0 10px 26px rgba(27,121,224,.18);
}
.ab-ico:focus-visible,
.ab-burger:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(27,121,224,.18), 0 10px 26px rgba(0,0,0,.10);
  border-color: rgba(27,121,224,.55);
}

/* Mini menú */
.ab-mini{
  position:fixed;left:0;top:0;min-width:200px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(15,17,21,.08);border-radius:14px;
  box-shadow:0 12px 36px rgba(15,17,21,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  overflow:hidden;
  display:none;z-index:1100;
}
.ab-mini[aria-hidden="false"]{display:block}

.ab-mini-header{
  padding:11px 16px 9px;
  border-bottom:1px solid rgba(15,17,21,.07);
  font-family:var(--font-header,sans-serif);
  font-size:9px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;
  color:#c0c4cc;
}

.ab-mini nav{
  padding:8px;
  display:flex;flex-direction:column;gap:2px;
}
.ab-mini nav a{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px;
  border-radius:8px;
  font-size:13px;font-weight:700;
  color:rgba(15,17,21,.8);
  text-decoration:none;
  border:none;margin:0;
  transition:background .14s,color .14s;
}
.ab-mini nav a::after{
  content:'';
  position:absolute;
  bottom:5px;left:50%;right:50%;
  height:2px;border-radius:2px;background:#1b79e0;
  transition:left .25s cubic-bezier(.4,0,.2,1),right .25s cubic-bezier(.4,0,.2,1);
}
.ab-mini nav a svg.arrow{
  width:12px;height:12px;stroke:rgba(15,17,21,.2);
  stroke-width:2.5;fill:none;
  opacity:0;
  transition:stroke .14s,opacity .14s,transform .14s;
}
.ab-mini nav a:hover{
  background:rgba(27,121,224,.06);
  color:#1b79e0;
}
.ab-mini nav a:hover::after{left:12px;right:12px;}
.ab-mini nav a:active::after{left:50%;right:50%;transition:left .08s,right .08s;}
.ab-mini nav a:hover svg.arrow{stroke:#1b79e0;opacity:1;transform:translateX(2px);}

/* ── Search results ── */
.ab-search-card{ min-width: 320px; }
.ab-search-results{
  display: flex; flex-direction: column; gap: 2px;
  margin-top: 8px; max-height: 280px; overflow-y: auto;
}
.ab-search-result{
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 8px;
  text-decoration: none; color: var(--text);
  transition: background .14s;
}
.ab-search-result:hover{ background: rgba(27,121,224,.06); color: #1b79e0; }
.ab-search-result-icon{
  width: 28px; height: 28px; border-radius: 7px; flex-shrink: 0;
  background: rgba(27,121,224,.08); display: flex; align-items: center; justify-content: center;
  font-size: 12px;
}
.ab-search-result-text{ flex: 1; }
.ab-search-result-name{ font-size: .88rem; font-weight: 700; line-height: 1.2; }
.ab-search-result-desc{ font-size: .75rem; color: rgba(15,17,21,.45); }
.ab-search-empty{ font-size: .85rem; color: rgba(15,17,21,.4); padding: 10px 12px; text-align: center; }

/* Popovers (FINAL limpio) */
:root{
  --pop-w: 268px;          /* más chico */
  --pop-pad: 10px;
  --pop-r: 12px;
}

.ab-pop{ position:fixed; inset:0; display:none; z-index:1200; }
.ab-pop[aria-hidden="false"]{ display:block; }

.ab-pop-card{
  position:absolute; top:0; left:0;
  width: min(var(--pop-w), calc(100vw - 20px));
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius: var(--pop-r);
  padding: var(--pop-pad) 38px var(--pop-pad) var(--pop-pad); /* menos espacio */
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
  transform: translateY(6px);
  opacity:0;
  transition: transform .12s ease, opacity .12s ease, box-shadow .12s ease;
}

.ab-pop[aria-hidden="false"] .ab-pop-card{
  opacity:1;
  transform: translateY(0);
}

.ab-pop-x{
  position:absolute; right:8px; top:8px;
  width:24px; height:24px;
  border:0; background:transparent;
  font-size:14px; line-height:1;
  color:#6b7280;
  cursor:pointer;
  border-radius:8px;
  display:grid; place-items:center;
}
.ab-pop-x:hover{ background: rgba(0,0,0,.05); }

.ab-input{
  width:100%;
  padding: .50rem .70rem;         /* más compacto */
  border:1px solid #d1d5db;
  border-radius: 9px;
  font-size: 14px;
  line-height: 1.2;
}
.ab-input:focus{
  outline: none;
  border-color: rgba(27,121,224,.55);
  box-shadow: 0 0 0 3px rgba(27,121,224,.14);
}
/* LANG: siempre horizontal (no vertical) */
#pop-lang .ab-pop-card{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:nowrap;
}
#pop-lang .ab-pill{
  margin:0;
  flex:1;
  min-width:0;
  display:inline-flex;
  justify-content:center;
  white-space:nowrap;
  padding:.42rem .55rem;
  font-size:.88rem;
  border:1px solid #d1d5db;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}
#pop-lang .ab-pill:hover{ background:rgba(27,121,224,.06); border-color:rgba(27,121,224,.35); }

/* PROFILE: borrar esos 2 textos (solo acá) */
#pop-profile .ab-muted{ display:none !important; }

/* Botón google: full width prolijo */
#pop-profile .ab-pill.primary{
  width:100%;
  margin:0;
  padding:.5rem .7rem;
  border-radius:999px;
  border:1px solid rgba(15,17,21,.25);
  background:#fff;
  color:rgba(15,17,21,.55);
  white-space:normal;
  line-height:1.2;
}

/* =========================================================
   Landing split (Top)
   ======================================================= */
.split-hero-bleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:hidden;
}

body.page-landing{ overflow-x:hidden; }

/* ── Split hero F2 ── */
.split-hero{
  height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  position:relative;
}

.split-panel{
  position:relative; overflow:hidden;
  text-decoration:none; display:flex;
  align-items:center; justify-content:center;
  padding:0 6vw;
  transition: filter .35s;
}

/* Lado inactivo se oscurece levemente */
.split-hero:hover .split-panel:not(:hover){
  filter: brightness(.82);
}

/* Fondos base */
.split-a{ background:#f3f7fd; color:#0f1115; }
.split-b{
  background: linear-gradient(145deg, #1055b8, #1b79e0 55%, #2589f8);
  color:#fff;
}

/* ── Imágenes de fondo (activar con .has-bg) ── */
/* Quitá o comentá la clase "has-bg" en el HTML para desactivarlas */
.split-hero.has-bg .split-a{
  background:
    linear-gradient(to right, rgba(243,247,253,.68), rgba(243,247,253,.42)),
    url("/static/img/hero-aria-bg.jpg") center center/150% auto no-repeat !important;
}
.split-hero.has-bg .split-b{
  background:
    linear-gradient(145deg, rgba(16,85,184,.72), rgba(27,121,224,.68) 55%, rgba(37,137,248,.65)),
    url("/static/img/hero-bruta-bg.jpg") center 20%/cover no-repeat !important;
}



/* ── Contenido ── */
.split-inner{
  position:relative; z-index:2; width:100%;
  text-align:center; display:flex; flex-direction:column; align-items:center;
}

.split-eyebrow{
  font-size:9px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  margin-bottom:14px;
  opacity:.45; transition:opacity .2s;
}
.split-a .split-eyebrow{ color:#0a0c10; }
.split-b .split-eyebrow{ color:#fff; }
.split-panel:hover .split-eyebrow{ opacity:.75; }

.split-title{
  font-size: clamp(2.4rem, 5.5vw, 4.5rem);
  line-height:1; font-weight:800; margin-bottom:0;
  transition: transform .35s cubic-bezier(.4,0,.2,1), letter-spacing .35s;
}
.split-title--aria{ font-family: var(--font-aria); }
.split-title--bruta{ font-family: var(--font-bruta); }
.split-a .split-title{ color:#0a0c10; }
.split-b .split-title{ color:#fff; }
.split-panel:hover .split-title{ transform:translateX(5px); letter-spacing:.01em; }

/* Línea corta que crece */
.split-rule{
  width:0; height:2px; margin:18px 0;
  transition: width .38s .05s cubic-bezier(.4,0,.2,1);
}
.split-a .split-rule{ background:#1b79e0; }
.split-b .split-rule{ background:rgba(255,255,255,.45); }
.split-panel:hover .split-rule{ width:44px; }

.split-sub{
  font-size:.85rem; line-height:1.6; max-width:28ch;
  opacity:0; transform:translateY(7px);
  transition: opacity .3s .1s, transform .3s .1s;
}
.split-a .split-sub{ color:rgba(10,12,16,.52); }
.split-b .split-sub{ color:rgba(255,255,255,.65); }
.split-panel:hover .split-sub{ opacity:1; transform:translateY(0); }

/* Divisor central */
.split-divider{
  position:absolute; left:50%; top:0; bottom:0;
  width:1px; background:rgba(255,255,255,.3); z-index:10;
}

/* Mobile */
@media (max-width:860px){
  .split-hero{
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr;
  }
  .split-divider{ left:0; top:50%; right:0; height:1px; width:auto; }
  .split-panel{ padding:0 8vw; }
}
@media (max-width:768px){
  .split-hero-bleed{ margin-left:0; margin-right:0; }
  .split-hero{ height:auto; min-height:100vh; }
}

/* Landing scroll (Top <-> Bottom) */
/* SOLO landing tiene scroll interno + snap */

.landing-wrap:not(.no-snap){
  scroll-snap-type: y mandatory;
  height: 100vh;
  overflow-y: auto;
}

.landing-wrap.is-animating{
  scroll-snap-type: none;
}

/* Secciones fullscreen SOLO en landing */
.landing-wrap:not(.no-snap) .landing-section{
  height: 100vh;
  scroll-snap-align: start;
}

/* Páginas normales (aria, bruta, etc) */
.landing-wrap.no-snap{
  height: auto;
  overflow: visible;
}

/* DESACTIVAR SCROLL-SNAP CUANDO EL CONTENEDOR TENGA .no-snap */




/* ===== DESACTIVAR SCROLL-SNAP EN MOBILE ===== */
@media (max-width: 768px){
  html, body {
    scroll-behavior: auto !important;  /* evita desplazamientos suaves forzados */
  }

  /* En mobile el body del landing vuelve a scrollear normal */
  body.has-snap{
    overflow-y:auto !important;
    overflow-x:hidden;
  }

  .landing-wrap{
    scroll-snap-type: none !important;
    overflow-y: visible !important;
    height: auto !important;
  }

  .landing-section{
    height: auto !important;
    min-height: auto !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }

  /* Aria hero: dejar que crezca con el contenido */
  .aria-hero{
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-bottom: 32px;
  }

  /* Split hero landing: asegurar que no clipee */
  .split-hero-bleed,
  .split-hero-bleed .landing-section{
    height: auto !important;
    min-height: 100svh;
  }

  /* Landing bottom (o3c): dejar crecer */
  .landing-bottom{
    height: auto !important;
    min-height: auto !important;
    padding: 48px 0;
  }

  /* Sobre nosotros: screens con vh fijo */
  .abAbout-screen--hero,
  .abAbout-screen--next{
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  /* Presupuestos: dejar crecer */
  .aria-quote-wrap{
    height: auto !important;
    min-height: auto !important;
  }

  /* Procesos: hero no clipear */
  .proc-hero{
    min-height: auto !important;
    overflow: visible !important;
  }

  /* Contacto split: una columna */
  .c-wrap{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Transiciones de página (simple fade)
   ======================================================= */

/* Páginas que tengan data-fade-in="algo" empiezan ocultas */
html[data-fade-in] body{
  opacity:0;
}

/* Al cargar, JS agrega .is-fade-ready y se hace el fade-in */
html[data-fade-in] body.is-fade-ready{
  opacity:1;
  transition:opacity 0.5s ease;
}

/* Cuando salimos del landing (click en split) */
body.page-fade-out{
  opacity:0;
  transition:opacity 0.45s ease;
}

/* =========================================================
   Aria hero
   ======================================================= */
/* =========================
   ARIA HERO (nuevo)
   ========================= */

.aria-hero{
  position: relative;
  height: calc(100vh - var(--nav-h, 56px));
  min-height: 560px;
  overflow: hidden;
}
@media (max-width: 860px){
  .aria-hero{
    height: calc(100svh - var(--nav-h, 52px));
    min-height: 480px;
    overflow: hidden;
  }
}

.aria-hero-media{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(0.98) contrast(1.02);
}

/* Overlay: legibilidad + look más fino */
.aria-hero-overlay{
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  place-items: center;
  padding: clamp(24px, 4vw, 56px);
  background: transparent; /* 🔥 chau oscurecido */
}

.aria-hero-inner{
  width: min(1100px, 100%);
  text-align: center;
  color: #fff;
}

.aria-hero-kicker{
  margin: 0 0 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  opacity: .85;
}

.aria-hero-title{
  margin: 0 0 10px;
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  text-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.aria-hero-sub{
  margin: 0 auto 18px;
  max-width: 66ch;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.5;
  opacity: .92;
  text-shadow: 0 10px 28px rgba(0,0,0,.32);
}

.aria-hero-actions{
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  margin: 0 0 22px;
  flex-wrap: wrap;
}

/* Botones del hero */
.btn-hero{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
  will-change: transform;
}

.btn-hero-primary{
  color: #0f1115;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.35);
}

.btn-hero-ghost{
  color: #fff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
}

.btn-hero:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 56px rgba(0,0,0,.34);
}

.btn-hero:active{
  transform: translateY(0px);
  box-shadow: 0 10px 28px rgba(0,0,0,.26);
}

/* Cards */
.aria-hero-cards{
  margin: 0 auto;
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.aria-hero-card{
  text-align: left;
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.aria-hero-card:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.26);
}

.aria-hero-card-ico{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  margin: 0 0 10px;
  font-size: 16px;
}

.aria-hero-card h3{
  margin: 0 0 6px;
  font-size: 14px;
  letter-spacing: -0.01em;
}

.aria-hero-card p{
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  opacity: .88;
}

/* Responsive */
@media (max-width: 860px){
  .aria-hero-cards{
    display: none;
  }
}

/* ARIA: pantalla de cotización a pantalla completa */
.aria-quote-wrap{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 16px 40px;
}
@media (min-width:1024px){
  .aria-quote-wrap{
    padding:40px 32px 56px;
  }
}
/* =========================================================
   Aria · Pantalla 2 · Proyectos
   ======================================================= */

.aria-projects{
  background:var(--bg);
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(4rem, 10vh, 5.5rem) 1.5rem 4.5rem;
}

.aria-projects-inner{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.aria-proj-header{
  max-width:640px;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

.aria-proj-kicker{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  color:var(--muted);
  margin:0;
}

.aria-proj-title{
  margin:0;
  font-size:clamp(1.8rem, 2.4vw, 2.2rem);
  line-height:1.2;
  color:var(--ink);
}

.aria-proj-sub{
  margin:0;
  color:var(--ink-soft);
  max-width:520px;
  font-size:.96rem;
}



.aria-proj-filter{
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--white);
  padding:.35rem .9rem;
  font-size:.8rem;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--ink-soft);
  transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.aria-proj-filter.is-active{
  background:var(--ink);
  color:var(--white);
  border-color:var(--ink);
  box-shadow:0 8px 18px rgba(15,23,42,.25);
}



.aria-proj-card{
  border-radius:18px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}





.aria-proj-meta{
  padding:.9rem 1rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.25rem;
}



.aria-proj-name{
  font-size:.98rem;
  margin:0;
  color:var(--ink);
}



@media (max-width:768px){
  .aria-projects{
    padding:3.25rem 1.25rem 3.5rem;
  }
}

/* =========================================================
   Edge tabs (ARIA <-> BRUTA)
   ======================================================= */
/* ── Nav moon (lateral navigation) ── */
.nav-moon{
  position:fixed; top:50%;
  transform:translateY(-50%);
  z-index:1100;
  text-decoration:none;
  display:flex; align-items:center;
  transition:transform .2s cubic-bezier(.4,0,.2,1);
}
.nav-moon--left{ left:-1px; }
.nav-moon--right{ right:-1px; }

.nav-moon__body{
  width:34px; height:88px;
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(15,17,21,.1);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:7px;
  transition:background .2s, box-shadow .2s;
  overflow:hidden;
}
.nav-moon--left .nav-moon__body{
  border-radius:0 22px 22px 0;
  border-left:none;
}
.nav-moon--right .nav-moon__body{
  border-radius:22px 0 0 22px;
  border-right:none;
}

.nav-moon__body svg{
  width:13px; height:13px;
  stroke:rgba(15,17,21,.4); stroke-width:2.5; fill:none;
  transition:stroke .2s;
}
.nav-moon__body span{
  font-size:8px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  color:rgba(15,17,21,.4);
  writing-mode:vertical-rl; line-height:1;
  transition:color .2s;
}
.nav-moon--left .nav-moon__body span{ transform:rotate(180deg); }

.nav-moon:hover .nav-moon__body{
  background:#fff;
  box-shadow:0 4px 20px rgba(15,17,21,.12);
}
.nav-moon:hover .nav-moon__body svg{ stroke:#1b79e0; }
.nav-moon:hover .nav-moon__body span{ color:#1b79e0; }
.nav-moon--left:hover{ transform:translateY(-50%) translateX(2px); }
.nav-moon--right:hover{ transform:translateY(-50%) translateX(-2px); }

@media (max-width:860px){ .nav-moon{ display:none; } }

/* Ocultar lunas en landing */
body.page-landing .nav-moon{ display:none; }

/* =========================================================
   Landing bottom (copy + card)
   ======================================================= */
/* ── Landing bottom O3C ── */
.landing-bottom {
  padding: 0 5vw;
  display: flex; align-items: center; justify-content: center;
  background: #f7f9fc;
}
.o3c-inner {
  width: 100%; max-width: 960px;
}
.o3c-top { margin-bottom: 3rem; }
.o3c-kicker {
  font-family: var(--font-header, sans-serif);
  font-size: 9px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(10,12,16,.3); margin-bottom: 14px;
}
.o3c-title {
  font-family: var(--font-header, sans-serif);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 800; color: #0a0c10; line-height: 1.1;
}
.o3c-items { display: flex; flex-direction: column; }
.o3c-item {
  display: grid; grid-template-columns: 72px 1fr 40px;
  align-items: center; gap: 2rem;
  padding: 22px 0; border-bottom: 1px solid rgba(15,17,21,.07);
  transition: padding-left .2s;
}
.o3c-item:first-child { border-top: 1px solid rgba(15,17,21,.07); }
.o3c-item:hover { padding-left: 8px; }
.o3c-item-num {
  font-family: var(--font-header, sans-serif);
  font-size: 2.2rem; font-weight: 800;
  color: rgba(15,17,21,.06); line-height: 1;
  transition: color .2s;
}
.o3c-item:hover .o3c-item-num { color: rgba(27,121,224,.14); }
.o3c-item-brand {
  font-family: var(--font-header, sans-serif);
  font-size: 9px; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: #1b79e0; margin-bottom: 5px;
}
.o3c-item-brand.b { color: rgba(10,12,16,.35); }
.o3c-item-title {
  font-size: 1rem; font-weight: 800;
  color: #0a0c10; margin-bottom: 4px;
}
.o3c-item-desc {
  font-size: .83rem; color: rgba(10,12,16,.5); line-height: 1.5;
}
.o3c-item-arrow {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid rgba(15,17,21,.12);
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  opacity: 0; transition: opacity .2s, border-color .2s;
}
.o3c-item:hover .o3c-item-arrow { opacity: 1; border-color: #1b79e0; }
.o3c-item-arrow svg { width: 14px; height: 14px; stroke: #1b79e0; stroke-width: 2.5; fill: none; }
.o3c-footer {
  margin-top: 2.5rem; display: flex; gap: 12px;
}
.o3c-btn {
  padding: .65rem 1.3rem; border-radius: 999px;
  font-weight: 700; font-size: .84rem;
  text-decoration: none; transition: all .18s;
}
.o3c-btn-a {
  border: 1px solid rgba(15,17,21,.15); color: #0a0c10;
}
.o3c-btn-a:hover { border-color: #1b79e0; color: #1b79e0; }
.o3c-btn-b { background: #1b79e0; color: #fff; box-shadow: 0 6px 20px rgba(27,121,224,.25); }
.o3c-btn-b:hover { background: #1568cc; }

@media (max-width: 700px) {
  .o3c-item { grid-template-columns: 48px 1fr 32px; gap: 1rem; }
  .o3c-item-num { font-size: 1.6rem; }
}

/* Accesibilidad (reduce motion) */
@media (prefers-reduced-motion:reduce){
  html[data-fade-in] body.is-fade-ready{transition:none}
  body.page-fade-out{transition:none}
}

/* =========================================================
   Página "Sobre A|B Bureau"
   ======================================================= */

/* SOBRE: mismo ancho que el header + grid */
.about-shell {
  max-width:1200px;                /* igual que el header */
  margin:0 auto;
  padding:32px 16px 40px;          /* mismos 16px laterales */
  display:grid;
  grid-template-columns:minmax(0, 2.1fr) minmax(0, 1.4fr);
  column-gap:48px;
  row-gap:32px;
}

/* bloque principal (titulo + párrafo + chips) */
.about-main {
  align-self: start;
}

/* card "Qué resolvemos" */
.about-card {
  align-self: start;
}

/* grid de las cuatro cajas de abajo */
.about-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

/* textos y chips */
.about-kicker {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
  margin: 0 0 8px;
}

.about-lead {
  margin: 0 0 14px;
  max-width: 46rem;
}

.about-sub {
  margin: 0 0 10px;
  color: var(--muted);
}

.about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  padding: 4px 10px;
  font-size: 0.78rem;
  background: #f9fafb;
}

.chip.light {
  background: #fff;
}

/* listas */
.about-steps {
  padding-left: 1.2rem;
  margin: 0;
}

.about-tags-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 10px;
}

/* Ajuste sólo para desktop */
@media (min-width: 1024px){
  .about-shell {
    padding-top: 28px;
    padding-bottom: 32px;
  }
}

/* SOBRE: cards con el mismo estilo que PROCESOS */
.about-card,
.about-box{
  position:relative;
  border-radius:20px;
  border:1px solid var(--border);
  background:#ffffff;
  padding:20px 22px;
  box-shadow:0 14px 40px rgba(15,17,21,0.03);
  overflow:hidden;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
  animation:proc-fade-up .45s ease forwards;   /* MISMA anim que PROCESOS */
}

/* Glow sutil al hacer hover */
.about-card::before,
.about-box::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(circle at 0% 0%, rgba(59,130,246,.19), transparent 60%),
    radial-gradient(circle at 100% 100%, rgba(8,47,73,.22), transparent 55%);
  opacity:0;
  transform:scale(1.05);
  transition:opacity 220ms ease, transform 220ms ease;
  pointer-events:none;
  mix-blend-mode:soft-light;
}

.about-card:hover,
.about-box:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 55px rgba(15,23,42,.12);
  border-color:rgba(15,23,42,.14);
  background:#fcfcff;
}

.about-card:hover::before,
.about-box:hover::before{
  opacity:1;
  transform:scale(1);
}

/* =========================================================
   PROCESOS: mismo ancho que el header (logo ↔ iconos)
   ======================================================= */











/* Layout dos columnas */


/* columna izquierda: pila de cards (ruta típica) */


/* columna derecha: cards bien arriba */






/* Base visual de todas las cards de PROCESOS */


/* Glow suave en hover */






/* Animación de entrada discreta compartida */


/* Steps */












/* Cards laterales (perfil + colaboración) */















/* PROCESOS · Card de perfil / foto */
















/* Responsive perfil */


/* Responsive layout PROCESOS */


/* Animación de entrada común para PROCESOS y SOBRE */
.proc-card-base,
.about-card,
.about-box{
  animation:proc-fade-up .45s ease forwards;
}

/* PROCESOS: mismo ancho que el header (logo ↔ iconos) */
.proc-shell{
  max-width:1200px;          /* igual que .ab-h-row */
  margin:0 auto;
  padding:32px 16px 72px;    /* mismo padding lateral que el header (16px) */
}

.proc-head{
  max-width:760px;
  margin:0 0 24px;
}

.proc-kicker{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted);
  margin:0 0 8px;
}

.proc-title{
  margin:0 0 12px;
  font-size:clamp(1.8rem,3vw,2.4rem);
}

.proc-lead{
  margin:0;
  color:var(--muted);
  max-width:42rem;
}

/* Layout dos columnas */
.proc-layout{
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(0,1.5fr);
  column-gap:22px;
  row-gap:18px;
  margin-top:16px;           /* arranca más cerca del título */
  align-items:flex-start;    /* todo alineado arriba (como SOBRE) */
}

/* columna izquierda: pila de cards (ruta típica) */
.proc-column{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* columna derecha: cards bien arriba */
.proc-column-side{
  justify-self:stretch;
  align-self:flex-start;
  margin-top:-36px !important;   /* SUBE las 2 cards; ajustá el valor a gusto */
}

.proc-section-title{
  margin:0 0 6px;
  font-size:1.1rem;
}

.proc-section-sub{
  margin:0 0 16px;
  color:var(--muted);
  font-size:.9rem;
}

/* Base visual de todas las cards */
.proc-card-base{
  position:relative;
  border-radius:18px;
  padding:16px 18px 18px;
  background:#ffffff;
  border:1px solid var(--border);
  box-shadow:0 14px 40px rgba(15,23,42,.03);
  overflow:hidden;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

/* Glow suave en hover */
.proc-card-base::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(circle at 0% 0%, rgba(59,130,246,.19), transparent 60%),
    radial-gradient(circle at 100% 100%, rgba(8,47,73,.22), transparent 55%);
  opacity:0;
  transform:scale(1.05);
  transition:opacity 220ms ease, transform 220ms ease;
  pointer-events:none;
  mix-blend-mode:soft-light;
}

.proc-card-base:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 55px rgba(15,23,42,.12);
  border-color:rgba(15,23,42,.12);
  background:#fcfcff;
}

.proc-card-base:hover::before{
  opacity:1;
  transform:scale(1);
}

/* Animación de entrada discreta (compartida con SOBRE) */
@keyframes proc-fade-up{
  from{opacity:0; transform:translateY(8px);}
  to{opacity:1; transform:translateY(0);}
}

.proc-card-base{
  animation:proc-fade-up .45s ease forwards;
}

/* Steps */
.proc-step-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.proc-step-card{
  padding-top:14px;
  padding-bottom:14px;
}

.proc-step-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 6px;
}

.proc-step-badge{
  width:26px;
  height:26px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  font-weight:600;
  color:#0f172a;
  background:linear-gradient(135deg,#e5edff,#c4d4ff);
  box-shadow:0 8px 18px rgba(148,163,184,.6);
}

.proc-step-header h3{
  margin:0;
  font-size:.98rem;
}

.proc-step-text{
  margin:0;
  font-size:.9rem;
  color:var(--muted);
}

/* Cards laterales (perfil + colaboración) */
.proc-side-card{
  margin-top:8px;
}
.proc-side-card:first-child{
  margin-top:0;
}

.proc-card-kicker{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  margin:0 0 6px;
}

.proc-card-title{
  margin:0 0 8px;
  font-size:1.1rem;
}

.proc-card-text{
  margin:0 0 10px;
  font-size:.9rem;
  color:var(--muted);
}

.proc-card-list{
  margin:0 0 10px 1rem;
  padding:0;
  font-size:.9rem;
  color:#4b5563;
}

.proc-card-list li + li{
  margin-top:.2rem;
}

.proc-card-foot{
  margin:4px 0 0;
  font-size:.8rem;
  color:var(--muted);
}

/* PROCESOS · Card de perfil / foto */
.proc-profile-card{
  padding:16px 16px 18px;
}

.proc-profile{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:14px;
}

.proc-profile-photo{
  width:72px;
  height:72px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.5);
  box-shadow:0 10px 26px rgba(15,23,42,.15);
  background:#e5e7eb;
}

.proc-profile-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.proc-profile-body{
  min-width:0;
}

.proc-profile-role{
  margin:0 0 2px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted);
}

.proc-profile-name{
  margin:0 0 4px;
  font-size:1.05rem;
}

.proc-profile-text{
  margin:0;
  font-size:.86rem;
  color:var(--muted);
}

/* Responsive perfil */
@media (max-width:600px){
  .proc-profile{
    grid-template-columns:minmax(0,1fr);
    row-gap:10px;
  }
  .proc-profile-photo{
    width:80px;
    height:80px;
  }
}

/* Responsive layout PROCESOS */
@media (max-width:900px){
  .proc-shell{
    padding-top:24px;
    padding-bottom:56px;
  }
  .proc-layout{
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    margin-top:20px;
  }
  .proc-column-side{
    margin-top:0 !important;   /* en mobile, apilado normal */
  }
}
/* =========================================================
   ARIA · Rediseño del cotizador
   ======================================================= */

.landing-bottom-card.quote-card{
  position:relative;
  border-radius:28px;
  padding:2.2rem 2.4rem;
  background:#ffffff;
  color:#111827;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
  border:1px solid rgba(148,163,184,.35);
}

@media (max-width:768px){
  .landing-bottom-card.quote-card{
    padding:1.6rem 1.4rem;
  }
}

.theme-aria .quote-title{
  font-family: var(--font-aria);
  font-size:1.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.quote-sub{
  margin:.35rem 0 1.8rem;
  font-size:.95rem;
  color:#4b5563;
  max-width:52rem;
}

.quote-layout{
  display:flex;
  flex-direction:column;
  gap:1.75rem;
}

@media (min-width:900px){
  .quote-layout{
    flex-direction:row;
    align-items:flex-start;
  }
  .quote-form-col{
    flex:3;
    min-width:0;
  }
  .quote-result-col{
    flex:2;
    min-width:0;
    padding-left:1.75rem;
    margin-left:1.75rem;
    border-left:1px solid rgba(148,163,184,.45);
  }
}

/* Campos */

.quote-field{
  margin-bottom:1.1rem;
}

.quote-field label{
  display:block;
  margin-bottom:.25rem;
  font-size:.9rem;
  font-weight:500;
  color:#111827;
}

.quote-field input,
.quote-field select{
  width:100%;
  border-radius:999px;
  border:1px solid #e5e7eb;
  padding:.55rem .9rem;
  font-size:.9rem;
  background:#f9fafb;
  outline:none;
}

.quote-field input:focus,
.quote-field select:focus{
  border-color:#111827;
  box-shadow:0 0 0 1px #1118271a;
}

.quote-help{
  margin:.1rem 0 .4rem;
  font-size:.8rem;
  color:#6b7280;
}

.quote-checks{
  display:grid;
  gap:.25rem;
  font-size:.83rem;
  color:#4b5563;
}

.quote-checks label{
  display:flex;
  gap:.45rem;
  align-items:flex-start;
}

.quote-checks input{
  margin-top:.2rem;
}
/* Ítems de categorización como "píldoras" clickeables */
.quote-checks-pills{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:.5rem;
}

.uni-pill{
  position:relative;
  display:flex;
  align-items:flex-start;
  padding:.45rem .7rem;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  cursor:pointer;
  font-size:.8rem;
  line-height:1.4;
  transition:
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease;
}

/* escondemos el checkbox real */
.uni-pill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.uni-pill span{
  flex:1;
}

/* estado seleccionado (cuando el checkbox está tildado) */
.uni-pill:has(input:checked){
  background:#111827;
  border-color:#111827;
  color:#f9fafb;
  box-shadow:0 8px 24px rgba(15,23,42,.25);
}

/* responsive: en mobile una sola columna */
@media (max-width: 768px){
  .quote-checks-pills{
    grid-template-columns: minmax(0,1fr);
  }
}
/* Multifamiliar: radios como pastillas */
.quote-radios-pills{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:.5rem;
}

.multi-pill{
  position:relative;
  display:flex;
  align-items:flex-start;
  padding:.45rem .7rem;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  cursor:pointer;
  font-size:.8rem;
  line-height:1.4;
  transition:
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease;
}

/* escondemos el radio real */
.multi-pill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.multi-pill span{
  flex:1;
}

/* estado seleccionado */
.multi-pill:has(input:checked){
  background:#111827;
  border-color:#111827;
  color:#f9fafb;
  box-shadow:0 8px 24px rgba(15,23,42,.25);
}

/* en mobile, una sola columna */
@media (max-width: 768px){
  .quote-radios-pills{
    grid-template-columns: minmax(0,1fr);
  }
}

/* Botón */

.quote-btn{
  width:100%;
  margin-top:.4rem;
}

/* Columna de resultados */

.quote-result-col{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.quote-result-title{
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#6b7280;
  margin:0 0 .4rem;
}

.quote-label{
  margin:0 0 .15rem;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#9ca3af;
}

.quote-value{
  margin:0;
  font-size:.92rem;
  color:#111827;
}

.quote-number{
  margin:0;
  font-size:1.25rem;
  font-weight:600;
  color:#111827;
}

.quote-number span{
  font-variant-numeric:tabular-nums;
}

.quote-separator{
  height:1px;
  margin:.6rem 0 .3rem;
  background:linear-gradient(to right, rgba(148,163,184,.6), transparent);
}

.quote-note{
  margin:.6rem 0 0;
  font-size:.78rem;
  line-height:1.4;
  color:#6b7280;
}

/* Footnotes / disclaimer */

.quote-footnote{
  margin:.3rem 0 0;
  font-size:.78rem;
  color:#6b7280;
}

.quote-disclaimer{
  margin:1.8rem 0 0;
  font-size:.78rem;
  line-height:1.5;
  color:#6b7280;
}
/* Ajuste cotizador ARIA: ocupar alto sin generar scroll extra */
.aria-quote-full{
  min-height: calc(100vh - var(--nav-h,0px));
  display: flex;
  align-items: center;
}

/* Quitamos padding vertical extra en esa sección para evitar overflow mínimo */
.landing-section#cotizacion{
  padding-block: 0;
}
/* Wrapper específico de la página ARIA (sin scroll interno) */
.aria-wrap{
  min-height:100vh;
}
@media (max-width: 768px){
  .landing-wrap{
    scroll-snap-type: none;
  }
}
@media (max-width: 768px){
  .landing-wrap{
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
}

/* =========================================================
   ARIA · GRID DE PROYECTOS
   ======================================================= */

.aria-projects-wrap{
  max-width: 1120px;
  margin: 0 auto;
  padding: 64px 16px 80px;
}

.aria-projects-header{
  max-width: 640px;
  margin-bottom: 32px;
}

.aria-projects-title{
  margin: 8px 0 12px;
  font-size: 1.9rem;
  letter-spacing: -0.04em;
}

.aria-projects-sub{
  margin: 0;
  font-size: .9rem;
  color: var(--muted);
}

.aria-proj-filters{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 20px;
}

.aria-proj-filters button{
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: .78rem;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.aria-proj-filters button.is-active{
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

/* GRID */

.aria-proj-grid{
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 18px;
}

@media (min-width: 720px){
  .aria-proj-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (min-width: 1040px){
  .aria-proj-grid{
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

/* ARIA · Cards claras en línea con el resto del sitio */
.aria-proj-card{
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(148,163,184,.35);
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15,23,42,.10);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.aria-proj-card:hover{
  transform: translateY(-3px);
  background: #f9fafb;
  border-color: rgba(15,23,42,.18);
  box-shadow: 0 22px 60px rgba(15,23,42,.18);
}

/* Ajuste de texto para que quede más “ARIA” */





/* Botón principal de la card */

.aria-proj-main{
  all: unset;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}





.aria-proj-meta{
  padding: 14px 16px 12px;
}

.aria-proj-type{
  margin: 0 0 4px;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
}

.aria-proj-name{
  margin: 0 0 4px;
  font-size: 1rem;
}

.aria-proj-info{
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
}

/* Galería expandible */

/* Las galerías internas SOLO son fuente para el lightbox, no se muestran en la card */
.aria-proj-gallery{
  display: none !important;
}

.aria-proj-gallery-inner{
  padding: 0 12px 12px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
}

.aria-proj-gallery-inner img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}
/* ==== FIX DEFINITIVO THUMBNAILS ARIA ==== */
.aria-proj-thumb {
  position: relative;
  width: 100%;
  padding-top: 62%;       /* ~16:10 de relación de aspecto */
  overflow: hidden;
  background: #000;
  border-radius: 18px 18px 0 0;
}

.aria-proj-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;      /* llena el cuadro recortando lo que sobra */
  object-position: center;
  transition: transform .35s ease;
}

.aria-proj-card:hover .aria-proj-thumb img {
  transform: scale(1.06);
}
/* ============================================
   Desactivar scroll-snap SOLO en .landing-wrap.no-snap
   (por ejemplo, página /aria)
   ============================================ */
.landing-wrap.no-snap {
  scroll-snap-type: none !important;
  height: auto !important;
  overflow-y: visible !important;
}

.landing-wrap.no-snap .landing-section {
  height: auto !important;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}
/* =========================================================
   ARIA · LIGHTBOX · SOLO FOTO + FLECHAS
   ======================================================= */

.aria-lightbox{
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: none;
  align-items: center;
  justify-content: center;
  /* FONDO DIFUMINADO GRIS CLARO */
  background: rgba(229, 231, 235, 0.88);   /* gris muy claro */
  backdrop-filter: blur(5px);
}

.aria-lightbox[aria-hidden="false"]{
  display: flex;
}

/* sin card, solo la imagen centrada */
.aria-lightbox-dialog{
  position: relative;
  max-width: min(1200px, 96vw);
  max-height: 90vh;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* contenedor imagen */
.aria-lightbox-body{
  line-height: 0;
  background: transparent !important;  /* mata el degradado azul anterior */
}

.aria-lightbox-body img[data-lb-img]{
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 14px;     /* si querés bordes rectos: poné 0 */
}

/* botón cerrar (esquina sup. derecha) */
.aria-lightbox-close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: none;
  background: rgba(15,23,42,0.92);
  color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

/* flechas navegación izquierda / derecha */
.aria-lightbox-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: none;
  background: rgba(15,23,42,0.92);
  color: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
}

.aria-lightbox-prev{ left: 14px; }
.aria-lightbox-next{ right: 14px; }

/* contador 1/4, discreto abajo a la derecha */
.aria-lightbox-counter{
  position: absolute;
  right: 18px;
  bottom: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  background: rgba(15,23,42,0.92);
  color: #e5e7eb;
}

/* Mobile: un poco más cerca de los bordes */
@media (max-width: 768px){
  .aria-lightbox-dialog{
    max-width: 100%;
    max-height: 90vh;
  }

  .aria-lightbox-prev{ left: 8px; }
  .aria-lightbox-next{ right: 8px; }
}
.proc-diagram svg{
  display:block;
  width:100%;
  height:auto;
}
/* =========================================================
   Presupuestos (page-presupuestos) · Rediseño premium
   Acento: #1b79e0
   ======================================================= */
.page-presupuestos{
  --accent: #1b79e0;
  --ink: #0f172a;
  --ink-soft: #475569;
  --line: #e5eaf2;
  --soft: #f7f9fc;
}

/* Card split (fondo derecho suave dentro de la card) */
.page-presupuestos .quote-card--split{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:0 24px 70px rgba(15,23,42,.14);
  background:#fff;
}

.page-presupuestos .quote-card--split::after{
  content:"";
  position:absolute;
  inset:0;
  left:60%;
  background: var(--soft);
  pointer-events:none;
}

.page-presupuestos .quote-header,
.page-presupuestos .quote-layout{
  position:relative; /* por encima del split */
  z-index:1;
}

.page-presupuestos .quote-kicker{
  margin:0 0 .4rem;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: var(--ink-soft);
}

.page-presupuestos .quote-title{
  margin:0;
  font-family: var(--font-aria);
  font-size: clamp(1.8rem, 2.3vw, 2.45rem);
  letter-spacing:-.01em;
  text-transform:none;
  color: var(--ink);
}

.page-presupuestos .quote-sub{
  margin:.55rem 0 1.6rem;
  font-size: .98rem;
  line-height:1.6;
  color: var(--ink-soft);
  max-width: 60ch;
}

/* Layout */
.page-presupuestos .quote-layout--split{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

@media (min-width: 980px){
  .page-presupuestos .quote-layout--split{
    flex-direction:row;
    gap:2.4rem;
  }
  .page-presupuestos .quote-form-col{
    flex: 1.35;
    padding-right: 1rem;
  }
  .page-presupuestos .quote-result-col{
    flex: .85;
    display:flex;
    justify-content:center;
    padding-left: .5rem;
  }
}

/* Campos */
.page-presupuestos .quote-field{
  margin-bottom: 1.1rem;
}

.page-presupuestos .quote-label{
  display:block;
  margin:0 0 .45rem;
  font-size:.9rem;
  font-weight:600;
  color: var(--ink);
}

.page-presupuestos .quote-label-note{
  font-weight:500;
  color: var(--ink-soft);
  margin-left:.35rem;
  font-size:.85rem;
}

.page-presupuestos .quote-input-group{
  display:flex;
  align-items:center;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:999px;
  overflow:hidden;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.page-presupuestos .quote-input-group:focus-within{
  border-color: rgba(27,121,224,.55);
  box-shadow: 0 0 0 4px rgba(27,121,224,.12);
  background:#fff;
}

.page-presupuestos .quote-input-icon{
  width:44px;
  height:40px;
  display:grid;
  place-items:center;
  color: var(--accent);
  border-right:1px solid rgba(229,234,242,.9);
}

.page-presupuestos .quote-input{
  border:0;
  outline:none;
  background:transparent;
  padding:.65rem .85rem;
  width:100%;
  font-size:.95rem;
  color: var(--ink);
}

.page-presupuestos .quote-input-suffix{
  padding:0 .9rem 0 .65rem;
  color: var(--ink-soft);
  font-size:.9rem;
  border-left:1px solid rgba(229,234,242,.9);
  height:40px;
  display:flex;
  align-items:center;
}

.page-presupuestos .quote-select{
  width:100%;
  border-radius:999px;
  border:1px solid var(--line);
  padding:.65rem .9rem;
  font-size:.95rem;
  background:#f8fafc;
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.page-presupuestos .quote-select:focus{
  border-color: rgba(27,121,224,.55);
  box-shadow: 0 0 0 4px rgba(27,121,224,.12);
  background:#fff;
}

/* Pills (factores) */
.page-presupuestos .quote-chip-grid{
  display:grid;
  gap:.55rem;
}

.page-presupuestos .uni-pill{
  position:relative;
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.55rem .75rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#f8fafc;
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .06s ease;
  user-select:none;
}

.page-presupuestos .uni-pill:hover{
  background:#ffffff;
  border-color: rgba(27,121,224,.25);
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.page-presupuestos .uni-pill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.page-presupuestos .uni-mark{
  width:22px;
  height:22px;
  border-radius:999px;
  border:1.5px solid rgba(148,163,184,.7);
  background:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  transition: background .15s ease, border-color .15s ease;
}

.page-presupuestos .uni-mark::after{
  content:"";
  width:10px;
  height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: rotate(-45deg);
  opacity:0;
  margin-top:-1px;
}

.page-presupuestos .uni-text{
  color: var(--ink);
  font-size:.9rem;
  line-height:1.35;
}

/* seleccionado */
.page-presupuestos .uni-pill:has(input:checked){
  background: rgba(27,121,224,.10);
  border-color: rgba(27,121,224,.35);
}

.page-presupuestos .uni-pill:has(input:checked) .uni-mark{
  background: var(--accent);
  border-color: var(--accent);
}

.page-presupuestos .uni-pill:has(input:checked) .uni-mark::after{
  opacity:1;
}

/* CTA */
.page-presupuestos .quote-field--cta{
  margin-top: 1.25rem;
}

.page-presupuestos .quote-btn-primary{
  width:100%;
  border:0;
  border-radius:999px;
  padding:.95rem 1.1rem;
  font-weight:700;
  font-size:1rem;
  color:#fff;
  cursor:pointer;
  background: linear-gradient(180deg, rgba(27,121,224,1) 0%, rgba(16,101,205,1) 100%);
  box-shadow: 0 16px 36px rgba(27,121,224,.25);
  transition: transform .08s ease, box-shadow .15s ease, filter .15s ease;
}

.page-presupuestos .quote-btn-primary:hover{
  filter: brightness(1.02);
  box-shadow: 0 18px 44px rgba(27,121,224,.30);
}

.page-presupuestos .quote-btn-primary:active{
  transform: translateY(1px);
}

/* Summary card */
.page-presupuestos .quote-summary-card{
  width:100%;
  max-width: 360px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.2rem 1.2rem 1.05rem;
  box-shadow: 0 18px 44px rgba(15,23,42,.10);
}

@media (min-width: 980px){
  .page-presupuestos .quote-summary-card{
    position: sticky;
    top: 110px; /* ajustá si tu header tapa */
  }
}

.page-presupuestos .quote-result-title{
  margin:0 0 .8rem;
  font-size:.9rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--ink);
}

.page-presupuestos .quote-value{
  margin:.2rem 0 0;
  color: var(--ink);
  font-weight:600;
}

.page-presupuestos .quote-number{
  margin:.15rem 0 .55rem;
  font-size: 2.15rem;
  font-weight:800;
  color: var(--accent);
}

.page-presupuestos .quote-separator{
  height:1px;
  background: rgba(229,234,242,.95);
  margin: .9rem 0;
}

.page-presupuestos .quote-note{
  margin:.75rem 0 0;
  color: var(--ink-soft);
  font-size:.85rem;
  line-height:1.55;
}

.page-presupuestos .quote-footnote{
  margin:.6rem 0 0;
  color: var(--ink-soft);
  font-size:.82rem;
}

.page-presupuestos .quote-disclaimer--inside{
  margin: 1.05rem 0 0;
  font-size:.78rem;
  color: var(--ink-soft);
  max-width: 80ch;
}
/* --- FIX: padding interior de la card grande --- */
.page-presupuestos .quote-card--split{
  padding: 44px 48px 38px;
}

@media (max-width: 720px){
  .page-presupuestos .quote-card--split{
    padding: 26px 22px 24px;
    border-radius: 22px;
  }
}

/* el split gris no debe tapar contenido, solo fondo */
.page-presupuestos .quote-card--split::after{
  left: 62%;
}

/* --- FIX: el resumen NO va centrado verticalmente --- */
@media (min-width: 980px){
  .page-presupuestos .quote-result-col{
    justify-content: flex-start; /* antes estaba center */
    padding-top: 84px;          /* alinea con la zona de inputs */
  }
}
/* --- FIX: ocultar checkbox nativo (el circulito) --- */
.page-presupuestos .uni-pill > input.uni-item{
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* asegurar que el “check” custom se vea siempre */
.page-presupuestos .uni-mark{
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 auto;
}
:root{ --header-h: 56px; --nav-h: 56px; } /* ajustá 54–60 si querés */
@media (max-width: 760px){ :root{ --nav-h: 52px; --header-h: 52px; } }

.ab-h-row{
  min-height: var(--header-h);
  padding: 0 16px;              /* en vez de 10px arriba/abajo */
  align-items: center;
}

.ab-logo,
.ab-nav a,
.ab-ico,
.ab-burger{
  line-height: 1;               /* mata diferencias de baseline */
}
/* Botón "Contactar" debajo del resumen */
.page-presupuestos .quote-contact-btn{
  display: block;
  width: 100%;
  max-width: 360px;
  margin: 14px auto 0;

  text-align: center;
  text-decoration: none;

  border-radius: 999px;
  padding: .90rem 1.05rem;
  font-weight: 800;
  font-size: .95rem;

  color: var(--accent);               /* #1b79e0 */
  background: #fff;
  border: 1px solid rgba(27,121,224,.35);
  box-shadow: 0 16px 36px rgba(15,23,42,.10);

  transition: transform .08s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.page-presupuestos .quote-contact-btn:hover{
  border-color: rgba(27,121,224,.55);
  box-shadow: 0 18px 44px rgba(15,23,42,.12);
  background: rgba(27,121,224,.03);
}

.page-presupuestos .quote-contact-btn:active{
  transform: translateY(1px);
}
/* Contacto – checklist y textarea alineados con quote styles */
.quote-checklist{
  display:grid;
  gap:10px;
}

.quote-check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(15, 17, 21, .10);
  border-radius:14px;
  background:#fff;
}

.quote-check input{
  width:18px;
  height:18px;
}

.quote-textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(15, 17, 21, .10);
  border-radius:14px;
  background:#fff;
  font: inherit;
  line-height:1.35;
  resize:vertical;
}

.quote-help{
  margin-top:8px;
  font-size:.88rem;
  color: rgba(15, 17, 21, .65);
}
/* =========================================================
   Landing · Segunda pantalla (Qué resolvemos)
   ======================================================= */

.landing-bottom{
  background:#fff;
}

.landing-bottom-inner{
  width:min(1120px, calc(100% - 64px));
  margin:0 auto;
  min-height:100vh;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:48px;
  align-items:center;
  padding: 84px 0;
}

/* Texto izquierda */
.landing-bottom-text{
  max-width: 620px;
}

.lb-kicker{
  font: 600 12px/1 var(--font-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#6b7280;
  margin:0 0 14px;
}

.lb-title{
  font: 800 56px/1.05 var(--font-sans);
  letter-spacing:-.02em;
  color:#0f1115;
  margin:0 0 18px;
}

.lb-body{
  font: 500 16px/1.7 var(--font-sans);
  color:#3a3f49;
  margin:0 0 28px;
  max-width: 610px;
}

.lb-body strong{
  color:#0f1115;
}

.lb-body strong:first-of-type{
  color:#1b79e0;
}

/* Acciones */
.lb-actions{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

/* Botones: izq blanco con borde; der azul (como mock) */
.lb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  text-decoration:none;
  font: 600 14px/1 var(--font-sans);
  letter-spacing:-.01em;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  will-change: transform;
}

.lb-btn-primary{
  background:#fff;
  border:1px solid rgba(27,121,224,.28);
  color:#1b79e0;
  box-shadow: 0 10px 24px rgba(15,17,21,.06);
}

.lb-btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15,17,21,.08);
  border-color: rgba(27,121,224,.42);
}

.lb-btn-ghost{
  background: linear-gradient(180deg, rgba(27,121,224,.96), rgba(12,92,190,.98));
  border:1px solid rgba(27,121,224,.35);
  color:#fff;
  box-shadow: 0 14px 34px rgba(27,121,224,.22);
}

.lb-btn-ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(27,121,224,.26);
}

/* Card derecha (vidrio suave azul) */
.landing-bottom-card{
  position:relative;
  border-radius:24px;
  padding:28px 28px 24px;
  border:1px solid rgba(27,121,224,.18);
  background:
    radial-gradient(120% 140% at 10% 0%,
      rgba(27,121,224,.14) 0%,
      rgba(27,121,224,.06) 45%,
      rgba(255,255,255,1) 100%);
  box-shadow:
    0 22px 58px rgba(15,17,21,.10);
  overflow:hidden;
}

/* brillo lateral leve */
.landing-bottom-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(60% 80% at 85% 30%,
    rgba(27,121,224,.18) 0%,
    rgba(27,121,224,0) 70%);
  pointer-events:none;
}

.lb-card-tag{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  font: 700 12px/1 var(--font-sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff;
  background: linear-gradient(180deg, rgba(27,121,224,1), rgba(12,92,190,1));
  box-shadow: 0 10px 26px rgba(27,121,224,.22);
  margin:0 0 14px;
  position:relative;
  z-index:1;
}

.lb-card-title{
  font: 750 22px/1.2 var(--font-sans);
  color:#0f1115;
  margin:0 0 14px;
  position:relative;
  z-index:1;
}

.lb-card-list{
  list-style:none;
  padding:0;
  margin:0 0 16px;
  display:grid;
  gap:10px;
  position:relative;
  z-index:1;
}

.lb-card-list li{
  position:relative;
  padding-left:18px;
  color:#1f2937;
  font: 500 14px/1.6 var(--font-sans);
}

.lb-card-list li::before{
  content:"+";
  position:absolute;
  left:0;
  top:0;
  color:#1b79e0;
  font-weight:800;
}

.lb-card-foot{
  margin:0;
  color:#334155;
  font: 500 13px/1.6 var(--font-sans);
  position:relative;
  z-index:1;
}

/* Responsive */
@media (max-width: 980px){
  .landing-bottom-inner{
    grid-template-columns: 1fr;
    gap:28px;
    padding: 72px 0;
  }
  .lb-title{ font-size:44px; }
}

@media (max-width: 560px){
  .landing-bottom-inner{
    width:min(1120px, calc(100% - 28px));
  }
  .lb-title{ font-size:38px; }
  .lb-actions{ gap:12px; }
  .lb-btn{ width:100%; }
}
.lb-body strong.aria{
  color:#1b79e0;
}

.lb-body strong.bruta{
  color:#1b79e0;
}
/* =========================
   HEADER · SAFETY LAYOUT
   (solo páginas internas, NO landing)
   ========================= */
body:not(.page-landing) .ab-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

body:not(.page-landing) .ab-h-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

body:not(.page-landing) .ab-nav{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  white-space:nowrap;
}

body:not(.page-landing) .ab-h-right{
  display:flex;
  align-items:center;
  gap:10px;
}


/* Botones superiores páginas internas — mismo tamaño que landing */
body:not(.page-landing) .ab-ico{
  height:30px !important;
  min-width:30px !important;
  padding:0 .32rem !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  border-radius:9px !important;
}
body:not(.page-landing) .ab-ico svg{
  width:14px !important; height:14px !important;
}

/* Centrar nav SOLO en páginas internas (NO landing) */
body:not(.page-landing) .ab-head{ position: relative; }

/* Burger: visible siempre, nav se oculta en mobile */
/* En páginas internas desktop: ocultar burger, mostrar nav */
body:not(.page-landing) .ab-burger{ display: none; }

/* En páginas internas mobile: mostrar burger, ocultar nav */
@media (max-width: 860px){
  body:not(.page-landing) .ab-nav{ display: none !important; }
  body:not(.page-landing) .ab-burger{ display: flex !important; }
}

body:not(.page-landing) .ab-nav{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 320px);
}

/* evita que se pise con el grupo de iconos (solo internas) */
body:not(.page-landing) .ab-h-right{ margin-left: auto; }
/* Nav del header: integrada a la barra, sin bordes ni radios propios */
/* removed old nav block */
/* Quicksand local: Regular + Bold */
@font-face{
  font-family: "Quicksand";
  src: url("../Fonts/quicksand/Quicksand-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "Quicksand";
  src: url("../Fonts/quicksand/Quicksand-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Header: textos en Quicksand Regular */
:root{ --font-header: "Quicksand", var(--font-sans); }

.ab-header{ font-family: var(--font-header); }
.ab-nav a{ font-family: var(--font-header); font-weight: 400; }
.ab-mini nav a{ font-family: var(--font-header); font-weight: 400; }
/* ==========================================
   NAV interna: tabs rectangulares + separadores
   ========================================== */

body:not(.page-landing) .ab-nav{
  display:flex;
  align-items:center;
  gap:0;
  border:none;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
  box-shadow:none;
}

/* Links del nav: texto plano, solo cambia color al hover */
body:not(.page-landing) .ab-nav a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  height: var(--nav-h);
  text-decoration: none;
  font-family: var(--font-header);
  font-size: var(--nav-font);
  font-weight: 500;
  color: var(--ink-soft);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transition: color .15s ease;
}

/* Separador vertical entre links */
body:not(.page-landing) .ab-nav a + a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(15,17,21,.12);
  pointer-events: none;
}

/* Subrayado que emerge del centro */
body:not(.page-landing) .ab-nav a::after {
  content: '';
  position: absolute;
  /* centrado bajo el texto: la barra mide 56px, texto ~14px → baseline ≈ 34px desde arriba */
  bottom: 11px; left: 50%; right: 50%;
  height: 2px; border-radius: 2px;
  background: #1b79e0;
  transition: left .25s cubic-bezier(.4,0,.2,1),
              right .25s cubic-bezier(.4,0,.2,1);
}
body:not(.page-landing) .ab-nav a:hover { color: #1b79e0; background: transparent; box-shadow: none; }
body:not(.page-landing) .ab-nav a:hover::after { left: 16px; right: 16px; }
body:not(.page-landing) .ab-nav a:active { color: #1262b8; background: transparent; transform: none; }
body:not(.page-landing) .ab-nav a:active::after { left: 50%; right: 50%; transition: left .08s, right .08s; }
body:not(.page-landing) .ab-nav a:focus-visible { outline: none; color: #1b79e0; background: transparent; box-shadow: none; }
body:not(.page-landing) .ab-nav a:focus-visible::after { left: 16px; right: 16px; }
/* =========================================================
   Typography system (3 fonts)
   ======================================================= */

html, body{ font-family: var(--font-body); }
button, input, select, textarea{ font-family: var(--font-body); }

h1, h2, h3{ font-family: var(--font-display); }
h4, h5, h6{ font-family: var(--font-body); }

/* Tabs del medio: mismo efecto “azul” que los iconos */
body:not(.page-landing) .ab-nav{
  box-shadow: none;
  transition: none;
}

/* killed duplicate nav hover */

/* killed duplicate nav active */

/* el “halo” azul (igual familia que los iconos) */
/* killed nav box-shadow */

/* borde azul en hover/click */
/* killed nav outline block */

/* contenedor sin borde propio */
body:not(.page-landing) .ab-nav:has(a:hover){ border-color: transparent; }
body:not(.page-landing) .ab-nav:has(a:active){ border-color: transparent; }
/* =========================
   TYPOGRAPHY FIX (final)
   Header+Logo: Quicksand
   Titles: Sora
   Body: Oswald
   ========================= */

/* 1) Asegurar body correcto */
:root{
  --font-body: "Oswald", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-display: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-header: "Quicksand", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-brand: var(--font-header); /* BRAND = HEADER */
}

/* 2) Body */
html, body{
  font-family: var(--font-body) !important;
}

/* 3) Títulos */
h1, h2, h3, .proc-title, .lb-title, .split-title{
  font-family: var(--font-display) !important;
}

/* 4) Header + nav + popovers + mini menu */
.ab-header,
.ab-nav a,
.ab-mini,
.ab-mini nav a,
.ab-pop-card{
  font-family: var(--font-header) !important;
}

/* 5) Logo */
.ab-logo,
.brand, .site-brand, .header-brand, .hdr-brand, .nav-brand{
  font-family: var(--font-brand) !important;
  letter-spacing: 0; /* opcional: más limpio en Quicksand */
}
/* Tabs del medio: texto también azul en hover/active/focus */
body:not(.page-landing) .ab-nav a{
  color: var(--text);
}

/* killed duplicate color/halo overrides */
/* ===== ARIA HERO · Editorial (sin oscurecer la imagen) ===== */
:root{ --aria-accent:#1b79e0; }

.aria-hero{
  position:relative;
  height: calc(100vh - var(--nav-h));
  min-height: 560px;
  overflow:hidden;
}

/* Imagen limpia */
.aria-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  opacity:1;
}

/* Sin oscurecido */
.aria-hero-overlay{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:flex-end;          /* contenido “apoyado” abajo */
  justify-content:flex-start;
  padding: clamp(18px, 3vw, 42px);
  background: transparent;
}

/* Panel blanco vidrio (NO oscurece la imagen) */
.aria-hero-inner{
  width: min(980px, 100%);
  text-align:left;
  color:#0f1115;

  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,17,21,.10);
  border-radius: 22px;
  padding: clamp(18px, 2.4vw, 28px);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow: 0 22px 70px rgba(15,23,42,.18);
}

/* Kicker azul */
.aria-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: var(--aria-accent);
  font-weight:700;
}
.aria-hero-kicker::before{
  content:"";
  width:10px;height:10px;border-radius:999px;
  background: var(--aria-accent);
  box-shadow: 0 10px 22px rgba(27,121,224,.25);
}

/* Título (Sora) */
.aria-hero-title{
  margin:0 0 8px;
  font-size: clamp(34px, 4.3vw, 58px);
  line-height:1.04;
  letter-spacing:-.02em;
  color:#0f1115;
}

/* Sub */
.aria-hero-sub{
  margin:0 0 16px;
  max-width: 70ch;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height:1.55;
  color: rgba(15,17,21,.75);
}

/* Acciones */
.aria-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 0 0 14px;
}

/* Botones con #1b79e0 */
.btn-hero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}

.btn-hero-primary{
  background: linear-gradient(180deg, rgba(27,121,224,1), rgba(16,101,205,1));
  color:#fff;
  border:1px solid rgba(27,121,224,.35);
  box-shadow: 0 16px 40px rgba(27,121,224,.20);
}
.btn-hero-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 52px rgba(27,121,224,.24);
}

.btn-hero-ghost{
  background: rgba(255,255,255,.85);
  color: var(--aria-accent);
  border: 1px solid rgba(27,121,224,.28);
}
.btn-hero-ghost:hover{
  transform: translateY(-1px);
  border-color: rgba(27,121,224,.45);
  box-shadow: 0 14px 34px rgba(15,23,42,.10);
}

/* Cards: claras, pro, con acento */
.aria-hero-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 10px;
}

.aria-hero-card{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(15,17,21,.10);
  border-radius: 16px;
  padding: 12px 12px 11px;
  box-shadow: 0 12px 34px rgba(15,23,42,.10);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.aria-hero-card:hover{
  transform: translateY(-2px);
  border-color: rgba(27,121,224,.30);
  box-shadow: 0 18px 44px rgba(15,23,42,.14);
}

.aria-hero-card-ico{
  width:34px;height:34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(27,121,224,.10);
  border: 1px solid rgba(27,121,224,.20);
  color: var(--aria-accent);
  margin-bottom: 8px;
  font-weight: 800;
}

.aria-hero-card h3{
  margin:0 0 4px;
  font-size: 14px;
  color:#0f1115;
}
.aria-hero-card p{
  margin:0;
  font-size: 13px;
  line-height:1.35;
  color: rgba(15,17,21,.70);
}

/* Responsive */
@media (max-width: 860px){
  .aria-hero-overlay{ align-items:flex-end; }
  .aria-hero-cards{ grid-template-columns: 1fr; }
}
/* ========= HERO · fondo blueprint (liviano) ========= */
.aria-hero--blueprint .aria-hero-media{ display:none !important; }

.aria-hero--blueprint{
  background:
    radial-gradient(900px 520px at 35% 40%, rgba(27,121,224,.14), rgba(27,121,224,0) 60%),
    radial-gradient(700px 420px at 75% 65%, rgba(27,121,224,.10), rgba(27,121,224,0) 62%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  position: relative;
}

/* grid técnico sutil */
.aria-hero--blueprint::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(to right, rgba(15,17,21,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,17,21,.05) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity:.25;
  pointer-events:none;
}

/* micro-grid (más fino) */
.aria-hero--blueprint::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(to right, rgba(27,121,224,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(27,121,224,.10) 1px, transparent 1px);
  background-size: 12px 12px;
  opacity:.05;
  pointer-events:none;
}
/* POPovers: la X no debe “comerse” 42px de alto */
.ab-pop-card{
  padding: 14px 12px 12px;   /* antes 42px arriba */
  padding-right: 46px;       /* reserva lateral para que la X no pise contenido */
}

/* X más compacta */
.ab-pop-x{
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  font-size: 16px;
}

/* Input un toque más bajo (opcional, pero ayuda) */
.ab-input{
  padding: .62rem .82rem;
}
/* ===== ARIA HERO · FORCE CENTER (override final) ===== */
.aria-hero-overlay{
  display: grid !important;
  place-items: center !important;
  justify-items: center !important;
  align-items: center !important;
  padding: clamp(18px, 3vw, 42px) !important;
}

.aria-hero-inner{
  margin-inline: auto !important;   /* ✅ esto es lo que te faltaba para centrar SIEMPRE */
  text-align: center !important;
}
/* ===== ARIA HERO · Panel más fino (override final) ===== */
.aria-hero-inner{
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(15,17,21,.10) !important;
  box-shadow: 0 20px 60px rgba(15,23,42,.12) !important;
}
/* ===== ARIA HERO · Botones (override final) ===== */
.btn-hero-primary{
  background: linear-gradient(180deg, rgba(27,121,224,1), rgba(16,101,205,1)) !important;
  border-color: rgba(27,121,224,.35) !important;
  color:#fff !important;
  box-shadow: 0 16px 40px rgba(27,121,224,.22) !important;
}

.btn-hero-ghost{
  background: rgba(255,255,255,.92) !important;
  color: #1b79e0 !important;
  border-color: rgba(27,121,224,.25) !important;
}
/* =========================
   ARIA HERO · Center hard + blueprint balanced
   (override final)
   ========================= */

/* 1) Centro real (sin sesgo por padding) */
.aria-hero-overlay{
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: grid !important;
  place-items: center !important;
}

.aria-hero-inner{
  width: min(980px, calc(100% - 64px)) !important; /* respeta márgenes */
  margin-inline: auto !important;
  text-align: center !important;
}

/* 2) Fondo blueprint SIMÉTRICO (el glow ya no empuja a la derecha) */
.aria-hero--blueprint{
  background:
    radial-gradient(900px 520px at 50% 55%, rgba(27,121,224,.16), rgba(27,121,224,0) 60%),
    radial-gradient(700px 420px at 20% 25%, rgba(27,121,224,.08), rgba(27,121,224,0) 65%),
    radial-gradient(700px 420px at 80% 25%, rgba(27,121,224,.08), rgba(27,121,224,0) 65%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
}
/* ===== POP LANG: siempre en fila (no vertical) ===== */
#pop-lang .ab-pop-card{
  width: 320px;                 /* más ancho para que entren 2 pills */
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;            /* clave: no wrap */
  gap: 10px;
  align-items: center;

  /* mantiene la X sin agrandar alto */
  padding: 12px 46px 12px 12px;
}

#pop-lang .ab-pill{
  margin: 0;
  display: inline-flex;         /* que se comporten como chips */
  white-space: nowrap;          /* no cortar “ES · Español” */
}

/* en pantallas chicas sí permitimos apilar */
@media (max-width: 380px){
  #pop-lang .ab-pop-card{
    width: calc(100vw - 24px);
    flex-wrap: wrap;
  }
}
/* =========================================================
   ARIA HERO · TRUE CENTER (definitivo)
   ======================================================= */

/* hero: ocupa viewport menos header */
.aria-hero{
  position: relative;
  height: calc(100vh - var(--nav-h, 56px));
  min-height: 560px;
  overflow: hidden;
}
@media (max-width: 860px){
  .aria-hero{
    height: calc(100svh - var(--nav-h, 52px));
    min-height: 480px;
    overflow: hidden;
  }
}

/* overlay ocupa todo el hero */
.aria-hero-overlay{
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* mega-card centrada REAL (no “parece”, ES) */
.aria-hero-inner{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: min(980px, calc(100vw - 64px)) !important;
  margin: 0 !important;

  text-align: center !important;
}

/* =========================================================
   ARIA HERO · Fondo con imagen (hero-aria.jpg)
   Ocupa todo el viewport salvo la barra superior
   ======================================================= */

/* Capa de fondo (imagen) */
.aria-hero .aria-hero-bg{
  position: absolute;
  inset: 0;
  background: url('/static/img/hero-aria.jpg') center/cover no-repeat;
  pointer-events: none;
  z-index: 0;
}

/* Apaga el “blueprint” cuando usamos foto de fondo */
.aria-hero--blueprint{
  background: none !important;
}
.aria-hero--blueprint::before,
.aria-hero--blueprint::after{
  display: none !important;
}

/* Asegura el layering del contenido sobre la imagen */
.aria-hero-overlay{ z-index: 2 !important; }
/* =========================================================
   ARIA HERO · Glass tuning (más transparente)
   ======================================================= */

/* Mega-card (panel principal) */
.aria-hero-inner{
  background: rgba(255,255,255,.72) !important; /* antes ~0.86 */
  border-color: rgba(255,255,255,.32) !important;
  box-shadow: 0 26px 90px rgba(15,23,42,.20) !important;

  backdrop-filter: blur(14px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
}
/* ===== ARIA HERO · GLASS que deja ver el fondo (FIX) ===== */
.aria-hero-inner{
  background: rgba(255,255,255,.30) !important;
  border-color: rgba(255,255,255,.30) !important;

  /* clave: menos blur para que se vean líneas/imagen */
  backdrop-filter: blur(6px) saturate(115%) contrast(1.03) !important;
  -webkit-backdrop-filter: blur(4px) saturate(115%) contrast(1.03) !important;

  box-shadow: 0 26px 90px rgba(15,23,42,.18) !important;
}
/* ===== ARIA HERO · Transparencia REAL (sin blur) ===== */
.aria-hero-inner{
  background: rgba(255,255,255,.62) !important;   /* transparencia real */
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 26px 90px rgba(15,23,42,.18) !important;

  /* clave: NO frosted glass */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* mini-cards dentro del hero */
.aria-hero-card{
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(255,255,255,.30) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* ===== ARIA HERO · Mini-cards transparentes (FORCE) ===== */
.aria-hero .aria-hero-card{
  background: rgba(255,255,255,.45) !important;
  border-color: rgba(255,255,255,.26) !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  box-shadow: 0 16px 44px rgba(15,23,42,.10) !important;
}

.aria-hero .aria-hero-card:hover{
  background: rgba(255,255,255,.62) !important;
  border-color: rgba(255,255,255,.34) !important;
}
.aria-hero-inner{
  box-shadow:
    0 26px 90px rgba(15,23,42,.18),
    inset 0 0 0 1px rgba(255,255,255,.35) !important;
}
.aria-hero-title{
  text-shadow: 0 10px 28px rgba(15,23,42,.08) !important;
}
/* ===== ARIA HERO · Centrado real del kicker (ARIA STUDIO) ===== */
.aria-hero-kicker{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin: 0 auto 10px !important;
  gap: 8px !important;
}
/* ===== ARIA HERO · Centrar subtítulo (la frase gris) ===== */
.aria-hero-sub{
  margin: 0 auto 16px !important;   /* clave: centra el bloque con max-width */
  text-align: center !important;    /* asegura centrado del texto */
  max-width: 72ch !important;
}
/* ===== ARIA HERO · Subtítulo en 1 línea (desktop) ===== */
.aria-hero-sub{
  max-width: none !important;      /* clave: no te lo achiques a 72ch */
}

@media (min-width: 900px){
  .aria-hero-sub{
    white-space: nowrap !important; /* fuerza 1 línea */
  }
}

@media (max-width: 899px){
  .aria-hero-sub{
    white-space: normal !important; /* en mobile puede partir */
  }
}
/* ===== LANDING SPLIT · Glow azul cuando hover en todo el panel ===== */

/* Mantengo el scale del botón, pero cambio el glow negro por azul */
/* split-panel overrides moved to base styles */
/* landing split-hero bg overrides consolidated above */
/* ====== HACER QUE SE VEA MÁS EL FONDO ====== */

/* 1) Subo un poco la fuerza de la foto */
body.page-landing .split-hero::before{
  filter: contrast(1.12) saturate(1.08) brightness(0.98);
}

/* 2) Aria: menos “blanco tapando” (antes .88) */
body.page-landing .split-a{
  background: rgba(255,255,255,.60) !important; /* probá .70 / .65 si querés más */
}

/* 3) Bruta: menos azul tapando (antes .65/.75) */
body.page-landing .split-b{
  background: linear-gradient(
    180deg,
    rgba(27,121,224,.70),
    rgba(12,92,190,.80)
  ) !important; /* probá .40/.50 si querés más */
}

/* 4) Para que el texto siga legible */
body.page-landing .split-b h1,
body.page-landing .split-b p,
body.page-landing .split-b .kicker{
  text-shadow: 0 6px 24px rgba(0,0,0,.25);
}
/* =========================
   FIX: fondo negro
   ========================= */

/* 1) Si el negro viene del body/html */
html, body{
  background: #fff !important;
}

/* 2) Si el negro viene del hero (overlays/pseudo-elementos) */
.ab-hero{
  background: transparent !important;
  position: relative;          /* por si no estaba */
  overflow: hidden;            /* para recortar la imagen */
}

.ab-hero::before,
.ab-hero::after{
  background: transparent !important;
  filter: none !important;
  opacity: 1 !important;
}

/* 3) Si tu imagen está como <div class="ab-hero-bg"><img ...></div> */
.ab-hero-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ab-hero-bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 4) Asegura que el contenido quede arriba de la imagen */
.ab-hero > *{
  position: relative;
  z-index: 2;
}
/* ===== JS stage switch (sin salto de scroll) ===== */

/* Mostrar bloque según data-stage */
.proc-wrap[data-stage="alineacion"]   .stage-alineacion,
.proc-wrap[data-stage="planificacion"] .stage-planificacion,
.proc-wrap[data-stage="produccion"]    .stage-produccion,
.proc-wrap[data-stage="revision"]      .stage-revision,
.proc-wrap[data-stage="entrega"]       .stage-entrega{
  display: grid;
}

/* Mostrar caption según data-stage */
.proc-wrap[data-stage="alineacion"]   .tcap-alineacion,
.proc-wrap[data-stage="planificacion"] .tcap-planificacion,
.proc-wrap[data-stage="produccion"]    .tcap-produccion,
.proc-wrap[data-stage="revision"]      .tcap-revision,
.proc-wrap[data-stage="entrega"]       .tcap-entrega{
  display: block;
}

/* Estilo “activo” del paso según data-stage */
.proc-wrap[data-stage="alineacion"]   .tstep[href="#alineacion"]:not(.is-clone),
.proc-wrap[data-stage="planificacion"] .tstep[href="#planificacion"]:not(.is-clone),
.proc-wrap[data-stage="produccion"]    .tstep[href="#produccion"]:not(.is-clone),
.proc-wrap[data-stage="revision"]      .tstep[href="#revision"]:not(.is-clone),
.proc-wrap[data-stage="entrega"]       .tstep[href="#entrega"]:not(.is-clone){
  border-color: rgba(27,121,224,.30);
  box-shadow: 0 20px 48px rgba(27,121,224,.14);
}
.proc-wrap[data-stage="alineacion"]   .tstep[href="#alineacion"]:not(.is-clone) .tstep-bubble,
.proc-wrap[data-stage="planificacion"] .tstep[href="#planificacion"]:not(.is-clone) .tstep-bubble,
.proc-wrap[data-stage="produccion"]    .tstep[href="#produccion"]:not(.is-clone) .tstep-bubble,
.proc-wrap[data-stage="revision"]      .tstep[href="#revision"]:not(.is-clone) .tstep-bubble,
.proc-wrap[data-stage="entrega"]       .tstep[href="#entrega"]:not(.is-clone) .tstep-bubble{
  border-color: rgba(27,121,224,.40);
  background: rgba(27,121,224,.10);
  color: rgba(15,23,42,.88);
}
/* Contacto: bullets prolijos dentro del panel derecho */
.page-contacto .quote-bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: .95rem;
  line-height: 1.45;
}
.page-contacto .quote-bullets li{ margin: 6px 0; }

/* =========================================================
   A|B · Split premium (Presupuestos + Contacto) — mismo look
   ========================================================= */

/* Card grande: sin sombras */
.page-presupuestos .quote-card--aria.quote-card--split,
.page-contacto .quote-card--aria.quote-card--split{
  box-shadow: none !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  background: #fff !important;
}

/* Apaga el split gris viejo (::after) que ensucia el header */
.page-presupuestos .quote-card--aria.quote-card--split::after,
.page-contacto .quote-card--aria.quote-card--split::after{
  content: none !important;
}

/* Panel derecho REAL (gris + borde + padding), alineado arriba */
@media (min-width: 980px){
  .page-presupuestos .quote-result-col,
  .page-contacto .quote-result-col{
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start !important;
    align-items: stretch !important;

    background: var(--soft);
    border: 1px solid rgba(229,234,242,.95);
    border-radius: 22px;
    padding: 22px;
    gap: 14px;
  }
}

/* El “resumen” deja de ser una card flotante */
.page-presupuestos .quote-summary-card,
.page-contacto .quote-summary-card{
  width: 100% !important;
  max-width: none !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  padding: 0 !important;
  position: static !important; /* saca sticky */
}

/* Detalles finos */
.page-presupuestos .quote-result-title,
.page-contacto .quote-result-title{ margin: 0 0 10px; }

.page-presupuestos .quote-separator,
.page-contacto .quote-separator{ margin: 12px 0; }

.page-presupuestos .quote-number,
.page-contacto .quote-number{
  margin: 4px 0 10px;
  line-height: 1.05;
}

/* Botón de contactar (solo presupuestos) sin sombra */
.page-presupuestos .quote-contact-btn{
  width: 100% !important;
  box-shadow: none !important;
}
.page-contacto .quote-bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: .95rem;
  line-height: 1.45;
}
.page-contacto .quote-bullets li{ margin: 6px 0; }

.ab-footer{
  border-top: none !important;
}

.ab-footer__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ab-footer__nav{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.ab-footer__link{
  color: rgba(15,23,42,.72);
  text-decoration: none;
  font-weight: 700;
}

.ab-footer__link:hover{
  color: rgba(15,23,42,.95);
}

.ab-footer__link.is-disabled{
  opacity: .45;
  pointer-events: none;
}
/* ===== Footer global (Tesla-like) ===== */
html, body{
  min-height: 100%;
}

body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.ab-main{
  flex: 1;
}

.ab-footer{
  background:#fff;
  border-top:1px solid rgba(15,23,42,.08);
  padding:18px 0;
}

.ab-footer__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;

  font-size:12px;
  color:rgba(15,23,42,.55);
}

/* ✅ Brand + año juntos */
.ab-footer__brand{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  white-space:nowrap;
  flex:0 0 auto;
  width:auto;
  justify-content:flex-start;
}

.ab-footer__nav{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:center;
}

.ab-footer__link{
  color:rgba(15,23,42,.55);
  text-decoration:none;
}
.ab-footer__link:hover{
  color:rgba(15,23,42,.85);
  text-decoration:underline;
  text-underline-offset:3px;
}

.ab-footer__wordmark{
  font-family:"Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:400;
  letter-spacing:.02em;
}
.ab-footer__meta{
  font-weight:600;
  opacity:.75;
  margin-left:0 !important; /* por si algún rule escondido lo empuja */
}

/* Brand + año juntos (sin separarse) */
.ab-footer__brand{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;          /* ajustá 6–10px */
  white-space: nowrap;
  flex: 0 0 auto;    /* clave: no se estira */
}

/* Si tenías algo así, ES lo que lo separa: */
.ab-footer__brand{
  justify-content: flex-start; /* NO space-between */
  width: auto;                /* NO 100% */
}

.ab-footer__wordmark{
  font-family: "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 400;   /* Regular */
  letter-spacing: .02em;
  text-transform: none;
}

.ab-footer__meta{
  font-family: inherit; /* se queda con la fuente normal del sitio */
  font-weight: 600;
  opacity: .75;
}
/* =========================================================
   MOBILE MASTER FIX — goes at the very end to win cascade
   ========================================================= */
@media (max-width: 860px){

  /* ARIA HERO: undo all fixed-height + absolute positioning */
  .aria-hero,
  .aria-hero.aria-hero--blueprint{
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 80px 0 32px !important;
  }

  .aria-hero-overlay{
    position: relative !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 16px !important;
  }

  .aria-hero-inner{
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .aria-hero-bg{
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .aria-hero-overlay{ z-index: 2 !important; }

  .aria-hero-cards{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .aria-hero-title{
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  .aria-hero-sub{
    font-size: 14px !important;
  }
}