
    :root {
      --navy:#00131A;
      --navy-2:#022B3A;
      --navy-3:#063A4B;
      --cyan:#14D2F3;
      --blue:#027FC0;
      --lime:#E1FB22;
      --lime-2:#5AC609;
      --white:#F6FDF0;
      --muted:#AFC7CF;
      --red:#D92D20;
      --green:#16A34A;
      --line:rgba(246,253,240,.12);
      --shadow:0 24px 70px rgba(0,0,0,.38);
      --radius:24px;
      --header-h:78px;
    }

    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; background:var(--navy); }
    body {
      margin:0;
      min-width:320px;
      overflow-x:hidden;
      color:var(--white);
      background:
        radial-gradient(circle at 10% 10%, rgba(20,210,243,.08), transparent 32rem),
        radial-gradient(circle at 90% 70%, rgba(225,251,34,.05), transparent 28rem),
        var(--navy);
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
    }

    button, input, select, textarea { font:inherit; }
    a { color:inherit; text-decoration:none; }
    button, a { -webkit-tap-highlight-color:transparent; }
    img { max-width:100%; display:block; }
    .sr-only {
      position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
      clip:rect(0,0,0,0);white-space:nowrap;border:0;
    }
    :focus-visible {
      outline:3px solid var(--cyan);
      outline-offset:4px;
    }

    .site-header {
      position:fixed;
      inset:0 0 auto 0;
      height:var(--header-h);
      z-index:100;
      display:flex;
      align-items:center;
      border-bottom:1px solid transparent;
      transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
    }
    .site-header.scrolled, .site-header.menu-open {
      background:rgba(0,19,26,.94);
      backdrop-filter:blur(18px);
      border-color:var(--line);
    }
    .header-inner {
      width:min(1180px, calc(100% - 36px));
      margin:auto;
      display:flex;
      align-items:center;
      gap:30px;
    }
    .brand {
      display:inline-flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }
    .brand img {
      width:56px;
      height:56px;
      object-fit:contain;
      filter:drop-shadow(0 8px 18px rgba(0,0,0,.25));
    }
    .brand strong {
      letter-spacing:.02em;
      font-size:1rem;
    }
    .main-nav {
      margin-left:auto;
      display:flex;
      align-items:center;
      gap:8px;
    }
    .nav-link {
      border:0;
      color:rgba(246,253,240,.82);
      background:transparent;
      cursor:pointer;
      padding:10px 12px;
      border-radius:999px;
      font-weight:700;
      font-size:.92rem;
      transition:.2s ease;
    }
    .nav-link:hover, .nav-link.active {
      color:var(--white);
      background:rgba(255,255,255,.07);
    }
    .header-cta {
      margin-left:8px;
      background:var(--lime);
      color:var(--navy);
      font-weight:900;
      padding:12px 18px;
      border-radius:999px;
      border:0;
      cursor:pointer;
      box-shadow:0 10px 28px rgba(225,251,34,.16);
    }
    .menu-toggle {
      display:none;
      margin-left:auto;
      width:46px;
      height:46px;
      border-radius:14px;
      border:1px solid var(--line);
      color:var(--white);
      background:rgba(255,255,255,.06);
      cursor:pointer;
    }

    .page {
      display:none;
      min-height:100vh;
      animation:pageIn .32s ease both;
    }
    .page.active { display:block; }
    @keyframes pageIn {
      from { opacity:.45; transform:translateY(6px); }
      to { opacity:1; transform:none; }
    }

    .hero {
      min-height:100svh;
      position:relative;
      display:grid;
      place-items:center;
      overflow:hidden;
      isolation:isolate;
      background:
        radial-gradient(circle at 50% 36%, rgba(20,210,243,.17), transparent 25rem),
        linear-gradient(135deg,#00131A 0%,#032F3F 48%,#00131A 100%);
    }
    .hero.compact { min-height:64svh; padding-top:var(--header-h); }
    .hero::before {
      content:"";
      position:absolute;
      inset:-20%;
      z-index:-3;
      background:
        conic-gradient(from 120deg at 50% 50%, transparent, rgba(20,210,243,.13), transparent 22%, rgba(225,251,34,.06), transparent 48%);
      animation:drift 18s linear infinite;
    }
    @keyframes drift { to { transform:rotate(360deg) scale(1.08); } }
    .hero-video {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      z-index:-4;
      opacity:.62;
    }
    .hero-overlay {
      position:absolute;
      inset:0;
      z-index:-2;
      background:
        linear-gradient(180deg, rgba(0,19,26,.32), rgba(0,19,26,.58) 58%, var(--navy) 100%),
        radial-gradient(circle at center, transparent 0 20%, rgba(0,19,26,.44) 76%);
    }
    .hero-mark {
      position:absolute;
      width:min(66vw,720px);
      opacity:.11;
      filter:drop-shadow(0 35px 90px rgba(0,0,0,.45));
      z-index:-1;
      pointer-events:none;
    }
    .hero-content {
      width:min(1100px, calc(100% - 40px));
      text-align:center;
      padding-top:var(--header-h);
    }
    .eyebrow {
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--cyan);
      text-transform:uppercase;
      letter-spacing:.18em;
      font-weight:800;
      font-size:.76rem;
      margin-bottom:16px;
    }
    .hero h1 {
      margin:0;
      font-size:clamp(4rem, 12vw, 9.5rem);
      line-height:.9;
      letter-spacing:-.035em;
      text-shadow:0 18px 70px rgba(0,0,0,.34);
    }
    .hero.compact h1 {
      font-size:clamp(3.2rem,8vw,6.7rem);
    }
    .hero-tagline {
      margin:22px 0 0;
      font-size:clamp(1.2rem,2.4vw,2rem);
      color:rgba(246,253,240,.83);
      letter-spacing:.02em;
    }
    .scroll-cue {
      position:absolute;
      bottom:30px;
      left:50%;
      transform:translateX(-50%);
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:8px;
      color:rgba(246,253,240,.56);
      font-size:.75rem;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .scroll-cue::after {
      content:"";
      width:1px;
      height:32px;
      background:linear-gradient(var(--cyan), transparent);
    }

    /* Se eliminan las luces ambientales en movimiento del fondo */
    .hero::before {
      content:none !important;
      animation:none !important;
      background:none !important;
    }

    /* Portada Inicio: mantener solo el video real proporcionado por el usuario */
    #inicio.hero,
    #inicio .hero {
      background:#00131A;
    }

    #inicio .hero-video {
      opacity:1;
      filter:none;
    }

    /* Portada Inicio: texto centrado en la zona inferior para dar protagonismo al video */
    #inicio .hero-content {
      position:absolute;
      left:50%;
      bottom:104px;
      transform:translateX(-50%);
      z-index:3;
      width:min(980px, calc(100% - 40px));
      padding:34px 24px 24px;
      text-align:center;
      pointer-events:none;
    }

    #inicio .hero-content::before {
      content:"";
      position:absolute;
      left:50%;
      bottom:-12px;
      width:min(760px, 92vw);
      height:210px;
      transform:translateX(-50%);
      z-index:-1;
      background:radial-gradient(ellipse at center bottom,
        rgba(0,19,26,.68) 0%,
        rgba(0,19,26,.42) 42%,
        rgba(0,19,26,.16) 68%,
        transparent 86%);
      filter:blur(5px);
      pointer-events:none;
    }

    #inicio .hero h1 {
      font-family:"Avenir Next Condensed","Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif;
      font-size:clamp(3.35rem, 9vw, 7.3rem);
      font-weight:900;
      line-height:.9;
      letter-spacing:-.075em;
      text-transform:lowercase;
      text-shadow:0 8px 28px rgba(0,0,0,.42);
    }

    #inicio .hero-tagline {
      margin-top:14px;
      font-size:clamp(1.05rem, 2vw, 1.65rem);
      letter-spacing:.055em;
      text-shadow:0 5px 20px rgba(0,0,0,.42);
    }

    #inicio .scroll-cue {
      z-index:4;
    }

    @media (max-width:720px) {
      #inicio .service-index {
        top:18px;
        padding:8px 13px;
        font-size:.88rem;
        letter-spacing:.12em;
      }

      #inicio .hero-content {
        bottom:92px;
        width:calc(100% - 28px);
        padding:26px 14px 18px;
      }

      #inicio .hero-content::before {
        width:94vw;
        height:180px;
      }

      #inicio .hero h1 {
        font-size:clamp(3rem, 15vw, 4.9rem);
      }

      #inicio .hero-tagline {
        margin-top:10px;
        font-size:clamp(1rem, 4.5vw, 1.2rem);
      }
    }

    .section {
      padding:clamp(72px,9vw,120px) 0;
      position:relative;
    }
    .section.alt {
      background:linear-gradient(180deg, rgba(2,43,58,.54), rgba(2,43,58,.18));
      border-block:1px solid rgba(255,255,255,.05);
    }
    .container {
      width:min(1180px, calc(100% - 40px));
      margin:0 auto;
    }
    .section-head {
      max-width:760px;
      margin-bottom:44px;
    }
    .kicker {
      margin:0 0 10px;
      color:var(--lime);
      font-size:.78rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.16em;
    }
    h2 {
      margin:0;
      font-size:clamp(2.25rem,5vw,4.7rem);
      line-height:1;
      letter-spacing:-.045em;
    }
    h3 {
      margin:0;
      font-size:clamp(1.25rem,2vw,1.65rem);
      line-height:1.15;
    }
    .lead {
      color:var(--muted);
      font-size:clamp(1rem,1.4vw,1.14rem);
      margin:18px 0 0;
      max-width:68ch;
    }

    .about-alertia-description {
      text-align:justify;
      text-justify:inter-word;
      hyphens:auto;
      max-width:72ch;
    }

    /* Carrusel de cartas */
    .carousel-shell {
      position:relative;
      padding:8px 0 54px;
    }
    .carousel-stage {
      position:relative;
      height:520px;
      overflow:visible;
      touch-action:pan-y;
      perspective:1200px;
    }
    .service-card {
      position:absolute;
      left:50%;
      top:50%;
      width:min(700px,65vw);
      height:430px;
      border-radius:30px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.15);
      background:transparent;
      box-shadow:var(--shadow);
      transition:transform .52s cubic-bezier(.2,.75,.25,1), opacity .42s ease, filter .42s ease;
      transform:translate(-50%,-50%) scale(.7);
      opacity:0;
      pointer-events:none;
      isolation:isolate;
    }
    .service-card::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      background:
        linear-gradient(115deg, transparent 0 28%, rgba(255,255,255,.08) 29% 30%, transparent 31% 100%),
        repeating-linear-gradient(0deg, transparent 0 34px, rgba(20,210,243,.045) 35px 36px);
    }
    .service-card::after {
      content:"+";
      position:absolute;
      right:34px;
      top:14px;
      font-size:170px;
      line-height:1;
      font-weight:200;
      color:rgba(20,210,243,.12);
      z-index:-1;
    }

    #inicio .service-card::before,
    #inicio .service-card::after {
      content:none !important;
      display:none !important;
      background:none !important;
    }
    .service-card.active {
      transform:translate(-50%,-50%) translateX(0) scale(1);
      opacity:1;
      filter:none;
      z-index:5;
      pointer-events:auto;
      border-color:rgba(20,210,243,.92);
      box-shadow:
        0 0 0 1px rgba(20,210,243,.42),
        0 0 18px rgba(20,210,243,.42),
        0 0 34px rgba(20,210,243,.32),
        0 22px 50px rgba(0,0,0,.38);
      cursor:pointer;
    }

    #inicio .service-card.active .service-card-image {
      box-shadow:
        inset 0 0 0 1px rgba(20,210,243,.22),
        0 0 24px rgba(20,210,243,.18);
    }
    .service-card.prev {
      transform:translate(-50%,-50%) translateX(-72%) scale(.80) rotateY(5deg);
      opacity:.46;
      filter:saturate(.62) blur(.4px);
      z-index:3;
      pointer-events:auto;
      cursor:pointer;
    }
    .service-card.next {
      transform:translate(-50%,-50%) translateX(72%) scale(.80) rotateY(-5deg);
      opacity:.46;
      filter:saturate(.62) blur(.4px);
      z-index:3;
      pointer-events:auto;
      cursor:pointer;
    }
    .service-card.far-prev {
      transform:translate(-50%,-50%) translateX(-128%) scale(.68);
      opacity:.05;
      z-index:1;
    }
    .service-card.far-next {
      transform:translate(-50%,-50%) translateX(128%) scale(.68);
      opacity:.05;
      z-index:1;
    }
    .service-card-image {
      position:absolute;
      inset:0;
      z-index:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      pointer-events:none;
    }

    .service-card::before,
    .service-card::after {
      z-index:1;
      pointer-events:none;
    }

    .service-content {
      position:absolute;
      inset:auto 0 0 0;
      z-index:2;
      padding:34px;
      display:grid;
      gap:16px;
      background:linear-gradient(180deg, transparent, rgba(0,19,26,.94));
    }

    .service-index {
      position:absolute;
      top:24px;
      left:50%;
      transform:translateX(-50%);
      z-index:3;
      width:max-content;
      max-width:calc(100% - 40px);
      padding:9px 15px;
      border:1px solid rgba(20,210,243,.28);
      border-radius:999px;
      background:rgba(0,19,26,.68);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      color:var(--cyan);
      font-size:clamp(.9rem,1.35vw,1.08rem);
      line-height:1;
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
      text-align:center;
      white-space:nowrap;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }
    .service-title {
      width:100%;
      font-size:clamp(2rem,4vw,3.4rem);
      line-height:.95;
      letter-spacing:-.04em;
      max-width:14ch;
      justify-self:center;
      text-align:center;
      text-wrap:balance;
    }
    .service-primary, .service-choice {
      width:max-content;
      max-width:100%;
      border:0;
      border-radius:999px;
      cursor:pointer;
      font-weight:900;
      padding:13px 18px;
      transition:transform .18s ease, box-shadow .18s ease;
    }
    .service-primary {
      background:var(--lime);
      color:var(--navy);
      box-shadow:0 12px 30px rgba(225,251,34,.15);
      justify-self:center;
      margin-top:10px;
    }
    .service-primary:hover, .service-choice:hover { transform:translateY(-2px); }
    .service-actions {
      display:none;
      flex-wrap:wrap;
      gap:10px;
    }
    .service-card.expanded .service-primary { display:none; }
    .service-card.expanded .service-actions { display:flex; }
    .service-choice.whatsapp { background:var(--green); color:white; }
    .service-choice.call { background:var(--blue); color:white; }
    .carousel-control {
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:54px;
      height:54px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.18);
      color:var(--white);
      background:rgba(0,19,26,.72);
      backdrop-filter:blur(10px);
      z-index:12;
      cursor:pointer;
      display:grid;
      place-items:center;
      box-shadow:0 12px 26px rgba(0,0,0,.2);
    }
    .carousel-control:hover { background:var(--navy-2); }
    .carousel-control.prev-btn { left:clamp(28px,7vw,88px); }
    .carousel-control.next-btn { right:clamp(28px,7vw,88px); }

    /* Inicio · escritorio:
       restaurar las flechas laterales originales del carrusel sin
       modificar el nuevo diseño de las tarjetas. */
    @media (min-width:721px) {
      #inicio .carousel-shell > .carousel-control {
        display:grid !important;
        top:50%;
        bottom:auto;
        transform:translateY(-50%);
        width:54px;
        height:54px;
        z-index:20;
        visibility:visible;
        opacity:1;
        pointer-events:auto;
      }

      #inicio .carousel-shell > .carousel-control.prev-btn {
        left:clamp(28px,7vw,88px);
        right:auto;
      }

      #inicio .carousel-shell > .carousel-control.next-btn {
        right:clamp(28px,7vw,88px);
        left:auto;
      }
    }
    .carousel-dots {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      margin-top:12px;
    }
    .carousel-dot {
      width:9px;
      height:9px;
      padding:0;
      border:0;
      border-radius:999px;
      background:rgba(255,255,255,.24);
      cursor:pointer;
      transition:.2s ease;
    }
    .carousel-dot.active {
      width:30px;
      background:var(--lime);
    }

    .grid-3 {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .card {
      padding:26px;
      min-height:210px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
      box-shadow:0 18px 45px rgba(0,0,0,.14);
    }
    .card-icon {
      width:46px;height:46px;border-radius:14px;
      display:grid;place-items:center;
      color:var(--navy);
      background:var(--lime);
      margin-bottom:28px;
      font-weight:1000;
    }
    .card p { color:var(--muted); margin:10px 0 0; }
    .text-link {
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:18px;
      color:var(--lime);
      font-weight:900;
      cursor:pointer;
      border:0;
      background:none;
      padding:0;
    }

    .feature-split {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:34px;
      align-items:center;
    }
    .media-panel {
      min-height:430px;
      border-radius:32px;
      border:1px solid var(--line);
      overflow:hidden;
      position:relative;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 50% 35%, rgba(20,210,243,.22), transparent 26%),
        linear-gradient(145deg,#032F3F,#00131A);
      box-shadow:var(--shadow);
    }
    .media-panel img {
      width:min(74%,440px);
      opacity:.78;
      filter:drop-shadow(0 25px 60px rgba(0,0,0,.35));
    }

    .team-feature-split {
      align-items:start;
    }

    .team-feature-copy {
      min-width:0;
      align-self:start;
      padding-top:0;
    }

    .team-feature-copy .lead {
      max-width:68ch;
    }

    .team-member-details {
      margin-top:22px;
      display:grid;
      gap:12px;
      max-width:560px;
    }

    .team-member-detail {
      padding:17px 0;
      border-bottom:1px solid rgba(255,255,255,.1);
      display:grid;
      gap:7px;
    }

    .team-member-detail:first-child {
      padding-top:0;
    }

    .team-member-detail span {
      color:var(--cyan);
      font-size:clamp(.86rem,1.05vw,.98rem);
      font-weight:900;
      letter-spacing:.075em;
      text-transform:uppercase;
      line-height:1.3;
    }

    .team-member-detail strong {
      color:var(--white);
      font-size:clamp(1.14rem,1.65vw,1.34rem);
      line-height:1.42;
      font-weight:800;
    }

    .team-media-panel {
      min-height:0;
      aspect-ratio:1 / 1;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      background:
        radial-gradient(circle at 8% 14%, rgba(225,251,34,.28) 0%, rgba(225,251,34,.12) 18%, transparent 38%),
        radial-gradient(circle at 92% 18%, rgba(20,210,243,.34) 0%, rgba(20,210,243,.15) 24%, transparent 48%),
        radial-gradient(circle at 88% 86%, rgba(14,124,160,.38) 0%, rgba(14,124,160,.16) 26%, transparent 50%),
        radial-gradient(circle at 10% 86%, rgba(225,251,34,.16) 0%, rgba(22,151,184,.12) 26%, transparent 52%),
        linear-gradient(135deg,
          rgba(0,19,26,1) 0%,
          rgba(2,44,58,.99) 22%,
          rgba(4,73,92,.98) 48%,
          rgba(2,53,70,.99) 72%,
          rgba(0,24,32,1) 100%);
    }

    .team-media-panel::before {
      content:"";
      position:absolute;
      inset:11%;
      background-image:url('../images/img-01-bcc28a3c4d.webp');
      background-repeat:no-repeat;
      background-position:center;
      background-size:contain;
      opacity:.14;
      filter:blur(1.4px) saturate(.9);
      transform:scale(1.08);
      pointer-events:none;
      z-index:0;
    }

    .team-media-panel::after {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(ellipse 58% 72% at 50% 58%,
          rgba(3,44,60,.96) 0%,
          rgba(3,44,60,.92) 34%,
          rgba(3,44,60,.78) 52%,
          rgba(3,44,60,.38) 68%,
          rgba(3,44,60,0) 82%),
        linear-gradient(115deg,
          rgba(225,251,34,.05) 0%,
          transparent 28%,
          rgba(20,210,243,.06) 52%,
          transparent 72%,
          rgba(20,210,243,.05) 100%),
        radial-gradient(ellipse at 50% 100%, rgba(0,19,26,.34), transparent 58%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.07), transparent 32%);
      pointer-events:none;
      z-index:1;
    }

    .team-media-panel img {
      position:relative;
      z-index:2;
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center bottom;
      opacity:1;
      isolation:isolate;
      filter:drop-shadow(0 14px 28px rgba(0,0,0,.22));
    }
    .media-label {
      position:absolute;
      left:20px;bottom:20px;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(0,19,26,.72);
      color:var(--muted);
      font-size:.8rem;
    }

    .service-list {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:18px;
    }
    .service-row {
      position:relative;
      min-height:280px;
      padding:28px;
      overflow:hidden;
      border-radius:26px;
      border:1px solid var(--line);
      background:
        linear-gradient(180deg, transparent, rgba(0,19,26,.9)),
        radial-gradient(circle at 80% 20%, rgba(20,210,243,.19), transparent 30%),
        var(--navy-2);
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
    }
    .service-row p { color:var(--muted); max-width:48ch; }
    .btn {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border:0;
      border-radius:999px;
      padding:13px 18px;
      font-weight:900;
      cursor:pointer;
      transition:.2s ease;
    }
    .btn:hover { transform:translateY(-2px); }

    /* =========================================================
       CARRUSEL · NUESTRO EQUIPO MÉDICO
       ========================================================= */
    .team-feature-split {
      align-items:start;
    }

    .team-carousel {
      position:relative;
      width:min(100%,520px);
      justify-self:start;
      user-select:none;
      -webkit-user-select:none;
      touch-action:pan-y;
    }

    .team-feature-copy {
      min-width:0;
      align-self:start;
      padding-top:0;
    }

    .team-feature-copy .lead {
      max-width:68ch;
    }

    .team-media-panel {
      min-height:0;
      aspect-ratio:1 / 1;
    }

    .team-media-panel img {
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center top;
      opacity:.82;
      filter:none;
    }

    .team-member-name {
      margin:0;
      font-size:clamp(1.18rem,1.65vw,1.55rem);
      line-height:1.2;
      letter-spacing:-.02em;
      color:var(--white);
      text-wrap:balance;
    }

    .team-member-name-overlay {
      position:absolute;
      left:20px;
      right:20px;
      bottom:20px;
      z-index:4;
      width:auto;
      padding:12px 18px;
      border:1px solid rgba(255,255,255,.16);
      border-radius:16px;
      background:rgba(0,19,26,.78);
      box-shadow:0 10px 26px rgba(0,0,0,.2);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      text-align:center;
      font-size:clamp(1.22rem,1.8vw,1.58rem);
      font-weight:850;
    }

    .team-dots {
      margin-top:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .team-dot {
      width:10px;
      height:10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.22);
      background:rgba(255,255,255,.18);
      transition:transform .18s ease, background .18s ease, width .18s ease, border-color .18s ease;
    }

    .team-dot.active {
      width:28px;
      background:var(--lime);
      border-color:transparent;
      transform:none;
    }

    .team-swipe-hint {
      display:none;
      margin:12px 0 0;
      text-align:center;
      font-size:.9rem;
      color:var(--muted);
    }

    .team-nav {
      position:absolute;
      top:41%;
      width:48px;
      height:48px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(0,19,26,.86);
      color:var(--white);
      display:grid;
      place-items:center;
      transform:translateY(-50%);
      cursor:pointer;
      z-index:8;
      box-shadow:0 12px 30px rgba(0,0,0,.26);
      transition:background .18s ease, border-color .18s ease, transform .18s ease;
    }

    .team-nav svg {
      width:20px;
      height:20px;
      pointer-events:none;
    }

    .team-nav:hover {
      background:rgba(11,54,71,.96);
      border-color:rgba(225,251,34,.36);
      transform:translateY(-50%) scale(1.04);
    }

    .team-prev { left:-22px; }
    .team-next { right:-22px; }

    /* Cambio de integrante: el marco permanece fijo y se mueve
       el contenido para que el carrusel se perciba realmente. */
    .team-carousel.team-shift-next.team-is-exiting .team-media-panel img {
      animation:teamPhotoExitNext .17s ease-in forwards;
    }

    .team-carousel.team-shift-next.team-is-entering .team-media-panel img {
      animation:teamPhotoEnterNext .30s cubic-bezier(.2,.75,.2,1) both;
    }

    .team-carousel.team-shift-prev.team-is-exiting .team-media-panel img {
      animation:teamPhotoExitPrev .17s ease-in forwards;
    }

    .team-carousel.team-shift-prev.team-is-entering .team-media-panel img {
      animation:teamPhotoEnterPrev .30s cubic-bezier(.2,.75,.2,1) both;
    }

    .team-carousel.team-shift-next.team-is-exiting #teamMemberName {
      animation:teamTextExitNext .15s ease-in forwards;
    }

    .team-carousel.team-shift-next.team-is-entering #teamMemberName {
      animation:teamTextEnterNext .28s cubic-bezier(.2,.75,.2,1) both;
    }

    .team-carousel.team-shift-prev.team-is-exiting #teamMemberName {
      animation:teamTextExitPrev .15s ease-in forwards;
    }

    .team-carousel.team-shift-prev.team-is-entering #teamMemberName {
      animation:teamTextEnterPrev .28s cubic-bezier(.2,.75,.2,1) both;
    }

    @keyframes teamPhotoExitNext {
      from { opacity:.82; transform:translateX(0) scale(1.025); filter:none; }
      to   { opacity:0; transform:translateX(-44px) scale(.985); filter:blur(2px); }
    }

    @keyframes teamPhotoEnterNext {
      from { opacity:0; transform:translateX(44px) scale(.985); filter:blur(2px); }
      to   { opacity:.82; transform:translateX(0) scale(1.025); filter:none; }
    }

    @keyframes teamPhotoExitPrev {
      from { opacity:.82; transform:translateX(0) scale(1.025); filter:none; }
      to   { opacity:0; transform:translateX(44px) scale(.985); filter:blur(2px); }
    }

    @keyframes teamPhotoEnterPrev {
      from { opacity:0; transform:translateX(-44px) scale(.985); filter:blur(2px); }
      to   { opacity:.82; transform:translateX(0) scale(1.025); filter:none; }
    }

    @keyframes teamTextExitNext {
      from { opacity:1; transform:translateX(0); }
      to   { opacity:0; transform:translateX(-22px); }
    }

    @keyframes teamTextEnterNext {
      from { opacity:0; transform:translateX(22px); }
      to   { opacity:1; transform:translateX(0); }
    }

    @keyframes teamTextExitPrev {
      from { opacity:1; transform:translateX(0); }
      to   { opacity:0; transform:translateX(22px); }
    }

    @keyframes teamTextEnterPrev {
      from { opacity:0; transform:translateX(-22px); }
      to   { opacity:1; transform:translateX(0); }
    }

    /* Datos individuales del integrante:
       cada fila anima por separado para reforzar el cambio de perfil. */
    .team-carousel.team-shift-next.team-is-exiting ~ .team-feature-copy .team-member-detail {
      animation:teamDetailExitNext .14s ease-in forwards;
    }

    .team-carousel.team-shift-prev.team-is-exiting ~ .team-feature-copy .team-member-detail {
      animation:teamDetailExitPrev .14s ease-in forwards;
    }

    .team-carousel.team-shift-next.team-is-entering ~ .team-feature-copy .team-member-detail {
      animation:teamDetailEnterNext .34s cubic-bezier(.2,.75,.2,1) both;
    }

    .team-carousel.team-shift-prev.team-is-entering ~ .team-feature-copy .team-member-detail {
      animation:teamDetailEnterPrev .34s cubic-bezier(.2,.75,.2,1) both;
    }

    .team-feature-copy .team-member-detail:nth-child(1) { animation-delay:.02s; }
    .team-feature-copy .team-member-detail:nth-child(2) { animation-delay:.07s; }
    .team-feature-copy .team-member-detail:nth-child(3) { animation-delay:.12s; }

    @keyframes teamDetailExitNext {
      from { opacity:1; transform:translateX(0); }
      to   { opacity:0; transform:translateX(-26px); }
    }

    @keyframes teamDetailEnterNext {
      from { opacity:0; transform:translateX(28px); }
      to   { opacity:1; transform:translateX(0); }
    }

    @keyframes teamDetailExitPrev {
      from { opacity:1; transform:translateX(0); }
      to   { opacity:0; transform:translateX(26px); }
    }

    @keyframes teamDetailEnterPrev {
      from { opacity:0; transform:translateX(-28px); }
      to   { opacity:1; transform:translateX(0); }
    }

    @media (max-width: 720px) {
      .team-feature-copy {
        order:1;
        width:100%;
      }

      .team-carousel {
        order:2;
        width:100%;
        max-width:520px;
        margin:0 auto;
      }

      .team-nav {
        display:none !important;
      }

      .team-member-name {
        font-size:1.18rem;
      }

      .team-member-detail span {
        font-size:.88rem;
      }

      .team-member-detail strong {
        font-size:1.16rem;
      }

      .team-member-name-overlay {
        left:14px;
        right:14px;
        bottom:14px;
        padding:11px 14px;
        border-radius:14px;
        font-size:1.12rem;
      }

      .team-media-panel::before {
        inset:9%;
        opacity:.13;
      }

      .team-dots {
        margin-top:12px;
      }

      .team-swipe-hint {
        display:block;
      }
    }

    .btn.primary { background:var(--lime); color:var(--navy); }
    .btn.secondary { background:var(--blue); color:white; }
    .btn.ghost { background:rgba(255,255,255,.06); color:var(--white); border:1px solid var(--line); }


    /* =========================================================
       PÁGINA SERVICIOS: categorías + carruseles desplegables
       ========================================================= */
    .services-directory {
      overflow:visible;
    }

    .service-category-nav {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin:0 0 clamp(64px,8vw,100px);
    }

    .service-category-link {
      min-height:76px;
      padding:16px 20px;
      border:1px solid rgba(225,251,34,.28);
      border-radius:999px;
      background:var(--lime);
      color:#FFFFFF;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      cursor:pointer;
      box-shadow:
        0 14px 34px rgba(225,251,34,.18),
        inset 0 1px 0 rgba(255,255,255,.14);
      transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    }

    .service-category-link strong {
      font-size:clamp(1rem,1.8vw,1.2rem);
      line-height:1.15;
      font-weight:900;
      color:#00131A;
      letter-spacing:-.01em;
    }

    .service-category-link:hover {
      transform:translateY(-3px);
      filter:brightness(1.04);
      box-shadow:
        0 18px 38px rgba(225,251,34,.24),
        inset 0 1px 0 rgba(255,255,255,.16);
    }

    .services-category-stack {
      display:grid;
      gap:18px;
    }

    .service-category {
      scroll-margin-top:calc(var(--header-h) + 24px);
      border:1px solid var(--line);
      border-radius:28px;
      background:
        linear-gradient(145deg,rgba(2,43,58,.66),rgba(0,19,26,.74));
      overflow:hidden;
      box-shadow:0 20px 55px rgba(0,0,0,.16);
    }

    .service-category-toggle {
      width:100%;
      min-height:126px;
      padding:26px 30px;
      border:0;
      color:var(--white);
      background:transparent;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      text-align:left;
      cursor:pointer;
    }

    .service-category-heading {
      display:flex;
      align-items:center;
      min-width:0;
    }

    .service-category-label {
      display:block;
      color:var(--muted);
      font-size:.72rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
      margin-bottom:7px;
    }

    .service-category-title {
      display:block;
      font-size:clamp(1.75rem,4vw,3.4rem);
      line-height:1;
      letter-spacing:-.04em;
      font-weight:900;
    }

    .service-category-chevron {
      width:48px;
      height:48px;
      border-radius:50%;
      display:grid;
      place-items:center;
      flex:0 0 48px;
      color:var(--navy);
      background:var(--lime);
      transition:transform .32s ease, background .2s ease;
    }

    .service-category-chevron svg {
      width:22px;
      height:22px;
    }

    .service-category.open .service-category-chevron {
      transform:rotate(180deg);
    }

    .service-category-panel {
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .5s cubic-bezier(.2,.75,.2,1);
    }

    .service-category.open .service-category-panel {
      grid-template-rows:1fr;
    }

    .service-category-panel-inner {
      overflow:hidden;
    }

    .service-category-intro {
      padding:0 30px 22px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:24px;
      color:var(--muted);
    }

    .service-category-intro p {
      margin:0;
      max-width:66ch;
      text-align:justify;
      text-justify:inter-word;
      hyphens:auto;
    }

    .category-swipe-note {
      color:rgba(246,253,240,.55);
      font-size:.76rem;
      font-weight:750;
      white-space:nowrap;
    }

    .category-carousel-shell {
      position:relative;
      padding:0 64px 8px;
    }

    .category-carousel {
      display:flex;
      gap:16px;
      overflow-x:auto;
      overflow-y:hidden;
      scroll-snap-type:x mandatory;
      scroll-behavior:smooth;
      scrollbar-width:none;
      overscroll-behavior-x:contain;
      padding:8px 4px 26px;
      touch-action:pan-x;
    }

    .category-carousel::-webkit-scrollbar {
      display:none;
    }

    .category-service-card {
      flex:0 0 min(370px,34vw);
      min-width:300px;
      min-height:430px;
      scroll-snap-align:start;
      border:1px solid var(--line);
      border-radius:24px;
      overflow:hidden;
      background:rgba(0,19,26,.72);
      box-shadow:0 18px 46px rgba(0,0,0,.22);
      display:flex;
      flex-direction:column;
      transition:transform .2s ease, border-color .2s ease;
    }

    .category-service-card:hover {
      transform:translateY(-5px);
      border-color:rgba(20,210,243,.36);
    }

    .category-service-visual {
      min-height:200px;
      position:relative;
      overflow:hidden;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      padding:18px;
      background:
        linear-gradient(180deg,rgba(0,19,26,.05),rgba(0,19,26,.7)),
        radial-gradient(circle at 78% 22%,rgba(20,210,243,.28),transparent 31%),
        radial-gradient(circle at 18% 82%,rgba(225,251,34,.10),transparent 28%),
        linear-gradient(145deg,#064B62,#00131A);
    }

    .category-service-visual::after {
      content:"+";
      position:absolute;
      right:18px;
      top:-18px;
      font-size:130px;
      line-height:1;
      color:rgba(20,210,243,.12);
      font-weight:200;
    }

    .category-service-photo {
      position:relative;
      z-index:1;
      color:rgba(246,253,240,.56);
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.06em;
    }

    .category-service-index {
      position:relative;
      z-index:1;
      color:var(--cyan);
      font-size:.75rem;
      font-weight:900;
      letter-spacing:.12em;
    }

    .category-service-body {
      padding:22px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:space-between;
      flex:1;
      text-align:center;
    }

    .category-service-body h3 {
      width:100%;
      min-height:110px;
      margin:0;
      display:grid;
      place-items:center;
      padding:4px 6px 14px;
      font-size:clamp(1.45rem,2.6vw,2rem);
      letter-spacing:-.035em;
      line-height:1.12;
      text-align:center;
      text-wrap:balance;
      overflow-wrap:anywhere;
      hyphens:auto;
    }

    .category-service-body p {
      color:var(--muted);
      margin:12px 0 24px;
    }

    .category-service-body .category-service-cta {
      width:100%;
      margin-top:auto;
      text-align:center;
    }

    .category-service-actions {
      display:none;
      grid-template-columns:1fr 1fr;
      gap:9px;
      margin-top:auto;
      width:100%;
    }

    .category-service-card.service-actions-open .category-service-cta {
      display:none;
    }

    .category-service-card.service-actions-open .category-service-actions {
      display:grid;
    }

    .category-service-whatsapp,
    .category-service-call {
      width:100%;
      min-height:46px;
      padding:11px 13px;
      color:#fff;
      text-align:center;
      line-height:1.15;
      font-size:.84rem;
    }

    .category-service-whatsapp {
      background:var(--green);
    }

    .category-service-call {
      background:var(--blue);
    }

    .category-carousel-control {
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:46px;
      height:46px;
      border-radius:50%;
      border:1px solid var(--line);
      background:rgba(0,19,26,.9);
      color:var(--white);
      display:grid;
      place-items:center;
      cursor:pointer;
      z-index:4;
      box-shadow:0 10px 28px rgba(0,0,0,.28);
    }

    .category-carousel-control svg {
      width:22px;
      height:22px;
    }

    .category-carousel-control.category-prev { left:8px; }
    .category-carousel-control.category-next { right:8px; }

    .category-carousel-dots {
      display:flex;
      justify-content:center;
      align-items:center;
      gap:7px;
      padding:0 0 28px;
    }

    .category-carousel-dot {
      width:8px;
      height:8px;
      border-radius:999px;
      background:rgba(255,255,255,.22);
      transition:width .2s ease, background .2s ease;
    }

    .category-carousel-dot.active {
      width:28px;
      background:var(--lime);
    }


    /* =========================================================
       TRASLADOS: subcategorías Ambulancia / Reparticiones
       ========================================================= */
    .transfer-category-intro {
      padding-bottom:18px;
    }

    .transfer-option-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      padding:0 30px 28px;
    }

    .transfer-option-button {
      min-height:118px;
      padding:18px 20px;
      border:1px solid rgba(225,251,34,.20);
      border-radius:22px;
      background:
        radial-gradient(circle at 90% 10%,rgba(225,251,34,.08),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
      color:var(--white);
      display:grid;
      grid-template-columns:58px minmax(0,1fr) 38px;
      align-items:center;
      gap:16px;
      text-align:left;
      cursor:pointer;
      box-shadow:0 15px 40px rgba(0,0,0,.16);
      transition:transform .2s ease, border-color .2s ease, background .2s ease;
    }

    .transfer-option-button:hover {
      transform:translateY(-3px);
      border-color:rgba(225,251,34,.42);
    }

    .transfer-option-button.active {
      border-color:rgba(225,251,34,.62);
      background:
        radial-gradient(circle at 90% 10%,rgba(225,251,34,.14),transparent 36%),
        linear-gradient(145deg,rgba(90,198,9,.13),rgba(255,255,255,.025));
    }

    .transfer-option-icon {
      width:58px;
      height:58px;
      border-radius:17px;
      display:grid;
      place-items:center;
      color:var(--navy);
      background:var(--lime);
      box-shadow:0 10px 28px rgba(225,251,34,.16);
    }

    .transfer-option-icon svg {
      width:38px;
      height:38px;
    }

    .transfer-option-copy {
      min-width:0;
      display:grid;
      gap:5px;
    }

    .transfer-option-copy strong {
      font-size:clamp(1.08rem,2vw,1.35rem);
      line-height:1.1;
    }

    .transfer-option-copy small {
      color:var(--muted);
      font-size:.78rem;
      font-weight:750;
    }

    .transfer-option-arrow {
      width:38px;
      height:38px;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--lime);
      border:1px solid rgba(225,251,34,.20);
      transition:transform .28s ease, background .2s ease;
    }

    .transfer-option-arrow svg {
      width:20px;
      height:20px;
    }

    .transfer-option-button.active .transfer-option-arrow {
      transform:rotate(180deg);
      background:rgba(225,251,34,.08);
    }

    .transfer-subpanel {
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .46s cubic-bezier(.2,.75,.2,1);
    }

    .transfer-subpanel.open {
      grid-template-rows:1fr;
    }

    .transfer-subpanel-inner {
      overflow:hidden;
    }

    .transfer-subpanel-head {
      padding:4px 30px 18px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:end;
      column-gap:20px;
    }

    .transfer-subpanel-head .kicker {
      grid-column:1/-1;
      margin-bottom:8px;
    }

    .transfer-subpanel-head h3 {
      font-size:clamp(1.8rem,4vw,3rem);
      letter-spacing:-.04em;
    }

    .transfer-subpanel .category-carousel-dots {
      gap:5px;
    }

    .transfer-subpanel .category-carousel-dot {
      width:6px;
      height:6px;
    }

    .transfer-subpanel .category-carousel-dot.active {
      width:20px;
    }


    /* =========================================================
       COBERTURA MÉDICA: subcategorías Eventos / Empresas
       ========================================================= */
    .coverage-category-intro {
      padding-bottom:18px;
    }

    .coverage-option-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      padding:0 30px 28px;
    }

    .coverage-option-button {
      min-height:118px;
      padding:18px 20px;
      border:1px solid rgba(225,251,34,.20);
      border-radius:22px;
      background:
        radial-gradient(circle at 90% 10%,rgba(225,251,34,.08),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
      color:var(--white);
      display:grid;
      grid-template-columns:58px minmax(0,1fr) 38px;
      align-items:center;
      gap:16px;
      text-align:left;
      cursor:pointer;
      box-shadow:0 15px 40px rgba(0,0,0,.16);
      transition:transform .2s ease, border-color .2s ease, background .2s ease;
    }

    .coverage-option-button:hover {
      transform:translateY(-3px);
      border-color:rgba(225,251,34,.42);
    }

    .coverage-option-button.active {
      border-color:rgba(225,251,34,.62);
      background:
        radial-gradient(circle at 90% 10%,rgba(225,251,34,.14),transparent 36%),
        linear-gradient(145deg,rgba(90,198,9,.13),rgba(255,255,255,.025));
    }

    .coverage-option-icon {
      width:58px;
      height:58px;
      border-radius:17px;
      display:grid;
      place-items:center;
      color:var(--navy);
      background:var(--lime);
      box-shadow:0 10px 28px rgba(225,251,34,.16);
    }

    .coverage-option-icon svg {
      width:38px;
      height:38px;
    }

    .coverage-option-copy {
      min-width:0;
      display:grid;
      gap:5px;
    }

    .coverage-option-copy strong {
      font-size:clamp(1.08rem,2vw,1.35rem);
      line-height:1.1;
    }

    .coverage-option-copy small {
      color:var(--muted);
      font-size:.78rem;
      font-weight:750;
    }

    .coverage-option-arrow {
      width:38px;
      height:38px;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--lime);
      border:1px solid rgba(225,251,34,.20);
      transition:transform .28s ease, background .2s ease;
    }

    .coverage-option-arrow svg {
      width:20px;
      height:20px;
    }

    .coverage-option-button.active .coverage-option-arrow {
      transform:rotate(180deg);
      background:rgba(225,251,34,.08);
    }

    .coverage-subpanel {
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .46s cubic-bezier(.2,.75,.2,1);
    }

    .coverage-subpanel.open {
      grid-template-rows:1fr;
    }

    .coverage-subpanel-inner {
      overflow:hidden;
    }

    .coverage-subpanel-head {
      padding:4px 30px 18px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:end;
      column-gap:20px;
    }

    .coverage-subpanel-head .kicker {
      grid-column:1/-1;
      margin-bottom:8px;
    }

    .coverage-subpanel-head h3 {
      font-size:clamp(1.8rem,4vw,3rem);
      letter-spacing:-.04em;
    }

    .coverage-subpanel .category-carousel-dots {
      gap:5px;
    }

    .coverage-subpanel .category-carousel-dot {
      width:6px;
      height:6px;
    }

    .coverage-subpanel .category-carousel-dot.active {
      width:20px;
    }


    /* =========================================================
       BENEFICIOS: íconos minimalistas
       ========================================================= */
    .benefit-icon {
      width:52px;
      height:52px;
      display:grid;
      place-items:center;
      margin:0 auto 28px;
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      color:var(--lime);
    }

    .benefit-icon svg {
      width:46px;
      height:46px;
      display:block;
    }

    .benefit-card {
      text-align:center;
    }

    .benefit-card h3 {
      text-align:center;
      max-width:24ch;
      margin-left:auto;
      margin-right:auto;
    }

    .benefit-card p {
      width:100%;
      max-width:42ch;
      margin:14px auto 0;
      text-align:justify;
      text-justify:inter-word;
      text-align-last:center;
      hyphens:auto;
    }

    @media (min-width:721px) {
      .benefit-card-local p {
        max-width:36ch;
        text-align:left;
        text-align-last:left;
        text-wrap:pretty;
        margin-left:auto;
        margin-right:auto;
      }
    }

    /* Capacidad operativa: bloques editoriales alternados */
    .operational-stack {
      display:grid;
      gap:clamp(72px,10vw,132px);
      margin-top:24px;
    }
    .operational-item {
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
      align-items:center;
      gap:clamp(34px,6vw,86px);
      min-height:430px;
    }
    .operational-item.operational-reverse .operational-media {
      order:2;
    }
    .operational-item.operational-reverse .operational-copy {
      order:1;
    }

    .team-operational-item,
    .units-operational-item {
      grid-template-columns:1fr;
      gap:26px;
    }

    .team-operational-item .operational-copy,
    .units-operational-item .operational-copy {
      order:1;
      max-width:760px;
      margin:0 auto;
      text-align:center;
    }

    .team-operational-item .operational-media,
    .units-operational-item .operational-media {
      order:2;
      width:100%;
    }

    .team-operational-item .operational-copy > p:last-child,
    .units-operational-item .operational-copy > p:last-child {
      margin-left:auto;
      margin-right:auto;
    }
    .operational-media {
      min-width:0;
    }
    .operational-image-placeholder {
      position:relative;
      min-height:430px;
      overflow:hidden;
      border-radius:32px;
      border:1px solid var(--line);
      display:grid;
      place-items:center;
      isolation:isolate;
      background:
        radial-gradient(circle at 68% 25%, rgba(20,210,243,.24), transparent 30%),
        radial-gradient(circle at 18% 78%, rgba(225,251,34,.09), transparent 30%),
        linear-gradient(145deg,#043749,#00131A 72%);
      box-shadow:var(--shadow);
    }
    .operational-image-placeholder::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      background:
        linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.055) 39% 40%,transparent 41%),
        repeating-linear-gradient(0deg,transparent 0 38px,rgba(20,210,243,.035) 39px 40px);
    }
    .operational-image-placeholder img {
      width:min(56%,330px);
      opacity:.55;
      filter:drop-shadow(0 26px 60px rgba(0,0,0,.38));
      transition:transform .9s cubic-bezier(.2,.75,.2,1), opacity .7s ease;
    }
    .operational-media.is-visible .operational-image-placeholder img {
      transform:scale(1.04);
      opacity:.68;
    }
    .operational-image-placeholder span {
      position:absolute;
      left:20px;
      bottom:20px;
      max-width:calc(100% - 40px);
      padding:10px 14px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(0,19,26,.78);
      color:var(--muted);
      font-size:.78rem;
      letter-spacing:.03em;
      backdrop-filter:blur(10px);
    }
    .operational-copy {
      max-width:540px;
    }
    .operational-copy h3 {
      font-size:clamp(2rem,4vw,4rem);
      letter-spacing:-.045em;
      line-height:.98;
      margin-bottom:20px;
    }
    .operational-copy > p:last-child {
      margin:0;
      color:var(--muted);
      font-size:clamp(1rem,1.35vw,1.14rem);
      max-width:48ch;
    }

    .operational-description-below {
      width:min(100%,760px);
      margin:18px auto 0;
      color:var(--muted);
      font-size:clamp(1rem,1.35vw,1.14rem);
      line-height:1.65;
      text-align:center;
    }

    /* Orden inequívoco de las secciones:
       1. subtítulo + título
       2. fotografía
       3. descripción correspondiente, debajo de la fotografía */
    .team-operational-item > .operational-description-below,
    .units-operational-item > .operational-description-below {
      order:3;
      grid-column:1 / -1;
      align-self:start;
    }

    @media (min-width:721px) {
      .team-operational-item {
        grid-template-columns:minmax(0,.88fr) minmax(360px,1fr);
        column-gap:clamp(42px,6vw,82px);
        row-gap:0;
        align-items:start;
      }

      .team-operational-item .team-copy-stack {
        grid-column:1;
        grid-row:1;
        width:100%;
        max-width:42ch;
        margin:0;
        justify-self:end;
        align-self:start;
        padding-top:4px;
      }

      .team-operational-item .operational-copy {
        width:100%;
        max-width:none;
        margin:0;
        text-align:center;
      }

      .team-operational-item .operational-copy .kicker,
      .team-operational-item .operational-copy h3 {
        text-align:center;
      }

      .team-operational-item .operational-copy h3 {
        margin-bottom:0;
      }

      .team-operational-item .team-copy-stack > .operational-description-below {
        width:100%;
        max-width:none;
        margin:22px 0 0;
        text-align:left;
      }

      .team-operational-item .operational-media {
        grid-column:2;
        grid-row:1;
        order:initial;
        width:min(100%,520px);
        justify-self:start;
        align-self:start;
      }

      .team-operational-item .operational-image-placeholder {
        width:100%;
        min-height:0;
        aspect-ratio:1 / 1;
        border-radius:28px;
      }

      .team-operational-item .operational-image-placeholder img {
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center top;
        opacity:.82;
        filter:none;
      }
    }


    /* =========================================================
       EQUIPO MÉDICO Y TECNOLOGÍA
       Fotografía + nombre sincronizados
       ========================================================= */
    .equipment-section-title {
      max-width:760px;
      margin:0 auto 14px;
      text-align:center;
    }

    .equipment-section-title .kicker {
      text-align:center;
    }

    .equipment-section-title h3 {
      margin:0;
      font-size:clamp(2rem,4vw,4rem);
      line-height:.98;
      letter-spacing:-.045em;
      text-align:center;
      text-wrap:balance;
    }

    .equipment-operational-item {
      display:block;
      min-height:0;
    }

    .medical-equipment-carousel {
      position:relative;
      width:100%;
      min-width:0;
      padding:0 68px 42px;
      overflow:hidden;
      outline:none;
    }

    .equipment-slides {
      position:relative;
      min-height:430px;
    }

    .equipment-slide {
      position:absolute;
      inset:0;
      display:block;
      opacity:0;
      visibility:hidden;
      transform:translateX(22px);
      pointer-events:none;
      transition:
        opacity .38s ease,
        transform .48s cubic-bezier(.2,.75,.2,1),
        visibility .38s ease;
    }

    .equipment-slide.active {
      position:relative;
      opacity:1;
      visibility:visible;
      transform:none;
      pointer-events:auto;
    }

    .equipment-photo-wrap {
      width:min(100%,920px);
      min-width:0;
      margin:0 auto;
    }

    .equipment-photo-placeholder {
      position:relative;
      min-height:430px;
      overflow:hidden;
      border-radius:32px;
      border:1px solid var(--line);
      display:grid;
      place-items:center;
      isolation:isolate;
      background:
        radial-gradient(circle at 68% 25%, rgba(20,210,243,.24), transparent 30%),
        radial-gradient(circle at 18% 78%, rgba(225,251,34,.09), transparent 30%),
        linear-gradient(145deg,#043749,#00131A 72%);
      box-shadow:var(--shadow);
    }

    .equipment-photo-placeholder::before {
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      background:
        linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.055) 39% 40%,transparent 41%),
        repeating-linear-gradient(0deg,transparent 0 38px,rgba(20,210,243,.035) 39px 40px);
    }

    .equipment-image-title {
      position:absolute;
      top:18px;
      left:50%;
      transform:translateX(-50%);
      z-index:3;
      width:min(86%,620px);
      margin:0;
      padding:10px 16px;
      border-radius:14px;
      background:rgba(0,19,26,.72);
      color:var(--white);
      font-size:clamp(1.05rem,1.7vw,1.45rem);
      line-height:1.18;
      font-weight:850;
      letter-spacing:-.02em;
      text-align:center;
      text-wrap:balance;
      box-shadow:0 8px 24px rgba(0,0,0,.18);
      backdrop-filter:blur(7px);
      -webkit-backdrop-filter:blur(7px);
    }


    .equipment-photo-label {
      position:absolute;
      left:20px;
      bottom:20px;
      max-width:calc(100% - 40px);
      padding:10px 14px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(0,19,26,.80);
      color:var(--muted);
      font-size:.78rem;
      letter-spacing:.03em;
      backdrop-filter:blur(10px);
    }




    .equipment-description {
      width:min(100%,820px);
      margin:20px auto 0;
      padding:0 18px;
      color:rgba(246,253,240,.9);
      font-size:clamp(1.08rem,1.55vw,1.28rem);
      line-height:1.7;
      font-weight:600;
      text-align:center;
      text-wrap:balance;
    }

    .equipment-nav {
      position:absolute;
      top:42%;
      width:48px;
      height:48px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(0,19,26,.86);
      color:var(--white);
      display:grid;
      place-items:center;
      transform:translateY(-50%);
      cursor:pointer;
      z-index:8;
      box-shadow:0 12px 30px rgba(0,0,0,.26);
      transition:background .18s ease, border-color .18s ease, transform .18s ease;
    }

    .equipment-nav:hover {
      background:var(--navy-2);
      border-color:rgba(225,251,34,.34);
    }

    .equipment-nav svg {
      width:22px;
      height:22px;
    }

    .equipment-prev {
      left:max(4px,calc(50% - 526px));
    }

    .equipment-next {
      left:auto;
      right:max(4px,calc(50% - 526px));
    }

    .equipment-dots {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      margin-top:24px;
    }

    .equipment-dot {
      width:7px;
      height:7px;
      border-radius:999px;
      background:rgba(255,255,255,.22);
      transition:width .2s ease, background .2s ease;
    }

    .equipment-dot.active {
      width:24px;
      background:var(--lime);
    }

    .equipment-swipe-hint {
      display:none;
    }

    .process {
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:12px;
      counter-reset:step;
    }
    .process-step {
      min-height:170px;
      border-radius:22px;
      border:1px solid var(--line);
      padding:22px;
      background:rgba(255,255,255,.035);
      position:relative;
    }
    .process-step::before {
      counter-increment:step;
      content:"0" counter(step);
      display:block;
      color:var(--cyan);
      font-weight:900;
      letter-spacing:.08em;
      margin-bottom:24px;
    }
    .process-step:not(:last-child)::after {
      content:"";
      position:absolute;
      right:-13px;
      top:50%;
      width:14px;
      height:1px;
      background:var(--lime);
      opacity:.55;
    }

    .contact-grid {
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .contact-item {
      min-height:165px;
      border:1px solid var(--line);
      border-radius:22px;
      padding:22px;
      background:rgba(255,255,255,.035);
    }
    .contact-item span {
      display:block;
      color:var(--cyan);
      font-size:.76rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.1em;
      margin-bottom:16px;
    }
    .contact-item strong {
      display:block;
      overflow-wrap:anywhere;
    }

    /* Redes sociales */
    .contact-social-links {
      width:max-content;
      max-width:100%;
      margin:34px auto 0;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:20px;
    }

    .social-icon-link {
      display:grid;
      place-items:center;
      color:var(--lime);
      border:1px solid rgba(225,251,34,.28);
      background:rgba(225,251,34,.045);
      box-shadow:0 10px 28px rgba(0,0,0,.16);
      transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        color .2s ease;
    }

    .social-icon-link:hover,
    .social-icon-link:focus-visible {
      transform:translateY(-3px);
      background:var(--lime);
      border-color:var(--lime);
      color:var(--navy);
      box-shadow:0 16px 34px rgba(225,251,34,.16);
      outline:none;
    }

    .social-icon-link:focus-visible {
      box-shadow:
        0 0 0 3px rgba(0,19,26,1),
        0 0 0 6px rgba(225,251,34,.62);
    }

    .social-icon-link svg {
      width:52%;
      height:52%;
      display:block;
    }

    .social-icon-link-large {
      width:76px;
      height:76px;
      border-radius:22px;
    }

    .footer-social-strip {
      margin-top:28px;
      padding:18px 0 0;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
    }

    .footer-social-label {
      color:var(--muted);
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.04em;
    }

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

    .social-icon-link-compact {
      width:42px;
      height:42px;
      border-radius:13px;
      box-shadow:none;
    }

    @media (max-width:720px) {
      .contact-social-links {
        margin-top:28px;
        gap:14px;
      }

      .social-icon-link-large {
        width:64px;
        height:64px;
        border-radius:18px;
      }

      .footer-social-strip {
        margin-top:22px;
        padding-top:16px;
        gap:14px;
      }

      .social-icon-link-compact {
        width:44px;
        height:44px;
      }
    }

    .map-placeholder {
      min-height:390px;
      border-radius:30px;
      border:1px solid var(--line);
      background:
        linear-gradient(45deg, transparent 49%, rgba(20,210,243,.06) 50% 51%, transparent 52%) 0 0/46px 46px,
        linear-gradient(-45deg, transparent 49%, rgba(225,251,34,.04) 50% 51%, transparent 52%) 0 0/46px 46px,
        var(--navy-2);
      display:grid;
      place-items:center;
      text-align:center;
      padding:30px;
    }
    .map-placeholder .pin {
      width:70px;height:70px;border-radius:50% 50% 50% 10%;
      background:var(--lime);
      transform:rotate(-45deg);
      margin:0 auto 30px;
      box-shadow:0 12px 40px rgba(225,251,34,.15);
    }
    .map-placeholder .pin::after {
      content:"";
      width:24px;height:24px;border-radius:50%;background:var(--navy);
      position:absolute;
      margin:23px;
    }

    .form-layout {
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:30px;
      align-items:start;
    }
    .form {
      border:1px solid var(--line);
      background:rgba(255,255,255,.035);
      border-radius:30px;
      padding:28px;
      display:grid;
      gap:18px;
    }
    .field { display:grid; gap:8px; }
    .field label { font-weight:800; font-size:.88rem; }
    .field input, .field select, .field textarea {
      width:100%;
      color:var(--white);
      background:#021E28;
      border:1px solid rgba(255,255,255,.14);
      border-radius:14px;
      padding:14px 15px;
      outline:none;
    }
    .field input:focus, .field select:focus, .field textarea:focus {
      border-color:var(--cyan);
      box-shadow:0 0 0 3px rgba(20,210,243,.10);
    }
    .field textarea { min-height:126px; resize:vertical; }
    .check {
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--muted);
      font-size:.9rem;
    }
    .check input { margin-top:5px; accent-color:var(--lime); }
    .form-note {
      min-height:24px;
      color:var(--cyan);
      font-weight:700;
      font-size:.9rem;
    }

    .faq {
      display:grid;
      gap:10px;
      max-width:900px;
    }
    .faq-item {
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,255,255,.03);
      overflow:hidden;
    }
    .faq-q {
      width:100%;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:20px;
      padding:20px;
      color:var(--white);
      background:transparent;
      border:0;
      text-align:left;
      cursor:pointer;
      font-weight:850;
    }
    .faq-q::after { content:"+"; color:var(--lime); font-size:1.4rem; }
    .faq-item.open .faq-q::after { content:"−"; }
    .faq-a {
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .25s ease;
    }
    .faq-item.open .faq-a { grid-template-rows:1fr; }
    .faq-a > div { overflow:hidden; }
    .faq-a p { margin:0; padding:0 20px 20px; color:var(--muted); }

    .site-footer {
      border-top:1px solid var(--line);
      background:#000F15;
      padding:56px 0 32px;
    }
    .footer-grid {
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:28px;
    }
    .footer-brand img { width:86px; }
    .footer-brand p { color:var(--muted); max-width:42ch; }
    .footer-links { display:grid; gap:10px; align-content:start; }
    .footer-links button, .footer-links a {
      width:max-content;
      color:var(--muted);
      border:0;background:none;padding:0;cursor:pointer;text-align:left;
    }
    .footer-links button:hover, .footer-links a:hover { color:var(--white); }
    .footer-channel-name {
      color:var(--white);
      font-weight:800;
    }
    .footer-bottom {
      margin-top:34px;
      padding-top:24px;
      border-top:1px solid var(--line);
      color:rgba(246,253,240,.52);
      font-size:.84rem;
    }


    /* Botones flotantes globales */
    .floating-actions {
      position:fixed;
      right:14px;
      top:auto;
      bottom:22px;
      transform:none;
      z-index:180;
      display:flex;
      flex-direction:column;
      gap:9px;
      align-items:flex-end;
    }
    .floating-action {
      --expanded-width:188px;
      width:50px;
      min-height:50px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border:0;
      border-radius:15px;
      color:#fff;
      padding:0;
      overflow:hidden;
      box-shadow:0 14px 34px rgba(0,0,0,.28);
      cursor:pointer;
      font-weight:900;
      white-space:nowrap;
      transition:
        width .34s cubic-bezier(.2,.8,.2,1),
        padding .34s cubic-bezier(.2,.8,.2,1),
        box-shadow .22s ease,
        transform .22s ease;
    }
    .floating-action span {
      max-width:0;
      opacity:0;
      overflow:hidden;
      transform:translateX(12px);
      transition:
        max-width .34s cubic-bezier(.2,.8,.2,1),
        opacity .2s ease,
        transform .34s cubic-bezier(.2,.8,.2,1);
    }
    .floating-action svg {
      width:21px;
      height:21px;
      flex:0 0 21px;
      overflow:visible;
    }
    .floating-action.call { background:var(--blue); }
    .floating-action.whatsapp { background:var(--green); }
    .floating-action.ambulance {
      --expanded-width:232px;
      background:var(--red);
      min-height:50px;
    }

    @media (hover:hover) and (pointer:fine) {
      .floating-action:hover,
      .floating-action:focus-visible {
        width:var(--expanded-width);
        justify-content:flex-start;
        padding:0 16px;
        box-shadow:0 18px 42px rgba(0,0,0,.36);
        transform:translateX(-2px);
      }
      .floating-action:hover span,
      .floating-action:focus-visible span {
        max-width:180px;
        opacity:1;
        transform:translateX(0);
      }
    }

    /* Animaciones de entrada al hacer scroll */
    .scroll-reveal {
      opacity:0;
      transform:translateY(46px);
      transition:
        opacity .78s cubic-bezier(.2,.75,.2,1),
        transform .78s cubic-bezier(.2,.75,.2,1);
      will-change:opacity, transform;
    }
    .scroll-reveal.reveal-left { transform:translateX(-58px); }
    .scroll-reveal.reveal-right { transform:translateX(58px); }
    .scroll-reveal.reveal-scale { transform:translateY(24px) scale(.96); }
    .scroll-reveal.is-visible {
      opacity:1;
      transform:none;
    }

    .stagger-1 { transition-delay:.06s; }
    .stagger-2 { transition-delay:.12s; }
    .stagger-3 { transition-delay:.18s; }
    .stagger-4 { transition-delay:.24s; }
    .stagger-5 { transition-delay:.30s; }

    /* Movimiento ambiental muy sutil para evitar una experiencia estática */
    .media-panel img,
    .hero-mark {
      transition:transform .9s cubic-bezier(.2,.75,.2,1);
    }
    .media-panel.is-visible img {
      transform:scale(1.025);
    }

    @media (prefers-reduced-motion: reduce) {
      .scroll-reveal,
      .scroll-reveal.reveal-left,
      .scroll-reveal.reveal-right,
      .scroll-reveal.reveal-scale {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
      }
    }


    .toast {
      position:fixed;
      left:50%;
      bottom:22px;
      transform:translate(-50%,20px);
      max-width:min(520px,calc(100% - 30px));
      padding:13px 18px;
      border-radius:14px;
      background:rgba(2,43,58,.96);
      border:1px solid var(--line);
      color:var(--white);
      z-index:300;
      opacity:0;
      pointer-events:none;
      transition:.22s ease;
      box-shadow:var(--shadow);
    }
    .toast.show { opacity:1; transform:translate(-50%,0); }


    @media (max-width: 820px) {
      .operational-stack {
        gap:78px;
      }
      .operational-item,
      .operational-item.operational-reverse {
        grid-template-columns:1fr;
        gap:28px;
        min-height:0;
      }
      .operational-item .operational-media,
      .operational-item .operational-copy,
      .operational-item.operational-reverse .operational-media,
      .operational-item.operational-reverse .operational-copy {
        order:initial;
      }
      .operational-image-placeholder {
        min-height:340px;
      }
      .operational-copy {
        max-width:none;
      }
    }

    @media (max-width: 980px) {
      .main-nav {
        position:fixed;
        inset:var(--header-h) 16px auto 16px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        padding:16px;
        border-radius:22px;
        background:rgba(0,19,26,.98);
        border:1px solid var(--line);
        box-shadow:var(--shadow);
      }
      .site-header.menu-open .main-nav { display:flex; }
      .nav-link { text-align:left; padding:13px 14px; }
      .header-cta { display:none; }
      .menu-toggle { display:grid; place-items:center; }
      .grid-3 { grid-template-columns:1fr; }
      .feature-split, .form-layout { grid-template-columns:1fr; }
      .team-media-panel {
        width:100%;
        max-width:520px;
        margin:0 auto;
      }
      .contact-grid { grid-template-columns:repeat(2,1fr); }
      .process { grid-template-columns:1fr; }
      .process-step:not(:last-child)::after { display:none; }
      .service-list { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .footer-brand { grid-column:1/-1; }
    }

    @media (max-width: 720px) {
      :root { --header-h:68px; }
      .header-inner { width:min(100% - 24px,1180px); }
      .brand img { width:46px; height:46px; }
      .brand strong { display:none; }
      .section { padding:68px 0; }
      .container { width:min(100% - 28px,1180px); }
      .carousel-stage { height:470px; }
      .service-card {
        width:84vw;
        height:390px;
      }
      .service-card.prev {
        transform:translate(-50%,-50%) translateX(-88%) scale(.72);
        opacity:.26;
      }
      .service-card.next {
        transform:translate(-50%,-50%) translateX(88%) scale(.72);
        opacity:.26;
      }
      .service-content { padding:24px; }
      .carousel-control {
        top:auto;
        bottom:-4px;
        width:46px;height:46px;
      }
      .carousel-control.prev-btn { left:calc(50% - 64px); }
      .carousel-control.next-btn { right:calc(50% - 64px); }
      .carousel-dots { margin-top:42px; }
      .contact-grid { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr; }
      .floating-actions {
        right:8px;
        gap:8px;
      }
      .floating-action,
      .floating-action:hover,
      .floating-action:focus-visible {
        width:46px;
        min-height:46px;
        height:46px;
        padding:0;
        justify-content:center;
        border-radius:14px;
        transform:none;
      }
      .floating-action.ambulance {
        min-height:46px;
        height:46px;
      }
      .floating-action span {
        display:none;
      }
    }


    /* =========================================================
       OPTIMIZACIÓN ESPECÍFICA PARA TELÉFONOS
       Mantiene el diseño original y adapta interacción/tamaños a touch.
       ========================================================= */
    .swipe-hint {
      display:none;
    }

    /* Corrección de viewport móvil:
       el documento solo puede desplazarse verticalmente.
       Los carruseles horizontales siguen funcionando dentro de su propio contenedor. */
    html,
    body {
      width:100%;
      max-width:100%;
      overflow-x:clip !important;
      overscroll-behavior-x:none;
    }

    body {
      position:relative;
    }

    main,
    .page,
    .section,
    .site-footer {
      width:100%;
      max-width:100vw;
      overflow-x:clip;
    }


    @media (max-width: 720px) {
      .equipment-section-title {
        margin-bottom:10px;
        padding:0 10px;
      }

      .equipment-section-title h3 {
        font-size:clamp(2rem,9vw,3rem);
        line-height:1.02;
      }

      .medical-equipment-carousel {
        padding:0 0 30px;
        overflow:hidden;
        touch-action:pan-y;
        user-select:none;
        -webkit-user-select:none;
      }

      .equipment-slides {
        min-height:0;
      }

      .equipment-slide,
      .equipment-slide.active {
        display:block;
        min-height:0;
      }

      .equipment-photo-wrap {
        width:100%;
        margin:0;
      }

      .equipment-photo-placeholder {
        min-height:310px;
        border-radius:26px;
      }

      .equipment-image-title {
        top:12px;
        width:calc(100% - 28px);
        padding:9px 12px;
        border-radius:12px;
        font-size:clamp(1rem,4.7vw,1.22rem);
        line-height:1.16;
      }


      .equipment-photo-label {
        left:14px;
        bottom:14px;
        max-width:calc(100% - 28px);
        font-size:.72rem;
      }


      .equipment-description {
        width:100%;
        max-width:40ch;
        margin:18px auto 0;
        padding:0 14px;
        text-align:center;
        font-size:1.05rem;
        line-height:1.65;
        font-weight:600;
        color:rgba(246,253,240,.92);
      }

      .equipment-nav {
        display:none !important;
      }

      .equipment-dots {
        margin-top:20px;
        flex-wrap:wrap;
        padding:0 14px;
      }

      .equipment-swipe-hint {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        margin-top:12px;
        color:rgba(246,253,240,.58);
        font-size:.78rem;
        font-weight:750;
      }

      .equipment-swipe-hint svg {
        width:20px;
        height:20px;
        color:var(--cyan);
      }


      .benefit-icon {
        width:48px;
        height:48px;
        margin:0 auto 24px;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
      }

      .benefit-icon svg {
        width:42px;
        height:42px;
      }


      .coverage-category-intro {
        padding-bottom:14px;
      }

      .coverage-option-grid {
        grid-template-columns:1fr;
        gap:10px;
        padding:0 18px 22px;
      }

      .coverage-option-button {
        min-height:92px;
        padding:14px;
        grid-template-columns:50px minmax(0,1fr) 34px;
        gap:12px;
        border-radius:18px;
      }

      .coverage-option-button:hover {
        transform:none;
      }

      .coverage-option-icon {
        width:50px;
        height:50px;
        border-radius:15px;
      }

      .coverage-option-icon svg {
        width:32px;
        height:32px;
      }

      .coverage-option-copy strong {
        font-size:1.02rem;
      }

      .coverage-option-arrow {
        width:34px;
        height:34px;
      }

      .coverage-subpanel-head {
        padding:4px 18px 14px;
        display:block;
      }

      .coverage-subpanel-head h3 {
        font-size:clamp(1.55rem,8vw,2.25rem);
        margin-bottom:10px;
      }

      .coverage-subpanel-head .category-swipe-note {
        margin-top:0;
      }

      .coverage-subpanel .category-carousel-dots {
        padding-left:12px;
        padding-right:12px;
        flex-wrap:wrap;
        row-gap:5px;
      }


      .transfer-category-intro {
        padding-bottom:14px;
      }

      .transfer-option-grid {
        grid-template-columns:1fr;
        gap:10px;
        padding:0 18px 22px;
      }

      .transfer-option-button {
        min-height:92px;
        padding:14px;
        grid-template-columns:50px minmax(0,1fr) 34px;
        gap:12px;
        border-radius:18px;
      }

      .transfer-option-button:hover {
        transform:none;
      }

      .transfer-option-icon {
        width:50px;
        height:50px;
        border-radius:15px;
      }

      .transfer-option-icon svg {
        width:32px;
        height:32px;
      }

      .transfer-option-copy strong {
        font-size:1.02rem;
      }

      .transfer-option-arrow {
        width:34px;
        height:34px;
      }

      .transfer-subpanel-head {
        padding:4px 18px 14px;
        display:block;
      }

      .transfer-subpanel-head h3 {
        font-size:clamp(1.55rem,8vw,2.25rem);
        margin-bottom:10px;
      }

      .transfer-subpanel-head .category-swipe-note {
        margin-top:0;
      }

      .transfer-subpanel .category-carousel-dots {
        padding-left:12px;
        padding-right:12px;
        flex-wrap:wrap;
        row-gap:5px;
      }


      .service-category-nav {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-bottom:54px;
      }

      .service-category-link {
        min-height:58px;
        padding:13px 14px;
        border-radius:999px;
      }

      .service-category-link strong {
        font-size:.94rem;
      }

      .services-category-stack {
        gap:14px;
      }

      .service-category {
        border-radius:22px;
        scroll-margin-top:calc(var(--header-h) + 14px);
      }

      .service-category-toggle {
        min-height:104px;
        padding:20px 18px;
        gap:14px;
      }

      .service-category-heading {
        gap:0;
      }

      .service-category-title {
        font-size:clamp(1.55rem,8vw,2.25rem);
      }

      .service-category-label {
        font-size:.66rem;
        margin-bottom:5px;
      }

      .service-category-chevron {
        width:42px;
        height:42px;
        flex-basis:42px;
      }

      .service-category-intro {
        padding:0 18px 18px;
        display:block;
      }

      .service-category-intro p {
        font-size:.94rem;
      }

      .category-swipe-note {
        display:flex;
        margin-top:12px;
        color:var(--cyan);
      }

      .category-carousel-shell {
        padding:0;
      }

      .category-carousel {
        gap:12px;
        padding:6px 18px 22px;
        scroll-padding-inline:18px;
        touch-action:pan-x;
        -webkit-overflow-scrolling:touch;
      }

      .category-service-card {
        flex:0 0 calc(100vw - 70px);
        min-width:0;
        max-width:360px;
        min-height:410px;
        border-radius:22px;
        scroll-snap-align:center;
        scroll-snap-stop:always;
      }

      .category-service-card:hover {
        transform:none;
      }

      .category-service-visual {
        min-height:178px;
      }

      .category-service-body {
        padding:20px;
      }

      .category-service-actions {
        grid-template-columns:1fr;
        gap:8px;
      }

      .category-service-whatsapp,
      .category-service-call {
        min-height:48px;
        font-size:.88rem;
      }

      .category-service-body h3 {
        min-height:104px;
        font-size:clamp(1.4rem,6.5vw,1.85rem);
        line-height:1.13;
        text-align:center;
      }

      .category-carousel-control {
        display:none !important;
      }

      .category-carousel-dots {
        padding-bottom:22px;
      }


        overscroll-behavior-x:none;
        -webkit-text-size-adjust:100%;
      }

      body {
        padding-bottom:env(safe-area-inset-bottom);
        overscroll-behavior-x:none;
      }

      button,
      a,
      input,
      select,
      textarea {
        touch-action:manipulation;
      }

      .site-header {
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:0 !important;
        width:100% !important;
        max-width:100vw !important;
        transform:none !important;
        padding-left:env(safe-area-inset-left);
        padding-right:env(safe-area-inset-right);
        z-index:240;
      }

      .header-inner {
        width:calc(100% - 22px) !important;
        max-width:calc(100vw - 22px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        transform:none !important;
      }

      .header-inner {
        gap:10px;
      }

      .menu-toggle {
        width:48px;
        height:48px;
        flex:0 0 48px;
      }

      .main-nav {
        inset:calc(var(--header-h) + 8px) max(10px,env(safe-area-inset-right)) auto max(10px,env(safe-area-inset-left));
        max-height:calc(100svh - var(--header-h) - 24px);
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
      }

      .nav-link {
        min-height:48px;
        display:flex;
        align-items:center;
      }

      .hero,
      .hero.compact {
        min-height:100svh;
      }

      .hero.compact {
        min-height:62svh;
      }

      .hero-content {
        width:calc(100% - 32px);
        padding-left:4px;
        padding-right:4px;
      }

      .hero h1 {
        font-size:clamp(3.45rem,18vw,5.7rem);
        line-height:.92;
      }

      .hero.compact h1 {
        font-size:clamp(3rem,15vw,5rem);
      }

      .hero-tagline {
        max-width:28ch;
        margin-left:auto;
        margin-right:auto;
      }

      .scroll-cue {
        bottom:max(20px,env(safe-area-inset-bottom));
      }

      .section {
        padding:64px 0;
      }

      .section-head {
        margin-bottom:32px;
      }

      h2 {
        font-size:clamp(2.15rem,11.5vw,3.35rem);
      }

      h3 {
        font-size:clamp(1.25rem,7vw,1.75rem);
      }

      .lead {
        font-size:1rem;
      }

      /* Carrusel: en móvil NO hay flechas; navegación solo por swipe/touch */
      .carousel-shell {
        width:100%;
        max-width:100%;
        padding-bottom:26px;
        overflow-x:clip;
        overflow-y:visible;
      }

      .carousel-stage {
        height:440px;
        touch-action:pan-y;
        user-select:none;
        -webkit-user-select:none;
        will-change:transform;
        transition:transform .22s ease-out;
      }

      .carousel-stage.is-touch-dragging {
        transition:none;
      }

      .service-card {
        width:86vw;
        max-width:420px;
        height:390px;
        border-radius:26px;
      }

      .service-card.prev {
        transform:translate(-50%,-50%) translateX(-91%) scale(.73);
        opacity:.22;
      }

      .service-card.next {
        transform:translate(-50%,-50%) translateX(91%) scale(.73);
        opacity:.22;
      }

      .service-card.far-prev,
      .service-card.far-next {
        opacity:0;
        pointer-events:none;
      }

      .service-content {
        padding:22px;
        gap:13px;
      }

      .service-title {
        font-size:clamp(2rem,11vw,3rem);
      }

      .service-primary,
      .service-choice {
        min-height:48px;
        padding:13px 16px;
      }

      .service-actions {
        width:100%;
        gap:8px;
      }

      .service-choice {
        flex:1 1 100%;
        width:100%;
        text-align:center;
      }

      .carousel-control {
        display:none !important;
      }

      .carousel-dots {
        margin-top:10px;
        min-height:12px;
      }

      .carousel-dot {
        min-width:9px;
        min-height:9px;
      }

      .swipe-hint {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        margin-top:12px;
        color:rgba(246,253,240,.58);
        font-size:.78rem;
        font-weight:750;
        letter-spacing:.02em;
      }

      .swipe-hint svg {
        width:20px;
        height:20px;
        color:var(--cyan);
        animation:swipeHint 1.8s ease-in-out infinite;
      }

      @keyframes swipeHint {
        0%,100% { transform:translateX(-3px); opacity:.65; }
        50% { transform:translateX(3px); opacity:1; }
      }

      /* Componentes táctiles más cómodos */
      .btn,
      .service-primary,
      .service-choice,
      .faq-q,
      .header-cta {
        min-height:48px;
      }

      .card,
      .contact-item {
        border-radius:22px;
      }

      .service-row {
        min-height:250px;
        padding:24px;
      }

      .media-panel,
      .operational-image-placeholder {
        min-height:310px;
        border-radius:26px;
      }

      .operational-stack {
        gap:66px;
      }

      .operational-item,
      .operational-item.operational-reverse {
        grid-template-columns:1fr;
        gap:24px;
      }

      .operational-item .operational-media,
      .operational-item.operational-reverse .operational-media {
        order:1;
      }

      .operational-item .operational-copy,
      .operational-item.operational-reverse .operational-copy {
        order:2;
      }

      .equipment-operational-item {
        display:block;
      }

      .team-operational-item,
      .units-operational-item {
        grid-template-columns:1fr;
        gap:20px;
      }

      .team-operational-item .team-copy-stack {
        display:block;
        order:1;
        width:100%;
      }

      .team-operational-item .operational-copy,
      .units-operational-item .operational-copy {
        order:1;
        text-align:center;
      }

      .team-operational-item .team-copy-stack > .operational-description-below {
        width:100%;
        max-width:42ch;
        margin:14px auto 0;
        padding:0;
        text-align:left;
      }

      .team-operational-item .operational-media,
      .units-operational-item .operational-media {
        order:2;
      }

      .units-operational-item > .operational-description-below {
        order:3;
      }

      .operational-copy h3 {
        font-size:clamp(2rem,10vw,3rem);
      }

      .operational-description-below {
        margin-top:14px;
        padding:0 10px;
        font-size:.96rem;
        line-height:1.6;
        text-align:center;
      }

      .process {
        gap:10px;
      }

      .process-step {
        min-height:140px;
        padding:20px;
      }

      .contact-item {
        min-height:140px;
      }

      .map-placeholder {
        min-height:310px;
        border-radius:24px;
      }

      .form {
        padding:20px;
        border-radius:24px;
      }

      .field input,
      .field select,
      .field textarea {
        min-height:50px;
        font-size:16px; /* evita zoom automático en iOS */
      }

      .field textarea {
        min-height:120px;
      }

      .faq-q {
        padding:18px;
      }

      .faq-a p {
        padding:0 18px 18px;
      }

      /* Botones flotantes: compactos, seguros para notch y fáciles de pulsar */
      .floating-actions {
        position:fixed !important;
        right:max(8px,env(safe-area-inset-right)) !important;
        left:auto !important;
        top:auto !important;
        bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px)) !important;
        transform:none !important;
        width:auto !important;
        max-width:52px !important;
        gap:8px;
        z-index:260 !important;
      }

      .floating-action,
      .floating-action:hover,
      .floating-action:focus-visible {
        width:46px;
        min-height:46px;
        height:46px;
        padding:0;
        border-radius:14px;
      }

      .floating-action svg {
        width:22px;
        height:22px;
        flex-basis:22px;
      }

      .footer-grid {
        gap:24px;
      }

      .footer-links a,
      .footer-links button {
        min-height:42px;
        display:flex;
        align-items:center;
      }
    }


      /* Botones flotantes en móvil: SOLO iconos, sin expansión ni desplazamiento */
      .floating-actions {
        pointer-events:auto;
      }

      .floating-action,
      .floating-action:hover,
      .floating-action:focus,
      .floating-action:focus-visible,
      .floating-action:active {
        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        height:46px !important;
        min-height:46px !important;
        padding:0 !important;
        justify-content:center !important;
        transform:none !important;
        transition:
          box-shadow .18s ease,
          filter .18s ease !important;
      }

      .floating-action span,
      .floating-action:hover span,
      .floating-action:focus span,
      .floating-action:focus-visible span {
        display:none !important;
        max-width:0 !important;
        opacity:0 !important;
        transform:none !important;
      }

      .floating-action:active {
        filter:brightness(.92);
        box-shadow:0 10px 26px rgba(0,0,0,.28);
      }

      /* Menú hamburguesa siempre estático y visible */
      .menu-toggle,
      .menu-toggle:hover,
      .menu-toggle:focus,
      .menu-toggle:focus-visible,
      .menu-toggle:active {
        display:grid !important;
        place-items:center;
        position:static !important;
        flex:0 0 48px !important;
        width:48px !important;
        min-width:48px !important;
        height:48px !important;
        transform:none !important;
        margin-left:auto !important;
        opacity:1 !important;
        visibility:visible !important;
        transition:
          background .18s ease,
          border-color .18s ease !important;
      }

      .site-header,
      .header-inner {
        transform:none !important;
      }

      .main-nav,
      .site-header.menu-open .main-nav {
        transform:none !important;
        animation:none !important;
      }

    @media (max-width: 390px) {
.container {
        width:calc(100% - 24px);
      }

      .service-card {
        width:88vw;
        height:374px;
      }

      .service-content {
        padding:20px;
      }

      .floating-action,
      .floating-action:hover,
      .floating-action:focus-visible {
        width:44px;
        min-height:44px;
        height:44px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior:auto !important;
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
      }
    }
  
    /* Portada dinámica de Servicios */
    #servicios .hero {
      overflow: hidden;
      background: #04131b;
    }
    #servicios .hero-mark {
      display: none !important;
    }
    #servicios .services-hero-slideshow {
      position: absolute;
      inset: 0;
      z-index: -4;
      overflow: hidden;
      background: #04131b;
    }
    #servicios .services-hero-slideshow::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(2,14,20,0.18) 0%, rgba(2,14,20,0.34) 42%, rgba(2,14,20,0.72) 100%);
      pointer-events: none;
    }
    #servicios .services-hero-slideshow img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transform: scale(1.03);
      animation: servicesHeroFade 36s infinite ease-in-out;
      will-change: opacity, transform;
    }
    #servicios .services-hero-slideshow img:nth-child(1) { animation-delay: 0s; }
    #servicios .services-hero-slideshow img:nth-child(2) { animation-delay: 6s; }
    #servicios .services-hero-slideshow img:nth-child(3) { animation-delay: 12s; }
    #servicios .services-hero-slideshow img:nth-child(4) { animation-delay: 18s; }
    #servicios .services-hero-slideshow img:nth-child(5) { animation-delay: 24s; }
    #servicios .services-hero-slideshow img:nth-child(6) { animation-delay: 30s; }

    @keyframes servicesHeroFade {
      0%   { opacity: 0; transform: scale(1.06); }
      3%   { opacity: 1; }
      14%  { opacity: 1; transform: scale(1.03); }
      18%  { opacity: 0; transform: scale(1.00); }
      100% { opacity: 0; transform: scale(0.99); }
    }

    @media (prefers-reduced-motion: reduce) {
      #servicios .services-hero-slideshow img {
        animation: none !important;
        opacity: 0 !important;
        transform: none !important;
      }
      #servicios .services-hero-slideshow img:first-child {
        opacity: 1 !important;
      }
    }




