/* BREAKTHROUGH SUMMIT — WIB 2026 */

/* --- PALETTE ---
   Navy:    #112d47
   Dark:    #0a1e33
   Orange:  #f58351
   Hover:   #e07040
   Peach:   #fde8df
   Cream:   #FFF8F5
   White:   #ffffff
   Text:    #333333
   Muted:   #666666
--- */


/* ===========================================
   RESET + GLOBAL TYPOGRAPHY
   =========================================== */

*, *::before, *::after {
    box-sizing: border-box !important;
}

body {
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(16px, 1.8vw, 20px) !important;
    line-height: 1.6 !important;
    color: #333333 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

h1 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(40px, 6vw, 80px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #112d47 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important;
    background-image: none !important;
}

h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(28px, 4.5vw, 52px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #112d47 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important;
    background-image: none !important;
}

h3 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(20px, 2.5vw, 30px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #112d47 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important;
    background-image: none !important;
}

h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #112d47 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important;
    background-image: none !important;
}

p {
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(16px, 1.8vw, 20px) !important;
    line-height: 1.6 !important;
    color: #333333 !important;
    margin: 0 0 20px 0 !important;
}

a {
    color: #f58351 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

a:hover {
    color: #e07040 !important;
}

img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Kill London/UltraWave pseudo-elements */
h1::after, h1::before,
h2::after, h2::before,
h3::after, h3::before,
h4::after, h4::before,
blockquote::after, blockquote::before,
cite::after, cite::before {
    display: none !important;
    content: none !important;
    border: none !important;
    height: 0 !important;
    width: 0 !important;
    background: none !important;
}

/* Kill Bootstrap wrapper interference — homepage only */
html {
    overflow-x: hidden !important;
}

body {
    overflow-x: hidden !important;
    overflow-x: clip !important;
    position: relative !important;
    width: 100% !important;
}

#ctl01_masterWrapper,
.wrapper {
    overflow-x: hidden !important;
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
}

#HomePageContent {
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
}

