/* Registration layout polish. Theme colors are applied after this stylesheet. */
.registration-page{--ink:#172b42;--muted:#607086;--text2:#42576e;--line:#dde5ed;--line2:#edf1f5;background:var(--surface);-webkit-font-smoothing:antialiased}
.registration-page .top-inner{padding:20px 32px;min-height:76px}
.registration-page .sl-logo{width:154px}
.registration-page .top-link{height:38px;font-weight:600;border-radius:7px;padding:0 16px}
.registration-page .wrap{max-width:1440px;padding:36px clamp(24px,5vw,72px) 64px}
.registration-page .hero{border:1px solid transparent;border-radius:12px;box-shadow:none;margin-bottom:24px}
.registration-page .hero-inner{padding:32px;grid-template-columns:minmax(0,1fr) 310px;gap:40px;align-items:center}
.registration-page .product-logos{gap:18px;margin-bottom:22px}
.registration-page .product-logos img{height:24px;filter:none}
.registration-page .product-logos img.logo-ai{height:23px}
.registration-page .hero h1{font-size:clamp(1.8rem,2.4vw,2.55rem);font-weight:650;line-height:1.17;letter-spacing:-.035em;max-width:740px}
.registration-page .hero p{font-size:.91rem;line-height:1.75;margin-top:16px;max-width:730px}
.registration-page .hero-meta{gap:8px;margin-top:20px}
.registration-page .hero-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);font-size:.72rem;font-weight:500;height:28px;padding:0 10px;border-radius:6px}
.registration-page .next-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:22px;box-shadow:none}
.registration-page .next-label{font-size:.66rem;font-weight:650;letter-spacing:.1em;margin-bottom:12px}
.registration-page .next-card h2{font-weight:650;font-size:1.02rem;line-height:1.45;margin-bottom:18px}
.registration-page .next-grid{gap:16px 20px}
.registration-page .next-stat{padding:0;background:none;border-radius:0}
.registration-page .next-stat b{font-size:.88rem;font-weight:600}
.registration-page .next-stat span{font-size:.73rem;margin-top:4px}
.registration-page .next-cta{height:42px;border-radius:7px;box-shadow:none;font-weight:600;margin-top:22px}
.registration-page .next-cta:hover{box-shadow:none;transform:none}
.registration-page .tool-row{padding:16px 20px;border-radius:10px;box-shadow:none;margin-bottom:20px;gap:16px}
.registration-page .filters-left{gap:16px}
.registration-page .role-filter{gap:6px}
.registration-page .role-filter-label{font-size:.7rem;font-weight:600;color:#63748a;letter-spacing:.045em;margin-right:6px}
.registration-page .role-chip,.registration-page .sf-btn{height:38px;border-radius:7px;border-width:1px;font-weight:550;font-size:.8rem;padding:0 12px}
.registration-page .role-guide-link{font-size:.8rem;font-weight:600;padding:10px 0}
.registration-page .course{border-radius:12px;box-shadow:none;margin-bottom:20px}
.registration-page .course-head{padding:24px 24px 20px;border-left-width:4px;gap:16px}
.registration-page .course-icon{width:40px;height:40px;border-radius:9px}
.registration-page .course h2{font-size:1.12rem;line-height:1.4;font-weight:650;letter-spacing:-.015em}
.registration-page .course .summary{font-size:.86rem;line-height:1.7;margin-top:6px;max-width:none}
.registration-page .course-info-btn{font-weight:550;border-width:1px;color:#526c86;font-size:.76rem;padding:5px 10px;border-radius:6px;min-height:30px}
.registration-page .course-body{padding:0 24px 24px}
.registration-page .session-list{padding-top:18px;gap:14px}
.registration-page .session-item{background:#fafbfd;border-color:#e6ecf2;border-radius:9px;padding:18px}
.registration-page .session-item:hover{box-shadow:none;background:#fafbfd}
.registration-page .session-row{grid-template-columns:80px minmax(0,1fr) auto;gap:22px}
.registration-page .date-box{border:1px solid #dfE8f1;border-radius:8px;background:#fff}
.registration-page .date-box .month{font-weight:600;padding:6px;letter-spacing:.06em}
.registration-page .date-box .day{font-size:1.5rem;font-weight:650;padding-top:5px}
.registration-page .date-box .year{font-weight:500;color:#63758b;font-size:.7rem;padding-bottom:8px}
.registration-page .session-num{font-size:.85rem;font-weight:650;letter-spacing:.01em}
.registration-page .badge{font-weight:600;font-size:.66rem;letter-spacing:.015em;padding:4px 9px}
.registration-page .session-time,.registration-page .session-mobile-date{font-size:.84rem;margin-top:8px;gap:5px}
.registration-page .session-extra{gap:8px 18px;margin-top:9px}
.registration-page .session-extra span{font-size:.8rem}
.registration-page .session-time strong,.registration-page .session-mobile-date strong,.registration-page .session-extra strong{font-weight:600}
.registration-page .btn{height:40px;border-radius:7px;font-size:.82rem;font-weight:600;padding:0 20px;box-shadow:none}
.registration-page .btn:hover{box-shadow:none;transform:none}
.registration-page .next-cta:not(.alt),.registration-page .next-cta:not(.alt):hover{background:#fff;color:#0d3151}
.registration-page .role-guide-table{box-shadow:none;border-radius:10px;padding:22px}
.registration-page .role-guide-table th{font-weight:600;border-bottom-width:1px;padding:12px}
.registration-page .role-guide-table td{line-height:1.65;padding:14px 12px}
.registration-page .role-guide-level{font-weight:500;color:#64748b}
.registration-page .sf-popover{border-width:1px;border-radius:10px;box-shadow:0 12px 30px #172b421a}
.registration-page .sf-pop-label,.registration-page .sf-chip,.registration-page .sf-clear{font-weight:600}
.registration-page .reg-form{padding-top:24px;margin-top:20px}
.registration-page .field label{font-weight:600;letter-spacing:.025em;color:#52657a}
.registration-page .field input,.registration-page .field select,.registration-page .field textarea{border-width:1px;background:#fff;min-height:42px}
.registration-page .cm-box{border-radius:12px;box-shadow:0 24px 80px #0d18292b;max-width:640px}
.registration-page .cm-title{font-weight:650;font-size:1.12rem;line-height:1.5}
.registration-page .cm-header{padding:24px 28px 20px}
.registration-page .cm-body{padding:24px 28px;gap:20px}
.registration-page .cm-label{font-weight:650;font-size:.7rem;color:#5d7289;letter-spacing:.065em}
.registration-page .cm-text,.registration-page .cm-list{font-size:.88rem;line-height:1.8}
.registration-page .cm-footer{padding:16px 28px;color:#607086;line-height:1.6}
.registration-page button:focus-visible,.registration-page a:focus-visible{outline:3px solid #3784c2;outline-offset:3px}
@media(min-width:981px) and (max-width:1150px){.registration-page .hero-inner{gap:26px;padding:26px;grid-template-columns:minmax(0,1fr) 285px}.registration-page .product-logos{gap:12px}.registration-page .product-logos img{height:21px}.registration-page .product-logos img.logo-ai{height:20px}}
@media(max-width:980px){.registration-page .hero-inner{grid-template-columns:1fr;gap:24px}.registration-page .next-card{max-width:none}.registration-page .next-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.registration-page .next-cta{width:auto;min-width:210px}.registration-page .date-box{display:block}.registration-page .session-mobile-date{display:none}.registration-page .tool-row{grid-template-columns:1fr}.registration-page .tool-row>.role-guide-link{justify-self:start}}
@media(max-width:640px){.registration-page .top-inner{flex-direction:row;align-items:center;gap:12px;padding:18px 16px;min-height:70px}.registration-page .sl-logo{width:136px}.registration-page .top-actions{width:auto}.registration-page .top-link{font-size:.73rem;padding:0 10px;height:36px}.registration-page .wrap{padding:22px 16px 40px}.registration-page .hero-inner{padding:22px;gap:22px}.registration-page .hero h1{font-size:1.8rem;line-height:1.22}.registration-page .hero p{font-size:.86rem;line-height:1.7}.registration-page .product-logos{gap:16px 18px;margin-bottom:20px}.registration-page .product-logos img{height:22px}.registration-page .next-card{padding:20px}.registration-page .next-grid{grid-template-columns:1fr 1fr}.registration-page .next-cta{width:100%;min-width:0}.registration-page .tool-row{padding:16px;gap:8px}.registration-page .role-filter-label{flex-basis:100%;margin-bottom:5px}.registration-page .role-chip,.registration-page .sf-btn{min-height:40px}.registration-page .filters-left{gap:12px}.registration-page .course-head{padding:20px 16px;gap:12px}.registration-page .course h2{font-size:1.03rem}.registration-page .course-body{padding:0 16px 18px}.registration-page .course-icon{width:34px;height:34px}.registration-page .session-item{padding:16px}.registration-page .session-row{grid-template-columns:1fr;gap:16px}.registration-page .date-box{display:none}.registration-page .session-mobile-date{display:flex}.registration-page .session-row>.btn{width:100%;min-height:44px}.registration-page .session-extra{gap:9px}.registration-page .session-extra span{flex-basis:100%}.registration-page .cm-dialog{padding:12px}.registration-page .cm-box{min-height:0;border-radius:10px}.registration-page .cm-header,.registration-page .cm-body{padding:20px}.registration-page .sf-popover{min-width:260px;max-width:calc(100vw - 68px)}.registration-page .field input,.registration-page .field select,.registration-page .field textarea{font-size:16px}}

/* Keep the desktop title together without squeezing the next-class panel. */
@media(min-width:1200px){.registration-page .hero-inner>div{container-type:inline-size}.registration-page .hero h1{max-width:none;font-size:clamp(1.5rem,4.5cqi,2.55rem);white-space:nowrap}}