.category-service-photo{
  display:grid;
  place-items:center;
  width:100%;
  min-height:154px;
  font-size:0 !important;
  line-height:0;
  color:transparent !important;
  flex:1 1 auto;
  align-self:stretch;
  overflow:visible;
  padding:4px 4px 0;
}
.category-service-photo .service-logo-svg{
  width:min(230px, 90%);
  height:auto;
  display:block;
  overflow:visible;
  transform-origin:center;
  filter:drop-shadow(0 0 10px rgba(157,255,19,.12));
}
.category-service-photo .service-reference-logo{
  width:min(240px, 94%);
  max-height:164px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:
    drop-shadow(0 0 4px rgba(225,251,34,.44))
    drop-shadow(0 0 11px rgba(90,198,9,.18));
  transform-origin:center;
  animation:serviceRefFloat 6.4s ease-in-out infinite;
}
.service-logo-svg .swoosh{
  stroke-dasharray:310;
  stroke-dashoffset:0;
}
.service-logo-svg .cyan-soft{
  stroke:#14D2F3;
  opacity:.54;
  stroke-width:3.4;
}
.service-logo-svg .speed{
  opacity:.94;
  stroke-width:5.2;
}
.service-logo-svg .cyan-line{
  stroke:#14D2F3 !important;
  filter:drop-shadow(0 0 3px rgba(20,210,243,.38));
}
.service-logo-svg .logo-core{
  transform-origin:150px 100px;
}
.service-logo-svg.logo-motion-1 .logo-motion-layer{
  animation:serviceLogoFloat 6.8s ease-in-out infinite;
}
.service-logo-svg.logo-motion-2 .logo-core{
  animation:serviceLogoPulse 6.2s ease-in-out infinite;
}
.service-logo-svg.logo-motion-3 .swoosh{
  animation:serviceLogoSweep 8.5s ease-in-out infinite;
}
.service-logo-svg.logo-motion-4 .speed{
  animation:serviceLogoSpeed 4.8s ease-in-out infinite;
}
.category-service-card:hover .service-logo-svg,
.category-service-card:hover .service-reference-logo{
  transform:translateY(-2px) scale(1.015);
}
@keyframes serviceLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes serviceLogoPulse{
  0%,100%{opacity:.96; transform:scale(1)}
  50%{opacity:1; transform:scale(1.018)}
}
@keyframes serviceLogoSweep{
  0%,100%{stroke-dashoffset:0; opacity:.96}
  50%{stroke-dashoffset:-18; opacity:1}
}
@keyframes serviceLogoSpeed{
  0%,100%{opacity:.62; transform:translateX(0)}
  50%{opacity:1; transform:translateX(4px)}
}
@keyframes serviceRefFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@media (prefers-reduced-motion:reduce){
  .service-logo-svg *,
  .service-reference-logo{
    animation:none !important;
  }
}
@media (max-width:767px){
  .category-service-photo{min-height:138px}
  .category-service-photo .service-logo-svg{width:min(210px, 92%)}
  .category-service-photo .service-reference-logo{width:min(218px, 94%); max-height:148px}
}



