
:root{
  --bg:#09090c;
  --bg-elev:#111218;
  --panel:#151823;
  --panel-2:#1b2030;
  --text:#f4f0e8;
  --muted:#b9b0a3;
  --line:rgba(255,255,255,.08);
  --gold:#d8b46c;
  --gold-2:#f2dfb3;
  --accent:#a33a25;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --radius:24px;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(216,180,108,.18), transparent 30%),
    radial-gradient(circle at top right, rgba(163,58,37,.2), transparent 25%),
    linear-gradient(180deg, #0a0b10 0%, #08090d 100%);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 2rem), var(--max)); margin-inline:auto}
.section{padding:88px 0}
.section-tight{padding:64px 0}
.section-title{
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.02;
  margin:0 0 1rem;
  letter-spacing:-.03em;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--gold-2);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:1rem;
}
.kicker::before{
  content:"";
  width:40px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold));
}
.lead{font-size:1.08rem;color:var(--muted);max-width:68ch}
.muted{color:var(--muted)}
.site-header{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(14px);
  background:rgba(8,9,13,.72);
  border-bottom:1px solid var(--line);
}
.header-wrap{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:84px;
}
.brand{display:flex;align-items:center;gap:.9rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase}
.brand img{width:62px;height:62px;object-fit:contain}
.brand span small{display:block;color:var(--gold-2);font-size:.74rem;letter-spacing:.16em}
.nav-toggle{display:none;background:none;border:1px solid var(--line); color:var(--text); padding:.65rem .85rem; border-radius:14px}
.nav-links{display:flex;align-items:center;gap:1.2rem}
.nav-links a{color:var(--muted);font-size:.96rem}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.button,.button-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.65rem;
  padding:.9rem 1.25rem;border-radius:999px;
  transition:.25s ease; border:1px solid transparent;
}
.button{
  background:linear-gradient(135deg, var(--gold), #b48642);
  color:#17120a; font-weight:700;
  box-shadow:0 10px 30px rgba(216,180,108,.28);
}
.button:hover{transform:translateY(-1px); box-shadow:0 16px 40px rgba(216,180,108,.34)}
.button-secondary{
  border-color:var(--line); background:rgba(255,255,255,.02); color:var(--text)
}
.button-secondary:hover{border-color:rgba(216,180,108,.4); background:rgba(255,255,255,.05)}
.hero{
  padding:72px 0 56px;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr; gap:2rem; align-items:stretch;
}
.hero-card{
  position:relative;overflow:hidden;border-radius:36px; min-height:620px; box-shadow:var(--shadow);
  border:1px solid var(--line);
  background:#10131a;
}
.hero-card img{width:100%;height:100%;object-fit:cover}
.hero-overlay{
  position:absolute; inset:0;
  background:
   linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.75)),
   linear-gradient(120deg, rgba(8,8,12,.86), rgba(8,8,12,.28) 55%, rgba(8,8,12,.18));
}
.hero-content{
  position:absolute;inset:auto auto 0 0; padding:clamp(2rem,5vw,4rem); max-width:760px;
}
.hero h1{
  margin:.3rem 0 1rem;
  font-size:clamp(3rem,7vw,6.5rem);
  line-height:.94;
  letter-spacing:-.05em;
}
.hero-copy{font-size:1.08rem;color:#e5ddcf;max-width:48ch}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem;
}
.stat{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);
  padding:1rem 1.1rem; border-radius:20px;
}
.stat strong{display:block;font-size:1.3rem}
.stat span{color:var(--muted);font-size:.92rem}
.side-stack{display:grid;gap:1.5rem}
.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:30px;
  padding:1.5rem;
  box-shadow:var(--shadow);
}
.panel-image{
  overflow:hidden; padding:0;
}
.panel-image img{width:100%;height:280px;object-fit:cover}
.panel h3{margin:.2rem 0 .7rem;font-size:1.35rem}
.grid-2{display:grid;grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.5rem}
.split{
  display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center
}
.media-frame{
  border-radius:32px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);
}
.media-frame img{width:100%;height:100%;object-fit:cover}
.quote{
  font-size:1.35rem; line-height:1.4; color:var(--gold-2); margin:1.2rem 0 0;
}
.cards .panel{height:100%}
.cards h3{font-size:1.2rem}
.list-clean{display:grid;gap:1rem;margin-top:1.3rem}
.list-clean div{
  padding:1rem 1.1rem; border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.02)
}
.list-clean strong{display:block}
.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.event-card{
  display:grid;grid-template-columns:auto 1fr auto; gap:1rem; align-items:center;
  padding:1.2rem; border-radius:22px; background:rgba(255,255,255,.03); border:1px solid var(--line)
}
.event-date{
  min-width:82px; text-align:center; border-radius:18px; padding:.85rem .5rem;
  background:linear-gradient(180deg, rgba(216,180,108,.17), rgba(216,180,108,.04)); border:1px solid rgba(216,180,108,.25)
}
.event-date strong{display:block;font-size:1.5rem;line-height:1}
.event-date span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.event-card p{margin:.2rem 0 0;color:var(--muted)}
.badge{
  display:inline-flex;padding:.45rem .75rem;border-radius:999px;background:rgba(216,180,108,.12); color:var(--gold-2); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase
}
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem
}
.gallery-item{
  position:relative; overflow:hidden; border-radius:26px; min-height:300px; border:1px solid var(--line); box-shadow:var(--shadow)
}
.gallery-item img{width:100%;height:100%;object-fit:cover; transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; padding:1.2rem;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.78));
}
.gallery-caption strong{display:block}
.gallery-caption span{color:#ddd4c6; font-size:.92rem}
.contact-grid{
  display:grid;grid-template-columns:.95fr 1.05fr; gap:2rem
}
.contact-card{padding:2rem;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-list{display:grid;gap:1rem;margin-top:1.25rem}
.contact-list a,.contact-list div{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
label{display:block;font-size:.92rem;color:var(--muted);margin-bottom:.45rem}
input, textarea{
  width:100%; background:#0d1018; color:var(--text); border:1px solid rgba(255,255,255,.1);
  border-radius:16px; padding:1rem 1rem; outline:none
}
textarea{min-height:170px; resize:vertical}
input:focus,textarea:focus{border-color:rgba(216,180,108,.45); box-shadow:0 0 0 4px rgba(216,180,108,.08)}
.full{grid-column:1/-1}
.banner{
  position:relative; overflow:hidden; border-radius:34px; min-height:420px; border:1px solid var(--line); box-shadow:var(--shadow)
}
.banner img{width:100%;height:100%;object-fit:cover}
.banner .hero-overlay{background:linear-gradient(90deg, rgba(8,9,13,.86), rgba(8,9,13,.25) 60%, rgba(8,9,13,.5))}
.banner-content{position:absolute;inset:0;display:flex;align-items:flex-end;padding:2.5rem}
.page-hero{padding:48px 0 10px}
.site-footer{
  padding:36px 0 52px; border-top:1px solid var(--line); margin-top:40px
}
.footer-wrap{
  display:flex; justify-content:space-between; gap:1rem; align-items:center; flex-wrap:wrap
}
.footer-nav{display:flex; gap:1rem; flex-wrap:wrap; color:var(--muted)}
.logo-watermark{
  position:absolute; inset:auto 20px 20px auto; width:140px; opacity:.14; pointer-events:none
}
@media (max-width: 980px){
  .hero-grid,.split,.contact-grid,.grid-2,.events-grid{grid-template-columns:1fr}
  .grid-3,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-card{min-height:560px}
}
@media (max-width: 760px){
  .nav-toggle{display:inline-flex}
  .nav-links{
    position:absolute; left:1rem; right:1rem; top:84px; display:none; flex-direction:column; align-items:flex-start;
    padding:1rem; border-radius:20px; background:rgba(12,14,22,.98); border:1px solid var(--line); box-shadow:var(--shadow)
  }
  .nav-links.open{display:flex}
  .hero{padding-top:34px}
  .hero h1{font-size:clamp(2.5rem,14vw,4rem)}
  .hero-card{min-height:510px}
  .hero-stats,.form-grid,.grid-3,.gallery-grid{grid-template-columns:1fr}
  .event-card{grid-template-columns:1fr; align-items:flex-start}
  .footer-wrap{align-items:flex-start}
}
