/* EVENT — cinematic dark, champagne gold, full-bleed cases */
body[data-niche="event"] {
  --champ:#D4A14A; --champ-deep:#A77B26; --champ-soft:#F4DEAE;
  --night:#0E0B14; --night-2:#16121E; --night-3:#1E1828;
  --paper:#F4ECDD; --bone:#B8AC97;
  --hairline:rgba(244,236,221,.1); --hairline-2:rgba(244,236,221,.18);
  --surface-page:var(--night); --surface-card:var(--night-2); --surface-soft:var(--night-3);
  --text-primary:var(--paper); --text-secondary:var(--bone); --border-soft:var(--hairline);
  --accent:var(--champ); --accent-dark:var(--champ-deep);
  background:var(--night); color:var(--paper); font-family:var(--font-sans);
}
body[data-niche="event"] h1, body[data-niche="event"] h2, body[data-niche="event"] h3 {
  font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-style:italic; letter-spacing:-0.005em; color:var(--paper); line-height:1.05;
}
.ev-topbar { position:absolute; top:0; left:0; right:0; z-index:30; padding:22px 0; }
.ev-topbar.scrolled { position:fixed; padding:14px 0; background:rgba(14,11,20,.94); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--hairline); }
.ev-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ev-brand b { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:28px; font-weight:500; }
.ev-brand b .a { color:var(--champ); }
.ev-nav { display:flex; gap:32px; }
.ev-nav a { color:rgba(244,236,221,.78); font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:500; }
.ev-nav a:hover { color:var(--champ); }
.ev-cta { display:inline-flex; padding:12px 24px; border:1px solid var(--champ); color:var(--champ); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; transition:background .25s, color .25s; }
.ev-cta:hover { background:var(--champ); color:var(--night); }
.ev-cta.solid { background:var(--champ); color:var(--night); }
@media (max-width:760px) { .ev-nav { display:none; } }

.ev-hero { position:relative; min-height:100vh; display:flex; align-items:center; padding:120px 0 80px; overflow:hidden; }
.ev-hero-photo { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); animation:ev-z 18s ease-out forwards; background-color:var(--night-2); }
@keyframes ev-z { to { transform:scale(1); } }
.ev-hero-veil { position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,11,20,.45), rgba(14,11,20,.85)); }
.ev-hero-content { position:relative; z-index:2; max-width:1000px; }
.ev-hero-tag { display:inline-flex; gap:14px; align-items:center; color:var(--champ); font-size:11px; letter-spacing:.36em; text-transform:uppercase; font-weight:700; margin-bottom:28px; font-family:var(--font-sans); }
.ev-hero-tag::before, .ev-hero-tag::after { content:''; width:32px; height:1px; background:var(--champ); opacity:.7; }
.ev-hero h1 { color:var(--paper); font-size:clamp(54px, 9vw, 140px); line-height:.96; margin:0 0 28px; max-width:14ch; }
.ev-hero h1 .a { color:var(--champ); font-style:italic; }
.ev-hero p { font-family:var(--font-sans); color:rgba(244,236,221,.84); font-size:clamp(16px, 1.4vw, 19px); line-height:1.55; max-width:54ch; margin:0 0 36px; font-style:normal; }
.ev-hero-row { display:flex; gap:14px; flex-wrap:wrap; }

.ev-sec { padding:clamp(80px, 10vw, 140px) 0; }
.ev-sec.bg2 { background:var(--night-2); }
.ev-eye { color:var(--champ); font-size:11px; letter-spacing:.36em; text-transform:uppercase; font-weight:700; margin-bottom:14px; display:inline-flex; align-items:center; gap:14px; }
.ev-eye::before, .ev-eye::after { content:''; width:28px; height:1px; background:var(--champ); }
.ev-h2 { font-size:clamp(38px, 5.4vw, 72px); line-height:1.05; letter-spacing:-0.012em; margin:0 0 14px; }
.ev-h2 i { font-style:italic; color:var(--champ); }
.ev-lead { font-family:var(--font-sans); color:var(--bone); font-size:clamp(15px, 1.2vw, 17px); line-height:1.7; max-width:62ch; }

/* FORMATS — types of events */
.ev-fmt { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:36px; border-top:1px solid var(--hairline); }
.ev-fmt-card { padding:36px 28px; border-bottom:1px solid var(--hairline); border-right:1px solid var(--hairline); transition:background .25s; cursor:pointer; }
.ev-fmt-card:hover { background:var(--night-2); }
.ev-fmt-card:nth-child(4n) { border-right:0; }
.ev-fmt-card .num { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--champ); font-size:20px; margin-bottom:10px; }
.ev-fmt-card h3 { font-size:26px; margin:0 0 8px; line-height:1.15; }
.ev-fmt-card p { color:var(--bone); font-size:13px; line-height:1.55; margin:0; font-family:var(--font-sans); }
.ev-fmt-card-from { margin-top:14px; padding-top:12px; border-top:1px solid var(--hairline); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bone); font-weight:600; font-family:var(--font-sans); }
.ev-fmt-card-from b { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:24px; color:var(--champ); margin-top:4px; text-transform:none; letter-spacing:0; font-weight:500; }
@media (max-width:1000px) { .ev-fmt { grid-template-columns:1fr 1fr; } .ev-fmt-card:nth-child(2n) { border-right:0; } .ev-fmt-card:nth-child(4n) { border-right:1px solid var(--hairline); } }
@media (max-width:600px) { .ev-fmt { grid-template-columns:1fr; } .ev-fmt-card { border-right:0; } }

