/* EVENT INFO PAGE, SECTION 12: THE STATE BANNERS (Bible §11-14).
   The prototype's own rules for them, from oep/oep.css, IN THE PROTOTYPE'S
   SOURCE ORDER -- that file defines the banner in layers, each later block
   overriding an earlier one, so the order is part of the design. Not copied:
   the dark-theme rules (dark is out of scope), and the waitlist and
   follow-link rules, which wait for their data or for Mac's rulings.
   The countdown's and the sold-out banner's own rules (the show count, the
   silver skin) are in one block after the sold-out layout rules; see it.

   One change, and only of selector: the prototype mirrors the success wipe
   with html[dir=rtl], and this page sets its direction on its own root, not on
   the html element, so those rules read [dir="rtl"]. The buttons, the field
   and the done state are eip-common.css's, shared with the other sections. */

.oep-ban{display:flex;align-items:center;gap:10px;padding:12px var(--o5-edge);font-family:var(--o5-display);font-size:14px;font-weight:600}
.oep-ban.is-prev{background:#1a1a1a;color:#fff}
.oep-ban.is-prev button{margin-inline-start:auto;height:34px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.oep-ban.is-end{background:#fff3dc;color:#7a4a00}
.oep-ban.is-end span{display:flex;flex-wrap:wrap;gap:4px 10px}
.oep-pre{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;margin:34px 0 10px;padding:40px;background:var(--o5-surface);border:1px solid var(--o5-line);border-radius:28px;font-family:var(--o5-display)}
.oep-pre-l h2{margin:14px 0 8px;font-size:34px;font-weight:800;letter-spacing:-.025em;color:var(--o5-ink)}
.oep-pre-l p{margin:0 0 18px;font-size:16px;line-height:1.6;color:var(--o5-ink2);max-width:560px}
.oep-pre-l ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.oep-pre-l li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:var(--o5-ink)}
.oep-pre-l .mk{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d62133;color:#fff}
.oep-pre-r{padding:28px;background:var(--o5-surface-2);border-radius:22px}
.oep-pre-r .oep-f input{height:52px}
.oep-pre-b{width:100%;height:52px;margin-top:4px}
.oep-pre-n{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--o5-ink2)}
@media (max-width:900px){
  .oep-pre{grid-template-columns:minmax(0,1fr);padding:24px;gap:22px}
  .oep-pre-l h2{font-size:28px}
}
.oep-pre.is-red{background:#d62133;border-color:#d62133}
.oep-pre.is-red .oep-pre-l h2,.oep-pre.is-red .oep-pre-l li{color:#fff}
.oep-pre.is-red .oep-pre-l p{color:rgba(255,255,255,.88)}
.oep-pre.is-red .mk{background:#fff;color:#d62133}
.oep-pre.is-red .oep-soon-i.is-dark{background:rgba(255,255,255,.18);color:#fff}
.oep-pre.is-red .oep-pre-r{background:#fff}
.oep-pre.is-red .oep-pre-b{background:#1a1a1a;border-color:#1a1a1a}
.oep-pre.is-red .oep-pre-b:hover{background:#333}
.oep-pre.is-black{background:#1a1a1a;border-color:#1a1a1a}
.oep-pre.is-black .oep-pre-l h2,.oep-pre.is-black .oep-pre-l li{color:#fff}
.oep-pre.is-black .oep-pre-l p{color:rgba(255,255,255,.75)}
.oep-pre.is-black .oep-soon-i.is-dark{background:rgba(214,33,51,.2);color:#ff5a68}
.oep-pre.is-black .oep-pre-r{background:#262626}
.oep-pre.is-black .oep-f>span{color:#fff}
.oep-pre.is-black .oep-f input{background:#fff;color:#1a1a1a;border-color:#3a3a3a}
.oep-pre.is-black .oep-pre-n,.oep-pre.is-black .oep-done p{color:rgba(255,255,255,.7)}
.oep-pre{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px 56px;padding:48px 52px 0;align-items:center;overflow:hidden}
.oep-pre-k{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;background:#fdecee;color:#d62133;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
[dir="rtl"] .oep-pre-k{letter-spacing:0}
.oep-pre-l h2{margin:16px 0 10px;font-size:clamp(34px,4vw,48px);line-height:1.05}
.oep-pre-l p{margin:0;font-size:17px}
.oep-pre-r{padding:24px;border-radius:24px}
.oep-pre-p{grid-column:1/-1;list-style:none;margin:16px -52px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--o5-line)}
.oep-pre-p li{display:flex;align-items:center;gap:14px;padding:22px 32px;font-size:15px;color:var(--o5-ink)}
.oep-pre-p li+li{border-inline-start:1px solid var(--o5-line)}
.oep-pre-p li:first-child{padding-inline-start:52px}
.oep-pre-p .mk{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;background:#fdecee;color:#d62133}
.oep-pre-p b{font-weight:800;line-height:1.35}
.oep-pre.is-red .oep-pre-k{background:rgba(255,255,255,.18);color:#fff}
.oep-pre.is-red .oep-pre-p{border-color:rgba(255,255,255,.22)}
.oep-pre.is-red .oep-pre-p li{color:#fff;border-color:rgba(255,255,255,.22)}
.oep-pre.is-red .oep-pre-p .mk{background:rgba(255,255,255,.16);color:#fff}
.oep-pre.is-black .oep-pre-k{background:rgba(214,33,51,.22);color:#ff6b78}
.oep-pre.is-black .oep-pre-p{border-color:#333}
.oep-pre.is-black .oep-pre-p li{color:#fff;border-color:#333}
.oep-pre.is-black .oep-pre-p .mk{background:#262626;color:#ff6b78}
@media (max-width:900px){
  .oep-pre{padding:26px 22px 0}
  .oep-pre-p{grid-template-columns:minmax(0,1fr);margin:6px -22px 0}
  .oep-pre-p li,.oep-pre-p li:first-child{padding:16px 22px}
  .oep-pre-p li+li{border-inline-start:0;border-top:1px solid var(--o5-line)}
  .oep-pre.is-red .oep-pre-p li+li{border-color:rgba(255,255,255,.22)}
  .oep-pre.is-black .oep-pre-p li+li{border-color:#333}
}
.oep-pre .oep-pre-r,.oep-pre.is-red .oep-pre-r,.oep-pre.is-black .oep-pre-r{background:none!important;padding:0}
.oep-pre.is-red .oep-f>span,.oep-pre.is-red .oep-pre-n,.oep-pre.is-red .oep-done p{color:#fff}
.oep-pre.is-red .oep-f input{border-color:#fff}
.oep-pre.is-red .oep-f em{color:#fff}
.oep-skins .oep-seg,.oep-skins .oep-seg button,.oep-skins>span,.oep-pre-k{white-space:nowrap;flex-wrap:nowrap}
.oep-pre{padding:56px 56px 0;gap:24px 64px}
.oep-pre-l p{max-width:520px}
.oep-pre-in{display:flex;align-items:center;gap:6px;height:60px;padding:6px;border-radius:999px;background:#fff;border:1px solid #d4d2cb;box-shadow:0 14px 30px -20px rgba(0,0,0,.35)}
.oep-pre-in:focus-within{border-color:#1a1a1a}
.oep-pre-in.has-err{border-color:#d62133}
.oep-pre-in input{flex:1;min-width:0;height:100%;padding:0 18px;border:0;background:none;outline:none;font:inherit;font-size:15px;color:#1a1a1a}
.oep-pre-in .oep-pre-b{width:auto;height:48px;margin:0;padding:0 22px}
.oep-pre-er{display:block;margin:8px 18px 0;font-style:normal;font-size:12.5px;font-weight:700;color:#b91c2c}
.oep-pre.is-red .oep-pre-er{color:#fff}
.oep-pre.is-red .oep-pre-in{border-color:#fff}
.oep-pre.is-black .oep-pre-in{border-color:#fff}
.oep-pre-n{margin:14px 18px 0!important}
.oep-pre-p{margin:24px -56px 0}
.oep-pre-p li,.oep-pre-p li:first-child{padding:24px 56px}
.oep-pre-p li+li{padding-inline-start:32px}
.oep-pre-p .mk{width:40px;height:40px;border-radius:12px}
.oep-pre-p b{font-size:14.5px;font-weight:700}
@media (max-width:900px){
  .oep-pre{padding:28px 22px 0}
  .oep-pre-p{margin:8px -22px 0}
  .oep-pre-p li,.oep-pre-p li:first-child,.oep-pre-p li+li{padding:16px 22px}
  .oep-pre-in{height:56px}
  .oep-pre-in .oep-pre-b{padding:0 16px}
}
.oep-pre-p b{font-weight:500!important;font-size:14px!important;color:var(--o5-ink2)}
.oep-pre.is-red .oep-pre-p b{color:rgba(255,255,255,.9)}
.oep-pre.is-black .oep-pre-p b{color:rgba(255,255,255,.8)}
.oep-pre-p .mk{width:auto!important;height:auto!important;background:none!important;border-radius:0}
.oep-pre-p li{gap:10px;padding-top:20px;padding-bottom:20px}
.oep-pre-foot{display:flex!important;align-items:center;gap:10px;padding:20px 56px;font-size:14px;color:var(--o5-ink2)}
.oep-pre.is-red .oep-pre-foot{color:rgba(255,255,255,.92)}
.oep-pre.is-black .oep-pre-foot{color:rgba(255,255,255,.78)}
@media (max-width:900px){
  .oep-pre-foot{padding:16px 22px;align-items:flex-start}
}
@media (max-width:900px){
  .oep-pre{grid-template-columns:minmax(0,1fr)!important;gap:22px!important;padding:26px 20px 0!important;border-radius:22px}
  .oep-pre-l h2{font-size:32px!important;margin:12px 0 8px!important}
  .oep-pre-l p{font-size:15.5px!important;line-height:1.55}
  .oep-pre-r{padding:0!important}
  .oep-pre-in{height:auto!important;flex-direction:column;align-items:stretch;gap:8px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
  .oep-pre-in input{height:52px!important;padding:0 20px!important;border:1px solid #d4d2cb!important;border-radius:999px;background:#fff!important}
  .oep-pre-in .oep-pre-b{width:100%!important;height:52px!important}
  .oep-pre-p{margin:4px -20px 0!important}
  .oep-pre-foot{padding:16px 20px!important;font-size:13.5px}
}
@media (max-width:900px){
  .oep-pre-in input{flex:none!important;width:100%;font-size:15px}
  .oep-pre-in{gap:10px}
  .oep-pre-k{height:28px;padding:0 12px;font-size:11px}
  .oep-pre-l h2{font-size:30px!important}
  .oep-pre-l p{font-size:15px!important}
  .oep-pre-foot{gap:12px;font-size:13px!important;line-height:1.5}
  .oep-pre-foot .oi{margin-top:2px}
}
.oep-pre-ok{padding:10px 0}
.oep-pre-ok .oep-done-i{width:104px;height:104px}
.oep-pre .oep-pre-foot.is-ok{color:#1f8a5b!important;font-weight:600}
.oep-pre.is-red .oep-pre-foot.is-ok,.oep-pre.is-black .oep-pre-foot.is-ok{color:#5fd39a!important}
.oep-pre-ok .oep-done-i{position:relative;animation:oepPop .55s cubic-bezier(.34,1.56,.64,1) both}
.oep-pre-ok .oep-done-i::before,.oep-pre-ok .oep-done-i::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1f8a5b;animation:oepRing 1s ease-out .25s both}
.oep-pre-ok .oep-done-i::after{animation-delay:.45s}
.oep-pre-ok .oep-done-i path{stroke-dasharray:30;animation:oepDraw .4s ease-out .35s both}
.oep-pre-foot.is-ok{animation:oepUp .45s ease-out .5s both}
@media (prefers-reduced-motion:reduce){
  .oep-pre-ok .oep-done-i,.oep-pre-ok .oep-done-i::before,.oep-pre-ok .oep-done-i::after,.oep-pre-ok .oep-done-i path,.oep-pre-foot.is-ok{animation:none}
}
.oep-pre{position:relative;isolation:isolate;transition:border-color .6s}
.oep-pre::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 75% 45%,#24a06a,#1f8a5b 60%,#17704a);clip-path:circle(0% at 75% 45%);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1)}
[dir="rtl"] .oep-pre::before{clip-path:circle(0% at 25% 45%)}
.oep-pre.is-done::before,[dir="rtl"] .oep-pre.is-done::before{clip-path:circle(160% at 75% 45%)}
.oep-pre.is-done{border-color:#1f8a5b!important}
.oep-pre.is-done .oep-pre-l h2,.oep-pre.is-done .oep-pre-l p,.oep-pre.is-done .oep-pre-foot{color:#fff!important;transition:color .4s .35s}
.oep-pre.is-done .oep-pre-k{background:rgba(255,255,255,.18)!important;color:#fff!important;transition:all .4s .35s}
.oep-pre.is-done .oep-pre-p{border-color:rgba(255,255,255,.22)!important}
.oep-pre.is-done .oep-pre-foot{display:none!important}
.oep-pre.is-done .oep-done-i{background:#fff;color:#1f8a5b;box-shadow:0 20px 40px -16px rgba(0,0,0,.35)}
.oep-pre.is-done .oep-done-i::before,.oep-pre.is-done .oep-done-i::after{border-color:#fff}
.oep-pre.is-done .oep-pre-sw h2{animation:oepSwap .7s cubic-bezier(.22,1,.36,1) .45s both}
.oep-pre.is-done .oep-pre-sw p{animation:oepSwap .7s cubic-bezier(.22,1,.36,1) .6s both}
.oep-pre.is-done .oep-pre-ok .oep-done-i{animation-delay:.3s}
.oep-pre.is-done .oep-pre-ok .oep-done-i path{animation-delay:.65s}
.oep-pre.is-done .oep-pre-ok .oep-done-i::before{animation-delay:.55s}
.oep-pre.is-done .oep-pre-ok .oep-done-i::after{animation-delay:.75s}
.oep-pre.is-done{padding-bottom:48px!important}
@media (prefers-reduced-motion:reduce){
  .oep-pre::before{transition:none}
  .oep-pre.is-done .oep-pre-sw h2,.oep-pre.is-done .oep-pre-sw p{animation:none}
}
.oep-pre[data-mode=sold]{background:linear-gradient(135deg,#d62133 0%,#b91c2c 100%)}
.oep-pre[data-mode=sold]::after{content:"SOLD OUT";position:absolute;top:28px;inset-inline-end:-46px;transform:rotate(35deg);padding:6px 60px;background:#1a1a1a;color:#fff;font:800 11px 'JetBrains Mono',monospace;letter-spacing:.18em;pointer-events:none}
[dir="rtl"] .oep-pre[data-mode=sold]::after{transform:rotate(-35deg)}
.oep-pre[data-mode=sold].is-done::after{display:none}
.oep-pre[data-mode=sold] .oep-pre-in{border-color:#fff}
.oep-pre[data-mode=sold]::after{white-space:nowrap;top:22px;inset-inline-end:-62px;padding:6px 72px}
.oep-pre[data-mode=sold] .oep-pre-r{display:flex;flex-direction:column}
.oep-pre[data-mode=sold]::after{display:none!important}
.oep-pre[data-mode=sold].is-white{background:var(--o5-surface)}
.oep-pre[data-mode=sold].is-black{background:#1a1a1a}
@media (min-width:901px){
  .oep-pre[data-mode=sold] .oep-pre-foot{padding-inline-end:440px!important}
}
.oep-pre[data-mode=sold]:not(.is-done) .oep-pre-foot>*{visibility:hidden}
.oep-pre[data-mode=sold]:not(.is-done) .oep-pre-foot{min-height:62px}
@media (max-width:900px){
  .oep-pre[data-mode=sold]:not(.is-done) .oep-pre-foot{display:none!important}
  .oep-pre[data-mode=sold]:not(.is-done){padding-bottom:26px!important}
}
/* THE COUNTDOWN AND SOLD OUT (V3.52's window; window 0's ruling of
   2026-10-13): the prototype's countdown, show-count and silver rules, in its
   order, light theme only, the red skin's left out (no banner here is red),
   and the people-waiting line left out (no such element). The silver skin's
   button and field rules are kept for the waitlist form that will sit in the
   sold-out banner's right column. Every selector here is more specific than
   the red sold-out gradient above, so placing the block after it changes
   nothing. */
.oep-cd{margin-top:22px}
.oep-cd-l{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--o5-ink2);margin-bottom:10px}
[dir="rtl"] .oep-cd-l{letter-spacing:0}
.oep-pre.is-black .oep-cd-l{color:rgba(255,255,255,.7)}
.oep-pre-r .oep-cd{margin:0 0 18px}
.oep-cd-r{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.oep-cd-r .oep-cd-l{margin:0}
.oep-cd-v{display:inline-flex;gap:10px;font-size:13px;color:var(--o5-ink2);font-variant-numeric:tabular-nums}
.oep-cd-v b{font-size:16px;font-weight:700;color:var(--o5-ink);margin-inline-end:1px}
.oep-cd-bar{height:6px;border-radius:999px;background:var(--o5-line);overflow:hidden}
.oep-cd-bar i{display:block;height:100%;border-radius:inherit;background:#d62133;transition:width 1s linear}
.oep-pre.is-black .oep-cd-v{color:rgba(255,255,255,.7)}
.oep-pre.is-black .oep-cd-v b{color:#fff}
.oep-pre.is-black .oep-cd-bar{background:#333}
.oep-pre.is-silver{background:linear-gradient(135deg,#f4f4f2 0%,#dcdcd8 48%,#efefec 100%);border-color:#d0d0cb}
.oep-pre.is-silver .oep-pre-k{background:#1a1a1a;color:#fff}
.oep-pre.is-silver .oep-pre-l p,.oep-pre.is-silver .oep-pre-foot{color:#4a4a47}
.oep-pre.is-silver .oep-pre-p{border-color:rgba(0,0,0,.1)}
.oep-pre.is-silver .oep-pre-b{background:#1a1a1a;border-color:#1a1a1a}
.oep-pre.is-silver .oep-pre-b:hover{background:#333}
@media (max-width:900px){
  .oep-cd-r{flex-wrap:wrap;gap:4px 12px}
  .oep-cd-v{gap:8px}
}
@media (max-width:900px){
  .oep-pre-r .oep-cd{margin:0 0 20px!important;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.06)}
  .oep-pre.is-black .oep-pre-r .oep-cd{background:rgba(255,255,255,.1)}
  .oep-cd-r{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px}
  .oep-cd-l{font-size:11px!important}
  .oep-cd-v b{font-size:20px}
}
.oep-cd-r{flex-wrap:wrap;row-gap:6px;align-items:center}
.oep-cd-r .oep-cd-l{white-space:nowrap}
.oep-cd-r{margin-bottom:12px}
.oep-pre[data-mode=sold] .oep-pre-r>.oep-cd{order:2;display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;margin:14px 18px 0!important;padding:0!important;background:none!important}
.oep-pre[data-mode=sold] .oep-pre-r>.oep-cd .oep-cd-l{margin:0}
.oep-pre[data-mode=sold].is-silver{background:linear-gradient(135deg,#f4f4f2 0%,#dcdcd8 48%,#efefec 100%)}
.oep-pre[data-mode=sold].is-silver .oep-pre-in{border-color:#d4d2cb}
@media (min-width:901px){
  .oep-pre[data-mode=sold] .oep-pre-r>.oep-cd{position:absolute;bottom:22px;inset-inline-end:56px;margin:0!important;z-index:1}
}
@media (min-width:901px){
  .oep-pre[data-mode=sold] .oep-pre-r>.oep-cd{inset-inline-end:auto;inset-inline-start:56px}
}
.oep-end-wrap{display:flex;justify-content:center;padding:18px 20px 0}
.oep-end-pill{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;background:#1a1a1a;color:#fff;font-size:14px;font-weight:700}
.oep-pre.is-cream{background:#f6f4ef;border-color:#ebe8e0;padding-bottom:48px!important}
.oep-pre.is-cream .oep-pre-k{background:#1a1a1a;color:#fff}
.oep-pre.is-cream .oep-pre-r{background:none;padding:0}
.oep-e3-l .oep-pre-k{background:#fff!important;color:#1a1a1a!important}

/* The animations the rules above name. */
@keyframes oepPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}100%{transform:scale(1)}}
@keyframes oepDraw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes oepRing{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.9);opacity:0}}
@keyframes oepUp{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@keyframes oepSwap{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}100%{opacity:1;transform:none;filter:none}}


/* ── The build's own, beside the prototype's ── */

/* [hidden] is a user-agent display:none, and any author display above beats
   it -- the share menu that rendered open at the foot of the page. Restated
   for everything the banners hide and show. */
.oep-pre [hidden],
.oep-ban [hidden] {
  display: none !important;
}

/* The ended banner without its follow links (they wait for Mac's ruling):
   one column, so the text does not sit beside an empty half. */
.oep-pre.eip-solo {
  grid-template-columns: minmax(0, 1fr);
}

/* "Close preview" navigates, so it is a link, styled exactly as the
   prototype's button. Scoped under .oep-ban.is-prev: ".o5 a" (0,1,1) beats a
   bare class on a link. */
.oep-ban.is-prev .eip-prev-close {
  display: inline-flex;
  align-items: center;
  margin-inline-start: auto;
  height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .4);
  background: none;
  color: #fff;
  font: inherit;
  font-weight: 800;
  line-height: normal;
  text-decoration: none;
  cursor: pointer;
}

/* The chevron points along the reading direction. */
[dir="rtl"] .oep-pre .eip-chev {
  transform: scaleX(-1);
}

/* MEASURED, 2026-10-12: the footer strip was 69px tall where the design's is
   59, and the field's text sat on a 28-30px line -- the shell's body
   line-height inherited. The prototype's root is line-height normal; the
   banners take it, and the prototype's own explicit values (1.6 on the text,
   1.5 on the phone footer) still win where they are set. */
.oep-pre,
.oep-ban {
  line-height: normal;
}

/* The footer's envelope rendered as a 5px sliver on a phone: an svg in a flex
   row shrinks when the text beside it wraps. The prototype's icon keeps its
   16px, so this one may not shrink. */
.oep-pre-foot > .oi {
  flex: none;
}

/* The prototype's link pills (oep.css .oep-soc), for the cancelled banner's
   "Contact Tixbox support" -- Mac's ruling reuses the ended layout, whose
   right column holds these. Scoped under .oep-pre: ".o5 a" (0,1,1) beats a
   bare class on a link. */
.oep-pre .oep-soc { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.oep-pre .oep-soc a { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px;
  border-radius: 999px; background: #fff; border: 1px solid #d4d2cb; color: #1a1a1a; font-size: 14.5px;
  font-weight: 700; text-decoration: none; transition: border-color .15s, transform .15s; }
.oep-pre .oep-soc a:hover { border-color: #1a1a1a; transform: translateY(-1px); }
.oep-pre .oep-soc a span { color: #d62133; }

/* The postponed banner reuses the coming-soon layout without its footer
   strip, and the prototype's banner has no bottom padding because that strip
   supplies it -- so the button sat on the edge. The bottom mirrors the
   design's own top padding: 56px, and 26px from 900px down (measured). */
.oep-pre[data-mode="postponed"] {
  padding-bottom: 56px;
}
@media (max-width: 900px) {
  .oep-pre[data-mode="postponed"] {
    padding-bottom: 26px !important;
  }
}
