:root{--pkg-gold:#d9ad5a;--pkg-gold-light:#f0ce84;--pkg-ink:#0a0d0f;--pkg-panel:#111518;--pkg-line:rgba(219,176,92,.3);--pkg-paper:#f4efe6}html{scroll-behavior:smooth}.package-page{background:var(--pkg-ink);color:#f7f3eb}.package-page .site-header{background:rgba(8,10,12,.97)}.package-hero{min-height:710px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.package-hero picture,.package-hero picture img,.package-hero-shade{position:absolute;inset:0;width:100%;height:100%}.package-hero img{object-fit:cover;object-position:center 48%}.package-hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.96) 0%,rgba(5,7,8,.72) 45%,rgba(5,7,8,.18) 85%),linear-gradient(0deg,rgba(5,7,8,.88) 0%,transparent 55%)}.package-hero-content{position:relative;z-index:1;padding-top:170px;padding-bottom:92px}.language-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:54px}.language-links a{border:1px solid rgba(255,255,255,.26);color:#f7f3eb;font-size:12px;letter-spacing:.08em;padding:8px 11px;text-transform:uppercase}.language-links a[aria-current=page]{border-color:var(--pkg-gold);color:var(--pkg-gold-light);background:rgba(217,173,90,.1)}.package-hero h1{font-family:var(--font-display,Georgia,serif);font-size:clamp(54px,6.6vw,94px);line-height:.96;max-width:850px;margin:18px 0 24px;letter-spacing:-.045em}.package-hero-content>p:not(.eyebrow){font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:720px;color:#e6e1d8}.package-facts{border-top:1px solid var(--pkg-line);border-bottom:1px solid var(--pkg-line);background:#0d1114}.package-facts .container{display:grid;grid-template-columns:repeat(4,1fr)}.package-facts .container>div{padding:30px 26px;border-right:1px solid rgba(255,255,255,.1)}.package-facts .container>div:last-child{border:0}.package-facts strong,.package-facts span{display:block}.package-facts strong{color:var(--pkg-gold-light);font-size:20px;margin-bottom:7px}.package-facts span{color:#bbb6ae;font-size:13px;line-height:1.45}.package-explain{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:90px;align-items:start}.package-explain h2,.package-planner-section h2,.package-page .section-dark h2,.faq-wrap h2{font-size:clamp(40px,5vw,70px);line-height:1.02;letter-spacing:-.035em;margin:15px 0 25px}.package-explain>div>p:last-child,.package-intro{font-size:18px;line-height:1.75;color:#4c4a45}.package-explain ol{list-style:none;margin:0;padding:0;border-top:1px solid #cbc2b3}.package-explain li{display:flex;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid #cbc2b3;font-weight:700;font-size:17px}.package-explain li span{color:#9d7027;font-size:12px;letter-spacing:.12em}.package-planner-section{background:#0b0e10;border-top:1px solid var(--pkg-line)}.package-planner-section>.container>h2{margin-bottom:14px}.package-intro{color:#c6c1b8;margin:0 0 38px}.package-cancelled{background:#302511;border:1px solid var(--pkg-gold);padding:16px;margin-bottom:24px;color:#ffe5ad}.package-form{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.package-form-main{display:grid;gap:18px}.package-form fieldset{border:1px solid rgba(255,255,255,.14);background:var(--pkg-panel);padding:26px;margin:0}.package-form legend{font-family:var(--font-display,Georgia,serif);font-size:25px;padding:0 10px;color:#fff}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.package-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.package-order{grid-template-columns:repeat(3,minmax(0,1fr))}.package-form label{display:grid;gap:8px;color:#c9c5bd;font-size:13px;line-height:1.4}.package-form input,.package-form select,.package-form textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.25);border-radius:0;background:#090c0e;color:#fff;padding:14px 13px;font:inherit;font-size:16px}.package-form input:focus,.package-form select:focus,.package-form textarea:focus{outline:2px solid var(--pkg-gold);outline-offset:1px}.package-form .span-two{grid-column:1/-1}.field-note{color:#9c9993;font-size:13px;margin:0 0 18px}.route-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:20px}.route-preview span{background:#090c0e;border:1px solid var(--pkg-line);padding:13px 10px;color:#e9e4da;font-size:12px;line-height:1.45}.route-preview b{color:var(--pkg-gold-light);display:block;margin-bottom:5px}.schedule-list{display:grid;gap:10px}.schedule-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(135px,.55fr) minmax(115px,.45fr);gap:12px;align-items:end;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:12px}.schedule-row:last-child{border-bottom:0;padding-bottom:0}.schedule-leg{font-weight:700;color:#f2ede4;line-height:1.35;padding-bottom:13px}.schedule-leg span{display:block;font-size:11px;letter-spacing:.14em;color:var(--pkg-gold);text-transform:uppercase;margin-bottom:4px}.check-row{grid-template-columns:22px 1fr!important;align-items:start!important;gap:10px!important;margin-top:18px}.check-row input{width:20px!important;height:20px;margin:0;padding:0;accent-color:var(--pkg-gold)}.check-row a{color:var(--pkg-gold-light);text-decoration:underline}.package-summary{position:sticky;top:105px;border:1px solid var(--pkg-line);background:linear-gradient(145deg,#17191a,#0b0e10);padding:28px}.package-price{font-family:var(--font-display,Georgia,serif);font-size:62px;line-height:1;color:var(--pkg-gold-light);margin:16px 0 24px}.package-summary dl{margin:0 0 24px}.package-summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.package-summary dt{color:#b7b2aa}.package-summary dd{margin:0;font-weight:700}.package-summary .saving dd{color:#8ed69e}.package-summary .summary-total{font-size:20px;border-bottom:0}.package-summary>p{font-size:13px;line-height:1.6;color:#aca8a0}.package-summary .btn{width:100%;margin:10px 0;min-height:57px}.package-summary .btn[disabled]{opacity:.55;cursor:wait}.pay-note{font-size:12px!important}.package-error{margin-top:14px;border-left:3px solid #df805f;background:#321a13;color:#ffd4c6;padding:12px;font-size:13px;line-height:1.5}.package-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.package-card{border:1px solid rgba(255,255,255,.15);padding:30px;background:#101416}.package-card>span{color:var(--pkg-gold);font-size:12px;letter-spacing:.15em}.package-card h3{font-size:23px;margin:24px 0 12px}.package-card p{color:#b8b4ac;line-height:1.7}.faq-wrap{max-width:900px}.faq-wrap details{border-top:1px solid #cfc6b7;padding:21px 0}.faq-wrap details:last-child{border-bottom:1px solid #cfc6b7}.faq-wrap summary{cursor:pointer;font-weight:700;font-size:18px}.faq-wrap details p{line-height:1.7;color:#55514b;max-width:760px}.package-page .mobile-contact-quote{scroll-behavior:smooth}
@media(max-width:900px){.package-hero{min-height:650px}.package-hero-content{padding-top:150px;padding-bottom:65px}.package-facts .container{grid-template-columns:repeat(2,1fr)}.package-facts .container>div:nth-child(2){border-right:0}.package-facts .container>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}.package-explain,.package-form{grid-template-columns:1fr}.package-explain{gap:45px}.package-summary{position:static;grid-row:auto}.package-cards{grid-template-columns:1fr}.package-order{grid-template-columns:repeat(3,1fr)}}
@media(max-width:660px){.package-hero{min-height:620px}.package-hero img{object-position:center 52%}.package-hero-shade{background:linear-gradient(0deg,rgba(5,7,8,.96) 0%,rgba(5,7,8,.6) 70%,rgba(5,7,8,.35) 100%)}.package-hero-content{padding-top:125px;padding-bottom:42px}.language-links{margin-bottom:30px}.language-links a{font-size:10px;padding:7px 8px}.package-hero h1{font-size:48px;max-width:420px}.package-hero-content>p:not(.eyebrow){font-size:16px;max-width:410px}.package-hero .hero-actions{display:grid;grid-template-columns:1fr 1fr}.package-hero .btn{padding-left:12px;padding-right:12px;font-size:11px}.package-facts .container>div{padding:20px 14px}.package-facts strong{font-size:17px}.package-explain h2,.package-planner-section h2,.package-page .section-dark h2,.faq-wrap h2{font-size:38px}.package-explain>div>p:last-child,.package-intro{font-size:16px}.package-form fieldset{padding:20px 15px}.package-form legend{font-size:22px}.package-grid,.package-grid.compact,.package-order{grid-template-columns:1fr}.route-preview{grid-template-columns:1fr 1fr}.schedule-row{grid-template-columns:1fr 1fr}.schedule-leg{grid-column:1/-1;padding:0}.package-summary{padding:24px 20px}.package-price{font-size:54px}.package-page{padding-bottom:92px}}

