/* Webinar registration design converted from the supplied React app. */
body.webinar-page { margin:0; padding-top:88px; background:#fbf8fa; }
.webinar-page .tcs-site-chrome { font-size:16px; line-height:1.5; }
#webinar-page { font-family:Geist,Inter,Arial,sans-serif; color:#14243a; line-height:1.5; }
#webinar-page h1, #webinar-page h2, #webinar-page h3, #webinar-page p { margin:0; }
#webinar-page [hidden] { display:none !important; }
#webinar-page :is(a,button,input,select,textarea):focus-visible { outline:3px solid #cf4f8d; outline-offset:4px; }
#webinar-page { --ink:#14243a; --plum:#641d64; --rose:#c33d80; --pink:#f4d3e5; --paper:#fbf8fa; }
#webinar-page * { box-sizing:border-box; }
#webinar-page a { color:inherit; text-decoration:none; }
#webinar-page button, #webinar-page input, #webinar-page select, #webinar-page textarea { font:inherit; }
#webinar-page .shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
#webinar-page .registration-hero { position:relative; min-height:calc(100vh - 86px); overflow:hidden; padding:76px 0 84px; background:radial-gradient(circle at 85% 15%,rgba(215,74,150,.28),transparent 29%),linear-gradient(135deg,#28132f,#581753 52%,#8c286d); color:white; }
#webinar-page .hero-orbit { position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
#webinar-page .hero-orbit-one { width:620px; height:620px; right:-160px; top:-185px; }
#webinar-page .hero-orbit-two { width:820px; height:820px; left:-510px; bottom:-610px; }
#webinar-page .registration-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); align-items:center; gap:80px; }
#webinar-page .registration-copy h1 { max-width:580px; margin:25px 0 22px; font-size:clamp(54px,6vw,82px); line-height:.96; letter-spacing:-.06em; font-weight:520; }
#webinar-page .registration-copy > p:last-of-type { max-width:560px; margin:0; color:#e5d3e3; font-size:18px; line-height:1.7; }
#webinar-page .eyebrow { margin:0; display:flex; align-items:center; gap:12px; color:#efb9d7; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
#webinar-page .eyebrow span { width:36px; height:1px; background:currentColor; }
#webinar-page .series-summary { margin-top:42px; display:flex; flex-wrap:wrap; gap:12px; }
#webinar-page .series-summary span { display:flex; align-items:center; gap:8px; padding:11px 15px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.07); color:#eadde8; font-size:11px; }
#webinar-page .series-summary b { color:white; font-size:15px; }
#webinar-page .registration-card { min-height:640px; padding:42px; border:1px solid rgba(255,255,255,.18); border-radius:30px; background:linear-gradient(145deg,rgba(19,33,53,.96),rgba(65,20,65,.97)); box-shadow:0 36px 100px rgba(10,6,18,.36); }
#webinar-page .card-eyebrow { margin:0 0 12px; color:#ef9fc8; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
#webinar-page .registration-card h2 { margin:0; font-size:clamp(32px,4vw,48px); line-height:1.05; letter-spacing:-.05em; }
#webinar-page .registration-card form { display:grid; gap:17px; margin-top:28px; }
#webinar-page .registration-card form > label:not(.consent) { display:grid; gap:7px; }
#webinar-page .registration-card label > span:first-child { color:#eadfec; font-size:10px; font-weight:800; letter-spacing:.04em; }
#webinar-page .registration-card label b { margin-left:6px; color:#df94ba; font-size:8px; text-transform:uppercase; }
#webinar-page .registration-card input:not([type='checkbox']), #webinar-page .registration-card select { width:100%; min-height:58px; padding:0 17px; border:1px solid rgba(255,255,255,.22); border-radius:13px; outline:0; background:rgba(255,255,255,.97); color:var(--ink); font-size:14px; }
#webinar-page .registration-card input:focus, #webinar-page .registration-card select:focus { border-color:#ed97bf; box-shadow:0 0 0 4px rgba(237,151,191,.15); }
#webinar-page .consent { display:grid; grid-template-columns:21px 1fr; align-items:start; gap:12px; cursor:pointer; }
#webinar-page .consent input { width:20px; height:20px; margin:2px 0 0; accent-color:#d15391; }
#webinar-page .consent span { color:#d8ccd9!important; font-size:10px!important; font-weight:500!important; line-height:1.55; }
#webinar-page .button { width:100%; min-height:60px; display:flex; align-items:center; justify-content:center; gap:20px; border:0; border-radius:15px; background:#cf4f8d; color:white; font-weight:800; cursor:pointer; }
#webinar-page .button:hover { background:#db5a99; }
#webinar-page .registration-success { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
#webinar-page .success-icon { width:62px; height:62px; margin-bottom:25px; display:grid; place-items:center; border-radius:50%; background:#cf4f8d; font-size:28px; font-weight:900; }
#webinar-page .registration-success > p:not(.card-eyebrow) { color:#d8ccd9; font-size:15px; line-height:1.7; }
#webinar-page .success-details { width:100%; margin:23px 0 30px; padding:18px; display:grid; gap:6px; border:1px solid rgba(255,255,255,.15); border-radius:14px; background:rgba(255,255,255,.06); }
#webinar-page .success-details span { color:#bfaec1; font-size:10px; }
#webinar-page .success-details strong { overflow-wrap:anywhere; }
#webinar-page .contact-section { padding:92px 0; background:#fdfbfc; }
#webinar-page .contact-card { padding:64px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; border:1px solid #eadbe5; border-radius:34px; background:linear-gradient(135deg,#f4e7f2,#fbf6fa); box-shadow:0 28px 70px rgba(57,26,50,.08); }
#webinar-page .section-label { margin:0; color:#a63478; font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
#webinar-page .contact-copy h2 { margin:20px 0; font-size:clamp(45px,5vw,65px); line-height:1; letter-spacing:-.055em; font-weight:540; }
#webinar-page .contact-copy > p:not(.section-label) { margin:0; color:#68758b; font-size:16px; line-height:1.75; }
#webinar-page .contact-direct { margin-top:36px; display:grid; gap:12px; }
#webinar-page .contact-direct a { padding:15px 0; display:grid; gap:3px; border-bottom:1px solid #dac9d6; }
#webinar-page .contact-direct span { color:#8b7186; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
#webinar-page .contact-direct strong { color:#77225e; font-size:14px; overflow-wrap:anywhere; }
#webinar-page .contact-form { display:grid; gap:15px; }
#webinar-page .contact-form > label, #webinar-page .contact-form-row label { display:grid; gap:7px; }
#webinar-page .contact-form label > span { color:#70516c; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
#webinar-page .contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
#webinar-page .contact-form input, #webinar-page .contact-form textarea { width:100%; padding:15px 16px; border:1px solid #ddcbd8; border-radius:13px; outline:0; background:rgba(255,255,255,.82); color:var(--ink); font-size:13px; }
#webinar-page .contact-form input { min-height:54px; }
#webinar-page .contact-form textarea { resize:vertical; min-height:125px; }
#webinar-page .contact-form input:focus, #webinar-page .contact-form textarea:focus { border-color:#bf4a88; box-shadow:0 0 0 4px rgba(191,74,136,.1); }
#webinar-page .contact-submit, #webinar-page .contact-confirmation button { min-height:56px; padding:0 24px; display:flex; align-items:center; justify-content:center; gap:22px; border:0; border-radius:14px; background:#bd397d; color:white; font-weight:800; cursor:pointer; }
#webinar-page .contact-confirmation { min-height:440px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
#webinar-page .contact-confirmation-icon { width:58px; height:58px; margin-bottom:22px; display:grid; place-items:center; border-radius:50%; background:#bd397d; color:white; font-size:26px; font-weight:900; }
#webinar-page .contact-confirmation h3 { margin:13px 0; font-size:38px; letter-spacing:-.04em; }
#webinar-page .contact-confirmation > p:not(.section-label) { color:#68758b; line-height:1.65; }
#webinar-page .contact-confirmation button { margin-top:20px; }
@media (max-width:900px) {
#webinar-page .registration-grid { grid-template-columns:1fr; gap:42px; }
#webinar-page .registration-copy { text-align:center; }
#webinar-page .registration-copy h1, #webinar-page .registration-copy > p:last-of-type { margin-left:auto; margin-right:auto; }
#webinar-page .eyebrow, #webinar-page .series-summary { justify-content:center; }
#webinar-page .contact-card { grid-template-columns:1fr; gap:48px; }
}
@media (max-width:640px) {
#webinar-page .shell { width:min(100% - 28px,1180px); }
#webinar-page .registration-hero { min-height:auto; padding:56px 0 60px; }
#webinar-page .registration-copy h1 { margin-top:20px; font-size:48px; }
#webinar-page .registration-copy > p:last-of-type { font-size:16px; }
#webinar-page .series-summary { margin-top:28px; }
#webinar-page .registration-card { min-height:0; padding:29px 20px; border-radius:22px; }
#webinar-page .registration-card h2 { font-size:35px; }
#webinar-page .contact-section { padding:54px 0; }
#webinar-page .contact-card { padding:32px 20px; gap:38px; border-radius:24px; }
#webinar-page .contact-copy h2 { font-size:44px; }
#webinar-page .contact-form-row { grid-template-columns:1fr; }
}
#webinar-page button:disabled { opacity:.55; cursor:not-allowed; }
#webinar-page input, #webinar-page select, #webinar-page textarea { min-width:0; }
#webinar-page .form-error { color:#ffc5dc; font-size:13px; line-height:1.6; }
#webinar-page .contact-form .form-error { color:#99224f; }
#webinar-page .form-error:empty { display:none; }
#webinar-page .captcha-field { display:grid; justify-items:start; gap:10px; }
#webinar-page .captcha-retry { border:1px solid #dfa0c5; border-radius:9px; background:transparent; color:white; padding:8px 12px; cursor:pointer; }
#webinar-page .registration-success { scroll-margin-top:110px; }
#webinar-page .contact-confirmation { scroll-margin-top:110px; overflow-wrap:anywhere; }
#webinar-page .registration-success h2 { margin-bottom:20px; }
#webinar-page .contact-confirmation h3 { margin:16px 0; }
#webinar-page .contact-confirmation button { margin-top:24px; }
@media(max-width:520px) { body.webinar-page { padding-top:76px; } }
