
:root{
  --background:#fdfcf9;--foreground:#303746;--card:#fff;--navy:#30405f;--navy-deep:#25324b;
  --gold:#d7aa50;--gold-soft:#ead6a7;--gold-foreground:#7b5d1e;
  --saffron:#e87511;--india-green:#178c2c;--uae-red:#e32b24;--sand:#f5f1e7;
  --border:#e5e1d8;--muted:#6d7480;--input:#ddd8cd;--danger:#c83d3d;
  --radius:8px;--shadow-soft:0 1px 2px rgba(48,64,95,.04),0 12px 32px -12px rgba(48,64,95,.16);
  --shadow-lift:0 2px 4px rgba(48,64,95,.05),0 24px 48px -20px rgba(48,64,95,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;background:var(--background);color:var(--foreground);font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:Poppins,system-ui,sans-serif}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.015em;margin:0;color:var(--navy)}
p{line-height:1.7}
a{text-decoration:none;color:inherit}
.container{width:min(1152px,calc(100% - 40px));margin:0 auto}
.container-narrow{width:min(960px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.flag-rule{height:3px;width:100%;background:linear-gradient(to right,var(--saffron) 0 25%,#fff 25% 50%,var(--india-green) 50% 75%,var(--uae-red) 75% 100%)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,252,249,.92);border-bottom:1px solid rgba(229,225,216,.7);backdrop-filter:blur(14px)}
.header-inner{width:min(1152px,calc(100% - 40px));height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-link{display:block;flex:none}
.brand-link img{display:block;width:auto;height:64px;max-width:145px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.desktop-nav a{position:relative;padding:5px 0;color:#68707d;font-size:14px;transition:.2s}
.desktop-nav a:hover,.footer-links a:hover{color:var(--navy)}
.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.2s}
.desktop-nav a:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:8px;margin-left:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:.2s;line-height:1}
.btn-gold{background:var(--gold);color:#27324a;border-color:var(--gold)}
.btn-gold:hover{filter:brightness(.95);box-shadow:var(--shadow-soft)}
.btn-outline{background:transparent;color:var(--navy);border-color:rgba(48,64,95,.28)}
.btn-outline:hover{background:#fff;border-color:var(--navy)}
.btn-on-navy{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-on-navy:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{height:40px;padding:0 18px;font-size:13px}.btn-lg{height:48px;padding:0 22px;font-size:14px}.btn-xl{height:54px;padding:0 27px;font-size:14px}
.menu-toggle{display:none;width:44px;height:44px;background:transparent;border:1px solid var(--input);border-radius:7px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0;transition:.2s}
.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 99px);border-bottom:1px solid rgba(215,170,80,.35);background:var(--background)}
.hero-art{position:absolute;left:0;bottom:0;width:100%;height:auto;z-index:-1;pointer-events:none}
.hero-content{position:relative;min-height:calc(100svh - 99px);display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:16px;padding-bottom:128px}
.ibpg-header-logo{display:block;width:100%;max-width:176px;margin:0 auto}
.gold-divider{height:1px;width:96px;background:rgba(215,170,80,.7);margin:20px auto}
.event-logo{display:block;width:100%;max-width:432px;margin:0 auto}
.hero-theme{width:100%;max-width:520px;margin-top:20px;display:flex;align-items:center;gap:16px}
.hero-theme>span{height:1px;flex:1;background:rgba(215,170,80,.6)}
.hero-theme p{display:flex;align-items:center;gap:12px;margin:0;font-size:14px;letter-spacing:.28em;text-transform:uppercase;font-weight:600}
.hero-theme i{font-style:normal;color:var(--gold)}
.text-saffron{color:var(--saffron)}.text-gold{color:var(--gold)}.text-green{color:var(--india-green)}
.event-meta{width:100%;max-width:440px;margin-top:28px;display:grid;grid-template-columns:auto 1px minmax(0,1fr);align-items:center;gap:20px;padding:13px 20px;border:1px solid rgba(215,170,80,.22);border-radius:9px;background:rgba(253,252,249,.65);box-shadow:var(--shadow-soft);backdrop-filter:blur(2px)}
.event-date{display:flex;align-items:center;gap:12px;text-align:left}.calendar-icon{font-size:20px;color:var(--gold)}
.event-date small{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(48,64,95,.65);font-weight:600}
.event-date strong{display:block;margin-top:4px;font-size:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.meta-divider{height:40px;background:rgba(215,170,80,.35)}
.event-meta>p{margin:0;text-align:left;font-size:13px;line-height:1.55;font-weight:500;color:var(--muted)}
.hero-buttons{display:flex;justify-content:center;gap:12px;margin-top:24px}
.section{padding:112px 0}.section-sand{background:var(--sand)}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}
h2{font-size:42px;line-height:1.16;margin-top:12px}
.eyebrow{font-size:11px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-foreground);margin:0}
.gold-rule{height:1px;width:64px;background:linear-gradient(to right,var(--gold),transparent);margin-top:24px}
.prose{color:var(--muted);font-size:15px}.prose p{margin:0 0 20px}.prose p:last-child{margin-bottom:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--saffron);border-radius:8px;margin-top:56px;background:rgba(255,255,255,.4)}
.stat-card{background:var(--saffron);padding:28px;min-height:112px;color:#fff}
.stat-card strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:34px;font-weight:500}.stat-card span{display:block;margin-top:3px;font-size:13px;opacity:.9}
.max-2{max-width:680px}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.surface-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.pillar-grid .surface-card{padding:32px;transition:.2s}.pillar-grid .surface-card:hover,.attendee:hover,.speaker-card:hover{box-shadow:var(--shadow-lift)}
.pillar-grid h3{font-size:28px;margin-top:16px}.short-rule{height:1px;width:40px;background:var(--gold);margin-top:16px}.pillar-grid p{font-size:14px;color:var(--muted);line-height:1.7;margin:16px 0 0}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.delegates{font-family:"Playfair Display",Georgia,serif;font-size:25px;color:var(--navy);margin:0}.delegates span{color:var(--gold-foreground)}
.attendee-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px}.attendee{padding:24px;display:flex;flex-direction:column;gap:16px;min-height:150px;transition:.2s}.attendee-icon{font-size:25px;color:var(--gold-foreground)}.attendee h3{font-size:18px;line-height:1.3}
.dignitary-strip{background:var(--navy);padding:56px 0;color:#fff}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.strip-title{font-family:"Playfair Display",Georgia,serif;font-size:25px;line-height:1.4;max-width:760px;margin:12px 0 0;color:#fff}
.agenda-section{scroll-margin-top:100px}.intro{max-width:760px;color:var(--muted);font-size:15px;margin:20px 0 0}.agenda-block{margin-top:48px}.agenda-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:16px}.agenda-head h3{font-size:28px}.agenda-head span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.saffron-head h3{color:var(--saffron)}.gold-head h3{color:var(--gold-foreground)}.green-head h3{color:var(--india-green)}
.agenda-item{position:relative;display:grid;grid-template-columns:152px 1fr;gap:24px;margin-top:16px;padding:22px 24px 22px 32px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);overflow:hidden}
.agenda-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.saffron-head~.agenda-item:before{background:var(--saffron)}.gold-head~.agenda-item:before{background:var(--gold)}.green-head~.agenda-item:before{background:var(--india-green)}
.agenda-item>strong{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-size:15px;font-weight:500}.agenda-item h4{font-size:19px;line-height:1.35}.agenda-item small{display:block;margin-top:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}.agenda-item p{margin:7px 0 0;font-size:13px;color:var(--muted);line-height:1.55}.note{font-size:13px;color:var(--muted);font-style:italic;margin-top:40px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}.category{padding:20px;border-top:2px solid rgba(215,170,80,.7);background:rgba(255,255,255,.45)}.category h3{font-size:17px}.category p{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 0}
.speaker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:64px}.speaker-card{min-height:330px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);transition:.2s}.speaker-card.confirmed{border-color:rgba(215,170,80,.6);background:rgba(245,241,231,.9)}.avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);background:var(--navy);color:var(--gold);font-family:"Playfair Display",Georgia,serif;font-size:21px;margin-bottom:20px}.muted-avatar{border-style:dashed;border-color:var(--input);background:#f2f0eb;color:var(--muted);font-size:34px}.speaker-card h3{font-size:19px;line-height:1.35;margin-top:10px}.speaker-card p{font-size:13px;color:var(--muted);margin:8px 0;line-height:1.5}.speaker-card label{margin-top:auto;padding-top:18px;border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#5f6670}
.partners{overflow:hidden}.logo-marquee{margin-top:40px;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.marquee-track{display:flex;width:max-content;gap:16px;animation:marquee 38s linear infinite}.marquee-track span,.logo-slot{display:flex;align-items:center;justify-content:center;border:1px dashed var(--input);background:rgba(242,240,235,.7);border-radius:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:11px;padding:0 28px;min-width:180px;height:80px;white-space:nowrap}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sponsor-tiers{margin-top:48px;display:flex;flex-direction:column;gap:40px}.sponsor-tiers>div> .eyebrow{color:var(--muted)}.slot-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.logo-slot{height:80px}.logo-slot.xl{height:128px;min-width:288px}.logo-slot.lg{height:96px;min-width:224px}.logo-slot.md{height:80px;min-width:176px}.logo-slot.sm{height:64px;min-width:144px;font-size:10px}
.partner-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);margin-top:56px;padding-top:40px}.partner-cta p{max-width:650px;color:var(--muted);font-size:14px;margin:0}
.site-footer{margin-top:0;background:var(--navy);color:#fff}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:64px;padding-bottom:64px}.footer-logo{width:224px;max-width:100%;height:auto}.footer-muted{color:rgba(255,255,255,.65);font-size:13px;line-height:1.6;margin:18px 0 0}.footer-title{font-family:"Playfair Display",Georgia,serif;font-size:21px;margin:12px 0 0}.footer-links{display:flex;flex-direction:column;gap:7px;margin-top:22px;color:rgba(255,255,255,.8);font-size:13px}.footer-contact{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:13px;margin-top:12px}.footer-contact:hover{color:var(--gold)}.socials{display:flex;gap:10px;margin-top:22px}.socials a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:6px;font-size:12px}.socials a:hover{border-color:var(--gold);color:var(--gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;color:rgba(255,255,255,.55);font-size:11px}
.registration-page{padding-top:96px;padding-bottom:112px;min-height:70vh}.registration-page h1{font-size:48px;line-height:1.15;margin-top:12px}.registration-form{margin-top:40px;padding:36px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.field label,.member-fieldset legend{font-size:14px;font-weight:500;color:var(--navy)}.field label em,.member-fieldset em,.consent em{font-style:normal;color:var(--uae-red)}.field label small{font-weight:400;color:var(--muted);font-size:11px}.field input,.phone-field input,.phone-field select,.field select{height:48px;width:100%;margin-top:8px;border:1px solid var(--input);border-radius:6px;background:#fff;color:var(--navy);padding:0 12px;font-size:14px;outline:none}.field input:focus,.phone-field input:focus,.phone-field select:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.phone-field{display:flex;gap:8px}.phone-field select{width:90px;flex:none}.member-fieldset{border:0;padding:0;margin:28px 0 20px}.member-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.member-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--input);border-radius:7px;cursor:pointer}.member-option:has(input:checked){border-color:var(--gold);background:var(--sand)}.member-option input{margin-top:3px;accent-color:var(--navy)}.member-option b{display:block;font-size:13px;color:var(--navy)}.member-option small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.conditional-member{margin-bottom:20px}.consent{display:flex;align-items:flex-start;gap:12px;margin-top:28px;color:var(--muted);font-size:13px;line-height:1.65;cursor:pointer}.consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--navy);flex:none}.form-submit{width:100%;margin-top:30px;border:0}
.reveal{opacity:0;transform:translateY(18px)}.reveal.reveal-in{animation:reveal-up .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes reveal-up{to{opacity:1;transform:none}}.delay-70{animation-delay:70ms}.delay-90{animation-delay:90ms}.delay-100{animation-delay:100ms}.delay-140{animation-delay:140ms}.delay-150{animation-delay:150ms}.delay-180{animation-delay:180ms}.delay-210{animation-delay:210ms}.delay-280{animation-delay:280ms}.delay-300{animation-delay:300ms}.delay-370{animation-delay:370ms}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.marquee-track{animation:none}}
@media(max-width:900px){
  .desktop-nav{gap:20px}.attendee-grid{grid-template-columns:repeat(3,1fr)}.speaker-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .container,.container-narrow{width:min(100% - 32px,960px)}.header-inner{width:calc(100% - 32px);height:80px}.brand-link img{height:56px;max-width:125px}.desktop-nav,.desktop-register{display:none}.menu-toggle{display:block}.mobile-nav{display:none;flex-direction:column;padding:0 16px 20px;border-top:1px solid var(--border);background:#fff}.mobile-nav.open{display:flex}.mobile-nav>a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(229,225,216,.7);font-size:15px;color:var(--navy)}.mobile-nav .btn{margin-top:16px}
  .hero,.hero-content{min-height:calc(100svh - 83px)}.hero-content{padding-top:12px;padding-bottom:80px}.hero-art{width:auto;min-width:880px;max-width:none}.ibpg-header-logo{max-width:145px}.event-logo{max-width:320px}.hero-theme{margin-top:17px;gap:10px}.hero-theme p{gap:7px;font-size:10px;letter-spacing:.2em}.event-meta{max-width:400px;grid-template-columns:auto 1px minmax(0,1fr);gap:10px;padding:12px}.event-date{gap:8px}.event-date strong{font-size:13px}.event-meta>p{font-size:11px}.hero-buttons{flex-direction:column;width:100%;max-width:300px}.section{padding:80px 0}.two-col{grid-template-columns:1fr;gap:30px}h2{font-size:34px}.stats-grid{grid-template-columns:1fr 1fr;margin-top:40px}.stat-card{padding:22px}.pillar-grid{grid-template-columns:1fr;gap:14px}.section-heading-row{align-items:flex-start;flex-direction:column}.delegates{font-size:22px}.attendee-grid{grid-template-columns:1fr 1fr;gap:12px}.attendee{min-height:135px;padding:20px}.dignitary-strip{padding:42px 0}.strip-inner{align-items:flex-start;flex-direction:column}.strip-title{font-size:22px}.agenda-item{grid-template-columns:1fr;gap:6px;padding:20px 18px 20px 26px}.agenda-item>strong{font-size:14px}.agenda-head{align-items:flex-start;flex-direction:column;gap:6px}.agenda-head h3{font-size:25px}.category-grid,.speaker-grid{grid-template-columns:1fr}.speaker-grid{margin-top:40px}.speaker-card{min-height:290px}.footer-grid{grid-template-columns:1fr;gap:38px;padding-top:48px;padding-bottom:48px}.partner-cta{align-items:flex-start;flex-direction:column}.slot-row{gap:10px}.logo-slot{min-width:calc(50% - 5px)!important}.registration-page{padding-top:72px;padding-bottom:80px}.registration-page h1{font-size:38px}.registration-form{padding:24px 18px}.form-grid,.member-options{grid-template-columns:1fr}.form-grid{gap:18px;margin-bottom:18px}.sponsor-tiers{gap:30px}
}

/* Registration validation */
.field .validation-message,
.member-validation,
.consent-validation {
    display: block;
    min-height: 0;
    margin-top: 8px;
    color: #e3262e;
    font-size: 13px;
    line-height: 1.4;
}

.field .validation-message:empty,
.member-validation:empty,
.consent-validation:empty {
    display: none;
}

.registration-form input.input-validation-error,
.registration-form select.input-validation-error {
    border-color: #e3262e;
    box-shadow: none;
}

.registration-form input.input-validation-error:focus,
.registration-form select.input-validation-error:focus {
    border-color: #e3262e;
    box-shadow: 0 0 0 1px #e3262e;
}

.member-fieldset.has-validation-error .member-option {
    border-color: #e3262e;
}

.consent-wrapper.has-validation-error .consent {
    color: var(--muted);
}

.consent-wrapper.has-validation-error .consent input {
    outline: 1px solid #e3262e;
    outline-offset: 1px;
}
