:root{font-family:DM Sans,Arial,sans-serif;color:#243536;background:#f6f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.topbar{min-height:76px;padding:20px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:#fbfaf6;border-bottom:1px solid #e6e6de}.brand{font-weight:700;letter-spacing:.13em;font-size:1.08rem}.brand-mark{color:#b98663;margin-left:6px}.topbar nav{display:flex;gap:28px;font-size:.9rem}.topbar nav a:hover,.text-link:hover{text-decoration:underline}main{min-height:calc(100vh - 150px)}footer{padding:30px clamp(24px,5vw,80px);color:#73817d;font-size:.8rem;border-top:1px solid #e5e8e1}.eyebrow{color:#a16c4a;font-size:.75rem;letter-spacing:.2em;font-weight:700}.hero{padding:clamp(70px,10vw,150px) clamp(24px,9vw,150px);background:#e8ece5;min-height:570px}.hero h1,.page-intro h1,.booking-hero h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.7rem,5.6vw,5.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.08;max-width:900px;margin:24px 0}.hero p,.page-intro p,.booking-hero p{font-size:1.05rem;color:#667570;line-height:1.7;max-width:610px}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:48px;padding:12px 20px;border:1px solid #253e3b;background:#253e3b;color:#fff;font-weight:600;border-radius:3px}.button span{font-size:1.2rem}.button:hover{background:#385a53}.button:disabled{opacity:.55;cursor:not-allowed}.text-link{font-weight:600}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:60px clamp(24px,9vw,150px)}.steps article{border-top:1px solid #c8d2cb;padding-top:20px}.steps article>span{color:#a16c4a;font-size:.8rem;letter-spacing:.14em}.steps h2{font-family:Playfair Display,Georgia,serif;font-size:1.7rem;font-weight:500}.steps p,.muted{color:#77837f}.page-intro,.booking-hero{padding:65px clamp(24px,9vw,150px) 35px}.page-intro h1,.booking-hero h1{font-size:clamp(2.5rem,4vw,4.2rem);margin:15px 0}.form-layout{padding:0 clamp(24px,9vw,150px) 80px;display:grid;grid-template-columns:minmax(300px,560px) 1fr;gap:80px}.panel{background:#fff;border:1px solid #e5e7df;border-radius:5px;box-shadow:0 10px 35px #31443b08}.form-panel,.reservation-panel,.progress-panel{padding:32px}.form-panel h2,.reservation-panel h2,.progress-panel h2,.property-card h2{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:1.65rem;margin:0 0 28px}.form-panel label,.reservation-panel label{display:block;margin:0 0 18px;font-size:.82rem;font-weight:700;color:#4e615b}.form-panel input,.reservation-panel input{display:block;width:100%;height:44px;margin-top:8px;padding:0 12px;border:1px solid #cdd6cf;border-radius:3px;background:#fff;color:#243536}.form-panel input:focus,.reservation-panel input:focus{outline:2px solid #a2bcb1}.form-panel small{display:block;margin-top:5px;color:#7e8c86;font-weight:400}.form-panel .button,.reservation-panel .button{width:100%;margin-top:12px}.form-panel .muted{font-size:.82rem;margin-top:20px}.form-panel .muted a{text-decoration:underline}.aside-note{padding:32px 0;max-width:320px}.big-number{font-family:Playfair Display,Georgia,serif;font-size:3rem;color:#ba9072}.aside-note h3{font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:500}.aside-note p{line-height:1.7;color:#70817a}.alert,.success{padding:12px 15px;border-radius:3px;font-size:.9rem}.alert{color:#863d35;background:#fae9e6}.success{color:#245c43;background:#e5f2e8}.host-grid{padding:0 clamp(24px,9vw,150px) 80px;display:grid;grid-template-columns:minmax(220px,280px) minmax(320px,700px);gap:24px;align-items:start}.progress-panel ol{padding-left:20px;line-height:2.6;color:#89928d}.progress-panel li.done{color:#2a6649;font-weight:700}.progress-panel .text-link{display:block;margin-top:28px;font-size:.85rem}.plain-button{border:0;background:none;color:#66746c;padding:0;margin-top:20px;text-decoration:underline}.host-forms{display:grid;gap:20px}.host-forms .form-panel h2{margin:12px 0 25px}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-hero{background:#e8ece5;padding-bottom:55px}.booking-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,380px);gap:24px;padding:40px clamp(24px,9vw,150px) 80px;align-items:start}.property-list{display:grid;gap:16px}.property-card{padding:30px}.property-card h2{margin:12px 0}.unit-row{width:100%;padding:18px 0;border:0;border-top:1px solid #e2e7e1;background:none;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#3d544c}.unit-row.selected{color:#a16c4a}.unit-row span:first-child{display:grid;gap:5px}.unit-row small{color:#79867e}.reservation-panel{position:sticky;top:20px}.reservation-panel h2{margin:12px 0 30px}.reservation-panel input:disabled{background:#f1f3ee}.confirmation{text-align:center;padding:20px 0}.confirm-mark{display:inline-grid;place-items:center;background:#e4f1e7;color:#32744d;border-radius:50%;width:54px;height:54px;font-size:1.5rem}.confirmation h3{font-family:Playfair Display,Georgia,serif;font-size:1.7rem}.empty-state{padding:30px}@media(max-width:760px){.topbar{align-items:flex-start;gap:12px}.topbar nav{gap:12px;font-size:.75rem}.steps,.form-layout,.host-grid,.booking-layout{grid-template-columns:1fr}.steps{gap:8px}.aside-note{display:none}.hero{min-height:0}.reservation-panel{position:static}}:focus-visible{outline:3px solid #a16c4a;outline-offset:3px}.public-site-shell{--public-paper:#f1ece0;--public-surface:#fffdf8;--public-ink:#26343c;--public-muted:#68766f;--public-accent:#5f7a52;min-height:100vh;background:var(--public-paper);color:var(--public-ink)}.public-header{position:sticky;top:0;z-index:40;min-height:72px;padding:12px clamp(18px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f1ece0f0;border-bottom:1px solid rgb(38 52 60 / .12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-header__brand{min-width:0;display:flex;align-items:center;gap:10px;font-family:Playfair Display,Georgia,serif;font-size:1.18rem;font-weight:600}.public-header__brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-header__mark{color:var(--public-accent);font-family:Arial,sans-serif;font-size:1.3rem}.public-header nav{display:flex;gap:clamp(14px,3vw,34px);font-size:.83rem;color:#52615b}.public-header nav a:hover,.public-footer a:hover{text-decoration:underline;text-underline-offset:4px}.public-header__cta{padding:11px 17px;border:1px solid var(--public-ink);font-size:.76rem;font-weight:700;white-space:nowrap}.public-hero{position:relative;min-height:min(88svh,900px);min-height:max(620px,min(88svh,900px));display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#26343c;color:#fff}.public-hero__image,.public-hero__veil,.public-hero__surface{position:absolute;inset:0;width:100%;height:100%}.public-hero__image{z-index:-2;object-fit:cover;object-position:50% 55%;filter:saturate(.95) contrast(1.04)}.public-hero__veil{z-index:-1;background:linear-gradient(180deg,#111c221f,#111c2214 35%,#111c22c2),linear-gradient(90deg,rgb(17 28 34 / .24),transparent 72%)}.public-hero__surface{z-index:-1;background:radial-gradient(ellipse at 75% 20%,rgb(95 122 82 / .55),transparent 48%),linear-gradient(140deg,#26343c,#415348 62%,#8b7958)}.public-hero__content{width:min(1120px,100%);margin:0 auto;padding:clamp(50px,9vw,110px) clamp(22px,6vw,76px);text-align:left}.public-kicker{margin:0 0 12px;color:#758766;font-size:.68rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.public-hero .public-kicker{color:#ffffffd4}.public-hero h1{max-width:950px;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.97;letter-spacing:-.045em}.public-hero__subtitle{max-width:640px;margin:22px 0 30px;color:#ffffffe0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.65}.public-button{min-height:52px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid #26343c;background:#26343c;color:#fff;font-weight:700;transition:background-color .2s ease,transform .2s ease}.public-button:hover{background:#415b48;transform:translateY(-1px)}.public-hero .public-button{border-color:#fff;background:#fff;color:#26343c}.public-hero .public-button:hover{background:#f1ece0}.public-hero__count{position:absolute;right:clamp(20px,5vw,64px);bottom:25px;color:#fff;font-size:.75rem;letter-spacing:.07em}.public-section{width:min(1280px,100%);margin:0 auto;padding:clamp(54px,8vw,108px) clamp(20px,5vw,64px)}.public-section__heading{max-width:760px;margin-bottom:34px}.public-section h2,.public-booking h2,.public-empty h1{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.15rem,4.5vw,4rem);font-weight:500;line-height:1.06;letter-spacing:-.035em}.public-section__heading>p:last-child{max-width:610px;color:var(--public-muted);line-height:1.7}.public-stays__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.stay-card{overflow:hidden;border:1px solid rgb(38 52 60 / .12);background:var(--public-surface);transition:border-color .2s ease,box-shadow .2s ease}.stay-card--active{border-color:var(--public-accent);box-shadow:0 0 0 1px var(--public-accent)}.stay-card__photo{position:relative;display:block;width:100%;padding:0;border:0;background:#e4e0d6;overflow:hidden;aspect-ratio:16/10;text-align:left}.stay-card__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.stay-card__photo:hover img{transform:scale(1.025)}.stay-card__no-photo{display:grid;width:100%;height:100%;place-items:center;color:#69736e;font-size:.9rem}.stay-card__photo-count{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:#fffdf8ed;color:#26343c;font-size:.72rem}.stay-card__body{padding:23px}.stay-card h3{margin:4px 0 8px;font-family:Playfair Display,Georgia,serif;font-size:1.55rem;font-weight:500}.stay-card h3 button{padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit}.stay-card__location,.stay-card__description{color:var(--public-muted);font-size:.9rem;line-height:1.6}.stay-card__amenities{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0;padding:0;list-style:none}.stay-card__amenities li{padding:6px 9px;border:1px solid rgb(38 52 60 / .12);font-size:.71rem;color:#53615b}.stay-card__units{margin-top:16px;border-top:1px solid rgb(38 52 60 / .12)}.stay-card__units button{width:100%;min-height:58px;padding:12px 0;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;text-align:left;border:0;border-bottom:1px solid rgb(38 52 60 / .1);background:transparent;color:#26343c}.stay-card__units button>span:first-child{font-weight:700}.stay-card__units button>small{grid-column:1;color:var(--public-muted)}.stay-card__units button>span:last-child{grid-column:2;grid-row:1/3}.stay-card__units button.is-selected{color:var(--public-accent)}.stay-card__pending,.public-pending{color:#7b6a49;font-size:.88rem}.public-detail{border-top:1px solid rgb(38 52 60 / .12)}.public-detail__heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.public-detail__heading h2{font-size:clamp(2rem,4vw,3.4rem)}.public-text-link{color:#415b48;font-weight:700;white-space:nowrap}.property-gallery{position:relative;display:grid;grid-template-columns:1.65fr 1fr 1fr;grid-template-rows:repeat(2,minmax(150px,22vw));gap:8px;overflow:hidden;border-radius:3px}.property-gallery__tile{position:relative;min-width:0;min-height:0;padding:0;border:0;background:#dedbd1;overflow:hidden;cursor:zoom-in}.property-gallery__tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.property-gallery__tile:hover img{transform:scale(1.03)}.property-gallery__tile--hero{grid-row:span 2}.property-gallery__tile:nth-child(n+6){display:none}.property-gallery__more{position:absolute;right:12px;bottom:12px;padding:10px 13px;background:#fffdf8f2;color:#26343c;font-size:.8rem}.property-gallery__all{position:absolute;right:14px;bottom:14px;padding:10px 13px;border:1px solid #26343c;background:#fffdf8;color:#26343c;font-weight:700}.property-gallery__empty{display:grid;min-height:260px;place-items:center;background:#e6e2d8;color:#64716b}.public-detail__facts{display:flex;flex-wrap:wrap;gap:0;margin:22px 0 32px;border-top:1px solid rgb(38 52 60 / .15);border-bottom:1px solid rgb(38 52 60 / .15)}.public-detail__facts span{padding:14px 20px 14px 0;margin-right:20px;color:#4f5f58;font-size:.84rem}.public-detail__columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,94px);padding:25px 0}.public-detail__columns h3,.public-rules h3{margin:0 0 14px;font-family:Playfair Display,Georgia,serif;font-size:1.65rem;font-weight:500}.public-detail__columns p{line-height:1.72;color:#58665f}.public-location{padding-top:8px;border-top:1px solid rgb(38 52 60 / .12)}.public-amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none}.public-amenities li{display:flex;gap:9px;align-items:flex-start;color:#53615b;font-size:.9rem;line-height:1.5}.public-amenities li span{color:var(--public-accent);font-weight:700}.public-rules{margin-top:12px;padding:24px;background:#e9e2d2}.public-rules ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px;padding-left:18px;color:#53615b;line-height:1.6}.public-price-pending{margin-top:22px;padding:15px 18px;background:#fff7e8;color:#735e36;font-size:.88rem}.public-price{font-weight:700}.public-price small{display:block;margin-top:5px;color:var(--public-muted);font-weight:400}.public-booking{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,520px);justify-content:center;gap:clamp(30px,8vw,100px);padding:clamp(50px,8vw,95px) clamp(20px,8vw,100px);background:#e5dfd1}.public-booking__intro{max-width:500px}.public-booking__intro p:not(.public-kicker){max-width:400px;color:#5c6a63;line-height:1.7}.public-booking__panel{padding:clamp(22px,4vw,38px);background:#fffdf8;border:1px solid rgb(38 52 60 / .12);box-shadow:0 20px 55px #26343c14}.public-booking__panel label{display:block;margin-bottom:15px;color:#45534d;font-size:.8rem;font-weight:700}.public-booking__panel input,.public-booking__panel select{display:block;width:100%;height:50px;margin-top:7px;padding:0 12px;border:1px solid #c8cec5;border-radius:0;background:#fff;color:#26343c}.public-booking__panel input:focus,.public-booking__panel select:focus{outline:2px solid #6f875f;outline-offset:1px}.public-booking__panel input:disabled{background:#eeeee9}.booking-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-button--full{width:100%;margin-top:8px}.public-secondary-button{padding:0;border:0;background:none;color:#526356;text-decoration:underline;text-underline-offset:3px}.public-booking__fineprint{margin:12px 0 0;color:#758078;font-size:.72rem;line-height:1.5}.hold-note{padding:12px;background:#fff5e8;color:#805c2e;font-size:.85rem}.public-error{margin:18px auto;padding:13px 16px;width:min(1100px,calc(100% - 40px));background:#fae9e6;color:#863d35}.public-loading,.public-empty{padding:70px 24px;text-align:center}.public-empty h1{max-width:760px;margin:0 auto 16px}.public-empty p:last-child{color:var(--public-muted)}.public-mobile-book{display:none}.public-footer{display:grid;grid-template-columns:1fr auto;gap:10px 30px;padding:34px clamp(20px,5vw,64px);border-top:1px solid rgb(38 52 60 / .15);background:#e8e1d4}.public-footer p{margin:7px 0;color:#69766f;font-size:.82rem}.public-footer__links{display:flex;gap:18px;align-items:center;font-size:.82rem}.public-footer small{grid-column:1/-1;color:#78827b;font-size:.7rem}.gallery-lightbox{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;justify-items:center;padding:30px;background:#0d1418f5;color:#fff}.gallery-lightbox figure{width:min(1100px,100%);height:min(84vh,850px);margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}.gallery-lightbox figure img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.gallery-lightbox figcaption{text-align:center;color:#ffffffc2;font-size:.82rem}.gallery-lightbox button{color:#fff;border:1px solid rgb(255 255 255 / .5);background:#ffffff1a}.gallery-lightbox__close{position:absolute;top:20px;right:22px;width:44px;height:44px;font-size:1.6rem}.gallery-lightbox__prev,.gallery-lightbox__next{width:46px;height:52px;font-size:2rem}@media(max-width:900px){.public-stays__grid{grid-template-columns:1fr 1fr}.property-gallery{grid-template-rows:repeat(2,minmax(140px,29vw))}.public-booking{grid-template-columns:minmax(200px,.75fr) minmax(300px,1fr);gap:30px}}@media(max-width:640px){.public-header{min-height:62px;padding:9px 16px;gap:9px}.public-header__brand{font-size:1rem;gap:6px}.public-header nav{gap:12px;font-size:.68rem}.public-header nav a:nth-child(2){display:none}.public-header__cta{padding:9px 10px;font-size:.68rem}.public-hero{min-height:82svh;min-height:max(560px,82svh);align-items:flex-end}.public-hero__image{object-position:38% 50%}.public-hero__content{padding:55px 22px 86px}.public-hero h1{font-size:clamp(3rem,13vw,4.8rem)}.public-hero__subtitle{margin:16px 0 22px;font-size:1rem}.public-hero__count{right:22px;bottom:20px}.public-section{padding:58px 18px}.public-section__heading{margin-bottom:22px}.public-stays__grid{grid-template-columns:1fr;gap:14px}.stay-card__body{padding:19px}.public-detail__heading{display:block}.public-detail__heading .public-text-link{display:inline-block;margin-top:13px}.property-gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,31vw);gap:4px;border-radius:0}.property-gallery__tile--hero{grid-column:span 2;grid-row:span 1}.property-gallery__tile:nth-child(n+4){display:none}.property-gallery__all{right:8px;bottom:8px;padding:8px 10px;font-size:.72rem}.public-detail__facts span{padding:11px 12px 11px 0;margin-right:8px;font-size:.76rem}.public-detail__columns{grid-template-columns:1fr;gap:18px}.public-amenities{grid-template-columns:1fr}.public-rules{padding:20px}.public-rules ul{grid-template-columns:1fr}.public-booking{grid-template-columns:1fr;gap:20px;padding:55px 18px 78px}.public-booking h2{font-size:2.5rem}.public-booking__panel{padding:22px 18px}.public-mobile-book{position:fixed;z-index:45;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;min-height:52px;padding:12px 18px;align-items:center;justify-content:space-between;background:#26343c;color:#fff;box-shadow:0 6px 24px #0003;font-weight:700}.public-footer{grid-template-columns:1fr;padding:28px 20px 86px}.public-footer__links{flex-wrap:wrap}.public-footer small{grid-column:auto}.gallery-lightbox{grid-template-columns:35px minmax(0,1fr) 35px;padding:14px 8px}.gallery-lightbox figure{height:76vh}.gallery-lightbox__prev,.gallery-lightbox__next{width:34px;height:42px}.gallery-lightbox__close{top:8px;right:8px}}@media(prefers-reduced-motion:reduce){.stay-card,.stay-card__photo img,.public-button{transition:none}.stay-card__photo:hover img,.public-button:hover{transform:none}}@media(prefers-color-scheme:dark){html:has(app-root:empty),html:has(>body>app-root>router-outlet:only-child){background:#101a18;color-scheme:dark}}
