:root {
      --navy: #0E2439;
      --navy-deep: #091724;
      --navy-soft: #16334E;
      --orange: #E97324;
      --orange-dk: #CB5F16;
      --orange-lt: #FFF3EA;
      --cream: #F6F4F1;
      --line: #E2DDD6;
      --ink: #16202B;
      --muted: #5E6E7C;
      --white: #fff;
      --green: #2E7D5B;
      --r: 10px;
      --maxw: 1180px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth
    }

    body {
      font-family: 'Barlow', system-ui, sans-serif;
      color: var(--ink);
      background: var(--cream);
      line-height: 1.55;
      -webkit-font-smoothing: antialiased
    }

    h1,
    h2,
    h3,
    h4,
    .cond {
      font-family: 'Barlow Condensed', sans-serif;
      text-transform: uppercase;
      line-height: .98;
      letter-spacing: .01em
    }

    img {
      max-width: 100%;
      display: block
    }

    a {
      color: inherit;
      text-decoration: none
    }

    .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 22px
    }

    .narrow {
      max-width: 860px
    }

    body.summer .winterOnly {
      display: none !important
    }

    body.winter .summerOnly {
      display: none !important
    }

    .verify {
      font: 700 9px/1 'Barlow', sans-serif;
      background: #1E6BD6;
      color: #fff;
      padding: 3px 5px;
      border-radius: 3px;
      letter-spacing: .08em;
      text-transform: uppercase;
      vertical-align: middle
    }

    /* ---------- photo placeholders ---------- */
    .ph {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(120% 90% at 20% 10%, #2C5578 0%, transparent 60%),
        radial-gradient(120% 100% at 90% 90%, #C9631C 0%, transparent 55%),
        linear-gradient(160deg, #0E2439 0%, #1B3C5A 55%, #0B1E30 100%)
    }

    .ph.alt {
      background:
        radial-gradient(120% 90% at 80% 15%, #3A6A8E 0%, transparent 60%),
        radial-gradient(110% 100% at 10% 90%, #A8511A 0%, transparent 55%),
        linear-gradient(200deg, #11293F 0%, #20475F 60%, #0A1A28 100%)
    }

    .ph.snow {
      background:
        radial-gradient(120% 90% at 30% 10%, #7FA6C4 0%, transparent 62%),
        radial-gradient(110% 100% at 85% 85%, #C9631C 0%, transparent 45%),
        linear-gradient(170deg, #1B3B57 0%, #24506F 55%, #0C2135 100%)
    }

    .ph::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background-repeat: no-repeat;
      background-position: bottom center;
      background-size: 100% 58%;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'><path d='M0 400V250l130-105 95 62 118-118 140 150 122-82 165 118 140-70 150 92v103z' fill='%23000' opacity='.30'/><path d='M0 400V300l150-88 120 66 130-72 160 96 140-52 180 84 160-46 160 62v50z' fill='%23000' opacity='.45'/></svg>")
    }

    .ph .phl {
      position: absolute;
      left: 12px;
      bottom: 10px;
      z-index: 3;
      color: rgba(255, 255, 255, .6);
      font: 600 9.5px/1.35 'Barlow', sans-serif;
      letter-spacing: .09em;
      text-transform: uppercase;
      max-width: 84%
    }

    /* real photo, when the file exists — drops straight over the placeholder art */
    .ph .phi {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 2
    }

    .ph:has(.phi)::after {
      display: none
    }

    body.hide-notes .ph .phl {
      display: none
    }

    .ridge {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 46%;
      z-index: 1;
      opacity: .5
    }

    /* ---------- buttons ---------- */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: var(--orange);
      color: #fff;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .045em;
      font-size: 16px;
      padding: 13px 22px;
      border-radius: 6px;
      border: 0;
      cursor: pointer;
      transition: background .16s
    }

    .btn:hover {
      background: var(--orange-dk)
    }

    .btn.ghost {
      background: transparent;
      border: 2px solid rgba(255, 255, 255, .5);
      padding: 11px 20px
    }

    .btn.ghost:hover {
      background: rgba(255, 255, 255, .12)
    }

    .btn.dark {
      background: var(--navy)
    }

    .btn.dark:hover {
      background: var(--navy-soft)
    }

    .btn.out {
      background: #fff;
      color: var(--navy);
      border: 1.5px solid var(--line)
    }

    .btn.out:hover {
      background: var(--cream)
    }

    .btn.sm {
      font-size: 14px;
      padding: 10px 17px
    }

    .btn.lg {
      font-size: 19px;
      padding: 16px 30px
    }

    .btn:disabled {
      opacity: .4;
      cursor: not-allowed
    }

    /* ---------- header ---------- */
    header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--navy);
      border-bottom: 1px solid rgba(255, 255, 255, .09)
    }

    .hdr {
      display: flex;
      align-items: center;
      gap: 22px;
      height: 74px
    }

    .logo {
      display: flex;
      flex-direction: column;
      line-height: .9;
      flex-shrink: 0
    }

    .logo .lw {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 31px;
      color: #fff;
      letter-spacing: .015em
    }

    .logo .ls {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 12.5px;
      color: var(--orange);
      letter-spacing: .22em
    }

    .logo svg {
      margin-bottom: 2px
    }

    nav {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 19px
    }

    nav a {
      color: #fff;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 600;
      font-size: 15.5px;
      text-transform: uppercase;
      letter-spacing: .05em;
      white-space: nowrap;
      opacity: .93;
      transition: color .15s
    }

    nav a:hover,
    nav a.on {
      color: var(--orange)
    }

    nav a .car {
      font-size: 9px;
      opacity: .6;
      margin-left: 3px
    }

    .drop {
      position: relative
    }

    .dmenu {
      position: absolute;
      top: 34px;
      left: -14px;
      background: #fff;
      border-radius: 8px;
      padding: 8px;
      box-shadow: 0 12px 34px rgba(9, 23, 36, .22);
      display: none;
      flex-direction: column;
      min-width: 200px
    }

    .drop:hover .dmenu {
      display: flex
    }

    .dmenu a {
      color: var(--ink);
      padding: 9px 12px;
      border-radius: 5px;
      font-size: 15px
    }

    .dmenu a:hover {
      background: var(--cream);
      color: var(--orange)
    }

    .navBtn {
      background: var(--orange);
      padding: 10px 18px;
      border-radius: 6px
    }

    .navBtn:hover {
      background: var(--orange-dk);
      color: #fff !important
    }

    .burger {
      display: none;
      margin-left: auto;
      background: 0;
      border: 0;
      color: #fff;
      font-size: 24px;
      cursor: pointer
    }

    .mobileNav {
      display: none;
      flex-direction: column;
      background: var(--navy-soft);
      padding: 8px 22px 18px
    }

    .mobileNav a {
      color: #fff;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 600;
      font-size: 17px;
      text-transform: uppercase;
      letter-spacing: .05em;
      padding: 11px 0;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
    }

    .mobileNav a.mb {
      background: var(--orange);
      text-align: center;
      border-radius: 6px;
      margin-top: 12px;
      border: 0
    }

    body.mopen .mobileNav {
      display: flex
    }

    
    /* ---------- hero (home) ---------- */
    .hero {
      position: relative;
      min-height: 600px;
      display: flex;
      align-items: center;
      color: #fff
    }

    .heroBg {
      position: absolute;
      inset: 0;
      z-index: 0
    }

    .heroBg::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 3;
      background: linear-gradient(92deg, rgba(9, 23, 36, .93) 0%, rgba(9, 23, 36, .74) 42%, rgba(9, 23, 36, .22) 78%)
    }

    .heroIn {
      position: relative;
      z-index: 5;
      width: 100%;
      padding-top: 62px;
      padding-bottom: 70px
    }

    .eyebrow {
      color: var(--orange);
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 19px;
      letter-spacing: .14em;
      text-transform: uppercase;
      margin-bottom: 8px
    }

    .hero h1 {
      font-size: clamp(42px, 6.1vw, 74px);
      font-weight: 800;
      max-width: 13ch;
      margin-bottom: 6px
    }

    .hero h1 em {
      display: block;
      color: var(--orange);
      font-style: italic;
      font-weight: 800
    }

    .hero p.sub {
      font-size: 18px;
      max-width: 36ch;
      margin: 16px 0 26px;
      color: rgba(255, 255, 255, .9)
    }

    /* ---------- page banner (interior) ---------- */
    .banner {
      position: relative;
      color: #fff;
      min-height: 290px;
      display: flex;
      align-items: flex-end
    }

    .banner .ph {
      position: absolute;
      inset: 0
    }

    .banner::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient(80deg, rgba(9, 23, 36, .94) 0%, rgba(9, 23, 36, .74) 50%, rgba(9, 23, 36, .34) 100%)
    }

    .bannerIn {
      position: relative;
      z-index: 3;
      width: 100%;
      padding-top: 46px;
      padding-bottom: 40px
    }

    .crumb {
      font: 600 11.5px/1 'Barlow', sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .6);
      margin-bottom: 12px
    }

    .crumb a:hover {
      color: var(--orange)
    }

    .banner h1 {
      font-size: clamp(34px, 5vw, 54px);
      font-weight: 800;
      max-width: 18ch
    }

    .banner h1 em {
      color: var(--orange);
      font-style: italic
    }

    .banner p {
      font-size: 17.5px;
      color: rgba(255, 255, 255, .86);
      max-width: 56ch;
      margin-top: 13px
    }

    /* ---------- trust bar ---------- */
    .trust {
      position: relative;
      z-index: 5;
      background: rgba(9, 23, 36, .62);
      backdrop-filter: blur(3px);
      border-top: 1px solid rgba(255, 255, 255, .12);
      border-bottom: 1px solid rgba(255, 255, 255, .12)
    }

    .trustIn {
      display: flex;
      flex-wrap: wrap;
      gap: 34px;
      padding-top: 16px;
      padding-bottom: 62px
    }

    .tItem {
      display: flex;
      align-items: center;
      gap: 10px;
      color: #fff
    }

    .tItem svg {
      flex-shrink: 0;
      opacity: .92
    }

    .tItem span {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 13.5px;
      text-transform: uppercase;
      letter-spacing: .055em;
      line-height: 1.15
    }

    /* ---------- reservation widget ---------- */
    .resWrap {
      position: relative;
      margin-top: -42px;
      z-index: 20
    }

    .res {
      background: #fff;
      border-radius: var(--r);
      box-shadow: 0 14px 40px rgba(9, 23, 36, .19);
      display: grid;
      grid-template-columns: repeat(4, 1fr) auto;
      align-items: stretch;
      overflow: hidden
    }

    .rf {
      padding: 14px 18px;
      border-right: 1px solid var(--line);
      min-width: 0
    }

    .rf label {
      display: block;
      font: 600 9.5px/1 'Barlow', sans-serif;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 6px
    }

    .rf .val {
      display: flex;
      align-items: center;
      gap: 7px;
      font-weight: 600;
      font-size: 15px;
      color: var(--ink)
    }

    .rf .val svg {
      flex-shrink: 0
    }

    .res .btn {
      border-radius: 0;
      padding: 0 30px;
      font-size: 17px;
      justify-content: center
    }

    .resNote {
      text-align: center;
      font-size: 13.5px;
      color: var(--muted);
      padding-top: 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap
    }

    .resNote b {
      color: var(--ink)
    }

    /* ---------- sections ---------- */
    section {
      padding: 64px 0
    }

    section.tight {
      padding: 44px 0
    }

    section.white {
      background: #fff;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line)
    }

    section.navy {
      background: var(--navy);
      color: #fff
    }

    section.navy .sHead h2 {
      color: #fff
    }

    section.navy .sHead p {
      color: rgba(255, 255, 255, .75)
    }

    .sHead {
      margin-bottom: 30px
    }

    .sHead h2 {
      font-size: clamp(28px, 3.6vw, 40px);
      font-weight: 800
    }

    .sHead h2 em {
      color: var(--orange);
      font-style: italic
    }

    .sHead p {
      color: var(--muted);
      font-size: 16.5px;
      margin-top: 9px;
      max-width: 60ch
    }

    .sHead .kicker {
      color: var(--orange);
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: .15em;
      text-transform: uppercase;
      margin-bottom: 7px
    }

    .sHead.ctr {
      text-align: center
    }

    .sHead.ctr p {
      margin-left: auto;
      margin-right: auto
    }

    /* ---------- adventure cards ---------- */
    .adv {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px
    }

    .advC {
      position: relative;
      border-radius: var(--r);
      overflow: hidden;
      min-height: 340px;
      display: flex;
      align-items: flex-end;
      color: #fff
    }

    .advC .ph {
      position: absolute;
      inset: 0
    }

    .advC::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient(to top, rgba(9, 23, 36, .94) 8%, rgba(9, 23, 36, .34) 62%, transparent 100%)
    }

    .advBody {
      position: relative;
      z-index: 3;
      padding: 24px
    }

    .advBody h3 {
      font-size: 29px;
      font-weight: 800;
      margin-bottom: 8px
    }

    .advBody p {
      font-size: 15px;
      color: rgba(255, 255, 255, .88);
      margin-bottom: 15px;
      max-width: 30ch
    }

    .tag {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 3;
      background: var(--orange);
      color: #fff;
      font: 700 11px/1 'Barlow Condensed', sans-serif;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 6px 10px;
      border-radius: 4px
    }

    /* ---------- gear category cards ---------- */
    .gear {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px
    }

    .gearC {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden;
      display: flex;
      flex-direction: column
    }

    .gearC .ph {
      aspect-ratio: 16/10
    }

    .gearBody {
      padding: 22px;
      display: flex;
      flex-direction: column;
      flex: 1
    }

    .gearBody h3 {
      font-size: 23px;
      font-weight: 800;
      margin-bottom: 7px
    }

    .gearBody .who {
      font-size: 13px;
      color: var(--orange);
      font-weight: 600;
      margin-bottom: 9px;
      text-transform: uppercase;
      letter-spacing: .07em
    }

    .gearBody p {
      font-size: 15px;
      color: var(--muted);
      margin-bottom: 14px
    }

    .specs {
      list-style: none;
      margin-bottom: 16px
    }

    .specs li {
      display: flex;
      gap: 8px;
      font-size: 14px;
      padding: 3px 0;
      color: var(--muted)
    }

    .specs svg {
      flex-shrink: 0;
      margin-top: 4px
    }

    .priceRow {
      margin-top: auto;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 12px;
      border-top: 1px solid var(--line);
      padding-top: 15px
    }

    .priceRow .pr {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 27px;
      line-height: 1
    }

    .priceRow .pr small {
      display: block;
      font-family: 'Barlow', sans-serif;
      font-weight: 500;
      font-size: 11.5px;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: .09em;
      margin-top: 4px
    }

    /* ---------- pricing table ---------- */
    .ptable {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden
    }

    table {
      width: 100%;
      border-collapse: collapse
    }

    thead th {
      background: var(--navy);
      color: #fff;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 14.5px;
      text-transform: uppercase;
      letter-spacing: .07em;
      text-align: left;
      padding: 14px 18px
    }

    thead th:not(:first-child) {
      text-align: center
    }

    tbody td {
      padding: 13px 18px;
      border-bottom: 1px solid var(--line);
      font-size: 15px
    }

    tbody td:not(:first-child) {
      text-align: center;
      font-weight: 600
    }

    tbody tr:last-child td {
      border-bottom: 0
    }

    tbody tr:nth-child(even) {
      background: #FAF9F7
    }

    td .sub {
      display: block;
      font-size: 12.5px;
      color: var(--muted);
      font-weight: 400
    }

    .tableNote {
      font-size: 13.5px;
      color: var(--muted);
      margin-top: 12px;
      display: flex;
      gap: 8px;
      align-items: flex-start
    }

    .tableNote svg {
      flex-shrink: 0;
      margin-top: 3px
    }

    /* ---------- feature block ---------- */
    .feat {
      background: var(--navy);
      color: #fff;
      border-radius: var(--r);
      overflow: hidden;
      display: grid;
      grid-template-columns: 1.05fr 1fr
    }

    .feat.rev {
      grid-template-columns: 1fr 1.05fr
    }

    .feat.rev .ph {
      order: 2
    }

    .feat .ph {
      min-height: 100%
    }

    .featBody {
      padding: 44px
    }

    .featBody h2 {
      font-size: clamp(28px, 3.4vw, 40px);
      font-weight: 800;
      margin-bottom: 14px
    }

    .featBody h2 em {
      color: var(--orange);
      font-style: italic
    }

    .featBody p {
      color: rgba(255, 255, 255, .85);
      font-size: 16px;
      margin-bottom: 16px
    }

    .freeBadge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(233, 115, 36, .16);
      border: 1px solid rgba(233, 115, 36, .5);
      color: #FFBE8A;
      border-radius: 40px;
      padding: 7px 15px;
      font: 700 13px/1 'Barlow Condensed', sans-serif;
      letter-spacing: .09em;
      text-transform: uppercase;
      margin-bottom: 16px
    }

    .permit {
      margin-top: 20px;
      background: rgba(255, 255, 255, .07);
      border-left: 3px solid var(--orange);
      padding: 13px 16px;
      border-radius: 0 6px 6px 0;
      font-size: 13.5px;
      color: rgba(255, 255, 255, .82)
    }

    .permit b {
      color: #fff;
      display: block;
      font-size: 12px;
      letter-spacing: .06em;
      text-transform: uppercase;
      margin-bottom: 3px
    }

    /* ---------- steps ---------- */
    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px
    }

    .step {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 26px;
      position: relative
    }

    .stepN {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--orange);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 21px;
      margin-bottom: 15px
    }

    .step h3 {
      font-size: 21px;
      font-weight: 800;
      margin-bottom: 8px
    }

    .step p {
      font-size: 15px;
      color: var(--muted)
    }

    /* ---------- callouts ---------- */
    .noQuote {
      background: var(--orange-lt);
      border: 1px dashed #F0BC93;
      border-radius: 7px;
      padding: 15px 17px;
      font-size: 14.5px;
      color: #8A4A16;
      margin-bottom: 18px
    }

    .noQuote b {
      display: block;
      margin-bottom: 4px;
      font-size: 15px
    }

    .callout {
      background: #fff;
      border: 1px solid var(--line);
      border-left: 4px solid var(--orange);
      border-radius: 0 var(--r) var(--r) 0;
      padding: 20px 24px;
      margin: 20px 0
    }

    .callout h4 {
      font-size: 17px;
      font-weight: 800;
      margin-bottom: 7px
    }

    .callout p {
      font-size: 15px;
      color: var(--muted)
    }

    .svcList {
      list-style: none;
      margin: 0 0 20px
    }

    .svcList li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      padding: 7px 0;
      font-size: 15.5px
    }

    .svcList svg {
      flex-shrink: 0;
      margin-top: 3px
    }

    /* ---------- reviews ---------- */
    .revTop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
      margin-bottom: 26px
    }

    .gScore {
      display: flex;
      align-items: center;
      gap: 12px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 44px;
      padding: 9px 20px 9px 12px
    }

    .gScore .num {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 27px
    }

    .stars {
      color: var(--orange);
      letter-spacing: 1px;
      font-size: 15px
    }

    .revs {
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      gap: 16px
    }

    .rev {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      padding-bottom: 60px;
    }

    .rev .q {
      color: var(--orange);
      font-size: 40px;
      line-height: .6;
      font-family: Georgia, serif;
      margin-bottom: 10px;
      display: block
    }

    .rev p {
      font-size: 15.5px;
      margin-bottom: 14px
    }

    .rev .who {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 14px;
      color: var(--muted)l;
      position: absolute;
      bottom: 20px;
      width: calc(100% - 48px);
    }

    .rev .who b {
      color: var(--ink)
    }

    /* ---------- locations ---------- */
    .loc {
      display: grid;
      grid-template-columns: 1fr 1.25fr;
      gap: 18px
    }

    .mapPh {
      border-radius: var(--r);
      overflow: hidden;
      min-height: 400px;
      position: relative;
      background: linear-gradient(150deg, #E8EEE6, #DCE6DD 50%, #E6EAE2)
    }

    .mapPh .road {
      position: absolute;
      background: #fff;
      height: 5px;
      border-radius: 3px;
      box-shadow: 0 0 0 1px #CBD5C9
    }

    .pin {
      position: absolute;
      transform: translate(-50%, -100%);
      text-align: center
    }

    .pin .pl {
      font: 700 12px/1 'Barlow Condensed', sans-serif;
      text-transform: uppercase;
      letter-spacing: .06em;
      color: var(--navy);
      margin-top: 2px;
      text-shadow: 0 1px 3px #fff
    }

    .mapTag {
      position: absolute;
      left: 12px;
      bottom: 10px;
      font: 600 9.5px/1 'Barlow', sans-serif;
      letter-spacing: .09em;
      text-transform: uppercase;
      color: #7B8A79
    }

    .locCards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px
    }

    .locC {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      display: flex;
      flex-direction: column
    }

    .locC h3 {
      font-size: 22px;
      font-weight: 800;
      margin-bottom: 3px;
      display: flex;
      align-items: center;
      gap: 7px
    }

    .locC .addr {
      font-size: 14.5px;
      color: var(--muted);
      margin-bottom: 14px
    }

    .hoursBox {
      background: var(--cream);
      border-radius: 7px;
      padding: 13px 15px;
      margin-bottom: 14px
    }

    .hoursBox .hl {
      font: 700 10px/1 'Barlow', sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 7px;
      display: flex;
      align-items: center;
      gap: 6px
    }

    .hoursBox .hr2 {
      display: flex;
      justify-content: space-between;
      font-size: 14.5px;
      padding: 3px 0
    }

    .hoursBox .hr2 b {
      font-weight: 600
    }

    .locC ul {
      list-style: none;
      margin-bottom: 16px
    }

    .locC ul li {
      display: flex;
      gap: 8px;
      font-size: 14.5px;
      padding: 4px 0;
      color: var(--muted)
    }

    .locC .btn {
      margin-top: auto;
      align-self: flex-start
    }

    .closedTag {
      font-size: 12px;
      background: #F2E9E9;
      color: #8B4646;
      padding: 3px 8px;
      border-radius: 4px;
      font-weight: 600
    }

    /* ---------- promo ---------- */
    .promo {
      background: var(--navy);
      border-radius: var(--r);
      padding: 26px 34px;
      display: flex;
      align-items: center;
      gap: 26px;
      color: #fff;
      position: relative;
      overflow: hidden;
      flex-wrap: wrap
    }

    .promo::after {
      content: "";
      position: absolute;
      right: -30px;
      bottom: -40px;
      width: 280px;
      height: 170px;
      background: linear-gradient(to top, rgba(255, 255, 255, .07), transparent);
      clip-path: polygon(0 100%, 22% 34%, 38% 62%, 58% 10%, 78% 52%, 100% 22%, 100% 100%)
    }

    .promo .big {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 44px;
      color: var(--orange);
      line-height: .9
    }

    .promo .txt {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 20px;
      text-transform: uppercase;
      letter-spacing: .03em;
      line-height: 1.15;
      max-width: 34ch
    }

    .promo .btn {
      margin-left: auto;
      position: relative;
      z-index: 2
    }

    .seasonOnly {
      font: 600 10px/1 'Barlow', sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
      background: rgba(255, 255, 255, .14);
      padding: 5px 9px;
      border-radius: 4px;
      margin-top: 8px;
      display: inline-block
    }

    /* ---------- panels / two-up ---------- */
    .two {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px
    }

    .three {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px
    }

    .four {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px
    }

    .panel {
      border-radius: var(--r);
      overflow: hidden;
      position: relative;
      min-height: 300px;
      display: flex;
      align-items: flex-end;
      color: #fff
    }

    .panel .ph {
      position: absolute;
      inset: 0
    }

    .panel::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient(to top, rgba(9, 23, 36, .95) 10%, rgba(9, 23, 36, .4) 60%, transparent)
    }

    .panelBody {
      position: relative;
      z-index: 3;
      padding: 28px
    }

    .panelBody h3 {
      font-size: 27px;
      font-weight: 800;
      margin-bottom: 8px
    }

    .panelBody p {
      font-size: 15px;
      color: rgba(255, 255, 255, .87);
      margin-bottom: 15px;
      max-width: 38ch
    }

    .mini {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 14px
    }

    .mini span {
      background: rgba(255, 255, 255, .14);
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 4px;
      padding: 5px 10px;
      font: 600 12px/1 'Barlow', sans-serif
    }

    /* ---------- guide cards ---------- */
    .guideC {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden;
      display: flex;
      flex-direction: column
    }

    .guideC .ph {
      aspect-ratio: 16/9
    }

    .guideB {
      padding: 20px;
      display: flex;
      flex-direction: column;
      flex: 1
    }

    .guideB h3 {
      font-size: 20px;
      font-weight: 800;
      margin-bottom: 6px
    }

    .guideB p {
      font-size: 14.5px;
      color: var(--muted);
      margin-bottom: 13px
    }

    .meta {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: auto;
      padding-top: 13px;
      border-top: 1px solid var(--line)
    }

    .meta div {
      font-size: 12.5px;
      color: var(--muted)
    }

    .meta div b {
      display: block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 16px;
      color: var(--ink);
      text-transform: uppercase;
      letter-spacing: .04em
    }

    .pill {
      display: inline-block;
      background: var(--orange-lt);
      color: #8A4A16;
      border-radius: 20px;
      padding: 4px 11px;
      font: 600 11.5px/1 'Barlow', sans-serif;
      letter-spacing: .05em;
      text-transform: uppercase;
      margin-bottom: 9px
    }

    .pill.g {
      background: #E8F3ED;
      color: #245C43
    }

    .pill.b {
      background: #E9F0F7;
      color: #2A4E73
    }

    /* ---------- gallery ---------- */
    .gal {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 3px
    }

    .gal .ph {
      aspect-ratio: 1/1.05
    }

    /* ---------- forms ---------- */
    .field {
      margin-bottom: 16px
    }

    .field label {
      display: block;
      font: 600 11px/1 'Barlow', sans-serif;
      letter-spacing: .11em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 7px
    }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      border: 1.5px solid var(--line);
      border-radius: 7px;
      padding: 12px 14px;
      font-family: 'Barlow', sans-serif;
      font-size: 15.5px;
      color: var(--ink);
      background: #fff
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      outline: 0;
      border-color: var(--orange)
    }

    .field textarea {
      min-height: 110px;
      resize: vertical
    }

    .field .hint {
      font-size: 13px;
      color: var(--muted);
      margin-top: 6px
    }

    .fieldRow {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
    }

    .formCard {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 30px
    }

    .formCard h3 {
      font-size: 23px;
      font-weight: 800;
      margin-bottom: 6px
    }

    .formCard>p.lead {
      color: var(--muted);
      font-size: 15px;
      margin-bottom: 20px
    }

    /* ---------- reservation builder ---------- */
    /* no align-items:start — the aside must stretch to full row height or position:sticky
    releases as soon as its own short content ends */
    .resGrid {
      display: grid;
      grid-template-columns: 1fr 348px;
      gap: 22px
    }

    .stepBar {
      display: flex;
      gap: 6px;
      margin-bottom: 24px;
      flex-wrap: wrap
    }

    .stepBar div {
      flex: 1;
      min-width: 96px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 10px 12px;
      font: 600 11px/1.3 'Barlow', sans-serif;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--muted)
    }

    .stepBar div b {
      display: block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 15px;
      color: var(--ink);
      letter-spacing: .03em;
      margin-top: 2px
    }

    .stepBar div.on {
      border-color: var(--orange);
      background: var(--orange-lt)
    }

    .stepBar div.on b {
      color: var(--orange-dk)
    }

    .block {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 26px;
      margin-bottom: 18px
    }

    .blockH {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px
    }

    .blockH .n {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: var(--navy);
      color: #fff;
      flex-shrink: 0;
      display: grid;
      place-items: center;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 16px
    }

    .blockH h3 {
      font-size: 21px;
      font-weight: 800
    }

    .blockH p {
      font-size: 13.5px;
      color: var(--muted);
      margin-top: 2px;
      text-transform: none;
      font-family: 'Barlow', sans-serif;
      letter-spacing: 0
    }

    .pickGrid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px
    }

    .pick {
      border: 1.5px solid var(--line);
      border-radius: 9px;
      overflow: hidden;
      cursor: pointer;
      background: #fff;
      display: flex;
      gap: 0;
      transition: border-color .15s, box-shadow .15s;
      text-align: left;
      padding: 0;
      font-family: inherit
    }

    .pick:hover {
      border-color: #C9C2B8
    }

    .pick.on {
      border-color: var(--orange);
      box-shadow: 0 0 0 3px rgba(233, 115, 36, .14)
    }

    .pick .ph {
      width: 104px;
      flex-shrink: 0
    }

    .pickB {
      padding: 13px 15px;
      flex: 1;
      min-width: 0
    }

    .pickB .nm {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 18px;
      text-transform: uppercase;
      line-height: 1.05;
      margin-bottom: 3px
    }

    .pickB .ds {
      font-size: 13px;
      color: var(--muted);
      line-height: 1.4;
      margin-bottom: 7px
    }

    .pickB .pc {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 17px;
      color: var(--orange-dk)
    }

    .pickB .pc span {
      font-family: 'Barlow', sans-serif;
      font-weight: 500;
      font-size: 11.5px;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: .07em
    }

    .addons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 11px
    }

    .addon {
      display: flex;
      align-items: center;
      gap: 13px;
      border: 1.5px solid var(--line);
      border-radius: 8px;
      padding: 13px 15px;
      cursor: pointer;
      background: #fff;
      transition: border-color .15s
    }

    .addon:hover {
      border-color: #C9C2B8
    }

    .addon.on {
      border-color: var(--orange);
      background: var(--orange-lt)
    }

    .addon .bx {
      width: 21px;
      height: 21px;
      border: 2px solid var(--line);
      border-radius: 5px;
      flex-shrink: 0;
      display: grid;
      place-items: center;
      background: #fff
    }

    .addon.on .bx {
      background: var(--orange);
      border-color: var(--orange)
    }

    .addon .bx svg {
      opacity: 0
    }

    .addon.on .bx svg {
      opacity: 1
    }

    .addon .ainfo {
      flex: 1;
      min-width: 0;
      display: block;
      text-align: left
    }

    .addon .anm {
      display: block;
      font-weight: 600;
      font-size: 15px;
      line-height: 1.25
    }

    .addon .ads {
      display: block;
      font-size: 12.5px;
      color: var(--muted);
      line-height: 1.3;
      margin-top: 2px
    }

    .addon .apc small {
      font-family: 'Barlow', sans-serif;
      font-weight: 500;
      font-size: 11px;
      color: var(--muted)
    }

    .addon .apc {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 16px;
      white-space: nowrap
    }

    .soloNote {
      background: #EAF2F8;
      border: 1px solid #C6DCEC;
      border-radius: 7px;
      padding: 12px 15px;
      font-size: 13.5px;
      color: #245073;
      margin-bottom: 14px
    }

    .qty {
      display: flex;
      align-items: center;
      gap: 0;
      border: 1.5px solid var(--line);
      border-radius: 7px;
      overflow: hidden;
      width: fit-content
    }

    .qty button {
      width: 38px;
      height: 40px;
      border: 0;
      background: #fff;
      cursor: pointer;
      font-size: 18px;
      color: var(--ink);
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700
    }

    .qty button:hover {
      background: var(--cream)
    }

    .qty span {
      width: 44px;
      text-align: center;
      font-weight: 600;
      font-size: 16px;
      border-left: 1.5px solid var(--line);
      border-right: 1.5px solid var(--line);
      line-height: 40px
    }

    /* signature */
    .sigWrap {
      border: 1.5px dashed var(--line);
      border-radius: 9px;
      background: #FCFBFA;
      padding: 0;
      overflow: hidden
    }

    #sigPad {
      display: block;
      width: 100%;
      height: 150px;
      cursor: crosshair;
      touch-action: none
    }

    .sigBar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 14px;
      border-top: 1px solid var(--line);
      background: #fff;
      font-size: 13px;
      color: var(--muted)
    }

    .sigBar button {
      background: 0;
      border: 0;
      color: var(--orange-dk);
      font-weight: 600;
      font-size: 13px;
      cursor: pointer;
      text-decoration: underline
    }

    .waiverBox {
      background: var(--cream);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 16px 18px;
      max-height: 190px;
      overflow-y: auto;
      font-size: 13.5px;
      color: var(--muted);
      line-height: 1.65;
      margin-bottom: 16px
    }

    .waiverBox h4 {
      font-size: 14px;
      margin-bottom: 8px;
      color: var(--ink)
    }

    .waiverBox p {
      margin-bottom: 9px
    }

    .checkRow {
      display: flex;
      gap: 11px;
      align-items: flex-start;
      margin-bottom: 14px;
      cursor: pointer
    }

    .checkRow .bx {
      width: 21px;
      height: 21px;
      border: 2px solid var(--line);
      border-radius: 5px;
      flex-shrink: 0;
      display: grid;
      place-items: center;
      background: #fff;
      margin-top: 2px
    }

    .checkRow.on .bx {
      background: var(--orange);
      border-color: var(--orange)
    }

    .checkRow .bx svg {
      opacity: 0
    }

    .checkRow.on .bx svg {
      opacity: 1
    }

    .checkRow span {
      font-size: 14.5px
    }

    /* estimate sidebar */
    .est {
      position: sticky;
      top: 92px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden
    }

    .estH {
      background: var(--navy);
      color: #fff;
      padding: 17px 20px
    }

    .estH h3 {
      font-size: 19px;
      font-weight: 800
    }

    .estH p {
      font-size: 12.5px;
      color: rgba(255, 255, 255, .7);
      margin-top: 3px
    }

    .estB {
      padding: 18px 20px
    }

    .estRow {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 8px 0;
      font-size: 14.5px;
      border-bottom: 1px dashed var(--line)
    }

    .estRow:last-of-type {
      border-bottom: 0
    }

    .estRow .l {
      color: var(--muted);
      min-width: 0
    }

    .estRow .l b {
      color: var(--ink);
      font-weight: 600;
      display: block
    }

    .estRow .v {
      font-weight: 600;
      white-space: nowrap
    }

    .estRow.disc .v {
      color: var(--green)
    }

    .estTot {
      border-top: 2px solid var(--ink);
      margin-top: 12px;
      padding-top: 14px;
      display: flex;
      justify-content: space-between;
      align-items: baseline
    }

    .estTot .tl {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 20px;
      text-transform: uppercase
    }

    .estTot .tv {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 34px;
      color: var(--orange-dk)
    }

    .estFoot {
      background: var(--cream);
      border-top: 1px solid var(--line);
      padding: 15px 20px;
      font-size: 12.5px;
      color: var(--muted)
    }

    .estEmpty {
      color: var(--muted);
      font-size: 14px;
      font-style: italic;
      padding: 6px 0
    }

    .estWarn {
      background: #FFF8E8;
      border: 1px solid #F0DDA8;
      border-radius: 7px;
      padding: 12px 14px;
      font-size: 12.5px;
      color: #6E5312;
      margin: 14px 20px
    }

    /* print sheet */
    .sheet {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 0;
      overflow: hidden
    }

    .sheetH {
      background: var(--cream);
      border-bottom: 1px solid var(--line);
      padding: 14px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap
    }

    .sheetH .sl {
      font: 700 11px/1 'Barlow', sans-serif;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--muted)
    }

    .paper {
      padding: 30px;
      font-size: 13.5px
    }

    .paperTop {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      border-bottom: 2px solid var(--ink);
      padding-bottom: 14px;
      margin-bottom: 16px;
      gap: 20px;
      flex-wrap: wrap
    }

    .paperTop .pt {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 26px;
      text-transform: uppercase;
      line-height: 1
    }

    .paperTop .ptr {
      text-align: right;
      font-size: 12px;
      color: var(--muted)
    }

    .pgrid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      margin-bottom: 16px
    }

    .pgrid div .k {
      font: 700 9px/1 'Barlow', sans-serif;
      letter-spacing: .11em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 4px
    }

    .pgrid div .v {
      font-weight: 600;
      font-size: 14px
    }

    .ptbl {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 14px
    }

    .ptbl th {
      background: #F2EFEB;
      font: 700 9.5px/1 'Barlow', sans-serif;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--muted);
      text-align: left;
      padding: 8px 10px;
      border: 1px solid var(--line)
    }

    .ptbl td {
      padding: 8px 10px;
      border: 1px solid var(--line);
      font-size: 13px
    }

    .ptbl td:last-child,
    .ptbl th:last-child {
      text-align: right
    }

    .sigLine {
      display: flex;
      gap: 24px;
      margin-top: 20px;
      padding-top: 16px;
      border-top: 1px solid var(--line)
    }

    .sigLine div {
      flex: 1
    }

    .sigLine .sb {
      border-bottom: 1.5px solid var(--ink);
      height: 44px;
      margin-bottom: 5px;
      display: flex;
      align-items: flex-end;
      padding-bottom: 3px
    }

    .sigLine .sk {
      font: 700 9px/1 'Barlow', sans-serif;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--muted)
    }

    /* faq */
    .faq {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden
    }

    .faq details {
      border-bottom: 1px solid var(--line)
    }

    .faq details:last-child {
      border-bottom: 0
    }

    .faq summary {
      padding: 17px 22px;
      cursor: pointer;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 19px;
      text-transform: uppercase;
      letter-spacing: .02em;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px
    }

    .faq summary::-webkit-details-marker {
      display: none
    }

    .faq summary::after {
      content: "+";
      color: var(--orange);
      font-size: 24px;
      font-weight: 400;
      flex-shrink: 0
    }

    .faq details[open] summary::after {
      content: "\2013"
    }

    .faq details div {
      padding: 0 22px 20px;
      font-size: 15px;
      color: var(--muted);
      max-width: 76ch
    }

    /* cta band */
    .ctaBand {
      background: var(--navy);
      color: #fff;
      border-radius: var(--r);
      padding: 40px;
      text-align: center
    }

    .ctaBand h2 {
      font-size: clamp(26px, 3.4vw, 38px);
      font-weight: 800;
      margin-bottom: 10px
    }

    .ctaBand h2 em {
      color: var(--orange);
      font-style: italic
    }

    .ctaBand p {
      color: rgba(255, 255, 255, .8);
      max-width: 52ch;
      margin: 0 auto 22px;
      font-size: 16.5px
    }

    .ctaBtns {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap
    }

    /* stats */
    .stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      text-align: center
    }

    .stat .sv {
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 800;
      font-size: 46px;
      color: var(--orange);
      line-height: 1
    }

    .stat .sk {
      font: 600 12px/1.3 'Barlow', sans-serif;
      letter-spacing: .11em;
      text-transform: uppercase;
      color: var(--muted);
      margin-top: 6px
    }

    /* footer */
    footer {
      background: var(--navy-deep);
      color: #fff;
      padding: 52px 0 0
    }

    .fGrid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
      gap: 34px;
      padding-bottom: 34px
    }

    .fCol h4 {
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .13em;
      margin-bottom: 14px;
      color: #fff
    }

    .fCol ul {
      list-style: none
    }

    .fCol ul li {
      padding: 5px 0
    }

    .fCol a {
      color: rgba(255, 255, 255, .72);
      font-size: 14.5px
    }

    .fCol a:hover {
      color: var(--orange)
    }

    .tagline {
      color: rgba(255, 255, 255, .62);
      font-size: 14.5px;
      margin-top: 14px;
      max-width: 26ch
    }

    .fContact li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: rgba(255, 255, 255, .72);
      font-size: 14.5px
    }

    .socials {
      display: flex;
      gap: 9px;
      margin-top: 16px
    }

    .socials a {
      width: 35px;
      height: 35px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .11);
      display: grid;
      place-items: center;
      transition: background .15s
    }

    .socials a:hover {
      background: var(--orange)
    }

    .permitFoot {
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px;
      padding-bottom: 18px;
      display: flex;
      gap: 14px;
      align-items: flex-start;
      color: rgba(255, 255, 255, .55);
      font-size: 12.5px;
      line-height: 1.6
    }

    .permitFoot b {
      color: rgba(255, 255, 255, .8);
      font-weight: 500
    }

    .permitFoot svg {
      flex-shrink: 0;
      margin-top: 2px
    }

    .fBot {
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 16px;
      padding-bottom: 22px;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, .48);
      font-size: 13px
    }

    /* chat */
    .chat {
      position: fixed;
      right: 20px;
      bottom: 20px;
      z-index: 150;
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--navy);
      color: #fff;
      border: 0;
      border-radius: 44px;
      padding: 13px 20px 13px 15px;
      cursor: pointer;
      box-shadow: 0 6px 22px rgba(9, 23, 36, .34);
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 15.5px;
      text-transform: uppercase;
      letter-spacing: .05em
    }

    .chat:hover {
      background: var(--navy-soft)
    }

    @media print {

      header,
      footer,
      .chat,
      .sheetH,
      .est,
      .stepBar,
      .banner {
        display: none !important
      }

      body {
        background: #fff
      }

      .sheet {
        border: 0
      }

      .paper {
        padding: 0
      }

      .resGrid {
        grid-template-columns: 1fr
      }
    }

    @media(max-width:1000px) {
      nav {
        display: none
      }

      .burger {
        display: block
      }

      .res {
        grid-template-columns: 1fr 1fr
      }

      .res .btn {
        grid-column: 1/-1;
        padding: 16px
      }

      .adv,
      .revs,
      .gear,
      .steps,
      .three {
        grid-template-columns: 1fr
      }

      .feat,
      .feat.rev,
      .svc,
      .loc,
      .two,
      .resGrid {
        grid-template-columns: 1fr
      }

      .feat.rev .ph {
        order: 0
      }

      .mapPh {
        min-height: 260px
      }

      .locCards,
      .four {
        grid-template-columns: 1fr 1fr
      }

      .gal {
        grid-template-columns: repeat(2, 1fr)
      }

      .fGrid {
        grid-template-columns: 1fr 1fr
      }

      .hero {
        min-height: 520px
      }

      .est {
        position: static
      }

      .stats {
        grid-template-columns: 1fr 1fr
      }

      .pgrid {
        grid-template-columns: 1fr 1fr
      }
    }

    @media(max-width:560px) {

      .res,
      .pickGrid,
      .addons,
      .fieldRow,
      .locCards,
      .four {
        grid-template-columns: 1fr
      }

      .promo {
        padding: 22px
      }

      .promo .btn {
        margin-left: 0
      }

      .fGrid {
        grid-template-columns: 1fr
      }

      .trustIn {
        gap: 18px
      }

      .featBody,
      .formCard,
      .block {
        padding: 22px
      }

      .paper {
        padding: 18px
      }
    }

    /* ============ mobile corrections (found in 390px QA) ============ */
    @media(max-width:760px) {

      /* trust bar was wrapping 3+1 and colliding with the chat bubble */
      .trustIn {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px 12px;
        padding-top: 14px;
        padding-bottom: 54px
      }

      .tItem span {
        font-size: 12px
      }

      .tItem svg {
        width: 19px;
        height: 19px
      }

      /* chat bubble collapses to an icon so it stops covering page content */
      .chat {
        right: 14px;
        bottom: 14px;
        padding: 0;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        justify-content: center;
        gap: 0
      }

      .chat span,
      .chat {
        font-size: 0
      }

      .chat svg {
        width: 22px;
        height: 22px
      }

      /* tap targets up to 44px */
      .btn.sm {
        padding: 12px 18px
      }

      .faq summary {
        padding: 16px 18px
      }
    }

    /* ---------- rental modes ---------- */
    .modeRow {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px
    }

    .modeBtn {
      border: 1.5px solid var(--line);
      border-radius: 9px;
      background: #fff;
      padding: 13px 15px;
      cursor: pointer;
      text-align: left;
      font-family: 'Barlow', sans-serif;
      transition: border-color .15s, box-shadow .15s
    }

    .modeBtn b {
      display: block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 18px;
      text-transform: uppercase;
      letter-spacing: .03em;
      margin-bottom: 3px
    }

    .modeBtn span {
      font-size: 12.5px;
      color: var(--muted);
      line-height: 1.35;
      display: block
    }

    .modeBtn.on {
      border-color: var(--orange);
      box-shadow: 0 0 0 3px rgba(233, 115, 36, .14);
      background: var(--orange-lt)
    }

    .modeBtn.on b {
      color: var(--orange-dk)
    }

    body.mode-hourly .fulldayOnly,
    body.mode-multi .fulldayOnly {
      display: none !important
    }

    /* ---------- shuttle slots ---------- */
    .shuttleGrid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 11px
    }

    .slot {
      border: 1.5px solid var(--line);
      border-radius: 9px;
      background: #fff;
      padding: 13px 15px;
      cursor: pointer;
      text-align: left;
      font-family: 'Barlow', sans-serif;
      transition: border-color .15s
    }

    .slot b {
      display: block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 20px;
      letter-spacing: .02em
    }

    .slot span {
      display: block;
      font-size: 12.5px;
      color: var(--muted);
      line-height: 1.35;
      margin: 3px 0 7px;
      min-height: 32px
    }

    .slot em {
      display: inline-block;
      font-style: normal;
      font: 600 11px/1 'Barlow', sans-serif;
      color: var(--green);
      background: #E8F3ED;
      border-radius: 4px;
      padding: 4px 8px
    }

    .slot.on {
      border-color: var(--orange);
      box-shadow: 0 0 0 3px rgba(233, 115, 36, .14);
      background: var(--orange-lt)
    }

    .slot.full {
      opacity: .55;
      cursor: not-allowed
    }

    .slot.full em {
      color: #8B4646;
      background: #F2E9E9
    }

    /* ---------- rider rows ---------- */
    .rider {
      border: 1.5px solid var(--line);
      border-radius: 9px;
      padding: 16px 18px;
      margin-bottom: 12px;
      background: #fff
    }

    .riderTop {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px
    }

    .riderTop h4 {
      font-size: 17px;
      font-weight: 800
    }

    .chip {
      font: 600 11px/1 'Barlow', sans-serif;
      border-radius: 20px;
      padding: 5px 10px;
      letter-spacing: .04em;
      text-transform: uppercase
    }

    .chip.pend {
      background: #FFF8E8;
      color: #6E5312;
      border: 1px solid #F0DDA8
    }

    .chip.done {
      background: #E8F3ED;
      color: #245C43;
      border: 1px solid #BFDCCB
    }

    .riderGrid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1.6fr;
      gap: 10px
    }

    .riderGrid input,
    .riderGrid select {
      width: 100%;
      border: 1.5px solid var(--line);
      border-radius: 7px;
      padding: 10px 12px;
      font-family: 'Barlow', sans-serif;
      font-size: 14.5px
    }

    /* ---------- shop local band ---------- */
    .localBand {
      background: var(--orange);
      color: #fff;
      text-align: center;
      padding: 11px 18px;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      font-size: 17px;
      letter-spacing: .05em;
      text-transform: uppercase
    }

    .localBand span {
      opacity: .85;
      font-weight: 600
    }

    /* ---------- video placeholder ---------- */
    .video {
      position: relative;
      border-radius: var(--r);
      overflow: hidden;
      aspect-ratio: 16/9;
      background: #0B1E30;
      display: flex;
      align-items: center;
      justify-content: center
    }

    .video .playBtn {
      width: 74px;
      height: 74px;
      border-radius: 50%;
      background: rgba(233, 115, 36, .92);
      display: grid;
      place-items: center;
      z-index: 3
    }

    /* ---------- price menu ---------- */
    .menuList {
      list-style: none
    }

    .menuList li {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 7px 0;
      border-bottom: 1px dashed var(--line);
      font-size: 14.5px
    }

    .menuList li:last-child {
      border-bottom: 0
    }

    .menuList .mv {
      font-weight: 600;
      white-space: nowrap
    }

    .tier {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 22px;
      display: flex;
      flex-direction: column
    }

    .tier h3 {
      font-size: 21px;
      font-weight: 800;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px
    }

    .tier h3 .tp {
      color: var(--orange-dk);
      font-size: 24px
    }

    .tier ul {
      list-style: none;
      margin-top: 12px
    }

    .tier ul li {
      display: flex;
      gap: 8px;
      font-size: 14px;
      color: var(--muted);
      padding: 3.5px 0
    }

    @media(max-width:760px) {

      .modeRow,
      .shuttleGrid {
        grid-template-columns: 1fr
      }

      .riderGrid {
        grid-template-columns: 1fr 1fr
      }
    }

/* v1.9 Oct 8 homepage map/social corrections */
.homeMap{position:relative;min-height:360px;border-radius:10px;overflow:hidden;background:#eef2ef}.homeMap .mapEmbed{display:none;width:100%;height:100%;border:0}.homeMap .mapEmbed.on{display:block}.homeMap .mapSwitches{position:absolute;top:14px;right:14px;z-index:5;display:flex;gap:6px;background:#fff;padding:5px;border-radius:7px;box-shadow:0 3px 14px rgba(0,0,0,.16)}.homeMap .mapSwitch{border:0;background:#fff;padding:7px 11px;border-radius:5px;cursor:pointer;font-weight:700}.homeMap .mapSwitch.on{background:#0E2439;color:#fff}.homeMapDirections{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.socials .socialIcon{display:flex!important;align-items:center;justify-content:center}.socials .socialIcon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.socials .socialIcon:first-child svg{fill:currentColor;stroke:none}.socials .socialIcon span{font:800 10px/1 'Barlow Condensed',sans-serif;letter-spacing:.02em}
@media(max-width:800px){.homeMap,.homeMap .mapEmbed{height:300px;min-height:300px}}
