/* Empire Surplus — black & gold, private-bank dark
   Direction: the crest's own world. Near-black surfaces, engraved gold, huge serif
   headlines, Apple-style scroll choreography. Calm confidence, zero urgency. */
:root {
  --black: #0D0C0A;
  --black-2: #14120E;
  --black-3: #1C1915;
  --paper: #F7F4EC;          /* light "document" sections */
  --paper-card: #FFFFFF;
  --gold: #B89060;
  --gold-hi: #E3C88F;
  --gold-deep: #8A6A38;
  --text: #E9E4D8;
  --text-dim: #A39C8D;
  --ink: #1F1D19;
  --ink-soft: #55514A;
  --line-d: #2A261F;         /* hairlines on dark */
  --line-l: #E2DCCC;         /* hairlines on light */
  --radius: 10px;
  --max: 1120px;
  --ease: cubic-bezier(.22,.61,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--black); color: var(--text);
  font-family: "Public Sans", system-ui, -apple-system, sans-serif;
  font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: "Spectral", Georgia, serif; font-weight: 500; line-height: 1.14; letter-spacing: -0.015em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.3rem, 6.5vw, 4.2rem); }
h2 { font-size: clamp(1.7rem, 4.2vw, 2.6rem); }
h3 { font-size: 1.2rem; font-weight: 600; }
p { margin: 0 0 1em; }
a { color: var(--gold); text-underline-offset: 3px; }
a:hover { color: var(--gold-hi); }
img { max-width: 100%; height: auto; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 22px; }
.eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin: 0 0 1.1rem; }
.muted { color: var(--text-dim); }

/* gradient keyword — the Apple move, in gold */
.gold-grad {
  background: linear-gradient(100deg, #8A6A38 0%, #E3C88F 45%, #B89060 70%, #F0DCA8 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- scroll reveal (js adds .in) ---------- */
.rv { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.rv.in { opacity: 1; transform: none; }
.rv.d1 { transition-delay: .12s; } .rv.d2 { transition-delay: .24s; } .rv.d3 { transition-delay: .36s; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rv { opacity: 1 !important; transform: none !important; transition: none !important; }
  * { animation: none !important; }
}

/* ---------- header ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 90;
  background: rgba(13,12,10,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent; transition: border-color .4s, background .4s;
}
.site-header.scrolled { border-bottom-color: var(--line-d); background: rgba(13,12,10,.88); }
.site-header .bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 68px; transition: height .3s var(--ease); }
.site-header.scrolled .bar { height: 58px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text); }
.brand img { height: 42px; width: auto; transition: height .3s var(--ease); }
.site-header.scrolled .brand img { height: 34px; }
.brand .name { font-family: "Spectral", serif; font-size: 1.02rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
nav.primary { display: flex; gap: 26px; }
nav.primary a { text-decoration: none; color: var(--text-dim); font-size: .88rem; font-weight: 500; transition: color .2s; }
nav.primary a:hover, nav.primary a[aria-current] { color: var(--gold-hi); }
.header-phone { text-decoration: none; font-weight: 600; color: var(--text); white-space: nowrap; font-size: .92rem; text-align: right; }
.header-phone .tag { display: block; font-size: .62rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
@media (max-width: 900px) { nav.primary { display: none; } .brand .name { display: none; } }

/* ---------- buttons ---------- */
.btn {
  display: inline-block; padding: 15px 32px; border-radius: 999px; font-weight: 600; font-size: .95rem;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;
}
.btn.gold {
  color: #14110A; background: linear-gradient(120deg, #C9A66C, #E3C88F 55%, #B89060);
  box-shadow: 0 4px 24px rgba(184,144,96,.25);
}
.btn.gold:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(184,144,96,.4); color: #14110A; }
.btn.ghost { color: var(--text); border-color: #4A4436; background: transparent; }
.btn.ghost:hover { border-color: var(--gold); color: var(--gold-hi); }
.phone-inline { font-weight: 600; color: var(--gold-hi); text-decoration: none; }

/* ---------- hero ---------- */
.hero {
  min-height: 100svh; display: grid; place-items: center; text-align: center;
  position: relative; overflow: hidden; padding: 120px 0 80px;
}
.hero::before { /* gold aura behind the crest */
  content: ""; position: absolute; top: -12%; left: 50%; transform: translateX(-50%);
  width: 1100px; height: 1100px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,144,96,.16) 0%, rgba(184,144,96,.05) 38%, transparent 65%);
  pointer-events: none;
}
.hero .crest {
  width: clamp(140px, 22vw, 210px); margin: 0 auto 34px; display: block;
  filter: drop-shadow(0 0 44px rgba(184,144,96,.3));
  animation: crestIn 1.4s var(--ease) both;
}
@keyframes crestIn { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
.hero h1 { max-width: 17ch; margin-inline: auto; animation: riseIn 1s var(--ease) .25s both; }
.hero .lede { max-width: 58ch; margin: 18px auto 0; color: var(--text-dim); font-size: clamp(1rem, 2vw, 1.14rem); animation: riseIn 1s var(--ease) .45s both; }
.hero .actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 38px; animation: riseIn 1s var(--ease) .62s both; }
@keyframes riseIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.scroll-cue {
  position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%);
  width: 1px; height: 54px; background: linear-gradient(var(--gold), transparent); opacity: .7;
}
.scroll-cue::before { content: ""; position: absolute; top: 0; left: -1.5px; width: 4px; height: 12px; border-radius: 4px; background: var(--gold-hi); animation: cue 2.2s var(--ease) infinite; }
@keyframes cue { 0% { top: 0; opacity: 1; } 80% { top: 40px; opacity: 0; } 100% { top: 0; opacity: 0; } }

/* ---------- stat band ---------- */
.stats { border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); background: var(--black-2); }
.stats .wrap { display: grid; grid-template-columns: 1fr; padding: 0; }
@media (min-width: 720px) { .stats .wrap { grid-template-columns: repeat(3, 1fr); } }
.stat { padding: 44px 26px; text-align: center; }
.stat + .stat { border-top: 1px solid var(--line-d); }
@media (min-width: 720px) { .stat + .stat { border-top: 0; border-left: 1px solid var(--line-d); } }
.stat .big { font-family: "Spectral", serif; font-size: clamp(2.1rem, 4.5vw, 3rem); color: var(--gold-hi); line-height: 1.1; }
.stat .lbl { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-dim); margin-top: 10px; }