.wib-homepage {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-top: calc(-1 * clamp(40px, 5vw, 80px)) !important;
    margin-bottom: calc(-1 * clamp(40px, 5vw, 80px)) !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Mobile: ditch 100vw trick entirely */
@media (max-width: 768px) {
    .wib-homepage {
        width: auto !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #HomePageContent,
    #HomePageContent .WTZone,
    #HomePageContent .ContentItemContainer {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

.wib-homepage .row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wib-homepage .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wib-homepage .d-flex.justify-content-end {
    display: block !important;
}

/* Accent utilities */
.text-accent { color: #f58351 !important; }
.text-white { color: #ffffff !important; }


/* ===========================================
   BUTTONS
   =========================================== */

.PrimaryButton,
.TextButton.PrimaryButton,
#masterContentArea .PrimaryButton,
.ContentItemContainer .PrimaryButton {
    display: inline-block !important;
    background-color: #f58351 !important;
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    padding: 16px 40px !important;
    border-radius: 12px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 8px 24px rgba(245, 131, 81, 0.3) !important;
}

.PrimaryButton:hover,
.TextButton.PrimaryButton:hover,
#masterContentArea .PrimaryButton:hover {
    background-color: #e07040 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(245, 131, 81, 0.4) !important;
}

/* Nested anchors inside PrimaryButton */
.PrimaryButton a,
.PrimaryButton a:link,
.PrimaryButton a:visited,
.PrimaryButton a:hover,
.PrimaryButton a:active {
    color: #ffffff !important;
    text-decoration: none !important;
}

.TextButton,
#masterContentArea .TextButton,
.ContentItemContainer .TextButton {
    display: inline-block !important;
    background-color: transparent !important;
    color: #112d47 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    padding: 16px 40px !important;
    border-radius: 12px !important;
    border: 2px solid rgba(17, 45, 71, 0.15) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.TextButton:hover,
#masterContentArea .TextButton:hover {
    border-color: #112d47 !important;
    color: #112d47 !important;
}


/* ===========================================
   CONTENT SECTIONS
   =========================================== */

/* --- Hero --- */

.hero {
    display: block !important;
    padding: clamp(100px, 12vw, 180px) 0 clamp(60px, 8vw, 120px) 0 !important;
    background-color: #FFF8F5 !important;
    overflow: hidden !important;
    text-align: left !important;
    position: relative !important;
    width: 100% !important;
}

.hero-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: clamp(40px, 5vw, 80px) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    background-color: #fde8df !important;
    color: #f58351 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 50px !important;
    margin-bottom: 24px !important;
}

.hero h1 { margin-bottom: 12px !important; }
.hero h1 span { color: #f58351 !important; }

.hero-date {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    color: #f58351 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 24px !important;
}

.hero p {
    font-size: clamp(18px, 2vw, 22px) !important;
    max-width: none !important;
    margin-bottom: 32px !important;
}

.hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
}

.hero-social-proof {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.hero-avatars { display: flex !important; }

.hero-avatars img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    border: 4px solid #FFF8F5 !important;
    object-fit: cover !important;
    margin-left: -16px !important;
}

.hero-avatars img:first-child { margin-left: 0 !important; }

.hero-image-wrap { position: relative !important; }

.hero-image-wrap .blur-bg {
    position: absolute !important;
    border-radius: 50% !important;
    filter: blur(60px) !important;
    opacity: 0.5 !important;
    z-index: 0 !important;
}

.hero-image-wrap .blur-bg.top {
    top: -60px !important;
    left: -60px !important;
    width: 200px !important;
    height: 200px !important;
    background-color: #fde8df !important;
}

.hero-image-wrap .blur-bg.bottom {
    bottom: -60px !important;
    right: -60px !important;
    width: 280px !important;
    height: 280px !important;
    background-color: rgba(245, 131, 81, 0.15) !important;
}

.hero-image-card {
    position: relative !important;
    z-index: 1 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 12px solid #ffffff !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12) !important;
}

.hero-image-card img {
    width: 100% !important;
    aspect-ratio: 4/5 !important;
    object-fit: cover !important;
}

.hero-image-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 40px !important;
    background: linear-gradient(to top, rgba(17, 45, 71, 0.9), rgba(17, 45, 71, 0.4), transparent) !important;
}

.hero-image-overlay h3 { color: #ffffff !important; margin-bottom: 4px !important; }
.hero-image-overlay p { color: #fde8df !important; margin-bottom: 0 !important; }

/* Speaker name below photo */
.hero-speaker-caption {
    text-align: center !important;
    padding: 20px 0 0 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.hero-speaker-caption h3 {
    color: #112d47 !important;
    font-size: clamp(22px, 2.5vw, 32px) !important;
    margin-bottom: 4px !important;
}

.hero-speaker-caption p {
    color: #f58351 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
    .hero-grid { grid-template-columns: 1fr !important; gap: 48px !important; }
    .hero-image-wrap { max-width: 500px !important; margin: 0 auto !important; }
}

@media (max-width: 768px) {
    .hero { padding: 80px 0 60px 0 !important; }
    .hero-buttons { flex-direction: column !important; }
    .PrimaryButton, .TextButton { text-align: center !important; width: 100% !important; }
}

/* --- Stats Bar --- */

.stats-bar {
    display: block !important;
    background-color: #112d47 !important;
    padding: clamp(40px, 5vw, 80px) 0 !important;
    width: 100% !important;
}

.stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: clamp(20px, 3vw, 48px) !important;
    text-align: center !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.stat-number {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(28px, 4vw, 52px) !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    margin-bottom: 8px !important;
}

.stat-label {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(10px, 1vw, 13px) !important;
    color: #f58351 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
}

@media (max-width: 768px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- Keynote Speaker Section --- */

.keynote-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #ffffff !important;
    width: 100% !important;
}

.keynote-grid {
    display: grid !important;
    grid-template-columns: 380px 1fr !important;
    gap: clamp(40px, 5vw, 80px) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 4vw, 80px) !important;
    align-items: start !important;
}

.keynote-photos {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    position: sticky !important;
    top: 32px !important;
}

.keynote-photo {
    width: 100% !important;
    border-radius: 20px !important;
    object-fit: cover !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1) !important;
}

.keynote-photo:first-child {
    aspect-ratio: 4 / 5 !important;
}

.keynote-photo:nth-child(2) {
    aspect-ratio: 3 / 2 !important;
}

.keynote-text {
    padding-top: 8px !important;
}

.keynote-text .hero-badge {
    margin-bottom: 16px !important;
}

#masterContentArea .keynote-text h2,
.keynote-text h2 {
    color: #112d47 !important;
    font-size: clamp(32px, 4vw, 56px) !important;
    margin-bottom: 8px !important;
}

.keynote-title {
    color: #f58351 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(14px, 1.4vw, 17px) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 24px !important;
}

.keynote-text p {
    color: #333333 !important;
    font-size: clamp(16px, 1.5vw, 19px) !important;
    line-height: 1.7 !important;
    margin-bottom: 16px !important;
}

.keynote-text em {
    font-style: italic !important;
    color: #112d47 !important;
}

.keynote-skills {
    margin-top: 32px !important;
    padding: 32px !important;
    background: #FFF8F5 !important;
    border-radius: 16px !important;
    border: 2px solid #fde8df !important;
    text-align: center !important;
}

.keynote-skills h4 {
    color: #112d47 !important;
    font-size: 18px !important;
    margin-bottom: 16px !important;
}

.skills-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
}

.skill-tag {
    display: inline-block !important;
    background: #112d47 !important;
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 8px 20px !important;
    border-radius: 100px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.keynote-links {
    margin-top: 32px !important;
}

.keynote-links .TextButton {
    padding: 12px 28px !important;
    font-size: 15px !important;
}

@media (max-width: 1024px) {
    .keynote-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .keynote-photos {
        flex-direction: row !important;
        position: static !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }

    .keynote-photo:first-child {
        aspect-ratio: 3 / 4 !important;
        flex: 1 !important;
    }

    .keynote-photo:nth-child(2) {
        aspect-ratio: 3 / 4 !important;
        flex: 1 !important;
    }

    .keynote-text {
        text-align: center !important;
    }

    .keynote-skills {
        text-align: center !important;
    }

    .skills-list {
        justify-content: center !important;
    }

    .keynote-links {
        text-align: center !important;
    }
}

@media (max-width: 600px) {
    .keynote-photo:nth-child(2) {
        display: none !important;
    }

    .keynote-photo:first-child {
        max-width: 320px !important;
        margin: 0 auto !important;
    }
}

/* --- About Section --- */

.about-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #ffffff !important;
    width: 100% !important;
}

.about-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: clamp(40px, 5vw, 96px) !important;
    align-items: center !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.about-photos {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

.about-photos .col-offset { padding-top: 48px !important; }

.about-photos img {
    width: 100% !important;
    border-radius: 24px !important;
    object-fit: cover !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
}

.about-photos img.square { aspect-ratio: 1/1 !important; }
.about-photos img.tall { aspect-ratio: 3/4 !important; }

.about-text h2 span { color: #f58351 !important; }
.about-text p { font-size: clamp(17px, 1.8vw, 21px) !important; margin-bottom: 32px !important; }

.feature-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 24px !important;
    border-radius: 16px !important;
    background-color: #FFF8F5 !important;
    border: 1px solid transparent !important;
    transition: all 0.25s ease !important;
    margin-bottom: 16px !important;
}

.feature-card:hover { background-color: #fde8df !important; border-color: #fde8df !important; }

.feature-icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    border-radius: 12px !important;
    background-color: rgba(245, 131, 81, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    color: #f58351 !important;
}

.feature-card h4 { margin-bottom: 4px !important; }
.feature-card p { color: rgba(51, 51, 51, 0.8) !important; font-size: 16px !important; margin-bottom: 0 !important; }

@media (max-width: 1024px) {
    .about-grid { grid-template-columns: 1fr !important; }
    .about-photos { max-width: 500px !important; margin: 0 auto !important; }
}

/* --- Speakers Section --- */

.speakers-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #FFF8F5 !important;
    width: 100% !important;
}

.speakers-header {
    text-align: center !important;
    max-width: 700px !important;
    margin: 0 auto clamp(40px, 5vw, 80px) auto !important;
    padding: 0 24px !important;
}

.speakers-header p { font-size: clamp(17px, 1.8vw, 21px) !important; opacity: 0.8 !important; }

.speakers-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(20px, 3vw, 40px) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.speaker-card {
    background-color: #fde8df !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(245, 131, 81, 0.1) !important;
    transition: all 0.3s ease !important;
}

.speaker-card:hover { box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15) !important; transform: translateY(-4px) !important; }

.speaker-card img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.speaker-card:hover img { transform: scale(1.05) !important; }

.speaker-card-body { padding: 32px !important; }
.speaker-card-body h4 { margin-bottom: 4px !important; }

.speaker-card-body .speaker-role {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #f58351 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 16px !important;
}

.speaker-card-body .speaker-talk {
    font-style: italic !important;
    color: rgba(51, 51, 51, 0.8) !important;
    font-size: 16px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 1024px) { .speakers-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 768px) { .speakers-grid { grid-template-columns: 1fr !important; } .speaker-card img { height: 300px !important; } }

/* --- Agenda Section --- */

.agenda-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #112d47 !important;
    width: 100% !important;
}

.agenda-header {
    text-align: center !important;
    margin-bottom: clamp(40px, 5vw, 80px) !important;
    padding: 0 24px !important;
}

.agenda-header h2 { color: #ffffff !important; }
.agenda-header p { color: rgba(253, 232, 223, 0.8) !important; font-size: clamp(17px, 1.8vw, 22px) !important; }

.agenda-list {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.agenda-item {
    display: flex !important;
    gap: clamp(20px, 3vw, 32px) !important;
    padding: clamp(24px, 3vw, 40px) !important;
    border-radius: 24px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-bottom: 20px !important;
    transition: border-color 0.25s ease !important;
}

.agenda-item:hover { border-color: rgba(245, 131, 81, 0.5) !important; }

.agenda-time {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    color: #f58351 !important;
    min-width: 80px !important;
}

.agenda-item h4 { color: #ffffff !important; margin-bottom: 8px !important; }
.agenda-item p { color: rgba(255, 255, 255, 0.7) !important; font-size: clamp(15px, 1.5vw, 18px) !important; margin-bottom: 0 !important; }

@media (max-width: 768px) { .agenda-item { flex-direction: column !important; gap: 8px !important; } }

/* --- CTA Section --- */

.cta-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #FFF8F5 !important;
    width: 100% !important;
}

.cta-card {
    max-width: 1100px !important;
    margin: 0 auto !important;
    background-color: #112d47 !important;
    border-radius: 48px !important;
    padding: clamp(48px, 6vw, 112px) clamp(32px, 5vw, 80px) !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 40px 100px -20px rgba(17, 45, 71, 0.3) !important;
}

.cta-card h2 { color: #ffffff !important; font-size: clamp(32px, 5vw, 72px) !important; margin-bottom: 24px !important; }
.cta-card p { color: rgba(255, 255, 255, 0.8) !important; font-size: clamp(17px, 2vw, 24px) !important; max-width: 700px !important; margin: 0 auto 40px auto !important; }
.cta-card .cta-small { color: rgba(255, 255, 255, 0.5) !important; font-size: 15px !important; margin-top: 24px !important; }

/* --- Venue Section --- */

.venue-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 24px !important;
    background-color: #FFF8F5 !important;
    width: 100% !important;
}

.venue-card {
    max-width: 1440px !important;
    margin: 0 auto !important;
    background-color: #fde8df !important;
    border-radius: 48px !important;
    overflow: hidden !important;
    height: 500px !important;
    position: relative !important;
    border: 1px solid rgba(245, 131, 81, 0.1) !important;
}

.venue-card img.venue-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: grayscale(100%) contrast(1.1) !important;
    opacity: 0.4 !important;
}

.venue-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to right, #112d47 0%, rgba(17, 45, 71, 0.7) 50%, transparent 100%) !important;
    display: flex !important;
    align-items: center !important;
    padding: clamp(32px, 5vw, 96px) !important;
}

.venue-overlay .venue-badge {
    display: inline-block !important;
    background-color: #f58351 !important;
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 6px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 16px !important;
}

.venue-overlay h3 { color: #ffffff !important; font-size: clamp(28px, 4vw, 52px) !important; margin-bottom: 8px !important; }
.venue-overlay p { color: #666666 !important; font-style: italic !important; font-size: clamp(16px, 1.8vw, 22px) !important; }

@media (max-width: 768px) { .venue-card { height: 400px !important; border-radius: 24px !important; } }

/* --- Gallery --- */

.gallery-section {
    display: block !important;
    padding: 0 !important;
    background-color: #FFF8F5 !important;
    width: 100% !important;
}

.gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
}

.gallery-grid img { width: 100% !important; height: 350px !important; object-fit: cover !important; }

@media (max-width: 768px) { .gallery-grid { grid-template-columns: 1fr !important; } .gallery-grid img { height: 250px !important; } }

/* --- Hotel Section (new) --- */

.hotel-section {
    display: block !important;
    padding: clamp(60px, 8vw, 128px) 0 !important;
    background-color: #112d47 !important;
    width: 100% !important;
}

.hotel-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background-color: #0a1e33 !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
}

.hotel-image {
    position: relative !important;
    overflow: hidden !important;
}

.hotel-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    min-height: 400px !important;
}

