:root{
    --bg:#050706;
    --bg-2:#0b100c;
    --panel:#111612;
    --panel-2:#171d18;
    --line:rgba(255,255,255,.12);
    --line-strong:rgba(255,255,255,.2);
    --text:#f3f7f2;
    --muted:#a9b3aa;
    --soft:#f4f6f1;
    --soft-2:#e9eee5;
    --dark:#080b09;
    --green:#7ac943;
    --green-2:#a5ff4f;
    --gold:#d8b45a;
    --danger:#ff5f5f;
    --success:#7ac943;
    --shadow:0 28px 80px rgba(0,0,0,.28);
    --radius:22px;
    --radius-sm:14px;
    --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height:1.6;
    overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--container), calc(100% - 40px));margin-inline:auto}

.gtc-topbar{
    position:fixed;
    inset:0 0 auto 0;
    z-index:1000;
    background:rgba(5,7,6,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
}
.topline{
    background:#000;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#cfd8cf;
    font-size:12px;
}
.topline-inner{
    height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.topline-links{display:flex;align-items:center;gap:20px}
.topline-links a{color:#b8c2b8;transition:.2s ease}
.topline-links a:hover{color:var(--green-2)}
.nav{
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:255px}
.brand-mark{
    width:52px;height:52px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--green),#2d6f1f);
    color:#081009;
    font-weight:900;
    letter-spacing:-1px;
    border-radius:10px;
    box-shadow:0 0 30px rgba(122,201,67,.35);
}
.brand strong{display:block;font-size:15px;line-height:1.15;letter-spacing:.01em}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px;text-transform:uppercase;letter-spacing:.12em}
.brand-logo{width:25px; height:auto; object-fit:contain; flex-shrink:0;}
#navLinks{display:flex;align-items:center;gap:22px;font-size:15px;font-weight:650;color:#dce4dc}
#navLinks a:not(.nav-cta){position: relative; padding: 4px 0; line-height: 1; transition: .2s ease;}
#navLinks a:not(.nav-cta)::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: .2s ease;}
#navLinks a:hover{color:#fff}
#navLinks a:hover::after{transform:scaleX(1)}
.nav-cta{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:42px;padding:0 18px;
    background:var(--green);color:#071007!important;
    border-radius:2px;font-weight:900;
    box-shadow:0 12px 34px rgba(122,201,67,.25);
    transition:.2s ease;
}
.nav-cta:hover{background:var(--green-2);transform:translateY(-1px)}
.menu-btn{display:none;border:0;background:#1b211c;color:#fff;font-size:26px;border-radius:10px;padding:6px 10px;cursor:pointer}

.hero{
    position:relative;
    min-height:790px;
    padding:190px 0 80px;
    overflow:hidden;
    isolation:isolate;
}
.gtc-hero{
    background:#f7fafb;
}
.grid-overlay{
    position:absolute;inset:0;z-index:-2;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.8), transparent 92%);
}
.hero::after{
    content:"";position:absolute;inset:auto -20% -45% -20%;height:52%;z-index:-1;
    background:linear-gradient(to top,var(--bg),transparent);
}
.hero-glow{position:absolute;border-radius:999px;filter:blur(20px);opacity:.75;z-index:-1}
.glow-one{width:420px;height:420px;right:7%;top:18%;background:rgba(122,201,67,.12)}
.glow-two{width:320px;height:320px;left:8%;bottom:10%;background:rgba(216,180,90,.12)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:56px;align-items:center}
.hero-title-logo{display:block;width:100%;max-width:680px;height:auto;object-fit:contain;margin:0 0 18px 0;}
.hero-copy .theme{max-width:720px;line-height:1.55;}
    @media (max-width: 768px) {
        .hero-title-logo {max-width: 100%;width: 100%;margin-bottom: 14px;}
        .hero-copy .theme {font-size: 1rem;line-height: 1.5;}}

    @media (max-width: 480px) {.brand-logo {width: 24px;}
        .hero-title-logo {max-width: 95%;}
        .hero-copy .theme {font-size: 0.95rem;}}

.eyebrow,.badge{
    display:inline-flex;align-items:center;gap:10px;
    width:max-content;max-width:100%;
    color:var(--green-2);
    text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.18em;
    margin:0 0 20px;
}
.eyebrow::before,.badge::before{content:"";width:10px;height:10px;background:var(--green);box-shadow:0 0 22px var(--green);display:inline-block}
.hero h1{
    margin:0;
    font-size:clamp(48px,7vw,96px);
    line-height:.94;
    letter-spacing:-.075em;
    max-width:840px;
}
.theme{
    font-size:clamp(19px,2.25vw,28px);
    line-height:1.32;
    color:#dfe8dc;
    max-width:790px;
    margin:24px 0 0;
}
.hero-meta-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
.hero-meta-row span{
    color:#edf6ed;
    background:rgba(255,255,255,.08);
    border:1px solid var(--line);
    padding:10px 13px;
    font-size:13px;
    font-weight:750;
}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:34px 0 0}
.btn{
    min-height:50px;
    display:inline-flex;align-items:center;justify-content:center;
    padding:0 22px;
    border-radius:2px;
    border:1px solid transparent;
    font-weight:900;
    letter-spacing:.01em;
    transition:.2s ease;
    cursor:pointer;
}
.btn-primary{background:var(--green);color:#071007;box-shadow:0 18px 38px rgba(122,201,67,.26)}
.btn-primary:hover{background:var(--green-2);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.04);border-color:var(--line-strong);color:#fff}
.btn-ghost:hover{border-color:var(--green);color:var(--green-2);transform:translateY(-2px)}
.btn-outline{background:transparent;border-color:#2d382f;color:#111;min-height:48px}
.btn-outline:hover{border-color:var(--green);background:#e9f8df;color:#111}
.hero-stage{display:grid;gap:18px}
.stage-card,.countdown-card{
    background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.045));
    border:1px solid var(--line-strong);
    box-shadow:var(--shadow);
    backdrop-filter:blur(20px);
}
.stage-card{padding:34px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.stage-card::before{
    content:"";position:absolute;inset:0;
    background:
        linear-gradient(135deg, transparent 0 48%, rgba(122,201,67,.22) 48% 49%, transparent 49% 100%),
        radial-gradient(circle at 86% 16%, rgba(122,201,67,.3), transparent 28%);
    opacity:.85;
}
.stage-card > *{position:relative}
.stage-kicker{color:var(--green-2);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin-bottom:12px}
.stage-card h2{font-size:32px;line-height:1.05;letter-spacing:-.04em;margin:0 0 16px}
.stage-card p{color:#cbd5cc;margin:0;font-size:15px}
/* Hero Satellite Program Visuals - Fit Content Glass Card */
.stage-satellite-card {
    min-height: auto;
    justify-content: flex-start;
    gap: 8px;
    padding: 28px 34px 26px;
}

.stage-satellite-card .stage-kicker {
    display: block;
    width: 100%;
    text-align: center;
    font-size: clamp(16px, 1.45vw, 21px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-weight: 950;
    margin: 0 0 4px;
}

.stage-program-visuals {
    position: relative;
    z-index: 2;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: start;
    margin: 2px 0 4px;
}

.stage-program-item {
    margin: 0;
    padding: 0;
    min-width: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.stage-program-link {
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 12px;
    transition: transform 0.22s ease, filter 0.22s ease;
}

.stage-program-link:hover {
    transform: translateY(-3px) scale(1.03);
    filter: brightness(1.05);
}

.stage-program-item img {
    width: 100%;
    max-width: 108px;
    height: 64px;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(18, 49, 61, 0.12));
}

.stage-program-date {
    width: 100%;
    max-width: 108px;
    margin: 4px auto 0;
    padding: 5px 6px;
    text-align: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(36, 99, 116, 0.12);
    box-shadow: 0 8px 18px rgba(61, 130, 146, 0.08);
}

.stage-program-date span {
    display: block;
    color: #268ba0;
    font-size: 0.5rem;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.stage-program-date strong {
    display: block;
    margin-top: 3px;
    color: #12313d;
    font-size: 0.58rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.stage-satellite-bottom {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 275px);
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 8px;
}

.stage-satellite-bottom p {
    max-width: 275px;
    margin: 0;
    color: #36525c;
    font-size: 14px;
    line-height: 1.42;
    text-align: left;
    letter-spacing: -0.01em;
}

.stage-hrdc-claimable {
    width: 66px;
    height: 66px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(36, 99, 116, 0.12);
    box-shadow: 0 8px 18px rgba(61, 130, 146, 0.10);
}

.stage-hrdc-claimable img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}
.countdown-card{padding:24px;background:rgba(8,12,9,.78)}
.panel-head{display:flex;align-items:center;gap:10px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:#e8f2e6;margin-bottom:18px}
.panel-head span{width:10px;height:10px;background:var(--green);box-shadow:0 0 18px var(--green)}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.countdown div{background:#0f160f;border:1px solid var(--line);padding:14px 10px;text-align:center}
.countdown strong{display:block;font-size:26px;line-height:1;color:#fff}
.countdown span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:7px}

/* =========================================================
   SBEC 2027 - VIP Strategic Slider
   Static if 1 image, auto slide if 2+ images
   ========================================================= */

.strategic-slider-section {
    padding: 28px 0 0;
    background: #ffffff;
    color: #12313d;
}

.strategic-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 2480 / 1000;
    overflow: hidden;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 22px 64px rgba(61, 130, 146, 0.13);
}

.strategic-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(18, 49, 61, 0.02) 35%, rgba(18, 49, 61, 0.12) 100%),
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.10), transparent 34%);
}

.strategic-slider-track {
    width: 100%;
    height: 100%;
    display: flex;
    transform: translateX(0);
    transition: transform 0.7s ease-in-out;
}

/* Kalau 1 image sahaja */
.strategic-slider.is-static .strategic-slider-track {
    animation: none;
    transform: translateX(0);
}

.strategic-slider.is-static .strategic-slide {
    flex: 0 0 100%;
    width: 100%;
}

/* Kalau 2 image ke atas */
.strategic-slider.is-slider .strategic-slide {
    flex: 0 0 100%;
    width: 100%;
}

.strategic-slide {
    height: 100%;
    margin: 0;
    background: #ffffff;
}

.strategic-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1100px) {
    .strategic-slider {
        aspect-ratio: 2480 / 1000;
        border-radius: 26px;
    }
}

@media (max-width: 700px) {
    .strategic-slider-section {
        padding: 22px 0 0;
    }

    .strategic-slider {
        aspect-ratio: 4 / 3;
        min-height: 240px;
        border-radius: 22px;
    }
}

@media (max-width: 480px) {
    .strategic-slider {
        min-height: 220px;
    }
}

.section{padding:104px 0;background:#fff;color:#121812}
.section.soft,.insights-section{background:var(--soft)}
.overview{background:#fff}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.section-label{
    margin:0 0 14px;
    color:#497a2a;
    font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.18em;
}
.light-label,.section-head.light .section-label{color:var(--green-2)}
h2{font-size:clamp(34px,4.5vw,58px);line-height:1.02;letter-spacing:-.055em;margin:0;color:inherit}
h3{line-height:1.15;letter-spacing:-.025em}

/* =========================================================
   SBEC 2027 - Overview Image Slider
   ========================================================= */

.overview-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 22px 64px rgba(61, 130, 146, 0.13);
}

.overview-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(18, 49, 61, 0.02) 35%, rgba(18, 49, 61, 0.22) 100%),
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.14), transparent 34%);
}

.overview-slider-track {
    width: 1400%;
    height: 100%;
    display: flex;
    animation: overviewSlide 42s infinite ease-in-out;
}

.overview-slide {
    width: 7.142857%;
    height: 100%;
    margin: 0;
    flex: 0 0 7.142857%;
    background: #ffffff;
}

.overview-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.overview-slider-dots {
    position: absolute;
    left: 24px;
    bottom: 22px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.overview-slider-dots span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 0 0 1px rgba(18, 49, 61, 0.08);
}

.overview-slider-dots span:nth-child(1) {
    animation: overviewDotOne 15s infinite ease-in-out;
}

.overview-slider-dots span:nth-child(2) {
    animation: overviewDotTwo 15s infinite ease-in-out;
}

.overview-slider-dots span:nth-child(3) {
    animation: overviewDotThree 15s infinite ease-in-out;
}

.overview-slider-dots span:nth-child(4) {
    animation: overviewDotFour 15s infinite ease-in-out;
}

.overview-slider-dots span:nth-child(5) {
    animation: overviewDotFive 15s infinite ease-in-out;
}

