/* Two dates, one journey. The operational detail stays in the workspace. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.departure-hero{padding-bottom:58px}.departure-hero .j-spring-photo{max-width:390px;justify-self:end}.departure-host{font-size:14px;color:var(--muted);margin:24px 0 14px}.departure-hero .j-text-link{font-size:14px}.departure-selector{border-top:1px solid var(--line);padding:42px 0 0;scroll-margin-top:30px}.departure-selector>.eyebrow{font-size:11px;color:#9b6c50}.departure-selector h2{font-size:46px;margin:16px 0 10px}.departure-intro{font-size:15px;color:var(--muted)}.departure-cards{border:0;margin:27px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.departure-card{display:grid;grid-template-columns:18px 26px 1fr;gap:12px;border:1px solid var(--line);border-radius:4px;padding:23px;cursor:pointer;align-items:start;background:transparent;transition:border-color .15s,background .15s}.departure-card.selected{background:#edf0e7;border-color:#829b8a}.departure-card input{accent-color:var(--ink);width:17px;height:17px;margin:3px 0 0}.departure-number{font-size:12px;padding-top:3px}.departure-card strong{font-size:17px;line-height:1.5;font-weight:500;display:block}.departure-card small{display:block;color:var(--muted);font-size:12px;line-height:1.65;margin-top:4px}.departure-direction{display:block;font-size:15px;margin-top:6px}.departure-card small.departure-unavailable{color:#855e3e;font-weight:500}.departure-choice-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin:7px 0 30px}.departure-choice-bottom .j-price{margin:20px 0 12px}.departure-choice-bottom .j-price small{font-size:13px;line-height:1.6}.departure-room-summary{font-size:13px;line-height:1.7;color:#526255;border-left:2px solid #c3cbb9;padding-left:16px;max-width:500px}.departure-choice-bottom .j-button{font-size:15px;max-width:440px}.departure-choice-bottom .j-form-note{font-size:11px;line-height:1.7;max-width:440px}.departure-other{border-top:1px solid var(--line);margin:30px 0 0;padding:25px 0 33px;display:flex;align-items:center;justify-content:space-between;gap:20px}.departure-other .eyebrow{font-size:10px;color:#9b6c50}.departure-other h3{font-size:27px;margin-top:10px}.departure-other .j-text-link{font-size:13px;white-space:nowrap}.departure-date-line{margin-top:-13px!important;font-size:14px!important}.departure-pending{margin-top:22px;padding:20px 0 0;border-top:1px solid var(--line);max-width:600px;color:var(--muted);font-size:15px;line-height:1.8}.departure-pending p+p{margin-top:10px}.departure-detail .j-night-timeline{grid-template-columns:repeat(var(--stop-count,5),minmax(0,1fr))}.departure-end{max-width:520px;margin:0 auto;text-align:center;padding:0 0 15px}.departure-end>p:first-child{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:15px}.booking-policy-links{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;margin:22px 0}.booking-policy-links a{text-decoration:underline;text-underline-offset:4px}.j-host-stays .eyebrow{font-size:11px;color:#9b6c50;margin-bottom:15px}.booking-page{max-width:720px;padding-bottom:35px}.booking-shell{max-width:520px;margin:0 auto}.booking-page .j-back{margin:8px 0 24px}.booking-page h1{font-size:42px;line-height:1.08;margin:12px 0 14px}.booking-intro{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 26px}.booking-progress{display:flex;list-style:none;justify-content:space-between;gap:16px;padding:0 0 26px;margin:0;font-size:11px;color:var(--muted)}.booking-progress li{display:flex;gap:8px;align-items:center}.booking-progress li>span{display:grid;place-items:center;width:21px;height:21px;border:1px solid #aeb9aa;border-radius:50%;flex-shrink:0;font-size:10px}.booking-progress [aria-current=step]{color:var(--ink)}.booking-progress [aria-current=step]>span{color:var(--paper);background:var(--ink);border-color:var(--ink)}.booking-progress .complete>span{color:var(--ink);background:#e8ecdf}.booking-summary{position:relative;background:#eef0e6;padding:18px 20px;border-radius:4px;margin:20px 0 24px;font-size:14px;line-height:1.65}.booking-summary>div{display:flex;justify-content:space-between;align-items:start;gap:12px}.booking-summary strong{font-weight:500;font-size:16px}.booking-summary p{margin-top:4px;color:var(--muted);font-size:13px}.booking-summary small{font-size:12px;display:block;color:var(--muted);line-height:1.6}.booking-change{padding:2px 0;font-size:12px;text-decoration:underline;min-height:28px}.booking-page .input-label{font:500 14px/1.5 var(--sans);display:block;margin:20px 0 0}.booking-page .input-label>span{font-size:12px;font-weight:400;color:var(--muted)}.booking-page input:not([type=radio],[type=checkbox]),.booking-page textarea{display:block;width:100%;font:400 16px/1.5 var(--sans);background:#fffdf8;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:11px 13px;margin:8px 0 0;min-height:46px;box-sizing:border-box}.booking-page textarea{resize:vertical}.booking-page input:focus-visible,.booking-page textarea:focus-visible,.departure-card:focus-within{outline:2px solid #62816e;outline-offset:3px}.booking-count{display:flex;gap:0;align-items:center;margin:9px 0 27px}.booking-count button,.booking-count output{width:40px;min-height:44px;display:grid;place-items:center;border:1px solid var(--line);font-size:17px}.booking-count output{border-inline:0;font-size:15px}.booking-count button:disabled{opacity:.4;cursor:default}.booking-count>span{font-size:11px;color:var(--muted);margin-left:15px;line-height:1.5}.booking-radios{border:0;padding:0;margin:24px 0 30px}.booking-radios legend{font-size:14px;font-weight:500;line-height:1.6;margin-bottom:8px}.booking-radios>label{display:flex;gap:11px;align-items:flex-start;min-height:40px;padding:8px 0;font-size:14px;color:var(--muted);line-height:1.7;cursor:pointer}.booking-page input[type=radio],.booking-page input[type=checkbox]{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0;margin:4px 0 0}.booking-page form>.j-button{margin-top:30px;font-size:14px;min-height:50px}.booking-review{margin:24px 0;background:#f0f0e8;padding:17px 20px;border-radius:4px;font-size:13px;line-height:1.7}.booking-review>div{display:grid;grid-template-columns:100px 1fr;gap:15px;margin:8px 0}.booking-review dt{color:var(--muted);font-size:12px}.booking-review dd{margin:0;overflow-wrap:anywhere}.booking-consent{display:flex;gap:13px;font-size:12px;line-height:1.8;margin-top:25px;align-items:flex-start}.booking-error{font-size:14px;color:#9b3e2c;line-height:1.6;margin:20px 0}.booking-page .j-form-note{font-size:11px;line-height:1.7}.booking-terms h2{font-size:27px;margin:30px 0 12px}.booking-terms>p{font-size:15px;line-height:1.85;color:var(--muted);margin-top:15px}.booking-terms>.eyebrow{font-size:10px;color:#9b6c50}.booking-success{padding-top:38px}.booking-success-mark{display:grid;place-items:center;width:60px;height:60px;border:1px solid #d1d8ca;background:#eef0e5;border-radius:50%;font-size:27px;margin:0 auto 30px}.booking-success>h1{text-align:center}.booking-success>p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:20px}.booking-success .booking-summary>strong{display:block;font-size:20px}.booking-copy{font-size:12px;text-decoration:underline;position:absolute;right:20px;top:41px}.booking-success>.j-text-link{display:flex;width:max-content;margin:20px auto}.booking-success .j-button{margin-top:25px}.booking-loading{min-height:65vh;padding-top:30px}.wish-dates{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wish-dates input{min-width:0}.booking-page #booking-change-options .departure-cards{grid-template-columns:1fr;gap:10px;margin:0 0 20px}.booking-page .departure-card{padding:16px}.booking-page .departure-card strong{font-size:15px}.booking-page .departure-card small{font-size:11px}.booking-page>.j-button{margin-top:25px}
@media(max-width:640px){.departure-hero{gap:23px;padding-bottom:30px}.departure-hero .j-spring-photo{max-width:none}.departure-hero .j-spring-intro h1{font-size:52px}.departure-hero .j-hero-story{font-size:14px}.departure-hero .departure-host{font-size:12px;margin:15px 0 9px}.departure-hero .j-text-link{font-size:13px}.departure-selector{padding-top:29px}.departure-selector h2{font-size:36px;margin:15px 0 10px;max-width:310px}.departure-intro{font-size:14px}.departure-cards{grid-template-columns:1fr;gap:13px;margin-top:23px}.departure-card{padding:18px 15px;gap:10px;grid-template-columns:17px 22px 1fr}.departure-card strong{font-size:16px}.departure-card small{font-size:12px;margin-top:3px}.departure-direction{font-size:14px;margin-top:3px}.departure-choice-bottom{display:block;margin-top:23px}.departure-choice-bottom .j-price{margin:0 0 12px}.departure-choice-bottom .j-price strong{font-size:28px}.departure-choice-bottom .j-price small{font-size:12px}.departure-room-summary{background:#edf0e7;border:0;padding:14px 17px;font-size:12px;margin-bottom:22px;border-radius:3px}.departure-choice-bottom .j-button{font-size:14px}.departure-other{display:block;text-align:center;margin-top:24px;padding:25px 0 30px}.departure-other h3{font-size:26px;margin-top:8px}.departure-other .j-text-link{font-size:13px;margin-top:7px}.departure-other .eyebrow{font-size:9px}.departure-sticky>div>small{display:block;font-size:9px}.departure-detail .j-spring-nav{gap:0;justify-content:space-between}.departure-detail .j-spring-nav button{font-size:12px}.departure-detail .j-host-stays h3{font-size:27px}.departure-detail .j-night-timeline{display:block}.booking-page{padding-bottom:18px}.booking-page .j-back{font-size:12px;margin:3px 0 21px}.booking-page h1{font-size:36px;margin:8px 0 14px}.booking-intro{font-size:13px;margin-bottom:20px}.booking-progress{gap:8px;font-size:10px;padding-bottom:24px}.booking-progress li{gap:6px}.booking-progress li>span{width:18px;height:18px;font-size:9px}.booking-summary{padding:15px;margin:19px 0 22px}.booking-summary strong{font-size:15px}.booking-summary small{font-size:11px}.booking-summary p{font-size:12px}.booking-page .input-label{font-size:13px;margin-top:20px}.booking-page .input-label>span{font-size:11px}.booking-radios legend{font-size:13px}.booking-radios>label{font-size:13px}.booking-review{padding:14px 15px;font-size:12px}.booking-review>div{grid-template-columns:85px 1fr;gap:11px;margin:11px 0}.booking-review dt{font-size:11px}.booking-policy-links{font-size:12px;gap:18px}.booking-consent{font-size:11px;gap:10px}.booking-page form>.j-button{margin-top:26px}.booking-success{padding-top:20px}.booking-copy{right:15px}.booking-terms>p{font-size:14px}.booking-terms h2{font-size:26px}}
@media(max-width:360px){.departure-card{gap:8px;padding:16px 12px;grid-template-columns:17px 19px 1fr}.departure-card strong{font-size:14px}.departure-card small{font-size:11px}.booking-progress{font-size:9px;gap:5px}.booking-progress li{gap:4px}.departure-detail .j-spring-nav button{font-size:11px}.departure-sticky .j-button .arrow{display:none}.booking-summary>div{gap:8px}.booking-summary strong{font-size:14px}}
@media print{.departure-sticky,.departure-other,.booking-change,.j-spring-nav,.j-back,.menu-button{display:none!important}.booking-page{max-width:none}.departure-cards{grid-template-columns:1fr 1fr}.departure-hero{break-inside:avoid}.departure-card{break-inside:avoid}}

/* Spring Hero: existing heading, short story, trip information, departure link. */
#journeys-view .departure-hero .j-spring-intro{min-width:0;width:100%}
#journeys-view .departure-hero .j-spring-intro h1{font-size:clamp(28px,4vw,52px);line-height:1.06;letter-spacing:-.025em;font-weight:400;margin:20px 0 22px}
#journeys-view .departure-hero .j-hero-story{font-size:16px;line-height:1.55;color:#536158;max-width:52ch;margin:0;text-wrap:pretty}
#journeys-view .departure-hero .departure-host{font-size:14px;line-height:1.5;margin:22px 0 28px}
#journeys-view .departure-hero .j-spring-intro>.j-text-link{margin-top:0}
@media(max-width:700px){
 #journeys-view .departure-hero .j-spring-intro h1{font-size:clamp(32px,8.8vw,54px);line-height:1.07;margin:18px 0 20px}
 #journeys-view .departure-hero .j-hero-story{font-size:16.5px;line-height:1.55;margin:0}
 #journeys-view .departure-hero .departure-host{font-size:13px;line-height:1.5;margin:22px 0 28px}
}
