@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{color-scheme:dark;--bg:#101a20;--panel:#18262d;--ink:#edf3f1;--muted:#b1c2c5;--accent:#e6bd7c;--line:#344750}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6}a{color:inherit}a:hover{color:var(--accent)}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:26px 19px;background:var(--panel);border-right:1px solid var(--line)}.brand{font:600 1.45rem 'Playfair Display',Georgia,serif;color:var(--accent);text-decoration:none}.sub{font-size:.78rem;color:var(--muted);margin:5px 0 24px}.sidebar h3{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin:24px 8px 9px}.sidebar nav a{display:block;text-decoration:none;font-size:.88rem;padding:7px 10px;border-radius:7px;color:#d4dfdf}.sidebar nav a.active,.sidebar nav a:hover{background:#30434b;color:white}.main{min-width:0;padding:40px clamp(16px,4vw,70px) 60px}.eyebrow{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.17em}h1{font:500 clamp(2rem,4vw,3.8rem)/1.16 'Playfair Display',Georgia,serif;margin:10px 0 18px}p.lead{color:var(--muted);max-width:720px;font-size:1.06rem}.hero{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:28px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.btn{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:.9rem;background:#21343c}.btn:hover{border-color:var(--accent)}.photo{margin:0 auto 28px;text-align:center}.photo img{display:block;width:auto;height:auto;max-width:100%;margin:auto;cursor:zoom-in;border-radius:4px;box-shadow:0 8px 32px #0004}.photo figcaption{color:var(--muted);font-size:.78rem;margin-top:8px}.gallery{max-width:1250px;margin:auto}.count{color:var(--muted);font-size:.86rem;margin-bottom:24px}.map{max-width:100%;height:auto;border-radius:9px;box-shadow:0 8px 30px #0005}.sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:24px 0}.section{border:1px solid var(--line);background:var(--panel);padding:20px;border-radius:10px}.section h2{font:500 1.4rem 'Playfair Display',Georgia,serif;color:var(--accent)}.section a{display:block;text-decoration:none;padding:5px 0;font-size:.92rem}.footer{border-top:1px solid var(--line);padding-top:22px;margin-top:40px;color:var(--muted);font-size:.85rem}.mobile-top{display:none}.lightbox{position:fixed;inset:0;z-index:99;background:rgba(3,8,11,.97);display:none;align-items:center;justify-content:center;flex-direction:column;padding:52px 50px}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain}.lbbar{position:absolute;top:12px;left:16px;right:16px;display:flex;justify-content:space-between;color:white;font-size:.85rem}.lbbtn{background:#26383e;color:white;border:1px solid #62747a;border-radius:8px;padding:9px 13px;cursor:pointer}.lbarrow{position:absolute;top:50%;transform:translateY(-50%)}.lbarrow.prev{left:10px}.lbarrow.next{right:10px}@media(max-width:850px){.layout{display:block}.sidebar{display:none;position:static;height:auto}.sidebar.open{display:block}.mobile-top{display:flex;justify-content:space-between;align-items:center;background:var(--panel);padding:12px 18px;position:sticky;top:0;z-index:10}.main{padding:24px 16px 40px}.lightbox{padding:50px 28px}}