/* ============================================
   KOSOFE ELITE KINGS CLUB — Main Stylesheet
   ============================================ */

:root{
  --ink:#0a0806;
  --ink-2:#13100a;
  --ink-3:#1c170e;
  --ink-4:#2a2214;
  --gold:#c89a3c;
  --gold-2:#e6b84d;
  --gold-3:#f0d080;
  --gold-deep:#8a6a28;
  --parchment:#f4ecd8;
  --muted:#8c7a5e;
  --line:rgba(200,154,60,.22);
  --serif:"Cormorant Garamond", "Times New Roman", serif;
  --display:"Italiana", "Cormorant Garamond", serif;
  --sans:"Jost", system-ui, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  background:var(--ink);
  color:var(--parchment);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.65;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.78 0 0 0 0 0.6 0 0 0 0 0.24 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.35;
  z-index:1;
  mix-blend-mode:overlay;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}

/* Layout */
.container{width:min(1280px, 92%);margin-inline:auto;position:relative;z-index:2}
.container-narrow{width:min(900px, 92%);margin-inline:auto;position:relative;z-index:2}

/* Nav */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:22px 0;
  transition:all .4s cubic-bezier(.2,.8,.2,1);
}
.nav.scrolled{
  background:rgba(10,8,6,.82);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
  padding:14px 0;
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:44px;height:44px;object-fit:contain}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{
  font-family:var(--display);
  font-size:20px;letter-spacing:.14em;
  background:linear-gradient(135deg,#8a6a28 0%,#f0d080 50%,#c89a3c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand-tag{
  font-size:9.5px;letter-spacing:.38em;color:var(--muted);
  text-transform:uppercase;margin-top:4px;
}
.nav-links{display:flex;gap:36px;align-items:center;list-style:none}
.nav-links a{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--parchment);opacity:.85;
  position:relative;padding:6px 0;
  transition:opacity .3s;
}
.nav-links a:hover{opacity:1}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--gold-2);transition:width .35s ease;
}
.nav-links a:hover::after, .nav-links .current-menu-item > a::after{width:100%}
.nav-cta{
  padding:11px 22px;
  border:1px solid var(--gold);
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  background:transparent;color:var(--gold-2);
  transition:all .35s;
  position:relative;overflow:hidden;
}
.nav-cta::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-deep),var(--gold-2));
  transform:translateY(100%);transition:transform .35s;z-index:-1;
}
.nav-cta:hover::before{transform:translateY(0)}
.nav-cta:hover{color:var(--ink);border-color:var(--gold-2)}
.burger{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:10px}
.burger span{width:26px;height:1px;background:var(--gold-2);transition:all .3s}

/* Hero */
.hero{
  min-height:100vh;position:relative;
  display:flex;align-items:center;justify-content:center;
  padding:140px 0 100px;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(200,154,60,.14), transparent 50%),
    radial-gradient(ellipse at 75% 80%, rgba(138,106,40,.14), transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(240,208,128,.05), transparent 70%);
}
.hero-ornament{
  position:absolute;width:600px;height:600px;
  border:1px solid var(--line);border-radius:50%;
  top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;z-index:0;
}
.hero-ornament.large{width:900px;height:900px;opacity:.5}
.hero-ornament.small{width:340px;height:340px;opacity:.7}
.hero-content{
  text-align:center;position:relative;z-index:3;
  max-width:900px;margin:0 auto;padding:0 20px;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:36px;
  opacity:0;animation:rise 1.1s .2s forwards;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:"";width:44px;height:1px;background:var(--gold-deep);
}
.hero-logo{
  width:148px;height:148px;margin:0 auto 30px;
  opacity:0;animation:rise 1.2s .35s forwards;
  filter:drop-shadow(0 0 40px rgba(200,154,60,.35));
}
.hero-title{
  font-family:var(--display);
  font-size:clamp(52px, 9vw, 120px);
  line-height:1.02;letter-spacing:-.01em;
  margin-bottom:26px;
  opacity:0;animation:rise 1.2s .5s forwards;
}
.hero-title .gold-line{
  display:block;
  background:linear-gradient(135deg,#8a6a28 0%,#f0d080 40%,#c89a3c 60%,#e6b84d 100%);
  background-size:200% 200%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 8s ease-in-out infinite;
}
.hero-title .ital{
  font-style:italic;font-family:var(--serif);font-weight:400;
  color:var(--parchment);
}
.hero-sub{
  font-size:17px;line-height:1.8;
  max-width:600px;margin:0 auto 42px;
  color:var(--parchment);opacity:0;
  animation:rise 1.2s .7s forwards;
  font-weight:300;
}
.hero-cta-group{
  display:flex;gap:18px;justify-content:center;flex-wrap:wrap;
  opacity:0;animation:rise 1.2s .9s forwards;
}
.btn{
  padding:16px 34px;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;
  font-weight:500;transition:all .4s cubic-bezier(.2,.8,.2,1);
  position:relative;overflow:hidden;display:inline-block;
  border:1px solid transparent;cursor:pointer;
}
.btn-gold{
  background:linear-gradient(135deg,#8a6a28 0%,#c89a3c 50%,#e6b84d 100%);
  color:var(--ink);border-color:var(--gold-2);
}
.btn-gold:hover{box-shadow:0 12px 40px -10px rgba(240,208,128,.45);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--parchment);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-2)}
.scroll-hint{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--muted);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  opacity:0;animation:rise 1.2s 1.3s forwards;
}
.scroll-hint::after{
  content:"";width:1px;height:40px;
  background:linear-gradient(to bottom,var(--gold-2),transparent);
  animation:scroll-pulse 2.2s ease-in-out infinite;
}

