
  :root{
    --black:#0D0D0F;
    --panel:#17161A;
    --panel-2:#1E1D22;
    --red:#8B0000;
    --red-bright:#B0201F;
    --gold:#F5C378;
    --gold-btn:#D68B1A;
    --ink:#F3F1ED;
    --ink-soft:rgba(243,241,237,0.72);
    --line:rgba(243,241,237,0.14);
    --whatsapp:#25D366;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; scroll-padding-top: calc(76px + env(safe-area-inset-top,0px)); }
  body{
    margin:0; background:var(--black); color:var(--ink);
    font-family:'Poppins', 'Helvetica Neue', Arial, sans-serif;
    line-height:1.65; -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
  a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky; top:0; z-index:60;
    padding-top:env(safe-area-inset-top,0px);
    background: color-mix(in srgb, var(--black) 85%, transparent);
    backdrop-filter: blur(8px);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; max-width:1180px; margin:0 auto;
    position:relative;
  }
  .glass-icon{ color:var(--red-bright); }
  nav.links{ display:flex; gap:30px; flex-wrap:wrap; }
  nav.links a{
    font-weight:500; font-size:.92rem; text-decoration:none; color:var(--ink);
    position:relative; padding-bottom:3px;
  }
  nav.links a.active{ color: var(--gold-btn); }
  nav.links a::after{
    content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
    background:var(--gold-btn); transition:width .25s ease;
  }
  nav.links a:hover::after{ width:100%; }
  .nav-burger{
    display:none; background:none; border:none; color:var(--ink); cursor:pointer; padding:6px;
  }
  @media (max-width:820px){ nav.links{ gap:16px; } nav.links a{ font-size:.8rem; } }
  @media (max-width:640px){
    .nav-burger{ display:flex; }
    nav.links{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; gap:0; background:var(--black); border-top:1px solid var(--line);
      border-bottom:1px solid var(--line); padding:8px 28px 14px;
    }
    nav.links.open{ display:flex; }
    nav.links a{ padding:12px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
    nav.links a:last-child{ border-bottom:none; }
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height:100vh; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center;
    padding: 60px 28px 70px;
    background:
      linear-gradient(180deg, rgba(13,13,15,.35), rgba(13,13,15,.55) 55%, var(--black) 96%),
      url('/assets/ricci-2.jpg') center 35% / cover no-repeat;
  }
  .hero-panel{
    position:relative; max-width:640px; width:100%;
    background: rgba(13,13,15,.88);
    border-radius: 340px 340px 24px 24px;
    padding: 64px 44px 46px;
  }
  .hero-icon{ margin:0 auto 20px; }
  h1.wordmark{ margin:0; line-height:1.05; font-family:'Playfair Display', serif; font-style:italic; font-weight:900; }
  h1.wordmark .r{ display:block; font-size:clamp(2.6rem, 7vw, 3.8rem); color:var(--red-bright); }
  h1.wordmark .b{ display:block; font-size:clamp(2.3rem, 6vw, 3.3rem); color:var(--red-bright); margin-top:.15em; }
  .made-in{ margin-top:20px; font-size:.85rem; letter-spacing:4px; color:var(--ink); }
  .hero-cta{
    margin-top:30px; display:inline-block; text-decoration:none;
    font-weight:600; font-size:.85rem; letter-spacing:1px;
    padding:14px 30px; border:1.5px solid var(--ink); color:var(--ink);
    transition: all .2s ease;
  }
  .hero-cta:hover{ background:var(--ink); color:var(--black); }
  .hero-divider{ width:70%; max-width:280px; height:1px; background:var(--line); margin:30px auto 0; }
  .hero-address{ margin-top:22px; font-size:1rem; color:var(--ink-soft); }

  .reveal{ opacity:0; transform:translateY(16px); animation:rise .7s ease forwards; }
  .reveal.d1{ animation-delay:.12s; } .reveal.d2{ animation-delay:.26s; }
  @keyframes rise{ to{ opacity:1; transform:none; } }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1 !important; transform:none !important; animation:none !important; }
    html{ scroll-behavior:auto; }
  }

  /* ---------- QUIENES SOMOS ---------- */
  .quienes{ padding:90px 0; border-top:1px solid var(--line); }
  .quienes .grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; }
  @media (max-width:820px){ .quienes .grid{ grid-template-columns:1fr; gap:30px; } }
  .quienes h2{
    font-size:clamp(1.6rem,3.6vw,2.1rem); font-weight:700; margin:0; line-height:1.3;
  }
  .quienes .lead{ color:var(--red-bright); font-weight:700; font-size:1.15rem; margin:0 0 18px; }
  .quienes p{ margin:0 0 14px; color:var(--ink-soft); }
  .quienes p.highlight{ color: var(--gold); font-weight:500; }
  .quienes p:last-child{ color:var(--ink); font-weight:600; }
  .quote-block{ border-left:2px solid var(--gold); padding-left:18px; font-style:italic; }
  .verso-heading{ font-family:'Playfair Display', serif; font-style:italic; font-weight:700; color:var(--cream); font-size:1.5rem; margin:24px 0 10px; }

  /* ---------- SECTION GENERIC ---------- */
  section{ padding:90px 0; border-top:1px solid var(--line); }
  .section-title{
    font-size:clamp(1.9rem,4.4vw,2.6rem); font-weight:800; margin:0 0 50px;
  }
  .section-title.red{ color:var(--red-bright); }

  /* ---------- OFRECEMOS ---------- */
  .offer-row{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:90px; }
  @media (max-width:820px){ .offer-row{ grid-template-columns:1fr; gap:30px; } }
  .offer-row img{ border-radius:2px; width:100%; height:auto; }
  .offer-label{ font-size:1rem; color:var(--ink); margin:0 0 14px; }
  .offer-price{ font-size:clamp(1.4rem,3vw,1.9rem); font-weight:600; color:var(--gold); margin:0 0 10px; }
  .offer-time{ margin-top:18px; color:var(--ink-soft); }
  .offer-time strong{ display:block; color:var(--ink); font-weight:500; }

  .group-row{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  @media (max-width:820px){ .group-row{ grid-template-columns:1fr; gap:30px; } .group-row img{ order:-1; } }
  .group-row h3{ font-size:1.5rem; font-weight:700; margin:0 0 16px; }
  .group-row .since{ color:var(--gold); font-size:.95rem; margin:0 0 16px; }
  .group-row ul{ list-style:none; padding:0; margin:0 0 26px; }
  .group-row li{ padding:7px 0; color:var(--ink-soft); }
  .group-row img{ border-radius:2px; width:100%; }
  .btn-outline{
    display:inline-block; text-decoration:none; font-weight:600; font-size:.85rem;
    letter-spacing:.5px; padding:13px 26px; border:1.5px solid var(--ink); color:var(--ink);
    background:none; cursor:pointer; transition: all .2s ease;
  }
  .btn-outline:hover{ background:var(--ink); color:var(--black); }

  /* ---------- PACKS ---------- */
  .packs-intro{ max-width:760px; margin-bottom:50px; }
  .packs-intro .bold{ font-weight:700; font-size:1.15rem; margin:0 0 12px; }
  .packs-intro p{ color:var(--ink-soft); margin:0 0 16px; }
  .packs-intro ul{ margin:0; padding-left:20px; color:var(--ink-soft); }
  .packs-intro li{ margin-bottom:8px; }
  .packs-intro li strong{ color:var(--ink); }
  .packs-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px; }
  .pack-card{
    background:var(--panel); border:1px solid var(--line); border-top:2px solid var(--gold);
    padding:30px 24px 26px; text-align:center; transition: border-color .2s ease, transform .2s ease;
  }
  .pack-card:hover{ border-top-color: var(--red-bright); transform: translateY(-3px); }
  .pack-card .pc-icon{ color: var(--gold); margin-bottom:16px; }
  .pack-card .pc-eyebrow{ font-size:.72rem; letter-spacing:2px; text-transform:uppercase; color:var(--ink-soft); margin:0 0 6px; }
  .pack-card .pc-title{ font-family:'Playfair Display', serif; font-style:italic; font-weight:700; color:var(--cream); font-size:1.3rem; margin:0 0 14px; }
  .pack-card .pc-price{ font-family:'Playfair Display', serif; font-weight:900; color:var(--red-bright); font-size:2rem; line-height:1; margin:0 0 16px; }
  .pack-card .pc-rule{ width:36px; height:1px; background:var(--line); margin:0 auto 16px; }
  .pack-card .pc-desc{ color:var(--ink-soft); font-size:.92rem; margin:0; }
  .pack-card .pc-note{ color:var(--ink-soft); font-size:.76rem; font-style:italic; opacity:.75; margin:14px 0 0; }

  /* ---------- EVENTOS FORM ---------- */
  .events-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:start; }
  @media (max-width:900px){ .events-grid{ grid-template-columns:1fr; gap:40px; } }
  .events-copy h2{
    font-size:clamp(1.5rem,3.4vw,2.1rem); font-weight:800; line-height:1.35; margin:0 0 26px;
  }
  .events-copy p{ margin:0 0 12px; color:var(--ink-soft); }
  .events-copy p.hl{ color:var(--red-bright); font-weight:600; }
  .events-copy p.final{ color:var(--ink); font-weight:600; }

  .form-card{ background:var(--panel); border:1px solid var(--line); padding:34px; }
  .form-card h3{ margin:0 0 24px; font-size:1.15rem; font-weight:600; }
  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
  @media (max-width:480px){ .form-grid{ grid-template-columns:1fr; } }
  .field label{ display:block; font-size:.85rem; color:var(--ink-soft); margin-bottom:6px; }
  .field input, .field textarea{
    width:100%; background:var(--panel-2); border:1px solid var(--line); color:var(--ink);
    padding:11px 12px; font-family:inherit; font-size:.95rem; border-radius:2px;
  }
  .field input:focus, .field textarea:focus{ outline:2px solid var(--gold-btn); border-color:transparent; }
  .field.full{ grid-column: 1 / -1; }
  .form-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; }
  .btn-send{
    background:var(--gold-btn); border:none; color:#1a1305; font-weight:700; font-size:.9rem;
    padding:13px 30px; cursor:pointer; letter-spacing:.4px; transition: filter .2s ease;
  }
  .btn-send:hover{ filter:brightness(1.08); }
  .btn-wa{
    display:inline-flex; align-items:center; gap:9px; background:none; border:1.5px solid var(--whatsapp);
    color:var(--whatsapp); font-weight:600; font-size:.9rem; padding:12px 22px; cursor:pointer;
    text-decoration:none; transition: all .2s ease;
  }
  .btn-wa:hover{ background:var(--whatsapp); color:#08210f; }
  .form-note{ margin-top:14px; font-size:.78rem; color:var(--ink-soft); }

  /* ---------- BOTELLA ---------- */
  .botella{
    position:relative; min-height:70vh; display:flex; align-items:center;
    background:
      linear-gradient(90deg, rgba(13,13,15,.94) 0%, rgba(13,13,15,.55) 48%, rgba(13,13,15,.15) 80%),
      url('/assets/ricci-3.jpg') center / cover no-repeat;
    padding: 70px 28px;
  }
  .botella-card{ max-width:460px; }
  .botella-card h2{
    color:var(--red-bright); font-size:clamp(1.5rem,3.6vw,2.1rem); font-weight:800;
    line-height:1.3; margin:0 0 22px;
  }
  .botella-card p{ color:var(--ink); margin:0 0 14px; }
  .botella-card .botella-price{
    font-family:'Playfair Display', serif; font-weight:900; color:var(--gold);
    font-size:1.9rem; margin:10px 0 0;
  }

  /* ---------- CONTACTO ---------- */
  .map-mock{
    position:relative; height:340px; background:#0e1a24;
    border:1px solid var(--line); overflow:hidden; margin-bottom:0;
  }
  .map-mock::before{
    content:""; position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,.03) 0, transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(255,255,255,.03) 0, transparent 45%),
      repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 90px),
      repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 90px);
  }
  .map-mock .map-tabs{
    position:absolute; top:0; left:0; z-index:3; display:flex;
    font-size:.78rem; font-weight:600;
  }
  .map-mock .map-tabs span{ padding:10px 18px; background:var(--cream); color:var(--black); }
  .map-mock .map-tabs span:last-child{ background:rgba(20,20,22,.85); color:var(--ink-soft); }
  .map-mock .pin-wrap{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:4;
    display:flex; flex-direction:column; align-items:center;
  }
  .map-mock .pin-card{
    background:var(--cream); color:var(--black); padding:10px 16px;
    font-size:.85rem; margin-bottom:8px; text-align:center; white-space:nowrap;
    box-shadow:0 6px 18px rgba(0,0,0,.35);
  }
  .map-mock .pin-card strong{ display:block; font-weight:700; }
  .map-mock .pin-card a{ font-size:.78rem; color:var(--red); text-decoration:underline; }
  .map-mock svg.pin{ color:var(--cream); filter:drop-shadow(0 3px 6px rgba(0,0,0,.4)); }

  .contact-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:56px;
    padding:56px 0 0;
  }
  @media (max-width:780px){ .contact-grid{ grid-template-columns:1fr; gap:36px; } }
  .contact-grid h3{ font-weight:700; font-size:1.1rem; margin:0 0 18px; color:var(--cream); }
  .contact-grid p{ margin:0 0 10px; color:var(--ink-soft); }
  .contact-grid a{ text-decoration:none; color:var(--ink); }
  .contact-grid a:hover{ color:var(--gold); }
  .contact-block + .contact-block{ margin-top:36px; }
  .hours-list{ list-style:none; padding:0; margin:0; }
  .hours-list li{ padding:6px 0; color:var(--ink-soft); border-bottom:1px solid var(--line); }
  .hours-list li:last-child{ border-bottom:none; }
  .hours-list strong{ color:var(--ink); font-weight:600; }

  /* ---------- MAS OPCIONES ---------- */
  .more-options{
    margin-top:70px; background:var(--panel); border:1px solid var(--line);
    padding:44px 40px;
  }
  .more-options h3{ font-size:clamp(1.4rem,3.4vw,1.9rem); font-weight:800; margin:0 0 14px; color:var(--ink); }
  .more-options p.mo-desc{ color:var(--ink-soft); margin:0 0 34px; max-width:70ch; }
  .mo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-bottom:30px; }
  @media (max-width:700px){ .mo-grid{ grid-template-columns:1fr; gap:22px; } }
  .mo-field label{ display:block; font-size:.85rem; color:var(--ink-soft); margin-bottom:10px; }
  .mo-field input{
    width:100%; background:none; border:none; border-bottom:1.5px solid var(--line);
    color:var(--ink); padding:6px 2px 10px; font-family:inherit; font-size:.95rem;
  }
  .mo-field input::placeholder{ color:var(--ink-soft); opacity:.7; }
  .mo-field input:focus{ outline:none; border-bottom-color:var(--gold-btn); }
  .mo-actions{ display:flex; justify-content:flex-end; align-items:center; gap:18px; flex-wrap:wrap; }
  .mo-wa-link{ font-size:.82rem; color:var(--ink-soft); text-decoration:none; }
  .mo-wa-link:hover{ color:var(--whatsapp); }

  /* ---------- FOOTER ---------- */
  footer{ padding:50px 0 calc(50px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); }
  .foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  .foot-brand{ font-family:'Playfair Display', serif; font-style:italic; font-weight:900; color:var(--red-bright); font-size:1.3rem; }
  .foot-contact{ display:flex; gap:22px; flex-wrap:wrap; font-size:.88rem; }
  .foot-contact a{ text-decoration:none; color:var(--ink-soft); }
  .foot-contact a:hover{ color:var(--gold); }
  .fine-print{ margin-top:22px; font-size:.78rem; color:var(--ink-soft); }
  .legal-links{ margin-top:14px; display:flex; gap:18px; flex-wrap:wrap; }
  .legal-links a{ font-size:.78rem; color:var(--ink-soft); text-decoration:underline; text-underline-offset:2px; }
  .legal-links a:hover{ color:var(--gold); }

  /* ---------- LEGAL MODALS ---------- */
  .legal-modal{
    display:none; position:fixed; inset:0; z-index:100;
    background:rgba(6,6,7,.82); backdrop-filter:blur(4px);
    align-items:flex-start; justify-content:center;
    padding:60px 20px calc(60px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;
  }
  .legal-modal.open{ display:flex; }
  .legal-modal-box{
    background:var(--panel); border:1px solid var(--line); border-top:2px solid var(--gold);
    max-width:720px; width:100%; padding:44px 40px 40px; position:relative;
  }
  .legal-modal-box h2{
    font-family:'Playfair Display', serif; font-style:italic; font-weight:700;
    color:var(--cream); font-size:1.7rem; margin:0 0 22px;
  }
  .legal-modal-box h3{ font-size:1.02rem; font-weight:700; color:var(--ink); margin:26px 0 10px; }
  .legal-modal-box p, .legal-modal-box li{ color:var(--ink-soft); font-size:.92rem; line-height:1.7; margin:0 0 10px; }
  .legal-modal-box ul{ padding-left:20px; margin:0 0 12px; }
  .legal-modal-box a{ color:var(--gold); }
  .legal-close{
    position:absolute; top:18px; right:18px; background:none; border:none; color:var(--ink-soft);
    font-size:1.6rem; line-height:1; cursor:pointer; padding:6px 10px;
  }
  .legal-close:hover{ color:var(--ink); }

  /* ---------- FLOATING WHATSAPP ---------- */
  .wa-float{
    position:fixed; right:20px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:70;
    width:56px; height:56px; border-radius:50%; background:var(--whatsapp);
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,.4);
    text-decoration:none;
  }
  .wa-float:hover{ filter:brightness(1.06); }

  /* ---------- LOGOS ---------- */
  .nav-logo{ display:flex; align-items:center; }
  .nav-logo img{ height:34px; width:auto; display:block; }
  .hero-logo{ margin:0 auto; line-height:0; }
  .hero-logo img{ width:100%; max-width:460px; height:auto; margin:0 auto; display:block; }
  .que-es-sello{ display:block; width:200px; max-width:60%; height:auto; margin-top:32px; transform:rotate(-6deg); }
  @media (max-width:820px){ .que-es-sello{ width:150px; margin-top:22px; } }
  .foot-brand{ display:inline-flex; align-items:center; gap:12px; }
  .foot-logo{ height:32px; width:auto; display:block; }

  /* ---------- SEO / ACCESIBILIDAD ---------- */
  .sr-only{
    position:absolute!important; width:1px!important; height:1px!important;
    padding:0!important; margin:-1px!important; overflow:hidden!important;
    clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
  }
  /* ---------- PREGUNTAS FRECUENTES ---------- */
  .faq-section{ padding:86px 0; background:var(--panel); border-top:1px solid var(--line); }
  .faq-intro{ max-width:760px; margin:0 auto 34px; text-align:center; }
  .faq-intro .eyebrow{ color:var(--gold); font-size:.78rem; font-weight:700; letter-spacing:.12em; }
  .faq-intro h2{ margin:8px 0 14px; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.2; }
  .faq-intro p{ color:var(--ink-soft); }
  .faq-list{ max-width:850px; margin:0 auto; }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-item:first-child{ border-top:1px solid var(--line); }
  .faq-item summary{
    cursor:pointer; list-style:none; position:relative; padding:20px 42px 20px 4px;
    color:var(--ink); font-weight:600; line-height:1.45;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{
    content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%);
    color:var(--gold); font-size:1.55rem; font-weight:400;
  }
  .faq-item[open] summary::after{ content:"−"; }
  .faq-answer{ padding:0 36px 18px 4px; color:var(--ink-soft); }
  .faq-answer p{ margin:0; }
  .faq-answer a{ color:var(--gold); text-underline-offset:3px; }
  .faq-cta{ max-width:850px; margin:30px auto 0; text-align:center; }
  .faq-cta .btn-send{ display:inline-flex; justify-content:center; align-items:center; margin-top:8px; padding:13px 22px; border-radius:6px; text-decoration:none; }
  @media (max-width:640px){
    .faq-section{ padding:62px 0; }
    .faq-item summary{ padding:17px 36px 17px 2px; }
    .faq-answer{ padding-right:8px; }
  }