/* === Alertia servicios: tarjetas premium con fondo difuminado detrás del logo === */
.category-service-card{
  --card-bg-1: rgba(3, 16, 25, 0.98);
  --card-bg-2: rgba(6, 24, 35, 0.96);
  --card-bg-3: rgba(3, 44, 52, 0.92);
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(132, 255, 19, 0.20);
  background:
    linear-gradient(160deg, var(--card-bg-1) 0%, var(--card-bg-2) 46%, var(--card-bg-3) 100%);
  box-shadow:
    0 26px 45px rgba(0, 0, 0, 0.36),
    0 10px 22px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(21, 210, 243, 0.08),
    0 0 0 1px rgba(13, 49, 60, 0.35);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  isolation: isolate;
  transition:
    transform .38s ease,
    box-shadow .38s ease,
    border-color .38s ease,
    background .38s ease;
}
.category-service-card::before{
  content: "";
  position: absolute;
  inset: -18% -5% auto -5%;
  height: 58%;
  background:
    radial-gradient(circle at 18% 24%, rgba(226,255,50,.16), transparent 36%),
    radial-gradient(circle at 82% 20%, rgba(21,210,243,.16), transparent 34%),
    linear-gradient(135deg, rgba(157,255,19,.10), rgba(20,210,243,.05) 48%, transparent 78%);
  filter: blur(16px);
  opacity: .95;
  z-index: 0;
  pointer-events: none;
}
.category-service-card::after{
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 27px;
  background:
    linear-gradient(140deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.02) 17%, transparent 32%),
    linear-gradient(180deg, transparent 0%, transparent 72%, rgba(255,255,255,.03) 100%);
  z-index: 0;
  pointer-events: none;
}
.category-service-card > *{
  position: relative;
  z-index: 1;
}