.hotel-info {
    padding: clamp(32px, 5vw, 64px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

#masterContentArea .hotel-section .hotel-info h2,
.hotel-section .hotel-info h2 {
    color: #ffffff !important;
    font-size: clamp(28px, 3.5vw, 48px) !important;
    margin-bottom: 8px !important;
}

#masterContentArea .hotel-info .hotel-address,
.hotel-info .hotel-address {
    color: #f58351 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 16px !important;
}

#masterContentArea .hotel-info p,
.hotel-info p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: clamp(16px, 1.6vw, 19px) !important;
    margin-bottom: 24px !important;
}

.hotel-info .hero-badge {
    align-self: flex-start !important;
}

@media (max-width: 1024px) {
    .hotel-grid { grid-template-columns: 1fr !important; }
    .hotel-image img { min-height: 300px !important; }
}

/* --- Scroll Reveal --- */



/* --- Responsive tightening --- */

@media (max-width: 768px) {
    h1 { font-size: clamp(32px, 8vw, 48px) !important; }
    h2 { font-size: clamp(26px, 6vw, 36px) !important; }
    p { font-size: 16px !important; }
}


/* ===========================================
   NAV RESKIN (global)
   =========================================== */

.header {
    background-color: #112d47 !important;
    border-bottom: 3px solid #f58351 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

header#hd.header, .wrapper > header.header, #hd.header.navbar {
    border-bottom: 3px solid #f58351 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.header-bottom-container {
    background-color: #112d47 !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 8px 0 !important;
}

.header-bottom-container .header-container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.header-bottom-container .RadMenu,
.header-bottom-container .primary-navigation-area,
.header-bottom-container .ContentItemContainer,
.header-bottom-container .nav-primary {
    margin-left: auto !important;
    text-align: right !important;
}

.header-bottom-container .rmRootGroup { display: flex !important; justify-content: flex-end !important; }
.header-bottom-container .rmRootGroup .rmItem { margin-right: 4px !important; }
.header-bottom-container .rmRootGroup .rmLink,
.header-bottom-container .rmRootGroup .rmRootLink { padding: 10px 16px !important; }

/* Kill header borders */
.header h2, .header .PanelHead.Distinguish, .header .panel-heading.Distinguish, .header .TitleBarCaption { border-bottom: none !important; }
.nav-primary, .nav-primary .panel-heading, .nav-primary h2 { border: none !important; border-bottom: none !important; }

.header-top-container, .header-logo-container, .header-bottom-container,
.header-top-container *, .header-logo-container *, .header-bottom-container *,
.header .header-container, .header .nav-primary, .header .navbar-collapse,
.header .primary-navigation-area, .header .ContentItemContainer {
    border-top: none !important;
    border-bottom: none !important;
}

.header > div, .header > div > div { border: none !important; outline: none !important; box-shadow: none !important; }

/* Logo */
.header-logo-container { background-color: #112d47 !important; padding: 10px 0 18px 0 !important; border: none !important; }
.header-logo-container img { max-height: clamp(50px, 5.5vw, 85px) !important; width: auto !important; height: auto !important; }
.header-logo-container .WTZone { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }

/* Auxiliary Nav */
.header-top-container { background-color: #112d47 !important; border-bottom: none !important; padding: 4px 0 !important; }
.header-top-container .header-container { max-width: 100% !important; margin: 0 !important; padding: 0 24px !important; display: flex !important; justify-content: flex-end !important; }
.nav-auxiliary, .header-top-container .navbar-header { text-align: right !important; display: flex !important; justify-content: flex-end !important; margin-left: auto !important; }
.nav-auxiliary { background-color: transparent !important; }

.nav-auxiliary a, .nav-auxiliary a:visited, .header-top-container a, .header-top-container a:visited {
    color: #ffffff !important; text-decoration: none !important; font-size: clamp(10px, 0.85vw, 13px) !important; font-weight: 400 !important;
}

.nav-auxiliary a:hover, .nav-auxiliary a:focus, .header-top-container a:hover, .header-top-container a:focus {
    color: #f58351 !important; text-decoration: none !important;
}

/* Desktop RadMenu (all three skins) */
.RadMenu.RadMenu_London div.rmRootGroup, .RadMenu.RadMenu_London ul.rmRootGroup,
.RadMenu.RadMenu_Metro div.rmRootGroup, .RadMenu.RadMenu_Metro ul.rmRootGroup,
.RadMenu.RadMenu_MetroTouch div.rmRootGroup, .RadMenu.RadMenu_MetroTouch ul.rmRootGroup {
    background-color: #112d47 !important;
}

.RadMenu.RadMenu_London .rmRootLink, .RadMenu.RadMenu_Metro .rmRootLink, .RadMenu.RadMenu_MetroTouch .rmRootLink {
    border-color: #112d47 !important; color: #ffffff !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink,
.RadMenu.RadMenu_London .rmRootGroup .rmText, .header-bottom-container .rmLink,
.header-bottom-container .rmRootLink, .header-bottom-container .rmText, .header-bottom-container a,
.primary-navigation-area a, .primary-navigation-area .rmText,
.primary-navigation-area .rmLink, .primary-navigation-area .rmRootLink {
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(13px, 1.15vw, 18px) !important;
    letter-spacing: 0.03em !important;
    text-transform: none !important;
    text-decoration: none !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink:hover, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover,
.RadMenu.RadMenu_London .rmRootGroup .rmLink:focus, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:focus {
    color: #f58351 !important; background-color: transparent !important; border-color: #112d47 !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmLink:hover .rmText,
.RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover .rmText { color: #f58351 !important; }

/* Animated underline */
.header-bottom-container .rmRootGroup .rmLink, .header-bottom-container .rmRootGroup .rmRootLink {
    position: relative !important; transition: color 0.25s ease !important;
    padding: clamp(6px, 0.7vw, 10px) clamp(6px, 1vw, 18px) !important;
}

.header-bottom-container .rmRootGroup .rmLink::after, .header-bottom-container .rmRootGroup .rmRootLink::after {
    content: '' !important; position: absolute !important; bottom: 0 !important; left: 50% !important;
    transform: translateX(-50%) !important; width: 0 !important; height: 2px !important;
    background-color: #f58351 !important; transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.header-bottom-container .rmRootGroup .rmLink:hover::after,
.header-bottom-container .rmRootGroup .rmRootLink:hover::after { width: 70% !important; }

/* Selected state */
.RadMenu.RadMenu_London .rmRootGroup .rmSelected, .RadMenu.RadMenu_London .rmRootGroup .rmSelected:hover,
.RadMenu.RadMenu_London .rmRootGroup .rmFocused, .RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected,
.RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected:hover {
    background-color: #0a1e33 !important; border-color: #0a1e33 !important; color: #f58351 !important;
}

.RadMenu.RadMenu_London .rmRootGroup .rmSelected .rmText,
.RadMenu.RadMenu_London .rmRootGroup .rmLink.rmSelected .rmText { color: #f58351 !important; }

.header-bottom-container .rmRootGroup .rmSelected::after,
.header-bottom-container .rmRootGroup .rmLink.rmSelected::after { width: 70% !important; }

/* Metro/MetroTouch selected */
.RadMenu.RadMenu_Metro .rmGroup .rmFocused, .RadMenu.RadMenu_Metro .rmGroup .rmFocused:hover,
.RadMenu.RadMenu_Metro .rmGroup .rmSelected, .RadMenu.RadMenu_Metro .rmGroup .rmSelected:hover,
.RadMenu.RadMenu_Metro .rmGroup .rmLink.rmSelected, .RadMenu.RadMenu_Metro .rmGroup .rmLink.rmSelected:hover,
.RadMenu.RadMenu_Metro .rmGroup .rmExpanded, .RadMenu.RadMenu_Metro .rmGroup .rmExpanded:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmFocused, .RadMenu.RadMenu_MetroTouch .rmGroup .rmFocused:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmSelected, .RadMenu.RadMenu_MetroTouch .rmGroup .rmSelected:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmLink.rmSelected, .RadMenu.RadMenu_MetroTouch .rmGroup .rmLink.rmSelected:hover,
.RadMenu.RadMenu_MetroTouch .rmGroup .rmExpanded, .RadMenu.RadMenu_MetroTouch .rmGroup .rmExpanded:hover {
    border-color: #0a1e33 !important; background-color: #0a1e33 !important; color: #f58351 !important;
}

.RadMenu.RadMenu_London .rmDisabled, .RadMenu.RadMenu_London .rmDisabled:hover,
.RadMenu.RadMenu_Metro .rmDisabled, .RadMenu.RadMenu_Metro .rmDisabled:hover {
    border-color: #112d47 !important; color: rgba(255, 255, 255, 0.4) !important;
}

/* Dropdown submenus */
.RadMenu.RadMenu_London .rmGroup, .RadMenu.RadMenu_London .rmSlide {
    background-color: #ffffff !important; border: 1px solid #ddd !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.RadMenu.RadMenu_London .rmGroup .rmLink { color: #112d47 !important; }
.RadMenu.RadMenu_London .rmGroup .rmLink:hover, .RadMenu.RadMenu_London .rmGroup .rmLink:focus { background-color: #f58351 !important; color: #ffffff !important; }
.RadMenu.RadMenu_London .rmGroup .rmLink:hover .rmText, .RadMenu.RadMenu_London .rmGroup .rmLink:focus .rmText { color: #ffffff !important; }
.RadMenu.RadMenu_London .rmGroup .rmText { color: #112d47 !important; }

.header-top-container img, .nav-auxiliary img, .header-top-container .fa, .nav-auxiliary .fa {
    max-height: clamp(16px, 1.8vw, 28px) !important; width: auto !important; vertical-align: middle !important;
}

.nav-auxiliary .nav-aux-button .NavigationLink { background-color: #f58351 !important; border-color: #f58351 !important; }


/* ===========================================
   MOBILE NAV
   =========================================== */

@media (max-width: 991px) {
    header#hd.header, .header.navbar { position: relative !important; z-index: 1000 !important; }

    .header-top-container {
        position: relative !important; padding: 10px 20px !important; padding-right: 72px !important;
        display: flex !important; align-items: center !important; justify-content: flex-end !important; min-height: 52px !important;
    }

    .header-top-container .header-container {
        display: flex !important; align-items: center !important; justify-content: flex-end !important;
        gap: 12px !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
    }

    .header-top-container img, .nav-auxiliary img, .header-top-container .fa, .nav-auxiliary .fa {
        max-height: clamp(16px, 4vw, 24px) !important; width: auto !important;
    }

    .nav-auxiliary a, .header-top-container a { font-size: clamp(11px, 2.5vw, 13px) !important; }

    .header-logo-container, .header-logo-container.justify-content-start, .header-logo-container.d-flex {
        padding: clamp(8px, 2vw, 14px) 20px !important; text-align: center !important;
        display: flex !important; justify-content: center !important; width: 100% !important;
    }

    .header-logo-container .WTZone { display: flex !important; justify-content: center !important; width: 100% !important; }
    .header-logo-container img { max-height: clamp(55px, 14vw, 80px) !important; }

    .header-bottom-container { position: static !important; padding: 0 !important; height: 0 !important; overflow: visible !important; }

    .navbar-toggle, .navbar-toggle.collapsed {
        position: absolute !important; top: 50% !important; right: 16px !important; transform: translateY(-50%) !important;
        display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;
        width: 42px !important; height: 42px !important; margin: 0 !important; padding: 0 !important;
        background-color: transparent !important; border: 2px solid #f58351 !important; border-radius: 8px !important;
        cursor: pointer !important; transition: all 0.2s ease !important; float: none !important; z-index: 1001 !important;
    }

    .navbar-toggle:hover, .navbar-toggle:focus, .navbar-toggle.collapsed:hover, .navbar-toggle.collapsed:focus {
        background-color: rgba(245, 131, 81, 0.12) !important; border-color: #f58351 !important;
    }

    .navbar-toggle:not(.collapsed) { background-color: rgba(245, 131, 81, 0.18) !important; border-color: #f58351 !important; }

    .navbar-toggle .icon-bar {
        display: block !important; width: 22px !important; height: 2px !important;
        background-color: #ffffff !important; border-radius: 2px !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .navbar-toggle .icon-bar + .icon-bar { margin-top: 5px !important; }

    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(1) { transform: rotate(45deg) translate(5px, 5px) !important; background-color: #f58351 !important; }
    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
    .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px) !important; background-color: #f58351 !important; }

    .navbar-collapse {
        position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important;
        background-color: #0a1e33 !important; border-top: 3px solid #f58351 !important;
        z-index: 999 !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important; overflow: hidden !important;
    }

    .navbar-collapse, .navbar-collapse .header-container, .navbar-collapse .nav-primary,
    .navbar-collapse .primary-navigation-area, .navbar-collapse .ContentItemContainer,
    .navbar-collapse .RadMenu, .navbar-collapse .rmRootGroup, .navbar-collapse .WTZone, .navbar-collapse .clear-right {
        width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup, .header-bottom-container .rmRootGroup {
        display: flex !important; flex-direction: column !important; width: 100% !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmItem, .header-bottom-container .rmRootGroup .rmItem {
        margin: 0 !important; padding: 0 !important; width: 100% !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink,
    .header-bottom-container .rmRootGroup .rmLink, .header-bottom-container .rmRootGroup .rmRootLink {
        padding: 16px 24px !important; font-size: 17px !important; font-weight: 500 !important;
        letter-spacing: 0.02em !important; color: #ffffff !important; display: block !important; width: 100% !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        border-top: none !important; border-left: none !important; border-right: none !important;
        transition: background 0.15s ease, padding-left 0.15s ease !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink:hover, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover,
    .header-bottom-container .rmRootGroup .rmLink:hover, .header-bottom-container .rmRootGroup .rmRootLink:hover {
        background-color: rgba(245, 131, 81, 0.1) !important; padding-left: 32px !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink:hover .rmText,
    .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover .rmText { color: #f58351 !important; }

    .RadMenu.RadMenu_London .rmRootGroup .rmItem:last-child .rmLink,
    .RadMenu.RadMenu_London .rmRootGroup .rmItem:last-child .rmRootLink { border-bottom: none !important; }

    .header-bottom-container .rmRootGroup .rmLink::after,
    .header-bottom-container .rmRootGroup .rmRootLink::after { display: none !important; }

    .nav-auxiliary .nav-aux-button .NavigationLink { background-color: #f58351 !important; border-color: #f58351 !important; }
}

@media (max-width: 600px) {
    .header-top-container { padding: 8px 16px !important; padding-right: 62px !important; min-height: 46px !important; }
    .header-logo-container { padding: 8px 16px !important; }
    .navbar-toggle, .navbar-toggle.collapsed { right: 12px !important; width: 38px !important; height: 38px !important; }
    .navbar-toggle .icon-bar { width: 20px !important; }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink,
    .header-bottom-container .rmRootGroup .rmLink, .header-bottom-container .rmRootGroup .rmRootLink {
        padding: 15px 20px !important; font-size: 16px !important;
    }

    .RadMenu.RadMenu_London .rmRootGroup .rmLink:hover, .RadMenu.RadMenu_London .rmRootGroup .rmRootLink:hover,
    .header-bottom-container .rmRootGroup .rmLink:hover, .header-bottom-container .rmRootGroup .rmRootLink:hover {
        padding-left: 28px !important;
    }
}

/* RadWindow Modals */
.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTitlebar, .RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopLeft,
.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopRight, .RadWindow.RadWindow_Metro .rwTitlebar,
.RadWindow.RadWindow_Metro .rwTopLeft, .RadWindow.RadWindow_Metro .rwTopRight, .RadWindow.RadWindow_Metro .rwTopResize {
    background-color: #112d47 !important;
}

.RadWindow.RadWindow_Metro .rwControlButtons a { border-color: #112d47 !important; background-color: #112d47 !important; }

/* Cleanup */
.header .RadMenu.RadMenu_London .rmRootGroup, .header .RadMenu.RadMenu_Metro .rmRootGroup,
.header .RadMenu.RadMenu_MetroTouch .rmRootGroup { background-color: #112d47 !important; }


/* ===========================================
   iMIS BOOTSTRAP .btn (Add to Calendar, etc.)
   =========================================== */

#masterContentArea .btn,
.ContentItemContainer .btn {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    padding: 12px 28px !important;
    border: 2px solid rgba(17, 45, 71, 0.15) !important;
    color: #112d47 !important;
    background: transparent !important;
    transition: all 0.25s ease !important;
}

#masterContentArea .btn:hover,
.ContentItemContainer .btn:hover {
    border-color: #112d47 !important;
    background: #112d47 !important;
    color: #ffffff !important;
}


/* ===========================================
   ASPX CONTENT PAGES (interior pages)
   =========================================== */

#masterContentArea {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

#masterContentArea .body-container {
    padding: clamp(40px, 5vw, 80px) 0 !important;
}

/* Page title */
#masterContentArea .PageTitle {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(28px, 5vw, 47px) !important;
    font-weight: 900 !important;
    color: #112d47 !important;
    line-height: 1.1 !important;
    margin-bottom: 8px !important;
    padding-bottom: 16px !important;
    border-bottom: 3px solid #f58351 !important;
}

/* --- Panels --- */
#masterContentArea .panel {
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
    background: transparent !important;
}

#masterContentArea .panel-heading {
    background: transparent !important;
    border: none !important;
    padding: 0 0 8px 0 !important;
}

#masterContentArea .panel-heading.Distinguish {
    border-bottom: 2px solid #e8eaf0 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
}

#masterContentArea .panel-title {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(20px, 2.5vw, 28px) !important;
    font-weight: 900 !important;
    color: #112d47 !important;
    line-height: 1.2 !important;
}

#masterContentArea .panel-body-container,
#masterContentArea .panel-body {
    padding: 0 !important;
}

/* --- Mini Profile (logged in as) --- */
#masterContentArea .ProfilePic,
#masterContentArea .mini-profile-standard {
    max-width: 600px !important;
    padding: 24px !important;
    background: #FFF8F5 !important;
    border-radius: 16px !important;
    margin-bottom: 32px !important;
}

#masterContentArea .mini-profile-picture-section img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

#masterContentArea .mini-profile-name-section .SectionLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #112d47 !important;
}

#masterContentArea .mini-profile {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

#masterContentArea .mini-profile-name-section {
    flex: 1 !important;
}

#masterContentArea .mini-profile-picture-section {
    flex-shrink: 0 !important;
}

/* --- Event Display --- */
#masterContentArea .EventDisplay {
    margin-top: 16px !important;
}

#masterContentArea .EventSummary {
    margin-bottom: 24px !important;
}

#masterContentArea .EventSummary .Description {
    background: #FFF8F5 !important;
    border-left: 4px solid #f58351 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
}

#masterContentArea .EventSummary .Description a,
#masterContentArea .EventSummary .Description a:link,
#masterContentArea .EventSummary .Description a:visited {
    color: #f58351 !important;
    font-weight: 600 !important;
}

/* --- When / Where fields --- */
#masterContentArea .PanelField {
    margin-bottom: 12px !important;
    display: flex !important;
    gap: 12px !important;
}

#masterContentArea .PanelFieldLabel {
    min-width: 60px !important;
}

#masterContentArea .PanelFieldLabel .Label {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #112d47 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

#masterContentArea .PanelFieldValue {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.5 !important;
}

/* --- Registration Card --- */
#masterContentArea .RegistrationArea {
    background: #FFF8F5 !important;
    border: 2px solid #fde8df !important;
    border-radius: 16px !important;
    padding: 32px !important;
    margin-top: 24px !important;
}

#masterContentArea .RegistrationArea .h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #112d47 !important;
}

/* --- Validation / Errors --- */
#masterContentArea .AsiValidation,
#masterContentArea .ValidationError {
    background: #fde8df !important;
    border: 1px solid #f58351 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    color: #112d47 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    margin-top: 12px !important;
}

/* --- Event title --- */
#masterContentArea .Section h2.panel-title {
    font-size: clamp(24px, 3.5vw, 34px) !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 2px solid #e8eaf0 !important;
}

/* --- Contact Location Area --- */
#masterContentArea .ContactLocationArea .PanelBlock {
    padding: 16px 0 !important;
}

/* --- Dropdown menus --- */
#masterContentArea .dropdown-menu {
    border: 1px solid #e8eaf0 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

#masterContentArea .dropdown-menu li a {
    padding: 10px 20px !important;
    font-size: 15px !important;
    color: #112d47 !important;
}

#masterContentArea .dropdown-menu li a:hover {
    background: #f58351 !important;
    color: #ffffff !important;
}

