:root {
  --midnight: #071524;
  --sapphire: #123e70;
  --royal: #245aa6;
  --electric: #4fa9ff;
  --obsidian: #07090d;
  --ivory: #f4f6fb;
  --chrome: #bfc8d7;
  --muted: #8d9ab0;
  --line: rgba(191, 200, 215, 0.26);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--midnight); }
body {
  margin: 0;
  color: var(--ivory);
  background:
    radial-gradient(circle at 88% 10%, rgba(36, 90, 166, 0.30), transparent 25rem),
    radial-gradient(circle at 11% 76%, rgba(79, 169, 255, 0.12), transparent 23rem),
    linear-gradient(155deg, #071524 0%, #0a1e33 48%, #07090d 100%);
  font-family: var(--sans);
  line-height: 1.5;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(191, 200, 215, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(191, 200, 215, 0.018) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}

main { overflow: hidden; }
.hero {
  position: relative;
  min-height: min(850px, 100vh);
  padding: 1.35rem clamp(1rem, 5vw, 5rem) clamp(3.5rem, 7vw, 6.5rem);
  overflow: hidden;
  isolation: isolate;
  background: url('/manus-storage/async-images/wmQ5REPww06mZ4EcN8olwK/image-1.webp') center / cover no-repeat;
}
.hero::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 21, 36, .97) 0%, rgba(7, 21, 36, .91) 35%, rgba(7, 21, 36, .58) 70%, rgba(7, 21, 36, .76) 100%),
    linear-gradient(180deg, rgba(7, 9, 13, .10) 0%, rgba(7, 9, 13, .76) 100%);
}
.hero-video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: .42;
  mix-blend-mode: screen;
  filter: saturate(1.12) contrast(1.05) brightness(.83);
  pointer-events: none;
}
.hero-frame { position: absolute; z-index: 2; inset: 1.25rem clamp(0.75rem, 2vw, 2.75rem); border: 1px solid var(--line); pointer-events: none; }
.hero-frame::before, .hero-frame::after { content: ''; position: absolute; width: 34px; height: 34px; border-color: var(--chrome); opacity: .7; }
.hero-frame::before { top: -1px; left: -1px; border-top: 3px solid; border-left: 3px solid; }
.hero-frame::after { right: -1px; bottom: -1px; border-right: 3px solid; border-bottom: 3px solid; }

.site-header { position: relative; z-index: 3; max-width: 1250px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.brand { color: var(--ivory); text-decoration: none; display: inline-flex; align-items: center; gap: .75rem; font-family: var(--serif); font-size: 1.15rem; letter-spacing: .07em; }
.brand img { width: 39px; height: 39px; border-radius: 0; object-fit: cover; box-shadow: 0 0 0 1px rgba(191,200,215,.45), 0 0 18px rgba(79,169,255,.22); }
.private-badge { margin: 0; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--chrome); border: 1px solid var(--line); padding: .52rem .7rem; }

