/* Two distinct invitations after the public schedule; neither is an event card. */
.passport-promo { display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: center; padding: 85px var(--pad); border-top: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.passport-copy { position: relative; z-index: 1; }
.passport-copy > .eyebrow { flex-wrap: wrap; font-size: 10px; gap: 9px; }
.passport-copy > .eyebrow > .ui-icon { width: 18px; height: 18px; }
.promo-status { border: 1px solid var(--line); padding: 3px 7px; font: 8px/1.5 var(--mono); color: var(--muted); margin-left: 7px; }
.passport-copy h2 { font: bold clamp(60px, 6.4vw, 98px)/.96 Condensed, Arial, sans-serif; letter-spacing: -.025em; margin: 27px 0 24px; }
.passport-intro { max-width: 510px; font-size: 16px; line-height: 1.8; color: var(--muted); }
.passport-signup { max-width: 510px; margin-top: 27px; scroll-margin-top: 100px; }
.passport-signup h3 { font: bold 22px/1.4 Condensed, Arial, sans-serif; margin-bottom: 20px; }
.signup-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.signup-email-label { display: block; font-size: 13px; margin-bottom: 9px; }
.signup-input-wrap { display: flex; align-items: center; gap: 12px; padding: 0 15px; min-height: 54px; border: 1px solid var(--line); background: var(--bg); }
.signup-input-wrap > .ui-icon { width: 19px; height: 19px; color: var(--accent); }
.signup-input-wrap input { width: 100%; min-width: 0; min-height: 52px; padding: 12px 0; border: 0; border-radius: 0; background: transparent; color: var(--fg); font: 16px/1.4 Barlow, Arial, sans-serif; }
.signup-input-wrap input::placeholder { color: var(--muted); opacity: 1; }
.signup-input-wrap:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.signup-input-wrap input:focus { outline: none; }
.signup-consent { display: flex; align-items: center; gap: 11px; min-height: 48px; cursor: pointer; font-size: 12px; line-height: 1.5; margin: 9px 0 14px; }
.signup-consent input { width: 18px; height: 18px; flex-shrink: 0; margin: 0; accent-color: var(--accent); }
.signup-consent input:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.signup-button { width: 100%; min-height: 54px; font-size: 16px; }
.signup-fields:disabled .signup-button { cursor: wait; }
.signup-feedback { margin-top: 12px; font-size: 14px; line-height: 1.6; }
.signup-status:empty { display: none; }
[data-signup-state="error"] .signup-status { border-left: 2px solid var(--accent); padding-left: 12px; }
[data-signup-state="success"] .signup-fields { display: none; }
[data-signup-state="success"] .signup-feedback { padding: 22px; border: 1px solid var(--accent); background: var(--bg); }
.signup-fine-print { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 11px; color: var(--muted); margin-top: 6px; }
.signup-fine-print > a { min-height: 44px; color: var(--fg); font-size: 12px; }
.signup-fine-print .ui-icon { width: 16px; height: 16px; color: var(--accent); }
.signup-preview-note { font: 10px/1.7 var(--mono); color: var(--muted); max-width: 430px; margin-top: 4px; }
.signup-removal { font-size: 11px; color: var(--muted); margin-top: 8px; }
.signup-removal a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.signup-sr-only, .signup-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.passport-visual { position: relative; min-height: 450px; display: grid; place-items: center; isolation: isolate; }
.passport-orbit { position: absolute; height: 400px; width: 400px; border: 1px solid var(--line); border-radius: 50%; z-index: -1; }
.orbit-one { transform: rotate(-35deg) scaleX(1.35); }
.orbit-two { transform: rotate(40deg) scaleX(1.35); border-style: dashed; }
.passport-book { display: flex; flex-direction: column; align-items: center; width: 280px; min-height: 375px; background: #111112; color: #f0f0ec; border: 1px solid #494145; border-left: 8px solid #30262b; border-radius: 5px 15px 15px 5px; transform: rotate(-9deg); padding: 36px 25px 26px; box-shadow: 15px 23px 0 color-mix(in srgb, var(--accent) 14%, transparent), 30px 45px 60px #0004; position: relative; }
.passport-book::after { content: ''; position: absolute; inset: 10px 9px 10px 3px; border: 1px solid #504449; border-radius: 2px 10px 10px 2px; pointer-events: none; }
.passport-cover-brand { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.passport-cover-brand img { width: 172px; filter: none; }
[data-theme="light"] .passport-cover-brand .brand-image { filter: none; }
.passport-cover-brand > span { color: #aaa; font: 6px var(--mono); letter-spacing: .13em; }
.passport-cover-globe { margin: 25px 0 15px; color: #ff367d; }
.passport-cover-globe .ui-icon { height: 100px; width: 100px; stroke-width: .55; }
.passport-cover-title { font: bold 39px/1 Condensed, Arial, sans-serif; letter-spacing: .06em; }
.passport-cover-subtitle { margin-top: 10px; font: 6px var(--mono); letter-spacing: .05em; }
.passport-cover-bottom { display: flex; align-items: center; gap: 9px; margin-top: 28px; color: #b8aab1; font: 6px var(--mono); }
.passport-cover-bottom .ui-icon { width: 17px; height: 17px; }
.passport-visual-caption { font: 8px var(--mono); letter-spacing: .13em; color: var(--muted); position: absolute; bottom: -19px; }

.electric-island-thanks { position: relative; isolation: isolate; overflow: hidden; background: #09041e; color: #fff; min-height: 655px; padding: 52px var(--pad) 58px; }
.ei-background, .ei-foreground { position: absolute; z-index: -3; pointer-events: none; }
.ei-background { inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: center; opacity: .75; }
.electric-island-thanks::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1; background: linear-gradient(90deg, #08041bf2 0%, #09051be6 32%, #0e03209c 62%, #09051b33 100%); }
.ei-foreground { z-index: -2; width: 83%; max-width: none; height: auto; right: -13%; bottom: -20px; opacity: .8; }
.ei-content { max-width: 750px; }
.ei-lockup { display: flex; align-items: center; gap: 19px; margin-bottom: 36px; }
.ei-lockup img { width: 81px; height: auto; }
.ei-lockup > span { font: bold 21px/1.2 Condensed, Arial, sans-serif; letter-spacing: .1em; border-left: 1px solid #ffffff50; padding: 8px 0 8px 18px; }
.ei-content > .eyebrow { font-size: 10px; color: #e4d9ff; }
.ei-content h2 { font: bold clamp(76px, 8.7vw, 134px)/.87 Condensed, Arial, sans-serif; letter-spacing: -.015em; margin: 20px 0 26px; }
.ei-content h2 > span { color: #ff693d; }
.ei-message { max-width: 450px; color: #e4d9f8; font-size: 16px; line-height: 1.8; }
.ei-link { background: #ff693d; color: #120b15; border: 1px solid #ff693d; font-size: 16px; min-height: 54px; margin-top: 28px; }
.ei-link:hover { background: #fff; color: #160928; border-color: #fff; }
.ei-link:focus-visible { outline-color: #fff; }
.ei-signoff { margin-top: 33px; font: 9px/1.5 var(--mono); color: #cec1e9; letter-spacing: .08em; }

@media (max-width: 1100px) {
  .passport-promo { gap: 35px; padding-top: 65px; padding-bottom: 70px; }
  .passport-book { width: 240px; min-height: 330px; padding: 30px 18px 22px; }
  .passport-orbit { width: 290px; height: 340px; }
  .passport-cover-brand img { width: 155px; }
  .passport-cover-globe { margin-top: 23px; }
  .passport-cover-globe .ui-icon { width: 85px; height: 85px; }
  .passport-cover-title { font-size: 34px; }
  .passport-cover-bottom { font-size: 5px; }
  .passport-visual { min-height: 400px; }
  .ei-foreground { width: 110%; right: -37%; }
}
@media (max-width: 760px) {
  .passport-promo { grid-template-columns: 1fr; gap: 35px; padding-top: 44px; padding-bottom: 60px; }
  .passport-copy > .eyebrow { font-size: 9px; }
  .promo-status { font-size: 7px; margin-left: 0; }
  .passport-copy h2 { font-size: clamp(53px, 14.5vw, 80px); margin: 25px 0 20px; }
  .passport-intro { font-size: 15px; }
  .passport-signup { margin-top: 22px; }
  .passport-signup h3 { font-size: 21px; }
  .signup-consent { font-size: 12px; min-height: 52px; }
  .signup-preview-note { font-size: 9px; }
  .passport-visual { min-height: 365px; }
  .passport-book { width: 230px; min-height: 320px; }
  .passport-cover-brand img { width: 146px; }
  .passport-orbit { width: 255px; height: 295px; }
  .passport-visual-caption { bottom: -12px; font-size: 7px; }
  .electric-island-thanks { min-height: 660px; padding-top: 35px; padding-bottom: 90px; }
  .ei-lockup { gap: 14px; margin-bottom: 35px; }
  .ei-lockup > span { font-size: 19px; padding-left: 14px; }
  .ei-lockup img { width: 68px; }
  .ei-content > .eyebrow { font-size: 8px; }
  .ei-content h2 { font-size: clamp(65px, 17.5vw, 105px); line-height: .92; margin: 21px 0 23px; }
  .ei-message { font-size: 15px; max-width: 370px; }
  .electric-island-thanks::after { background: linear-gradient(180deg, #08041bef, #09051be0 60%, #0e0320a3); }
  .ei-background { object-position: 60% center; opacity: 1; }
  .ei-foreground { width: 900px; right: -170px; bottom: -20px; opacity: .85; }
  .ei-signoff { font-size: 8px; }
}
