/* The approved ticket card, around the existing native registration iframe. */
html body.premium-landing .registration-panel{position:fixed;inset:var(--registration-top,0px) 0 auto!important;transform:none!important;margin:0;width:100%!important;height:var(--registration-height,100dvh)!important;max-width:none;max-height:none;padding:24px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto!important;align-items:safe center;justify-items:center}
html body.premium-landing .registration-card{--ticket-gap:24px;box-sizing:border-box;position:relative;width:min(820px,100%);min-width:0;padding:32px 36px 16px;border:1px solid #fffffff2;border-radius:28px;background:radial-gradient(80% 55% at 100% 0,#15976d12,transparent 72%),#fff;box-shadow:0 26px 90px -30px #0c261b50;overflow:visible}
html body.premium-landing .registration-panel .registration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;height:auto;padding:0;margin:0 0 var(--ticket-gap)}
html body.premium-landing .registration-heading-brand{display:flex;align-items:flex-start;gap:14px;height:auto;padding:0;min-width:0}
html body.premium-landing .registration-heading .registration-mark{display:block;width:36px;height:36px;flex:none;transform:none;object-fit:contain;padding:0;margin-top:21px}
html body.premium-landing .registration-heading-copy{min-width:0}
html body.premium-landing .registration-heading .registration-eyebrow{font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.02em;color:#5b7767;margin:0 0 7px}
html body.premium-landing .registration-heading .registration-title{font-size:32px;line-height:1.12;font-weight:700;letter-spacing:-.045em;margin:0;color:#07513b;background:linear-gradient(110deg,#07513b 8%,#07825b 54%,#096449);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:left}
html body.premium-landing .registration-panel .registration-heading .registration-mail-note{font-size:13px;line-height:1.6;font-weight:400;letter-spacing:normal;color:#5e7266;margin:9px 0 0;text-align:left}
html body.premium-landing .registration-close{position:static;display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:1px solid #e4ebe6;border-radius:50%;background:#ffffffc9;color:#526a5b;cursor:pointer}
html body.premium-landing .registration-close svg{width:18px;height:18px}
html body.premium-landing .registration-panel .registration-form{height:var(--registration-content-height,260px)!important;min-height:0;overflow:visible;position:relative}
html body.premium-landing .registration-panel iframe{height:100%;width:100%;display:block;border:0;background:transparent}
html body.premium-landing .registration-panel .registration-actions{position:static;inset:auto;height:auto!important;padding:0;display:block}
html body.premium-landing .registration-panel .registration-steps{position:relative;display:block;width:100%;max-width:400px;margin:20px auto 0;padding:0;transform:none!important}
html body.premium-landing .registration-steps::after{display:none!important}
html body.premium-landing .registration-panel[data-phase="ticket"] .registration-step-slot:has([data-registration-ticket]){position:relative;width:100%;border-radius:16px;filter:drop-shadow(0 7px 12px #111e161a)}
html body.premium-landing .registration-panel .registration-steps [data-registration-ticket]{--ticket-stub:52px;--ticket-notch:7px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:60px;height:auto;padding:13px calc(var(--ticket-stub) + 8px) 13px 18px;margin:0;border:0;border-radius:16px;font:600 14px/1.4 Geist,Arial,sans-serif;letter-spacing:-.015em;cursor:pointer;overflow:hidden;isolation:isolate;color:#fff;background-image:repeating-linear-gradient(to bottom,#ffffff45 0 4px,#0000 4px 8px),linear-gradient(170deg,#303732 0%,#17211a 47%,#0b100d 100%);background-size:1.5px calc(100% - 2*var(--ticket-notch) - 8px),auto;background-position:right calc(var(--ticket-stub) - .75px) center,0 0;background-repeat:no-repeat;box-shadow:inset 0 1px 0 #ffffff30}
html body.premium-landing .registration-panel .registration-step-label{font-size:14px;line-height:1.4;font-weight:600}
html body.premium-landing .registration-panel [data-registration-ticket]::before{display:none}
html body.premium-landing .registration-panel .registration-ticket-icon{position:absolute;right:17px;top:50%;transform:translateY(-50%);width:18px;height:18px;margin:0}
html body.premium-landing .registration-panel[data-phase="ticket"] .registration-step-slot:has([data-registration-ticket])::before{content:"";position:absolute;inset:-3px;z-index:-1;border:1px solid #47775a40;border-radius:19px;background:none;filter:none;box-shadow:0 0 20px 2px #3a78551a;opacity:.15;pointer-events:none;animation:ticket-premium-breathe 6s ease-in-out infinite;animation-play-state:running!important}
html body.premium-landing .registration-panel [data-registration-ticket]::after{content:"";position:absolute;inset:-80% auto -80% 0;width:40%;background:linear-gradient(100deg,transparent,#ffffff04 15%,#ffffff20 48%,#ffffff08 70%,transparent);transform:translateX(-180%) skewX(-18deg);opacity:0;pointer-events:none;animation:ticket-premium-sheen 10s cubic-bezier(.25,.1,.25,1) infinite;animation-play-state:running!important}
html body.premium-landing .registration-background .registration-step-slot::before,html body.premium-landing .registration-background [data-registration-ticket]::after{animation-play-state:paused!important}
html body.premium-landing .registration-panel .registration-trust{position:static;inset:auto;display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;margin:6px 0 0;font-size:10px;line-height:1.5;color:#627769}
html body.premium-landing .registration-trust svg{width:12px;height:12px;flex:none}
html body.premium-landing .registration-trust a{display:inline-flex;align-items:center;min-height:44px;color:#526f5c;text-decoration:underline;text-underline-offset:3px;margin-left:5px}
html body.premium-landing .registration-panel .registration-brand-proof{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-top:20px;padding-top:14px;border-top:1px solid #e8eee9}
html body.premium-landing .registration-panel .registration-wordmark{display:block;flex:none;width:160px;height:auto;opacity:.42;filter:none}
html body.premium-landing .registration-reviews{min-height:44px;color:#627368}
html body.premium-landing .registration-review-score{gap:7px;line-height:1.4}
html body.premium-landing .registration-review-score>span{font-size:11px;letter-spacing:1px;color:#607969}
html body.premium-landing .registration-review-score strong{font-size:12px;font-weight:600}
html body.premium-landing .registration-review-source{font-size:10px;line-height:1.5;margin-top:2px;white-space:nowrap}
@keyframes ticket-premium-breathe{0%,100%{opacity:.12}50%{opacity:.6}}
@keyframes ticket-premium-sheen{0%,58%{transform:translateX(-180%) skewX(-18deg);opacity:0}63%,83%{opacity:.85}88%,100%{transform:translateX(410%) skewX(-18deg);opacity:0}}
@media(max-width:600px){html body.premium-landing .registration-panel{padding:12px}html body.premium-landing .registration-card{--ticket-gap:20px;max-width:440px;padding:25px 24px 13px;border-radius:24px}html body.premium-landing .registration-heading .registration-title{font-size:29px}html body.premium-landing .registration-heading .registration-eyebrow{font-size:10px;margin-bottom:6px}html body.premium-landing .registration-heading .registration-mark{width:30px;height:30px;margin-top:20px}html body.premium-landing .registration-heading-brand{gap:10px}html body.premium-landing .registration-panel .registration-heading .registration-mail-note{font-size:12px;margin-top:7px}html body.premium-landing .registration-panel .registration-heading{gap:12px}html body.premium-landing .registration-panel .registration-steps [data-registration-ticket]{font-size:13px;min-height:56px;--ticket-stub:46px;padding-left:10px}html body.premium-landing .registration-panel .registration-brand-proof{margin-top:18px;padding-top:11px;gap:8px}html body.premium-landing .registration-review-source{font-size:9px}}
html body.premium-landing :where(.registration-panel:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-card{--ticket-gap:14px;padding-top:20px;padding-bottom:10px}html body.premium-landing :where(.registration-panel:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-heading .registration-eyebrow{display:none}html body.premium-landing :where(.registration-panel:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-heading .registration-mark{margin-top:0}html body.premium-landing :where(.registration-panel:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-heading .registration-title{font-size:26px}html body.premium-landing .registration-panel:where(:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-heading .registration-mail-note{margin-top:5px;font-size:12px}html body.premium-landing .registration-panel:where(:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-steps [data-registration-ticket]{min-height:50px}html body.premium-landing .registration-panel:where(:is([data-ticket-density="compact"],[data-ticket-density="short"])) .registration-brand-proof{margin-top:13px;padding-top:8px;min-height:44px}
html body.premium-landing .registration-panel:where([data-ticket-density="short"]){padding:8px}html body.premium-landing :where(.registration-panel[data-ticket-density="short"]) .registration-card{--ticket-gap:10px;padding:14px 18px 8px}html body.premium-landing :where(.registration-panel[data-ticket-density="short"]) .registration-heading .registration-title{font-size:22px}html body.premium-landing :where(.registration-panel[data-ticket-density="short"]) .registration-heading .registration-mark{width:26px;height:26px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-heading .registration-mail-note{font-size:11px;line-height:1.5;margin-top:4px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-steps{margin-top:14px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-steps [data-registration-ticket]{min-height:46px;font-size:12px;--ticket-stub:44px;--ticket-notch:6px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-step-label{font-size:12px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-brand-proof{margin-top:7px;padding-top:5px;min-height:44px}html body.premium-landing .registration-panel:where([data-ticket-density="short"]) .registration-trust{font-size:9px}
@media(max-width:359px){html body.premium-landing .registration-card{padding-inline:16px}html body.premium-landing .registration-heading .registration-title{font-size:21px}html body.premium-landing .registration-heading-brand{gap:8px}html body.premium-landing .registration-review-source{font-size:8px}html body.premium-landing .registration-wordmark{width:140px!important}}
@media(prefers-reduced-motion:reduce){html body.premium-landing .registration-panel[data-phase="ticket"] .registration-step-slot:has([data-registration-ticket])::before,html body.premium-landing .registration-panel [data-registration-ticket]::after{animation:none!important;opacity:0}}
@media(forced-colors:active){html body.premium-landing .registration-title{background:none;-webkit-text-fill-color:CanvasText}}
html body.premium-landing .registration-panel[data-phase="ticket"][hidden] .registration-step-slot:has([data-registration-ticket])::before,html body.premium-landing .registration-panel[hidden] [data-registration-ticket]::after,html body.premium-landing .registration-panel [data-registration-ticket]:disabled::after{animation-play-state:paused!important}
html body.premium-landing.registration-open>[inert]{opacity:1!important}
html body.premium-landing.registration-open::before{background:#14231b66;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
html body.premium-landing .registration-panel[data-phase="ticket"] .registration-steps [data-registration-ticket]:active:not(:disabled) .registration-ticket-icon{transform:translateY(-50%)}
html body.premium-landing .registration-panel .registration-ticket-verb{animation:none}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){html body.premium-landing.registration-open::before{background:#e9eeeb;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:359px){html body.premium-landing .registration-heading-brand{display:grid;grid-template-columns:26px minmax(0,1fr);gap:4px 8px;align-items:center}html body.premium-landing .registration-heading-copy{display:contents}html body.premium-landing .registration-heading .registration-title{grid-column:2;grid-row:1;white-space:nowrap;font-size:19px}html body.premium-landing .registration-heading .registration-mark{grid-column:1;grid-row:1}html body.premium-landing .registration-panel .registration-heading .registration-mail-note{grid-column:1/-1;grid-row:2;margin:0}}
/* Keep the title beside the requested brand mark on small phones. */
@media(max-width:600px){html body.premium-landing .registration-heading .registration-title{font-size:clamp(19px,5.4vw,26px);white-space:nowrap}}

html body.premium-landing .registration-panel.registration-background[data-phase="ticket"] .registration-step-slot:has([data-registration-ticket])::before,html body.premium-landing .registration-panel[data-phase="ticket"] .registration-step-slot:has([data-registration-ticket]:disabled)::before{animation-play-state:paused!important}

/* Touch keyboards pan the document natively. Keep one scroll owner and a full
   white ticket canvas, including behind translucent system UI and overscroll. */
html:has(body.registration-document),html body.premium-landing.registration-document{overflow:visible!important;overscroll-behavior-y:auto;background:#fff!important;scroll-behavior:auto!important;scroll-padding-block:12px}
html body.premium-landing.registration-document{position:static;min-height:var(--registration-document-height,100svh)}
html body.premium-landing.registration-document>[inert]:not(.registration-panel):not(.floating-video){display:none!important}
html body.premium-landing.registration-document::before{display:none}
html body.premium-landing.registration-document .registration-panel{position:relative;inset:auto!important;height:auto!important;min-height:var(--registration-document-height,100svh);overflow:visible;overscroll-behavior:auto;background:#fff;box-sizing:border-box}
html body.premium-landing.registration-document .registration-card{background:#fff}
html:has(body.registration-document:is(.video-fullview-open,.phone-video-fullview-open)),html body.premium-landing.registration-document:is(.video-fullview-open,.phone-video-fullview-open){overflow:hidden!important;overscroll-behavior:none}
/* Readiness is a quiet light change, without moving the hit target or label. */
@media(prefers-reduced-motion:no-preference){
 html body.premium-landing .registration-panel [data-registration-ticket][data-booking-ready="true"]{animation:ticket-ready-glow 4.8s ease-in-out infinite;animation-play-state:running!important}
 html body.premium-landing .registration-panel [data-registration-ticket][data-booking-ready="true"]::after{animation-duration:6s}
 html body.premium-landing .registration-panel.registration-background [data-registration-ticket][data-booking-ready="true"]{animation-play-state:paused!important}
 @keyframes ticket-ready-glow{0%,100%{filter:brightness(1);box-shadow:inset 0 1px 0 #ffffff30}50%{filter:brightness(1.12);box-shadow:inset 0 1px 0 #ffffff80,0 0 18px #174a2e25}}
}
