:root{
  --gold:#b9a259;--green:#6a7835;--grey:#9d9d9c;--ink:#10120f;--charcoal:#171916;--paper:#f5f4ef;--white:#fff;
  --line:rgba(16,18,15,.14);--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,244,239,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;width:min(var(--max),calc(100% - 48px));margin:auto}.brand{display:flex;gap:12px;align-items:center;font-size:16px;line-height:1}.brand small{display:block;color:#666;margin-top:5px;font-size:9px;letter-spacing:.15em}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--ink);color:var(--gold);font-weight:900;letter-spacing:-.1em}.brand-mark span{color:#fff}.main-nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.main-nav a{opacity:.76}.main-nav a:hover{opacity:1;color:var(--green)}.nav-register{background:var(--ink);color:#fff!important;padding:12px 20px;opacity:1!important}.menu-toggle{display:none;border:0;background:none;font-size:24px}
.hero{background:var(--charcoal);color:#fff;min-height:700px;display:flex;align-items:center;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 58%,rgba(185,162,89,.1) 58% 70%,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative;z-index:2;padding:90px 0}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--green);margin-bottom:20px}.hero .eyebrow,.gold{color:var(--gold)}h1{font-size:clamp(62px,8vw,120px);line-height:.82;letter-spacing:-.075em;margin:0 0 28px;font-weight:900}h1 span{color:var(--gold)}.hero-theme{font-size:20px;max-width:600px;color:#ddd;margin-bottom:35px}.event-meta{display:flex;gap:34px;margin-bottom:28px}.event-meta div{border-left:1px solid rgba(255,255,255,.25);padding-left:16px}.event-meta b{display:block;font-size:12px;letter-spacing:.12em}.event-meta span{display:block;color:#aaa;font-size:12px}.limited{font-size:12px;color:#ddd}.limited span{color:var(--gold)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;gap:18px;padding:15px 22px;font-size:12px;font-weight:800;letter-spacing:.02em;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--gold);color:var(--ink)}.btn-primary:hover{background:#d2bd77;transform:translateY(-2px)}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}.btn-dark{background:var(--ink);color:#fff}.hero-card{border:1px solid rgba(185,162,89,.45);padding:22px;transform:rotate(2deg);box-shadow:28px 28px 0 rgba(106,120,53,.35)}.hero-card-top,.hero-card-bottom{display:flex;justify-content:space-between;color:var(--gold);font-size:10px;letter-spacing:.18em}.square-graphic{height:390px;margin:22px 0;position:relative;background:radial-gradient(circle at 70% 30%,rgba(185,162,89,.24),transparent 22%),linear-gradient(145deg,#252921,#11130f);overflow:hidden}.graphic-line{position:absolute;height:1px;background:rgba(185,162,89,.6);width:130%;transform:rotate(-30deg);left:-20%;top:45%}.graphic-line:nth-child(2){top:58%;transform:rotate(25deg)}.graphic-node{width:14px;height:14px;border:2px solid var(--gold);border-radius:50%;position:absolute}.n1{top:23%;left:23%}.n2{top:38%;right:20%}.n3{bottom:24%;left:36%}.n4{bottom:17%;right:33%}.graphic-text{position:absolute;bottom:28px;left:28px;font-size:30px;line-height:.9;font-weight:900;letter-spacing:-.04em}
.ticker{background:var(--gold);overflow:hidden;white-space:nowrap}.ticker-track{display:flex;gap:28px;padding:13px 0;min-width:max-content;font-size:12px;font-weight:900;letter-spacing:.16em;animation:marquee 28s linear infinite}.ticker i{font-style:normal;color:var(--green)}@keyframes marquee{to{transform:translateX(-35%)}}
.section{padding:115px 0}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.section h2{font-size:clamp(45px,5vw,76px);line-height:.95;letter-spacing:-.06em;margin:0;font-weight:900}.section h2 em{font-style:normal;color:var(--green)}.lead-copy{font-size:18px;color:#444}.lead-copy p{margin-top:0;margin-bottom:22px}.objective-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:38px}.objective-grid div{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.objective-grid b{color:var(--gold)}
.dark-section{background:var(--charcoal);color:#fff}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.audience-grid div{padding:28px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);min-height:120px}.audience-grid strong{display:block;font-size:20px}.audience-grid span{color:#aaa;font-size:12px}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.muted{max-width:410px;color:#777}.status-pill{border:1px solid var(--green);padding:10px 14px;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--green);text-decoration: none;cursor: pointer}.status-pill:hover,.status-pill:focus-visible {background: #e0e0e0;text-decoration: underline}.status-pill2{border:1px solid var(--gold);padding:10px 14px;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--gold);text-decoration: none;cursor: pointer}.status-pill2:hover,.status-pill2:focus-visible {background: #e0e0e0;text-decoration: underline}.programme-placeholder{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:55px;border:1px solid var(--line);background:#fff}.big-number{font-size:110px;line-height:.7;color:var(--gold);font-weight:900}.programme-placeholder h3{font-size:28px;margin:0 0 10px}.text-link{color:var(--green);font-weight:800;font-size:13px}.speaker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.speaker-card{background:#fff;padding:15px}.speaker-img{height:270px;background:#e6e5df}.speaker-img.placeholder{display:grid;place-items:center;font-size:48px;color:var(--gold)}.speaker-card h3{margin:18px 0 4px;font-size:16px}.speaker-card p{margin:0;color:#777;font-size:12px}.exhibition{background:#e7e6df}.large{font-size:28px;line-height:1.2;color:#333}.venue{background:#e9e8e1}.venue-card{margin-top:40px;padding:25px;background:var(--charcoal);color:#fff;display:flex;flex-direction:column;gap:5px}.venue-card b{color:var(--gold);letter-spacing:.12em}.venue-card small{color:#aaa}.venue-info{display:grid;gap:20px}.venue-info>div{padding:25px;background:#fff;border-left:4px solid var(--green)}.icon{font-size:22px;color:var(--gold);float:right}.venue-info h3{margin:0 0 6px}.venue-info p{margin:0;color:#666;font-size:14px}.logo-band{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px}.logo-band div{padding:32px 15px;text-align:center;font-size:11px;font-weight:900;letter-spacing:.12em;color:#777;border-right:1px solid var(--line)}.logo-band div:last-child{border-right:0}.neutrality{margin-top:24px;padding:18px;background:#e9e8e1;color:#666;font-size:11px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-placeholder{height:260px;background:var(--charcoal);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-placeholder span{width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:20px}.video-placeholder p{font-size:12px;color:#bbb}.media-centre{background:var(--green);color:#fff}.media-centre h2 em{color:var(--gold)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.resource-grid div{border:1px solid rgba(255,255,255,.3);padding:28px}.resource-grid b,.resource-grid span{display:block}.resource-grid span{font-size:12px;color:#ddd;margin-top:7px}
.accordion details{border-top:1px solid var(--line);padding:20px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--gold);font-size:20px}details[open] summary:after{content:"−"}details p{color:#666;max-width:700px;margin-bottom:0}
.register-section{background:var(--charcoal);color:#fff}.register-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.register-intro h2 em{color:var(--gold)}.register-intro p{color:#bbb;max-width:360px}.seat-counter{border:1px solid rgba(185,162,89,.5);margin-top:45px;padding:25px}.seat-counter span,.seat-counter small{display:block;color:#aaa;font-size:10px;letter-spacing:.12em}.seat-counter strong{display:block;color:var(--gold);font-size:58px;line-height:1.1}.registration-form{background:#fff;color:var(--ink);padding:35px}.form-title{font-size:28px;font-weight:900;margin-bottom:25px}.registration-form label{display:block;font-size:11px;font-weight:800;margin-bottom:17px}.registration-form input,.registration-form select{width:100%;padding:13px 12px;margin-top:7px;border:1px solid #d2d1ca;background:#fafaf8;font:inherit;font-size:13px;outline:none}.registration-form input:focus,.registration-form select:focus{border-color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;color:#555}.check input{width:auto;margin:2px 0 0}.submit-btn{border:0;width:100%;justify-content:center;cursor:pointer;margin-top:8px}.form-note{font-size:10px;color:#888;text-align:center}.hidden{display:none!important}.form-message{padding:12px;background:#e8f0df;color:var(--green);display:none;font-size:12px;margin-top:15px}
.footer{background:#0e100d;color:#fff}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:70px 0}.footer-brand h3{margin:15px 0 3px}.footer-brand p{color:#888;font-size:12px}.footer-top b{font-size:10px;color:var(--gold);letter-spacing:.15em}.footer-top a{display:block;color:#aaa;font-size:12px;margin-top:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;color:#777;font-size:10px}
@media(max-width:900px){.main-nav{display:none}.menu-toggle{display:block}.main-nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.hero-grid,.two-col,.register-wrap{grid-template-columns:1fr;gap:45px}.hero{min-height:auto}.hero-grid{padding:70px 0}.hero-card{max-width:650px}.audience-grid{grid-template-columns:repeat(2,1fr)}.speaker-grid{grid-template-columns:repeat(2,1fr)}.section-heading-row{align-items:start;flex-direction:column}.video-grid,.resource-grid{grid-template-columns:1fr}.logo-band{grid-template-columns:repeat(2,1fr)}.logo-band div{border-bottom:1px solid var(--line)}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.container,.nav-wrap{width:min(100% - 28px,var(--max))}.event-meta{gap:12px;flex-wrap:wrap}.hero-actions .btn{width:100%;justify-content:center}.audience-grid,.speaker-grid,.form-grid{grid-template-columns:1fr}.programme-placeholder{grid-template-columns:1fr;padding:30px}.big-number{font-size:70px}.section{padding:80px 0}.section h2{font-size:48px}.registration-form{padding:24px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}

/* Revised FinTech Square 2026 */
.hero-theme{max-width:680px}
.promo-video-card{transform:rotate(0);padding:18px}
.promo-video{position:relative;background:#0a0c09;overflow:hidden;margin:20px 0;width: 100%}
.promo-video video{display:block;width:100%;height:auto;object-fit:contain;background:#0a0c09;max-width: 100%}
.video-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#20251c,#090b08);color:#fff;pointer-events:none}
.play-icon{width:62px;height:62px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.video-fallback strong{font-size:22px}.video-fallback small{color:#aaa}
.speaker-grid-eight{grid-template-columns:repeat(4,1fr)}
.speaker-clickable,.supporter-card{cursor:pointer;transition:transform .2s,box-shadow .2s}
.speaker-clickable:hover,.supporter-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.08)}
.speaker-img.placeholder{font-size:42px;font-weight:900;letter-spacing:-.05em;background:linear-gradient(145deg,#deddd5,#f3f2ec)}
.profile-modal{position:fixed;inset:0;z-index:100;background:rgba(10,12,9,.78);display:none;align-items:center;justify-content:center;padding:20px}
.profile-modal.is-open{display:flex}
.modal-panel{position:relative;width:min(600px,100%);background:var(--paper);padding:55px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:34px;cursor:pointer;color:#555}
.modal-number{font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:900;margin-bottom:15px}
.modal-panel h2{font-size:48px;line-height:1;margin:0 0 8px;letter-spacing:-.05em}.modal-role{color:var(--green);font-weight:800}.modal-panel p:not(.modal-role){color:#555}
.sponsor-section{background:#e9e8e1}.supporters-section{background:#f5f4ef}
.supporter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.supporter-card{background:#fff;padding:15px}.supporter-logo{height:190px;background:var(--charcoal);color:var(--gold);display:grid;place-items:center;font-size:44px;font-weight:900}
.supporter-card h3{margin:18px 0 4px;font-size:16px}.supporter-card p{margin:0;color:#777;font-size:12px}.calendar-btn{margin-top:18px}
@media(max-width:900px){.speaker-grid-eight,.supporter-grid{grid-template-columns:repeat(2,1fr)}.promo-video video{height:320px}}
@media(max-width:560px){.speaker-grid-eight,.supporter-grid{grid-template-columns:1fr}.promo-video video{height:250px}.modal-panel{padding:40px 25px}.modal-panel h2{font-size:38px}}


/* FinTech Square 2026 - Updated speaker, organisation and external-form UI */
.speaker-img img,.supporter-logo img{width:100%;height:100%;object-fit:cover;display:block}
.speaker-img{aspect-ratio:1/1;overflow:hidden;background:#e9e8e1}
.supporter-logo{overflow:hidden}
.speaker-info-panel{width:min(1000px,100%);max-height:90vh;overflow:auto}
.speaker-info-layout{display:grid;grid-template-columns:minmax(260px,40%) 1fr;gap:42px;align-items:start}
.speaker-modal-image{aspect-ratio:1/1;overflow:hidden;background:#e9e8e1}
.speaker-modal-image img{width:100%;height:100%;object-fit:cover;display:block}
.speaker-topic-box{border-left:3px solid var(--gold);padding:20px 24px;margin:0 0 24px;background:rgba(185,162,89,.09)}
.topic-label{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:10px}
.speaker-topic-box h3{font-size:23px;line-height:1.2;margin:0 0 12px}
.speaker-topic-box p{line-height:1.7;margin:0}
.bio-info-button{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid var(--green);background:var(--green);color:#fff;font:700 12px inherit;cursor:pointer;transition:.2s}
.bio-info-button:hover{background:var(--gold);border-color:var(--gold)}
.biography-panel{width:min(700px,100%);max-height:85vh;overflow:auto}
.bio-content{border-top:1px solid var(--line);padding-top:24px;margin-top:24px;line-height:1.8}
.external-forms-card{background:#fff;color:var(--ink);padding:35px}
.external-forms-card>p{color:#666;max-width:600px;line-height:1.7}
.external-form-links{display:grid;gap:12px;margin-top:24px}
.external-form-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #ddd;background:#fafaf8;color:var(--ink);text-decoration:none;transition:.2s}
.external-form-link:hover{border-color:var(--gold);transform:translateY(-2px)}
.external-form-link span{display:flex;flex-direction:column;gap:5px}.external-form-link small{font-size:9px;letter-spacing:.14em;color:var(--green);font-weight:900}.external-form-link strong{font-size:15px}.external-form-link b{font-size:20px;color:var(--green)}
.pitch-arena-section{background:#f5f4ef}
@media(max-width:900px){.speaker-info-layout{grid-template-columns:1fr;gap:25px}.speaker-modal-image{max-width:360px}.speaker-info-panel{max-height:92vh}.external-forms-card{padding:28px}}
@media(max-width:560px){.speaker-info-panel,.biography-panel{padding:38px 22px}.speaker-info-layout{gap:20px}.speaker-modal-image{max-width:none}.speaker-topic-box{padding:16px 18px}.speaker-topic-box h3{font-size:20px}.external-forms-card{padding:24px}.external-form-link{padding:15px}}

.organisation-modal-logo{width:180px;height:110px;margin:0 0 20px;overflow:hidden}.organisation-modal-logo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:560px){.organisation-modal-logo{width:150px;height:95px}}


/* =========================================================
   YOUTUBE VIDEO CARDS
========================================================= */

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

.youtube-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(157, 157, 156, .45);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.youtube-card:hover {
    transform: translateY(-5px);
    border-color: #b9a259;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .10);
}


/* Thumbnail */

.youtube-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #9d9d9c;
}

.youtube-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.youtube-card:hover .youtube-thumbnail img {
    transform: scale(1.04);
}


/* YouTube play button */

.youtube-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 64px;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, .78);
    color: #fff;

    border-radius: 50%;

    font-size: 22px;
    padding-left: 3px;

    transition:
        background .25s ease,
        transform .25s ease;
}

.youtube-card:hover .youtube-play {
    background: #b9a259;
    transform: translate(-50%, -50%) scale(1.08);
}


/* Text */

.youtube-card-content {
    padding: 22px;
}

.video-label {
    display: block;
    margin-bottom: 8px;

    color: #6a7835;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.youtube-card-content h3 {
    margin: 0 0 10px;
    font-size: 21px;
    line-height: 1.2;
}

.youtube-card-content p {
    margin: 0;
    color: #666;
    line-height: 1.6;
    font-size: 14px;
}


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

@media (max-width: 900px) {

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

}

@media (max-width: 600px) {

    .video-grid {
        grid-template-columns: 1fr;
    }

    .youtube-play {
        width: 54px;
        height: 54px;
        font-size: 18px;
    }

    .youtube-card-content {
        padding: 18px;
    }

}


/* =========================================================
   SPONSORS & SUPPORTERS — RESPONSIVE
   ========================================================= */

.supporter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.supporter-card {
    min-width: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 15px;
    overflow: hidden;
}

.supporter-logo {
    width: 100%;
    height: 190px;
    flex-shrink: 0;
    background: var(--charcoal);
    overflow: hidden;
    display: grid;
    place-items: center;
}

.supporter-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.supporter-card h3 {
    margin: 18px 0 6px;
    font-size: 16px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: normal;
}

.supporter-card p {
    margin: 0;
    color: #777;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* =========================================================
   ORGANISATION PROFILE MODALS
   ========================================================= */

.profile-modal {
    padding: 20px;
    overflow-y: auto;
}

.modal-panel {
    width: min(700px, 100%);
    max-width: 100%;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 50px;
    box-sizing: border-box;
}

.organisation-modal-logo {
    width: 180px;
    height: 110px;
    margin-bottom: 24px;
    overflow: hidden;
    background: #fff;
}

.organisation-modal-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.modal-panel h2 {
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.modal-panel p {
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.modal-close {
    z-index: 5;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

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

    .supporter-logo {
        height: 210px;
    }

    .modal-panel {
        width: min(650px, 100%);
        padding: 45px;
    }
}

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

@media (max-width: 600px) {

    .sponsor-section,
    .supporters-section {
        overflow: hidden;
    }

    .supporter-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .supporter-card {
        padding: 14px;
    }

    .supporter-logo {
        height: auto;
        aspect-ratio: 16 / 9;
        min-height: 160px;
        max-height: 220px;
    }

    .supporter-card h3 {
        font-size: 17px;
        line-height: 1.25;
        margin-top: 15px;
    }

    .supporter-card p {
        font-size: 12px;
    }

    /* Modal */
    .profile-modal {
        padding: 10px;
        align-items: flex-start;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .modal-panel {
        width: 100%;
        max-height: calc(100vh - 40px);
        padding: 35px 22px 28px;
    }

    .modal-close {
        right: 12px;
        top: 8px;
        font-size: 30px;
    }

    .modal-number {
        font-size: 10px;
        margin-bottom: 12px;
    }

    .organisation-modal-logo {
        width: 145px;
        height: 90px;
        margin-bottom: 18px;
    }

    .modal-panel h2 {
        font-size: 34px;
        line-height: 1.05;
        letter-spacing: -0.04em;
        margin-bottom: 10px;
    }

    .modal-role {
        font-size: 13px;
        line-height: 1.5;
    }

    .modal-panel p:not(.modal-role) {
        font-size: 13px;
        line-height: 1.7;
    }
}

/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 380px) {

    .supporter-card {
        padding: 12px;
    }

    .supporter-logo {
        min-height: 140px;
    }

    .supporter-card h3 {
        font-size: 15px;
    }

    .supporter-card p {
        font-size: 11px;
    }

    .profile-modal {
        padding: 8px;
    }

    .modal-panel {
        padding: 32px 18px 24px;
    }

    .organisation-modal-logo {
        width: 125px;
        height: 78px;
    }

    .modal-panel h2 {
        font-size: 29px;
    }

    .modal-panel p:not(.modal-role) {
        font-size: 12px;
        line-height: 1.65;
    }
}

/* Wide Logo */
.brand-logo{
    display: block;
    width: auto;
    height: 55px;      /* Desktop */
    max-width: 320px;
    object-fit: contain;
}

@media (max-width: 1024px){

    .brand-logo{
        height: 48px;
        max-width: 260px;
    }

}

@media (max-width: 768px){

    .brand-logo{
        height: 40px;
        max-width: 220px;
    }

}

@media (max-width: 480px){

    .brand-logo{
        height: 34px;
        max-width: 180px;
    }
}

/* =========================================================
   SPEAKER / PANELLIST GROUPS
   ========================================================= */

.speaker-group {
  margin-bottom: 70px;
}
.speaker-group:last-child {
  margin-bottom: 0;
}
.speaker-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}
.group-kicker {
  font-size: 11px;
  letter-spacing: .22em;
  font-weight: 900;
  color: var(--green);
  text-transform: uppercase;
}
.group-count {
  font-size: 10px;
  letter-spacing: .16em;
  font-weight: 800;
  color: var(--grey);
  text-transform: uppercase;
}
.speaker-group-panelists .group-kicker {
  color: var(--gold);
}

/* Panelist badge on card */
.speaker-img {
  position: relative;
}
.panelist-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-block;
  padding: 5px 10px;
  background: var(--gold);
  color: var(--ink);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
}
.panelist-card .speaker-img::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 2px rgba(185,162,89,.85);
  pointer-events: none;
}

/* Panelist variant of the topic box (gold accent) */
.speaker-topic-box.panelist-topic-box {
  border-left-color: var(--gold);
  background: rgba(185,162,89,.14);
}
.speaker-topic-box.panelist-topic-box .topic-label {
  color: #8a7530;
}

/* =========================================================
   MOBILE — speaker groups & panelist badge
   ========================================================= */

@media (max-width: 900px) {
  .speaker-group { margin-bottom: 55px; }
  .speaker-group-heading { margin-bottom: 22px; }
  .group-kicker { font-size: 10px; letter-spacing: .18em; }
}

@media (max-width: 560px) {
  .speaker-group { margin-bottom: 45px; }
  .panelist-badge {
    top: 8px;
    left: 8px;
    font-size: 8px;
    padding: 4px 8px;
  }
}

@media (max-width: 380px) {
  .group-kicker { font-size: 9px; }
  .group-count { font-size: 9px; }
}

/* =========================================================
   HERO PROMO VIDEO — MOBILE FIX
   Keeps the promo video visible on small screens
   (the old ".hero-card{display:none}" rule hid it by mistake)
   ========================================================= */

/* Tablet / small laptop: slightly tighter card */
@media (max-width: 900px) {
  .promo-video-card {
    transform: rotate(0);
    max-width: 100%;
  }
  .promo-video video {
    height: auto;          /* let aspect ratio drive height */
    max-height: 420px;
    object-fit: contain;
  }
}

/* Phones */
@media (max-width: 560px) {
  .promo-video-card {
    display: block;        /* override any leftover display:none */
    width: 100%;
    max-width: 100%;
    padding: 14px;
    margin-top: 8px;
    transform: none;
    box-shadow: 18px 18px 0 rgba(106,120,53,.35); /* smaller offset */
  }

  .promo-video {
    margin: 14px 0;
    width: 100%;
  }

  .promo-video video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 60vh;
    object-fit: contain;
    background: #0a0c09;
  }

  .hero-card-top,
  .hero-card-bottom {
    font-size: 9px;
    letter-spacing: .14em;
    gap: 8px;
  }

  .hero-card-bottom {
    flex-wrap: wrap;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  .promo-video-card {
    padding: 12px;
    box-shadow: 12px 12px 0 rgba(106,120,53,.35);
  }
  .promo-video video {
    max-height: 50vh;
  }
}


@media (max-width: 560px) {
  /* Make the promo card edge-to-edge on phones */
  .promo-video-card {
    box-shadow: none;
    border-color: rgba(185,162,89,.35);
    padding: 12px;
  }

  /* Prevent iOS Safari from showing the poster as a big grey box */
  .promo-video video {
    -webkit-appearance: none;
    appearance: none;
    background: #000;
  }
}