.inner-page .hero-inner {min-height:clamp(330px,43svh,410px)}
.inner-page .hero-inner .hero-content {padding:130px 0 30px}
.inner-page .hero-inner h1 {font-size:clamp(42px,6vw,82px);margin-bottom:15px;text-wrap:balance}
.booking-page .hero-inner {min-height:clamp(205px,30svh,285px)}
.booking-page .hero-inner h1 {margin:0;font-size:clamp(40px,5.2vw,70px)}
.booking-page .hero-inner .hero-content {padding-bottom:25px}
[data-stay-booking-layout] {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.booking-page .stay-booking-layout {display:block;padding:26px 16px 58px}
.stay-booking-layout .enquiry-form,[data-stay-booking-layout] .enquiry-form {width:min(100%,820px);min-width:0;margin:0 auto}
.stay-booking-fields {margin:12px 0 26px}
.stay-contact-heading {margin-top:20px}
.stay-currency button:hover {border-color:var(--rust-dark)}
.home-quick-book {grid-template-columns:minmax(190px,1.25fr) minmax(170px,1fr) minmax(260px,1.15fr) auto;gap:14px}
.home-quick-book > .stay-date-fields {padding:0;align-self:stretch}
.home-quick-book > label {padding:0;border:0}
.home-quick-book .stay-date-trigger strong {font-family:var(--sans);font-size:13px;font-weight:600}
.home-quick-book > label,.home-quick-book > label:first-of-type,.home-quick-book .guest-count-field > label {border:0;padding:0}
.stay-guest-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.home-quick-book > .stay-guest-fields {grid-column:auto;padding:0;align-self:end}
.guest-count-field {min-width:0;display:grid;gap:8px;grid-template-rows:1fr auto}
.guest-count-control {display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.guest-count-control button {display:grid;place-items:center;width:44px;height:48px;padding:0;border:0;background:transparent;border-radius:8px;color:var(--rust-dark);cursor:pointer}
.guest-count-control button:hover:not([aria-disabled=true]) {background:var(--cream)}
.guest-count-control button[aria-disabled=true] {color:var(--ink-soft);opacity:.52;cursor:default}
.guest-count-control button svg {width:20px;height:20px}
.home-quick-book .guest-count-control input,.enquiry-form .guest-count-control input {height:48px;width:100%;min-width:0;padding:0;appearance:textfield;text-align:center;border:0;border-radius:0;background:transparent;font:600 16px var(--sans);color:var(--ink)}
.guest-count-control input::-webkit-inner-spin-button,.guest-count-control input::-webkit-outer-spin-button {appearance:none;margin:0}
.guest-count-control input:focus-visible {outline:2px solid var(--rust-dark);outline-offset:-2px}
.enquiry-time-field {display:grid;gap:8px;grid-template-rows:1fr auto}
.enquiry-time-trigger {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--rust-dark);text-align:left}
.enquiry-time-trigger[hidden] {display:none}
.enquiry-form .enquiry-time-trigger span {font:600 14px var(--sans);text-transform:none;letter-spacing:normal;color:var(--ink)}
.enquiry-time-trigger svg {flex:0 0 20px;width:20px;height:20px}
.enquiry-time-dialog .date-dialog-close {display:grid;place-items:center}
.enquiry-time-picker .air-datepicker {width:100%;margin:0 0 16px;border-color:var(--line);border-radius:10px;font-family:var(--sans);--adp-accent-color:var(--rust-dark);--adp-cell-background-color-selected:var(--rust-dark)}
.enquiry-time-picker .air-datepicker-time {display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:16px}
.enquiry-time-picker .air-datepicker-time--current {justify-content:center;padding-bottom:4px}
.enquiry-time-picker .air-datepicker-time--current-hours,.enquiry-time-picker .air-datepicker-time--current-minutes {font:650 24px/1 var(--sans);font-variant-numeric:tabular-nums}
.enquiry-time-picker .air-datepicker-time--row {display:grid;grid-template-columns:5em minmax(0,1fr);align-items:center;gap:8px;height:auto;background:none}
.enquiry-time-picker .air-datepicker-time--row label {font:600 13px var(--sans);color:var(--ink)}
.enquiry-time-picker input[type="range"] {min-height:44px;min-width:0}
.enquiry-time-picker .air-datepicker-time--row input[type="range"]::-webkit-slider-runnable-track {height:4px;border-radius:4px;background:#e9d7ca}
.enquiry-time-picker .air-datepicker-time--row input[type="range"]::-moz-range-track {height:4px;border-radius:4px;background:#e9d7ca}
.enquiry-time-picker .air-datepicker-time--row input[type="range"]::-webkit-slider-thumb {width:18px;height:18px;margin-top:-7px;border:0;border-radius:50%;background:var(--rust-dark)}
.enquiry-time-picker .air-datepicker-time--row input[type="range"]::-moz-range-thumb {width:18px;height:18px;border:0;border-radius:50%;background:var(--rust-dark)}
.enquiry-time-picker .air-datepicker-time--row input[type="range"]:focus-visible {outline:2px solid var(--rust-dark);outline-offset:2px;border-radius:6px}
.home-quick-book select,.stay-booking-fields select {appearance:none;width:100%;min-width:0;min-height:50px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23944222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 11px center / 18px no-repeat;color:var(--ink);font:600 16px var(--sans)}
.home-quick-book select:focus-visible,.stay-booking-fields select:focus-visible {outline:2px solid var(--rust-dark);outline-offset:2px}
@media(max-width:1100px){
  [data-stay-booking-layout] {grid-template-columns:minmax(0,1fr)}
  .home-quick-book {grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-quick-book>.stay-date-fields,.home-quick-book>button[type=submit] {grid-column:1/-1}
}
.stay-price-tools {display:flex;justify-content:flex-end;margin-bottom:8px}
.stay-currency {display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.stay-currency button {min-width:54px;min-height:44px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:600 13px var(--sans);cursor:pointer}
.stay-currency button[aria-pressed="true"] {background:var(--rust-dark);color:#fff}
.stay-estimate {display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);font-size:14px}
.stay-estimate:empty {display:none}
.stay-estimate > strong {font-size:17px}
.enquiry-form .stay-estimate span {font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;font-weight:inherit}
.stay-estimate ul,.stay-plan-details ul {margin:7px 0;padding-inline-start:20px}
.stay-estimate summary,.stay-plan-details summary {min-height:44px;padding-block:10px;cursor:pointer}
.enquiry-form .stay-estimate .stay-promo {justify-self:start;border-radius:5px;padding:4px 8px;background:#f0dbc9;color:#6f321b;font-weight:650}
.stay-list {padding-block:clamp(34px,5vw,76px)}
.stay-list-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(18px,3vw,32px)}
.stay-list-head h2 {margin:0;font:400 clamp(32px,4.5vw,59px)/1.02 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.stay-list-grid {display:grid;gap:clamp(20px,4vw,44px)}
.stay-list-home .stay-list-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.stay-list-card {border:1px solid #ddd2c3;border-radius:14px;overflow:hidden;background:var(--paper);min-width:0}
.stay-list-photo {position:relative;min-width:0;min-height:0;background:#e9ded0;overflow:hidden;aspect-ratio:1.62}
.stay-list-photo img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stay-list-copy {display:grid;align-content:center;gap:clamp(15px,2.2vw,23px);padding:clamp(22px,4vw,48px);min-width:0}
.stay-list-copy h3 {font:400 clamp(36px,5.2vw,66px)/.98 var(--serif);letter-spacing:-.025em;margin:0}
.stay-list-intro p {margin:11px 0 0;color:var(--ink-soft);font-size:15px;max-width:35ch}
.stay-rate-panel {padding:15px 0 0;border-top:1px solid #dfd4c7}
.stay-from {display:grid;gap:2px;margin:0;font-size:14px;color:var(--ink-soft)}
.stay-from-amount {display:flex;flex-wrap:wrap;align-items:baseline;gap:0 7px}
.stay-from-amount strong {font:400 clamp(31px,3.5vw,47px)/1.12 var(--serif);color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.stay-rate-basis {font-size:13px}
.stay-rate-on-request {margin:0;font-size:15px;color:var(--ink-soft)}
.stay-card-actions {display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}
.stay-card-actions .text-link {font-size:13px}
.stay-list-detail {max-width:900px}
.stay-list-detail .stay-list-copy {align-content:start}
.stay-list-detail .stay-rate-panel {padding:0;border:0}
.stay-plan-details {margin-top:6px}
.stay-plan-details small {color:var(--ink-soft)}
.stay-plan-details li+li {margin-top:9px}
.accommodation-details{padding-top:clamp(24px,4vw,56px)}
.accommodation-gallery{padding-block:clamp(26px,4vw,50px)}
.accommodation-gallery h2{margin:0 0 20px;font:400 clamp(35px,5vw,62px)/1 var(--serif);letter-spacing:-.025em}
.accommodation-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.accommodation-gallery-grid figure{margin:0;min-width:0;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#e7ddd0}
.accommodation-gallery-grid figure:only-child{grid-column:1/-1;aspect-ratio:2.1}
.accommodation-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:620px){
  .accommodation-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .accommodation-gallery-grid figure:first-child{grid-column:1/-1;aspect-ratio:4/3}
}
.outline-icon {display:block;flex:none}
.disclosure-icon {display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:var(--rust-dark)}
.disclosure-icon .outline-icon {width:19px;height:19px}
.disclosure-icon .icon-minus,details[open]>summary .disclosure-icon .icon-plus {display:none}
details[open]>summary .disclosure-icon .icon-minus {display:block}
.stay-plan-details>summary,.stay-night-details>summary {display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;font-size:14px;font-weight:600}
.stay-plan-details>summary::-webkit-details-marker,.stay-night-details>summary::-webkit-details-marker {display:none}
.stay-plan-details>summary::marker,.stay-night-details>summary::marker {content:''}
.stay-plan-details>summary:focus-visible,.stay-night-details>summary:focus-visible {border-radius:5px;outline-offset:2px}
.accordion summary .disclosure-icon,.accordion details[open] summary .disclosure-icon {transform:none}
.nav-group>summary::after {content:none}
.nav-group>summary .outline-icon {width:13px;height:13px}
.nav-group[open]>summary .outline-icon {transform:rotate(180deg)}
.home-intro-stack-controls button {display:grid;place-items:center}
.home-intro-stack-controls button:hover {transform:none}
.home-intro-stack-controls .outline-icon {width:25px;height:25px}
@media(min-width:900px){
  .stay-list-editorial .stay-list-card {display:grid;grid-template-columns:1.16fr 1fr}
  .stay-list-editorial .stay-list-photo {aspect-ratio:auto;min-height:385px}
  .stay-list-editorial .stay-list-card:nth-child(even) {grid-template-columns:1fr 1.16fr}
  .stay-list-editorial .stay-list-card:nth-child(even) .stay-list-photo {grid-column:2;grid-row:1}
  .stay-list-editorial .stay-list-card:nth-child(even) .stay-list-copy {grid-column:1;grid-row:1}
}
@media(max-width:540px){
  .stay-list-head h2 {font-size:clamp(27px,7vw,35px)}
  .stay-list-photo {aspect-ratio:4/3}
  .stay-list-copy {padding:21px}
}
.resort-film {position:relative;display:grid;grid-template-columns:1.08fr 1fr;align-items:stretch;min-height:clamp(330px,34vw,450px);width:min(1180px,calc(100% - 40px));margin:8px auto clamp(32px,5vw,68px);padding:0;border-radius:14px;overflow:hidden;background:#2c221a;color:#fff7eb}
.resort-film-copy {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(18px,3vw,33px);padding:clamp(30px,5.5vw,80px);min-width:0}
.resort-film h2 {margin:0;max-width:12ch;font:400 clamp(39px,6.3vw,84px)/.96 var(--serif);letter-spacing:-.03em;text-wrap:balance;color:inherit}
.resort-film-cover {position:relative;min-width:0;background:#433327;overflow:hidden}
.resort-film-cover img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.resort-film-play {display:inline-flex;align-items:center;gap:11px;min-height:48px;padding:5px 15px 5px 5px;border:1px solid #a59a8e;border-radius:9px;background:transparent;color:#fff7eb;font:600 14px var(--sans);cursor:pointer}
.resort-film-play:hover {background:#4b382b}
.resort-film-play:focus-visible {outline-color:#fff7eb}
.resort-film-play-icon {display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#fff7eb;color:#3c2d23}
.resort-film-play .outline-icon {width:21px;height:21px}
.resort-film-dialog {width:min(510px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:14px;border:1px solid #d5c6b6;border-radius:16px;background:var(--paper);color:var(--ink);overflow:auto}
.resort-film-dialog::backdrop {background:#18120edb}
.resort-film-dialog-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.resort-film-dialog-head h2 {margin:0;font:400 clamp(25px,4.8vw,37px)/1.05 var(--serif)}
.resort-film-close {flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}
.resort-film-dialog video {display:block;width:100%;max-height:calc(100dvh - 108px);border-radius:8px;background:#201914}
.resort-film-status {margin:6px 0 0;font-size:13px}
.resort-film-status:empty {display:none}
@media(max-width:760px){
  .inner-page .hero-inner {min-height:clamp(245px,37svh,305px)}
  .inner-page .hero-inner .hero-content {padding:105px 0 20px}
  .inner-page .hero-inner h1 {font-size:clamp(35px,9vw,55px)}
  .booking-page .hero-inner {min-height:180px}
  .booking-page .stay-booking-layout {padding-top:14px}
  .home-quick-book {grid-template-columns:minmax(0,1fr)}
  .stay-price-tools {justify-content:flex-start}
  .resort-film {grid-template-columns:1fr;min-height:0;width:min(600px,calc(100% - 36px))}
  .resort-film-cover {grid-row:1;aspect-ratio:1.38}
  .resort-film-copy {gap:17px;padding:23px 22px 25px}
  .resort-film h2 {max-width:15ch}
}
@media(max-width:540px){
  .home-quick-book {gap:15px;padding:19px 16px}
  .home-quick-book > button[type=submit] {margin-top:0}
}
@media(max-width:360px){
  .home-quick-book {width:calc(100% + 20px);margin-inline:-10px;padding-inline:12px}
}
