/*
Theme Name: Lady-Gaga.net Velvet
Theme URI: https://lady-gaga.net
Author: Lady-Gaga.net
Description: A dark-luxury fan news theme — gothic opera, art-nouveau line art and a velvet stage before the show. Breathing WebGL smoke, slow theatrical motion, and sidebar widgets for Lady Gaga on social, trending, a welcome message, the latest video streaming and a fan poll. Unofficial fan site theme.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lgn
Tags: news, blog, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, threaded-comments, widgets
*/

/* ---------- Tokens ---------- */
:root {
  --void: #0B0809;
  --void-2: #130D0F;
  --void-3: #1C1316;
  --velvet-deep: #2E0710;
  --velvet: #5A0F1C;
  --garnet: #8E1B2C;
  --gold: #C6A15B;
  --gold-soft: rgba(198, 161, 91, .55);
  --gold-line: rgba(198, 161, 91, .26);
  --bone: #EFE6D6;
  --bone-2: #D9CDBA;
  --smoke: #9A8C8C;
  --line: rgba(239, 230, 214, .09);

  --f-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --f-caps: "Cinzel", "Trajan Pro", Georgia, serif;
  --f-body: "Jost", "Futura", "Century Gothic", system-ui, sans-serif;
  --f-goth: "UnifrakturMaguntia", "Old English Text MT", Georgia, serif;

  --gutter: clamp(16px, 3.4vw, 40px);
  --ease: cubic-bezier(.45, 0, .55, 1);
  --t: 400ms;
  --t-slow: 500ms;

  /* art-nouveau line art (gold stroke) */
  --orn-corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23C6A15B' stroke-width='1'%3E%3Cpath d='M1 47V16C1 7.7 7.7 1 16 1h31'/%3E%3Cpath d='M6 47V20c0-7.7 6.3-14 14-14h27' opacity='.55'/%3E%3Cpath d='M12 32c0-10 8-18 18-18 5 0 8 3 8 7s-3 6-6 6-5-2-5-4.5'/%3E%3C/svg%3E");
  --orn-arch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 90' preserveAspectRatio='xMidYMax meet' fill='none' stroke='%23C6A15B' stroke-width='.7' opacity='.6'%3E%3Cpath d='M50 90V46c0-20 13-34 30-34s30 14 30 34v44'/%3E%3Cpath d='M57 90V47c0-16 10-28 23-28s23 12 23 28v43' opacity='.6'/%3E%3Ccircle cx='80' cy='46' r='7'/%3E%3Cpath d='M80 39c-3-8-9-12-15-10M80 39c3-8 9-12 15-10M80 12V3M68 15l-5-7M92 15l5-7'/%3E%3C/svg%3E");
  --orn-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16' fill='none' stroke='%23C6A15B' stroke-width='.9'%3E%3Cpath d='M0 8h40c8 0 10-6 16-6 3 0 4 3 4 6 0-3 1-6 4-6 6 0 8 6 16 6h40'/%3E%3Cpath d='M60 3l4 5-4 5-4-5z'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--void); color-scheme: dark; }
body {
  margin: 0;
  background: var(--void);
  color: var(--bone);
  font: 300 17px/1.65 var(--f-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
/* candlelight that trails the cursor + velvet vignette */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(640px circle at var(--mx, 72%) var(--my, 18%), rgba(198, 161, 91, .07), transparent 65%),
    radial-gradient(120% 90% at 50% 0%, transparent 55%, rgba(46, 7, 16, .45) 100%);
}
body::after {
  content: "";
  position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: .05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-color: var(--gold-soft); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color var(--t) var(--ease); }
a:hover { color: var(--gold); }
:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }
button { font: inherit; color: inherit; }
::selection { background: var(--velvet); color: var(--bone); }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
  clip: auto; width: auto; height: auto; z-index: 200; top: 8px; left: 8px;
  background: var(--gold); color: var(--void); padding: 10px 14px;
}

/* ---------- Header video banner ---------- */
.lgn-videohead {
  position: relative; z-index: 2; overflow: hidden; background: var(--void);
  border-bottom: 1px solid var(--gold-line);
  height: clamp(180px, 34vw, 460px);
}
.lgn-videohead__media { display: block; width: 100%; height: 100%; object-fit: cover; }
.lgn-videohead__veil {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(120% 90% at 50% 25%, transparent 30%, rgba(11, 8, 9, .55) 100%),
    linear-gradient(180deg, rgba(11, 8, 9, .45) 0%, transparent 22%, transparent 68%, rgba(11, 8, 9, .85) 100%);
}
.lgn-motion {
  position: absolute; z-index: 3; right: var(--gutter); bottom: 14px;
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 8px 12px; border: 1px solid var(--gold-line); border-radius: 999px;
  background: rgba(11, 8, 9, .55); color: var(--gold);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font: 600 9px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase;
  transition: border-color var(--t) var(--ease), background var(--t) var(--ease), color var(--t) var(--ease);
}
.lgn-motion:hover { border-color: var(--gold); background: rgba(90, 15, 28, .7); color: var(--bone); }
.lgn-motion svg { width: 10px; height: 10px; flex: none; }
.lgn-motion__play, .lgn-still .lgn-motion__pause { display: none; }
.lgn-still .lgn-motion__play { display: inline; }

