/* Give the final enquiry a stronger destination and keep every CTA legible. */
.nav-cta{
  border:1px solid var(--gold);
  background:var(--gold);
  color:var(--forest);
  font-weight:700;
  font-size:.66rem;
  letter-spacing:.11em;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.nav-cta:hover{background:#ffe2a2;border-color:#ffe2a2;transform:translateY(-2px)}
.site-header.is-docked .nav-cta{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.site-header.is-docked .nav-cta:hover{background:#315a43;border-color:#315a43}

.planner-section{background:var(--forest);color:var(--paper)}
.planner-section .stay-section{gap:9%;padding-block:105px 115px}
.planner-section .stay-story{color:var(--paper)}
.planner-section .stay-story .eyebrow{color:var(--gold)}
.planner-section .stay-story h2{color:var(--paper)}
.planner-section .stay-story h2 em{color:var(--gold)}
.planner-section .stay-story>p:not(.eyebrow){color:#e5ebe1}
.planner-section .planning-steps{border-top:1px solid #ffffff3b;margin-top:36px}
.planner-section .planning-steps li{border-bottom:1px solid #ffffff3b;padding-block:17px}
.planner-section .planning-steps li>span{color:var(--gold)}
.planner-section .planning-steps h3{color:var(--paper)}
.planner-section .planning-steps p{color:#d5e0d5}
.stay-scene{position:relative;margin:32px 0 0;padding:5px;border:1px solid var(--gold);overflow:hidden}
.stay-scene img{width:100%;height:214px;object-fit:cover;object-position:center 53%}
.stay-scene figcaption{position:absolute;left:5px;bottom:5px;background:var(--paper);color:var(--forest);padding:9px 14px;font:.59rem/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.planner-section .stay-story>.planner-draft-note{margin-top:24px;color:#e5ebe1;font-size:.73rem;line-height:1.7}
.planner-section .planner-draft-note .lucide{color:var(--gold);flex-shrink:0}

.planner-section .booking-panel{background:var(--paper);color:var(--forest);border:0;border-top:5px solid var(--gold);box-shadow:0 28px 60px #071d15a1;padding:42px 38px 39px;margin-inline:auto}
.planner-section .booking-panel h2{font-size:2.75rem}
.planner-section .stay-choices{background:#e8e8dd}
.planner-section .stay-highlight{background:var(--gold);border-color:#d6ad5d}
.planner-section .stay-choices label:has(input:checked){background:var(--gold);border-color:#d6ad5d}
.planner-section .stay-choices.selector-ready label:has(input:checked){background:transparent;border-color:transparent}
.planner-section .stay-choices label:has(input:checked) small{color:#425747}
.planner-section .stay-options legend,.planner-section .form-grid label,.planner-section .enquiry-questions label{font-size:.68rem}
.planner-section .form-grid input,.planner-section .enquiry-questions textarea{background:#f2f1e9;border:1px solid #cbd1c4;padding:11px 12px;min-height:52px}
.planner-section .enquiry-questions textarea{min-height:88px}
.planner-section .field-note,.planner-section .price-note,.planner-section .form-note{font-size:.71rem;line-height:1.65}
.planner-section .booking-price{background:#e9eadf;border-left:3px solid var(--gold);margin:18px 0 12px;padding:20px 22px 17px}
.planner-section .booking-price strong{font-size:2.85rem}
.planner-section .booking-price small{display:block;margin-top:10px}
.planner-section .booking-panel .button-green{min-height:57px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.planner-section .booking-panel .button-green:hover{background:#315a43}
.closing .button{background:var(--gold);border:2px solid var(--gold);color:var(--forest);min-height:58px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.closing .button:hover{background:#ffe2a2;border-color:#ffe2a2;color:var(--forest)}
.mobile-booking .button{font-weight:700}

@media(max-width:1100px){
  .planner-section .stay-section{gap:6%}
  .stay-scene img{height:195px}
}
@media(max-width:800px){
  .planner-section .stay-section{gap:42px;padding-block:76px 85px}
  .planner-section .booking-panel{width:100%;max-width:590px}
  .stay-scene img{height:230px}
  .mobile-booking .button{font-size:.67rem;min-height:46px}
}
@media(max-width:550px){
  .planner-section .stay-section{padding-block:65px 70px;gap:34px}
  .planner-section .stay-story h2{font-size:clamp(2.65rem,10vw,3.3rem)}
  .planner-section .stay-story>p:not(.eyebrow){font-size:.86rem}
  .planner-section .planning-steps{margin-top:28px}
  .planner-section .planning-steps li{padding-block:15px}
  .stay-scene{margin-top:27px}
  .stay-scene img{height:185px}
  .planner-section .booking-panel{padding:28px 21px 30px}
  .planner-section .booking-panel h2{font-size:2.3rem}
  .planner-section .booking-price{padding:17px 15px}
  .planner-section .booking-price strong{font-size:2.4rem}
  .nav-cta{font-size:.56rem}
  .mobile-booking .button{font-size:.64rem}
}
@media(max-width:360px){
  .planner-section .booking-panel{min-width:0;width:100%;padding:25px 16px 27px}
  .planner-section .stay-choices{gap:4px;padding:5px}
  .planner-section .stay-choices label{padding:11px 6px}
  .planner-section .stay-choices strong{font-size:1.08rem}
  .planner-section .stay-choices small{font-size:.58rem}
  .planner-section .stay-choices b{font-size:.67rem}
  .planner-section .form-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:10px}
  .planner-section .form-grid>div{min-width:0}
  .planner-section .booking-price{padding:15px 11px}
  .planner-section .booking-price strong{font-size:2.15rem}
}
@media(prefers-reduced-motion:reduce){.nav-cta{transition:none}.nav-cta:hover{transform:none}}
