/* ---- Announcement: The Visual Edition (home page, shown once per visitor) ---- */
.mc-ann[hidden] { display: none; }
.mc-ann { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.mc-ann-veil { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, rgba(60,8,12,.55), rgba(0,0,0,.88) 70%); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .7s ease; }
.mc-ann-card { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); width: min(880px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: linear-gradient(160deg, #140708 0%, #050304 55%, #000 100%); border: 1px solid rgba(244,234,210,.16); border-radius: 2px; box-shadow: 0 50px 120px -30px rgba(200,50,58,.5), 0 30px 80px rgba(0,0,0,.7); opacity: 0; transform: translateY(26px) scale(.98); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.mc-ann-card::before { content: ''; position: absolute; left: 12%; right: 12%; top: -1px; height: 1px; background: linear-gradient(90deg, rgba(226,71,79,0), #e2474f, rgba(226,71,79,0)); }
.mc-ann.is-open .mc-ann-veil { opacity: 1; }
.mc-ann.is-open .mc-ann-card { opacity: 1; transform: none; }
.mc-ann-art { position: relative; margin: 0; overflow: hidden; background: #000; }
.mc-ann-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.17); transition: transform 8s ease-out; }
.mc-ann.is-open .mc-ann-art img { transform: scale(1.1); }
.mc-ann-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0) 60%, rgba(5,3,4,.9)), linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0) 30%); }
.mc-ann-credit { position: absolute; left: 18px; bottom: 14px; z-index: 1; font-family: var(--font-sans); font-size: 9px; letter-spacing: .24em; text-transform: uppercase; color: rgba(244,234,210,.7); }
.mc-ann-credit b { font-weight: 500; color: #f4ead2; }
.mc-ann-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 56px) clamp(28px, 4.5vw, 52px); text-align: left; }
.mc-ann-kicker { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #f0b8b0; }
.mc-ann-h { margin: 18px 0 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(38px, 4.6vw, 56px); line-height: 1.02; color: var(--ink); }
.mc-ann-h i { display: block; }
.mc-ann-line { margin: 22px 0 0; font-family: var(--font-display); font-style: italic; font-size: 19px; line-height: 1.55; color: var(--ink-dim); }
.mc-ann-line b { font-style: normal; font-weight: 500; color: var(--ink); }
.mc-ann-eds { margin: 26px 0 0; font-family: var(--font-sans); font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-dim); }
.mc-ann-date { margin: 8px 0 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(34px, 4vw, 46px); letter-spacing: .06em; color: var(--ink); text-shadow: 0 0 30px rgba(226,71,79,.5); }
.mc-ann-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.mc-ann-ctas .pv-btn { cursor: pointer; }
.mc-ann-later { padding: 6px 0; border: 0; border-bottom: 1px solid rgba(244,234,210,.3); background: none; color: var(--ink-dim); font-family: var(--font-sans); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.mc-ann-later:hover, .mc-ann-later:focus-visible { color: var(--ink); border-bottom-color: var(--ink); outline: none; }
.mc-ann-x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(244,234,210,.2); border-radius: 50%; background: rgba(0,0,0,.5); color: var(--ink); cursor: pointer; transition: border-color .3s ease, transform .3s ease; }
.mc-ann-x:hover, .mc-ann-x:focus-visible { border-color: var(--ink); transform: rotate(90deg); outline: none; }
.mc-ann-x svg { width: 12px; height: 12px; }
@media (max-width: 720px) {
  .mc-ann { padding: 14px; align-items: end; }
  .mc-ann-card { grid-template-columns: 1fr; max-height: calc(100vh - 28px); }
  .mc-ann-art { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 34px 0 6px; background: none; overflow: visible; }
  .mc-ann-art::after { display: none; }
  .mc-ann-art img, .mc-ann.is-open .mc-ann-art img { width: auto; height: 30vh; min-height: 190px; max-height: 300px; object-fit: contain; border-radius: 2px; box-shadow: 0 0 0 1px rgba(244,234,210,.18), 0 0 0 6px rgba(0,0,0,.6), 0 0 0 7px rgba(244,234,210,.1), 0 26px 50px -18px rgba(200,50,58,.6); transform: rotate(-1.5deg); }
  .mc-ann-credit { position: static; }
  .mc-ann-body { padding: 22px 24px 28px; text-align: center; }
  .mc-ann-kicker, .mc-ann-ctas { justify-content: center; }
  .mc-ann-line { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-ann-veil, .mc-ann-card, .mc-ann-art img { transition: none; }
  .mc-ann-art img { transform: scale(1.1); }
}
body.mc-ann-lock { overflow: hidden; }

/* ---- Home: Visual Edition pre-order section ---------------------------------------- */
.mc-ve { position: relative; overflow: hidden; background: radial-gradient(ellipse 60% 70% at 25% 50%, rgba(200,50,58,.16), rgba(0,0,0,0) 70%); }
.mc-ve-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.mc-ve-fig { justify-self: center; display: block; width: 100%; max-width: 400px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(244,234,210,.18), 0 0 0 8px rgba(0,0,0,.6), 0 0 0 9px rgba(244,234,210,.12), 0 40px 90px -30px rgba(200,50,58,.55); transform: rotate(-1.4deg); transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.mc-ve-fig:hover { transform: rotate(0) translateY(-6px); }
.mc-ve-fig img { display: block; width: 100%; height: auto; border-radius: 2px; }
.mc-ve-h { margin: 18px 0 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(46px, 6vw, 80px); line-height: 1; color: var(--ink); }
.mc-ve-h i { display: block; }
.mc-ve-line { margin: 26px 0 0; max-width: 520px; font-family: var(--font-display); font-style: italic; font-size: 20px; line-height: 1.6; color: var(--ink-dim); }
.mc-ve-line b { display: block; margin-bottom: 4px; text-wrap: balance; font-style: normal; font-weight: 500; font-size: 1.2em; color: var(--ink); }
.mc-ve-prices { display: grid; grid-template-columns: 1fr 1fr; max-width: 460px; margin: 30px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mc-ve-prices div { padding: 16px 0; }
.mc-ve-prices div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.mc-ve-prices dt { font-family: var(--font-sans); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-dim); }
.mc-ve-prices dd { margin: 6px 0 0; font-family: var(--font-display); font-weight: 500; font-size: 28px; color: var(--ink); }
.mc-ve-prices small { font-style: italic; font-weight: 400; font-size: 15px; color: var(--ink-dim); }
.mc-ve-date { display: flex; align-items: baseline; gap: 16px; margin-top: 24px; }
.mc-ve-date span { font-family: var(--font-sans); font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--ink-dim); }
.mc-ve-date b { font-family: var(--font-display); font-weight: 500; font-size: clamp(32px, 3.6vw, 44px); letter-spacing: .06em; color: var(--ink); text-shadow: 0 0 30px rgba(226,71,79,.45); }
a.mc-ann-later { text-decoration: none; }
.mc-ve-credit { margin: 22px 0 0; font-family: var(--font-sans); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-dim); }
.mc-ve-credit b { font-weight: 500; color: var(--ink); }
@media (max-width: 860px) {
  .mc-ve-in { grid-template-columns: 1fr; gap: 44px; }
  .mc-ve-fig { max-width: 300px; }
  .mc-ve-copy { text-align: center; }
  .mc-ve-copy .mc-ann-kicker, .mc-ve-copy .mc-ann-ctas, .mc-ve-date { justify-content: center; }
  .mc-ve-line, .mc-ve-prices { margin-left: auto; margin-right: auto; }
  .mc-ve-line { font-size: 18px; }
  .mc-ve-credit { line-height: 1.8; }
}
