@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#191716;--muted:#6d6660;--paper:#fffdf9;--accent:#9b7b66;--soft:#f4eee8;--line:#e5d8cf;--shadow:0 20px 60px rgba(30,20,15,.12)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6} img{max-width:100%;display:block} a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 5vw;background:rgba(255,253,249,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.02em}.brand img{width:58px;height:58px;object-fit:contain;border-radius:50%}.brand small{font-weight:500;color:var(--muted)}.main-nav{display:flex;gap:24px}.main-nav a{text-decoration:none;font-weight:600;color:var(--muted)}.main-nav a:hover{color:var(--ink)}.menu-toggle{display:none;border:0;background:var(--ink);color:white;border-radius:999px;padding:8px 12px}.hero{min-height:82vh;display:grid;place-items:center;padding:90px 5vw;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.20)),var(--hero) center/cover no-repeat;color:white}.hero-content{max-width:850px;text-align:center;text-shadow:0 3px 18px rgba(0,0,0,.45)}h1,h2{font-family:'Playfair Display',serif;line-height:1.08;margin:0 0 18px}h1{font-size:clamp(3rem,8vw,7rem)}h2{font-size:clamp(2rem,4vw,3.6rem)}.lead{font-size:clamp(1.2rem,2vw,1.7rem);max-width:800px;margin:0 auto 28px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800;font-size:.78rem}.hero .eyebrow{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;background:var(--accent);color:white;text-decoration:none;font-weight:800;margin:6px}.btn.ghost{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5)}.section{padding:82px 5vw;max-width:1240px;margin:auto}.intro{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,2.4rem);text-align:center;color:#352c27}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}.portrait-card{margin:0;background:white;border:1px solid var(--line);padding:14px;border-radius:28px;box-shadow:var(--shadow)}.portrait-card img{border-radius:20px;width:100%;object-fit:cover}.portrait-card figcaption{text-align:center;color:var(--muted);padding:12px}.center{text-align:center}.filters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0 34px}.filters span{border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--muted);background:white}.gallery{columns:3 280px;column-gap:18px}.gallery-item{break-inside:avoid;display:block;position:relative;margin:0 0 18px;border-radius:22px;overflow:hidden;background:#eee;box-shadow:0 10px 30px rgba(0,0,0,.08)}.gallery-item img{width:100%;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;inset:auto 12px 12px 12px;background:rgba(255,255,255,.9);border-radius:999px;padding:8px 12px;text-align:center;font-weight:700;opacity:0;transform:translateY(8px);transition:.25s}.gallery-item:hover span{opacity:1;transform:translateY(0)}.services{background:var(--soft);max-width:none}.services>h2,.services>.eyebrow{max-width:1040px;margin-left:auto;margin-right:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1140px;margin:34px auto 0}.cards article{background:white;padding:28px;border-radius:26px;border:1px solid var(--line);box-shadow:0 12px 35px rgba(30,20,15,.08)}.cards h3{font-family:'Playfair Display',serif;font-size:1.55rem;margin:0 0 10px}.contact{max-width:none;background:linear-gradient(135deg,#fff,var(--soft))}.contact-box{max-width:850px;margin:auto;text-align:center;background:white;border:1px solid var(--line);border-radius:34px;padding:48px;box-shadow:var(--shadow)}.socials{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}.socials a{padding:11px 18px;border-radius:999px;background:var(--ink);color:white;text-decoration:none;font-weight:800}footer{text-align:center;padding:26px;color:var(--muted);border-top:1px solid var(--line)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:30px;z-index:50}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:94vw;border-radius:14px}.lightbox button{position:absolute;top:18px;right:24px;font-size:40px;color:white;background:transparent;border:0;cursor:pointer}@media(max-width:760px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 5vw;flex-direction:column}.main-nav.open{display:flex}.grid-2,.cards{grid-template-columns:1fr}.hero{min-height:72vh}.contact-box{padding:32px 20px}.brand span{font-size:.92rem}}

.gallery-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.4rem);margin:52px 0 20px;text-align:center;color:#352c27}.gallery-title:first-of-type{margin-top:34px}


.section-lead{max-width:850px;margin:0 auto 28px;color:var(--muted);font-size:1.08rem}.seo-intro{font-family:Inter,system-ui,sans-serif;font-size:1.05rem;max-width:900px;margin:22px auto 0;color:var(--muted)}.price-note{max-width:850px;margin:34px auto 0;background:white;border:1px solid var(--line);border-radius:26px;padding:28px;text-align:center;box-shadow:0 12px 35px rgba(30,20,15,.08)}.price-note h3{font-family:'Playfair Display',serif;font-size:1.7rem;margin:0 0 8px}.reservation{background:var(--paper)}.booking-form{max-width:900px;margin:30px auto 0;background:white;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.booking-form label{font-weight:800;color:#352c27}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font:inherit;background:#fffdf9;color:var(--ink)}.booking-form textarea{resize:vertical}.booking-form .full{grid-column:1/-1}.booking-form button{border:0;margin-top:22px;cursor:pointer}.shop{background:linear-gradient(135deg,#fff,var(--soft));max-width:none}.shop>h2,.shop>.eyebrow,.shop>.section-lead{max-width:1040px;margin-left:auto;margin-right:auto}.shop-cta{margin-top:30px}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.booking-form{padding:26px 18px}}