/* ---------- Ticker ---------- */
.lgn-ticker {
  position: relative; z-index: 2;
  display: flex; align-items: stretch;
  background: linear-gradient(180deg, var(--velvet-deep), #1f050b);
  border-bottom: 1px solid var(--gold-line);
  font: 400 11px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase;
  color: var(--bone-2); overflow: hidden;
}
.lgn-ticker__label {
  flex: none; display: flex; align-items: center; gap: 10px;
  padding: 11px 22px 11px var(--gutter);
  color: var(--gold); border-right: 1px solid var(--gold-line);
  font-weight: 600;
}
.lgn-ticker__label::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--garnet);
  box-shadow: 0 0 10px 2px rgba(142, 27, 44, .8); animation: lgn-candle 6s var(--ease) infinite;
}
.lgn-ticker__viewport { overflow: hidden; flex: 1; display: flex; align-items: center;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.lgn-ticker__track { display: flex; width: max-content; animation: lgn-ticker 75s linear infinite; }
.lgn-ticker:hover .lgn-ticker__track { animation-play-state: paused; }
.lgn-ticker__track a { text-decoration: none; padding: 11px 0; white-space: nowrap; display: inline-flex; align-items: center; }
.lgn-ticker__track a::after { content: "\2767"; color: var(--gold); margin: 0 34px; font-size: 13px; letter-spacing: 0; }

/* ---------- Header ---------- */
.lgn-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
  background: rgba(11, 8, 9, .88);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gold-line);
}
.lgn-header__inner {
  max-width: 1340px; margin: 0 auto; padding: 16px var(--gutter);
  display: flex; align-items: center; gap: 32px;
}
.lgn-logo {
  display: inline-flex; align-items: baseline; text-decoration: none; line-height: 1; flex: none;
  font: 500 clamp(22px, 2.5vw, 30px)/1 var(--f-display); letter-spacing: .14em;
}
.lgn-logo__main {
  background: linear-gradient(100deg, var(--bone-2) 0%, #fff8ea 22%, var(--gold) 40%, var(--bone-2) 60%, var(--bone-2) 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: lgn-foil 14s var(--ease) infinite;
}
.lgn-logo__tld { color: var(--gold); font-style: italic; letter-spacing: .06em; }
.lgn-logo:hover { color: inherit; }
.custom-logo-link img { max-height: 48px; width: auto; display: block; }

.lgn-nav { flex: 1; min-width: 0; }
.lgn-nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.lgn-nav a {
  position: relative; display: block; padding: 8px 12px;
  font: 500 12px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase; text-decoration: none;
  color: var(--bone-2);
}
.lgn-nav a::after {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 1px;
  background: var(--gold); transform: scaleX(0); transform-origin: center;
  transition: transform var(--t) var(--ease);
}
.lgn-nav a:hover { color: var(--gold); }
.lgn-nav a:hover::after, .lgn-nav .current-menu-item > a::after, .lgn-nav .current-cat > a::after { transform: scaleX(1); }
.lgn-nav .current-menu-item > a, .lgn-nav .current-cat > a { color: var(--gold); }
.lgn-nav .sub-menu { display: none; }

.lgn-header__actions { display: flex; gap: 12px; align-items: center; flex: none; }
.lgn-iconbtn {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  background: transparent; border: 1px solid var(--gold-line); cursor: pointer; color: var(--gold);
  transition: border-color var(--t) var(--ease), background var(--t) var(--ease);
}
.lgn-iconbtn:hover { border-color: var(--gold); background: rgba(198, 161, 91, .08); }
.lgn-iconbtn svg { width: 17px; height: 17px; }
.lgn-btn, .search-submit, .lgn-search button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer;
  padding: 12px 22px; border: 1px solid var(--gold-soft); border-radius: 0; background: transparent;
  color: var(--gold); text-decoration: none;
  font: 600 11px/1 var(--f-caps); letter-spacing: .24em; text-transform: uppercase;
  transition: background var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease);
}
.lgn-btn:hover, .search-submit:hover, .lgn-search button:hover {
  background: var(--velvet); border-color: var(--gold); color: var(--bone);
}
.lgn-btn--solid { background: var(--gold); color: var(--void); border-color: var(--gold); }

.lgn-search { border-top: 1px solid var(--line); }
.lgn-search form { max-width: 1340px; margin: 0 auto; padding: 16px var(--gutter); display: flex; gap: 12px; }
.lgn-search input[type="search"], .search-form .search-field {
  flex: 1; min-width: 0; background: transparent; color: var(--bone);
  border: 0; border-bottom: 1px solid var(--gold-line); border-radius: 0;
  padding: 10px 2px; font: italic 400 22px var(--f-display);
  transition: border-color var(--t) var(--ease);
}
.lgn-search input[type="search"]:focus { outline: none; border-color: var(--gold); }

@media (max-width: 960px) {
  .lgn-header__inner { flex-wrap: wrap; gap: 10px 16px; }
  .lgn-nav { order: 3; flex-basis: 100%; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter); }
  .lgn-nav ul { flex-wrap: nowrap; justify-content: flex-start; }
  .lgn-nav a { white-space: nowrap; padding: 8px 10px; }
  .lgn-header__actions { margin-left: auto; }
}

/* ---------- Layout ---------- */
.lgn-main {
  position: relative; z-index: 1;
  max-width: 1340px; margin: 0 auto;
  padding: 36px var(--gutter) 88px;
  display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 56px; align-items: start;
}
.lgn-content { min-width: 0; display: grid; gap: 64px; }
@media (max-width: 1060px) { .lgn-main { grid-template-columns: minmax(0, 1fr); gap: 56px; } }

