/* Warm surfaces, readable copy, and a single coherent booking flow. */
.north-site{--cream:#f7f4ee;--cream-deep:#eee8de;--ink:#243b36;--muted:#52625b;--muted-light:#52625b;--copper:#836449;--copper-light:#d6c4a4}
.north-site p{font-weight:400}
.north-site .north-destinations{padding-bottom:55px}
.north-site .north-destination-grid{gap:24px}
.north-site .north-destination{aspect-ratio:4/5;border-radius:3px}
.north-site .north-destination:nth-child(2){margin:0}
.north-site .north-destination:first-child img{object-position:48% center}
.north-site .north-destination img{filter:saturate(.88)}
.north-site .north-destination:after{background:linear-gradient(180deg,transparent 45%,rgba(13,33,28,.86) 100%)}
.north-site .north-destination small{color:#fff5e6;font-size:13px;letter-spacing:.02em}
.north-site .north-destination h3{color:#fffaf1;font-weight:400}
.north-site .north-destination-heading>p{color:#e2e6db}
.north-site .north-destination-footer{margin-top:35px;color:#e2e6db}
.north-home .north-about{padding:100px 6%;gap:7%;grid-template-columns:1fr 1fr;align-items:center;background:#eee8de;min-height:0}
.north-home .north-about .split-text.bg-dark{padding:20px 0;background:transparent}
.north-home .north-about .sec-heading{max-width:540px;font-size:clamp(40px,4.2vw,64px);line-height:1.08}
.north-home .north-about .split-text p{color:#43564e;max-width:510px;font-weight:400}
.north-home .north-about .split-img{aspect-ratio:4/5;max-height:650px;overflow:hidden;border-radius:3px}
.north-home .split-section>*{min-width:0}
.north-home .north-about .split-img{width:100%;height:auto;min-width:0}
.north-home .north-about .split-img img{width:100%;height:100%;object-fit:cover}
.north-home .north-about .split-cta{display:inline-flex;min-height:48px;align-items:center;border-bottom:1px solid #8e826e;color:#243b36;margin-top:28px}
/* Booking card: one warm surface instead of nested dark boxes. */
.north-inner .booking-card{background:#fbf8f2;color:#263c36;padding:28px;border:1px solid #d8d3c7;border-radius:5px;box-shadow:0 18px 48px #25392d0c}
.north-inner .booking-card .b-top{background:none;border-bottom:1px solid #d8d3c7;padding:0 0 24px;margin-bottom:22px}
.north-inner .booking-card .b-price{color:#243b36;font-size:40px;font-weight:400}
.north-inner .booking-card :is(.b-price-unit,.b-feat,.b-guests-label,.b-date-label,.b-breakdown-row,.b-note){color:#52625b}
.north-inner .booking-card .b-dates{gap:0;border:1px solid #aaa99a;border-radius:3px;overflow:hidden}
.north-inner .booking-card .b-date-field{background:#f4efe6;border:0;padding:15px 12px;min-width:0}
.north-inner .booking-card .b-date-field+ .b-date-field{border-left:1px solid #c9c5b8}
.north-inner .booking-card .b-date-display{border:0;padding:5px 0 0;color:#243b36;font-size:14px}
.north-inner .booking-card :is(.b-guests-field,.b-breakdown){background:transparent;color:#243b36;border-color:#d8d3c7}
.north-inner .booking-card :is(.b-guests-num,.b-breakdown-total){color:#243b36}
.north-inner .booking-card .b-guests-btn{background:transparent;border:1px solid #b9b8aa;color:#243b36;width:38px;height:38px}
.north-inner .booking-card :is(.btn-stripe,.b-book-btn){background:#25473b;color:#fffaf2;border-color:#25473b;min-height:50px}
.north-inner .booking-card .b-breakdown-divider{border-color:#d8d3c7}
.north-calendar-open{overflow:hidden}
.north-calendar-dialog{box-sizing:border-box;border:1px solid #d7d0c3;border-radius:10px;padding:0;width:min(820px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:auto;background:#fbf8f1;color:#263c36;box-shadow:0 30px 100px #071d2866;overscroll-behavior:contain}
.north-calendar-dialog::backdrop{background:rgba(13,32,29,.52);backdrop-filter:blur(5px)}
.north-calendar-dialog #cal-panel{margin:0;padding:28px;background:#fbf8f1;border:0;position:static;width:100%;box-sizing:border-box}
.north-calendar-dialog #search-cal-panel{margin:0;padding:28px;background:#fbf8f1;border:0;position:static;width:100%;box-sizing:border-box;max-width:none;box-shadow:none}
.north-calendar-dialog .cal-summary{border-bottom:1px solid #ddd5c7;padding-bottom:18px;margin-bottom:20px;min-height:70px}
.north-calendar-dialog .cal-summary-nights{font-size:30px;font-weight:400;color:#243b36;line-height:1.2}
.north-calendar-dialog .cal-summary-range{font-size:14px;color:#52625b;min-height:20px;margin-top:7px}
.north-calendar-dialog .cal-header{gap:14px;margin-bottom:18px}
.north-calendar-dialog .cal-nav{width:44px;height:44px;border:1px solid #c9c5b8;color:#243b36;font-size:24px;border-radius:50%;background:transparent}
.north-calendar-dialog .cal-months-label{gap:16px}
.north-calendar-dialog .cal-months-label span{font:400 19px var(--sans);color:#263c36}
.north-calendar-dialog .cal-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.north-calendar-dialog .cal-month-col{min-width:0}
.north-calendar-dialog .cal-month-col-2{display:block}
.north-calendar-dialog .cal-weekdays{font-size:12px;color:#52625b;margin-bottom:10px}
.north-calendar-dialog .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.north-calendar-dialog .cal-day{width:100%;min-width:0;aspect-ratio:1;min-height:42px;font-size:15px;background:transparent;color:#243b36;border-radius:5px;font-weight:400;opacity:1}
.north-calendar-dialog .cal-day-price{font-size:10px;color:#59675e}
.north-calendar-dialog .cal-day.cal-past,.north-calendar-dialog .cal-day.cal-unavail{color:#a09e95;opacity:1;text-decoration:line-through}
.north-calendar-dialog .cal-day.cal-loading{opacity:.45}
.north-calendar-dialog .cal-day.cal-avail:hover{border-color:#836449;background:#eee8de}
.north-calendar-dialog .cal-day.cal-in-range{background:#e6e9df}
.north-calendar-dialog .cal-day.cal-selected{background:#25473b;color:#fff;border-color:#25473b}
.north-calendar-dialog .cal-day.cal-selected .cal-day-price{color:#f7f3e9}
.north-calendar-dialog .cal-legend{font-size:12px;color:#52625b;margin:22px 0 0}
.north-calendar-dialog .cal-footer{position:sticky;bottom:-28px;background:#fbf8f1;padding:18px 0 6px;border-top:1px solid #ddd5c7;margin-top:22px;z-index:1}
.north-calendar-dialog .cal-clear{color:#344f45;font-size:14px;min-height:46px}
.north-calendar-dialog .cal-close{background:#25473b;color:#fffaf2;font-size:14px;padding:14px 24px;border-radius:3px;min-height:46px}
.north-calendar-dialog :focus-visible{outline:2px solid #836449;outline-offset:2px}
.north-site .north-calendar-dialog button.cal-day.cal-selected,.north-site .north-calendar-dialog button.cal-day.cal-selected:hover{background:#25473b;color:#fff}
.north-site .north-calendar-dialog button.cal-day.cal-in-range{background:#e6e9df}
.north-site .north-calendar-dialog button.cal-day.cal-past,.north-site .north-calendar-dialog button.cal-day.cal-unavail{opacity:1;color:#92958b}
.north-inner .booking-card .b-terms a{color:#6e5138;text-decoration:underline;text-underline-offset:3px}
.north-inner .booking-card .b-direct-save{color:#6e5138;background:#f1e9dc;border-color:#d9cbb7}
.north-inner .booking-card .b-breakdown-total span:last-child{color:#243b36;font-size:23px;font-weight:500}
.north-inner .booking-card .b-breakdown-saving{color:#3f6750;background:#e9eee3}
/* Related stays: actual property photography, visible names, a calm grid. */
.north-inner .other-section{background:#f7f4ee;padding:80px 5%;border-top:1px solid #d8d3c7}
.north-inner .other-section :is(h2,.section-label,.other-link){color:#243b36}
.north-inner .other-section .props-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;border:0}
.north-inner .other-section .props-grid{max-width:1280px;margin:auto}
.north-inner .other-section .prop-card{background:transparent;border:0;display:flex;flex-direction:column;min-width:0}
.north-inner .other-section .prop-img{height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:3px}
.north-inner .other-section .prop-img img{width:100%;height:100%;object-fit:cover}
.north-inner .other-section .prop-body{padding:20px 0 0;display:flex;flex-direction:column;flex:1;background:transparent}
.north-inner .other-section .prop-name{color:#243b36;font-size:32px;line-height:1.2;font-weight:400;margin-bottom:10px}
.north-inner .other-section .prop-desc{font-size:15px;font-weight:400;color:#52625b;line-height:1.7;margin-bottom:18px}
.north-inner .other-section .prop-foot{margin-top:auto;border-top:1px solid #d8d3c7;padding-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.north-inner .other-section .prop-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#52625b;font-size:13px}
.north-inner .other-section .prop-price{color:#243b36;font:400 17px var(--sans)}
.north-inner .other-section .prop-price-unit{font-size:13px;color:#52625b}
.north-inner .other-section .prop-tags{top:16px;left:16px;gap:6px}
.north-inner .other-section .ptag,.north-inner .other-section .ptag.hot{background:#fbf8f1ec;color:#34493e;font:500 10px var(--sans);padding:7px 10px;letter-spacing:.04em}
/* Honest review links, deliberately composed rather than an empty quote wall. */
.north-site .north-reviews{background:#f7f4ee;padding:65px 6%;border-top:1px solid #d8d3c7;border-bottom:1px solid #d8d3c7}
.north-site .north-reviews-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.north-site .north-reviews h2{font:400 clamp(36px,3.8vw,54px)/1.08 var(--serif);color:#243b36;margin:12px 0 18px}
.north-site .north-reviews p{font-size:15px;line-height:1.8;color:#52625b;max-width:480px}
.north-site .north-review-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.north-site .north-review-link{border:1px solid #d3cec2;padding:24px;background:#fdfbf6;text-decoration:none;color:#243b36;border-radius:3px;transition:background .2s,border-color .2s;display:flex;flex-direction:column;gap:12px}
.north-site .north-review-link:hover{background:#ede8dd;border-color:#918571}
.north-site .north-review-link strong{font-size:20px;font-weight:500}
.north-site .north-review-link span{font-size:13px;color:#52625b;line-height:1.5}
.north-site .north-review-link b{font-size:14px;font-weight:400;margin-top:12px}
/* Direct booking is a quiet, useful closing section. */
.north-inner .why-direct{background:#eae4d8;padding:80px 6%;border:0}
.north-inner .why-inner{max-width:1320px;display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center;margin:auto}
.north-inner .why-left h2{font:400 clamp(38px,4.2vw,58px)/1.07 var(--serif);color:#243b36;max-width:540px;margin:15px 0 22px}
.north-inner .why-left p{font-size:16px;line-height:1.8;color:#43564e;font-weight:400}
.north-inner .why-left .section-label{font-size:12px;color:#73583f}
.north-inner .why-cta{display:inline-flex;align-items:center;min-height:52px;background:#25473b;color:#fff8ed;padding:15px 24px;font-size:14px;letter-spacing:0;text-transform:none;margin-top:28px;border:1px solid #25473b;border-radius:3px}
.north-inner .why-items{display:block;border-top:1px solid #c9c2b4}
.north-inner .why-item{display:flex;gap:22px;background:none;border:0;border-bottom:1px solid #c9c2b4;padding:24px 0;margin:0}
.north-inner .why-item-icon{font:400 18px var(--serif);color:#73583f;min-width:26px;margin-top:3px}
.north-inner .why-item-title{font-size:18px;font-weight:500;color:#243b36;margin-bottom:7px}
.north-inner .why-item-text{font-size:15px;line-height:1.75;color:#43564e;font-weight:400}
@media(max-width:1000px){.north-inner .other-section .props-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.north-inner .why-inner{gap:45px}.north-site .north-reviews-inner{gap:32px}.north-site .north-review-links{gap:10px}.north-site .north-review-link{padding:20px}}
@media(max-width:699px){.north-calendar-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:8px}.north-calendar-dialog #cal-panel{padding:18px}.north-calendar-dialog .cal-months{grid-template-columns:minmax(0,1fr)}.north-calendar-dialog .cal-month-col-2,.north-calendar-dialog #cal-month-label-1{display:none}.north-calendar-dialog .cal-day{min-height:40px;max-height:58px}.north-calendar-dialog .cal-footer{bottom:-18px}.north-calendar-dialog .cal-summary{min-height:64px}.north-calendar-dialog .cal-summary-nights{font-size:28px}.north-calendar-dialog .cal-months-label span{font-size:17px}.north-home .north-about{grid-template-columns:1fr;padding:60px 5%;gap:32px}.north-home .north-about .split-img{aspect-ratio:5/4;max-height:none}.north-home .north-about .split-text{padding:0}.north-site .north-reviews{padding:45px 5%}.north-site .north-reviews-inner{grid-template-columns:1fr;gap:25px}.north-site .north-review-link{padding:20px 16px}.north-inner .why-direct{padding:55px 5%}.north-inner .why-inner{grid-template-columns:1fr;gap:34px}.north-inner .other-section{padding:55px 5%}.north-inner .other-section .props-grid{grid-template-columns:1fr;gap:32px}.north-inner .other-section .prop-foot{flex-direction:row;flex-wrap:wrap;justify-content:space-between}.north-inner .booking-card{padding:22px}.north-site .north-destination-grid{gap:18px}}
@media(prefers-reduced-motion:reduce){.north-site .north-destination img{transition:none}}
@media(max-width:699px){.north-calendar-dialog #search-cal-panel{padding:18px}.north-calendar-dialog #search-cal-month-label-1{display:none}}

/* Final details: steady spacing, readable footer, and consistent forms. */
.north-site :is(.north-button,.nav-cta,.why-cta,.email-submit,.split-cta,.see-all-link){text-underline-offset:4px}
.north-site :is(.north-button,.nav-cta,.why-cta,.email-submit){border-radius:3px}
.north-home .north-activity-grid>div{display:flex;flex-direction:column;align-items:flex-start}
.north-home .north-activity-grid>div>a{margin-top:auto;padding:12px 0 6px;min-height:44px}
.north-home .north-activity-grid>div>p:nth-child(2){font-size:12px!important;letter-spacing:.12em!important;margin-bottom:16px!important}
.north-home .north-activity-grid .north-activity-number{font:400 23px var(--serif)!important;color:#7a674f;margin-bottom:20px!important}
.north-home .north-owners>div>div:last-child>div{padding:22px 0!important}
.north-home .north-owners>div>div:last-child>div p:first-child{font-size:12px!important;letter-spacing:.1em!important;margin-bottom:10px!important}
.north-site .email-section{background:#193b34;color:#fff8ec}
.north-site .email-section :is(h2,.sec-heading){color:#fff8ec}
.north-site .email-section .email-left>p{color:#dbe2d5;font-size:16px;line-height:1.8}
.north-site .email-section .email-left>:is(.sec-label,.section-label){color:#dac8ab;font-size:12px}
.north-site .email-form{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.north-site .email-form :is(input:not([type="checkbox"]),select){box-sizing:border-box;min-width:0;width:100%;min-height:52px;font-size:16px;background:#ffffff08;color:#fff8ec;border:1px solid #9fae9c;border-radius:3px;padding:14px 16px;margin:0}
.north-site .email-form input::placeholder{color:#c9d3c5;opacity:1}
.north-site .email-form select option{background:#f7f4ee;color:#243b36}
.north-site .email-form .north-field-label{color:#e2e7dc;margin-top:10px;font-size:13px}
.north-site .email-form>label:has(input[type="checkbox"]){color:#e2e7dc!important;font-size:13px!important;line-height:1.7!important;margin-top:12px}
.north-site .email-form label a{color:#fff0d5!important;text-underline-offset:3px}
.north-site .email-submit{width:100%;background:#f1e9d8;color:#243b36;min-height:54px;padding:15px 20px;font-size:14px;margin:12px 0 0;text-transform:none;letter-spacing:.01em}
.north-site .email-submit:hover{background:#fff8ec}
.north-site .email-legal{color:#d1dbcc;font-size:12px;line-height:1.7;margin-top:12px}
.north-site .contact-section{background:#f7f4ee;color:#243b36}
.north-site .contact-section h2{font:400 clamp(38px,4.1vw,60px)/1.1 var(--serif);color:#243b36;letter-spacing:-.02em}
.north-site .contact-item{grid-template-columns:100px minmax(0,1fr);gap:24px;padding:18px 0;border-color:#d4d3c7;align-items:center}
.north-site .contact-label{color:#607063;font-size:12px;letter-spacing:.09em}
.north-site .contact-value{font:400 15px/1.65 var(--sans);color:#344a40;overflow-wrap:anywhere;min-width:0}
.north-site .contact-value a{color:#344a40;display:inline-block;padding:6px 0;text-underline-offset:4px;border:0}
.north-site .contact-value a:hover{color:#7a593c}
.north-site footer .f-logo-main{color:#fff5e5;font-weight:400}
.north-site footer :is(.f-logo-sub,.f-orgnr,.f-tagline){color:#cbd4c5;opacity:1}
.north-site footer .f-tagline{max-width:300px;line-height:1.8}
.north-site footer .f-col h4{color:#e8d9bf;letter-spacing:.1em;margin-bottom:18px}
.north-site footer .f-col a{color:#e0e6d8;line-height:1.55;padding:5px 0;margin-bottom:3px;text-underline-offset:4px}
.north-site footer .f-col a:hover{text-decoration:underline;color:#fff8ec}
.north-site footer .f-col>p{color:#cbd4c5!important;line-height:1.8!important}
.north-site footer .f-col>div>span{color:#d1dacb!important;border-color:#8a9d8766!important;font-size:11px!important}
.north-site footer .f-col .north-footer-book{display:inline-flex;align-items:center;border:1px solid #bbc6ae;padding:11px 14px;border-radius:3px;margin:0 0 14px;color:#fff5e5;font-size:13px}
.north-site footer .f-col .north-footer-book:hover{background:#eae4d8;color:#243b36;text-decoration:none}
.north-site .footer-bottom,.north-site .footer-bottom-left{color:#cbd4c5}
.north-site .footer-legal-btn{color:#e0e6d8;border-color:#81927e}
.north-site footer>*,.north-site .contact-inner>*,.north-site .email-inner>*{min-width:0}
.north-faq-page .page-header{padding:145px 6% 65px;background:#eee8de}
.north-faq-page .page-header-inner{align-items:center;gap:8%;max-width:1280px;margin:auto}
.north-faq-page .page-title{font:400 clamp(40px,4.8vw,68px)/1.06 var(--serif);color:#243b36;letter-spacing:-.025em;margin-top:18px}
.north-faq-page .header-right p{font-size:16px;line-height:1.8;color:#43564e;max-width:450px}
.north-faq-page .faq-wrap{max-width:1120px;padding-top:45px}
.north-faq-page .filter-row{gap:8px;padding-bottom:26px;margin-bottom:20px;flex-wrap:wrap}
.north-faq-page .filter-btn{border:1px solid #c6c5b7;border-radius:3px;background:transparent;color:#344a40;font-size:13px;letter-spacing:0;text-transform:none;min-height:44px;padding:10px 17px}
.north-faq-page .filter-btn.active{background:#25473b;color:#fff8ec;border-color:#25473b}
.north-faq-page .faq-q{padding:24px 0;gap:22px;align-items:center}
.north-faq-page .faq-q-text{font:400 24px/1.3 var(--serif);color:#243b36}
.north-faq-page .faq-cat-pill{font-size:10px;color:#607063;border:0;background:#e9e7de;padding:6px 9px;border-radius:3px}
.north-faq-page .faq-icon{color:#73583f;font-size:22px}
.north-faq-page .faq-a p{font-size:16px;line-height:1.85;color:#43564e}
.north-faq-page .faq-cta .cta-body p,.north-faq-page .faq-cta .c-lbl{color:#d3ddca}
@media(max-width:699px){.north-site .contact-item{grid-template-columns:1fr;gap:3px;padding:17px 0}.north-site .contact-value{font-size:16px}.north-site .contact-section h2{font-size:40px}.north-site .contact-items{gap:0}.north-site footer .f-col a{padding:9px 0}.north-site footer .f-brand{padding-bottom:15px}.north-site footer .north-footer-book{font-size:12px!important;padding:10px!important}.north-faq-page .page-header{padding:110px 6% 40px}.north-faq-page .page-header-inner{gap:24px}.north-faq-page .page-title{font-size:44px}.north-faq-page .faq-wrap{padding:30px 6% 45px}.north-faq-page .faq-q{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:22px 0}.north-faq-page .faq-cat-pill{display:none}.north-faq-page .faq-q-text{font-size:23px}.north-faq-page .faq-a{padding-left:0}.north-faq-page .filter-btn{padding:10px 13px}.north-site .email-section{padding-top:60px;padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.north-site *{scroll-behavior:auto!important}.north-site :is(.prop-card,.prop-img img,.split-img img,.north-button){transition:none!important;transform:none!important}}
.north-site .north-reviews-inner>*,.north-site .north-review-link{min-width:0}
.north-site .north-review-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.north-site .north-activities h3{overflow-wrap:anywhere}
@media(max-width:380px){.north-site .north-scene-controls{gap:10px}.north-site .north-scene-tab>span{font-size:14px}}
@media(max-width:380px){.north-site nav.north-header{padding-left:12px;padding-right:12px;gap:7px}.north-site .north-wordmark{font-size:9px;max-width:65px}.north-site .nav-logo{gap:5px}.north-site .nav-right{gap:6px;min-width:0}.north-site .nav-cta{font-size:10px;padding:10px;max-width:106px;white-space:normal;line-height:1.3;text-align:center}.north-site .north-menu-toggle{flex-shrink:0}.north-site .north-review-links{grid-template-columns:minmax(0,1fr)}.north-site .north-review-link{padding:19px}.north-site .north-review-link b{margin-top:0}}

/* Direct booking: readable stay totals and a reachable mobile booking panel. */
.search-card .prop-foot>div[style]{flex-wrap:wrap;max-width:100%;}
.search-card .search-live-price{font-size:.8rem;line-height:1.55;max-width:240px;white-space:normal;}
.north-mobile-book{display:none;}
#book{scroll-margin-top:100px;}
#price-status{line-height:1.5;}
@media(max-width:768px){
 body:has(.north-mobile-book){padding-bottom:90px;}
 .north-mobile-book{display:flex;position:fixed;z-index:90;bottom:0;left:0;right:0;justify-content:center;align-items:center;min-height:60px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#243b36;color:#fffaf1;text-decoration:none;font:600 15px var(--sans);box-shadow:0 -3px 18px #0002;}
 .north-calendar-open .north-mobile-book{display:none;}
 .search-card .prop-foot{flex-wrap:wrap;gap:10px;}
}