/* Variaciones suaves por tarjeta */
.category-service-card:nth-of-type(4n+1){
  --card-bg-1: rgba(2, 15, 24, 0.98);
  --card-bg-2: rgba(7, 25, 40, 0.96);
  --card-bg-3: rgba(5, 53, 58, 0.92);
}
.category-service-card:nth-of-type(4n+2){
  --card-bg-1: rgba(3, 18, 20, 0.98);
  --card-bg-2: rgba(7, 28, 30, 0.96);
  --card-bg-3: rgba(22, 53, 25, 0.92);
}
.category-service-card:nth-of-type(4n+3){
  --card-bg-1: rgba(5, 14, 26, 0.98);
  --card-bg-2: rgba(7, 21, 44, 0.96);
  --card-bg-3: rgba(4, 33, 62, 0.92);
}
.category-service-card:nth-of-type(4n+4){
  --card-bg-1: rgba(3, 16, 22, 0.98);
  --card-bg-2: rgba(8, 25, 32, 0.96);
  --card-bg-3: rgba(19, 46, 49, 0.92);
}

/* Difuminado detrás del logo */
.category-service-photo{
  position: relative;
  isolation: isolate;
  padding: 8px 8px 4px;
}
.category-service-photo::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  width: 84%;
  height: 78%;
  transform: translate(-50%, -50%);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 28%, rgba(231,255,63,.26) 0%, rgba(231,255,63,.10) 18%, transparent 45%),
    radial-gradient(circle at 80% 26%, rgba(18,215,242,.24) 0%, rgba(18,215,242,.10) 18%, transparent 42%),
    radial-gradient(circle at 50% 74%, rgba(128,255,16,.22) 0%, rgba(128,255,16,.08) 20%, transparent 46%),
    linear-gradient(135deg, rgba(13,34,46,.85) 0%, rgba(7,17,28,.62) 38%, rgba(6,28,34,.80) 100%);
  filter: blur(10px);
  box-shadow:
    inset 0 0 0 1px rgba(157,255,19,.10),
    0 0 22px rgba(157,255,19,.08),
    0 0 30px rgba(20,210,243,.08);
  z-index: 0;
  pointer-events: none;
}
.category-service-photo::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 56%;
  width: 72%;
  height: 62%;
  transform: translate(-50%, -50%);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02) 28%, transparent 55%),
    radial-gradient(circle at 50% 50%, rgba(13, 30, 43, 0.62), rgba(4, 12, 21, 0.18) 68%, transparent 100%);
  border: 1px solid rgba(112, 255, 22, 0.10);
  z-index: 0;
  pointer-events: none;
}
.category-service-photo .service-logo-svg,
.category-service-photo .service-reference-logo{
  position: relative;
  z-index: 1;
}

