/*
 * Peak Oxygen — town / category landing page components (Release B, approved by Jered 2026-10-09).
 * First used on /breckenridge/ (docs/landing-page-template.md). Mobile first; every rule is namespaced `po-` so the
 * FareHarbor Sites theme CSS (assets/vip) is untouched. Colours: site teal #75cfe3 / #61aaba, ink #0b1b26,
 * conversion orange #c94f12 (4.55:1 on white) for the one primary action per card.
 */
:root {
  --po-ink: #0b1b26;
  --po-muted: #5b6a76;
  --po-line: #e2e8ec;
  --po-teal: #61aaba;
  --po-teal-soft: #e9f6f9;
  --po-cta: #e98f33;        /* lighter orange, squared button with white text (Jered 2026-10-09 23:56) */
  --po-cta-hover: #d97f24;
  --po-cta-ink: #ffffff;
  --po-green: #15803d;
  --po-radius: 14px;
}

/* ---------- Hero: less vertical space on phones, the same picture and headline ---------- */
@media (max-width: 47.99em) {
  #hero-row-1.row--is-padded { padding-top: 1.5rem; padding-bottom: 1.25rem; }
  #hero-row-1 .prose .h1 { font-size: 1.45rem; line-height: 1.25; margin: 0; }
  #hero-row-1 .button-block { margin-top: .85rem; }
}
/* Bolder, easier-to-read type in the hero and in the copy below the products (Jered 2026-10-09). Text unchanged.
   The site ships only Anek Gurmukhi 200 and Commissioner 400, so the heavier weights of the same Google fonts are
   self-hosted here (OFL, from Fontsource; licences in assets/po/fonts/). Latin + Latin-ext only; the browser keeps the
   site's own files for everything else. */