/* --- Section headings in content blocks --- */
#masterContentArea .iMIS-WebPart h3 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: clamp(18px, 2.5vw, 24px) !important;
    font-weight: 900 !important;
    color: #112d47 !important;
    margin-top: 28px !important;
    margin-bottom: 12px !important;
}

/* --- iMIS headings --- */
#masterContentArea h2,
#masterContentArea .PanelTitle {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    color: #112d47 !important;
}

#masterContentArea h3,
#masterContentArea .SectionTitle {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    color: #112d47 !important;
}

/* --- Web part spacing --- */
#masterContentArea .iMIS-WebPart {
    margin-bottom: 16px !important;
}

#masterContentArea .iMIS-WebPart + .iMIS-WebPart {
    padding-top: 16px !important;
    border-top: 1px solid #e8eaf0 !important;
}

/* --- Forms --- */
#masterContentArea input[type="text"],
#masterContentArea input[type="email"],
#masterContentArea input[type="tel"],
#masterContentArea select,
#masterContentArea textarea {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    padding: 10px 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    transition: border-color 0.2s ease !important;
    color: #333333 !important;
}

#masterContentArea input[type="text"]:focus,
#masterContentArea input[type="email"]:focus,
#masterContentArea input[type="tel"]:focus,
#masterContentArea select:focus,
#masterContentArea textarea:focus {
    border-color: #f58351 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(245, 131, 81, 0.15) !important;
}