/* Texto y footer */
.category-service-title{
  text-shadow: 0 1px 0 rgba(255,255,255,.02), 0 0 18px rgba(20,210,243,.07);
  letter-spacing: .01em;
}
.category-service-description{
  color: rgba(231, 242, 249, 0.82);
}
.category-service-footer{
  border-top: 1px solid rgba(255,255,255,0.06);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00)),
    rgba(1, 8, 14, 0.18);
}
.category-service-action{
  box-shadow:
    0 0 0 1px rgba(157,255,19,.12),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 18px rgba(0,0,0,.22);
}

/* Tarjeta central / activa */
.category-service-card.is-center,
.category-service-card[aria-current="true"]{
  border-color: rgba(156,255,18,.38);
  box-shadow:
    0 28px 48px rgba(0,0,0,.42),
    0 0 0 1px rgba(19, 214, 242, 0.12),
    0 0 28px rgba(74, 244, 240, 0.10),
    0 0 36px rgba(154, 255, 18, 0.11),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.category-service-card.is-center .category-service-photo::before,
.category-service-card[aria-current="true"] .category-service-photo::before{
  opacity: 1;
  filter: blur(8px);
}
.category-service-card.is-center .category-service-photo::after,
.category-service-card[aria-current="true"] .category-service-photo::after{
  border-color: rgba(157,255,19,.16);
  box-shadow:
    inset 0 0 0 1px rgba(20,210,243,.06),
    0 0 24px rgba(157,255,19,.08);
}
.category-service-card:hover{
  transform: translateY(-4px);
  border-color: rgba(156,255,18,.34);
  box-shadow:
    0 30px 48px rgba(0, 0, 0, 0.38),
    0 0 0 1px rgba(19, 214, 242, 0.12),
    0 0 28px rgba(74, 244, 240, 0.09),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.category-service-card:hover .category-service-photo::before{
  transform: translate(-50%, -50%) scale(1.02);
}

@media (max-width: 767px){
  .category-service-card{
    border-radius: 24px;
    box-shadow:
      0 18px 30px rgba(0,0,0,.32),
      0 8px 18px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
  .category-service-photo::before{
    width: 88%;
    height: 74%;
  }
  .category-service-photo::after{
    width: 76%;
    height: 58%;
  }
}

@media (prefers-reduced-motion: reduce){
  .category-service-card,
  .category-service-card:hover,
  .category-service-photo::before{
    transition: none !important;
  }
}



/* Ajuste solicitado: eliminar la cruz decorativa superior derecha de cada tarjeta de servicio */
.category-service-visual::after{
  content: none !important;
  display: none !important;
}



/* ================================================================
   ACCIONES DE SERVICIOS · premium y consistentes con las tarjetas
   ================================================================ */
.category-service-actions{
  gap:12px;
  padding-top:2px;
}

.category-service-whatsapp,
.category-service-call{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  min-height:52px;
  padding:12px 15px;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#F6FDF0 !important;
  font-size:.86rem;
  line-height:1.12;
  font-weight:850;
  letter-spacing:.005em;
  text-align:center;
  box-shadow:
    0 12px 24px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transform:none;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.category-service-whatsapp::before,
.category-service-call::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.96;
  pointer-events:none;
}

.category-service-whatsapp::after,
.category-service-call::after{
  content:"";
  position:absolute;
  left:-35%;
  top:-120%;
  width:34%;
  height:340%;
  z-index:-1;
  transform:rotate(20deg);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.15),
    transparent
  );
  opacity:0;
  transition:left .5s ease, opacity .2s ease;
  pointer-events:none;
}

.category-service-whatsapp{
  border-color:rgba(151,255,34,.24) !important;
  color:#F7FFF0 !important;
}
.category-service-whatsapp::before{
  background:
    radial-gradient(circle at 18% 20%, rgba(224,255,46,.15), transparent 34%),
    linear-gradient(135deg,
      rgba(10,73,46,.96) 0%,
      rgba(8,101,56,.94) 48%,
      rgba(13,58,43,.98) 100%);
}
.category-service-whatsapp .service-action-icon{
  color:#DFFF31;
  filter:drop-shadow(0 0 6px rgba(195,255,40,.22));
}

.category-service-call{
  border-color:rgba(20,210,243,.26) !important;
  color:#F5FEFF !important;
}
.category-service-call::before{
  background:
    radial-gradient(circle at 82% 18%, rgba(20,210,243,.18), transparent 34%),
    linear-gradient(135deg,
      rgba(3,49,72,.98) 0%,
      rgba(4,102,139,.94) 50%,
      rgba(4,45,67,.98) 100%);
}
.category-service-call .service-action-icon{
  color:#51E7FF;
  filter:drop-shadow(0 0 6px rgba(20,210,243,.24));
}

.category-service-whatsapp:hover,
.category-service-whatsapp:focus-visible,
.category-service-call:hover,
.category-service-call:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.05);
}
.category-service-whatsapp:hover,
.category-service-whatsapp:focus-visible{
  border-color:rgba(193,255,42,.46) !important;
  box-shadow:
    0 15px 28px rgba(0,0,0,.28),
    0 0 20px rgba(144,255,27,.09),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.category-service-call:hover,
.category-service-call:focus-visible{
  border-color:rgba(53,225,255,.48) !important;
  box-shadow:
    0 15px 28px rgba(0,0,0,.28),
    0 0 20px rgba(20,210,243,.10),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.category-service-whatsapp:hover::after,
.category-service-whatsapp:focus-visible::after,
.category-service-call:hover::after,
.category-service-call:focus-visible::after{
  left:115%;
  opacity:1;
}

.service-action-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.service-action-label{
  min-width:0;
}

/* ================================================================
   BOTÓN FLOTANTE DE CORREO · reemplaza ambulancia roja
   ================================================================ */
.floating-action.email{
  --expanded-width:196px;
  min-height:50px;
  color:#F6FDF0;
  border:1px solid rgba(121,241,255,.24);
  background:
    radial-gradient(circle at 24% 18%, rgba(225,251,34,.14), transparent 38%),
    linear-gradient(135deg,
      rgba(3,43,61,.98) 0%,
      rgba(5,92,112,.96) 52%,
      rgba(2,38,54,.99) 100%);
  box-shadow:
    0 14px 34px rgba(0,0,0,.30),
    0 0 18px rgba(20,210,243,.08),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.floating-action.email svg{
  color:#DFFF31;
  filter:
    drop-shadow(0 0 4px rgba(225,251,34,.24))
    drop-shadow(0 0 8px rgba(20,210,243,.12));
}
.floating-action.email:hover,
.floating-action.email:focus-visible{
  border-color:rgba(154,247,255,.42);
  box-shadow:
    0 18px 42px rgba(0,0,0,.36),
    0 0 22px rgba(20,210,243,.12),
    0 0 16px rgba(225,251,34,.07),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.floating-action.email:active{
  filter:brightness(.94);
}

@media (max-width:720px){
  .category-service-whatsapp,
  .category-service-call{
    min-height:50px;
    border-radius:15px !important;
    font-size:.89rem;
  }
  .service-action-icon{
    width:21px;
    height:21px;
    flex-basis:21px;
  }
}

@media (prefers-reduced-motion:reduce){
  .category-service-whatsapp,
  .category-service-call,
  .category-service-whatsapp::after,
  .category-service-call::after,
  .floating-action.email{
    transition:none !important;
  }
}



/* ================================================================
   BOTONES FLOTANTES UNIFICADOS · llamada / WhatsApp / correo
   Misma familia visual premium para una experiencia consistente.
   ================================================================ */
.floating-action.call,
.floating-action.whatsapp,
.floating-action.email{
  border:1px solid rgba(121,241,255,.24) !important;
  color:#F6FDF0 !important;
  background:
    radial-gradient(circle at 24% 18%, rgba(225,251,34,.14), transparent 38%),
    radial-gradient(circle at 82% 82%, rgba(20,210,243,.10), transparent 42%),
    linear-gradient(135deg,
      rgba(3,43,61,.98) 0%,
      rgba(5,92,112,.96) 52%,
      rgba(2,38,54,.99) 100%) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.30),
    0 0 18px rgba(20,210,243,.08),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.floating-action.call svg,
.floating-action.whatsapp svg,
.floating-action.email svg{
  color:#DFFF31 !important;
  fill:none;
  filter:
    drop-shadow(0 0 4px rgba(225,251,34,.24))
    drop-shadow(0 0 8px rgba(20,210,243,.12));
}

/* Mantener la silueta del ícono de WhatsApp limpia aunque antes usara fill */
.floating-action.whatsapp svg path{
  fill:currentColor;
  stroke:none;
}

/* El teléfono conserva su trazo minimalista */
.floating-action.call svg path{
  fill:none;
  stroke:currentColor;
}

.floating-action.call:hover,
.floating-action.call:focus-visible,
.floating-action.whatsapp:hover,
.floating-action.whatsapp:focus-visible,
.floating-action.email:hover,
.floating-action.email:focus-visible{
  border-color:rgba(154,247,255,.42) !important;
  background:
    radial-gradient(circle at 24% 18%, rgba(225,251,34,.18), transparent 38%),
    radial-gradient(circle at 82% 82%, rgba(20,210,243,.14), transparent 42%),
    linear-gradient(135deg,
      rgba(4,48,67,.99) 0%,
      rgba(6,101,121,.97) 52%,
      rgba(3,42,59,.99) 100%) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.36),
    0 0 22px rgba(20,210,243,.12),
    0 0 16px rgba(225,251,34,.07),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.floating-action.call:active,
.floating-action.whatsapp:active,
.floating-action.email:active{
  filter:brightness(.94);
}

/* Igualar la expansión en escritorio */
.floating-action.call,
.floating-action.whatsapp{
  --expanded-width:196px;
}

@media (prefers-reduced-motion:reduce){
  .floating-action.call,
  .floating-action.whatsapp,
  .floating-action.email{
    transition:none !important;
  }
}



/* ================================================================
   PORTADA ALERTIA724 · video real proporcionado por el usuario
   ================================================================ */
#alertia724 .hero{
  position:relative;
  overflow:hidden;
  background:#00131A;
}
#alertia724 .hero-video{
  opacity:1 !important;
  filter:none !important;
  object-fit:cover;
  object-position:center center;
  z-index:-3;
}

/* Sin fondo, marca o luces anteriores sobre el video */
#alertia724 .hero-overlay,
#alertia724 .hero-mark{
  display:none !important;
}

/* Texto más abajo para dejar libre el centro visual del video */
#alertia724 .hero-content{
  position:absolute;
  left:50%;
  bottom:clamp(92px, 11vh, 126px);
  transform:translateX(-50%);
  z-index:3;
  width:min(1100px, calc(100% - 40px));
  padding:28px 24px 22px;
  text-align:center;
  pointer-events:none;
}