@font-face { font-family: 'Anek Gurmukhi'; font-style: normal; font-display: swap; font-weight: 500; src: url(/assets/po/fonts/anek-gurmukhi-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Anek Gurmukhi'; font-style: normal; font-display: swap; font-weight: 500; src: url(/assets/po/fonts/anek-gurmukhi-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-display: swap; font-weight: 500; src: url(/assets/po/fonts/commissioner-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-display: swap; font-weight: 500; src: url(/assets/po/fonts/commissioner-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-display: swap; font-weight: 700; src: url(/assets/po/fonts/commissioner-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-display: swap; font-weight: 700; src: url(/assets/po/fonts/commissioner-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
#hero-row-1 .prose .h1 { font-weight: 500 !important; text-shadow: 0 2px 6px rgba(0,0,0,.55); }
#hero-row-1 .button-block .label { font-weight: 700; }
.po-products ~ .row .prose p, .po-products ~ .row .prose li, .po-products ~ .row .prose span, .po-products ~ .row p, .po-products ~ .row li { font-weight: 500; }
.po-products ~ .row .prose strong, .po-products ~ .row strong, .po-products ~ .row b { font-weight: 700; }
.po-products ~ .row h2, .po-products ~ .row h3, .po-products ~ .row h4, .po-products ~ .row .h1, .po-products ~ .row .h2, .po-products ~ .row .h3, .po-products ~ .row .h4 { font-weight: 500 !important; }
#hero-row-1 .po-hero-note { margin: .75rem auto 0; font-size: .95rem; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
#hero-row-1 .po-hero-note a { color: #fff; text-decoration: underline; }

/* ---------- Trust strip ---------- */
.po-rating { display: flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; background: #fff; border-bottom: 1px solid var(--po-line); padding: 11px 14px; color: #3c4043; font-size: 1rem; line-height: 1.2; }
.po-rating__score { font-weight: 700; font-size: 1.15rem; }
.po-rating__stars { display: inline-flex; gap: 2px; } .po-rating__stars svg { width: 19px; height: 19px; fill: #f4b400; }
.po-rating .g { height: 22px; width: auto; flex: 0 0 auto; margin-top: 3px; }
.po-rating__count { color: #4d5156; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #c4c9ce; } .po-rating__count { display: inline-block; padding: 10px 0; margin: -10px 0; } /* Mobile audit 2026-11-02: bigger tap area, same look */
.po-rating__count:hover { color: var(--po-ink); text-decoration-color: currentColor; }
.po-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--po-line); border-top: 1px solid var(--po-line); border-bottom: 1px solid var(--po-line); }
.po-trust li { background: #fff; display: flex; align-items: center; gap: 10px; padding: 12px 14px; font-size: .9rem; line-height: 1.25; color: var(--po-ink); }
.po-trust svg { width: 22px; height: 22px; flex: 0 0 22px; color: #6b7a86; }
.po-trust b { font-weight: 700; }
.po-trust li span { font-weight: 500; }
.po-trust__link { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.po-trust__link span { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #c7d0d6; }
.po-trust__link:hover span { text-decoration-color: var(--po-ink); }
.po-trust svg.po-star { color: #f5b301; }
@media (min-width: 48em) {
  .po-trust { grid-template-columns: repeat(3, 1fr); }
  .po-rating { font-size: 1.08rem; padding: 13px 16px; }
  .po-trust li { justify-content: center; padding: 14px 16px; font-size: .95rem; }
}

/* ---------- Product cards ---------- */
.po-products { padding: 1.5rem 0 1.75rem; }
.po-wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.po-grid { display: grid; gap: 14px; }
.po-card { position: relative; background: #fff; border: 1px solid var(--po-line); border-radius: var(--po-radius); box-shadow: 0 1px 2px rgba(11,27,38,.05), 0 8px 24px rgba(11,27,38,.06); display: grid; grid-template-columns: 38% 1fr; grid-template-areas: "media head" "list list" "actions actions"; overflow: hidden; }
.po-card__media { grid-area: media; position: relative; background: #fff; display: flex; align-items: center; justify-content: center; padding: 10px 4px 10px 12px; }
.po-card__media img { display: block; width: 100%; height: auto; max-height: 150px; object-fit: contain; }
.po-callout { position: absolute; left: 8px; bottom: 6px; background: #fff; color: var(--po-muted); font-size: .7rem; line-height: 1.15; font-weight: 500; padding: 5px 9px; border-radius: 999px; white-space: nowrap; letter-spacing: .01em; border: 1px solid var(--po-line); box-shadow: 0 2px 8px rgba(11,27,38,.12); display: inline-flex; align-items: baseline; gap: 4px; }
.po-callout s { color: #8a97a1; text-decoration: line-through; font-size: .78rem; }
.po-callout b { font-weight: 800; font-size: 1rem; color: var(--po-green); }
.po-callout .per { color: var(--po-green); font-weight: 600; }
.po-card__head { grid-area: head; padding: 14px 14px 6px 6px; display: flex; flex-direction: column; justify-content: center; }
.po-card__eyebrow { font-family: inherit !important; font-size: .68rem !important; line-height: 1.2 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--po-muted); font-weight: 600 !important; margin: 0 0 4px !important; font-style: normal !important; }
.po-card__title { font-family: inherit !important; font-size: 1.05rem !important; line-height: 1.25 !important; font-weight: 700 !important; margin: 0 !important; color: var(--po-ink); font-style: normal !important; }
.po-card__title a { color: inherit; text-decoration: none; }
.po-card__meta { margin: 6px 0 0; font-size: .85rem; color: var(--po-muted); display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.po-card__meta svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 3px; color: #8a97a1; }
.po-card__list { grid-area: list; list-style: none; margin: 0; padding: 6px 14px 4px; display: grid; gap: 5px; }
.po-card__list li { position: relative; padding-left: 24px; font-size: .9rem; line-height: 1.35; color: var(--po-ink); }
.po-card__list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: #eef2f5 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455562' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7'/></svg>") center/10px no-repeat; }
/* Jered 2026-10-10 00:20: one row. Learn more starts where the bullet text starts (past the check icons), then Book Now,
   a little wider and nudged toward the centre of the space left, never the full row. */
.po-card__actions { grid-area: actions; display: flex; align-items: center; gap: 16px; padding: 10px 14px 14px 38px; }
.po-card__actions .po-link { flex: 0 0 auto; }
.po-card__actions .po-btn--primary { flex: 1 1 auto; max-width: 230px; min-width: 0; margin: 0 auto; padding: 0 16px; white-space: nowrap; }
@media (max-width: 359px) { .po-card__actions { padding-left: 14px; gap: 12px; } }
.po-link { color: var(--po-ink); font-size: .95rem; font-weight: 600; flex: 1 1 auto; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #b9c4cc; white-space: nowrap; }
.po-link:hover { text-decoration-color: var(--po-ink); }
.po-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 10px; font-size: 1.05rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; cursor: pointer; border: 0; transition: background-color .15s, transform .05s; }
.po-btn--primary { background: var(--po-cta); color: var(--po-cta-ink); flex: 0 0 auto; min-width: 150px; box-shadow: 0 4px 14px rgba(233,143,51,.35); text-shadow: 0 1px 1px rgba(0,0,0,.12); }
.po-btn--primary:hover { background: var(--po-cta-hover); color: var(--po-cta-ink); }
.po-btn--primary:active { transform: translateY(1px); }
/* every "Request a quote" button uses the checkout blue, not orange (Jered 2026-10-21 05:00) */
.po-btn--primary.po-btn--quote { background: #1f7a8c; box-shadow: 0 4px 14px rgba(31,122,140,.3); }
.po-btn--primary.po-btn--quote:hover { background: #1a6878; }
.po-btn svg { width: 18px; height: 18px; }
.po-card--bundle { border-color: #cfe6ec; background: linear-gradient(180deg, #f3fafc 0%, #fff 55%); }
.po-card__tag { position: absolute; top: 10px; left: 10px; z-index: 1; background: var(--po-green); /* same green as the checkout's Save 20% (Jered 2026-10-14) */ color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; }
.po-card--bundle .po-card__media img { max-height: 150px; }
.po-footnote { text-align: center; margin: 16px 0 0; font-size: .82rem; color: #5f6e7c; }
.po-sameday { text-align: center; margin: 16px 0 0; font-size: .95rem; color: var(--po-ink); }
.po-sameday a { color: var(--po-ink); font-weight: 700; text-decoration: none; white-space: nowrap; }
.po-sameday a:hover { text-decoration: underline; }

/* Tablets (48–64em) keep the phone's side-by-side card, one per row, centred: three vertical cards clipped their
   text at 820px. */
@media (min-width: 48em) and (max-width: 63.99em) {
  .po-products { padding: 2rem 0 2.25rem; }
  .po-grid { max-width: 720px; margin: 0 auto; gap: 18px; }
  .po-card__media img, .po-card--bundle .po-card__media img { max-height: 190px; }
  .po-card__title { font-size: 1.15rem !important; }
  .po-card__list li { font-size: .95rem; }
}
@media (min-width: 64em) {
  .po-products { padding: 2.5rem 0 2.75rem; }
  .po-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .po-card { grid-template-columns: 1fr; grid-template-areas: "media" "head" "list" "actions"; grid-template-rows: auto auto 1fr auto; }
  .po-card__media { padding: 22px 22px 8px; }
  .po-card__media img, .po-card--bundle .po-card__media img { max-height: 210px; }
  .po-callout { left: 16px; bottom: 10px; font-size: .8rem; padding: 7px 12px; }
  .po-card__tag { left: auto; right: 14px; top: 14px; }
  .po-callout b { font-size: 1.15rem; } .po-callout s { font-size: .85rem; }
  .po-card__head { padding: 10px 22px 4px; }
  .po-card__title { font-size: 1.18rem !important; }
  .po-card__list { padding: 10px 22px 6px; gap: 7px; }
  .po-card__list li { font-size: .92rem; }
  .po-card__actions { padding: 12px 22px 22px 46px; }
  .po-sameday { margin-top: 24px; }
}
/* Jered 2026-10-10 02:33: space the cards out on desktop so more bullets fit on one line (phones unchanged). The
   products row runs wider than the 1200px site column, with more room between cards and slimmer inner padding. */
@media (min-width: 64em) {
  .po-products .po-wrap { max-width: 1600px; padding-left: 24px; padding-right: 24px; }
  .po-grid { gap: 28px; }
  .po-card__head { padding: 10px 20px 4px; }
  .po-card__list { padding: 10px 20px 6px; }
  .po-card__media { padding: 22px 20px 8px; }
}
@media (min-width: 80em) {
  .po-products .po-wrap { padding-left: 40px; padding-right: 40px; }
  .po-grid { gap: 36px; }
}

/* ---------- Sticky booking bar (phones only) ---------- */
.po-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--po-line); box-shadow: 0 -6px 20px rgba(11,27,38,.12); transform: translateY(110%); transition: transform .25s ease; }
.po-sticky.is-visible { transform: none; }
/* Mobile audit 2026-11-02: while the bar shows, the page ends above it so the footer's last lines are never hidden (height set by landing.js) */
html.po-sticky-on body { padding-bottom: var(--po-sticky-h, 0px); }
.po-sticky__text { display: grid; line-height: 1.2; }
.po-sticky__price { font-weight: 700; font-size: 1rem; color: var(--po-ink); } .po-sticky__price b { color: var(--po-green); }
.po-sticky__sub { font-size: .78rem; color: var(--po-muted); }
.po-sticky .po-btn--primary { flex: 0 0 auto; min-height: 44px; padding: 0 26px; box-shadow: none; }
html.po-modal-open .po-sticky { display: none; }
/* Jered 2026-10-10 01:28: the same bar on tablet and desktop, with value points, shown when the cards' Book Now
   buttons scroll out of view (same trigger as phones). */
.po-sticky__points { display: none; }
@media (min-width: 48em) {
  .po-sticky { padding: 12px max(24px, calc((100vw - 1200px) / 2 + 16px)); gap: 24px; }
  .po-sticky__text { flex: 0 0 auto; white-space: nowrap; }
  .po-sticky__price { font-size: 1.1rem; } .po-sticky__sub { font-size: .85rem; }
  .po-sticky__points { display: flex; flex: 1 1 auto; justify-content: center; gap: 22px; list-style: none; margin: 0; padding: 0; }
  .po-sticky__points li { display: flex; align-items: center; gap: 7px; font-size: .9rem; color: var(--po-ink); white-space: nowrap; }
  .po-sticky__points li:nth-child(n+3) { display: none; }
  .po-sticky__points svg { width: 18px; height: 18px; color: var(--po-green); flex: 0 0 auto; }
  .po-sticky__points .po-sticky__star { fill: #f4b400; }
  .po-sticky .po-btn--primary { min-height: 48px; padding: 0 32px; font-size: 1.05rem; }
}
@media (min-width: 72em) { .po-sticky__points li:nth-child(3) { display: flex; } }
@media (min-width: 92em) { .po-sticky__points li:nth-child(4) { display: flex; } }
@media (prefers-reduced-motion: reduce) { .po-sticky { transition: none; } .po-btn { transition: none; } }

/* ---------- Learn-more pop-up (product details + 1–14 day pricing) ---------- */
.po-detail { position: fixed; inset: 0; z-index: 100000; display: none; background: rgba(10,24,34,.55); }
.po-detail.is-open { display: block; }
.po-detail__panel { position: absolute; inset: 0; background: #fff; overflow: auto; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; }
.po-detail__bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border-bottom: 1px solid var(--po-line); }
.po-detail__bar img { height: 26px; width: auto; } .po-detail__bar .t { flex: 1; font-weight: 600; font-size: .95rem; }
.po-detail__close { width: 40px; height: 40px; border-radius: 50%; border: 0; background: none; color: var(--po-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .po-detail__close:hover { background: #eef3f6; } .po-detail__close svg { width: 20px; height: 20px; }
.po-detail__body { padding: 16px 16px 24px; display: grid; gap: 16px; }
.po-detail__cols { display: grid; gap: 16px; } .po-detail__col { display: grid; gap: 14px; align-content: start; }
.po-detail__hero { display: grid; grid-template-columns: 40% 1fr; gap: 12px; align-items: center; }
.po-detail__hero img { width: 100%; height: auto; border-radius: 10px; background: #fff; border: 1px solid var(--po-line); }
.po-detail__eyebrow { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--po-muted); font-weight: 600; margin: 0 0 4px; }
.po-detail__title { font-family: inherit !important; font-size: 1.2rem !important; line-height: 1.25 !important; font-weight: 700 !important; margin: 0 !important; color: var(--po-ink); font-style: normal !important; }
.po-detail__price { margin: 8px 0 0; font-size: .9rem; color: var(--po-muted); } .po-detail__price b { color: var(--po-green); font-size: 1.2rem; font-weight: 800; } .po-detail__price s { color: #8a97a1; }
.po-detail__text { margin: 0; font-size: .95rem; line-height: 1.5; color: var(--po-ink); }
.po-detail h4.po-detail__h { font-family: inherit !important; font-size: .85rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted); margin: 0 0 8px !important; font-weight: 700 !important; font-style: normal !important; }
.po-detail__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.po-detail__list li { position: relative; padding-left: 24px; font-size: .92rem; line-height: 1.35; }
.po-detail__list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: #eef2f5 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455562' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7'/></svg>") center/10px no-repeat; }
.po-price-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.po-price-table th, .po-price-table td { padding: 5px 6px; border-bottom: 1px solid var(--po-line); text-align: left; line-height: 1.3; }
.po-price-table th { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted); font-weight: 700; }
.po-price-table td:nth-child(2), .po-price-table th:nth-child(2) { text-align: right; font-variant-numeric: tabular-nums; }
.po-price-table td:nth-child(3), .po-price-table th:nth-child(3) { text-align: right; font-variant-numeric: tabular-nums; color: var(--po-ink); font-weight: 600; } /* ink, not green (Jered 2026-10-14 19:39) */
.po-price-table tr.best td:nth-child(3) { font-weight: 800; }
.po-price-table tr.best td { background: #f0faf3; }
.po-price-table caption { caption-side: bottom; text-align: left; font-size: .8rem; color: var(--po-muted); padding: 8px 0 0; }
.po-detail__cta { position: sticky; bottom: 0; background: #fff; padding: 12px 0 calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--po-line); display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.po-detail__cta .po-btn--primary { flex: 0 0 auto; } /* same squared, content-width button as the cards (Jered 2026-10-09 23:59) */
.po-detail__loading { color: var(--po-muted); font-size: .9rem; }
@media (min-width: 48em) {
  /* Jered 2026-10-14: text and included list on the left, the whole 14-night table on the right, sized so it needs no scrolling on a laptop. */
  .po-detail__panel { inset: auto; top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(820px, calc(100vw - 32px)); max-height: min(96vh, 980px); border-radius: 14px; box-shadow: 0 24px 64px rgba(0,0,0,.35); }
  .po-detail__body { padding: 16px 24px 20px; gap: 14px; }
  .po-detail__cols { grid-template-columns: 1fr 1.1fr; gap: 24px; }
  .po-detail__hero { grid-template-columns: 150px 1fr; gap: 20px; }
  .po-detail__cta { padding-top: 10px; }
  .po-detail__title { font-size: 1.45rem !important; }
}

/* ---------- Google reviews pop-up (same shell as the product detail) ---------- */
.po-reviews__stars { display: flex; align-items: center; gap: 2px; margin: 0 0 4px; }
.po-reviews__stars svg { width: 28px; height: 28px; }
.po-reviews__rating { font-size: 1.1rem; font-weight: 800; color: var(--po-ink); margin: 0; }
.po-reviews__rating small { font-weight: 500; color: var(--po-muted); font-size: .9rem; }
.po-reviews__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.po-reviews__list li { background: #f6f8fa; border-radius: 12px; padding: 12px 14px; font-size: .92rem; line-height: 1.45; color: var(--po-ink); }
.po-reviews__list li .who { display: block; margin-top: 6px; font-size: .8rem; color: var(--po-muted); font-weight: 600; }
.po-reviews__list li .who svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.po-detail__body.po-reviews-body { display: block; }
.po-detail__body.po-reviews-body > * + * { margin-top: 16px; }

/* ---------- Phone clean-up (Jered 2026-10-10 00:19) ---------- */
@media (max-width: 47.99em) {
  /* Hide the "For same day oxygen rentals & delivery call" strip and the "Reserve Oxygen Now" button under the logo.
     CSS only: the markup (and its text and links) is unchanged, so desktop and crawlers see the same page. */
  .site-header a.callout, .site-header .callout-banner, .site-header .banner-button-book { display: none !important; }
  /* The price pill sat on top of "From $225 · 1 to 100 nights" at phone width: it now sits under the photo, inside the
     photo column, and wraps to two lines when the column is narrow. */
  .po-card__media { flex-direction: column; gap: 6px; padding-bottom: 12px; }
  /* Jered 2026-10-10 00:41: every pill like the bundle's: "As little as $was" on the first line, the green price per
     night on its own line below, both lines centred. */
  .po-callout { position: static; display: block; white-space: nowrap; text-align: center; line-height: 1.3; max-width: 100%; border-radius: 12px; padding: 5px 12px; }
  .po-callout s::after { content: "\A"; white-space: pre; }
  .po-callout b { margin-right: 3px; }
  .po-card__tag { font-size: .6rem; padding: 3px 8px; }
  .po-card__tag { top: 8px; left: 8px; }
}
@media (max-width: 359px) {
  .po-callout { font-size: .62rem; padding: 4px 6px; } .po-callout s { font-size: .68rem; } .po-callout b { font-size: .92rem; }
}

/* Jered 2026-10-10 00:49: Google rating band ("5.0 ★★★★★ 243 Google reviews") under the hero replaces the trust-strip
   reviews cell; the strip keeps three items, one row. On phones each item stacks its icon over the text. */
@media (max-width: 47.99em) {
  .po-trust li { flex-direction: column; justify-content: flex-start; text-align: center; gap: 6px; padding: 10px 6px; font-size: .8rem; }
}
@media (max-width: 359px) { .po-rating { gap: 6px; font-size: .9rem; padding: 10px; } .po-rating__stars svg { width: 15px; height: 15px; } .po-rating .g { height: 18px; } }

/* Jered 2026-10-10 01:28 #1: on wide screens the Google rating and the three trust items share one row of four,
   evenly spaced (02:16: four equal columns, each item centred in its column). From 72em, where the rating fits a quarter of the row. */
@media (min-width: 72em) {
  .po-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--po-line); border-bottom: 1px solid var(--po-line); }
  .po-proof .po-trust { display: contents; }
  .po-proof .po-rating { border-bottom: 0; padding: 14px 8px; font-size: .95rem; gap: 6px; }
  .po-proof .po-rating__stars svg { width: 16px; height: 16px; }
  .po-proof .po-rating .g { height: 20px; }
  .po-proof .po-trust li { justify-content: center; padding: 14px 8px; }
}
@media (min-width: 80em) {
  .po-proof .po-rating { font-size: 1rem; gap: 8px; }
  .po-proof .po-rating__stars svg { width: 19px; height: 19px; }
  .po-proof .po-rating .g { height: 22px; }
}
/* Jered 2026-10-10 01:28 #2/#3 (test): no "Check prices & availability" button in the hero and a tighter hero on every
   screen size; the product cards' Book Now buttons and the sticky bar carry the booking action. CSS only. */
#hero-row-1:not(.video-row) .button-block { display: none !important; }
#hero-row-1:not(.video-row).row--is-padded { padding-top: 1.1rem !important; padding-bottom: 1.1rem !important; }
@media (min-width: 48em) { #hero-row-1:not(.video-row).row--is-padded { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; } }
/* the home page's video hero (Jered 2026-10-15: "making sure the hero video on the homepage remains") keeps its height and button */

/* Jered 2026-10-10: cards for products a town is out of are hidden by landing.js; fewer cards stay centred. */
.po-card[hidden] { display: none !important; }
@media (min-width: 64em) {
  .po-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; margin-left: auto; margin-right: auto; }
  .po-grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 500px; margin-left: auto; margin-right: auto; }
}

/* ---------- Rental product pages (Jered 2026-10-14 #12): /rentals/in-home-… and /rentals/portable-… ----------
   The hero (H1, badge, tagline) is the site's; everything under it uses these `pp-` blocks: overview with the
   branded photo and included list, five setup steps, tips for the stay, the live 1–14 night table, FAQ, the other
   machine + bundle, and a closing call to action. Greyscale icons, generous spacing, one orange action per block. */
.pp { padding: 2rem 0; }
.pp p, .pp li, .pp dd, .pp dt, .pp figcaption { font-weight: 500; color: var(--po-ink); }
.pp-wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.pp-h2 { font-family: inherit !important; font-style: normal !important; font-weight: 700 !important; font-size: 1.5rem !important; line-height: 1.2 !important; margin: 0 0 8px !important; color: var(--po-ink); }
.pp-h4 { font-family: inherit !important; font-style: normal !important; font-size: .85rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted); margin: 18px 0 8px !important; font-weight: 700 !important; }
.pp-head { margin-bottom: 18px; }
.pp-sub { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--po-muted) !important; max-width: 62ch; }
.pp-sub a { color: var(--po-ink); font-weight: 700; white-space: nowrap; }
.pp-lead { margin: 0 0 12px; font-size: 1.02rem; line-height: 1.55; }
.pp-meta { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .9rem; color: var(--po-muted) !important; }
.pp-meta span { position: relative; }
.pp-meta span + span::before { content: "·"; position: absolute; left: -11px; color: #b9c4cc; }
.pp-overview__grid { display: grid; gap: 18px; }
.pp-overview__media { position: relative; background: #fff; border: 1px solid var(--po-line); border-radius: var(--po-radius); padding: 14px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pp-overview__media img { width: 100%; max-width: 420px; height: auto; object-fit: contain; }
.pp-overview__text .po-card__eyebrow { margin-bottom: 6px !important; }
.pp-included { padding: 0; }
.pp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 18px; }
.pp-actions .po-btn--primary { min-width: 190px; }
.pp-footnote { text-align: left; margin-top: 12px; }
.pp-steps__grid { display: grid; gap: 20px; }
.pp-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pp-step { display: grid; grid-template-columns: 40px 1fr; gap: 12px; background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 14px 16px 14px 14px; }
.pp-step__n { width: 40px; height: 40px; border-radius: 50%; background: #2f7d8f; color: #fff; font-weight: 800; font-size: 1.05rem; display: inline-flex; align-items: center; justify-content: center; }
.pp-step__h, .pp-tip__h, .pp-more__title { font-family: inherit !important; font-style: normal !important; font-weight: 700 !important; font-size: 1.05rem !important; line-height: 1.3 !important; margin: 0 0 4px !important; color: var(--po-ink); }
.pp-step p, .pp-tip p { margin: 0; font-size: .95rem; line-height: 1.5; }
.pp-steps__photo { margin: 0; }
.pp-steps__photo img { width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--po-line); display: block; }
.pp-steps__photo figcaption { margin-top: 8px; font-size: .85rem; color: var(--po-muted) !important; }
.pp-tips__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pp-tip { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; }
.pp-tip > svg { width: 28px; height: 28px; color: #6b7a86; margin-top: 2px; }
.pp-pricing__grid { display: grid; gap: 24px; }
.pp-table { background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 10px 12px 12px; }
.pp-pricing__aside { background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 4px 18px 18px; align-self: start; }
.pp-pricing__aside .pp-h4 { margin-top: 14px !important; }
.pp-facts { margin: 0; display: grid; gap: 10px; }
.pp-facts > div { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid var(--po-line); }
.pp-facts dt { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted) !important; font-weight: 700; }
.pp-facts dd { margin: 0; font-size: .95rem; line-height: 1.4; }
.pp-facts a { color: var(--po-ink); font-weight: 700; }
.pp-pricing__cta { width: 100%; margin-top: 16px; }
.pp-pricing__aside .po-sameday { margin-top: 12px; font-size: .9rem; }
.pp-faq__wrap { max-width: 820px; }
.pp-faq__item { border-top: 1px solid var(--po-line); }
.pp-faq__item:last-of-type { border-bottom: 1px solid var(--po-line); }
.pp-faq__item summary { cursor: pointer; list-style: none; padding: 14px 36px 14px 0; font-weight: 700; font-size: 1rem; line-height: 1.35; color: var(--po-ink); position: relative; }
.pp-faq__item summary::-webkit-details-marker { display: none; }
.pp-faq__item summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; border-right: 2px solid #6b7a86; border-bottom: 2px solid #6b7a86; transform: translateY(-70%) rotate(45deg); transition: transform .15s; }
.pp-faq__item[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.pp-faq__item p { margin: 0 0 16px; font-size: .95rem; line-height: 1.5; max-width: 70ch; }
.pp-more__grid { display: grid; gap: 16px; }
.pp-more__card { position: relative; background: #fff; border: 1px solid var(--po-line); border-radius: var(--po-radius); box-shadow: 0 1px 2px rgba(11,27,38,.05), 0 8px 24px rgba(11,27,38,.06); overflow: hidden; display: grid; grid-template-columns: 38% 1fr; align-items: center; }
.pp-more__card > img { width: 100%; height: auto; max-height: 170px; object-fit: contain; padding: 12px 4px 12px 12px; }
.pp-more__card--bundle { border-color: #cfe6ec; background: linear-gradient(180deg, #f3fafc 0%, #fff 55%); }
.pp-more__body { padding: 14px 14px 14px 8px; min-width: 0; }
.pp-more__card > img { min-width: 0; }
.pp-more__title a { color: inherit; text-decoration: none; }
.pp-more__price { margin: 4px 0 6px; font-size: .9rem; color: var(--po-muted) !important; } .pp-more__price b { color: var(--po-green); font-size: 1.15rem; font-weight: 800; } .pp-more__price s { color: #8a97a1; }
.pp-more__text { margin: 0; font-size: .9rem; line-height: 1.4; }
.pp-more__body .po-card__actions { padding: 12px 0 0; flex-wrap: wrap; gap: 10px 16px; }
.pp-more__body .po-card__actions .po-btn--primary { flex: 1 1 140px; min-width: 0; max-width: 230px; margin: 0; }
.pp-cta__inner { text-align: center; display: grid; justify-items: center; gap: 10px; }
.pp-cta .pp-sub { color: var(--po-ink) !important; }
.pp-cta .po-btn--primary { min-width: 220px; margin-top: 6px; }
@media (min-width: 48em) {
  .pp { padding: 3rem 0; }
  .pp-h2 { font-size: 1.9rem !important; }
  .pp-overview__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 36px; align-items: start; }
  .pp-overview__media { padding: 24px; position: sticky; top: 24px; }
  .pp-overview__media .po-callout { position: absolute; left: 18px; bottom: 16px; font-size: .8rem; padding: 7px 12px; }
  .pp-overview__media .po-callout b { font-size: 1.15rem; } .pp-overview__media .po-callout s { font-size: .85rem; }
  .pp-steps__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 32px; align-items: start; }
  .pp-steps__photo { position: sticky; top: 24px; }
  .pp-tips__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; }
  .pp-pricing__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 32px; }
  .pp-table { padding: 14px 18px 16px; }
  .pp-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .pp-more__card { grid-template-columns: 1fr; align-items: stretch; }
  .pp-more__card > img { max-height: 200px; padding: 22px 22px 6px; }
  .pp-more__body { padding: 8px 22px 20px; }
  .pp-more__body .po-card__actions { padding-top: 14px; }
}
@media (min-width: 64em) {
  .pp-tips__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Below the product cards (Jered 2026-10-14, item 13 → version A chosen 19:33) ----------
   /breckenridge/ below the cards: the altitude facts band, symptom tiles, benefits, first-days timeline, FAQ, reviews
   and call to action. The `pv-` rules also style the two previews still under /_previews/ (B, C). */
.pv { padding: 2.25rem 0; }
.pv p, .pv li, .pv figcaption, .pv td, .pv th { font-weight: 500; color: var(--po-ink); }
.pv-wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.pv-h2 { font-family: inherit !important; font-style: normal !important; font-weight: 700 !important; font-size: 1.55rem !important; line-height: 1.2 !important; margin: 0 0 8px !important; color: var(--po-ink); }
.pv-h3 { font-family: inherit !important; font-style: normal !important; font-weight: 700 !important; font-size: 1.05rem !important; line-height: 1.3 !important; margin: 0 0 4px !important; color: var(--po-ink); }
.pv-eyebrow { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--po-muted) !important; font-weight: 700; margin: 0 0 6px; }
.pv-sub { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--po-muted) !important; max-width: 66ch; }
.pv-sub a, .pv-cta .pv-sub a { color: var(--po-ink); font-weight: 700; white-space: nowrap; }
.pv-head { margin-bottom: 20px; }
.pv-head--center { text-align: center; } .pv-head--center .pv-sub { margin: 0 auto; }
.pv-center { text-align: center; margin: 18px 0 0; }
.pv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 18px; }
.pv-actions--center { justify-content: center; margin-top: 22px; }
.pv-actions .po-link { flex: 0 0 auto; }
.pv-actions .po-btn--primary { min-width: 180px; }
.pv-split { display: grid; gap: 22px; align-items: center; }
.pv-photo { margin: 0; } .pv-photo img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--po-line); display: block; }
.pv-photo figcaption { margin-top: 8px; font-size: .85rem; color: var(--po-muted) !important; }
.pv-tiles { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pv-tile { background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 16px; }
.pv-tile > svg { width: 30px; height: 30px; color: #6b7a86; margin-bottom: 8px; }
.pv-tile p { margin: 0; font-size: .92rem; line-height: 1.45; }
.pv-benefits__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.pv-benefit { display: flex; align-items: center; gap: 12px; font-size: .98rem; }
.pv-benefit > svg { width: 26px; height: 26px; color: #6b7a86; flex: 0 0 26px; }
.pv-stats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; text-align: center; }
.pv-stats__list li { display: grid; gap: 2px; padding: 14px 8px; }
.pv-stats__list b { font-size: 1.6rem; font-weight: 800; color: var(--po-ink); line-height: 1.1; }
.pv-stats__list span { font-size: .85rem; color: var(--po-muted); }
/* Jered 2026-10-27: a stat never breaks onto a second line ("ft" on its own line); the long elevation range shrinks to fit its column instead. */
.pv-stats__list li { container-type: inline-size; }
.pv-stats__list b { white-space: nowrap; }
.pv-stats__list b.pv-stats__wide { font-size: min(1.6rem, 11cqi); }
.pv-stats--dark .pv-stats__list b { color: #fff; } .pv-stats--dark .pv-stats__list span { color: #b9c9d3; }
.pv-tl { list-style: none; margin: 0; padding: 0 0 0 26px; display: grid; gap: 18px; position: relative; }
.pv-tl::before { content: ""; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: #cfe6ec; }
.pv-tl__item { position: relative; } .pv-tl__item p { margin: 0; font-size: .95rem; line-height: 1.5; max-width: 66ch; }
.pv-tl__dot { position: absolute; left: -26px; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: #2f7d8f; border: 4px solid #fff; box-shadow: 0 0 0 2px #cfe6ec; }
.pv-faq__wrap { max-width: 820px; }
.pv-faq__item { border-top: 1px solid var(--po-line); } .pv-faq__item:last-of-type { border-bottom: 1px solid var(--po-line); }
.pv-faq__item summary { cursor: pointer; list-style: none; padding: 14px 36px 14px 0; font-weight: 700; font-size: 1rem; line-height: 1.35; color: var(--po-ink); position: relative; }
.pv-faq__item summary::-webkit-details-marker { display: none; }
.pv-faq__item summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; border-right: 2px solid #6b7a86; border-bottom: 2px solid #6b7a86; transform: translateY(-70%) rotate(45deg); }
.pv-faq__item[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.pv-faq__item p { margin: 0 0 16px; font-size: .95rem; line-height: 1.5; max-width: 70ch; }
.pv-quotes { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pv-quote { background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 16px; display: grid; gap: 8px; }
.pv-quote__stars { display: flex; gap: 2px; } .pv-quote__stars svg { width: 18px; height: 18px; }
.pv-quote p { margin: 0; font-size: .95rem; line-height: 1.5; }
.pv-quote .who { font-size: .82rem; color: var(--po-muted); font-weight: 600; }
.pv-quotes--1 { margin-top: 18px; }
.pv-cta__inner { text-align: center; display: grid; justify-items: center; gap: 10px; }
.pv-cta .pv-sub { color: var(--po-ink) !important; }
.pv-cta .po-btn--primary { min-width: 220px; margin-top: 6px; }
.pv-cta .po-sameday { margin-top: 10px; font-size: .9rem; }
/* Variant B */
.pv-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: s; }
.pv-step { position: relative; background: #fff; border: 1px solid var(--po-line); border-radius: 14px; padding: 18px 18px 18px 18px; display: grid; gap: 6px; }
.pv-step__n { position: absolute; top: 14px; right: 14px; width: 30px; height: 30px; border-radius: 50%; background: #2f7d8f; color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
.pv-step > svg { width: 34px; height: 34px; color: #6b7a86; }
.pv-step p { margin: 0; font-size: .95rem; line-height: 1.5; }
.pv-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; background: #fff; border: 1px solid var(--po-line); border-radius: 12px; }
.pv-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .92rem; }
.pv-table th, .pv-table td { padding: 12px 14px; border-bottom: 1px solid var(--po-line); text-align: left; vertical-align: top; line-height: 1.4; }
.pv-table thead th { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted); font-weight: 700; background: #f6f9fb; }
.pv-table tbody th { font-weight: 700; color: var(--po-muted); width: 16%; }
.pv-table td b { color: var(--po-green); font-weight: 800; font-size: 1.05rem; }
.pv-table tbody tr:last-child th, .pv-table tbody tr:last-child td { border-bottom: 0; }
.pv-tag { position: static; display: inline-block; margin-left: 6px; vertical-align: middle; }
/* Variant C */
.pv-intro__inner { text-align: center; } .pv-intro .pv-h2 { text-transform: uppercase; letter-spacing: .02em; } .pv-intro .pv-sub { margin: 0 auto; color: var(--po-ink) !important; }
.pv-feature__media { position: relative; background: #fff; border: 1px solid var(--po-line); border-radius: 14px; padding: 18px; }
.pv-feature__media img { width: 100%; height: auto; max-height: 300px; object-fit: contain; display: block; }
.pv-feature__media .pv-tag { position: absolute; top: 12px; left: 12px; margin: 0; }
.pv-list { padding: 0; margin-top: 14px; }
@media (min-width: 48em) {
  .pv { padding: 3.25rem 0; }
  .pv-h2 { font-size: 2rem !important; }
  .pv-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
  .pv-feature--flip .pv-split > :first-child { order: 2; }
  .pv-tiles--5 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .pv-tiles--4 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pv-stats__list { grid-template-columns: repeat(4, 1fr); }
  .pv-stats__list b { font-size: 2rem; }
  .pv-stats__list b.pv-stats__wide { font-size: min(2rem, 11cqi); }
  .pv-steps { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .pv-quotes--2 { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .pv-quotes--3 { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .pv-tl { padding-left: 0; grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .pv-tl::before { left: 0; right: 0; top: 11px; bottom: auto; height: 2px; width: auto; }
  .pv-tl__item { padding-top: 34px; } .pv-tl__dot { left: 0; top: 2px; }
}
@media (min-width: 64em) {
  .pv-tiles--5 { grid-template-columns: repeat(5, 1fr); }
  .pv-tiles--4 { grid-template-columns: repeat(4, 1fr); }
}
/* Variant A, round 2 (Jered 2026-10-14 19:25): the facts band leads, with an icon per number and the oxygen bar
   graphic; the symptom tiles get a tinted icon disc and a green "oxygen therapy can relieve it" line. */
.pv-stats__list li > svg { width: 30px; height: 30px; color: #6b7a86; margin: 0 auto 6px; }
.pv-stats--dark .pv-stats__list li > svg { color: #9fb3c0; }
.pv-stats--dark .pv-h2 { color: #fff; } .pv-stats--dark .pv-eyebrow { color: #9fb3c0 !important; }
.pv-o2 { max-width: 640px; margin: 22px auto 0; display: grid; gap: 8px; }
.pv-o2__h { margin: 0 0 2px; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: #9fb3c0 !important; text-align: center; }
.pv-o2__row { display: grid; grid-template-columns: 96px 1fr 48px; align-items: center; gap: 10px; font-size: .9rem; color: #fff; }
.pv-o2__row span { color: #d6e1e8; } .pv-o2__row b { text-align: right; font-weight: 800; color: #fff; }
.pv-o2__bar { height: 14px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.pv-o2__bar i { display: block; height: 100%; border-radius: 999px; background: #75cfe3; }
.pv-o2__bar i.low { background: #e98f33; }
.pv-tile--sym { display: grid; grid-template-rows: auto auto 1fr auto; gap: 6px; text-align: center; padding: 20px 14px 16px; }
.pv-tile--sym .pv-tile__icon { width: 56px; height: 56px; border-radius: 50%; background: #fff1e6; display: inline-flex; align-items: center; justify-content: center; margin: 0 auto 4px; }
.pv-tile--sym .pv-tile__icon svg { width: 30px; height: 30px; color: #b45309; }
.pv-tile--sym .pv-h3 { margin: 0 !important; }
.pv-tile--sym p { align-self: start; }
.pv-tile__relief { display: flex; align-items: center; justify-content: center; gap: 6px; align-self: end; margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--po-line); font-size: .82rem; font-weight: 700; color: #2f7d8f; }
.pv-tile__relief svg { width: 18px; height: 18px; flex: 0 0 18px; }
@media (max-width: 47.99em) {
  .pv-tile--sym { grid-template-columns: 56px 1fr; grid-template-areas: "icon h" "icon p" "relief relief"; text-align: left; column-gap: 14px; }
  .pv-tile--sym .pv-tile__icon { grid-area: icon; margin: 0; }
  .pv-tile--sym .pv-h3 { grid-area: h; align-self: end; } .pv-tile--sym p { grid-area: p; min-height: 0; } .pv-tile__relief { grid-area: relief; justify-content: flex-start; }
  .pv-o2__row { grid-template-columns: 84px 1fr 44px; font-size: .85rem; }
}
/* Product pages (Jered 2026-10-14 19:36): a much shorter hero so the content starts near the top. The theme gives the
   hero grid a 540px minimum and 80px of padding; the picture, H1, badge and tagline are unchanged. */
body[data-po-page="product"] #hero-row-1 .grid { min-height: 0 !important; }
body[data-po-page="product"] #hero-row-1 .activity-content { padding-top: 26px !important; padding-bottom: 26px !important; }
body[data-po-page="product"] #hero-row-1 .activity-badges { margin-bottom: 6px; }
body[data-po-page="product"] #hero-row-1 .heading-separator { margin: 10px 0 0; }
@media (max-width: 47.99em) {
  body[data-po-page="product"] #hero-row-1 .activity-content { padding-top: 16px !important; padding-bottom: 16px !important; }
}
body[data-po-page="product"] #hero-row-1 .activity-title { margin-top: 8px !important; }
body[data-po-page="product"] #hero-row-1 .prose .h1 { font-size: 2.1rem !important; line-height: 1.15 !important; }
body[data-po-page="product"] #hero-row-1 .activity-tagline p { font-size: 1.05rem; line-height: 1.3; margin: 6px 0 0; }
body[data-po-page="product"] #hero-row-1 .heading-separator { display: none; }
@media (max-width: 47.99em) { body[data-po-page="product"] #hero-row-1 .prose .h1 { font-size: 1.5rem !important; } }

/* ---------- Content pages (Jered 2026-10-14 20:07, item 6): keep the copy, update the presentation ----------
   body[data-po-page="content"] is set by scripts/build-content-pages.py on the FAQ, altitude, why-oxygen, blog, locations,
   contact and privacy pages. The theme's teal rows and white-on-teal headings become calm light rows in the site's ink. */
body[data-po-page="content"] main .row:not(.hero-row):not(.po-products):not(.pv) { background-color: #ffffff !important; }
body[data-po-page="content"] main .row.-has-bg:not(.hero-row):not(.po-products):not(.pv)[style*="#75cfe3"],
body[data-po-page="content"] main .row.-has-bg:not(.hero-row):not(.po-products):not(.pv)[style*="rgba(97,170,186"],
body[data-po-page="content"] main .row.-has-bg:not(.hero-row):not(.po-products):not(.pv)[style*="rgba(117,207,227"],
body[data-po-page="content"] main .row.-has-bg:not(.hero-row):not(.po-products):not(.pv)[style*="#f5f5f5"] { background-color: #f6f9fb !important; }
body[data-po-page="content"] main .row:not(.hero-row) [style*="color:#ffffff"],
body[data-po-page="content"] main .row:not(.hero-row) [style*="color: #ffffff"],
body[data-po-page="content"] main .row:not(.hero-row) [style*="color:#fff"] { color: var(--po-ink) !important; }
body[data-po-page="content"] main .row:not(.hero-row):not(.po-products):not(.pv) .grid,
body[data-po-page="content"] main .row:not(.hero-row):not(.po-products):not(.pv) > .row-content { max-width: 1120px; margin-left: auto; margin-right: auto; }
body[data-po-page="content"] main .row:not(.hero-row) .prose,
body[data-po-page="content"] main .blog-post { color: var(--po-ink); font-size: 1.05rem; line-height: 1.65; }
body[data-po-page="content"] main .row:not(.hero-row) .prose p, body[data-po-page="content"] main .blog-post p { margin: 0 0 1em; }
body[data-po-page="content"] main .row:not(.hero-row) .prose li, body[data-po-page="content"] main .blog-post li { margin: 0 0 .4em; }
body[data-po-page="content"] main .row:not(.hero-row) .prose h2, body[data-po-page="content"] main .row:not(.hero-row) .prose h3,
body[data-po-page="content"] main .row:not(.hero-row) .prose h4, body[data-po-page="content"] main .row:not(.hero-row) .prose .h2,
body[data-po-page="content"] main .row:not(.hero-row) .prose .h3, body[data-po-page="content"] main .blog-post h1,
body[data-po-page="content"] main .blog-post h2, body[data-po-page="content"] main .blog-post h3 {
  color: var(--po-ink); font-style: normal; text-transform: none; letter-spacing: -.01em; line-height: 1.2; margin: 1.4em 0 .5em; }
body[data-po-page="content"] main .row:not(.hero-row) .prose h2, body[data-po-page="content"] main .row:not(.hero-row) .prose .h2,
body[data-po-page="content"] main .blog-post h1 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); }
body[data-po-page="content"] main .row:not(.hero-row) .prose h3, body[data-po-page="content"] main .row:not(.hero-row) .prose .h3,
body[data-po-page="content"] main .blog-post h2 { font-size: clamp(1.2rem, 1.05rem + .7vw, 1.5rem); }
body[data-po-page="content"] main .row:not(.hero-row) .prose [style*="font-size"] { font-size: inherit !important; }
body[data-po-page="content"] main .row:not(.hero-row) .prose a:not(.a-button), body[data-po-page="content"] main .blog-post a { color: var(--accent, #1f7a8c); text-decoration: underline; text-underline-offset: 2px; }
body[data-po-page="content"] main .row:not(.hero-row) img, body[data-po-page="content"] main .blog-post img { border-radius: var(--po-radius); }
body[data-po-page="content"] main .row:not(.hero-row) hr { border: 0; border-top: 1px solid var(--po-line); }
body[data-po-page="content"] main .row:not(.hero-row) .button.-default-color,
body[data-po-page="content"] main .row:not(.hero-row) .button.-custom-color { background: var(--po-cta) !important; border-color: var(--po-cta) !important; color: var(--po-cta-ink) !important; border-radius: 10px; text-transform: none; font-weight: 700; letter-spacing: 0; box-shadow: none; }
body[data-po-page="content"] main .row:not(.hero-row) .button.-default-color:hover,
body[data-po-page="content"] main .row:not(.hero-row) .button.-custom-color:hover { background: var(--po-cta-hover) !important; }
body[data-po-page="content"] main .header-row .h1 { color: var(--po-ink); font-style: normal; }
body[data-po-page="content"] main .blog-post-title .h4 { color: var(--po-ink) !important; font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem); font-style: normal; line-height: 1.15; margin: 0 0 .4em; } /* the theme set the title white over a background it never had */
body[data-po-page="content"] main .blog-post-title + .heading-separator, body[data-po-page="content"] main .blog-post-title .heading-separator { display: none; }
body[data-po-page="content"] main .back-to-blog-link { display: inline-block; margin: 8px 0 18px; color: var(--accent, #1f7a8c); font-weight: 600; text-decoration: none; }
body[data-po-page="content"] main .back-to-blog-link::before { content: "← "; }
body[data-po-page="content"] main .single-blog-container { max-width: none; }
body[data-po-page="content"] main .single-blog-container > :not(.po-proof):not(.po-products) { max-width: 860px; margin-left: auto; margin-right: auto; } /* the post stays readable; the proof line and the product cards use the full row */
body[data-po-page="content"] main .single-blog-container > .back-to-blog-link { display: block; }
body[data-po-page="content"] main .card { border: 1px solid var(--po-line); border-radius: var(--po-radius); overflow: hidden; }
body[data-po-page="content"] main .card__title a { color: var(--po-ink); }
body[data-po-page="content"] main .gform_wrapper input[type="text"], body[data-po-page="content"] main .gform_wrapper input[type="email"],
body[data-po-page="content"] main .gform_wrapper input[type="tel"], body[data-po-page="content"] main .gform_wrapper textarea,
body[data-po-page="content"] main .gform_wrapper select { border: 1px solid var(--po-line); border-radius: 10px; padding: 10px 12px; font: inherit; }
body[data-po-page="content"] main .gform_wrapper .gform_button { background: var(--po-cta); color: var(--po-cta-ink); border: 0; border-radius: 10px; padding: 12px 20px; font-weight: 700; }

/* ---- Home page (Jered 2026-10-15 00:02): town grid, oxygen bar block, three-column reviews. ---- */
.pv-towns__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pv-town { display: grid; gap: 2px; background: #fff; border: 1px solid var(--po-line); border-radius: 12px; padding: 14px; text-decoration: none; color: var(--po-ink); min-height: 92px; transition: border-color .15s, box-shadow .15s; }
.pv-town:hover { border-color: var(--accent, #1f7a8c); box-shadow: 0 4px 14px rgba(11,27,38,.08); }
.pv-town > svg { width: 22px; height: 22px; color: #6b7a86; margin-bottom: 4px; }
.pv-town__name { font-weight: 700; font-size: 1rem; line-height: 1.2; }
.pv-town__alt { font-size: .82rem; color: var(--po-muted); }
.pv-town--all { background: var(--po-ink); color: #fff; border-color: var(--po-ink); justify-content: end; }
.pv-town--all .pv-town__alt { color: rgba(255,255,255,.8); display: inline-flex; align-items: center; gap: 6px; }
.pv-town--all .pv-town__alt svg { width: 16px; height: 16px; }
.pv-town--all:hover { border-color: var(--po-ink); background: #152735; }
.pv-h4 { font-family: inherit !important; font-style: normal !important; font-size: .82rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--po-muted) !important; margin: 18px 0 0 !important; font-weight: 700 !important; }
.pv-bar .pv-photo img { aspect-ratio: 1 / 1; object-fit: cover; }
.pv-split--photo-first .pv-photo { order: -1; }
@media (min-width: 48em) {
  .pv-towns__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .pv-quotes--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64em) {
  .pv-towns__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pv-quotes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pv-split--photo-first { grid-template-columns: 5fr 7fr; }
}

/* ---- /locations/ (scripts/build-locations-page.py, Jered 2026-10-15 01:38) ---- */
.pl-h3 { font-size: 1.25rem !important; margin-bottom: 4px !important; }
.pl-group { margin-top: 28px; }
.pl-group__head { margin-bottom: 14px; }
.pl-group__head--row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 8px 20px; }
.pl-group__book { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; } .pl-group__book svg { width: 16px; height: 16px; }
.pl-cards__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pl-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--po-line); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--po-ink); transition: border-color .15s, box-shadow .15s; }
.pl-card:hover { border-color: var(--accent, #1f7a8c); box-shadow: 0 6px 18px rgba(11,27,38,.1); }
.pl-card__img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #dfe6ea; }
.pl-card__body { display: grid; gap: 4px; padding: 12px 14px 14px; }
.pl-card__name { font-weight: 700; font-size: 1.05rem; line-height: 1.2; }
.pl-card__meta { font-size: .82rem; color: var(--po-muted); }
.pl-card__more { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 600; color: var(--accent, #1f7a8c); margin-top: 4px; }
.pl-card__more svg { width: 15px; height: 15px; }
.pl-quote__inner { display: grid; gap: 16px; align-items: center; padding: 22px; border: 1px solid var(--po-line); border-radius: 14px; background: #f6f9fb; }
.po-btn--ghost { background: #fff; color: var(--po-ink); border: 1.5px solid var(--po-ink); min-width: 150px; }
.po-btn--ghost:hover { background: var(--po-ink); color: #fff; }
.pl-region { padding: 26px 0; border-top: 1px solid var(--po-line); }
.pl-region:first-of-type { border-top: 0; }
.pl-region .pv-photo { order: -1; } .pl-region .pv-photo img { aspect-ratio: 16 / 10; object-fit: cover; }
.pl-pills { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pl-pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px 8px 10px; border: 1px solid var(--po-line); border-radius: 999px; background: #fff; color: var(--po-ink); text-decoration: none; font-weight: 600; font-size: .92rem; transition: border-color .15s, background-color .15s; }
.pl-pill:hover { border-color: var(--po-ink); background: #f6f9fb; }
.pl-pill svg { width: 16px; height: 16px; color: #6b7a86; } .pl-pill small { font-size: .78rem; color: var(--po-muted); font-weight: 500; }
.pl-region .pv-actions { margin-top: 18px; }
@media (min-width: 48em) {
  .pl-cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .pl-quote__inner { grid-template-columns: 1fr auto; padding: 26px 28px; }
  .pl-group { margin-top: 36px; }
}
@media (min-width: 64em) { .pl-region { padding: 36px 0; } .pl-region .pv-photo { order: 0; } .pl-region .pv-photo img { aspect-ratio: 4 / 3; } }

/* ---- content pages rebuilt 2026-10-15 (faq, altitude-sickness, why-oxygen) ---- */
.pv-sub--center { margin: 14px auto 0; text-align: center; }
.pv-faq-page .pp-head + .pp-head, .pv-faq-page .pp-faq__item + .pp-head { margin-top: 28px; }
.pv-faq-page__more { margin-top: 22px; }
.pv-danger .pv-benefits__list { margin-top: 18px; }
@media (min-width: 48em) {
  .pv-benefits__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
  .pv-tiles--6 { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Home hero (Jered 2026-10-21): version 5's words over the home video; phones see the photo with the same buttons ---- */
body[data-po-page="home"] .po-home-hero { display: flex; justify-content: center; }
body[data-po-page="home"] .po-home-hero__inner { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; text-align: center; position: relative; z-index: 2; }
body[data-po-page="home"] .po-home-hero__eyebrow { margin: 0 0 14px; font-family: 'Commissioner', sans-serif; font-size: .95rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.92); text-shadow: 0 1px 8px rgba(0,0,0,.45); }
body[data-po-page="home"] .po-home-hero__title { margin: 0 0 28px; font-family: 'Anek Gurmukhi', 'Commissioner', system-ui, sans-serif; font-weight: 500; font-size: clamp(2.2rem, 5.6vw, 5rem); line-height: 1.05; letter-spacing: -.01em; color: #fff; white-space: nowrap; text-shadow: 0 2px 14px rgba(0,0,0,.4); }
body[data-po-page="home"] .po-home-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 0 0 22px; }
body[data-po-page="home"] .po-home-hero__actions .po-btn { min-height: 54px; min-width: 210px; font-size: 1.08rem; }
body[data-po-page="home"] .po-home-hero__actions .po-btn svg { width: 18px; height: 18px; }
body[data-po-page="home"] .po-home-hero__call { background: rgba(11,27,38,.25); color: #fff; border: 1.5px solid rgba(255,255,255,.85); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body[data-po-page="home"] .po-home-hero__call:hover { background: #fff; color: var(--po-ink); }
body[data-po-page="home"] .po-home-hero__h1 .h1 { margin: 0 auto !important; max-width: 620px; font-family: 'Commissioner', sans-serif !important; font-size: .78rem !important; font-weight: 700 !important; font-style: normal !important; letter-spacing: .1em; line-height: 1.5 !important; color: rgba(255,255,255,.85) !important; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
body[data-po-page="home"] .po-home-hero__h1 .h1 br { display: none; }
@media (max-width: 47.99em) {
  body[data-po-page="home"] .po-home-hero__eyebrow { font-size: .76rem; letter-spacing: .08em; }
  body[data-po-page="home"] .po-home-hero__title { font-size: calc((100vw - 48px) / 13.4); margin-bottom: 22px; } /* one line on every phone */
  body[data-po-page="home"] .po-home-hero__actions { flex-direction: column; align-items: stretch; max-width: 340px; margin-left: auto; margin-right: auto; }
  body[data-po-page="home"] .po-home-hero__actions .po-btn { width: 100%; }
  body[data-po-page="home"] .po-home-hero__h1 .h1 { font-size: .68rem !important; }
}