/* --- Tables --- */
#masterContentArea table {
    width: 100% !important;
    border-collapse: collapse !important;
}

#masterContentArea th {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    background-color: #112d47 !important;
    padding: 12px 16px !important;
    text-align: left !important;
}

#masterContentArea td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8eaf0 !important;
    color: #333333 !important;
}

#masterContentArea tr:hover td {
    background-color: #FFF8F5 !important;
}

/* --- Card styling --- */
#masterContentArea .card {
    background-color: #FFF8F5 !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 32px !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    #masterContentArea {
        padding: 0 16px !important;
    }

    #masterContentArea .body-container {
        padding: 32px 0 !important;
    }

    #masterContentArea .PageTitle {
        padding-bottom: 16px !important;
    }
}


/* ===========================================
   REGISTRATION PAGE FIXES
   =========================================== */

/* --- Program Day Header (kill teal, use navy) --- */
#masterContentArea .PanelHead.Distinguish.Collapsible,
#masterContentArea .StandardPanel .PanelHead {
    background-color: #112d47 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
}

#masterContentArea .PanelHead.Distinguish.Collapsible .PanelTitle,
#masterContentArea .StandardPanel .PanelHead .PanelTitle {
    color: #ffffff !important;
    font-size: clamp(18px, 2vw, 24px) !important;
}

