:root{--ocher:#C19A00;--gold:#D4AF37;--wood:#3B2A1A;--ivory:#F8F3E7;--charcoal:#222}
*{box-sizing:border-box}
html{background:var(--ivory);color:var(--charcoal)}
body{margin:0;font-family: Inter, Source Sans 3, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;line-height:1.6}
h1,h2,h3,h4{font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, 'Times New Roman', serif;letter-spacing:.3px}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:1rem}
.header{position:sticky;top:0;background:
linear-gradient(180deg, rgba(248,243,231,.94), rgba(248,243,231,.88)),
radial-gradient(600px 80px at 50% 0, rgba(212,175,55,.10), transparent);
backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid rgba(59,42,26,.25);z-index:50;box-shadow:0 8px 24px rgba(59,42,26,.08)}
.brand{display:flex;align-items:baseline;gap:.5rem}
.brand-title{font-size:1.25rem;font-weight:700}
.brand-credit{font-size:.85rem;color:#4a4a4a}
.nav{display:flex;gap:1rem;flex-wrap:wrap}
.nav a{padding:.5rem .75rem;border-radius:6px}
.nav a.active, .nav a:hover{background:rgba(212,175,55,.12);outline:1px solid rgba(212,175,55,.4)}
.hero{padding:3rem 1rem;background:
linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.06)),
radial-gradient(1200px 400px at 20% -10%, rgba(212,175,55,.12), transparent),
radial-gradient(800px 300px at 80% -20%, rgba(193,154,0,.10), transparent);
border-bottom: 1px solid rgba(59,42,26,.2)}
.cta{display:inline-block;margin-top:1rem;padding:.75rem 1rem;background:var(--wood);color:#fff;border-radius:8px;border:1px solid #1f140c}
.cta:hover{background:#2e2014}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.98));border:1px solid rgba(212,175,55,.25);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.card-img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .3s ease, filter .3s ease;filter:saturate(105%) contrast(102%)}
.card:hover .card-img{transform:scale(1.03);filter:saturate(110%) contrast(105%)}
.card-body{padding:.75rem}
.badge{display:inline-block;font-size:.75rem;padding:.15rem .5rem;border:1px solid rgba(212,175,55,.35);border-radius:999px;background:linear-gradient(180deg, rgba(245,238,220,1), rgba(235,220,180,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.footer{padding:2rem 1rem;border-top:1px solid rgba(0,0,0,.08);margin-top:2rem}
.filterbar{position:sticky;top:58px;z-index:40;display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0;padding:.5rem;background:rgba(248,243,231,.7);backdrop-filter:saturate(120%) blur(8px);border:1px solid rgba(59,42,26,.18);border-radius:12px}
.filterbar select,.filterbar input{padding:.5rem .6rem;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:#fff}
.filterbar .reset{background:linear-gradient(180deg,#fff,#f1e7c9);border:1px solid rgba(212,175,55,.35)}
.chips{display:flex;gap:.35rem;flex-wrap:wrap;margin:.25rem 0}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(212,175,55,.35);background:linear-gradient(180deg, #f9f3df, #efe1b8)}
.chip a{opacity:.8}

.skeleton{background:linear-gradient(90deg, #eee, #f6f6f6, #eee);background-size:200% 100%;animation:shimmer 1.2s infinite;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;border:1px solid rgba(255,255,255,.2)}
.contact-drawer{position:fixed;right:1rem;bottom:1rem;z-index:60}
.contact-button{background:linear-gradient(180deg, #d6b45a, #c19a00);border:1px solid rgba(212,175,55,.6);color:#121212;padding:.75rem 1rem;border-radius:999px;box-shadow:0 6px 18px rgba(212,175,55,.25)}
.contact-button:hover{filter:brightness(1.02)}
.focus-ring:focus{outline:3px solid rgba(212,175,55,.8);outline-offset:2px}