/* ---------- sections ---------- */
section.block { padding: clamp(70px, 11vw, 130px) 0; position: relative; }
section.dark-2 { background: var(--black-2); border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); }

/* light "document" sections */
section.paper { background: var(--paper); color: var(--ink); }
section.paper .eyebrow { color: var(--gold-deep); }
section.paper .muted { color: var(--ink-soft); }
section.paper a { color: var(--gold-deep); }
section.paper h1, section.paper h2, section.paper h3 { color: var(--ink); }

.two-col { display: grid; gap: 40px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .two-col { grid-template-columns: 5fr 7fr; } .two-col .sticky-col { position: sticky; top: 110px; } }

/* ledger card (light sections) */
.ledger-card {
  background: var(--paper-card); border: 1px solid var(--line-l); border-radius: var(--radius);
  box-shadow: 0 2px 6px rgba(31,29,25,.05), 0 18px 44px rgba(31,29,25,.08);
  padding: clamp(26px, 4vw, 44px); position: relative;
}
.ledger-card::before { content: ""; position: absolute; inset: 8px; border: 1px solid var(--line-l); border-radius: 5px; pointer-events: none; }

/* ---------- steps: scroll-activated progression ---------- */
.steps-flow { position: relative; display: grid; gap: 18px; }
.steps-flow::before {
  content: ""; position: absolute; left: 27px; top: 30px; bottom: 30px; width: 1px;
  background: var(--line-d);
}
.stepline {
  position: absolute; left: 27px; top: 30px; width: 1px; height: 0;
  background: linear-gradient(var(--gold-deep), var(--gold-hi));
  transition: height .5s var(--ease); z-index: 1;
}
.step {
  display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start;
  background: var(--black-2); border: 1px solid var(--line-d); border-radius: var(--radius);
  padding: 26px 28px; position: relative; z-index: 2;
  opacity: .38; transition: opacity .6s var(--ease), border-color .6s, box-shadow .6s;
}
.step .n {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid var(--line-d); font-family: "Spectral", serif; font-size: 1.2rem; color: var(--text-dim);
  background: var(--black); transition: all .6s var(--ease);
}
.step.active { opacity: 1; border-color: rgba(184,144,96,.45); box-shadow: 0 0 0 1px rgba(184,144,96,.12), 0 14px 40px rgba(0,0,0,.4); }
.step.active .n { border-color: var(--gold); color: var(--gold-hi); box-shadow: 0 0 18px rgba(184,144,96,.28); }
.step h3 { margin-bottom: .3em; color: var(--text); }
.step p { margin: 0; color: var(--text-dim); font-size: .96rem; }

