/* Legacy page CSS, restored. Source: cart_productcategories:?. Built by artifacts/migration/build-legacy-css.py; do not edit. */
.bh-zipline-page{
      --bh-blue:#00B6D9;
      --bh-navy:#21272F;
      --bh-yellow:#E4FF1A;
      --bh-yellow-hover:#d7ef18;
      --bh-white:#ffffff;
      --bh-ink:#10211b;
      --bh-muted:#5d6c66;
      --bh-soft:#f5f8f8;
      --bh-line:rgba(16,33,27,0.10);
      --bh-line-strong:rgba(16,33,27,0.18);
      --bh-shadow:0 18px 45px rgba(16,33,27,0.12);
      --bh-radius:28px;
      --bh-radius-sm:20px;
      margin:0;
      color:var(--bh-ink);
      font-family:inherit;
    }

    .bh-zipline-page *,
    .bh-zipline-page *:before,
    .bh-zipline-page *:after{
      box-sizing:border-box;
    }

    .bh-zipline-page a{
      color:inherit;
      text-decoration:none;
    }

    .bh-zipline-page a:focus{
      outline:3px solid #111;
      outline-offset:3px;
    }

    .bh-zip-shell{
      max-width:1240px;
      margin:0 auto;
      padding:22px 18px 72px;
    }

    .bh-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:54px;
      padding:0 18px;
      border-radius:16px;
      font-size:14px;
      font-weight:800;
      letter-spacing:0.04em;
      text-transform:uppercase;
      text-align:center;
      border:1px solid transparent;
      transition:all 0.18s ease;
      cursor:pointer;
      line-height:1.2;
    }

    .bh-btn:hover{
      transform:translateY(-2px);
    }

    .bh-btn-primary{
      background:var(--bh-yellow);
      color:#111111 !important;
      border-color:rgba(0,0,0,0.12);
      box-shadow:0 14px 26px rgba(0,0,0,0.16);
    }

    .bh-btn-primary:hover,
    .bh-btn-primary:focus{
      background:var(--bh-yellow-hover);
      color:#111111 !important;
    }

    .bh-btn-secondary{
      background:#ffffff;
      color:var(--bh-navy) !important;
      border-color:rgba(33,39,47,0.16);
      box-shadow:0 10px 22px rgba(16,33,27,0.08);
    }

    .bh-btn-secondary:hover,
    .bh-btn-secondary:focus{
      background:#f3f6f7;
      color:var(--bh-navy) !important;
      border-color:rgba(33,39,47,0.24);
    }

    .bh-btn-outline{
      background:transparent;
      color:var(--bh-navy) !important;
      border-color:rgba(33,39,47,0.26);
    }

    .bh-btn-outline:hover,
    .bh-btn-outline:focus{
      background:#f7fbfb;
      color:var(--bh-navy) !important;
      border-color:rgba(33,39,47,0.40);
    }

    .bh-btn-ghost{
      background:transparent;
      color:#ffffff !important;
      border-color:rgba(255,255,255,0.34);
    }

    .bh-btn-ghost:hover,
    .bh-btn-ghost:focus{
      background:rgba(255,255,255,0.10);
      color:#ffffff !important;
      border-color:rgba(255,255,255,0.52);
    }

    .bh-card{
      background:#fff;
      border:1px solid var(--bh-line);
      border-radius:var(--bh-radius);
      box-shadow:var(--bh-shadow);
      overflow:hidden;
    }

    .bh-card-pad{
      padding:30px;
    }

    .bh-overline{
      display:inline-block;
      margin:0 0 10px;
      font-size:12px;
      font-weight:800;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:var(--bh-blue);
    }

    .bh-title{
      margin:0 0 12px;
      font-size:clamp(28px,4vw,42px);
      line-height:1.02;
      font-weight:900;
      letter-spacing:-0.03em;
      color:var(--bh-navy);
    }

    .bh-text{
      margin:0;
      font-size:17px;
      line-height:1.75;
      color:var(--bh-muted);
    }

    .bh-hero{
      position:relative;
      overflow:hidden;
      border-radius:34px;
      background:#193746;
      box-shadow:var(--bh-shadow);
    }

    .bh-hero-media{
      position:absolute;
      inset:0;
    }

    .bh-hero-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .bh-hero-overlay{
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(8,19,31,0.72) 0%, rgba(8,19,31,0.52) 38%, rgba(8,19,31,0.32) 62%, rgba(8,19,31,0.72) 100%);
    }

    .bh-hero-inner{
      position:relative;
      z-index:2;
      padding:34px 34px 30px;
    }

    .bh-hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) 380px;
      gap:28px;
      align-items:end;
    }

    .bh-hero-copy{
      max-width:700px;
    }

    .bh-hero-kicker{
      display:inline-block;
      margin:0 0 16px;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(255,255,255,0.14);
      border:1px solid rgba(255,255,255,0.22);
      font-size:12px;
      font-weight:800;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:#fff;
    }

    .bh-hero-copy h2{
      max-width:520px;
      margin:0 0 16px;
      font-size:clamp(42px,5.7vw,78px);
      line-height:0.92;
      font-weight:900;
      letter-spacing:-0.04em;
      color:#fff;
    }

    .bh-hero-copy p{
      max-width:660px;
      margin:0;
      font-size:clamp(17px,1.9vw,22px);
      line-height:1.6;
      color:rgba(255,255,255,0.94);
    }

    .bh-hero-card{
      padding:24px;
      border-radius:26px;
      background:rgba(8,19,31,0.82);
      border:1px solid rgba(255,255,255,0.14);
      box-shadow:0 20px 40px rgba(0,0,0,0.20);
      backdrop-filter:blur(8px);
    }

    .bh-hero-card h3{
      margin:0 0 12px;
      font-size:24px;
      line-height:1.08;
      font-weight:900;
      color:#fff;
    }

    .bh-price{
      display:flex;
      align-items:flex-end;
      gap:10px;
      margin:0 0 14px;
    }

    .bh-price strong{
      font-size:58px;
      line-height:0.9;
      font-weight:900;
      color:var(--bh-yellow);
    }

    .bh-price span{
      padding-bottom:8px;
      font-size:15px;
      font-weight:700;
      color:rgba(255,255,255,0.86);
    }

    .bh-price-note{
      margin:0 0 18px;
      font-size:14px;
      line-height:1.65;
      color:rgba(255,255,255,0.86);
    }

    .bh-btn-stack{
      display:grid;
      gap:10px;
    }

    .bh-btn-stack .bh-btn{
      width:100%;
    }

    .bh-facts{
      display:grid;
      grid-template-columns:repeat(6,minmax(0,1fr));
      gap:12px;
      margin-top:22px;
    }

    .bh-fact{
      padding:16px 16px 15px;
      border-radius:18px;
      background:rgba(255,255,255,0.14);
      border:1px solid rgba(255,255,255,0.16);
      backdrop-filter:blur(4px);
    }

    .bh-fact strong{
      display:block;
      margin:0 0 6px;
      font-size:11px;
      font-weight:800;
      letter-spacing:0.14em;
      text-transform:uppercase;
      color:rgba(255,255,255,0.72);
    }

    .bh-fact span{
      display:block;
      font-size:15px;
      line-height:1.35;
      font-weight:700;
      color:#fff;
    }

    .bh-section{
      margin-top:26px;
    }

    .bh-grid{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(0,0.88fr);
      gap:22px;
    }

    .bh-two-col-cards{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      margin-top:20px;
    }

    .bh-mini-card{
      padding:22px;
      border-radius:22px;
      border:1px solid var(--bh-line);
      background:linear-gradient(180deg,#ffffff 0%, #f7fbfb 100%);
    }

    .bh-mini-card h4{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.1;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-mini-card p{
      margin:0 0 16px;
      font-size:15px;
      line-height:1.7;
      color:var(--bh-muted);
    }

    .bh-mini-list{
      margin:0;
      padding:0;
      list-style:none;
    }

    .bh-mini-list li{
      position:relative;
      padding-left:16px;
      margin:0 0 9px;
      font-size:14px;
      line-height:1.6;
      color:var(--bh-ink);
    }

    .bh-mini-list li:before{
      content:"";
      position:absolute;
      left:0;
      top:9px;
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--bh-blue);
    }

    .bh-side-stack{
      display:grid;
      gap:16px;
    }

    .bh-photo-card img{
      width:100%;
      height:260px;
      object-fit:cover;
      display:block;
      background:#dce8ea;
      border-bottom:1px solid var(--bh-line);
    }

    .bh-photo-card h4{
      margin:0 0 8px;
      font-size:24px;
      line-height:1.1;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-photo-card p{
      margin:0;
      font-size:15px;
      line-height:1.7;
      color:var(--bh-muted);
    }

    .bh-why-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }

    .bh-why{
      padding:24px 22px;
      border-radius:22px;
      background:linear-gradient(180deg,#ffffff 0%, #f7fbfb 100%);
      border:1px solid var(--bh-line);
    }

    .bh-why strong{
      display:block;
      margin:0 0 8px;
      font-size:18px;
      line-height:1.2;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-why p{
      margin:0;
      font-size:15px;
      line-height:1.7;
      color:var(--bh-muted);
    }

    .bh-band{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }

    .bh-band-card{
      overflow:hidden;
      border-radius:24px;
      border:1px solid var(--bh-line);
      background:#dce8ea;
      box-shadow:var(--bh-shadow);
    }

    .bh-band-card img{
      width:100%;
      height:250px;
      object-fit:cover;
      display:block;
      background:#dce8ea;
    }

    .bh-dark{
      position:relative;
      overflow:hidden;
      background:#193746;
      border:none;
      color:#fff;
    }

    .bh-dark-media{
      position:absolute;
      inset:0;
      opacity:0.18;
    }

    .bh-dark-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .bh-dark-overlay{
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,#132630 0%, #1c3f4d 100%);
    }

    .bh-dark-inner{
      position:relative;
      z-index:2;
      padding:30px;
    }

    .bh-dark .bh-overline,
    .bh-dark .bh-title{
      color:#fff;
    }

    .bh-dark .bh-text{
      color:rgba(255,255,255,0.84);
    }

    .bh-steps{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
      margin-top:20px;
    }

    .bh-step{
      padding:20px;
      border-radius:20px;
      background:rgba(255,255,255,0.10);
      border:1px solid rgba(255,255,255,0.12);
    }

    .bh-step span{
      display:inline-flex;
      width:34px;
      height:34px;
      align-items:center;
      justify-content:center;
      margin-bottom:12px;
      border-radius:999px;
      background:var(--bh-yellow);
      color:#111;
      font-size:14px;
      font-weight:900;
    }

    .bh-step strong{
      display:block;
      margin:0 0 6px;
      font-size:18px;
      line-height:1.2;
      font-weight:900;
      color:#fff;
    }

    .bh-step p{
      margin:0;
      font-size:14px;
      line-height:1.65;
      color:rgba(255,255,255,0.82);
    }

    .bh-access-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }

    .bh-access-card{
      padding:24px 22px;
      border-radius:24px;
      border:1px solid var(--bh-line);
      background:linear-gradient(180deg,#ffffff 0%, #f7fbfb 100%);
    }

    .bh-access-card h4{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.1;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-access-price{
      display:block;
      margin:0 0 12px;
      font-size:28px;
      line-height:1;
      font-weight:900;
      color:var(--bh-blue);
    }

    .bh-access-card p{
      margin:0 0 14px;
      font-size:15px;
      line-height:1.7;
      color:var(--bh-muted);
    }

    .bh-chip-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:12px;
    }

    .bh-chip{
      display:inline-flex;
      align-items:center;
      min-height:32px;
      padding:0 12px;
      border-radius:999px;
      background:#eef8fb;
      color:#0d6478;
      font-size:12px;
      font-weight:800;
      letter-spacing:0.04em;
      text-transform:uppercase;
    }

    .bh-upsell{
      display:grid;
      grid-template-columns:1.02fr 0.98fr;
      gap:18px;
      align-items:stretch;
    }

    .bh-upsell-copy{
      padding:30px;
    }

    .bh-upsell-media{
      min-height:340px;
      border-radius:26px;
      overflow:hidden;
      box-shadow:var(--bh-shadow);
      border:1px solid var(--bh-line);
      background:#dce8ea;
    }

    .bh-upsell-media img{
      width:100%;
      height:100%;
      min-height:340px;
      object-fit:cover;
      display:block;
    }

    .bh-route-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      margin-top:18px;
    }

    .bh-route{
      padding:18px;
      border-radius:20px;
      background:#fff;
      border:1px solid var(--bh-line);
    }

    .bh-route strong{
      display:block;
      margin:0 0 8px;
      font-size:18px;
      line-height:1.2;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-route p{
      margin:0 0 14px;
      font-size:14px;
      line-height:1.65;
      color:var(--bh-muted);
    }

    .bh-practical-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      margin-top:18px;
    }

    .bh-practical{
      padding:24px 22px;
      border-radius:22px;
      background:linear-gradient(180deg,#ffffff 0%, #f8fbfb 100%);
      border:1px solid var(--bh-line);
    }

    .bh-practical h4{
      margin:0 0 10px;
      font-size:22px;
      line-height:1.1;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-practical ul{
      margin:0;
      padding:0;
      list-style:none;
    }

    .bh-practical li{
      position:relative;
      padding-left:16px;
      margin:0 0 10px;
      font-size:15px;
      line-height:1.7;
      color:var(--bh-ink);
    }

    .bh-practical li:before{
      content:"";
      position:absolute;
      left:0;
      top:10px;
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--bh-yellow);
    }

    .bh-mobile-image{
      display:none;
      margin-top:16px;
      overflow:hidden;
      border-radius:24px;
      border:1px solid var(--bh-line);
      box-shadow:var(--bh-shadow);
      background:#dce8ea;
    }

    .bh-mobile-image img{
      width:100%;
      height:220px;
      object-fit:cover;
      display:block;
    }

    .bh-final{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      background:#193746;
      box-shadow:var(--bh-shadow);
      color:#fff;
    }

    .bh-final-media{
      position:absolute;
      inset:0;
    }

    .bh-final-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .bh-final-overlay{
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(19,38,48,0.94), rgba(28,63,77,0.92));
    }

    .bh-final-inner{
      position:relative;
      z-index:2;
      padding:42px 34px;
      text-align:center;
    }

    .bh-final h3{
      margin:0 0 12px;
      font-size:clamp(30px,4vw,46px);
      line-height:1.02;
      font-weight:900;
      color:#fff;
    }

    .bh-final p{
      max-width:760px;
      margin:0 auto 22px;
      font-size:17px;
      line-height:1.75;
      color:rgba(255,255,255,0.88);
    }

    .bh-final .bh-btn-row{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:10px;
    }

    @media (max-width:1180px){
      .bh-hero-grid,
      .bh-grid,
      .bh-upsell,
      .bh-access-grid,
      .bh-why-grid,
      .bh-route-grid,
      .bh-steps{
        grid-template-columns:1fr;
      }

      .bh-facts{
        grid-template-columns:repeat(3,minmax(0,1fr));
      }

      .bh-band,
      .bh-practical-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .bh-hero-copy{
        max-width:none;
      }

      .bh-hero-copy h2{
        max-width:560px;
      }

      .bh-hero-card{
        max-width:460px;
      }
    }

    @media (max-width:760px){
      .bh-zip-shell{
        padding:16px 14px 56px;
      }

      .bh-hero-inner,
      .bh-card-pad,
      .bh-dark-inner,
      .bh-upsell-copy,
      .bh-final-inner{
        padding:22px 18px;
      }

      .bh-hero-copy h2{
        max-width:100%;
        font-size:44px;
      }

      .bh-hero-copy p,
      .bh-text,
      .bh-final p{
        font-size:16px;
      }

      .bh-facts,
      .bh-two-col-cards,
      .bh-band,
      .bh-practical-grid{
        grid-template-columns:1fr;
      }

      .bh-photo-card img,
      .bh-band-card img{
        height:220px;
      }

      .bh-btn-stack,
      .bh-final .bh-btn-row{
        display:grid;
      }

      .bh-btn{
        width:100%;
      }

      .bh-mobile-image{
        display:block;
      }
    }