/* Contraste localizado, no oscurece toda la portada */
#alertia724 .hero-content::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-12px;
  width:min(760px, 92vw);
  height:210px;
  transform:translateX(-50%);
  z-index:-1;
  background:radial-gradient(ellipse at center bottom,
    rgba(0,19,26,.68) 0%,
    rgba(0,19,26,.42) 42%,
    rgba(0,19,26,.16) 68%,
    transparent 86%);
  filter:blur(5px);
  pointer-events:none;
}

#alertia724 .hero-content h1{
  text-shadow:
    0 6px 24px rgba(0,0,0,.46),
    0 18px 58px rgba(0,0,0,.30);
}
#alertia724 .hero-content .hero-tagline{
  text-shadow:0 4px 18px rgba(0,0,0,.46);
}

@media (max-width:720px){
  #alertia724 .hero-content{
    bottom:82px;
    width:calc(100% - 28px);
    padding:22px 12px 18px;
  }
  #alertia724 .hero-content::before{
    width:94vw;
    height:180px;
  }
  #alertia724 .hero-content h1{
    font-size:clamp(3.15rem, 14vw, 5.15rem);
    line-height:.94;
  }
  #alertia724 .hero-content .hero-tagline{
    margin-top:12px;
    font-size:clamp(1rem,4.5vw,1.18rem);
  }
}