/* --- Registration card: kill float, full width --- */
#masterContentArea .FloatArea-Wrapper {
    float: none !important;
    width: 100% !important;
    clear: both !important;
}

#masterContentArea .RegistrationArea.FloatArea {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 32px !important;
}

#masterContentArea .EventDetails.row {
    display: block !important;
}

#masterContentArea .ContactLocationArea {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* --- Registration card inner layout --- */
#masterContentArea .RegistrationArea-currentUser {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    align-items: flex-start !important;
}

#masterContentArea .RegistrationArea-currentUser > div:first-child {
    flex: 1 !important;
    min-width: 200px !important;
}

#masterContentArea .RegistrationArea-status {
    flex-shrink: 0 !important;
}

#masterContentArea .RegistrationArea .card-body {
    padding: 16px 0 !important;
    background: transparent !important;
}

/* --- Registration heading --- */
#masterContentArea .RegistrationArea .h4,
#masterContentArea .RegistrationArea .p-2.h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #112d47 !important;
    margin-bottom: 16px !important;
}

/* --- Program Item layout fix (overlapping text) --- */
#masterContentArea .ProgramItemSummary {
    display: block !important;
    overflow: hidden !important;
}

#masterContentArea .DescriptionColumn {
    float: none !important;
    width: 100% !important;
    display: block !important;
}