/* ---------- fee panel ---------- */
.fee-panel {
  background: linear-gradient(160deg, var(--black-3), var(--black-2));
  border: 1px solid rgba(184,144,96,.3); border-radius: var(--radius);
  padding: clamp(28px, 4vw, 46px); position: relative; overflow: hidden;
}
.fee-panel::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.fee-panel p { color: var(--text-dim); }
.fee-panel p:first-of-type { color: var(--text); font-size: 1.05rem; }
.fee-panel p:last-child { margin-bottom: 0; }

/* ---------- FAQ ---------- */
details.faq { border-bottom: 1px solid var(--line-d); }
details.faq summary {
  cursor: pointer; list-style: none; padding: 22px 40px 22px 0; position: relative;
  font-family: "Spectral", serif; font-size: 1.12rem; font-weight: 500; color: var(--text);
  transition: color .2s;
}
details.faq summary:hover { color: var(--gold-hi); }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after {
  content: "+"; position: absolute; right: 6px; top: 18px; color: var(--gold);
  font-size: 1.5rem; font-family: "Public Sans", sans-serif; font-weight: 300;
  transition: transform .3s var(--ease); display: inline-block;
}
details.faq[open] summary::after { transform: rotate(45deg); }
details.faq .a { padding: 0 0 24px; color: var(--text-dim); max-width: 70ch; }
section.paper details.faq { border-color: var(--line-l); }
section.paper details.faq summary { color: var(--ink); }
section.paper details.faq .a { color: var(--ink-soft); }

/* ---------- verify strip ---------- */
.verify-strip { display: grid; gap: 14px; grid-template-columns: 1fr; margin-top: 30px; }
@media (min-width: 780px) { .verify-strip { grid-template-columns: repeat(3, 1fr); } }
.verify-item {
  border: 1px solid var(--line-d); border-radius: var(--radius); padding: 26px; background: var(--black-2);
  transition: transform .3s var(--ease), border-color .3s;
}
.verify-item:hover { transform: translateY(-4px); border-color: rgba(184,144,96,.4); }
.verify-item h3 { font-size: 1.02rem; color: var(--gold-hi); }
.verify-item p { font-size: .9rem; color: var(--text-dim); margin: 0; }

/* ---------- lead form (light card on dark) ---------- */
.lead-form { color: var(--ink); }
.lead-form h2 { color: var(--ink); }
.lead-form .eyebrow { color: var(--gold-deep); }
.lead-form .muted { color: var(--ink-soft); }
.lead-form form { display: grid; gap: 18px; margin-top: 10px; }
.field label { display: block; font-size: .76rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 7px; color: var(--ink-soft); }
.field label .opt { text-transform: none; letter-spacing: 0; font-weight: 400; }
.field input, .field textarea {
  width: 100%; padding: 14px 16px; border: 1px solid #D5CDBB; border-radius: 8px;
  font: inherit; background: #fff; color: var(--ink); transition: border-color .2s, box-shadow .2s;
}
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184,144,96,.22); }
.grid-2 { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .grid-2 { grid-template-columns: 1fr 1fr; } }
.consent-box {
  display: grid; grid-template-columns: 22px 1fr; gap: 12px; background: #FBF8F1;
  border: 1px solid var(--line-l); border-radius: 8px; padding: 16px; font-size: .8rem;
  color: var(--ink-soft); line-height: 1.55;
}
.consent-box input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold-deep); }
.hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.form-note { font-size: .84rem; color: var(--ink-soft); }
.form-note a { color: var(--gold-deep); }
button.btn { font-family: inherit; border: none; }

