/* Ritz-only presentation. Shared templates and other pages are unchanged. */
.subpage.ritz-page .visit-hero-image{height:auto;aspect-ratio:474/355;object-fit:contain;max-width:474px;margin-inline:auto;display:block}
.ritz-page .visit-article section:first-child h2{margin-top:0}
.ritz-page .visit-article a{overflow-wrap:anywhere}
.ritz-page table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:15px;line-height:1.7}
.ritz-page th,.ritz-page td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.ritz-page th{font-weight:600;background:var(--soft)}
.ritz-page .visit-hero-copy .ritz-kicker,.ritz-page .ritz-travel-panel .ritz-kicker{font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
/* Approved hero links: unchanged. */
.ritz-page .ritz-hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:26px;font-size:14px}
.ritz-page .ritz-hero-actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #cedace;border-radius:12px;background:#f0f4e8;color:#36523a;text-decoration:none;line-height:1.5;font-size:14px;font-weight:600;max-width:100%;transition:background-color .15s,border-color .15s}
.ritz-page .ritz-hero-actions>a+a{background:#faf7f1;border-color:#e3dacd;color:#554d40}
.ritz-page .ritz-hero-actions>a:hover{background:#e5edda;border-color:#879d73}
.ritz-page .ritz-hero-actions>a+a:hover{background:#f1eadd;border-color:#a9997c}
.ritz-page .ritz-hero-actions>a:focus-visible,.ritz-page .ritz-travel-panel a:focus-visible{outline:3px solid #365552;outline-offset:4px}
/* Open departure layout: no enclosing panel, nested cards or pill labels. */
.ritz-page .ritz-travel-panel{margin-top:42px;padding-top:0;padding-bottom:0;scroll-margin-top:24px}
.ritz-page .ritz-travel-panel h2{font-size:clamp(29px,3vw,40px);line-height:1.15;margin:0 0 20px;max-width:820px}
.ritz-page .ritz-travel-panel>p{max-width:920px;font-size:16px;line-height:1.8}
.ritz-page .ritz-travel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin:28px 0}
.ritz-page .ritz-travel-options>.col-12{min-width:0;display:flex}
.ritz-page .ritz-travel-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;padding:24px;border:1px solid #dfe6df;border-radius:10px;background:#f8faf7;box-sizing:border-box}
.ritz-page .ritz-option-train{border-color:#e7e1d6;background:#fcfaf6}
.ritz-page .ritz-travel-card .card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;min-width:0;box-sizing:border-box;padding:0}
.ritz-page .ritz-travel-card h3{font-size:24px;line-height:1.3;letter-spacing:-.02em;margin:0 0 14px;max-width:100%}
.ritz-page .ritz-travel-card p{font-size:15px;line-height:1.8;margin:0 0 18px;color:#52615e}
.ritz-page .ritz-travel-card .ritz-travel-stat{font-size:20px;line-height:1.4;font-weight:600;color:#365552;margin-bottom:12px}
.ritz-page .ritz-travel-card a{font-size:14px;font-weight:600;margin-top:auto;padding-top:6px;text-underline-offset:4px}
.ritz-page .ritz-departure-note{border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.ritz-page .ritz-departure-note p{margin:0;font-size:15px;line-height:1.85;color:#45524f}
.ritz-page .ritz-departure-note strong{font-weight:600;color:#365552}
.ritz-page .ritz-travel-panel .ritz-travel-caveat{font-size:13px;color:#52615e;line-height:1.75;margin:20px 0 0;max-width:920px}
@media(max-width:767px){.ritz-page .ritz-travel-panel{margin-top:30px}.ritz-page .ritz-travel-options{grid-template-columns:minmax(0,1fr);gap:26px;margin:24px 0}.ritz-page .ritz-departure-note{grid-template-columns:minmax(0,1fr);gap:16px}.ritz-page .ritz-hero-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.ritz-page table,.ritz-page tbody,.ritz-page tr,.ritz-page td{display:block}.ritz-page thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.ritz-page tr{padding:10px 0;border-bottom:1px solid var(--line)}.ritz-page td{border:0;padding:5px 0}.ritz-page td::before{content:attr(data-label);display:block;font-weight:600}}
@media(prefers-reduced-motion:reduce){.ritz-page .ritz-hero-actions>a{transition:none}}
