*{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#c9a24a;--bg:#0a0a0a;--card:#141414;--muted:#b8b2a3}
body{font-family:'Inter',Arial,sans-serif;background:var(--bg);color:#eee;line-height:1.65}
a{color:inherit;text-decoration:none}
h1,h2,h3,.logo{font-family:'Playfair Display',Georgia,serif;color:var(--gold);font-weight:700}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}.narrow{max-width:760px;text-align:center}
header{position:sticky;top:0;background:rgba(0,0,0,.94);border-bottom:1px solid #2a2415;z-index:10}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:92px}
.logo{font-size:1.6rem;letter-spacing:.5px}.logo span{font-style:italic;font-weight:500}.logo.small{font-size:1.2rem}
.logo img{height:64px;width:auto;display:block;border-radius:0;background:transparent}
nav a{margin-left:28px;font-size:.82rem;text-transform:uppercase;letter-spacing:2px}nav a:hover{color:var(--gold)}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:50px 0;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.8)),url(images/img03.jpg) center/cover}
.hero-text{max-width:820px;padding:0 24px;display:flex;flex-direction:column;align-items:center}
.hero-logo-wrap{position:relative;display:inline-block;width:min(250px,50vw);margin:-18px 0 56px;animation:logo-drift 6s ease-in-out infinite;will-change:transform;filter:drop-shadow(0 8px 28px rgba(0,0,0,.55))}
.hero-logo{width:100%;height:auto;border-radius:0;display:block;background:transparent;position:relative;z-index:1}
.logo-flash{position:absolute;left:0;top:0;width:100%;height:auto;display:block;pointer-events:none;z-index:2;opacity:0;animation:shutter-flash 2.8s ease-in-out infinite;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 65%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 65%,transparent 100%);-webkit-mask-size:220% 100%;mask-size:220% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:4px;font-size:.8rem;margin:40px 0}
h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.15;color:#fff;margin:0 0 34px}
.btn{display:inline-block;background:var(--gold);color:#000;padding:14px 34px;font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:.85rem;border:1px solid var(--gold);cursor:pointer;font-family:inherit}
.btn:hover{background:transparent;color:var(--gold)}
section{padding:90px 0}section.alt{background:#050505;border-top:1px solid #1d1a12;border-bottom:1px solid #1d1a12}
h2{font-size:2.3rem;margin-bottom:18px;text-align:center}h2::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:16px auto 0}
.lead{color:var(--muted);font-size:1.1rem}.oneline{white-space:nowrap;display:inline-block}#about .lead+.lead{margin-top:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-left:auto;margin-right:auto}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px;margin-left:auto;margin-right:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.card{background:var(--card);border:1px solid #2a2415;border-top:3px solid var(--gold);padding:28px}.card h3{font-size:1.2rem;margin-bottom:10px}.card p{color:var(--muted);font-size:.95rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px;margin-top:40px}
.gallery figure{overflow:hidden;border:1px solid #2a2415;background:#000}.gallery .tall{grid-row:span 2}.gallery .wide{grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,filter .5s;filter:grayscale(25%)}
.gallery figure:hover img{transform:scale(1.06);filter:none}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2{text-align:left}.contact h2::after{margin-left:0}.contact p{margin-bottom:12px}
.lbl{display:inline-block;width:70px;color:var(--gold);text-transform:uppercase;font-size:.75rem;letter-spacing:2px}
.social{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin:0;padding:0;line-height:0}.social-icon{color:var(--gold);display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;margin:0;line-height:0;border:1px solid rgba(201,162,74,.45);border-radius:10px;background:rgba(201,162,74,.08);box-sizing:border-box;vertical-align:middle;opacity:.95;transition:background .2s,border-color .2s,transform .2s,opacity .2s}.social-icon:hover{opacity:1;background:rgba(201,162,74,.18);border-color:var(--gold);transform:translateY(-2px)}.social-icon svg{display:block;width:24px;height:24px;flex-shrink:0}
form{display:grid;gap:16px;background:var(--card);padding:30px;border:1px solid #2a2415}
label{font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold)}
input,textarea{display:block;width:100%;margin-top:6px;background:#000;border:1px solid #333;color:#fff;padding:12px;font:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
footer{border-top:1px solid #2a2415;padding:30px 0;text-align:center;color:#777;font-size:.85rem}footer p{margin-top:6px}
.foot-logo{width:72px;height:auto;border-radius:0;display:block;margin:0 auto;background:transparent}
@keyframes logo-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shutter-flash{0%{opacity:0;-webkit-mask-position:120% 0;mask-position:120% 0}8%{opacity:1;-webkit-mask-position:50% 0;mask-position:50% 0}22%{opacity:0;-webkit-mask-position:-120% 0;mask-position:-120% 0}100%{opacity:0;-webkit-mask-position:-120% 0;mask-position:-120% 0}}
@media(prefers-reduced-motion:reduce){.hero-logo-wrap,.logo-flash{animation:none}}
@media(max-width:900px){.grid,.grid.two,.grid.three{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}nav{display:none}}

.form-status{margin:8px 0 0;font-size:.9rem;letter-spacing:.5px;color:#c9c3b0}.form-status.ok{color:#9dcf8a}.form-status.err{color:#e08a8a}button.btn:disabled{opacity:.6;cursor:wait}