/* ---------- footer ---------- */
.site-footer { background: #080807; color: #9C958A; border-top: 1px solid var(--line-d); }
.site-footer .top { display: grid; gap: 36px; padding: 64px 0 44px; grid-template-columns: 1fr; }
@media (min-width: 840px) { .site-footer .top { grid-template-columns: 300px 1fr 1fr; } }
.site-footer img.crest { width: 160px; opacity: .95; }
.site-footer h4 { color: #fff; font-family: "Spectral", serif; font-weight: 600; margin: 0 0 14px; font-size: 1rem; }
.site-footer a { color: var(--gold); text-decoration: none; }
.site-footer a:hover { color: var(--gold-hi); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: .9rem; }
.site-footer .legal { border-top: 1px solid var(--line-d); padding: 24px 0 36px; font-size: .76rem; color: #6E685E; line-height: 1.65; }
.site-footer .legal p { margin: 0 0 8px; }

/* misc */
.center { text-align: center; }
.badge-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.badge-list li { border: 1px solid rgba(184,144,96,.35); border-radius: 999px; padding: 7px 16px; font-size: .78rem; color: var(--gold-hi); background: rgba(184,144,96,.06); }
section.paper .badge-list li { border-color: var(--line-l); color: var(--ink-soft); background: #FBF8F1; }
.notice-ok { background: var(--black-2); border: 1px solid rgba(184,144,96,.4); border-radius: var(--radius); padding: 30px 32px; }
.notice-err { background: var(--black-2); border: 1px solid #6E4438; border-radius: var(--radius); padding: 30px 32px; }
.gold-rule { width: 64px; height: 2px; background: linear-gradient(90deg, var(--gold-deep), var(--gold-hi)); border: 0; margin: 0 0 26px; }
.center .gold-rule { margin-inline: auto; }

/* ---------- cinematic story sequence (scroll-driven) ---------- */
.story { position: relative; height: 190vh; background: var(--black); }
.story .stage {
  position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden;
  display: grid; place-items: center; text-align: center;
}
.story .line {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 0 24px;
  opacity: 0; transform: scale(.92); will-change: opacity, transform;
}
.story .line h2 {
  font-size: clamp(2rem, 7.5vw, 5rem); max-width: 16ch; margin: 0; line-height: 1.12;
  font-weight: 500;
}
.story .line .kicker { font-size: .74rem; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 22px; }
.story .vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.55) 100%);
}
.story .progress {
  position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 10px;
}
.story .progress i { width: 26px; height: 2px; background: var(--line-d); transition: background .4s; }
.story .progress i.on { background: var(--gold-hi); }
@media (prefers-reduced-motion: reduce) {
  .story { height: auto; }
  .story .stage { position: static; height: auto; display: block; padding: 80px 0; }
  .story .line { position: static; opacity: 1 !important; transform: none !important; display: block; padding: 40px 24px; }
  .story .progress, .story .vignette { display: none; }
}

/* ---------- hero gold dust canvas ---------- */
.hero canvas.dust { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.hero .wrap { position: relative; z-index: 2; }

/* ---------- service (tech) section ---------- */
.svc-strip { display: grid; gap: 16px; grid-template-columns: 1fr; margin-top: 34px; }
@media (min-width: 800px) { .svc-strip { grid-template-columns: repeat(3, 1fr); } }
.svc-item {
  border: 1px solid var(--line-d); border-radius: var(--radius); padding: 30px 28px;
  background: linear-gradient(170deg, var(--black-3), var(--black-2));
  position: relative; overflow: hidden;
  transition: transform .35s var(--ease), border-color .35s, box-shadow .35s;
}
.svc-item::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,144,96,.6), transparent);
  opacity: 0; transition: opacity .35s;
}
.svc-item:hover { transform: translateY(-5px); border-color: rgba(184,144,96,.45); box-shadow: 0 18px 44px rgba(0,0,0,.5); }
.svc-item:hover::before { opacity: 1; }
.svc-item .glyph {
  width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid rgba(184,144,96,.4); color: var(--gold-hi); margin-bottom: 18px;
  font-family: "Spectral", serif; font-size: 1.25rem; background: rgba(184,144,96,.06);
}
.svc-item h3 { font-size: 1.05rem; color: var(--gold-hi); }
.svc-item p { font-size: .92rem; color: var(--text-dim); margin: 0; }

