/* MIXED CSS PACK */
/* Template: hdmundovirtual360.com/index.html */
/* Template mtime: 2026-05-05 14:31:09 */

/* external link (no embedded): https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/pannellum@2.5.6/build/pannellum.css */

/* ===== INLINE <style> BLOCK #1 ===== */
.tour-360-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000;
  display:none;
  z-index:1;
}

.tour-360-frame.is-visible{
  display:block;
}

.tour-360-viewer{
  z-index:1;
}

.tour-360-viewer.is-hidden{
  display:none;
}

.tour-360-status{
  min-width:0;
  max-width:360px;
}

.tour-360-status strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tour-360-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 .95rem;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.35);
  transition:all .2s ease;
}

.tour-360-open:hover{
  background:var(--accent);
  color:#fff;
  transform:translateY(-1px);
}

.tour-360-selector{
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  max-width:min(720px,100%);
  padding:.15rem .1rem .25rem;
  scrollbar-width:thin;
}

.tour-360-selector::-webkit-scrollbar{
  height:5px;
}

.tour-360-selector::-webkit-scrollbar-track{
  background:rgba(255,255,255,.12);
  border-radius:999px;
}

.tour-360-selector::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.35);
  border-radius:999px;
}

.tour-360-btn{
  flex:0 0 auto;
}