@keyframes overviewDotOne {
    0%, 16%, 100% { width: 24px; background: #9bd86f; }
    20%, 96% { width: 8px; background: rgba(255, 255, 255, 0.72); }
}

@keyframes overviewDotTwo {
    0%, 16%, 40%, 100% { width: 8px; background: rgba(255, 255, 255, 0.72); }
    20%, 36% { width: 24px; background: #9bd86f; }
}

@keyframes overviewDotThree {
    0%, 36%, 60%, 100% { width: 8px; background: rgba(255, 255, 255, 0.72); }
    40%, 56% { width: 24px; background: #9bd86f; }
}

@keyframes overviewDotFour {
    0%, 56%, 80%, 100% { width: 8px; background: rgba(255, 255, 255, 0.72); }
    60%, 76% { width: 24px; background: #9bd86f; }
}

@keyframes overviewDotFive {
    0%, 76%, 100% { width: 8px; background: rgba(255, 255, 255, 0.72); }
    80%, 96% { width: 24px; background: #9bd86f; }
}

@keyframes overviewSlide {
    0%, 5% {
        transform: translateX(0);
    }

    7.14%, 12.14% {
        transform: translateX(-7.142857%);
    }

    14.28%, 19.28% {
        transform: translateX(-14.285714%);
    }

    21.42%, 26.42% {
        transform: translateX(-21.428571%);
    }

    28.56%, 33.56% {
        transform: translateX(-28.571428%);
    }

    35.70%, 40.70% {
        transform: translateX(-35.714285%);
    }

    42.84%, 47.84% {
        transform: translateX(-42.857142%);
    }

    49.98%, 54.98% {
        transform: translateX(-50%);
    }

    57.12%, 62.12% {
        transform: translateX(-57.142856%);
    }

    64.26%, 69.26% {
        transform: translateX(-64.285713%);
    }

    71.40%, 76.40% {
        transform: translateX(-71.428570%);
    }

    78.54%, 83.54% {
        transform: translateX(-78.571427%);
    }

    85.68%, 90.68% {
        transform: translateX(-85.714284%);
    }

    92.82%, 97.82% {
        transform: translateX(-92.857141%);
    }

    100% {
        transform: translateX(0);
    }
}

/* Responsive */
@media (max-width: 1100px) {
    .overview-slider {
        aspect-ratio: 16 / 9;
        border-radius: 26px;
    }
}

@media (max-width: 700px) {
    .overview-slider {
        aspect-ratio: 4 / 3;
        border-radius: 22px;
    }

    .overview-slider-dots {
        left: 18px;
        bottom: 18px;
    }
}

.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px}
.audience-card,.gain-grid>div,.insight-grid article{background:#fff;border:1px solid #dfe6dc;box-shadow:0 14px 45px rgba(10,20,10,.06);padding:28px;transition:.25s ease;}
.audience-card:hover,.insight-grid article:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(10,20,10,.12);border-color:#bfd8b0;}
.audience-card {min-height: 190px;padding: 26px 28px;}
.audience-card-head {display: flex;align-items: center;gap: 14px;margin-bottom: 18px;}
.audience-card-head span {width: 42px;height: 42px;flex: 0 0 42px;display: inline-flex;align-items: center;justify-content: center;border-radius: 14px;background: linear-gradient(135deg, #e8f3f8, #dff2d0);color: #268ba0;font-size: 0.78rem;font-weight: 950;letter-spacing: 0.06em;}

.audience-card-head h3 {
    margin: 0;
    color: #12313d;
    font-size: 1.28rem;
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -0.03em;
}

.audience-card p,
.insight-grid p {
    margin: 0;
    color: #5b665c;
}

.audience-card p {
    color: #536975;
    font-size: 0.98rem;
    line-height: 1.65;
}

@media (max-width: 540px) {
    .audience-card {
        min-height: auto;
        padding: 24px 22px;
    }

    .audience-card-head {
        gap: 12px;
        margin-bottom: 14px;
    }

    .audience-card-head span {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        border-radius: 12px;
        font-size: 0.72rem;
    }

    .audience-card-head h3 {
        font-size: 1.12rem;
    }

    .audience-card p {
        font-size: 0.92rem;
    }
}

.section-head{margin-bottom:44px;max-width:820px}
.row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:none}

.speakers-section{background:#fff}
.text-link{font-weight:900;color:#386e1f}
.speaker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.speaker-card{background:#101510;color:#fff;border:1px solid rgba(255,255,255,.12);min-height:420px;display:flex;flex-direction:column;overflow:hidden;transition:.25s ease}
.speaker-card:hover{transform:translateY(-5px);box-shadow:0 30px 80px rgba(0,0,0,.2)}
.speaker-photo{min-height:210px;display:grid;place-items:center;background:linear-gradient(135deg,#1c241d,#31412b);font-size:88px;font-weight:950;color:rgba(255,255,255,.72);position:relative}
.speaker-photo::after{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--green)}
.speaker-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.speaker-body h3{font-size:23px;margin:0;color:#fff}
.speaker-body p{margin:0;color:#d7dfd5;font-weight:800}
.speaker-body span{color:var(--green-2);font-size:13px;font-weight:900}
.speaker-body small{margin-top:auto;color:#aeb9ae;line-height:1.5}

.insight-grid span{width:max-content;background:#111711;color:var(--green-2);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.14em;padding:7px 10px;margin-bottom:34px}
.insight-grid h3{font-size:25px;margin:0 0 10px;color:#121812}
.insight-grid a{margin-top:auto;color:#386e1f;font-weight:900;padding-top:22px}

.social-proof{background:#111711;color:#fff}
.proof-grid{display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:center}
.proof-grid h2{color:#fff}
.proof-grid p:last-child{font-size:20px;color:#cbd5cc;margin:24px 0 0}
.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.proof-stats div{background:#172018;border:1px solid var(--line);padding:26px;text-align:center}
.proof-stats strong{display:block;font-size:42px;line-height:1;color:var(--green-2);letter-spacing:-.05em}
.proof-stats span{display:block;color:#b9c3b9;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:8px;font-weight:900}

/* =========================================================
   SBEC 2027 - Premium Conference Highlights Section
   ========================================================= */

.sbec-highlight-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.28), transparent 30%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.22), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 46%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sbec-highlight-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-highlight-section .container {
    position: relative;
    z-index: 2;
}

.sbec-highlight-top {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.85fr);
    gap: 34px;
    align-items: center;
    margin-bottom: 28px;
}

.sbec-highlight-head {
    margin-bottom: 0;
}

.sbec-highlight-head h2 {
    max-width: 620px;
    color: #12313d;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -0.055em;
}

.sbec-highlight-image-wrap {
    position: relative;
    min-height: 290px;
    max-height: 320px;
    border-radius: 26px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 24px 62px rgba(61, 130, 146, 0.15);
}

.sbec-highlight-image {
    width: 100%;
    height: 100%;
    min-height: 290px;
    max-height: 320px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.sbec-highlight-image-wrap:hover .sbec-highlight-image {
    transform: scale(1.04);
}

.sbec-highlight-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(18, 49, 61, 0.02) 20%, rgba(18, 49, 61, 0.58) 100%),
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.20), transparent 32%);
    pointer-events: none;
}

.sbec-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sbec-highlight-card {
    position: relative;
    min-height: 150px;
    padding: 20px 22px 18px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(36, 99, 116, 0.13);
    box-shadow: 0 18px 54px rgba(61, 130, 146, 0.10);
    transition: all 0.25s ease;

    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 9px;
    align-content: start;
}

.sbec-highlight-card::before {
    content: "";
    position: absolute;
    top: -70px;
    right: -70px;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.38);
}

.sbec-highlight-card::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: rgba(255, 255, 255, 0.58);
}

.sbec-highlight-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 74px rgba(61, 130, 146, 0.18);
}

.sbec-highlight-card span {
    position: relative;
    z-index: 2;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
    color: #12313d;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sbec-highlight-card h3 {
    position: relative;
    z-index: 2;
    margin: 0;
    align-self: center;
    color: #12313d;
    font-size: 1.05rem;
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -0.03em;
}

.sbec-highlight-card p {
    position: relative;
    z-index: 2;
    grid-column: 1 / -1;
    margin: 0;
    color: #36525c;
    font-size: 0.85rem;
    line-height: 1.45;
}

.sbec-highlight-card.card-blue {
    background: linear-gradient(135deg, #d9ebf9 0%, #f7fbff 100%);
}

.sbec-highlight-card.card-green {
    background: linear-gradient(135deg, #dff2b8 0%, #f6fbef 100%);
}

.sbec-highlight-card.card-teal {
    background: linear-gradient(135deg, #d8ece3 0%, #f7fbfa 100%);
}

.sbec-highlight-card.card-gold {
    background: linear-gradient(135deg, rgba(216, 180, 90, 0.30) 0%, #ffffff 100%);
}

/* Responsive */
@media (max-width: 1100px) {
    .sbec-highlight-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .sbec-highlight-head h2 {
        max-width: 850px;
    }

    .sbec-highlight-image-wrap,
    .sbec-highlight-image {
        min-height: 300px;
        max-height: none;
    }

    .sbec-highlight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .sbec-highlight-grid {
        grid-template-columns: 1fr;
    }

    .sbec-highlight-image-wrap,
    .sbec-highlight-image {
        min-height: 240px;
        border-radius: 22px;
    }

    .sbec-highlight-card {
        min-height: auto;
        padding: 18px 20px;
        border-radius: 22px;
    }
    
    .sbec-highlight-card span {
        width: 38px;
        height: 38px;
    }
    
    .sbec-highlight-card h3 {
        font-size: 1.02rem;
    }
    
    .sbec-highlight-card p {
        font-size: 0.84rem;
        line-height: 1.42;
    }
}

/* =========================================================
   SBEC 2027 - Programme Section
   ========================================================= */

.section.programme-section {
    position: relative;
    padding: 86px 0;
    background:
        radial-gradient(circle at top right, rgba(159, 210, 242, 0.20), transparent 30%),
        radial-gradient(circle at bottom left, rgba(155, 216, 111, 0.15), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 48%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
    scroll-margin-top: 120px;
}

.section.programme-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.03) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.section.programme-section .container {
    position: relative;
    z-index: 2;
}

.programme-section .section-head {
    max-width: 820px;
    margin-bottom: 28px;
}

.programme-section .section-head h2 {
    max-width: 720px;
    color: #12313d;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -0.055em;
}

/* Layout */
.programme-section .programme-layout {
    display: grid;
    grid-template-columns: 245px 1fr;
    gap: 18px;
    align-items: start;
}

/* Track Panel */
.programme-section .track-panel {
    position: sticky;
    top: 150px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 14px 40px rgba(61, 130, 146, 0.09);
}

.programme-section .track-panel p {
    margin: 0 0 12px;
    color: #268ba0;
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

/* Track Buttons */
.programme-section .track-tab {
    width: 100%;
    min-height: 38px;
    margin-top: 7px;
    padding: 0 12px;
    border-radius: 999px;
    text-align: left;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(36, 99, 116, 0.14);
    color: #31545f;
    font-size: 0.78rem;
    font-weight: 850;
    transition: all 0.2s ease;
}

.programme-section .track-tab:hover,
.programme-section .track-tab.active {
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    color: #12313d;
    border-color: rgba(155, 216, 111, 0.70);
    transform: translateY(-1px);
}

/* Compact Timeline */
.programme-section .timeline {
    display: grid;
    gap: 10px;
}

/* Track Date Display */
.programme-section .programme-date-band {
    display: none;
    position: relative;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 4px;
    padding: 18px 22px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.94), rgba(247,251,252,0.86));
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 16px 42px rgba(61, 130, 146, 0.10);
    overflow: hidden;
}

.programme-section .programme-date-band.active {
    display: flex;
}

.programme-section .programme-date-band::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #5fb4c6, #9bd86f);
}

.programme-section .programme-date-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.programme-section .programme-date-copy span {
    display: block;
    margin-bottom: 4px;
    color: #268ba0;
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.programme-section .programme-date-copy strong {
    display: block;
    color: #12313d;
    font-size: 1.18rem;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: -0.03em;
}

.programme-section .programme-date-chip {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    min-width: 185px;
    padding: 11px 16px;
    border-radius: 18px;
    text-align: right;
    background: rgba(95, 180, 198, 0.10);
    border: 1px solid rgba(95, 180, 198, 0.18);
}

.programme-section .programme-date-chip span {
    display: block;
    color: #268ba0;
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.1;
}

.programme-section .programme-date-chip time {
    display: block;
    margin-top: 5px;
    color: #12313d;
    font-size: 0.98rem;
    font-weight: 950;
    line-height: 1.2;
}

/* Mobile */
@media (max-width: 760px) {
    .programme-section .programme-date-band {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 17px 18px 17px 20px;
        border-radius: 20px;
    }

    .programme-section .programme-date-chip {
        width: 100%;
        min-width: 0;
        text-align: left;
    }

    .programme-section .programme-date-copy strong {
        font-size: 1.06rem;
    }
}

.programme-section .timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 112px 1fr;
    gap: 16px;
    align-items: start;
    padding: 15px 18px 15px 20px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(36, 99, 116, 0.13);
    box-shadow: 0 12px 34px rgba(61, 130, 146, 0.08);
    transition: all 0.22s ease;
}

.programme-section .timeline-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #5fb4c6, #9bd86f);
}

.programme-section .timeline-item:hover {
    transform: translateY(-2px);
    border-color: rgba(155, 216, 111, 0.55);
    box-shadow: 0 18px 46px rgba(61, 130, 146, 0.13);
}

.programme-section .timeline-item.hidden {
    display: none;
}

.programme-section .timeline-item time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(95, 180, 198, 0.10);
    color: #268ba0;
    font-size: 0.82rem;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

/* Details Only */
.programme-section .programme-details {
    min-width: 0;
}

.programme-section .programme-details ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 5px;
}

.programme-section .programme-details li {
    margin: 0;
    color: #4e6670;
    font-size: 0.94rem;
    line-height: 1.5;
}

.programme-section .programme-details li::marker {
    color: #268ba0;
}

/* Hide old elements safely if still exist */
.programme-section .session-type,
.programme-section .timeline-item h3,
.programme-section .timeline-item p {
    display: none;
}

/* Responsive */
@media (max-width: 1100px) {
    .programme-section .programme-layout {
        grid-template-columns: 1fr;
    }

    .programme-section .track-panel {
        position: static;
    }

    .programme-section .track-panel {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }

    .programme-section .track-panel p {
        width: 100%;
        margin-bottom: 4px;
    }

    .programme-section .track-tab {
        width: auto;
        min-height: 36px;
        margin-top: 0;
        padding: 0 13px;
    }
}

@media (max-width: 760px) {
    .section.programme-section {
        padding: 76px 0;
        scroll-margin-top: 96px;
    }

    .programme-section .section-head {
        margin-bottom: 24px;
    }

    .programme-section .programme-layout {
        gap: 14px;
    }

    .programme-section .timeline-item {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px 18px 16px 20px;
        border-radius: 18px;
    }

    .programme-section .timeline-item time {
        width: fit-content;
    }

    .programme-section .programme-details li {
        font-size: 0.9rem;
        line-height: 1.48;
    }
}

/* =========================================================
   SBEC 2027 - Satellite Program Section
   ========================================================= */

.sbec-satellite-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.26), transparent 30%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.20), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 48%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sbec-satellite-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-satellite-section .container {
    position: relative;
    z-index: 2;
}

.sbec-satellite-head {
    max-width: 900px;
    margin-bottom: 38px;
}

.sbec-satellite-head h2 {
    max-width: 820px;
    color: #12313d;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -0.055em;
}

.sbec-satellite-head p {
    max-width: 760px;
    margin: 18px 0 0;
    color: #4e6670;
    font-size: 1rem;
    line-height: 1.72;
}

.sbec-satellite-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.sbec-satellite-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 640px;
    border-radius: 30px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 20px 60px rgba(61, 130, 146, 0.12);
    transition: all 0.25s ease;
}

.sbec-satellite-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    z-index: 3;
}

.sbec-satellite-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 78px rgba(61, 130, 146, 0.20);
}

.satellite-cyber::before {
    background: linear-gradient(90deg, #2f9fc2, #1357c9);
}

.satellite-esg::before {
    background: linear-gradient(90deg, #7ac943, #b7ef6d);
}

.satellite-golf::before {
    background: linear-gradient(90deg, #0d5e66, #d8b45a);
}

.satellite-image-wrap {
    min-height: 230px;
    background:
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.16), transparent 32%),
        #f5fbfd;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
    border-bottom: 1px solid rgba(36, 99, 116, 0.10);
}

.satellite-image {
    width: 100%;
    max-height: 180px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.sbec-satellite-card:hover .satellite-image {
    transform: scale(1.04);
}

.satellite-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px;
}

.satellite-body h3 {
    margin: 0 0 8px;
    color: #12313d;
    font-size: 1.55rem;
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.satellite-body h4 {
    margin: 0 0 18px;
    color: #0f4d55;
    font-size: 1rem;
    line-height: 1.38;
    font-weight: 900;
}

.satellite-body p {
    margin: 0 0 14px;
    color: #4f6670;
    font-size: 0.94rem;
    line-height: 1.65;
}

/* Satellite partner logo + action buttons */
.satellite-card-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px;
    gap: 12px;
    align-items: stretch;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(36, 99, 116, 0.12);
}

.satellite-logo-btn {
    min-width: 0;
    min-height: 90px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(36, 99, 116, 0.12);
    background: rgba(255, 255, 255, 0.72);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    cursor: pointer;
    transition: all 0.22s ease;
}

.satellite-logo-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(95, 180, 198, 0.42);
    box-shadow: 0 14px 34px rgba(61, 130, 146, 0.12);
}

.satellite-logo-btn span {
    display: block;
    margin-bottom: 8px;
    color: #6c7f86;
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.satellite-logo-btn img {
    width: auto;
    max-width: 145px;
    height: 38px;
    object-fit: contain;
    object-position: left center;
}

.satellite-action-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-self: stretch;
}

.satellite-more-info-btn {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(36, 99, 116, 0.18);
    background: rgba(255, 255, 255, 0.88);
    color: #12313d;
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(61, 130, 146, 0.08);
    transition: all 0.22s ease;
}

.satellite-more-info-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(95, 180, 198, 0.45);
    background: #ffffff;
    color: #268ba0;
    box-shadow: 0 14px 34px rgba(61, 130, 146, 0.14);
}

.satellite-fee-box {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 14px;
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    color: #12313d;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    text-align: center;
    box-shadow: 0 14px 32px rgba(155, 216, 111, 0.24);
    transition: all 0.22s ease;
}

.satellite-fee-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(155, 216, 111, 0.34);
}

.satellite-fee-box span {
    color: #31545f;
    font-size: 0.62rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.satellite-fee-box strong {
    color: #12313d;
    font-size: 0.86rem;
    line-height: 1;
    font-weight: 950;
}

/* Satellite More Info Image Popup */
body.info-modal-open {
    overflow: hidden;
}

.satellite-info-modal {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.satellite-info-modal.active {
    display: flex;
}

.satellite-info-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 12, 15, 0.72);
    backdrop-filter: blur(10px);
}

.satellite-info-dialog {
    position: relative;
    z-index: 2;
    width: min(1120px, 94vw);
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.35);
    animation: satelliteInfoIn 0.24s ease;
}

.satellite-info-header {
    min-height: 70px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid rgba(36, 99, 116, 0.12);
    background:
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.18), transparent 36%),
        linear-gradient(135deg, #ffffff, #f7fafb);
}

.satellite-info-header span {
    display: block;
    margin-bottom: 4px;
    color: #268ba0;
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.satellite-info-header h3 {
    margin: 0;
    color: #12313d;
    font-size: clamp(1.05rem, 2vw, 1.45rem);
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -0.03em;
}

.satellite-info-close {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 0;
    border-radius: 999px;
    background: rgba(18, 49, 61, 0.08);
    color: #12313d;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.satellite-info-close:hover {
    background: #12313d;
    color: #ffffff;
}

.satellite-info-image-wrap {
    width: 100%;
    max-height: calc(100dvh - 128px);
    overflow: auto;
    background: #f7fafb;
    padding: 14px;
}

.satellite-info-image-wrap img {
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 158px);
    aspect-ratio: 2694 / 1515;
    object-fit: contain;
    object-position: center;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(61, 130, 146, 0.10);
}

@keyframes satelliteInfoIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Satellite popup modal - fixed viewport version */
.satellite-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.satellite-modal.is-open {
    display: flex;
}

.satellite-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(8, 18, 22, 0.56);
    backdrop-filter: blur(10px);
}

.satellite-modal-box {
    position: relative;
    z-index: 2;
    width: min(680px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    margin: auto;
    border-radius: 30px;
    overflow-y: auto;
    overflow-x: hidden;
    background:
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.18), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 55%, #eef8f5 100%);
    border: 1px solid rgba(36, 99, 116, 0.16);
    box-shadow: 0 34px 100px rgba(8, 18, 22, 0.28);
    animation: satelliteModalIn 0.24s ease forwards;
}

.satellite-modal-box::before {
    content: "";
    position: sticky;
    top: 0;
    display: block;
    height: 6px;
    background: linear-gradient(90deg, #5fb4c6, #9bd86f);
    z-index: 3;
}

.satellite-modal-close {
    position: sticky;
    top: 14px;
    float: right;
    z-index: 5;
    width: 38px;
    height: 38px;
    margin: 12px 14px 0 0;
    border: 0;
    border-radius: 999px;
    background: rgba(18, 49, 61, 0.10);
    color: #12313d;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.satellite-modal-close:hover {
    background: rgba(18, 49, 61, 0.16);
    transform: rotate(90deg);
}

.satellite-modal-logo-wrap {
    padding: 34px 34px 18px;
    border-bottom: 1px solid rgba(36, 99, 116, 0.10);
}

.satellite-modal-logo-wrap img {
    max-width: 180px;
    max-height: 62px;
    object-fit: contain;
}

.satellite-modal-content {
    padding: 28px 34px 34px;
}

.satellite-modal-content h3 {
    margin: 0 0 14px;
    color: #12313d;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -0.04em;
}

.satellite-modal-text p {
    margin: 0;
    color: #4e6670;
    font-size: 0.98rem;
    line-height: 1.72;
}

.satellite-modal-text p + p {
    margin-top: 14px;
}

/* Satellite Modal Official Website Button */
.satellite-modal-website-wrap {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(36, 99, 116, 0.12);
}

.satellite-modal-website-label {
    display: block;
    margin-bottom: 10px;
    color: #6c7f86;
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.satellite-modal-website-btn {
    width: 100%;
    min-height: 56px;
    padding: 14px 18px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(18, 49, 61, 0.96), rgba(38, 139, 160, 0.96));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: 0.94rem;
    font-weight: 850;
    letter-spacing: -0.01em;
    box-shadow: 0 18px 42px rgba(18, 49, 61, 0.18);
    transition: all 0.22s ease;
}

.satellite-modal-website-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 58px rgba(18, 49, 61, 0.26);
}

.satellite-modal-website-btn strong {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 0.95rem;
    flex: 0 0 auto;
}

@keyframes satelliteModalIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 700px) {
    .satellite-card-bottom {
        grid-template-columns: 1fr;
    }

    .satellite-action-stack {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .satellite-more-info-btn,
    .satellite-fee-box {
        width: 100%;
        min-height: 46px;
    }

    .satellite-fee-box {
        flex-direction: row;
        gap: 6px;
    }

    .satellite-logo-btn img {
        max-width: 130px;
        height: 34px;
    }

    .satellite-modal {
        align-items: flex-start;
        padding: 18px;
    }

    .satellite-modal-box {
        width: 100%;
        max-height: calc(100vh - 36px);
        border-radius: 24px;
    }

    .satellite-modal-logo-wrap,
    .satellite-modal-content {
        padding-inline: 24px;
    }

    .satellite-modal-website-btn {
        min-height: 52px;
        padding: 13px 15px;
        font-size: 0.86rem;
    }

    .satellite-info-modal {
        align-items: flex-start;
        padding: 10px;
    }

    .satellite-info-dialog {
        width: 100%;
        max-height: calc(100dvh - 20px);
        border-radius: 20px;
    }

    .satellite-info-header {
        min-height: auto;
        padding: 15px 16px;
    }

    .satellite-info-close {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .satellite-info-image-wrap {
        padding: 10px;
        max-height: calc(100dvh - 100px);
    }

    .satellite-info-image-wrap img {
        max-height: calc(100dvh - 124px);
        border-radius: 14px;
    }
}

/* Responsive */
@media (max-width: 1100px) {
    .sbec-satellite-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbec-satellite-card {
        min-height: auto;
    }
}

@media (max-width: 700px) {
    .sbec-satellite-section {
        padding: 76px 0;
    }

    .sbec-satellite-grid {
        grid-template-columns: 1fr;
    }

    .sbec-satellite-card {
        border-radius: 24px;
    }

    .satellite-image-wrap {
        min-height: 200px;
        padding: 22px;
    }

    .satellite-body {
        padding: 24px 22px;
    }

    .satellite-body h3 {
        font-size: 1.35rem;
    }
}

/* =========================================================
   SBEC 2027 - Partners & Sponsors Section
   ========================================================= */

.sponsor-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.24), transparent 30%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.20), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 48%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sponsor-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sponsor-section .container {
    position: relative;
    z-index: 2;
}

.sponsor-layout {
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    gap: 48px;
    align-items: center;
}

.sponsor-content h2 {
    max-width: 650px;
    margin: 0 0 18px;
    color: #12313d;
    font-size: clamp(2.1rem, 4.5vw, 4rem);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -0.06em;
}

.sponsor-intro {
    max-width: 620px;
    margin: 0;
    color: #4e6670;
    font-size: 1.05rem;
    line-height: 1.75;
}

.sponsor-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.sponsor-image-wrap {
    position: relative;
    height: 390px;
    min-height: 390px;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(36, 99, 116, 0.14);
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sponsor-image {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: contain;
    object-position: center;
    background: #ffffff;
}

.sponsor-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 38px;
}

.sponsor-benefit-card {
    position: relative;
    min-height: 230px;
    padding: 26px 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 16px 48px rgba(61, 130, 146, 0.10);
    overflow: hidden;
    transition: all 0.25s ease;
}

.sponsor-benefit-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #5fb4c6, #9bd86f);
}