@media (prefers-reduced-motion:reduce){
  #alertia724 .hero-video{
    animation:none !important;
  }
}



/* ================================================================
   ALERTIA724 HERO · capa azul semitransparente sobre el video
   para oscurecer ligeramente y dar efecto degradado
   ================================================================ */
#alertia724 .hero{
  isolation:isolate;
}
#alertia724 .hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(6, 48, 92, 0.30) 0%,
      rgba(7, 66, 114, 0.18) 28%,
      rgba(4, 37, 78, 0.24) 52%,
      rgba(1, 21, 43, 0.42) 78%,
      rgba(0, 16, 31, 0.56) 100%);
}
#alertia724 .hero-content{
  z-index:3;
}
#alertia724 .hero-video{
  z-index:-3;
}



/* ============================================================
   ALERTIA724 HERO · igualar visualmente la portada de Inicio
   ============================================================ */
#alertia724 .hero{
  position:relative;
  overflow:hidden;
  background:#00131A;
  isolation:isolate;
}
#alertia724 .hero-video{
  opacity:1 !important;
  filter:none !important;
  object-fit:cover;
  object-position:center center;
  z-index:-3;
}
#alertia724 .hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  display:block !important;
  background:
    linear-gradient(180deg, rgba(0,19,26,.32), rgba(0,19,26,.58) 58%, var(--navy) 100%),
    radial-gradient(circle at center, transparent 0 20%, rgba(0,19,26,.44) 76%);
}
#alertia724 .hero::after{
  content:none !important;
}
#alertia724 .hero-content{
  position:absolute;
  left:50%;
  bottom:104px;
  transform:translateX(-50%);
  z-index:3;
  width:min(980px, calc(100% - 40px));
  padding:34px 24px 24px;
  text-align:center;
  pointer-events:none;
}
#alertia724 .hero-content::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  width:min(860px, 100%);
  height:250px;
  z-index:-1;
  background:radial-gradient(ellipse at center bottom,
    rgba(0,19,26,.68) 0%,
    rgba(0,19,26,.42) 42%,
    rgba(0,19,26,.16) 68%,
    transparent 86%);
  filter:blur(5px);
  pointer-events:none;
}
#alertia724 .hero-content h1{
  margin:0;
  font-size:clamp(4rem, 11vw, 7.2rem);
  line-height:.92;
  letter-spacing:-.045em;
  text-shadow:
    0 6px 24px rgba(0,0,0,.46),
    0 18px 58px rgba(0,0,0,.30);
}
#alertia724 .hero-tagline{
  margin:22px 0 0;
  font-size:clamp(1.2rem,2.4vw,2rem);
  color:rgba(246,253,240,.83);
  letter-spacing:.02em;
}
#alertia724 .scroll-cue{
  display:flex;
}
@media (max-width: 900px){
  #alertia724 .hero-content{
    bottom:92px;
    width:min(94vw, 680px);
    padding:28px 18px 18px;
  }
  #alertia724 .hero-content::before{
    width:100%;
    height:210px;
  }
}
@media (max-width: 640px){
  #alertia724 .hero-content{
    bottom:84px;
    width:min(94vw, 560px);
    padding:22px 16px 14px;
  }
  #alertia724 .hero-content::before{
    height:180px;
    bottom:-12px;
  }
  #alertia724 .hero-content h1{
    font-size:clamp(3rem, 18vw, 5rem);
  }
  #alertia724 .hero-tagline{
    font-size:clamp(1rem, 4.8vw, 1.35rem);
    margin-top:14px;
  }
}



/* ================================================================
   PORTADAS INICIO + ALERTIA724
   - Mantener el degradado general sobre el video.
   - Eliminar el sombreado localizado detrás del texto.
   - Centrar correctamente el subtítulo de alertia724.
   ================================================================ */

/* Elimina el sombreado/halo extraño detrás del bloque de texto */
#inicio .hero-content::before,
#alertia724 .hero-content::before{
  content:none !important;
  display:none !important;
  background:none !important;
  filter:none !important;
}

/* Elimina sombras de texto para un acabado más limpio */
#inicio .hero h1,
#inicio .hero-tagline,
#alertia724 .hero-content h1,
#alertia724 .hero-tagline{
  text-shadow:none !important;
}

/* Subtítulo perfectamente centrado debajo de "Conoce alertia724" */
#alertia724 .hero-tagline{
  display:block;
  width:100%;
  max-width:760px;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  text-wrap:balance;
}



/* ================================================================
   TITULARES DE PORTADA · sistema tipográfico unificado
   ================================================================ */
.hero h1{
  font-family:"Avenir Next Condensed","Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
}

/* Inicio conserva su escala actual */
#inicio .hero h1{
  font-size:clamp(3.35rem, 9vw, 7.3rem) !important;
  letter-spacing:-.075em !important;
}

/* "Conoce alertia724" usa la misma escala visual que Inicio */
#alertia724 .hero h1{
  font-size:clamp(3.35rem, 9vw, 7.3rem) !important;
  letter-spacing:-.055em !important;
  text-transform:none !important;
}

/* Las portadas compactas mantienen una jerarquía menor,
   pero con exactamente la misma familia y acabado tipográfico */
.hero.compact h1{
  font-family:"Avenir Next Condensed","Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif !important;
  font-weight:900 !important;
  line-height:.92 !important;
  letter-spacing:-.055em !important;
}

/* Subtítulo de Conócenos alineado y proporcionado con Inicio */
#alertia724 .hero-tagline{
  max-width:760px;
  margin:14px auto 0 !important;
  font-size:clamp(1.05rem, 2vw, 1.65rem) !important;
  line-height:1.35;
  letter-spacing:.035em !important;
  text-align:center !important;
}

@media (max-width:720px){
  #alertia724 .hero h1{
    font-size:clamp(3rem, 15vw, 4.9rem) !important;
  }
  #alertia724 .hero-tagline{
    margin-top:10px !important;
    font-size:clamp(1rem, 4.5vw, 1.2rem) !important;
  }
}



/* ================================================================
   CONÓCENOS · Galería loop en ¿Qué es alertia724?
   ================================================================ */
#alertia724 .media-panel{
  position:relative;
  overflow:hidden;
}

#alertia724 .about-alertia-slider{
  position:relative;
  width:100%;
  min-height:clamp(280px, 38vw, 560px);
  aspect-ratio: 16 / 10;
  border-radius:inherit;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 15% 20%, rgba(175,255,0,.16), transparent 38%),
    radial-gradient(circle at 85% 80%, rgba(0,185,255,.12), transparent 40%),
    linear-gradient(160deg, rgba(6,16,31,.92), rgba(8,28,56,.86));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(125,224,255,.12);
}

#alertia724 .about-alertia-slider::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(3,11,24,.08) 0%, rgba(3,11,24,.18) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 32%);
  pointer-events:none;
  z-index:2;
}

#alertia724 .about-alertia-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.025);
  transition:
    opacity .85s ease,
    transform 4.2s ease;
  will-change:opacity, transform;
}

#alertia724 .about-alertia-slide.is-active{
  opacity:1;
  transform:scale(1);
}

#alertia724 .media-panel .media-label{
  z-index:3;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(5,17,34,.42);
  border:1px solid rgba(173,255,47,.18);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

@media (max-width: 720px){
  #alertia724 .about-alertia-slider{
    min-height:240px;
    aspect-ratio: 4 / 3;
  }
}



/* ================================================================
   CONÓCENOS · Equipamiento médico con fotografías reales
   Se elimina por completo el fondo placeholder anterior.
   Las imágenes se muestran completas, sin recortes.
   ================================================================ */
#alertia724 .equipment-photo-real{
  position:relative;
  width:100%;
  height:clamp(340px, 45vw, 560px);
  overflow:hidden;
  border-radius:32px;
  border:0;
  background:none !important;
  box-shadow:none !important;
  isolation:isolate;
  display:grid;
  place-items:center;
}

#alertia724 .equipment-photo-real::before,
#alertia724 .equipment-photo-real::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

#alertia724 .equipment-real-image{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  border:0;
  border-radius:28px;
  background:transparent !important;
}

/* El nombre se conserva, pero ya no existe el fondo de fotografía de ejemplo */
#alertia724 .equipment-photo-real .equipment-image-title{
  top:18px;
  width:min(86%,620px);
  z-index:3;
}

/* El placeholder y sus elementos decorativos dejan de existir visualmente */
#alertia724 .equipment-photo-placeholder,
#alertia724 .equipment-photo-label{
  display:none !important;
  background:none !important;
}

@media (max-width:720px){
  #alertia724 .equipment-photo-real{
    height:clamp(300px, 92vw, 470px);
    border-radius:26px;
  }
  #alertia724 .equipment-real-image{
    border-radius:22px;
  }
  #alertia724 .equipment-photo-real .equipment-image-title{
    top:12px;
    width:calc(100% - 28px);
  }
}



/* Ajuste específico para la imagen de Inmovilización en horizontal */
#medicalEquipmentCarousel .equipment-real-image-landscape{
  object-fit: contain !important;
  object-position: center center !important;
}



/* ================================================================
   CONÓCENOS · Nuestras unidades
   Video real, sin fondo/placeholder anterior.
   ================================================================ */
#alertia724 .units-operational-item .operational-media{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

