
  :root{
    --blue: #0050F0;
    --blue-deep: #001A70;
    --champagne: #E8C6A5;
    --red-deep: #8F0000;
    --red: #F01010;
    --bg: #05060E;
    --bg-2: #0A0D1F;
    --panel: #10132A;
    --line: rgba(255,255,255,0.09);
    --text: #F5F7FF;
    --muted: #99A1C4;
    --radius: 18px;
    --maxw: 1180px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; color-scheme: dark only;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', -apple-system, sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Space Grotesk', 'Inter', sans-serif; font-weight:700; letter-spacing:-0.02em; line-height:1.08;}
  .font-display{font-family:'Orbitron', 'Space Grotesk', sans-serif; text-transform:uppercase;}
  .c-blue{color:var(--blue);}
  .c-red{color:var(--red);}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  section{position:relative;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--blue); margin-bottom:16px;
  }
  .eyebrow::before{content:""; width:7px; height:7px; background:var(--red); border-radius:2px; transform:rotate(45deg); flex-shrink:0;}
  #marketing .eyebrow{color:var(--champagne);}
  #marketing .eyebrow::before{background:var(--champagne);}
  .muted{color:var(--muted);}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:15px 28px; border-radius:999px; font-weight:700; font-size:15px;
    cursor:pointer; border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    white-space:nowrap;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{background:var(--red); color:#fff; box-shadow:0 8px 24px -8px rgba(240,16,16,0.6);}
  .btn-primary:hover{box-shadow:0 10px 30px -6px rgba(240,16,16,0.75); transform:translateY(-1px);}
  .btn-ghost{background:transparent; color:var(--text); border-color:rgba(0,80,240,0.45);}
  .btn-ghost:hover{border-color:var(--blue); background:rgba(0,80,240,0.08);}
  .btn-block{width:100%;}

  /* logomark */
  .logomark{width:34px; height:34px; flex-shrink:0;}
  .logotype{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; letter-spacing:-0.01em;}
  .brand-logo{height:44px; width:auto; display:block;}
  footer .brand-logo{height:52px; margin-bottom:14px;}

  /* header */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(5,6,14,0.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  header .wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
  .announce-bar{
    background:var(--red); color:#fff; text-align:center;
    font-size:12.5px; font-weight:700; letter-spacing:0.02em;
    padding:9px 16px;
  }
  .announce-short{display:none;}
  nav{display:flex; align-items:center; gap:30px;}
  nav a{font-size:14.5px; font-weight:600; color:var(--muted); transition:color .15s;}
  nav a:hover{color:var(--text);}
  .nav-links{display:flex; gap:28px;}
  .header-actions{display:flex; align-items:center; gap:14px;}
  .menu-btn{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; z-index:101;}
  .menu-btn span{width:22px; height:2px; background:var(--text); display:block; transition:transform .2s ease, opacity .2s ease;}
  .menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-btn.open span:nth-child(2){opacity:0;}
  .menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .logotype{flex-shrink:0;}
  .search-btn{
    display:none; background:none; border:none; cursor:pointer; padding:8px;
    color:var(--text); align-items:center; justify-content:center;
  }

  /* search overlay */
  .search-overlay{
    display:none; position:fixed; inset:0; z-index:200;
    background:rgba(5,6,14,0.97); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  }
  .search-overlay.open{display:block;}
  .search-overlay-inner{max-width:600px; margin:0 auto; padding:90px 20px 20px;}
  .search-input-row{
    display:flex; align-items:center; gap:12px;
    background:var(--panel); border:1px solid var(--line); border-radius:14px;
    padding:14px 18px; color:var(--muted);
  }
  .search-input-row input{
    flex:1; background:none; border:none; outline:none; color:var(--text); font-size:16px; font-family:'Inter',sans-serif;
  }
  .search-input-row input::placeholder{color:var(--muted);}
  .search-input-row button{background:none; border:none; color:var(--muted); font-size:16px; cursor:pointer; padding:4px;}
  .search-results{margin-top:18px; display:flex; flex-direction:column; gap:8px; max-height:70vh; overflow-y:auto;}
  .search-result{
    display:flex; flex-direction:column; gap:2px;
    background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px;
  }
  .sr-label{font-weight:700; font-size:15px; color:var(--text);}
  .sr-desc{font-size:13px; color:var(--muted);}
  .search-empty{color:var(--muted); font-size:14px; padding:20px 4px; text-align:center;}

  /* hero */
  .hero{
    padding:170px 0 110px;
    background:
      radial-gradient(ellipse 900px 500px at 15% -10%, rgba(0,80,240,0.35), transparent 60%),
      radial-gradient(ellipse 700px 500px at 100% 10%, rgba(240,16,16,0.16), transparent 55%),
      linear-gradient(180deg, var(--bg-deep, #05060E) 0%, var(--bg) 100%);
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center;}
  .hero h1{font-size:clamp(38px, 5vw, 68px); margin-bottom:22px; font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; letter-spacing:-0.01em;}
  .hero h1 .accent{color:var(--blue);}
  .hero h1 .accent-red{color:var(--red);}
  .hero h1 .c-blue{color:var(--blue);}
  .hero h1 .c-red{color:var(--red);}
  .hero p.lead{font-size:19px; color:var(--muted); max-width:520px; margin-bottom:34px;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:38px;}
  .hero-meta{display:flex; gap:28px; flex-wrap:wrap;}
  .hero-meta div{display:flex; flex-direction:column; gap:2px;}
  .hero-meta .n{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:22px; color:var(--text);}
  .hero-meta .l{font-size:12.5px; color:var(--muted); text-transform:uppercase; letter-spacing:0.06em;}
  .hero-visual{
    position:relative; aspect-ratio:4/5; border-radius:24px;
    background:#000 url('../img/hero-set-800.webp') center/cover no-repeat;
    border:1px solid rgba(255,255,255,0.1);
    display:flex; align-items:flex-end; justify-content:center;
    overflow:hidden;
  }
  .hero-visual::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(5,6,14,0) 40%, rgba(5,6,14,0.85) 100%);
  }
  .hero-visual .tag{
    position:relative; z-index:1; margin:0 18px 18px;
    background:rgba(5,6,14,0.55); border:1px solid rgba(255,255,255,0.14);
    border-radius:12px; padding:12px 16px; font-size:12.5px; color:var(--muted);
    backdrop-filter:blur(6px);
  }

  /* section headers */
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(28px,3.2vw,40px); margin-bottom:14px; font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; letter-spacing:-0.01em; color:var(--text);}
  .section-head p{color:var(--muted); font-size:17px;}
  .section-pad{padding:100px 0;}
  .section-pad.tight{padding:80px 0;}
  .border-b{border-bottom:1px solid var(--line);}
  .bg-alt{background:var(--bg-2);}

  /* services grid */
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .service-card{
    background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 26px; transition:border-color .2s, transform .2s;
    display:flex; flex-direction:column;
  }
  /* v32: tarjetas del ecosistema con foto real del set */
  .service-card.has-img{padding:0; overflow:hidden;}
  .service-card .sc-img{margin:0; line-height:0; background:#0A0B10;}
  .service-card .sc-img img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; display:block;}
  .service-card .sc-body{padding:26px 26px 28px; display:flex; flex-direction:column; flex:1;}
  .service-card.has-img .icon{margin-top:-46px; position:relative; z-index:1; box-shadow:0 6px 20px rgba(0,0,0,.45);}
  .service-card .sc-soon{display:block; margin-top:8px; font-size:13px; color:#8FB0FF;}
  .service-card .more{margin-top:auto;}
  .service-card:hover{border-color:rgba(0,80,240,0.5); transform:translateY(-3px);}
  .service-card .icon{
    width:46px; height:46px; border-radius:12px; margin-bottom:20px;
    display:flex; align-items:center; justify-content:center; font-size:20px;
    background:linear-gradient(135deg, var(--blue), var(--blue-deep));
  }
  .service-card h3{font-size:19px; margin-bottom:10px;}
  .service-card p{color:var(--muted); font-size:14.5px;}
  .service-card.wide{grid-column:span 1;}

  /* philosophy */
  .philosophy{
    background:linear-gradient(135deg, var(--blue-deep) 0%, #05060E 65%);
    border-radius:28px; padding:70px 60px; position:relative; overflow:hidden;
    border:1px solid rgba(255,255,255,0.08);
  }
  .philosophy::after{
    content:""; position:absolute; right:-60px; bottom:-70px; width:420px; height:420px;
    background-image:url('../img/marca-x.webp?v=2'); background-size:contain; background-repeat:no-repeat;
    opacity:0.12; pointer-events:none;
  }
  .philosophy blockquote{font-size:clamp(24px,2.9vw,36px); font-weight:700; font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; max-width:800px; margin-bottom:26px; letter-spacing:-0.01em; line-height:1.25;}
  .philosophy blockquote span{color:var(--red);}
  .philosophy p{color:#C7CEEA; max-width:640px; font-size:16.5px;}

  /* how it works */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:step;}
  .step{position:relative; padding-top:8px;}
  .step .num{
    font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; color:var(--red);
    display:flex; align-items:center; gap:10px; margin-bottom:16px;
  }
  .step .num::before{content:""; width:34px; height:1px; background:var(--line);}
  .step .num::after{content:""; width:34px; height:1px; background:var(--line); order:-1; display:none;}
  .step h4{font-size:17px; margin-bottom:8px;}
  .step p{color:var(--muted); font-size:14px;}

  /* pricing */
  .pricing-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:24px; align-items:stretch;}
  .price-card{
    background:linear-gradient(160deg, rgba(0,80,240,0.14), var(--panel) 55%);
    border:1px solid rgba(0,80,240,0.4); border-radius:var(--radius); padding:42px;
    display:flex; flex-direction:column;
  }
  .price-card .badge{
    align-self:flex-start; background:var(--red); color:#fff; font-size:11.5px; font-weight:700;
    text-transform:uppercase; letter-spacing:0.08em; padding:6px 12px; border-radius:999px; margin-bottom:20px;
  }
  .price-value{font-family:'Space Grotesk',sans-serif; font-size:44px; font-weight:700; margin-bottom:4px; color:var(--text);}
  .price-value small{font-size:16px; color:var(--muted); font-weight:500;}
  .price-card ul{list-style:none; margin:26px 0; display:flex; flex-direction:column; gap:12px;}
  .price-card li{display:flex; gap:10px; font-size:14.5px; color:#D5DAF2;}
  .price-card li::before{content:"✓"; color:var(--blue); font-weight:700; flex-shrink:0;}
  .price-note{font-size:13px; color:var(--muted); margin-top:auto; padding-top:18px;}
  .price-side{display:flex; flex-direction:column; gap:20px;}
  .price-side .item{
    background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:22px 24px;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
  }
  .price-side .item h4{font-size:15.5px; margin-bottom:4px;}
  .price-side .item p{font-size:13px; color:var(--muted);}
  .price-side .item .arrow{color:var(--red); font-size:20px; flex-shrink:0;}

  /* marketing combo */
  .combo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:36px;}
  .combo-card{background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:24px 20px;}
  .combo-card .k{font-family:'Space Grotesk',sans-serif; color:var(--blue); font-weight:700; font-size:13px; margin-bottom:10px;}
  .combo-card h4{font-size:16px; margin-bottom:8px;}
  .combo-card p{font-size:13.5px; color:var(--muted);}
  .combo-plus{display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:22px;}
  .extra-strip{
    display:flex; align-items:center; gap:20px;
    background:var(--bg); border:1px solid var(--line); border-radius:14px;
    padding:22px 26px; margin-bottom:24px;
  }
  .extra-strip-icon{font-size:28px; flex-shrink:0;}
  .extra-strip-text h4{font-size:15.5px; margin-bottom:4px;}
  .extra-strip-text p{font-size:13.5px; color:var(--muted);}
  .combo-banner{
    display:flex; align-items:center; gap:20px; justify-content:space-between; flex-wrap:wrap;
    background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:24px 30px;
  }
  .combo-banner p{color:var(--muted); font-size:14.5px; max-width:560px;}

  /* launch / waitlist */
  .launch{
    background:linear-gradient(120deg, var(--red) 0%, #B4161A 100%);
    border-radius:28px; padding:60px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:center;
  }
  .launch h2{font-size:clamp(28px,3.4vw,40px); margin-bottom:14px;}
  .launch p{color:rgba(255,255,255,0.88); font-size:16px; max-width:460px;}
  .launch-form{display:flex; flex-direction:column; gap:12px; background:rgba(0,0,0,0.18); padding:26px; border-radius:16px;}
  .launch-form input{
    padding:14px 16px; border-radius:10px; border:1px solid rgba(255,255,255,0.3); background:rgba(255,255,255,0.08);
    color:#fff; font-size:14.5px; font-family:inherit;
  }
  .launch-form input::placeholder{color:rgba(255,255,255,0.65);}
  .launch-form .btn-primary{background:#fff; color:var(--red);}
  .launch-form .fine{font-size:12px; color:rgba(255,255,255,0.7);}

  /* faq */
  .faq-list{display:flex; flex-direction:column; gap:12px; max-width:780px;}
  .faq-item{background:var(--panel); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
  .faq-q{
    padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px;
    cursor:pointer; font-weight:600; font-size:15.5px;
  }
  .faq-q .plus{font-size:20px; color:var(--blue); transition:transform .2s; flex-shrink:0;}
  .faq-item.open .plus{transform:rotate(45deg); color:var(--red);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
  .faq-a p{padding:0 24px 20px; color:var(--muted); font-size:14.5px;}

  /* contact / footer */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .contact-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:34px;}
  .contact-card h3{font-size:18px; margin-bottom:6px;}
  .contact-card p{color:var(--muted); font-size:14px; margin-bottom:22px;}
  .contact-row{display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--line);}
  .contact-row:first-of-type{border-top:none;}
  .contact-row .ic{width:38px; height:38px; border-radius:10px; background:rgba(0,80,240,0.15); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .contact-row .lbl{font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted);}
  .contact-row .val{font-size:14.5px; font-weight:600;}
  footer{border-top:1px solid var(--line); padding:50px 0 30px; background:var(--bg-2);}
  .footer-top{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; margin-bottom:40px;}
  .footer-cols{display:flex; gap:60px; flex-wrap:wrap;}
  .footer-col h5{font-size:12.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin-bottom:16px;}
  .footer-col a{display:block; font-size:14px; color:#D5DAF2; margin-bottom:10px;}
  .footer-col a:hover{color:var(--blue);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding-top:26px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted);}
  .social-row{display:flex; gap:12px;}
  .social-row a{width:36px; height:36px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:13px;}
  .social-row a:hover{border-color:var(--blue); color:var(--blue);}

  /* email float */
  .mail-float{
    position:fixed; bottom:24px; right:24px; z-index:90;
    width:58px; height:58px; border-radius:50%; background:#0050F0;
    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -6px rgba(0,80,240,0.6);
    font-size:26px; color:#fff;
  }
  .mail-float:hover{transform:scale(1.06);}

  @media (max-width: 980px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-visual{max-width:420px; margin:0 auto; aspect-ratio:1/1;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:repeat(2,1fr);}
    .combo-grid{grid-template-columns:repeat(2,1fr);}
    .combo-plus{display:none;}
    .pricing-grid{grid-template-columns:1fr;}
    .launch{grid-template-columns:1fr; padding:40px 28px;}
    .contact-grid{grid-template-columns:1fr;}
    .philosophy{padding:50px 30px;}
  }
  @media (max-width: 720px){
    .announce-bar{padding:8px 12px; white-space:nowrap; overflow:hidden;}
    .announce-full{display:none;}
    .announce-short{display:inline; font-size:12px;}
    .nav-links{display:none;}
    .nav-links.mobile-open{
      display:flex; flex-direction:column; gap:0;
      position:absolute; top:100%; left:0; right:0;
      background:rgba(5,6,14,0.98); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line);
      padding:6px 24px 18px;
      max-height:80vh; overflow-y:auto;
      z-index:99;
    }
    .nav-links.mobile-open a{
      padding:15px 0; border-bottom:1px solid var(--line); font-size:16px; color:var(--text);
    }
    .nav-links.mobile-open a:last-child{border-bottom:none;}
    .menu-btn{display:flex;}
    .header-actions a.btn-ghost{display:none;}
    .header-actions .btn-primary{display:none;}
    .header-actions{gap:8px; justify-self:end;}
    .brand-logo{height:36px;}
    header .wrap{display:grid; grid-template-columns:1fr auto 1fr; align-items:center;}
    .search-btn{display:flex; justify-self:start;}
    .logotype{justify-self:center;}
    .hero-copy{text-align:center;}
    .hero-actions{justify-content:center;}
    .hero-meta{justify-content:center;}
    .hero-meta div{align-items:center;}
    .services-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .combo-grid{grid-template-columns:1fr;}
    .extra-strip{flex-direction:column; align-items:flex-start;}
    .footer-top{flex-direction:column;}
    .footer-cols{flex-direction:column; gap:28px;}
    .price-value{font-size:34px;}
    .price-value small{display:block; margin-top:5px; font-size:14px;}
    .hero{padding:140px 0 80px;}
    .section-pad{padding:70px 0;}
  }

  /* FRASES (lo que escuchamos apenas entran) */
  .heard-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px;}
  .heard-card{
    background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 26px; position:relative;
  }
  .heard-card::before{content:"\201C"; font-family:'Space Grotesk','Inter',sans-serif; font-size:64px; line-height:.6; color:var(--blue); display:block; margin-bottom:14px;}
  .heard-card p{font-family:'Space Grotesk','Inter',sans-serif; font-size:21px; font-weight:600; line-height:1.3; color:var(--text);}
  .heard-note{margin-top:22px; color:var(--muted); font-size:14px; max-width:720px;}
  @media (max-width:820px){ .heard-grid{grid-template-columns:1fr;} }
  /* EQUIPO (bloque desactivado hasta tener fotos) */
  .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .team-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
  .team-card img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover; background:var(--bg-2);}
  .team-card .team-info{padding:16px 18px 20px;}
  .team-card h3{font-size:18px; margin-bottom:4px;}
  .team-card .role{color:var(--blue); font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px;}
  .team-card p{color:var(--muted); font-size:14px;}
  @media (max-width:980px){ .team-grid{grid-template-columns:repeat(2,1fr);} }

  /* ===== v16: SEO + fotos reales ===== */
  .skip-link{position:absolute; left:-9999px; top:8px; background:#fff; color:#000; padding:10px 16px; border-radius:8px; z-index:300; font-weight:700;}
  .skip-link:focus{left:12px;}
  .hero h1.h1-seo{font-size:clamp(28px, 3.1vw, 44px); margin-bottom:14px; line-height:1.1;}
  .hero .slogan{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:-0.01em; font-size:clamp(22px,2.6vw,32px); margin-bottom:22px; line-height:1.15;}
  .hero .slogan .c-blue{color:var(--blue);} .hero .slogan .c-red{color:var(--red);}
  .hero-visual{background:var(--bg-2);}
  .hero-visual > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%;}
  .hero-visual .tag{position:relative; z-index:1;}
  .breadcrumb{font-size:13px; color:var(--muted); margin-bottom:18px;}
  .breadcrumb a{color:var(--muted); text-decoration:underline; text-underline-offset:3px;}
  .breadcrumb a:hover{color:var(--text);}
  .hero.hero-page{padding:150px 0 80px;}
  .hero.hero-page .hero-grid{grid-template-columns:1.1fr 0.9fr;}
  .service-card .more{display:inline-block; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--blue);}
  .service-card .more:hover{color:var(--text);}

  /* equipamiento */
  .equip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .equip-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:border-color .2s, transform .2s;}
  .equip-card:hover{border-color:rgba(0,80,240,0.5); transform:translateY(-3px);}
  .equip-card img{width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; background:#000;}
  .equip-card .equip-info{padding:16px 18px 20px;}
  .equip-card h3{font-size:17px; margin-bottom:6px;}
  .equip-card .qty{color:var(--blue); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px;}
  .equip-card p{color:var(--muted); font-size:14px;}
  .equip-note{margin-top:22px; color:var(--muted); font-size:13px; max-width:760px;}
  .equip-grid.compact{grid-template-columns:repeat(4,1fr);}
  .equip-grid.compact h3{font-size:15px;}

  /* espacio (galería) */
  .gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .gallery figure{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--bg-2);}
  .gallery img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; transition:transform .5s ease;}
  .gallery figure:hover img{transform:scale(1.04);}
  .gallery-note{margin-top:22px; color:var(--muted); font-size:15px; max-width:760px;}

  /* equipo (foto grupal) */
  .about-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center;}
  .about-photo{border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,0.1);}
  .about-photo img{width:100%; height:auto;}
  .about-copy h2{font-size:clamp(28px,3.2vw,40px); margin-bottom:14px; font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; letter-spacing:-0.01em;}
  .about-copy p{color:var(--muted); font-size:16.5px; margin-bottom:16px;}
  .chips{display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 26px;}
  .chip{border:1px solid var(--line); background:var(--panel); border-radius:999px; padding:8px 14px; font-size:13px; font-weight:600; color:#D5DAF2;}

  /* landing pages */
  .prose{max-width:780px;}
  .prose h2{font-size:clamp(26px,3vw,36px); margin-bottom:14px; text-transform:uppercase; letter-spacing:-0.01em;}
  .prose p{color:var(--muted); font-size:16.5px; margin-bottom:16px;}
  .checklist{list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 30px; margin:22px 0;}
  .checklist li{display:flex; gap:10px; font-size:15px; color:#D5DAF2;}
  .checklist li::before{content:"✓"; color:var(--blue); font-weight:700; flex-shrink:0;}
  .related{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  .related a{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px 22px; display:block; transition:border-color .2s;}
  .related a:hover{border-color:rgba(0,80,240,0.5);}
  .related strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:16px; margin-bottom:4px;}
  .related span{color:var(--muted); font-size:13.5px;}
  .cta-band{background:linear-gradient(120deg, var(--blue-deep), #05060E 70%); border:1px solid rgba(255,255,255,0.08); border-radius:24px; padding:44px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cta-band h2{font-size:clamp(24px,2.8vw,34px); text-transform:uppercase; max-width:560px;}
  .cta-band p{color:var(--muted); margin-top:8px; max-width:520px;}
  footer .footer-col a:focus-visible, .btn:focus-visible, .faq-q:focus-visible, nav a:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}
  .faq-q{background:none; border:none; width:100%; text-align:left; color:inherit; font-family:inherit;}

  @media (max-width:980px){
    .equip-grid, .equip-grid.compact{grid-template-columns:repeat(2,1fr);}
    .gallery{grid-template-columns:repeat(2,1fr);}
    .about-grid{grid-template-columns:1fr; gap:30px;}
    .related{grid-template-columns:1fr;}
    .hero.hero-page .hero-grid{grid-template-columns:1fr;}
    .cta-band{padding:32px 24px;}
  }
  @media (max-width:720px){
    .hero h1.h1-seo{font-size:clamp(28px,8vw,38px);}
    .hero .slogan{margin-bottom:18px;}
    .checklist{grid-template-columns:1fr;}
    .equip-grid, .equip-grid.compact{gap:12px;}
    .equip-card .equip-info{padding:12px 14px 16px;}
    .equip-card h3{font-size:15px;}
    .equip-card p{font-size:12.5px;}
    .equip-card:last-child:nth-child(odd){grid-column:span 2;}
    .equip-card:last-child:nth-child(odd) img{aspect-ratio:16/9; object-position:50% 35%;}
    .gallery{gap:10px;}
    .hero.hero-page{padding:130px 0 60px;}
  }
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{transition:none !important;} }

  /* equipo: cinco socios */
  .team-grid.five{grid-template-columns:repeat(5,1fr); gap:16px;}
  .team-grid.five .team-card h3{font-size:16px;}
  .team-grid.five .team-card p{font-size:13px;}
  @media (max-width:1100px){ .team-grid.five{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:720px){
    .team-grid.five{grid-template-columns:repeat(2,1fr); gap:12px;}
    .team-grid.five .team-card:last-child{grid-column:1/-1; max-width:calc(50% - 6px); justify-self:center;}
    .team-grid.five .team-card .team-info{padding:12px 14px 16px;}
    .team-grid.five .team-card h3{font-size:15px;}
    .team-grid.five .team-card p{font-size:12.5px;}
  }

  .team-card img{height:auto;}

  /* ===== v18: portada a pantalla completa con recorrido del set ===== */
  .hero.hero-full{padding:0; background:#05060E; overflow:hidden; border-bottom:1px solid var(--line);}
  .hero-full .hero-sticky{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; padding-top:118px; padding-bottom:70px;}
  .hero-full .stage{position:absolute; inset:0; overflow:hidden; background:#05060E; z-index:0;}
  .hero-full .stage-img{position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 52%; will-change:transform;}
  .hero-full .stage-shade{position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(90deg, rgba(5,6,14,.93) 0%, rgba(5,6,14,.8) 30%, rgba(5,6,14,.35) 58%, rgba(5,6,14,0) 78%),
      linear-gradient(180deg, rgba(5,6,14,.75) 0%, rgba(5,6,14,0) 24%, rgba(5,6,14,0) 70%, rgba(5,6,14,.85) 100%);}
  .hero-full .hero-content{position:relative; z-index:3; width:100%;}
  .hero-full .hero-copy{max-width:640px;}
  .hero-full .hero-copy .lead{color:#d5dbf5; max-width:520px; text-shadow:0 1px 14px rgba(5,6,14,.8);}
  .hero-full .hero-copy .eyebrow,.hero-full .hero-copy h1,.hero-full .hero-copy .slogan{text-shadow:0 2px 22px rgba(5,6,14,.75);}
  .hero-full .hero-meta .l{color:#b3bbdc;}

  /* textos del recorrido: tarjeta abajo a la derecha */
  .stage-caps{position:absolute; right:max(24px, calc((100vw - 1180px)/2)); bottom:64px; width:min(380px, 32vw); height:150px; z-index:4; pointer-events:none;}
  .cap{position:absolute; left:0; right:0; bottom:0; opacity:0; transform:translateY(16px);
    background:rgba(5,6,14,.58); border:1px solid rgba(255,255,255,.16); border-radius:16px; padding:18px 20px 20px;
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);}
  .cap.is-on{opacity:1; transform:none; pointer-events:auto;}
  .cap-n{display:inline-block; font-family:'Space Grotesk','Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:.16em; color:#7fa6ff;
    border-bottom:2px solid var(--red); padding-bottom:3px; margin-bottom:10px;}
  .cap strong{display:block; font-family:'Space Grotesk','Inter',sans-serif; font-size:clamp(18px,1.6vw,23px); line-height:1.1; text-transform:uppercase; letter-spacing:-.005em; color:#fff; margin-bottom:8px;}
  .cap p{font-size:14px; line-height:1.5; color:#cbd2ee;}
  .cap a{color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px;}
  .stage-progress{display:none; position:absolute; right:14px; top:132px; bottom:64px; width:3px; z-index:4; border-radius:3px; background:rgba(255,255,255,.16); overflow:hidden;}
  .stage-progress i{display:block; width:100%; height:0; background:linear-gradient(180deg,var(--blue),var(--red));}
  .scroll-cue{display:none; position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:4; align-items:center; gap:12px;
    font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#b3bbdc; transition:opacity .4s; white-space:nowrap;}
  .scroll-cue span{width:1px; height:26px; background:linear-gradient(180deg,transparent,#fff); animation:nx-cue 1.8s ease-in-out infinite;}
  @keyframes nx-cue{0%{transform:scaleY(0); transform-origin:top;}50%{transform:scaleY(1); transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0); transform-origin:bottom;}}
  .hero.hero-scroll:not(.pin) .stage-img{animation:nx-kb 24s ease-in-out infinite alternate;}
  @keyframes nx-kb{from{transform:scale(1.02);}to{transform:scale(1.12);}}

  /* modo fijo (escritorio con pantalla alta): la foto recorre el set mientras se scrollea */
  .hero.hero-full.pin{overflow:visible; height:calc(100vh + 150vh);}
  .hero.pin .hero-sticky{position:sticky; top:0; height:100vh; min-height:0; overflow:hidden;}
  .hero.pin .stage-img{inset:auto; left:0; top:0; width:126%; height:auto; object-fit:fill; animation:none;}
  .hero.pin .stage-progress{display:block;}
  .hero.pin .scroll-cue{display:flex;}
  .hero.pin.scrolled .scroll-cue{opacity:0;}

  @media (max-width:980px){
    .hero-full .hero-sticky{align-items:flex-end; padding-top:150px; padding-bottom:44px;}
    .hero-full .stage-img{object-position:50% 40%;}
    .hero-full .stage-shade{background:
      linear-gradient(180deg, rgba(5,6,14,.7) 0%, rgba(5,6,14,.05) 26%, rgba(5,6,14,.1) 38%, rgba(5,6,14,.9) 72%, rgba(5,6,14,.96) 100%);}
    .hero-full .hero-copy{max-width:none;}
    .hero-full .hero-copy .lead{font-size:16px; margin-bottom:24px;}
    .stage-caps{left:16px; right:16px; width:auto; top:122px; bottom:auto; height:auto; min-height:64px;}
    .cap{top:0; bottom:auto; padding:11px 14px; border-radius:12px;}
    .cap strong{margin-bottom:0; font-size:16px;}
    .cap-n{margin-bottom:6px; font-size:11px;}
    .cap p{display:none;}
    .hero-full .hero-meta{display:none;}
  }
  .hero-full .hero-copy .eyebrow{color:#9db8ff;}
  @media (max-width:560px){
    .hero-full .hero-sticky{padding-top:140px; padding-bottom:30px;}
    .hero-full .hero-copy .lead{display:none;}
    .hero-full .hero-copy .eyebrow{font-size:10.5px; letter-spacing:.08em; white-space:nowrap; justify-content:center;}
    .hero-full .hero-actions{margin-bottom:0; gap:10px;}
    .hero-full .hero-copy .slogan{margin-bottom:20px;}
    .hero-full .stage-shade{background:
      linear-gradient(180deg, rgba(5,6,14,.7) 0%, rgba(5,6,14,.05) 26%, rgba(5,6,14,.1) 42%, rgba(5,6,14,.88) 66%, rgba(5,6,14,.96) 100%);}
  }
  @media (prefers-reduced-motion:reduce){
    .hero.hero-scroll:not(.pin) .stage-img{animation:none;}
    .scroll-cue span{animation:none;}
  }

  /* ===== v17: galería de 7 fotos con epígrafes ===== */
  .gallery{grid-template-columns:repeat(12,1fr);}
  .gallery figure{grid-column:span 3; position:relative;}
  .gallery figure:nth-child(n+5){grid-column:span 4;}
  .gallery figcaption{position:absolute; left:12px; bottom:12px; right:12px; width:max-content; max-width:calc(100% - 24px);
    font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#e9eeff;
    background:rgba(5,6,14,.6); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    padding:6px 11px; border-radius:999px; pointer-events:none;}
  @media (max-width:980px){
    .gallery{grid-template-columns:repeat(2,1fr);}
    .gallery figure, .gallery figure:nth-child(n+5){grid-column:auto;}
    .gallery figure:last-child{grid-column:1/-1;}
    .gallery figure:last-child img{aspect-ratio:16/10;}
  }

  /* ===== WhatsApp ===== */
  .wa-float{position:fixed; bottom:24px; right:24px; z-index:90; width:60px; height:60px; border-radius:50%; background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -6px rgba(37,211,102,.65); transition:transform .2s ease;}
  .wa-float:hover{transform:scale(1.07);}
  .wa-float .wa-ic{width:32px; height:32px;}
  .wa-float::after{content:""; position:absolute; inset:0; border-radius:50%; border:2px solid rgba(37,211,102,.7); animation:nx-wa 2.6s ease-out infinite;}
  @keyframes nx-wa{0%{transform:scale(1); opacity:.9;}100%{transform:scale(1.55); opacity:0;}}
  .contact-row .ic.wa{background:rgba(37,211,102,.14); color:#25D366;}
  .contact-row .ic.wa .wa-ic{width:20px; height:20px;}
  @media (prefers-reduced-motion:reduce){ .wa-float::after{animation:none; display:none;} }

  /* ===== v18: recorrido horizontal por el estudio ===== */
  .recorrido{position:relative; background:#05060E; border-bottom:1px solid var(--line);}
  .rec-pin{position:relative; height:min(100svh, 820px); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; overscroll-behavior-x:contain; overscroll-behavior-y:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
  .rec-pin::-webkit-scrollbar{display:none;}
  .rec-track{display:flex; height:100%; gap:6px; width:max-content;}
  .rp{position:relative; flex:none; height:100%; margin:0; overflow:hidden; background:#0A0D1F; scroll-snap-align:center;}
  .rp-full{width:100vw;}
  .rp picture{display:block; width:100%; height:100%;}
  .rp-full img{width:100%; height:100%; object-fit:cover; display:block;}
  .rp-tall img{height:100%; width:auto; display:block;}
  .rp-shade{position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg, rgba(5,6,14,.88) 0%, rgba(5,6,14,.55) 38%, rgba(5,6,14,0) 70%), linear-gradient(0deg, rgba(5,6,14,.7) 0%, rgba(5,6,14,0) 30%);}
  .rp figcaption{position:absolute; left:24px; bottom:30px; z-index:3; display:flex; align-items:center; gap:12px; max-width:calc(100% - 48px);
    font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#fff;
    background:rgba(5,6,14,.55); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:8px 14px; border-radius:999px;}
  .rp figcaption span{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; color:#7fa6ff; border-right:2px solid var(--red); padding-right:12px;}
  .rp-copy{position:absolute; z-index:3; left:max(24px, calc((100vw - 1180px)/2)); top:50%; transform:translateY(-50%); max-width:min(540px, 86vw);}
  .rp-copy h2{font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; letter-spacing:-.01em; font-size:clamp(28px,3.6vw,54px); line-height:1.05; margin-bottom:16px; text-shadow:0 2px 22px rgba(5,6,14,.7);}
  .rp-copy p{font-size:clamp(15px,1.25vw,18px); color:#d5dbf5; text-shadow:0 1px 14px rgba(5,6,14,.8); margin-bottom:22px;}
  .rec-hint{display:inline-flex; align-items:center; gap:10px; font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#b3bbdc;}
  .rec-hint b{font-size:18px; color:#fff; animation:nx-nudge 1.6s ease-in-out infinite;}
  @keyframes nx-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(7px);}}
  .rp-cta{background:radial-gradient(ellipse 700px 500px at 20% 10%, rgba(0,80,240,.4), transparent 60%), radial-gradient(ellipse 600px 500px at 90% 90%, rgba(240,16,16,.28), transparent 55%), #05060E; display:flex; align-items:center; justify-content:center; padding:40px 24px;}
  .rp-cta-in{max-width:620px;}
  .rp-cta h3{font-family:'Space Grotesk','Inter',sans-serif; text-transform:uppercase; font-size:clamp(28px,3.4vw,50px); line-height:1.05; margin-bottom:16px;}
  .rp-cta p{color:#cbd2ee; margin-bottom:26px; font-size:clamp(15px,1.25vw,18px);}
  .rp-cta .hero-actions{margin-bottom:0;}
  .rec-ui{position:absolute; left:0; right:0; bottom:0; z-index:5; pointer-events:none;}
  .rec-count{position:absolute; right:98px; bottom:22px; font-family:'Space Grotesk','Inter',sans-serif; font-size:13px; letter-spacing:.14em; color:#b3bbdc; text-shadow:0 1px 10px rgba(5,6,14,.9);}
  .rec-count b{color:#fff; font-size:20px;}
  .rec-bar{height:3px; background:rgba(255,255,255,.14);}
  .rec-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--blue),var(--red));}

  /* modo fijo (escritorio): el scroll vertical mueve el recorrido hacia la derecha */
  .recorrido.is-pin .rec-pin{position:sticky; top:0; height:100vh; overflow:hidden; scroll-snap-type:none;}
  .recorrido.is-pin .rec-track{will-change:transform;}
  .recorrido.is-pin .rp{scroll-snap-align:none;}
  .recorrido.is-pin .rp-full:not(.rp-cta) img{width:112%; max-width:none; margin-left:-6%; will-change:transform;}

  @media (max-width:980px){
    /* v35: cada spot ocupa la pantalla completa, solo descontando la barra de arriba */
    .rec-pin{height:calc(100svh - 112px); min-height:520px;}
    .rp figcaption{left:14px; bottom:22px; font-size:10.5px;}
    .rp-copy{top:auto; bottom:84px; transform:none; left:20px; right:20px; max-width:none;}
    .rp-shade{background:linear-gradient(0deg, rgba(5,6,14,.92) 0%, rgba(5,6,14,.55) 42%, rgba(5,6,14,0) 70%);}
    .rp-copy p{display:none;}
    .rec-count{right:88px; bottom:18px;}
    .rp-tall{width:100vw; max-width:100vw;}
    .rp-tall img{width:100%; height:100%; object-fit:cover;}
  }
  @media (max-width:720px){
    .rec-pin{height:calc(100svh - 104px);}
  }
  @media (prefers-reduced-motion:reduce){ .rec-hint b{animation:none;} }

  /* equipo de seis */
  .team-grid.six{grid-template-columns:repeat(6,1fr); gap:14px;}
  .team-grid.six .team-card h3{font-size:15.5px;}
  .team-grid.six .team-card p{font-size:13px;}
  @media (max-width:1100px){ .team-grid.six{grid-template-columns:repeat(3,1fr); gap:16px;} }
  @media (max-width:640px){ .team-grid.six{grid-template-columns:repeat(2,1fr); gap:12px;}
    .team-grid.six .team-card .team-info{padding:12px 14px 16px;}
    .team-grid.six .team-card h3{font-size:15px;} }

  /* v22: portada de escritorio con foto apaisada del set completo */
  @media (min-width:981px){
    .hero-full .stage-img{object-position:80% 50%;}
    .hero.hero-scroll:not(.pin) .stage-img{animation:nx-kb-d 26s ease-in-out infinite alternate; transform-origin:70% 50%;}
    .hero-full .stage-shade{background:
      linear-gradient(90deg, rgba(5,6,14,.9) 0%, rgba(5,6,14,.7) 30%, rgba(5,6,14,.2) 52%, rgba(5,6,14,0) 66%),
      linear-gradient(180deg, rgba(5,6,14,.7) 0%, rgba(5,6,14,0) 22%, rgba(5,6,14,0) 72%, rgba(5,6,14,.8) 100%);}
  }
  @keyframes nx-kb-d{from{transform:scale(1);}to{transform:scale(1.05);}}
  @media (min-width:981px){
    .stage-caps{right:24px; width:300px; top:132px; bottom:auto;}
    .cap strong{font-size:18px;}
  }

  [hidden].promo-pre, [hidden].promo-post{display:none !important;}

  /* ===== raspadita de prealquiler ===== */
  .rasp-overlay{position:fixed; inset:0; z-index:200; background:rgba(3,4,10,.72); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:16px;}
  .rasp-overlay[hidden]{display:none !important;}
  .rasp-card{position:relative; width:min(420px,100%); background:linear-gradient(160deg,#0d1030 0%,#05060E 70%); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:28px 24px 22px; text-align:center; box-shadow:0 30px 80px rgba(0,0,0,.6);}
  .rasp-x{position:absolute; top:8px; right:12px; background:none; border:0; color:#c9cfee; font-size:30px; line-height:1; cursor:pointer;}
  .rasp-eyebrow{color:#ff5a5a; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:6px;}
  .rasp-card h3{font-size:22px; margin:0 0 16px;}
  .rasp-zone{position:relative; height:150px; border-radius:16px; overflow:hidden; background:linear-gradient(135deg,#e10f0f,#1d4dff); user-select:none; touch-action:none;}
  .rasp-prize{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff;}
  .rasp-prize strong{font-size:46px; line-height:1; letter-spacing:-.01em;}
  .rasp-prize span{font-size:14px; margin-top:6px; opacity:.95;}
  #raspaCanvas{position:absolute; inset:0; width:100%; height:100%; cursor:grab; transition:opacity .5s;}
  .rasp-hint{font-size:13px; color:#aab2d8; margin:12px 0 0;}
  .rasp-form{display:grid; gap:10px; margin-top:14px;}
  .rasp-form[hidden]{display:none;}
  .rasp-form input{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:12px 14px; color:#fff; font-size:15px;}
  .rasp-fine{font-size:11.5px; color:#9aa3cc;}

  /* ===== v27: galería deslizable evidente (sin scroll secuestrado) ===== */
  .recorrido{position:relative;}
  .rec-pin{height:min(80svh, 760px); min-height:440px; scroll-padding-inline:6vw; cursor:grab;}
  .rec-pin.is-drag{cursor:grabbing; scroll-snap-type:none; user-select:none;}
  .rec-track{padding-inline:6vw; gap:10px;}
  .rp{border-radius:14px;}
  .rp-full{width:min(78vw, 1240px);}
  .rp-copy{left:clamp(20px, 4vw, 56px);}
  .rec-arrow{position:absolute; top:calc(50% - 28px); z-index:6; width:56px; height:56px; border-radius:50%; border:1px solid rgba(255,255,255,.35);
    background:rgba(5,6,14,.62); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; display:grid; place-items:center; cursor:pointer;
    transition:opacity .2s ease, transform .2s ease, background .2s ease; box-shadow:0 10px 30px -10px rgba(0,0,0,.7);}
  .rec-arrow svg{width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
  .rec-arrow:hover{background:var(--red); transform:scale(1.06);}
  .rec-arrow:focus-visible{outline:2px solid #fff; outline-offset:3px;}
  .rec-arrow[disabled]{opacity:0; pointer-events:none;}
  .rec-prev{left:18px;} .rec-next{right:18px;}
  .rec-next{background:var(--red); border-color:var(--red); animation:nx-pulse 2.2s ease-in-out infinite;}
  @keyframes nx-pulse{0%,100%{box-shadow:0 0 0 0 rgba(240,16,16,.55);}50%{box-shadow:0 0 0 14px rgba(240,16,16,0);}}
  .rec-swipe{position:absolute; z-index:6; left:50%; bottom:46px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:10px;
    font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; white-space:nowrap;
    background:rgba(5,6,14,.7); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    padding:10px 18px; border-radius:999px; pointer-events:none; transition:opacity .4s ease;}
  .rec-swipe b{font-size:18px; animation:nx-nudge 1.2s ease-in-out infinite;}
  .rec-swipe.is-gone{opacity:0;}
  @media (max-width:980px){
    .rec-pin{height:min(74svh, 640px); scroll-padding-inline:4vw;}
    .rec-track{padding-inline:4vw; gap:8px;}
    .rp-full{width:86vw;}
    .rp-tall{max-width:78vw;}
    .rec-arrow{width:46px; height:46px; top:calc(50% - 23px);}
    .rec-prev{left:10px;} .rec-next{right:10px;}
    .rec-swipe{bottom:40px; font-size:12px;}
  }
  @media (prefers-reduced-motion:reduce){ .rec-next, .rec-swipe b{animation:none;} }
  .recorrido .rec-hint{display:none;}
  .rec-swipe{top:22px; bottom:auto;}
  .rec-count{top:24px; bottom:auto; right:calc(6vw + 18px); background:rgba(5,6,14,.6); padding:4px 12px; border-radius:999px;}
  @media (max-width:980px){ .rec-swipe{top:16px; bottom:auto;} .rec-count{top:auto; bottom:18px; right:calc(4vw + 14px);} .rp figcaption{max-width:calc(100% - 120px);} }
  .rec-swipe{top:auto; bottom:84px;}
  @media (max-width:980px){ .rec-swipe{top:auto; bottom:74px;} }
  @media (max-width:980px){ .rp-copy{bottom:132px;} }

  /* ===== v28: planes y precios ===== */
  .promo-strip{margin:-8px 0 22px; padding:12px 18px; border-radius:12px; background:rgba(240,16,16,.12); border:1px solid rgba(240,16,16,.4); color:#ffd7d7; font-size:15px;}
  .promo-strip b{color:#fff;}
  .plans{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch;}
  .plan{position:relative; display:flex; flex-direction:column; gap:6px; padding:26px 22px 22px; border-radius:var(--radius); background:var(--panel); border:1px solid var(--line);}
  .plan h3{font-family:'Space Grotesk','Inter',sans-serif; font-size:22px;}
  .plan-tag{color:var(--muted); font-size:14px; min-height:2.6em;}
  .plan-price{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; font-size:clamp(28px,2.6vw,36px); letter-spacing:-.02em; margin-top:8px; font-variant-numeric:tabular-nums;}
  .plan-price small{font-size:15px; font-weight:600; color:var(--muted); margin-left:4px;}
  .plan-per{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8FB0FF;}
  .plan ul{list-style:none; margin:16px 0 22px; padding:0; display:flex; flex-direction:column; gap:10px; flex:1;}
  .plan li{display:flex; gap:10px; font-size:14.5px; color:#D5DAF2;}
  .plan li::before{content:"✓"; color:var(--blue); font-weight:700; flex-shrink:0;}
  .plan.featured{border-color:var(--red); background:linear-gradient(180deg, rgba(240,16,16,.14), rgba(16,19,42,1) 45%); box-shadow:0 24px 60px -30px rgba(240,16,16,.6);}
  .plan.featured li::before{color:var(--red);}
  .plan-badge{position:absolute; top:-12px; left:22px; background:var(--red); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px;}
  .single{margin-top:18px; display:grid; grid-template-columns:1.2fr 1.3fr auto; gap:24px; align-items:center; padding:22px 24px; border-radius:var(--radius); background:var(--panel); border:1px solid var(--line);}
  .single h3{font-family:'Space Grotesk','Inter',sans-serif; font-size:20px; margin-bottom:4px;}
  .single-copy p{color:var(--muted); font-size:14.5px;}
  .single-prices{display:flex; gap:28px; flex-wrap:wrap;}
  .single-prices div{display:flex; flex-direction:column;}
  .sp-l{font-size:13px; color:var(--muted);}
  .sp-v{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; font-size:26px; font-variant-numeric:tabular-nums;}
  .plans-note{margin-top:18px; color:var(--muted); font-size:14px; max-width:820px;}
  .plans-note a{color:var(--blue); text-decoration:underline;}
  @media (max-width:1100px){ .plans{grid-template-columns:repeat(2,minmax(0,1fr));} .single{grid-template-columns:1fr; gap:14px;} }
  @media (max-width:640px){ .plans{grid-template-columns:1fr; gap:22px;} .plan-tag{min-height:0;} }

  /* v29: horas primero */
  .plans-h{font-family:'Space Grotesk','Inter',sans-serif; font-size:15px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8FB0FF; margin:8px 0 18px;}
  .plans + .plans-note, .hours + .promo-fine{margin-top:14px;}
  .hours{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch;}
  .plan.hour .plan-badge{background:var(--red);}
  .plan-price s{font-size:.55em; color:var(--muted); font-weight:600; margin-right:6px;}
  .promo-fine{font-size:13px; color:var(--muted); margin:14px 0 34px;}
  .hours + .promo-fine + .plans-h, .hours + .plans-h{margin-top:40px;}
  @media (max-width:980px){ .hours{grid-template-columns:1fr; gap:22px;} }

  /* v30: agenda de reservas */
  .booking{background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);}
  .booking iframe{display:block; width:100%; height:720px; border:0;}
  @media (max-width:640px){ .booking iframe{height:900px;} }

  /* v32: elegir paquete -> WhatsApp */
  .pasos{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 30px;}
  .pasos-i{background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:14px; padding:18px 18px 16px;}
  .pasos-n{display:inline-block; font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; font-size:12px;
           letter-spacing:.14em; color:var(--red); margin-bottom:8px;}
  .pasos-i strong{display:block; font-size:16px; margin-bottom:6px; line-height:1.25;}
  .pasos-i p{margin:0; font-size:14px; color:var(--muted); line-height:1.5;}
  @media (max-width:820px){ .pasos{grid-template-columns:1fr; gap:12px; margin-bottom:26px;} }

  .plan-after{display:block; margin-top:10px; font-size:12.5px; color:var(--muted); text-align:center;}

  .incluye{margin-top:34px; padding:22px 24px; border:1px solid var(--line); border-radius:16px;
           background:rgba(143,176,255,.06);}
  .incluye h4{font-family:'Space Grotesk','Inter',sans-serif; font-size:15px; font-weight:700;
              letter-spacing:.1em; text-transform:uppercase; color:#8FB0FF; margin:0 0 14px;}
  .incluye ul{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px;}
  .incluye li{position:relative; padding-left:20px; font-size:14.5px; line-height:1.45;}
  .incluye li::before{content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--red);}
  .incluye p{margin:16px 0 0; font-size:14.5px; color:var(--muted);}
  @media (max-width:820px){ .incluye ul{grid-template-columns:1fr;} }

  /* v32b: en telefono las tarjetas del ecosistema van horizontales */
  @media (max-width:700px){
    .services-grid{gap:12px;}
    .service-card.has-img{
      display:grid; grid-template-columns:118px minmax(0,1fr); align-items:stretch; padding:0;
    }
    .service-card.has-img .sc-img{height:100%; min-height:100%;}
    .service-card.has-img .sc-img img{
      width:100%; height:100%; min-height:148px; aspect-ratio:auto;
      object-fit:cover; object-position:50% 28%;
    }
    .service-card.has-img .sc-body{padding:16px 16px 16px 15px;}
    .service-card.has-img .icon{display:none;}
    .service-card.has-img h3{font-size:16.5px; margin-bottom:5px;}
    .service-card.has-img p{font-size:13.5px; line-height:1.45;}
    .service-card.has-img .more{margin-top:10px; font-size:12.5px;}
    .service-card.has-img .sc-soon{margin-top:6px; font-size:12px;}
  }

  /* v33: armá tu reserva */
  .reserva{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; align-items:start;}
  .reserva-form{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
  .rf-row{margin-bottom:18px;}
  .rf-row > label{display:block; font-family:'Space Grotesk','Inter',sans-serif; font-weight:700;
                  font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:#8FB0FF; margin-bottom:8px;}
  .reserva-form select, .reserva-form input{
    width:100%; background:#0D0F16; color:var(--text); border:1px solid var(--line);
    border-radius:10px; padding:12px 13px; font:400 15px/1.2 'Inter',system-ui,sans-serif;
    appearance:none; -webkit-appearance:none;
  }
  .reserva-form select{background-image:linear-gradient(45deg,transparent 50%,#8FB0FF 50%),linear-gradient(135deg,#8FB0FF 50%,transparent 50%);
    background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:38px;}
  .reserva-form input:focus, .reserva-form select:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
  .rf-half{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .rf-half > div > label{display:block; font-family:'Space Grotesk','Inter',sans-serif; font-weight:700;
                  font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:#8FB0FF; margin-bottom:8px;}
  .rf-dia{display:grid; grid-template-columns:minmax(0,1fr) 138px 40px; gap:8px; margin-bottom:8px;}
  .rf-del{background:transparent; border:1px solid var(--line); border-radius:10px; color:var(--muted);
          cursor:pointer; font-size:14px; line-height:1;}
  .rf-del:hover{color:#fff; border-color:var(--red);}
  .rf-add{margin-top:4px; background:transparent; border:1px dashed var(--line); border-radius:10px;
          color:#8FB0FF; padding:10px 14px; font:600 13.5px 'Inter',sans-serif; cursor:pointer;}
  .rf-add:hover{border-color:var(--blue); color:#fff;}
  .rf-hint{display:block; margin-top:8px; font-size:12.5px; color:var(--muted); line-height:1.45;}
  .rf-center{text-align:center;}
  .rf-send{margin-top:6px;}

  .reserva-total{background:linear-gradient(160deg, rgba(240,16,16,.10), rgba(0,80,240,.10));
                 border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:sticky; top:96px;}
  .rt-badge{display:inline-block; background:var(--red); color:#fff; font:700 11px 'Inter',sans-serif;
            letter-spacing:.1em; text-transform:uppercase; padding:6px 11px; border-radius:999px; margin-bottom:14px;}
  .reserva-total h3{font-size:20px; margin-bottom:4px;}
  .rt-det{color:var(--muted); font-size:14px; margin-bottom:14px;}
  .rt-price{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; font-size:40px;
            line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
  .rt-tachado{margin-top:8px; font-size:13.5px; color:var(--muted);}
  .rt-list{list-style:none; margin:20px 0 0; padding:18px 0 0; border-top:1px solid var(--line); display:grid; gap:8px;}
  .rt-list li{position:relative; padding-left:19px; font-size:14px; line-height:1.45; color:var(--muted);}
  .rt-list li::before{content:""; position:absolute; left:0; top:.5em; width:6px; height:6px; border-radius:50%; background:var(--red);}
  .rt-fine{margin-top:18px; font-size:12.5px; color:var(--muted); line-height:1.5;}

  .agenda-det{margin-top:26px; border:1px solid var(--line); border-radius:14px; background:var(--panel); overflow:hidden;}
  .agenda-det > summary{cursor:pointer; padding:16px 20px; font:600 14.5px 'Inter',sans-serif; color:#8FB0FF; list-style:none;}
  .agenda-det > summary::-webkit-details-marker{display:none;}
  .agenda-det > summary::before{content:"▸ "; }
  .agenda-det[open] > summary::before{content:"▾ "; }
  .agenda-det .booking{margin:0 20px;}
  .agenda-det .plans-note{padding:14px 20px 18px; margin:0;}

  @media (max-width:900px){
    .reserva{grid-template-columns:1fr;}
    .reserva-total{position:static; order:-1;}
    .rt-price{font-size:34px;}
  }
  @media (max-width:520px){
    .reserva-form{padding:20px 18px;}
    .reserva-total{padding:20px 18px;}
    .rf-dia{grid-template-columns:minmax(0,1fr) 116px 38px; gap:6px;}
    .rf-half{grid-template-columns:1fr;}
  }

  /* ===== v35: en teléfono cada spot ocupa la pantalla entera ===== */
  @media (max-width:980px){
    .rec-pin{height:calc(100svh - 104px); min-height:520px; scroll-padding-inline:0;}
    .rec-track{padding-inline:0; gap:0;}
    .rp{border-radius:0;}
    .rp-full{width:100vw;}
    .rp-tall{width:100vw; max-width:100vw;}
    .rp-tall img{width:100%; height:100%; object-fit:cover;}
    .rp figcaption{left:14px; right:auto; bottom:64px; max-width:calc(100% - 28px);}
    .rec-count{right:16px; bottom:18px;}
    .rec-swipe{bottom:110px;}
  }

/* ===== v36: botón en cada foto del carrusel + videos ===== */
.rp-go{
  display:inline-flex; align-items:center; gap:7px;
  margin-top:10px; padding:10px 16px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.34);
  color:#fff; font-size:13.5px; font-weight:600; letter-spacing:.01em;
  text-decoration:none; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:background .18s ease, transform .18s ease, border-color .18s ease;
}
.rp-go b{font-weight:700;}
.rp-go:hover, .rp-go:focus-visible{background:rgba(255,255,255,.26); border-color:#fff; transform:translateY(-1px);}
.rp figcaption{display:flex; flex-direction:column; align-items:flex-start;}
.rp figcaption > span{margin-bottom:0;}

/* video de fondo de la portada (YouTube sin listar) */
.stage-video{position:absolute; inset:0; overflow:hidden; pointer-events:none; opacity:0; transition:opacity .9s ease; z-index:1;}
.stage-video.is-on{opacity:1;}
.stage-video iframe{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; border:0;
}
.stage-shade{z-index:2;}
.stage-caps, .stage-progress{z-index:3;}

/* video de cada sección: foto + play, carga al tocar */
.secvid{margin:0 0 42px;}
.secvid-play{
  position:relative; display:block; width:100%; padding:0; border:0; cursor:pointer;
  background:#0A0C16; border-radius:18px; overflow:hidden; line-height:0;
}
.secvid-play img{width:100%; height:auto; display:block; transition:transform .5s ease, filter .3s ease;}
.secvid-play:hover img{transform:scale(1.03); filter:brightness(1.06);}
.secvid-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:76px; height:76px; border-radius:50%; display:grid; place-items:center;
  background:rgba(10,12,22,.62); border:2px solid rgba(255,255,255,.85); color:#fff;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:transform .2s ease, background .2s ease;
}
.secvid-play:hover .secvid-btn{transform:translate(-50%,-50%) scale(1.08); background:var(--blue,#2E5BFF);}
.secvid-btn svg{width:34px; height:34px; margin-left:3px;}
.secvid-lbl{
  position:absolute; left:18px; bottom:16px; right:18px; text-align:left;
  color:#fff; font-size:14.5px; font-weight:600; line-height:1.3;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
}
.secvid-frame{position:relative; width:100%; aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000;}
.secvid-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
@media (max-width:980px){
  .secvid{margin-bottom:30px;}
  .secvid-btn{width:60px; height:60px;} .secvid-btn svg{width:27px; height:27px;}
  .secvid-lbl{font-size:13.5px; left:14px; right:14px; bottom:13px;}
  .rp-go{padding:11px 17px; font-size:14px;}
  .rp figcaption{bottom:74px;}
}

/* ===== v37: el botón abajo del texto, sin pisar nada ===== */
.rp figcaption{flex-direction:row; flex-wrap:wrap; align-items:center;}
.rp-go{flex:0 0 100%; margin-top:11px;}
@media (max-width:980px){
  .rp figcaption{left:14px; right:14px; bottom:54px; max-width:calc(100% - 28px);}
  .rec-swipe{top:auto; bottom:16px; left:16px; right:auto; transform:none; font-size:11.5px;}
  .rec-count{top:auto; bottom:16px; right:14px;}
  .rp-copy{bottom:150px;}
  .rp-first figcaption{bottom:100px;}
}

/* ===== v38: el botón no se estira ni se mete abajo del contador ===== */
.rp figcaption::after{content:''; flex-basis:100%; height:0; order:1;}
.rp-go{flex:0 0 auto; order:2; align-self:flex-start;}
@media (max-width:980px){
  .rp figcaption{max-width:calc(100% - 96px);}
}

/* ===== v39: la etiqueta y el botón, cada uno con su propia píldora ===== */
.rp figcaption{
  background:transparent; border:0; backdrop-filter:none; -webkit-backdrop-filter:none;
  padding:0; border-radius:0; align-items:flex-start; row-gap:0;
}
.rp .fc-txt{
  display:inline-flex; align-items:center; gap:12px;
  background:rgba(5,6,14,.58); border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:8px 14px; border-radius:999px;
}
.rp-go{
  background:rgba(5,6,14,.62); border:1px solid rgba(255,255,255,.34);
  text-transform:none; letter-spacing:.005em;
}
.rp-go:hover, .rp-go:focus-visible{background:var(--red,#E5122E); border-color:var(--red,#E5122E);}
.rp .fc-txt b{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; color:#7fa6ff; border-right:2px solid var(--red); padding-right:12px;}

/* ===== v40: en teléfono el "deslizá" ya lo dice la primera foto ===== */
@media (max-width:980px){ .rec-swipe{display:none;} }

/* ===== v41: los videos de sección son verticales (así se filmaron) ===== */
.secvid{max-width:340px; margin:0 auto 44px;}
.secvid-play{border-radius:20px; aspect-ratio:9/16;}
.secvid-play img{width:100%; height:100%; object-fit:cover;}
.secvid-frame{aspect-ratio:9/16; border-radius:20px;}
.secvid-btn{width:68px; height:68px;}
.secvid-btn svg{width:30px; height:30px;}
@media (max-width:980px){
  .secvid{max-width:min(100%, 420px); margin-bottom:34px;}
  .secvid-btn{width:62px; height:62px;}
}

/* ===== v42: el video propio se comporta igual que el embebido ===== */
.stage-video video{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:100%; height:100%; object-fit:cover;
}
.secvid-frame video{position:absolute; inset:0; width:100%; height:100%; background:#000; object-fit:cover;}

/* ===== v43: con el video andando, las placas de la foto sobran ===== */
.stage-video.is-on ~ .stage-caps{opacity:0; pointer-events:none; transition:opacity .5s ease;}
.stage-video.is-on ~ .stage-progress{opacity:0; transition:opacity .5s ease;}

/* ===== v44: el video de sección arranca solo, sin botón ===== */
.secvid-v{
  display:block; width:100%; aspect-ratio:9/16; object-fit:cover;
  border-radius:20px; background:#0A0C16;
}
.secvid-frame{aspect-ratio:9/16; border-radius:20px; overflow:hidden; background:#000; position:relative;}
.secvid-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* ==========================================================================
   v47 — el carrusel del set ya no le pelea al scroll del dedo
   En celular la galería ocupaba casi toda la pantalla y tenía enganche
   obligatorio (snap mandatory): al scrollear vertical el navegador la
   re-enganchaba y la página pegaba saltos. Ahora el enganche es suave,
   el rebote horizontal no se contagia a la página y la galería mide menos
   que la pantalla, así siempre queda borde libre para scrollear.
   v48 — el mismo enganche suave (proximity + overscroll-behavior) ya está
   en la regla base de .rec-pin (arriba), así que en compu con mouse/trackpad
   también deja de trabarse al scrollear para arriba y para abajo. Acá abajo
   solo quedan los extras que son de touch (no aplican con mouse).
   ========================================================================== */
@media (hover:none), (pointer:coarse){
  .rec-pin{
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:auto;
  }
}
@media (max-width:980px){
  .rec-pin{height:min(72svh, 620px); min-height:440px;}
  .rp figcaption{bottom:44px;}
  .rp-copy{bottom:120px;}
  .rp-first figcaption{bottom:86px;}
}
@media (max-width:700px){
  .rec-pin{height:min(70svh, 560px); min-height:420px;}
}
/* el salto al soltar el dedo sobre la galería también venía del scroll suave
   global disparándose en medio de un gesto */
@media (hover:none){
  html{scroll-behavior:auto;}
}