/* Compact four-ride scheduling on phones without shrinking the tap targets. */
@media(max-width:660px),(max-width:960px) and (max-height:520px){
  .package-hero picture{top:-148px;bottom:auto;height:calc(100% + 148px)}
  .schedule-list{gap:0}
  .schedule-row{grid-template-columns:minmax(0,1.55fr) minmax(86px,.85fr);gap:6px 10px;width:100%;padding:8px 0 10px}
  .schedule-row:first-child{padding-top:0}
  .schedule-leg{line-height:1.25}
  .schedule-leg span{margin-bottom:3px}
  .package-form .schedule-row label{gap:4px;font-size:12px}
  .package-form .schedule-row input{box-sizing:border-box;height:42px!important;min-height:42px!important;max-height:42px;padding:3px 8px!important;font-size:15px;line-height:1}
  .package-form .schedule-row input:focus{outline:none;border-color:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
}

/* Language choices remain touch-safe on tablet and desktop as well as phone. */
.package-page .language-links a{display:inline-flex;min-height:44px;align-items:center;font-size:12px}
.package-page .faq-wrap summary{display:flex;min-height:44px;align-items:center;padding-block:10px;line-height:1.4}

/* Crawlable, descriptive route links for visitors who need fewer than four rides. */
.package-related{border-top:1px solid #d7cdbd}
.package-related h2{max-width:850px;margin:0 0 14px;font-family:var(--font-display,Georgia,serif);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.05;letter-spacing:-.025em;color:#111518}
.package-related p{max-width:760px;margin:0;color:#55514b;font-size:17px;line-height:1.65}
.package-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}
.package-related-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:13px 16px;border:1px solid #d2c7b7;color:#2f2b25;font-weight:700;line-height:1.35}
.package-related-links a:hover,.package-related-links a:focus-visible{border-color:#9d7027;background:#fbf6ed;color:#7a541d}
.package-related-links span{color:#9d7027;font-size:20px}

/* Touch-friendly Google address suggestions for the package planner. */
.package-address-shell{position:relative;width:100%;min-width:0}
.package-address-input{display:block;width:100%}
.package-address-shell.address-typed .package-address-input{border-color:#bd8f47}
.package-address-shell.address-selected .package-address-input{border-color:#72b986;box-shadow:inset 0 0 0 1px rgba(114,185,134,.18)}
.package-address-suggestions{position:absolute;z-index:10020;top:calc(100% + 3px);left:0;width:100%;max-height:min(310px,42vh);overflow-y:auto;box-sizing:border-box;border:1px solid #d7d2ca;background:#fff;color:#17191b;box-shadow:0 16px 36px rgba(0,0,0,.34)}
.package-address-suggestions[hidden]{display:none}
.package-address-suggestion{display:grid;width:100%;min-height:58px;gap:3px;padding:10px 13px;border:0;border-bottom:1px solid #ece8e1;background:#fff;color:#17191b;text-align:left;cursor:pointer}
.package-address-suggestion:hover,.package-address-suggestion.active{background:#f2eee7}
.package-address-suggestion strong,.package-address-suggestion span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.package-address-suggestion strong{font-size:14px;line-height:1.35}
.package-address-suggestion span{color:#69645d;font-size:12px;line-height:1.35}
.package-address-brand{display:flex;min-height:28px;align-items:center;justify-content:flex-end;padding:5px 10px;background:#fff;color:#69645d;font-size:11px}
.package-address-hint{display:block;margin-top:6px;color:#d8b66d;font-size:12px;line-height:1.4}
.package-address-hint[hidden]{display:none}
.package-address-shell.address-selected .package-address-hint{color:#86d19b}
@media(max-width:660px){
  .package-related h2{font-size:34px}
  .package-related p{font-size:16px}
  .package-related-links{grid-template-columns:1fr;margin-top:20px}
  .package-address-suggestions{max-height:min(280px,38vh)}
  .package-address-suggestion{min-height:56px;padding:9px 11px}
}

/* Mobile package checkout: three short stages, touch-safe scheduling and a
   compact value summary. Desktop continues to use the complete two-column form. */
.package-mobile-progress,
.package-mobile-actions,
.package-child-seat-toggle{display:none}

@media(max-width:660px),(max-width:960px) and (max-height:520px){
  body.package-page.package-planner-active .mobile-contact-actions{display:none!important}
  body.package-page.package-planner-active{padding-bottom:18px}

  body.package-mobile-flow .package-form{gap:12px}
  body.package-mobile-flow .package-mobile-progress{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    width:100%;
    margin:0 0 12px;
    padding:5px;
    border:1px solid rgba(217,173,90,.32);
    background:#0f1316;
  }
  body.package-mobile-flow .package-mobile-progress button{
    min-height:44px;
    padding:5px 4px;
    border:1px solid transparent;
    color:#bbb6ae;
    background:transparent;
    font:800 12px/1.25 Arial,sans-serif;
  }
  body.package-mobile-flow .package-mobile-progress button[aria-current="step"]{
    border-color:#d9ad5a;
    color:#0b0d0f;
    background:#e0b565;
  }
  body.package-mobile-flow .package-mobile-progress button:disabled{opacity:.46}

  body.package-mobile-flow [data-package-step-section]{display:none!important}
  body.package-mobile-flow[data-package-current-step="1"] [data-package-step-section="1"],
  body.package-mobile-flow[data-package-current-step="2"] [data-package-step-section="2"],
  body.package-mobile-flow[data-package-current-step="3"] [data-package-step-section="3"]{display:block!important}

  body.package-mobile-flow .package-form-main{gap:12px}
  body.package-mobile-flow .package-mobile-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:2px;
  }
  body.package-mobile-flow[data-package-current-step="1"] .package-mobile-actions,
  body.package-mobile-flow[data-package-current-step="3"] .package-mobile-actions{grid-template-columns:1fr}
  body.package-mobile-flow .package-mobile-actions button{
    min-height:46px;
    padding:8px 12px;
    border:1px solid #b9904d;
    font:800 12px/1 Arial,sans-serif;
    letter-spacing:.05em;
  }
  body.package-mobile-flow .package-mobile-next{color:#0b0d0f;background:#e0b565}
  body.package-mobile-flow .package-mobile-back{color:#e5d8bc;background:transparent}
  body.package-mobile-flow[data-package-current-step="3"] .package-mobile-back{
    width:auto;
    min-height:44px;
    justify-self:start;
    padding:0 8px;
    border-color:transparent;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  body.package-mobile-flow .package-mobile-actions button[hidden]{display:none!important}
  body.package-mobile-flow .package-step-error{
    margin:0;
    padding:11px 12px;
    border-left:3px solid #df805f;
    color:#ffd4c6;
    background:#321a13;
    font-size:13px;
    line-height:1.45;
  }
  body.package-mobile-flow .package-step-error[hidden]{display:none!important}

  body.package-mobile-flow .package-child-seat-toggle{
    display:flex;
    width:100%;
    min-height:46px;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
    padding:8px 12px;
    border:1px solid rgba(240,206,132,.55);
    color:#f7e1ad;
    background:#19160f;
    font:800 13px/1.3 Arial,sans-serif;
    text-align:left;
  }
  body.package-mobile-flow .package-child-seat-toggle::after{content:"+";font-size:20px;font-weight:400}
  body.package-mobile-flow .package-child-seat-toggle[aria-expanded="true"]::after{content:"−"}
  body.package-mobile-flow .package-grid[hidden],
  body.package-mobile-flow .field-note[hidden]{display:none!important}

  .package-form .schedule-row input{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    font-size:16px!important;
  }

  body.package-mobile-flow .package-summary{
    padding:18px 16px;
  }
  body.package-mobile-flow .package-summary>.eyebrow{margin:0 0 6px}
  body.package-mobile-flow .package-price{
    margin:7px 0 12px;
    font-size:46px;
  }
  body.package-page.package-mobile-flow .package-summary .package-seat-perk{
    gap:3px;
    margin:0 0 10px;
    padding:10px 12px;
  }
  body.package-page.package-mobile-flow .package-summary .package-seat-perk strong{font-size:16px}
  body.package-page.package-mobile-flow .package-summary .package-seat-perk small{font-size:12px}
  body.package-mobile-flow .package-summary dl{margin:0 0 8px}
  body.package-mobile-flow .package-summary dl>div{padding:7px 0}
  body.package-mobile-flow .package-summary .summary-total{font-size:18px}
  body.package-mobile-flow .package-summary>p{margin:8px 0;font-size:12px;line-height:1.45}
  body.package-mobile-flow .package-summary .btn{min-height:48px;margin:8px 0;font-size:12px}
  body.package-mobile-flow .package-summary .pay-note{display:none}
}

/* Keep every phone label readable without enlarging the compact controls. */
@media(max-width:660px),(max-width:960px) and (max-height:520px){
  .package-page :is(.eyebrow,.schedule-leg span,.package-form label,.field-note,.route-preview span,.package-address-brand){font-size:12px!important;line-height:1.4}
  .package-page :is(.package-mobile-progress button,.package-mobile-actions button,.package-child-seat-toggle){min-height:44px;font-size:12px!important}
  .package-page .language-links a{display:inline-flex;min-height:40px;align-items:center;font-size:12px!important}
  .package-page .package-hero .btn{min-height:48px;font-size:12px!important;line-height:1.25}
}

/* Final all-device accessibility floor for language and FAQ controls. */
.package-page .language-links a{min-height:44px!important;font-size:12px!important}
.package-page .faq-wrap summary{min-height:44px}
