/* Executive event page; shared OGIS typography, colors, icons, and CF7 controls. */
.reg-page { color:var(--color-foreground); }
/* Include the dialog, which is moved outside main when opened. */
.reg-page,.reg-dialog {
 --reg-accent-gradient:linear-gradient(110deg,#e71f22 0%,#ff9100 100%);
 --ogis-cta-background:#ff9100;
 --ogis-cta-hover:#e98200;
 --ogis-cta-text:#231d22;
 --ogis-cta-shadow:0 14px 40px -12px rgba(255,145,0,.55);
 --ogis-cta-hover-shadow:0 18px 32px -14px rgba(255,145,0,.55);
}
.reg-page .lp-container { max-width:1152px; }
.reg-section { padding:80px 0; }
.reg-page p { color:#546173; margin-top:20px; }
.reg-page h2,.reg-page h3 { color:var(--color-brand-deep); }
.reg-page h2 { font-size:clamp(28px,3vw,36px); }
.reg-page h3 { font-size:19px; }
.reg-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:64px; align-items:center; }
.reg-bar { position:sticky; top:0; z-index:20; background:white; border-bottom:3px solid var(--color-brand); box-shadow:0 3px 12px #082f4910; }
.admin-bar .reg-bar { top:32px; }
.reg-bar .lp-container { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:12px; }
.reg-bar strong { color:var(--color-brand-deep); font-family:var(--font-display); font-size:17px; }
.reg-partner { font-size:14px; color:#6b7280; margin-left:12px; }
.reg-hero,.reg-blue { background:linear-gradient(135deg,#0a3d6b,var(--color-brand) 65%,#1a7cc9); color:white; }
.reg-hero {
 position:relative; overflow:hidden; padding:100px 0;
 background:linear-gradient(90deg,rgba(5,25,44,.84),rgba(5,25,44,.64) 55%,rgba(5,25,44,.3)),url('../image/alibaba-bg.webp') center center / cover no-repeat;
}
.reg-hero .reg-split { grid-template-columns:minmax(0,1fr) 340px; position:relative; }
.reg-hero h1 { font-size:clamp(32px,3.6vw,48px); }
.reg-hero h1 span { color:#b8dcf7; }
.reg-badge { display:inline-block; margin-bottom:24px; padding:8px 16px; border-radius:30px; background:var(--reg-accent-gradient); font:600 11px/1.5 var(--font-display); text-transform:uppercase; letter-spacing:.1em; }
.reg-page .reg-meta { list-style:none; padding:0; margin:24px 0; display:flex; flex-wrap:wrap; gap:12px 20px; font-size:14px; }
.reg-meta li::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--reg-accent-gradient); margin-right:7px; }
.reg-hero p,.reg-blue p { color:#dbeaf7; }
.reg-hero .reg-cta { margin-top:30px; }
.reg-event { background:rgba(6,35,59,.85); border:1px solid #ffffff38; border-radius:16px; overflow:hidden; box-shadow:var(--shadow-brand); }
.reg-event-heading,.reg-event-action { padding:24px; }
.reg-page .reg-event h2 { color:white; font-size:20px; margin-top:8px; }
.reg-kicker { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.reg-event dl { margin:0; }
.reg-event dl div { display:flex; justify-content:space-between; gap:16px; padding:14px 24px; border-top:1px solid #ffffff20; font-size:14px; }
.reg-event dt { color:#bfddf3; }
.reg-event dd { margin:0; text-align:right; font-weight:600; }
.reg-hero .reg-event .reg-cta { width:100%; margin:0; }
.reg-heading::before { content:''; display:block; width:100px; height:4px; border-radius:4px; background:var(--reg-accent-gradient); margin-bottom:24px; }
.reg-center { text-align:center; }
.reg-center .reg-heading::before { margin-inline:auto; }
.reg-note { background:#f0f7ff; border:2px solid #d0e8f8; border-radius:16px; padding:32px; }
.reg-note p { margin-top:0; }
.reg-partnership { border-top:2px solid #c0dff5; margin-top:24px; padding-top:24px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-size:15px; color:var(--color-brand-deep); }
.reg-partnership span { font-size:12px; color:#546173; }
.reg-tint { background:#f8fafc; }
.reg-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.reg-cards .lp-card p { font-size:16px; margin-top:12px; }
.reg-cards .reg-card-cta { display:flex; flex-direction:column; align-items:flex-start; background:linear-gradient(135deg,var(--color-brand-deep),var(--color-brand)); color:white; }
.reg-card-cta h3 { color:white; margin-top:16px; }
.reg-card-cta .reg-cta { margin-top:auto; width:100%; }
.reg-page .reg-insights { list-style:none; counter-reset:insight; margin:0; padding:0; display:grid; gap:12px; }
.reg-insights li { display:flex; gap:14px; padding:18px; border-radius:8px; background:#f0f7ff; font-size:16px; }
.reg-insights li::before { counter-increment:insight; content:counter(insight); display:grid; place-items:center; width:26px; height:26px; flex-shrink:0; border-radius:50%; background:var(--color-brand); color:white; font-size:13px; }
.reg-blue h2 { color:white; }
.reg-page .reg-audience { list-style:none; padding:0; margin:40px auto 0; max-width:900px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.reg-audience li { padding:20px; display:flex; align-items:center; gap:14px; background:#ffffff12; border:1px solid #ffffff26; border-radius:8px; }
.reg-audience span { color:#badff9; }
.reg-audience li:last-child { grid-column:1/-1; }
.reg-summary { max-width:920px; margin:40px auto; border:1px solid var(--color-border); border-radius:16px; overflow:hidden; background:white; }
.reg-summary-heading { padding:26px; background:var(--color-brand); color:white; }
.reg-summary-heading h3,.reg-summary-heading p { color:white; }
.reg-summary-heading p { margin-top:6px; font-size:15px; }
.reg-summary dl { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.reg-summary dl div { padding:32px 20px; }
.reg-summary dl div + div { border-left:1px solid var(--color-border); }
.reg-summary dt { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#6b7280; }
.reg-summary dd { margin:10px 0 0; font-weight:600; color:var(--color-brand-deep); }
.reg-final { background:var(--color-brand-deep); color:white; }
.reg-final .lp-container { max-width:780px; }
.reg-final h2,.reg-final p { color:white; }
.reg-final .reg-cta { margin-top:30px; }
.reg-registration[hidden] { display:none; }
.reg-form-shell { position:relative; width:100%; max-width:620px; margin:auto; background:white; border-radius:16px; overflow:hidden; }
.reg-form-header { padding:30px; background:var(--color-brand-deep); color:white; }
.reg-form-header h2 { color:white; font-size:26px; padding-right:24px; }
.reg-form-header p { color:#dbeaf7; margin:8px 0 0; font-size:15px; }
.reg-form-shell .lp-form { border:0; border-radius:0; box-shadow:none; padding:30px; }
.reg-dialog { border:0; padding:0; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 48px); border-radius:16px; background:white; color:var(--color-foreground); overscroll-behavior:contain; }
.reg-dialog::backdrop { background:#09345dbd; backdrop-filter:blur(4px); }
.reg-close { position:absolute; top:14px; right:14px; width:36px; height:36px; border:1px solid #ffffff60; border-radius:50%; background:transparent; color:white; font-size:26px; line-height:1; }
.reg-modal-open { overflow:hidden; }
.reg-dialog button:focus-visible,.reg-page a:focus-visible { outline:3px solid #e9980c; outline-offset:4px; }
@media(max-width:900px) { .reg-split,.reg-hero .reg-split { grid-template-columns:1fr; gap:36px; } .reg-hero { padding:64px 0; } .reg-event { max-width:520px; width:100%; } .reg-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .reg-card-cta .reg-cta { margin-top:24px; } }
@media(max-width:782px) { .admin-bar .reg-bar { top:46px; } }
@media(max-width:600px) { .reg-section { padding:52px 0; } .reg-partner { display:none; } .reg-bar strong { font-size:13px; } .reg-cards,.reg-page .reg-audience,.reg-summary dl { grid-template-columns:1fr; } .reg-summary dl div + div { border-left:0; border-top:1px solid var(--color-border); } .reg-note { padding:24px; } .admin-bar .reg-bar { top:0; } .reg-form-shell .lp-form,.reg-form-header { padding:24px; } }

/* Compact partner lockup above the hero badge; preserve each logo's proportions. */
.reg-hero-logos { display:flex; align-items:center; gap:24px; margin-bottom:28px; }
.reg-hero-logos img { display:block; height:auto; object-fit:contain; }
.reg-hero-logo--ogis { width:100px; }
.reg-hero-logo--alibaba { width:180px; }
@media(max-width:600px) {
 .reg-hero-logos { gap:18px; margin-bottom:24px; }
 .reg-hero-logo--ogis { width:80px; }
 .reg-hero-logo--alibaba { width:150px; }
}

/* Revised executive program, speaker profiles, and understated countdown. */
.reg-hero-countdown { margin-bottom:20px; color:#dbeaf7; }
.reg-page .reg-seat-note { margin-top:14px; font-size:14px; }
.reg-kicker + .reg-heading { margin-top:16px; }
.reg-takeaways { grid-template-columns:repeat(4,minmax(0,1fr)); }
.reg-step { display:block; margin-bottom:20px; color:var(--color-brand); font:700 28px/1 var(--font-display); }
.reg-speakers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:48px; }
.reg-speaker { border:1px solid var(--color-border); border-radius:16px; overflow:hidden; background:white; }
.reg-speaker-photo,.reg-speaker-placeholder { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.reg-speaker-placeholder { display:grid; place-items:center; background:linear-gradient(135deg,#e8f2fa,#f8fafc); color:#546173; font-size:13px; }
.reg-speaker-content { padding:24px; }
.reg-speaker-content h3 { font-size:22px; }
.reg-page .reg-speaker-role { margin-top:8px; font-size:14px; }
.reg-speaker-content h4 { margin:24px 0 0; color:var(--color-brand-deep); font-size:17px; line-height:1.5; }
.reg-speaker-content p { font-size:15px; }
.reg-speaker-content .reg-badge { margin-bottom:16px; padding:6px 10px; color:white; font-size:10px; }
.reg-page .reg-panel-topics { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.reg-panel-topics li { padding:18px 24px; background:#eef6fc; border-left:3px solid var(--color-brand); border-radius:8px; }
.reg-program { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:1px solid var(--color-border); padding:28px; }
.reg-program p { margin-top:8px; }
.reg-countdown-section .reg-cta { margin-top:24px; }
.reg-countdown { display:flex; justify-content:center; gap:20px; margin-top:36px; align-items:center; }
.reg-countdown div { display:flex; flex-direction:column; gap:10px; min-width:110px; padding:24px; background:#f0f7ff; border-radius:12px; }
.reg-countdown strong { color:var(--color-brand-deep); font:600 clamp(32px,4vw,48px)/1 var(--font-display); font-variant-numeric:tabular-nums; }
.reg-countdown span { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#546173; }
@media(max-width:1100px) { .reg-speakers,.reg-takeaways { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .reg-speakers,.reg-takeaways,.reg-program { grid-template-columns:1fr; }
 .reg-speakers { max-width:400px; margin-inline:auto; }
 .reg-countdown { gap:10px; }
 .reg-countdown div { min-width:0; flex:1; max-width:120px; padding:20px 12px; }
}

/* Fixed countdown belongs only to this event template. */
body:has(.reg-sticky-countdown) { padding-bottom:var(--reg-sticky-height,calc(100px + env(safe-area-inset-bottom,0px))); }
html:has(.reg-sticky-countdown) { scroll-padding-bottom:var(--reg-sticky-height,100px); }
.reg-sticky-countdown { position:fixed; inset:auto 0 0; z-index:30; background:var(--color-brand-deep); color:white; border-top:3px solid #ff9100; box-shadow:0 -4px 24px #082f4926; padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px)); }
.reg-sticky-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.reg-sticky-event { display:flex; flex-direction:column; gap:6px; }
.reg-sticky-event strong { font-family:var(--font-display); font-size:18px; }
.reg-sticky-event > span { color:#dbeaf7; font-size:12px; letter-spacing:.08em; }
.reg-sticky-countdown .reg-countdown { margin:0; gap:20px; }
.reg-sticky-countdown .reg-countdown div { min-width:48px; padding:0; background:none; text-align:center; gap:4px; }
.reg-sticky-countdown .reg-countdown strong { color:white; font-size:28px; }
.reg-sticky-countdown .reg-countdown span { color:#dbeaf7; font-size:10px; }
.reg-sticky-countdown .reg-countdown div:first-child { min-width:88px; padding:8px 16px; background:#ff9100; border-radius:10px; }
.reg-sticky-countdown .reg-countdown [data-countdown-days] { color:#231d22; font-size:42px; font-weight:700; }
.reg-sticky-countdown .reg-countdown div:first-child span { color:#231d22; font-weight:600; }
.reg-sticky-countdown .reg-cta { flex-shrink:0; }
@media(max-width:700px) {
 body:has(.reg-sticky-countdown) { padding-bottom:var(--reg-sticky-height,calc(160px + env(safe-area-inset-bottom,0px))); }
 .reg-sticky-inner { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; }
 .reg-sticky-event { text-align:right; }
 .reg-sticky-event strong { font-size:14px; }
 .reg-sticky-event > span { font-size:10px; }
 .reg-sticky-countdown .reg-countdown { gap:12px; }
 .reg-sticky-countdown .reg-countdown div { min-width:32px; }
 .reg-sticky-countdown .reg-countdown strong { font-size:22px; }
 .reg-sticky-countdown .reg-countdown span { font-size:9px; }
 .reg-sticky-countdown .reg-countdown div:first-child { min-width:60px; padding:6px 10px; }
 .reg-sticky-countdown .reg-countdown [data-countdown-days] { font-size:34px; }
 .reg-sticky-countdown .reg-cta { grid-column:1/-1; width:100%; padding-block:10px; }
}