/* CASES — full-bleed */
.ev-case { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:36px; }
.ev-case-photo { aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--night-2); }
.ev-case-body { padding:clamp(40px, 5vw, 80px); display:flex; flex-direction:column; justify-content:center; }
.ev-case-num { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--champ); font-size:24px; margin-bottom:12px; }
.ev-case-body h3 { font-size:clamp(36px, 5vw, 64px); margin:0 0 18px; line-height:1.05; }
.ev-case-body p { font-family:var(--font-sans); color:var(--bone); font-size:15px; line-height:1.7; margin:0 0 24px; font-style:normal; }
.ev-case-meta { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; border-top:1px solid var(--hairline); }
.ev-case-meta div b { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:32px; color:var(--champ); margin-bottom:4px; line-height:1; }
.ev-case-meta div span { color:var(--bone); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; font-family:var(--font-sans); }
@media (max-width:900px) { .ev-case { grid-template-columns:1fr; } .ev-case-photo { aspect-ratio:4/3; } }

/* PROCESS */
.ev-proc { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:36px; }
.ev-proc-step { padding:32px 22px; border-right:1px solid var(--hairline); position:relative; }
.ev-proc-step:last-child { border-right:0; }
.ev-proc-step::before { content:counter(ev-s, decimal-leading-zero); counter-increment:ev-s; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:48px; color:var(--champ); display:block; margin-bottom:14px; line-height:1; }
.ev-proc { counter-reset:ev-s; }
.ev-proc-step h3 { font-size:20px; margin:0 0 8px; line-height:1.2; }
.ev-proc-step p { color:var(--bone); font-size:13px; line-height:1.5; margin:0; font-family:var(--font-sans); }
@media (max-width:1000px) { .ev-proc { grid-template-columns:1fr 1fr; } .ev-proc-step:nth-child(2n) { border-right:0; } .ev-proc-step { border-bottom:1px solid var(--hairline); } }

/* GALLERY */
.ev-gal { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:36px; }
.ev-gal a { aspect-ratio:1/1; background-size:cover; background-position:center; background-color:var(--night-2); transition:transform .3s; }
.ev-gal a:hover { transform:scale(1.02); z-index:1; }

/* CONTACT form */
.ev-contact { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:36px; align-items:center; }
.ev-contact-form { background:var(--night-2); border:1px solid var(--hairline-2); padding:40px; }
.ev-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.ev-contact-field label { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bone); margin-bottom:6px; font-weight:700; font-family:var(--font-sans); }
.ev-contact-field input, .ev-contact-field select, .ev-contact-field textarea { width:100%; height:44px; padding:0 14px; background:var(--night); border:1px solid var(--hairline-2); color:var(--paper); font:inherit; font-size:14px; }
.ev-contact-field textarea { height:96px; padding:12px 14px; resize:vertical; }
.ev-contact-field input:focus, .ev-contact-field textarea:focus { outline:0; border-color:var(--champ); }
.ev-contact-form button { width:100%; height:50px; background:var(--champ); color:var(--night); border:0; font:inherit; font-weight:800; font-size:12px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; margin-top:8px; transition:background .25s; }
.ev-contact-form button:hover { background:var(--champ-soft); }
@media (max-width:900px) { .ev-contact { grid-template-columns:1fr; } }
@media (max-width:540px) { .ev-contact-row { grid-template-columns:1fr; } }

/* FAQ + FOOTER */
.ev-faq { max-width:760px; margin:36px auto 0; }
.ev-faq details { border-bottom:1px solid var(--hairline); padding:24px 0; }
.ev-faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:24px; font-weight:500; }
.ev-faq summary::-webkit-details-marker { display:none; }
.ev-faq summary::after { content:'+'; color:var(--champ); font-size:30px; transition:transform .25s; font-style:italic; }
.ev-faq details[open] summary::after { transform:rotate(45deg); }
.ev-faq details > div { padding-top:14px; color:var(--bone); line-height:1.7; font-size:15px; font-family:var(--font-sans); }

.ev-foot { background:var(--night-2); padding:64px 0 28px; border-top:1px solid var(--hairline); }
.ev-foot-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px; }
.ev-foot-brand b { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:32px; color:var(--paper); display:block; }
.ev-foot-brand b .a { color:var(--champ); }
.ev-foot-brand p { color:var(--bone); margin:14px 0 0; max-width:34ch; line-height:1.6; }
.ev-foot h5 { color:var(--champ); font-size:11px; letter-spacing:.26em; text-transform:uppercase; margin:0 0 14px; font-weight:700; font-family:var(--font-sans); }
.ev-foot a { color:rgba(244,236,221,.7); display:block; padding:4px 0; font-size:13px; }
.ev-foot a:hover { color:var(--champ); }
.ev-foot-bot { padding-top:20px; border-top:1px solid var(--hairline); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; color:var(--bone); font-size:12px; opacity:.5; }
@media (max-width:800px) { .ev-foot-top { grid-template-columns:1fr; } }

body[data-niche="event"] .reveal { opacity:0; transform:translateY(14px); transition:opacity 700ms var(--ease-smooth), transform 700ms var(--ease-smooth); }
body[data-niche="event"] .reveal.in { opacity:1; transform:none; }
