
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    :root {
      --deep:   #06090f;
      --panel:  #080d18;
      --orange: #e87b20;
      --blue:   #5aadcf;
      --white:  #f0f4f8;
      --muted:  rgba(240,244,248,0.42);
      /* Imágenes definidas UNA sola vez */
      --img-safari: url('/images/safari.jpg');
      --img-boat: url('/images/boat.jpg');
      --img-safari-hero: url('/images/safari-hero.png');
      --img-boat-hero: url('/images/boat-hero.jpg');
      --img-safari-1: url('/img/safari-1.jpg');
      --img-safari-2: url('/img/safari-2.jpg');
      --img-safari-3: url('/img/safari-3.jpg');
      --img-safari-4: url('/img/safari-4.jpg');
      --img-safari-5: url('/img/safari-5.jpg');
    }
    html { scroll-behavior:smooth; }
    body { background:var(--deep); font-family:'Barlow',sans-serif; color:var(--white); overflow-x:hidden; }

    /* ══ HERO & BREADCRUMB ════════════════════════ */
    .hero {
      position:relative; width:100%; height:100vh; min-height:680px;
      display:flex; align-items:stretch; overflow:hidden;
    }
    .hero-photo {
      position:absolute; top:0; right:0; width:65%; height:100%; z-index:1;
    }
    .hero-photo img {
      width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block;
    }
    .hero-photo::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(to right, var(--deep) 0%, rgba(6,9,15,0.55) 35%, rgba(6,9,15,0.05) 100%);
    }
    .hero-photo::before {
      content:''; position:absolute; inset:0;
      background:linear-gradient(to top, rgba(6,9,15,0.85) 0%, rgba(6,9,15,0.2) 30%, transparent 60%);
      z-index:1;
    }
    .hero-left {
      position:relative; z-index:10; width:52%;
      display:flex; flex-direction:column; justify-content:center;
      padding:120px 64px 40px 60px;
    }
    .hero-breadcrumb {
      display:flex; align-items:center; gap:8px;
      font-family:'Barlow Condensed',sans-serif; font-size:0.68rem;
      letter-spacing:0.2em; text-transform:uppercase;
      color:rgba(240,244,248,0.28); margin-bottom:32px;
      animation:slideLeft 0.9s 0.1s cubic-bezier(0.22,1,0.36,1) both;
    }
    .hero-breadcrumb a { color:inherit; text-decoration:none; transition:color 0.2s; }
    .hero-breadcrumb a:hover { color:rgba(240,244,248,0.6); }
    .hero-breadcrumb span { opacity:0.4; }
    .hero-brand {
      display:flex; align-items:center; gap:14px; margin-bottom:20px;
      animation:slideLeft 0.9s 0.2s cubic-bezier(0.22,1,0.36,1) both;
    }
    .hero-brand img.brand-logo { height:28px; filter:brightness(0.85) saturate(0.3); }
    .hero-brand-sep { width:1px; height:22px; background:rgba(240,244,248,0.15); }
    .hero-brand-name {
      font-family:'Barlow Condensed',sans-serif; font-size:0.75rem;
      letter-spacing:0.3em; text-transform:uppercase; color:rgba(240,244,248,0.35);
    }
    .hero-headline {
      font-family:'Barlow Condensed',sans-serif; font-weight:900;
      font-size:clamp(3.5rem,6.5vw,7rem); line-height:0.88;
      letter-spacing:-0.01em; text-transform:uppercase; margin-bottom:10px;
      animation:slideLeft 0.9s 0.3s cubic-bezier(0.22,1,0.36,1) both;
    }
    .hero-headline .line-normal { display:block; color:var(--white); }
    .hero-headline .line-italic {
      display:block; font-style:italic;
      background:linear-gradient(95deg, var(--orange) 0%, #f5c98a 50%, var(--white) 100%);
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    }
    .hero-rule {
      display:flex; align-items:center; gap:12px; margin:18px 0 22px;
      animation:slideLeft 0.9s 0.4s cubic-bezier(0.22,1,0.36,1) both;
    }
    .hero-rule-line { flex:1; max-width:60px; height:1px; background:linear-gradient(90deg,var(--orange),transparent); }
    .hero-rule-dot { width:4px; height:4px; border-radius:50%; background:var(--orange); box-shadow:0 0 6px rgba(232,123,32,0.9); }
    .hero-rule-text { font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; color:rgba(240,244,248,0.3); }
    .hero-body {
      font-size:0.9rem; line-height:1.85; font-weight:300; color:var(--muted);
      max-width:380px; margin-bottom:36px;
      animation:slideLeft 0.9s 0.5s cubic-bezier(0.22,1,0.36,1) both;
    }
    .hero-cta-group {
      display:flex; align-items:center; gap:20px;
      animation:slideLeft 0.9s 0.6s cubic-bezier(0.22,1,0.36,1) both;
    }
    .btn-primary {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:0.8rem;
      letter-spacing:0.18em; text-transform:uppercase; background:var(--orange); color:var(--deep);
      padding:14px 32px; text-decoration:none; transition:background 0.2s, transform 0.2s;
      display:inline-flex; align-items:center; gap:10px;
    }
    .btn-primary svg { width:14px; transition:transform 0.25s; }
    .btn-primary:hover { background:#f0882a; transform:translateY(-1px); }
    .btn-primary:hover svg { transform:translateX(4px); }
    .btn-primary.btn-has-price {
      padding:10px 28px;
      gap:18px;
    }
    .cta-price-stack {
      display:inline-flex;
      flex-direction:column;
      align-items:flex-start;
      text-align:left;
    }
    .cta-price-label {
      font-family:'Barlow Condensed',sans-serif;
      font-size:0.68rem;
      font-weight:700;
      letter-spacing:0.22em;
      text-transform:uppercase;
      opacity:0.82;
      line-height:1;
      margin-bottom:3px;
    }
    .cta-price-val {
      font-family:'Barlow Condensed',sans-serif;
      font-size:1.45rem;
      font-weight:800;
      letter-spacing:0.04em;
      line-height:1;
      white-space:nowrap;
    }
    .btn-primary.btn-has-price svg {
      width:18px;
      height:18px;
    }
    .btn-secondary {
      font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:0.78rem;
      letter-spacing:0.18em; text-transform:uppercase; color:rgba(240,244,248,0.45);
      text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:color 0.2s;
    }
    .btn-secondary svg { width:13px; }
    .btn-secondary:hover { color:var(--white); }
    .hero-ghost {
      position:absolute; top:50%; left:0; right:0; transform:translateY(-50%);
      font-family:'Barlow Condensed',sans-serif; font-weight:900; font-style:italic;
      font-size:clamp(10vw,16vw,20vw); line-height:1; text-transform:uppercase;
      white-space:nowrap;
      background:linear-gradient(180deg,rgba(90,173,207,0.07) 0%,rgba(90,173,207,0.03) 50%,transparent 100%);
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
      pointer-events:none; z-index:2; user-select:none; padding-left:40px;
    }
    @keyframes slideLeft {
      from { opacity:0; transform:translateX(-32px); }
      to   { opacity:1; transform:translateX(0); }
    }

    /* ══ VIDEO ═══════════════════════════════════════════ */
    .video-section { background:var(--deep); padding:0 0 0; position:relative; overflow:hidden; }
    .video-section::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(90,173,207,0.04) 0%,transparent 70%);
      pointer-events:none;
    }
    .video-intro { text-align:center; padding:90px 24px 52px; position:relative; z-index:2; }
    .video-eyebrow {
      font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; letter-spacing:0.4em;
      text-transform:uppercase; color:var(--orange); margin-bottom:14px;
    }
    .video-title {
      font-family:'Barlow Condensed',sans-serif; font-weight:800;
      font-size:clamp(2rem,4vw,3.2rem); letter-spacing:0.03em; text-transform:uppercase;
      line-height:0.92; color:var(--white);
    }
    .video-title em { font-style:italic; color:var(--blue); }
    .video-wrapper { position:relative; max-width:1100px; margin:0 auto; padding:0 48px 80px; }
    .video-poster {
      position:relative; width:100%; aspect-ratio:16/9;
      background:#04080f; overflow:hidden; cursor:pointer;
    }
    .video-poster::before {
      content:''; position:absolute; inset:-10px;
      background-image:var(--video-poster-img, var(--img-safari-hero));
      background-size:cover; background-position:center 40%;
      filter:saturate(0.5) brightness(0.45);
      transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94), filter 0.6s;
    }
    .video-poster:hover::before { transform:scale(1.04); filter:saturate(0.7) brightness(0.55); }
    .video-poster-overlay {
      position:absolute; inset:0;
      background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(6,9,15,0.3) 0%,rgba(6,9,15,0.7) 100%);
      z-index:1; transition:background 0.5s;
    }
    .video-poster:hover .video-poster-overlay {
      background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(6,9,15,0.1) 0%,rgba(6,9,15,0.55) 100%);
    }
    .vp-particle { position:absolute; border-radius:50%; pointer-events:none; z-index:2; }
    .vp-p1 { width:300px;height:300px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(90,173,207,0.08) 0%,transparent 70%);animation:particleDrift 8s ease-in-out infinite alternate; }
    .vp-p2 { width:200px;height:200px;bottom:-40px;left:-30px;background:radial-gradient(circle,rgba(232,123,32,0.07) 0%,transparent 70%);animation:particleDrift 10s 2s ease-in-out infinite alternate; }
    @keyframes particleDrift { from{transform:translate(0,0) scale(1);} to{transform:translate(20px,-20px) scale(1.15);} }
    .video-float-tag {
      position:absolute; top:22px; left:24px; z-index:4;
      display:flex; align-items:center; gap:8px;
      font-family:'Barlow Condensed',sans-serif; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase;
      color:rgba(240,244,248,0.45); background:rgba(6,9,15,0.6); backdrop-filter:blur(8px);
      padding:7px 14px; border:1px solid rgba(255,255,255,0.06);
    }
    .vft-dot { width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 6px rgba(232,123,32,0.9);animation:blink 1.8s ease-in-out infinite; }
    @keyframes blink { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
    .play-btn {
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      z-index:5; background:none; border:none; cursor:pointer;
      display:flex; flex-direction:column; align-items:center; gap:18px;
    }
    .play-ripple { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90px;height:90px;border-radius:50%;border:1px solid rgba(90,173,207,0.35);animation:rippleOut 2.2s ease-out infinite; }
    .play-ripple-2 { animation-delay:1.1s; border-color:rgba(232,123,32,0.2); }
    @keyframes rippleOut { 0%{transform:translate(-50%,-50%) scale(1);opacity:0.8;} 100%{transform:translate(-50%,-50%) scale(2.2);opacity:0;} }
    .play-circle {
      width:72px;height:72px;border-radius:50%;background:rgba(232,123,32,0.95);
      display:flex;align-items:center;justify-content:center;
      box-shadow:0 0 0 8px rgba(232,123,32,0.15),0 8px 40px rgba(232,123,32,0.4);
      transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s; position:relative;z-index:1;
    }
    .play-circle svg { width:28px;height:28px;color:#fff;margin-left:4px; }
    .play-btn:hover .play-circle { transform:scale(1.12); box-shadow:0 0 0 12px rgba(232,123,32,0.12),0 12px 50px rgba(232,123,32,0.55); }
    .play-label { font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:rgba(240,244,248,0.55);transition:color 0.2s;position:relative;z-index:1; }
    .play-btn:hover .play-label { color:rgba(240,244,248,0.85); }
    .video-poster-bar {
      position:absolute;bottom:0;left:0;right:0;z-index:4;
      display:flex;align-items:center;justify-content:space-between;
      padding:16px 24px;
      background:linear-gradient(to top,rgba(6,9,15,0.9) 0%,transparent 100%);
      border-top:1px solid rgba(255,255,255,0.04);
    }
    .vpb-left { display:flex;flex-direction:column;gap:2px; }
    .vpb-model { font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--white); }
    .vpb-brand { font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(240,244,248,0.3); }
    .vpb-duration { display:flex;align-items:center;gap:6px;font-family:'Barlow Condensed',sans-serif;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(240,244,248,0.35); }
    .video-frame-wrap { position:relative;width:100%;aspect-ratio:16/9; }
    .video-frame-wrap iframe { position:absolute;inset:0;width:100%;height:100%;border:none; }
    .video-bottom-line { height:1px;background:linear-gradient(90deg,transparent,rgba(90,173,207,0.2),rgba(232,123,32,0.15),rgba(90,173,207,0.2),transparent); }

    /* ══ DESC ════════════════════════════════════════════ */
    .desc-section { background:var(--panel); padding:100px 0; position:relative; }
    .desc-section::before { content:'';display:block;width:36px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue));margin:0 auto 70px; }
    .desc-inner { max-width:1100px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
    .desc-eyebrow { font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;letter-spacing:0.38em;text-transform:uppercase;color:var(--orange);margin-bottom:14px; }
    .desc-title { font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(2rem,3.2vw,2.8rem);letter-spacing:0.03em;text-transform:uppercase;line-height:0.92;margin-bottom:26px; }
    .desc-title em { font-style:italic; color:var(--blue); }
    .desc-body { font-size:0.92rem;line-height:1.85;font-weight:300;color:rgba(240,244,248,0.5);margin-bottom:14px; }
    .desc-cta { display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);border:1px solid rgba(232,123,32,0.4);padding:13px 28px;text-decoration:none;transition:background 0.2s,color 0.2s; }
    .desc-cta svg { width:13px;transition:transform 0.25s; }
    .desc-cta:hover { background:var(--orange);color:var(--deep); }
    .desc-cta:hover svg { transform:translateX(4px); }
    .specs-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .dspec {
      position: relative;
      background: rgba(255, 255, 255, 0.015);
      border: 1px solid rgba(255, 255, 255, 0.04);
      padding: 24px 22px;
      overflow: hidden;
      border-radius: 4px;
      transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
      backdrop-filter: blur(4px);
    }
    .dspec:hover {
      transform: translateY(-4px);
      background: linear-gradient(135deg, rgba(90, 173, 207, 0.07) 0%, rgba(8, 13, 24, 0.2) 100%);
      border-color: rgba(90, 173, 207, 0.22);
      box-shadow: 0 12px 35px rgba(6, 9, 15, 0.4), 0 0 15px rgba(90, 173, 207, 0.06);
    }
    .dspec-icon {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 44px;
      height: 44px;
      color: rgba(240, 244, 248, 0.07);
      transition: all 0.4s ease;
      pointer-events: none;
    }
    .dspec:hover .dspec-icon {
      color: var(--blue);
      transform: scale(1.1) rotate(5deg);
      opacity: 0.8;
    }
    .dspec-val {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 2.1rem;
      letter-spacing: 0.02em;
      color: var(--white);
      line-height: 1;
      position: relative;
      z-index: 2;
      transition: color 0.3s;
    }
    .dspec:hover .dspec-val {
      color: #fff;
    }
    .dspec-val sup {
      font-size: 0.48em;
      color: var(--orange);
      vertical-align: super;
      letter-spacing: 0;
      transition: color 0.3s;
    }
    .dspec:hover .dspec-val sup {
      color: #f79c4a;
    }
    .dspec-key {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 0.68rem;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(240, 244, 248, 0.32);
      margin-top: 8px;
      position: relative;
      z-index: 2;
      transition: color 0.3s;
    }
    .dspec:hover .dspec-key {
      color: rgba(240, 244, 248, 0.7);
    }
    .dspec::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0%;
      height: 2px;
      background: linear-gradient(90deg, var(--orange), var(--blue));
      transition: width 0.4s ease;
    }
    .dspec:hover::before {
      width: 100%;
    }
    .dspec-price {
      background: linear-gradient(135deg, rgba(232, 123, 32, 0.04) 0%, rgba(8, 13, 24, 0.3) 100%);
      border: 1px solid rgba(232, 123, 32, 0.22);
      box-shadow: 0 4px 30px rgba(232, 123, 32, 0.08);
    }
    .dspec-price .dspec-val {
      color: var(--orange);
    }
    .dspec-price .dspec-icon {
      color: rgba(232, 123, 32, 0.12);
    }
    .dspec-price:hover {
      transform: translateY(-4px);
      background: linear-gradient(135deg, rgba(232, 123, 32, 0.14) 0%, rgba(8, 13, 24, 0.4) 100%);
      border-color: rgba(232, 123, 32, 0.6);
      box-shadow: 0 12px 35px rgba(6, 9, 15, 0.4), 0 0 20px rgba(232, 123, 32, 0.2);
    }
    .dspec-price:hover .dspec-icon {
      color: var(--orange);
      transform: scale(1.1) rotate(5deg);
      opacity: 0.9;
    }
    .dspec-price:hover .dspec-val {
      color: #fff;
    }

    /* ══ GALLERY ═════════════════════════════════════════ */
    .gallery-section { background:var(--deep); padding:0 0 100px; position:relative; overflow:hidden; }
    .gallery-section::before { content:'';display:block;width:36px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue));margin:0 auto; }
    .gallery-intro { text-align:center; padding:70px 24px 52px; }
    .gallery-eyebrow { font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--orange);margin-bottom:14px; }
    .gallery-title { font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:0.03em;text-transform:uppercase;line-height:0.92;color:var(--white); }
    .gallery-title em { font-style:italic;color:var(--blue); }

    .gallery-grid {
      display:grid;
      grid-template-columns:repeat(12,1fr);
      grid-template-rows:300px 280px 220px;
      grid-auto-rows: 240px;
      gap:5px;
      max-width:1300px; margin:0 auto; padding:0 32px;
    }
    .g-pos-1 { grid-column:1/8;  grid-row:1/2; }
    .g-pos-2 { grid-column:8/13; grid-row:1/2; }
    .g-pos-3 { grid-column:1/5;  grid-row:2/3; }
    .g-pos-4 { grid-column:5/13; grid-row:2/3; }
    .g-pos-5 { grid-column:1/4;  grid-row:3/4; }
    .g-pos-6 { grid-column:4/7;  grid-row:3/4; }
    .g-pos-7 { grid-column:7/10; grid-row:3/4; }
    .g-pos-8 { grid-column:10/13;grid-row:3/4; }
    .g-pos-9 { grid-column:1/13; }
    .g-pos-10 { grid-column:1/7; }
    .g-pos-11 { grid-column:7/13; }
    .g-pos-12 { grid-column:1/5; }
    .g-pos-13 { grid-column:5/9; }
    .g-pos-14 { grid-column:9/13; }

    .g-cell {
      position:relative; overflow:hidden; cursor:pointer;
      opacity:0; transform:translateY(24px) scale(0.98);
      transition:opacity 0.6s ease var(--gd,0s), transform 0.65s cubic-bezier(0.22,1,0.36,1) var(--gd,0s);
    }
    .g-cell.g-visible { opacity:1; transform:translateY(0) scale(1); }

    .g-img {
      position:absolute; inset:0; background-size:cover;
      transition:transform 0.75s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .g-cell:hover .g-img { transform:scale(1.08); }

    .g-overlay {
      position:absolute; inset:0; z-index:1;
      background:linear-gradient(160deg,rgba(6,9,15,0.5) 0%,rgba(6,9,15,0.08) 50%,rgba(6,9,15,0.45) 100%);
      transition:background 0.5s;
    }
    .g-cell:hover .g-overlay {
      background:linear-gradient(160deg,rgba(6,9,15,0.2) 0%,rgba(6,9,15,0.0) 40%,rgba(6,9,15,0.22) 100%);
    }

    .g-glow {
      position:absolute; inset:0; z-index:2; opacity:0;
      background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(90,173,207,0.2) 0%,transparent 70%);
      transition:opacity 0.5s;
    }
    .g-cell:hover .g-glow { opacity:1; }

    .g-cell::after {
      content:''; position:absolute; inset:0;
      border:1px solid rgba(90,173,207,0);
      pointer-events:none; transition:border-color 0.4s; z-index:4;
    }
    .g-cell:hover::after { border-color:rgba(90,173,207,0.35); }

    /* Barrido de luz al entrar */
    .g-cell::before {
      content:''; position:absolute; top:0; bottom:0; left:-70%; width:35%;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,0.07),transparent);
      transform:skewX(-18deg); z-index:5; opacity:0; pointer-events:none;
    }
    .g-cell.g-visible::before {
      animation:galSweep 1s cubic-bezier(0.22,1,0.36,1) var(--gd,0s) both;
    }
    @keyframes galSweep { 0%{left:-70%;opacity:1;} 100%{left:120%;opacity:0;} }

    .g-info {
      position:absolute; bottom:0; left:0; right:0; z-index:3;
      display:flex; align-items:center; justify-content:space-between;
      padding:14px 18px;
      background:linear-gradient(to top,rgba(6,9,15,0.85) 0%,transparent 100%);
      transform:translateY(100%);
      transition:transform 0.38s cubic-bezier(0.22,1,0.36,1);
    }
    .g-cell:hover .g-info { transform:translateY(0); }

    .g-tag {
      font-family:'Barlow Condensed',sans-serif; font-size:0.68rem;
      letter-spacing:0.22em; text-transform:uppercase; color:rgba(240,244,248,0.75);
    }
    .g-zoom {
      width:30px; height:30px; display:flex; align-items:center; justify-content:center;
      border:1px solid rgba(90,173,207,0.4); color:var(--blue);
      transition:background 0.2s;
    }
    .g-zoom:hover { background:rgba(90,173,207,0.15); }
    .g-zoom svg { width:13px; }

    /* Número de celda — decorativo */
    .g-num {
      position:absolute; top:14px; right:16px; z-index:3;
      font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:0.6rem; letter-spacing:0.2em;
      color:rgba(240,244,248,0.18);
      opacity:0; transition:opacity 0.3s;
    }
    .g-cell:hover .g-num { opacity:1; }

    .gallery-counter {
      display:flex; align-items:center; justify-content:center; gap:18px;
      margin-top:44px;
      font-family:'Barlow Condensed',sans-serif; font-size:0.68rem;
      letter-spacing:0.28em; text-transform:uppercase; color:rgba(240,244,248,0.22);
    }
    .gc-line { display:block; height:1px; width:50px; background:rgba(255,255,255,0.08); }

    /* ══ LIGHTBOX ════════════════════════════════════════ */
    .lightbox {
      position:fixed; inset:0; z-index:10000;
      display:flex; align-items:center; justify-content:center;
      opacity:0; pointer-events:none; transition:opacity 0.35s ease;
    }
    .lightbox.lb-open { opacity:1; pointer-events:all; }
    .lb-backdrop {
      position:absolute; inset:0; background:rgba(4,7,12,0.97);
      backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    }
    .lb-inner {
      position:relative; z-index:1; width:100%; max-width:1100px;
      padding:0 80px; display:flex; flex-direction:column; align-items:center;
    }
    .lb-img-wrap {
      position:relative; width:100%;
      animation:lbIn 0.4s cubic-bezier(0.22,1,0.36,1) both;
      touch-action: pan-y;
      user-select: none;
      cursor: grab;
    }
    .lb-img-wrap.grabbing { cursor: grabbing; }
    #lbImg {
      width:100%; max-height:78vh; object-fit:contain; display:block;
      user-select: none; -webkit-user-drag: none; pointer-events: none;
      will-change: transform, opacity;
    }
    .lb-caption {
      margin-top:20px; text-align:center;
      font-family:'Barlow Condensed',sans-serif; font-size:0.72rem;
      letter-spacing:0.28em; text-transform:uppercase; color:rgba(240,244,248,0.35);
      user-select: none;
    }
    .lb-close {
      position:fixed; top:24px; right:28px; width:42px; height:42px;
      border:1px solid rgba(255,255,255,0.1); background:rgba(6,9,15,0.7);
      color:rgba(240,244,248,0.55); cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      transition:border-color 0.2s,color 0.2s; z-index:2;
    }
    .lb-close:hover { border-color:rgba(232,123,32,0.6); color:var(--orange); }
    .lb-close svg { width:18px; }
    .lb-nav {
      position:fixed; top:50%; transform:translateY(-50%);
      width:50px; height:50px; border:1px solid rgba(255,255,255,0.08);
      background:rgba(6,9,15,0.7); color:rgba(240,244,248,0.45);
      cursor:pointer; display:flex; align-items:center; justify-content:center;
      transition:border-color 0.2s,color 0.2s,background 0.2s; z-index:2;
    }
    .lb-prev { left:20px; }
    .lb-next { right:20px; }
    .lb-nav:hover { border-color:rgba(90,173,207,0.5); color:var(--blue); background:rgba(6,9,15,0.92); }
    .lb-nav svg { width:22px; }
    .lb-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:28px; max-width:90vw; }
    .lb-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.18); transition:background 0.2s,transform 0.2s; cursor:pointer; }
    .lb-dot.active { background:var(--orange); transform:scale(1.4); }

    /* ══ MODAL SUCURSALES (DESDE BOTON CTA) ═══════════════════ */
    .branch-modal-wrap {
      position: fixed;
      inset: 0;
      z-index: 99999;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.25s ease, visibility 0.25s ease;
    }
    .branch-modal-wrap.open {
      opacity: 1;
      visibility: visible;
    }
    .branch-modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(4, 7, 12, 0.78);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .branch-modal {
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 380px;
      background: rgba(14, 21, 33, 0.98);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 22px;
      padding: 18px;
      box-shadow: 0 24px 70px rgba(0, 0, 0, 0.85), 0 0 30px rgba(232, 123, 32, 0.15);
      display: flex;
      flex-direction: column;
      gap: 10px;
      transform: scale(0.92) translateY(12px);
      transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    .branch-modal-wrap.open .branch-modal {
      transform: scale(1) translateY(0);
    }
    .branch-modal-context {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 14px;
      background: rgba(232, 123, 32, 0.08);
      border: 1px solid rgba(232, 123, 32, 0.25);
      border-radius: 12px;
      margin-bottom: 4px;
    }
    .bmc-model {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      color: #fff;
      text-transform: uppercase;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .bmc-price {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--orange);
      letter-spacing: 0.03em;
      white-space: nowrap;
    }



    @media(max-width:960px) { .hero-left{width:65%;padding:0 40px 0 28px;} .hero-photo{width:70%;} }
    @media(max-width:700px) {
      .hero{flex-direction:column;height:auto;min-height:100vh;}
      .hero-photo{position:relative;width:100%;height:55vh;}
      .hero-photo::after{background:linear-gradient(to top,var(--deep) 0%,transparent 60%);}
      .hero-left{width:100%;padding:32px 24px 80px;}
      .hero-ghost{display:none;}
      .hero-cta-group{flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:360px;}
      .btn-primary{width:100%;justify-content:space-between;box-sizing:border-box;}
      .btn-secondary{justify-content:center;padding:8px 0;}
      .desc-inner{grid-template-columns:1fr;gap:48px;padding:0 24px;}
      .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        grid-auto-rows: 180px;
        gap: 6px;
        padding: 0 16px;
      }
      .g-cell {
        grid-column: auto !important;
        grid-row: auto !important;
        display: block !important;
      }
      .navbar{padding:16px 20px;} .navbar.scrolled{padding:12px 20px;}
      .footer-inner{flex-direction:column;gap:32px;padding:0 24px 40px;}
      .footer-divider{display:none;} .footer-bottom{flex-direction:column;gap:6px;text-align:center;padding:15px 20px;}
      .lb-nav{display:none;} .lb-inner{padding:0 16px;}
    }
  