.firefliesPage {
  --fireflies-ink: #090b0b;
  --fireflies-paper: #ece9e1;
  --fireflies-warm: #c4a672;
  --fireflies-line: rgba(196, 166, 114, .26);
  background: var(--fireflies-ink);
  color: var(--fireflies-paper);
}

.firefliesPage main { overflow: hidden; }
.firefliesPage :where(main) h1, .firefliesPage :where(main) h2, .firefliesPage :where(main) h3,
.firefliesPage :where(main) blockquote { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; }
.firefliesPage :where(main) h2 { font-size: clamp(2.8rem, 5.6vw, 5.8rem); line-height: .98; letter-spacing: -.025em; margin: 0; }
.firefliesPage :where(main) em { color: var(--fireflies-warm); font-style: normal; }
.firefliesPage :where(main) p { line-height: 1.8; }
.firefliesKicker { margin: 0 0 1.7rem; color: var(--fireflies-warm); font-size: .7rem; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; }
.firefliesSection { position: relative; padding: clamp(6rem, 11vw, 11rem) 0; }
.firefliesSection::before { content: ''; position: absolute; left: 50%; top: 0; width: min(1100px, 92vw); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, var(--fireflies-line), transparent); }
.firefliesSectionHead { margin-bottom: clamp(3rem, 7vw, 6rem); }
.firefliesSectionHead h2 { max-width: 850px; }

