/* A quieter mobile introduction and one calendar for the whole stay. */
.menu-toggle{display:none}
.mobile-menu{border:0;background:var(--paper);color:var(--ink);padding:24px;width:min(420px,calc(100% - 32px));max-height:90svh}
.mobile-menu::backdrop,.date-dialog::backdrop{background:#101a18b3;backdrop-filter:blur(4px)}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}
.menu-close,.date-close{border:0;background:transparent;color:inherit;width:44px;height:44px;font:30px var(--sans);cursor:pointer}
.mobile-menu nav{display:flex;flex-direction:column;margin-top:15px}
.mobile-menu nav a{font:28px/1.3 var(--serif);padding:13px 0;border-bottom:1px solid var(--line)}
.mobile-menu nav .menu-inquire{font:16px var(--sans);padding:18px;background:var(--ink);color:var(--paper);margin-top:20px;text-align:center}
.horizon-list>div{grid-template-columns:.9fr 1fr;gap:36px}
.residence-copy h2{font-size:clamp(42px,4.2vw,66px)}
.film-copy .play-film{font:inherit;line-height:1.1;letter-spacing:inherit;color:inherit;text-align:left;border:0;background:none;padding:0;cursor:pointer}
.film-copy .play-film span{display:block;font:40px var(--sans);margin-top:24px}
.stay-field{margin-bottom:25px}
.stay-field>span{display:block;font-size:14px;margin-bottom:8px}
.stay-dates{width:100%;min-height:52px;border:0;border-bottom:1px solid #afb5a6;background:transparent;color:var(--ink);padding:10px 0;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-size:16px}
.stay-dates svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.stay-dates[aria-invalid=true]{border-color:#8b302c}
.stay-nights{font-size:13px;color:#646d61;margin:6px 0 0;min-height:0}
.stay-nights:empty{display:none}
.date-dialog{border:0;padding:28px;width:min(730px,calc(100% - 32px));max-height:92svh;overflow-y:auto;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #101a1866}
.date-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.date-heading h2{font:40px/1.1 var(--serif);margin:0}
.date-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.date-summary button{padding:12px 16px;border:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.date-summary button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 -2px var(--ink)}
.date-summary span{display:block;font-size:12px;color:#626b5f;margin-bottom:4px}
.date-summary strong{font-size:16px;font-weight:400}
.date-guidance{font-size:14px;margin:18px 0 10px;min-height:23px}
.calendar-navigation{display:flex;justify-content:space-between;margin-bottom:-44px;position:relative;z-index:1;pointer-events:none}
.calendar-navigation button{width:44px;height:44px;background:transparent;border:0;color:var(--ink);font-size:23px;cursor:pointer;pointer-events:auto}
.calendar-navigation button:disabled{opacity:.2;cursor:default}
.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.calendar-month h3{font:18px/44px var(--sans);margin:0 40px 8px;text-align:center;white-space:nowrap}
.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.calendar-weekdays span{font-size:12px;padding:10px 0;color:#65705f}
.calendar-grid button{width:100%;height:44px;border:0;background:transparent;color:var(--ink);font-size:14px;cursor:pointer;padding:0;border-radius:0}
.calendar-grid button:hover:not(:disabled){background:#dedfd4}
.calendar-grid button:disabled{color:#b7b9b0;cursor:default}
.calendar-grid button.today{text-decoration:underline;text-underline-offset:4px}
.calendar-grid button.in-range{background:#e1e5d9}
.calendar-grid button.range-start,.calendar-grid button.range-end,.calendar-grid button.range-start:hover,.calendar-grid button.range-end:hover{background:var(--ink);color:white}
.calendar-grid button.range-start{border-radius:50% 0 0 50%}
.calendar-grid button.range-end{border-radius:0 50% 50% 0}
.calendar-grid button:focus-visible{position:relative;z-index:2;outline:2px solid #a08043;outline-offset:-3px}
.date-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.date-actions>button:first-child{border:0;border-bottom:1px solid currentColor;background:none;padding:8px 0;font-size:14px;color:var(--ink);cursor:pointer}
.date-actions .button{min-width:0;font-size:14px;min-height:48px;padding:12px 24px}
@media(max-width:760px){
 .header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border:0;gap:12px}
 .header .brand>span{font-size:19px;letter-spacing:.09em}
 .header .brand small{display:none}
 .header nav,.header>.nav-cta{display:none}
 .menu-toggle{display:flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;background:none;color:white;font:14px var(--sans);cursor:pointer}
 .menu-toggle span{font-size:18px}
 .hero{height:92svh;min-height:620px;max-height:none;display:flex;align-items:flex-end}
 .hero-copy{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:155px 24px 54px;max-width:600px}
 .hero-image{object-position:56% 50%}
 .hero-shade{background:linear-gradient(180deg,#101b2640 0%,#101b260d 28%,#101b2677 48%,#101b26c9 100%)}
 .hero-copy .eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.5;margin:0 0 23px;max-width:none}
 .hero-endorsement h1{font-size:clamp(49px,12.4vw,66px);line-height:1.02;margin-bottom:18px;letter-spacing:-.025em}
 .hero-endorsement .quote-attribution{margin:0 0 0 4px;gap:10px;align-items:center}
 .quote-attribution>span{width:22px}
 .quote-attribution cite{font:17px/1.4 var(--sans);letter-spacing:0;white-space:nowrap}
 .hero-copy .button.light{margin-top:30px;min-height:52px;padding:13px 19px;font-size:15px;gap:25px;width:auto}
 .hero-location{font-size:15px;line-height:1.6;max-width:300px;margin:15px 0 0}
 .hero-bottom{display:none}
 .section{padding:54px 24px}
 .section .eyebrow{font-size:11px;margin-bottom:18px}
 h2,.residence-copy h2,.location h2,.inquiry-copy h2{font-size:clamp(36px,9vw,46px);line-height:1.08}
 .residence{padding-top:8px}
 .residence-copy p:not(.eyebrow){max-width:none}
 .intro-bottom .large-copy{font-size:18px;line-height:1.65}
 .terrace-feature figcaption>span:last-child{display:none}
 .collection-heading h3{font-size:28px}
 .collection-heading p{display:none}
 .gallery .inline-heading>p{font-size:13px;margin-top:16px}
 .gallery .inline-heading>p br{display:none}
 .gallery-jump-links{flex-wrap:nowrap;overflow-x:auto;gap:20px;margin-bottom:30px;padding:15px 0;scrollbar-width:thin}
 .gallery-jump-links a{font-size:14px;white-space:nowrap;min-height:32px}
 .collection-grid .gallery-item>span{font-size:13px}
 .collection-grid .gallery-item>span b{display:none}
 .amenity-grid li{font-size:15px;padding:16px 0 16px 20px}
 .amenity-grid li small{font-size:13px}
 .amenity-shabbat .shabbat-details h4{font-size:25px}
 .shabbat-details p{font-size:16px}
 .horizon-list>div{display:block;padding:23px 0}
 .horizon-list h3{font-size:28px;margin-bottom:12px}
 .horizon-list p{font-size:16px}
 .film{padding:44px 24px;gap:28px}
 .film-copy{grid-row:1}
 .film-copy h2{font-size:38px;max-width:310px}
 .film-copy .play-film span{display:inline;font-size:25px;margin:0 0 0 8px}
 .film-frame{max-width:310px}
 .inquiry-form .field-pair{grid-template-columns:1fr;gap:0}
 .inquiry-form label,.stay-field>span{font-size:14px}
 .inquiry-form .optional{float:none;margin-left:6px}
 .inquiry-form .form-privacy,.form-note{font-size:13px}
 .date-dialog{width:calc(100% - 24px);max-width:420px;padding:20px;max-height:92svh}
 .date-heading h2{font-size:34px}
 .date-summary{gap:10px}
 .date-summary button{padding:10px}
 .date-summary strong{font-size:14px}
 .calendar-months{grid-template-columns:1fr;gap:0}
 .calendar-month:nth-child(2){display:none}
 .calendar-month h3{font-size:17px}
 .calendar-grid button{height:44px;font-size:15px}
 .date-actions{gap:15px;margin-top:18px;padding-top:16px}
 .date-actions .button{padding:12px 16px}
}
@media(max-width:360px){.header{padding:18px 20px}.header .brand>span{font-size:17px}.hero-copy{padding-left:20px;padding-right:20px}.hero-endorsement h1{font-size:47px}.quote-attribution cite{font-size:15px}.hero{min-height:610px}.section{padding-left:20px;padding-right:20px}.date-dialog{padding:16px}.calendar-grid button{height:42px}}
