/* The Journey Handoff Rail: isolated from existing stop planner, map, ads and tools. */
.ctb-shell{max-width:1220px;margin:24px auto;padding:clamp(18px,2.5vw,32px);border:1px solid #bccac3;border-radius:18px;background:linear-gradient(138deg,#f3f6f0 0%,#fffdf6 65%,#f6f3eb 100%);box-shadow:0 8px 28px rgba(27,56,42,.06);color:#1e382e}
.ctb-top{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.ctb-eyebrow{margin:0 0 9px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#45654e}
.ctb-shell h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.16;color:#244b38;font-weight:normal;margin:0 0 10px}
.ctb-deck{max-width:66ch;margin:0 0 14px;font-size:14px;line-height:1.7;color:#43574d}
.ctb-privacy{background:#e9eee5;border:1px solid #d4ddcf;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:600;color:#365c45;align-self:flex-start}
.ctb-controls{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(150px,.8fr) minmax(145px,.8fr);gap:12px;border-top:1px solid #d2dbd1;padding-top:18px;margin-top:6px}
.ctb-controls label{font-size:12px;color:#385744;font-weight:650;display:flex;flex-direction:column;gap:6px}
.ctb-controls input,.ctb-controls select{width:100%;min-width:0;min-height:44px;border:1px solid #a7b9ac;border-radius:9px;background:#fff;padding:9px 11px;color:#213b2d;font-size:14px;font-family:inherit}
.ctb-controls :is(input,select):focus-visible,.ctb-shell :is(a,button):focus-visible{outline:3px solid #245dab;outline-offset:3px}
.ctb-support{font-size:12px;line-height:1.6;color:#55695b;margin:11px 0 14px}
.ctb-route{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:12px 0 14px;scrollbar-width:thin;white-space:nowrap}
.ctb-route-prefix{flex:0 0 auto;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800;color:#527462;margin-right:7px}
.ctb-route-chip{flex:0 0 auto;display:block;padding:7px 10px;border-radius:7px;border:1px solid #d3e0d0;background:#fff;color:#31593f;font-size:11px;max-width:195px;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.ctb-route-chip:hover{background:#eaf2e9;text-decoration:underline}
.ctb-route-empty,.ctb-route-more{font-size:12px;color:#557063}
.ctb-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ctb-entry{position:relative;min-width:0;display:flex;flex-direction:column;gap:8px;border:1px solid #d6e0d5;border-left:4px solid #598269;background:#fff;border-radius:10px;padding:16px 17px;box-shadow:0 1px 3px rgba(29,63,39,.04)}
.ctb-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.ctb-stop-link{font-size:11px;line-height:1.45;color:#286147;text-decoration:underline;text-decoration-color:#b0c7b7;text-underline-offset:3px;min-width:0}
.ctb-theme-name{text-transform:uppercase;letter-spacing:.08em;background:#eef3ed;color:#476452;font-size:9px;font-weight:800;border-radius:5px;padding:5px 7px;flex-shrink:0}
.ctb-entry-title{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:clamp(16px,1.5vw,19px);line-height:1.28;color:#203f2e;margin:0}
.ctb-entry-caveat{color:#526257;font-size:12px;line-height:1.6;margin:0;flex:1}
.ctb-season-caution{margin:0;padding:7px 9px;background:#f5efe0;color:#72502d;font-size:11px;border-radius:6px}
.ctb-entry-actions{padding-top:5px}
.ctb-link{display:inline-flex;align-items:center;min-height:40px;border:1px solid #2c6547;background:#295b40;color:#fff!important;padding:9px 13px;border-radius:8px;text-decoration:none;font-weight:700;font-size:12px;line-height:1.4}
.ctb-link:hover{background:#19432e}
.ctb-link:after{content:'↗';margin-left:9px}
.ctb-more{display:block;margin:14px auto 3px;border:1px solid #9bb49f;background:#fff;color:#29543b;padding:10px 16px;border-radius:8px;font-size:13px;min-height:44px;cursor:pointer;font-weight:700}
.ctb-more:hover{background:#e4efe4}
.ctb-bottom{border-top:1px solid #cfdacf;margin-top:21px;padding-top:18px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,.8fr);gap:22px}
.ctb-bottom h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;color:#264a35;font-size:19px;line-height:1.2;margin:0 0 7px}
.ctb-bottom p{font-size:12px;line-height:1.6;color:#4c6455;margin:0 0 9px}
.ctb-road{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:0}
.ctb-road li{min-width:0;padding:10px;border:1px solid #d6e0d4;border-radius:8px;background:#fff}
.ctb-road-link{font-size:12px;font-weight:700;display:block;color:#24583e;text-decoration:underline;text-underline-offset:3px}
.ctb-road-link:after{content:'↗';margin-left:5px}
.ctb-road-note{display:block;margin-top:5px;line-height:1.45;font-size:11px;color:#53665a}
.ctb-trip-keep{background:#e9eee5;border-radius:10px;padding:15px}
.ctb-trip-keep button{display:inline-flex;min-height:44px;align-items:center;margin:6px 0 2px;border:1px solid #729078;border-radius:7px;background:#fff;color:#27533b;font-weight:700;font-size:12px;padding:9px 12px;cursor:pointer}
.ctb-trip-keep button:hover{background:#f5faf4}
.ctb-copy-status{min-height:1.2em;font-size:11px!important;margin:4px 0 0!important}
.ctb-fallback{margin:10px 0;padding:15px;background:#fff;border:1px solid #dae4d7;border-radius:8px;font-size:13px;line-height:1.8}
.ctb-fallback a{color:#2f6041;margin-right:14px}
.ctb-fallback[hidden],.ctb-more[hidden]{display:none!important}
@media(max-width:760px){.ctb-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ctb-controls label:first-child{grid-column:1/-1}.ctb-results,.ctb-bottom{grid-template-columns:1fr}.ctb-road{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.ctb-shell{margin:16px 10px;padding:16px;border-radius:12px}.ctb-controls{grid-template-columns:1fr}.ctb-controls label:first-child{grid-column:auto}.ctb-road{grid-template-columns:1fr}.ctb-entry{padding:14px}.ctb-privacy{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.ctb-shell *{scroll-behavior:auto!important;transition:none!important}}
@media print{.ctb-shell{display:none!important}}


/* Experience OS v1.2.1: a decision-led itinerary, not a second directory. */
.ctb-route{position:relative}
.ctb-route-chip{cursor:pointer;font-family:inherit;line-height:1.45}
.ctb-route-chip[aria-pressed="true"]{background:#28563c;color:#fff;border-color:#28563c;text-decoration:none}
.ctb-decision{position:relative;border:1px solid #b4cbb7;border-radius:14px;background:#fff;padding:clamp(17px,2.8vw,30px);box-shadow:0 6px 20px rgba(25,56,42,.06);margin:4px 0 12px}
.ctb-decision:before{content:'';position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 5px 5px 0;background:#3f7755}
.ctb-stage-label{margin:0 0 8px!important;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;color:#3b7353}
.ctb-decision .ctb-stage-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.7vw,28px);font-weight:normal;line-height:1.2;margin:0 0 12px;color:#1c4632}
.ctb-stage-path{font-size:12px;color:#536c5c;margin:0 0 14px;line-height:1.55}
.ctb-stage-prefix{font-size:10px;font-weight:800;letter-spacing:.11em;color:#597662;margin:16px 0 4px}
.ctb-decision .ctb-stage-question{max-width:58ch;font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.2vw,24px);line-height:1.35;color:#1f3e2f;margin:0 0 15px}
.ctb-stage-explainer{font-size:14px;line-height:1.7;color:#485f51;max-width:68ch}
.ctb-stage-unknown{background:#f3f5ee;border-left:3px solid #91a994;border-radius:5px;margin:14px 0;padding:11px 15px;max-width:66ch;font-size:13px;color:#3c5444;line-height:1.65}
.ctb-stage-unknown strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#385d40}
.ctb-stage-unknown p{margin:5px 0 0}
.ctb-stage-season{background:#fff3dd;border-left:3px solid #aa7132;border-radius:5px;padding:10px 13px;line-height:1.6;color:#70421c;font-size:12px;margin:12px 0}
.ctb-stage-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:13px}
.ctb-stage-primary{font-size:13px;max-width:100%;white-space:normal;text-align:left}
.ctb-secondary-link{display:inline-flex;align-items:center;min-height:40px;color:#24583d;font-weight:700;font-size:12px;text-underline-offset:3px;padding:8px 2px}
.ctb-stage-alt{font-size:12px;color:#57715f;line-height:1.55;margin:13px 0 0}
.ctb-stage-reset,.ctb-nav-button{min-height:44px;border:1px solid #73957d;background:#fff;color:#225637;border-radius:8px;font-family:inherit;font-weight:700;font-size:12px;line-height:1.4;padding:10px 13px;cursor:pointer}
.ctb-stage-reset:hover,.ctb-nav-button:hover:not(:disabled){background:#e4eee4}
.ctb-stage-navigation{display:flex;justify-content:space-between;gap:9px;margin-top:20px;padding-top:15px;border-top:1px solid #d8e2d7}
.ctb-nav-button:disabled{color:#82968b;border-color:#d5dfd8;background:#f5f7f3;cursor:not-allowed;opacity:.8}
.ctb-companion{margin:11px 0 20px;border:1px solid #d3ded3;border-radius:10px;padding:0;background:#f9fbf7}
.ctb-companion summary{min-height:48px;padding:14px 18px;color:#285b3c;font-weight:700;font-size:13px;cursor:pointer;list-style-position:inside}
.ctb-companion summary:hover{background:#edf4eb}
.ctb-companion[open] summary{border-bottom:1px solid #d3ded3}
.ctb-companion .ctb-support{margin:12px 17px}
.ctb-companion .ctb-results{padding:4px 14px 14px}
.ctb-companion .ctb-more{margin:0 auto 15px}
@media(max-width:440px){.ctb-decision{padding:19px 16px 17px}.ctb-stage-actions{align-items:stretch;flex-direction:column}.ctb-stage-actions .ctb-link{width:100%;justify-content:space-between}.ctb-stage-navigation{flex-wrap:wrap}.ctb-nav-button{flex:1 1 135px}.ctb-companion .ctb-results{padding:7px}.ctb-companion summary{padding:14px 12px}}


/* Place & Story: site-exact documentary photographs and interpretive prose, not a shared page skin. */
.ctb-place-story{margin:24px 0 5px;border-top:1px solid #bfcfc1;padding-top:19px}
.ctb-place-kicker{margin:0 0 10px!important;font-size:10px;font-weight:800;letter-spacing:.15em;color:#467353}
.ctb-place-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(16px,2.5vw,28px);align-items:start}
.ctb-place-gallery{min-width:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px}
.ctb-place-photo{min-width:0;margin:0;border-radius:9px;overflow:hidden;background:#e2eae4;box-shadow:0 2px 7px rgba(24,48,35,.09)}
.ctb-place-photo img{width:100%;height:clamp(145px,18vw,220px);object-fit:cover;display:block}
.ctb-place-photo:first-child img{object-position:center 45%}
.ctb-place-photo figcaption{padding:9px 10px 10px;font-size:12px;line-height:1.42;color:#405647;background:#edf2eb}
.ctb-place-caption{display:block;margin-bottom:5px}
.ctb-place-credit{display:block;font-size:11px}
.ctb-place-credit a{color:#255f44;text-decoration:underline;text-underline-offset:2px}
.ctb-place-copy{min-width:0}
.ctb-place-title{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:clamp(19px,2.15vw,26px);line-height:1.25;margin:0 0 10px;color:#1f4935}
.ctb-place-prose{font-size:14px;line-height:1.67;color:#2d4637;margin:0 0 12px}
.ctb-place-character{font-size:13px;line-height:1.6;color:#465d4c;margin:0 0 10px}
.ctb-place-why{border-left:3px solid #a2b9a5;padding-left:12px;font-size:12px;font-weight:650;color:#2e5439;line-height:1.6;margin:0 0 10px}
.ctb-place-source{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:12px;color:#225b3c;text-decoration:underline;text-underline-offset:3px}
.ctb-place-disclosure{margin:11px 0 0!important;font-size:11px;line-height:1.5;color:#586c5c}
.ctb-place-image-failed .ctb-place-copy{grid-column:1/-1}
@media(max-width:800px){.ctb-place-layout{grid-template-columns:minmax(0,1fr)}.ctb-place-photo img{height:clamp(135px,30vw,230px)}}
@media(max-width:440px){.ctb-place-story{margin-top:22px}.ctb-place-gallery{gap:10px;grid-template-columns:minmax(0,1fr)}.ctb-place-photo img{height:185px}.ctb-place-photo:last-child img{height:140px}.ctb-place-photo figcaption{padding:10px;font-size:12px}.ctb-place-credit{font-size:12px}.ctb-place-title{font-size:20px}.ctb-place-prose{font-size:13px}.ctb-place-character{font-size:12px}}
@media print{.ctb-place-gallery{break-inside:avoid}}

.ctb-place-single-photo .ctb-place-photo{grid-column:1/-1}

/* Arrival desk: separate operator-verified addresses from map searches.
   Never render a guessed coordinate or claim a parking space is currently available. */
.ctb-arrivals{border-top:1px solid #d5dfd4;margin-top:19px;padding-top:15px}
.ctb-arrivals-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:#426b4e;margin:0 0 6px}
.ctb-arrivals-intro{font-size:12px;line-height:1.6;color:#496351;max-width:75ch;margin:0 0 12px}
.ctb-arrival-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0 12px}
.ctb-arrival-choice{font:inherit;text-align:left;min-height:48px;padding:10px 13px;line-height:1.45;font-size:12px;font-weight:700;background:#fff;color:#31553e;border:1px solid #a6b9a8;border-radius:8px;cursor:pointer}
.ctb-arrival-choice:hover{background:#edf4eb}
.ctb-arrival-choice[aria-pressed="true"]{background:#e1eee1;border:2px solid #2d6644;color:#19442d;padding:9px 12px;box-shadow:inset 4px 0 #2d6644}
.ctb-arrival-selected{max-width:74ch}
.ctb-arrival{min-width:0;border:1px solid #d4e0d3;background:#fff;border-radius:9px;padding:13px 14px}
.ctb-arrival-title{font-family:inherit!important;font-weight:750;font-size:13px!important;line-height:1.45;margin:0 0 6px!important;color:#284b37!important}
.ctb-arrival-note{font-size:12px;line-height:1.64;color:#405747;margin:0 0 9px}
.ctb-arrival-actions{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.ctb-arrival-map{font-size:12px;min-height:44px;white-space:normal;text-align:left;max-width:100%}
.ctb-arrival-source{font-size:11px;min-height:44px}
@media(max-width:760px){.ctb-arrival-choices{grid-template-columns:minmax(0,1fr)}}
@media(max-width:440px){.ctb-arrival-actions{flex-direction:column;align-items:stretch}.ctb-arrival-actions a{width:100%;justify-content:center}}
