*{box-sizing:border-box;margin:0;padding:0}
:root{--accent:#C4732A;--accent-light:#E8942E;--ardoise:#2C3A47;--creme:#FAF6EF;--warm-white:#FFFDF8;--text-dark:#1A1208;--text-muted:#8C7360;--border:rgba(139,69,19,0.15);--fd:'Playfair Display',Georgia,serif;--fb:'DM Sans',sans-serif}
body{font-family:var(--fb);background:var(--warm-white);color:var(--text-dark)}
.topbar{background:var(--ardoise);color:rgba(255,255,255,.7);font-size:.8rem;padding:.4rem 5vw;display:flex;justify-content:space-between}
.topbar a{color:var(--accent-light);text-decoration:none;font-weight:500}
nav{background:rgba(26,18,8,.97);padding:0 5vw;display:flex;align-items:center;justify-content:space-between;height:64px;border-bottom:1px solid rgba(196,115,42,.25);position:sticky;top:0;z-index:100}
.nav-logo{font-family:var(--fd);font-size:1.25rem;color:var(--accent-light);text-decoration:none;line-height:1.2}
.nav-logo span{display:block;font-family:var(--fb);font-size:.72rem;color:rgba(255,255,255,.45);letter-spacing:.1em;text-transform:uppercase;font-weight:300}
.nav-back{color:rgba(255,255,255,.7);text-decoration:none;font-size:.875rem;border:1px solid rgba(255,255,255,.2);padding:.4rem 1rem;border-radius:2px;transition:all .2s}
.nav-back:hover{border-color:var(--accent-light);color:var(--accent-light)}
.page-hero{background:var(--ardoise);padding:3rem 5vw 2.5rem;border-bottom:3px solid var(--accent)}
.breadcrumb{font-size:.78rem;color:rgba(255,255,255,.45);margin-bottom:.75rem}
.breadcrumb a{color:var(--accent-light);text-decoration:none}
.page-hero h1{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.5rem);color:white;margin-bottom:.5rem}
.page-hero p{color:rgba(255,255,255,.65);font-size:.95rem;max-width:600px}
.other-galleries{background:var(--creme);padding:.75rem 5vw;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border)}
.other-galleries span{font-size:.78rem;color:var(--text-muted);margin-right:.25rem}
.gal-link{font-size:.78rem;padding:.3rem .75rem;border:1px solid var(--border);border-radius:2px;text-decoration:none;color:var(--text-muted);background:white;transition:all .2s;white-space:nowrap}
.gal-link:hover{border-color:var(--accent);color:var(--accent)}
.gal-link.active{background:var(--accent);color:white;border-color:var(--accent)}
.container{max-width:1160px;margin:0 auto;padding:3rem 5vw}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gi{overflow:hidden;border-radius:3px;position:relative;cursor:zoom-in}
.gi img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .4s}
.gi:hover img{transform:scale(1.05)}
.gi figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(26,18,8,.7));color:white;font-size:.8rem;padding:1.5rem .75rem .6rem;opacity:0;transition:opacity .3s}
.gi:hover figcaption{opacity:1}
.gi.large{grid-column:span 2}
.gi.large img{height:492px}
.gi-add{border:2px dashed var(--border);background:var(--creme);display:flex;flex-direction:column;align-items:center;justify-content:center;height:240px;border-radius:3px;color:var(--text-muted);font-size:.8rem;gap:.5rem}
.gi-add-ico{font-size:2rem;opacity:.3}
.cta-section{background:var(--ardoise);padding:3rem 5vw;text-align:center}
.cta-section h2{font-family:var(--fd);font-size:1.5rem;color:white;margin-bottom:.75rem}
.cta-section p{color:rgba(255,255,255,.65);margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.btn-accent{background:var(--accent);color:white;padding:.8rem 1.75rem;border-radius:2px;text-decoration:none;font-weight:500;font-size:.95rem;display:inline-block;margin:.25rem;transition:background .2s}
.btn-accent:hover{background:var(--accent-light)}
.btn-outline{color:rgba(255,255,255,.8);padding:.8rem 1.75rem;border-radius:2px;text-decoration:none;font-size:.95rem;border:1px solid rgba(255,255,255,.25);display:inline-block;margin:.25rem;transition:border-color .2s}
.btn-outline:hover{border-color:var(--accent-light);color:var(--accent-light)}
footer{background:#1A1208;padding:1.5rem 5vw;text-align:center;color:rgba(255,255,255,.3);font-size:.8rem}
footer a{color:var(--accent-light);text-decoration:none;margin:0 .5rem}
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:9999;align-items:center;justify-content:center;cursor:zoom-out}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:3px}
.lb-close{position:fixed;top:18px;right:22px;color:white;font-size:2.2rem;cursor:pointer;background:none;border:none;opacity:.7;line-height:1}
.lb-close:hover{opacity:1}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);color:white;font-size:2.2rem;cursor:pointer;background:rgba(255,255,255,.1);border:none;padding:.6rem .9rem;border-radius:2px;opacity:.7}
.lb-prev:hover,.lb-next:hover{opacity:1;background:rgba(196,115,42,.5)}
.lb-prev{left:14px}
.lb-next{right:14px}
.lb-cap{position:fixed;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-size:.85rem}
@media(max-width:768px){.gallery-grid{grid-template-columns:1fr 1fr}.gi.large{grid-column:span 2}.gi.large img{height:300px}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}.gi.large{grid-column:span 1}.gi.large img{height:240px}}