/* ---------- Shared type ---------- */
.lgn-kicker {
  display: inline-flex; align-items: center; gap: 10px; width: fit-content;
  color: var(--gold); text-decoration: none;
  font: 600 10.5px/1 var(--f-caps); letter-spacing: .28em; text-transform: uppercase;
}
.lgn-kicker::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .8; }
.lgn-kicker--garnet { color: #d4596a; }
a.lgn-kicker:hover { color: var(--bone); }

.lgn-headline {
  margin: 0; font-family: var(--f-display); font-weight: 500;
  line-height: 1.04; letter-spacing: -.012em; text-wrap: balance;
  font-optical-sizing: auto;
}
.lgn-headline a { text-decoration: none; background: linear-gradient(var(--gold), var(--gold)) 0 100% / 0 1px no-repeat; transition: background-size var(--t-slow) var(--ease), color var(--t) var(--ease); }
.lgn-headline a:hover { color: var(--bone); background-size: 100% 1px; }
.lgn-headline mark {
  background: none; color: var(--gold); font-style: italic; font-weight: 400;
}
.lgn-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px;
  color: var(--smoke); font: 400 12px/1.4 var(--f-body); letter-spacing: .06em;
}
.lgn-meta > * + *::before { content: "·"; margin-right: 18px; margin-left: -9px; color: var(--gold-soft); }
.lgn-meta a { text-decoration: none; }
.lgn-meta .lgn-live { color: #d4596a; display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-caps); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; }
.lgn-meta .lgn-live::after { content: ""; order: -1; width: 6px; height: 6px; border-radius: 50%; background: var(--garnet); box-shadow: 0 0 10px 2px rgba(142,27,44,.8); animation: lgn-candle 6s var(--ease) infinite; }

.lgn-sec-head { display: flex; align-items: center; gap: 20px; margin: 0 0 26px; }
.lgn-sec-head h2 {
  margin: 0; font: 500 clamp(26px, 2.8vw, 34px)/1 var(--f-display); letter-spacing: -.01em;
}
.lgn-sec-head h2 em { font-style: italic; font-weight: 400; color: var(--gold); }
.lgn-sec-head::after {
  content: ""; flex: 1; height: 16px;
  background: linear-gradient(var(--gold-line), var(--gold-line)) left center / calc(100% - 128px) 1px no-repeat, var(--orn-rule) right center / 120px 16px no-repeat;
}
.lgn-sec-head a { order: 3; font: 600 10.5px var(--f-caps); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; color: var(--smoke); }
.lgn-sec-head a:hover { color: var(--gold); }

/* ---------- Media placeholders ---------- */
.ph {
  position: relative; display: block; overflow: hidden; isolation: isolate;
  aspect-ratio: 16 / 10; max-width: 100%; background: var(--void-3);
}
.ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.04); transition: transform var(--t-slow) var(--ease), filter var(--t-slow) var(--ease); }
.ph--art {
  background:
    radial-gradient(80% 70% at var(--px, 50%) var(--py, 20%), var(--c2) 0%, transparent 70%),
    radial-gradient(120% 90% at 50% 120%, var(--c3) 0%, transparent 60%),
    linear-gradient(180deg, var(--c1), var(--void));
}
.ph--art::before {
  content: ""; position: absolute; inset: 12% 0 0; z-index: 1;
  background: var(--orn-arch) center bottom / auto 88% no-repeat;
  opacity: .75; transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);
}
.ph::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(120% 100% at 50% 40%, transparent 45%, rgba(11, 8, 9, .7) 100%);
  transition: opacity var(--t-slow) var(--ease);
}
.ph--v1 { --c1: #3a0a14; --c2: rgba(142, 27, 44, .75); --c3: rgba(198, 161, 91, .18); }
.ph--v2 { --c1: #1d1016; --c2: rgba(154, 140, 140, .35); --c3: rgba(90, 15, 28, .6); --px: 30%; }
.ph--v3 { --c1: #2a1a10; --c2: rgba(198, 161, 91, .38); --c3: rgba(90, 15, 28, .5); --py: 30%; }
.ph--v4 { --c1: #22060c; --c2: rgba(90, 15, 28, .9); --c3: rgba(11, 8, 9, .9); --px: 70%; }
.ph--v5 { --c1: #17121a; --c2: rgba(110, 80, 120, .35); --c3: rgba(198, 161, 91, .2); }
.ph--v6 { --c1: #301018; --c2: rgba(239, 230, 214, .16); --c3: rgba(142, 27, 44, .5); --px: 40%; --py: 10%; }
.ph__label {
  position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; text-align: center;
  font: italic 400 clamp(18px, 2.4vw, 26px)/1 var(--f-display); color: var(--bone-2); opacity: .85;
}
.lgn-news-item:hover .ph img, .lgn-sh__media:hover img { transform: scale(1.03); filter: saturate(1) contrast(1.06); }
.lgn-news-item:hover .ph--art::before, .lgn-sh__media:hover.ph--art::before { opacity: 1; transform: translateY(-4px); }
.lgn-news-item:hover .ph::after, .lgn-sh__media:hover::after { opacity: .6; }

/* ---------- Hero: the stage ---------- */
.lgn-hero {
  --cw: 0px;
  position: relative; isolation: isolate; overflow: hidden; margin: 0;
  min-height: clamp(500px, 56vw, 680px);
  display: flex; align-items: flex-end;
  background: var(--void);
  box-shadow: 0 40px 90px -40px rgba(90, 15, 28, .8), 0 0 0 1px var(--gold-line);
}
.lgn-hero__stage {
  position: absolute; inset: 0; z-index: -3;
  background:
    radial-gradient(46% 60% at 50% -6%, rgba(239, 230, 214, .20), transparent 70%),
    radial-gradient(70% 50% at 50% 108%, rgba(142, 27, 44, .55), transparent 70%),
    linear-gradient(180deg, #120a0c, var(--void));
}
.lgn-hero__img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(1.08) brightness(.8); }
.lgn-hero__emblem {
  position: absolute; z-index: -2; left: 50%; top: 7%; width: min(46%, 380px); aspect-ratio: 1;
  transform: translateX(-50%); color: var(--gold); opacity: .42;
  animation: lgn-breathe 12s var(--ease) infinite;
}
.lgn-hero__emblem svg { width: 100%; height: 100%; display: block; overflow: visible; }
.lgn-hero__emblem .spin { transform-origin: 200px 200px; animation: lgn-rotate 120s linear infinite; }
.lgn-smoke { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; display: block; pointer-events: none; }
.lgn-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(11, 8, 9, 0) 38%, rgba(11, 8, 9, .72) 70%, rgba(11, 8, 9, .95) 100%);
}
/* proscenium: gold arch line */
.lgn-hero::after {
  content: ""; position: absolute; z-index: 3; pointer-events: none;
  inset: 14px calc(var(--cw) + 10px) 14px;
  border: 1px solid var(--gold-line); border-bottom: 0;
  border-radius: 50% 50% 0 0 / 70px 70px 0 0;
}
.lgn-hero__body {
  position: relative; z-index: 3; width: 100%; display: grid; gap: 18px; justify-items: center; text-align: center;
  padding: clamp(24px, 4vw, 48px) calc(var(--cw) + clamp(16px, 4vw, 48px));
}
.lgn-hero .lgn-headline { font-size: clamp(36px, 5.2vw, 74px); max-width: 17ch; }
.lgn-hero__dek { margin: 0; max-width: 56ch; color: var(--bone-2); font-size: clamp(15px, 1.4vw, 18px); }
.lgn-hero__row { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: center; }
@media (max-width: 600px) {
  .lgn-hero::after { border-radius: 50% 50% 0 0 / 40px 40px 0 0; }
}
/* opening sequence for the copy: short UI fades, staggered */
.lgn-hero__body > * { animation: lgn-in var(--t-slow) var(--ease) both; }
.lgn-hero__body > :nth-child(1) { animation-delay: 0.3s; }
.lgn-hero__body > :nth-child(2) { animation-delay: 0.45s; }
.lgn-hero__body > :nth-child(3) { animation-delay: 0.6s; }
.lgn-hero__body > :nth-child(4) { animation-delay: 0.75s; }

/* ---------- Latest news (stacked) ---------- */
.lgn-news { display: grid; }
.lgn-news-item {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 36px; align-items: start;
  padding: 52px 0;
}
.lgn-news-item:first-child { padding-top: 0; }
.lgn-news-item + .lgn-news-item { background: var(--orn-rule) center top / 120px 16px no-repeat; }
.lgn-news-item__frame {
  position: relative; display: block; padding: 6px; border: 1px solid var(--gold-line);
  transition: border-color var(--t) var(--ease);
}
.lgn-news-item:hover .lgn-news-item__frame { border-color: var(--gold-soft); }
.lgn-news-item__frame .ph { aspect-ratio: 4 / 5; }
.lgn-news-item__frame::before, .lgn-news-item__frame::after {
  content: ""; position: absolute; z-index: 5; width: 38px; height: 38px; pointer-events: none;
  background: var(--orn-corner) center / contain no-repeat;
}
.lgn-news-item__frame::before { top: 12px; left: 12px; }
.lgn-news-item__frame::after { bottom: 12px; right: 12px; transform: rotate(180deg); }
.lgn-news-item__text { display: grid; gap: 14px; align-content: start; }
.lgn-news-item .lgn-headline { font-size: clamp(28px, 2.9vw, 40px); }
.lgn-news-item__body { display: grid; gap: 14px; color: var(--bone-2); max-width: 62ch; margin-top: 4px; }
.lgn-news-item__body p { margin: 0; }
.lgn-news-item__body p:first-child::first-letter {
  float: left; font: 400 3.4em/.8 var(--f-goth); color: var(--gold); margin: .08em .08em 0 0;
}
.lgn-more-link {
  justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin-top: 4px;
  font: 600 10.5px/1 var(--f-caps); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; color: var(--gold);
}
.lgn-more-link::after { content: ""; width: 28px; height: 1px; background: currentColor; transition: width var(--t) var(--ease); }
.lgn-more-link:hover { color: var(--bone); }
.lgn-more-link:hover::after { width: 44px; }
@media (max-width: 760px) {
  .lgn-news-item { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 44px 0; }
  .lgn-news-item__frame .ph { aspect-ratio: 16 / 10; }
}

.nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; }
.nav-links .page-numbers {
  display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px;
  text-decoration: none; font: 400 20px var(--f-display); color: var(--bone-2);
  border-bottom: 1px solid transparent; transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
}
.nav-links .page-numbers.current { color: var(--gold); font-style: italic; border-color: var(--gold); }
.nav-links a.page-numbers:hover { color: var(--gold); border-color: var(--gold-line); }

/* ---------- Sidebar & widgets ---------- */
.lgn-sidebar { display: grid; gap: 30px; min-width: 0; }
.widget {
  position: relative; background: linear-gradient(180deg, var(--void-2), var(--void));
  border: 1px solid var(--gold-line);
  transition: border-color var(--t) var(--ease);
}
.widget:hover { border-color: var(--gold-soft); }
.widget::before, .widget::after {
  content: ""; position: absolute; z-index: 2; width: 34px; height: 34px; pointer-events: none;
  background: var(--orn-corner) center / contain no-repeat; opacity: .9;
}
.widget::before { top: 5px; left: 5px; }
.widget::after { bottom: 5px; right: 5px; transform: rotate(180deg); }
.widget-title {
  margin: 0; padding: 24px 22px 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
  font: 500 24px/1.05 var(--f-display); letter-spacing: -.005em;
}
.widget-title small {
  order: -1; font: 600 9.5px/1 var(--f-caps); letter-spacing: .3em; text-transform: uppercase; color: var(--gold);
}
.widget-title small.is-live { color: #d4596a; }
.widget-title::after { content: ""; width: 120px; height: 16px; background: var(--orn-rule) center / contain no-repeat; margin-top: 4px; }
.widget__body { padding: 4px 22px 22px; display: grid; gap: 14px; }
.widget__foot {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  margin: 0 22px; padding: 14px 0 20px; border-top: 1px solid var(--line);
  font: 600 9.5px var(--f-caps); letter-spacing: .24em; text-transform: uppercase; color: var(--smoke);
}
.widget__foot a { text-decoration: none; color: var(--gold); }
.widget__foot a:hover { color: var(--bone); }
.widget ul:not([class]) { margin: 0; padding: 0 22px 22px 40px; }
.widget:not([class*="widget_lgn"]) > :not(.widget-title):not(ul) { padding: 0 22px; }

/* Lady Gaga on Social */
.lgn-sh { display: grid; gap: 14px; }
.lgn-sh__head { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.lgn-sh__avatar {
  width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: radial-gradient(circle at 35% 30%, #a62637, var(--velvet) 70%);
  font: italic 500 15px var(--f-display); color: var(--bone);
  box-shadow: 0 0 0 1px var(--void-2), 0 0 0 2px var(--gold-soft);
}
.lgn-sh__who { display: grid; gap: 2px; min-width: 0; }
.lgn-sh__who strong { font: 500 16px/1.2 var(--f-display); transition: color var(--t) var(--ease); }
.lgn-sh__who span { color: var(--smoke); font-size: 12px; }
.lgn-sh__head:hover strong { color: var(--gold); }
.lgn-sh__glyph { margin-left: auto; flex: none; color: var(--gold); }
.lgn-sh__media { width: 100%; }
.lgn-sh__media--tall { aspect-ratio: 9 / 16; max-height: 520px; }
.lgn-sh--instagram .lgn-sh__media { aspect-ratio: 4 / 5; }
.lgn-sh__media--tall.ph--art::before { inset: 30% 0 0; }
.lgn-video--vertical .lgn-video__frame { aspect-ratio: 9 / 16; max-height: 580px; margin: 0 auto; }
.lgn-sh__caption { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bone-2); }
.lgn-sh__tag { color: var(--gold); }
.lgn-sh__stats { margin: 0; color: var(--smoke); font-size: 12px; letter-spacing: .06em; }
.lgn-sh__embed { overflow: hidden; }
.lgn-sh__embed blockquote { margin: 0 auto !important; min-width: 0 !important; max-width: 100% !important; }
.lgn-sh__embed iframe { max-width: 100%; }
.lgn-sh__embed--fb iframe { display: block; width: 100%; min-height: 480px; border: 0; }
.lgn-sh__icons { display: inline-flex; gap: 14px; align-items: center; }
.lgn-sh__icons a { display: grid; place-items: center; color: var(--gold); transition: color var(--t) var(--ease), transform var(--t) var(--ease); }
.lgn-sh__icons a:hover { color: var(--bone); transform: translateY(-2px); }
.lgn-sh__icons svg { width: 17px; height: 17px; }

/* Trending now */
.lgn-trending { margin: 0; padding: 0; list-style: none; counter-reset: trend; display: grid; }
.lgn-trending li + li { border-top: 1px solid var(--line); }
.lgn-trending a {
  display: grid; grid-template-columns: 2.4ch minmax(0, 1fr); gap: 14px; align-items: start;
  padding: 13px 0; text-decoration: none; counter-increment: trend;
}
.lgn-trending li:first-child a { padding-top: 0; }
.lgn-trending a::before { content: counter(trend, upper-roman); font: italic 400 22px/1 var(--f-display); color: var(--gold); text-align: right; }
.lgn-trending strong { display: block; font: 500 16px/1.28 var(--f-display); transition: color var(--t) var(--ease); }
.lgn-trending a:hover strong { color: var(--gold); }
.lgn-trending span { display: block; margin-top: 6px; color: var(--smoke); font-size: 12px; letter-spacing: .06em; }

/* Video */
.lgn-video__poster { display: block; width: 100%; border: 0; padding: 0; cursor: pointer; text-align: left; background-clip: padding-box; }
.lgn-video__poster.ph:not(.lgn-sh__media) { aspect-ratio: 16 / 9; }
.lgn-video__poster .ph__label { font-size: 26px; bottom: 16px; }
.lgn-video__play {
  position: absolute; z-index: 4; left: 50%; top: 44%; width: 64px; height: 64px; margin: -32px 0 0 -32px;
  border-radius: 50%; border: 1px solid var(--gold); background: rgba(11, 8, 9, .45);
  display: grid; place-items: center;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: background var(--t) var(--ease), transform var(--t) var(--ease);
}
.lgn-video__play::before { content: ""; margin-left: 4px; border-style: solid; border-width: 9px 0 9px 14px; border-color: transparent transparent transparent var(--gold); }
.lgn-video__play::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 1px solid var(--gold-line); animation: lgn-halo 9s var(--ease) infinite; }
.lgn-video__poster:hover .lgn-video__play { background: rgba(90, 15, 28, .75); transform: scale(1.04); }
.lgn-video__dur {
  position: absolute; z-index: 4; left: 12px; top: 12px;
  font: 600 9px var(--f-caps); letter-spacing: .26em; color: var(--gold);
}
.lgn-video__frame { position: relative; aspect-ratio: 16 / 9; max-width: 100%; overflow: hidden; background: #000; }
.lgn-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lgn-video__title { margin: 0; font: italic 400 19px/1.3 var(--f-display); text-align: center; }
.lgn-video__note { margin: 0; color: var(--smoke); font-size: 12px; letter-spacing: .06em; text-align: center; }
.lgn-stream { display: grid; gap: 10px; justify-items: center; padding-top: 14px; background: var(--orn-rule) center top / 90px 12px no-repeat; }
.lgn-stream__label { font: 600 9.5px var(--f-caps); letter-spacing: .28em; text-transform: uppercase; color: var(--smoke); }
.lgn-stream__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.lgn-stream__links a {
  display: inline-block; padding: 9px 12px; border: 1px solid var(--gold-line); text-decoration: none;
  font: 600 9px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase; color: var(--gold);
  transition: background var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease);
}
.lgn-stream__links a:hover { background: var(--gold); border-color: var(--gold); color: var(--void); }

/* Albums, videos, lyrics */
.lgn-disco, .lgn-vidgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 34px 26px; }
.lgn-disco__item h2, .lgn-vidgrid__item h2, .lgn-vidgrid__item h3 { margin: 14px 0 6px; font-size: 22px; }
.lgn-disco__item a, .lgn-vidgrid__item a { text-decoration: none; color: inherit; }
.lgn-disco__item h2 a:hover, .lgn-vidgrid__item h2 a:hover, .lgn-vidgrid__item h3 a:hover { color: var(--gold); }
.lgn-disco__cover .ph { aspect-ratio: 1; }
.lgn-disco__meta { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--smoke); font: 600 9.5px var(--f-caps); letter-spacing: .22em; text-transform: uppercase; }
.lgn-vidgrid__frame { position: relative; display: block; aspect-ratio: 16 / 9; }
.lgn-vidgrid__frame .lgn-video__play { left: 50%; top: 50%; margin: 0; transform: translate(-50%, -50%); }
.lgn-vidgrid__frame:hover .lgn-video__play { background: rgba(90, 15, 28, .75); transform: translate(-50%, -50%) scale(1.04); }
.lgn-vidgrid__item[hidden] { display: none; }

.lgn-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 30px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.lgn-filter ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lgn-filter button {
  background: none; padding: 9px 12px; border: 1px solid var(--gold-line); cursor: pointer;
  font: 600 9px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase; color: var(--smoke);
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);
}
.lgn-filter button:hover { color: var(--bone); }
.lgn-filter button.is-active { background: var(--gold); border-color: var(--gold); color: var(--void); }

.lgn-album__grid { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 40px; align-items: start; }
@media (max-width: 820px) { .lgn-album__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; } }
.lgn-album__aside { display: grid; gap: 22px; position: sticky; top: 92px; }
@media (max-width: 820px) { .lgn-album__aside { position: static; } }
.lgn-album__cover { margin: 0; }
.lgn-album__cover .ph { aspect-ratio: 1; }
.lgn-album__stores { display: grid; gap: 10px; justify-items: center; text-align: center; }
.lgn-album__main { display: grid; gap: 34px; }
.lgn-album__section > .entry-content { margin: 0; }
.lgn-tracks { list-style: none; counter-reset: lgn-track; margin: 0; padding: 0; display: grid; }
.lgn-tracks li {
  counter-increment: lgn-track; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center; gap: 12px 14px; padding: 13px 0; border-top: 1px solid var(--line);
}
.lgn-tracks li::before { content: counter(lgn-track, upper-roman); font: 400 13px var(--f-caps); letter-spacing: .1em; color: var(--gold); }
.lgn-tracks__name { font: 500 18px/1.25 var(--f-display); }
.lgn-tracks__audio { grid-column: 2 / -1; width: 100%; max-width: 420px; height: 34px; filter: invert(1) hue-rotate(180deg) saturate(.6); }
.lgn-album__quote { margin: 0; text-align: center; }
.lgn-album__quote blockquote { margin: 0; font: italic 400 22px/1.5 var(--f-display); color: var(--bone); }
.lgn-album__quote blockquote p { margin: 0 0 10px; }
.lgn-album__quote figcaption { margin-top: 12px; font: 600 9.5px var(--f-caps); letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }

.lgn-lyric-index { display: grid; gap: 34px; }
.lgn-lyric-group { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0 20px; align-items: start; }
.lgn-lyric-letter { margin: 0; font: 400 46px/1 var(--f-goth); color: var(--gold); }
.lgn-lyric-group ul { list-style: none; margin: 0; padding: 0; display: grid; }
.lgn-lyric-group li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.lgn-lyric-group li a { text-decoration: none; color: var(--bone); font: 500 19px/1.2 var(--f-display); }
.lgn-lyric-group li a:hover { color: var(--gold); }
.lgn-lyric-group li span { color: var(--smoke); font: 600 9px var(--f-caps); letter-spacing: .22em; text-transform: uppercase; }
.lgn-lyricpage__cover { margin: 0 auto 30px; max-width: 320px; }
.lgn-lyrics { text-align: center; }
.lgn-lyrics p { font: italic 400 19px/1.9 var(--f-display); color: var(--bone-2); }

/* Sing-along lyrics: plain lines, the one you are reading is lit */
.lgn-singalong { max-width: 640px; margin: 0 auto; padding: 4vh 0 30vh; text-align: center; }
.lgn-stanza { margin: 0 0 34px; }
.lgn-stanza__tag { margin: 0 0 8px; font: 600 9.5px/1 var(--f-caps); letter-spacing: .28em; text-transform: uppercase; color: var(--smoke); }
.lgn-line { margin: 0; padding: 4px 0; font: 400 clamp(20px, 2.2vw, 26px)/1.4 var(--f-display); color: var(--bone); transition: opacity var(--t) var(--ease), color var(--t) var(--ease); }
.lgn-line__echo { color: var(--smoke); font-style: italic; }
.lgn-stanza--chorus .lgn-line { font-style: italic; }
.lgn-singalong.is-live .lgn-line { opacity: .35; }
.lgn-singalong.is-live .lgn-line.is-now { opacity: 1; color: var(--gold); }

