:root {
      --fondo: #F4F1EC;
      --gris-claro: #D8D6D2;
      --grafito: #2F3133;
      --celeste: #B6DDE0;
      --carbon: #16181B;
      --blanco: #FFFFFF;
      --texto-suave: #686A6C;
      --linea: rgba(47,49,51,.14);
      --sombra: 0 24px 70px rgba(22,24,27,.12);
      --max: 1180px;
      --radius: 0px;
      --transition: .28s ease;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Montserrat', sans-serif;
      background: var(--fondo);
      color: var(--grafito);
      overflow-x: hidden;
      line-height: 1.65;
    }

    img { display: block; width: 100%; height: auto; }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }

    .container {
      width: 100%;
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 24px;
    }

    .section { padding: 104px 0; }
    .section-small { padding: 72px 0; }
    .process-section { padding-top: 20px; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--grafito);
      margin-bottom: 18px;
    }

    .eyebrow::before {
      content: '';
      width: 42px;
      height: 1px;
      background: var(--celeste);
      display: inline-block;
    }

    .title {
      font-size: clamp(2rem, 4vw, 3.55rem);
      line-height: 1.05;
      font-weight: 700;
      letter-spacing: -.055em;
      color: var(--carbon);
      margin-bottom: 12px;
    }

    .subtitle {
      font-size: clamp(1rem, 1.35vw, 1.12rem);
      color: var(--texto-suave);
      max-width: 680px;
      font-weight: 400;
    }

    .accent { color: var(--celeste); }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 42px;
      padding: 13px 24px;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      border: 1px solid transparent;
      cursor: pointer;
      transition: var(--transition);
      white-space: nowrap;
    }

    .btn-primary {
      background: var(--carbon);
      color: var(--blanco);
      border-color: var(--carbon);
    }

    .btn-primary:hover { background: var(--celeste); border-color: var(--celeste); color: var(--carbon); }
    .header .btn { margin-left: 4px; padding-left: 20px; padding-right: 20px; }

    .btn-secondary {
      background: transparent;
      color: var(--carbon);
      border-color: var(--carbon);
    }

    .btn-secondary:hover { background: var(--carbon); color: var(--blanco); }

    .btn-light {
      background: var(--blanco);
      color: var(--carbon);
      border-color: var(--blanco);
    }

    .btn-light:hover { background: var(--celeste); border-color: var(--celeste); }

    /* HEADER */
    .header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      background: rgba(244,241,236,.86);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(47,49,51,.10);
      transition: var(--transition);
    }

    .header.scrolled { box-shadow: 0 10px 40px rgba(22,24,27,.08); }

    .header-inner {
      max-width: 1260px;
      margin: 0 auto;
      padding: 0 24px;
      height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 9px;
      font-weight: 800;
      letter-spacing: .02em;
      color: var(--carbon);
      flex: 0 0 auto;
      min-width: 245px;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      border: 2px solid var(--carbon);
      display: grid;
      place-items: center;
      position: relative;
      background: var(--fondo);
    }

    .brand-mark::after {
      content: '';
      width: 16px;
      height: 16px;
      background: var(--celeste);
      position: absolute;
      right: -8px;
      bottom: -8px;
      z-index: -1;
    }

    .brand-mark span { font-size: .9rem; font-weight: 800; }

    .brand-symbol {
      width: 42px;
      height: 42px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
    }

    .brand-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      font-size: 1.05rem;
      line-height: 1.05;
      font-weight: 800;
      letter-spacing: .02em;
      color: #16181B;
      white-space: nowrap;
    }

    .brand-text small {
      display: block;
      font-size: .62rem;
      line-height: 1;
      letter-spacing: .34em;
      font-weight: 700;
      color: #686A6C;
      margin-top: 8px;
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 24px;
      margin-left: auto;
    }

    .nav a {
      font-size: .74rem;
      font-weight: 700;
      letter-spacing: .065em;
      text-transform: uppercase;
      color: var(--grafito);
      position: relative;
      white-space: nowrap;
    }

    .nav a::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -6px;
      width: 0;
      height: 2px;
      background: var(--celeste);
      transition: var(--transition);
    }

    .nav a:hover::after { width: 100%; }

    .hamburger {
      display: none;
      width: 42px;
      height: 42px;
      border: 1px solid var(--carbon);
      background: transparent;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
    }

    .hamburger span {
      width: 20px;
      height: 2px;
      background: var(--carbon);
      transition: var(--transition);
    }

    .hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.active span:nth-child(2) { opacity: 0; }
    .hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .mobile-menu {
      display: none;
      background: var(--fondo);
      border-top: 1px solid var(--linea);
      padding: 18px 24px 28px;
    }

    .mobile-menu.open { display: block; }
    .mobile-menu a { display: block; padding: 13px 0; font-weight: 700; font-size: .88rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid rgba(47,49,51,.10); }
    .mobile-menu .btn { margin-top: 18px; width: 100%; }

    /* HERO */
    .hero {
      min-height: 100vh;
      padding-top: 76px;
      display: flex;
      align-items: center;
      background:
        linear-gradient(90deg, rgba(244,241,236,.93) 0%, rgba(244,241,236,.88) 30%, rgba(244,241,236,.52) 44%, rgba(244,241,236,.12) 58%, rgba(244,241,236,0) 68%),
        url('../img/hero-concreto-crea-user.png') center right / cover no-repeat;
    }

    .hero-content {
      width: 100%;
      display: flex;
      align-items: center;
      padding: 80px 24px 80px clamp(24px, 6vw, 82px);
    }

    .hero-box {
      max-width: 700px;
      width: min(100%, 640px);
    }

    .hero h1 {
      font-size: clamp(2.45rem, 5.8vw, 5.9rem);
      line-height: .93;
      letter-spacing: -.075em;
      font-weight: 800;
      color: var(--carbon);
      margin-bottom: 28px;
    }

    .hero h1 span { display: block; }

    .hero p {
      max-width: 600px;
      color: #55585A;
      font-size: clamp(1rem, 1.5vw, 1.16rem);
      line-height: 1.8;
      margin-bottom: 34px;
    }

    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

    /* TRUST BAR */
    .trust {
      background: var(--carbon);
      color: var(--blanco);
      border-top: 1px solid rgba(255,255,255,.10);
      border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .trust-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
    }

    .trust-item {
      padding: 30px 32px;
      border-right: 1px solid rgba(255,255,255,.12);
    }

    .trust-item:last-child { border-right: none; }
    .trust-item span { color: var(--celeste); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    .trust-item h3 { font-size: 1.08rem; margin: 8px 0 4px; color: var(--blanco); }
    .trust-item p { font-size: .86rem; color: rgba(255,255,255,.62); line-height: 1.55; }

    /* SERVICES */
    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 34px;
      margin-bottom: 46px;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--linea);
      border-left: 1px solid var(--linea);
    }

    .service-card {
      min-height: 255px;
      padding: 34px;
      border-right: 1px solid var(--linea);
      border-bottom: 1px solid var(--linea);
      background: rgba(255,255,255,.22);
      transition: var(--transition);
      position: relative;
      overflow: hidden;
    }

    .service-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 4px;
      background: var(--celeste);
      transition: var(--transition);
    }

    .service-card:hover { background: rgba(255,255,255,.62); transform: translateY(-4px); box-shadow: 0 18px 50px rgba(22,24,27,.08); }
    .service-card:hover::before { width: 100%; }

    .service-number { font-size: .78rem; font-weight: 800; color: var(--celeste); letter-spacing: .12em; }
    .service-card h3 { font-size: 1.22rem; line-height: 1.25; color: var(--carbon); margin: 22px 0 14px; }
    .service-card p { font-size: .92rem; color: var(--texto-suave); }


    /* SERVICES POSITION ADJUSTMENT */
    #servicios { padding-top: 72px; }

    /* MATERIALIDAD */
    .materialidad {
      position: relative;
      min-height: 540px;
      display: flex;
      align-items: center;
      background:
        linear-gradient(90deg, rgba(22,24,27,.92), rgba(22,24,27,.70), rgba(22,24,27,.36)),
        url('https://images.unsplash.com/photo-1534237710431-e2fc698436d0?auto=format&fit=crop&w=1800&q=85') center / cover no-repeat;
      color: var(--blanco);
    }

    .materialidad::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 70px 70px;
      opacity: .26;
      pointer-events: none;
    }

    .materialidad-content { position: relative; z-index: 1; max-width: 720px; }
    .materialidad .eyebrow { color: var(--blanco); }
    .materialidad .title { color: var(--blanco); }
    .materialidad .subtitle { color: rgba(255,255,255,.76); margin-bottom: 30px; }

    /* CLARITY */
    .clarity { background: #ECE9E4; }
    .clarity-grid {
      display: grid;
      grid-template-columns: .88fr 1.12fr;
      gap: 58px;
      align-items: start;
    }

    .clarity-panel {
      background: var(--carbon);
      color: var(--blanco);
      padding: 42px;
      position: sticky;
      top: 100px;
    }

    .clarity-panel h2 { color: var(--blanco); font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.08; letter-spacing: -.055em; margin-bottom: 20px; }
    .clarity-panel p { color: rgba(255,255,255,.72); }

    .clarity-list {
      display: grid;
      gap: 16px;
    }

    .clarity-item {
      background: rgba(255,255,255,.56);
      padding: 26px 28px;
      border: 1px solid rgba(47,49,51,.12);
      display: grid;
      grid-template-columns: 58px 1fr;
      gap: 8px;
      align-items: start;
    }

    .clarity-item span {
      width: 58px;
      height: 58px;
      background: var(--celeste);
      display: grid;
      place-items: center;
      color: var(--carbon);
      font-weight: 800;
    }

    .clarity-item h3 { color: var(--carbon); margin-bottom: 4px; font-size: 1.04rem; }
    .clarity-item p { color: var(--texto-suave); font-size: .92rem; }

    /* PROCESS */
    .process-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 0;
      border-left: 1px solid var(--linea);
      border-top: 1px solid var(--linea);
      margin-top: 20px;
    }

    .process-step {
      padding: 22px 20px 26px;
      min-height: 205px;
      border-right: 1px solid var(--linea);
      border-bottom: 1px solid var(--linea);
      background: rgba(255,255,255,.18);
    }

    .process-step strong { display: block; color: var(--celeste); font-size: 2rem; letter-spacing: -.05em; line-height: 1; margin-bottom: 18px; }
    .process-step h3 { color: var(--carbon); font-size: .98rem; line-height: 1.3; margin-bottom: 10px; }
    .process-step p { color: var(--texto-suave); font-size: .82rem; line-height: 1.55; }

    /* PROJECTS */
    .projects { background: var(--carbon); color: var(--blanco); padding-top: 64px; scroll-margin-top: 76px; }
    .projects .title { color: var(--blanco); }
    .projects .subtitle { color: rgba(255,255,255,.65); }
    .projects .eyebrow { color: var(--blanco); }

    .project-grid {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 20px;
      margin-top: 46px;
    }

    .project-card {
      min-height: 430px;
      position: relative;
      overflow: hidden;
      background: var(--gris-claro);
    }

    .project-card.small { min-height: 205px; }
    .project-stack { display: grid; gap: 20px; }

    .project-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      inset: 0;
      transition: transform .7s ease;
      filter: grayscale(10%);
    }

    .project-card:hover img { transform: scale(1.045); }

    .project-card::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.76));
    }

    .project-info {
      position: absolute;
      left: 26px;
      right: 26px;
      bottom: 24px;
      z-index: 2;
    }

    .project-info span { color: var(--celeste); font-weight: 800; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
    .project-info h3 { font-size: 1.35rem; margin-top: 6px; color: var(--blanco); }

    /* ABOUT */

    .about-section {
      padding: 54px 0 72px;
      scroll-margin-top: 76px;
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: start;
    }

    .about-visual {
      min-height: 460px;
      position: relative;
      overflow: visible;
      background: var(--gris-claro);
      box-shadow: 0 18px 48px rgba(22,24,27,.10);
    }

    .about-slider {
      position: absolute;
      inset: 0;
      overflow: hidden;
      background: var(--gris-claro);
    }

    .about-slide {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: 0;
      transform: scale(1.02);
      animation: aboutSlider 10s infinite;
    }

    .about-slide:nth-child(1) { animation-delay: 0s; }
    .about-slide:nth-child(2) { animation-delay: 5s; }

    .about-slider::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(22,24,27,.03), rgba(22,24,27,.14));
      pointer-events: none;
      z-index: 2;
    }

    @keyframes aboutSlider {
      0% { opacity: 0; transform: scale(1.02); }
      8% { opacity: 1; transform: scale(1); }
      48% { opacity: 1; transform: scale(1); }
      58% { opacity: 0; transform: scale(1.02); }
      100% { opacity: 0; transform: scale(1.02); }
    }

    .about-logo-badge {
      position: absolute;
      left: -22px;
      bottom: -22px;
      width: 156px;
      height: 156px;
      background: var(--blanco);
      border: 1px solid rgba(47,49,51,.10);
      display: grid;
      place-items: center;
      padding: 16px;
      z-index: 4;
      box-shadow: 0 18px 42px rgba(22,24,27,.14);
    }

    .about-logo-badge img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

    .about-content p { color: var(--texto-suave); margin-bottom: 18px; }


    /* Ajuste título sección Nosotros */
    #nosotros .about-content .title {
      font-size: clamp(1.65rem, 2.6vw, 2.35rem);
      line-height: 1.12;
      letter-spacing: -.04em;
      max-width: 560px;
    }