/* ---------- luminous hero (radiant emblem + crossfading headlines) ---------- */
.hero-lux { min-height: 100svh; display: grid; place-items: center; text-align: center; position: relative; overflow: hidden; padding: 120px 0 90px; }
/* breathing radial sun behind the crest */
.hero-lux .aura {
  position: absolute; top: 44%; left: 50%; width: min(1500px, 165vw); aspect-ratio: 1; transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, rgba(227,200,143,.20) 0%, rgba(184,144,96,.11) 26%, rgba(184,144,96,.04) 44%, transparent 62%);
  pointer-events: none; animation: auraBreath 7s var(--ease) infinite;
}
@keyframes auraBreath { 0%,100% { opacity: .8; transform: translate(-50%,-50%) scale(1); } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1.08); } }
/* rotating engraved rays */
.hero-lux .rays {
  position: absolute; top: 44%; left: 50%; width: min(940px, 108vw); aspect-ratio: 1; transform: translate(-50%,-50%);
  pointer-events: none; opacity: .5; animation: raySpin 60s linear infinite;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(227,200,143,0) 0deg, rgba(227,200,143,.11) 1.1deg, rgba(227,200,143,0) 2.3deg 6deg);
  -webkit-mask: radial-gradient(circle, transparent 30%, #000 42%, #000 60%, transparent 72%);
  mask: radial-gradient(circle, transparent 30%, #000 42%, #000 60%, transparent 72%);
}
@keyframes raySpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.hero-lux canvas.dust { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.hero-lux .wrap { position: relative; z-index: 3; }
.hero-lux .crest {
  width: clamp(150px, 24vw, 250px); margin: 0 auto 32px; display: block;
  filter: drop-shadow(0 0 60px rgba(227,200,143,.4));
  animation: crestGlow 5s var(--ease) infinite, crestIn 1.5s var(--ease) both;
}
@keyframes crestGlow { 0%,100% { filter: drop-shadow(0 0 46px rgba(227,200,143,.34)); } 50% { filter: drop-shadow(0 0 78px rgba(227,200,143,.55)); } }

/* headline stack: the FINAL line defines real height (normal flow so the lede
   always sits below it, however many lines it wraps to). The two intro lines are
   absolutely positioned on top and only appear during the animated sequence. */
.hero-lux .eyebrow { margin-bottom: 1.4rem; }
.lux-stack { position: relative; margin: 0 auto 34px; max-width: 22ch; }
.lux-stack h1, .lux-stack .final {
  margin: 0 auto; text-align: center; transform-origin: top center;
  font-size: clamp(1.9rem, 5.4vw, 3.6rem); line-height: 1.16; font-weight: 500; letter-spacing: -.015em;
  font-family: "Spectral", Georgia, serif;
}
/* intro lines overlay the final line's box */
.lux-stack .lux-line:not(.final) { position: absolute; top: 0; left: 0; right: 0; }
.lux-stack .final { position: relative; }
.lux-line { opacity: 0; }
.hero-lux.play .lux-line:not(.final) { animation: luxSwap 2.4s var(--ease) forwards; }
.hero-lux.play .lux-line:nth-child(1) { animation-delay: .3s; }
.hero-lux.play .lux-line:nth-child(2) { animation-delay: 2.3s; }
.hero-lux.play .lux-line.final { animation: luxIn 1.4s var(--ease) 4.3s forwards; }
@keyframes luxSwap { 0% { opacity: 0; transform: translateY(14px) scale(.99); filter: blur(6px); } 18%,72% { opacity: 1; transform: none; filter: blur(0); } 100% { opacity: 0; transform: translateY(-12px) scale(1.01); filter: blur(6px); } }
@keyframes luxIn { from { opacity: 0; transform: translateY(14px); filter: blur(6px); } to { opacity: 1; transform: none; filter: blur(0); } }
.hero-lux .lede, .hero-lux .actions { opacity: 0; }
.hero-lux.play .lede { animation: luxIn 1.2s var(--ease) 4.9s forwards; }
.hero-lux.play .actions { animation: luxIn 1.2s var(--ease) 5.2s forwards; }
.hero-lux .actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 38px; }

@media (prefers-reduced-motion: reduce) {
  .hero-lux .aura, .hero-lux .rays, .hero-lux .crest { animation: none; }
  .lux-stack .lux-line:not(.final) { display: none; }
  .lux-stack .final { position: static; opacity: 1; }
  .hero-lux .lede, .hero-lux .actions { opacity: 1; }
}