#masterContentArea .WhenColumn {
    display: none !important;
}

#masterContentArea .IteneraryColumn {
    float: none !important;
    width: 100% !important;
    display: block !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #e8eaf0 !important;
}

#masterContentArea .ListItemTitle {
    margin-bottom: 8px !important;
}

#masterContentArea .ListItemTitle a {
    color: #f58351 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

/* --- Program grid: remove table borders, clean up --- */
#masterContentArea .RadGrid.RadGrid_MetroTouch {
    border: none !important;
}

#masterContentArea .RadGrid .rgMasterTable {
    border-collapse: collapse !important;
}

#masterContentArea .RadGrid .rgRow td {
    border: none !important;
    padding: 16px 0 !important;
}

/* --- Buttons: Proceed to Checkout / Check Out as PrimaryButton --- */
#masterContentArea .PrimaryButton.LargeButton.TextButton,
#masterContentArea .PrimaryButton.TextButton {
    display: inline-block !important;
    background-color: #f58351 !important;
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    padding: 16px 40px !important;
    border-radius: 12px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 8px 24px rgba(245, 131, 81, 0.3) !important;
}

#masterContentArea .PrimaryButton.LargeButton.TextButton:hover,
#masterContentArea .PrimaryButton.TextButton:hover {
    background-color: #e07040 !important;
    color: #ffffff !important;
}

