/* Student program template (2027): shared CSS, v2 for the native theme (Tomas 2026-10-29: theme-class rules removed) for every program page on Shayne's template.
   Built from the pages' former embed layers (all variants merged). The price note under the booking card
   price comes from the page (--rp-sub, set by the shared JS from the departures). */

/* rp-pl26 :: 2026 program leaders */
.rp-pl26-wrap{margin:0}
.rp-pl26-wrap p.rp-pl26-intro{font-size:1.0625rem;line-height:1.6;letter-spacing:-0.022rem;color:#4a555c;margin:0 0 28px;max-width:52ch}
.rp-pl26{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:18px;margin:0;padding:0}
.rp-pl26__card>p{display:contents}
.rp-pl26__card{display:flex;gap:15px;padding:15px;background:#f6f6f4;border:1px solid #e4e4e2;border-radius:3px;align-items:flex-start}
.rp-pl26__ph{width:76px;height:76px;flex:0 0 76px;object-fit:cover;border-radius:50%;display:block;background:#e4e4e2}
.rp-pl26 p.rp-pl26__nm{font-size:1rem;line-height:1.2;letter-spacing:-0.022rem;font-weight:700;color:#111;margin:0}
.rp-pl26 p.rp-pl26__mt{font-size:0.75rem;line-height:1.3;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;color:var(--Color__Brand,#368ba9);margin:4px 0 0}
.rp-pl26 p.rp-pl26__hk{font-size:0.875rem;line-height:1.45;letter-spacing:-0.011rem;color:#4a555c;margin:6px 0 0}
.rp-pl26-wrap p.rp-pl26-foot{font-size:0.9375rem;line-height:1.55;letter-spacing:-0.022rem;color:#6b767c;margin:26px 0 0}
.rp-pl26--row{display:flex;flex-wrap:wrap;gap:16px 34px}
.rp-pl26--row .rp-pl26__card{background:none;border:0;padding:0;gap:12px;align-items:center}
.rp-pl26--row .rp-pl26__ph{width:60px;height:60px;flex:0 0 60px}
@media (max-width:520px){.rp-pl26{grid-template-columns:1fr}}
/* ============================================================
   SAFETY SECTION
   ============================================================ */

.program-safety-section {
  width: 100%;
  margin: 2rem 0;
}
.program-safety-section,
.program-safety-section * {
  box-sizing: border-box;
}
.program-safety-section > h2 {
  margin: 0 0 1rem;
}
.program-safety-section > p {
  max-width: 46.5rem;
}
.program-safety-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.25rem;
  width: 100%;
  margin-top: 1.75rem;
}
.program-safety-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  column-gap: 1rem;
  min-width: 0;
  padding: 1.4rem 1.4rem 1.5rem;
  background: #f2f4f5;
  border: 0;
  border-top: 2px solid #003964;
  border-radius: 2px;
  box-shadow: none;
}
.program-safety-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  grid-column: 2;
  min-width: 0;
}
.program-safety-card .program-safety-card__icon {
  display: block;
  grid-column: 1;
  width: 34px;
  height: 34px;
  min-width: 34px;
  margin-top: 1px;
  padding: 0;
  overflow: visible;
  background: none;
  border-radius: 0;
}
.program-safety-card .program-safety-card__icon img {
  display: block !important;
  width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain;
  object-position: center;
  opacity: 0.7;
}
/* numbered eyebrow — new markup, see rp-page-markup.html */
.program-safety-card .rp-card-label {
  display: flex;
  gap: 0.5rem;
  margin: 0 0 0.1rem;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.42);
}
.program-safety-card .rp-card-label b {
  font-weight: 600;
  color: #003964;
}
.program-safety-card h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "IBM Plex Serif", Georgia, serif !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.022rem !important;
  text-transform: none !important;
  color: #222 !important;
}
/* lead sentence: same words, more weight */
.program-safety-card .rp-lead {
  margin: 0;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.022rem;
  color: #222;
}
.program-safety-card p {
  margin: 0;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.022rem;
  color: rgba(0, 0, 0, 0.6);
  overflow-wrap: anywhere;
}
.program-safety-section .program-safety-section__link a {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.022rem;
  color: #222;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(0, 0, 0, 0.35);
  text-underline-offset: 0.18em;
}
.program-safety-section .program-safety-section__link a:hover {
  color: #000;
  text-decoration-color: #000;
}
/* ---- links, everywhere in these components ----
   This is a purchase page: the only saturated colour belongs to
   the real enrollment CTA in the sticky bar. Every other link is
   ink with a quiet underline. */

.program-safety-card a,
.program-leader-bio a,
.program-faq .faq-answer a,
.cohort-summary__text a {
  color: #222;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(0, 0, 0, 0.35);
  text-underline-offset: 0.18em;
}
.program-safety-card a:hover,
.program-leader-bio a:hover,
.program-faq .faq-answer a:hover,
.cohort-summary__text a:hover {
  color: #000;
  text-decoration-color: #000;
}
/* WordPress inserts <br> inside the link and around the label */
.program-safety-section__link a br,
.program-safety-card .rp-card-label br {
  display: none;
}
/* ============================================================
   GLOBAL SECTION EYEBROWS
   ============================================================ */

.rp-section-eyebrow,
.rp-eyebrow,
.rp-close .rp-close__eyebrow {
  margin: 2rem 0 0.4rem !important;
  padding: 0 !important;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: #003964 !important;
}
/* Keep eyebrow and H2 tightly grouped */
.rp-section-eyebrow + h2,
.rp-eyebrow + h2 {
  margin-top: 0 !important;
}
/* Slightly less section spacing on mobile */
@media (max-width: 700px) {
  .rp-section-eyebrow,
  .rp-eyebrow,
  .rp-close .rp-close__eyebrow {
    margin-top: 2.25rem !important;
  }
}
@media (max-width: 700px) {
  .program-safety-grid {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   PROGRAM CENTERPIECE
   ============================================================ */

.rp-centerpiece-shell {
  --rpc-surface: #ffffff;
  --rpc-panel: #f2f4f5;
  --rpc-ink: #222222;
  --rpc-muted: rgba(0, 0, 0, 0.62);
  --rpc-rule: rgba(0, 0, 0, 0.13);
  --rpc-navy: #003964;
  --rpc-navy-dark: #002845;
  --rpc-signal: #b45309;
  --rpc-signal-soft: #f8efe4;

  width: 100%;
  margin: 0;
  color: var(--rpc-ink);
  font-family: "IBM Plex Sans", sans-serif;
}
.rp-centerpiece-shell,
.rp-centerpiece-shell * {
  box-sizing: border-box;
}
/* ============================================================
   MAIN CENTERPIECE
   ============================================================ */

.program-centerpiece {
  width: 100%;
  padding: clamp(1.5rem, 3.4vw, 2.75rem);
  display: grid;
  grid-template-columns:
    minmax(250px, 0.72fr)
    minmax(0, 1.28fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  row-gap: clamp(1rem, 2.5vw, 2.25rem);

  background: var(--rpc-panel);
  border-top: 3px solid var(--rpc-navy);
  border-radius: 2px;
}
.program-centerpiece__intro {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.program-centerpiece__eyebrow {
  margin: 0 0 0.55rem !important;
  color: var(--rpc-navy);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.program-centerpiece h2 {
  margin: 0 !important;
  font-family: "IBM Plex Serif", Georgia, serif !important;
  font-size: clamp(1.85rem, 2.8vw, 2.85rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--rpc-ink);
}
/* ============================================================
   PRICE
   ============================================================ */

.program-centerpiece__price {
  margin-top: 2.2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rpc-rule);
  font-variant-numeric: tabular-nums;
}
.program-centerpiece__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
}
.program-centerpiece__price-total {
  color: var(--rpc-navy);
  font-family: "IBM Plex Serif", Georgia, serif;
  font-size: clamp(2.85rem, 4.25vw, 4rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.045em;
}
.program-centerpiece__price-label {
  color: var(--rpc-navy);
  font-size: 0.875rem;
  font-weight: 600;
}
.program-centerpiece__price p {
  margin: 0.75rem 0 0 !important;
  color: var(--rpc-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}
/* ============================================================
   FACT CARDS
   ============================================================ */

.program-centerpiece .rp-facts {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 1rem;
}
.program-centerpiece .rp-facts > div {
  min-width: 0;
  padding: 1.15rem 1.25rem 1.3rem;

  background: var(--rpc-surface);
  border: 1px solid var(--rpc-rule);
  border-top: 2px solid var(--rpc-navy);
  border-radius: 2px;
}
.program-centerpiece .rp-facts dt {
  margin: 0 0 0.4rem;
  color: var(--rpc-ink);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.45;
}
.program-centerpiece .rp-facts dd {
  margin: 0;
  color: var(--rpc-muted);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  letter-spacing: -0.022rem;
}
.program-centerpiece .rp-facts dd strong {
  display: block;
  color: var(--rpc-ink);
}
.program-centerpiece__session-dates {
  display: block;
  margin-top: 0.35rem;
  line-height: 1.65;
}
.program-centerpiece__gallery-link {
  margin-top: 2.5rem;
}
.program-centerpiece__gallery-link a {
  display: inline-block;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  color: #003964;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.program-centerpiece__gallery-link a:hover {
  color: #000;
}
.program-centerpiece__gallery-link a:focus-visible {
  outline: 2px solid #003964;
  outline-offset: 3px;
}
/* ============================================================
   ACTIONS
   ============================================================ */

.program-centerpiece__actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 0;
  padding-top: 1.25rem;
}
.program-centerpiece__button {
  appearance: none;
  min-height: 44px;
  padding: 0.68rem 1.05rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid var(--rpc-navy);
  border-radius: 2px;

  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;

  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}
.program-centerpiece__button--primary {
  background: var(--rpc-navy);
  color: #ffffff !important;
}
.program-centerpiece__button--primary:hover,
.program-centerpiece__button--primary:focus-visible {
  border-color: var(--rpc-navy-dark);
  background: var(--rpc-navy-dark);
  color: #ffffff !important;
}
.program-centerpiece__button--secondary {
  background: #ffffff;
  color: var(--rpc-navy) !important;
}
.program-centerpiece__button--secondary:hover,
.program-centerpiece__button--secondary:focus-visible {
  background: #e7eaec;
  color: #000000 !important;
}
.program-centerpiece__button:focus-visible {
  outline: 3px solid rgba(0, 57, 100, 0.25);
  outline-offset: 2px;
}
/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 850px) {
  .program-centerpiece {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 620px) {
  .program-centerpiece {
    padding: 1.35rem 1rem 1.5rem;
    gap: 1.5rem;
    border-radius: 0;
  }

  .program-centerpiece h2 {
    font-size: 1.8rem;
  }

  .program-centerpiece__price {
    margin-top: 1.6rem;
  }

  .program-centerpiece__price-total {
    font-size: 2.85rem;
  }

  .program-centerpiece .rp-facts {
    grid-template-columns: 1fr;
  }

  .program-centerpiece__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .program-centerpiece__button {
    width: 100%;
  }

}
.program-centerpiece .rp-facts dd > strong + br {
  display: none;
}
.program-centerpiece__session-dates > br {
  display: block !important;
}
/* Desktop sticky enrollment bar — 64px navigation-height match */

  .program-sticky-bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 64px;
    box-sizing: border-box;
    background: #003964;
    color: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.18);
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 0.25s ease,
      visibility 0s linear 0.25s;
  }
.program-sticky-bar.program-sticky-bar--visible {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
@media (prefers-reduced-motion: reduce) {
    .program-sticky-bar {
      transition: none;
    }
  }
.program-sticky-bar__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    align-items: center;
    gap: 2rem;
    width: 100%;
    max-width: 1248px;
    height: 64px;
    min-height: 64px;
    margin: 0 auto;
    padding: 0 1.5rem;
    box-sizing: border-box;
  }
.program-sticky-bar__information {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.2vw, 2.25rem);
    min-width: 0;
  }
.program-sticky-bar__information span {
    color: #fff;
    font-size: 1rem;
    line-height: 1.35;
    white-space: nowrap;
  }
.program-sticky-bar__name {
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
  }
.program-sticky-bar__price,
  .program-sticky-bar__duration,
  .program-sticky-bar__ages {
    flex: 0 0 auto;
    font-weight: 500;
  }
.program-sticky-bar__button {
    appearance: none;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 176px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 10px 16px;
    box-sizing: border-box;
    border: 0.8px solid #fff;
    border-radius: 9px;
    background: #fff;
    color: #000;
    font-family: "IBM Plex Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    letter-spacing: -0.24px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      transform 0.2s ease;
  }
.program-sticky-bar__button:hover {
    background: transparent;
    color: #fff;
  }
.program-sticky-bar__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
  }
.program-sticky-bar__button:active {
    transform: translateY(1px);
  }
.program-sticky-bar-spacer {
    display: block;
    height: 64px;
  }

@media (max-width: 900px) {
    .program-sticky-bar,
    .program-sticky-bar-spacer {
      display: none !important;
    }
  }
@media (min-width: 901px) and (max-width: 1150px) {
    .program-sticky-bar__inner {
      gap: 1.25rem;
      padding-right: 1.5rem;
      padding-left: 1.5rem;
    }

    .program-sticky-bar__information {
      gap: 1rem;
    }

    .program-sticky-bar__information span {
      font-size: 0.9rem;
    }

    .program-sticky-bar__button {
      padding-right: 0.5rem;
      padding-left: 0.5rem;
    }
  }

/* rp-pp :: program page, round 2 (2026-10-21). Shared /students/ tokens (rp-cp), serif display, bands not lines, two link classes. */
.Program_Detail_Page{--cp-navy:#003964;--cp-navy-80:#336183;--cp-navy-20:#CCD7E0;--cp-orange:#CD6414;--cp-orange-dark:#B25410;--cp-ink:#333;--cp-muted:#666;--cp-rule:#CCC;--cp-canvas:#F6F3ED;--cp-green:#5A8C4D;--cp-serif:"IBM Plex Serif",Georgia,serif;--cp-sans:"IBM Plex Sans","Helvetica Neue",Helvetica,Arial,sans-serif}
.rp-pp{--pp-ink:var(--cp-ink);--pp-muted:var(--cp-muted);--pp-rule:var(--cp-rule);--pp-navy:var(--cp-navy);--pp-panel:var(--cp-canvas);font-family:var(--cp-sans);color:var(--cp-ink);font-size:19px;line-height:1.6}
.rp-centerpiece-shell.rp-cp3{--rpc-ink:var(--cp-ink);--rpc-muted:var(--cp-muted);--rpc-rule:var(--cp-rule);--rpc-navy:var(--cp-navy)}
/* type: H1 56/36, H2 40/28 serif navy, H3 19/700 navy, body 19, compact 16, label 14 */
.Program_Detail_Page:has(.rp-cp3) h1{font-family:var(--cp-serif) !important;font-size:44px !important;line-height:1.05 !important;letter-spacing:-.025em;font-weight:700 !important;color:var(--cp-navy) !important;text-wrap:balance}
.rp-pp h2 {font-family:var(--cp-serif) !important;font-size:32px !important;line-height:1.15 !important;letter-spacing:-.02em;font-weight:700 !important;color:var(--cp-navy) !important;margin:0 0 20px !important;text-wrap:balance}
.rp-pp h3{margin:32px 0 8px !important;font-family:var(--cp-sans) !important;font-size:19px !important;line-height:1.35 !important;font-weight:700 !important;color:var(--cp-navy) !important}
.rp-pp p,.rp-pp li,.rp-faq__a p,.rp-faq__a li,.rp-pp-next__row p{margin:0 0 16px !important;font-size:19px !important;line-height:1.6 !important;color:var(--cp-ink)}
.rp-pp ul{margin:0 0 16px;padding-left:1.2rem}
.rp-pp li{margin:0 0 8px;line-height:1.5}
.rp-pp .rp-pp-note,.rp-pp .rp-pp-ratings,.rp-pp .rp-pp-ages p,.rp-pp .rp-pp-person p.rp-pp-person__mt{color:var(--cp-muted) !important;font-size:14px !important;line-height:1.5 !important}
.rp-pp-eyebrow{display:none !important}
/* short description under the gallery */

/* the generic Tokyo quote stays hidden until Scott writes a program quote */

/* itinerary: navy-20 day markers, no rail, no top rule */

/* map caption */
.Program_Detail_Page .GoogleMapCaption,.Program_Detail_Page .GoogleMapSimple__Caption{font-size:12px;color:var(--cp-muted)}
/* bands: full-width sections alternate white and canvas; content sits in the 1152 shell */
.Program_Detail_Page .Layer:has(> .Layer__Inner .rp-pp){padding-block:40px !important;background:#fff}

.Slot2Layers .rp-pp{max-width:760px;margin-left:0 !important;margin-right:auto !important}
.Slot2Layers .rp-pp>p,.Slot2Layers .rp-pp>h2,.Slot2Layers .rp-pp>ul{max-width:760px}
/* where they stay: one table, Tokyo | Kanazawa, one rule under the header */
.rp-pp-stay{padding-top:48px !important}
.rp-pp-table{border-top:0 !important;margin:0 0 16px;font-size:16px}
.rp-pp-tr{display:grid;grid-template-columns:8.5rem 1fr 1fr;gap:16px;padding:10px 0;border-bottom:0 !important;line-height:1.5}
.rp-pp-th{padding-top:0;border-bottom:1px solid var(--cp-rule) !important;color:var(--cp-navy);font-size:16px;font-weight:700}
.rp-pp-tr [role=rowheader]{color:var(--cp-muted);font-size:14px;font-weight:400;padding-top:2px}
.rp-pp-th>span:first-child{font-weight:400}
/* safety: grid on white, no rules; who runs it */
.rp-pp-safety .rp-pp-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;margin:24px 0 16px;border:0 !important}
.rp-pp-safety .rp-pp-dl>div{display:block;padding:0 !important;border:0 !important}
.rp-pp-safety .rp-pp-dl dt{margin:0 0 6px;color:var(--cp-navy);font-size:16px;font-weight:700}
.rp-pp-safety .rp-pp-dl dd{margin:0;color:var(--cp-ink);font-size:16px;line-height:1.6}
.rp-pp-people{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;margin:8px 0 16px;max-width:900px}
.rp-pp-person{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.rp-pp-person>p{display:none}
.rp-pp-person>div{grid-column:2}
.rp-pp-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.rp-pp .rp-pp-person p{margin:0 0 4px !important;font-size:16px !important;line-height:1.5 !important}
.rp-pp-person .rp-pp-person__nm{font-size:16px !important;font-weight:700;color:var(--cp-navy)}
.rp-pp-person .rp-pp-person__mt{color:var(--cp-muted);font-size:14px !important}
/* proof: who went in 2026 */
.rp-pp-ages{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin:4px 0 24px;font-size:14px;color:var(--cp-muted)}
.rp-pp-ages>div{display:flex;align-items:center;gap:8px}
.rp-pp-ages>div>span:first-child{font-variant-numeric:tabular-nums;color:var(--cp-ink);font-weight:700}
.rp-pp-dot{display:inline-block;width:8px;height:8px;margin-right:3px;border-radius:50%;background:var(--cp-navy)}
.rp-pp-ages p{flex-basis:100%;margin:0 !important;font-size:14px !important;color:var(--cp-muted)}
.rp-pp-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 24px;max-width:900px}
.rp-pp-strip>p{display:none}
.rp-pp-strip figure{margin:0}
.rp-pp-strip img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.rp-pp-strip figcaption{margin-top:6px;color:var(--cp-muted);font-size:14px;line-height:1.4}
.rp-pp-voices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 16px}
.rp-pp-voices>p{display:none}
.rp-pp-voice{margin:0;padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-pp .rp-pp-voice p{margin:0 0 12px !important;font-family:var(--cp-serif) !important;font-size:19px !important;line-height:1.55 !important;color:var(--cp-ink) !important;font-style:normal !important}
.rp-pp .rp-pp-voice p:has(cite),.rp-pp .rp-pp-voice p:has(>cite){margin:0 !important;font-family:var(--cp-sans) !important;font-size:14px !important;color:var(--cp-muted) !important}
.rp-pp-voice cite{display:block;color:var(--cp-muted);font-size:14px;font-style:normal;line-height:1.5}
.rp-pp-ratings{margin-top:8px !important;color:var(--cp-muted);font-size:14px !important}
/* fit (two columns, as cp-fit) */
/* next steps */
.rp-pp-next__row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.rp-pp-next__row>p{display:none}
.rp-pp-next__row>div{padding:24px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-pp-next__row h3{margin:0 0 8px !important}
.rp-pp .rp-pp-next__row p:has(.rp-pp-btn){margin:16px 0 0 !important}
.rp-pp .rp-pp-btn{display:inline-flex;align-items:center;min-height:46px;padding:10px 24px;border:1px solid var(--cp-navy) !important;border-radius:999px;background:#fff;color:var(--cp-navy) !important;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none !important}
.rp-pp .rp-pp-btn:hover{background:var(--cp-navy);color:#fff !important}
.rp-pp .rp-pp-btn--primary{background:var(--cp-orange);border-color:var(--cp-orange) !important;color:#fff !important}
.rp-pp .rp-pp-btn--primary:hover{background:var(--cp-orange-dark);border-color:var(--cp-orange-dark) !important}
/* FAQ: tabs as pills, questions as white cards on canvas, no rules */
.rp-faq{max-width:760px}
.rp-faq__lead{color:var(--cp-muted) !important;font-size:16px !important}
.rp-faq__tabs{display:none}
.rp-faq.is-ready .rp-faq__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.rp-faq__tabs button{appearance:none;min-height:40px;padding:6px 16px;border:1px solid var(--cp-navy);border-radius:999px;background:#fff;color:var(--cp-navy);font:700 14px/1.2 var(--cp-sans);cursor:pointer}
.rp-faq__tabs button:hover{background:var(--cp-navy-20)}
.rp-faq__tabs button[aria-selected=true]{background:var(--cp-navy);color:#fff}
.rp-faq__tabs button:focus-visible{outline:2px solid var(--cp-navy);outline-offset:2px}
.rp-faq__panel{margin:0;max-width:760px}
.rp-faq__panel h3{margin:24px 0 8px !important}
.rp-faq.is-ready .rp-faq__panel{display:none}
.rp-faq.is-ready .rp-faq__panel.is-active{display:block}
.rp-faq.is-ready .rp-faq__panel h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rp-faq details,.rp-faq details:first-of-type{margin:0;border:0 !important;border-radius:0;background:transparent;scroll-margin-top:100px}
.rp-faq details+details{margin-top:12px}
.rp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;cursor:pointer;list-style:none;font-weight:700;font-size:19px;line-height:1.4;color:var(--cp-navy)}
.rp-faq summary::-webkit-details-marker{display:none}
.rp-faq summary::after{content:"";flex:none;width:.5rem;height:.5rem;margin-right:.25rem;border-right:2px solid var(--cp-navy);border-bottom:2px solid var(--cp-navy);transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.rp-faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.rp-faq summary:focus-visible{outline:2px solid var(--cp-navy);outline-offset:2px}
.rp-faq__a{padding:0 0 4px;font-size:19px;line-height:1.6;max-width:640px;color:var(--cp-ink)}
.rp-faq__a p{margin:0 0 12px !important;line-height:1.6 !important}
.rp-faq__a ul{margin:0 0 12px !important;padding-left:22px !important}
.rp-pp .rp-faq__a li{margin:0 0 8px !important;font-size:19px !important;line-height:1.5 !important}
.rp-faq__a p:has(+ul){margin-bottom:8px !important}
.rp-faq__a>p:empty{display:none}
/* two link classes. A = leaves the page (evidence): quiet. B = stays on the page: navy bold, inviting. */
:is(.rp-pp,.rp-cp3,.rp-pp-ratings) a:not([href^="#"]):not(.rp-pp-btn):not(.rp-cp3__go) {color:var(--cp-ink) !important;font-weight:400 !important;text-decoration:underline !important;text-decoration-color:var(--cp-rule) !important;text-decoration-thickness:1px !important;text-underline-offset:3px !important;border:0 !important;background:none !important}
:is(.rp-pp,.rp-cp3,.rp-pp-ratings) a:not([href^="#"]):not(.rp-pp-btn):not(.rp-cp3__go):hover {color:var(--cp-orange-dark) !important;text-decoration-color:var(--cp-orange-dark) !important;text-decoration-thickness:2px !important}
:is(.rp-pp,.rp-cp3) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go),
.rp-faq summary {color:var(--cp-navy) !important;font-weight:700 !important;text-decoration:none !important;border:0 !important;cursor:pointer}
:is(.rp-pp,.rp-cp3) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go):hover {color:var(--cp-navy-80) !important;text-decoration:none !important}
.rp-cp3__note a[href^="#"]::after,
.rp-cp3__buy a.rp-cp3__date::after {content:" ↓"}

/* sidebar (theme booking card): shared palette, no dividers, orange Add to Cart */

.Program_Detail_Page:has(.rp-cp3) :is(.program-sticky-bar__button) {background:var(--cp-orange) !important;border-color:var(--cp-orange) !important;color:#fff !important;border-radius:999px !important}
.Program_Detail_Page:has(.rp-cp3) :is(.program-sticky-bar__button):hover {background:var(--cp-orange-dark) !important;border-color:var(--cp-orange-dark) !important}

/* bottom section: program types as pills, similar programs in navy */

/* gallery dots: keep the small dot, give it a 24px tap area */

@media (max-width:860px){
  #hubspot-messages-iframe-container{bottom:84px !important}
  .Program_Detail_Page:has(.rp-cp3) h1{font-size:32px !important}
  .rp-pp h2 {font-size:26px !important}
  .rp-cp3__deck{font-size:17px !important}
  .Program_Detail_Page .Layer:has(> .Layer__Inner .rp-pp){padding-block:28px !important}
  .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts{gap:16px 0}
  .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div,.rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div+div{padding:0 12px 0 0;border:0 !important}
  .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div:nth-child(even){padding-left:12px;border-left:0 !important}
  .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div:nth-child(n+3){border-top:0 !important}
}
@media (max-width:1000px) and (min-width:701px){
  .rp-pp-safety .rp-pp-dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .cp-fit,.rp-pp-people,.rp-pp-next__row,.rp-pp-voices,.rp-pp-stats,.rp-pp-safety .rp-pp-dl{grid-template-columns:1fr !important}
  .cp-fit-col,.rp-pp-next__row>div,.rp-pp-voice{padding:24px 20px !important}
  .rp-pp-safety .rp-pp-dl{grid-template-columns:1fr;gap:20px}
  .rp-pp-tr{grid-template-columns:5.5rem 1fr 1fr;gap:10px;font-size:15px}
  .rp-pp-strip{gap:8px}
}
.rp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.Program_Detail_Page{color:var(--cp-ink)}
.Program_Detail_Page :is(.PS__plan) {color:var(--cp-ink) !important}

.Program_Detail_Page :is(.PS__plan,.PS__plan strong) {color:var(--cp-ink) !important}

/* r2c leftovers: itinerary footer at label size; new-tab contact links keep the quiet underline */

/* r2d (Quintin 10-21, 9 notes) */
/* 5: one reading column, same left edge as the itinerary */
.rp-pp-stay,.rp-pp-people,.rp-pp-strip,.rp-pp-voices,.rp-faq__panel{max-width:760px}
@media (min-width:1100px) and (max-width:1311px){.Program_Detail_Page:has(.rp-cp3) :is(.Slot2Layers) .Layer__Inner {padding-left:56px !important}}
.rp-pp-tr{grid-template-columns:140px 1fr 1fr !important;padding:12px 0 !important}
.rp-pp-th{padding-top:0 !important}
/* 6: safety as small cards, two columns inside the column */
.rp-pp-safety .rp-pp-dl{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;max-width:760px}
.rp-pp-safety .rp-pp-dl>div{padding:24px !important;background:#fff;border:1px solid var(--cp-rule) !important;border-radius:28px}
/* 7: two stats, then the canon sentence as a caption */
.rp-pp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin:8px 0 8px}
.rp-pp-stats>p{display:none}
.rp-pp .rp-pp-stat p.rp-pp-stat__n{margin:0 0 4px !important;font-family:var(--cp-serif) !important;font-size:40px !important;line-height:1.05 !important;font-weight:700 !important;color:var(--cp-navy) !important}
.rp-pp .rp-pp-stat p.rp-pp-stat__l{margin:0 !important;font-size:16px !important;line-height:1.5 !important;color:var(--cp-ink) !important}
.rp-pp .rp-pp-stats__cap{max-width:760px;margin-bottom:24px !important}
/* 9: fit = the country page's cp-fit component */
.rp-pp .cp-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin-top:24px}
.rp-pp .cp-fit>p{display:none}
.rp-pp .cp-fit-col{padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-pp .cp-fit-col h3{margin:0 !important}
.rp-pp .cp-fit-col ul{margin:12px 0 0 !important;padding:0 !important;list-style:none}
.rp-pp .cp-fit-col li{margin:0 !important;padding:12px 0 !important;border-top:1px solid var(--cp-rule);font-size:16px !important;line-height:1.6 !important;list-style:none}
.rp-pp .cp-fit-col li::before,.rp-pp .cp-fit-col li::marker{content:none}
/* 8: theme "program types" block: small inline pills, our H2, same column */

/* 1: disclosures: navy, no underline in any state, hover navy-80, one caret, list 16 ink */
.rp-faq summary,
.rp-faq summary:hover,
.rp-faq details[open] summary {text-decoration:none !important;color:var(--cp-navy) !important}
.rp-faq summary:hover {color:var(--cp-navy-80) !important}

/* r3 (Quintin Q1-Q5 + external review round 3) */
/* R4: booking disclosures are 40px targets; primary orange labels 19/700 */

.Program_Detail_Page:has(.rp-cp3) :is(.program-sticky-bar__button),
.rp-pp .rp-pp-btn--primary {font-size:19px !important;font-weight:700 !important}

/* R5: no repeated full-payment line while Pay in full is selected; quiet "Not sure yet?" */

/* R7: one quiet on-page link above the day by day */
.Program_Detail_Page .rp-pp-jump{margin:4px 0 0 !important;font-size:16px !important}
.Program_Detail_Page .rp-pp-jump a{color:var(--cp-navy) !important;font-weight:700 !important;text-decoration:none !important;border:0 !important}
.Program_Detail_Page .rp-pp-jump a::after{content:" ↓"}
.Program_Detail_Page .rp-pp-jump a:hover{color:var(--cp-navy-80) !important;text-decoration:none !important}
.rp-pp h2{scroll-margin-top:100px}
/* R3 + R8 phones: safety one column, stay table narrower label column */
@media (max-width:700px){
  .Program_Detail_Page .rp-pp-safety .rp-pp-dl{grid-template-columns:1fr !important}
  .Program_Detail_Page .rp-pp-safety .rp-pp-dl>div{padding:20px !important}
  .Program_Detail_Page .rp-pp-tr.rp-pp-tr{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) !important;gap:12px !important;font-size:16px !important}
}
/* R10: next-step cards 16/1.5, no wrapping primary label; theme browse block = quiet leave-links */
.rp-pp .rp-pp-next__row p{font-size:16px !important;line-height:1.5 !important}
.rp-pp .rp-pp-btn--primary{white-space:nowrap}

/* r3b: on-page links: no underline in any state (rest, hover, focus, active); arrows never decorate separately; keyboard focus = outline */
:is(.rp-pp,.rp-cp3,.rp-pp-jump) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go),
:is(.rp-pp,.rp-cp3,.rp-pp-jump) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go):is(:hover,:focus,:focus-visible,:active) {text-decoration:none !important;border-bottom:0 !important;box-shadow:none !important;background-image:none !important}
:is(.rp-pp,.rp-cp3,.rp-pp-jump) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go)::after {display:inline;text-decoration:none !important;border:0 !important}
:is(.rp-pp,.rp-cp3,.rp-pp-jump) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go):focus-visible {outline:2px solid var(--cp-navy) !important;outline-offset:2px;border-radius:2px}
/* r3b: 4-Pay schedule "today" dot in navy, not teal */

/* r3c: the fleet arrival/departure dates table, on our tokens */
.rp-faq__a .rp-dates{max-width:560px;margin:4px 0 16px}
.rp-faq__a .rp-dates__r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 0}
.rp-faq__a .rp-dates__h{padding-top:0;border-bottom:1px solid var(--cp-rule)}
.rp-faq__a .rp-dates__h span{font-size:14px;line-height:1.4;color:var(--cp-muted)}
.rp-faq__a .rp-dates__r:not(.rp-dates__h) span{font-size:16px;line-height:1.5;color:var(--cp-ink)}
.rp-faq__a .rp-dates strong{font-weight:700;color:var(--cp-ink)}
/* r3c: one focus ring around the whole on-page link, arrow included */
:is(.rp-pp,.rp-cp3,.rp-pp-jump) a[href^="#"]:not(.rp-pp-btn):not(.rp-cp3__go):focus-visible {outline:2px solid var(--cp-navy) !important;outline-offset:2px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* r3d: FAQ tabs = the country page section nav (14px/700 navy text, pill only when selected, 4px gap); 40px targets */
.rp-faq.is-ready .rp-faq__tabs{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 20px}
.rp-faq .rp-faq__tabs button{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:0 !important;border-radius:28px;background:transparent;color:var(--cp-navy);font:700 14px/1.6 var(--cp-sans);white-space:nowrap;cursor:pointer}
.rp-faq .rp-faq__tabs button:hover{background:rgba(204,215,224,.6)}
.rp-faq .rp-faq__tabs button[aria-selected=true]{background:var(--cp-navy-20);color:var(--cp-navy)}
.rp-faq .rp-faq__tabs button:focus-visible{outline:2px solid var(--cp-navy);outline-offset:2px}
@media (max-width:700px){
  .rp-faq.is-ready .rp-faq__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:-4px;padding-inline:4px;max-width:calc(100% + 8px)}
  .rp-faq.is-ready .rp-faq__tabs::-webkit-scrollbar{display:none}
  .rp-faq .rp-faq__tabs button{flex:0 0 auto}
}
/* r3d: tighter FAQ: question 17/700, answer 17/1.55, 14px row padding, 12px question->answer, 10px paragraphs, 20px after an open answer */
.rp-pp .rp-faq__lead{font-size:16px !important;color:var(--cp-muted) !important;margin:0 0 8px !important}
.rp-faq details+details{margin-top:0 !important}
.rp-faq summary{font-size:17px !important;line-height:1.4 !important;padding:14px 0 !important}
.rp-faq details[open]>summary{padding-bottom:12px !important}
.rp-faq .rp-faq__a{font-size:17px !important;line-height:1.55 !important;padding:0 0 10px !important}
.rp-pp .rp-faq__a p{font-size:17px !important;line-height:1.55 !important;margin:0 0 10px !important}
.rp-pp .rp-faq__a li{font-size:17px !important;line-height:1.5 !important;margin:0 0 6px !important}
.rp-faq__a ul{margin:0 0 10px !important}
.rp-faq__a p:has(+ul){margin-bottom:6px !important}
.rp-faq__a .rp-dates__h span{font-size:13px !important}
.rp-faq__a .rp-dates__r:not(.rp-dates__h) span{font-size:15px !important}
/* rp-x :: Tokyo to Seoul components on the shared cp tokens (merged draft 2026-10-22). Cards = white, 1px rule, 28px radius. No stripes, no fills. */
.rp-pp .rp-x-meta{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--cp-muted)}
.rp-pp .rp-x-sub{margin:0 0 12px;font-size:14px;color:var(--cp-muted)}
.rp-x-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 0}
.rp-x-card{background:#fff;border:1px solid var(--cp-rule);border-radius:28px;overflow:hidden}
.rp-x-card img{display:block;width:100%;height:160px;object-fit:cover}
.rp-x-card__b{padding:20px 24px 24px}
.rp-pp .rp-x-card h3{margin:0 0 6px;font-size:19px}
.rp-pp .rp-x-card p:last-child{margin:0;font-size:16px;color:var(--cp-ink)}
.rp-pp ul.rp-x-checks{display:flex;flex-wrap:wrap;gap:8px 28px;margin:20px 0 0;padding:0;list-style:none;font-size:16px;font-weight:600;color:var(--cp-ink)}
.rp-pp ul.rp-x-checks li{margin:0;padding:0;background:none;border:0}
.rp-pp ul.rp-x-checks li::before{content:"✓";position:static;margin-right:8px;background:none;color:var(--cp-green);font-weight:700}
.rp-x-quote{margin:0;padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-x-quote blockquote{margin:0;padding:0;border:0;font-family:var(--cp-serif);font-size:21px;line-height:1.5;font-style:normal;color:var(--cp-navy)}
.rp-x-quote figcaption{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;line-height:1.4;color:var(--cp-muted)}
.rp-x-quote figcaption img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.rp-x-quote figcaption strong{color:var(--cp-ink)}
.rp-x-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 0}
.rp-x-col{padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-pp .rp-x-col h3{margin:0 0 4px}
.rp-x-col dl{display:grid;gap:14px;margin:16px 0 0}
.rp-x-col dl>div{display:block}
.rp-x-col dt{display:block;font-size:14px;font-weight:700;color:var(--cp-navy)}
.rp-x-col dd{display:block;margin:2px 0 0;font-size:16px;line-height:1.5;color:var(--cp-ink)}
.rp-x-in,.rp-x-out{padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px}
.rp-pp .rp-x-in h3,.rp-pp .rp-x-out h3{margin:0 0 12px}
.rp-pp .rp-x-in ul,.rp-pp .rp-x-out ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.rp-pp .rp-x-in ul li,.rp-pp .rp-x-out ul li{position:relative;margin:0;padding:0 0 0 28px;list-style:none;line-height:1.5}
.rp-pp .rp-x-in ul li::before,.rp-pp .rp-x-out ul li::before{position:absolute;left:0;top:0;width:auto;height:auto;margin:0;background:none;font-weight:700}
.rp-pp .rp-x-in ul li::before{content:"✓";color:var(--cp-green)}
.rp-pp .rp-x-out ul li::before{content:"–";color:var(--cp-muted)}
.rp-pp p.rp-x-flightnote{margin:24px 0 0}
.rp-x-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;background:#fff;border:1px solid var(--cp-rule);border-radius:28px;overflow:hidden}
.rp-x-flow>div{padding:20px 24px;border-right:1px solid var(--cp-rule)}
.rp-x-flow>div:last-child{border-right:0}
.rp-x-flow .rp-x-inc{background:var(--cp-canvas)}
.rp-x-flow .rp-x-leg{display:block;font-size:14px;font-weight:600;color:var(--cp-muted)}
.rp-x-flow strong{display:block;margin:4px 0;font-family:var(--cp-serif);font-size:19px;color:var(--cp-navy)}
.rp-x-flow span:last-child{font-size:16px;line-height:1.5;color:var(--cp-ink)}
.rp-x-scroll{overflow-x:auto;margin:8px 0 16px}
.rp-x-table{width:100%;border-collapse:collapse;font-size:16px}
.rp-x-table th{text-align:left;padding:8px 12px 8px 0;font-weight:700;color:#222;background:none;text-transform:none;border-bottom:2px solid rgba(0,11,20,.2)}
.rp-x-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--cp-rule);line-height:1.5;vertical-align:top}
.rp-pp p.rp-x-warn{margin:16px 0;padding:20px 24px;background:var(--cp-canvas);border-radius:20px;font-size:16px}
.rp-x-fd{margin-top:16px;border-top:1px solid var(--cp-rule);border-bottom:1px solid var(--cp-rule)}
.rp-x-fd>summary{cursor:pointer;list-style:none;position:relative;padding:16px 32px 16px 0;font-weight:700;color:var(--cp-navy)}
.rp-x-fd>summary::-webkit-details-marker{display:none}
.rp-x-fd>summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:24px;font-weight:400}
.rp-x-fd[open]>summary::after{content:"–"}
.rp-x-fd__b{padding:0 0 12px}
.rp-x-fd__b ol{margin:0 0 12px;padding-left:20px}
.rp-x-fd__b li{margin:0 0 6px;line-height:1.5}
.rp-x-leader{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;margin-top:24px;padding:32px;background:#fff;border:1px solid var(--cp-rule);border-radius:28px;color:var(--cp-ink)}
.rp-x-leader img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}
.rp-pp .rp-x-leader .rp-x-who{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--cp-muted)}
.rp-pp .rp-x-leader .rp-x-who strong{color:var(--cp-ink)}
.rp-x-leader blockquote{margin:0;padding:0;border:0;font-family:var(--cp-serif);font-size:21px;line-height:1.5;font-style:normal;color:var(--cp-navy)}
.rp-x-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.rp-x-three>div{padding-top:12px;border-top:1px solid var(--cp-rule);font-size:16px;line-height:1.5;color:var(--cp-ink)}
.rp-x-three strong{display:block;margin-bottom:4px;font-size:14px;font-weight:700;color:var(--cp-navy)}
@media (max-width:820px){
 .rp-x-cards3,.rp-x-two,.rp-x-flow,.rp-x-three,.rp-x-leader{grid-template-columns:1fr}
 .rp-x-flow>div{border-right:0;border-bottom:1px solid var(--cp-rule)}
 .rp-x-flow>div:last-child{border-bottom:0}
 .rp-x-leader img{max-width:160px}
 .rp-x-col,.rp-x-in,.rp-x-out,.rp-x-quote,.rp-x-leader{padding:24px 20px}
}
/* r2 (merged draft): compact 16 inside cards, following the cp-fit and person rules */
.rp-pp .rp-x-card p,.rp-pp .rp-x-col div,.rp-pp .rp-x-in li,.rp-pp .rp-x-out li,.rp-pp .rp-x-three>div,.rp-pp .rp-x-flow span,.rp-pp .rp-x-table td,.rp-pp p.rp-x-warn,.rp-pp .rp-x-fd__b li,.rp-pp .rp-x-fd__b p{font-size:16px !important;line-height:1.5 !important}
.rp-pp .rp-x-card p{margin:0 0 6px !important}
.rp-pp p.rp-x-meta,.rp-pp p.rp-x-sub,.rp-pp p.rp-x-who{margin:0 0 6px !important;font-size:14px !important;line-height:1.45 !important;color:var(--cp-muted) !important}
.rp-pp .rp-x-col div{margin:0 0 12px}
.rp-pp .rp-x-col div>strong{display:block;font-size:14px;font-weight:700;color:var(--cp-navy)}
.rp-pp ul.rp-x-checks{margin:20px 0 0 !important;padding:0 !important}
.rp-pp ul.rp-x-checks li{margin:0 !important;padding:0 !important;font-size:16px !important}
.rp-x-leader{grid-template-columns:1fr;gap:20px}
.rp-x-leader>div:first-child{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center}
.rp-pp .rp-x-leader>div:first-child>p{margin:0 !important}
.rp-x-leader img{width:72px;height:72px;border-radius:50%}