:root{--cream:#F3F1ED} .skip-link{position:fixed;top:-100px;left:12px;z-index:999;background:#F5C378;color:#111;padding:12px}.skip-link:focus{top:8px} .seo-intro{font-size:1.05rem;margin:22px auto 0;max-width:560px} .hero h1.seo-heading{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.3;margin:20px 0} .landing-hero{padding:65px 0 55px;background:linear-gradient(120deg,#250d10,#0D0D0F)} .landing-hero h1{font-size:clamp(2rem,5.2vw,3.8rem);line-height:1.12;max-width:900px;margin:20px 0} .landing-hero p{max-width:720px} .eyebrow{color:var(--gold);letter-spacing:2px;font-size:.8rem} .route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0} .route-card{display:block;background:var(--panel);border:1px solid var(--line);padding:24px;text-decoration:none;border-radius:12px} .route-card:hover{border-color:var(--gold)} .route-card strong{display:block;color:var(--gold);font-size:1.12rem} .route-card p{font-size:.9rem} .exclusive-note{border-left:3px solid var(--gold);padding:18px 24px;background:var(--panel);margin:25px 0} .action-row{display:flex;gap:14px;flex-wrap:wrap;margin:25px 0} .landing-photo{width:100%;height:350px;object-fit:cover;border-radius:14px} .content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center} .breadcrumbs{font-size:.85rem;color:var(--ink-soft)} .consent{display:block;font-size:.85rem;margin:20px 0} .consent input{width:auto!important} select{max-width:100%;padding:12px;background:#17161A;color:#fff;border:1px solid #777;border-radius:5px} input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold)} .pack-card .pc-price::after{content:' / persona';font-size:.8rem} .hero-logo{margin:0} .hero-logo img{margin:auto} .hero h1.seo-heading{color:var(--ink)} .quienes .lead,.section-title.red{color:var(--gold)} @media(max-width:900px){.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}} @media(max-width:640px){.route-grid{grid-template-columns:1fr}.wrap{padding:0 20px}.hero-panel{padding:42px 22px 30px}.landing-photo{height:240px}.nav-row{padding:12px 20px}.hero{min-height:auto;padding:35px 20px 50px}.landing-hero{padding:35px 0}.wa-float{bottom:16px;right:16px}} @media(min-width:641px) and (max-width:1100px){nav.links{gap:12px}nav.links a{font-size:.78rem}}

.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.promo-highlight{background:linear-gradient(120deg,#241116,#17161A)}nav.links{gap:18px}nav.links a{font-size:.84rem}@media(max-width:640px){.promo-grid{grid-template-columns:1fr}}@media(min-width:641px) and (max-width:1100px){.nav-burger{display:flex}nav.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--black);padding:15px 28px;gap:0}nav.links.open{display:flex}nav.links a{padding:10px 0}}

.group-extras{padding:28px;margin:32px 0;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px}.group-extras h3{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.3;margin:8px 0 18px}.group-extras .btn-outline{margin-top:12px}

.privacy-summary{font-size:.82rem;color:var(--ink-soft);line-height:1.65;margin:18px 0}.privacy-summary a{text-decoration:underline;color:var(--gold)}.legal-modal h2{scroll-margin-top:20px}