.hero-grid { position: relative; z-index: 3; max-width: 1250px; margin: clamp(2.7rem, 7vw, 6.5rem) auto 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .74fr); align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.hero-copy { max-width: 720px; }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.05rem; color: var(--chrome); font-size: .67rem; letter-spacing: .21em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: clamp(20px, 4vw, 48px); height: 1px; background: linear-gradient(90deg, transparent, var(--electric)); }
.eyebrow span:last-child { background: linear-gradient(90deg, var(--electric), transparent); }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .4rem; font-family: var(--serif); font-size: clamp(4rem, 10.5vw, 8.8rem); line-height: .82; letter-spacing: -.07em; font-weight: 500; text-wrap: balance; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: #dce8ff; }
.celebration-label { margin: .9rem 0 .45rem; font-size: .64rem; letter-spacing: .33em; text-transform: uppercase; color: var(--chrome); }
.host-name { margin: 0; color: var(--ivory); font-family: var(--serif); font-size: clamp(1.55rem, 3vw, 2.35rem); letter-spacing: .04em; text-transform: uppercase; }
.intro { max-width: 39rem; margin: 1.4rem 0 0; color: #d2daeb; font-family: var(--serif); font-size: clamp(1.08rem, 1.7vw, 1.32rem); line-height: 1.55; }

.countdown-panel { margin-top: clamp(2rem, 4vw, 3rem); padding: 1.15rem 1.1rem 1rem; background: linear-gradient(135deg, rgba(5,12,24,.8), rgba(18,62,112,.25)); border: 1px solid var(--line); box-shadow: inset 0 0 0 1px rgba(79,169,255,.05), 0 20px 55px rgba(0,0,0,.22); }
.panel-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.panel-topline p { margin: 0; font-size: .67rem; letter-spacing: .17em; text-transform: uppercase; color: var(--chrome); }
.live-dot { display: inline-flex; align-items: center; gap: .35rem; color: var(--electric); font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; }
.live-dot::before { content: ''; width: .38rem; height: .38rem; border-radius: 50%; background: var(--electric); box-shadow: 0 0 11px var(--electric); }
.countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1rem 0 .45rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.time-unit { min-width: 0; padding: .9rem .5rem; text-align: center; }
.time-unit + .time-unit { border-left: 1px solid var(--line); }
.time-unit strong { display: block; color: var(--ivory); font-family: var(--serif); font-weight: 400; font-size: clamp(1.65rem, 4vw, 3rem); line-height: 1; font-variant-numeric: tabular-nums; }
.time-unit span { display: block; margin-top: .48rem; color: var(--muted); font-size: .56rem; letter-spacing: .17em; text-transform: uppercase; }
.countdown-status { margin: 0; color: var(--muted); font-size: .76rem; }
.themes { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.themes li { padding: .42rem .64rem; border: 1px solid rgba(79,169,255,.31); color: #dbe8fb; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }

.flyer-card { position: relative; max-width: 370px; justify-self: center; margin: 0; padding: .85rem; background: linear-gradient(135deg, rgba(191,200,215,.85), rgba(79,169,255,.25), rgba(191,200,215,.7)); box-shadow: 0 28px 60px rgba(0,0,0,.38), 0 0 55px rgba(79,169,255,.14); }
.flyer-card::after { content: ''; position: absolute; inset: 1.45rem -.75rem -.75rem 1.45rem; z-index: -1; border: 1px solid rgba(79,169,255,.35); }
.flyer-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.flyer-card figcaption { margin-top: .7rem; color: #0b1a2d; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.flyer-accent { position: absolute; z-index: 2; top: -9px; right: -9px; width: 18px; height: 18px; border-top: 2px solid var(--electric); border-right: 2px solid var(--electric); }

.artist-section { position: relative; padding: clamp(4.5rem, 9vw, 8.5rem) clamp(1rem, 5vw, 5rem); text-align: center; background: linear-gradient(180deg, rgba(7,21,36,0), rgba(5,12,24,.85) 18%, rgba(5,12,24,.95)); }
.section-rule { display: flex; justify-content: center; align-items: center; gap: .8rem; margin-bottom: 1.65rem; }
.section-rule span { width: clamp(45px, 12vw, 145px); height: 1px; background: linear-gradient(90deg, transparent, var(--chrome)); }
.section-rule span:last-child { background: linear-gradient(90deg, var(--chrome), transparent); }
.section-rule i { width: 10px; height: 10px; border: 1px solid var(--electric); transform: rotate(45deg); }
.artist-section .eyebrow { justify-content: center; }
.artist-section h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 7.5vw, 6.7rem); font-weight: 400; letter-spacing: -.055em; line-height: .94; }
.artist-subtitle { margin: 1rem 0 .55rem; color: var(--chrome); font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; }
.artist-description { max-width: 43rem; margin: 0 auto; color: #c8d3e7; font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.6; }

.details-section { max-width: 1080px; margin: 0 auto; padding: 0 clamp(1rem, 5vw, 5rem) clamp(4rem, 8vw, 6rem); display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.details-card, .private-note { padding: clamp(1.55rem, 4vw, 3rem); background: linear-gradient(145deg, #0b2137, #081423); }
.details-card .eyebrow { margin-bottom: .85rem; }
.details-card h2 { margin: 0 0 1rem; color: var(--ivory); font-family: var(--serif); font-size: clamp(1.7rem, 3.4vw, 3.1rem); font-weight: 400; line-height: .98; }
.details-card > p:last-child { margin: 0; color: var(--chrome); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; }
.private-note { display: flex; align-items: flex-start; gap: 1rem; background: linear-gradient(145deg, #081423, #07090d); }
.note-icon { color: var(--electric); font-size: 1.25rem; line-height: 1.2; }
.private-note h2 { margin: 0 0 .4rem; font-family: var(--serif); font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 400; }
.private-note p { margin: 0; color: var(--muted); font-size: .9rem; }
footer { padding: 1.8rem 1rem 2.2rem; border-top: 1px solid rgba(191,200,215,.13); text-align: center; color: var(--muted); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
footer p { margin: 0; }

@media (max-width: 800px) {
  .hero { min-height: auto; padding-top: 1rem; background-position: 62% center; }
  .hero-video { opacity: .30; object-position: 50% center; }
  .hero-grid { grid-template-columns: 1fr; gap: 2.75rem; margin-top: 3.7rem; }
  .hero-copy { text-align: center; }
  .hero-copy .eyebrow { justify-content: center; }
  .intro { margin-left: auto; margin-right: auto; }
  .flyer-card { max-width: min(350px, 82vw); order: 2; }
  .themes { justify-content: center; }
  .details-section { grid-template-columns: 1fr; margin-left: 1rem; margin-right: 1rem; padding: 0; }
}

@media (max-width: 440px) {
  .brand span { font-size: 1rem; }
  .private-badge { font-size: .53rem; padding: .45rem .5rem; }
  h1 { font-size: clamp(3.65rem, 20vw, 5rem); }
  .countdown-panel { padding-left: .7rem; padding-right: .7rem; }
  .time-unit { padding-left: .2rem; padding-right: .2rem; }
  .time-unit strong { font-size: 1.55rem; }
  .panel-topline p { font-size: .57rem; letter-spacing: .12em; }
  .artist-subtitle { font-size: .58rem; letter-spacing: .18em; }
}

@media (prefers-reduced-motion: no-preference) {
  .live-dot::before { animation: pulse 2.5s ease-in-out infinite; }
  .hero-frame { animation: frameGlow 5s ease-in-out infinite alternate; }
}
@keyframes pulse { 50% { opacity: .35; box-shadow: 0 0 2px var(--electric); } }
@keyframes frameGlow { to { border-color: rgba(79,169,255,.38); } }
