#elGuestWelcomeCandidate[hidden], .cGuestWelcome[hidden] { display:none !important; }
.cGuestWelcome { position:relative; overflow:hidden; box-sizing:border-box; color:#fff; background:linear-gradient(135deg,#14233d 0%,#263b5d 72%,#7c2856 145%); border:1px solid rgba(255,255,255,.16); }
.cGuestWelcome::after { content:""; position:absolute; right:-4rem; top:-7rem; width:19rem; height:19rem; border-radius:50%; background:rgba(217,35,105,.23); pointer-events:none; }
.cGuestWelcome *, .cGuestWelcome *::before, .cGuestWelcome *::after { box-sizing:border-box; }
.cGuestWelcome > * { position:relative; z-index:1; }
.cGuestWelcome--index { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(17rem,.9fr); align-items:center; gap:clamp(1rem,3vw,2.5rem); margin:0 0 1.25rem; padding:clamp(1.25rem,2.8vw,2.25rem); border-radius:.8rem; box-shadow:0 .65rem 1.65rem rgba(16,35,64,.18); }
.cGuestWelcome :is(h1,h2) { margin:0 0 .45rem; font-size:clamp(1.35rem,2.3vw,2rem); line-height:1.15; }
.cGuestWelcome p { line-height:1.45; }
.cGuestWelcome__copy p { margin-bottom:0; color:rgba(255,255,255,.82); font-size:1rem; }
.cGuestWelcome__form { display:grid; min-width:0; align-content:center; gap:.6rem; padding:1rem; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); border-radius:.65rem; backdrop-filter:blur(5px); }
.cGuestWelcome__form label { font-weight:700; }
.cGuestWelcome__form input[type=email] { min-height:46px; width:100%; padding:.65rem .8rem; color:#14233d; background:#fff; border:0; border-radius:.4rem; box-shadow:inset 0 0 0 1px rgba(20,35,61,.18); }
.cGuestWelcome__form input:disabled, .cGuestWelcome__form button:disabled { opacity:.82; cursor:not-allowed; }
.cGuestWelcome__form .ipsButton--primary { background:#d51d68; border-color:#d51d68; }
.cGuestWelcome__form button, .cGuestWelcome--bar .ipsButton, .cGuestWelcome__dismiss { min-height:44px; }
.cGuestWelcome__form input:focus-visible, .cGuestWelcome a:focus-visible, .cGuestWelcome button:focus-visible { outline:3px solid var(--i-color_warning,#a05a00); outline-offset:3px; }
.cGuestWelcome__error { margin:0; color:var(--i-color_negative,#a71d31); font-weight:700; }
.cGuestWelcome__fineprint, .cGuestWelcome__preview { margin:0; color:rgba(255,255,255,.76); font-size:.82rem; }
.cGuestWelcome__form a { color:#fff; font-weight:700; text-underline-offset:.18em; }
.cGuestWelcome__honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.cGuestWelcome--bar { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; padding:.65rem max(1rem,calc((100vw - 1320px)/2)); border-width:0 0 1px; font-size:.94rem; box-shadow:0 .35rem 1rem rgba(16,35,64,.13); }
.cGuestWelcome--bar > span:first-child { flex:1 1 20rem; min-width:0; }
.cGuestWelcome--bar .ipsButton { display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; background:#d51d68; border-color:#d51d68; }
.cGuestWelcome__dismiss { width:44px; flex:0 0 44px; padding:0; color:inherit; background:transparent; border:0; font-size:1.5rem; cursor:pointer; }
@media (max-width: 767px) { .cGuestWelcome--index { grid-template-columns:1fr; padding:1rem; } .cGuestWelcome--bar { align-items:flex-start; flex-wrap:wrap; padding:.65rem 1rem; } .cGuestWelcome--bar .ipsButton { flex:1 1 100%; order:2; } .cGuestWelcome__dismiss { order:1; margin-left:auto; } }
@media (prefers-reduced-motion: reduce) { .cGuestWelcome, .cGuestWelcome * { scroll-behavior:auto !important; transition:none !important; } }

/* Private link-only v1: contain the module within narrow desktop columns. */
.cGuestWelcome--index { grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); }
.cGuestWelcome__copy { min-width:0; overflow-wrap:anywhere; }
.cGuestWelcome :is(h1,h2) { color:#fff; }
.cGuestWelcome .ipsButton { min-height:44px; white-space:normal; text-align:center; }
.cGuestWelcome a:focus-visible, .cGuestWelcome button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.cGuestWelcome--bar { padding:.75rem 1rem; border:1px solid rgba(255,255,255,.16); border-radius:.65rem; }

@media (max-width:767px) {
 .cGuestWelcome--bar { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:.5rem; align-items:center; }
 .cGuestWelcome--bar > span:first-child { grid-column:1; grid-row:1; }
 .cGuestWelcome--bar .cGuestWelcome__dismiss { grid-column:2; grid-row:1; margin:0; }
 .cGuestWelcome--bar .ipsButton { grid-column:1 / -1; grid-row:2; }
}