@media (max-width:991.98px){
  .tour-360-status{
    max-width:100%;
  }

  .tour-360-open{
    order:3;
    width:100%;
  }

  .tour-360-selector{
    max-width:100%;
  }
}
    /* ─── TOKENS ───────────────────────────────────────────────── */
    :root{
      --accent:#c77b0e;
      --accent-deep:#f6de1a;
      --accent-soft:#fff8ee;
      --accent-glow:rgba(199,123,14,.18);
      --text:#050505;
      --muted:#5f5f66;
      --line:#e9eaee;
      --surface:#ffffff;
      --surface-soft:#f7f8fa;
      --shadow:0 20px 60px rgba(14,20,28,.08);
      --shadow-soft:0 12px 32px rgba(14,20,28,.06);
      --radius-xl:32px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
      --container:1240px;
    }

    html{ scroll-behavior:smooth; }

    body{
      font-family:"Manrope",sans-serif;
      color:var(--text);
      background:#fff;
      line-height:1.65;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      overflow-x:hidden;
    }

    a{ color:inherit; text-decoration:none; }
    img{ max-width:100%; }
    .container{ max-width:var(--container); }

    /* ─── SECTIONS ─────────────────────────────────────────────── */
    .section{ padding:120px 0; }
    .section-tight{ padding:96px 0; }

    /* ─── EYEBROW ───────────────────────────────────────────────── */
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.6rem;
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--accent);
      margin-bottom:1rem;
    }
    .eyebrow::before{
      content:"";
      width:28px; height:2px;
      background:var(--accent);
      border-radius:2px;
    }

    /* ─── TITLES ────────────────────────────────────────────────── */
    .section-title{
      font-family:"Nunito Sans",sans-serif;
      font-size:clamp(1.95rem,3.4vw,3.25rem);
      line-height:1.12;
      letter-spacing:-.028em;
      font-weight:900;
      margin:0;
    }
    .section-subtitle{
      color:var(--muted);
      font-size:1.03rem;
      max-width:640px;
      margin:1rem auto 0;
      line-height:1.75;
    }

    /* ─── NAVBAR ────────────────────────────────────────────────── */
    .site-header{
      position:sticky;
      top:0;
      z-index:1040;
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(24px) saturate(180%);
      -webkit-backdrop-filter:blur(24px) saturate(180%);
      border-bottom:1px solid rgba(199,123,14,.12);
      transition:box-shadow .3s ease;
    }
    .site-header.scrolled{
      box-shadow:0 4px 32px rgba(14,20,28,.09);
    }
    .navbar{ padding:.85rem 0; }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:.95rem;
      font-family:"Nunito Sans",sans-serif;
      font-size:1rem;
      font-weight:800;
      letter-spacing:-.02em;
      color:var(--text);
    }
    .brand-mark{
      width:46px; height:46px;
      border-radius:14px;
      background:#fff;
      box-shadow:0 6px 20px rgba(199,123,14,.22);
      object-fit:contain;
      padding:7px;
      border:1.5px solid rgba(199,123,14,.15);
    }
    .brand-text{ display:flex; flex-direction:column; line-height:1.1; }
    .brand-text small{
      font-size:.72rem;
      color:var(--muted);
      font-weight:600;
      letter-spacing:.01em;
      margin-top:.25rem;
      font-family:"Manrope",sans-serif;
    }
    .navbar-nav{ gap:.35rem; }
    .nav-link{
      color:rgba(5,5,5,.7);
      font-size:.9rem;
      font-weight:700;
      padding:.6rem .95rem !important;
      border-radius:999px;
      transition:all .22s ease;
      position:relative;
    }
    .nav-link::after{
      content:"";
      position:absolute;
      bottom:6px; left:50%;
      transform:translateX(-50%) scaleX(0);
      width:20px; height:2px;
      background:var(--accent);
      border-radius:2px;
      transition:transform .22s ease;
    }
    .nav-link:hover{ color:var(--text); background:var(--accent-soft); }
    .nav-link:hover::after, .nav-link.active::after{ transform:translateX(-50%) scaleX(1); }
    .nav-link.active{ color:var(--text); }
    .navbar-toggler{
      border:1.5px solid rgba(199,123,14,.25);
      border-radius:12px;
      padding:.5rem .7rem;
      box-shadow:none !important;
      transition:all .2s;
    }
    .navbar-toggler:hover{ background:var(--accent-soft); }

    /* ─── BUTTONS ───────────────────────────────────────────────── */
    .btn{
      border-radius:999px;
      padding:.9rem 1.65rem;
      font-weight:800;
      font-size:.92rem;
      letter-spacing:.01em;
      transition:all .25s cubic-bezier(.4,0,.2,1);
      position:relative;
      overflow:hidden;
    }
    .btn-accent{
      background:var(--accent);
      border:none;
      color:#fff;
      box-shadow:0 8px 28px rgba(199,123,14,.35);
    }
    .btn-accent:hover{
      background:#b36c09;
      color:#fff;
      box-shadow:0 12px 36px rgba(199,123,14,.5);
      transform:translateY(-2px);
    }
    .btn-outline-accent{
      border:2px solid var(--accent);
      background:transparent;
      color:var(--accent);
    }
    .btn-outline-accent:hover{
      background:var(--accent);
      color:#fff;
      transform:translateY(-2px);
    }
    .btn-ghost{
      border:2px solid rgba(5,5,5,.12);
      background:transparent;
      color:var(--text);
    }
    .btn-ghost:hover{
      border-color:rgba(5,5,5,.25);
      background:var(--surface-soft);
      transform:translateY(-2px);
    }

    /* ─── HERO ──────────────────────────────────────────────────── */
    .hero{
      position:relative;
      overflow:hidden;
      min-height:clamp(420px,74vh,780px);
    }
    .hero-bg{
      position:absolute;
      inset:0;
      background:#000 url("img/logo3.png") center center / contain no-repeat;
    }
    .hero-overlay{
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,0) 30%),
        radial-gradient(ellipse at center, rgba(0,0,0,0) 30%, rgba(0,0,0,.22) 100%);
    }
    /* decorative ring */
    .hero-ring{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      pointer-events:none;
    }
    .hero-ring::before,
    .hero-ring::after{
      content:"";
      position:absolute;
      border-radius:50%;
      border:1px solid rgba(199,123,14,.18);
    }
    .hero-ring::before{
      width:clamp(320px,55vw,640px);
      height:clamp(320px,55vw,640px);
      animation:pulse-ring 4s ease-in-out infinite;
    }
    .hero-ring::after{
      width:clamp(240px,42vw,480px);
      height:clamp(240px,42vw,480px);
      border-color:rgba(199,123,14,.1);
      animation:pulse-ring 4s ease-in-out infinite .8s;
    }
    @keyframes pulse-ring{
      0%,100%{ transform:scale(1); opacity:.7; }
      50%{ transform:scale(1.04); opacity:1; }
    }

    /* ─── INTRO BLOCK ───────────────────────────────────────────── */
    .intro-block{
      position:relative;
      z-index:2;
    }
    .intro-panel{
      padding:clamp(2.5rem,5vw,5rem) 0 0;
    }

    /* accent stripe top */
    .intro-panel::before{
      content:"";
      display:block;
      width:56px; height:4px;
      background:linear-gradient(90deg,var(--accent),var(--accent-deep));
      border-radius:4px;
      margin-bottom:2.5rem;
    }

    .hero-title{
      font-family:"Nunito Sans",sans-serif;
      font-size:clamp(2.55rem,5vw,4.85rem);
      line-height:1.02;
      letter-spacing:-.035em;
      font-weight:900;
      margin:0;
    }
    .hero-title em{
      font-style:normal;
      background:linear-gradient(135deg,var(--accent) 0%,#e09b30 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }
    .intro-copy p{
      font-size:1.07rem;
      color:var(--muted);
      max-width:600px;
      margin:1.5rem 0 0;
      line-height:1.78;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.9rem;
      margin-top:2.2rem;
    }

    /* side card */
    .intro-side-card{
      background:linear-gradient(145deg,#fffdf9 0%,#fff8ee 100%);
      border:1.5px solid rgba(199,123,14,.22);
      border-radius:28px;
      padding:1.75rem 1.6rem;
      height:100%;
      box-shadow:0 8px 40px rgba(199,123,14,.1);
      position:relative;
      overflow:hidden;
    }
    .intro-side-card::before{
      content:"360°";
      position:absolute;
      bottom:-1rem; right:-0.5rem;
      font-family:"Nunito Sans",sans-serif;
      font-size:6rem;
      font-weight:800;
      color:rgba(199,123,14,.06);
      line-height:1;
      pointer-events:none;
    }
    .intro-side-card strong{
      display:block;
      font-family:"Nunito Sans",sans-serif;
      font-size:1.08rem;
      letter-spacing:-.03em;
      margin-bottom:.65rem;
      color:var(--text);
    }
    .intro-side-card span{
      color:var(--muted);
      font-size:.95rem;
      line-height:1.7;
    }

    /* metrics row */
    .hero-metrics{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1rem;
      margin-top:2.5rem;
    }
    .metric-card{
      background:#fff;
      border:1.5px solid rgba(199,123,14,.1);
      border-radius:20px;
      padding:1.4rem 1.3rem;
      box-shadow:var(--shadow-soft);
      transition:transform .22s ease, box-shadow .22s ease;
      position:relative;
      overflow:hidden;
    }
    .metric-card::after{
      content:"";
      position:absolute;
      top:0; left:0;
      width:3px; height:100%;
      background:linear-gradient(180deg,var(--accent),var(--accent-deep));
      border-radius:0 2px 2px 0;
    }
    .metric-card:hover{
      transform:translateY(-3px);
      box-shadow:0 16px 40px rgba(199,123,14,.12);
    }
    .metric-card strong{
      display:block;
      font-family:"Nunito Sans",sans-serif;
      font-size:.98rem;
      font-weight:800;
      letter-spacing:-.02em;
      margin-bottom:.35rem;
      color:var(--text);
    }
    .metric-card span{
      color:var(--muted);
      font-size:.88rem;
      line-height:1.55;
    }

    /* ─── QUIENES SOMOS ─────────────────────────────────────────── */
    .about-panel{
      background:var(--surface);
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      padding:clamp(1.8rem,3.5vw,3.25rem);
      height:100%;
    }
    .about-summary{
      color:var(--muted);
      font-size:1.02rem;
      margin-top:1.3rem;
      line-height:1.78;
    }

    .about-product-section{
      position:relative;
      background:
        radial-gradient(circle at 12% 18%, rgba(199,123,14,.07), transparent 34%),
        linear-gradient(180deg,#fff 0%,#fffaf3 48%,#fff 100%);
      overflow:hidden;
    }
    .about-product-section::before{
      content:"";
      position:absolute;
      inset:36px auto auto 50%;
      width:min(760px,70vw);
      height:min(760px,70vw);
      border-radius:50%;
      background:radial-gradient(circle, rgba(246,222,26,.13), transparent 64%);
      transform:translateX(-50%);
      pointer-events:none;
    }
    .about-product-section .container{
      position:relative;
      z-index:1;
    }
    .about-product-grid{
      row-gap:1.6rem;
    }
    .about-product-section .about-panel,
    .about-product-section .main-product{
      height:auto;
      border-radius:30px;
    }
    .about-product-section .about-panel{
      background:rgba(255,255,255,.92);
      border-color:rgba(199,123,14,.14);
      box-shadow:0 22px 70px rgba(14,20,28,.08);
    }
    .about-product-section .about-panel .section-title{
      font-size:clamp(1.72rem,2.65vw,2.55rem);
      line-height:1.16;
      letter-spacing:-.025em;
    }
    .about-product-section .about-summary{
      margin-top:1.45rem;
      max-width:620px;
    }
    .about-product-section .about-list{
      margin-top:2.25rem;
      gap:1rem;
    }
    .about-product-section .about-list-item{
      min-height:76px;
      background:#fff;
      box-shadow:0 10px 26px rgba(14,20,28,.045);
    }
    .about-product-section .main-product{
      background:rgba(255,255,255,.94);
      border-color:rgba(199,123,14,.22);
      box-shadow:0 30px 80px rgba(199,123,14,.12);
      padding:clamp(2rem,4.4vw,4.35rem);
    }
    .about-product-section .main-product::before{
      opacity:.95;
    }
    .about-product-section .main-product::after{
      content:"";
      position:absolute;
      left:0;
      top:clamp(1.6rem,3vw,2.4rem);
      width:5px;
      height:72px;
      border-radius:0 999px 999px 0;
      background:linear-gradient(180deg,var(--accent),var(--accent-deep));
      box-shadow:0 10px 28px rgba(199,123,14,.24);
    }
    .about-product-section .main-product .section-title{
      font-size:clamp(2rem,3.55vw,3.35rem);
      line-height:1.1;
      letter-spacing:-.03em;
      max-width:820px;
    }
    .about-product-section .main-product-text{
      max-width:840px;
      margin-top:1rem;
      font-size:1rem;
    }
    .about-product-section .main-product-text + .main-product-text{
      margin-top:.75rem;
    }
    .about-product-section .point-grid{
      gap:1rem;
      margin-top:2.35rem;
    }
    .about-product-section .point-card{
      min-height:76px;
      align-items:center;
      padding:1.15rem 1.2rem;
      background:#fff;
    }
    .about-section-wrap,
    .product-section-wrap{
      max-width:1120px;
      margin-inline:auto;
    }
    .about-company-section .about-panel,
    .product-main-section .main-product{
      width:100%;
      height:auto;
    }
    .about-company-section .about-summary{
      max-width:940px;
    }
    .about-company-section .about-list{
      grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .product-main-section .main-product-text{
      max-width:980px;
    }
    .product-main-section .point-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .product-main-section{
      background:
        radial-gradient(circle at 88% 10%, rgba(199,123,14,.08), transparent 34%),
        linear-gradient(180deg,#fff 0%,#fffaf3 48%,#fff 100%);
    }
    .about-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.85rem;
      margin-top:2rem;
    }
    .about-list-item{
      background:var(--surface-soft);
      border:1px solid rgba(5,5,5,.05);
      border-radius:18px;
      padding:1.05rem 1.1rem;
      font-weight:700;
      font-size:.92rem;
      display:flex;
      align-items:flex-start;
      gap:.75rem;
      transition:all .2s ease;
    }
    .about-list-item:hover{
      border-color:rgba(199,123,14,.2);
      background:#fffdf9;
      transform:translateY(-2px);
    }
    .about-list-item svg{
      flex:0 0 auto;
      width:20px; height:20px;
      color:var(--accent);
      margin-top:.1rem;
    }

    /* main product panel */
    .main-product{
      padding:clamp(2rem,4vw,4rem);
      background:linear-gradient(160deg,#fff 0%,#fffbf5 100%);
      border:1.5px solid rgba(199,123,14,.14);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      height:100%;
      position:relative;
      overflow:hidden;
    }
    .main-product::before{
      content:"";
      position:absolute;
      top:-60px; right:-60px;
      width:200px; height:200px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(199,123,14,.08) 0%,transparent 70%);
      pointer-events:none;
    }
    .main-product-text{
      color:var(--muted);
      font-size:1rem;
      max-width:760px;
      margin-top:.9rem;
      line-height:1.75;
    }

    .point-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.85rem;
      margin-top:2rem;
    }
    .point-card{
      display:flex;
      align-items:flex-start;
      gap:.85rem;
      padding:1.1rem 1.15rem;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(5,5,5,.06);
      box-shadow:var(--shadow-soft);
      color:var(--text);
      font-weight:700;
      font-size:.91rem;
      transition:all .22s ease;
    }
    .point-card:hover{
      border-color:rgba(199,123,14,.22);
      transform:translateY(-2px);
      box-shadow:0 8px 24px rgba(199,123,14,.1);
    }
    .point-card svg{
      width:20px; height:20px;
      color:var(--accent);
      flex:0 0 auto;
      margin-top:.1rem;
    }

    /* ─── SERVICES ──────────────────────────────────────────────── */
    .services-bg{
      background:var(--surface-soft);
      border-radius:var(--radius-xl);
      padding:clamp(2.5rem,4vw,4rem);
    }
    .service-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1.2rem;
      margin-top:3rem;
    }
    .service-card{
      background:#fff;
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:26px;
      padding:1.75rem;
      box-shadow:var(--shadow-soft);
      height:100%;
      display:flex;
      flex-direction:column;
      gap:.85rem;
      transition:all .28s cubic-bezier(.4,0,.2,1);
      position:relative;
      overflow:hidden;
    }
    .service-card::after{
      content:"";
      position:absolute;
      bottom:0; left:0; right:0;
      height:3px;
      background:linear-gradient(90deg,var(--accent),var(--accent-deep));
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .3s ease;
    }
    .service-card:hover{
      transform:translateY(-5px);
      box-shadow:0 20px 50px rgba(14,20,28,.1);
      border-color:rgba(199,123,14,.18);
    }
    .service-card:hover::after{ transform:scaleX(1); }
    .service-card.featured{
      background:linear-gradient(160deg,#fffdf9 0%,#fff8ee 100%);
      border-color:rgba(199,123,14,.2);
    }

    .card-icon{
      width:52px; height:52px;
      border-radius:16px;
      background:var(--accent-soft);
      color:var(--accent);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
      border:1.5px solid rgba(199,123,14,.15);
    }
    .card-icon svg{ width:26px; height:26px; }

    .service-card h3{
      margin:0;
      font-family:"Nunito Sans",sans-serif;
      font-size:1.12rem;
      line-height:1.25;
      letter-spacing:-.03em;
      font-weight:800;
      color:var(--text);
    }
    .service-card p{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.7;
    }
    .service-card ul{
      margin:0;
      padding:0;
      list-style:none;
      color:var(--muted);
      font-size:.88rem;
    }
    .service-card ul li{
      display:flex;
      align-items:center;
      gap:.5rem;
      padding:.28rem 0;
      border-bottom:1px solid rgba(5,5,5,.045);
    }
    .service-card ul li:last-child{ border-bottom:none; }
    .service-card ul li::before{
      content:"";
      width:5px; height:5px;
      border-radius:50%;
      background:var(--accent);
      flex:0 0 auto;
    }

    /* ─── APPLICATIONS ──────────────────────────────────────────── */
    .application-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:1.1rem;
      margin-top:2rem;
    }
    .application-card{
      background:#fff;
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:22px;
      padding:1.5rem 1.4rem;
      box-shadow:var(--shadow-soft);
      transition:all .25s ease;
      position:relative;
    }
    .application-card:hover{
      transform:translateY(-4px);
      border-color:rgba(199,123,14,.2);
      box-shadow:0 12px 40px rgba(199,123,14,.1);
    }
    .application-card h3{
      margin:0 0 .55rem;
      font-family:"Nunito Sans",sans-serif;
      font-size:1rem;
      letter-spacing:-.02em;
      font-weight:800;
      color:var(--text);
    }
    .application-card p{
      margin:0;
      color:var(--muted);
      font-size:.87rem;
      line-height:1.65;
    }
    .app-num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:28px; height:28px;
      border-radius:8px;
      background:var(--accent-soft);
      color:var(--accent);
      font-size:.72rem;
      font-weight:800;
      margin-bottom:.85rem;
      border:1px solid rgba(199,123,14,.15);
    }

    /* ─── WHY CHOOSE US ─────────────────────────────────────────── */
    .choose-section-bg{
      background:linear-gradient(180deg,#fff 0%,var(--surface-soft) 100%);
    }
    .choose-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1.2rem;
      margin-top:3rem;
    }
    .choose-card{
      background:#fff;
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:26px;
      padding:1.85rem 1.7rem;
      box-shadow:var(--shadow-soft);
      height:100%;
      transition:all .28s ease;
      position:relative;
      overflow:hidden;
    }
    .choose-card:hover{
      transform:translateY(-5px);
      border-color:rgba(199,123,14,.22);
      box-shadow:0 18px 48px rgba(199,123,14,.1);
    }
    .choose-card::before{
      content:"";
      position:absolute;
      top:0; left:0; right:0;
      height:3px;
      background:linear-gradient(90deg,transparent,var(--accent),transparent);
      opacity:0;
      transition:opacity .3s ease;
    }
    .choose-card:hover::before{ opacity:1; }
    .choose-card .card-icon{ margin-bottom:1.2rem; }
    .choose-card h3{
      margin:0 0 .7rem;
      font-family:"Nunito Sans",sans-serif;
      font-size:1.1rem;
      letter-spacing:-.025em;
      font-weight:800;
    }
    .choose-card p{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.72;
    }

    /* ─── GALLERY (UNTOUCHED STYLES) ────────────────────────────── */
    .gal-gallery .carousel{max-width:980px;margin-inline:auto;position:relative}
    .gal-frame{
      height:clamp(220px,48vh,440px);
      background:#fff;border-radius:24px;overflow:hidden;
      box-shadow:0 18px 40px rgba(0,0,0,.12);
      display:flex;align-items:center;justify-content:center;padding:10px
    }
    .gal-img{
      width:auto !important;max-width:100%;
      height:auto !important;max-height:100%;
      object-fit:contain !important;object-position:center;display:block;cursor:zoom-in
    }
    .gal-gallery .carousel-control-prev,
    .gal-gallery .carousel-control-next{
      z-index:20;width:54px;height:54px;top:50%;transform:translateY(-50%);
      opacity:1;background:rgba(5,5,5,.66);border-radius:50%;margin:0 10px
    }
    .gal-gallery .carousel-control-prev{left:0}
    .gal-gallery .carousel-control-next{right:0}
    .gal-gallery .gal-ctrl-icon{width:2.4rem;height:2.4rem;background-size:58% 58%}
    .gal-gallery .carousel-indicators{z-index:10;bottom:-52px}
    .gal-gallery .carousel-indicators button{
      width:10px;height:10px;border-radius:50%;
      background:rgba(0,0,0,.36);border:none
    }
    .gal-gallery .carousel-indicators button.active{background:var(--accent)}
    .gal-gallery{padding-bottom:56px}
    .gallery-shell{
      background:linear-gradient(180deg,#f9fbfb 0%,#ffffff 100%);
      border:1px solid rgba(5,5,5,.06);
      border-radius:36px;
      padding:clamp(1.5rem,3vw,3rem);
      box-shadow:var(--shadow);
    }

    #galLightbox .modal-content{background:#000;border-radius:26px;overflow:hidden}
    #galLightboxImg{max-height:86vh;width:100%;height:auto;object-fit:contain;background:#000}
    .gal-lightbox-nav{
      position:absolute;top:50%;transform:translateY(-50%);
      border:0;width:46px;height:46px;border-radius:999px;
      background:rgba(255,255,255,.18);color:#fff;font-size:30px;line-height:46px;text-align:center;z-index:5;cursor:pointer
    }
    .gal-lightbox-nav:hover{background:rgba(255,255,255,.28)}
    .gal-lightbox-nav.gal-prev{left:12px}
    .gal-lightbox-nav.gal-next{right:12px}



    /* ─── VISOR 360 GRANDE ─────────────────────────────────────── */
    .tour-360-section{
      padding-top:120px;
      padding-bottom:96px;
      background:
        radial-gradient(circle at 12% 8%, rgba(199,123,14,.08), transparent 34%),
        linear-gradient(180deg,#fff 0%,#fffaf2 48%,#fff 100%);
      overflow:hidden;
    }
    .tour-360-head{
      max-width:880px;
      margin:0 auto 2.5rem;
      text-align:center;
    }
    .tour-360-head .section-subtitle{
      max-width:760px;
    }
    .tour-360-kicker{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:.65rem;
      margin-top:1.45rem;
    }
    .tour-360-chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.72rem 1rem;
      border-radius:999px;
      background:#fff;
      border:1.5px solid rgba(199,123,14,.15);
      color:rgba(5,5,5,.72);
      font-weight:800;
      font-size:.84rem;
      box-shadow:var(--shadow-soft);
    }
    .tour-360-chip::before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 0 4px rgba(199,123,14,.12);
    }
    .tour-360-stage{
      width:min(1540px, calc(100vw - 32px));
      margin-inline:auto;
    }
    .tour-360-viewer-wrap{
      position:relative;
      overflow:hidden;
      border-radius:34px;
      background:#080808;
      min-height:clamp(520px,72vh,820px);
      box-shadow:0 32px 90px rgba(0,0,0,.24);
      border:1px solid rgba(255,255,255,.12);
      isolation:isolate;
    }
    .tour-360-viewer-wrap::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), inset 0 -120px 160px rgba(0,0,0,.34);
      z-index:2;
    }
    .tour-360-viewer{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      background:#000;
    }
    .tour-360-toolbar{
      position:absolute;
      left:clamp(1rem,2.2vw,2rem);
      right:clamp(1rem,2.2vw,2rem);
      bottom:clamp(1rem,2vw,1.6rem);
      z-index:5;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      flex-wrap:wrap;
      padding:.85rem;
      border-radius:999px;
      background:rgba(10,10,10,.58);
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
    }
    .tour-360-status{
      display:flex;
      align-items:center;
      gap:.65rem;
      color:#fff;
      font-weight:800;
      font-size:.9rem;
      padding:.35rem .75rem;
      white-space:nowrap;
    }
    .tour-360-status span{
      width:10px;
      height:10px;
      border-radius:50%;
      background:var(--accent-deep);
      box-shadow:0 0 0 6px rgba(246,222,26,.16);
    }
    .tour-360-selector{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:.45rem;
    }
    .tour-360-btn{
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.12);
      color:#fff;
      width:38px;
      height:38px;
      border-radius:999px;
      font-size:.82rem;
      font-weight:900;
      transition:all .2s ease;
    }
    .tour-360-btn:hover,
    .tour-360-btn.active{
      background:var(--accent);
      border-color:var(--accent);
      color:#fff;
      transform:translateY(-1px);
    }
    .tour-360-note{
      max-width:1180px;
      margin:1.25rem auto 0;
      text-align:center;
      color:var(--muted);
      font-size:.95rem;
      line-height:1.75;
    }
    .tour-360-note strong{
      color:var(--text);
    }
    .gallery-after-360{
      margin-top:5.5rem;
    }
    .gallery-after-360 .gallery-shell{
      background:#fff;
    }
    .pnlm-container{
      font-family:"Manrope",sans-serif;
    }
    .pnlm-load-box{
      background:rgba(0,0,0,.6) !important;
      border-radius:18px !important;
      color:#fff !important;
    }

    /* ─── FAQs ──────────────────────────────────────────────────── */
    .faq-shell{
      background:#fff;
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:36px;
      padding:clamp(2rem,4vw,4rem);
      box-shadow:var(--shadow);
    }
    .faq-header-wrap{
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      margin-bottom:3rem;
    }
    .accordion-item{
      border:1.5px solid rgba(5,5,5,.07) !important;
      border-radius:20px !important;
      overflow:hidden;
      background:#fff;
      box-shadow:none;
      transition:all .2s ease;
    }
    .accordion-item:hover{
      border-color:rgba(199,123,14,.2) !important;
    }
    .accordion-item + .accordion-item{ margin-top:.8rem; }
    .accordion-button{
      font-weight:800;
      font-size:.97rem;
      line-height:1.45;
      padding:1.3rem 1.5rem;
      box-shadow:none !important;
      background:#fff;
      color:var(--text);
      letter-spacing:-.01em;
    }
    .accordion-button:not(.collapsed){
      background:var(--accent-soft);
      color:var(--text);
    }
    .accordion-button::after{
      border-radius:50%;
      background-color:rgba(199,123,14,.1);
      padding:.6rem;
      background-position:center;
    }
    .accordion-body{
      color:var(--muted);
      padding:.2rem 1.5rem 1.4rem;
      line-height:1.75;
    }

    /* ─── CONTACT ───────────────────────────────────────────────── */
    .contact-panel{
      background:var(--surface);
      border:1.5px solid rgba(5,5,5,.06);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .contact-copy{
      padding:clamp(2.5rem,4vw,4rem) clamp(1.5rem,3vw,3rem);
      height:100%;
      background:linear-gradient(160deg,#fffdf9 0%,#fff8ee 100%);
      border-right:1.5px solid rgba(199,123,14,.1);
    }
    .contact-copy h2{ margin-top:.5rem; }
    .contact-copy > p{
      color:var(--muted);
      margin-top:1.2rem;
      max-width:580px;
      line-height:1.78;
    }
    .contact-list{
      display:grid;
      gap:.85rem;
      margin-top:2rem;
    }
    .contact-item{
      display:flex;
      align-items:flex-start;
      gap:.85rem;
      padding:1rem 1.1rem;
      border:1.5px solid rgba(199,123,14,.1);
      border-radius:18px;
      background:#fff;
      box-shadow:var(--shadow-soft);
      transition:all .2s ease;
    }
    .contact-item:hover{
      border-color:rgba(199,123,14,.28);
      transform:translateX(3px);
    }
    .contact-item svg{
      width:20px; height:20px;
      color:var(--accent);
      flex:0 0 auto;
      margin-top:.12rem;
    }
    .contact-item strong{
      display:block;
      font-size:.93rem;
      font-weight:800;
      margin-bottom:.1rem;
    }
    .contact-item span,
    .contact-item a{ color:var(--muted); font-size:.92rem; }
    .contact-item a:hover{ color:var(--accent); }

    .contact-socials{
      display:flex;
      flex-wrap:wrap;
      gap:.75rem;
      margin-top:1.5rem;
    }
    .social-chip{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.75rem 1.1rem;
      border-radius:999px;
      background:#fff;
      border:1.5px solid rgba(199,123,14,.18);
      font-weight:700;
      font-size:.88rem;
      box-shadow:var(--shadow-soft);
      color:var(--text);
      transition:all .2s ease;
    }
    .social-chip:hover{
      background:var(--accent);
      color:#fff;
      border-color:var(--accent);
      transform:translateY(-2px);
    }
    .social-chip:hover svg{ color:#fff; }
    .social-chip svg{
      width:17px; height:17px;
      color:var(--accent);
      transition:color .2s;
    }

    .contact-map-band{
      display:grid;
      grid-template-columns:minmax(280px,.9fr) minmax(0,1.55fr);
      border-top:1.5px solid rgba(199,123,14,.12);
      background:#fff;
    }
    .contact-map-info{
      padding:clamp(2rem,3.6vw,3.25rem);
      background:
        radial-gradient(circle at 18% 20%, rgba(199,123,14,.1), transparent 34%),
        linear-gradient(160deg,#fffaf2 0%,#fff 100%);
      border-right:1.5px solid rgba(199,123,14,.1);
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-height:330px;
    }
    .contact-map-kicker{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      width:max-content;
      color:var(--accent);
      font-size:.72rem;
      font-weight:900;
      letter-spacing:.18em;
      text-transform:uppercase;
      margin-bottom:.9rem;
    }
    .contact-map-kicker::before{
      content:"";
      width:24px;
      height:2px;
      border-radius:999px;
      background:var(--accent);
    }
    .contact-map-info h3{
      font-family:"Nunito Sans",sans-serif;
      font-size:clamp(1.45rem,2.15vw,2.05rem);
      line-height:1.12;
      letter-spacing:-.03em;
      font-weight:900;
      margin:0;
      color:var(--text);
    }
    .contact-map-info p{
      color:var(--muted);
      font-size:.96rem;
      line-height:1.72;
      margin:1rem 0 0;
      max-width:430px;
    }
    .contact-map-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      margin-top:1.45rem;
    }
    .contact-map-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:0 1.1rem;
      border-radius:999px;
      background:var(--accent);
      color:#fff !important;
      font-size:.82rem !important;
      font-weight:900;
      box-shadow:0 10px 26px rgba(199,123,14,.25);
      transition:all .22s ease;
    }
    .contact-map-btn:hover{
      background:#b36c09;
      transform:translateY(-2px);
      box-shadow:0 14px 34px rgba(199,123,14,.32);
    }
    .contact-map-address{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:0 1rem;
      border-radius:999px;
      background:#fff;
      border:1.5px solid rgba(199,123,14,.16);
      color:var(--text) !important;
      font-size:.82rem !important;
      font-weight:800;
    }
    .contact-map-frame{
      position:relative;
      min-height:360px;
      background:#f1f1f1;
      overflow:hidden;
    }
    .contact-map-frame iframe{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      border:0;
      filter:saturate(.95) contrast(1.02);
    }

    /* form */
    .form-wrap{
      padding:clamp(2.5rem,4vw,4rem) clamp(1.5rem,3vw,3rem);
      background:#fff;
      height:100%;
    }
    @media (min-width:992px){
      .form-wrap{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        padding-top:clamp(3.4rem,5.2vw,5.6rem);
        padding-bottom:clamp(1.35rem,2vw,2.1rem);
      }
    }
    .form-wrap h3{
      font-family:"Nunito Sans",sans-serif;
      font-size:1.35rem;
      font-weight:800;
      letter-spacing:-.03em;
      margin-bottom:1.75rem;
    }
    .form-label{
      font-size:.84rem;
      font-weight:800;
      margin-bottom:.45rem;
      letter-spacing:.02em;
      text-transform:uppercase;
      color:rgba(5,5,5,.55);
    }
    .form-control,
    .form-select{
      border-radius:14px;
      border:1.5px solid rgba(5,5,5,.1);
      min-height:52px;
      padding:.85rem 1rem;
      font-size:.97rem;
      color:var(--text);
      box-shadow:none !important;
      transition:border-color .2s ease;
      background-color:#fafafa;
    }
    .form-control:focus,
    .form-select:focus{
      border-color:var(--accent);
      background:#fff;
    }
    textarea.form-control{
      min-height:145px;
      resize:vertical;
    }

    /* ─── FOOTER ────────────────────────────────────────────────── */
    .footer{
      background:var(--accent);
      color:#fff;
      padding:80px 0 32px;
      position:relative;
      overflow:hidden;
    }
    .footer::before{
      content:"";
      position:absolute;
      top:-80px; right:-80px;
      width:360px; height:360px;
      border-radius:50%;
      background:rgba(255,255,255,.05);
      pointer-events:none;
    }
    .footer::after{
      content:"";
      position:absolute;
      bottom:-120px; left:-60px;
      width:280px; height:280px;
      border-radius:50%;
      background:rgba(255,255,255,.04);
      pointer-events:none;
    }
    .footer a,
    .footer span{ color:rgba(255,255,255,.84); }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:1rem;
      margin-bottom:1.3rem;
    }
    .footer-logo{
      width:52px; height:52px;
      border-radius:16px;
      background:rgba(255,255,255,.15);
      object-fit:contain;
      padding:8px;
      flex:0 0 auto;
      border:1px solid rgba(255,255,255,.2);
    }
    .footer-brand strong{
      display:block;
      font-family:"Nunito Sans",sans-serif;
      font-size:1.1rem;
      font-weight:800;
      letter-spacing:-.025em;
      color:#fff;
    }
    .footer-brand small{
      color:rgba(255,255,255,.7);
      font-size:.88rem;
      font-family:"Manrope",sans-serif;
    }
    .footer-text{
      color:rgba(255,255,255,.78);
      max-width:340px;
      margin:0;
      font-size:.93rem;
      line-height:1.72;
    }
    .footer-title{
      font-size:.75rem;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.15em;
      margin-bottom:1.1rem;
      color:rgba(255,255,255,.5);
    }
    .footer-nav{
      display:grid;
      gap:.65rem;
    }
    .footer-nav a{
      font-weight:600;
      font-size:.92rem;
      transition:all .2s ease;
      color:rgba(255,255,255,.82);
    }
    .footer-nav a:hover{
      color:#fff;
      padding-left:4px;
    }
    .footer-nav span{
      font-size:.92rem;
      color:rgba(255,255,255,.72);
    }
    .footer-bottom{
      margin-top:3rem;
      padding-top:1.4rem;
      border-top:1px solid rgba(255,255,255,.16);
      display:flex;
      justify-content:space-between;
      gap:1rem;
      flex-wrap:wrap;
      color:rgba(255,255,255,.7);
      font-size:.88rem;
    }
    .footer-bottom a{
      color:#fff;
      font-weight:700;
    }

    /* ─── DIVIDERS / DECORATIVE ─────────────────────────────────── */
    .section-divider{
      height:1px;
      background:linear-gradient(90deg,transparent,var(--line),transparent);
      margin:0;
    }

    /* ─── FADE IN ANIMATION ─────────────────────────────────────── */
    .fade-up{
      opacity:0;
      transform:translateY(24px);
      transition:opacity .55s ease, transform .55s ease;
    }
    .fade-up.visible{
      opacity:1;
      transform:translateY(0);
    }

    /* ─── RESPONSIVE ────────────────────────────────────────────── */
    @media (max-width:1199.98px){
      .service-grid,
      .choose-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
      .application-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
      .about-company-section .about-list,
      .product-main-section .point-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:991.98px){
      .section{ padding:92px 0; }
      .about-product-section .about-panel,
      .about-product-section .main-product{ padding:2.1rem; }
      .about-product-section .about-panel .section-title,
      .about-product-section .main-product .section-title{ max-width:100%; }
      .hero-metrics{ grid-template-columns:1fr; }
      .about-list,
      .point-grid{ grid-template-columns:1fr; }
      .service-grid,
      .choose-grid{ grid-template-columns:1fr; }
      .footer{ padding-top:64px; }
      .contact-copy{ border-right:none; border-bottom:1.5px solid rgba(199,123,14,.1); }
      .contact-map-band{ grid-template-columns:1fr; }
      .contact-map-info{ min-height:auto; border-right:none; border-bottom:1.5px solid rgba(199,123,14,.1); }
      .contact-map-frame{ min-height:330px; }
      .product-main-section .point-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:767.98px){
      .section, .section-tight{ padding:76px 0; }
      .hero-title{ font-size:clamp(2.3rem,9.1vw,3.35rem); }
      .section-title{ font-size:clamp(1.85rem,8vw,2.55rem); }
      .intro-copy p{ font-size:1rem; }
      .hero-actions{ flex-direction:column; }
      .hero-actions .btn{ width:100%; }
      .brand-text small{ display:none; }
      .contact-copy, .form-wrap{ padding:2rem 1.75rem; }
      .form-wrap h3{ font-size:1.2rem; margin-bottom:1.4rem; }
    }
    @media (max-width:575.98px){
      .about-product-section .about-panel,
      .about-product-section .main-product{ padding:1.65rem; }
      .about-product-section .point-card,
      .about-product-section .about-list-item{ min-height:auto; }
      .about-panel, .main-product,
      .service-card, .application-card,
      .choose-card, .gallery-shell,
      .faq-shell{ border-radius:22px; }
      .gal-frame{ height:clamp(200px,40vh,360px); }
      .footer-bottom{ flex-direction:column; text-align:center; }
      .contact-map-actions{ flex-direction:column; }
      .contact-map-btn,
      .contact-map-address{ width:100%; }
      .contact-map-frame{ min-height:285px; }
      .application-grid{ grid-template-columns:1fr; }
      .about-company-section .about-list,
      .product-main-section .point-grid{ grid-template-columns:1fr; }
    }


    @media (max-width:991.98px){
      .tour-360-section{ padding-top:92px; padding-bottom:82px; }
      .tour-360-viewer-wrap{ min-height:clamp(460px,68vh,680px); border-radius:28px; }
      .tour-360-toolbar{ border-radius:26px; align-items:flex-start; }
      .tour-360-selector{ justify-content:flex-start; }
    }
    @media (max-width:575.98px){
      .tour-360-section{ padding-top:76px; }
      .tour-360-stage{ width:min(100%, calc(100vw - 18px)); }
      .tour-360-viewer-wrap{ min-height:500px; border-radius:22px; }
      .tour-360-toolbar{ left:.7rem; right:.7rem; bottom:.7rem; padding:.7rem; border-radius:20px; }
      .tour-360-status{ width:100%; justify-content:center; font-size:.82rem; white-space:normal; text-align:center; }
      .tour-360-selector{ width:100%; justify-content:center; }
      .tour-360-btn{ width:34px; height:34px; font-size:.78rem; }
      .tour-360-chip{ font-size:.78rem; padding:.62rem .85rem; }
      .gallery-after-360{ margin-top:4rem; }
    }

    @media (max-width: 768px) {
      .site-header .brand-text {
        font-size: 0.8rem;
        line-height: 1.1;
      }
    
      .site-header .brand-text small {
        display: none; /* ocultás la segunda línea en mobile */
      }
    
      .site-header .brand-mark {
        width: 32px; /* achicás el logo también */
        height: auto;
      }
    }
  

.tour-360-toolbar{
  left:50% !important;
  right:auto !important;
  bottom:18px !important;
  transform:translateX(-50%);
  width:min(980px, calc(100% - 36px));
  min-height:64px;
  padding:10px 12px !important;
  border-radius:24px !important;
  background:rgba(12,12,12,.62) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) auto;
  align-items:center !important;
  gap:12px !important;
  z-index:20 !important;
}
.tour-360-status{
  padding:0 .45rem !important;
  max-width:none !important;
  min-width:0;
}
.tour-360-status strong{
  font-size:.86rem;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tour-360-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.tour-360-nav-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:900;
  display:grid;
  place-items:center;
  transition:all .2s ease;
}
.tour-360-nav-btn:hover{
  background:var(--accent);
  border-color:var(--accent);
  transform:translateY(-1px);
}
.tour-360-select{
  height:36px;
  max-width:300px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  color:#fff;
  padding:0 36px 0 14px;
  font-size:.78rem;
  font-weight:800;
  outline:none;
}
.tour-360-select option{
  color:#111;
  background:#fff;
}
.tour-360-open{
  min-height:36px !important;
  padding:0 .95rem !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:.76rem !important;
  font-weight:900 !important;
}
.tour-360-open:hover{
  background:var(--accent) !important;
  color:#fff !important;
}
.tour-links-wrap{
  margin-top:2.4rem;
}
.tour-links-card{
  background:#fff;
  border:1px solid rgba(5,5,5,.07);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:clamp(1.2rem,2vw,1.7rem);
}
.tour-links-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.tour-links-head h3{
  font-family:"Nunito Sans",sans-serif;
  font-weight:900;
  letter-spacing:-.03em;
  margin:0;
  font-size:clamp(1.25rem,2vw,1.8rem);
}
.tour-links-head p{
  margin:.25rem 0 0;
  color:var(--muted);
  font-size:.92rem;
}
.tour-link-slide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.tour-link-item{
  min-height:126px;
  border:1px solid rgba(199,123,14,.14);
  background:linear-gradient(180deg,#fff,#fffaf2);
  border-radius:20px;
  padding:1rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:.9rem;
}
.tour-link-item strong{
  display:block;
  font-family:"Nunito Sans",sans-serif;
  font-size:1rem;
  line-height:1.2;
  letter-spacing:-.02em;
}
.tour-link-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.tour-link-load,
.tour-link-open{
  border:0;
  border-radius:999px;
  min-height:34px;
  padding:0 .82rem;
  font-size:.75rem;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}
.tour-link-load{
  background:var(--accent);
  color:#fff;
}
.tour-link-open{
  background:#111;
  color:#fff;
}
.tour-link-load:hover,
.tour-link-open:hover{
  transform:translateY(-1px);
  filter:brightness(.95);
}
.tour-links-controls{
  display:flex;
  align-items:center;
  gap:.5rem;
}
.tour-links-controls button{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(5,5,5,.1);
  background:#fff;
  color:#111;
  font-weight:900;
  box-shadow:var(--shadow-soft);
}
@media (max-width:991.98px){
  .tour-360-toolbar{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    border-radius:20px !important;
  }
  .tour-360-actions{
    width:100%;
  }
  .tour-360-select{
    flex:1;
    max-width:none;
  }
  .tour-360-open{
    display:none !important;
  }
  .tour-link-slide-grid{
    grid-template-columns:1fr;
  }
  .tour-links-head{
    align-items:flex-start;
    flex-direction:column;
  }
}

  
.tour-link-slide-grid[data-cards="1"]{
  grid-template-columns:1fr;
}

.tour-link-slide-grid[data-cards="2"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.tour-link-slide-grid[data-cards="3"]{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:575.98px){
  .tour-links-card{
    padding:1rem;
    border-radius:22px;
  }

  .tour-link-item{
    min-height:112px;
  }

  .tour-links-controls button{
    width:34px;
    height:34px;
  }
}


@media (max-width:575.98px){
  .tour-360-toolbar{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    transform:none !important;
    width:auto !important;
    min-height:44px !important;
    padding:7px 8px !important;
    border-radius:16px !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
    background:rgba(12,12,12,.48) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  .tour-360-status{
    width:auto !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding:0 .35rem !important;
    gap:.45rem !important;
    min-width:0 !important;
  }

  .tour-360-status span{
    width:8px !important;
    height:8px !important;
    box-shadow:0 0 0 4px rgba(246,222,26,.14) !important;
    flex:0 0 auto !important;
  }

  .tour-360-status strong{
    font-size:.74rem !important;
    max-width:42vw !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .tour-360-actions{
    width:auto !important;
    justify-content:flex-end !important;
    gap:6px !important;
  }

  .tour-360-select,
  .tour-360-open{
    display:none !important;
  }

  .tour-360-nav-btn{
    width:30px !important;
    height:30px !important;
    font-size:17px !important;
    background:rgba(255,255,255,.16) !important;
  }
}


.panama-section{
  position:relative;
  background:
    radial-gradient(circle at 85% 12%, rgba(0,58,168,.09), transparent 32%),
    radial-gradient(circle at 10% 80%, rgba(210,16,52,.08), transparent 34%),
    linear-gradient(180deg,#fff 0%,#f8fbff 52%,#fff 100%);
  overflow:hidden;
}
.panama-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,0));
  pointer-events:none;
}
.panama-section .container{
  position:relative;
  z-index:1;
}
.panama-shell{
  background:rgba(255,255,255,.92);
  border:1.5px solid rgba(5,5,5,.06);
  border-radius:36px;
  box-shadow:var(--shadow);
  padding:clamp(1.7rem,4vw,3.2rem);
  overflow:hidden;
}
.panama-content{
  max-width:650px;
}
.panama-lead{
  color:var(--muted);
  font-size:1rem;
  line-height:1.78;
  margin:1.15rem 0 0;
}
.panama-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.75rem;
}
.panama-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
  margin-top:2rem;
}
.panama-mini-card{
  border:1px solid rgba(5,5,5,.06);
  background:#fff;
  border-radius:18px;
  padding:1rem;
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  box-shadow:var(--shadow-soft);
}
.panama-mini-card span{
  width:32px;
  height:32px;
  flex:0 0 auto;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  background:linear-gradient(135deg,#0038a8,#d21034);
  font-size:.85rem;
}
.panama-mini-card strong{
  display:block;
  font-size:.9rem;
  line-height:1.25;
  margin-bottom:.2rem;
}
.panama-mini-card small{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}
.panama-visual{
  height:100%;
  min-height:420px;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.panama-flag-card{
  background:#fff;
  border:1.5px solid rgba(5,5,5,.07);
  border-radius:30px;
  padding:1rem;
  box-shadow:0 22px 70px rgba(14,20,28,.09);
}
.panama-flag{
  width:100%;
  aspect-ratio:1.48/1;
  border-radius:22px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  border:1px solid rgba(5,5,5,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}
.panama-flag .flag-white,
.panama-flag .flag-red,
.panama-flag .flag-blue{
  display:grid;
  place-items:center;
}
.panama-flag .flag-white{ background:#fff; }
.panama-flag .flag-red{ background:#d21034; }
.panama-flag .flag-blue{ background:#0038a8; }
.panama-flag .star{
  font-size:clamp(2.6rem,5vw,4.4rem);
  line-height:1;
}
.panama-flag .star-blue{ color:#0038a8; }
.panama-flag .star-red{ color:#d21034; }
.panama-flag-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.95rem .4rem .2rem;
}
.panama-flag-label strong{
  font-family:"Nunito Sans",sans-serif;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:-.025em;
}
.panama-flag-label span{
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
}
.panama-links{
  display:grid;
  gap:.72rem;
}
.panama-link-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  padding:.9rem 1rem;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(5,5,5,.06);
  box-shadow:var(--shadow-soft);
  transition:all .2s ease;
}
.panama-link-card:hover{
  transform:translateY(-2px);
  border-color:rgba(199,123,14,.24);
  box-shadow:0 14px 34px rgba(14,20,28,.08);
}
.panama-link-card strong{
  font-size:.9rem;
  line-height:1.25;
}
.panama-link-card span{
  display:inline-flex;
  width:32px;
  height:32px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
@media (max-width:991.98px){
  .panama-visual{ min-height:auto; }
  .panama-mini-grid{ grid-template-columns:1fr; }
}
@media (max-width:575.98px){
  .panama-shell{ border-radius:24px; padding:1.25rem; }
  .panama-actions .btn{ width:100%; }
  .panama-flag-card{ border-radius:22px; }
  .panama-flag{ border-radius:17px; }
  .panama-flag-label{ align-items:flex-start; flex-direction:column; gap:.2rem; }
  .panama-link-card{ padding:.85rem; }
}

/* ===== INLINE <style> BLOCK #2 ===== */
:root{
    --wa:#25D366;
    --wa-dark:#1fb85a;
    --light-bg:#fff;
    --light-bg-soft:#f6f8f7;
    --light-border:#dde4df;
    --dark-text:#1c1f1d;
    --muted-text:#6c756f;
  }

  .hd-float,
  .hd-float *,
  .hd-reopen,
  .hd-reopen *{
    box-sizing:border-box;
  }

  .hd-float{
    position:fixed;
    right:16px;
    bottom:16px;
    z-index:9999;
    font-family:inherit;
  }

  .hd-tools{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    width:48px;
    margin:0 0 7px auto;
    z-index:10001;
  }

  .hd-tool{
    width:25px;
    height:25px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.94);
    color:#222;
    display:grid;
    place-items:center;
    padding:0;
    font-size:17px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    backdrop-filter:blur(8px);
    transition:transform .18s ease, background .18s ease, color .18s ease;
  }

  .hd-tool:hover{
    transform:scale(1.08);
    background:#f2f5f3;
  }

  #floatClose:hover{
    background:#ffe7e7;
    color:#c40000;
  }

  .hd-stack{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
  }

  .hd-social,
  .wa-btn,
  .hd-mini,
  .hd-reopen{
    width:48px;
    height:48px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    border:0;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
    transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
  }

  .hd-social:hover,
  .wa-btn:hover,
  .hd-mini:hover,
  .hd-reopen:hover{
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 12px 28px rgba(0,0,0,.28);
  }

  .fb-float{
    background:linear-gradient(180deg,#1877F2 0%,#0f63d6 100%);
  }

  .yt-float{
    background:linear-gradient(180deg,#ff0033 0%,#cc0029 100%);
  }

  .ig-float{
    background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  }

  .wa-btn{
    background:var(--wa);
  }

  .hd-mini,
  .hd-reopen{
    background:linear-gradient(135deg,#1877F2,#25D366 50%,#e1306c);
    font-size:28px;
    font-weight:700;
    line-height:1;
  }

  .hd-reopen{
    position:fixed;
    right:16px;
    bottom:16px;
    z-index:9999;
  }

  .hd-float.is-minimized .hd-stack,
  .hd-float.is-minimized .hd-tools{
    display:none;
  }

  .hd-float.is-minimized .hd-mini{
    display:grid;
  }

  .hd-float.is-closed{
    display:none;
  }

  .wa-float{
    position:relative;
  }

  .wa-card{
    position:absolute;
    right:0;
    bottom:58px;
    width:min(340px,calc(100vw - 28px));
    background:var(--light-bg);
    color:var(--dark-text);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 18px 55px rgba(0,0,0,.25);
    border:1px solid var(--light-border);
    transform:translateY(8px);
    opacity:0;
    pointer-events:none;
    transition:transform .25s ease, opacity .25s ease;
    z-index:10002;
  }

  .wa-card[aria-modal="true"]{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }

  .wa-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 13px;
    background:linear-gradient(135deg,#fff,#ecf6f0);
    border-bottom:1px solid var(--light-border);
  }

  .wa-avatar{
    width:36px;
    height:36px;
    border-radius:10px;
    background:#e9f7ef;
    display:grid;
    place-items:center;
    border:1px solid #cfeeda;
    overflow:hidden;
    flex:0 0 auto;
  }

  .wa-avatar img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:4px;
  }

  .wa-meta{
    min-width:0;
  }

  .wa-title{
    font-weight:800;
    font-size:.96rem;
    color:var(--dark-text);
    line-height:1.15;
  }

  .wa-status{
    font-size:.78rem;
    color:var(--muted-text);
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:2px;
  }

  .wa-status::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--wa);
    flex:0 0 auto;
  }

  .wa-close{
    margin-left:auto;
    background:transparent;
    color:var(--muted-text);
    border:0;
    font-size:22px;
    cursor:pointer;
    opacity:.75;
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.2s;
    flex:0 0 auto;
  }

  .wa-close:hover{
    opacity:1;
    background:rgba(0,0,0,.04);
  }

  .wa-body{
    padding:11px 12px;
    max-height:38vh;
    overflow:auto;
    background:var(--light-bg-soft);
    display:flex;
    flex-direction:column;
    gap:7px;
  }

  .wa-bubble{
    max-width:88%;
    padding:8px 10px;
    border-radius:13px;
    line-height:1.35;
    box-shadow:0 3px 10px rgba(0,0,0,.06);
    font-size:.86rem;
  }

  .wa-bot{
    background:#fff;
    border:1px solid var(--light-border);
    align-self:flex-start;
    border-bottom-left-radius:4px;
  }

  .wa-user{
    background:var(--wa);
    color:#fff;
    align-self:flex-end;
    border-bottom-right-radius:4px;
  }

  .wa-compose{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    padding:9px 10px;
    background:#fff;
    border-top:1px solid var(--light-border);
  }

  .wa-compose textarea{
    resize:none;
    border-radius:11px;
    padding:9px 10px;
    border:1px solid var(--light-border);
    background:#f9fbfa;
    color:var(--dark-text);
    outline:none;
    min-height:42px;
    max-height:110px;
    font-family:inherit;
    font-size:.86rem;
  }

  .wa-compose textarea:focus{
    border-color:var(--wa);
    box-shadow:0 0 0 2px rgba(37,211,102,.15);
    background:#fff;
  }

  .wa-send{
    background:var(--wa);
    color:#fff;
    border:0;
    border-radius:11px;
    padding:0 14px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .wa-send:hover{
    background:var(--wa-dark);
  }

  @media (max-width:480px){
    .hd-float{
      right:10px;
      bottom:10px;
    }

    .hd-reopen{
      right:10px;
      bottom:10px;
    }

    .hd-tools{
      width:44px;
      margin:0 0 6px auto;
      gap:5px;
    }

    .hd-tool{
      width:24px;
      height:24px;
      font-size:16px;
    }

    .hd-stack{
      gap:7px;
    }

    .hd-social,
    .wa-btn,
    .hd-mini,
    .hd-reopen{
      width:44px;
      height:44px;
    }

    .wa-card{
      width:calc(100vw - 20px);
      right:0;
      bottom:52px;
    }
  }

