@charset "utf-8";
.rp-country-hub{font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-size:16.5px;line-height:1.6;color:#2C3A43;background:#FBFAF8;--rp-gutter:40px;--rp-shell:1380px;}
.rp-country-hub .safety-link:hover{color:#fff;}
@media (max-width:49.9999rem){.rp-country-hub, .rp-nav, .other-destinations{--rp-gutter:24px;}}
.rp-country-hub h1, .rp-country-hub h2, .rp-country-hub h3, .rp-country-hub h4 {font-family:"Geist","Helvetica Neue",Arial,sans-serif;}
.rp-country-hub p{font-size:inherit;line-height:inherit;}
.rp-country-hub a[href^="tel:"]{text-decoration:none;border-bottom:0;box-shadow:none;}
.rp-country-hub a{color:#1E6B87;text-decoration:none;}
.rp-country-hub a:hover{color:#002b4e;}
.rp-country-hub summary{list-style:none;}
.rp-country-hub summary::-webkit-details-marker{display:none;}
#programs, #pricing, #curriculum, #teacher-support, #safety, #route, #fit, #patrick, #contact, #faq, #quote{scroll-margin-top:80px;}
.cta-o:hover{background:#B5570F;}
.cta-g:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.navlink:hover{color:#002b4e;}
.rp-country-hub a:focus-visible, .rp-country-hub button:focus-visible, .rp-country-hub summary:focus-visible, .rp-country-hub input:focus-visible, .rp-country-hub select:focus-visible, .rp-country-hub textarea:focus-visible{outline:2px solid #CD6414;outline-offset:3px;border-radius:2px;}
#safety a:focus-visible, #quote a:focus-visible, #rp-hero a:focus-visible{outline-color:#F0A96A;}
.dmark::before{content:"+";}
.rp-country-hub details[open] .dmark::before{content:"\2212 ";}

.pcard:hover .pcard-alt{opacity:1;}

@media (max-width:820px){.rp-diff-fig{min-height:0;aspect-ratio:4/5;}}
.pcard:hover .pcard-cta{color:#CD6414;}
.pcard:hover .pcard-arrow{transform:translateX(5px);}

.dmark-sm::before{color:#1E6B87;}
.rqf input, .rqf select, .rqf textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid rgba(0,43,78,.22);border-radius:4px;color:#2C3A43;background:#fff;min-width:0;width:100%;box-sizing:border-box;}
.rqf textarea{min-height:72px;resize:vertical;}
.rqf input:focus, .rqf select:focus, .rqf textarea:focus{outline:none;border-color:#CD6414;}
.rqf-err{display:none;margin:0;font-size:13.5px;font-weight:600;color:#B3382C;}
.rqf-err.is-shown{display:block;}
.is-sent .rqf-step, .is-sent .rqf-prog, .is-sent .rqf-steplabel, .is-sent .rqf-foot{display:none;}
.rqf-step[hidden]{display:none;}
@media (max-width:960px){
    .hero{grid-template-columns:1fr !important;}
    .hero > div, .hero > figure{grid-column:auto !important;grid-row:auto !important;}
    .hero > div:first-child{padding-bottom:clamp(20px,4vw,32px) !important;}
    .hero > figure{order:3;}
    .hero > div:nth-of-type(2){order:2;padding-top:0 !important;}
    .g3-even{grid-template-columns:1fr 1fr !important;}
    
    
    .split{grid-template-columns:1fr !important;}
    
    .promise-band{grid-template-columns:1fr !important;}
  }
@media (max-width:900px){
    .nav-inner{padding:8px 16px !important;}
    .nav-links{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap !important;}
    .nav-links::-webkit-scrollbar{display:none;}
    .nav-links a{white-space:nowrap;}
    .rp-nav .cta-o{display:none !important;}
    .nav-inner{gap:0 !important;}
    .mcta{display:flex !important;}
    .rp-mcta-spacer{height:76px;}
  }
.safety-shell > div:first-child > p:last-of-type{margin-bottom:18px;}
.safety-shell h2{margin:8px 0 12px;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.08;color:#fff;}
.safety-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.safety-stats div{border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:18px;display:flex;flex-direction:column;gap:4px;}
.safety-stats strong{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.8rem;color:#fff;}
.safety-stats span{font-size:12px;line-height:1.45;color:rgba(255,255,255,.7);}
.rp-itin-shell{max-width:var(--rp-shell);margin-inline:auto;padding:clamp(40px,5vw,64px) var(--rp-gutter);display:flex;flex-direction:column;gap:20px;box-sizing:border-box;}
.rp-itin-title{display:flex;flex-direction:column;gap:10px;}
.rp-itin-title h2{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.08;font-weight:600;letter-spacing:-.02em;color:#002b4e;}
.rp-itin-title p{margin:0;max-width:74ch;color:#5C6B75;}
.rp-itin-tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid rgba(0,43,78,.16);scrollbar-width:none;}
.rp-itin-tabs::-webkit-scrollbar, .rp-itin-days::-webkit-scrollbar{display:none;}
.rp-itin-tab{font:inherit;flex:0 0 auto;border:0;border-bottom:3px solid transparent;background:transparent;color:#2c3a43;font-size:13.5px;font-weight:700;padding:10px 2px 12px;cursor:pointer;}
.rp-itin-tab[aria-selected="true"]{color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-program[hidden]{display:none;}
.rp-itin-program{display:flex;flex-direction:column;gap:20px;}
.rp-itin-summary{display:grid;grid-template-columns:minmax(230px,320px) 1fr auto;gap:22px;align-items:center;border:1px solid rgba(0,43,78,.14);border-radius:12px;padding:14px;background:#FBFAF8;}
.rp-itin-summary img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;}
.rp-itin-summary>div{display:flex;flex-direction:column;gap:7px;}
.rp-itin-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#A64F0E;}
.rp-itin-summary h3{margin:0;color:#002b4e;font-size:1.3rem;line-height:1.25;}
.rp-itin-summary p{margin:0;font-size:13.5px;line-height:1.5;color:#5C6B75;}
.rp-itin-meta{display:flex;gap:7px;flex-wrap:wrap;}
.rp-itin-meta span{background:#EAF1F3;border-radius:999px;padding:4px 8px;color:#002b4e;font-size:12px;font-weight:700;}
.rp-itin-route{font-size:12px!important;}
.rp-itin-choose{font:inherit;border:0;border-radius:4px;background:#CD6414;color:#fff;font-size:13.5px;font-weight:700;padding:12px 16px;cursor:pointer;white-space:nowrap;}
.rp-itin-day-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;}
.rp-itin-day-heading>div:first-child{display:flex;flex-direction:column;gap:4px;}
.rp-itin-day-heading .rp-itin-days-label {margin:0;color:#002b4e;font-size:1.15rem;}
.rp-itin-day-heading p{margin:0;color:#5C6B75;font-size:13.5px;}


.rp-itin-days{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 1px 12px;scrollbar-width:none;}
.rp-itin-day{flex:0 0 294px;min-height:270px;scroll-snap-align:start;border:1px solid rgba(0,43,78,.15);border-radius:12px;background:#fff;padding:20px;display:flex;flex-direction:column;gap:14px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.rp-itin-day:hover{border-color:rgba(0,43,78,.4);box-shadow:0 10px 24px rgba(0,43,78,.08);}




.rp-itin-day h4 {margin:0;font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:1.15rem;line-height:1.3;letter-spacing:-.01em;color:#002b4e;}
.rp-itin-day p{margin:0;font-size:13.5px;line-height:1.58;color:#5C6B75;}




@media (max-width:900px){.rp-itin-summary{grid-template-columns:220px 1fr;}.rp-itin-summary .rp-itin-choose{grid-column:1/-1;}.rp-itin-choose{white-space:normal;width:100%;}}
@media (max-width:640px){
    .rp-itin-summary{grid-template-columns:1fr;}.rp-itin-summary img{aspect-ratio:16/9;}
    .rp-itin-day-heading{align-items:start;}
    .rp-itin-day{flex-basis:82vw;min-height:250px;}
    
  }
.rp-itin-day{border:0;box-shadow:0 1px 2px rgba(2,32,58,.10),0 4px 14px rgba(2,32,58,.07);padding:0;gap:10px;min-height:0;overflow:hidden;position:relative;transition:box-shadow .18s ease,transform .18s ease;}
.rp-itin-day:hover{box-shadow:0 2px 4px rgba(2,32,58,.12),0 10px 26px rgba(2,32,58,.12);}



.rp-itin-day h4{padding:6px 18px 0;}
.rp-itin-day p{padding:0 18px 18px;margin:0;}
.rp-itin-summary{border:0;background:#fff;box-shadow:0 1px 2px rgba(2,32,58,.08),0 6px 20px rgba(2,32,58,.07);padding:16px;}
.rp-itin-meta span{background:transparent;padding:4px 0;color:#2c3a43;font-weight:600;}
.rp-itin-meta span+span::before{content:"\00B7 ";margin:0 8px 0 2px;color:#9AA7AF;}
.rp-itin-meta span:last-child{background:#FCD34D;color:#1A2B49;border-radius:8px;padding:4px 10px;font-weight:700;}
.rp-itin-meta span:last-child::before{content:"";margin:0;}
.rp-itin-choose{border-radius:999px;padding:12px 22px;}
.rp-itin-kicker {display:inline-block;background:#FCD34D;color:#1A2B49;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;width:fit-content;}
.rp-itin-day p {font-size:16px;line-height:1.6;color:#5C6B75;}
.price-cta {border-radius:14px;padding:22px 26px;}
.price-cta .cta-o {border-radius:999px;padding:13px 24px;}
.rp-itin-summary{padding:22px;gap:28px;border-radius:16px;box-shadow:0 1px 2px rgba(2,32,58,.06),0 12px 32px rgba(2,32,58,.08);}
.rp-itin-summary img{border-radius:12px;}
.rp-itin-kicker{color:#5C6B75;font-weight:600;letter-spacing:.14em;font-size:10.5px;}
.rp-itin-summary h3{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;}
.rp-itin-summary p{font-size:16px;line-height:1.6;color:#2c3a43;max-width:58ch;}
.rp-itin-summary>div{gap:9px;}
.rp-itin-choose{background:#1A2B49;font-weight:600;padding:13px 26px;}
.rp-itin-choose:hover{background:#243a5e;}
.rp-itin-kicker{background:transparent!important;color:#8A6D3B;padding:0;border-radius:0;letter-spacing:.18em;font-size:10.5px;font-weight:600;}
.rp-itin-summary h3{font-family:"IBM Plex Serif",Georgia,serif;font-weight:500;font-size:1.65rem;letter-spacing:-.01em;}
.rp-itin-meta span:last-child{background:transparent;color:#1A2B49;padding:4px 0;font-weight:700;border-radius:0;}
.rp-itin-meta span:last-child::before{content:"\00B7 ";margin:0 8px 0 2px;color:#9AA7AF;font-weight:400;}
.rp-itin-summary>div{border-left:0;}
.rp-itin-choose{background:#CD6414;color:#fff;border:0;border-radius:4px;font-weight:700;letter-spacing:0;text-transform:none;font-size:13.5px;padding:13px 22px;transition:background .2s;}
.rp-itin-choose:hover{background:#B85812;color:#fff;}
.rp-itin-route{color:#8A939B!important;}
.price-cta .cta-o, .cta-o {border-radius:4px;padding:13px 24px;}
.rp-itin-choose{border-radius:4px;}
.rp-itin-meta{row-gap:4px;}
.rp-itin-meta span::before{content:""!important;margin:0!important;}
.rp-itin-meta span+span::after{content:"";}
.rp-itin-meta span:not(:last-child){margin-right:14px;}
.rp-itin-day h4 {font-family:"IBM Plex Serif",Georgia,serif;font-weight:500;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;color:#002b4e;}
.rp-itin-day-heading .rp-itin-days-label {font-family:"IBM Plex Serif",Georgia,serif;font-weight:500;font-size:1.4rem;}
.rp-itin-day{min-height:0;height:400px;}

.rp-itin-day p{font-size:13.5px;line-height:1.6;}
.rp-itin-summary h3{font-size:1.65rem;}
.rp-itin-summary{align-items:start;}
.rp-itin-summary .rp-itin-choose{align-self:center;}
.rp-itin-route{font-size:11px!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8A939B!important;line-height:1.7;}
.cur-band h3, .rp-itin-summary h3, .support-grid h3, .fit-grid h3, .content-split h3, .communication-note h3 {font-weight:500;}
.cta-o, .rp-itin-choose {font-size:16px!important;}
.section-heading p, .rp-itin-title p{font-size:16.5px;}
.rp-itin-summary{border-radius:12px!important;}
.rp-itin-radio{position:absolute;width:1px;height:1px;opacity:0;}
.rp-itin-program{display:none;}
.rp-itin-radio:focus-visible ~ .rp-itin-tabs{outline:2px solid #CD6414;outline-offset:3px;border-radius:3px;}
.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(1){display:block;}
.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(1){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(2){display:block;}
.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(2){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(3){display:block;}
.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(3){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(4){display:block;}
.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(4){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(5):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(5){display:block;}
.rp-itin-radio:nth-of-type(5):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(5){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(6):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(6){display:block;}
.rp-itin-radio:nth-of-type(6):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(6){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(7):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(7){display:block;}
.rp-itin-radio:nth-of-type(7):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(7){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(8):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(8){display:block;}
.rp-itin-radio:nth-of-type(8):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(8){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(9):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(9){display:block;}
.rp-itin-radio:nth-of-type(9):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(9){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(10):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(10){display:block;}
.rp-itin-radio:nth-of-type(10):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(10){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(11):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(11){display:block;}
.rp-itin-radio:nth-of-type(11):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(11){color:#1E6B87;border-bottom-color:#1E6B87;}
.rp-itin-radio:nth-of-type(12):checked ~ .rp-itin-panels > .rp-itin-program:nth-child(12){display:block;}
.rp-itin-radio:nth-of-type(12):checked ~ .rp-itin-tabs > .rp-itin-tab:nth-child(12){color:#1E6B87;border-bottom-color:#1E6B87;}
@media (max-width:960px){.rp-hero-media{margin-left:0 !important;}}
.rp-itin-day-heading{margin-top:clamp(22px,2.4vw,32px);}
.rp-itin-days{margin-top:14px;}
.rp-country-hub #faq details p + p {margin-top:14px;}
.rp-itin-fill span{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.25rem;
  font-weight:500;letter-spacing:-.01em;color:#fff;line-height:1.2;}

.rp-itin-fill--gap{background:#1E6B87;}
.rp-itin-day:has(.rp-itin-fill) .rp-itin-day-top{display:flex;}
@media (max-width:860px){.rp-itin-fill{height:150px;}}
.section-heading{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.section-heading h2, .faq-shell>h2 {margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.08;font-weight:600;letter-spacing:-.02em;color:#002b4e;}
.section-heading p {margin:0;max-width:74ch;color:#5C6B75;}
.au-includes{display:flex;flex-direction:column;gap:12px;padding-top:8px;}
.au-includes h3{margin:0;font-family:"IBM Plex Serif",Georgia,serif;color:#002b4e;font-size:1.4rem;}
.au-include-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.au-include-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.au-include-grid li{font-size:13.5px;line-height:1.5;display:flex;gap:8px;}
.au-include-grid li:before{content:"\2713 ";color:#1E6B87;font-weight:800;}

.content-split h3, .support-grid h3, .communication-note h3{margin:0 0 8px;color:#002b4e;font-size:1.05rem;}
.factor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:factors;}
.factor-list li{display:grid;grid-template-columns:1fr;gap:2px;}
.factor-list strong{color:#002b4e;font-size:13.5px;}
.factor-list span{font-size:13.5px;line-height:1.5;color:#5C6B75;}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.support-grid>div{border:1px solid rgba(0,43,78,.13);background:#fff;border-radius:7px;padding:22px;}
.support-grid ul, .fit-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.support-grid li, .fit-grid li{font-size:13.5px;line-height:1.5;}
.support-grid li:before{content:"\2713 ";color:#1E6B87;font-weight:800;margin-right:8px;}
.safety-shell .safety-link{display:inline-block;width:auto;}
.safety-link{color:#8FD3CB;font-weight:700;}

/* #safety module sub-heads and lists (Shayne, 2026-09-07, semantic pass — look/feel must not
   change). "What the team plans for" / "Controls built into every trip" were serif <p>s via
   the builder's _sub(); they are now real <h3>s, painted here to match the old <p> exactly,
   overriding the sheet's default navy h3 colour. Their regions/controls lists were bare
   concatenated <div>s; they are now real <ul>/<li>s, with list-style/margin/padding reset
   and the old flex spacing reproduced so nothing moves. The record card's own heading still
   uses _sub() (a <p>) and is unchanged. */
#safety h3.rp-safety-sub{margin:0 0 10px;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.4rem;font-weight:500;color:#fff;letter-spacing:-.01em;}
#safety .rp-safety-regions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
#safety .rp-safety-regions>li{display:flex;gap:12px;align-items:flex-start;}
#safety .rp-safety-controls{list-style:none;margin:0;padding:0;}
#safety .rp-safety-controls>li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid rgba(255,255,255,.14);}

/* rp-price-table: pricing structured content as real HTML tables (Shayne, 2026-09-07,
   via Steve Toth — pricing that is not a table "doesn't exist to the LLM"). Two variants
   share the base: --includes (label + detail) and --drivers (one row per raises/lowers
   factor, in the content's original order). Restyled same day (semantic work cannot change
   look/feel): the <caption> renders exactly like the old section h3 (serif, same size/
   colour/spacing, the thin rule beneath is the first row's border-top); <thead> stays in
   the markup for assistive tech but is visually hidden; rows reproduce the old flex-row
   label/text pairs pixel-for-pixel. Zero inline styles on the table itself. */
.rp-price-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;margin:0;}
.rp-price-table caption{caption-side:top;text-align:left;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.4rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;color:#002b4e;margin:0 0 8px;}
/* thead stays a real table-header-group (not position:absolute, which blockifies it out of
   the table and breaks table-layout:fixed's column-width calc below) — visually hidden with
   the height/overflow/clip-path sr-only trio instead, and its cells' own box collapsed to
   zero so the row itself renders at ~1px, same as position:absolute would have looked. */
.rp-price-table thead{height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.rp-price-table thead th{padding:0;border:0;font-size:1px;line-height:1px;}
.rp-price-table tbody th, .rp-price-table tbody td{padding:0;border-top:1px solid rgba(0,43,78,.12);vertical-align:top;text-align:left;}
/* table-layout:fixed sizes columns off the table's first row, which is the (visually hidden
   but still in-flow) thead row — so its cells need the same widths as the tbody's, or the
   fixed layout falls back to an even 50/50 split and the label column balloons. */
.rp-price-table--includes thead th:first-child{width:132px;box-sizing:border-box;}
.rp-price-table--drivers thead th:first-child{width:62px;box-sizing:border-box;}
.rp-price-table--includes tbody th[scope="row"]{width:132px;box-sizing:border-box;padding:10px 14px 10px 0;font-size:16px;font-weight:700;color:#002b4e;white-space:normal;}
.rp-price-table--includes tbody td{padding:10px 0;font-size:16px;line-height:1.55;color:#2C3A43;}
.rp-price-table--drivers tbody th[scope="row"]{width:62px;box-sizing:border-box;padding:8px 10px 8px 0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;vertical-align:baseline;}
.rp-price-table--drivers tbody th[scope="row"].rp-effect-raises{color:#A64F0E;}
.rp-price-table--drivers tbody th[scope="row"].rp-effect-lowers{color:#2E6B4F;}
.rp-price-table--drivers tbody td{padding:8px 0;font-size:16px;line-height:1.55;color:#2C3A43;vertical-align:baseline;}
@media (max-width:720px){
.rp-price-table caption{margin:0 0 14px;}
}
@media (max-width:49.9999rem){
.rp-price-table--includes tbody th[scope="row"]{white-space:normal;}
}







.faq-shell>div{margin-top:14px;}
.faq-shell details{border-bottom:1px solid rgba(0,43,78,.12);padding:14px 0;}
.faq-shell summary{cursor:pointer;display:flex;align-items:flex-start;gap:11px;}
.faq-shell summary h3{margin:0;font-size:1.05rem;font-weight:600;color:#002b4e;}
.faq-mark{flex:0 0 19px;width:19px;height:19px;margin-top:3px;border-radius:999px;border:1.5px solid rgba(0,43,78,.35);display:flex;align-items:center;justify-content:center;box-sizing:border-box;}
.faq-mark:before{content:"+";color:#1E6B87;font-size:13.5px;line-height:1;}
.faq-shell details[open] .faq-mark:before{content:"\2212 ";}
.faq-shell details>p{margin:10px 0 0 30px;font-size:16px;line-height:1.6;max-width:76ch;}
.au-gallery{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.au-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.au-gallery[data-frames="1"]{grid-template-columns:1fr;}
.au-gallery[data-frames="2"]{grid-template-columns:repeat(2,1fr);}
.au-gallery[data-frames="3"]{grid-template-columns:repeat(3,1fr);}

@media (max-width:720px){
.au-include-grid, .content-split, .support-grid, .fit-grid{grid-template-columns:1fr;}
.au-gallery,.au-gallery[data-frames]{grid-template-columns:repeat(2,1fr);}.au-gallery[data-frames="1"]{grid-template-columns:1fr;}
}
.rp-itin-programs{background:#fff;}
.section-heading{gap:12px;margin-bottom:36px;}
.section-heading h2{margin:0;letter-spacing:-.02em;}
.section-heading p{margin:0;max-width:62ch;font-size:16.5px;line-height:1.6;color:#5C6B75;}
.support-grid>div, .content-split>div, .communication-note {background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;}
#teacher-support .support-grid>div{border-top:2px solid rgba(0,43,78,.18);padding-top:18px;}
.support-grid h3, .fit-grid h3, .content-split h3, .communication-note h3{font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.3rem,1.7vw,1.6rem);font-weight:600;letter-spacing:-.02em;color:#002b4e;margin:0 0 14px;}
.support-grid{gap:12px;}
.support-grid li, .fit-grid li{line-height:1.6;}
.comm-facts{display:flex;flex-direction:column;gap:18px;}
.comm-facts>div{border-left:0;padding-left:0;}
.comm-facts strong{display:block;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.1rem;font-weight:600;color:#002b4e;margin-bottom:4px;}
.comm-facts p{margin:0;font-size:16px;line-height:1.6;}






.support-grid li:before, .fit-grid li:before, .au-include-grid li:before{color:#1E6B87;}
@media (max-width:720px){
.support-grid>div, .fit-grid>div, .content-split>div, .communication-note{padding:24px 22px;}
}
.au-includes h3, .section-heading h2{letter-spacing:-.01em;}
.faq-shell h2, .section-heading h2{font-size:clamp(1.9rem,3.4vw,2.5rem);}
.au-sp4{font-size:11px;font-weight:700;letter-spacing:.14em;color:#CD6414;}
.au-sp5{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.12rem;line-height:1.25;font-weight:600;letter-spacing:-.01em;color:#002b4e;}
.au-li4{border-top:1px solid rgba(0,43,78,.14);padding:16px 0;display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:baseline;}
#fit .fit-shell>div>p, .fit-shell p {font-size:16.5px;}

.support-grid li, .fit-grid li, .factor-list li{font-size:16px;}

@media (max-width:640px){

.statstrip{grid-template-columns:repeat(3,1fr)!important;gap:18px 12px!important;}
.rqf-row{grid-template-columns:1fr !important;}
}
.section-shell {max-width:var(--rp-shell);margin-inline:auto;padding:clamp(40px,5vw,64px) var(--rp-gutter);box-sizing:border-box;}
.price-cta {display:flex;justify-content:space-between;gap:20px;align-items:center;background:#002b4e;color:#fff;border-radius:8px;padding:18px 20px;}
.price-cta>div {display:flex;flex-direction:column;gap:2px;}

.price-cta .cta-o {background:#CD6414;color:#fff;font-size:13.5px;font-weight:700;padding:12px 18px;border-radius:4px;white-space:nowrap;}
.content-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4.5vw,64px);align-items:start;}
.price-cta{margin-top:26px;}
.communication-note{margin-top:14px;border-top:1px solid rgba(0,43,78,.13);padding-top:18px;}
.communication-note p{margin:0;max-width:76ch;color:#5C6B75;}
.safety-shell{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(34px,5vw,72px);}
.safety-shell > div:first-child > p{margin:0 0 14px;}
.safety-shell p{color:rgba(255,255,255,.78);}
.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fit-grid h3{margin:0 0 10px;color:#002b4e;}
.fit-grid li{display:flex;gap:8px;}
.fit-grid li:before{content:"\2713 ";color:#1E6B87;font-weight:800;}
@media (max-width:960px){
.safety-shell{grid-template-columns:1fr;}
}
@media (max-width:720px){
.price-cta {flex-direction:column;align-items:stretch;}
.price-cta .cta-o {text-align:center;}
.safety-stats{grid-template-columns:1fr 1fr;}
}
.section-shell{padding-block:clamp(56px,7vw,88px);}
.section-shell>div>p, .section-shell p{max-width:66ch;}
.section-shell li{line-height:1.7;}

#teacher-support .communication-note{border-top:1px solid rgba(0,43,78,.14);padding-top:24px;margin-top:24px;}
.fit-grid{gap:clamp(24px,3vw,40px);}
.fit-grid>div{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px 0 0!important;border-top:2px solid rgba(0,43,78,.18)!important;}
.communication-note{margin-top:12px;border-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,3.5vw,48px);align-items:start;}
@media (max-width:860px){
.communication-note{grid-template-columns:1fr;}
}
.communication-note p{color:#5C6B75;}
.cur-band h3 {margin:0;font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-weight:700;letter-spacing:-.015em;color:#002b4e;line-height:1.15;}
.cur-band{background:transparent;border-radius:0;padding:clamp(10px,2vw,20px) 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(32px,4vw,48px) clamp(28px,3vw,44px);}
.cur-band>div{flex:0 1 300px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;}
.cur-band h3{font-size:clamp(1.3rem,1.7vw,1.6rem);}
.cur-band p{margin:0;font-size:16px;line-height:1.6;color:#2c3a43;max-width:36ch;}
.cur-band svg{width:44px;height:44px;color:#1E6B87;}
.cur-band h3 {font-family:"IBM Plex Serif",Georgia,serif;font-weight:500;letter-spacing:-.01em;}
.cur-band h3{font-size:1.35rem;}
#different .promise-band{max-width:var(--rp-shell);margin:0 auto;padding:clamp(40px,5vw,72px) var(--rp-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:stretch;}
@media (max-width:860px){
#different .promise-band{grid-template-columns:1fr;}
}
.navlink{font-family:"Geist","Helvetica Neue",Arial,sans-serif;}
#curriculum p, .cur-band p {color:#5C6B75;}
@media (max-width:900px){
.statstrip{grid-template-columns:repeat(3,1fr)!important;gap:18px 12px!important;}
}
@media (max-width:560px){
.statstrip{grid-template-columns:1fr 1fr!important;}
}
.rp-country-hub .factor-list{counter-reset:factors;}
.rp-country-hub .factor-list li{counter-increment:factors;display:grid;grid-template-columns:24px 1fr;column-gap:10px;}
.rp-country-hub .factor-list li::before{content:counter(factors) ".";grid-row:1/3;grid-column:1;font-size:13.5px;font-weight:700;color:#CD6414;font-variant-numeric:tabular-nums;}
.rp-country-hub .factor-list li strong,.rp-country-hub .factor-list li span{grid-column:2;display:block;}
.rp-country-hub .h2-section, .rp-country-hub .section-heading h2, .rp-country-hub .faq-shell>h2 {margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.1;font-weight:600;letter-spacing:-.02em;color:#002b4e;max-width:26ch;}
.rp-country-hub .h2-minor{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1;font-weight:600;letter-spacing:-.02em;color:#002b4e;max-width:22ch;}
.rp-country-hub .h2-compact{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.15;font-weight:600;letter-spacing:-.015em;color:#002b4e;max-width:24ch;}
/* Related-destinations heading stays on one line (Shayne, 2026-09-07); the 24ch cap is for the contact H2 */
.rp-country-hub #destinations-h{max-width:none;}
.rp-country-hub .h2-invert{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.08;font-weight:600;letter-spacing:-.02em;color:#fff;max-width:22ch;}
@media (max-width:640px){
.g3-even{grid-template-columns:1fr !important;}

.g3-even > li:first-child{border-top:0 !important;padding-top:0 !important;}

}
.rp-itin-fill{order:-1;height:170px;border-radius:12px 12px 0 0;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:16px;
  box-sizing:border-box;}

.rp-rail-nav{position:absolute;top:50%;margin-top:-22px;z-index:4;width:44px;height:44px;border-radius:999px;border:1px solid rgba(0,43,78,.14);background:#fff;color:#002b4e;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 6px 20px rgba(0,43,78,.18);opacity:0;transition:opacity .18s ease;}

.rp-rail-wrap.is-scrollable:hover .rp-rail-nav:not(:disabled),.rp-rail-wrap.is-scrollable:focus-within .rp-rail-nav:not(:disabled){opacity:1;}
.rp-rail-nav:disabled{opacity:0;visibility:hidden;pointer-events:none;}
.rp-rail-nav:hover{background:#002b4e;color:#fff;border-color:#002b4e;}


.safety-shell .safety-link:hover{text-decoration:underline;}


@media (hover:none),(max-width:640px){
.rp-rail-nav{display:none;}
}
@media (max-width:860px){
.safety-shell{grid-template-columns:1fr;}
}

.other-destinations{--rp-gutter:40px;--rp-shell:1380px;max-width:var(--rp-shell);margin-inline:auto;padding:14px var(--rp-gutter) 22px;box-sizing:border-box;border-top:1px solid rgba(0,43,78,.1);display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;}#destinations a{text-decoration:none;}#destinations a:hover,#destinations a:focus-visible{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;}

.rp-country-hub .statstrip strong{display:block;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.35rem,2.1vw,1.85rem);line-height:1;font-weight:600;color:#002b4e;letter-spacing:-.03em;}
.communication-note p + p{margin-top:14px;}
@media (max-width:860px){
.rp-itin-fill{height:150px;}
}
@media (max-width:720px){
.content-split{grid-template-columns:1fr;}
.fit-grid{grid-template-columns:1fr;}
.support-grid>div, .content-split>div{padding:0;}
.communication-note{padding-inline:0;}
}
@media (max-width:640px){
.rp-itin-day{min-height:250px;height:auto;}
.safety-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.safety-stats>div{overflow-wrap:anywhere;}
}
@media (max-width:49.9999rem){
.rp-country-hub, .rp-nav, .other-destinations{--rp-gutter:24px;}
}
@media (min-width:51.26rem){
.rp-diff-fig{min-height:340px;}
}
.cur-band .cur-eq{font-family:"IBM Plex Serif",Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;color:#1E6B87;max-width:34ch;}
.cur-band .cur-tie{font-size:12px;line-height:1.4;letter-spacing:.02em;color:#8A97A1;max-width:34ch;}

#programs{--itin-navy:#002b4e;--itin-teal:#1e6b87;--itin-orange:#cd6414;--itin-ink:#2c3a43;--itin-muted:#5c6b75;--itin-line:rgba(0,43,78,.14);--itin-soft:#f4f7f7;--itin-warn:#8b4b12;--itin-warn-bg:#fff4e6;background:#fbfaf8;padding:clamp(42px,5vw,72px) var(--rp-gutter,40px);font-family:"Geist","Helvetica Neue",Arial,sans-serif}
/* ===== PROMOTED FROM THE PAGE HEADS 2026-09-04 =============================
   Each of these appeared in the custom_head_content of two or more hubs, so none is
   page-specific. Moved whole, at-rules included. thailand and united-kingdom are
   excluded: they carry entire component blocks locally, and promoting into that
   ADDS styling rather than moving it (SKILL rule 37). */
.rp-country-hub{margin:0;-webkit-font-smoothing:antialiased;}
#route{background:#F6F3ED;border-block:1px solid rgba(0,43,78,.1);padding-block:clamp(44px,5vw,64px);}
.rp-country-hub h2{letter-spacing:-.02em;}
#route > *{max-width:var(--rp-shell);margin-inline:auto;padding-inline:var(--rp-gutter);box-sizing:border-box;}
.rp-country-hub h3{font-weight:500;}
#different h2{font-size:clamp(1.9rem,3.4vw,2.5rem)!important;}
#safety p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.82);}
#route{max-width:none !important;width:auto !important;padding-inline:0 !important;}

.rp-country-hub h2{font-weight:600!important;}
@media (max-width:640px){
    .statstrip{grid-template-columns:1fr 1fr !important;}
  }
.section-shell{max-width:var(--rp-shell);margin-inline:auto;padding:clamp(40px,5vw,64px) var(--rp-gutter);box-sizing:border-box;}
.safety-shell .safety-link{display:inline-block;width:auto;color:#8FD3CB;font-weight:700;text-decoration:none;}
.safety-shell > div:first-child > p{margin:0 0 14px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.82);}
@media (max-width:49.9999rem){.rp-country-hub, .rp-nav{--rp-gutter:24px;}}
#faq{background:#fff;}
.rp-country-hub{margin:0;background:#FBFAF8;-webkit-font-smoothing:antialiased;}
#different{background:#fff;border-top:1px solid rgba(0,43,78,.1);}
.rp-country-hub{background:#fff;}
.rp-itin-fill{display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;min-height:150px;aspect-ratio:16/10;}
.rp-country-hub #safety a:hover{color:#fff;text-decoration-color:#fff;}
.rp-country-hub .safety-link{font-weight:700;border-bottom:0;padding-bottom:0;display:inline-block;margin-top:6px;}
.rp-country-hub #safety a{color:#B6E7E0;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px;text-decoration-color:rgba(182,231,224,.5);}

/* Quintin, 2026-09-04: #teacher-support stacked TWO rules above "Rustic Pathways can also
   help with" — .communication-note's 1px and .support-grid>div's 2px, one directly under the
   other. Keep the bolder line, drop the thin one. */
#teacher-support .communication-note{border-top:0;}

      #programs .rp-itin-shell{max-width:var(--rp-shell,1380px);margin-inline:auto}
      #programs button,#programs a,#programs input,#programs summary{font-family:inherit}
      #programs .rp-itin-print-letterhead,#programs .rp-itin-print-footer,#programs .rp-itin-print-book{display:none}
      #programs .rp-itin-title{margin-bottom:24px}
      #programs .rp-itin-title h2{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(2rem,3.8vw,3rem);line-height:1.08;font-weight:700;letter-spacing:-.02em;color:var(--itin-navy)}
      #programs .rp-itin-title p{margin:8px 0 0;color:var(--itin-muted)}
      #programs .rp-itin-planning{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin:0 0 18px;border-block:1px solid var(--itin-line);background:#fff}
      #programs .rp-itin-planning>div{padding:11px 14px;border-right:1px solid var(--itin-line);font-size:12px;line-height:1.4;color:var(--itin-muted)}
      #programs .rp-itin-planning>div:last-child{border-right:0}#programs .rp-itin-planning dd,#programs .rp-itin-key-grid dd{margin:0;font:inherit;color:inherit;line-height:inherit}#programs .rp-itin-planning,#programs .rp-itin-key-grid{margin-block:0}
      #programs .rp-itin-planning>div:last-child{text-align:left}
      #programs .rp-itin-planning dt,#programs .rp-itin-planning strong{display:block;font-weight:700;margin-bottom:2px;color:var(--itin-navy);font-size:11px}
      
      #programs .rp-itin-print{display:block;margin-top:5px;border:0;background:transparent;color:var(--itin-teal);padding:0;font:inherit;font-weight:700;text-align:left;text-decoration:underline;cursor:pointer}
      #programs .rp-itin-radio{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
      #programs .rp-itin-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--itin-line);margin-bottom:14px;scrollbar-width:thin}
      #programs .rp-itin-tab{flex:1 1 0;min-width:220px;display:grid;gap:3px;padding:12px 14px 13px;color:#2c3a43;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid transparent;border-bottom:4px solid transparent;border-radius:8px 8px 0 0;transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}
      #programs .rp-itin-tab:hover{background:#eef5f5;color:var(--itin-navy)}
      /* 10.5px was too small to read comfortably: this line carries the duration, the subject and
   the starting price, which is the whole basis on which a reader picks a tab. 12.5px against
   the 14px tab title keeps the hierarchy while making the note legible (Quintin, 2026-09-03). */
#programs .rp-itin-tab small{color:var(--itin-muted);font-size:12px;line-height:1.45;font-weight:500}
      /* The radio ids are {slug}-itin-N and the panels are keyed by data-program-id, so an
         id selector here is one country's page. This sheet is SHARED (SKILL rule 27): on any
         other country these matched nothing, and because `#programs .rp-itin-program` sets
         display:none with an ID (1,1,0) it also outranks the v1 sheet's generic nth-of-type
         rule (0,5,0) — so the second v2 hub would have rendered NO itinerary at all.
         Structural, exactly as the v1 sheet already does it. */
      #programs .rp-itin-radio:nth-of-type(1):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(1),
      #programs .rp-itin-radio:nth-of-type(2):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(2),
      #programs .rp-itin-radio:nth-of-type(3):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(3){color:#fff;background:var(--itin-teal);border-color:var(--itin-teal);border-bottom-color:var(--itin-navy);box-shadow:0 5px 14px rgba(0,43,78,.16)}
      #programs .rp-itin-radio:nth-of-type(1):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(1) small,
      #programs .rp-itin-radio:nth-of-type(2):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(2) small,
      #programs .rp-itin-radio:nth-of-type(3):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(3) small{color:rgba(255,255,255,.88)}
      #programs .rp-itin-radio:nth-of-type(1):focus-visible~.rp-itin-tabs>.rp-itin-tab:nth-child(1),
      #programs .rp-itin-radio:nth-of-type(2):focus-visible~.rp-itin-tabs>.rp-itin-tab:nth-child(2),
      #programs .rp-itin-radio:nth-of-type(3):focus-visible~.rp-itin-tabs>.rp-itin-tab:nth-child(3){outline:3px solid rgba(205,100,20,.45);outline-offset:2px}
      #programs .rp-itin-program{display:none;background:#fff;border:1px solid rgba(0,43,78,.1);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,43,78,.05)}
      #programs .rp-itin-radio:nth-of-type(1):checked~.rp-itin-panels>.rp-itin-program:nth-child(1),
      #programs .rp-itin-radio:nth-of-type(2):checked~.rp-itin-panels>.rp-itin-program:nth-child(2),
      #programs .rp-itin-radio:nth-of-type(3):checked~.rp-itin-panels>.rp-itin-program:nth-child(3){display:block}
      #programs .rp-itin-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:#fff;border:0;border-radius:0;padding:20px 22px;box-shadow:none}
      #programs .rp-itin-summary:has(>img){grid-template-columns:150px minmax(0,1fr) auto}
      #programs .rp-itin-summary>img{display:block;width:150px;height:94px;aspect-ratio:16/10;object-fit:cover;border-radius:7px;background:var(--itin-soft)}
      #programs .rp-itin-summary:not(:has(>img)) {grid-template-columns:minmax(0,1fr) auto}
      #programs .rp-itin-kicker{display:block;margin-bottom:8px;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8b6a30}
      #programs .rp-itin-summary h3{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.13;font-weight:700;color:var(--itin-navy)}
      #programs .rp-itin-summary h3+p{margin:4px 0 9px;color:var(--itin-muted);font-size:13.5px}
      #programs .rp-itin-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:#2c3a43;font-size:13.5px;font-weight:700}
      #programs .rp-itin-route{margin:10px 0 0;font-size:12px;line-height:1.4;font-weight:600;color:#6f7d87}
      #programs .rp-itin-choose{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:var(--itin-orange);color:#fff;padding:12px 18px;font:inherit;font-size:13.5px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}
      #programs .rp-itin-day-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0;padding:13px 22px;background:#f4f7f7;border-top:1px solid var(--itin-line)}
      #programs .rp-itin-day-heading .rp-itin-days-label {margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.15rem;line-height:1.2;font-weight:700;color:var(--itin-navy)}
      #programs .rp-itin-day-heading p{margin:3px 0 0;color:var(--itin-muted);font-size:12px}
      #programs .rp-itin-days{display:grid;gap:0;background:#fff;border:0;border-top:1px solid var(--itin-line);border-radius:0;overflow:hidden}
      #programs .rp-itin-day{display:block;background:#fff;border:0;border-bottom:1px solid var(--itin-line);border-radius:0;overflow:visible;box-shadow:none}
      #programs .rp-itin-day:last-child{border-bottom:0}
      
      #programs:not([data-enhanced="true"]) .rp-itin-day{padding:14px 18px}
      #programs:not([data-enhanced="true"]) .rp-itin-day>.rp-itin-day-top{margin-bottom:8px;padding:0;border:0}
      #programs:not([data-enhanced="true"]) .rp-itin-day>h4{margin:0 0 5px;padding:0}
      #programs:not([data-enhanced="true"]) .rp-itin-day>p{margin:0;color:#2c3a43;font-size:13.5px;line-height:1.55}
      
      #programs .rp-itin-fill{display:none}
      
      
      
      
      
      #programs .rp-itin-day h4{grid-column:1;grid-row:1/3;margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.08rem;line-height:1.22;font-weight:700;color:var(--itin-navy)}
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      @media(max-width:900px){
        #programs{--rp-gutter:24px}
        #programs .rp-itin-summary{grid-template-columns:minmax(0,1fr) auto}
        #programs .rp-itin-summary .rp-itin-choose{justify-self:start}
        
        
        
      }
      @media(max-width:680px){
        #programs{--rp-gutter:16px;padding-block:36px}
        #programs .rp-itin-tabs{margin-inline:-16px;padding-inline:16px}
        #programs .rp-itin-summary, #programs .rp-itin-summary:not(:has(>img)) {grid-template-columns:1fr}
        #programs .rp-itin-summary:has(>img){grid-template-columns:96px minmax(0,1fr);gap:14px}
        #programs .rp-itin-summary>img{width:96px;height:96px;aspect-ratio:1;max-height:none}
        #programs .rp-itin-summary:has(>img) .rp-itin-choose{grid-column:2;justify-self:start}
        
        
        
        #programs .rp-itin-day h4 {grid-column:1;grid-row:auto}
        #programs .rp-itin-day h4{font-size:1.02rem;margin-bottom:3px}
        
        
      }
      #programs .rp-itin-day-row{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(190px,max-content) 22px;gap:14px;align-items:center;width:100%;min-height:58px;margin:0;padding:12px 16px;border:0;background:#fff;color:var(--itin-ink);font:inherit;text-align:left;cursor:pointer}
      #programs .rp-itin-day-row:hover{background:#f7f9f9}
      #programs .rp-itin-day-toggle:focus-visible{outline:3px solid rgba(30,107,135,.35);outline-offset:-3px}
      #programs .rp-itin-accordion-index{display:flex;flex-direction:column;gap:1px;color:var(--itin-teal);font-size:11px;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
      
      
      /* 10px was the smallest type on the page and it carried the four facts a planner scans a day
   row for. 12px with a wider gap, and the track below widened to match so the day TITLE keeps
   its room rather than paying for the increase (Quintin, 2026-09-03). */
#programs .rp-itin-accordion-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;color:var(--itin-muted);font-size:12px;line-height:1.4;text-align:right}
      #programs .rp-itin-accordion-meta:empty{display:none}
      #programs .rp-itin-accordion-meta span{white-space:nowrap}
      #programs .rp-itin-accordion-icon{color:var(--itin-teal);font-size:20px;line-height:1;text-align:center;transition:transform .18s ease}
      #programs .rp-itin-day-row[data-open="true"] .rp-itin-accordion-icon{transform:rotate(45deg)}
      #programs .rp-itin-day-panel[hidden]{display:none}
      #programs .rp-itin-day-panel{border-top:1px solid var(--itin-line);background:#fbfcfc}
      #programs .rp-itin-day-panel-inner{padding:16px 54px 18px 122px}
      
      #programs .rp-itin-chronology{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--itin-line)}
      #programs .rp-itin-time-block{min-width:0}
      #programs .rp-itin-time-block strong{display:block;margin-bottom:3px;color:var(--itin-navy);font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}
      #programs .rp-itin-time-block span{display:block;color:#2c3a43;font-size:12px;line-height:1.45}
      #programs .rp-itin-accordion-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;margin-top:14px;padding-top:13px;border-top:1px solid var(--itin-line)}
      #programs .rp-itin-accordion-fact{min-width:0}
      
      
      #programs .rp-itin-accordion-fact dt{display:block;margin:0 0 2px;color:#5c6b75;font-size:9px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
      #programs .rp-itin-accordion-fact dd{display:block;margin:0;color:var(--itin-ink);font-size:12px;line-height:1.45;font-weight:400}
      #programs .rp-itin-accordion-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin-top:12px}
      #programs .rp-itin-accordion-more div{font-size:12px;line-height:1.45;color:var(--itin-muted)}
      #programs .rp-itin-accordion-more strong{display:block;color:var(--itin-navy);font-size:11px}
      #programs .rp-itin-key{margin:0 0 14px;border-top:1px solid var(--itin-line);border-bottom:1px solid var(--itin-line);background:#fff}
      #programs .rp-itin-key>summary{display:flex;align-items:center;min-height:42px;padding:8px 12px;color:var(--itin-teal);font-size:12px;font-weight:700;cursor:pointer}
      #programs .rp-itin-key-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0 12px 13px;color:var(--itin-muted);font-size:11px;line-height:1.45}
      #programs .rp-itin-key-grid dt,#programs .rp-itin-key-grid strong{display:block;font-weight:700;color:var(--itin-navy);font-size:11px}
      @media(max-width:800px){
        #programs .rp-itin-planning{grid-template-columns:repeat(2,minmax(0,1fr))}
        #programs .rp-itin-planning>div{border-bottom:1px solid var(--itin-line)}
        #programs .rp-itin-day-row{grid-template-columns:76px minmax(0,1fr) 22px;gap:10px;padding:11px 13px}
        #programs .rp-itin-accordion-meta{grid-column:2;grid-row:2;text-align:left}
        #programs .rp-itin-accordion-icon{grid-column:3;grid-row:1/3}
        #programs .rp-itin-day-panel-inner{padding:14px 16px 16px 99px}
        #programs .rp-itin-accordion-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
        #programs .rp-itin-accordion-more{grid-template-columns:repeat(2,minmax(0,1fr))}
        #programs .rp-itin-key-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
      }
      @media(max-width:520px){
        #programs .rp-itin-planning{grid-template-columns:1fr}
        #programs .rp-itin-planning>div{border-right:0}
        #programs .rp-itin-day-row{grid-template-columns:62px minmax(0,1fr) 20px;min-height:54px;padding:10px 11px}
        #programs .rp-itin-accordion-title{font-size:13.5px}
        #programs .rp-itin-day-panel-inner{padding:13px 13px 15px}
        #programs .rp-itin-accordion-facts,#programs .rp-itin-accordion-more{grid-template-columns:1fr 1fr;gap:9px 14px}
        #programs .rp-itin-key-grid{grid-template-columns:1fr 1fr}
        #programs .rp-itin-chronology{grid-template-columns:1fr;gap:9px}
      }
      @page{
        size:letter;
        margin:.68in .52in .58in;
        @top-left{content:"RUSTIC PATHWAYS  |  SCHOOL GROUP TRAVEL";color:#002b4e;font-family:Arial,sans-serif;font-size:8.5pt;font-weight:700;letter-spacing:.06em}
        
        
        
      }
      
      @media print{
        #programs{padding:0;background:#fff;color:#1f2f3a;font-family:Arial,"Helvetica Neue",sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
        #programs .rp-itin-print-letterhead{display:flex!important;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 .28in;padding:0 0 8px;border-bottom:3px solid var(--itin-teal);color:var(--itin-navy)}
        #programs .rp-itin-print-brand{font-size:21pt;line-height:1;font-weight:700;letter-spacing:.08em}
        #programs .rp-itin-print-brand img{display:block;width:2in;height:.85in;object-fit:cover;object-position:center}
        #programs .rp-itin-print-brand span{display:block;margin-top:5px;color:var(--itin-teal);font-size:8pt;line-height:1.2;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
        #programs .rp-itin-print-document{text-align:right}
        #programs .rp-itin-print-document strong{display:block;font-size:10pt;line-height:1.2;color:var(--itin-navy)}
        #programs .rp-itin-print-document span{display:block;margin-top:2px;font-size:8pt;line-height:1.2;color:var(--itin-muted)}
        #programs .rp-itin-print-footer{display:none!important}
        #programs .rp-itin-title{margin:0 0 12px;padding:0 0 10px;border-bottom:2px solid var(--itin-teal)}
        #programs .rp-itin-title h2{font-size:22pt;line-height:1.05;letter-spacing:-.02em}
        #programs .rp-itin-title p{margin-top:5px;font-size:9pt;line-height:1.35}
        #programs .rp-itin-planning{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px}
        #programs .rp-itin-planning>div{padding:7px 9px;font-size:7.5pt;line-height:1.35}
        #programs .rp-itin-planning>div:nth-child(6){border-right:0}
        #programs .rp-itin-planning>div:last-child{display:none!important}
        #programs .rp-itin-planning dt,#programs .rp-itin-planning strong{font-size:7.5pt}
        #programs .rp-itin-radio,#programs .rp-itin-tabs,#programs .rp-itin-print,#programs .rp-itin-choose{display:none!important}
        #programs .rp-itin-key{margin:0 0 12px;border-color:var(--itin-line);break-inside:avoid}
        #programs .rp-itin-key>summary{min-height:28px;padding:5px 8px;font-size:8pt}
        #programs .rp-itin-key-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px;padding:0 8px 8px;font-size:6.8pt;line-height:1.35}
        #programs .rp-itin-key-grid dt,#programs .rp-itin-key-grid strong{font-size:7pt}
        #programs .rp-itin-program{display:block!important;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
        #programs .rp-itin-summary{grid-template-columns:92px minmax(0,1fr)!important;gap:12px;padding:8px 0 10px;border-bottom:1px solid var(--itin-line);background:transparent}
        #programs .rp-itin-summary,#programs .rp-itin-day-heading{break-inside:avoid;break-after:avoid}
        #programs .rp-itin-summary>img{width:92px;height:58px;border-radius:3px}
        #programs .rp-itin-kicker{margin-bottom:3px;font-size:6.5pt;letter-spacing:.12em}
        #programs .rp-itin-summary h3{font-size:14pt}
        #programs .rp-itin-summary h3+p{margin:2px 0 5px;font-size:8pt}
        #programs .rp-itin-meta{gap:3px 14px;font-size:7.5pt}
        #programs .rp-itin-route{margin-top:5px;font-size:7pt}
        #programs .rp-itin-day-heading{padding:7px 0;background:#fff;border-top:0;border-bottom:2px solid var(--itin-teal)}
        #programs .rp-itin-day-heading .rp-itin-days-label {font-size:11pt}
        #programs .rp-itin-day-heading p{font-size:7pt}
        #programs .rp-itin-days{border:0;background:transparent;overflow:visible}
        #programs .rp-itin-day{border-bottom:1px solid var(--itin-line);background:transparent;break-inside:avoid-page;page-break-inside:avoid}
        #programs .rp-itin-day-row{grid-template-columns:52px minmax(0,1fr);min-height:0;gap:9px;padding:5px 0;border:0!important;background:transparent}
        #programs .rp-itin-accordion-index{font-size:6.7pt;line-height:1.15;letter-spacing:.04em}
        
        #programs .rp-itin-accordion-title{font-size:9pt;line-height:1.2}
        #programs .rp-itin-accordion-meta,#programs .rp-itin-accordion-icon{display:none!important}
        #programs .rp-itin-day-panel[hidden]{display:block!important}
        #programs .rp-itin-day-panel{border-top:0;background:transparent}
        #programs .rp-itin-day-panel-inner{padding:3px 0 8px 61px}
        #programs .rp-itin-accordion-copy{max-width:none;font-size:7.7pt;line-height:1.35}
        #programs .rp-itin-accordion-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 14px;margin-top:6px;padding-top:6px}
        #programs .rp-itin-accordion-fact dt{margin-bottom:1px;color:var(--itin-navy);font-size:6.2pt;line-height:1.15;font-weight:700;letter-spacing:0;text-transform:none}
        #programs .rp-itin-accordion-fact dd{font-size:6.8pt;line-height:1.28}
        #programs .rp-itin-accordion-more{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;margin-top:6px}
        #programs .rp-itin-accordion-more div{font-size:6.8pt;line-height:1.28}
        #programs .rp-itin-accordion-more strong{font-size:6.3pt}

        /* The printed document is a decision aid, not a facsimile of the screen accordion. */
        #programs .rp-itin-title,#programs .rp-itin-planning,#programs .rp-itin-radio,#programs .rp-itin-tabs,#programs .rp-itin-key,#programs .rp-itin-panels{display:none!important}
        #programs .rp-itin-print-book{display:block!important;font-size:9.5pt;line-height:1.4;color:#263943}
        
        
        #programs .rp-itin-print-book>.rp-print-page:first-child:not(.rp-print-destination-cover){min-height:0}
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        #programs .rp-print-policy-item{padding:10px 0;border-bottom:1px solid #cad5d9;break-inside:avoid}
        #programs .rp-print-policy-item:nth-child(odd){padding-right:.12in}
        #programs .rp-print-policy-item:nth-child(even){padding-left:.12in}
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        #programs .rp-print-ribbon-cell[data-tone="travel"]{border-color:#84949c}
        #programs .rp-print-ribbon-cell[data-tone="culture"]{border-color:#b18a48}
        #programs .rp-print-ribbon-cell[data-tone="service"]{border-color:#6e8f62}
        #programs .rp-print-ribbon-cell[data-tone="field"]{border-color:#448184}
        #programs .rp-print-ribbon-cell[data-tone="adventure"]{border-color:#bd611c}
        #programs .rp-print-ribbon-cell[data-tone="high"]{border-color:#b74e22;background:#fff1e8}
        #programs .rp-print-ribbon-cell[data-tone="moderate"]{border-color:#b18a48;background:#fbf5e8}
        #programs .rp-print-ribbon-cell[data-tone="low"]{border-color:#6d9295;background:#edf5f5}
        #programs .rp-print-ribbon-cell[data-tone="pending"]{border-color:#9b632e;background:#fff5e8}
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        #programs[data-print-mode="program"] .rp-print-day{grid-template-columns:minmax(0,1fr) 2.5in;padding:.15in 0}
        #programs[data-print-mode="program"] .rp-print-day-title h3{font-size:13.5pt}
        #programs[data-print-mode="program"] .rp-print-day-tags{font-size:8.4pt}
        #programs[data-print-mode="program"] .rp-print-time strong,#programs[data-print-mode="program"] .rp-print-learning strong{font-size:8.4pt}
        #programs[data-print-mode="program"] .rp-print-time span{font-size:10pt;line-height:1.42}
        #programs[data-print-mode="program"] .rp-print-learning span{font-size:9.6pt;line-height:1.42}
        #programs[data-print-mode="program"] .rp-print-day-rail h4{font-size:8.2pt}
        #programs[data-print-mode="program"] .rp-print-rail-item{font-size:8.8pt;line-height:1.36}
        #programs[data-print-mode="program"] .rp-print-rail-item strong{font-size:8.6pt}
      }

/* 🔴 v1 COMPATIBILITY. The v2 block is authored standalone, but it ships appended to the v1
   shared sheet, and both style the same .rp-itin-* class names. ID specificity only wins for
   properties v2 actually declares: anything v1 sets and v2 leaves alone survives. v1 builds a
   horizontal, fixed-height card rail; v2 is a vertical accordion. Measured on the resolved
   cascade 2026-09-03, these are the properties that leaked. */
#programs .rp-itin-days{scroll-snap-type:none;}
#programs .rp-itin-day{height:auto;min-height:0;flex:0 1 auto;scroll-snap-align:none;}
/* v1 pins the day label as a badge over the photo of a fixed-height card:
   .rp-itin-day-top{position:absolute;top:10px;left:10px;right:10px}. v2 never declares
   `position`, so v1 won and the "Day 1" pill sat ON TOP of the day title, unreadable, on
   every server-rendered day card. It is invisible once the v2 script rebuilds the row, which
   is why it survived the prototype: the collision only exists BEFORE hydration, which is what
   a crawler and a JS-off reader get, and what any screenshot of the built file shows. */

/* 🔴 The day narrative was indented 18px further left-in than everything under it. v1 pads the
   card's own prose — `.rp-itin-day p{padding:0 18px 18px}` — because in v1 the <p> sits inside a
   photo card with no padding of its own. v2 puts that same paragraph in `.rp-itin-day-panel-inner`,
   which already carries the padding, and styles it as `.rp-itin-accordion-copy` WITHOUT declaring
   `padding` — so v1 won and the sentence started 18px right of MORNING and ROUTE beneath it.
   Measured on the served page 2026-09-04: copy text at 347px, chronology and facts at 329.
   Same shape as the `position` leak above: a property v1 sets and v2 never restates. */
#programs .rp-itin-day p{padding:0;}

/* ===== STYLING PASS 2026-09-03: adapting the v2 section to the shipped hub =====
   Every rule here was measured on the live staging page before it was written down. */
/* ---- planning standards strip ------------------------------------------------------------
   Was seven rigid 185px columns reading as a spreadsheet. Hairline borders on the cells, not a
   1px grid gap: an auto-fit grid leaves empty tracks on the last row and a gap-as-border shows
   them as a grey void. */
#programs .rp-itin-planning{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:0;background:transparent;border:1px solid var(--itin-line);border-radius:4px;overflow:hidden;}
#programs .rp-itin-planning>*{background:#fff;padding:15px 18px;
  border-right:1px solid var(--itin-line);border-bottom:1px solid var(--itin-line);}
#programs .rp-itin-planning strong{display:block;margin-bottom:5px;font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--itin-teal);}


/* The two print actions are the section's only tools, not a "standard". Span the full last row
   and lay them out as an action bar. */
#programs .rp-itin-planning>*:has(.rp-itin-print){grid-column:1/-1;border-right:0;border-bottom:0;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--itin-soft);}
#programs .rp-itin-planning>*:has(.rp-itin-print) strong{margin:0 4px 0 0;}
#programs .rp-itin-print{display:inline-flex;align-items:center;gap:8px;width:auto;white-space:nowrap;
  padding:9px 16px;border:1px solid var(--itin-navy);border-radius:4px;background:#fff;
  color:var(--itin-navy);font-size:13.5px;font-weight:600;line-height:1.2;text-decoration:none;
  cursor:pointer;transition:background .15s,color .15s;}
#programs .rp-itin-print:hover{background:var(--itin-navy);color:#fff;}
#programs .rp-itin-print::before{content:"";width:14px;height:14px;flex:0 0 14px;background:currentColor;
  -webkit-mask:var(--pi) center/contain no-repeat;mask:var(--pi) center/contain no-repeat;}
#programs{--pi:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 14h12v8H6z'/></svg>");}

/* ---- "What applies across every itinerary" is a <details> with no affordance at all. */
#programs .rp-itin-key{border:1px solid var(--itin-line);border-radius:4px;background:#fff;}
#programs .rp-itin-key>summary{cursor:pointer;list-style:none;padding:13px 18px;font-size:13.5px;
  font-weight:600;color:var(--itin-navy);display:flex;align-items:center;gap:10px;}
#programs .rp-itin-key>summary::-webkit-details-marker{display:none;}
#programs .rp-itin-key>summary::before{content:"+";font-size:17px;font-weight:700;color:var(--itin-teal);width:13px;line-height:1;}
#programs .rp-itin-key[open]>summary::before{content:"\2212 ";}
#programs .rp-itin-key[open]>summary{border-bottom:1px solid var(--itin-line);}
#programs .rp-itin-key-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));padding:16px 18px;}

/* ---- summary photograph ---------------------------------------------------------------------
   v2 carries ONE photograph per itinerary, so a 150px thumbnail is not enough. The photo track
   is set by `:has(>img)`, which outranks a plain class selector, so the override has to match
   that shape.
   🔴 DESKTOP ONLY. v2 already collapses this correctly at 900px and again at 680px, where the
   photo becomes a 96px square. An unscoped version of this rule outranks those plain-class
   mobile rules and silently kept the 250px track on a phone, squeezing the text column to 2px.
   Never let a desktop rule outrank a mobile one. */
@media (min-width:901px){
  #programs .rp-itin-summary:has(>img){grid-template-columns:minmax(210px,250px) minmax(0,1fr) auto;align-items:start;}
  #programs .rp-itin-summary:has(>img)>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;}
}

/* ---- route line -----------------------------------------------------------------------------
   v1's .rp-itin-route is a short uppercase KICKER ("Peru · Cusco to the Amazon"). In v2 the same
   class carries a full sentence, and a letter-spaced all-caps sentence is unreadable. v1 sets
   font-size with !important, so that one property needs it back. */
#programs .rp-itin-route{text-transform:none;letter-spacing:normal;font-weight:400;
  font-size:13.5px!important;line-height:1.6;color:var(--itin-muted);max-width:70ch;}

/* ===== PRINT ISOLATION 2026-09-03 =========================================================
   🔴 The example was authored as a STANDALONE file in which #programs was the only content, so
   its @media print block only ever needed to hide things INSIDE #programs. On a real hub the
   book sits seven levels deep under body > .SiteWrapper > #main > .rp-country-hub > … and the
   other eleven sections — hero, pricing, curriculum, promise band, safety, route, fit, FAQ,
   contact, quote form — printed too.

   Measured: the comparison guide came out 19 pages instead of 3, and the itinerary 24 instead
   of 7.

   An element prints only if it IS the book, is INSIDE the book, or CONTAINS the book. Everything
   else is removed from the flow. `display:none` rather than `visibility:hidden`, or the hidden
   sections still reserve their space and emit blank pages.

   ⚑ The letterhead and footer are SIBLINGS of the book inside .rp-itin-shell, not children, so a
   naive "keep only the book" rule deletes the masthead and the page footer. The first render
   after the isolation landed came out with a bare rule where the Rustic Pathways logo block
   should be. Both are whitelisted. */
@media print{
  body *:not(
      :has(.rp-itin-print-book),
      .rp-itin-print-book, .rp-itin-print-book *,
      .rp-itin-print-letterhead, .rp-itin-print-letterhead *,
      .rp-itin-print-footer, .rp-itin-print-footer *
    ){display:none!important;}
  /* the surviving ancestor chain must not impose page layout on the document */
  body, .rp-country-hub, #programs, .rp-itin-shell {
    display:block!important;margin:0!important;padding:0!important;
    max-width:none!important;width:auto!important;min-height:0!important;
    background:#fff!important;border:0!important;box-shadow:none!important;}
  .rp-itin-print-book{display:block!important;position:static!important;
    width:100%!important;margin:0!important;}
}

/* ===== MOBILE PASS 2026-09-03 ==============================================================
   Measured at 390px on the live staging page. */
@media (max-width:680px){
  /* The fact list is the densest thing on the page. Two columns at 390px gives each fact a
     ~130px measure, about eighteen characters a line, and leaves ragged gaps wherever the two
     columns disagree on height. One column. */
  #programs .rp-itin-accordion-facts{grid-template-columns:1fr!important;gap:14px;}

  /* Its SIBLING had the same disease and was missed on 2026-09-03. `.rp-itin-accordion-more`
     is set to `1fr 1fr` by the same 520px rule, and it holds the longest prose on a day card
     (the Sequence, Preparation and Accessibility blocks), usually as a SINGLE child. So at
     390px a paragraph rendered in a 128px column with the other half of the row empty. Live on
     Tanzania and on the Peru prototype, measured 2026-09-04. Same fix, same reason. */
  #programs .rp-itin-accordion-more{grid-template-columns:1fr!important;gap:12px;}
}

/* ===== ROUTE MAP DRAW-ON 2026-09-04 =========================================================
   The #route figure may be a map (Ghana). The route line is drawn FULLY by default — the path
   ships stroke-dashoffset="0" — and this only re-draws it as the figure scrolls past. So a
   browser without scroll-driven animations, a reader who asked for less motion, a crawler and a
   printed page all get the finished route; nobody gets a blank map.

   It is CSS and not JS on purpose: make_push.py strips every <script> from the body and ships
   override_js_content as a config call, so an IntersectionObserver written into the page IIFE
   would pass every gate and never reach a live page. */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    
    .rp-route-line{animation:rp-route-draw linear both;animation-timeline:view();
      animation-range:entry 12% cover 42%;}
  }

  /* The collapsed row was a three-column grid: a 62px day gutter, a 198px title, an icon. That
     spends a sixth of a phone screen on "DAY 2" and squeezes every title onto two lines. Stack
     it — label, title, then chips — with the toggle pinned right across all three rows. */
  #programs .rp-itin-day-row{grid-template-columns:minmax(0,1fr) 24px;gap:3px 10px;align-items:start;}
  #programs .rp-itin-accordion-index{grid-column:1;grid-row:1;flex-direction:row;align-items:baseline;gap:7px;}
  
  #programs .rp-itin-accordion-title{grid-column:1;grid-row:2;}
  #programs .rp-itin-accordion-meta{grid-column:1;grid-row:3;justify-content:flex-start;
    flex-wrap:wrap;gap:4px 10px;margin-top:3px;}
  #programs .rp-itin-accordion-icon{grid-column:2;grid-row:1/4;align-self:center;}

  /* No separator glyph between chips: when they wrap, a "·" orphans at the start of the next
     line. The gap alone reads fine. */
}

/* ===== TAB-SWITCH SCROLL + MOBILE PHOTO STACK 2026-09-03 ==================================
   🔴 Switching itineraries jumped the reader to the top of the section.
   The tabs are <label for> driving hidden radios, and those radios are position:absolute at a
   fixed body coordinate just under the section start (measured: top:1020px, offsetParent BODY)
   while the tab strip sits ~400px lower. Clicking a tab focuses a radio, and the browser scrolls
   the focused element into view — 400px above the content the reader asked for.

   ⚑ Do NOT fix this in JavaScript. This page's scroll position cannot be set from script:
   window.scrollTo, documentElement.scrollTop and scrollIntoView all leave scrollY at 0. A JS
   "scroll to the panel" fix fails silently and looks like it worked.

   position:fixed keeps the radio inside the viewport at all times, so focusing it never scrolls
   and the page stays exactly where the reader left it — the tab strip is still on screen and the
   newly selected itinerary starts right below it. */
#programs .rp-itin-radio{position:fixed!important;top:0!important;left:0!important;}

@media (max-width:680px){
  /* The photo was a 96px square floated beside the copy, which pushed the deck into a narrow
     column beside it and left the card lopsided. One column, photo on top, full width. */
  #programs .rp-itin-summary:has(>img){grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
  #programs .rp-itin-summary>img{width:100%!important;height:auto!important;
    aspect-ratio:16/9!important;max-height:none!important;object-fit:cover;border-radius:4px;}
  #programs .rp-itin-summary:has(>img) .rp-itin-choose{grid-column:1!important;justify-self:stretch;}
}

/* .communication-note is a two-column grid and its third child is the "can also help with" block, so that block sat in column one: its rule ran half width with the card border stacked a few pixels beneath. Span it. Applies to every hub. */
.communication-note > div:nth-child(3){grid-column:1 / -1;}
.communication-note > div:nth-child(3){border-top:0 !important;padding-top:0 !important;}

/* ===== Itinerary format v2: program cover, overnight-base bar, on-screen comparison =====
   2026-09-05 (Shayne, from the "Argentina Program Library" prototype: keep its browsing
   hierarchy on top of the existing itinerary data). Emitted by port/build_itinerary_v2.py for
   every v2 hub on rebuild. The day rows the shared script builds are untouched. Rules ADD;
   nothing above is edited. The summary keeps its script contract (.rp-itin-summary>img, h3+p,
   [data-meta], .rp-itin-route) and only changes how the grid places those children. */
#programs .rp-itin-summary--cover,#programs .rp-itin-summary--cover:has(>img){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(110px,1fr) auto auto auto auto auto auto auto;gap:0!important;align-items:end;padding:0;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(2,32,58,.08),0 6px 20px rgba(2,32,58,.07)}
#programs .rp-itin-summary--cover>img,#programs .rp-itin-summary--cover>svg {grid-column:1/-1;grid-row:1/5;width:100%!important;height:100%!important;min-height:240px;max-height:360px!important;aspect-ratio:3/1!important;object-fit:cover;border-radius:0;display:block;align-self:stretch}
#programs .rp-itin-summary--cover::before{content:"";grid-column:1/-1;grid-row:1/5;align-self:stretch;background:linear-gradient(180deg,rgba(0,43,78,0) 28%,rgba(0,43,78,.84) 100%);pointer-events:none;z-index:1}
#programs .rp-itin-summary--cover>.rp-itin-kicker{grid-column:1;grid-row:2;z-index:2;margin:0 24px 8px;color:rgba(255,255,255,.82);text-shadow:0 1px 2px rgba(0,0,0,.3)}
#programs .rp-itin-summary--cover>.rp-itin-cover-kicker{grid-column:1;grid-row:3;z-index:2;margin:0 24px 6px;color:#f7b267;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.3)}
#programs .rp-itin-summary--cover>.rp-itin-cover-kicker [data-meta="price"]{color:inherit;font:inherit}
#programs .rp-itin-summary--cover>h3{grid-column:1;grid-row:4;z-index:2;margin:0 24px 22px;color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.35)}
#programs .rp-itin-summary--cover>.rp-itin-choose{grid-column:2;grid-row:4;z-index:2;margin:0 24px 22px 0;align-self:end;justify-self:end;box-shadow:0 2px 8px rgba(0,0,0,.25)}
#programs .rp-itin-summary--cover>h3+p{grid-column:1/-1;grid-row:5;margin:18px 24px 0;color:var(--itin-ink);font-size:16px;line-height:1.55;max-width:74ch}
#programs .rp-itin-summary--cover>.rp-itin-meta{grid-column:1/-1;grid-row:6;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 0;margin:8px 24px 0}
#programs .rp-itin-summary--cover>.rp-itin-route{grid-column:1/-1;grid-row:7;margin:8px 24px 0}
#programs .rp-itin-bases{grid-column:1/-1;grid-row:8;display:flex;gap:3px;list-style:none;margin:16px 24px 20px;padding:0}

#programs .rp-itin-bases>li strong{display:block;color:var(--itin-navy);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.25;overflow-wrap:anywhere}
#programs .rp-itin-bases>li:nth-child(6n/**/+2){--c:#cd6414}
#programs .rp-itin-bases>li:nth-child(6n/**/+3){--c:#2e7d5b}
#programs .rp-itin-bases>li:nth-child(6n/**/+4){--c:#6b4c9a}
#programs .rp-itin-bases>li:nth-child(6n/**/+5){--c:#b8860b}
#programs .rp-itin-bases>li:nth-child(6n/**/+6){--c:#3d4f5f}
#programs .rp-itin-bases>li[data-transit]{--c:#c3cbd1}
#programs [data-nights="2"]{flex-grow:2}
#programs [data-nights="3"]{flex-grow:3}
#programs [data-nights="4"]{flex-grow:4}
#programs [data-nights="5"]{flex-grow:5}
#programs [data-nights="6"]{flex-grow:6}
#programs [data-nights="7"]{flex-grow:7}
#programs [data-nights="8"]{flex-grow:8}
#programs [data-nights="9"]{flex-grow:9}
#programs [data-nights="10"]{flex-grow:10}
#programs [data-nights="11"]{flex-grow:11}
#programs [data-nights="12"]{flex-grow:12}
#programs [data-nights="13"]{flex-grow:13}
#programs [data-nights="14"]{flex-grow:14}
#programs .rp-itin-compare{margin:0 0 14px;border:1px solid var(--itin-line);border-radius:8px;background:#fff}
#programs .rp-itin-compare>summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;color:var(--itin-teal);font-size:12px;font-weight:700;cursor:pointer;list-style:none}
#programs .rp-itin-compare>summary::-webkit-details-marker{display:none}
#programs .rp-itin-compare>summary::before{content:"+";font-size:17px;font-weight:700;color:var(--itin-teal);width:13px;line-height:1}
#programs .rp-itin-compare[open]>summary::before{content:"\2013 "}
#programs .rp-itin-compare-scroll{overflow-x:auto;padding:0 12px 12px}
#programs .rp-itin-compare table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.45;color:var(--itin-ink)}
#programs .rp-itin-compare th,#programs .rp-itin-compare td{padding:8px 10px;border-top:1px solid var(--itin-line);text-align:left;vertical-align:top;min-width:160px}

#programs .rp-itin-compare thead th:first-child{font-family:inherit;font-size:0;min-width:130px}
#programs .rp-itin-compare tbody th{width:130px;color:#5c6b75;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#programs .rp-itin-panels+.rp-itin-key{margin:14px 0 0}
@media (max-width:680px){
  #programs .rp-itin-tabs{flex-wrap:wrap;overflow:visible;gap:6px}
  #programs .rp-itin-tab{flex:1 1 100%;min-width:0;border-radius:8px;border-bottom-width:1px;border-color:var(--itin-line)}
  #programs .rp-itin-summary--cover,#programs .rp-itin-summary--cover:has(>img){grid-template-columns:minmax(0,1fr)!important}
  #programs .rp-itin-summary--cover>img,#programs .rp-itin-summary--cover>svg {min-height:0;max-height:none!important;aspect-ratio:16/10!important}
  #programs .rp-itin-summary--cover>.rp-itin-kicker,#programs .rp-itin-summary--cover>.rp-itin-cover-kicker,#programs .rp-itin-summary--cover>h3{grid-column:1;margin-left:16px;margin-right:16px}
  #programs .rp-itin-summary--cover>h3{font-size:1.45rem;margin-bottom:16px}
  #programs .rp-itin-summary--cover>h3+p,#programs .rp-itin-summary--cover>.rp-itin-meta,#programs .rp-itin-summary--cover>.rp-itin-route{margin-left:16px;margin-right:16px}
  #programs .rp-itin-bases{margin:14px 16px 0;flex-direction:column;gap:4px}
  #programs .rp-itin-bases>li,#programs .rp-itin-bases>li[data-nights]{flex:0 0 auto;display:flex;align-items:baseline;gap:6px;padding:1px 0 1px 8px;border-top:0;border-left:12px solid var(--c);font-size:11px}
  #programs .rp-itin-bases>li strong{overflow-wrap:normal;font-size:10.5px;letter-spacing:.04em}
  #programs .rp-itin-summary--cover>.rp-itin-choose{grid-column:1!important;grid-row:9;margin:14px 16px 16px;justify-self:stretch;box-shadow:none}
}

/* ----- Library layout (Shayne, 2026-09-05, "Argentina Program Library"): one white card; a short
   heading with the proposal button; the program list as a LEFT PANEL beside the open program;
   subject pills; tinted overnight-base cells; a day-by-day eyebrow; big serif day numbers; the
   shared rules and the print buttons at the bottom. Radios, tabs, compare, panels, key and
   actions stay siblings, so the :checked reveal rules above are untouched. */
#programs .rp-itin-shell--library{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;gap:18px 28px;align-items:start;background:#fff;border-radius:16px;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px);box-shadow:0 1px 2px rgba(2,32,58,.06),0 12px 34px rgba(2,32,58,.07)}
#programs .rp-itin-shell--library>.rp-itin-title{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:start;margin:0 0 6px}
#programs .rp-itin-shell--library>.rp-itin-title h2{margin:0 0 8px}
#programs .rp-itin-shell--library>.rp-itin-title p{margin:0;max-width:62ch}
#programs .rp-itin-title-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--itin-orange);color:#fff;padding:12px 18px;font-size:13.5px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;margin-top:6px}
#programs .rp-itin-title-cta:hover{background:#B5570F;color:#fff}
#programs .rp-itin-shell--library>.rp-itin-tabs{grid-column:1;grid-row:2/6;position:sticky;top:96px;display:flex;flex-direction:column;gap:8px;margin:0;border-bottom:0;overflow:visible;scrollbar-width:auto}
#programs .rp-itin-shell--library>.rp-itin-tabs::before{content:"Programs";display:block;margin:4px 0 2px;color:#5c6b75;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
#programs .rp-itin-shell--library>.rp-itin-compare{grid-column:2;grid-row:2;margin:0}
#programs .rp-itin-shell--library>.rp-itin-map{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:8px 24px;align-items:start;margin:0;padding:16px 18px;border:1px solid var(--itin-line);border-radius:10px;background:#fff}
#programs .rp-itin-shell--library>.rp-itin-map>svg{grid-column:1;grid-row:1/3;width:100%;max-width:300px}
#programs .rp-itin-map-stops{grid-column:2;grid-row:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
#programs .rp-itin-map-stops li{display:flex;gap:9px;align-items:baseline;font-size:13.5px;line-height:1.45;color:var(--itin-navy)}
#programs .rp-itin-map-stops li>span:first-child{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:#B5561B;color:#fff;font-size:12px;font-weight:700;line-height:19px;text-align:center}
#programs .rp-itin-map-stops b{font-weight:700}
#programs .rp-itin-shell--library>.rp-itin-map>figcaption{grid-column:2;grid-row:2;margin:0;font-size:13.5px;line-height:1.5;color:var(--itin-muted)}
#programs .rp-itin-shell--library>.rp-itin-panels{grid-column:2;grid-row:4}
#programs .rp-itin-shell--library>.rp-itin-key{grid-column:2;grid-row:5;margin:0}
#programs .rp-itin-shell--library>.rp-itin-actions{grid-column:2;grid-row:6;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--itin-line)}
#programs .rp-itin-actions strong{margin-right:auto;color:var(--itin-teal);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
#programs .rp-itin-key .rp-itin-planning{margin:0 12px 6px;border:0;border-bottom:1px solid var(--itin-line)}
#programs .rp-itin-shell--library .rp-itin-tab{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto auto;gap:2px 12px;align-items:center;flex:0 0 auto;min-width:0;padding:10px 12px;border:1px solid var(--itin-line);border-radius:10px;background:#fff;color:var(--itin-navy);font-size:13.5px;line-height:1.25;transition:border-color .16s ease,box-shadow .16s ease}
#programs .rp-itin-shell--library .rp-itin-tab:hover{background:#fff;border-color:rgba(0,43,78,.4)}
#programs .rp-itin-shell--library .rp-itin-tab>img {grid-column:1;grid-row:1/4;display:block;width:52px;height:52px;object-fit:cover;border-radius:6px;background:var(--itin-soft)}
#programs .rp-itin-shell--library .rp-itin-tab>span:not(.rp-itin-tab-bar){grid-column:2;grid-row:1;font-weight:700}
#programs .rp-itin-shell--library .rp-itin-tab small{grid-column:2;grid-row:2;color:var(--itin-muted);font-size:12px;line-height:1.35;font-weight:500}
#programs .rp-itin-tab-bar{grid-column:2;grid-row:3;display:flex;gap:2px;height:5px;margin-top:4px;width:100%}
#programs .rp-itin-tab-bar>span{--c:#1e6b87;flex:1 1 0;min-width:3px;border-radius:2px;background:var(--c)}
#programs .rp-itin-tab-bar>span:nth-child(6n/**/+2){--c:#cd6414}
#programs .rp-itin-tab-bar>span:nth-child(6n/**/+3){--c:#2e7d5b}
#programs .rp-itin-tab-bar>span:nth-child(6n/**/+4){--c:#6b4c9a}
#programs .rp-itin-tab-bar>span:nth-child(6n/**/+5){--c:#b8860b}
#programs .rp-itin-tab-bar>span:nth-child(6n/**/+6){--c:#3d4f5f}
#programs .rp-itin-tab-bar>span[data-transit]{--c:#c3cbd1}
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(1):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(1),
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(2):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(2),
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(3):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(3){color:#fff;background:var(--itin-navy);border-color:var(--itin-navy);border-bottom-color:var(--itin-navy);box-shadow:0 8px 20px rgba(0,43,78,.22)}
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(1):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(1) small,
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(2):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(2) small,
#programs .rp-itin-shell--library .rp-itin-radio:nth-of-type(3):checked~.rp-itin-tabs>.rp-itin-tab:nth-child(3) small{color:rgba(255,255,255,.82)}
/* subject pills: the separators stay in the text for the shared script, hidden from sight */

#programs .rp-itin-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#programs .rp-itin-summary--cover>.rp-itin-meta [data-meta="focus"]{display:inline}
/* overnight bases as tinted cells */
#programs .rp-itin-shell--library .rp-itin-bases{gap:2px}
#programs .rp-itin-shell--library .rp-itin-bases>li{padding:6px 8px 5px;border-top:3px solid var(--c);border-radius:0 0 4px 4px;background:#f4f6f7;background:color-mix(in srgb,var(--c) 12%,#fff)}
/* day-by-day eyebrow instead of the band */
#programs .rp-itin-shell--library .rp-itin-day-heading{background:transparent;padding:14px 18px 4px;border:0}
/* the eyebrow lines up with the Day text in the rows: 1px card border + the toggle inset at each breakpoint */
@media (max-width:900px){#programs .rp-itin-shell--library .rp-itin-day-heading{padding-left:18px;padding-right:18px}}
@media (max-width:680px){#programs .rp-itin-shell--library .rp-itin-day-heading{padding-left:13px;padding-right:13px}}
#programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label {font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5c6b75}
#programs .rp-itin-shell--library .rp-itin-day-heading p{font-size:12px}
/* day rows: big serif number, dot before the overnight chip */
#programs .rp-itin-shell--library .rp-itin-days{gap:6px}
#programs .rp-itin-shell--library .rp-itin-day{border:1px solid var(--itin-line);border-radius:10px;box-shadow:none}
#programs .rp-itin-shell--library .rp-itin-day-row{border-radius:10px}
/* one row per day on a desk: number | title | overnight · travel · effort | toggle. The stacked
   phone layout above 936 stays below 800px. */
@media (min-width:801px){
  #programs .rp-itin-shell--library .rp-itin-day-row{grid-template-columns:78px minmax(0,1fr) minmax(190px,max-content) 22px;gap:14px;align-items:center}
  #programs .rp-itin-shell--library .rp-itin-accordion-index{grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start;gap:1px}
  #programs .rp-itin-shell--library .rp-itin-accordion-title{grid-column:2;grid-row:1}
  #programs .rp-itin-shell--library .rp-itin-accordion-meta{grid-column:3;grid-row:1;justify-content:flex-end;margin:0}
  #programs .rp-itin-shell--library .rp-itin-accordion-icon{grid-column:4;grid-row:1}
}
#programs .rp-itin-shell--library .rp-itin-accordion-index span{font-family:"IBM Plex Serif",Georgia,serif;font-size:20px;line-height:1;font-weight:500;letter-spacing:0;text-transform:none;color:var(--itin-navy);white-space:nowrap}
#programs .rp-itin-shell--library .rp-itin-accordion-meta span:first-child::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#5c6b75;vertical-align:1px}
@media (max-width:900px){
  #programs .rp-itin-shell--library{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto auto;gap:14px;padding:20px 16px;border-radius:12px}
  #programs .rp-itin-shell--library>.rp-itin-title{grid-template-columns:minmax(0,1fr)}
  #programs .rp-itin-title-cta{justify-self:start;margin-top:0}
  #programs .rp-itin-shell--library>.rp-itin-tabs{grid-column:1;grid-row:2;position:static;flex-direction:row;flex-wrap:wrap}
  #programs .rp-itin-shell--library>.rp-itin-tabs::before{flex:1 1 100%}
  #programs .rp-itin-shell--library .rp-itin-tab{flex:1 1 260px}
  #programs .rp-itin-shell--library>.rp-itin-compare{grid-column:1;grid-row:3}
  #programs .rp-itin-shell--library>.rp-itin-map{grid-column:1;grid-row:4;grid-template-columns:minmax(0,1fr)}
  #programs .rp-itin-shell--library>.rp-itin-map>svg{grid-row:1;max-width:360px}
  #programs .rp-itin-map-stops{grid-column:1;grid-row:2}
  #programs .rp-itin-shell--library>.rp-itin-map>figcaption{grid-column:1;grid-row:3}
  #programs .rp-itin-shell--library>.rp-itin-panels{grid-column:1;grid-row:5}
  #programs .rp-itin-shell--library>.rp-itin-key{grid-column:1;grid-row:6}
  #programs .rp-itin-shell--library>.rp-itin-actions{grid-column:1;grid-row:7;justify-content:flex-start}
  #programs .rp-itin-actions strong{flex:1 1 100%;margin:0}
}
@media print{
  #programs .rp-itin-compare,#programs .rp-itin-bases,#programs .rp-itin-cover-kicker{display:none!important}
}

/* ===== 2026-09-05 page polish (Shayne's picks from the staging review: 1, 2, 4, 5, 6, 8, 9, 10) =====
   1 hero lede · 2 photo blends into the navy · 8 more air between sections · 9 scrollspy state ·
   10 focus rings and one hover for every orange button. 4 (four-step type scale) and 6 (no
   hairlines on cream cards) are applied to the existing rules above and to the hub builder, not
   here. Hero paragraphs are inline-styled by the builder, hence !important. */
#rp-hero>div:nth-of-type(2)>p:first-of-type{font-size:1.18rem!important;line-height:1.45!important;font-weight:400;color:#fff!important;max-width:48ch!important}
#rp-hero>div:nth-of-type(2)>p:first-of-type+p{font-size:16px!important;line-height:1.6!important;color:rgba(255,255,255,.72)!important}
#rp-hero>div:nth-of-type(2)>p:first-of-type+p{margin-top:-6px!important}
.rp-hero-media{position:relative}
.rp-hero-media img{display:block}
.section-shell{padding-block:clamp(50px,6vw,80px)}
#route{padding-block:clamp(55px,6vw,80px)}
#programs{padding-block:clamp(50px,6vw,80px)}
@media (min-width:1200px) {
  #programs {
    padding-top: 32px;
  }

  #programs .rp-itin-shell--library {
    padding-top: 24px;
  }

  .statstrip {
    padding-block: 24px !important;
  }
}
.cta-o:hover,.rp-itin-choose:hover,.rp-itin-title-cta:hover,#programs .rp-itin-choose:hover{background:#B5570F!important;color:#fff}
.cta-o:focus-visible,.rp-itin-choose:focus-visible,.rp-itin-title-cta:focus-visible,.rp-itin-print:focus-visible,.navlink:focus-visible{outline:3px solid #F0A96A;outline-offset:3px}
.navlink[aria-current="true"]{color:#002b4e!important;box-shadow:inset 0 -2px 0 #002b4e}

/* ===== TYPE SYSTEM (Shayne, 2026-09-05: "how many fonts and styles are there, can we streamline")
   Two families. Serif = display: H1 (hero) · H2 clamp(1.9rem,3.4vw,2.5rem) · sub-head 1.4rem/500 ·
   figure 1.9rem/600 · module heading 1.9rem/600 · row title 1.25rem/600 (1.12rem ≤680px) · promise line 1.12rem/600 · cover title. Sans = text: standfirst
   16.5 · body 16 (was 15 until 2026-09-06: the theme sets body 19 and footer 16, so 15 was the smallest text on the page) · small 13.5 · caption 12 · micro label 11 uppercase; weights 400/600/700 only.
   !important where the builder still inlines a size. Rules ADD; nothing above is edited. */
#programs .rp-itin-title h2, #patrick h2, #contact h2 {font-size:clamp(1.9rem,3.4vw,2.5rem)!important;font-weight:600!important;line-height:1.08!important}
.support-grid h3, .fit-grid h3, .content-split h3, .communication-note h3, .au-includes h3, .cur-band h3, #pricing h3, #curriculum h3, #teacher-support h3 {font-family:"IBM Plex Serif",Georgia,serif!important;font-size:1.4rem!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.01em!important}
.rp-country-hub .statstrip strong{font-size:1.9rem!important;font-weight:600!important}
.faq-shell summary h3,#quote h3{font-size:16.5px!important;font-weight:700!important}
#different .promise-band span{font-weight:600}
#programs .rp-itin-cover-kicker {font-weight:700!important}
/* itinerary text on the same scale as the rest of the page */


#programs .rp-itin-key-grid,#programs .rp-itin-planning>div,#programs .rp-itin-compare td,#programs .rp-itin-accordion-meta,#programs .rp-itin-shell--library .rp-itin-day-heading p,#programs .rp-itin-shell--library .rp-itin-tab small{font-size:13.5px;line-height:1.5}
#programs .rp-itin-time-block span,#programs .rp-itin-accordion-fact dd,#programs .rp-itin-accordion-more div{font-size:16px;line-height:1.55;color:var(--itin-ink)}

#programs .rp-itin-accordion-fact dt,#programs .rp-itin-time-block strong,#programs .rp-itin-accordion-more strong{font-size:12px}
#programs .rp-itin-chronology{gap:16px;margin-top:16px;padding-top:16px}
#programs .rp-itin-accordion-facts{margin-top:16px;padding-top:16px}
#programs .rp-itin-accordion-fact dt, #programs .rp-itin-time-block strong, #programs .rp-itin-accordion-more strong, #programs .rp-itin-key-grid dt, #programs .rp-itin-key-grid strong, #programs .rp-itin-compare tbody th, #programs .rp-itin-planning dt, #programs .rp-itin-planning strong, #programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label, #programs .rp-itin-shell--library>.rp-itin-tabs::before, #programs .rp-itin-actions strong, #programs .rp-itin-chip {font-size:11px}
#programs .rp-itin-key-grid dt,#programs .rp-itin-key-grid strong,#programs .rp-itin-planning dt,#programs .rp-itin-planning strong{display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:.06em}
#programs .rp-itin-chip,#programs .rp-itin-compare>summary,#programs .rp-itin-key>summary,#programs .rp-itin-cover-kicker{font-size:12px}
#programs .rp-itin-chip{display:inline-block;margin:0 6px 6px 0;padding:3px 10px;border:1px solid var(--itin-line);border-radius:999px;color:var(--itin-navy);font-size:12px;font-weight:600;line-height:1.4;}
@media (min-width:681px){#programs .rp-itin-accordion-facts{gap:14px 20px}}
#programs .rp-itin-day-panel-inner{padding:18px 32px 20px 96px}
/* section rhythm: one vertical measure for every band */
#different .promise-band,#patrick>div,#contact>div,#quote .split{padding-block:clamp(50px,6vw,80px)!important}
/* second sweep of the type system: the strays the census still showed */
#programs .rp-itin-title p{font-size:16.5px}
.rp-country-hub p[style*="font-size:1rem"]{font-size:16.5px!important}
#programs .rp-itin-shell--library .rp-itin-tab small{font-weight:400}
#programs .rp-itin-compare thead th{border-top:0;color:var(--itin-navy);font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-size:13.5px;font-weight:700;}
#programs .rp-itin-bases>li{--c:#1e6b87;flex:1 1 0;min-width:0;margin:0;padding:6px 6px 0 0;border-top:5px solid var(--c);font-size:12px;line-height:1.3;color:var(--itin-muted);}
#programs .rp-itin-bases>li strong{font-size:11px}
@media (max-width:680px){#programs .rp-itin-bases>li{font-size:12px}#programs .rp-itin-bases>li strong{font-size:11px}}
/* ===== 2026-09-05 pm, Shayne's rulings on the loose ends and the reviewer's next tier ===== */
/* 2026-09-06 evening: the .78 fade on unselected program tabs removed; a faded tab reads as disabled, and the selected tab already carries the border and background. */
/* day-type chip: the shared script copies data-day-type into the index <small> */

#programs .rp-itin-shell--library .rp-itin-day[data-day-type="Culture"] .rp-itin-accordion-index small{background:#fbe9d7;color:#8b4b12}
#programs .rp-itin-shell--library .rp-itin-day[data-day-type="Field study"] .rp-itin-accordion-index small{background:#e2f1e8;color:#1f5f3f}
#programs .rp-itin-shell--library .rp-itin-day[data-day-type="Service"] .rp-itin-accordion-index small{background:#e6eef7;color:#1e4a7a}
.navlink{border-radius:3px;transition:color .15s ease,background-color .15s ease}
.navlink:hover{background:rgba(0,43,78,.06)}
#rp-quote-form input[type="text"],#rp-quote-form input[type="email"],#rp-quote-form input[type="tel"],#rp-quote-form select,#rp-quote-form textarea{font:inherit;font-size:16px;color:#2C3A43;padding:11px 12px;border:1px solid rgba(0,43,78,.28);border-radius:4px;background:#fff;box-sizing:border-box;width:100%}
#rp-quote-form textarea{min-height:88px;resize:vertical}
#rp-quote-form input:focus-visible,#rp-quote-form select:focus-visible,#rp-quote-form textarea:focus-visible{outline:2px solid #CD6414;outline-offset:1px;border-color:#CD6414}
#rp-quote-form [aria-disabled="true"]{opacity:.55;cursor:not-allowed}
/* ── MAP FOLLOWS THE SELECTED PROGRAM (2026-09-05) ─────────────────────────────
   Routes carry .rp-route-line--N and numbered marker groups .rp-route-stops--N from
   port/make_route_map.py; the module emits one .rp-itin-map-stops--N list and one
   .rp-itin-map-caption--N per program. The map is a sibling of the program radios inside
   .rp-itin-shell--library, so :checked reaches it with no script. Every rule here carries the
   #programs id so it outranks the base list and caption rules above. Default (radio 1 checked,
   or no JS) is program 1: its route solid, its markers and list shown, the others hidden. */
#programs .rp-itin-shell--library>.rp-itin-map svg .rp-route-line{transition:opacity .25s,stroke .25s}
#programs .rp-itin-shell--library>.rp-itin-map .rp-itin-map-stops--2, #programs .rp-itin-shell--library>.rp-itin-map .rp-itin-map-stops--3, #programs .rp-itin-shell--library>.rp-itin-map .rp-itin-map-caption--2, #programs .rp-itin-shell--library>.rp-itin-map .rp-itin-map-caption--3, #programs .rp-itin-shell--library>.rp-itin-map svg .rp-route-stops--2, #programs .rp-itin-shell--library>.rp-itin-map svg .rp-route-stops--3, #programs .rp-itin-shell--library>.rp-itin-map svg .rp-route-line--2, #programs .rp-itin-shell--library>.rp-itin-map svg .rp-route-line--3 {display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-line--1{display:inline;stroke:#B5561B;stroke-width:2.6;stroke-dasharray:none;opacity:1}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-stops--1{display:inline}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-stops--1{display:flex}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-caption--1{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-line--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-halo--2{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-caption--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-line--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-halo--3{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-caption--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-line--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-halo--4{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map svg .rp-route-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map .rp-itin-map-caption--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-line--2{display:inline;stroke:#B5561B;stroke-width:2.6;stroke-dasharray:none;opacity:1}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-stops--2{display:inline}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-stops--2{display:flex}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-caption--2{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-line--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-halo--1{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-caption--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-line--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-halo--3{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-caption--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-line--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-halo--4{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map svg .rp-route-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map .rp-itin-map-caption--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-line--3{display:inline;stroke:#B5561B;stroke-width:2.6;stroke-dasharray:none;opacity:1}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-stops--3{display:inline}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-stops--3{display:flex}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-caption--3{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-line--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-halo--1{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-caption--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-line--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-halo--2{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-caption--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-line--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-halo--4{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map svg .rp-route-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-stops--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map .rp-itin-map-caption--4{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-line--4{display:inline;stroke:#B5561B;stroke-width:2.6;stroke-dasharray:none;opacity:1}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-stops--4{display:inline}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-stops--4{display:flex}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-caption--4{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-line--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-halo--1{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-stops--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-caption--1{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-line--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-halo--2{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-stops--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-caption--2{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-line--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-halo--3{opacity:0}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map svg .rp-route-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-stops--3{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(4):checked ~ .rp-itin-map .rp-itin-map-caption--3{display:none}

/* ---- Day rows, Shayne's layout 2026-09-06: "Day N" | eyebrow + serif title + meta | chevron;
   hairlines instead of cards; a serif heading with Expand all. Appended so it wins. ---- */
#programs .rp-itin-shell--library .rp-itin-day-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 18px 16px;border-bottom:1px solid var(--itin-line)}
#programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label {font-family:"IBM Plex Serif",Georgia,serif;font-size:1.9rem;line-height:1.15;font-weight:600;letter-spacing:0;text-transform:none;color:var(--itin-navy)}
#programs .rp-itin-expand-all{flex:0 0 auto;margin:0;padding:10px 16px;border:1px solid var(--itin-line);border-radius:8px;background:#fff;color:var(--itin-navy);font-family:inherit;font-size:16px;line-height:1.2;font-weight:600;cursor:pointer}
#programs .rp-itin-expand-all:hover{background:#f7f9f9}
#programs .rp-itin-expand-all:focus-visible{outline:3px solid rgba(30,107,135,.35);outline-offset:2px}
#programs .rp-itin-shell--library .rp-itin-days{gap:0}
#programs .rp-itin-shell--library .rp-itin-day{border:0;border-bottom:1px solid var(--itin-line);border-radius:0;box-shadow:none}
#programs .rp-itin-shell--library .rp-itin-day-row,#programs .rp-itin-day-row{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;grid-template-rows:auto;gap:14px;align-items:center;padding:20px 18px;border-radius:0}
#programs .rp-itin-day-row:hover{background:#fbfcfc}
#programs .rp-itin-accordion-index,#programs .rp-itin-shell--library .rp-itin-accordion-index{grid-column:1;grid-row:1;display:block;font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-size:13.5px;line-height:1.3;font-weight:400;letter-spacing:0;text-transform:none;color:var(--itin-muted)}
#programs .rp-itin-accordion-index span,#programs .rp-itin-shell--library .rp-itin-accordion-index span{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:0;text-transform:none;color:inherit}
#programs .rp-itin-accordion-body{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;text-align:left}
#programs .rp-itin-accordion-type{display:block;color:var(--itin-teal);font-size:11px;line-height:1.2;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
#programs .rp-itin-accordion-title{color:var(--itin-navy);font-family:"IBM Plex Serif",Georgia,serif;font-size:1.25rem;line-height:1.3;font-weight:600;grid-column:auto;grid-row:auto;letter-spacing:0;}
#programs .rp-itin-accordion-meta,#programs .rp-itin-shell--library .rp-itin-accordion-meta{grid-column:auto;grid-row:auto;justify-content:flex-start;gap:4px 18px;margin:2px 0 0;color:var(--itin-muted);font-size:13.5px;line-height:1.4;text-align:left}
#programs .rp-itin-shell--library .rp-itin-accordion-meta span:first-child::before{content:none}
#programs .rp-itin-accordion-icon,#programs .rp-itin-shell--library .rp-itin-accordion-icon{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--itin-navy);font-size:0}
#programs .rp-itin-day-row[data-open="true"] .rp-itin-accordion-icon{transform:rotate(180deg)}
#programs .rp-itin-shell--library .rp-itin-day-panel-inner,#programs .rp-itin-day-panel-inner{padding:6px 40px 26px 96px}
@media (max-width:900px){
  #programs .rp-itin-shell--library .rp-itin-day-row,#programs .rp-itin-day-row{grid-template-columns:56px minmax(0,1fr) 20px;gap:12px;padding:16px 18px}
  #programs .rp-itin-accordion-title{font-size:1.12rem}
  #programs .rp-itin-shell--library .rp-itin-day-panel-inner,#programs .rp-itin-day-panel-inner{padding:4px 18px 22px 86px}
  #programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label {font-size:1.4rem}
}
@media (max-width:680px){
  #programs .rp-itin-shell--library .rp-itin-day-row,#programs .rp-itin-day-row{grid-template-columns:48px minmax(0,1fr) 20px;gap:10px;padding:14px 13px}
  #programs .rp-itin-accordion-index,#programs .rp-itin-shell--library .rp-itin-accordion-index{font-size:13.5px}
  #programs .rp-itin-accordion-title{font-size:1.12rem}
  #programs .rp-itin-accordion-meta,#programs .rp-itin-shell--library .rp-itin-accordion-meta{font-size:13.5px;gap:2px 12px}
  #programs .rp-itin-shell--library .rp-itin-day-panel-inner,#programs .rp-itin-day-panel-inner{padding:4px 13px 18px 13px}
  #programs .rp-itin-shell--library .rp-itin-day-heading{padding:18px 13px 12px;flex-wrap:wrap}
  #programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label {font-size:1.4rem}
  #programs .rp-itin-expand-all{padding:8px 12px;font-size:13.5px}
}
@media print{
  #programs .rp-itin-expand-all{display:none!important}
  #programs .rp-itin-day-row{grid-template-columns:52px minmax(0,1fr);padding:5px 0}
  #programs .rp-itin-accordion-type{font-size:6.5pt}
  #programs .rp-itin-accordion-title{font-size:10pt;line-height:1.2}
  #programs .rp-itin-day-panel-inner{padding:3px 0 8px 61px}
}
/* ---- Open panel, Shayne's layout 2026-09-06: lede, route line, timeline + outcome | practical
   details box. Appended so it wins over the older grid rules. ---- */
#programs .rp-itin-accordion-copy{margin:0;max-width:80ch;color:var(--itin-ink);font-size:16.5px;line-height:1.6;}
#programs .rp-itin-accordion-route{margin:12px 0 0;color:var(--itin-muted);font-size:13.5px;line-height:1.5}
#programs .rp-itin-panel-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.85fr);gap:28px;align-items:start;margin-top:20px}
#programs .rp-itin-panel-main{min-width:0}
#programs .rp-itin-panel-main .rp-itin-chronology{display:flex;flex-direction:column;gap:22px;position:relative;margin:4px 0 0;padding:4px 0 6px 34px;border:0}
#programs .rp-itin-panel-main .rp-itin-chronology::before{content:"";position:absolute;left:5px;top:10px;bottom:0;border-left:1px solid var(--itin-line)}
#programs .rp-itin-panel-main .rp-itin-time-block{position:relative;min-width:0}
#programs .rp-itin-panel-main .rp-itin-time-block::before{content:"";position:absolute;left:-34px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--itin-teal)}
#programs .rp-itin-panel-main .rp-itin-time-block strong{display:block;margin:0 0 6px;color:var(--itin-teal);font-size:12px;line-height:1.2;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
#programs .rp-itin-panel-main .rp-itin-time-block span{display:block;color:var(--itin-ink);font-size:16px;line-height:1.55}
#programs .rp-itin-accordion-outcome{margin-top:24px;padding-top:18px;border-top:1px solid var(--itin-line)}
#programs .rp-itin-accordion-outcome strong{display:block;margin:0 0 8px;color:var(--itin-teal);font-size:12px;line-height:1.2;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
#programs .rp-itin-accordion-outcome p{margin:0;color:var(--itin-ink);font-size:16px;line-height:1.55}
#programs .rp-itin-panel-aside{background:#f2f5f6;padding:22px 24px 24px;border-radius:2px;min-width:0}
#programs .rp-itin-panel-aside-label{display:block;margin:0 0 14px;color:var(--itin-navy);font-size:12px;line-height:1.2;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
#programs .rp-itin-panel-aside .rp-itin-accordion-facts{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0}
#programs .rp-itin-panel-aside .rp-itin-accordion-fact[hidden]{display:none}
#programs .rp-itin-panel-aside .rp-itin-accordion-fact dt{margin:0 0 3px;color:var(--itin-muted);font-size:13.5px;line-height:1.3;font-weight:400;letter-spacing:0;text-transform:none}
#programs .rp-itin-panel-aside .rp-itin-accordion-fact dd{margin:0;color:var(--itin-ink);font-size:16px;line-height:1.5}
@media (max-width:900px){
  #programs .rp-itin-panel-grid{grid-template-columns:1fr;gap:20px}
  #programs .rp-itin-panel-aside{padding:18px}
}
@media (max-width:680px){
  #programs .rp-itin-accordion-copy{font-size:16.5px}
  #programs .rp-itin-panel-main .rp-itin-chronology{gap:16px;padding-left:26px}
  #programs .rp-itin-panel-main .rp-itin-time-block::before{left:-26px;width:9px;height:9px}
  #programs .rp-itin-panel-main .rp-itin-time-block span,#programs .rp-itin-accordion-outcome p,#programs .rp-itin-panel-aside .rp-itin-accordion-fact dd{font-size:16px}
}
@media print{
  #programs .rp-itin-panel-grid{display:block}
  #programs .rp-itin-panel-aside{background:transparent;padding:0}
  #programs .rp-itin-panel-aside-label,#programs .rp-itin-accordion-route,#programs .rp-itin-accordion-outcome{display:none}
  #programs .rp-itin-panel-aside .rp-itin-accordion-fact[hidden]{display:block}
}
/* the sticky nav's CTA inherited the browser serif (census 2026-09-06): give the nav the page family */
.nav-inner,.nav-inner a{font-family:"Geist","Helvetica Neue",Arial,sans-serif}
/* ---- Semantic spine 2026-09-06: the day title is an <h4> wrapping the disclosure button; the row div
   is the grid (rules above renamed from .rp-itin-day-toggle). Days are an <ol>; the list label is a <p>. */
#programs .rp-itin-days,#programs ol.rp-itin-days{list-style:none;margin:0;padding:0}
#programs li.rp-itin-day{list-style:none;margin:0}
#programs .rp-itin-day .rp-itin-accordion-heading{margin:0;padding:0;font:inherit;line-height:inherit;color:inherit;grid-column:auto;grid-row:auto;display:block}
#programs .rp-itin-day .rp-itin-day-toggle{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:4px}
#programs .rp-itin-day .rp-itin-day-toggle:focus-visible{outline:3px solid rgba(30,107,135,.35);outline-offset:3px}
#programs .rp-itin-day-row{cursor:pointer}
#programs .rp-itin-shell--library .rp-itin-day-heading .rp-itin-days-label{margin:0}
/* ===== 2026-09-06 stylesheet pass on the outside review (Shayne: "I default to all of your recommendations") ===== */
/* Primary buttons: white on #CD6414 measured 3.87:1 (fails AA for button-size text); #B5570F is 4.84:1. */
.rp-country-hub .cta-o,.nav-inner .cta-o,.rp-country-hub .rp-itin-choose,.rp-country-hub .au-choose,#rp-quote-form button[type="submit"],.rqf-submit,#rqf-next{background:#B5570F!important;color:#fff!important}
/* 2026-09-06 evening: #rqf-next (Continue) was the one primary button these two rules did not name, so it kept the donor inline #CD6414. */
.rp-country-hub .cta-o:hover,.nav-inner .cta-o:hover,.rp-country-hub .rp-itin-choose:hover,.rp-country-hub .au-choose:hover,#rp-quote-form button[type="submit"]:hover,.rqf-submit:hover,#rqf-next:hover{background:#9A4A0C!important}
.pcard:hover .pcard-cta{color:#B5570F}
/* Links inside running text are underlined; buttons styled as links are not. */
.rp-country-hub p a:not(.cta-o):not(.rp-itin-choose):not(.au-choose), .rp-country-hub li a:not(.cta-o) {text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
/* Hero standfirst on the standfirst tier (the builder inlines 1.02rem, which renders 18.88px). */
#rp-hero > div:nth-of-type(2) > p:first-of-type[style*="font-size:1.02rem"],#rp-hero p[style*="font-size:1.02rem"]{font-size:16.5px!important}  /* out-specifies the older 1.18rem hero rule */
/* A pricing tile whose value is a phrase ("Group quote") is a supporting heading, not a figure. */

/* the itinerary route eyebrow used a fourth grey (#8A939B); the page CSS still carries that rule, so this out-specifies it */
#programs .rp-itin-route{color:#5c6b75!important}
/* Shayne, 2026-09-06: NO underlines in the header. Hero links keep their white bold treatment only.
   The proposal band keeps the safety band's half-strength underline. */
#rp-hero a, #rp-hero p a {text-decoration:none!important}
#quote a{text-decoration-color:rgba(255,255,255,.55);text-decoration-thickness:1px;text-underline-offset:3px}

/* ===== 2026-09-06 evening: print books (Shayne: "90% fine; less bold lines and repetition"). Every heavy
   rule between blocks drops to a 1px hairline; the tone strips keep their colour bars. In the itinerary
   book the "Program at a glance" page no longer repeats the cover's lede and photograph. Appended per the
   sheet's ADD convention; folded into the rules above in the consolidation pass. ===== */
@media print{
  #programs .rp-itin-print-letterhead{border-bottom-width:1px}
  #programs .rp-itin-title{border-bottom-width:1px}
  
  
  
  
  
  
  
  #programs[data-print-mode="program"] .rp-print-overview-subtitle,#programs[data-print-mode="program"] .rp-print-overview-head img{display:none}
  #programs[data-print-mode="program"] .rp-print-overview-head{grid-template-columns:1fr}
  
}

#programs .rp-itin-shell--library>.rp-itin-map>svg.rp-itin-map-frame{display:none}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(1):checked ~ .rp-itin-map>svg.rp-itin-map-frame--for-1{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(2):checked ~ .rp-itin-map>svg.rp-itin-map-frame--for-2{display:block}
#programs .rp-itin-shell--library>.rp-itin-radio:nth-of-type(3):checked ~ .rp-itin-map>svg.rp-itin-map-frame--for-3{display:block}

/* 320px: twelve month cells cannot hold 12px letter-spaced caps (Ghana, 2026-09-07) */
@media (max-width:360px){.rp-season-ruler{gap:1px!important;}.rp-season-ruler span{font-size:8px!important;letter-spacing:0!important;}}
/* 320px: the who-handles-what table scrolls inside its wrapper instead of widening the page (Andorra, 2026-09-07) */
.handoff-matrix{overflow-x:auto;-webkit-overflow-scrolling:touch;}


/* 320px: route-figure marker labels drawn past the viewBox pushed the page wide (Ghana, 2026-09-07) */
#route figure svg{overflow:hidden;}
@media print{#programs .rp-print-page{break-after:page;page-break-after:always;min-height:8.55in} #programs .rp-print-page:last-child{break-after:auto;page-break-after:auto} #programs .rp-print-destination-cover{min-height:7.6in} #programs .rp-print-days-page{min-height:0} #programs .rp-print-day-page-head{break-after:avoid;page-break-after:avoid} #programs .rp-print-eyebrow{margin:0 0 7px;color:var(--itin-teal);font-size:7.8pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase} #programs .rp-print-page h1,#programs .rp-print-page h2,#programs .rp-print-page h3{font-family:Arial,'Helvetica Neue',sans-serif;color:var(--itin-navy)} #programs .rp-print-page h1{max-width:6.5in;margin:.1in 0 8px;font-size:26pt;line-height:1.03;letter-spacing:-.035em} #programs .rp-print-page h2{margin:0 0 6px;font-size:20pt;line-height:1.08;letter-spacing:-.025em} #programs .rp-print-page h3{margin:0;font-size:11pt;line-height:1.2} #programs .rp-print-deck{max-width:6.25in;margin:0 0 .25in;color:#4c5f69;font-size:10pt;line-height:1.45} #programs .rp-print-rule{height:3px;margin:0 0 .24in;background:var(--itin-teal)} #programs .rp-print-section-intro{max-width:6.7in;margin:0 0 .22in;color:#53656e;font-size:9.4pt;line-height:1.45} #programs .rp-print-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.6pt;line-height:1.35} #programs .rp-print-comparison col:first-child{width:1.12in} #programs .rp-print-comparison th,#programs .rp-print-comparison td{vertical-align:top;padding:7px 8px;border-bottom:1px solid #cad5d9;text-align:left} #programs .rp-print-comparison thead th{padding-top:9px;padding-bottom:9px;border-top:2px solid var(--itin-navy);border-bottom:2px solid var(--itin-navy);color:var(--itin-navy);font-size:9pt} #programs .rp-print-comparison tbody th{color:var(--itin-teal);font-size:8.4pt} #programs .rp-print-comparison td strong{display:block;color:var(--itin-navy)} #programs .rp-print-source-note{margin:10px 0 0;color:#5c6b75;font-size:7.8pt;line-height:1.4} #programs .rp-print-policy-list{display:grid;grid-template-columns:1fr 1fr;column-gap:.32in;margin-top:.18in;border-top:2px solid var(--itin-navy)} #programs .rp-print-policy-item h3{margin-bottom:3px;font-size:9.4pt} #programs .rp-print-policy-item p{margin:0;color:#4f616b;font-size:8.6pt;line-height:1.42} #programs .rp-print-reading-note{margin-top:.22in;padding:10px 0;border-block:2px solid var(--itin-teal);color:var(--itin-navy);font-size:9pt;line-height:1.45} #programs .rp-print-overview-head{display:grid;grid-template-columns:1fr 2.15in;gap:.28in;align-items:end;padding-bottom:.2in;border-bottom:3px solid var(--itin-teal)} #programs .rp-print-overview-head img{display:block;width:2.15in;height:1.32in;object-fit:cover} #programs .rp-print-overview-subtitle{margin:5px 0 0;color:#52656f;font-size:10pt;line-height:1.4} #programs .rp-print-overview-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(1.4in,1fr));gap:0;margin:.16in 0 .2in;border-block:1px solid #cbd6da} #programs .rp-print-overview-fact{padding:8px 9px;border-right:1px solid #cbd6da} #programs .rp-print-overview-fact:last-child{border-right:0} #programs .rp-print-overview-fact strong{display:block;margin-bottom:2px;color:var(--itin-navy);font-size:8.4pt} #programs .rp-print-overview-fact span{color:#53656e;font-size:8.4pt;line-height:1.3} #programs .rp-print-route-strip{display:flex;align-items:center;margin:.18in 0 .24in;padding:0;list-style:none} #programs .rp-print-route-strip li{position:relative;flex:1;padding:13px 3px 0;border-top:2px solid #98adb6;color:var(--itin-navy);font-size:8pt;text-align:center} #programs .rp-print-route-strip li:before{content:"";position:absolute;top:-4px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--itin-teal);transform:translateX(-50%)} #programs .rp-print-ribbon-block{margin-top:.16in} #programs .rp-print-ribbon-label{margin:0 0 5px;color:#5c6b75;font-size:8pt;font-weight:700} #programs .rp-print-ribbon{display:grid;gap:3px} #programs .rp-print-ribbon-cell{min-width:0;padding:7px 2px 6px;border-top:4px solid #9aacb4;background:#edf2f3;color:#29414c;font-size:7.2pt;line-height:1.2;text-align:center} #programs .rp-print-ribbon-cell strong{display:block;color:var(--itin-navy);font-size:7.6pt} #programs .rp-print-overview-note{display:grid;grid-template-columns:1.15in 1fr;gap:.12in;margin-top:.25in;padding-top:.13in;border-top:1px solid #cbd6da} #programs .rp-print-overview-note strong{color:var(--itin-teal);font-size:8.4pt} #programs .rp-print-overview-note span{color:#455a64;font-size:8.6pt} #programs .rp-print-day-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:.2in;margin:0 0 .16in;padding:0 0 8px;border-bottom:3px solid var(--itin-teal)} #programs .rp-print-day-page-head p{margin:0;color:#647780;font-size:8pt} #programs .rp-print-day-list{display:block} #programs .rp-print-day{display:grid;grid-template-columns:minmax(0,1fr) 2.35in;column-gap:.22in;padding:.12in 0;border-bottom:1px solid #cbd6da;break-inside:auto} #programs .rp-print-day-title,#programs .rp-print-time,#programs .rp-print-learning,#programs .rp-print-day-rail h4{break-inside:avoid;page-break-inside:avoid} #programs .rp-print-rail-item{orphans:2;widows:2} #programs .rp-print-rail-item strong{break-after:avoid;page-break-after:avoid} #programs .rp-print-day-title,#programs .rp-print-day-rail h4{break-after:avoid;page-break-after:avoid} #programs .rp-print-day-title{orphans:3;widows:3} #programs .rp-print-day--compact{break-inside:avoid-page;page-break-inside:avoid} #programs .rp-print-overview{break-after:auto;page-break-after:auto;min-height:0} #programs .rp-print-overview+.rp-print-days-page .rp-print-day-page-head{margin-top:.3in} #programs .rp-print-day:last-child{border-bottom:0} #programs .rp-print-day-title{grid-column:1/-1;display:grid;grid-template-columns:.8in minmax(0,1fr) minmax(1.35in,2.35in);gap:.1in;align-items:baseline;margin-bottom:7px} #programs .rp-print-day-title>*{min-width:0} #programs .rp-print-day-index{color:var(--itin-teal);font-size:7.6pt;font-weight:700;text-transform:uppercase;letter-spacing:.05em} #programs .rp-print-day-title h3{font-size:12pt} #programs .rp-print-day-tags{color:#62747d;font-size:8pt;text-align:right;overflow-wrap:anywhere} #programs .rp-print-chronology{display:grid;gap:5px} #programs .rp-print-time{display:grid;grid-template-columns:.72in 1fr;gap:7px;align-items:start} #programs .rp-print-time strong{color:var(--itin-navy);font-size:8.4pt} #programs .rp-print-time span{color:#425761;font-size:9.6pt;line-height:1.42} #programs .rp-print-learning{display:grid;grid-template-columns:.72in 1fr;gap:7px;margin-top:7px;padding-top:6px;border-top:1px solid #dbe3e6} #programs .rp-print-learning strong{color:var(--itin-teal);font-size:8.4pt} #programs .rp-print-learning span{color:#425761;font-size:9.2pt;line-height:1.42} #programs .rp-print-day-rail{padding-left:.15in;border-left:2px solid #d7e2e5} #programs .rp-print-day-rail h4{margin:0 0 5px;color:var(--itin-teal);font-size:8pt;text-transform:uppercase;letter-spacing:.06em} #programs .rp-print-rail-item{margin:0 0 6px;color:#4a5e68;font-size:8.4pt;line-height:1.36} #programs .rp-print-rail-item:last-child{margin-bottom:0} #programs .rp-print-rail-item strong{display:block;margin-bottom:1px;color:var(--itin-navy);font-size:8.2pt} #programs .rp-print-destination-cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--itin-navy);color:#fff} #programs .rp-print-destination-cover>img{position:absolute;inset:0;width:100%;height:4.3in;object-fit:cover} #programs .rp-print-destination-cover:after{content:"";position:absolute;inset:1.9in 0 auto;height:2.4in;background:linear-gradient(to bottom,rgba(0,43,78,0),rgba(0,43,78,.92))} #programs .rp-print-destination-copy{position:relative;z-index:1;padding:.35in .34in .45in} #programs .rp-print-destination-cover .rp-print-eyebrow{color:#9ed5e2} #programs .rp-print-destination-cover h1{max-width:6.4in;margin:0 0 9px;color:#fff;font-size:30pt} #programs .rp-print-destination-cover .rp-print-deck{max-width:5.8in;margin-bottom:.22in;color:#e4eef1} #programs .rp-print-cover-facts{display:flex;gap:.28in;padding-top:.16in;border-top:1px solid rgba(255,255,255,.38)} #programs .rp-print-cover-facts span{display:block;color:#cbdde3;font-size:8.4pt} #programs .rp-print-cover-facts strong{display:block;margin-bottom:2px;color:#fff;font-size:10pt} #programs .rp-print-cover-route{margin:.2in 0 0;color:#fff;font-size:9.5pt;font-weight:700} #programs .rp-print-action h2{max-width:6.5in;font-size:24pt} #programs .rp-print-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .34in;margin-top:.22in;border-top:2px solid var(--itin-navy)} #programs .rp-print-action-grid>div{padding:12px 0;border-bottom:1px solid #cbd6da} #programs .rp-print-action-grid h3{margin-bottom:4px;font-size:10pt} #programs .rp-print-action-grid p{margin:0;color:#4b5e68;font-size:9.4pt;line-height:1.45} #programs .rp-print-cta{display:flex;justify-content:space-between;align-items:center;gap:.2in;margin-top:.28in;padding:.16in .18in;background:var(--itin-navy);color:#fff} #programs .rp-print-cta strong{font-size:12pt} #programs .rp-print-cta span{font-size:10pt;text-align:right} #programs .rp-print-policy-action{display:grid;grid-template-columns:.9in 1fr;gap:.14in;margin-top:.16in;padding:.12in 0;border-top:2px solid var(--itin-navy);color:var(--itin-navy)} #programs .rp-print-policy-action strong{font-size:9.2pt} #programs .rp-print-policy-action span{font-size:8.8pt} #programs .rp-print-rule{height:1px} #programs .rp-print-comparison thead th{border-top-width:1px;border-bottom-width:1px} #programs .rp-print-policy-list,#programs .rp-print-action-grid,#programs .rp-print-policy-action{border-top-width:1px} #programs .rp-print-reading-note{border-block-width:1px} #programs .rp-print-overview-head,#programs .rp-print-day-page-head{border-bottom-width:1px} #programs .rp-print-route-strip li{border-top-width:1px} #programs .rp-print-day-rail{border-left-width:1px} #programs .rp-print-policy-action span,#programs .rp-print-cta span{overflow-wrap:normal}}
/* 2026-09-10 standfirst + cross-link typography */

/* 1. THE STANDFIRST UNDER EACH H2 — the paragraph sits in two different places depending on the
   section: a SIBLING of .section-heading in #route/#different, and a CHILD of it, after the h2,
   in #pricing/#curriculum/#fit. My first rule only had the sibling case, so three sections stayed
   at 16px/#5C6B75 while two were 16.5px/#2C3A43 — the lighter, harder-to-read ones Quintin kept
   seeing. Both shapes now get the same treatment, and a measure that stops the line running long. */
.rp-country-hub .section-shell .section-heading + p,
.rp-country-hub .section-shell .section-heading > p,
.rp-country-hub .content-split > div > p:first-of-type{
  font-size:16.5px!important;line-height:1.6!important;color:#2C3A43!important;max-width:64ch;}

/* 2. "Also on this page" — a block that spans its grid parent, not a flex child that auto-places
   over the itinerary cards. No border-top (a separator is already there) and no border-bottom on
   the anchor (a live underline already wins, so the border drew a second line under it). */
.rp-country-hub p.rp-xlink{
  grid-column:2;margin:20px 0 0!important;
  font-size:14.5px!important;line-height:1.7!important;color:#5C6B75!important;max-width:68ch;}
.rp-country-hub p.rp-xlink a{color:#1E6B87;text-underline-offset:3px;text-decoration-thickness:1px;}
.rp-country-hub p.rp-xlink a:hover,.rp-country-hub p.rp-xlink a:focus-visible{color:#14526A;}

/* 3. ON A DARK SECTION the link was #1E6B87 on #002B4E — around 1.7:1, well under the 4.5:1 floor
   and the reason it reads as unreadable. Light enough to pass on navy, and the label with it. */
.rp-country-hub .beyond-split p.rp-xlink,
.rp-country-hub [style*="002B4E"] p.rp-xlink,
.rp-country-hub .au-dark p.rp-xlink{color:#B9CBD8!important;}
.rp-country-hub .beyond-split p.rp-xlink a,
.rp-country-hub [style*="002B4E"] p.rp-xlink a,
.rp-country-hub .au-dark p.rp-xlink a{color:#8FCBE0;}
.rp-country-hub .beyond-split p.rp-xlink a:hover,
.rp-country-hub [style*="002B4E"] p.rp-xlink a:hover,
.rp-country-hub .au-dark p.rp-xlink a:hover{color:#C7E5F2;}

/* 4. "What applies across every itinerary" — every cell carried border-right AND border-bottom,
   including the last column and the final row, so the grid ended on trailing rules with nothing
   after them. That is the unclosed, ragged edge. Drawing the lines as a 1px GAP with the rule
   colour behind cannot leave a trailing edge whatever the cell count, and it prints the same. */
.rp-country-hub .rp-itin-planning{gap:0!important;background:transparent!important;}
.rp-country-hub .rp-itin-planning > div{
  background:transparent!important;padding:14px 16px;
  border:0!important;
  border-right:1px solid rgba(0,43,78,.14)!important;
  border-bottom:1px solid rgba(0,43,78,.14)!important;}
.rp-country-hub .rp-itin-planning > div:nth-child(4n){border-right:0!important;}
.rp-country-hub .rp-itin-planning dd{font-size:14.5px;line-height:1.55;}

/* 5. Table body copy, one notch down from the 16px it was — still comfortably above the
   readability floor, and it stops the includes/drivers tables competing with the prose. */
.rp-country-hub #pricing table td{font-size:15.5px;line-height:1.55;}

/* 6. The fit rows ran the full column width, so a line could reach well past a comfortable
   measure. Same 64ch the prose now uses. */
.rp-country-hub #fit li,.rp-country-hub #fit td,.rp-country-hub .fit-grid li{
  max-width:65ch;}

/* 2026-09-10 alignment pass */
/* The country line carried padding-left:9px while the days line and the title carried 0, so the
   three stacked hero lines did not share a left edge. Measured: 433 / 433 / 433 once removed. */
.rp-country-hub .rp-itin-summary .rp-itin-kicker{padding-left:0;}

/* "10+ students" sits beside pill-shaped tags. The row was align-items:normal, so the plain span
   stretched to the pill's 39px and its text sat at the top while the pill text was centred.
   Centring the row lets the span keep its own height and share the pills' optical line. */
.rp-country-hub .rp-itin-meta{align-items:center;}

/* Start the compare box level with the top of the first itinerary CARD, not its title text.
   Measured at 1440 on three hubs — mongolia +32, iceland +31, bosnia +32 from the rail top. */
#programs .rp-itin-shell--library > details.rp-itin-compare{margin-top:32px;}

.rp-country-hub .section-heading>h2:not(:last-child){margin-bottom:10px;}
#programs .rp-itin-shell--library>.rp-itin-title h2{margin-bottom:22px;}
#safety .safety-shell h2{margin-bottom:22px;}
#different .promise-band>div{gap:0!important;}
#different .promise-band>div>h2{margin-bottom:22px;}
#different .promise-band>div>.capsule{margin-bottom:clamp(18px,2.5vw,26px);}
#contact .h2-compact{margin-bottom:10px;}
#quote .h2-invert{margin-bottom:8px;}
.rp-country-hub .other-destinations>h2{margin-bottom:10px;}
#faq>h2:not([class])+.capsule, #faq>h2:not([class])+div{margin-top:22px;}
#different .promise>li{border-top:0!important;}
#pricing .section-heading+div:not([class]){display:flex!important;flex-direction:column;gap:0!important;margin:0 0 clamp(20px,2.6vw,30px)!important;}
#pricing .section-heading+div:not([class])>div{padding:20px 0!important;border-radius:0!important;background:transparent!important;}
#pricing .section-heading+div:not([class])>div:first-child{padding-top:0!important;}
#pricing .section-heading+div:not([class])>div>p:first-child{font-size:clamp(1.4rem,1.8vw,1.65rem)!important;font-weight:500!important;letter-spacing:-.01em;line-height:1.15!important;}
#pricing .section-heading+div:not([class])>div:first-child>p:first-child{font-weight:600!important;}
#pricing .section-heading+div:not([class])>div>p+p{margin:6px 0 0!important;font-size:15.5px!important;line-height:1.5!important;max-width:46ch;}
@media (min-width:961px){
#fit .section-shell:has(>.section-heading+div:not([class])){display:grid;grid-template-columns:minmax(0,9fr) minmax(0,11fr);column-gap:clamp(40px,5vw,80px);align-items:start;}
#fit .section-shell:has(>.section-heading+div:not([class]))>.section-heading{grid-column:1;grid-row:1 / span 6;margin-bottom:0;}
#fit .section-shell:has(>.section-heading+div:not([class]))>div:not(.section-heading){grid-column:2;align-items:flex-start!important;}
#fit .section-shell>.section-heading+div:not([class]){border-top:0!important;padding-top:0!important;}
#pricing .section-shell:has(>.section-heading+div:not([class])){display:grid;grid-template-columns:minmax(0,9fr) minmax(0,11fr);grid-template-rows:auto auto auto auto auto 1fr;column-gap:clamp(40px,5vw,80px);row-gap:0;align-items:start;}
#pricing .section-shell:has(>.section-heading+div:not([class]))>.section-heading{display:contents;}
#pricing .section-shell:has(>.section-heading+div:not([class]))>.section-heading>h2{grid-column:1;grid-row:1;margin:0 0 22px!important;}
#pricing .section-shell:has(>.section-heading+div:not([class]))>.section-heading>p{grid-column:1;margin:0!important;}
#pricing .section-shell:has(>.section-heading+div:not([class]))>.section-heading>p+p{margin-top:12px!important;}
#pricing .section-shell>.section-heading+div:not([class]){grid-column:2;grid-row:2 / span 5;margin:4px 0 0!important;}
#pricing .section-shell:has(>.section-heading+div:not([class]))>*:not(.section-heading):not(.section-heading+div){grid-column:1 / -1;margin-top:clamp(36px,4vw,56px);}
}
#programs .rp-itin-shell:not(.rp-itin-shell--library)>.rp-itin-title>h2{margin-bottom:4px;}
#route>h2.h2-section{margin-bottom:2px;}
#fit>div>h2.h2-section{margin-bottom:10px;}
#patrick .h2-compact{margin-bottom:10px;}
#teacher-support>div>h2.h2-minor{margin-bottom:2px;}
#faq>h2.h2-section{margin-bottom:4px;}
#season figure>div{overflow-x:clip;}
#programs .rp-itin-summary>p:not([class])~p:not([class]){grid-column:1 / -1;margin-left:24px;margin-right:24px;}