/* Welcome message */
.lgn-reel { display: grid; gap: 10px; }
.lgn-reel__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; }
.lgn-reel__thumb {
  position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; cursor: pointer;
  background: var(--velvet); border: 1px solid var(--gold-line); opacity: .55;
  transition: opacity var(--t) var(--ease), border-color var(--t) var(--ease);
}
.lgn-reel__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }
.lgn-reel__thumb:hover, .lgn-reel__thumb:focus-visible { opacity: .85; }
.lgn-reel__thumb.is-active { opacity: 1; border-color: var(--gold); }
.lgn-welcome__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 0 0; border: 1px solid var(--gold-line); filter: saturate(.85) contrast(1.05); }
.lgn-welcome__msg p { margin: 0 0 12px; color: var(--bone-2); font-size: 15px; line-height: 1.7; }
.lgn-welcome__msg p:last-child { margin-bottom: 0; }
.lgn-welcome__msg p:first-child::first-letter { float: left; margin: 6px 10px 0 0; font: 400 54px/.8 var(--f-goth); color: var(--gold); }
.lgn-welcome__sig { margin: 0; padding-top: 14px; text-align: right; font: italic 400 17px/1.3 var(--f-display); color: var(--gold); background: var(--orn-rule) left top / 90px 12px no-repeat; }