@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes scroll-pulse{0%,100%{transform:scaleY(.3);opacity:.3;transform-origin:top}50%{transform:scaleY(1);opacity:1}}

/* Creed */
.creed{
  padding:80px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, transparent, rgba(200,154,60,.04), transparent);
  text-align:center;
}
.creed p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(22px, 3vw, 34px);line-height:1.5;
  max-width:880px;margin:0 auto;color:var(--parchment);
}
.creed .mark{
  color:var(--gold-2);font-family:var(--display);font-style:normal;
  font-size:1.2em;display:inline-block;transform:translateY(.15em);
}

/* Section primitives */
.section{padding:130px 0;position:relative}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:24px;
}
.section-eyebrow::before{content:"";width:40px;height:1px;background:var(--gold-deep)}
.section-title{
  font-family:var(--display);
  font-size:clamp(40px, 6vw, 78px);
  line-height:1.05;letter-spacing:-.01em;
  margin-bottom:30px;color:var(--parchment);
}
.section-title .ital{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold-3)}
.section-lede{
  font-size:17px;line-height:1.85;max-width:640px;
  color:var(--parchment);opacity:.85;font-weight:300;
}

/* About */
.about{padding-top:150px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.about-visual{
  position:sticky;top:120px;aspect-ratio:4/5;
  background:
    radial-gradient(circle at 30% 30%, rgba(200,154,60,.35), transparent 60%),
    linear-gradient(135deg, var(--ink-3), var(--ink-2));
  border:1px solid var(--line);
  overflow:hidden;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.about-visual::before{content:"";position:absolute;inset:30px;border:1px solid var(--line);pointer-events:none}
.about-visual svg{width:60%;height:60%;opacity:.9}
.about-visual .stamp{
  position:absolute;bottom:40px;right:40px;
  font-family:var(--serif);font-style:italic;
  font-size:14px;color:var(--muted);letter-spacing:.1em;
  writing-mode:vertical-rl;
}
.about-text h3{
  font-family:var(--display);font-size:28px;font-weight:400;
  margin:40px 0 14px;color:var(--gold-3);letter-spacing:.01em;
}
.about-text p{margin-bottom:20px;font-size:16px;line-height:1.85;opacity:.88}
.dropcap::first-letter{
  font-family:var(--display);float:left;
  font-size:76px;line-height:.85;
  color:var(--gold-2);padding:8px 14px 0 0;
}

/* Pillars */
.pillars{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillars-header{text-align:center;margin-bottom:80px}
.pillars-header .section-lede{margin:0 auto}
.pillar-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;border:1px solid var(--line)}
.pillar{
  padding:54px 36px 46px;border-right:1px solid var(--line);
  position:relative;transition:background .5s;
  min-height:420px;display:flex;flex-direction:column;
}
.pillar:last-child{border-right:none}
.pillar:hover{background:rgba(200,154,60,.04)}
.pillar-num{font-family:var(--display);font-size:14px;color:var(--gold-2);letter-spacing:.3em;margin-bottom:36px}
.pillar-icon{width:54px;height:54px;margin-bottom:30px;color:var(--gold-2)}
.pillar h3{font-family:var(--display);font-size:30px;font-weight:400;color:var(--parchment);margin-bottom:16px;letter-spacing:.01em}
.pillar p{font-size:14.5px;line-height:1.7;opacity:.78;flex:1}
.pillar-tag{
  margin-top:26px;font-size:10.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold-2);
  padding-top:18px;border-top:1px solid var(--line);
}

/* Stats */
.stats{padding:110px 0;text-align:center;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:70px}
.stat{padding:0 20px;position:relative}
.stat:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--line)}
.stat-num{
  font-family:var(--display);font-size:clamp(44px, 5vw, 72px);line-height:1;
  background:linear-gradient(135deg,#8a6a28 0%,#f0d080 50%,#c89a3c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:14px;
}
.stat-label{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted)}