/* TEAM */
    .team {
      background: #ECE9E4;
      padding-top: 54px;
    }

    #equipo .section-head {
      margin-bottom: 24px;
    }

    #equipo .title {
      margin-bottom: 12px;
    }

    .team-showcase {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 22px;
      align-items: start;
      margin-top: 18px;
    }

    .team-copy-card {
      background: var(--carbon);
      color: var(--blanco);
      padding: 30px 32px;
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 18px;
    }

    .team-copy-card span {
      color: var(--celeste);
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: 18px;
      display: inline-block;
    }

    .team-copy-card h3 {
      color: var(--blanco);
      font-size: clamp(1.45rem, 2.2vw, 2.3rem);
      line-height: 1.08;
      letter-spacing: -.045em;
      margin-bottom: 18px;
    }

    .team-copy-card p { color: rgba(255,255,255,.70); font-size: .92rem; line-height: 1.56; }

    .team-photo-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      align-items: start;
    }

    .team-photo-card {
      background: #F4F1EC;
      border: 1px solid var(--linea);
      position: relative;
      overflow: hidden;
      display: block;
      padding: 0;
    }

    .team-photo-card img {
      position: static;
      width: 100%;
      height: auto;
      display: block;
      background: #F4F1EC;
    }

    .team-photo-card::before {
      content: '';
      position: absolute;
      inset: auto 0 0 0;
      height: 34%;
      background: linear-gradient(180deg, rgba(16,18,20,0) 0%, rgba(16,18,20,.22) 100%);
      z-index: 1;
      pointer-events: none;
    }

    .team-photo-card::after {
      content: '';
      display: none;
    }

    .team-photo-card strong {
      position: absolute;
      left: 10px;
      bottom: 10px;
      z-index: 2;
      color: var(--blanco);
      font-size: .58rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      background: rgba(16,18,20,.58);
      padding: 6px 8px;
      margin: 0;
    }

    .team-photo-card.large { grid-row: auto; min-height: 0; }

    #equipo { padding-top: 28px; padding-bottom: 34px; }
    #equipo .section-head { margin-bottom: 12px; }
    #equipo .title { font-size: clamp(1.45rem, 2.5vw, 2.2rem); margin-bottom: 6px; line-height: 1.08; }
    #equipo .subtitle { font-size: .84rem; line-height: 1.42; max-width: 560px; }


    /* AJUSTE FINAL: PROYECTOS Y EQUIPO */
    .projects {
      padding: 54px 0 62px;
      scroll-margin-top: 76px;
    }

    .projects .section-head {
      margin-bottom: 24px;
    }

    .projects .title {
      font-size: clamp(1.75rem, 3.2vw, 2.85rem);
      margin-bottom: 10px;
    }

    .projects .subtitle {
      font-size: .94rem;
      line-height: 1.55;
      max-width: 680px;
    }

    .project-grid {
      margin-top: 24px;
      gap: 16px;
    }

    .project-card {
      min-height: 315px;
    }

    .project-card.small {
      min-height: 149px;
    }

    .project-stack {
      gap: 16px;
    }

    .project-info {
      left: 20px;
      right: 20px;
      bottom: 18px;
    }

    .project-info h3 {
      font-size: 1.08rem;
    }

    #equipo {
      padding: 42px 0 72px;
      scroll-margin-top: 76px;
    }

    #equipo .section-head {
      margin-bottom: 14px;
    }

    #equipo .title {
      font-size: clamp(1.75rem, 2.9vw, 2.65rem);
      line-height: 1.06;
      margin-bottom: 8px;
    }

    #equipo .subtitle {
      font-size: .92rem;
      line-height: 1.5;
      max-width: 620px;
    }

    .team-showcase {
      margin-top: 10px;
      gap: 16px;
    }

    .team-copy-card {
      min-height: 280px;
      padding: 26px 28px;
      gap: 12px;
    }

    .team-copy-card span {
      font-size: .56rem;
      margin-bottom: 8px;
    }

    .team-copy-card h3 {
      font-size: clamp(1.18rem, 1.85vw, 1.75rem);
      line-height: 1.08;
      margin-bottom: 10px;
    }

    .team-copy-card p {
      font-size: .86rem;
      line-height: 1.5;
    }

    .team-photo-grid {
      gap: 14px;
    }

    .team-photo-card {
      min-height: 135px;
      padding: 14px;
    }

    .team-photo-card.large {
      min-height: 284px;
    }

    .team-photo-card::after {
      width: 26px;
      height: 26px;
      top: 10px;
      right: 10px;
      font-size: .85rem;
    }

    .team-photo-card strong {
      font-size: .58rem;
      padding: 6px 8px;
    }

    /* CONTACT / COTIZACIÓN */
    .cotizacion-anchor { position: relative; top: -92px; height: 0; }

    .contact {
      background: #ECE9E4;
      min-height: calc(100vh - 76px);
      padding: 54px 0 58px;
      display: flex;
      align-items: center;
      scroll-margin-top: 76px;
    }

    .contact-header {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 30px;
      align-items: end;
      margin-bottom: 26px;
    }

    .contact-header h2 {
      font-size: clamp(1.85rem, 3.35vw, 2.95rem);
      line-height: 1.02;
      font-weight: 700;
      letter-spacing: -.055em;
      color: var(--carbon);
      margin-bottom: 0;
    }

    .contact-header p {
      font-size: clamp(.92rem, 1.08vw, 1rem);
      color: var(--texto-suave);
      max-width: 700px;
      line-height: 1.58;
      font-weight: 400;
      margin-bottom: 4px;
    }

    .contact-layout {
      display: grid;
      grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
      gap: 8px;
      align-items: stretch;
    }

    .contact-card {
      background: var(--carbon);
      color: var(--blanco);
      padding: 26px 28px;
      display: flex;
      flex-direction: column;
      min-height: 100%;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 18px 54px rgba(22,24,27,.12);
    }

    .contact-card-title {
      color: var(--celeste);
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .contact-card h3 {
      color: var(--blanco);
      font-size: clamp(1.1rem, 1.65vw, 1.45rem);
      line-height: 1.12;
      letter-spacing: -.045em;
      margin-bottom: 12px;
    }

    .contact-data {
      display: grid;
      gap: 6px;
      margin-top: 0;
    }

    .contact-social a {
      display: grid;
      grid-template-columns: 30px 1fr;
      align-items: center;
      gap: 8px;
      padding: 8px 0;
      border-bottom: 1px solid rgba(255,255,255,.10);
      color: rgba(255,255,255,.88);
      font-weight: 700;
      line-height: 1.28;
      transition: var(--transition);
    }

    .contact-social a:hover {
      color: var(--blanco);
      transform: translateX(3px);
    }

    .contact-social svg {
      width: 18px;
      height: 18px;
      fill: var(--celeste);
    }

    .contact-social small {
      display: block;
      color: rgba(255,255,255,.52);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 2px;
    }

    .contact-card .btn {
      margin-top: 14px;
      width: 100%;
      min-height: 42px;
      padding: 10px 18px;
      font-size: .76rem;
    }

    .contact-map-card {
      background: rgba(255,255,255,.58);
      border: 1px solid var(--linea);
      overflow: hidden;
      min-height: 100%;
      box-shadow: 0 18px 54px rgba(22,24,27,.07);
      display: grid;
      grid-template-rows: auto 1fr;
    }

    .contact-map-head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      padding: 12px 16px;
      border-bottom: 1px solid var(--linea);
      background: rgba(255,255,255,.52);
    }

    .contact-map-head span {
      color: var(--texto-suave);
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .contact-map-head strong {
      color: var(--carbon);
      font-size: .58rem;
      text-align: right;
    }

    .contact-map {
      min-height: 286px;
      background: rgba(255,255,255,.42);
      overflow: hidden;
    }

    .contact-map iframe {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 286px;
      border: 0;
      filter: grayscale(12%);
    }

    .field {
      display: grid;
      gap: 8px;
    }

    .field label {
      font-size: .62rem;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--carbon);
    }

    .field input, .field select, .field textarea {
      width: 100%;
      border: 1px solid rgba(47,49,51,.22);
      background: var(--fondo);
      padding: 14px 14px;
      font: inherit;
      color: var(--grafito);
      outline: none;
      transition: var(--transition);
    }

    .field input:focus, .field select:focus, .field textarea:focus {
      border-color: var(--carbon);
      box-shadow: 0 0 0 3px rgba(182,221,224,.55);
    }

    .field textarea { min-height: 76px; resize: vertical; }

    .quote-section {
      background: #0F1215;
      color: var(--blanco);
      border-top: 3px solid var(--celeste);
      padding-top: 42px;
      padding-bottom: 78px;
    }

    .quote-grid {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(360px, .85fr);
      gap: 24px;
      align-items: start;
    }

    .quote-left {
      padding-top: 0;
    }

    .quote-eyebrow {
      color: var(--celeste);
      margin-bottom: 12px;
    }

    .quote-eyebrow::before {
      background: var(--celeste);
    }

    .quote-title {
      font-size: clamp(1.75rem, 3.4vw, 3rem);
      line-height: .95;
      letter-spacing: -.06em;
      text-transform: uppercase;
      margin-bottom: 6px;
      color: var(--blanco);
    }

    .quote-title span {
      color: var(--celeste);
    }

    .quote-copy {
      color: rgba(255,255,255,.76);
      font-size: .88rem;
      line-height: 1.48;
      max-width: 560px;
      margin-bottom: 16px;
    }

    .quote-contact-list {
      display: grid;
      gap: 8px;
      max-width: 580px;
    }

    .quote-contact-card {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 16px;
      background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border: 1px solid rgba(182,221,224,.18);
      padding: 10px 14px;
      color: var(--blanco);
      transition: var(--transition);
    }

    .quote-contact-card:hover {
      transform: translateY(-2px);
      border-color: rgba(182,221,224,.34);
      background: linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
    }

    .quote-contact-icon {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: rgba(182,221,224,.12);
      border: 1px solid rgba(182,221,224,.16);
      color: var(--celeste);
      flex: 0 0 32px;
    }

    .quote-contact-icon svg {
      width: 16px;
      height: 16px;
      fill: currentColor;
    }

    .quote-contact-main strong {
      display: block;
      color: var(--blanco);
      font-size: .58rem;
      line-height: 1.1;
      margin-bottom: 2px;
    }

    .quote-contact-main span {
      display: block;
      color: rgba(255,255,255,.62);
      font-size: .78rem;
    }

    .quote-contact-action {
      color: rgba(255,255,255,.74);
      font-size: .78rem;
      white-space: nowrap;
    }

    .quote-form {
      background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.03));
      border: 1px solid rgba(182,221,224,.18);
      padding: 20px 24px 22px;
      box-shadow: 0 24px 80px rgba(0,0,0,.22);
    }

    .quote-form .form-head h3 {
      color: var(--blanco);
      font-size: clamp(1.18rem, 1.65vw, 1.5rem);
      text-transform: uppercase;
      letter-spacing: -.03em;
      margin-bottom: 6px;
    }

    .quote-form .form-head p {
      color: rgba(255,255,255,.62);
      max-width: 500px;
      font-size: .58rem;
      line-height: 1.45;
    }

    .quote-form .field label {
      color: rgba(255,255,255,.72);
      font-size: .66rem;
      letter-spacing: .1em;
    }

    .quote-form .field input,
    .quote-form .field select,
    .quote-form .field textarea {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      color: var(--blanco);
      padding: 9px 11px;
    }

    .quote-form .field input::placeholder,
    .quote-form .field textarea::placeholder {
      color: rgba(255,255,255,.34);
    }

    .quote-form .field input:focus,
    .quote-form .field select:focus,
    .quote-form .field textarea:focus {
      border-color: var(--celeste);
      box-shadow: 0 0 0 3px rgba(182,221,224,.18);
    }

    .quote-form .field select option {
      color: var(--carbon);
    }

    .quote-form .btn {
      margin-top: 8px;
      min-height: 42px;
      font-size: .78rem;
      letter-spacing: .08em;
    }

    .quote-form .btn-primary {
      background: var(--celeste);
      color: var(--carbon);
      border-color: var(--celeste);
    }

    .quote-form .btn-primary:hover {
      background: var(--blanco);
      color: var(--carbon);
      border-color: var(--blanco);
    }

    /* FOOTER */
    .footer {
      background: #101214;
      color: var(--blanco);
      padding: 26px 0 18px;
      border-top: 1px solid rgba(255,255,255,.12);
    }

    .footer-top {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 28px;
      align-items: center;
      padding-bottom: 22px;
      border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .footer .brand {
      color: var(--carbon);
      min-width: auto;
      background: var(--blanco);
      padding: 8px 12px;
      flex: 0 0 auto;
    }

    .footer .brand-symbol {
      width: 42px;
      height: 42px;
    }

    .footer-info {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 14px;
      color: rgba(255,255,255,.68);
      font-size: .88rem;
      line-height: 1.5;
    }

    .footer-info strong {
      color: var(--blanco);
      font-weight: 700;
    }

    .footer-info a {
      color: rgba(255,255,255,.78);
      font-weight: 600;
    }

    .footer-info .footer-cta {
      color: var(--celeste);
      font-weight: 800;
      letter-spacing: .02em;
    }

    .footer-sep {
      color: rgba(255,255,255,.28);
    }

    .footer-social {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .footer-social a {
      width: 42px;
      height: 42px;
      border: 1px solid rgba(255,255,255,.14);
      display: grid;
      place-items: center;
      color: rgba(255,255,255,.72);
      transition: var(--transition);
    }

    .footer-social a:hover {
      color: var(--carbon);
      background: var(--celeste);
      border-color: var(--celeste);
      transform: translateY(-2px);
    }

    .footer-social svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
    }

    .footer-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding-top: 16px;
      color: rgba(255,255,255,.42);
      font-size: .78rem;
      line-height: 1.5;
    }

    .footer-dev {
      color: rgba(255,255,255,.52);
      white-space: nowrap;
    }

    .footer-dev strong {
      color: var(--blanco);
      font-weight: 800;
    }

    .footer-dev a {
      color: inherit;
      text-decoration: none;
    }

    .footer-dev a:hover strong {
      color: var(--celeste);
    }


    .whatsapp-float {
      position: fixed;
      width: 58px;
      height: 58px;
      right: 24px;
      bottom: 24px;
      border-radius: 50%;
      background: #25D366;
      display: grid;
      place-items: center;
      z-index: 900;
      box-shadow: 0 16px 44px rgba(37,211,102,.35);
      transition: var(--transition);
    }

    .whatsapp-float:hover { transform: translateY(-4px) scale(1.04); }
    .whatsapp-float svg { width: 30px; height: 30px; fill: #fff; }

    .fade-up { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    @media (max-width: 1080px) {
      .nav, .header .btn { display: none; }
      .hamburger { display: flex; }
      .hero { background-position: 18% center; background-size: cover; }
      .hero-content { background: transparent; min-height: 78vh; }
      .services-grid { grid-template-columns: repeat(2, 1fr); }
      .process-grid { grid-template-columns: repeat(3, 1fr); }
      .project-grid, .about-grid, .contact-layout, .quote-grid, .clarity-grid { grid-template-columns: 1fr; }
      .clarity-panel, .quote-panel { position: static; }
      .about-visual { min-height: 360px; }
      .about-logo-badge { width: 124px; height: 124px; left: 16px; bottom: 16px; padding: 12px; }
    }

    @media (max-width: 720px) {
      .section { padding: 76px 0; }
      .process-section { padding-top: 20px; }
      #servicios { padding-top: 58px; }

      .header-inner { height: 68px; }
      .hero { padding-top: 68px; }
      .hero-content { padding: 58px 24px; align-items: end; }
      .hero h1 { font-size: 3rem; }
      .hero p { color: var(--carbon); font-weight: 600; }
      .hero-actions { flex-direction: column; }
      .hero-actions .btn { width: 100%; }
      .trust-grid, .services-grid, .process-grid, .team-grid, .team-showcase { grid-template-columns: 1fr; }
      .team-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
      .trust-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.12); }
      .trust-item:last-child { border-bottom: none; }
      .section-head { display: block; }
      .service-card { min-height: auto; }
      .materialidad { min-height: 620px; }
      .clarity-item { grid-template-columns: 1fr; }
      .project-card, .project-card.small { min-height: 330px; }
      .projects { padding-top: 58px; }
      .footer-top {
        grid-template-columns: 1fr;
        align-items: flex-start;
        gap: 18px;
      }
      .footer-info {
        display: grid;
        gap: 6px;
      }
      .footer-sep {
        display: none;
      }
      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
      }
      .about-section { padding: 42px 0 60px; }
      .contact { min-height: auto; padding: 44px 0 48px; display: block; }
      .contact-header { grid-template-columns: 1fr; gap: 10px; margin-bottom: 18px; }
      .contact-layout { grid-template-columns: 1fr; gap: 18px; }
      .contact-card, .form, .clarity-panel { padding: 20px 18px; }
      .contact-map, .contact-map iframe { min-height: 260px; }
      .contact-map-head { align-items: flex-start; flex-direction: column; gap: 4px; }
      .contact-map-head strong { text-align: left; }
      .quote-section { padding-top: 34px; padding-bottom: 34px; }
      .quote-grid { gap: 24px; }
      .quote-title { font-size: 2rem; }
      .quote-copy { margin-bottom: 24px; }
      .quote-contact-card { grid-template-columns: auto 1fr; }
      .quote-contact-action { grid-column: 2; }
      .quote-form { padding: 20px 18px 22px; }
      #equipo { padding-top: 22px; padding-bottom: 28px; }
      .team-copy-card { min-height: auto; padding: 18px 16px; }
      .team-photo-card, .team-photo-card.large { min-height: 0; }
      .projects { padding: 44px 0 52px; }
      .project-grid { margin-top: 18px; }
      .project-card, .project-card.small { min-height: 230px; }
      #equipo { padding: 34px 0 54px; }
      .team-showcase { gap: 14px; }
      .team-copy-card { padding: 18px 16px; }
      .team-photo-card, .team-photo-card.large { min-height: 0; }
    }

    
    @media (max-width: 640px) {
      .team-photo-grid { grid-template-columns: 1fr; gap: 12px; }
      .team-photo-card, .team-photo-card.large { min-height: 0; }
      .team-copy-card { padding: 20px 18px; }
    }