/* Live (shows) */
.lgn-tour__name { margin: 0; text-align: center; font: italic 400 16px/1.2 var(--f-display); color: var(--bone-2); }
.lgn-tour { list-style: none; margin: 0; padding: 0; display: grid; }
.lgn-tour li {
  display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 13px 0; border-top: 1px solid var(--line);
}
.lgn-tour time { display: grid; text-align: center; line-height: 1; gap: 4px; }
.lgn-tour time b { font: 600 9px var(--f-caps); letter-spacing: .24em; color: var(--gold); }
.lgn-tour time span { font: 400 28px/1 var(--f-display); font-variant-numeric: lining-nums tabular-nums; }
.lgn-tour__place { min-width: 0; }
.lgn-tour__place strong { display: block; font: 500 17px/1.2 var(--f-display); }
.lgn-tour__place span { display: block; color: var(--smoke); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lgn-tix {
  font: 600 9px/1 var(--f-caps); letter-spacing: .22em; text-transform: uppercase; text-decoration: none;
  padding: 9px 10px; border: 1px solid var(--gold-soft); color: var(--gold); white-space: nowrap;
  transition: background var(--t) var(--ease), color var(--t) var(--ease);
}
a.lgn-tix:hover { background: var(--gold); color: var(--void); }
.lgn-tour time i { font: 600 9px var(--f-caps); font-style: normal; letter-spacing: .2em; color: var(--smoke); }
.lgn-live { margin-top: 44px; }
.lgn-tour--page li { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 22px; padding: 20px 0; }
.lgn-tour--page li:last-child { border-bottom: 1px solid var(--line); }
.lgn-tour--page time span { font-size: 38px; }
.lgn-tour--page .lgn-tour__place strong { font-size: 24px; }
.lgn-tour--page .lgn-tour__place span { font-size: 14px; margin-top: 4px; }
.lgn-tour--page .lgn-tix { padding: 12px 16px; }
.lgn-live--past li { opacity: .62; }
@media (max-width: 560px) {
  .lgn-tour--page li { grid-template-columns: 48px minmax(0, 1fr); gap: 8px 16px; }
  .lgn-tour--page .lgn-tix { grid-column: 2; justify-self: start; }
  .lgn-tour--page time span { font-size: 30px; }
  .lgn-tour--page .lgn-tour__place strong { font-size: 20px; }
}
.lgn-tix--low { border-color: rgba(212, 89, 106, .7); color: #d4596a; }
a.lgn-tix--low:hover { background: var(--garnet); color: var(--bone); }
.lgn-tix--out { border-color: var(--line); color: var(--smoke); text-decoration: line-through; }
.lgn-tix--played { border-color: var(--line); color: var(--smoke); }

/* Social post */
.lgn-social__card { display: grid; gap: 14px; }
.lgn-social__who { display: flex; align-items: center; gap: 12px; }
.lgn-social__avatar {
  width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: radial-gradient(circle at 35% 30%, #a62637, var(--velvet) 70%);
  font: italic 500 15px var(--f-display); color: var(--bone);
  box-shadow: 0 0 0 1px var(--void-2), 0 0 0 2px var(--gold-soft);
}
.lgn-social__who strong { display: block; font: 500 15px/1.2 var(--f-display); }
.lgn-social__who span { color: var(--smoke); font-size: 12px; }
.lgn-social__net { margin-left: auto; color: var(--gold); }
.lgn-social__text { margin: 0; font-size: 15px; line-height: 1.6; }
.lgn-social__text a { color: var(--gold); text-decoration: none; }
.lgn-social__card .ph { aspect-ratio: 4 / 3; }
.lgn-social__acts { display: flex; gap: 20px; color: var(--smoke); font-size: 13px; }
.lgn-social__acts button { display: inline-flex; align-items: center; gap: 7px; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; font: inherit; transition: color var(--t) var(--ease); }
.lgn-social__acts button:hover { color: var(--bone); }
.lgn-social__acts svg { width: 17px; height: 17px; transition: fill var(--t) var(--ease); }
.lgn-social__acts .is-liked { color: #d4596a; }
.lgn-social__acts .is-liked svg { fill: currentColor; }
.lgn-social__embed { overflow: hidden; }
.lgn-social__embed iframe, .lgn-social__embed blockquote { max-width: 100% !important; }

/* Poll */
.lgn-poll { display: grid; gap: 14px; margin: 0; }
.lgn-poll__q { margin: 0; text-align: center; font: italic 400 20px/1.25 var(--f-display); text-wrap: balance; }
.lgn-poll__opts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lgn-poll__opt {
  position: relative; overflow: hidden; width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; cursor: pointer; text-align: left;
  background: transparent; border: 1px solid var(--line);
  transition: border-color var(--t) var(--ease), background var(--t) var(--ease);
}
.lgn-poll__opt:hover { border-color: var(--gold-soft); background: rgba(198, 161, 91, .05); }
.lgn-poll__bar {
  position: absolute; inset: 0; z-index: 0; transform-origin: left; transform: scaleX(0);
  background: linear-gradient(90deg, rgba(90, 15, 28, .85), rgba(142, 27, 44, .45));
  transition: transform var(--t-slow) var(--ease);
}
.lgn-poll__label, .lgn-poll__pct { position: relative; z-index: 1; }
.lgn-poll__label { flex: 1; font: 500 16px/1.2 var(--f-display); }
.lgn-poll__pct { font: italic 400 16px var(--f-display); color: var(--gold); font-variant-numeric: tabular-nums; opacity: 0; transition: opacity var(--t) var(--ease) 200ms; }
.lgn-poll.is-voted .lgn-poll__opt { cursor: default; background: transparent; border-color: var(--line); }
.lgn-poll.is-voted .lgn-poll__bar { transform: scaleX(var(--pct, 0)); }
.lgn-poll.is-voted .lgn-poll__pct { opacity: 1; }
.lgn-poll__opt.is-choice { border-color: var(--gold-soft) !important; }
.lgn-poll__opt.is-choice .lgn-poll__label::after { content: " \2767"; color: var(--gold); font-size: 13px; }
.lgn-poll__total { margin: 0; text-align: center; color: var(--smoke); font-size: 12px; letter-spacing: .06em; }

/* ---------- Single / page ---------- */
.lgn-article { display: grid; gap: 36px; min-width: 0; }
.lgn-article__head { display: grid; gap: 18px; justify-items: center; text-align: center; }
.lgn-article__head .lgn-headline { font-size: clamp(40px, 5.4vw, 76px); max-width: 18ch; }
.lgn-article .lgn-hero { min-height: clamp(300px, 42vw, 520px); }
.entry-content { font-size: 19px; line-height: 1.78; max-width: 68ch; margin: 0 auto; width: 100%; }
.entry-content > * + * { margin-top: 1.15em; }
.entry-content > p:first-child::first-letter {
  float: left; font: 400 5.2em/.82 var(--f-goth); color: var(--gold); margin: .06em .1em 0 0;
}
.entry-content h2, .entry-content h3 { font-family: var(--f-display); font-weight: 500; line-height: 1.1; letter-spacing: -.01em; }
.entry-content h2 { font-size: 34px; } .entry-content h3 { font-size: 26px; }
.entry-content blockquote {
  margin: 1.8em 0; padding: 0; text-align: center;
  font: italic 400 30px/1.25 var(--f-display); color: var(--bone);
}
.entry-content blockquote::before, .entry-content blockquote::after { content: ""; display: block; height: 16px; margin: 0 auto 18px; width: 120px; background: var(--orn-rule) center / contain no-repeat; }
.entry-content blockquote::after { margin: 18px auto 0; }
.entry-content figure { margin: 1.8em 0; }
.entry-content figcaption, .wp-caption-text, .wp-element-caption { color: var(--smoke); font-size: 13px; font-style: italic; margin-top: 10px; text-align: center; }
.entry-content iframe { max-width: 100%; }
.alignleft { float: left; margin: .4em 1.4em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.4em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide, .alignfull { max-width: 100%; }
.wp-caption { max-width: 100%; }
.lgn-tags { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.lgn-tags a { padding: 8px 14px; border: 1px solid var(--gold-line); font: 600 9.5px var(--f-caps); text-transform: uppercase; letter-spacing: .22em; text-decoration: none; transition: border-color var(--t) var(--ease), color var(--t) var(--ease); }
.lgn-tags a:hover { border-color: var(--gold); }
.post-navigation .nav-links { justify-content: space-between; align-items: flex-start; border-top: 1px solid var(--gold-line); padding-top: 22px; }
.post-navigation a { display: grid; gap: 6px; max-width: 32ch; text-decoration: none; font: 500 18px/1.3 var(--f-display); }
.post-navigation .meta-nav { font: 600 9.5px var(--f-caps); color: var(--gold); text-transform: uppercase; letter-spacing: .24em; }
.lgn-archive-head { display: grid; gap: 14px; justify-items: center; text-align: center; padding-bottom: 12px; }
.lgn-archive-head .lgn-headline { font-size: clamp(42px, 6vw, 80px); }
.lgn-archive-head p { margin: 0; color: var(--smoke); max-width: 60ch; }

/* comments */
.comments-area { display: grid; gap: 22px; max-width: 68ch; margin: 0 auto; width: 100%; }
.comment-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.comment-list .children { list-style: none; padding-left: 24px; border-left: 1px solid var(--gold-line); }
.comment-body { padding: 18px 0; border-bottom: 1px solid var(--line); }
.comment-author img { border-radius: 50%; vertical-align: middle; margin-right: 10px; }
.comment-metadata { font-size: 12px; color: var(--smoke); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea {
  width: 100%; background: transparent; color: var(--bone); border: 1px solid var(--gold-line); padding: 12px 14px; font: inherit;
  transition: border-color var(--t) var(--ease);
}
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--gold); }
.comment-form .submit { padding: 13px 24px; border: 1px solid var(--gold-soft); background: transparent; color: var(--gold); font: 600 11px var(--f-caps); letter-spacing: .24em; text-transform: uppercase; cursor: pointer; transition: background var(--t) var(--ease), color var(--t) var(--ease); }
.comment-form .submit:hover { background: var(--velvet); color: var(--bone); }

/* ---------- Footer ---------- */
.lgn-footer { position: relative; z-index: 1; overflow: hidden; isolation: isolate; border-top: 1px solid var(--gold-line); background: linear-gradient(180deg, var(--void), #070506); }
.lgn-footer .lgn-smoke { opacity: .75; }
.lgn-footer__inner {
  position: relative; max-width: 1340px; margin: 0 auto; padding: 72px var(--gutter) 56px;
  display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px;
}
@media (max-width: 820px) { .lgn-footer__inner { grid-template-columns: minmax(0, 1fr); } }
.lgn-footer h2 { margin: 0 0 16px; font: 600 10.5px var(--f-caps); letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }
.lgn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lgn-footer a { text-decoration: none; color: var(--bone-2); }
.lgn-footer a:hover { color: var(--gold); }
.lgn-footer ul a { font: 400 18px var(--f-display); }
.lgn-footer p { margin: 0 0 14px; color: var(--smoke); font-size: 15px; }
.lgn-disclaimer p { font-size: 14px; line-height: 1.65; max-width: 42ch; }
.lgn-signup { display: flex; gap: 10px; flex-wrap: wrap; }
.lgn-signup input { flex: 1 1 180px; min-width: 0; background: transparent; color: var(--bone); border: 0; border-bottom: 1px solid var(--gold-line); padding: 12px 2px; font: italic 400 18px var(--f-display); transition: border-color var(--t) var(--ease); }
.lgn-signup input:focus { outline: none; border-color: var(--gold); }
.lgn-footer__legal {
  position: relative; max-width: 1340px; margin: 0 auto; padding: 20px var(--gutter) 30px; border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px;
  color: var(--smoke); font-size: 12px; letter-spacing: .04em;
}

/* toast */
.lgn-toast {
  position: fixed; left: 50%; bottom: calc(26px + env(safe-area-inset-bottom, 0px)); z-index: 300;
  transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  max-width: calc(100% - 32px); padding: 14px 22px;
  background: var(--void-2); color: var(--bone); border: 1px solid var(--gold-soft);
  font: italic 400 16px var(--f-display);
  box-shadow: 0 18px 40px rgba(0,0,0,.6);
  transition: opacity var(--t) var(--ease), transform var(--t) var(--ease);
}
.lgn-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Keyframes (slow, hypnotic) ---------- */
@keyframes lgn-ticker { to { transform: translateX(-50%); } }
@keyframes lgn-foil { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes lgn-candle { 0%, 100% { opacity: .55; box-shadow: 0 0 8px 1px rgba(142,27,44,.6); } 50% { opacity: 1; box-shadow: 0 0 14px 3px rgba(142,27,44,.9); } }
@keyframes lgn-breathe { 0%, 100% { opacity: .30; transform: translateX(-50%) scale(1); } 50% { opacity: .5; transform: translateX(-50%) scale(1.025); } }
@keyframes lgn-rotate { to { transform: rotate(360deg); } }
@keyframes lgn-halo { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.16); opacity: .25; } }
@keyframes lgn-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Ambient motion (smoke, header video, ticker, foil, emblem) plays for everyone;
   the "Pause motion" button on the header video stops all of it and is remembered per browser.
   Visitors who ask their device for less motion still get instant UI changes
   and no entrance fades. */
.lgn-still *, .lgn-still *::before, .lgn-still *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .001ms !important; }
  .lgn-hero__body > * { animation: none; }
}