/* rp-v4: calm body for Tokyo to Seoul (keep/avoid note 2026-10-22). No cards, no eyebrows, one orange button. */
.rp-v4.rp-v4{margin:0 0 3.5rem;padding:0;background:none;border:0;box-shadow:none}
.rp-v4.rp-v4 h2{margin:0 0 1.25rem;font-family:"IBM Plex Serif",Georgia,serif;font-size:32px;font-weight:700;line-height:1.15;color:#003964}
.rp-v4.rp-v4 h3{margin:1.75rem 0 .5rem;font-family:"IBM Plex Serif",Georgia,serif;font-size:20px;font-weight:700;line-height:1.25;color:#003964}
.rp-v4.rp-v4 p{margin:0 0 1rem;max-width:68ch}
.rp-v4 .rp-v4-stays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0}
.rp-v4 .rp-v4-stays figure{margin:0;padding:0;border:0;background:none}
.rp-v4 .rp-v4-stays img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.rp-v4 .rp-v4-stays figcaption{margin-top:.6rem;line-height:1.45}
.rp-v4 ul.rp-v4-list{list-style:none;margin:1.25rem 0;padding:0}
.rp-v4 .rp-v4-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:.5rem 0 1rem}
.rp-v4 .rp-v4-two h3{margin-top:.75rem}
.rp-v4 .rp-v4-two ul{margin:0;padding-left:1.15rem;list-style:disc}
.rp-v4 ul.rp-v4-list li,.rp-v4 .rp-v4-two li{margin:0 0 .5rem;padding:0;border:0;background:none}
.rp-v4 ul.rp-v4-list li::before,.rp-v4 .rp-v4-two li::before{content:none;display:none}
.rp-v4 .rp-v4-quote{margin:2rem 0;padding:0;border:0;background:none}
.rp-v4 .rp-v4-quote blockquote{margin:0;padding:0;border:0;background:none;font-style:italic;max-width:62ch}
.rp-v4 .rp-v4-quote figcaption{display:flex;align-items:center;gap:.6rem;margin-top:.75rem}
.rp-v4 .rp-v4-quote img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.rp-v4.rp-v4 .rp-v4-small{font-size:.875rem;color:#404041}
.rp-v4 .rp-v4-scroll{overflow-x:auto;margin:1rem 0}
.rp-v4 table.rp-v4-table{width:100%;border-collapse:collapse;border:0;background:none}
.rp-v4 table.rp-v4-table th,.rp-v4 table.rp-v4-table td{padding:.55rem .9rem .55rem 0;text-align:left;vertical-align:top;border:0;background:none}
.rp-v4 table.rp-v4-table thead th{color:#222;font-weight:700;text-transform:none;letter-spacing:0;border-bottom:2px solid rgba(0,11,20,.2)}
.rp-v4 table.rp-v4-table tbody th{font-weight:700;color:#222}
.rp-v4 details.rp-v4-more{margin:1.25rem 0 0;padding:0;border:0;background:none}
.rp-v4 details.rp-v4-more>summary,.rp-v4-faq details>summary{cursor:pointer;font-weight:700;color:#003964}
.rp-v4-faq details{margin:0;padding:.55rem 0;border:0;background:none}
.rp-v4-faq details .rp-faq__a{padding:.5rem 0 0}
.rp-v4-close a.rp-x-cta{display:inline-block;padding:.9rem 1.6rem;border:0;border-radius:999px;background:#CD6414;color:#fff;font-weight:700;text-decoration:none}
@media (max-width:767px){.rp-v4 .rp-v4-stays,.rp-v4 .rp-v4-two{grid-template-columns:1fr}.rp-v4.rp-v4 .rp-pp-ages{display:flex;flex-direction:column;gap:4px}.rp-v4.rp-v4 .rp-pp-ages>div{width:100%;flex:none}}
/* No decorative stripes or soft shadows (Shayne 2026-10-22, memory feedback-no-decorative-stripes). Functional lines stay: table header rule. Control shadows and outlines removed too (Shayne 2026-10-22); a selected session or pay tile shows as a fill. */
.Program_Detail_Page .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts,.Program_Detail_Page .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div,.Program_Detail_Page .rp-centerpiece-shell.rp-cp3 .program-centerpiece .rp-facts>div+div{border:0}

body aside.program-sticky-bar {box-shadow:none}

/* CRO 82-move pass 2026-10-22: 24px tap targets (move 66), close-section steps */
.rp-cp3__price a,
.rp-v4-close p a:not(.rp-pp-btn),
.rp-v4 p>a:only-child:not(.rp-pp-btn) {padding-block:3px}
.rp-v4-close .rp-v4-rating{font-size:15px;color:var(--cp-muted)}
.rp-v4-close h3{margin-top:28px}
.rp-v4-steps{padding-left:1.4em}
.rp-v4-steps li{margin:6px 0}
.rp-v4-steps>li{display:list-item;list-style-type:decimal}
/* Simplify pass 2026-10-22: one font family, brand colors only (DESIGN.md), pill buttons, FAQ topic tabs */
.Program_Detail_Page:has(.rp-cp3){--cp-ink:#404041;--cp-muted:#404041;--rpc-muted:#404041;--cp-navy:#003964;--rpc-navy:#003964;--cp-orange:#CD6414}
.Program_Detail_Page:has(.rp-cp3) :is(h1,h2,h3,h4,dt,dd,strong,blockquote,figcaption,[class*="rp-"],[class*="rp-"] *,.program-safety-card,.program-safety-card *){font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(p,li,dd,td,th,small,figcaption,blockquote){color:#404041 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(h2,h3,dt){color:#003964 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) a:not(.rp-pp-btn){color:#003964 !important}
.Program_Detail_Page:has(.rp-cp3) .rp-v4-btns{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px !important}
.Program_Detail_Page:has(.rp-cp3) .rp-pp-btn{display:inline-flex !important;align-items:center;min-height:46px;padding:10px 24px !important;border-radius:999px !important;background:#fff !important;border:1px solid #003964 !important;color:#003964 !important;font-weight:700;font-size:16px !important;line-height:1.2;text-decoration:none !important}
.Program_Detail_Page:has(.rp-cp3) .rp-pp-btn:hover{background:#003964 !important;color:#fff !important}
.Program_Detail_Page:has(.rp-cp3) .rp-pp-btn--primary{background:#CD6414 !important;border-color:#CD6414 !important;color:#fff !important}
.Program_Detail_Page:has(.rp-cp3) .rp-pp-btn--primary:hover{background:#A84F0E !important;border-color:#A84F0E !important}
.Program_Detail_Page:has(.rp-cp3) .rp-v4-call{font-size:15px}
.rp-faq__tabs{display:none}
.rp-v4-faq.is-ready .rp-faq__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.rp-v4-faq.is-ready>h3{display:none}
.rp-v4-faq.is-ready>.rp-faq__topic{display:none}
/* spine 2026-10-22: FAQ topic labels are not headings (the tabs carry them); before the script runs they look like subheads */
.Program_Detail_Page:has(.rp-cp3) .rp-v4-faq>.rp-faq__topic{margin:24px 0 8px !important;font-size:20px !important;font-weight:600 !important;color:#404041 !important}
.Program_Detail_Page:has(.rp-cp3) .rp-v4-faq h4{margin:16px 0 6px;font-size:17px !important;font-weight:600 !important;color:#404041 !important}
.rp-faq__tabs button{appearance:none;min-height:40px;padding:6px 16px;border:1px solid #003964;border-radius:999px;background:#fff;color:#003964;font:600 15px/1.2 "IBM Plex Sans",sans-serif;cursor:pointer}
.rp-faq__tabs button[aria-selected="true"]{background:#003964;color:#fff}
.rp-faq__tabs button:focus-visible{outline:2px solid #CD6414;outline-offset:2px}
.Program_Detail_Page:has(.rp-cp3) .rp-faq__a :is(p,li,a){font-size:16px !important;line-height:1.6 !important}
.Program_Detail_Page:has(.rp-cp3) .rp-cp3__deck{font-size:18px !important}
.Program_Detail_Page:has(.rp-cp3) :is(.rp-v4-rating,.rp-v4-call){font-size:14px !important}
.rp-faq__tabs button{font-size:16px}
/* De-weight pass 2026-10-22: fewer bolds; navy only for h2 and links */
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) h2{font-weight:600 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(h3,dt){font-weight:600 !important;color:#404041 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) summary{font-weight:500 !important;color:#404041 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(th,dd,strong,b){font-weight:600 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(p,li,dd,td,figcaption) a:not(.rp-pp-btn){font-weight:400 !important;text-decoration:underline !important;text-underline-offset:2px}
.Program_Detail_Page:has(.rp-cp3) .rp-cp3__trust{font-weight:400 !important}
.rp-faq__tabs button{font-weight:500}
@media (min-width:900px){.Program_Detail_Page:has(.rp-cp3) ul.rp-v4-list:has(> li:nth-child(5)){columns:2;column-gap:32px}.Program_Detail_Page:has(.rp-cp3) ul.rp-v4-list:has(> li:nth-child(5)) > li{break-inside:avoid}}
/* Placeholders (visible on purpose; remove before publish) + sidebar rating count */
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"],.rp-cp3__deck) .rp-ph,.Program_Detail_Page:has(.rp-cp3) .rp-ph{display:block;margin:12px 0 !important;padding:10px 14px;border:2px dashed #CD6414;border-radius:6px;color:#404041 !important;font-size:14px !important;line-height:1.5 !important;font-weight:400 !important}

/* Best-for line + share links (guided-buying principles 5 and 9) */
.Program_Detail_Page:has(.rp-cp3) .rp-cp3__bestfor{display:block;margin-top:12px;font-size:16px !important;line-height:1.5}
.Program_Detail_Page:has(.rp-cp3) .rp-v4-share{font-size:14px !important;margin:4px 0 12px !important}
/* Lighten pass 2026-10-22: Plex Sans 600 still reads bold; headings 500, labels 500, body 400, page-scoped theme overrides */
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(h2,h3){font-weight:500 !important}
.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) :is(dt,dd,th,strong,b,summary){font-weight:500 !important}
.Program_Detail_Page:has(.rp-cp3) .rp-ph{font-weight:400 !important}
.Program_Detail_Page:has(.rp-cp3) h1{font-weight:500 !important}

.Program_Detail_Page:has(.rp-cp3) :is(.program-sticky-bar__name) {font-weight:400 !important}

@media (max-width:767px){.rp-v4-faq.is-ready .rp-faq__tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.rp-faq__tabs button{flex:0 0 auto}.Program_Detail_Page:has(.rp-cp3) .rp-v4-btns .rp-pp-btn{flex:1 1 100%;justify-content:center}}
/* rp-h :: hierarchy rebuild 2026-10-22 (rustic-output/tokyo-to-seoul-hierarchy-rebuild-brief-2026-10-22.md). Replaces the header strip, r2c grid, card order and Q5 rhythm blocks and the tagline layout.
   Order: breadcrumb, H1, meta line, photos, deck + best for, highlight rows, notes. Card: price, sessions, pay toggle, button, refund.
   Type: title 40/600, section 24/500, body 17/400, meta 14/400; ink #404041, links #003964. The orange button stays 19/700 (brand AA ruling 2026-09-25).
   Selectors repeat .Program_Detail_Page so this block outranks the earlier passes without editing each one. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3){display:grid;grid-template-columns:20px minmax(0,1fr) 20px;column-gap:0;align-items:start}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3)>*{grid-column:1/-1}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3)>.Layer.Util__PrintHide,
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3)>.Layer.Util__PrintHide>.Layer__Inner,
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-centerpiece-shell.rp-cp3,.rp-centerpiece-shell.rp-cp3>.program-centerpiece) {display:contents !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :where(h1,.rp-cp3__meta,.rp-cp3__deck,.rp-hl,.rp-cp3__note,.rp-cp3__ask) {grid-column:2 !important;min-width:0;max-width:none}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h1{grid-row:2}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__meta{grid-row:3}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__deck{grid-row:5}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl{grid-row:6}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__note{grid-row:7}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__ask{grid-row:8}

@media (min-width:861px) and (max-width:1099px){
  .Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3){grid-template-columns:24px minmax(0,1fr) 32px 380px 24px}
  .Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(h1,.rp-cp3__meta) {grid-column:2/5 !important}
  
  
}
@media (min-width:1100px){
  .Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3){grid-template-columns:minmax(24px,1fr) minmax(0,788px) 380px minmax(24px,1fr);column-gap:32px}
  
  
  
}
/* title block */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h1{margin:0 0 8px !important;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;font-size:40px !important;line-height:1.1 !important;letter-spacing:-.01em !important;font-weight:600 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__meta{margin:0 0 24px !important;font-size:14px !important;line-height:1.5 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__price{display:none}
@media (max-width:767px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__price{display:block;margin-top:4px}}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__amt{font-size:17px !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__price a{font-size:14px !important;font-weight:400 !important}
/* deck, best for, highlight rows (Airbnb "what this place offers"), notes */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__deck{margin:0 0 24px !important;max-width:64ch;font-size:17px !important;line-height:1.6 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__bestfor{display:block;margin-top:12px;font-size:17px !important;line-height:1.6 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl{display:block !important;margin:0 0 24px !important;padding:0 !important;border:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl>div{display:grid !important;grid-template-columns:8rem minmax(0,1fr);column-gap:16px;align-items:baseline;padding:8px 0 !important;border:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dd small{display:block;margin-top:2px !important;font-size:14px !important;line-height:1.5 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dt{margin:0 !important;font-size:14px !important;line-height:1.5 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dd{margin:0 !important;font-size:17px !important;line-height:1.5 !important;font-weight:400 !important;color:#404041 !important}
@media (max-width:600px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl>div{grid-template-columns:1fr;row-gap:2px;padding:8px 0 !important}}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-cp3__note,.rp-cp3__ask){margin:0 0 8px !important;font-size:14px !important;line-height:1.5 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__ask{margin-bottom:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-cp3__note,.rp-cp3__ask,.rp-cp3__meta) a{font-size:14px !important;font-weight:400 !important;color:#003964 !important}
/* body type scale: section 24/500, body 17/400, meta 14/400; ink everywhere except links */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp h2,[class*="rp-v4"] h2) {font-size:24px !important;line-height:1.25 !important;font-weight:500 !important;letter-spacing:0 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp h3,[class*="rp-v4"] h3,[class*="rp-v4"] summary,.rp-faq__q) {font-size:17px !important;line-height:1.4 !important;font-weight:500 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp,[class*="rp-v4"],.rp-faq__a) :is(p,li,td,th,dd,dt,blockquote,figcaption) {font-size:17px !important;line-height:1.6 !important;font-weight:400 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp,[class*="rp-v4"],.rp-faq__a) :is(strong,b) {font-weight:400 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp,[class*="rp-v4"]) :is(.rp-pp-note,.rp-pp-ratings,.rp-v4-rating,.rp-v4-call,.rp-v4-share,small,caption,figcaption){font-size:14px !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-faq__tabs button{font-size:14px !important;font-weight:500 !important}
/* reserve card (Apple buy box): price, sessions, pay toggle, button, refund. Included, breakdown, rating, methods and advisor live in the body. */

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.program-sticky-bar__button,.rp-pp-btn--primary) {font-size:19px !important;font-weight:700 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp,[class*="rp-v4"],.rp-faq__a) :is(p,li,td,dd) a:not(.rp-pp-btn){font-size:inherit !important}

/* readability 2026-10-22: the theme tracks text at -0.35px, which crowded body copy; normal tracking everywhere except the 40px title, and the long quote set upright */
body:has(.rp-cp3) :is(.Program_Detail_Page,aside.program-sticky-bar) :not(h1) {letter-spacing:normal !important}
.Program_Detail_Page:has(.rp-cp3) .rp-v4-quote :is(blockquote,blockquote p){font-style:normal !important}
/* scan pass 2026-10-22: the flattened body read as one wall. Run-in labels medium (500, not bold) on their own line, 16px between labeled items, list bullets back */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v4-list>li{margin:0 0 16px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v4-list>li>strong:first-child{display:block;margin-bottom:2px;font-weight:500 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) [class*="rp-v4"] figcaption>strong:first-child{font-weight:500 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) [class*="rp-v4"] ul:not(.rp-v4-list):not(.rp-faq__tabs)>li{display:list-item !important;list-style:disc outside !important;margin:0 0 6px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) [class*="rp-v4"] ul:not(.rp-v4-list):not(.rp-faq__tabs){padding-left:1.25em !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) [class*="rp-v4"] ul:not(.rp-v4-list)>li::marker{color:#404041;content:"•  "}
/* type2 :: Apple-style hierarchy 2026-10-22 (Shayne yes; relaxes the brief's 4-size / no-semibold / one-gray rules). Scale: title 48/600 (40 on phones), section 32/600, subhead 20/600, body 17/400, meta 14/400. Two tones: ink #404041 and secondary rgba(64,64,65,.72) (about 4.6:1 on white). About 96px between sections. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h1{font-size:48px !important;line-height:1.08 !important;font-weight:600 !important;letter-spacing:-.015em !important}
@media (max-width:600px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h1{font-size:40px !important}}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-pp h2,[class*="rp-v4"] h2) {font-size:32px !important;line-height:1.15 !important;font-weight:600 !important;margin:0 0 16px !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4{margin-top:96px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"] h3,[class*="rp-v4"] summary,.rp-faq__q) {font-size:20px !important;line-height:1.35 !important;font-weight:600 !important;color:#404041 !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v4-list>li>strong:first-child{font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dd{font-weight:500 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(.rp-cp3__meta,.rp-hl dt,.rp-hl dd small,.rp-cp3__note,.rp-cp3__ask,[class*="rp-v4"] figcaption,[class*="rp-v4"] figcaption *,.rp-pp-note,.rp-v4-rating,.rp-v4-call,.rp-v4-share,.rp-v4-small,.GoogleMapCaption) {color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) [class*="rp-v4"] figcaption>strong:first-child{color:#404041 !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .GoogleMapCaption{font-size:14px !important}
/* link calm 2026-10-22: full-strength underlines read as stripes. Thin light underline (still a non-color cue), full on hover/focus; the close section's three support lines at meta size */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) a:not(.rp-pp-btn):not([class*="utton"]) {text-decoration-line:underline !important;text-decoration-thickness:1px !important;text-underline-offset:3px !important;text-decoration-color:rgba(0,57,100,.3) !important;border-bottom:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is([class*="rp-v4"],[class*="rp-cp3"]) a:not(.rp-pp-btn):not([class*="utton"]):is(:hover,:focus-visible) {text-decoration-color:currentColor !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 p:is(.rp-v4-share,.rp-v4-rating,.rp-v4-call),.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 p:is(.rp-v4-share,.rp-v4-rating,.rp-v4-call) a{font-size:14px !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 p:is(.rp-v4-share,.rp-v4-rating,.rp-v4-call){margin:0 0 6px !important}
/* phone bar: price + session on the left, button on the right */

/* one orange action on desktop too: the card button is sticky, so the bottom sticky bar hides while it is in view (2026-10-22) */
html.rp-card-cta-in-view body:has(.rp-cp3) aside.program-sticky-bar{visibility:hidden}
/* phones: the booking card (sessions, price, button) sits right after the highlight rows (Centerpiece first fix 2026-10-22) */
@media (max-width:860px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__note{grid-row:8}.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__ask{grid-row:9}}
/* card1a :: booking card = Claude Design option 1a (Shayne 2026-10-22). Below the session rows only; price and sessions unchanged. Pairs with rp-help in the booking-mechanisms script. */

/* hero2b :: hero = Claude Design option 2b (Shayne 2026-10-22). Deck above the photo, "1 / 8" counter instead of dots, highlights as spec rows. The deck <p> was split in the tagline: .rp-cp3__fit now holds the placeholder + Best for. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__deck{grid-row:4 !important;margin:16px 0 24px !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__fit{grid-row:6 !important;grid-column:2 !important;margin:24px 0 0 !important;font-size:17px !important;line-height:1.55 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__fit .rp-ph{display:block !important;margin:0 0 16px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__fit .rp-cp3__bestfor{display:block !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl{grid-row:7 !important;margin:32px 0 0 !important;border-bottom:1px solid #E3DED4 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl>div{padding:16px 0 !important;border-top:1px solid #E3DED4 !important;align-items:baseline !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dd{font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl dd small{font-weight:400 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__note{grid-row:8 !important;margin-top:16px !important}

@media (max-width:860px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-hl>div{grid-template-columns:1fr !important;gap:4px !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-cp3__note{grid-row:9 !important}

}
/* fit3a1 :: fit + What's included = Claude Design option 3a-1 RHYTHM (Shayne 2026-10-22). Markup in the intro field: .rp-v4-fit / .rp-v4-incl on the sections, the first sentence split into .rp-v4-verdict, .rp-v4-yes / .rp-v4-no on the fit lists, Scott's name in <strong>, closing refund line removed. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit p.rp-v4-verdict{margin:0 0 4px !important;font-size:20px !important;line-height:1.35 !important;font-weight:600 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-two{gap:32px !important;margin:32px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-two h3{margin:0 0 12px !important;padding:0 0 10px !important;border-bottom:1px solid #E3DED4 !important;font-size:17px !important;line-height:1.4 !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit ul:is(.rp-v4-yes,.rp-v4-no){margin:0 !important;padding:0 !important;list-style:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit ul:is(.rp-v4-yes,.rp-v4-no)>li{position:relative !important;display:block !important;list-style:none !important;margin:0 0 6px !important;padding:0 0 0 22px !important;line-height:1.55 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit ul:is(.rp-v4-yes,.rp-v4-no)>li::before{content:"✓" !important;display:block !important;position:absolute !important;left:0 !important;top:0 !important;color:#003964 !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit ul.rp-v4-no>li::before{content:"–" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit ul:is(.rp-v4-yes,.rp-v4-no)>li::before{width:auto !important;height:auto !important;margin:0 !important;background:none !important;border-radius:0 !important;transform:none !important;font-size:inherit !important;line-height:inherit !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-quote{margin:32px 0 0 !important;padding:32px 0 0 !important;border-top:1px solid #E3DED4 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-quote figcaption{gap:10px !important;margin-top:16px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-quote img{width:28px !important;height:28px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-quote figcaption strong{font-weight:600 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp{margin:32px 0 0 !important;border-top:1px solid #E3DED4 !important;border-bottom:1px solid #E3DED4 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp>summary{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:16px !important;padding:16px 0 !important;list-style:none !important;cursor:pointer !important;font-size:17px !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp>summary::-webkit-details-marker{display:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp>summary::after{content:"" !important;flex:none !important;width:8px !important;height:8px !important;margin-right:4px !important;border-right:1.5px solid #404041 !important;border-bottom:1.5px solid #404041 !important;transform:translateY(-3px) rotate(45deg) !important;transition:transform .15s}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp[open]>summary::after{transform:translateY(2px) rotate(-135deg) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp>div{padding:0 0 16px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit details.rp-v4-cmp>summary:focus-visible{outline:2px solid #003964 !important;outline-offset:2px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl{margin-top:64px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl h2{margin:0 0 8px !important;font-size:20px !important;line-height:1.35 !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl>p{color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two{gap:32px !important;margin:24px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two h3{margin:0 0 10px !important;padding:0 0 8px !important;border-bottom:1px solid #E3DED4 !important;font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two ul{margin:0 !important;padding:0 !important;list-style:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two ul>li{display:block !important;list-style:none !important;margin:0 0 4px !important;padding:0 !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two ul>li::marker{content:none}
@media (max-width:767px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section:is(.rp-v4-fit,.rp-v4-incl) .rp-v4-two{grid-template-columns:1fr !important;gap:28px !important}
}
/* itin4a :: itinerary = Claude Design option 4a STRUCTURE with leg labels (Shayne 2026-10-22). itin4a() in the booking script wraps days 1-7 and 9-14 in .rp-itin-g, adds an h3.rp-itin-leg before each and classes Day 8 .rp-itin-switch. One line per group replaces the single .ProgramItinerary__Line. pay90 line in the 4-Pay panel. */

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-itin4a .rp-itin-g{position:relative !important;display:grid !important;gap:inherit !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-itin4a .rp-itin-g::before{content:"" !important;position:absolute !important;left:15px !important;top:16px !important;bottom:16px !important;width:2px !important;background:#E3DED4 !important;z-index:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-itin4a h3.rp-itin-leg{display:flex !important;flex-wrap:wrap !important;align-items:baseline !important;gap:4px 12px !important;margin:0 0 8px !important;padding:0 0 10px !important;border-bottom:1px solid #E3DED4 !important;font-size:17px !important;line-height:1.4 !important;font-weight:600 !important;color:#404041 !important;text-transform:none !important;letter-spacing:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-itin4a h3.rp-itin-leg~h3.rp-itin-leg{margin-top:24px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-itin4a .rp-itin-leg__sub{font-size:14px !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}

/* stay5c :: stay section = Claude Design option 5c SAFETY FIRST (Shayne 2026-10-22). Markup in row-1 field: section class rp-v5c, "Supervision and safety" block moved above "Where they stay", run-in <strong> labels became span.rp-v5-lbl (period dropped), each caption's name line became span.rp-v5-cap. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c ul.rp-v4-list{display:grid !important;grid-template-columns:1fr 1fr !important;gap:20px 32px !important;margin:12px 0 0 !important;padding:0 !important;list-style:none !important;border:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c ul.rp-v4-list>li{display:block !important;margin:0 !important;padding:0 !important;border:0 !important;list-style:none !important;font-size:17px !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c ul.rp-v4-list>li::before{content:none !important;display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c .rp-v5-lbl{display:block !important;margin:0 0 2px !important;font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c ul.rp-v4-list+p{margin:20px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c h3.rp-v5-stayh{margin-top:40px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c .rp-v4-stays figcaption{font-size:14px !important;line-height:1.45 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c .rp-v5-cap{display:block !important;margin:0 0 2px !important;font-weight:400 !important;color:#404041 !important}
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c ul.rp-v4-list{grid-template-columns:1fr !important;gap:16px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c .rp-v4-stays{display:flex !important;gap:12px !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v5c .rp-v4-stays>figure{flex:0 0 72% !important;min-width:0 !important;scroll-snap-align:start !important;margin:0 !important}
}
/* who6b :: who section = Claude Design option 6b VOICES FIRST, with no row lines (Shayne 2026-10-22: "6b but no lines or thinner lines"). Markup in row-1 field: section class rp-v6b, quote figure moved above Chang Mo's bio, run-in <strong> labels became span.rp-v6-lbl (period dropped), survey sentence (p.rp-v6-survey) moved above the photo strip. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b figure.rp-v4-quote{margin:12px 0 20px !important;padding:0 !important;border:0 !important;background:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b figure.rp-v4-quote blockquote{margin:0 !important;padding:0 !important;border:0 !important;font-size:20px !important;line-height:1.5 !important;font-weight:400 !important;font-style:normal !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b figure.rp-v4-quote figcaption{display:flex !important;align-items:center !important;gap:10px !important;margin:10px 0 0 !important;font-size:14px !important;line-height:1.4 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b figure.rp-v4-quote figcaption img{width:48px !important;height:48px !important;border-radius:50% !important;object-fit:cover !important;margin:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b ul.rp-v4-list{margin:16px 0 0 !important;padding:0 !important;list-style:none !important;border:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b ul.rp-v4-list>li{display:grid !important;grid-template-columns:120px 1fr !important;gap:0 16px !important;align-items:baseline !important;margin:0 !important;padding:6px 0 !important;border:0 !important;list-style:none !important;font-size:17px !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b ul.rp-v4-list>li::before{content:none !important;display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b .rp-v6-lbl{font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b p.rp-v6-survey{margin:16px 0 20px !important;font-size:20px !important;line-height:1.45 !important;font-weight:400 !important;color:#404041 !important}
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v6b ul.rp-v4-list>li{grid-template-columns:1fr !important;padding:8px 0 !important}
}
/* close8c :: close section = Claude Design option 8c HELP PANEL (Shayne 2026-10-22). Markup in row-1 field: section class rp-v8c; rating moved directly under the button; h3 + ol.rp-v4-steps wrapped in div.rp-v8-steps, call/share/placeholder wrapped in div.rp-v8-help, both inside div.rp-v8-grid; lead phrases became span.rp-v8-lbl (words unchanged); share " · " separators became span.rp-v8-sep (hidden, links stack). Step 1 kept. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c p.rp-v4-rating{margin:10px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-grid{display:grid !important;grid-template-columns:minmax(0,1fr) 300px !important;gap:32px !important;align-items:start !important;margin:36px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-steps h3{margin:0 0 12px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-steps ol.rp-v4-steps{margin:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-help{background:#EDF0F3 !important;border:0 !important;border-radius:12px !important;padding:20px !important;min-width:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-help p{margin:0 !important;font-size:16px !important;line-height:1.5 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-help p+p{margin-top:18px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-lbl{display:block !important;margin:0 0 4px !important;font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-sep{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c p.rp-v4-share a{display:block !important;width:fit-content !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c a[href^="tel:"]{white-space:nowrap !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-help p.rp-ph{font-size:14px !important}
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v8c .rp-v8-grid{grid-template-columns:minmax(0,1fr) !important;gap:24px !important;margin-top:28px !important}
}
/* faq7c :: FAQ = Claude Design option 7c SIDE LIST (Shayne 2026-10-22). Script faq7c builds div.rp-faq__pick (label "Topic" + select, phones only) and div.rp-faq__wrap (200px tab list | panels). Questions 17/400 with a navy +/- at right, 1px #F0EDE7 lines between questions. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__pick{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__wrap{display:grid !important;grid-template-columns:200px minmax(0,1fr) !important;gap:28px !important;align-items:start !important;margin:20px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs{display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;gap:2px !important;margin:0 !important;padding:0 !important;overflow:visible !important;border:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button{display:flex !important;justify-content:space-between !important;align-items:baseline !important;gap:12px !important;width:100% !important;min-height:0 !important;margin:0 !important;padding:8px 12px !important;border:0 !important;border-radius:8px !important;background:transparent !important;box-shadow:none !important;color:#404041 !important;font-size:15px !important;line-height:1.35 !important;font-weight:400 !important;text-align:left !important;white-space:normal !important;cursor:pointer}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button:hover{background:#F5F6F8 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button[aria-selected=true]{background:#EDF0F3 !important;color:#404041 !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button:focus-visible{outline:2px solid #003964 !important;outline-offset:2px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__n{font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panes{min-width:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panes>p.rp-faq__topic{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel details{margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel details+details{border-top:1px solid #F0EDE7 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel summary{display:block !important;position:relative !important;margin:0 !important;padding:10px 32px 10px 0 !important;list-style:none !important;font-size:17px !important;line-height:1.45 !important;font-weight:400 !important;color:#404041 !important;text-decoration:none !important;border:0 !important;cursor:pointer}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel summary::-webkit-details-marker{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel summary::marker{content:"" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel summary::before{content:none !important;display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel summary::after{content:"+" !important;position:absolute !important;right:4px !important;top:10px !important;width:auto !important;height:auto !important;margin:0 !important;border:0 !important;transform:none !important;font-size:20px !important;line-height:1.2 !important;font-weight:400 !important;color:#003964 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel details[open] summary::after{content:"−" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__panel .rp-faq__a{padding:0 0 14px !important}
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__pick{display:block !important;margin:16px 0 4px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__pick label{display:block !important;margin:0 0 6px !important;font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__pick select{display:block !important;width:100% !important;max-width:100% !important;height:auto !important;margin:0 !important;padding:10px 12px !important;border:1px solid #D5D9DE !important;border-radius:8px !important;background-color:#fff !important;color:#404041 !important;font-size:16px !important;line-height:1.3 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__wrap{display:block !important;margin:8px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs{display:none !important}
}
/* bar2l :: phone bar shows price over session on two lines (2026-10-22). apply() now writes span.rp-bar-p + span.rp-bar-d inside .rp-bar-info instead of one "price · session" line, which cut the session off with 4-Pay selected ("$1,722.50 today"). */

/* linkstype :: Shayne 2026-10-22: clicks we want stay on the page and read as clickable (navy accordion rows); links that leave the page stay but are very quiet. Plus one type scale: 48/32/20/17/14 desktop, 34/26/18/17/14 phone. "What's included" lists became two details accordions (div.rp-incl-acc, markup in field acf-editor-267). */
/* exit links: text color, faint thin underline */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(section.rp-v4) a[href]:not([href^="#"]):not([href^="tel:"]):not([href^="mailto:"]):not([data-rp-share]):not([data-program-contact-form]):not(.rp-pp-btn):not([class*="utton"]) {color:inherit !important;font-weight:inherit !important;text-decoration-line:underline !important;text-decoration-thickness:1px !important;text-decoration-color:rgba(64,64,65,.28) !important;text-underline-offset:3px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) :is(section.rp-v4) p>a[href]:only-child:not([href^="#"]):not([href^="tel:"]):not([href^="mailto:"]):not([data-rp-share]):not([data-program-contact-form]):not(.rp-pp-btn):not([class*="utton"]) {font-size:14px !important;color:rgba(64,64,65,.72) !important}

/* in-page accordions read as clickable */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-faq .rp-faq__panel summary{color:#003964 !important;font-weight:500 !important}
/* What's included: two accordions, stacked */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-v4-two.rp-incl-acc{display:block !important;margin:16px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc details{margin:0 !important;padding:0 !important;border:0 !important;background:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc details+details{border-top:1px solid #F0EDE7 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc summary{display:flex !important;align-items:baseline !important;gap:10px !important;position:relative !important;margin:0 !important;padding:12px 32px 12px 0 !important;list-style:none !important;cursor:pointer;color:#003964 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc summary::-webkit-details-marker{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc summary::marker{content:"" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc summary::after{content:"+" !important;position:absolute !important;right:4px !important;top:12px !important;font-size:20px !important;line-height:1.2 !important;font-weight:400 !important;color:#003964 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc details[open] summary::after{content:"−" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc summary h3{margin:0 !important;padding:0 !important;border:0 !important;font-size:17px !important;line-height:1.45 !important;font-weight:500 !important;color:#003964 !important;text-transform:none !important;letter-spacing:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-n{font-size:14px !important;font-weight:400 !important;color:rgba(64,64,65,.72) !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl .rp-incl-acc details>ul{margin:0 0 16px !important}
/* type scale, desktop */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl>h2{font-size:32px !important;line-height:1.2 !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-two h3,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h3.rp-itin-leg{font-size:20px !important;line-height:1.35 !important;font-weight:600 !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit p.rp-v4-verdict{font-weight:400 !important}
/* type scale, phone */
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h1{font-size:34px !important;line-height:1.15 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h2,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-incl>h2{font-size:26px !important;line-height:1.2 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 h3:not(summary h3),.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) h3.rp-itin-leg,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit .rp-v4-two h3{font-size:18px !important;line-height:1.35 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-fit p.rp-v4-verdict,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v6b figure.rp-v4-quote blockquote,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v6b p.rp-v6-survey{font-size:18px !important}
}

/* pop :: cancellation + schedule-a-call popovers (2026-10-22) */
dialog.rp-pop.rp-pop{width:min(640px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:0;border-radius:12px;color:#404041;background:#fff;overflow:hidden}
dialog.rp-pop.rp-pop::backdrop{background:rgba(0,20,40,.45)}
dialog.rp-pop--call.rp-pop{width:min(760px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px))}
dialog.rp-pop .rp-pop__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #F0EDE7}
dialog.rp-pop .rp-pop__t{margin:0;font-size:20px;line-height:1.3;font-weight:600;color:#404041;letter-spacing:0}
dialog.rp-pop .rp-pop__x{appearance:none;border:0;background:none;font-size:28px;line-height:1;color:#003964;cursor:pointer;padding:4px 8px;min-width:44px;min-height:44px}
dialog.rp-pop .rp-pop__b{padding:16px 20px 20px;font-size:17px;line-height:1.55;overflow:auto;max-height:calc(100vh - 110px);letter-spacing:0}
dialog.rp-pop .rp-pop__b p{margin:0 0 12px}
dialog.rp-pop .rp-pop__b a{color:#003964}
dialog.rp-pop--call .rp-pop__b{padding:0;height:calc(100% - 73px);max-height:none}
dialog.rp-pop .rp-pop__b iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:600px){dialog.rp-pop.rp-pop{width:100vw;max-height:92vh;margin:auto 0 0;border-radius:12px 12px 0 0}dialog.rp-pop--call.rp-pop{height:100vh;max-height:100vh;border-radius:0;margin:0}}

/* spine :: FAQ flight subheads as h3 (same look as the old h4), screen-reader captions (2026-10-22) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4-faq h3.rp-faq-h{font-size:17px !important;font-weight:600 !important;line-height:1.15 !important;color:#404041 !important;margin:16px 0 6px !important;letter-spacing:normal !important;text-transform:none !important}
.Program_Detail_Page table caption.rp-sr{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;white-space:nowrap !important;border:0 !important}

/* dstrip :: phone session-date strip (2026-10-22) */
.rp-dstrip{display:none}
@media (max-width:767px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-dstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-dstrip a.rp-dstrip__s{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:8px 10px;border-radius:8px;background:rgba(0,57,100,.035);color:#404041 !important;text-decoration:none !important;font-size:14px;line-height:1.25;letter-spacing:normal}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-dstrip a.rp-dstrip__s[aria-current=true]{background:rgba(0,57,100,.09)}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-dstrip .rp-dstrip__d{font-size:14px;font-weight:600;color:#003964}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-dstrip .rp-dstrip__a{margin-top:2px;font-size:13px;color:rgba(64,64,65,.72)}
}
/* color-trim :: fold stray text colors into #404041 (this page only; Shayne 2026-10-22) */
body:has(.rp-cp3) .Util__SkipLink,body:has(.rp-cp3) .SiteFooter__Copyright,body:has(.rp-cp3) .SiteFooter__LegalLinks a{color:#404041}

/* total-cost line (centerpiece first fix, 2026-10-22) */

/* spacing48 :: one 48px gap between body sections (Shayne 2026-10-22: 96 felt 50% too big) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4{margin-top:48px !important;margin-bottom:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4.rp-v4-incl{margin-top:48px !important}

.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) iframe.rp-map-lg{margin-top:8px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4.rp-v4-close{margin-bottom:32px !important}
/* cost2b :: "Total trip cost" accordion above Reserve (Claude Design option 2b, Shayne 2026-10-22) */

/* bar-align: the white bottom bar lines up with the 1200px content column on wide screens (text with the left margin, button with the right) */

/* subline under the stay and leaders H2s (same look as the fit lead line) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 p.rp-v4-sub{margin:0 0 12px !important;font-size:18px !important;line-height:1.4 !important;font-weight:400 !important;color:#404041 !important}

/* sdg-bottom: UN goal badges sit at the bottom of the booking card */

/* faq-bullets: FAQ lists showed two markers (the browser bullet plus a dot from the theme on li::before). Keep the single native bullet. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-v4-faq .rp-faq__a ul>li::before{content:none !important;display:none !important}
/* faq-links: every link in the FAQ uses one format, the size of the sentence around it in the template navy (Ben, dashboard 207 #844) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v4-faq details a{font-size:inherit !important;font-weight:400 !important;color:#003964 !important;text-decoration:underline !important}
/* subline under the stay and leaders H2s (same look as the fit lead line) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v4 p.rp-v4-sub{margin:0 0 12px !important;font-size:18px !important;line-height:1.4 !important;font-weight:400 !important;color:#404041 !important}
/* subline under the stay and leaders H2s (same look as the fit lead line) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v5c p.rp-v4-sub,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v6b p.rp-v4-sub{margin:0 0 12px !important;font-size:18px !important;line-height:1.4 !important;font-weight:400 !important;color:#404041 !important}
/* alumni voices: three photo cards before the FAQ */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card{margin:0 !important;background:#F2F4F5 !important;border-radius:8px !important;overflow:hidden;display:flex;flex-direction:column}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card img{display:block;width:100% !important;height:200px !important;object-fit:cover;margin:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card blockquote{margin:0 !important;padding:16px 16px 8px !important;border:0 !important;background:transparent !important;flex:1}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card blockquote p{margin:0 !important;font-size:16px !important;line-height:1.5 !important;font-style:italic !important;color:#222 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card figcaption{padding:0 16px 16px !important;font-size:14px !important;line-height:1.5 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-more{font-size:14px !important;color:#6D6E71 !important}
@media (max-width:860px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards{grid-template-columns:1fr}}
/* sdg-bottom: UN goal badges sit at the bottom of the booking card */

/* faq-bullets: FAQ lists showed two markers (the browser bullet plus a dot from the theme on li::before). Keep the single native bullet. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .rp-v4-faq .rp-faq__a ul>li::before{content:none !important;display:none !important}
/* faq-links: every link in the FAQ uses one format, the size of the sentence around it in the template navy (Ben, dashboard 207 #844) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v4-faq details a{font-size:inherit !important;font-weight:400 !important;color:#003964 !important;text-decoration:underline !important}

/* alumni voices: three photo cards before the FAQ */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card{margin:0 !important;background:#F2F4F5 !important;border-radius:8px !important;overflow:hidden;display:flex;flex-direction:column}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card img{display:block;width:100% !important;height:200px !important;object-fit:cover;margin:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card blockquote{margin:0 !important;padding:16px 16px 8px !important;border:0 !important;background:transparent !important;flex:1}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card blockquote p{margin:0 !important;font-size:16px !important;line-height:1.5 !important;font-style:italic !important;color:#222 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card figcaption{padding:0 16px 16px !important;font-size:14px !important;line-height:1.5 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-more{font-size:14px !important;color:#6D6E71 !important}
@media (max-width:860px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards{grid-template-columns:1fr}}

/* alumni voices: a single card sits as one wide row (photo left, quote right) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards:has(> .rp-v9-card:only-child){grid-template-columns:1fr}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child .rp-v9-img{grid-row:1 / span 2;height:100%}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child .rp-v9-img img{height:100% !important;min-height:240px}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child blockquote{align-self:end;padding:24px 24px 8px !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child figcaption{align-self:start;padding:0 24px 24px !important}
@media (max-width:860px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child{display:flex;align-items:stretch}.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-card:only-child .rp-v9-img img{height:200px !important;min-height:0}}
/* alumni voices: two cards share the row in halves */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards:has(> .rp-v9-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v9r .rp-v9-cards:has(> .rp-v9-card:nth-child(2):last-child){grid-template-columns:1fr}}

/* student takeovers: the country pages' cp-ig component (embed + words + Read more) */
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig{list-style:none !important;margin:32px 0 0 !important;padding:0 !important;display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig>li{list-style:none !important;margin:0 !important;padding:0 !important}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig>li::before{content:none !important}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-item{flex:1 1 326px;max-width:420px;position:relative;overflow:hidden;min-width:0}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig .instagram-media{background:#FFFFFF;border:0;margin:0 !important;max-width:540px;min-width:326px !important;width:100%}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-words{margin-top:12px}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q{margin:0;font-size:16px !important;line-height:1.45 !important;color:#333333;max-height:calc(4 * 1.45 * 16px);overflow:hidden}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q p{margin:0 !important;font-size:16px !important;line-height:1.45 !important}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q p+p{margin-top:8px !important}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-words.is-open .rp-ig-q{max-height:none;overflow:visible}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-more{margin-top:4px;padding:0;border:0;background:none;font-family:inherit;font-size:14px;font-weight:700;color:#003964;text-decoration:underline;cursor:pointer}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-more:hover{color:#B25410}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-cap{margin:8px 0 0 !important;font-size:14px !important;color:#666666}
@media (max-width:899px){.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-item{flex:0 0 calc(100% - 32px);scroll-snap-align:start}}
@media (min-width:900px){.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig:has(>.rp-ig-item:nth-child(2):last-child){display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;align-items:start}}
@media (min-width:1100px){.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig:has(>.rp-ig-item:nth-child(3):last-child){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig:has(>.rp-ig-item:nth-child(3):last-child)>.rp-ig-item{max-width:none}
.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig:has(>.rp-ig-item:nth-child(3):last-child) .instagram-media{min-width:0 !important}}

/* rp-cp3 hero markup. Layout and type live in the CSS embed block "rp-h" (hierarchy rebuild 2026-10-22). */
.rp-cp3__price{display:none}

/* 2026-10-27 Quintin: total trip cost below the button + refund line, so opening it never pushes the button off screen */

/* 2026-10-27 Quintin: 4-Pay shows the schedule and one line; the authorization text is in the checkout */

/* 2026-10-27 Quintin: student takeovers as a centered carousel at every width (one card full size, the others peeking) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-wrap{position:relative;margin-top:32px;container-type:inline-size}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig.rp-ig--carousel{--rp-ig-w:clamp(326px,58cqi,460px);position:relative;display:flex !important;flex-wrap:nowrap !important;justify-content:flex-start !important;align-items:flex-start !important;gap:16px !important;margin:0 !important;padding:0 calc(50cqi - var(--rp-ig-w) / 2) 8px !important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig.rp-ig--carousel::-webkit-scrollbar{display:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig--carousel>.rp-ig-item{flex:0 0 var(--rp-ig-w) !important;max-width:none !important;scroll-snap-align:center;opacity:.45;transform:scale(.94);transform-origin:top center;transition:opacity .25s ease,transform .25s ease}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig--carousel>.rp-ig-item.is-center{opacity:1;transform:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig--carousel .instagram-media{min-width:326px !important;width:100% !important;max-width:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav{position:absolute;top:220px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #E3DED4;border-radius:50%;background:#fff;color:#003964;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav--prev{left:0}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav--next{right:0}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav:disabled{opacity:.35;cursor:default}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav:focus-visible{outline:2px solid #003964;outline-offset:2px}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-count{margin:8px 0 0 !important;text-align:center;font-size:14px !important;line-height:1.5 !important;color:rgba(64,64,65,.76) !important}
@media (max-width: 600px){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-nav{display:none}}
@media (prefers-reduced-motion: reduce){.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig.rp-ig--carousel{scroll-behavior:auto}.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t ul.rp-ig--carousel>.rp-ig-item{transition:none}}
/* the takeover words clamp to four whole lines (the page's 17px rule made the old clamp cut a line in half) */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q,.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q p{font-size:16px !important;line-height:1.5 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-q{max-height:6em}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) section.rp-v10t .rp-ig-words.is-open .rp-ig-q{max-height:none}

/* 2026-10-27 Quintin: compact card so the button stays on screen (6 sessions + 4-Pay at 1280x800) */

/* 2026-10-27 Quintin: the site header slides back in on scroll-up (77px); the sticky card moves below it so the price is never covered */

/* 2026-10-27: Who runs it, two columns (person left, 2026 Program Leaders right) on every page, not only the ones with inline styles */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v6b .rp-pp-leaders .rp-pp-leaders__t{margin:0 0 8px !important;font-size:15px !important;line-height:1.4 !important;font-weight:700 !important;color:#404041 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page:has(.rp-cp3) .rp-v6b .rp-pp-leaders .rp-pp-leaders__also{margin:8px 0 0 !important;font-size:13px !important;color:rgba(64,64,65,.76) !important}

/* Program pages: mobile layout + UN badge centering (Ben, 2026-10-28).
   Tested on the Morocco page, then shipped to all 32 staging program pages as an inline <style id="rp-batch-mobile">.
   This file is the same CSS for the shared stylesheet (css_override post 6115924, "/students/programs/ (2027 template)").
   Paste it at the END of that stylesheet, then run shared/tools/remove_batch_mobile_css.py to delete the per-page blocks.
   Keep the selectors as they are: the 6x .Program_Detail_Page chain is what beats the 4x chain + !important used by the faq7c and takeover rules. */

/* 1. One student takeover: centered, not shifted right or clipped. The shared list rule adds 20px left padding and bullet spacing, and the embed's 326px minimum was wider than the card. */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v10t ul.rp-ig:not(.rp-ig--carousel):has(>.rp-ig-item:only-child){display:flex !important;justify-content:center !important;flex-wrap:nowrap !important;overflow:visible !important;margin:24px 0 0 !important;padding:0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v10t ul.rp-ig:not(.rp-ig--carousel)>.rp-ig-item:only-child{display:block !important;list-style:none !important;flex:0 1 460px !important;width:100% !important;max-width:460px !important;margin:0 !important;padding:0 !important;overflow:visible !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v10t ul.rp-ig:not(.rp-ig--carousel)>.rp-ig-item:only-child::marker{content:"" !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v10t ul.rp-ig:not(.rp-ig--carousel)>.rp-ig-item:only-child .instagram-media{min-width:0 !important;width:100% !important;max-width:100% !important}

/* 2. FAQ on phones: every topic shown as a pill in one row that scrolls sideways, instead of the Topic picker. */
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__pick{display:none !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__wrap{display:block !important;margin:16px 0 0 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:8px !important;margin:0 -20px 12px !important;padding:2px 20px 6px !important;max-width:none !important;overflow-x:auto !important;overflow-y:hidden !important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs::-webkit-scrollbar{display:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;width:auto !important;min-height:40px !important;margin:0 !important;padding:8px 14px !important;border:1px solid #003964 !important;border-radius:999px !important;background:#fff !important;color:#003964 !important;font-size:14px !important;line-height:1.2 !important;font-weight:500 !important;white-space:nowrap !important;text-align:center !important;flex:0 0 auto !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button[aria-selected=true]{background:#003964 !important;color:#fff !important;font-weight:600 !important}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4-faq .rp-faq__tabs button .rp-faq__n{font-size:12px !important;font-weight:400 !important;color:inherit !important;opacity:.7}
}

/* 3. UN goal badges centered in the sidebar card (phone and desktop). */
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page .SidebarBottomSection table.un-goals-icons{margin-left:auto !important;margin-right:auto !important}

/* 4. 2026 group photos as a swipe carousel on phones: larger photos, the next one peeks in. */
@media (max-width:600px){
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4 .rp-pp-strip{display:flex !important;grid-template-columns:none !important;gap:12px !important;margin:8px -20px 24px !important;padding:0 20px 4px !important;max-width:none !important;overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x mandatory;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4 .rp-pp-strip::-webkit-scrollbar{display:none}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4 .rp-pp-strip figure{flex:0 0 80% !important;max-width:none !important;margin:0 !important;scroll-snap-align:start}
.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page.Program_Detail_Page section.rp-v4 .rp-pp-strip figure img{width:100% !important;height:auto !important;aspect-ratio:4/5 !important;object-fit:cover !important;border-radius:10px !important}
}

/* 5. Chat bubble above the sticky bottom bar. HubSpot injects its own bottom:0 rule at the same priority and loads later, so this one needs the extra selector weight. */
@media (max-width:860px){
html body #hubspot-messages-iframe-container.widget-align-right{bottom:84px !important}
}

/* program_summary (2026-10-29): the centerpiece below the gallery, then the page sections that used to sit in
   short_description. Keep the old 24px between the dates note and the first of those sections. */
.Program_Detail_Page .rp-centerpiece-shell:has(> section[aria-label="Program summary"]) + * { margin-top: 24px; }

/* THEME EXCEPTION (Quintin 2026-10-29, tell Tomas): the itinerary day marker is a fixed 2rem circle with 12px text, so a day range
   like "12-15" wraps onto two lines. Keep the circle (so every day's text stays aligned), one line, slightly smaller text.
   No !important; one class more than the theme rule because program_itinerary.css loads after the override. */
.Program_Detail_Page .ProgramItineraryContainer .ProgramItinerary__DayMarker { white-space: nowrap; font-size: 0.625rem; letter-spacing: -0.02em; }

/* PRINT (Quintin 2026-10-29, from a printed Turtle Conservation page): our content prints as a clean document.
   The live map and the Instagram takeovers do not print (blank half pages); the route caption stays. Photo-strip
   photos stay with their captions. All FAQ topics print (the script opens every answer while printing).
   The template parts' print rules sit at the end of this block. */
@media print {
  .Program_Detail_Page .GoogleMapRounded.rp-map-lg, .Program_Detail_Page .GoogleMapRounded.rp-map-sm { display: none !important; }
  .Program_Detail_Page section.rp-v10t { display: none !important; }
  .Program_Detail_Page .rp-pp-strip figure { break-inside: avoid; }
  .Program_Detail_Page .rp-v4-faq [role="tablist"] { display: none !important; }
  .Program_Detail_Page .rp-v4-faq .rp-faq__panel[hidden] { display: block !important; }
  .Program_Detail_Page .rp-v4-faq details { break-inside: avoid; }

  /* THEME EXCEPTION, print only (Quintin 2026-10-29; Tomas asked to keep these class names stable). Screen is untouched.
     One font for the whole page (print.css swaps --FontFamily__Copy to Helvetica); no phone date strip, bottom bar or
     chat bubble; gallery whole on one page without arrows/counter; booking card = price, sessions, Total trip cost
     (opened by the script while printing), help box. */
  .Program_Detail_Page { --FontFamily__Copy: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
  .Program_Detail_Page .SessionStrip, .MobileEnrollBar, .widget-align-right { display: none !important; }
  .Program_Detail_Page .ProgramGallery__Nav, .Program_Detail_Page .ProgramGallery__Counter { display: none !important; }
  .Program_Detail_Page .ProgramGallery { break-inside: avoid; }
  .Program_Detail_Page .ProgramPage__Side > .ProgramSidebar { position: static; box-shadow: none; break-inside: avoid; }
  .Program_Detail_Page .ProgramSidebar :is(.PayTiles, .Tl__box, .PayNote, .EnrollButton, .SbRefund) { display: none !important; }
}

/* private-group CTA (2026-10-30): subdued line at the bottom of the booking card, matches .LastVerified */
p.rp-pvt.rp-pvt{margin:16px 0 0;font-size:14px;line-height:1.45;text-align:center;color:rgba(64,64,65,.76)}
p.rp-pvt.rp-pvt a{display:inline-block;color:inherit;text-decoration:underline;text-underline-offset:2px}
p.rp-pvt.rp-pvt a:hover{color:#003964}
dialog.rp-pop--pvt .rp-pvt__form{min-height:120px}
dialog.rp-pop--pvt .rp-pvt__todo{padding:24px;border:1px dashed #c9c4ba;border-radius:8px;color:#6b7280;text-align:center}
dialog.rp-pop--pvt .hs-form fieldset{max-width:none;margin:0;padding:0;border:0}
dialog.rp-pop--pvt .hs-form fieldset.form-columns-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
dialog.rp-pop--pvt .hs-form fieldset .hs-form-field{width:auto;float:none;padding:0}
dialog.rp-pop--pvt .hs-form .hs-form-field{margin:0 0 12px}
dialog.rp-pop--pvt .hs-form .hs-form-field>label{display:block;margin:0 0 4px;font-size:15px;font-weight:600;color:#404041}
dialog.rp-pop--pvt .hs-form .input{margin:0!important}
dialog.rp-pop--pvt .hs-form .hs-input:not([type=checkbox]):not([type=radio]){display:block;width:100%;max-width:none;box-sizing:border-box;min-height:44px;margin:0;padding:10px 12px;border:1px solid #c9c4ba;border-radius:6px;background:#fff;font:inherit;font-size:16px;color:#404041}
dialog.rp-pop--pvt .hs-form textarea.hs-input{min-height:88px;resize:vertical}
dialog.rp-pop--pvt .hs-form .hs-input:focus{outline:2px solid #003964;outline-offset:1px;border-color:#003964}
dialog.rp-pop--pvt .hs-form .hs-error-msgs{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:#b42318}
dialog.rp-pop--pvt .hs-form .legal-consent-container{margin:4px 0 12px;font-size:13px;line-height:1.45;color:rgba(64,64,65,.76)}
dialog.rp-pop--pvt .hs-form .legal-consent-container p{margin:0}
dialog.rp-pop--pvt .hs-form .hs-button{display:block;width:100%;min-height:48px;margin:0;padding:12px 20px;border:0;border-radius:8px;background:#003964;color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
dialog.rp-pop--pvt .hs-form .hs-button:hover{background:#002a4a}
dialog.rp-pop--pvt .submitted-message{font-size:17px;line-height:1.55}
@media (max-width:600px){dialog.rp-pop--pvt .hs-form fieldset.form-columns-2{grid-template-columns:1fr}}

/* ===== LEGACY PROGRAM PAGES (legacy-port/tools/build_merged.py; every rule below is gated on a legacy-only class) ===== */
/* legacy-program.css: shared css_override for the older student program pages (legacy port, STAGING).
   Built by legacy-port/tools/build_port.py. Every rule below either reproduces what the page shows today
   or only matches inside the lean template (.ProgramPage__Layers). Keep a space after every @media. */

/* 1. FAQ section (was loaded by the <program-faq> shortcode as program_faq.css; copied verbatim) */
.ProgramFaqSection {
  --TextBlock__P__Margins: 0.5rem;
}
.ProgramFaqSection h2 {
  font-size: var(--FontSize__H2);
  line-height: var(--LineHeight__H2, 1.75rem);
  font-weight: var(--FontWeight__Headers, 600);
}
.ProgramFaqSection .section-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--pdp-text, rgba(0, 0, 0, 0.4));
  margin-bottom: 0.25rem;
  margin-top: 1rem;
}
.ProgramFaqSection .parent-qa-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f3f4f6;
}
.ProgramFaqSection .parent-qa-item:last-child {
  border-bottom: none;
}
.ProgramFaqSection .parent-qa-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(0, 0, 0, 0.4);
}
.ProgramFaqSection .parent-qa-icon svg {
  width: 24px;
  height: 24px;
  stroke-width: 1.5;
}
.ProgramFaqSection .parent-qa-content {
  flex: 1;
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
  color: var(--pdp-text, #000);
}
.ProgramFaqSection .parent-qa-content strong {
  font-weight: 500;
}
.ProgramFaqSection .parent-qa-content h4 {
  font-size: inherit;
  line-height: inherit;
  font-weight: 500;
  margin: 0;
}
.ProgramFaqSection .parent-qa-content a {
  color: var(--pdp-text, #000);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ProgramFaqSection .parent-qa-content a:hover {
  color: var(--pdp-text, #000);
}

/* 2. Tagline stars (theme sized them only inside .ProgramHeader__Tagline, which the lean template drops) */
.rp-legacy-tagline .RatingStars { display: inline-flex; align-items: baseline; }
.rp-legacy-tagline .RatingStars .Star { color: #fbbf24; width: 0.875rem; height: 0.875rem; }
.rp-legacy-tagline:not(.ProgramHeader__Tagline *) { font-size: 0.875rem; line-height: 1.25rem; font-weight: var(--FontWeight__Body); color: var(--pdp-text); letter-spacing: 0; margin-bottom: 0.75rem; }

/* 3. Award callout (was in 6024789's embed only; gated on .rp-legacy-a, which only that page's FAQ wrapper carries) */
:where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-callout{
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  gap: 16px;
  border: 1px solid #e6e6e0;
  border-radius: 14px;
  padding: 14px;
  background: #faf9f5;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  margin: 18px 0 0;
  margin-bottom: 18px;
}

:where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-badge{
  max-width: 88px;
  height: auto;
  display: block;
}

:where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-text{
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  color: #2b2b2b;
}

@media (max-width: 768px) {
  :where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-callout{
    grid-template-columns: 64px 1fr;
    gap: 12px;
    padding: 12px;
  }
  :where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-badge{ max-width: 64px; }
  :where(section.Program_Detail_Page:has(.rp-legacy-a)) .rp-award-text{ font-size: 14px; }
}

/* 4. Common per-page embed (62 pages + 6024789 + 6083061): UN goals tables + font weights. Rules verbatim, gated on .rp-legacy-c
      (only those pages' FAQ wrapper carries it) with :where() so specificity is unchanged. */
:where(section.Program_Detail_Page:has(.rp-legacy-c)) .text-secondary-read.mt-3{
  color: #808080;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals,
:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals tbody,
:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals tr,
:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals td{
  background: transparent !important;
  color: #111827 !important;
  border: 0 !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals{
  width: auto !important;
  margin: 0 0 10px 0 !important;
  border-collapse: collapse !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals td{
  padding: 0 !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons{
  width: auto !important;
  margin: 0 !important;
  border-collapse: collapse !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons td{
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  vertical-align: top !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons img,
:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons img.aligncenter{
  width: 75px !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons td:first-child{ padding-right: 2px !important; }

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals{
  margin: 0 auto 12px auto !important;
  width: auto !important;
}

:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals + table{
  margin: 0 auto !important;
  width: auto !important;
}
:where(section.Program_Detail_Page:has(.rp-legacy-c)) table.un-goals-icons{
  margin-left: auto !important;
  margin-right: auto !important;
}

section.Program_Detail_Page:where(:has(.rp-legacy-c)) h1{ font-weight: 600; }
section.Program_Detail_Page:where(:has(.rp-legacy-c)) h2{ font-weight: 600; }
section.Program_Detail_Page:where(:has(.rp-legacy-c)) h3{ font-weight: 500 !important; }
section.Program_Detail_Page:where(:has(.rp-legacy-c)) p{ font-weight: 400; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .parent-qa-content{ font-weight: 400 !important; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .parent-qa-content strong{ font-weight: 450 !important; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) h2.faq-title{ font-weight: 600 !important; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .faq-item__body{ font-weight: 500; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .faq-processed .faq-item .faq-item__body label.faq-question h3{
  font-weight: 500 !important;
}

section.Program_Detail_Page:where(:has(.rp-legacy-c)) label.faq-question.faq-question--open h3{ font-weight: 500; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .faq-answer.TextBlock{ font-weight: 400 !important; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .AvailabilityStatus{ font-weight: 500 !important; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .RefundNotice{ font-weight: 500; }

section.Program_Detail_Page:where(:has(.rp-legacy-c)) .SafetyBox__Link{ font-weight: 500; }

/* 6. Quintin 10-27: hide the theme's "Program details last verified <date>" line on these (non-2027) legacy pages */

/* 5. Lean template only: the theme's .TextBlock content rules stop inside .ProgramPage__Layers.
      Re-apply them to legacy content (wrapped in .rp-legacy) so it looks as it does today. No effect on the current theme. */

/* 7. Template card on legacy pages with no departures (Quintin 10-27): keep the theme's "No departures scheduled" instead of the
      template's "Choose your session" label, and hide the cost disclosure the template JS leaves empty (no .rp-data on these pages). */

/* session status colors (2026-10-28, decided: colors already in our palette; same values as Tomas's spec) */
.Program_Detail_Page:has(.rp-cp3){--rp-status-available:rgba(64,64,65,.76);--rp-status-limited:#a05a00;--rp-status-very-limited:#8f3040;--rp-status-waitlist:#8f3040;--rp-status-coming-soon:#003964;--rp-status-sold-out:#98a4ae}

