
:root{
      --headline: 'Montserrat', var(--text);
      --text: 'Lato', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      --white:#fff; --black:#000;
    }
    *{box-sizing:border-box}
    *,*::before,*::after{border-radius:0 !important}
    html,body{height:100%; margin:0}
    body{font-family:var(--text); color:var(--white); background:#000}

    /* Barra superior (opcional) */
    .topbar{
      position:fixed; inset:0 0 auto 0; height:60px; z-index:20;
      display:flex; align-items:center; justify-content:center;
      padding:0; background:rgba(0,0,0,.78); backdrop-filter: blur(6px);
    }
    .brand{display:flex; align-items:center; gap:10px;}
    .logo-text{font-family:var(--headline); font-weight:800; letter-spacing:.04em; text-transform:uppercase;}
    .logo-img{height:26px; width:auto; display:block; filter:brightness(0) invert(1);} 
    .topbar-inner{max-width:1200px; width:100%; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
    .brand span{opacity:.85}

    /* Hero con video de fondo */
    .hero{
      position:relative; height:100vh; width:100vw; overflow:hidden;
      display:grid; place-items:center;
    }
    .video-bg{
      position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
      background:#000;
    }
    /* Iframe escalado para cubrir (cover) */
    .video-bg iframe{
      position:absolute; top:50%; left:50%;
      width:177.78vh; height:100vh;      /* 16:9 => 100 * 16/9 = 177.78 */
      min-width:100vw; min-height:56.25vw; /* fallback cover */
      transform:translate(-50%,-50%);
      filter:saturate(.95) contrast(1.05) brightness(.9);
    }
    /* Oscurecer para legibilidad */
    .video-overlay{
      position:absolute; inset:0; z-index:1;
      background: radial-gradient(120% 140% at 50% 60%, rgba(0,0,0,.35) 0%, rgba(0,0,0,.65) 60%, rgba(0,0,0,.75) 100%);
    }

    /* Contenido centrado */
    .hero-content{
      position:relative; z-index:2; text-align:center;
      padding:0 24px; max-width:760px; margin:0 auto;
      transform: translateY(1vh);
    }
    .hero-title{
      font-family:var(--headline); font-weight:800; letter-spacing:.02em;
      font-size:clamp(32px,5.6vw,64px); line-height:1.12; margin:0 0 6px;
      text-transform:uppercase;
    }
    .divider{
      width:min(320px,46vw); height:1px; margin:10px auto;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
    }
    .subtitle{
      font-size:clamp(16px,2.3vw,22px); opacity:.9; margin:6px 0 0;
    }

    /* Navegación */
    .nav{display:flex; align-items:center; gap:24px;}
    .nav a{color:#fff; text-decoration:none; font-family:'Montserrat', var(--text); font-weight:400; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; opacity:.9}
    .nav a:hover{opacity:1}
    .nav .cta-link{background:#fff; color:#000; padding:10px 16px; border-radius:0; font-weight:800; opacity:1}
    .nav .cta-link:hover{filter:brightness(.9)}

    /* Accesibilidad / Mobile */
    /* Responsive */
    @media (max-width: 860px){
      .nav{gap:18px}
      .nav a{font-size:13px}
      .topbar{height:56px}
      .topbar-inner{padding:0 16px}
    }
    @media (max-width: 640px){
      .video-bg iframe{filter:brightness(.85)}
      .hero-content{transform: translateY(2vh);} 
    }  /* Intro con video centrado */
    .intro{background:#fff; color:#111; padding:clamp(60px,8vw,120px) 0;}
    .intro .container{max-width:1100px; margin:0 auto; padding:0 24px;}
    .intro p.lead{max-width:860px; margin:0 auto 18px; font-size:clamp(16px,2.1vw,18px); line-height:1.8; color:#2b2b2b; text-align:center}
    .intro-title{font-family:var(--headline); font-weight:800; text-transform:uppercase; letter-spacing:.01em; text-align:center; font-size:clamp(24px,3.4vw,36px); line-height:1.15; margin:0 0 12px; color:#111;}
    .video-embed{max-width:980px; margin:16px auto 0; position:relative; aspect-ratio:16/9; background:#f3f3f5; border:1px solid #e6e6e8; box-shadow:0 14px 32px rgba(0,0,0,.10); overflow:hidden}
    .video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
/* Foto "Sobre mí" a sangre dentro de su columna */
.about-photo{
  border-radius: 0;
  overflow: hidden;
  /* quitamos el fondo gris que se veía como borde */
  background: none;
  /* si querés mantener la proporción del bloque, podés dejar el aspect-ratio */
  aspect-ratio: 4 / 5;
}

.about-photo img{
  display: block;
  width: 100%;
  height: 100%;
  /* llena todo el marco: puede recortar un poco para evitar márgenes */
  object-fit: cover;
  object-position: center;
}


  .about-split{background:#fff; color:#111; padding:clamp(60px,8vw,120px) 0;}
    .about-split .container{max-width:1200px; margin:0 auto; padding:0 24px;}
    .about-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:42px; align-items:center; position:relative;}
    .about-photo, .impr-photo{border-radius:0; overflow:hidden; aspect-ratio: 4 / 5; background:#efefef;}     
    .about-photo img{border-radius:0; box-shadow:0 18px 40px rgba(0,0,0,.16);}  
    .about-title{font-family:var(--headline); font-weight:800; letter-spacing:.01em; font-size:clamp(28px,3.6vw,42px); line-height:1.12; text-transform:uppercase; margin:0 0 18px;}
    .about-title em{font-style:italic; font-weight:700; text-transform:none;}
    .about-lead{border-left:2px solid #111; padding-left:18px; margin-top:14px; color:#2b2b2b; line-height:1.75;}

    /* Tira de prensa */
    /* (deprecated) .about-photo .press-overlay moved to .press-banner */  
    .press-kicker{opacity:.9; font-size:12px; letter-spacing:.18em; text-transform:uppercase;} 
    .press-logos{display:flex; align-items:center; gap:48px; flex-wrap:nowrap}  
    .press-logos .logo{font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:clamp(18px,2.2vw,26px);}  

    /* Wide press banner across the entire section */
    .press-banner{position:absolute; left:-24px; right:-24px; bottom:clamp(16px,3vw,36px); background:#0f0f0f; color:#fff; border-radius:0; box-shadow:0 14px 28px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; gap:clamp(24px,6vw,64px); padding:16px 28px; font-family:'Montserrat', var(--text); z-index:5;}  
    .press-overlay .sep{width:1px; height:24px; background:rgba(255,255,255,.22);}  

    @media (max-width: 900px){
      .about-grid{grid-template-columns:1fr;}
      .press-banner{left:-16px; right:-16px; bottom:clamp(12px, 3vw, 24px); padding:14px 18px; gap:24px;}
      .press-logos .logo{font-size:18px;}
    }
  /* ===== WINS (Resultados recientes) ===== */
    /* Hover / focus animations for wins */
    .win:hover, .win:focus-within{transform: translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.28); border-color: rgba(255,255,255,.18);} 
    .win:hover .win-media img, .win:focus-within .win-media img{transform: scale(1.03);} 
    .wins{background:#0b0b0b; color:#fff; padding: clamp(60px,8vw,120px) 0;}
    .wins .container{max-width:1200px; margin:0 auto; padding:0 24px;}
    .wins-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:24px;}
    .wins h2{font-family:var(--headline); font-weight:800; letter-spacing:.01em; text-transform:uppercase; font-size:clamp(28px,3.6vw,42px); line-height:1.12; margin:0}
    .wins-note{opacity:.75; font-size:14px;}

    .win-grid{display:grid; grid-template-columns: repeat(2, 1fr); gap:24px;}
    .win{background:#121212; border:1px solid rgba(255,255,255,.10); padding:18px; display:grid; grid-template-rows:auto auto 1fr; gap:12px; transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease, border-color .28s ease;}
    .win-media{background:#1b1b1b; aspect-ratio:16/9; position:relative; overflow:hidden;}
    .win-media img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.9) contrast(1.05); transition: transform .35s cubic-bezier(.22,.61,.36,1);} 
    .win-tag{font-family:'Montserrat', var(--text); letter-spacing:.08em; text-transform:uppercase; font-size:12px; background:#fff; color:#000; padding:6px 10px; width:max-content;}
    .win h3{font-family:var(--headline); font-weight:800; font-size:clamp(18px,2.4vw,24px); margin:6px 0 0;}
    .win p{margin:0; color:#e6e6e6; line-height:1.6;}

    @media (max-width: 900px){
      .win-grid{grid-template-columns:1fr;}
    }
  /* === Scroll reveal & header behavior === */
  .reveal{opacity:0; transform: translateY(14px); transition: transform .9s cubic-bezier(.22,.61,.36,1), opacity .9s ease; will-change: transform, opacity;} 
  .reveal.is-visible{opacity:1; transform:none}
  /* directional helpers */
  [data-reveal="fade-left"]{transform: translateX(18px)}
  [data-reveal="fade-right"]{transform: translateX(-18px)}
  [data-reveal].is-visible{transform:none}

  /* Topbar hide/show on scroll */
  .topbar{transition: transform .32s ease, background .32s ease, box-shadow .32s ease}
  .topbar.hide{transform: translateY(-100%)}
  .topbar.scrolled{background:rgba(0,0,0,.86); box-shadow: 0 10px 30px rgba(0,0,0,.28)}

  /* clickable overlay for cards */
  .win{position:relative}
  .win-overlay{position:absolute; inset:0; z-index:5; text-indent:-9999px}

  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal.is-visible{opacity:1 !important; transform:none !important; transition:none !important}
    .topbar{transition:none}
  }
  /* === CTA Instagram === */
  .cta-row{ text-align:center; margin: 18px 0 0; }
  .btn-ig{ display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; 
    background:#ffffff; color:#000000; font-family:'Montserrat', var(--text); font-weight:800; letter-spacing:.04em; text-transform:uppercase;
    padding:14px 22px; border:1px solid #111; box-shadow:0 10px 22px rgba(0,0,0,.25);
    transition: transform .26s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, filter .3s ease, background-color .3s ease, color .3s ease, border-color .3s ease;
  }
  .btn-ig:hover{ transform: translateY(-2px); box-shadow:0 14px 28px rgba(0,0,0,.32); filter:none; }
  /* Contextual CTA contrast */
  .wins .btn-ig{ background:#fff; color:#000; border-color:#fff; }
  /* === Beneficios box === */
  .benefits-card{ background:#fff; color:#111; border:1px solid #e6e6e6; box-shadow:0 12px 26px rgba(0,0,0,.06); padding: clamp(24px,4vw,40px); margin: clamp(24px,4vw,48px) auto; max-width:1100px; text-align:center; }
  .benefits-kicker{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; opacity:.8; margin:0 0 6px; }
  .benefits-title{ font-family:var(--headline); font-weight:800; letter-spacing:.01em; font-size:clamp(22px,3vw,32px); line-height:1.2; margin:0 0 18px; }
  .benefits-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px 28px; max-width:1000px; margin:0 auto; text-align:left; }
  .benefit{ display:flex; gap:10px; align-items:flex-start; color:#2b2b2b; }
  .benefit .dot{ width:8px; height:8px; background:#111; flex:0 0 8px; margin-top:9px; }
  @media (max-width: 900px){ .benefits-grid{ grid-template-columns: repeat(2,1fr);} }
  @media (max-width: 560px){ .benefits-grid{ grid-template-columns: 1fr;} }
  /* Pillars – Lo que obtenés (cards estilo pilares) */
  .pillars{ background:#fff; color:#111; border:1px solid #e6e6e6; box-shadow:0 12px 26px rgba(0,0,0,.06); padding: clamp(24px,4vw,40px); margin: clamp(24px,4vw,48px) auto; max-width:1100px; }
  .pillars .kicker{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; opacity:.8; margin:0 0 6px; text-align:center; }
  .pillars .title{ font-family:var(--headline); font-weight:800; letter-spacing:.01em; font-size:clamp(22px,3vw,32px); line-height:1.2; margin:0 0 18px; text-align:center; }
  .pillar-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:18px 24px; }
  .pillar{ background:#f6f6f7; border:1px solid #e8e8ea; padding:18px; transition: transform .25s ease, box-shadow .25s ease; }
  .pillar:hover{ transform: translateY(-3px); box-shadow:0 12px 22px rgba(0,0,0,.08); }
  .pillar h4{ font-family:var(--headline); font-weight:800; font-size:clamp(16px,2vw,20px); margin:0 0 6px; }
  .pillar p{ margin:0; color:#2b2b2b; line-height:1.6; }
  @media (max-width: 900px){ .pillar-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px){ .pillar-grid{ grid-template-columns: 1fr; } }
  /* === YouTube inline player (WIN 894) === */
  .win-media-yt{position:relative; background:#000;}
  .win-media-yt iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .yt-play{position:absolute; inset:0; display:grid; place-items:center; background:linear-gradient(180deg, rgba(0,0,0,0.00), rgba(0,0,0,0.18)); color:#fff; border:0; cursor:pointer; z-index:2;}
  .yt-play::before{content:""; width:60px; height:60px; border:2px solid rgba(255,255,255,.85); box-shadow:0 8px 20px rgba(0,0,0,.35);} 
  .yt-play::after{content:""; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent #fff; margin-left:-4px;}
  .yt-play:hover{background:linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.22));}
  .yt-play:focus-visible{outline:2px solid #fff; outline-offset:2px;}
  /* ===== Caso destacado (Mey) ===== */
  .featured{ background: radial-gradient(120% 140% at 0% 0%, #2a2a2a 0%, #1b1b1b 45%, #0f0f0f 100%); color:#fff; padding: clamp(60px,9vw,140px) 0; }
  .featured .container{ max-width:1200px; margin:0 auto; padding:0 24px; }
  .featured-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:32px; align-items:center; }
  .featured .kicker{ font-family:'Montserrat', var(--text); text-transform:uppercase; letter-spacing:.14em; font-size:12px; opacity:.85; margin-bottom:.35rem; }
  .featured h2{ font-family:var(--headline); font-weight:800; letter-spacing:-.01em; font-size:clamp(28px,3.8vw,48px); line-height:1.12; margin:0 0 10px; }
  .featured p{ color:#d9d9d9; line-height:1.75; margin:.6rem 0; }
  .featured-figure{ border:1px solid rgba(255,255,255,.08); background:#0b0b0b; box-shadow:0 18px 40px rgba(0,0,0,.35); overflow:hidden; }
  .featured-figure img{ width:100%; height:auto; display:block; }
  .featured .btn-ig{ background:#fff; color:#000; border-color:#fff; }
  @media (max-width: 900px){ .featured-grid{ grid-template-columns:1fr; } }
  /* ===== FAQ ===== */
  .faq{ background: linear-gradient(180deg,#ffffff 0%, #f7f7f8 100%); color:#111; padding: clamp(72px,8vw,128px) 0; }
  .faq .container{ max-width:1060px; margin:0 auto; padding:0 24px; }
  .faq h2{ text-align:center; font-family:var(--headline); font-weight:800; letter-spacing:-.01em; font-size:clamp(28px,3.4vw,42px); line-height:1.2; margin:0 0 22px; text-transform:uppercase; }
  .faq-sub{ text-align:center; color:#333; margin:0 auto 24px; max-width:820px; }
  .faq-list{ display:flex; flex-direction:column; gap:12px; }
  details.faq-item{ background:#fff; border:1px solid #e9e9e9; overflow:hidden; }
  .faq-item summary{ cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; padding:18px 22px; font-weight:800; color:#111; font-family:'Montserrat', var(--text); letter-spacing:.02em; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:""; width:12px; height:12px; border-right:2px solid #666; border-bottom:2px solid #666; transform: rotate(-45deg); transition: transform .25s ease; flex:0 0 12px; }
  details[open] summary::after{ transform: rotate(45deg); }
  .faq-item .answer{ padding:16px 22px 22px; border-top:1px solid #eee; background:#f7f7f9; color:#333; line-height:1.7; }
  /* ===== PRICING ===== */
  .pricing{ background:#fff; color:#111; padding: clamp(60px,8vw,120px) 0; border-top:1px solid #e6e6e6; }
  .pricing .container{ max-width:1100px; margin:0 auto; padding:0 24px; }
  .pricing h2{ text-align:center; font-family:var(--headline); font-weight:800; letter-spacing:.01em; text-transform:uppercase; font-size:clamp(28px,3.6vw,42px); margin:0 0 14px; }
  .pricing-sub{ text-align:center; color:#2b2b2b; margin:0 auto 28px; max-width:820px; }
  .price-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:24px; }
  .price-card{ background:#f6f6f7; border:1px solid #e8e8ea; padding:24px; box-shadow:0 12px 26px rgba(0,0,0,.06); display:flex; flex-direction:column; }
  .price-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:12px; }
  .plan-name{ font-family:'Montserrat', var(--text); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:13px; }
  .price-amount{ font-family:var(--headline); font-weight:800; font-size:clamp(28px,4vw,40px); }
  .price-list{ list-style:none; padding:0; margin:14px 0 18px; }
  .price-list li{ padding-left:14px; position:relative; margin:6px 0; color:#2b2b2b; }
  .price-list li::before{ content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; background:#111; }
  .price-cta{ margin-top:auto; text-align:center; }
  .price-card.highlight{ background:#111; color:#fff; border-color:#111; }
  .price-card.highlight .price-list li{ color:#e9e9e9 }
  .price-card.highlight .price-list li::before{ background:#fff; }
  .price-card.highlight .btn-ig{ background:#fff; color:#000; border-color:#fff; }
  @media (max-width: 900px){ .price-grid{ grid-template-columns:1fr; } }
  /* ===== URGENCY / SCARCITY (Countdown) ===== */
  .urgency{ background:#111; color:#fff; padding:14px 18px; border:1px solid #111; text-align:center; margin:0 0 22px; }
  .urgency .urgency-kicker{ font-family:'Montserrat', var(--text); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:12px; opacity:.9; margin-right:10px; }
  .countdown{ display:inline-flex; align-items:baseline; gap:12px; font-family:'Montserrat', var(--text); }
  .countdown span{ display:inline-flex; align-items:baseline; gap:4px; }
  .countdown strong{ font-weight:800; font-size:22px; line-height:1; }
  .countdown em{ font-style:normal; font-size:12px; letter-spacing:.12em; text-transform:uppercase; opacity:.88; }
  .urgency .urgency-note{ margin-left:10px; opacity:.9; }
  .urgency.ended{ background:#1b1b1b; opacity:.9; }
  /* ===== VALORES ===== */
  .values{ background:#fff; color:#111; padding: clamp(60px,8vw,120px) 0; border-top:1px solid #e6e6e6; }
  .values .container{ max-width:1100px; margin:0 auto; padding:0 24px; }
  .values h2{ text-align:center; font-family:var(--headline); font-weight:800; letter-spacing:.01em; text-transform:uppercase; font-size:clamp(28px,3.6vw,42px); margin:0 0 12px; }
  .values-sub{ text-align:center; color:#2b2b2b; margin:0 auto 28px; max-width:820px; }
  .values-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:18px 24px; }
  .value-card{ background:#f6f6f7; border:1px solid #e8e8ea; padding:22px; box-shadow:0 8px 18px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
  .value-card:hover{ transform: translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,.10); }
  .value-card h3{ font-family:var(--headline); font-weight:800; font-size:clamp(16px,2vw,20px); margin:0 0 6px; }
  .value-card p{ margin:0; color:#2b2b2b; line-height:1.65; }
  @media (max-width: 900px){ .values-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px){ .values-grid{ grid-template-columns: 1fr; } }
  /* ===== FOOTER ===== */
  .site-footer{ background:#0b0b0b; color:#e9e9e9; padding: clamp(48px,6vw,96px) 0 28px; border-top:1px solid rgba(255,255,255,.08); }
  .site-footer .container{ max-width:1200px; margin:0 auto; padding:0 24px; }
  .footer-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
  .footer-brand{ font-family: var(--headline); font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; text-decoration:none; }
  .footer-links{ display:flex; gap:18px; flex-wrap:wrap; }
  .footer-links a{ color:#e9e9e9; text-decoration:none; font-family:'Montserrat', var(--text); font-weight:800; font-size:12px; letter-spacing:.06em; text-transform:uppercase; opacity:.9; }
  .footer-links a:hover{ opacity:1; text-decoration:underline; }
  .footer-line{ height:1px; background: linear-gradient(to right, transparent, rgba(255,255,255,.18), transparent); margin:18px 0; }
  .footer-copy{ color:#9a9a9a; font-size:.92rem; text-align:center; padding-top:10px; }



/* ===== Interludio de video: cubrir ANCHO, mantener franja ===== */
.mid-video{ position:relative; background:#000; overflow:hidden; }
.mid-video .frame{
  /* NOTA: el alto de la franja lo seguís manejando acá si algún día querés.
     Ahora NO hace falta tocarlo. */
  --h: 34vh;              /* alto de la franja (opcional) */
  height: var(--h);
  min-height: 220px;
  max-height: 420px;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mid-video .vid{ position:absolute; inset:0; overflow:hidden; background:#000; }

/* 👉 El video ocupa TODO el ANCHO de la franja y se centra vertical/horizontalmente.
      Mantiene relación 16:9. Puede recortarse arriba/abajo si su alto supera la franja. */
.mid-video .vid iframe{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);  /* centra el frame */
  width: 100%;                       /* ocupa TODO el ancho de la franja */
  height: auto;                      /* altura proporcional al ancho */
  aspect-ratio: 16 / 9;              /* mantiene 16:9 */
  border: 0;
  pointer-events: none;
  filter: contrast(1.05) saturate(.95) brightness(.9);
}


.mid-video .overlay{
  position:absolute; inset:0;
  background: radial-gradient(120% 140% at 50% 60%,
              rgba(0,0,0,.18) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.68) 100%);
}

.mid-video .copy{
  position:relative; z-index:2; height:100%;
  display:grid; place-items:center; text-align:center; padding:0 20px;
}
.mid-video .title{
  font-family: var(--headline); font-weight:800; letter-spacing:.02em;
  font-size: clamp(20px,3.6vw,34px); line-height:1.15; margin:0;
  text-transform: uppercase;
}
.mid-video .title em{ font-style:italic; font-weight:800; text-transform:none; }

.scroll-cue{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%;
  background:#fff; color:#000; display:grid; place-items:center;
  box-shadow:0 10px 22px rgba(0,0,0,.35); text-decoration:none;
  transition: transform .25s ease, box-shadow .25s ease;
}
.scroll-cue:hover{ transform:translateX(-50%) translateY(-2px); box-shadow:0 16px 32px rgba(0,0,0,.42); }
.scroll-cue svg{ width:18px; height:18px; }

@media (max-width:640px){
  .mid-video .frame{ --h: 30vh; min-height:200px; } /* <<< podés ajustar el alto en mobile */
  .mid-video .title{ font-size: clamp(18px,4.2vw,28px); }
}

/* === Mobile nav (hamburger + drawer) =============================== */
.nav-toggle{
  display:none;
  width:42px; height:42px; border:0; background:transparent; cursor:pointer;
  position:relative; margin-left:auto;
}
.nav-toggle span{
  position:absolute; left:9px; right:9px; height:2px; background:#fff;
  transition:transform .28s ease, opacity .28s ease;
}
.nav-toggle span:nth-child(1){ top:12px; }
.nav-toggle span:nth-child(2){ top:20px; }
.nav-toggle span:nth-child(3){ top:28px; }

/* overlay */
.nav-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:19;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}

/* Drawer (reutiliza .nav) */
@media (max-width: 900px){
  .nav-toggle{ display:block; z-index:21; }
  .topbar-inner{ gap:12px; }

  .nav{
    position:fixed; z-index:20; top:0; right:0;
    height:100vh; width:min(78vw,360px);
    background:#0b0b0b; box-shadow:-24px 0 60px rgba(0,0,0,.35);
    padding:84px 22px 22px;  /* deja aire bajo la topbar */
    display:flex; flex-direction:column; align-items:flex-start; gap:18px;
    transform:translateX(100%); transition:transform .3s cubic-bezier(.22,.61,.36,1);
  }

  .nav a{ font-size:15px; opacity:1; }
  .nav .cta-link{ width:100%; text-align:center; padding:12px 18px; }

  /* estado abierto */
  body.menu-open .nav{ transform:translateX(0); }
  body.menu-open .nav-backdrop{ opacity:1; pointer-events:auto; }

  /* animación del ícono a "X" */
  body.menu-open .nav-toggle span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  body.menu-open .nav-toggle span:nth-child(2){ opacity:0; }
  body.menu-open .nav-toggle span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

  /* opcional: bloquear scroll del body cuando el menú está abierto */
  body.menu-open{ overflow:hidden; }
}

/* ====== Pruebas / Carrusel ====== */
.proof{
  background:#000; color:#fff;
  padding: clamp(36px, 6vw, 72px) 0;
}
.proof .proof-head{ text-align:center; margin: 0 0 18px; }
.proof .proof-title{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight: 800; letter-spacing:.02em; text-transform: uppercase;
  line-height:1.15; margin:0; 
  font-size: clamp(18px, 3.4vw, 28px);
}
.proof .proof-title span{
  font-weight:700; opacity:.85; font-size: .9em;
}

/* Carrusel solo dedo (scroll-snap) */
.stories{
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}
.stories-track{
  display:flex; gap: clamp(12px, 2vw, 18px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;  /* Firefox */
  padding: 6px 2px;
}
.stories-track::-webkit-scrollbar{ display:none; }  /* WebKit */

/* Card 9:16, sin bordes redondeados */
.story{
  flex: 0 0 auto;
  
  width: clamp(220px, 28vw, 360px);
  aspect-ratio: 9 / 16;
  background:#111; border-radius:0; overflow:hidden;
  scroll-snap-align: start;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}
.story img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block; filter:saturate(.95) contrast(1.05);
}

/* Bloque de dinero + checklist + gráficas */
.money-proof{
  max-width: 1200px; margin: clamp(28px, 5vw, 48px) auto 0; padding: 0 24px;
}
.money-title{
  text-align:center;
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight:800; text-transform:uppercase; letter-spacing:.02em;
  margin:0 0 10px; line-height:1.2;
  font-size: clamp(18px, 3vw, 24px);
  
}
.checks{
  list-style:none; margin:0 auto 16px; padding:0;
  max-width: 780px; text-align:center;
  font-weight:600; letter-spacing:.01em;
}
.checks li{ margin:6px 0; }

/* Dos gráficas lado a lado (stack en mobile) */
.graphs{
  display:grid; gap:14px;
  grid-template-columns: repeat(2, 1fr);
  max-width: 980px; margin: 0 auto;
}
.graph{background:#0b0b0b; border:1px solid rgba(255,255,255,.1); box-shadow:0 14px 28px rgba(0,0,0,.28);}
.graph img{ display:block; width:100%; height:auto; }

@media (max-width: 900px){
  .story{ width: clamp(70vw, 78vw, 86vw); }
  .graphs{ grid-template-columns: 1fr; }
}
/* ====== Carrusel “stories” PRO ====== */
.stories{
  position:relative;
  max-width:1200px;
  margin: 0 auto;
  padding: 0 24px 10px;
}

/* Fades laterales (pista de que hay swipe en mobile) */
.stories::before,
.stories::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:min(70px,10vw);
  pointer-events:none;
  z-index:2;
  background:linear-gradient(to right, #000 0%, rgba(0,0,0,0) 100%);
}
.stories::after{
  right:0;
  transform:scaleX(-1);
}
.stories::before{ left:0; }

/* Pista — mobile: swipe; desktop: sin scroll y centrado */
.stories-track{
  display:flex;
  gap: clamp(16px, 2.2vw, 28px);
  overflow-x: auto;                /* mobile swipe */
  scroll-snap-type: x mandatory;
  scroll-padding: 24px;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 12px;
  scrollbar-width: none;           /* Firefox */
}
.stories-track::-webkit-scrollbar{ display:none; }

/* CARD: relación 3:4 (más natural p/fotos verticales) */
.story{
  --card-w: clamp(240px, 26vw, 360px);
  flex: 0 0 auto;
  width: var(--card-w);
  aspect-ratio: 3 / 4;             /* << antes 9/16; ahora se ve más */
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 40px rgba(0,0,0,.38);
  overflow:hidden;
  scroll-snap-align: center;
}
.story img{
  width:100%; height:100%;
  object-fit: cover;
  /* centrado con un pelín de foco hacia arriba (caras) */
  object-position: 50% 20%;
  display:block;
  filter: saturate(.98) contrast(1.05);
}

/* Desktop: mostrar 3 centradas sin scroll */
@media (min-width: 1024px){
  .stories::before,
  .stories::after{ display:none; } /* sin fades */
  .stories-track{
    overflow: visible;              /* no scroll en escritorio */
    justify-content: center;
  }
  .story{
    width: min(28vw, 360px);
    transition: transform .28s cubic-bezier(.22,.61,.36,1),
                box-shadow .28s ease;
  }
  .story:hover{
    transform: translateY(-6px);
    box-shadow:0 24px 60px rgba(0,0,0,.5);
  }
}

/* Si querés que en pantallas muy chicas las cards respiren más */
@media (max-width: 480px){
  .story{ width: clamp(72vw, 84vw, 88vw); }
}
/* ===== “¿Te identificás?” – versión PRO ===== */
.pain-box{
  margin: clamp(28px,6vw,56px) 0 6px;
}
.pain-head{
  text-align:center;
  font-family: var(--headline);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#111;
  margin:0 0 18px;
  font-size: clamp(14px,1.6vw,15px);
  opacity:.85;
}

/* Grid 2x2 desktop / 1x4 mobile */
.pain-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: clamp(16px,2.2vw,24px);
}

/* Card “cara”: capas de luz + borde fino + sombra profunda */
.pain-card{
  position:relative;
  isolation:isolate;                     /* permite overlays internos */
  background:
    radial-gradient(120% 140% at 0% 0%, #181517 0%, #0e0e0f 55%, #0a0a0a 100%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    0 28px 60px rgba(0,0,0,.28),
    0 10px 24px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
  padding: clamp(22px,3.2vw,34px);
  color:#fff;
  transition: transform .28s cubic-bezier(.22,.61,.36,1), 
              box-shadow .28s ease, 
              border-color .28s ease, 
              filter .28s ease;
}

/* brillo sutil en el borde superior (cara) */
.pain-card::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,.12), transparent 28%);
  mix-blend-mode: screen; opacity:.25; pointer-events:none;
}

/* barra/acento superior izquierda (detalle editorial) */
.pain-card::after{
  content:"";
  position:absolute; left:0; top:0; height:3px; width:42%;
  background: linear-gradient(90deg, rgba(255,255,255,.65), rgba(255,255,255,0));
  opacity:.55; pointer-events:none;
}

.pain-card p{
  margin:0;
  font-family:'Montserrat', var(--text);
  font-weight:800;
  line-height:1.28;
  letter-spacing:.012em;
  text-wrap:balance;
  font-size: clamp(18px,2.4vw,26px);
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.35)); /* mejora contraste en blanco */
}

/* micro-interacción */
@media (hover:hover){
  .pain-card:hover{
    transform: translateY(-6px);
    box-shadow:
      0 34px 80px rgba(0,0,0,.38),
      0 16px 32px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.14);
    filter: saturate(1.02);
  }
}

/* Responsivo */
@media (max-width: 900px){
  .pain-grid{ grid-template-columns: 1fr; }
  .pain-card p{ font-size: clamp(18px,5.4vw,22px); }
}
/* ===== Reaseguro + CTA ===== */
.reassure-cta{
  background:
    radial-gradient(140% 120% at 10% 0%, #ffffff 0%, #ffffff 38%, #ffffff 100%);
  color:#000000;
  padding: clamp(36px, 6vw, 72px) 0;
  margin-top: 30px;
  border-top:1px solid rgb(0, 0, 0);
  border-bottom:1px solid rgb(0, 0, 0);
  border-left:1px solid rgb(0, 0, 0);
  border-right:1px solid rgb(0, 0, 0);
}
.reassure-wrap{
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  padding: 0 24px;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.35));
}
.reassure-kicker{
  font-family:'Montserrat', var(--text);
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.9;
  margin: 0 0 8px;
  font-size: 12px;
}
.reassure-title{
  font-family: var(--headline);
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
  line-height:1.15;
  margin: 0 0 18px;
  font-size: clamp(22px, 3.2vw, 36px);
}
.reassure-title span{ font-style: italic; font-weight:800; text-transform:none; }

/* Botón dorado de alto contraste */
.btn-gold{
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none;
  font-family:'Montserrat', var(--text);
  font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  padding: 14px 24px;
  background: linear-gradient(180deg,#000000 0%, #000000 55%, #000000 100%);
  color:#ffffff; border:1px solid #000000;
  box-shadow: 0 12px 26px rgba(0,0,0,.28);
  transition: transform .24s cubic-bezier(.22,.61,.36,1), box-shadow .24s ease, filter .24s ease;
}
.btn-gold:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
  filter: saturate(1.05);

}

/* ===== WINS / TESTIMONIOS ===== */
.wins-wall{background: radial-gradient(120% 140% at 0% 0%, #2a2a2a 0%, #1b1b1b 45%, #0f0f0f 100%); color:#fff; padding: clamp(60px,9vw,140px) 0;}
.wins-wall .container{max-width:1200px; margin:0 auto; padding:0 24px;}
.wins-wall-kicker{
  font-family:'Montserrat', var(--text);
  text-transform:uppercase; letter-spacing:.14em; font-size:12px; opacity:.82;
  display:block; margin-bottom:.35rem;
}
.wins-wall-title{
  font-family:var(--headline); font-weight:800; letter-spacing:-.01em;
  font-size:clamp(28px,3.8vw,48px); line-height:1.12; margin:0 0 18px;
}
.wins-wall-title em{font-style:italic; font-weight:800;}

.wins-wall-grid{
  display:grid; gap:clamp(14px,2vw,22px);
  grid-template-columns:repeat(3,minmax(0,1fr));
  position:relative;
}
/* WIN cards: mostrar la captura completa, sin zoom */
.wins-card{
  background:#0f0f0f;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 40px rgba(0,0,0,.40);
  aspect-ratio: 9 / 16;
  overflow:hidden;
  margin:0;
  padding:8px;                /* aire para que la imagen no toque el borde */
}

.wins-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit: contain;        /* <- antes era cover (zoomeaba) */
  background:#0b0b0b;         /* relleno detrás de la captura */
  image-rendering:-webkit-optimize-contrast; /* mejora nitidez en iOS/WebKit */
  transform: translateZ(0);   /* evita glitches en algunos móviles */
}

.wins-card:hover{
  transform: translateY(-6px);
  border-color: rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}

/* “Recorte” inicial + fade para sugerir que hay más */
.wins-wall-grid.clip{
  max-height: 72vh;                 /* altura visible inicial */
  overflow: hidden;
}
.wins-wall-grid.clip::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:120px;
  background:linear-gradient(to top, rgba(11,11,11,1) 0%, rgba(11,11,11,0) 100%);
  pointer-events:none;
}
.wins-wall-grid.is-open{max-height:none;}
.wins-wall-grid.is-open::after{display:none;}

.wins-wall-ctas{
  display:flex; gap:16px; justify-content:center; align-items:center;
  margin-top: clamp(18px,3vw,28px);
}

/* Botón fantasma y botón blanco */
.btn-ghost{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.6);
  font-family:'Montserrat', var(--text); font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:14px 22px; cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-ghost:hover{background:#fff; color:#000; border-color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(255,255,255,.18);}

.btn-white{
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  background:#fff; color:#000; border:1px solid #fff;
  font-family:'Montserrat', var(--text); font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:14px 22px; transition: transform .26s cubic-bezier(.22,.61,.36,1), box-shadow .26s ease, filter .26s ease;
}
.btn-white:hover{ transform: translateY(-2px); box-shadow:0 14px 28px rgba(255,255,255,.28); }

@media (max-width: 980px){
  .wins-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 560px){
  .wins-wall-grid{grid-template-columns:1fr;}
  .btn-ghost, .btn-white{width:100%; text-align:center;}
  .wins-wall-ctas{flex-direction:column;}
}

/* ===== Lightbox para WINS ===== */
.lb{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.88);
  display:none; /* se abre con .open */
}
.lb.open{ display:grid; place-items:center; }

.lb-figure{
  position:relative;
  max-width:92vw; max-height:92vh;
  display:grid; gap:10px;
}
#lb-img{
  max-width:92vw; max-height:82vh;
  width:auto; height:auto;
  object-fit:contain;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.15);
  background:#000;
}
.lb-cap{
  text-align:center; color:#ddd; opacity:.85;
  font-size:.95rem;
}

.lb-close{
  position:absolute; top:-12px; right:-12px;
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.07);
  color:#fff; cursor:pointer;
  backdrop-filter: blur(6px);
}
.lb-nav{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:space-between;
  pointer-events:none;
}
.lb-nav button{
  pointer-events:auto; cursor:pointer;
  width:48px; height:72px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  color:#fff; font-size:22px;
}
.lb-nav .lb-prev{ margin-left:-64px; }
.lb-nav .lb-next{ margin-right:-64px; }

@media (max-width: 900px){
  .lb-nav .lb-prev{ margin-left:6px; }
  .lb-nav .lb-next{ margin-right:6px; }
}

/* Cursor de zoom en las cards */
.wins-card img{ cursor: zoom-in; }
/* --- Press banner: comportamiento móvil --- */
@media (max-width: 640px){
  .about-split .about-grid{ gap: 16px; }

  /* La franja deja de ser absoluta y se muestra como bloque */
  .about-split .press-banner{
    position: static !important;
    left: auto; right: auto; bottom: auto;
    margin: 8px 0 0;
    padding: 12px 16px;
    box-shadow: 0 10px 22px rgba(0,0,0,.25);
    background:#0f0f0f; color:#fff;       /* conserva el look */
    justify-content: center;              /* ya venía centrado */
  }
}
/* Full-bleed de la franja en móvil (edge-to-edge) */
@media (max-width: 640px){
  .about-split .press-banner{
    position: static;                 /* ya la tenés debajo del texto */
    width: 100vw;                     /* ocupa todo el ancho de la ventana */
    margin-left: calc(50% - 50vw);    /* saca el padding del container (full bleed) */
    margin-right: calc(50% - 50vw);
    margin-top: 16px;
    border-radius: 0;
    padding-top: clamp(18px, 4.5vw, 28px);
    padding-bottom: clamp(18px, 4.5vw, 28px);
    padding-left: max(18px, env(safe-area-inset-left));   /* safe area iOS */
    padding-right:max(18px, env(safe-area-inset-right));
    box-shadow: 0 14px 28px rgba(0,0,0,.35);
    display:flex; align-items:center; justify-content:center;
    gap: 28px;                         /* espacio entre etiquetas */
  }
  .about-split .press-banner .sep{ display:none; }         /* opcional: sin separador vertical */
}
/* ====== BEBAS NEUE (titular compacto) ====== */
:root{
  --hero-font: "Bebas Neue", sans-serif;
  --hero-weight: 400;          /* Bebas usa un solo peso */
  --hero-transform: uppercase; /* queda bien full caps */
}
.hero-title{
  font-family: var(--hero-font);
  font-weight: var(--hero-weight);
  text-transform: var(--hero-transform);
  letter-spacing: .04em;       /* sugerencia: un poquito de tracking */
}

/* Texto introductorio dentro de “Lo que obtenés” */
.pillars .pillars-desc{
  max-width: 860px;
  margin: 0 auto 18px;        /* centrado y espacio inferior */
  text-align: center;
  color: #2b2b2b;
  line-height: 1.75;
  font-size: clamp(15px, 2vw, 18px);
}

/* Un poquito de aire antes de las tarjetas si hace falta */
.pillar-grid{ margin-top: 10px; }
/* Contenedor del precio puede alojar "ahora" y "antes" */
.price-amount{
  display:flex;
  align-items:baseline;
  gap:10px;
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
.price-now{
  font-weight:800;
  font-size: clamp(28px,4vw,40px);
  line-height:1;
}
.price-was{
  font-weight:800;
  font-size: clamp(16px,2.2vw,22px);
  color:#9a9a9a;
  text-decoration: line-through;
  opacity:.85;
  transform: translateY(2px);
}
.price-card.highlight .price-was{ color:#cfcfcf; opacity:.9 }

/* Mini contador para el plan de $600 */
.mini-timer{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  color:#111;
  border:1px solid #e6e6e6;
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
}
.price-card.highlight .mini-timer{
  background:#0b0b0b;
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.mini-timer .count b{ font-weight:900; }
/* ===== Ribbon (franja negra) arriba del card ===== */
.price-card{ position:relative; overflow:hidden; }
.price-card.has-ribbon{ padding-top:56px; } /* deja espacio para la franja */

.price-ribbon{
  position:absolute; inset:0 0 auto 0;    /* top:0; left:0; right:0 */
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 14px;
  background:#0b0b0b; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
  font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.price-ribbon .ribbon-text{
  font-size:12px; letter-spacing:.06em; text-transform:uppercase; opacity:.95; font-weight:800;
}

.price-ribbon .ribbon-count{
  font-size:12px; letter-spacing:.02em; font-weight:800;
}
.price-ribbon .ribbon-count b{
  font-weight:900; margin:0 2px;
}

/* Ajustes responsive */
@media (max-width: 560px){
  .price-card.has-ribbon{ padding-top:62px; }
  .price-ribbon{ padding:12px 14px; }
  .price-ribbon .ribbon-text{ font-size:11px; letter-spacing:.05em; }
  .price-ribbon .ribbon-count{ font-size:11px; }
}
/* Acordeón para “Lo que obtenés” */
.pillars-accordion .pillar{
  background:#f6f6f7; border:1px solid #e8e8ea;
  overflow:hidden;
}

/* Ocultar el marcador nativo y diseñar el summary como fila clickeable */
.pillars-accordion .pillar summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; gap:12px;
  padding:18px; margin:0;
}
.pillars-accordion .pillar summary::-webkit-details-marker{ display:none; }

/* Título conserva tu estilo */
.pillars-accordion .pillar h4{
  margin:0; font-family:var(--headline, Montserrat, sans-serif);
  font-weight:800; font-size:clamp(16px,2vw,20px);
}

/* Flecha (chevron) */
.pillars-accordion .pillar summary::after{
  content:""; margin-left:auto; width:10px; height:10px; flex:0 0 10px;
  border-right:2px solid #111; border-bottom:2px solid #111;
  transform:rotate(-45deg); transition:transform .2s ease;
  opacity:.9;
}
.pillars-accordion .pillar[open] summary::after{
  transform:rotate(45deg);   /* apunta hacia arriba al abrir */
}

/* Cuerpo del acordeón */
.pillars-accordion .pillar-body{ padding:0 18px 18px; color:#2b2b2b; line-height:1.65; }

/* (Opcional) pequeña transición “suave” de altura */
.pillars-accordion .pillar-body{ display:block; }
/* Contenedor invisible que permite “flotar” el botón entre secciones */
.bridge-cta{
  position: relative;
  height: 0;                 /* no ocupa alto visible */
  z-index: 20;               /* por encima del footer */
}

/* Botón grande, elegante y llamativo */
.btn-bridge{
  position: absolute;
  left: 50%;
  top: 0;                    /* parte superior del “puente” */
  transform: translate(-50%, -50%); /* lo centra y lo deja a caballo entre blanco/negro */
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 20px 44px;        /* tamaño grande */
  font-size: 30px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;

  background: #fff;          /* cápsula blanca para contrastar en el borde negro */
  color: #000;
  border: 2px solid #000;
  border-radius: 16px;

  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  text-decoration: none;

  /* Animación sutil de “flotar” */
  animation: floatY 3s ease-in-out infinite, glow 2.8s ease-in-out infinite;
  will-change: transform, box-shadow;
}

/* Hover/active */
.btn-bridge:hover{
  transform: translate(-50%, -52%) scale(1.03);
  box-shadow: 0 24px 50px rgba(0,0,0,.25);
}
.btn-bridge:active{
  transform: translate(-50%, -48%) scale(0.995);
}

/* Pulso/glow suave (sin colores fuertes para mantener la estética elegante) */
@keyframes glow{
  0%,100%{ box-shadow: 0 18px 40px rgba(0,0,0,.18), 0 0 0 0 rgba(0,0,0,.0);}
  50%   { box-shadow: 0 22px 55px rgba(0,0,0,.26), 0 0 0 12px rgba(0,0,0,.06);}
}

/* Movimiento leve vertical */
@keyframes floatY{
  0%,100%{ transform: translate(-50%, -50%); }
  50%    { transform: translate(-50%, calc(-50% - 6px)); }
}

/* Responsive para móviles */
@media (max-width: 640px){
  .btn-bridge{
    padding: 16px 28px;
    font-size: 16px;
    border-radius: 14px;
  }
}

/* Opcional: asegurá que el footer tenga fondo negro sólido */
.site-footer{
  background:#0a0a0a;
  color:#fff;
  position: relative;
  z-index: 10;
}