/* Gallery */
.gallery-section{padding:140px 0 130px}
.gallery-header{
  display:flex;justify-content:space-between;align-items:end;
  margin-bottom:70px;gap:40px;flex-wrap:wrap;
}
.gallery-header .section-lede{margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(12, 1fr);grid-auto-rows:180px;gap:14px}
.g-item{
  position:relative;overflow:hidden;
  border:1px solid var(--line);
  background:var(--ink-3);
  cursor:pointer;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.g-item:hover{transform:scale(.985)}
.g-item::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg, transparent 40%, rgba(10,8,6,.85));
  opacity:0;transition:opacity .4s;
}
.g-item:hover::before{opacity:1}
.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.g-item:hover img{transform:scale(1.04)}
.g-placeholder{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:56px;
  color:var(--gold-deep);opacity:.5;
}
.g-caption{
  position:absolute;left:24px;bottom:22px;right:24px;z-index:3;
  color:var(--parchment);
  transform:translateY(14px);opacity:0;
  transition:all .5s cubic-bezier(.2,.8,.2,1);
}
.g-item:hover .g-caption{transform:translateY(0);opacity:1}
.g-caption-title{font-family:var(--display);font-size:22px;margin-bottom:4px}
.g-caption-date{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2)}
.g-item.size-a{grid-column:span 5;grid-row:span 2;background:linear-gradient(135deg,#2a2214,#1c170e)}
.g-item.size-b{grid-column:span 4;grid-row:span 1;background:linear-gradient(135deg,#1f1a12,#14110c)}
.g-item.size-c{grid-column:span 3;grid-row:span 2;background:linear-gradient(135deg,#2a2214,#141008)}
.g-item.size-d{grid-column:span 4;grid-row:span 1;background:linear-gradient(135deg,#14110c,#1f1a12)}
.g-item.size-e{grid-column:span 4;grid-row:span 2;background:linear-gradient(135deg,#1c170e,#2a2214)}
.g-item.size-f{grid-column:span 4;grid-row:span 1;background:linear-gradient(135deg,#1f1a12,#14110c)}
.g-item.size-g{grid-column:span 4;grid-row:span 1;background:linear-gradient(135deg,#2a2214,#1c170e)}
.g-cta{text-align:center;margin-top:60px}

/* Events */
.events{background:var(--ink-2);border-top:1px solid var(--line)}
.events-list{margin-top:60px;border-top:1px solid var(--line)}
.event{
  display:grid;grid-template-columns:140px 1fr 180px auto;
  gap:40px;align-items:center;padding:36px 20px;
  border-bottom:1px solid var(--line);
  transition:all .4s;position:relative;
}
.event:hover{background:rgba(200,154,60,.04);padding-left:30px}
.event-date{font-family:var(--display);color:var(--gold-2);font-size:15px;letter-spacing:.15em}
.event-date .day{display:block;font-size:44px;line-height:1;color:var(--parchment);margin-bottom:6px}
.event-title{font-family:var(--display);font-size:28px;font-weight:400;color:var(--parchment);margin-bottom:6px}
.event-meta{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.event-loc{font-size:13px;color:var(--muted);letter-spacing:.08em}
.event-arrow{font-family:var(--display);font-size:28px;color:var(--gold-2);transition:transform .4s}
.event:hover .event-arrow{transform:translateX(10px)}

/* Leadership */
.leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:70px}
.leader-card{text-align:center}
.leader-portrait{
  aspect-ratio:3/4;
  background:linear-gradient(135deg,#2a2214,#14110c);
  border:1px solid var(--line);margin-bottom:22px;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.leader-portrait::before{content:"";position:absolute;inset:20px;border:1px solid var(--line);z-index:2;pointer-events:none}
.leader-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.leader-portrait-initial{
  font-family:var(--display);font-size:80px;
  background:linear-gradient(135deg,#8a6a28,#f0d080);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.leader-name{font-family:var(--display);font-size:22px;margin-bottom:6px}
.leader-role{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2)}

/* Join */
.join{
  padding:160px 0;text-align:center;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(200,154,60,.12), transparent 60%),
    linear-gradient(180deg, var(--ink), var(--ink-2));
  position:relative;overflow:hidden;
}
.join::before,.join::after{
  content:"";position:absolute;
  width:700px;height:700px;border:1px solid var(--line);
  border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.join::after{width:1000px;height:1000px;opacity:.4}
.join-content{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:0 20px}
.join h2{font-family:var(--display);font-size:clamp(42px, 7vw, 88px);line-height:1.04;margin-bottom:30px}
.join h2 .gold-line{
  background:linear-gradient(135deg,#8a6a28 0%,#f0d080 50%,#c89a3c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.join p{font-size:18px;line-height:1.8;margin-bottom:46px;opacity:.85;font-weight:300}

/* Contact */
.contact{padding:130px 0;background:var(--ink-2);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:60px}
.contact-info h4{font-family:var(--display);font-size:26px;font-weight:400;margin-bottom:8px;color:var(--parchment)}
.contact-info .info-block{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.contact-info .info-block:last-child{border:none;padding-bottom:0;margin-bottom:0}
.contact-info .info-label{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2);margin-bottom:14px}
.contact-info p{font-size:15px;line-height:1.75;opacity:.82}

.form{display:flex;flex-direction:column;gap:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field{position:relative}
.field label{display:block;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px}
.field input,.field textarea,.field select{
  width:100%;background:transparent;
  border:none;border-bottom:1px solid var(--line);
  padding:12px 0;color:var(--parchment);font-family:var(--sans);
  font-size:15px;font-weight:300;
  transition:border-color .3s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--gold-2)}
.field textarea{min-height:100px;resize:vertical}
.field select option{background:var(--ink-2);color:var(--parchment)}
.field.honeypot{position:absolute;left:-9999px}
.form-message{padding:14px 18px;font-size:13px;letter-spacing:.1em;border:1px solid var(--line)}
.form-message.success{color:var(--gold-2);border-color:var(--gold-deep)}
.form-message.error{color:#ffbbbb;border-color:rgba(255,100,100,.3)}

/* Footer */
footer{background:var(--ink);border-top:1px solid var(--line);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.footer-brand img{width:54px;height:54px;object-fit:contain}
.footer-brand .name{
  font-family:var(--display);font-size:24px;letter-spacing:.12em;
  background:linear-gradient(135deg,#8a6a28,#f0d080);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.footer-brand .tag{font-size:10px;letter-spacing:.34em;color:var(--muted);text-transform:uppercase;margin-top:4px}
.footer-about{font-size:14px;line-height:1.75;opacity:.72;max-width:380px}
.footer-col h5{
  font-family:var(--display);font-size:14px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2);
  margin-bottom:22px;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px}
.footer-col a{font-size:13.5px;opacity:.78;transition:opacity .3s}
.footer-col a:hover{opacity:1;color:var(--gold-2)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:34px;border-top:1px solid var(--line);
  font-size:11.5px;letter-spacing:.16em;color:var(--muted);flex-wrap:wrap;gap:20px;
}
.socials{display:flex;gap:14px}
.socials a{
  width:38px;height:38px;border:1px solid var(--line);border-radius:50%;
  display:grid;place-items:center;color:var(--muted);
  transition:all .3s;
}
.socials a:hover{border-color:var(--gold-2);color:var(--gold-2)}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.2,.8,.2,1)}
.reveal-stagger.in > *{opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s}
.reveal-stagger.in > *:nth-child(2){transition-delay:.15s}
.reveal-stagger.in > *:nth-child(3){transition-delay:.25s}
.reveal-stagger.in > *:nth-child(4){transition-delay:.35s}
.reveal-stagger.in > *:nth-child(5){transition-delay:.45s}
.reveal-stagger.in > *:nth-child(6){transition-delay:.55s}
.reveal-stagger.in > *:nth-child(7){transition-delay:.65s}
.reveal-stagger.in > *:nth-child(8){transition-delay:.75s}

/* Gallery page */
.page-header{padding:180px 0 80px;text-align:center;border-bottom:1px solid var(--line)}
.page-header .eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:24px;
}
.page-header .eyebrow::before,.page-header .eyebrow::after{content:"";width:40px;height:1px;background:var(--gold-deep)}
.page-title{font-family:var(--display);font-size:clamp(52px,8vw,100px);line-height:1.05}
.page-title .ital{font-family:var(--serif);font-style:italic;color:var(--gold-3)}
.page-lede{font-size:17px;max-width:560px;margin:24px auto 0;opacity:.85}

.filters{padding:40px 0;border-bottom:1px solid var(--line);position:sticky;top:76px;background:rgba(10,8,6,.92);backdrop-filter:blur(10px);z-index:50}
.filters-inner{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}
.filter{padding:8px 20px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);border:1px solid transparent;cursor:pointer;transition:all .3s}
.filter:hover{color:var(--gold-2)}
.filter.active{color:var(--gold-2);border-color:var(--line)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:80px 0 140px}
.g-card{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  border:1px solid var(--line);background:var(--ink-3);
  cursor:pointer;transition:transform .5s;
}
.g-card.wide{aspect-ratio:4/3;grid-column:span 2}
.g-card:hover{transform:scale(.99)}
.g-card::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 40%,rgba(10,8,6,.9));opacity:0;transition:opacity .4s}
.g-card:hover::before{opacity:1}
.g-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.g-card:hover img{transform:scale(1.04)}
.card-body{position:absolute;bottom:24px;left:24px;right:24px;z-index:3;transform:translateY(14px);opacity:0;transition:all .4s}
.g-card:hover .card-body{transform:translateY(0);opacity:1}
.card-title{font-family:var(--display);font-size:24px;margin-bottom:4px}
.card-meta{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2)}

/* Single event page */
.single-event{padding:160px 0 100px}
.single-event .event-hero{text-align:center;margin-bottom:60px}
.single-event .event-hero h1{font-family:var(--display);font-size:clamp(40px,6vw,80px);margin-bottom:20px}
.single-event .event-info{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;padding:24px;border:1px solid var(--line);margin-bottom:50px}
.single-event .event-info div{text-align:center}
.single-event .event-info .label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.single-event .event-content{max-width:720px;margin:0 auto;font-size:16px;line-height:1.85;opacity:.88}
.single-event .event-content p{margin-bottom:20px}

/* Mobile */
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:99;
  background:rgba(10,8,6,.97);backdrop-filter:blur(14px);
  flex-direction:column;align-items:center;justify-content:center;gap:30px;
}
.mobile-menu.open{display:flex}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:24px;align-items:center}
.mobile-menu a{font-family:var(--display);font-size:28px;color:var(--parchment);letter-spacing:.1em}

@media (max-width: 960px){
  .nav-links, .nav-cta{display:none}
  .burger{display:flex}
  .about-grid{grid-template-columns:1fr;gap:50px}
  .about-visual{position:static;max-height:500px}
  .pillar-grid{grid-template-columns:1fr 1fr}
  .pillar{border-right:none;border-bottom:1px solid var(--line)}
  .pillar:nth-child(odd){border-right:1px solid var(--line)}
  .stats-grid{grid-template-columns:1fr 1fr;gap:60px 20px}
  .stat:nth-child(2)::after{display:none}
  .g-item.size-a,.g-item.size-b,.g-item.size-c,.g-item.size-d,.g-item.size-e,.g-item.size-f,.g-item.size-g{grid-column:span 6;grid-row:span 1}
  .leadership-grid{grid-template-columns:1fr 1fr}
  .event{grid-template-columns:1fr;gap:14px;padding:30px 0}
  .event-date .day{display:inline;font-size:24px}
  .contact-grid{grid-template-columns:1fr;gap:60px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .form-row{grid-template-columns:1fr}
  .section{padding:90px 0}
  .grid{grid-template-columns:1fr 1fr}
  .g-card.wide{grid-column:span 2}
}
@media (max-width: 560px){
  .hero-ornament.large{width:500px;height:500px}
  .hero-ornament{width:380px;height:380px}
  .hero-ornament.small{width:240px;height:240px}
  .gallery-grid{grid-auto-rows:140px}
  .pillar-grid{grid-template-columns:1fr}
  .pillar{border-right:none!important}
  .leadership-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr;gap:40px}
  .stat::after{display:none!important}
  .grid{grid-template-columns:1fr}
  .g-card.wide{grid-column:span 1;aspect-ratio:4/5}
}

.gold{color:var(--gold-2)}
.center{text-align:center}