.firefliesHero { position: relative; min-height: min(900px, 100svh); display: flex; align-items: center; isolation: isolate; padding: 9rem 0 6rem; background: #050606; }
.firefliesHero__image { position: absolute; inset: 0 0 0 30%; z-index: -2; background: url('../img/art/a7.webp') center 32% / cover no-repeat; filter: brightness(.67) saturate(.58); }
.firefliesHero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #050606 7%, rgba(5,6,6,.96) 30%, rgba(5,6,6,.73) 49%, rgba(5,6,6,.08) 84%), linear-gradient(0deg, #090b0b, transparent 28%); }
.firefliesHero__inner { position: relative; }
.firefliesHero__copy { max-width: 670px; }
.firefliesBack { display: inline-flex; min-height: 44px; align-items: center; color: rgba(236,233,225,.68); font-size: .76rem; letter-spacing: .05em; margin-bottom: clamp(2rem, 7vh, 5rem); }
.firefliesBack:hover, .firefliesBack:focus-visible { color: var(--fireflies-paper); }
.firefliesHero h1 { font-size: clamp(5.4rem, 13vw, 11.8rem); line-height: .78; letter-spacing: -.055em; margin: 0 0 2rem; text-transform: uppercase; }
.firefliesHero__count { color: var(--fireflies-warm); font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 0 0 2rem; line-height: 1.15 !important; }
.firefliesHero__intro { font-size: clamp(.94rem, 1.2vw, 1.08rem); color: rgba(236,233,225,.81); max-width: 550px; margin-bottom: 2.3rem; }
.firefliesHero__intro strong { color: var(--fireflies-paper); font-weight: 500; }
.firefliesHero__index { position: absolute; right: 4vw; bottom: 3rem; color: rgba(236,233,225,.5); font-size: .7rem; letter-spacing: .22em; }
.firefliesButton { display: inline-flex; justify-content: space-between; align-items: center; gap: 2.8rem; min-height: 54px; padding: 0 1.3rem; border: 1px solid rgba(196,166,114,.75); color: var(--fireflies-paper); background: rgba(10,11,11,.62); font-size: .68rem; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.firefliesButton:hover, .firefliesButton:focus-visible { color: #0a0a09; background: var(--fireflies-warm); border-color: var(--fireflies-warm); }
.firefliesPage a:focus-visible { outline: 2px solid var(--fireflies-paper); outline-offset: 4px; }

.firefliesWhy { background: radial-gradient(ellipse at 50% 100%, rgba(67,50,29,.12), transparent 55%), #090b0b; text-align: center; }
.firefliesWhy__inner { max-width: 940px; }
.firefliesWhy h2 { max-width: 900px; margin: auto; font-size: clamp(2.6rem, 4.6vw, 4.9rem); line-height: 1.06; }
.firefliesWhy__thought { margin: clamp(3rem, 7vw, 6rem) 0 1.5rem; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.2 !important; }
.firefliesWhy__sequence { margin: 0 auto 2rem; color: var(--fireflies-warm); font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.25 !important; }
.firefliesWhy__body { max-width: 610px; margin: 0 auto 1.2rem; color: rgba(236,233,225,.68); }
.firefliesWhy__closing { margin: 2rem auto 0; color: var(--fireflies-paper); font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.25 !important; }
.firefliesLights { height: 130px; display: flex; justify-content: center; gap: clamp(1.4rem, 6vw, 5rem); align-items: flex-end; }
.firefliesLights i { display: block; width: 4px; height: 4px; border-radius: 50%; background: #e6bc79; box-shadow: 0 0 13px 5px rgba(201,153,77,.26); }
.firefliesLights i:nth-child(2), .firefliesLights i:nth-child(4) { transform: translateY(-26px); opacity: .58; }
.firefliesLights i:nth-child(3) { transform: translateY(-58px); opacity: .72; }

.firefliesProcess { background: #0d1010; }
.firefliesProcess__layout { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.firefliesProcess__steps { border-top: 1px solid var(--fireflies-line); }
.firefliesStep { display: grid; grid-template-columns: 4rem 1fr; gap: 1.2rem; padding: 2.5rem 0; border-bottom: 1px solid var(--fireflies-line); }
.firefliesStep > span { color: var(--fireflies-warm); font-size: .75rem; letter-spacing: .18em; }
.firefliesStep h3 { margin: -.45rem 0 .8rem; font-size: clamp(2.2rem, 4vw, 3.5rem); }
.firefliesStep p { max-width: 390px; margin: 0; color: rgba(236,233,225,.7); }
.firefliesProcess__image { height: clamp(430px, 58vw, 690px); overflow: hidden; }
.firefliesProcess__image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; filter: brightness(.7) saturate(.54); }

.firefliesVisual { background: radial-gradient(ellipse at 70% 45%, rgba(98,70,37,.15), transparent 54%), #0b0d0d; }
.firefliesVisual__layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.firefliesVisual__image { height: clamp(430px, 58vw, 660px); overflow: hidden; }
.firefliesVisual__image img { width: 100%; height: 100%; object-fit: cover; object-position: 46% center; filter: brightness(.58) sepia(.11); }
.firefliesVisual__copy > p:not(.firefliesKicker) { color: rgba(236,233,225,.7); max-width: 550px; }
.firefliesVisual blockquote { margin: 3rem 0 0; padding-left: 1.5rem; border-left: 1px solid var(--fireflies-warm); font-size: clamp(2rem, 3.2vw, 3.1rem); line-height: 1.08; }

.firefliesWord { background: #0f1110; }
.firefliesWord__layout { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(3rem, 10vw, 9rem); }
.firefliesWord__copy > p:not(.firefliesKicker) { max-width: 520px; color: rgba(236,233,225,.72); }
.firefliesWord blockquote { max-width: 520px; margin: 2.5rem 0; color: var(--fireflies-warm); font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; }
.firefliesWord__line { margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid var(--fireflies-line); color: var(--fireflies-paper) !important; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.5rem, 2.7vw, 2.5rem); white-space: nowrap; }
.firefliesWord__line span { color: var(--fireflies-warm); margin: 0 .2em; }
.firefliesWord__image { height: clamp(500px, 57vw, 680px); overflow: hidden; }
.firefliesWord__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; filter: brightness(.72) sepia(.08); }

.firefliesAudience { text-align: center; background: #0a0b0b; }
.firefliesAudience__inner { max-width: 880px; }
.firefliesAudience h2 { font-size: clamp(2.3rem, 4.3vw, 4.6rem); line-height: 1.16; }
.firefliesAudience p:not(.firefliesKicker) { max-width: 660px; margin: 2rem auto 0; color: rgba(236,233,225,.7); }
.firefliesAudience strong { display: block; margin-top: clamp(3rem, 7vw, 6rem); color: var(--fireflies-warm); font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.3rem, 5vw, 5rem); font-weight: 400; line-height: 1; }
.firefliesPublication { background: radial-gradient(ellipse at 90% 100%, rgba(63,72,53,.13), transparent 55%), #0c0e0c; }
.firefliesPublication__layout { display: grid; grid-template-columns: .4fr 1fr; gap: clamp(2rem, 7vw, 7rem); }
.firefliesPublication__layout > div { max-width: 660px; }
.firefliesPublication__layout p:last-child { color: rgba(236,233,225,.72); }

.firefliesEdition { background: radial-gradient(ellipse at 35% 85%, rgba(132,92,47,.19), transparent 53%), #10120f; }
.firefliesEdition__layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 8vw, 8rem); }
.firefliesEdition h2 { font-size: clamp(3.7rem, 6.6vw, 7rem); }
.firefliesEdition__details { padding-top: 3rem; }
.firefliesEdition__details > p { margin: 0 0 1.2rem; color: rgba(236,233,225,.75); }
.firefliesEdition__price { display: flex; flex-direction: column; gap: .3rem; margin: 2.6rem 0 2rem; padding-top: 1.5rem; border-top: 1px solid var(--fireflies-line); }
.firefliesEdition__price span { color: var(--fireflies-warm); font-size: .71rem; letter-spacing: .14em; text-transform: uppercase; }
.firefliesEdition__price strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(4rem, 7vw, 7rem); font-weight: 400; line-height: 1; }

.firefliesFinal { padding-bottom: clamp(7rem, 14vw, 14rem); background: radial-gradient(circle at 12% 70%, rgba(196,147,81,.09), transparent 11%), radial-gradient(circle at 78% 24%, rgba(196,147,81,.1), transparent 10%), radial-gradient(ellipse at 50% 100%, rgba(92,73,40,.19), transparent 60%), #0a0d0b; text-align: center; }
.firefliesFinal__inner { max-width: 820px; }
.firefliesFinal p:not(.firefliesKicker) { margin: 1.5rem auto 0; color: rgba(236,233,225,.73); max-width: 650px; }
.firefliesFinal h2 { margin: 4rem auto 2.5rem; font-size: clamp(2.8rem, 5.5vw, 5.8rem); }
.firefliesFinal__back { display: block; width: fit-content; margin: 2rem auto 0; color: rgba(236,233,225,.65); font-size: .76rem; letter-spacing: .09em; }
.firefliesFinal__back:hover { color: var(--fireflies-paper); }

@media (prefers-reduced-motion: no-preference) {
  .firefliesHero__copy { animation: firefliesEnter .8s ease-out both; }
  .firefliesLights i { animation: firefliesGlow 4s ease-in-out infinite alternate; }
  .firefliesLights i:nth-child(2) { animation-delay: .7s; }
  .firefliesLights i:nth-child(3) { animation-delay: 1.5s; }
  .firefliesLights i:nth-child(4) { animation-delay: 2.2s; }
  .firefliesLights i:nth-child(5) { animation-delay: 3s; }
}

@keyframes firefliesEnter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes firefliesGlow { from { box-shadow: 0 0 7px 3px rgba(201,153,77,.12); } to { box-shadow: 0 0 14px 5px rgba(201,153,77,.3); } }

@media (max-width: 800px) {
  .firefliesHero { min-height: 790px; align-items: flex-end; padding: 7rem 0 5rem; }
  .firefliesHero__image { inset: 0; background-position: 65% top; }
  .firefliesHero::before { background: linear-gradient(0deg, #090b0b 2%, rgba(5,6,6,.9) 34%, rgba(5,6,6,.22) 90%), linear-gradient(90deg, rgba(5,6,6,.32), transparent 80%); }
  .firefliesHero__index { display: none; }
  .firefliesProcess__layout, .firefliesVisual__layout, .firefliesWord__layout, .firefliesPublication__layout, .firefliesEdition__layout { grid-template-columns: 1fr; }
  .firefliesVisual__image { order: 2; }
  .firefliesProcess__image { height: 500px; }
  .firefliesVisual__image { height: 430px; }
  .firefliesWord__image { height: 520px; }
  .firefliesEdition__details { padding-top: 0; }
}

@media (max-width: 520px) {
  .firefliesHero { min-height: 720px; }
  .firefliesHero h1 { font-size: clamp(4.25rem, 17vw, 6.5rem); }
  .firefliesHero__intro br { display: none; }
  .firefliesSection { padding: 5rem 0; }
  .firefliesStep { grid-template-columns: 2.4rem 1fr; gap: .65rem; }
  .firefliesProcess__image { height: 420px; }
  .firefliesWord__line { white-space: normal; }
  .firefliesButton { width: 100%; gap: 1rem; font-size: .64rem; }
}

@media (prefers-reduced-motion: reduce) {
  .firefliesButton { transition: none; }
}
