/* Local UX revision: shared responsive rules, loaded after the inherited style layers. */
#v-home .hero{height:100vh;height:100dvh;min-height:0;max-height:none}
#v-home .hero__in{bottom:auto;top:50%;transform:translateY(-42%);padding-top:env(safe-area-inset-top)}
#v-home .hero__title{font-size:clamp(44px,min(6.5vw,10dvh),116px)}
#v-home .hero__bar{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.plan-price-note{display:flex;gap:24px;align-items:start;padding:22px 26px;border:1px solid var(--line-2);border-left:3px solid var(--gold);background:#f3eddf;margin-bottom:30px}
.plan-price-note b{font:24px var(--serif);min-width:170px}.plan-price-note p{margin:0;font-size:14px;line-height:1.7;max-width:78ch}
.shape__list,#planCourses .shape__list{display:block}.shape__promise{min-height:0}
.pcal{width:100%;max-width:640px;grid-column:2/-1;border:1px solid #c8c2b0;background:#fcfaf4;padding:22px;box-shadow:0 10px 30px #3b493408}
.q:has([data-q="days"]){grid-column:1/-1}
.questions .q--date{grid-column:1/-1;grid-template-columns:30px minmax(150px,1fr) minmax(400px,640px);align-items:start;column-gap:20px}
.q--date .pcal{grid-column:3;grid-row:1/span 4}.q--date .date-echo{grid-column:2;grid-row:2;margin-top:4px;max-width:24ch}.q--date .date-guidance{grid-column:2;grid-row:3}
.pcal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;text-align:center}.pcal__head p{margin:0 0 6px}.pcal__head h3{font:26px var(--serif);margin:0}.pcal__head>button{height:42px;width:42px;border:1px solid #d4ccba;color:#425946;background:transparent;font-size:22px}
.pcal__week,.pcal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pcal__week span{text-align:center;font-size:11px;letter-spacing:.14em;padding:8px;color:#77776a}.pcal__grid{row-gap:5px}
.pcal__day{position:relative;border:0;border-bottom:2px solid transparent;min-height:70px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent;color:#394b3e;font:18px var(--serif);padding:6px 1px;cursor:pointer}
.pcal__day small{font:500 10px var(--sans);color:#617561}.pcal__day--value small{color:#426b54}.pcal__day--peak small{color:#995c36}.pcal__day--peak:not(.is-start):not(.is-end){border-bottom-color:#b38a5859}.pcal__day i{font:9px var(--sans);font-style:normal}.pcal__day.is-range{background:#e7ebdf}.pcal__day.is-start{background:#294c3b;color:#fff8e8;border-radius:50% 50% 0 0}.pcal__day.is-end{background:#f2e6c9;box-shadow:inset 0 0 0 1px #a78a51;border-radius:0 0 50% 50%}.pcal__day.is-start small{color:#fff8e8}.pcal__day:disabled{opacity:.25;cursor:default}.pcal__day:not(:disabled):hover{outline:1px solid #a78a51;outline-offset:-2px}
.pcal__legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:16px 0 8px;font:10px var(--sans)}.pcal__legend span::before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;background:#53705c;border-radius:50%}.pcal__legend .regular::before{background:#8b906c}.pcal__legend .peak::before{background:#ac7748}.pcal__legend small{margin-left:auto}.pcal__basis{font:11px/1.6 var(--sans);color:#777567;margin:8px 0 18px}
.pcal__range{display:flex;flex-direction:column;align-items:center;gap:7px;padding:17px 8px;border-top:1px solid #d8d0bf;border-bottom:1px solid #d8d0bf}.pcal__range>span,.pcal__range small{font:10px var(--sans);letter-spacing:.06em;color:#727767}.pcal__range b{font:18px var(--serif);text-align:center}.pcal__range i{margin:0 12px;color:#967b48}.pcal__neighbours{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:14px}.pcal__shift{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left;background:transparent;border:1px solid #ddd6c6;padding:10px;font:12px var(--serif);color:#425846}.pcal__shift small{display:block;margin-top:6px;font:10px var(--sans);line-height:1.4}.pcal button:disabled{cursor:default;opacity:.3}.ts .pcal{padding:12px}.ts .pcal__day{min-height:55px}.ts .pcal__neighbours{gap:5px}
.pc__closebar{position:sticky;top:0;z-index:6;height:0;display:flex;justify-content:flex-end;pointer-events:none}.pc__closebar .pc__x{position:relative;top:8px;right:8px;pointer-events:auto;background:#fbf8f0;border:1px solid #a9ae9d;box-shadow:0 2px 8px #253b3020}
/* The inherited hot-state rule made the white day number sit on a white background. */
.dio-pin--in:hover .dio-pin__tag,.dio-pin--in.is-hot .dio-pin__tag,.dio-pin--in:focus-visible .dio-pin__tag{background:#a9442d;color:#fff8ea}.dio-pin--in .dio-pin__tag b{color:inherit;opacity:1}.dio-pin--in .dio-pin__tag.is-over{color:#a9442d;background:#fff8ea}
.stay-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.stay-review-grid button{border:1px solid #c9c4b3;background:#fbfaf5;min-height:140px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:10px;justify-content:center;color:#394d3f}.stay-review-grid button[aria-pressed=true]{border-color:#48634e;background:#e8ecdf;box-shadow:inset 0 0 0 1px #48634e}.stay-review-grid b{font:17px/1.4 var(--serif)}.stay-review-grid small{font:11px/1.5 var(--sans)}.stay-panel>p{min-height:4.8em}.stay-panel{overflow-anchor:none}.stay-review-grid .stay-card__peaks{display:block;flex:none}
.plan-conflict{max-width:620px;width:calc(100% - 32px);border:1px solid #a5ac93;background:#fcfaf4;color:#344839;padding:28px;max-height:85dvh;overflow:auto}.plan-conflict::backdrop{background:#203b32a8;backdrop-filter:blur(3px)}.plan-conflict h2{font:28px var(--serif);margin:6px 0 15px}.plan-conflict p{font-size:14px;line-height:1.7}.plan-conflict__choices{display:grid;gap:10px;margin:18px 0}.plan-conflict__choices button{text-align:left;padding:13px 16px;background:#eef0e7;border:1px solid #c8cdbb;font:13px/1.6 var(--sans);color:#344839}.plan-conflict__cancel{background:transparent;border:0;border-bottom:1px solid #88967e;padding:8px;color:inherit}
.trip-film__chapters [data-film-chapter]{min-width:110px}.trip-film__controls button:disabled{opacity:.35;cursor:default}
@media(max-width:700px){.plan-price-note{display:block;padding:18px}.plan-price-note b{display:block;margin-bottom:10px}.pcal{padding:12px;grid-column:1/-1}.pcal__day{min-height:64px}.pcal__head h3{font-size:23px}.pcal__shift{padding:8px 3px;gap:6px}.pcal__shift small{font-size:9px}.stay-review-grid{gap:12px}.stay-review-grid button{padding:14px;min-height:150px}#v-home .hero__in{top:46%;transform:translateY(-38%)}#v-home .hero__lede{font-size:14px;max-width:33ch;line-height:1.6;margin-top:20px}#v-home .hero__actions{margin-top:24px}#v-home .hero__title{font-size:clamp(40px,9vw,66px)}}
@media(max-height:520px){#v-home .hero__in{top:52%;transform:translateY(-46%)}#v-home .hero__title{font-size:clamp(30px,8dvh,48px);max-width:20ch}#v-home .hero__lede{font-size:12px;line-height:1.4;margin-top:10px;max-width:55ch}#v-home .hero__actions{margin-top:12px}#v-home .hero__actions .btn{min-height:38px;padding:9px 16px;font-size:10px}.hero__bar{padding-top:7px}.hero__eyebrow{font-size:9px;margin-bottom:10px}}
@media(max-width:800px){.questions .q--date{grid-template-columns:24px minmax(0,1fr)}.q--date .pcal{grid-column:1/-1;grid-row:auto}.q--date .date-echo,.q--date .date-guidance{grid-column:2;grid-row:auto}.stay-panel>p{min-height:4.8em}}

#v-book .stat__s{min-height:3em}.stay-review-grid button{height:172px}.ledger__stay .lrow{min-height:72px}

/* Date planning is one compact row: month on the left, journey and comparisons on the right. */
.questions .q--date{grid-template-columns:30px minmax(0,1fr);gap:15px 20px}
.questions .q--date>.pcal{grid-column:1/-1;grid-row:2}
.questions .q--date>.date-echo,.questions .q--date>.date-guidance{display:none}
.pcal{max-width:none;display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,.95fr);gap:26px;padding:22px}
.pcal__month{min-width:0}.pcal__head{margin-bottom:10px}.pcal__head .label{font-size:9px}.pcal__head>button{width:34px;height:34px;font-size:19px}
.pcal__jump{display:flex;justify-content:center;gap:7px}.pcal__jump select{appearance:auto;border:0;border-bottom:1px solid #c9c0ab;background:transparent;color:#344d3c;font:22px var(--serif);padding:3px 18px 5px 4px;cursor:pointer;min-width:0}.pcal__jump select:last-child{font-size:19px}
.pcal__day{min-height:49px;font-size:16px;gap:3px;padding:4px 1px}.pcal__day small{font-size:9px}.pcal__day i{font-size:8px}.pcal__week span{padding:6px}.pcal__legend{margin:12px 0 0}
.pcal__summary{border-left:1px solid #d8d0bf;padding:10px 0 10px 26px;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0}
.pcal__eyebrow{font:10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#927545;margin:0}
.pcal__quick label{display:flex;flex-direction:column;gap:8px;font:11px var(--sans);color:#5d6a59}.pcal__quick input{box-sizing:border-box;width:100%;max-width:260px;min-height:39px;padding:7px 10px;border:1px solid #c6cbb9;background:#f7f6ee;color:#304d3b;font:14px var(--sans)}.pcal__quick>small{display:block;margin-top:7px;font:10px var(--sans);color:#7b7c6b}
.pcal__summary .pcal__basis{order:5;margin:0;font-size:10px;line-height:1.6}.pcal__summary .pcal__range{padding:15px 5px;gap:7px}.pcal__summary .pcal__neighbours{padding-top:0;gap:9px}.pcal__summary .pcal__shift{min-height:58px;padding:9px 7px}.pcal__summary .pcal__range b{font-size:20px}
.ts .pcal{display:block}.ts .pcal__summary{border-left:0;border-top:1px solid #d8d0bf;padding:16px 0 0;margin-top:14px}.ts .pcal__jump select{font-size:17px}.ts .pcal__day{min-height:48px}
@media(max-width:760px){.pcal{grid-template-columns:1fr;gap:18px;padding:15px}.pcal__summary{border-left:0;border-top:1px solid #d8d0bf;padding:18px 0 0;gap:12px}.pcal__day{min-height:55px}.pcal__jump select{font-size:21px}.pcal__quick input{max-width:none}.questions .q--date{grid-template-columns:24px minmax(0,1fr)}}
.pcal__error{font:11px/1.5 var(--sans);color:#9b4933;margin:8px 0 0}
.stay-review-grid{gap:9px;margin-top:12px}
.stay-review-grid button{height:112px;min-height:112px;padding:11px 12px;gap:6px;justify-content:flex-start}
.stay-review-grid b{font-size:15px;line-height:1.25}
.stay-review-grid small{font-size:10px;line-height:1.4}
.stay-review-grid .stay-card__peaks{width:30px;height:14px}
.stay-panel>p{min-height:0;margin-bottom:10px}
@media(max-width:700px){.stay-review-grid{gap:8px}.stay-review-grid button{height:108px;min-height:108px;padding:10px;gap:5px}.stay-review-grid b{font-size:14px}.stay-review-grid small{font-size:10px}}
@media(max-width:760px){.pcal__head{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;column-gap:4px}.pcal__head>div{min-width:0}.pcal__head>button{width:28px;height:32px}.pcal__jump{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:3px}.pcal__jump select,.pcal__jump select:last-child{width:100%;font-size:17px;padding:3px 0 5px}.pcal__jump select:last-child{font-size:16px}}
