:root{--bg:#f7f4f0;--ink:#1f1c19;--muted:#6b635b;--line:#e2dbd2;--accent:#8a6d4b;--card:#fff}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 "Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;font-weight:600;text-decoration:none;letter-spacing:.02em}
nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}nav a{text-decoration:none;color:var(--muted)}nav a:hover,nav a.on{color:var(--ink)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(36px,6vw,58px)}h2{font-size:clamp(28px,4vw,38px)}h3{font-size:24px}
.hero{margin:32px auto 40px;padding:0 20px;max-width:1080px}.hero img{width:100%;height:auto;max-height:640px;object-fit:cover;margin:0 auto}
.hero.portrait img{width:auto;max-width:100%;max-height:620px;object-fit:contain;padding:12px;background:#e7ddd6}
.lead{max-width:760px;margin:0 auto 56px;text-align:center;color:#3b3530;font-size:18px}
.btn{display:inline-block;margin-top:18px;padding:12px 22px;border:1px solid var(--ink);text-decoration:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.btn:hover{background:var(--ink);color:var(--bg)}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:72px}
.card{background:var(--card);text-decoration:none;border:1px solid var(--line);transition:transform .2s}
.card:hover{transform:translateY(-3px)}.card img{aspect-ratio:4/3;object-fit:cover;width:100%;background:var(--line)}
.card div{padding:18px 20px 22px}.card p{margin:0;color:var(--muted)}
.unit{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;margin:48px auto 64px}
.unit p{margin:0 0 1em}
.amen{background:var(--card);border:1px solid var(--line);padding:24px 26px;align-self:start}
.amen ul{list-style:none;margin:0;padding:0}.amen li{padding:7px 0;border-bottom:1px solid var(--line);font-size:15px}.amen li:last-child{border:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:72px}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;cursor:zoom-in}
.lb{position:fixed;inset:0;background:rgba(12,10,9,.94);display:none;align-items:center;justify-content:center;z-index:20;user-select:none}
.lb.open{display:flex}.lb img{max-width:88vw;max-height:84vh;object-fit:contain}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;border-radius:50%;width:52px;height:52px;font-size:26px;line-height:52px;padding:0}
.lb button:hover{background:rgba(255,255,255,.25)}.lb .prev{left:16px;top:50%;transform:translateY(-50%)}.lb .next{right:16px;top:50%;transform:translateY(-50%)}
.lb .x{top:16px;right:16px;font-size:22px}.lb .count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#ddd;font-size:14px;letter-spacing:.08em}
@media(max-width:760px){.lb img{max-width:100vw}.lb button{width:44px;height:44px;line-height:44px}.lb .prev{left:6px}.lb .next{right:6px}}
.area{max-width:820px;margin:48px auto 72px}.area section{padding:28px 0;border-bottom:1px solid var(--line)}
.area .dist{color:var(--accent);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.area h4{margin:16px 0 4px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.area ul{margin:4px 0 0;padding-left:20px}
.map{margin:0 0 72px;border:1px solid var(--line);height:clamp(280px,40vw,440px)}.map iframe{width:100%;height:100%;border:0;display:block}
footer{border-top:1px solid var(--line);padding:40px 0;font-size:15px;color:var(--muted);text-align:center}
footer strong{color:var(--ink)}footer p{margin:.3em 0}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,1fr);gap:6px}.unit{grid-template-columns:1fr;gap:28px}nav{gap:12px;font-size:13px}header .wrap{height:auto;padding:12px 20px;flex-direction:column;align-items:flex-start;gap:6px}}