/* --- Secondary / Small buttons --- */
#masterContentArea .SecondaryButton.TextButton,
#masterContentArea .SmallButton.TextButton {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    padding: 10px 24px !important;
    border: 2px solid rgba(17, 45, 71, 0.15) !important;
    color: #112d47 !important;
    background: transparent !important;
    font-size: 15px !important;
}

#masterContentArea .SecondaryButton.TextButton:hover,
#masterContentArea .SmallButton.TextButton:hover {
    border-color: #112d47 !important;
}

/* --- Danger button (Remove) --- */
#masterContentArea .DangerButton.TextButton {
    border-color: rgba(220, 53, 69, 0.3) !important;
    color: #dc3545 !important;
}

#masterContentArea .DangerButton.TextButton:hover {
    border-color: #dc3545 !important;
    background: #dc3545 !important;
    color: #ffffff !important;
}

/* --- Nav buttons: kill white background --- */
.header-bottom-container .rmRootGroup .rmLink,
.header-bottom-container .rmRootGroup .rmRootLink {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* --- Admission table --- */
#masterContentArea .PricingData {
    margin-top: 32px !important;
    padding: 0 !important;
}

#masterContentArea .PricingData .PanelTitle {
    font-size: clamp(22px, 3vw, 32px) !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 2px solid #e8eaf0 !important;
}

/* --- Cancellation Policy --- */
#masterContentArea h3 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 900 !important;
    color: #112d47 !important;
    font-size: clamp(18px, 2.5vw, 24px) !important;
    margin-bottom: 12px !important;
}

/* --- PanelBody overflow fix --- */
#masterContentArea .PanelBody {
    overflow: visible !important;
    max-height: none !important;
}

/* ------------------------------------------------------ */
/* Query Template cards*/
/* ------------------------------------------------------ */

.card {
   background-color: #f7f9fc;
   border: none;
   border-radius: 30px;
}

.card img {
	width: 150px;
	border-radius: 120px;
}

.QueryTemplateItem.card {
    width: 250px;
}

.eventcontact .QueryTemplateItem.card {
    width: 100%;
}

.sponsor img {
    border-radius: 0px;
    width: 100% !important;
    max-width: 200px !important;
    height: auto !important;
}

.sponsor .card {
   background-color: #edf1f8;
   border: none;
   padding: 25px;
   border-radius: 30px;
}

#masterContentArea .sponsor .card {
    padding: 20px !important;
    background-color: #edf1f8 !important;
}

.sponsor .QueryTemplateItem.card {
    width: 100%;
}

/* Sponsor grid mobile fix */
.sponsor .row {
    display: flex !important;
    flex-wrap: wrap !important;
}

@media (max-width: 768px) {
    .sponsor .row > [class*="col-"],
    .sponsor .row > [class*="col "],
    .sponsor .row > .col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    #masterContentArea .sponsor .card,
    .sponsor .card {
        padding: 10px !important;
        border-radius: 16px !important;
        margin-bottom: 8px !important;
    }

    #masterContentArea .sponsor .card-body,
    .sponsor .card-body {
        padding: 4px !important;
    }

    .sponsor img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
    }
}

@media (max-width: 480px) {
    .sponsor .row > [class*="col-"],
    .sponsor .row > [class*="col "],
    .sponsor .row > .col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    #masterContentArea .sponsor .card,
    .sponsor .card {
        padding: 8px !important;
    }
}

/*menu*/
.RadMenu_Default .rmRootGroup {
	background-color: #112d47!important;
	background-image: none!important;
}

.RadMenu_Default {
	background-image: none!important;
}

.RadMenu_Default a.rmLink:hover, .RadMenu_Default a.rmFocused, .RadMenu_Default a.rmSelected {
    background-color: #112d47!important;
}