/* ==========================================================================
   ELEGANCE — The Magic of V (2026-10-16)
   Layered after the purple-and-gold palette. Quieter, finer, more room.
   ========================================================================== */
:root {
  --type: 'Bodoni Moda', 'Didot', Georgia, serif;   /* labels become fine engraved capitals */
  --hair: rgba(212, 175, 55, 0.28);
}

/* no film effects */
body::before { display: none !important; animation: none !important; }
body::after { background: radial-gradient(ellipse at 50% 40%, transparent 62%, rgba(8,3,14,.45) 100%) !important; }
.nr-reel, .kicker .nr-sc { display: none !important; }

/* engraved small capitals everywhere the typewriter used to be */
.kicker, .hero .hero-sub, .nav-links a, .btn, .chip, .parlor-tab, .byline, .trust-strip span,
.review-card cite, .review-source, .field label, footer .foot-grid h4, footer p, .video-note,
.guide-card span, .event-card .icon + h3 + p .btn, .game-qcount, .tr-meta, .mr-reading,
.price-card h3, .article-body th, .detail-label, .tr-verdict, .marks-count, .marks-title, .nr-cap {
  font-family: 'Bodoni Moda', Georgia, serif !important;
  font-weight: 500 !important;
}
.kicker, .hero .hero-sub {
  font-size: .76rem !important; letter-spacing: .38em !important; color: var(--gold) !important;
  display: inline-flex; align-items: center; gap: 1.1rem; margin-bottom: 1.6rem;
}
.kicker::before, .kicker::after { content: '' !important; display: block !important; flex: 0 0 40px; width: 40px; height: 1px; background: var(--gold) !important; opacity: .55; }
.split-body .kicker::before, .hero .hero-sub::before { display: none !important; }
.hero .hero-sub::after { content: ''; width: 34px; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); }

/* headings: lighter, airier */
.section-title { font-weight: 400 !important; letter-spacing: -.005em !important; line-height: 1.12 !important; margin-bottom: 1.8rem !important; }
.section-title::after { content: '' !important; display: block; width: 150px; height: 14px; margin: 1.7rem auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='14' viewBox='0 0 150 14'%3E%3Cline x1='0' y1='7' x2='62' y2='7' stroke='%23d4af37' stroke-width='1'/%3E%3Cline x1='88' y1='7' x2='150' y2='7' stroke='%23d4af37' stroke-width='1'/%3E%3Cpath d='M75 1 L81 7 L75 13 L69 7 Z' fill='none' stroke='%23d4af37' stroke-width='1'/%3E%3Ccircle cx='75' cy='7' r='1.6' fill='%23d4af37'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .85; }
.split-body .section-title::after, .exp-head .section-title::after { margin-left: 0; }
.hero h1, .hero h1.h1-seo { font-weight: 400 !important; line-height: 1.06 !important; }

/* body copy: a touch larger and looser */
.lead, .article-body p, .article-body li { line-height: 1.95 !important; }
section { padding: clamp(6rem, 11vw, 10rem) 0 !important; }
main > section + section { border-top: 0 !important; }
main > section + section { background: linear-gradient(90deg, transparent, var(--hair), transparent) top center / min(420px, 64vw) 1px no-repeat !important; }

/* nav: refined */
nav { background: rgba(16,8,26,.88) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--hair) !important; }
.nav-links a { font-size: .66rem !important; letter-spacing: .26em !important; border-bottom: 0 !important; }
.nav-links a:hover { color: var(--gold-hi) !important; }
.nav-cta { letter-spacing: .22em !important; padding: .6rem 1.15rem !important; }

/* buttons: thin, letterspaced, gold leaf only on the main one */
.btn { font-size: .68rem !important; letter-spacing: .3em !important; padding: 1.05rem 1.9rem !important; transition: all .5s ease !important; }
.btn-gold::after { content: none !important; }
.btn-ghost, .chip { border-color: rgba(212,175,55,.45) !important; }
.btn-gold:hover { box-shadow: 0 0 40px rgba(212,175,55,.28) !important; }

/* hero portrait / poster: soft gold double frame */
.hero-portrait { border: 1px solid rgba(212,175,55,.45) !important; box-shadow: 0 0 0 10px var(--ink), 0 0 0 11px rgba(212,175,55,.22), 0 40px 90px rgba(8,3,14,.7) !important; }
.nr-blinds { display: none !important; }
.hero-portrait .nr-cap { letter-spacing: .32em; font-size: .56rem !important; }
.hero.hero-sub-page::before { display: none !important; }
.hero-badges { border-top-color: var(--hair) !important; }
.hero-badges, .trust-strip span { letter-spacing: .28em !important; font-size: .62rem !important; }
.trust-strip { border-color: var(--hair) !important; }
.trust-strip b { font-weight: 400 !important; }

/* event columns, reviews, FAQ: gold hairlines instead of grey */
.event-cards, .review-cards, .faq-list, .guide-grid, .price-grid { border-color: var(--hair) !important; }
.event-card, .review-card, .faq-list details, .guide-card, .price-card { border-color: var(--hair) !important; }
.event-card h3 { font-weight: 400 !important; }
.event-card .icon { font-size: 1rem !important; opacity: .85; }
.review-card blockquote { font-size: clamp(1.25rem, 2.1vw, 1.6rem) !important; line-height: 1.6 !important; }
.review-card .stars { letter-spacing: .4em !important; font-size: .7rem !important; }
.faq-list summary { font-weight: 400 !important; }

/* pull lines: no black boxes — italic between hairlines */
.cta-bar h2 { font-weight: 400 !important; }
.article-body .guide-photo figcaption { background: none !important; margin-top: 1rem !important; font-style: italic; color: var(--silver) !important; }
.article-body .callout { background: rgba(212,175,55,.05) !important; border-left: 1px solid var(--gold) !important; }
.article-body .callout p { font-family: 'EB Garamond', Georgia, serif !important; font-style: italic; font-size: 1.15rem !important; }
.article-body h2 { border-top-color: var(--hair) !important; font-weight: 400 !important; }

/* form */
.field input, .field select, .field textarea { font-family: 'EB Garamond', Georgia, serif !important; font-size: 1.12rem !important; }
.contact-card { border-top: 1px solid var(--gold) !important; }

/* footer */
footer .foot-grid h4 { letter-spacing: .32em !important; font-size: .64rem !important; }
footer p { letter-spacing: .26em !important; font-size: .6rem !important; }

/* gentler reveal */
.noir-js .nr-rev { filter: none !important; transform: translateY(10px) !important; transition: opacity 1.4s ease, transform 1.4s cubic-bezier(.22,1,.36,1) !important; }
.noir-js .nr-rev.nr-in { transform: none !important; }

@media (max-width: 820px) {
  .kicker::before, .kicker::after { width: 22px; }
  .nav-links a { letter-spacing: .2em !important; }
}
