
:root{--ink:#1a1a1a;--mut:#6b6b6b;--line:#e5e2dc;--bg:#faf9f7;--acc:#9a3324;--card:#fff}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header.site{background:#141414;color:#f5f3ef;padding:36px 0 30px}
header.site .kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#b8b3aa;margin-bottom:10px}
header.site h1{font-size:clamp(24px,4vw,40px);font-weight:700;line-height:1.15}
header.site .sub{margin-top:10px;color:#cfc9c0;font-size:16px;max-width:760px}
.notice{background:#fdf3d7;border-bottom:1px solid #eadfae;padding:12px 0;font-size:14.5px;color:#5d4d17}
.notice strong{color:#4a3d10}
.facts{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 24px;margin:28px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 28px;font-size:15px}
.facts .f b{display:block;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:3px;font-weight:600}
.facts a{color:var(--acc)}
.intro{max-width:820px;margin:6px 0 8px;font-size:16.5px}
.intro p{margin-bottom:12px}
h2.sec{font-size:22px;margin:36px 0 18px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-bottom:48px}
.room{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:box-shadow .15s}
.room:hover{box-shadow:0 4px 18px rgba(0,0,0,.1)}
.room img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#ddd}
.room .body{padding:16px 18px 18px}
.room h3{font-size:17.5px;margin-bottom:4px}
.room .count{font-size:13.5px;color:var(--mut);margin-bottom:10px}
.room ul{list-style:none;font-size:14px;color:#3d3d3d}
.room ul li{padding:3px 0 3px 16px;position:relative}
.room ul li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--acc);border-radius:50%}
.crumb{font-size:14px;margin:26px 0 6px}
.crumb a{color:var(--acc);text-decoration:none}
.crumb a:hover{text-decoration:underline}
h1.room-title{font-size:clamp(22px,3.5vw,32px);margin:4px 0 6px}
.room-meta{color:var(--mut);font-size:15px;margin-bottom:18px}
.defects{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:8px;padding:18px 22px;margin-bottom:28px;max-width:820px}
.defects h2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.defects ul{list-style:none;font-size:15.5px}
.defects li{padding:4px 0 4px 18px;position:relative}
.defects li::before{content:"";position:absolute;left:0;top:13px;width:8px;height:8px;background:var(--acc);border-radius:50%}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:56px}
.gallery a{display:block;border-radius:6px;overflow:hidden;background:#ddd}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .15s}
.gallery a:hover img{transform:scale(1.03)}
footer.site{background:#141414;color:#b8b3aa;padding:30px 0;font-size:14px}
footer.site .wrap{display:flex;flex-direction:column;gap:8px}
footer.site a{color:#d8d3ca}
.lb{position:fixed;inset:0;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;z-index:50}
.lb.open{display:flex}
.lb img{max-width:94vw;max-height:92vh;object-fit:contain}
.lb button{position:absolute;background:none;border:none;color:#fff;font-size:34px;cursor:pointer;padding:18px;opacity:.75}
.lb button:hover{opacity:1}
.lb .x{top:6px;right:10px}
.lb .p{left:4px;top:50%;transform:translateY(-50%)}
.lb .n{right:4px;top:50%;transform:translateY(-50%)}
.lb .c{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#cfc9c0;font-size:14px}
