:root{
  --bg:#f6f1ea; --panel:#fff; --ink:#2c2720; --muted:#7a6f5f; --accent:#c0783c; --border:#e6dccb; --radius:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:"Inter",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.topbar{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:20}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:"Fraunces",serif;font-weight:900;font-size:1.25rem;text-decoration:none;color:var(--ink)}
.brand span{color:var(--accent)}
.topnav{display:flex;gap:24px}.topnav a{color:var(--muted);text-decoration:none;font-size:.9rem}.topnav a:hover{color:var(--ink)}
main{padding:40px 20px 60px}
.hero{text-align:center;padding:30px 0 40px}
.tag{display:inline-block;font-family:"Fraunces",serif;color:var(--accent);font-weight:600;margin-bottom:14px}
h1{font-family:"Fraunces",serif;font-size:2.6rem;font-weight:900;margin:0 0 16px;line-height:1.1}
h1 em{font-style:normal;color:var(--accent)}
.hero p{max-width:520px;margin:0 auto 26px;color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 26px;border-radius:30px;text-decoration:none;font-weight:700;border:none;cursor:pointer;font-size:.95rem}
.btn:hover{filter:brightness(1.05)}
h2{font-family:"Fraunces",serif;font-size:1.5rem;font-weight:900;margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:720px){.grid{grid-template-columns:1fr 1fr}}
.photo{aspect-ratio:4/3;border-radius:10px;cursor:pointer;display:grid;place-items:center;color:#fff;font-family:"Fraunces",serif;font-weight:900;font-size:1.05rem;text-align:center;padding:12px;transition:transform .2s}
.photo:hover{transform:scale(1.02)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:grid;place-items:center;z-index:60;padding:24px}
.lightbox img{max-width:90%;max-height:85%;border-radius:10px}
.lb-close{position:fixed;top:20px;right:24px;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:2rem;width:44px;height:44px;border-radius:50%;cursor:pointer;line-height:1}
.galerie{margin-bottom:40px}
.formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:40px}
.format{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center}
.format.featured{border-color:var(--accent)}
.format h3{font-family:"Fraunces",serif;font-size:1.1rem;margin:0 0 8px}
.format p{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.format .price{font-family:"Fraunces",serif;font-weight:700;color:var(--accent)}
.contact{max-width:520px;margin:0 auto}
.contact label{display:grid;gap:6px;margin-bottom:14px;font-size:.85rem;font-weight:600;color:var(--muted)}
.contact input,.contact select,.contact textarea{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;font-family:inherit;font-size:.95rem;color:var(--ink)}
.contact input:focus,.contact select:focus,.contact textarea:focus{outline:2px solid var(--accent)}
.contact textarea{resize:vertical}
.confirm{color:var(--accent);font-weight:600;margin-top:12px}
.footer{border-top:1px solid var(--border);padding:22px 0;color:var(--muted);font-size:.82rem;text-align:center}