:root{--bg:#fff;--alt:#f4f6f8;--line:#e2e6ea;--ink:#1f2933;--muted:#5f6b76;--accent:#1f4e79;--accent2:#173d5f;--blue:#dbeafe}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-weight:650;letter-spacing:-.01em;line-height:1.2}h2{font-size:1.5rem;margin:0 0 1rem}
a{color:var(--accent)}.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}img{max-width:100%;display:block}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.55rem 1.25rem}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:1.05rem}nav a{margin-left:1.2rem;text-decoration:none;font-size:.9rem;color:var(--muted)}nav a:hover{color:var(--accent)}
.hero{color:#fff;padding:7rem 0 6rem;background:linear-gradient(rgba(15,23,32,.55),rgba(15,23,32,.55)),url(../img/4A/05.jpg) center/cover}
.hero h1{font-size:clamp(2rem,5vw,3rem);margin:.3rem 0 .8rem}.hero p{font-size:1.1rem;max-width:34rem;color:#e5e9ee}.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem!important;font-weight:600}
.btn,button{display:inline-block;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:6px;padding:.65rem 1.2rem;font:600 .95rem inherit;font-family:inherit;text-decoration:none;cursor:pointer}
.btn:hover,button:hover{background:var(--accent2)}.btn.alt{background:transparent;border-color:#fff;color:#fff}
section{margin:3.5rem 0}.hero{margin-top:0}#location,#contact{background:var(--alt);margin:0 -100vmax;padding:3rem 100vmax}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit}.card:hover{border-color:var(--accent)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card div{padding:1rem 1.1rem 1.2rem}.card h3{margin:0 0 .2rem;font-size:1.15rem}.card p{margin:.15rem 0}.card .btn{margin-top:.7rem;padding:.45rem .9rem;font-size:.85rem}
.cardprice{font-weight:600;color:var(--ink)}.small{font-size:.85rem;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.pills li{border:1px solid var(--line);background:var(--alt);padding:.35rem .85rem;border-radius:6px;font-size:.92rem}
.map iframe{width:100%;height:320px;border:1px solid var(--line);border-radius:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:6px}
.gallery a:first-child{grid-column:span 2;grid-row:span 2}.cols{display:grid;grid-template-columns:1fr 350px;gap:2.5rem;margin-top:1.5rem}aside{position:sticky;top:4rem;align-self:start}aside section,.cols section{margin:2.5rem 0}
@media(max-width:820px){.cols{grid-template-columns:1fr}aside{position:static}.gallery a:first-child{grid-column:auto;grid-row:auto}nav a{margin:0 .9rem 0 0}.hero{padding:4.5rem 0 4rem}}
.unit h1{font-size:clamp(1.8rem,5vw,2.4rem);margin:.4rem 0 .3rem}.crumb{margin-top:1.5rem}.am{columns:2;padding-left:1.1rem}.sub{color:var(--muted);margin-top:0}
.badge{display:inline-block;background:var(--accent);color:#fff;padding:.3rem .8rem;border-radius:6px;font-size:.9rem}
.price{border:1px solid var(--line);background:var(--alt);border-radius:8px;padding:.8rem 1rem;margin-bottom:.4rem}.price strong{font-size:1.15rem}
.contact{border:1px solid var(--line);border-radius:8px;padding:.7rem 1rem;max-width:520px;background:#fff}.contact a{font-weight:600}
.inquiry{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.1rem;display:grid;gap:.7rem;max-width:520px}.inquiry label{display:grid;font-size:.88rem;gap:.25rem;font-weight:500}
input,select,textarea{font:inherit;padding:.5rem .65rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.warn{background:var(--alt);border-left:3px solid var(--accent);padding:.6rem .7rem;border-radius:4px;font-size:.85rem;margin:0}
#cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.mon{border:1px solid var(--line);border-radius:8px;padding:.7rem}.mon h4{margin:.1rem 0 .4rem;font-size:.95rem}
.mon table{border-collapse:separate;border-spacing:2px;width:100%;text-align:center;font-size:.82rem}.mon td{padding:.3rem 0;border-radius:4px}.mon td.b{background:#d5d9de;color:#6b7580;text-decoration:line-through}.mon td.f{background:var(--blue)}.mon td.p{color:#c0c6cc}
.key{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}.key.booked{background:#d5d9de}.key.free{background:var(--blue)}
footer{background:var(--alt);border-top:1px solid var(--line);color:var(--ink);padding:2rem 0;margin-top:4rem}footer .contact{border:0;padding:0;background:none}
