:root{--sky:#fcefe0;--bg:#f8f4ed;--bg-tint:#f0e9dd;--surface:#fffdf9;--ink:#26221d;--ink-soft:#5d554b;--line:#e4dbcc;--primary:#2c5a8a;--primary-ink:#fff;--primary-hover:#234a73;--olive:#5f6b3f;--terracotta:#b5653f;--gold:#c08a2e;--dark:#1f2a24;--radius:18px;--radius-sm:12px;--shadow:0 1px 2px #26221d0a, 0 8px 28px #26221d12;--shadow-lg:0 24px 60px #14120e2e;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--sky);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .5em;font-weight:500;line-height:1.15}h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}h3{font-size:1.5rem}h4{font-size:1.15rem;font-family:var(--sans);letter-spacing:0;font-weight:600}p{margin:0 0 1em}.container{width:min(1200px,100% - 40px);margin-inline:auto}.section{padding:clamp(64px,9vw,112px) 0}.section-tint{background:#8c683c12}main{z-index:1;position:relative}.section-dark{background:var(--dark);color:#efe9df}.section-dark .lead{color:#cfc8bb}.section-sea{color:#eef4f6;background:radial-gradient(at 20% 0,#78bedc2e,#0000 50%),linear-gradient(#174565 0%,#143d5a 100%)}.section-sea .lead{color:#c4d6df}.section-sea h2 em{color:#9fd3e6}.section-sea .eyebrow{color:#f3d6b8}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);align-items:center;gap:6px;margin-bottom:12px;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow.light{color:#f3d6b8}.lead{color:var(--ink-soft);font-size:1.15rem}h2 em,h3 em{color:var(--terracotta);font-style:italic}.narrow{max-width:640px}.muted{color:var(--ink-soft)}.section-dark .muted{color:#b9b2a5}.small{font-size:.86rem}.center{text-align:center}.mt{margin-top:28px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s,border-color .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 6px 18px #2c5a8a47}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.7;cursor:progress}.btn-ghost{border-color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--bg)}.btn-glass{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border-color:#ffffff73}.btn-glass:hover{background:#ffffff42}.btn-lg{padding:15px 28px;font-size:1.02rem}.btn-sm{padding:8px 16px;font-size:.9rem}.btn-block{width:100%;padding:15px;font-size:1.02rem}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover:not(:disabled){background:#0000000f}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn.round{border:1px solid var(--line);background:var(--surface);width:36px;height:36px}.icon-btn.light{color:#fff}.icon-btn.light:hover{background:#ffffff26}.link-btn{cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav{z-index:50;color:#fff;transition:background .3s,color .3s,box-shadow .3s;position:fixed;inset:0 0 auto}.nav-solid{background:color-mix(in srgb, var(--sky) 88%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.nav-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-sun{background:radial-gradient(circle, #ffd36b 0 40%, transparent 42%), repeating-conic-gradient(#f0a53a 0 12deg, transparent 12deg 30deg);border-radius:50%;flex:none;width:22px;height:22px;animation:14s linear infinite spin}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a:not(.btn){opacity:.9;font-size:.95rem;font-weight:500;text-decoration:none}.nav-links a:not(.btn):hover{opacity:1;text-underline-offset:6px;text-decoration:underline}.nav-toggle{color:inherit;display:none}.hero{color:#fff;align-items:flex-end;min-height:min(92vh,860px);display:flex;position:relative;overflow:hidden}.hero-media{position:absolute;inset:-2% 0 0;overflow:hidden}.hero-img{object-fit:cover;width:100%;height:100%;animation:18s ease-out forwards heroZoom}@keyframes heroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-shade{background:linear-gradient(90deg,#0e0d0bb8 0%,#0e0d0b73 45%,#0e0d0b00 75%),linear-gradient(#0e0d0b73 0%,#0e0d0b00 30%,#0e0d0b8c 100%);position:absolute;inset:0}.hero-content{text-shadow:0 1px 12px #00000040;padding-bottom:120px;position:relative}.hero h1{max-width:900px;margin-bottom:18px;font-size:clamp(2.6rem,6.4vw,5.4rem);font-weight:400;line-height:1.05}.hero-line{display:block}.hero .w{vertical-align:top;margin-right:.18em;padding:0 .04em .08em;display:inline-block;overflow:hidden}.hero .w>span{animation:1.1s cubic-bezier(.2,.8,.2,1) both wordUp;animation-delay:calc(.25s + var(--i) * 90ms);display:inline-block}.hero .w .em{color:#f6d3a9;font-style:italic}@keyframes wordUp{0%{transform:translateY(110%)rotate(4deg)}}.hero-sub,.hero-actions,.hero-badges{animation:1s ease-out both fadeUp}.hero-sub{animation-delay:.9s}.hero-actions{animation-delay:1.05s}.hero-badges{animation-delay:1.2s}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}}.hero-glow{pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at 82% 18%,#ffc478e6,#0000 55%);animation:4s ease-out both dawn;position:absolute;inset:0}@keyframes dawn{0%{opacity:0}}.hero-sub{color:#ffffffe6;max-width:600px;font-size:clamp(1.05rem,1.6vw,1.25rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin:28px 0 32px;display:flex}.hero-badges{flex-wrap:wrap;gap:10px 22px;font-size:.92rem;font-weight:500;display:flex}.hero-badges span{align-items:center;gap:6px;display:inline-flex}.facts{z-index:2;grid-template-columns:repeat(4,1fr) 1.3fr;margin-top:-48px;padding:22px 8px;display:grid;position:relative}.fact{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;display:flex}.fact strong{font-family:var(--serif);font-size:1.9rem;font-weight:500;line-height:1.1}.fact span{color:var(--ink-soft);font-size:.9rem}.fact-price{border-right:none}.fact-price strong{color:var(--primary)}.about{grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(32px,6vw,88px);display:grid}.highlights{grid-template-columns:1fr 1fr;gap:22px;margin-top:36px;display:grid}.highlight{gap:14px;display:flex}.highlight h4{margin-bottom:2px;font-size:1rem}.highlight p{margin:0;font-size:.92rem}.icon-tile{width:46px;height:46px;color:var(--olive);background:#e6ede1;border-radius:14px;flex:none;place-items:center;display:grid}.about-photos{height:560px;position:relative}.about-photos img{object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg);position:absolute}.about-photos img:first-of-type{width:82%;height:78%;inset:0 18% 22% 0}.about-photos img:last-of-type{border:6px solid var(--bg);width:52%;height:46%;bottom:0;right:0}.chips{scrollbar-width:none;gap:8px;margin-top:12px;padding:6px 2px 18px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 16px;font-size:.92rem;font-weight:500;transition:all .2s;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-count{opacity:.6;font-size:.75rem}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:12px;display:grid}.gallery-item{border-radius:var(--radius-sm);cursor:zoom-in;background:var(--bg-tint);border:none;padding:0;display:block;overflow:hidden}.gallery-item.feature{grid-area:span 2/span 2}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s,filter .3s}.gallery-item:hover img{filter:brightness(1.04);transform:scale(1.04)}.lightbox{z-index:100;background:#0c0b0af2;justify-content:center;align-items:center;animation:.2s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.lightbox-top{color:#ddd;justify-content:space-between;align-items:center;padding:14px 20px;font-size:.9rem;display:flex;position:absolute;top:0;left:0;right:0}.lightbox figure{text-align:center;max-width:min(1200px,88vw);margin:0}.lightbox img{border-radius:8px;width:auto;max-height:80vh;margin:0 auto;animation:.25s fade}.lightbox figcaption{color:#cfc8bb;margin-top:14px;font-size:.95rem}.lightbox-arrow{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#fff3}.lightbox-arrow.left{left:20px}.lightbox-arrow.right{right:20px}.rooms{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;display:grid}.room{overflow:hidden}.room img{aspect-ratio:4/3;object-fit:cover;width:100%}.room-body{padding:18px 20px 20px}.room-body h4{margin-bottom:4px}.room-body p{align-items:center;gap:8px;margin:0;display:flex}.amenities{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:28px;display:grid}.amenity{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:14px;padding:16px 18px;font-weight:500;display:flex}.amenity svg{color:var(--olive);flex:none}.modal-backdrop{z-index:90;background:#14120e8c;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:min(760px,100%);max-height:86vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s ease-out rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-head h3{margin:0}.modal-body{columns:2 260px;column-gap:32px;padding:8px 24px 24px;overflow-y:auto}.amenity-group{break-inside:avoid;padding-top:18px}.amenity-group h4{margin-bottom:8px}.amenity-group ul{margin:0;padding:0;list-style:none}.amenity-group li{align-items:flex-start;gap:10px;padding:5px 0;font-size:.95rem;display:flex}.amenity-group li svg{color:var(--olive);flex:none;margin-top:4px}.amenity-group li.struck{color:var(--ink-soft);text-decoration:line-through}.amenity-group li.struck svg{color:var(--ink-soft)}.experiences{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;display:grid}.experience{border-radius:var(--radius);align-items:flex-end;min-height:420px;display:flex;position:relative;overflow:hidden}.experience img{object-fit:cover;width:100%;height:100%;transition:transform .7s;position:absolute;inset:0}.experience:hover img{transform:scale(1.05)}.experience:after{content:"";background:linear-gradient(#0000 35%,#0c100dd9);position:absolute;inset:0}.experience-body{z-index:1;color:#fff;padding:24px;position:relative}.experience-body h4{font-family:var(--serif);font-size:1.45rem;font-weight:500}.experience-body p{color:#ffffffd9;margin:0;font-size:.95rem}.reviews-head{grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-bottom:40px;display:grid}.score{align-items:center;gap:24px;display:flex}.score h2{margin-bottom:6px}.laurel{width:120px;height:120px;font-family:var(--serif);color:var(--gold);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-size:2.6rem;display:grid;position:relative}.laurel:before{content:"";background:conic-gradient(from 200deg,#e9c98a,#c08a2e,#f5dfae,#c08a2e,#e9c98a);border-radius:50%;animation:12s linear infinite spin;position:absolute;inset:0}.laurel:after{content:"";background:#fff8ea;border-radius:50%;position:absolute;inset:8px}.laurel-value{z-index:1;position:relative}.ratings{gap:10px;display:grid}.rating-row{grid-template-columns:130px 1fr 34px;align-items:center;gap:14px;font-size:.95rem;display:grid}.bar{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.bar div{background:var(--ink);border-radius:99px;height:100%}.review-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.review{flex-direction:column;margin:0;padding:26px;display:flex;position:relative}.quote-mark{color:var(--line);position:absolute;top:22px;right:22px}.stars{color:var(--gold);gap:2px;margin-bottom:12px;display:flex}.review blockquote{font-family:var(--serif);flex:1;margin:0 0 20px;font-size:1.12rem;line-height:1.5}.review figcaption{align-items:center;gap:12px;display:flex}.review figcaption>span:last-child{flex-direction:column;line-height:1.3;display:flex}.avatar{width:40px;height:40px;color:var(--olive);background:#e6ede1;border-radius:50%;place-items:center;font-weight:700;display:grid}.location{grid-template-columns:1fr 1.2fr;align-items:start;gap:clamp(32px,5vw,64px);display:grid}.nearby{margin:24px 0;padding:0;list-style:none}.nearby li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.note{border-left:3px solid var(--terracotta);background:#b5653f14;border-radius:0 10px 10px 0;padding:14px 16px;font-size:.93rem}.map{position:relative;overflow:hidden}.map iframe{border:0;width:100%;height:520px;display:block}.map-link{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:600;text-decoration:none;position:absolute;bottom:14px;right:14px}.host-rules{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(32px,6vw,80px);display:grid}.host{padding:32px}.host-top{align-items:center;gap:20px;margin-bottom:20px;display:flex}.host-top .eyebrow{margin-bottom:2px}.host-top h3{margin:0;font-size:1.9rem}.host-top p{margin:0}.host-avatar{background:linear-gradient(135deg, var(--primary), #4f7fb0);color:#fff;width:88px;height:88px;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-size:2.2rem;display:grid;position:relative}.host-badge{background:var(--terracotta);border:3px solid var(--surface);border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:-2px;right:-2px}.host-facts{gap:6px;margin:0 0 22px;padding:0;list-style:none;display:grid}.host-facts li{align-items:center;gap:10px;display:flex}.host-facts svg{color:var(--olive)}.host-contact{gap:10px;display:flex}.rules{grid-template-columns:1fr 1fr;gap:4px 24px;margin:20px 0 24px;padding:0;list-style:none;display:grid}.rules li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.rules svg{color:var(--olive);flex:none}.section-night{color:#f3ecdf;background:linear-gradient(180deg, var(--sky) 0, #c98d86 70px, #6c5a86 150px, #2a3360 290px, #141e3a 620px, #0f1830 100%);padding-bottom:0;position:relative;overflow:hidden}.section-night .night-content{z-index:2;padding-top:80px;position:relative}.section-night .eyebrow,.section-night h2 em{color:#f6c98d}.section-night .lead{color:#c9c6d9}.section-night .booking-done,.section-night .booking-step,.section-night .booking-summary{color:var(--ink)}.night-sky{pointer-events:none;z-index:1;position:absolute;inset:0}.night-stars span{background:#fff;border-radius:50%;animation:3s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 6px #fffc}@keyframes twinkle{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1.1)}}.night-stars{position:absolute;inset:14% 0 0}.shooting-star{opacity:0;border-radius:2px;top:8%;left:70%;width:120px!important;height:2px!important;box-shadow:none!important;background:linear-gradient(90deg,#fff,#0000)!important;animation:9s ease-in 3s infinite shoot!important}@keyframes shoot{0%,92%{opacity:0;transform:translate(0)rotate(-200deg)}94%{opacity:1}to{opacity:0;transform:translate(-420px,160px)rotate(-200deg)}}.moon{filter:drop-shadow(0 0 24px #fbefc98c);border-radius:50%;width:84px;height:84px;position:absolute;top:150px;right:12%;transform:rotate(-20deg);box-shadow:inset -22px 8px #fbefc9}.fireflies span{background:#ffe58a;border-radius:50%;width:5px;height:5px;animation-name:drift,blink;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute;box-shadow:0 0 10px 3px #ffdc6ebf}@keyframes drift{to{transform:translate(var(--dx), var(--dy))}}@keyframes blink{0%,40%{opacity:.1}to{opacity:1}}.night-house{z-index:1;width:100%;height:220px;margin-top:40px;display:block;position:relative}.window-light{fill:#ffcf73;filter:drop-shadow(0 0 8px #ffc864e6)}.booking{grid-template-columns:1fr 380px;align-items:start;gap:32px;margin-top:36px;display:grid}.booking-main{gap:20px;display:grid}.booking-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.booking-step h3{align-items:center;gap:12px;margin-bottom:20px;font-size:1.35rem;display:flex}.step-num{background:var(--ink);width:30px;height:30px;color:var(--bg);font:600 .9rem var(--sans);border-radius:50%;place-items:center;display:grid}.date-display{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid;overflow:hidden}.date-box{color:var(--ink-soft);flex-direction:column;padding:12px 16px;display:flex}.date-box+.date-box{border-left:1px solid var(--line)}.date-box .eyebrow{color:var(--ink);margin:0;font-size:.68rem}.date-box.filled{color:var(--ink);font-weight:600}.calendar{position:relative}.calendar-nav{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:-6px;left:0;right:0}.calendar-nav button{pointer-events:auto}.calendar-months{grid-template-columns:repeat(var(--months), 1fr);gap:36px;display:grid}.calendar-title{text-align:center;margin-bottom:14px;font-weight:600;line-height:28px}.calendar-grid{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.calendar-weekday{text-align:center;color:var(--ink-soft);padding-bottom:6px;font-size:.75rem;font-weight:600}.day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;padding:0;font-size:.92rem;font-weight:500;position:relative}.day span{z-index:1;border-radius:50%;place-items:center;width:100%;height:100%;transition:background .15s;display:grid;position:relative}.day:hover:not(:disabled) span{box-shadow:inset 0 0 0 1.5px var(--ink)}.day:disabled{color:#c3baab;cursor:not-allowed}.day.is-booked span{text-decoration:line-through}.day.is-today span{font-weight:800}.day.is-short{color:#b6ad9e}.day.in-range{background:#e2eaf3}.day.range-start{background:linear-gradient(90deg,#0000 50%,#e2eaf3 50%)}.day.is-end{background:linear-gradient(90deg,#e2eaf3 50%,#0000 50%)}.day.is-start span,.day.is-end span{background:var(--primary);color:#fff}.calendar-foot{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.counter,.toggle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.counter-label{font-weight:600}.counter-controls{align-items:center;gap:14px;display:flex}.counter-controls span{text-align:center;min-width:18px;font-weight:600}.toggle-row{cursor:pointer;margin-bottom:12px}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:99px;width:46px;height:28px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(18px)}.field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.field em{color:var(--ink-soft);font-style:normal;font-weight:400}.field-wide{grid-column:1/-1}.field input,.field textarea{font:400 1rem var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);resize:vertical;border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2c5a8a26}.booking-summary{gap:18px;padding:26px;display:grid;position:sticky;top:92px}.summary-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.price-lg{font-family:var(--serif);font-size:1.8rem}.rating-sm{align-items:center;gap:4px;font-size:.88rem;font-weight:500;display:inline-flex}.rating-sm svg{color:var(--gold)}.summary-trip{background:var(--bg);border-radius:var(--radius-sm);gap:12px;padding:14px 16px;display:flex}.summary-trip svg{color:var(--primary);flex:none;margin-top:3px}.breakdown{gap:10px;margin:0;display:grid}.breakdown div{justify-content:space-between;gap:12px;display:flex}.breakdown dt,.breakdown dd{margin:0}.breakdown .total{border-top:1px solid var(--line);margin-top:4px;padding-top:14px;font-size:1.08rem;font-weight:700}.form-error{color:#a3341f;margin:0;font-size:.9rem;font-weight:500}.spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.booking-done{z-index:2;text-align:center;max-width:640px;margin:36px auto 0;padding:44px;animation:.35s ease-out rise;position:relative}.done-icon{width:64px;height:64px;color:var(--olive);background:#e6ede1;border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.footer{z-index:1;color:#efe9df;background:#0b1222;padding:48px 0 110px;position:relative}.footer .muted{color:#b9b2a5}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a{opacity:.9;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.footer-links a:hover{opacity:1;text-decoration:underline}.footer-inner>p{width:100%;margin:0}.mobile-bar{display:none}@media (width>=900px){.footer{padding-bottom:48px}}@media (width<=1080px){.booking{grid-template-columns:1fr}.booking-summary{position:static}.calendar-months{--months:1!important}.calendar-month:nth-child(n+2){display:none}}@media (width<=900px){.nav-toggle{display:inline-grid}.nav-links{background:var(--bg);color:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 12px 24px #00000014}.nav-links.open{display:flex}.nav-links a:not(.btn){border-bottom:1px solid var(--line);padding:14px 0}.nav-links .btn{margin-top:16px}.facts{grid-template-columns:repeat(4,1fr);row-gap:16px}.fact-price{border-top:1px solid var(--line);flex-direction:row;grid-column:1/-1;align-items:baseline;gap:8px;padding-top:14px}.fact:nth-child(4){border-right:none}.about,.location,.host-rules,.reviews-head{grid-template-columns:1fr}.about-photos{height:420px}.rooms,.experiences,.review-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px}.gallery-item.feature{grid-area:span 1/span 1}.experience{min-height:340px}.mobile-bar{z-index:40;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000000f}.mobile-bar-sub{align-items:center;gap:4px;display:flex}.mobile-bar svg{color:var(--gold)}}@media (width<=640px){.container{width:calc(100% - 32px)}.hero-content{padding-bottom:96px}.hero-actions .btn{flex:1}.facts{padding:18px 4px}.fact strong{font-size:1.5rem}.fact span{font-size:.8rem}.highlights,.rooms,.experiences,.review-grid,.rules,.field-grid{grid-template-columns:1fr}.about-photos{height:340px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px}.gallery-item.feature{grid-area:span 2/span 2}.score{flex-direction:column;align-items:flex-start}.laurel{width:96px;height:96px;font-size:2rem}.rating-row{grid-template-columns:110px 1fr 30px}.booking-step{padding:20px}.lightbox-arrow{width:42px;height:42px}.lightbox-arrow.left{left:8px}.lightbox-arrow.right{right:8px}.map iframe{height:360px}.booking-done{padding:28px 22px}.moon{width:56px;height:56px;top:96px;right:18px;box-shadow:inset -15px 6px #fbefc9}.section-night .night-content{padding-top:70px}.night-house{height:170px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}body{padding-bottom:58px}.housemarked-showcase-notice{z-index:90;color:#536347;background:#faf8ef;border-top:1px solid #d9ddcc;justify-content:space-between;align-items:center;gap:20px;padding:14px 5%;font-size:10px;display:flex;position:fixed;inset:auto 0 0}.housemarked-showcase-notice strong{letter-spacing:1px;margin-right:14px;font-size:8px}.housemarked-showcase-notice a{white-space:nowrap}@media (width<=900px){.mobile-bar{bottom:58px}.housemarked-showcase-notice{gap:12px;min-height:58px;padding:10px 18px;font-size:8px}.housemarked-showcase-notice strong{margin:0 0 3px;display:block}.housemarked-showcase-notice a{white-space:normal;text-align:right;max-width:100px}}main,.footer{overflow-x:clip}@media (prefers-reduced-motion:reduce){.fx{display:none!important}}.sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sun{will-change:transform;width:160px;height:160px;position:absolute;top:-80px;left:-80px}.sun-core{background:radial-gradient(circle at 42% 40%,#fffbe6 0%,#ffe08a 38%,#f8b84a 100%);border-radius:50%;position:absolute;inset:0;box-shadow:0 0 60px 20px #ffc45a73,0 0 160px 80px #ffd27838}.sun-dusk{opacity:0;background:radial-gradient(circle at 42% 40%,#ffe3b0 0%,#f6904a 45%,#d8573a 100%);box-shadow:0 0 70px 24px #f0784673,0 0 200px 100px #f08c5a40}.sun-rays{background:repeating-conic-gradient(#ffc85a38 0 5deg, transparent 5deg 15deg);border-radius:50%;animation:80s linear infinite spin;position:absolute;inset:-140px;-webkit-mask:radial-gradient(circle,#000 25%,#0000 68%);mask:radial-gradient(circle,#000 25%,#0000 68%)}.cloud{will-change:transform;position:absolute}.cloud svg{fill:#fff;opacity:.85;filter:drop-shadow(0 6px 10px #785a3c14);width:100%;animation:40s ease-in-out infinite alternate cloudDrift;display:block}@keyframes cloudDrift{to{transform:translate(-60px)}}.flock{will-change:transform;position:absolute;top:0;left:0}.bird-wing{fill:none;stroke:#4a4036;stroke-width:2.4px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out infinite alternate flap}@keyframes flap{to{transform:scaleY(-.55)}}.hero-hills{z-index:1;pointer-events:none;width:100%;height:240px;position:absolute;bottom:-1px;left:0;right:0}.hill-front{fill:var(--sky)}.hero-content{z-index:2}@media (width>=1024px){.hero-content{padding-bottom:210px}.facts{margin-top:-96px}}.vine{z-index:2;pointer-events:none;width:calc(100% + 46px);height:600px;position:absolute;inset:-20px -10px auto -36px;overflow:visible}.vine-stem{fill:none;stroke:#6b5636;stroke-width:5px;stroke-linecap:round}.vine-tendril{fill:none;stroke:#7a8f45;stroke-width:1.6px;stroke-linecap:round}.beach{z-index:1;height:330px;margin-top:-40px;position:relative}.beach svg{width:100%;height:100%;display:block}.wave{animation:9s linear infinite waves}.wave-front{animation-duration:6s;animation-direction:reverse}@keyframes waves{to{transform:translate(-1440px)}}.boat-bob{transform-box:fill-box;transform-origin:50% 100%;animation:2.6s ease-in-out infinite bob}@keyframes bob{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(3deg)translateY(3px)}}.dolphin{opacity:0}.splash{transform:scale(0)}.ride{z-index:1;height:240px;margin-top:-1px;position:relative}.ride svg{width:100%;height:100%;display:block}.ride-land{fill:var(--sky)}.road-scene{margin-top:56px}.road-scene svg{width:100%;height:auto;display:block;overflow:visible}.scene-label{font:italic 500 15px var(--serif);fill:var(--ink)}.puff{opacity:0;transform-box:fill-box;transform-origin:50%;animation:3.6s ease-out infinite puff}.puff:nth-child(2){animation-delay:1.2s}.puff:nth-child(3){animation-delay:2.4s}@keyframes puff{0%{opacity:.8;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(14px,-46px)scale(2.2)}}.section-wall{position:relative}.wall{z-index:2;height:50px;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.wall-svg{width:100%;height:100%;position:absolute;inset:0}.cat{will-change:transform;width:120px;position:absolute;bottom:46px;left:0}.cat svg{transition:transform .25s;display:block}.cat.facing-left svg{transform:scaleX(-1)}.leg{transform-box:fill-box;transform-origin:50% 0}.cat.walking .leg-a{animation:.36s ease-in-out infinite alternate step}.cat.walking .leg-b{animation:.36s ease-in-out infinite alternate-reverse step}@keyframes step{0%{transform:rotate(24deg)}to{transform:rotate(-24deg)}}.tail{transform-box:fill-box;transform-origin:100% 100%;animation:2.4s ease-in-out infinite swish}.cat.walking .tail{animation-duration:.8s}@keyframes swish{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.cat-head{transform-box:fill-box;transform-origin:30% 80%;animation:5s ease-in-out infinite nod}@keyframes nod{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-10deg)}90%{transform:rotate(4deg)}}.cat-eye{transform-box:fill-box;transform-origin:50%;animation:4.5s infinite blinkEye}@keyframes blinkEye{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.nav{transition:background .6s,color .6s,box-shadow .3s}.is-night .nav-solid{color:#f3ecdf;background:#0e162cd1;box-shadow:0 1px #ffffff0f}@media (width<=1023px){.sun{width:110px;height:110px;top:-55px;left:-55px}.sun-rays{inset:-90px}.cloud{max-width:32vw}.hero-hills{height:150px}.hero-content{padding-bottom:150px}.vine{aspect-ratio:1;width:calc(100% + 20px);height:auto;inset:-14px auto auto -14px}.beach{height:220px;margin-top:-24px}.ride{height:170px}.road-scene{border-radius:14px;margin-top:36px;overflow:hidden}.road-scene svg{width:auto;max-width:none;height:220px;overflow:hidden}.cat{transform-origin:0 100%}.cat svg{width:96px;height:59px}.wall{height:40px}.cat{bottom:36px}}@media (width<=900px){.host-rules .wall{width:100vw;margin:40px 0 0 calc(50% - 50vw);position:relative;transform:none}}