.sponsor-benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 68px rgba(61, 130, 146, 0.16);
    border-color: rgba(155, 216, 111, 0.55);
}

.sponsor-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 26px;
    border-radius: 16px;
    background: linear-gradient(135deg, #e8f3f8, #dff2d0);
    color: #2f4596;
    font-size: 1.8rem;
    font-weight: 950;
}

.sponsor-benefit-card h3 {
    margin: 0 0 10px;
    color: #12313d;
    font-size: 1.08rem;
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.sponsor-benefit-card p {
    margin: 0;
    color: #5e737d;
    font-size: 0.92rem;
    line-height: 1.62;
}

/* Responsive */
@media (max-width: 1100px) {
    .sponsor-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .sponsor-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .sponsor-image-wrap,
    .sponsor-image {
        height: 340px;
        min-height: 340px;
    }
}

@media (max-width: 640px) {
    .sponsor-benefits {
        grid-template-columns: 1fr;
    }

    .sponsor-cta-row .btn {
        width: 100%;
    }

    .sponsor-image-wrap,
    .sponsor-image {
        height: 280px;
        min-height: 280px;
        border-radius: 24px;
    }
}


.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.insight-grid article{min-height:260px;display:flex;flex-direction:column}


.footer{background:#050706;color:#fff;padding:44px 0;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer h3{margin:0 0 6px;font-size:20px}.footer p{margin:0;color:#9faa9f}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:#cbd5cc;font-size:13px;font-weight:800}.footer-links a:hover{color:var(--green-2)}

.reveal{opacity:0;transform:translateY(18px);animation:reveal .7s ease forwards}
.delay-1{animation-delay:.12s}.delay-2{animation-delay:.22s}
@keyframes reveal{to{opacity:1;transform:none}}

@media (max-width:1100px){
    .hero-grid,.split,.proof-grid{grid-template-columns:1fr}
    .speaker-grid,.highlight-grid{grid-template-columns:repeat(2,1fr)}
    .insight-grid{grid-template-columns:repeat(2,1fr);}
    .hero{min-height:auto}.hero-stage{max-width:700px}
}
@media (max-width:860px){
    .topline{display:none}.gtc-topbar{position:fixed}.nav{min-height:72px}
    .menu-btn{display:block}
    #navLinks{position:fixed;inset:72px 0 auto 0;background:#050706;border-top:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 20px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
    body.menu-open #navLinks{display:flex}
    #navLinks a:not(.nav-cta){padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
    #navLinks a:not(.nav-cta)::after{display:none}
    .nav-cta{margin-top:14px}
    .hero{padding-top:140px}
    .hero h1{letter-spacing:-.055em}
    .countdown{grid-template-columns:repeat(2,1fr)}
    .audience-grid,.speaker-grid,.highlight-grid,.insight-grid,.proof-stats{grid-template-columns:1fr;}
    .row-head{display:grid;align-items:start}

}
@media (max-width:540px){
    .container{width:min(100% - 28px,var(--container))}
    .brand strong{font-size:13px}.brand small{display:none}.brand-mark{width:44px;height:44px}.brand{min-width:0}
    .hero{padding-bottom:58px}.hero-meta-row span{width:100%}.btn{width:100%}
    .stage-card{padding:24px;min-height:300px}.stage-card h2{font-size:27px}
    .section{padding:76px 0}
    h2{font-size:34px}.hero h1{font-size:48px}.theme{font-size:19px}
    .stage-satellite-card {
        min-height: auto;
        gap: 7px;
        padding: 24px 22px 22px;
    }
    
    .stage-program-visuals {
        gap: 7px;
        margin: 0 0 4px;
    }
    
    .stage-program-link {
        height: 54px;
    }
    
    .stage-program-item img {
        max-width: 86px;
        height: 54px;
    }
    
    .stage-program-date {
        max-width: 92px;
        padding: 4px 5px;
        margin-top: 3px;
    }
    
    .stage-program-date span {
        font-size: 0.44rem;
    }
    
    .stage-program-date strong {
        font-size: 0.52rem;
    }
    
    .stage-satellite-card p {
        line-height: 1.45;
    }
    
    .stage-satellite-bottom {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        margin-top: 5px;
    }
    
    .stage-satellite-bottom p {
        font-size: 13px;
        line-height: 1.42;
        text-align: left;
        text-align-last: left;
    }
    
    .stage-hrdc-claimable {
        width: 54px;
        height: 54px;
    }
    
    .stage-hrdc-claimable img {
        width: 48px;
        height: 48px;
    }
    
    .stage-satellite-card .stage-kicker {
        font-size: 14px;
        letter-spacing: 0.02em;
        text-align: center;
    }
}

/* =========================================================
   SBC 2027 Pastel Sarawak Theme Override
   Palette inspired by the provided blue / mint / green artwork.
   Install image file at: assets/sbc2027/images/sbc-pastel-hero-bg.png
   ========================================================= */
:root{
    --bg:#f7fafb;
    --bg-2:#eef8f5;
    --panel:#ffffff;
    --panel-2:#f1f8f6;
    --line:rgba(36,99,116,.14);
    --line-strong:rgba(36,99,116,.24);
    --text:#12313d;
    --muted:#5e737d;
    --soft:#f3faf7;
    --soft-2:#e8f5f9;
    --dark:#f7fafb;
    --green:#9bd86f;
    --green-2:#bfe98e;
    --blue:#9fd2f2;
    --blue-2:#d9ebf9;
    --teal:#5fb4c6;
    --mint:#d8ece3;
    --gold:#a8d677;
    --shadow:0 26px 70px rgba(61,130,146,.14);
}

body{
    background:var(--bg);
    color:var(--text);
}

.gtc-topbar{
    background:rgba(248,251,252,.88);
    border-bottom:1px solid rgba(72,142,160,.16);
    box-shadow:0 10px 34px rgba(63,161,179,.08);
}
.topline{
    background:linear-gradient(90deg,#e8f3f8 0%,#f7fafb 45%,#dff2d0 100%);
    color:#31545f;
    border-bottom:1px solid rgba(72,142,160,.13);
}
.topline-links a{color:#31545f}
.topline-links a:hover{color:#2c8ea4}
.brand-mark{
    background:linear-gradient(135deg,#9fd2f2 0%,#d8ece3 46%,#9bd86f 100%);
    color:#12313d;
    box-shadow:0 14px 34px rgba(95,180,198,.22);
}
.brand strong{color:#12313d}
.brand small{color:#5e737d}
#navLinks{color:#23434e}
#navLinks a:hover{color:#1b8ea5}
#navLinks a:not(.nav-cta)::after{background:linear-gradient(90deg,#5fb4c6,#9bd86f)}
.nav-cta{
    background:linear-gradient(135deg,#9bd86f,#dff2b8);
    color:#12313d!important;
    box-shadow:0 14px 34px rgba(155,216,111,.28);
}
.nav-cta:hover{background:linear-gradient(135deg,#7dcb8e,#bfe98e)}
.menu-btn{background:#e8f3f8;color:#12313d;border:1px solid rgba(36,99,116,.18)}

/* =========================================================
   SBC 2027 Hero Video Background
   Replace old .gtc-hero image background block
   ========================================================= */

.gtc-hero{
    position:relative;
    background:#f7fafb;
    overflow:hidden;
}

.hero-bg-wrap{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
}

.hero-bg-video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center bottom;
    pointer-events:none;
}

.hero-video-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(247,250,251,.88) 0%, rgba(247,250,251,.68) 42%, rgba(216,236,227,.28) 100%),
        radial-gradient(circle at 8% 18%, rgba(159,210,242,.24), transparent 28%),
        radial-gradient(circle at 86% 38%, rgba(155,216,111,.18), transparent 33%);
}

.gtc-hero .grid-overlay,
.gtc-hero .hero-glow{
    z-index:1;
    pointer-events:none;
}

.gtc-hero .container,
.gtc-hero .hero-grid,
.gtc-hero .hero-copy,
.gtc-hero .hero-stage{
    position:relative;
    z-index:2;
}

/* buang overlay lama yang boleh kacau stacking */
.gtc-hero::before{
    content:none !important;
}

.gtc-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:28%;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(to top, #f7fafb 0%, rgba(247,250,251,.65) 45%, transparent 100%);
}

.gtc-hero .grid-overlay{
    background:none;
    mask-image:none;
}

@media (max-width:768px){
    .hero-bg-video{
        object-position:center center;
    }

    .hero-video-overlay{
        background:linear-gradient(180deg, rgba(247,250,251,.92) 0%, rgba(247,250,251,.76) 55%, rgba(216,236,227,.35) 100%);
    }
}

.hero h1{
    color:#12313d;
    text-shadow:0 8px 32px rgba(255,255,255,.72);
}
.theme{color:#36525c}
.eyebrow,.badge{color:#2c8ea4}
.eyebrow::before,.badge::before{
    background:#9bd86f;
    box-shadow:0 0 22px rgba(155,216,111,.8);
}
.hero-meta-row span{
    color:#244450;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(36,99,116,.14);
    box-shadow:0 10px 30px rgba(63,161,179,.08);
}
.btn-primary{
    background:linear-gradient(135deg,#9bd86f,#dff2b8);
    color:#12313d;
    box-shadow:0 18px 38px rgba(155,216,111,.28);
}
.btn-primary:hover{background:linear-gradient(135deg,#7dcb8e,#bfe98e)}
.btn-ghost{
    background:rgba(255,255,255,.54);
    border-color:rgba(36,99,116,.22);
    color:#12313d;
    box-shadow:0 14px 36px rgba(63,161,179,.08);
}
.btn-ghost:hover{border-color:#5fb4c6;color:#1b8ea5;background:#fff}
.btn-outline{
    border-color:rgba(36,99,116,.24);
    color:#12313d;
    background:#fff;
}
.btn-outline:hover{border-color:#9bd86f;background:#f2fbe9;color:#12313d}
.stage-card,.countdown-card{
    background:rgba(255,255,255,.74);
    border:1px solid rgba(36,99,116,.17);
    box-shadow:0 26px 70px rgba(61,130,146,.16);
}
.stage-card::before{
    background:
        linear-gradient(135deg, transparent 0 48%, rgba(95,180,198,.26) 48% 49%, transparent 49% 100%),
        radial-gradient(circle at 86% 16%, rgba(155,216,111,.34), transparent 28%),
        linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.1));
}
.stage-kicker{color:#2c8ea4}
.stage-card h2{color:#12313d}
.stage-card p{color:#4e6670}
.panel-head{color:#244450}
.panel-head span{background:#9bd86f;box-shadow:0 0 18px rgba(155,216,111,.8)}
.countdown div{background:rgba(255,255,255,.72);border:1px solid rgba(36,99,116,.14)}
.countdown strong{color:#12313d}
.countdown span{color:#5e737d}

.section{background:#fff;color:#12313d}
.section.soft,.insights-section{
    background:linear-gradient(180deg,#f3faf7 0%,#e8f5f9 100%);
}
.section-label{color:#268ba0}
h2{color:#12313d}
.intro-copy p{color:#4e6670}
.audience-card,.gain-grid>div,.insight-grid article{
    background:rgba(255,255,255,.86);
    border:1px solid rgba(36,99,116,.14);
    box-shadow:0 16px 48px rgba(61,130,146,.10);
}
.audience-card:hover,.insight-grid article:hover{
    border-color:rgba(155,216,111,.75);
    box-shadow:0 24px 70px rgba(61,130,146,.16);
}
.audience-card span{color:#5fb4c6}
.audience-card p,.insight-grid p{color:#5e737d}

.dark-section{
    background:linear-gradient(135deg,#e8f3f8 0%,#f7fafb 46%,#d8ece3 100%);
    color:#12313d;
}
.dark-section::before{
    background:
        radial-gradient(circle at 76% 8%,rgba(155,216,111,.28),transparent 32%),
        radial-gradient(circle at 12% 30%,rgba(159,210,242,.32),transparent 30%);
}
.section-head.light h2,.dark-section h2{color:#12313d}
.light-label,.section-head.light .section-label{color:#268ba0}
.highlight-grid{
    background:rgba(36,99,116,.12);
    border:1px solid rgba(36,99,116,.12);
}
.highlight-grid div{
    background:rgba(255,255,255,.76);
    color:#12313d;
}
.highlight-grid span{color:#5fb4c6}
.highlight-grid h3{color:#12313d}
.highlight-grid p{color:#5e737d}

.speakers-section{background:#fff}
.text-link{color:#268ba0}
.speaker-card{
    background:#fff;
    color:#12313d;
    border:1px solid rgba(36,99,116,.14);
    box-shadow:0 16px 48px rgba(61,130,146,.10);
}
.speaker-card:hover{box-shadow:0 28px 76px rgba(61,130,146,.18)}
.speaker-photo{
    background:linear-gradient(135deg,#d9ebf9 0%,#d8ece3 54%,#c7e5ab 100%);
    color:rgba(18,49,61,.62);
}
.speaker-photo::after{background:linear-gradient(90deg,#5fb4c6,#9bd86f)}
.speaker-body h3{color:#12313d}
.speaker-body p{color:#36525c}
.speaker-body span{color:#268ba0}
.speaker-body small{color:#5e737d}
.insight-grid span{background:linear-gradient(135deg,#e8f3f8,#dff2d0);color:#227d91;}
.insight-grid h3{color:#12313d;}
.insight-grid a{color:#268ba0;}

.social-proof{
    background:linear-gradient(135deg,#d9ebf9 0%,#f7fafb 48%,#d8ece3 100%);
    color:#12313d;
}
.proof-grid h2{color:#12313d}
.proof-grid p:last-child{color:#4e6670}
.proof-stats div{
    background:rgba(255,255,255,.74);
    border:1px solid rgba(36,99,116,.14);
    box-shadow:0 14px 40px rgba(61,130,146,.08);
}
.proof-stats strong{color:#268ba0}
.proof-stats span{color:#5e737d}

.footer{
    background:#f7fafb;
    color:#12313d;
    border-top:1px solid rgba(36,99,116,.13);
}
.footer p{color:#5e737d}
.footer-links a{color:#31545f}.footer-links a:hover{color:#268ba0}

/* =========================================================
   SBEC 2027 - Footer About Organiser
   ========================================================= */

.footer-organiser-wrap {
    width: 100%;
    display: grid;
    gap: 28px;
}

.footer-organiser-block {
    max-width: 760px;
}

.footer-organiser-label {
    margin: 0 0 8px;
    color: #268ba0;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.footer-organiser-desc {
    max-width: 720px;
    margin: 0;
    color: #5e737d;
    font-size: 0.96rem;
    line-height: 1.65;
}

.footer-organiser-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.footer-organiser-logo-btn {
    min-width: 150px;
    height: 68px;
    padding: 12px 18px;
    border-radius: 18px;
    border: 1px solid rgba(36, 99, 116, 0.14);
    background: rgba(255, 255, 255, 0.78);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 12px 34px rgba(61, 130, 146, 0.08);
    transition: all 0.22s ease;
}

.footer-organiser-logo-btn:hover {
    transform: translateY(-3px);
    border-color: rgba(95, 180, 198, 0.45);
    box-shadow: 0 18px 46px rgba(61, 130, 146, 0.14);
}

.footer-organiser-logo-btn img {
    max-width: 118px;
    max-height: 42px;
    object-fit: contain;
}

.footer-event-info {
    padding-top: 22px;
    border-top: 1px solid rgba(36, 99, 116, 0.12);
}

.footer-event-info h3 {
    margin: 0 0 6px;
    color: #12313d;
    font-size: 20px;
    font-weight: 950;
}

.footer-event-info p {
    margin: 0;
    color: #5e737d;
}

@media (max-width: 640px) {
    .footer-organiser-logos {
        display: grid;
        grid-template-columns: 1fr;
    }

    .footer-organiser-logo-btn {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width:860px){
    #navLinks{
        background:rgba(248,251,252,.98);
        border-top:1px solid rgba(36,99,116,.13);
        box-shadow:0 30px 80px rgba(61,130,146,.18);
    }
    #navLinks a:not(.nav-cta){border-bottom:1px solid rgba(36,99,116,.10)}
}


/* =========================================================
   SBEC 2027 - Registration Packages Left Right Layout
   ========================================================= */

.sbec-fee-section {
    position: relative;
    padding: 96px 0;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.30), transparent 30%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.24), transparent 34%),
        linear-gradient(135deg, #f7fafb 0%, #ffffff 48%, #eef8f5 100%);
    overflow: hidden;
}

.sbec-fee-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-fee-section .container {
    position: relative;
    z-index: 2;
}

.sbec-fee-layout {
    display: grid;
    grid-template-columns: minmax(250px, 0.48fr) minmax(0, 1.52fr);
    gap: 32px;
    align-items: start;
}

.sbec-fee-left {
    position: sticky;
    top: 145px;
}

.sbec-fee-header {
    max-width: 360px;
    text-align: left;
}

.sbec-fee-header .eyebrow {
    margin-bottom: 14px;
    color: #268ba0;
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.sbec-fee-header h2 {
    margin: 0 0 18px;
    color: #12313d;
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -0.055em;
}

.sbec-fee-header p {
    margin: 0;
    max-width: 440px;
    color: #4e6670;
    font-size: 1rem;
    line-height: 1.72;
}

.sbec-event-meta {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.sbec-event-meta div {
    padding: 16px 18px;
    border: 1px solid rgba(36, 99, 116, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 44px rgba(61, 130, 146, 0.10);
}

.sbec-event-meta span {
    display: block;
    margin-bottom: 5px;
    color: #268ba0;
    font-size: 0.7rem;
    font-weight: 950;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.sbec-event-meta strong {
    display: block;
    color: #12313d;
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.35;
}

.sbec-fee-right {
    min-width: 0;
}

.sbec-fee-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 18px;
}

.fee-tab {
    border: 1px solid rgba(36, 99, 116, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #31545f;
    padding: 10px 14px;
    font-size: 0.78rem;
    font-weight: 900;
    cursor: pointer;
    transition: all 0.22s ease;
    box-shadow: 0 10px 26px rgba(61, 130, 146, 0.08);
}

.fee-tab:hover,
.fee-tab.active {
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    color: #12313d;
    border-color: rgba(155, 216, 111, 0.70);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(155, 216, 111, 0.22);
}

.special-tab {
    background: linear-gradient(135deg, rgba(155, 216, 111, 0.18), rgba(95, 180, 198, 0.18));
    border-color: rgba(95, 180, 198, 0.35);
}

.special-tab.active {
    background: linear-gradient(135deg, #9bd86f, #5fb4c6);
    color: #12313d;
}

.sbec-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
    min-height: 440px;
}

.sbec-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 17px;
    border: 1px solid rgba(36, 99, 116, 0.14);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.90);
    box-shadow: 0 16px 46px rgba(61, 130, 146, 0.10);
    overflow: hidden;
    transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.sbec-price-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #5fb4c6, #9bd86f);
}

.sbec-price-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 62px rgba(61, 130, 146, 0.17);
}

.sbec-price-card.featured {
    border-color: rgba(95, 180, 198, 0.30);
}

.sbec-price-card.government::before {
    background: linear-gradient(90deg, #9bd86f, #5fb4c6);
}

.sbec-price-card.association::before {
    background: linear-gradient(90deg, #5fb4c6, #2f4596);
}

.sbec-price-card.masterclass::before {
    background: linear-gradient(90deg, #5fb4c6, #9fd2f2);
}

.sbec-price-card.golf::before {
    background: linear-gradient(90deg, #7dcb8e, #d8b45a);
}

.price-card-top {
    margin-bottom: 14px;
}

.package-type {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 11px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(95, 180, 198, 0.10);
    color: #268ba0;
    font-size: 0.62rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tax-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-left: 6px;
    margin-bottom: 11px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(47, 69, 150, 0.08);
    color: #2f4596;
    font-size: 0.62rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sbec-price-card h3 {
    margin: 0 0 7px;
    color: #12313d;
    font-size: 0.98rem;
    line-height: 1.22;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.sbec-price-card p {
    margin: 0;
    color: #5e737d;
    font-size: 0.76rem;
    line-height: 1.45;
}

.price-list {
    display: grid;
    gap: 0;
    margin-top: auto;
}

.price-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px solid rgba(36, 99, 116, 0.10);
}

.price-row:last-child {
    border-bottom: 0;
}

.price-row span {
    color: #12313d;
    font-size: 0.76rem;
    font-weight: 850;
}

.price-row small {
    grid-column: 1;
    color: #7d919a;
    font-size: 0.7rem;
    font-weight: 750;
}

.price-row strong {
    grid-row: span 2;
    color: #268ba0;
    font-size: 0.88rem;
    font-weight: 950;
    white-space: nowrap;
}

.price-row strong span {
    color: #5e737d;
    font-size: 0.66rem;
    font-weight: 800;
}

.price-row.student strong {
    color: #4d9f38;
}

.price-row.gov strong,
.price-row.special strong {
    color: #2f4596;
}

.single-price {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(95, 180, 198, 0.09), rgba(155, 216, 111, 0.08));
}

.price-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    color: #12313d;
    font-size: 0.82rem;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(155, 216, 111, 0.22);
    transition: all 0.22s ease;
}

.price-btn:hover {
    color: #12313d;
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(155, 216, 111, 0.30);
}

.sbec-fee-note {
    margin-top: 16px;
    padding: 13px 16px;
    border: 1px solid rgba(36, 99, 116, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 34px rgba(61, 130, 146, 0.08);
}

.sbec-fee-note p {
    margin: 0;
    color: #5e737d;
    font-size: 0.82rem;
    line-height: 1.55;
}

/* Filter display */
.sbec-price-card.is-hidden {
    display: none;
}

/* Keep filtered view neat */
.sbec-pricing-grid.single-view {
    grid-template-columns: minmax(300px, 430px);
    justify-content: center;
}

.sbec-pricing-grid.two-view {
    grid-template-columns: repeat(2, minmax(300px, 440px));
    justify-content: center;
}

/* Responsive */
@media (max-width: 1100px) {
    .sbec-fee-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .sbec-fee-left {
        position: static;
    }

    .sbec-fee-header {
        max-width: 850px;
    }

    .sbec-event-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbec-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: auto;
    }
}

@media (min-width: 1101px) {
    .sbec-pricing-grid:not(.single-view):not(.two-view) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .sbec-fee-section {
        padding: 74px 0;
    }

    .sbec-event-meta {
        grid-template-columns: 1fr;
    }

    .sbec-fee-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 8px;
        scrollbar-width: none;
    }

    .sbec-fee-tabs::-webkit-scrollbar {
        display: none;
    }

    .fee-tab {
        white-space: nowrap;
    }

    .sbec-pricing-grid,
    .sbec-pricing-grid.single-view,
    .sbec-pricing-grid.two-view {
        grid-template-columns: 1fr;
    }

    .sbec-price-card {
        padding: 18px;
        border-radius: 20px;
    }

    .tax-badge {
        margin-left: 0;
    }
}

/* =========================================================
   SBEC 2027 - Video Highlights Section
   ========================================================= */

.sbec-video-section {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(159, 210, 242, 0.24), transparent 30%),
        radial-gradient(circle at bottom left, rgba(155, 216, 111, 0.18), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 48%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sbec-video-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-video-section .container {
    position: relative;
    z-index: 2;
}

.sbec-video-section .section-head {
    max-width: 880px;
    margin-bottom: 34px;
}

.sbec-video-section h2 {
    max-width: 780px;
    color: #12313d;
}

.video-section-intro {
    max-width: 720px;
    margin: 18px 0 0;
    color: #4e6670;
    font-size: 1rem;
    line-height: 1.7;
}

.sbec-video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.sbec-video-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 18px 54px rgba(61, 130, 146, 0.12);
    transition: all 0.25s ease;
}

.sbec-video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 72px rgba(61, 130, 146, 0.18);
    border-color: rgba(155, 216, 111, 0.55);
}

.video-play-card {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    padding: 0;
    border: 0;
    display: block;
    cursor: pointer;
    overflow: hidden;
    background: #12313d;
}

.video-play-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.sbec-video-card:hover .video-play-card img {
    transform: scale(1.05);
}

.video-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(18, 49, 61, 0.08), rgba(18, 49, 61, 0.48)),
        radial-gradient(circle at center, rgba(155, 216, 111, 0.12), transparent 38%);
}

.play-button {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.56);
    box-shadow: 0 18px 42px rgba(18, 49, 61, 0.26);
    backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}

.play-button span {
    margin-left: 4px;
    color: #2f4596;
    font-size: 1.25rem;
    font-weight: 950;
}

.sbec-video-card:hover .play-button {
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    transform: translate(-50%, -50%) scale(1.08);
}

.video-card-body {
    padding: 22px;
}

.video-card-body span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(95, 180, 198, 0.10);
    color: #268ba0;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.video-card-body h3 {
    margin: 0 0 9px;
    color: #12313d;
    font-size: 1.12rem;
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.video-card-body p {
    margin: 0;
    color: #5e737d;
    font-size: 0.9rem;
    line-height: 1.58;
}

/* Video Modal */
.video-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 26px;
}

.video-modal.is-open {
    display: flex;
}

.video-modal-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(155, 216, 111, 0.16), transparent 32%),
        rgba(5, 7, 6, 0.78);
    backdrop-filter: blur(12px);
}

.video-modal-box {
    position: relative;
    z-index: 2;
    width: min(980px, 100%);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.90);
    border: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.32);
    padding: 14px;
}

.video-frame-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 20px;
    background: #000;
}

.video-frame-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.video-modal-close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #9bd86f, #dff2b8);
    color: #12313d;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
    transition: all 0.22s ease;
}

.video-modal-close:hover {
    transform: scale(1.06);
}

/* Responsive */
@media (max-width: 980px) {
    .sbec-video-grid {
        grid-template-columns: 1fr;
    }

    .sbec-video-card {
        display: grid;
        grid-template-columns: 0.95fr 1.05fr;
        align-items: stretch;
    }

    .video-play-card {
        height: 100%;
        aspect-ratio: auto;
        min-height: 230px;
    }
}

@media (max-width: 640px) {
    .sbec-video-section {
        padding: 76px 0;
    }

    .sbec-video-card {
        display: block;
        border-radius: 22px;
    }

    .video-play-card {
        aspect-ratio: 16 / 9;
        min-height: auto;
    }

    .video-card-body {
        padding: 18px;
    }

    .play-button {
        width: 56px;
        height: 56px;
    }

    .video-modal {
        padding: 14px;
    }

    .video-modal-box {
        padding: 8px;
        border-radius: 20px;
    }

    .video-frame-wrap {
        border-radius: 15px;
    }

    .video-modal-close {
        top: 10px;
        right: 10px;
        width: 38px;
        height: 38px;
        font-size: 1.45rem;
        z-index: 3;
    }
}
/* =========================================================
   GALLERY - Smooth Moving Gallery
   ========================================================= */

.gallery-section {
    background: #ffffff;
    overflow: hidden;
    padding: 90px 0 85px;
}

.gallery-section .section-head {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 42px;
}

.gallery-section .section-label {
    color: #268ba0;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.gallery-section h2 {
    color: #12313d;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 850;
    letter-spacing: -0.045em;
    margin-top: 12px;
}

.gallery-marquee {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 8px !important;
}

.gallery-row {
    width: 100%;
    overflow: hidden;
    position: relative;
    line-height: 0;
    font-size: 0;
}

/* Kalau fade tepi nampak macam gap besar, kecilkan width dia */
.gallery-row::before,
.gallery-row::after {
    content: "";
    position: absolute;
    top: 0;
    width: 45px;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

.gallery-row::before {
    left: 0;
    background: linear-gradient(to right, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.gallery-row::after {
    right: 0;
    background: linear-gradient(to left, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.gallery-track {
    display: flex;
    align-items: stretch;
    gap: 8px !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    width: max-content;
    will-change: transform;
    line-height: 0;
    font-size: 0;
}

/* Reset semua child spacing kalau ada wrapper/figure terselit */
.gallery-track > * {
    margin: 0 !important;
    padding: 0 !important;
}

.gallery-track img {
    flex: 0 0 auto;
    width: 420px !important;
    height: 270px !important;
    max-width: none !important;
    display: block !important;
    vertical-align: top;
    object-fit: cover;
    object-position: center;

    /* Ini penting: radius besar nampak macam gap besar */
    border-radius: 8px;

    box-shadow: none !important;
    border: 0.5px solid rgba(36, 99, 116, 0.14);
    margin: 0 !important;
    padding: 0 !important;

    transition: border-color 0.35s ease;
}

.gallery-track img:hover {
    transform: none;
    box-shadow: none !important;
    border-color: rgba(38, 139, 160, 0.35);
}

.gallery-left {
    animation: galleryMoveLeft 110s linear infinite !important;
}

.gallery-right {
    animation: galleryMoveRight 110s linear infinite !important;
}

.gallery-marquee:hover .gallery-track {
    animation-play-state: running !important;
}

@keyframes galleryMoveLeft {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes galleryMoveRight {
    from {
        transform: translate3d(-50%, 0, 0);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 1024px) {
    .gallery-track img {
        width: 340px !important;
        height: 220px !important;
    }
}

@media (max-width: 768px) {
    .gallery-section {
        padding: 72px 0;
    }

    .gallery-marquee {
        gap: 8px !important;
    }

    .gallery-track {
        gap: 8px !important;
        column-gap: 8px !important;
    }

    .gallery-track img {
        width: 280px !important;
        height: 185px !important;
        border-radius: 6px;
    }

    .gallery-row::before,
    .gallery-row::after {
        width: 30px;
    }

    .gallery-left,
    .gallery-right {
        animation-duration: 85s !important;
    }
}

/* =========================================================
   SBEC 2027 - Venue Details Section
   3 Images Full View Version
   ========================================================= */

.sbec-venue-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.26), transparent 30%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.20), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 48%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sbec-venue-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-venue-section .container {
    position: relative;
    z-index: 2;
}

.sbec-venue-head {
    max-width: 880px;
    margin-bottom: 40px;
}

.sbec-venue-head h2 {
    max-width: 760px;
    color: #12313d;
    font-size: clamp(2.1rem, 4.5vw, 4rem);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -0.06em;
}

.sbec-venue-address {
    margin: 18px 0 0;
    color: #268ba0;
    font-size: 1.05rem;
    line-height: 1.65;
    font-weight: 850;
}

.sbec-venue-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
    gap: 42px;
    align-items: start;
}

.sbec-venue-copy {
    position: sticky;
    top: 150px;
    padding: 34px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 20px 60px rgba(61, 130, 146, 0.11);
}

.sbec-venue-copy::before {
    content: "";
    display: block;
    width: 72px;
    height: 6px;
    margin-bottom: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #5fb4c6, #9bd86f);
}

.sbec-venue-copy p {
    margin: 0 0 16px;
    color: #4e6670;
    font-size: 0.98rem;
    line-height: 1.78;
}

/* Gallery layout */
.sbec-venue-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* Image card */
.sbec-venue-photo {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 18px 54px rgba(61, 130, 146, 0.12);
}

/* Full image view, no crop */
.sbec-venue-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    background: #ffffff;
    transition: transform 0.35s ease;
}

.sbec-venue-photo:hover img {
    transform: scale(1.02);
}

/* Pic 1: 2109 x 1230 */
.sbec-venue-photo-main {
    grid-column: 1 / -1;
    aspect-ratio: 2109 / 1230;
}

/* Pic 2 and Pic 3: 687 x 328 / 686 x 328 */
.sbec-venue-photo-small {
    aspect-ratio: 687 / 328;
}

/* Responsive */
@media (max-width: 1100px) {
    .sbec-venue-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .sbec-venue-copy {
        position: relative;
        top: auto;
    }
}

@media (max-width: 700px) {
    .sbec-venue-section {
        padding: 76px 0;
    }

    .sbec-venue-copy {
        padding: 26px 22px;
        border-radius: 24px;
    }

    .sbec-venue-gallery {
        grid-template-columns: 1fr;
    }

    .sbec-venue-photo {
        border-radius: 22px;
    }

    .sbec-venue-photo-main,
    .sbec-venue-photo-small {
        grid-column: 1 / -1;
    }
}

/* =========================================================
   SBEC 2027 - Compact Contact Section
   ========================================================= */

.sbec-contact-section {
    position: relative;
    padding: 58px 0;
    background:
        radial-gradient(circle at top left, rgba(159, 210, 242, 0.18), transparent 28%),
        radial-gradient(circle at bottom right, rgba(155, 216, 111, 0.14), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7fafb 50%, #eef8f5 100%);
    color: #12313d;
    overflow: hidden;
}

.sbec-contact-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 99, 116, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 99, 116, 0.03) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sbec-contact-section .container {
    position: relative;
    z-index: 2;
}

.sbec-contact-head {
    max-width: 760px;
    margin-bottom: 24px;
}

.sbec-contact-head h2 {
    max-width: 640px;
    margin: 0;
    color: #12313d;
    font-size: clamp(1.9rem, 3.5vw, 3rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -0.055em;
}

.sbec-contact-head p {
    max-width: 680px;
    margin: 10px 0 0;
    color: #4e6670;
    font-size: 0.94rem;
    line-height: 1.5;
}

.sbec-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sbec-contact-card {
    position: relative;
    padding: 22px 24px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(36, 99, 116, 0.14);
    box-shadow: 0 16px 44px rgba(61, 130, 146, 0.10);
    overflow: hidden;
    transition: all 0.25s ease;
}

.sbec-contact-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #5fb4c6, #9bd86f);
}

.sbec-contact-card.scope-card::before {
    background: linear-gradient(90deg, #2f4596, #5fb4c6);
}

.sbec-contact-card:hover {
    transform: translateY(-3px);
    border-color: rgba(155, 216, 111, 0.48);
    box-shadow: 0 22px 58px rgba(61, 130, 146, 0.15);
}

.sbec-contact-card-top {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(36, 99, 116, 0.12);
}

.sbec-contact-card h3 {
    margin: 0;
    color: #12313d;
    font-size: 1.16rem;
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.sbec-contact-list {
    display: grid;
    gap: 9px;
}

.sbec-contact-item {
    display: grid;
    grid-template-columns: 17px 1fr;
    gap: 9px;
    align-items: start;
}

.sbec-contact-icon {
    width: 17px;
    height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    color: #268ba0;
    font-size: 0.78rem;
    line-height: 1;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.sbec-contact-item p {
    margin: 0;
    color: #4e6670;
    font-size: 0.9rem;
    line-height: 1.42;
}

.sbec-contact-item a {
    color: #12313d;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sbec-contact-item a:hover {
    color: #268ba0;
}

.contact-divider {
    display: inline-block;
    margin: 0 6px;
    color: rgba(18, 49, 61, 0.35);
}

.pic-item {
    padding: 8px 0;
    border-top: 1px solid rgba(36, 99, 116, 0.08);
    border-bottom: 1px solid rgba(36, 99, 116, 0.08);
}

.pic-label {
    margin: 0 0 5px;
    color: #268ba0;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sbec-pic-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sbec-pic-list li {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(95, 180, 198, 0.08);
    border: 1px solid rgba(36, 99, 116, 0.10);
    color: #12313d;
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.2;
}

/* Responsive */
@media (max-width: 900px) {
    .sbec-contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 540px) {
    .sbec-contact-section {
        padding: 52px 0;
    }

    .sbec-contact-card {
        padding: 20px 18px;
        border-radius: 20px;
    }

    .sbec-contact-item {
        grid-template-columns: 16px 1fr;
        gap: 8px;
    }

    .sbec-contact-icon {
        width: 16px;
        height: 16px;
        font-size: 0.72rem;
    }

    .sbec-contact-item p {
        font-size: 0.88rem;
    }

    .contact-divider {
        margin: 0 5px;
    }
}

/*UTK DISABLE MENU BAR*/
.nav-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    position: relative;
}

.nav-disabled:hover {
    color: inherit;
}

/* =========================================================
   Smart Formal Scroll Movement
   Add at bottom of sbc.css
   ========================================================= */

.scroll-motion {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    filter: blur(5px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.22, 1, .36, 1),
        filter 0.75s ease;
    transition-delay: var(--motion-delay, 0ms);
    will-change: opacity, transform, filter;
}

.scroll-motion.motion-left {
    transform: translate3d(-34px, 36px, 0);
}

.scroll-motion.motion-right {
    transform: translate3d(34px, 36px, 0);
}

.scroll-motion.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

/* Card movement - softer */
.scroll-motion.motion-card {
    transform: translate3d(0, 28px, 0);
}

.scroll-motion.motion-card.is-visible {
    transform: translate3d(0, 0, 0);
}

/* Respect user reduced motion setting */
@media (prefers-reduced-motion: reduce) {
    .scroll-motion,
    .scroll-motion.motion-left,
    .scroll-motion.motion-right,
    .scroll-motion.motion-card {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}

.ai-ring {
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 2 !important;
    left: 50% !important;
    top: 78px !important;
    transform: translate(-50%, -50%) !important;
    border: 0 !important;
    animation: none !important;
    overflow: visible !important;
}

.ai-ring::before,
.ai-ring::after {
    content: "" !important;
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}

.ai-ring::before {
    inset: 0 !important;
}

.ai-ring::after {
    width: 8px !important;
    height: 8px !important;
    top: -4px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(56, 189, 248, .95) !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, .95),
        0 0 18px rgba(59, 130, 246, .55) !important;
}

.ai-ring.ring-1::before {
    border: 1.4px solid rgba(147, 197, 253, .48) !important;
    animation: saraRingSpin 10s linear infinite !important;
}

.ai-ring.ring-1::after {
    animation: saraRingSpin 10s linear infinite !important;
}

.ai-ring.ring-2::before {
    border: 1px dashed rgba(59, 130, 246, .42) !important;
    animation: saraRingSpinReverse 15s linear infinite !important;
}

.ai-ring.ring-2::after {
    width: 6px !important;
    height: 6px !important;
    top: -3px !important;
    background: rgba(168, 85, 247, .95) !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, .85),
        0 0 18px rgba(59, 130, 246, .45) !important;
    animation: saraRingSpinReverse 15s linear infinite !important;
}

.ai-ring.ring-3::before {
    border: 1px solid rgba(14, 165, 233, .24) !important;
    animation: saraRingPulse 3.2s ease-in-out infinite !important;
}

.ai-ring.ring-3::after {
    display: none !important;
}

@keyframes saraRingSpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes saraRingSpinReverse {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

@keyframes saraRingPulse {
    0%, 100% {
        transform: scale(1);
        opacity: .9;
    }

    50% {
        transform: scale(1.05);
        opacity: .55;
    }
}

.ai-chatbot {
    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    z-index: 99999 !important;
    overflow: visible !important;
    width: 190px !important;
    height: 225px !important;
    cursor: grab !important;
    user-select: none !important;
    touch-action: none !important;
}

.ai-chatbot.is-chat-open .ai-help-btn {
    opacity: 0 !important;
    transform: translateY(18px) scale(.72) !important;
    pointer-events: none !important;
    filter: blur(1px) !important;
}

.ai-chat-panel {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--sara-panel-width, min(390px, calc(100vw - 24px))) !important;
    max-width: calc(100vw - 24px) !important;
    height: var(--sara-panel-height, min(540px, calc(100vh - 28px))) !important;
    max-height: calc(100vh - 28px) !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 30px !important;
    box-shadow: none !important;
    overflow: visible !important;
    backdrop-filter: blur(10px);
    transform: translateY(22px) scale(.92) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .28s ease, transform .32s cubic-bezier(.22, 1, .36, 1) !important;
    z-index: 999999 !important;
    left: var(--sara-panel-left, 24px) !important;
    top: var(--sara-panel-top, 24px) !important;
    transform-origin: 50% 72% !important;
}

.ai-chat-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    border-radius: 30px !important;
    background: radial-gradient(circle at 100% 0%, rgba(34, 211, 238, .18), transparent 34%),
        radial-gradient(circle at 0% 100%, rgba(124, 58, 237, .14), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
    border: 1px solid rgba(186, 230, 253, .95) !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22),
        0 0 0 1px rgba(255,255,255,.75) inset,
        0 0 36px rgba(14, 165, 233, .12) !important;
}

.ai-chat-panel::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    border-radius: 30px !important;
    pointer-events: none !important;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.30) 38%, transparent 58%) !important;
    transform: translateX(-130%) !important;
    animation: saraPanelShine 4.8s ease-in-out infinite !important;
}

.ai-chat-panel.is-open {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.ai-chat-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px) !important;
    background-size: 22px 22px !important;
    opacity: .35 !important;
    pointer-events: none !important;
}

.ai-chat-header-left,
.ai-chat-close {
    position: relative !important;
    z-index: 2 !important;
}

.ai-chat-close {
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 50%;
    background: rgba(255,255,255,.16) !important;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
    backdrop-filter: blur(8px) !important;
}

.ai-chat-messages,
.ai-chat-suggestions,
.ai-chat-form {
    position: relative !important;
    z-index: 3 !important;
}

.ai-chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    background: radial-gradient(circle at 100% 0%, rgba(224,242,254,.85), transparent 36%),
        linear-gradient(180deg, #f8fbff, #ffffff) !important;
}

.ai-msg.ai-bot {
    border-radius: 18px 18px 18px 6px !important;
    background: linear-gradient(135deg, rgba(239,246,255,.96), rgba(240,249,255,.94)) !important;
    border: 1px solid rgba(191,219,254,.85) !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.045) !important;
}

.ai-msg.ai-user {
    border-radius: 18px 18px 6px 18px !important;
    background: linear-gradient(135deg, #6d3df5, #2563eb, #06b6d4) !important;
    box-shadow: 0 10px 22px rgba(37,99,235,.18) !important;
}

.ai-chat-suggestions {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 12px;
    background: rgba(255,255,255,.92) !important;
    border-top: 1px solid rgba(219,234,254,.90) !important;
}

.ai-suggestion {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: rgba(240,249,255,.90) !important;
    color: #075985 !important;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s ease;
    border-color: rgba(14,165,233,.24) !important;
}

.ai-suggestion:hover {
    background: #e0f2fe !important;
    border-color: rgba(14,165,233,.50) !important;
    transform: translateY(-1px) !important;
}

.ai-chat-form {
    display: flex;
    gap: 8px;
    padding: 14px !important;
    border-top: 1px solid rgba(219,234,254,.95) !important;
    background: rgba(255,255,255,.96) !important;
    border-radius: 0 0 30px 30px !important;
}

.ai-chat-form input {
    flex: 1;
    min-width: 0;
    padding: 11px 13px;
    border: 1px solid #dbeafe;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0f172a;
    outline: none;
    font-size: 13px;
    height: 46px !important;
    border-color: rgba(191,219,254,.95) !important;
}

.ai-chat-form button {
    flex: 0 0 auto;
    padding: 0 16px;
    border: 0;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #7c3aed, #2563eb, #06b6d4) !important;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, opacity .2s ease;
    height: 46px !important;
    min-width: 66px !important;
    box-shadow: 0 12px 24px rgba(37,99,235,.22) !important;
}

.ai-chatbot.is-dragging .ai-help-btn {
    transform: scale(.96) !important;
    filter: drop-shadow(0 18px 34px rgba(37, 99, 235, .28)) !important;
}

@keyframes saraPanelRobotFloat {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(-8px);
    }
}

@keyframes saraPanelOrbit {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes saraPanelOrbitReverse {
    from {
        transform: translate(-50%, -50%) rotate(360deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}

@keyframes saraPanelShine {
    0%, 62% {
        transform: translateX(-130%);
    }

    100% {
        transform: translateX(130%);
    }
}

@media (max-width: 768px) {
    .ai-chat-panel {
        width: calc(100vw - 24px) !important;
        height: 68vh !important;
        bottom: 198px !important;
        right: 0 !important;
        border-radius: 26px !important;
    }

    .ai-chat-panel::before,
    .ai-chat-panel::after {
        border-radius: 26px !important;
    }

    .ai-chat-form {
        border-radius: 0 0 26px 26px !important;
    }

}

.ai-chat-header-left strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px !important;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .02em !important;
}

.ai-chat-header-left span {
    display: block;
    font-size: 11.5px !important;
    line-height: 1.45;
    color: rgba(255,255,255,.82) !important;
}

@keyframes saraPanelRobotFloatSoft {
    0%, 100% {
        transform: translateX(-50%) translateY(0) rotate(0deg);
    }

    35% {
        transform: translateX(-50%) translateY(-8px) rotate(-1.2deg);
    }

    70% {
        transform: translateX(-50%) translateY(-3px) rotate(1deg);
    }
}

@keyframes saraPanelGlowBreath {
    0%, 100% {
        opacity: .88;
        transform: translateX(-50%) scale(1);
    }

    50% {
        opacity: .62;
        transform: translateX(-50%) scale(1.06);
    }
}

@media (max-width: 768px) {
    .ai-panel-orbit {
        top: 60px !important;
    }

}

.ai-panel-hero {
    position: absolute !important;
    top: -82px !important;
    left: 50% !important;
    z-index: 20 !important;
    width: 150px !important;
    height: 140px !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.ai-panel-robot-img {
    position: absolute !important;
    left: calc(50% - 58px) !important;
    top: 12px !important;
    z-index: 4 !important;
    width: 116px !important;
    height: 116px !important;
    object-fit: contain !important;
    transform: none !important;
    filter: drop-shadow(0 14px 22px rgba(15, 23, 42, .22))
        drop-shadow(0 0 18px rgba(56, 189, 248, .34)) !important;
    animation: saraRobotRealFloat 3.2s ease-in-out infinite !important;
    translate: 0 0;
    rotate: 0deg;
    will-change: translate, rotate;
}

.ai-panel-glow {
    position: absolute !important;
    left: calc(50% - 62px) !important;
    top: 20px !important;
    z-index: 1 !important;
    width: 124px !important;
    height: 124px !important;
    border-radius: 50% !important;
    transform: none !important;
    background: radial-gradient(circle, rgba(56, 189, 248, .36), rgba(124, 58, 237, .18) 54%, transparent 72%) !important;
    filter: blur(12px) !important;
    animation: saraGlowBreathFixed 3.2s ease-in-out infinite !important;
    scale: 1;
    will-change: scale, opacity;
}

.ai-panel-orbit {
    position: absolute !important;
    left: 50% !important;
    top: 70px !important;
    z-index: 2 !important;
    border-radius: 50% !important;
    transform: none !important;
    pointer-events: none !important;
    transform-origin: center center !important;
    translate: 0 0;
    rotate: 0deg;
    will-change: rotate, opacity;
}

.ai-panel-orbit.orbit-1 {
    width: 118px !important;
    height: 118px !important;
    border: 1.4px solid rgba(147, 197, 253, .50) !important;
    animation: saraOrbitSpinFixed 9s linear infinite !important;
    left: calc(50% - 59px) !important;
    top: 10px !important;
}

.ai-panel-orbit.orbit-2 {
    width: 144px !important;
    height: 144px !important;
    border: 1px dashed rgba(59, 130, 246, .42) !important;
    animation: saraOrbitSpinReverseFixed 15s linear infinite !important;
    left: calc(50% - 72px) !important;
    top: -3px !important;
}

.ai-panel-orbit::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: -4px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    transform: translateX(-50%) !important;
    background: rgba(56, 189, 248, .96) !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, .92),
        0 0 18px rgba(59, 130, 246, .55) !important;
}

.ai-panel-orbit.orbit-2::before {
    width: 6px !important;
    height: 6px !important;
    top: -3px !important;
    background: rgba(168, 85, 247, .96) !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, .88),
        0 0 18px rgba(59, 130, 246, .45) !important;
}

.ai-chat-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 64px 20px 15px !important;
    background: radial-gradient(circle at 20% 0%, rgba(34,211,238,.24), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(124,58,237,.22), transparent 34%),
        linear-gradient(135deg, #111c56, #17427f, #0891b2) !important;
    color: #fff;
    position: relative !important;
    z-index: 3 !important;
    min-height: 112px !important;
    border-radius: 30px 30px 0 0 !important;
    overflow: hidden !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.20) !important;
}

@keyframes saraRobotRealFloat {
    0%, 100% {
        translate: 0 0;
        rotate: 0deg;
    }

    35% {
        translate: 0 -9px;
        rotate: -1.2deg;
    }

    70% {
        translate: 0 -4px;
        rotate: 1deg;
    }
}

@keyframes saraOrbitSpinFixed {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@keyframes saraOrbitSpinReverseFixed {
    from {
        rotate: 360deg;
    }

    to {
        rotate: 0deg;
    }
}

@keyframes saraGlowBreathFixed {
    0%, 100% {
        opacity: .9;
        scale: 1;
    }

    50% {
        opacity: .58;
        scale: 1.08;
    }
}

@media (max-width: 768px) {
    .ai-panel-hero {
        top: -70px !important;
        width: 132px !important;
        height: 122px !important;
    }

    .ai-panel-robot-img {
        width: 100px !important;
        height: 100px !important;
        top: 10px !important;
        left: calc(50% - 50px) !important;
    }

    .ai-panel-glow {
        width: 108px !important;
        height: 108px !important;
        top: 18px !important;
        left: calc(50% - 54px) !important;
    }

    .ai-panel-orbit.orbit-1 {
        width: 102px !important;
        height: 102px !important;
        left: calc(50% - 51px) !important;
        top: 9px !important;
    }

    .ai-panel-orbit.orbit-2 {
        width: 124px !important;
        height: 124px !important;
        left: calc(50% - 62px) !important;
        top: -2px !important;
    }

    .ai-chat-header {
        min-height: 104px !important;
        padding: 58px 18px 14px !important;
        border-radius: 26px 26px 0 0 !important;
    }

}

.ai-help-btn {
    position: relative !important;
    width: 190px !important;
    height: 225px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: none !important;
    cursor: pointer !important;
    background: transparent !important;
    border-radius: 28px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: visible !important;
    transition: transform .28s ease, filter .28s ease !important;
}

.ai-help-btn .ai-help-robot-img {
    position: absolute !important;
    left: calc(50% - 70px) !important;
    top: 4px !important;
    width: 140px !important;
    height: 140px !important;
    margin-top: 0 !important;
    object-fit: contain !important;
    transform: none !important;
    translate: 0 0;
    rotate: 0deg;
    z-index: 5 !important;
    filter: drop-shadow(0 16px 24px rgba(15, 23, 42, .20))
        drop-shadow(0 0 18px rgba(56, 189, 248, .30)) !important;
    animation: saraClosedRobotFloat 3.2s ease-in-out infinite !important;
    will-change: translate, rotate;
}

.ai-help-btn .ai-glow {
    position: absolute !important;
    left: calc(50% - 78px) !important;
    top: 2px !important;
    width: 156px !important;
    height: 156px !important;
    transform: none !important;
    scale: 1;
    border-radius: 50% !important;
    z-index: 1 !important;
    background: radial-gradient(circle, rgba(56, 189, 248, .36), rgba(124, 58, 237, .18) 54%, transparent 72%) !important;
    filter: blur(13px) !important;
    animation: saraClosedGlowBreath 3.2s ease-in-out infinite !important;
    will-change: scale, opacity;
}

.ai-help-btn .ai-ring {
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    transform: none !important;
    transform-origin: center center !important;
    translate: 0 0;
    rotate: 0deg;
    z-index: 2 !important;
    overflow: visible !important;
    will-change: rotate, opacity;
}

.ai-help-btn .ai-ring::before {
    display: none !important;
}

.ai-help-btn .ai-ring::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: -4px !important;
    width: 8px !important;
    height: 8px !important;
    display: block !important;
    border-radius: 999px !important;
    transform: translateX(-50%) !important;
}

.ai-help-btn .ai-ring.ring-1 {
    left: calc(50% - 68px) !important;
    top: 12px !important;
    width: 136px !important;
    height: 136px !important;
    border: 1.4px solid rgba(147, 197, 253, .50) !important;
    animation: saraClosedOrbitBlue 9s linear infinite !important;
}

.ai-help-btn .ai-ring.ring-1::after {
    background: rgba(56, 189, 248, .98) !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, .95),
        0 0 18px rgba(59, 130, 246, .60) !important;
}

.ai-help-btn .ai-ring.ring-2 {
    left: calc(50% - 82px) !important;
    top: -2px !important;
    width: 164px !important;
    height: 164px !important;
    border: 1px dashed rgba(59, 130, 246, .42) !important;
    animation: saraClosedOrbitPurple 15s linear infinite !important;
}

.ai-help-btn .ai-ring.ring-2::after {
    width: 7px !important;
    height: 7px !important;
    top: -3px !important;
    background: rgba(168, 85, 247, .98) !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, .90),
        0 0 18px rgba(59, 130, 246, .50) !important;
}

.ai-help-btn .ai-ring.ring-3 {
    left: calc(50% - 90px) !important;
    top: -10px !important;
    width: 180px !important;
    height: 180px !important;
    border: 1px solid rgba(14, 165, 233, .24) !important;
    animation: saraClosedPulseRing 3.4s ease-in-out infinite !important;
}

.ai-help-btn .ai-ring.ring-3::after {
    display: none !important;
}

.ai-help-btn::before,
.ai-help-btn::after {
    content: "" !important;
    position: absolute !important;
    z-index: 4 !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 999px !important;
    pointer-events: none !important;
}

.ai-help-btn::before {
    left: 56% !important;
    top: 2px !important;
    background: rgba(56, 189, 248, .95) !important;
    box-shadow: 0 0 10px rgba(56, 189, 248, .90),
        0 0 18px rgba(59, 130, 246, .45) !important;
    animation: saraClosedParticleOne 3.1s ease-in-out infinite !important;
}

.ai-help-btn::after {
    left: 76% !important;
    top: 98px !important;
    width: 8px !important;
    height: 8px !important;
    background: rgba(168, 85, 247, .95) !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, .90),
        0 0 18px rgba(59, 130, 246, .45) !important;
    animation: saraClosedParticleTwo 3.8s ease-in-out infinite !important;
}

.ai-help-btn .ai-name-badge {
    z-index: 10 !important;
}

@keyframes saraClosedRobotFloat {
    0%, 100% {
        translate: 0 0;
        rotate: 0deg;
    }

    35% {
        translate: 0 -9px;
        rotate: -1.2deg;
    }

    70% {
        translate: 0 -4px;
        rotate: 1deg;
    }
}

@keyframes saraClosedGlowBreath {
    0%, 100% {
        opacity: .9;
        scale: 1;
    }

    50% {
        opacity: .58;
        scale: 1.08;
    }
}

@keyframes saraClosedOrbitBlue {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@keyframes saraClosedOrbitPurple {
    from {
        rotate: 360deg;
    }

    to {
        rotate: 0deg;
    }
}

@keyframes saraClosedPulseRing {
    0%, 100% {
        scale: 1;
        opacity: .9;
    }

    50% {
        scale: 1.055;
        opacity: .52;
    }
}

@keyframes saraClosedParticleOne {
    0%, 100% {
        translate: 0 0;
        opacity: .9;
    }

    50% {
        translate: 0 -8px;
        opacity: .55;
    }
}

@keyframes saraClosedParticleTwo {
    0%, 100% {
        translate: 0 0;
        opacity: .85;
    }

    50% {
        translate: 7px -7px;
        opacity: .48;
    }
}

@media (max-width: 768px) {
    .ai-help-btn .ai-help-robot-img {
        left: calc(50% - 56px) !important;
        top: 6px !important;
        width: 112px !important;
        height: 112px !important;
    }

    .ai-help-btn .ai-glow {
        left: calc(50% - 62px) !important;
        top: 2px !important;
        width: 124px !important;
        height: 124px !important;
    }

    .ai-help-btn .ai-ring.ring-1 {
        left: calc(50% - 54px) !important;
        top: 10px !important;
        width: 108px !important;
        height: 108px !important;
    }

    .ai-help-btn .ai-ring.ring-2 {
        left: calc(50% - 65px) !important;
        top: -1px !important;
        width: 130px !important;
        height: 130px !important;
    }

    .ai-help-btn .ai-ring.ring-3 {
        left: calc(50% - 72px) !important;
        top: -8px !important;
        width: 144px !important;
        height: 144px !important;
    }

    .ai-help-btn::before {
        top: 2px !important;
    }

    .ai-help-btn::after {
        top: 80px !important;
    }

}

.ai-chat-panel.is-hidden {
    display: flex;
}

.ai-chat-close:hover {
    background: rgba(255,255,255,.20);
    transform: scale(1.05);
}

.ai-msg {
    max-width: 86%;
    padding: 10px 13px;
    margin-bottom: 10px;
    border-radius: 15px;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    white-space: pre-line;
}

.ai-bot {
    background: #eef6ff;
    color: #243b53;
    border: 1px solid #dbeafe;
    border-bottom-left-radius: 6px;
}

.ai-user {
    margin-left: auto;
    background: linear-gradient(135deg, #6d3df5, #07aeea);
    color: #fff;
    border-bottom-right-radius: 6px;
}

.ai-chat-form input:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 4px rgba(56,189,248,.14);
}

.ai-chat-form button:hover {
    transform: translateY(-1px);
    opacity: .95;
}

@media (max-width: 768px) {
    .ai-mini-label {
        font-size: 8.5px;
        bottom: 8px;
        padding: 5px 8px;
    }

}

.ai-mini-label.ai-typewriter {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    max-width: fit-content;
    border-right: 2px solid rgba(125, 211, 252, .95);
    animation: aiTypewriter 5.8s steps(11, end) infinite,
        aiCaretBlink .75s step-end infinite;
}

@keyframes aiTypewriter {
    0% {
        width: 0;
    }

    38% {
        width: 11ch;
    }

    65% {
        width: 11ch;
    }

    100% {
        width: 0;
    }
}

@keyframes aiCaretBlink {
    0%, 100% {
        border-color: transparent;
    }

    50% {
        border-color: rgba(125, 211, 252, .95);
    }
}

.ai-help-btn:hover {
    transform: translateY(-5px) scale(1.02) !important;
    filter: drop-shadow(0 18px 34px rgba(37, 99, 235, .22)) !important;
}

.ai-help-btn:active {
    transform: translateY(-2px) scale(.98) !important;
}

.ai-glow {
    position: absolute !important;
    inset: 18px;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(56,189,248,.32) 0%, rgba(99,102,241,.18) 52%, transparent 74%) !important;
    filter: blur(13px) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    top: 24px !important;
    left: 50% !important;
    width: 138px !important;
    height: 138px !important;
    transform: translateX(-50%) !important;
}

.ai-ring.ring-1 {
    width: 112px !important;
    height: 112px !important;
    border: 1.4px solid rgba(147,197,253,.42) !important;
    animation: aiSpin 14s linear infinite !important;
}

.ai-ring.ring-2 {
    width: 136px !important;
    height: 136px !important;
    border: 1px dashed rgba(59,130,246,.32) !important;
    animation: aiSpinReverse 19s linear infinite !important;
}

.ai-ring.ring-3 {
    width: 160px !important;
    height: 160px !important;
    border: 1px solid rgba(14,165,233,.18) !important;
    animation: aiPulseRing 3.4s ease-in-out infinite !important;
}

.ai-help-robot-img {
    position: relative !important;
    z-index: 5 !important;
    width: 142px !important;
    height: 142px !important;
    object-fit: contain !important;
    display: block !important;
    pointer-events: none !important;
    filter: drop-shadow(0 14px 20px rgba(15, 23, 42, .16))
        drop-shadow(0 0 16px rgba(56, 189, 248, .20)) !important;
    animation: aiRobotFloat 3.2s ease-in-out infinite !important;
    margin-top: 7px !important;
}

.ai-name-badge {
    position: absolute !important;
    left: 50% !important;
    bottom: 12px !important;
    transform: translateX(-50%) !important;
    z-index: 8 !important;
    width: 158px !important;
    min-height: 52px !important;
    padding: 9px 12px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border-radius: 18px !important;
    color: #ffffff !important;
    background: radial-gradient(circle at 100% 0%, rgba(34,211,238,.28), transparent 36%),
        linear-gradient(135deg, rgba(49,46,129,.96), rgba(37,99,235,.92), rgba(6,182,212,.86)) !important;
    border: 1px solid rgba(191,219,254,.42) !important;
    box-shadow: 0 14px 30px rgba(37, 99, 235, .22),
        inset 0 1px 0 rgba(255,255,255,.24) !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.ai-name-badge::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent) !important;
    transform: translateX(-120%) !important;
    animation: aiBadgeShine 3.6s ease-in-out infinite !important;
}

.ai-type-line {
    position: relative !important;
    z-index: 2 !important;
    display: inline-block !important;
    max-width: 120px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
    border-right: 2px solid rgba(186,230,253,.95) !important;
    animation: aiSaraType 5.6s steps(13, end) infinite,
        aiCaretBlink .75s step-end infinite !important;
}

.ai-name-badge small {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.ai-mini-label {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 6;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1;
    white-space: nowrap;
    color: #f8fafc;
    background: linear-gradient(135deg, rgba(49,46,129,.86), rgba(30,64,175,.82));
    border: 1px solid rgba(191,219,254,.28);
    box-shadow: 0 8px 20px rgba(37,99,235,.16);
    pointer-events: none;
    display: none !important;
}

@keyframes aiSaraType {
    0% {
        width: 0;
    }

    38% {
        width: 13ch;
    }

    72% {
        width: 13ch;
    }

    100% {
        width: 0;
    }
}

@keyframes aiCaretBlink {
    0%, 100% {
        border-color: transparent;
    }

    50% {
        border-color: rgba(186,230,253,.95);
    }
}

@keyframes aiRobotFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

@keyframes aiSpin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes aiSpinReverse {
    from {
        transform: translate(-50%, -50%) rotate(360deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}

@keyframes aiPulseRing {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .95;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.035);
        opacity: .62;
    }
}

@keyframes aiBadgeShine {
    0%, 60% {
        transform: translateX(-120%);
    }

    100% {
        transform: translateX(120%);
    }
}

@media (max-width: 768px) {
    .ai-chatbot {
        right: 14px !important;
        bottom: 14px !important;
        width: 152px !important;
        height: 190px !important;
    }

    .ai-help-btn {
        width: 152px !important;
        height: 190px !important;
    }

    .ai-help-robot-img {
        width: 112px !important;
        height: 112px !important;
        margin-top: 6px !important;
    }

    .ai-glow {
        top: 20px !important;
        width: 112px !important;
        height: 112px !important;
    }

    .ai-ring {
        top: 64px !important;
    }

    .ai-ring.ring-1 {
        width: 88px !important;
        height: 88px !important;
    }

    .ai-ring.ring-2 {
        width: 108px !important;
        height: 108px !important;
    }

    .ai-ring.ring-3 {
        width: 126px !important;
        height: 126px !important;
    }

    .ai-name-badge {
        width: 136px !important;
        min-height: 46px !important;
        bottom: 9px !important;
        padding: 8px 10px !important;
        border-radius: 16px !important;
    }

    .ai-type-line {
        font-size: 10px !important;
        max-width: 106px !important;
    }

    .ai-name-badge small {
        font-size: 7.5px !important;
    }

}