#alertia724 .units-video-frame{
  position:relative;
  width:min(100%, 1180px);
  aspect-ratio:16 / 9;
  height:auto;
  min-height:0;
  margin:0 auto;
  overflow:hidden;
  border-radius:32px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
}

#alertia724 .units-video-frame::before,
#alertia724 .units-video-frame::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

#alertia724 .units-video{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  background:transparent !important;
  border:0;
  border-radius:32px;
}

/* El placeholder anterior queda completamente desactivado en esta sección */
#alertia724 .units-operational-item .operational-image-placeholder,
#alertia724 .units-operational-item .operational-image-placeholder::before,
#alertia724 .units-operational-item .operational-image-placeholder::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

@media (max-width:720px){
  #alertia724 .units-video-frame,
  #alertia724 .units-video{
    border-radius:24px;
  }
}

@media (prefers-reduced-motion:reduce){
  #alertia724 .units-video{
    animation:none !important;
  }
}


@media (min-width:721px){
  #alertia724 .units-operational-item .operational-media{
    display:flex;
    justify-content:center;
  }
  #alertia724 .units-video-frame{
    width:min(100%, 1120px);
    aspect-ratio:16 / 9;
  }
}



/* Ajuste fino de Nuestras unidades en escritorio:
   video ligeramente más pequeño dentro del recuadro para mostrarlo completo. */
@media (min-width:721px){
  #alertia724 .units-video-frame{
    width:min(100%,1120px);
    aspect-ratio:16 / 9;
    padding:10px 0;
    overflow:hidden;
    box-sizing:border-box;
  }

  #alertia724 .units-video{
    position:relative !important;
    width:96% !important;
    height:auto !important;
    aspect-ratio:16 / 9;
    max-width:96% !important;
    max-height:calc(100% - 20px) !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto;
    border-radius:20px !important;
  }
}



/* ================================================================
   ASÍ TRABAJAMOS · descripción alineada con el título y justificada
   ================================================================ */
#alertia724 .work-process-description{
  width:auto;
  max-width:68ch;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:justify !important;
  text-justify:inter-word;
  line-height:1.7;
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
}

@media (min-width:721px){
  #alertia724 .section.alt .section-head:has(.work-process-description){
    width:auto;
    max-width:760px;
    margin-left:0;
    margin-right:0;
  }

  #alertia724 .section.alt .section-head:has(.work-process-description) .work-process-description{
    width:auto;
    max-width:68ch;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:justify !important;
    text-justify:inter-word;
  }
}



/* ================================================================
   CONTACTO · portada con fotografía real
   ================================================================ */
#contacto .hero{
  position:relative;
  overflow:hidden;
  background:#00131A;
}

#contacto .contact-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:-4;
  display:block;
}

/* La fotografía sustituye el fondo visual anterior; se conserva
   únicamente la capa de contraste para mantener legible el texto. */
#contacto .hero-mark{
  display:none !important;
}

#contacto .hero-overlay{
  background:
    linear-gradient(180deg,
      rgba(0,19,26,.18) 0%,
      rgba(0,19,26,.34) 48%,
      rgba(0,19,26,.72) 100%),
    radial-gradient(circle at 50% 42%,
      transparent 0 28%,
      rgba(0,19,26,.22) 76%);
}

@media (max-width:720px){
  #contacto .contact-hero-image{
    /* Mantiene al paramédico visible en pantallas verticales. */
    object-position:42% center;
  }
}



/* ================================================================
   CONTACTO · título y subtítulo desplazados a la parte inferior
   ================================================================ */
#contacto .hero-content{
  position:absolute;
  left:50%;
  bottom:clamp(58px, 8vh, 88px);
  transform:translateX(-50%);
  width:min(980px, calc(100% - 40px));
  padding:22px 24px 18px;
  text-align:center;
  z-index:3;
}

/* Mantiene buena lectura sin tapar innecesariamente la fotografía */
#contacto .hero-content h1{
  margin:0;
}

#contacto .hero-tagline{
  margin-top:12px;
}

@media (max-width:720px){
  #contacto .hero-content{
    bottom:42px;
    width:calc(100% - 28px);
    padding:18px 14px 14px;
  }

  #contacto .hero-tagline{
    margin-top:10px;
  }
}



/* FAQ hero image */
.faq-hero .contact-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:-4;
  display:block;
}



/* ================================================================
   FAQ · portada a pantalla completa
   Igual altura visual que Contacto y textos en la zona inferior.
   ================================================================ */
#faq .faq-hero{
  position:relative;
  min-height:100svh !important;
  height:100svh;
  padding-top:0 !important;
  overflow:hidden;
  background:#00131A;
  isolation:isolate;
}

#faq .faq-hero .contact-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:-4;
  display:block;
}

#faq .faq-hero .hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,
      rgba(0,19,26,.12) 0%,
      rgba(0,19,26,.22) 48%,
      rgba(0,19,26,.72) 100%),
    radial-gradient(circle at 50% 42%,
      transparent 0 28%,
      rgba(0,19,26,.18) 78%);
}

/* Título, kicker y descripción bajados para no interferir
   con el sujeto principal de la fotografía. */
#faq .faq-hero .hero-content{
  position:absolute;
  left:50%;
  bottom:clamp(54px, 7vh, 82px);
  transform:translateX(-50%);
  width:min(980px, calc(100% - 40px));
  padding:20px 24px 16px;
  text-align:center;
  z-index:3;
}

#faq .faq-hero .hero-content .kicker{
  margin:0 0 8px;
}

#faq .faq-hero h1{
  margin:0;
}

#faq .faq-hero .hero-copy{
  max-width:760px;
  margin:12px auto 0;
  color:rgba(246,253,240,.84);
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.55;
  text-align:center;
}

@media (max-width:720px){
  #faq .faq-hero{
    min-height:100svh !important;
    height:100svh;
  }

  #faq .faq-hero .contact-hero-image{
    object-position:center center;
  }

  #faq .faq-hero .hero-content{
    bottom:38px;
    width:calc(100% - 28px);
    padding:16px 14px 12px;
  }

  #faq .faq-hero .hero-copy{
    margin-top:9px;
    font-size:.98rem;
  }
}



/* ================================================================
   PÁGINAS LEGALES · alertia724
   ================================================================ */
.legal-page{
  background:
    radial-gradient(circle at 12% 8%, rgba(20,210,243,.07), transparent 32rem),
    var(--navy);
}

.legal-hero{
  min-height:clamp(430px,58svh,620px);
  padding:calc(var(--header-h) + 72px) 0 76px;
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 80% 20%, rgba(20,210,243,.13), transparent 30rem),
    radial-gradient(circle at 12% 86%, rgba(225,251,34,.055), transparent 24rem),
    linear-gradient(145deg,#00131A 0%,#032B39 52%,#00131A 100%);
}

.legal-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,19,26,.08),rgba(0,19,26,.62)),
    linear-gradient(110deg,transparent 0 55%,rgba(255,255,255,.025) 56% 57%,transparent 58%);
}

.legal-hero-inner{
  position:relative;
  z-index:1;
}

.legal-hero h1{
  max-width:1000px;
  margin:0;
  font-family:"Avenir Next Condensed","Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif;
  font-size:clamp(3rem,7vw,6.4rem);
  font-weight:900;
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.legal-hero-copy{
  max-width:760px;
  margin:20px 0 0;
  color:rgba(246,253,240,.78);
  font-size:clamp(1rem,1.5vw,1.2rem);
  line-height:1.65;
}

.legal-meta{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.legal-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(246,253,240,.12);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:var(--muted);
  font-size:.8rem;
  letter-spacing:.02em;
}

.legal-content-section{
  padding-top:clamp(58px,7vw,92px);
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(210px,280px) minmax(0,760px);
  justify-content:space-between;
  align-items:start;
  gap:clamp(42px,7vw,110px);
}

.legal-draft-notice{
  position:sticky;
  top:calc(var(--header-h) + 28px);
  padding:22px;
  border:1px solid rgba(225,251,34,.18);
  border-radius:22px;
  background:
    radial-gradient(circle at 10% 10%,rgba(225,251,34,.08),transparent 48%),
    rgba(255,255,255,.025);
  box-shadow:0 18px 46px rgba(0,0,0,.16);
}

.legal-draft-notice strong{
  display:block;
  color:var(--lime);
  margin-bottom:8px;
  font-size:.9rem;
  letter-spacing:.035em;
}

.legal-draft-notice p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.65;
}

.legal-document{
  min-width:0;
}

.legal-section{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(246,253,240,.08);
}

.legal-section h2,
.legal-contact-card h2{
  margin:0 0 16px;
  font-size:clamp(1.55rem,2.6vw,2.35rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.legal-section p{
  margin:0 0 14px;
  color:rgba(246,253,240,.74);
  line-height:1.8;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

.legal-list{
  margin:18px 0 0;
  padding-left:1.2rem;
  color:rgba(246,253,240,.74);
}

.legal-list li{
  margin:0 0 10px;
  padding-left:4px;
  line-height:1.72;
}

.legal-list li::marker{
  color:var(--lime);
}

.legal-contact-card{
  margin-top:46px;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(20,210,243,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 10%,rgba(20,210,243,.10),transparent 40%),
    rgba(255,255,255,.03);
}

.legal-contact-card > p:not(.kicker){
  color:var(--muted);
}

.legal-back-btn{
  margin-top:10px;
  background:var(--lime);
  color:var(--navy);
}

.legal-text-button,
.legal-inline-link{
  border:0;
  padding:0;
  color:var(--lime);
  background:transparent;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(225,251,34,.45);
  text-underline-offset:4px;
}

.legal-text-button:hover,
.legal-inline-link:hover,
.legal-text-button:focus-visible,
.legal-inline-link:focus-visible{
  color:var(--white);
  outline:2px solid rgba(225,251,34,.5);
  outline-offset:4px;
}

.legal-text-button{
  margin-top:6px;
}

.privacy-consent-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
}

.privacy-consent-row .check{
  margin:0;
}

@media (max-width:820px){
  .legal-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .legal-draft-notice{
    position:relative;
    top:auto;
  }

  .legal-section p{
    text-align:left;
    hyphens:none;
  }
}

@media (max-width:640px){
  .legal-hero{
    min-height:480px;
    padding:calc(var(--header-h) + 56px) 0 54px;
  }

  .legal-hero h1{
    font-size:clamp(2.8rem,14vw,4.6rem);
  }

  #terminos-condiciones .legal-hero h1{
    font-size:clamp(2.45rem,11.5vw,4rem);
  }

  .legal-meta{
    gap:8px;
  }

  .legal-meta span{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}



/* ================================================================
   CONTACTO · selector completo de servicios
   ================================================================ */
#contacto .service-select-help{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}

#contacto #service optgroup{
  font-weight:800;
}

#contacto #service option{
  font-weight:500;
}



/* ================================================================
   CONTACTO · envío mediante mensaje preparado en WhatsApp
   ================================================================ */
#contacto .form-delivery-help{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}

#contacto #formNote:not(:empty){
  margin-top:10px;
}



/* ================================================================
   CONTACTO · formulario más claro, seguro y orientado a privacidad
   ================================================================ */
#contacto .form-emergency-notice{
  margin:0 0 24px;
  padding:20px 22px;
  border:1px solid rgba(225,251,34,.20);
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(225,251,34,.08), transparent 42%),
    rgba(255,255,255,.025);
  box-shadow:0 16px 38px rgba(0,0,0,.14);
}

#contacto .form-emergency-notice strong{
  display:block;
  color:var(--white);
  font-size:1rem;
  line-height:1.35;
}

#contacto .form-emergency-notice p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.6;
}

#contacto .form-emergency-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

#contacto .form-emergency-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border:1px solid rgba(20,210,243,.22);
  border-radius:999px;
  background:rgba(20,210,243,.06);
  color:var(--cyan);
  font-weight:800;
  font-size:.86rem;
  transition:.2s ease;
}

#contacto .form-emergency-link:hover,
#contacto .form-emergency-link:focus-visible{
  background:rgba(20,210,243,.12);
  color:var(--white);
  outline:2px solid rgba(20,210,243,.38);
  outline-offset:3px;
}

#contacto .field-optional{
  color:var(--muted);
  font-weight:500;
}

#contacto .field-privacy-help{
  margin:8px 0 0;
  padding:12px 14px;
  border-left:2px solid rgba(225,251,34,.50);
  border-radius:0 12px 12px 0;
  background:rgba(225,251,34,.035);
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}

#contacto #details{
  min-height:132px;
}

#contacto .privacy-consent-row{
  margin-top:2px;
}

#contacto .privacy-consent-row .check{
  align-items:flex-start;
}

#contacto .privacy-consent-row .check span{
  line-height:1.55;
}

#contacto .form-delivery-help{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}

@media (max-width:640px){
  #contacto .form-emergency-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #contacto .form-emergency-link{
    width:100%;
  }
}



/* ================================================================
   PÁGINAS LEGALES · ancho completo en escritorio
   Corrige la columna angosta que quedaba al eliminar el panel lateral.
   ================================================================ */
#aviso-privacidad .legal-layout-full,
#terminos-condiciones .legal-layout-full{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}

#aviso-privacidad .legal-document,
#terminos-condiciones .legal-document{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

#aviso-privacidad .legal-section,
#terminos-condiciones .legal-section{
  width:100%;
  max-width:none;
}

#aviso-privacidad .legal-section p,
#terminos-condiciones .legal-section p{
  max-width:none !important;
}

/* En escritorio se aprovecha mejor el ancho sin perder legibilidad. */
@media (min-width:821px){
  #aviso-privacidad .legal-document,
  #terminos-condiciones .legal-document{
    width:100% !important;
  }

  #aviso-privacidad .legal-section p,
  #terminos-condiciones .legal-section p{
    width:100%;
    max-width:none !important;
    text-align:justify;
    text-justify:inter-word;
  }
}



/* ================================================================
   CONTACTO · Google Maps real
   ================================================================ */
#contacto .map-placeholder.map-embed{
  position:relative;
  display:block;
  min-height:390px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  background:var(--navy-2);
  box-shadow:var(--shadow);
}

#contacto .map-placeholder.map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  border:0;
  border-radius:inherit;
}

@media (max-width:720px){
  #contacto .map-placeholder.map-embed,
  #contacto .map-placeholder.map-embed iframe{
    min-height:340px;
  }

  #contacto .map-placeholder.map-embed{
    border-radius:24px;
  }
}


/* ================================================================
   PRODUCCIÓN v3 · Consentimiento de cookies y Google Analytics 4
   ================================================================ */
.cookie-consent[hidden]{
  display:none !important;
}

.cookie-consent{
  position:fixed;
  z-index:9998;
  left:0;
  right:0;
  bottom:0;
  padding:18px;
  pointer-events:none;
}

.cookie-consent-panel{
  width:min(1120px, calc(100% - 12px));
  margin:0 auto;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(0,19,26,.96);
  box-shadow:0 22px 70px rgba(0,0,0,.42);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  pointer-events:auto;
}

.cookie-consent-copy{
  min-width:0;
  max-width:760px;
}

.cookie-consent-copy strong{
  display:block;
  color:var(--white);
  font-size:1rem;
  line-height:1.35;
}

.cookie-consent-copy p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.55;
}

.cookie-text-link{
  margin-top:8px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--cyan);
  font:inherit;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

.cookie-text-link:hover,
.cookie-text-link:focus-visible{
  color:var(--white);
  outline:none;
}

.cookie-consent-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
}

.cookie-consent .btn{
  white-space:nowrap;
}

.cookie-consent .cookie-secondary{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:var(--white);
}

.cookie-consent .cookie-secondary:hover,
.cookie-consent .cookie-secondary:focus-visible{
  background:rgba(255,255,255,.11);
  outline:2px solid rgba(20,210,243,.35);
  outline-offset:3px;
}

#cookiePreferences{
  cursor:pointer;
}

@media (max-width:760px){
  .cookie-consent{
    padding:10px;
  }

  .cookie-consent-panel{
    width:100%;
    padding:16px;
    align-items:stretch;
    flex-direction:column;
    gap:15px;
    border-radius:20px;
  }

  .cookie-consent-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .cookie-consent .btn{
    width:100%;
    min-height:46px;
    padding-inline:12px;
    font-size:.86rem;
  }
}
