:root{--bg:#fbf8f2;--surface:#fff;--ink:#1f2d2b;--muted:#5d6b68;--line:#e6e0d4;--brand:#1d5c55;--brand-ink:#fff;--sun:#f4b63f;--sun-soft:#fdf1d6;--booked:#e9e4da;--ok:#2f7d4f;--radius:14px;--shadow:0 1px 2px #0000000d, 0 8px 24px #1f2d2b14;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);margin:0}img{max-width:100%;display:block}a{color:var(--brand)}h1,h2,h3{font-family:var(--serif);margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(1.9rem,4vw,2.8rem)}h2{font-size:clamp(1.4rem,3vw,1.9rem)}h3{font-size:1.15rem}.muted{color:var(--muted)}.wrap{width:min(1160px,100% - 32px);margin-inline:auto}section{padding-block:40px}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{font-family:var(--serif);color:var(--brand);align-items:baseline;gap:8px;font-size:1.45rem;font-weight:700;text-decoration:none;display:flex}.brand span{font-family:var(--sans);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:500}nav{flex-wrap:wrap;gap:4px;display:flex}nav a{color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:500;text-decoration:none}nav a:hover,nav a[aria-current=page]{background:var(--sun-soft)}.header-phone{background:var(--brand);color:var(--brand-ink);white-space:nowrap;border-radius:999px;order:3;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.header-phone:hover{filter:brightness(1.1)}@media (width<=720px){.header-inner{gap:6px 12px;min-height:0;padding-block:8px}.brand span{display:none}.header-phone{order:2}nav{order:3;width:100%}nav a{padding:6px 10px}}.contact-box{border-top:1px solid var(--line);gap:10px;margin-top:20px;padding-top:16px;display:grid}.contact-box h3{margin:0}.contact-box .actions{flex-wrap:wrap;gap:8px;display:flex}.contact-box .btn{padding:10px 16px}.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0 40px;font-size:.92rem}.site-footer p{margin:0 0 4px}.btn{font:600 1rem var(--sans);cursor:pointer;text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-primary:hover{filter:brightness(1.1)}.btn-ghost{border-color:var(--brand);color:var(--brand);background:0 0}.btn-sun{background:var(--sun);color:var(--ink)}.hero{color:#fff;background:#0f1d1b;position:relative;overflow:hidden}.hero-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.hero-track::-webkit-scrollbar{display:none}.hero-slide{scroll-snap-align:start;aspect-ratio:16/7;flex:0 0 100%;min-height:340px;max-height:620px;position:relative}.hero-slide img{object-fit:cover;opacity:.85;width:100%;height:100%}.hero-slide .no-photo{background:linear-gradient(135deg,#1d5c55,#0f1d1b);width:100%;height:100%}.hero-caption{background:linear-gradient(#0000,#000000a6);padding:72px 0 28px;position:absolute;inset:auto 0 0}.hero-caption a{color:#fff;text-decoration:none}.hero-caption h2{margin:0 0 4px;font-size:clamp(1.6rem,4vw,2.6rem)}.hero-dots{gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.hero-dots button{cursor:pointer;background:#ffffff80;border:0;border-radius:50%;width:10px;height:10px;padding:0}.hero-dots button[aria-current=true]{background:var(--sun)}.intro{gap:16px;display:grid}.intro .actions{flex-wrap:wrap;gap:12px;display:flex}.map{border-radius:var(--radius);border:1px solid var(--line);background:#e8eee9;width:100%;height:440px;overflow:hidden}.map-small{height:320px}.map-note{margin-top:8px;font-size:.9rem}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;padding:16px;display:grid}.filters label{color:var(--muted);gap:4px;font-size:.85rem;font-weight:600;display:grid}.filters input,.filters select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;min-width:0;padding:9px 10px}.filters .checks{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 14px;display:flex}.filters .checks label{color:var(--ink);align-items:center;gap:6px;font-size:.95rem;font-weight:500;display:flex}.result-count{color:var(--muted);margin:0 0 12px}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover{transition:transform .15s;transform:translateY(-2px)}.card-photo{aspect-ratio:4/3;background:#e7e2d7}.card-photo img{object-fit:cover;width:100%;height:100%}.no-photo{color:var(--muted);place-items:center;height:100%;font-size:.9rem;display:grid}.card-body{gap:4px;padding:14px 16px 18px;display:grid}.card-body h3{margin:0}.card-meta{color:var(--muted);font-size:.92rem}.card-price{font-weight:700}.badge{background:var(--booked);color:var(--muted);border-radius:999px;justify-self:start;padding:3px 10px;font-size:.8rem;font-weight:600}.badge.now{color:var(--ok);background:#e1f2e7}.badge.soon{background:var(--sun-soft);color:#7a5410}.empty{text-align:center;background:var(--surface);border-radius:var(--radius);padding:40px}.gallery{gap:8px;display:grid}.gallery-main{aspect-ratio:16/10;border-radius:var(--radius);background:#e7e2d7;overflow:hidden}.gallery-main img{object-fit:cover;cursor:zoom-in;width:100%;height:100%}.thumbs{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.thumbs button{aspect-ratio:4/3;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:0 0 96px;padding:0;overflow:hidden}.thumbs button[aria-current=true]{border-color:var(--sun)}.thumbs img{object-fit:cover;width:100%;height:100%}.prop-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin:24px 0 8px;display:flex}.prop-head .price{font-size:1.4rem;font-weight:700}.prop-grid{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}@media (width>=900px){.prop-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.prop-grid>aside{align-self:start;position:sticky;top:84px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.details{margin:0;padding-left:20px}.details li{margin-bottom:4px}.calendar{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.month h4{margin:0 0 6px;font-size:.95rem}.month-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.78rem;display:grid}.month-grid .dow{color:var(--muted);font-weight:600}.month-grid .day{background:#e1f2e7;border-radius:4px;padding:4px 0}.month-grid .day.booked{background:var(--booked);color:#9a948a;text-decoration:line-through}.month-grid .day.past{color:#c2bcb1;background:0 0}.legend{flex-wrap:wrap;gap:16px;margin-top:8px;font-size:.85rem;display:flex}.legend span:before{content:"";vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.legend .free:before{background:#e1f2e7}.legend .taken:before{background:var(--booked)}dialog.popup{width:min(560px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 24px 64px #0000004d}dialog.popup::backdrop{background:#0f1d1b8c}.popup-body{gap:14px;padding:28px 28px 24px;display:grid}.popup-body h2{margin:0;padding-right:28px}.popup-body p{margin:0}.popup-actions{gap:10px;margin-top:6px;display:grid}.popup-close{background:var(--bg);cursor:pointer;border:0;border-radius:50%;width:36px;height:36px;font-size:1.3rem;line-height:1;position:absolute;top:12px;right:12px}dialog.important .popup-body{border-top:8px solid var(--sun);border-radius:20px}dialog.important h2{font-size:clamp(1.7rem,5vw,2.3rem)}dialog.lightbox{box-shadow:none;background:0 0;width:min(1400px,100% - 32px)}dialog.lightbox img{border-radius:12px;max-height:calc(100dvh - 96px);margin-inline:auto}.prose{max-width:720px}