@media (max-width: 420px) {
      .brand { min-width: 178px; gap: 10px; }
      .brand-symbol { width: 36px; height: 36px; }
      .brand-text { font-size: .86rem; letter-spacing: .02em; }
      .brand-text small { font-size: .50rem; letter-spacing: .30em; margin-top: 6px; }
      .brand-mark { width: 38px; height: 38px; }
      .hero h1 { font-size: 2.55rem; }
      .title { font-size: 2rem; }
      .whatsapp-float { width: 52px; height: 52px; right: 18px; bottom: 18px; }
    }
  
    /* AJUSTE FINAL EQUIPO: fotos iguales, alineadas y sin desbordarse */
    #equipo .team-showcase {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 20px;
      align-items: stretch;
      margin-top: 18px;
    }

    #equipo .team-copy-card {
      min-height: 360px;
      height: 100%;
      padding: 34px 36px;
    }

    #equipo .team-photo-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      height: 100%;
      align-items: stretch;
    }

    #equipo .team-photo-card,
    #equipo .team-photo-card.large {
      height: 100%;
      min-height: 360px;
      aspect-ratio: auto;
      background: #F4F1EC;
      border: 1px solid var(--linea);
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: end;
      justify-content: start;
      padding: 0;
    }

    #equipo .team-photo-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
      background: #F4F1EC;
      display: block;
    }

    #equipo .team-photo-card::before {
      content: '';
      position: absolute;
      inset: auto 0 0 0;
      height: 32%;
      background: linear-gradient(180deg, rgba(16,18,20,0) 0%, rgba(16,18,20,.22) 100%);
      z-index: 1;
      pointer-events: none;
    }

    #equipo .team-photo-card strong {
      position: absolute;
      left: 10px;
      bottom: 10px;
      z-index: 2;
      color: var(--blanco);
      font-size: .58rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      background: rgba(16,18,20,.62);
      padding: 6px 8px;
      margin: 0;
    }

    @media (max-width: 1080px) {
      #equipo .team-showcase {
        grid-template-columns: 1fr;
      }

      #equipo .team-copy-card {
        min-height: auto;
      }

      #equipo .team-photo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        height: auto;
      }

      #equipo .team-photo-card,
      #equipo .team-photo-card.large {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 5;
      }
    }

    @media (max-width: 720px) {
      #equipo .team-photo-grid {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      #equipo .team-photo-card,
      #equipo .team-photo-card.large {
        aspect-ratio: 4 / 5;
      }

      #equipo .team-copy-card {
        padding: 24px 20px;
      }
    }

  
    @media (max-width: 640px) {
      .hero {
        background-position: 82% center;
      }

      .hero-content {
        background: transparent;
      }
    }

  
    /* Corrección final: sección Equipo visible en móvil */
    #equipo .team-photo-card {
      position: relative;
      background: #F4F1EC;
      overflow: hidden;
    }

    #equipo .team-photo-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      background: #F4F1EC;
    }

    @media (max-width: 720px) {
      #equipo .team-photo-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
      }

      #equipo .team-photo-card,
      #equipo .team-photo-card.large {
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        overflow: visible;
      }

      #equipo .team-photo-card img {
        position: static;
        height: auto;
        width: 100%;
        max-width: 100%;
      }

      #equipo .team-photo-card strong {
        position: absolute;
        left: 10px;
        bottom: 10px;
      }
    }

  
    @media (max-width: 420px) {
      .hero {
        background-position: 14% center;
      }
    }

  
    /* SERVICIOS ORGANIZADOS TIPO HUB */
    .crea-service-hub{
      background:#FFFFFF;
      color:var(--grafito);
      padding:72px 0 76px;
      border-top:1px solid var(--linea);
    }
    .crea-service-hub .hub-main-head{
      margin-bottom:28px;
    }
    .crea-hub-tabs{
      display:grid;
      grid-template-columns:repeat(6,1fr);
      background:#F4F1EC;
      border:1px solid var(--linea);
      border-bottom:0;
      position:relative;
      z-index:2;
    }
    .crea-hub-tabs .hub-tab{
      min-height:86px;
      display:flex;
      align-items:center;
      gap:10px;
      padding:16px 14px;
      border:0;
      border-right:1px solid var(--linea);
      border-bottom:3px solid transparent;
      background:transparent;
      cursor:pointer;
      font-family:inherit;
      text-align:left;
      transition:var(--transition);
    }
    .crea-hub-tabs .hub-tab:last-child{
      border-right:0;
    }
    .crea-hub-tabs .hub-tab:hover{
      background:rgba(255,255,255,.58);
    }
    .crea-hub-tabs .hub-tab.active{
      background:#FFFFFF;
      border-bottom-color:var(--celeste);
    }
    .hub-tab-num{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      flex:0 0 30px;
      background:var(--carbon);
      color:#FFFFFF;
      font-size:.68rem;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .crea-hub-tabs .hub-tab.active .hub-tab-num{
      background:var(--celeste);
      color:var(--carbon);
    }
    .hub-tab-label{
      font-size:.72rem;
      font-weight:800;
      line-height:1.15;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:var(--carbon);
    }
    .hub-panel{
      display:none;
      background:#FFFFFF;
      border:1px solid var(--linea);
      box-shadow:0 18px 54px rgba(22,24,27,.07);
    }
    .hub-panel.active{
      display:block;
    }
    .hub-panel-inner{
      display:grid;
      grid-template-columns:1.06fr .94fr;
      gap:0;
      min-height:520px;
    }
    .hub-copy{
      padding:44px 46px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .hub-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      color:var(--carbon);
      font-size:.62rem;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:16px;
    }
    .hub-eyebrow:before{
      content:"";
      width:38px;
      height:1px;
      background:var(--celeste);
    }
    .hub-title{
      font-size:clamp(1.75rem,3.4vw,3.6rem);
      line-height:1.02;
      letter-spacing:-.065em;
      font-weight:800;
      color:var(--carbon);
      margin-bottom:18px;
    }
    .hub-lead{
      color:var(--texto-suave);
      font-size:1rem;
      line-height:1.7;
      max-width:680px;
      margin-bottom:26px;
    }
    .hub-list{
      display:grid;
      gap:14px;
      margin-bottom:30px;
    }
    .hub-list li{
      display:grid;
      grid-template-columns:30px 1fr;
      gap:12px;
      align-items:start;
    }
    .hub-list li > span{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      background:var(--celeste);
      color:var(--carbon);
      font-weight:800;
      font-size:.74rem;
    }
    .hub-list strong{
      display:block;
      color:var(--carbon);
      font-size:.94rem;
      margin-bottom:2px;
    }
    .hub-list p{
      color:var(--texto-suave);
      font-size:.86rem;
      line-height:1.5;
      margin:0;
    }
    .hub-cta-area{
      display:grid;
      gap:10px;
      justify-items:start;
    }
    .hub-cta-note{
      color:var(--texto-suave);
      font-size:.78rem;
      line-height:1.45;
      margin:0;
    }
    .hub-visual{
      background:#ECE9E4;
      padding:34px;
      display:flex;
      align-items:stretch;
    }
    .hub-card{
      width:100%;
      background:var(--carbon);
      color:#FFFFFF;
      padding:34px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      border-top:4px solid var(--celeste);
    }
    .hub-card-label{
      display:block;
      color:var(--celeste);
      font-size:.62rem;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:12px;
    }
    .hub-card > p{
      color:rgba(255,255,255,.70);
      font-size:.92rem;
      line-height:1.62;
      margin-bottom:24px;
    }
    .hub-card-steps{
      display:grid;
      gap:12px;
    }
    .hub-step{
      display:grid;
      grid-template-columns:32px 1fr;
      gap:12px;
      align-items:start;
    }
    .hub-step > span{
      width:32px;
      height:32px;
      display:grid;
      place-items:center;
      background:var(--celeste);
      color:var(--carbon);
      font-weight:800;
      font-size:.72rem;
    }
    .hub-step p{
      color:rgba(255,255,255,.72);
      font-size:.84rem;
      line-height:1.45;
      margin:4px 0 0;
    }
    @media(max-width:1080px){
      .crea-hub-tabs{
        grid-template-columns:repeat(3,1fr);
      }
      .crea-hub-tabs .hub-tab:nth-child(3){
        border-right:0;
      }
      .crea-hub-tabs .hub-tab:nth-child(n+4){
        border-top:1px solid var(--linea);
      }
      .hub-panel-inner{
        grid-template-columns:1fr;
        min-height:auto;
      }
      .hub-visual{
        order:-1;
      }
    }
    @media(max-width:720px){
      .crea-service-hub{
        padding:54px 0;
      }
      .crea-hub-tabs{
        grid-template-columns:1fr;
      }
      .crea-hub-tabs .hub-tab{
        min-height:66px;
        border-right:0;
        border-top:1px solid var(--linea);
      }
      .crea-hub-tabs .hub-tab:first-child{
        border-top:0;
      }
      .hub-tab-label{
        font-size:.78rem;
      }
      .hub-copy{
        padding:28px 20px;
      }
      .hub-title{
        font-size:2rem;
      }
      .hub-lead{
        font-size:.94rem;
      }
      .hub-visual{
        padding:18px;
      }
      .hub-card{
        padding:24px 20px;
      }
      .hub-cta-area .btn{
        width:100%;
      }
    }


    /* SERVICIOS HUB: IMAGEN DE APOYO A LA DERECHA */
    .crea-service-hub .hub-visual{
      background:#ECE9E4 !important;
      padding:0 !important;
      min-height:100%;
      display:block !important;
    }
    .hub-image-card{
      position:relative;
      width:100%;
      height:100%;
      min-height:520px;
      overflow:hidden;
      background:#D8D6D2;
      margin:0;
    }
    .hub-image-card img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      display:block;
      filter:saturate(.96) contrast(1.02);
      transition:transform .7s ease;
    }
    .hub-panel.active .hub-image-card img{
      animation:hubImageIn .45s ease both;
    }
    .hub-image-card:hover img{
      transform:scale(1.035);
    }
    .hub-image-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(22,24,27,.02) 28%,rgba(22,24,27,.72) 100%);
      pointer-events:none;
    }
    .hub-image-card figcaption{
      position:absolute;
      left:24px;
      right:24px;
      bottom:24px;
      z-index:2;
      color:#FFFFFF;
      padding:18px 20px;
      background:rgba(22,24,27,.72);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(10px);
    }
    .hub-image-card figcaption small{
      display:block;
      color:var(--celeste);
      font-size:.62rem;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:7px;
    }
    .hub-image-card figcaption strong{
      display:block;
      color:#FFFFFF;
      font-size:1rem;
      line-height:1.32;
    }
    @keyframes hubImageIn{
      from{opacity:.18;transform:scale(1.025)}
      to{opacity:1;transform:scale(1)}
    }
    @media(max-width:1080px){
      .crea-service-hub .hub-visual{
        order:0 !important;
      }
      .hub-image-card{
        min-height:360px;
      }
    }
    @media(max-width:720px){
      .hub-image-card{
        min-height:260px;
      }
      .hub-image-card figcaption{
        left:14px;
        right:14px;
        bottom:14px;
        padding:14px 15px;
      }
      .hub-image-card figcaption strong{
        font-size:.88rem;
      }
    }


    /* AJUSTE SERVICIOS: MÁS COMPACTO Y CONTENIDO HACIA ARRIBA */
    .crea-service-hub{
      padding: 56px 0 60px !important;
    }
    .crea-service-hub .hub-main-head{
      margin-bottom: 18px !important;
    }
    .crea-hub-tabs .hub-tab{
      min-height: 72px !important;
      padding: 12px 12px !important;
    }
    .hub-panel-inner{
      min-height: 430px !important;
    }
    .hub-copy{
      padding: 28px 32px !important;
      justify-content: flex-start !important;
    }
    .hub-eyebrow{
      margin-bottom: 10px !important;
    }
    .hub-title{
      font-size: clamp(1.55rem, 2.7vw, 2.55rem) !important;
      margin-bottom: 12px !important;
      line-height: 1.02 !important;
    }
    .hub-lead{
      font-size: .92rem !important;
      line-height: 1.56 !important;
      margin-bottom: 18px !important;
    }
    .hub-list{
      gap: 10px !important;
      margin-bottom: 18px !important;
    }
    .hub-list li{
      grid-template-columns: 24px 1fr !important;
      gap: 10px !important;
    }
    .hub-list li > span{
      width: 24px !important;
      height: 24px !important;
      font-size: .66rem !important;
    }
    .hub-list strong{
      font-size: .88rem !important;
      margin-bottom: 1px !important;
    }
    .hub-list p{
      font-size: .79rem !important;
      line-height: 1.42 !important;
    }
    .hub-cta-area{
      gap: 6px !important;
    }
    .hub-cta-note{
      font-size: .74rem !important;
    }
    .crea-service-hub .hub-visual{
      min-height: 430px !important;
    }
    .hub-image-card{
      min-height: 430px !important;
    }
    .hub-image-card figcaption{
      left: 18px !important;
      right: 18px !important;
      bottom: 18px !important;
      padding: 14px 16px !important;
    }
    .hub-image-card figcaption strong{
      font-size: .9rem !important;
      line-height: 1.3 !important;
    }
    @media(max-width:1080px){
      .hub-panel-inner{
        min-height: auto !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height: 300px !important;
      }
      .hub-copy{
        padding: 24px 24px !important;
      }
    }
    @media(max-width:720px){
      .crea-service-hub{
        padding: 48px 0 52px !important;
      }
      .crea-hub-tabs .hub-tab{
        min-height: 58px !important;
        padding: 10px 12px !important;
      }
      .hub-copy{
        padding: 20px 18px !important;
      }
      .hub-title{
        font-size: 1.7rem !important;
      }
      .hub-lead{
        font-size: .88rem !important;
        margin-bottom: 14px !important;
      }
      .hub-list{
        gap: 8px !important;
        margin-bottom: 14px !important;
      }
      .hub-list strong{
        font-size: .83rem !important;
      }
      .hub-list p{
        font-size: .76rem !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height: 240px !important;
      }
      .hub-image-card figcaption{
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        padding: 12px 13px !important;
      }
    }


    /* AJUSTE EXTRA SERVICIOS — MÁS COMPACTO */
    .crea-service-hub{
      padding: 48px 0 52px !important;
    }
    .crea-service-hub .hub-main-head{
      margin-bottom: 14px !important;
    }
    .crea-hub-tabs .hub-tab{
      min-height: 66px !important;
      padding: 10px 10px !important;
    }
    .hub-tab-num{
      width: 26px !important;
      height: 26px !important;
      flex: 0 0 26px !important;
      font-size: .62rem !important;
    }
    .hub-tab-label{
      font-size: .68rem !important;
    }
    .hub-panel-inner{
      min-height: 392px !important;
    }
    .hub-copy{
      padding: 24px 26px !important;
    }
    .hub-title{
      font-size: clamp(1.45rem, 2.45vw, 2.35rem) !important;
      margin-bottom: 10px !important;
    }
    .hub-lead{
      font-size: .88rem !important;
      line-height: 1.48 !important;
      margin-bottom: 14px !important;
    }
    .hub-list{
      gap: 8px !important;
      margin-bottom: 14px !important;
    }
    .hub-list li{
      grid-template-columns: 22px 1fr !important;
      gap: 8px !important;
    }
    .hub-list li > span{
      width: 22px !important;
      height: 22px !important;
      font-size: .62rem !important;
    }
    .hub-list strong{
      font-size: .83rem !important;
    }
    .hub-list p{
      font-size: .75rem !important;
      line-height: 1.34 !important;
    }
    .hub-cta-note{
      font-size: .72rem !important;
    }
    .crea-service-hub .hub-visual,
    .hub-image-card{
      min-height: 392px !important;
    }
    .hub-image-card figcaption{
      left: 14px !important;
      right: 14px !important;
      bottom: 14px !important;
      padding: 12px 14px !important;
    }
    .hub-image-card figcaption strong{
      font-size: .84rem !important;
    }
    @media(max-width:1080px){
      .hub-panel-inner{
        min-height: auto !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height: 260px !important;
      }
      .hub-copy{
        padding: 20px 22px !important;
      }
    }
    @media(max-width:720px){
      .crea-hub-tabs .hub-tab{
        min-height: 54px !important;
      }
      .hub-tab-label{
        font-size: .74rem !important;
      }
      .hub-copy{
        padding: 18px 16px !important;
      }
      .hub-title{
        font-size: 1.55rem !important;
      }
      .hub-lead{
        font-size: .84rem !important;
      }
      .hub-list strong{
        font-size: .8rem !important;
      }
      .hub-list p{
        font-size: .73rem !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height: 220px !important;
      }
    }


    /* AJUSTE FINAL SERVICIOS — CABE TODO EN LA SECCIÓN */
    .crea-service-hub{
      padding:38px 0 44px !important;
    }
    .crea-service-hub .hub-main-head{
      margin-bottom:12px !important;
      gap:22px !important;
      align-items:flex-end !important;
    }
    .crea-service-hub .hub-main-head .eyebrow{
      margin-bottom:8px !important;
      font-size:.56rem !important;
    }
    .crea-service-hub .hub-main-head .title{
      font-size:clamp(1.55rem,2.5vw,2.5rem) !important;
      line-height:1.02 !important;
      letter-spacing:-.05em !important;
      margin-bottom:0 !important;
      max-width:650px !important;
    }
    .crea-service-hub .hub-main-head .subtitle{
      font-size:.78rem !important;
      line-height:1.42 !important;
      max-width:430px !important;
    }
    .crea-hub-tabs .hub-tab{
      min-height:58px !important;
      padding:8px 10px !important;
    }
    .hub-tab-num{
      width:24px !important;
      height:24px !important;
      flex:0 0 24px !important;
      font-size:.58rem !important;
    }
    .hub-tab-label{
      font-size:.62rem !important;
      line-height:1.1 !important;
    }
    .hub-panel-inner{
      min-height:365px !important;
    }
    .hub-copy{
      padding:20px 24px !important;
      justify-content:flex-start !important;
    }
    .hub-eyebrow{
      font-size:.54rem !important;
      margin-bottom:7px !important;
    }
    .hub-title{
      font-size:clamp(1.3rem,2.15vw,2rem) !important;
      line-height:1.02 !important;
      margin-bottom:8px !important;
    }
    .hub-lead{
      font-size:.8rem !important;
      line-height:1.42 !important;
      margin-bottom:10px !important;
      max-width:620px !important;
    }
    .hub-list{
      gap:6px !important;
      margin-bottom:10px !important;
    }
    .hub-list li{
      grid-template-columns:20px 1fr !important;
      gap:8px !important;
    }
    .hub-list li > span{
      width:20px !important;
      height:20px !important;
      font-size:.56rem !important;
    }
    .hub-list strong{
      font-size:.76rem !important;
      line-height:1.2 !important;
      margin-bottom:0 !important;
    }
    .hub-list p{
      font-size:.69rem !important;
      line-height:1.32 !important;
    }
    .hub-cta-area{
      gap:4px !important;
    }
    .hub-cta-area .btn{
      min-height:38px !important;
      padding:10px 18px !important;
      font-size:.68rem !important;
    }
    .hub-cta-note{
      font-size:.68rem !important;
      line-height:1.32 !important;
    }
    .crea-service-hub .hub-visual,
    .hub-image-card{
      min-height:365px !important;
    }
    .hub-image-card figcaption{
      left:12px !important;
      right:12px !important;
      bottom:12px !important;
      padding:10px 12px !important;
    }
    .hub-image-card figcaption small{
      font-size:.54rem !important;
      margin-bottom:4px !important;
    }
    .hub-image-card figcaption strong{
      font-size:.78rem !important;
      line-height:1.24 !important;
    }
    @media(max-width:1080px){
      .crea-service-hub .hub-main-head{
        display:block !important;
      }
      .crea-service-hub .hub-main-head .subtitle{
        max-width:620px !important;
        margin-top:8px !important;
      }
      .hub-panel-inner{
        min-height:auto !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height:260px !important;
      }
    }
    @media(max-width:720px){
      .crea-service-hub{
        padding:42px 0 !important;
      }
      .crea-service-hub .hub-main-head .title{
        font-size:1.65rem !important;
      }
      .crea-hub-tabs .hub-tab{
        min-height:52px !important;
      }
      .hub-copy{
        padding:18px 16px !important;
      }
      .hub-title{
        font-size:1.45rem !important;
      }
      .hub-lead{
        font-size:.82rem !important;
      }
      .crea-service-hub .hub-visual,
      .hub-image-card{
        min-height:220px !important;
      }
    }


    /* PROYECTOS Y EQUIPO EN SLIDER ORGANIZADO */
    .projects-slider-section{
      background:var(--carbon) !important;
      color:var(--blanco);
      padding:58px 0 64px !important;
      scroll-margin-top:76px;
    }
    .projects-slider-section .title,
    .projects-slider-section .eyebrow{
      color:var(--blanco);
    }
    .projects-slider-section .subtitle{
      color:rgba(255,255,255,.68);
      font-size:.92rem;
      line-height:1.55;
    }
    .projects-split,
    .team-split{
      display:grid;
      grid-template-columns:.88fr 1.12fr;
      gap:28px;
      align-items:stretch;
    }
    .projects-copy{
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-height:430px;
    }
    .projects-copy .title{
      font-size:clamp(1.75rem,3vw,3rem);
      line-height:1.02;
      margin-bottom:14px;
    }
    .projects-points{
      display:grid;
      gap:10px;
      margin-top:22px;
    }
    .projects-points div{
      display:grid;
      gap:2px;
      padding:13px 14px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.04);
    }
    .projects-points strong{
      color:var(--celeste);
      font-size:.72rem;
      text-transform:uppercase;
      letter-spacing:.12em;
    }
    .projects-points span{
      color:rgba(255,255,255,.66);
      font-size:.82rem;
      line-height:1.42;
    }
    .projects-slider,
    .team-slider{
      position:relative;
      min-height:430px;
      overflow:hidden;
      background:#111;
      border:1px solid rgba(255,255,255,.10);
      box-shadow:0 20px 60px rgba(0,0,0,.20);
    }
    .projects-slider img,
    .team-slider img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      transition:opacity .45s ease, transform .7s ease;
    }
    .projects-slider:hover img,
    .team-slider:hover img{
      transform:scale(1.035);
    }
    .projects-slider::after,
    .team-slider::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.72) 100%);
      pointer-events:none;
    }
    .projects-slider-caption,
    .team-slider-caption{
      position:absolute;
      left:22px;
      right:22px;
      bottom:22px;
      z-index:2;
      color:#FFFFFF;
      background:rgba(22,24,27,.76);
      border:1px solid rgba(255,255,255,.12);
      padding:16px 18px;
      backdrop-filter:blur(10px);
      max-width:430px;
    }
    .projects-slider-caption small,
    .team-slider-caption small{
      display:block;
      color:var(--celeste);
      font-size:.62rem;
      font-weight:800;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:5px;
    }
    .projects-slider-caption strong,
    .team-slider-caption strong{
      display:block;
      font-size:1rem;
      line-height:1.32;
    }
    .slider-dots{
      position:absolute;
      top:16px;
      right:16px;
      z-index:3;
      display:flex;
      gap:8px;
    }
    .slider-dot{
      width:11px;
      height:11px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.75);
      background:transparent;
      padding:0;
      cursor:pointer;
    }
    .slider-dot.active{
      background:#FFFFFF;
    }

    .team-slider-section{
      background:#ECE9E4 !important;
      padding:54px 0 62px !important;
    }
    .team-copy-clean{
      min-height:390px !important;
      padding:34px 36px !important;
      justify-content:center !important;
      background:var(--carbon) !important;
    }
    .team-copy-clean h2{
      color:#FFFFFF;
      font-size:clamp(1.55rem,2.6vw,2.55rem);
      line-height:1.05;
      letter-spacing:-.05em;
      margin:0 0 16px;
    }
    .team-copy-clean p{
      color:rgba(255,255,255,.70);
      font-size:.92rem;
      line-height:1.55;
    }
    .team-slider{
      min-height:390px;
      border-color:rgba(22,24,27,.12);
      box-shadow:0 18px 54px rgba(22,24,27,.10);
    }

    @media(max-width:1080px){
      .projects-split,
      .team-split{
        grid-template-columns:1fr;
      }
      .projects-copy,
      .team-copy-clean{
        min-height:auto !important;
      }
      .projects-slider,
      .team-slider{
        min-height:360px;
      }
    }
    @media(max-width:720px){
      .projects-slider-section,
      .team-slider-section{
        padding:48px 0 !important;
      }
      .projects-slider,
      .team-slider{
        min-height:290px;
      }
      .projects-slider-caption,
      .team-slider-caption{
        left:14px;
        right:14px;
        bottom:14px;
        padding:13px 14px;
      }
      .projects-slider-caption strong,
      .team-slider-caption strong{
        font-size:.86rem;
      }
      .team-copy-clean{
        padding:24px 20px !important;
      }
    }


    /* AJUSTE EQUIPO MÁS GRANDE + CONTACTO MÁS ARRIBA */
    .team-slider-section{
      padding:64px 0 70px !important;
    }
    .team-split{
      grid-template-columns:.92fr 1.08fr !important;
      gap:30px !important;
      align-items:stretch !important;
    }
    .team-copy-clean{
      min-height:470px !important;
      padding:44px 42px !important;
    }
    .team-copy-clean span{
      margin-bottom:14px !important;
    }
    .team-copy-clean h2{
      font-size:clamp(1.85rem,3vw,3.1rem) !important;
      line-height:1.02 !important;
      margin-bottom:18px !important;
    }
    .team-copy-clean p{
      font-size:.98rem !important;
      line-height:1.62 !important;
      max-width:560px !important;
    }
    .team-slider{
      min-height:470px !important;
    }
    .team-slider-caption{
      left:24px !important;
      right:24px !important;
      bottom:24px !important;
      padding:18px 20px !important;
      max-width:460px !important;
    }
    .team-slider-caption strong{
      font-size:1.06rem !important;
    }

    .contact{
      padding-top:36px !important;
      padding-bottom:54px !important;
      align-items:flex-start !important;
    }
    .contact-header{
      margin-bottom:18px !important;
    }
    .contact-header h2{
      font-size:clamp(1.75rem,3vw,2.7rem) !important;
    }

    @media(max-width:1080px){
      .team-slider-section{
        padding:58px 0 64px !important;
      }
      .team-split{
        grid-template-columns:1fr !important;
      }
      .team-copy-clean{
        min-height:auto !important;
        padding:34px 30px !important;
      }
      .team-slider{
        min-height:420px !important;
      }
      .contact{
        padding-top:38px !important;
      }
    }

    @media(max-width:720px){
      .team-slider-section{
        padding:50px 0 56px !important;
      }
      .team-copy-clean{
        padding:28px 22px !important;
      }
      .team-copy-clean h2{
        font-size:2rem !important;
      }
      .team-copy-clean p{
        font-size:.9rem !important;
        line-height:1.55 !important;
      }
      .team-slider{
        min-height:340px !important;
      }
      .team-slider-caption{
        left:14px !important;
        right:14px !important;
        bottom:14px !important;
        padding:14px 15px !important;
      }
      .contact{
        padding-top:34px !important;
        padding-bottom:46px !important;
      }
      .contact-header{
        margin-bottom:14px !important;
      }
    }
