/* 99ELECTRA 2027 — three Bootstrap 5.3.8 website themes.
   Shared brand tokens; theme-specific compositions follow below. */
:root {
   --navy: #052551;
   --navy-deep: #041a3a;
   --green: #098c39;
   --green-dark: #06562a;
   --gold: #ffca2c;
   --ink: #09264e;
   --muted: #536173;
   --line: #dce4ed;
   --light: #f4f7fa;
   --bs-body-font-family: Arial, Helvetica, sans-serif;
   --bs-body-color: var(--ink);
   --bs-body-line-height: 1.7;
   --bs-primary: var(--green);
   --bs-link-color: var(--green-dark);

}

body {
   font-family: Arial, Helvetica, sans-serif;
   color: var(--navy);
   line-height: 1.6;
}

html {
   scroll-behavior: smooth;
   scroll-padding-top: 110px
}

body {
   overflow-x: clip
}

img {
   max-width: 100%;
   height: auto
}

a {
   color: inherit;
   text-decoration: none
}

a:hover {
   color: var(--green)
}

h1,
h2,
h3 {
   font-weight: 750;
   line-height: 1.08;
   letter-spacing: -.045em
}

h1 {
   font-size: clamp(3rem, 4.8vw, 5.2rem)
}

h2 {
   font-size: clamp(2.2rem, 3.4vw, 3.7rem);
   margin: 18px 0 25px
}

h3 {
   font-size: 1.5rem;
   letter-spacing: -.025em
}

em {
   font-style: normal;
   color: var(--green)
}

p {
   font-size: 1rem;
   color: var(--muted)
}

button,
a,
input,
select,
textarea {
   touch-action: manipulation
}

a:focus-visible,
button:focus-visible {
   outline: 3px solid #2e89ff;
   outline-offset: 4px
}

.container-xxl {
   --bs-gutter-x: 3rem
}

.icon {
   width: 24px;
   height: 24px;
   flex-shrink: 0;
   vertical-align: middle
}

.btn {
   --bs-btn-border-radius: 7px;
   font-weight: 700;
   padding: 15px 23px;
   font-size: .95rem;
   line-height: 1.5;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   gap: 17px;
   transition: transform .25s, background .25s, box-shadow .25s
}

.btn .icon {
   width: 21px;
   height: 21px;
   transition: transform .25s
}

.btn:hover {
   transform: translateY(-2px)
}

.btn:hover .icon {
   transform: translateX(4px)
}

.btn-primary {
   --bs-btn-bg: var(--gold);
   --bs-btn-border-color: var(--gold);
   --bs-btn-color: var(--navy-deep);
   --bs-btn-hover-bg: #ffdb63;
   --bs-btn-hover-border-color: #ffdb63;
   --bs-btn-hover-color: var(--navy-deep);
   --bs-btn-active-bg: #ffdb63;
   --bs-btn-active-border-color: #ffdb63;
   --bs-btn-active-color: var(--navy-deep);
   --bs-btn-disabled-color: var(--navy-deep);
   --bs-btn-disabled-bg: var(--gold);
   --bs-btn-disabled-border-color: var(--gold)
}

.btn-outline-navy {
   --bs-btn-color: var(--navy);
   --bs-btn-border-color: var(--navy);
   --bs-btn-hover-color: white;
   --bs-btn-hover-bg: var(--navy);
   --bs-btn-hover-border-color: var(--navy)
}

.btn-hero-outline {
   --bs-btn-color: white;
   --bs-btn-border-color: #ffffffe0;
   --bs-btn-hover-bg: white;
   --bs-btn-hover-color: var(--navy);
   --bs-btn-hover-border-color: white
}

.btn-sm {
   padding: 12px 15px;
   font-size: .82rem;
   gap: 10px
}

.text-link {
   display: inline-flex;
   align-items: center;
   gap: 20px;
   font-weight: 700;
   font-size: .95rem;
   color: var(--green-dark);
   margin-top: 18px;
   padding: 8px 0;
   border-bottom: 1px solid #098c3960
}

.text-link:hover {
   gap: 26px
}

.eyebrow {
   display: block;
   font-size: .75rem;
   letter-spacing: .19em;
   font-weight: 750;
   line-height: 1.65;
   margin-bottom: 0
}

.section-kicker {
   color: #da0000
}

.section {
   padding: 64px 0
}

.section-heading {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 55px;
   margin-bottom: 45px
}

.section-heading h2 {
   margin-bottom: 0
}

.section-heading>p {
   max-width: 430px;
   margin-bottom: 0
}

.lead-copy {
   font-size: 1.25rem;
   color: #da0000;
   line-height: 1.55;
   letter-spacing: -.015em
}

.skip-link {
   position: fixed;
   left: 20px;
   top: 10px;
   z-index: 2000;
   padding: 12px 20px;
   background: white;
   color: var(--navy);
   transform: translateY(-150%)
}

.skip-link:focus {
   transform: none
}

/* Compact review navigation. Remove .design-switch to use a single standalone design. */
.design-switch {
   background: #f2f5f8;
   border-bottom: 1px solid #e0e6ee;
   font-size: .75rem;
   min-height: 40px
}

.design-switch nav {
   display: flex;
   gap: 6px
}

.design-switch nav a {
   padding: 9px 12px;
   display: block;
   color: #485969;
   line-height: 1.6
}

.design-switch nav a span {
   font-size: .65rem;
   margin-right: 5px
}

.design-switch nav a[aria-current=page] {
   background: var(--navy);
   color: white
}

.all-designs {
   font-weight: 700
}

.motion-toggle {
   border: 0;
   background: none;
   color: #4c5e71;
   font-size: .75rem;
   white-space: nowrap;
   padding: 8px
}

.site-header {
   background: #fffffffa;
   border-bottom: 1px solid #e9edf1;
   box-shadow: 0 5px 22px #06245208
}

.navbar {
   padding: 16px 0
}

.navbar-brand {
   padding: 0;
   margin-right: 20px
}

.brand-crop {
   display: block;
   position: relative;
   overflow: hidden;
   width: 260px;
   aspect-ratio: 376/94;
   background: white
}

.brand-crop img {
   position: absolute;
   max-width: none;
   width: 408.5106%;
   height: auto;
   left: -29.2553%;
   top: -13.8298%;
   pointer-events: none
}

.nav-link {
   font-size: .9rem;
   font-weight: 650;
   padding: .8rem .7rem !important;
   color: var(--navy)
}

.nav-link:hover {
   color: var(--green)
}

.navbar-toggler {
   padding: 6px 8px;
   border-color: #09264e30
}

.navbar-toggler:focus {
   box-shadow: 0 0 0 3px #098c3930
}

.navbar-nav {
   gap: 2px
}

/* Hero carousel: real HTML overlay, three Bootstrap slides, keyboard and touch. */
.event-ribbon {
   background: var(--navy);
   color: white
}

.event-ribbon>.container-xxl {
   min-height: 46px;
   display: flex;
   gap: 15px;
   justify-content: center;
   align-items: center;
   font-size: .9rem
}

.event-ribbon .icon {
   width: 20px;
   height: 20px
}

.ribbon-divider {
   width: 1px;
   height: 22px;
   background: #ffffff50;
   margin: 0 14px
}

.hero-section {
   background: var(--navy-deep);
   color: white;
   position: relative
}

.carousel-item {
   min-height: 660px;
   position: relative;
   overflow: hidden
}

.hero-image {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   max-width: none;
   object-fit: cover;
   object-position: center
}

.hero-shade {
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, #002593e8, #3a55a400)
}

.carousel-item:nth-child(3) .hero-shade {
   background: linear-gradient(90deg, #021831ed 0%, #021831ba 40%, #0218311f 100%)
}

.hero-copy {
   position: relative;
   padding: 85px 0 120px;
   max-width: 810px;
   z-index: 1
}

.hero-copy .eyebrow {
   color: #b8e0bd;
   margin-bottom: 25px
}

.hero-copy h1 {
   color: white;
   margin: 0 0 20px
}

.hero-copy h1 em {
   color: var(--gold)
}

.hero-description {
   font-size: clamp(1.1rem, 1.6vw, 1.5rem);
   line-height: 1.5;
   color: #f0f4fc;
   max-width: 650px;
   margin-bottom: 22px
}

.hero-slogan {
   display: none
}

.hero-meta {
   display: flex;
   gap: 20px;
   flex-wrap: wrap;
   margin-bottom: 27px;
   font-size: .95rem;
   font-weight: 650
}

.hero-meta span {
   display: flex;
   gap: 10px;
   align-items: center
}

.hero-meta .icon {
   color: var(--gold);
   width: 21px;
   height: 21px
}

.hero-actions {
   display: flex;
   gap: 14px;
   flex-wrap: wrap
}

.slider-toolbar {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: 50px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   z-index: 3;
   pointer-events: none
}

.slider-toolbar>* {
   pointer-events: auto
}

.slide-controls {
   display: flex;
   gap: 14px;
   align-items: center
}

.slider-arrow,
.slider-pause {
   border: 1px solid #ffffff60;
   color: white;
   background: #05255150;
   backdrop-filter: blur(8px);
   font-size: 1.1rem;
   line-height: 1;
   padding: 11px 13px;
   transition: background .2s
}

.slider-arrow:hover,
.slider-pause:hover {
   background: #ffffff25;
   color: white
}

.slider-pause {
   font-size: .75rem;
   line-height: 1.4;
   padding: 9px 14px;
   border-radius: 4px
}

.carousel-indicators {
   position: static;
   display: flex;
   gap: 7px;
   margin: 0
}

.carousel-indicators [data-bs-target] {
   border: 0;
   width: 22px;
   height: 4px;
   margin: 0;
   opacity: .4
}

.carousel-indicators .active {
   opacity: 1;
   background: var(--gold)
}

.slide-number {
   font-size: .7rem;
   letter-spacing: .12em;
   opacity: .8
}

.event-card {
   position: relative;
   margin-top: -30px;
   z-index: 4;
   padding: 27px 35px;
   border-radius: 13px;
   background: white;
   box-shadow: 0 12px 45px #00183216;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 26px
}

.event-card>div,
.event-card>a {
   display: flex;
   align-items: center;
   gap: 17px
}

.event-card>div+div {
   border-left: 1px solid var(--line);
   padding-left: 32px
}

.event-card small {
   font-size: .63rem;
   letter-spacing: .09em;
   display: block;
   color: #647184;
   margin-bottom: 4px
}

.event-card strong {
   font-size: 1.1rem
}

.event-card>div>.icon {
   width: 30px;
   height: 30px;
   color: var(--green-dark)
}

.event-card>a {
   font-weight: 700;
   font-size: .9rem
}

.event-card>a>.icon {
   color: var(--green-dark)
}

.event-card>a>.icon:last-child {
   width: 18px
}

.sector-ribbon {
   background: var(--navy);
   color: white;
   padding: 27px 0
}

.sector-ribbon>.container-xxl {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 25px
}

.sector-ribbon span {
   font-size: .85rem;
   max-width: 230px;
   color: #d2dcf1;
   line-height: 1.5
}

.sector-ribbon a {
   font-size: 1rem;
   font-weight: 700;
   display: flex;
   gap: 13px;
   align-items: center
}

.sector-ribbon a:hover {
   color: var(--gold)
}

.sector-ribbon .icon {
   color: var(--gold);
   width: 30px;
   height: 30px
}

/* Full page editorial sections. */
.about-values {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 25px;
   margin: 28px 0 10px
}

.about-values span {
   font-size: .875rem;
   display: flex;
   align-items: center;
   gap: 9px
}

.about-values .icon {
   color: var(--green);
   width: 18px;
   height: 18px
}

.about-visual {
   position: relative;
   /* padding: 0 0 35px 30px*/
}

.about-visual img {
   width: 100%;
   height: 470px;
   object-fit: cover;
   border-radius: 10px
}


.about-visual>img::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: linear-gradient(115deg, transparent 35%, #ffffff85 48%, transparent 61%);
   transform: translateX(-145%);
}

.about-visual>img {
   transition: transform 0.65s cubic-bezier(0.2, 0.7, 0.3, 1);
   will-change: auto;
}

.about-visual>img:hover .about-visual>img {
   transform: scale(1.065) rotate(-1deg);
}

.visual-caption {
   position: absolute;
   bottom: 0;
   left: 0;
   background: #004099;
   color: white;
   padding: 27px 35px;
   border-radius: 8px;
   box-shadow: 0 12px 30px #0525511a
}

.visual-caption span {
   font-size: .65rem;
   letter-spacing: .17em
}

.visual-caption strong {
   display: block;
   font-size: 1.4rem;
   line-height: 1.25;
   margin-top: 10px;
   letter-spacing: -.02em
}

.sectors-section {
   background: var(--light)
}

.sector-card {
   height: 100%;
   border: 1px solid #dfe6ed;
   border-radius: 12px;
   background: white;
   overflow: hidden;
   transition: transform .3s, box-shadow .3s
}

.sector-card:hover {
   transform: translateY(-7px);
   box-shadow: 0 18px 45px #06245214
}

.sector-image {
   height: 200px;
   position: relative;
   background: #052551
}

.sector-image img {
   height: 100%;
   width: 100%;
   object-fit: cover;
   object-position: right center
}

.sector-card .sector-icon {
   position: absolute;
   left: 25px;
   bottom: -24px;
   background: var(--green);
   color: white;
   border: 5px solid white;
   border-radius: 50%;
   display: grid;
   place-items: center;
   width: 62px;
   height: 62px
}

.sector-card .sector-icon .icon {
   width: 27px;
   height: 27px
}

.sector-body {
   padding: 43px 28px 30px
}

.card-number {
   display: block;
   font-size: .65rem;
   letter-spacing: .15em;
   color: #738093;
   margin-bottom: 16px
}

.sector-body h3 {
   margin-bottom: 13px
}

.sector-body p {
   min-height: 54px
}

.clean-list {
   padding: 0;
   list-style: none;
   margin: 22px 0 0
}

.clean-list li {
   display: flex;
   align-items: center;
   gap: 10px;
   margin: 11px 0;
   font-size: .9rem
}

.clean-list .icon {
   color: var(--green);
   width: 17px;
   height: 17px
}

.exhibit-image {
   position: relative;
   height: 590px;
   border-radius: 12px;
   overflow: hidden
}

.exhibit-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 75% center
}

.image-caption {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: linear-gradient(transparent, #03162fe8);
   padding: 80px 30px 30px;
   color: white;
   font-size: 1.4rem;
   letter-spacing: -.02em;
   font-weight: 700
}

.benefit-list {
   margin: 30px 0
}

.benefit-list>div {
   display: flex;
   gap: 22px;
   align-items: flex-start;
   padding: 18px 0;
   border-bottom: 1px solid var(--line)
}

.benefit-list>div:first-child {
   padding-top: 0
}

.benefit-list>div>span {
   font-size: .75rem;
   color: var(--green);
   font-weight: 700;
   padding-top: 5px
}

.benefit-list h3 {
   font-size: 1.15rem;
   letter-spacing: -.01em;
   margin-bottom: 8px
}

.benefit-list p {
   font-size: .9rem;
   margin-bottom: 0
}

.visit-section {
   background: #f0f7f3
}

.visitor-list {
   margin: 25px 0 33px
}

.visitor-image {
   position: relative;
   padding-bottom: 25px
}

.visitor-image>img {
   height: 520px;
   object-fit: cover;
   width: 100%;
   border-radius: 12px
}

.visitor-note {
   position: absolute;
   bottom: 0;
   left: 30px;
   right: 30px;
   border-radius: 9px;
   background: white;
   box-shadow: 0 12px 35px #041a3a12;
   padding: 25px;
   display: flex;
   gap: 20px;
   align-items: center
}

.visitor-note .icon {
   width: 45px;
   height: 45px;
   color: var(--green)
}

.visitor-note strong {
   font-size: 1.15rem;
   line-height: 1.4
}

.sponsorship-section {
   background: var(--navy-deep);
   color: white
}

.sponsorship-section .section-kicker {
   color: #90d699
}

.sponsorship-section h2 em {
   color: var(--gold)
}

.sponsorship-section p {
   color: #b9c7da
}

.sponsor-card {
   height: 100%;
   padding: 30px;
   border: 1px solid #ffffff25;
   background: #ffffff04;
   border-radius: 10px;
   transition: background .3s, transform .3s
}

.sponsor-card:hover {
   background: #ffffff0d;
   transform: translateY(-5px)
}

.sponsor-number {
   display: block;
   font-size: .75rem;
   color: var(--gold);
   margin-bottom: 35px
}

.sponsor-card h3 {
   font-size: 1.75rem;
   margin-bottom: 15px
}

.sponsor-card p {
   min-height: 60px;
   font-size: .9rem
}

.btn-sponsor {
   --bs-btn-color: white;
   --bs-btn-border-color: #ffffff4d;
   --bs-btn-hover-color: var(--navy);
   --bs-btn-hover-bg: var(--gold);
   --bs-btn-hover-border-color: var(--gold);
   padding: 10px 15px;
   font-size: .85rem;
   margin-top: 15px
}

.venue-panel {
   display: grid;
   grid-template-columns: 1.05fr 1fr;
   background: #eef4f9;
   border-radius: 15px;
   overflow: hidden
}

.venue-title {
   background: var(--green-dark);
   color: white;
   padding: 65px
}

.venue-title h2 {
   font-size: 3.5rem
}

.venue-title p {
   color: #c1e3cf;
   margin-bottom: 0
}

.venue-title .eyebrow {
   color: #abdab6
}

.venue-details {
   padding: 65px;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   gap: 34px;
   background: var(--navy);
   color: white
}

.venue-details>div {
   display: flex;
   gap: 20px
}

.venue-details>div>.icon {
   color: var(--gold);
   width: 28px;
   height: 28px;
   margin-top: 2px
}

.venue-details span {
   display: block;
   font-size: .65rem;
   letter-spacing: .15em;
   color: #b7c8df;
   margin-bottom: 12px
}

.venue-details h3 {
   font-size: 1.6rem;
   margin-bottom: 8px
}

.venue-details p {
   color: #bac9dd;
   margin: 0
}

.venue-details .btn {
   font-size: .85rem;
   padding: 12px 18px
}

.faq-section {
   padding-top: 10px
}

.faq-section h2 {
   margin-bottom: 25px
}

.faq-section p {
   line-height: 1.9
}

.accordion {
   --bs-accordion-border-color: var(--line);
   --bs-accordion-btn-color: var(--navy);
   --bs-accordion-active-bg: #eef6f0;
   --bs-accordion-active-color: var(--green-dark);
   --bs-accordion-btn-focus-box-shadow: 0 0 0 3px #098c3920
}

.accordion-button {
   font-weight: 650;
   font-size: 1rem;
   line-height: 1.5;
   letter-spacing: 0;
   padding: 25px 20px
}

.accordion-body {
   font-size: .95rem;
   color: var(--muted);
   line-height: 1.8;
   padding: 15px 20px 30px
}

.contact-section {
   padding: 75px 0;
   background: var(--green-dark);
   color: white
}

.contact-section h2 {
   font-size: clamp(2rem, 3vw, 3.25rem);
   margin-top: 18px
}

.contact-section .eyebrow {
   color: #b9d8b6
}

.contact-section p {
   color: #c2dece;
   font-size: .85rem
}

.contact-email {
   display: inline-flex;
   gap: 20px;
   align-items: center;
   color: var(--gold);
   font-size: 1.15rem;
   padding-top: 7px
}

.contact-email:hover {
   color: white
}

.site-footer {
   padding-top: 65px;
   background: #031a35;
   color: white
}

.footer-brand {
   font-size: 2rem;
   font-weight: 800;
   letter-spacing: -.08em;
   display: inline-block;
   margin-bottom: 15px
}

.footer-brand span {
   color: var(--gold);
   font-size: .8rem;
   letter-spacing: .12em;
   margin-left: 8px
}

.site-footer p,
.site-footer a:not(.footer-brand) {
   color: #b7c5d9;
   font-size: .875rem
}

.site-footer p {
   margin-bottom: 10px
}

.site-footer h3 {
   font-size: 1rem;
   letter-spacing: 0;
   margin: 8px 0 20px
}

.site-footer .row a:not(.footer-brand) {
   display: block;
   margin: 8px 0
}

.site-footer a:hover {
   color: var(--gold)
}

.footer-bottom {
   margin-top: 45px;
   border-top: 1px solid #ffffff20;
   padding: 24px 0;
   display: flex;
   justify-content: space-between;
   gap: 20px;
   align-items: center;
   color: #90a2b9;
   font-size: .75rem
}

.footer-bottom a {
   font-size: .75rem !important
}

.footer-bottom .icon {
   width: 16px;
   height: 16px
}

.back-top {
   position: fixed;
   bottom: 25px;
   right: 24px;
   z-index: 10;
   background: var(--gold);
   color: var(--navy);
   width: 45px;
   height: 45px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   box-shadow: 0 4px 15px #0002;
   opacity: 0;
   visibility: hidden;
   transform: translateY(15px);
   transition: all .25s
}

.back-top.visible {
   opacity: 1;
   visibility: visible;
   transform: none
}

.back-top:hover {
   background: #ffda64;
   color: var(--navy)
}

/* Enquiries prepare an email; no fake registration or booking confirmation. */
.modal-content {
   border: 0;
   border-radius: 16px;
   box-shadow: 0 25px 100px #021a4150
}

.modal-header {
   padding: 27px 28px 20px
}

.modal-body {
   padding: 20px 28px 28px
}

.modal-title {
   letter-spacing: -.04em;
   margin: 5px 0 0
}

.modal-body>p {
   font-size: .95rem
}

.form-label {
   font-size: .875rem;
   font-weight: 650;
   margin-bottom: 6px
}

.form-control,
.form-select {
   font-size: 1rem;
   border-color: #c9d4e0;
   padding: 11px 12px;
   line-height: 1.5
}

.form-control:focus,
.form-select:focus {
   border-color: var(--green);
   box-shadow: 0 0 0 3px #098c3920
}

.form-note {
   font-size: .75rem !important;
   line-height: 1.6;
   color: #657184
}

.form-note a {
   text-decoration: underline
}

.form-status {
   color: var(--green-dark);
   font-size: .875rem
}

/* Option 02 — technology-led: sharper grid, emerald energy, dark hero. */
.theme-power {
   --green: #0a9b47;
   --green-dark: #00662b
}

.theme-power .hero-copy {
   max-width: 850px;
   padding-top: 75px
}

.theme-power .hero-copy .eyebrow {
   color: #5ae373;
   border-left: 4px solid #47d763;
   padding-left: 15px
}

.theme-power .hero-copy h1 {
   font-size: clamp(3rem, 5.3vw, 5.8rem)
}

.theme-power .hero-copy h1 em {
   color: #55e567
}

.theme-power .hero-description {
   font-size: 1.35rem
}

.theme-power .hero-meta .icon {
   color: #55e567
}

.theme-power .hero-slogan {
   display: block;
   color: #bfcade;
   font-size: .875rem;
   letter-spacing: .1em;
   margin-top: 5px;
   margin-bottom: 23px
}

.theme-power .carousel-item {
   min-height: 700px
}

.theme-power .hero-copy {
   padding-bottom: 110px
}

.theme-power .hero-shade {
   background: linear-gradient(90deg, #01112638, #0111260f)
}

.theme-power .carousel-item:nth-child(3) .hero-shade {
   background: linear-gradient(90deg, #011126f5, #011126b0 55%, #0111261a)
}

.theme-power .sector-ribbon {
   background: #072c22
}

.theme-power .sector-ribbon .icon {
   color: #6be58d
}

.theme-power .about-section {
   padding-bottom: 75px
}

.theme-power .about-visual>img {
   border-radius: 5px
}

.theme-power .visual-caption {
   background: var(--navy)
}

.theme-power .exhibit-section {
   background: #f2f6fa
}

.theme-power .exhibit-image {
   border-radius: 5px
}

.theme-power .sectors-section {
   background: white
}

.theme-power .sector-card {
   border-radius: 5px
}

.theme-power .visit-section {
   background: #eef6ef
}

.theme-power .sponsorship-section {
   background: #05231c
}

.theme-power .sponsor-card {
   border-radius: 4px
}

.theme-power .contact-section {
   background: var(--navy)
}

.theme-power .venue-panel {
   border-radius: 5px
}

.theme-power .venue-title {
   background: #073b2c
}

/* Option 03 — editorial white split hero with people-led imagery. */
.theme-business {
   --green: #078c32;
   --green-dark: #07662b
}

.theme-business .btn-primary {
   --bs-btn-bg: var(--green);
   --bs-btn-border-color: var(--green);
   --bs-btn-color: white;
   --bs-btn-hover-bg: var(--green-dark);
   --bs-btn-hover-border-color: var(--green-dark);
   --bs-btn-hover-color: white;
   --bs-btn-active-bg: var(--green-dark);
   --bs-btn-active-color: white
}

.theme-business .hero-section {
   background: white;
   color: var(--navy)
}

.theme-business .carousel-item {
   min-height: 670px
}

.theme-business .hero-copy {
   padding: 40px 42px 100px 0;
   max-width: none;
   min-height: 670px
}

.theme-business .hero-copy .eyebrow {
   color: var(--green-dark);
   margin-bottom: 16px
}

.theme-business .hero-copy h1 {
   color: var(--navy);
   font-size: clamp(3.4rem, 5.2vw, 5.4rem);
   line-height: .98;
   margin-bottom: 22px
}

.theme-business .hero-copy h1 em {
   color: var(--green-dark)
}

.theme-business .hero-description {
   color: var(--navy);
   font-size: 1.15rem;
   line-height: 1.5;
   max-width: 490px;
   margin-bottom: 16px
}

.theme-business .hero-slogan {
   display: block;
   color: var(--green-dark);
   font-size: 1rem;
   font-weight: 700;
   margin-bottom: 20px
}

.theme-business .hero-meta {
   display: block;
   font-size: .9rem;
   margin-bottom: 23px
}

.theme-business .hero-meta span {
   margin: 7px 0
}

.theme-business .hero-meta .icon {
   color: var(--green-dark)
}

.theme-business .hero-actions {
   gap: 12px
}

.theme-business .hero-actions .btn {
   font-size: .85rem;
   padding: 13px 18px;
   gap: 8px
}

.theme-business .btn-hero-outline {
   --bs-btn-color: var(--navy);
   --bs-btn-border-color: var(--navy);
   --bs-btn-hover-bg: var(--navy);
   --bs-btn-hover-color: white;
   --bs-btn-hover-border-color: var(--navy)
}

.theme-business .hero-visual {
   position: relative;
   border-radius: 38px 0 0 0;
   overflow: hidden;
   min-height: 670px
}

.theme-business .hero-image {
   object-position: 57% center
}

.theme-business .carousel-item:nth-child(2) .hero-image {
   object-position: 80% center
}

.theme-business .carousel-item:nth-child(3) .hero-image {
   object-position: 85% center
}

.floating-date {
   position: absolute;
   top: 32px;
   right: 24px;
   display: flex;
   gap: 14px;
   background: #ffce46ed;
   backdrop-filter: blur(8px);
   color: var(--navy);
   padding: 19px 23px;
   border-radius: 14px;
   align-items: center;
   box-shadow: 0 10px 25px #0002
}

.floating-date>.icon {
   width: 30px;
   height: 30px
}

.floating-date strong {
   display: block;
   font-size: 1.1rem;
   line-height: 1.3
}

.floating-date span {
   display: block;
   font-size: .7rem;
   margin-top: 4px
}

.theme-business .slider-toolbar {
   bottom: 27px;
   justify-content: flex-start;
   gap: 24px
}

.theme-business .slider-arrow,
.theme-business .slider-pause {
   color: var(--navy);
   border-color: #09264e40;
   background: white
}

.theme-business .slider-arrow:hover,
.theme-business .slider-pause:hover {
   background: #edf4f9
}

.theme-business .carousel-indicators button {
   background: var(--navy)
}

.theme-business .carousel-indicators button.active {
   background: var(--green)
}

.theme-business .sector-ribbon {
   background: var(--navy);
   padding: 26px 0
}

.theme-business .about-visual>img {
   height: 450px;
   object-position: 75%
}

.theme-business .visual-caption {
   background: var(--gold);
   color: var(--navy)
}

.theme-business .sector-card {
   border-radius: 18px
}

.theme-business .sector-card .sector-icon {
   background: var(--navy)
}

.theme-business .visit-section {
   background: #f2f7fc
}

.theme-business .sponsorship-section {
   background: #f0f6f2;
   color: var(--navy)
}

.theme-business .sponsorship-section .section-kicker {
   color: var(--green-dark)
}

.theme-business .sponsorship-section h2 em {
   color: var(--green-dark)
}

.theme-business .sponsorship-section p {
   color: var(--muted)
}

.theme-business .sponsor-card {
   background: white;
   border-color: #dce9df;
   border-radius: 13px
}

.theme-business .sponsor-number {
   color: var(--green-dark)
}

.theme-business .btn-sponsor {
   --bs-btn-color: var(--green-dark);
   --bs-btn-border-color: #098c3950;
   --bs-btn-hover-color: white;
   --bs-btn-hover-bg: var(--green);
   --bs-btn-hover-border-color: var(--green)
}

.theme-business .contact-section .btn-primary {
   --bs-btn-bg: var(--gold);
   --bs-btn-border-color: var(--gold);
   --bs-btn-color: var(--navy);
   --bs-btn-hover-bg: #ffdd73;
   --bs-btn-hover-border-color: #ffdd73;
   --bs-btn-hover-color: var(--navy)
}

/* Progressive animations: content remains readable if JS is unavailable. */
@keyframes rise-in {
   from {
      opacity: 0;
      transform: translateY(24px)
   }

   to {
      opacity: 1;
      transform: none
   }
}

@keyframes hero-zoom {
   from {
      transform: scale(1)
   }

   to {
      transform: scale(1.06)
   }
}

.motion-enabled .carousel-item.active .hero-copy>* {
   animation: rise-in .75s both
}

.motion-enabled .carousel-item.active .hero-copy>*:nth-child(2) {
   animation-delay: .12s
}

.motion-enabled .carousel-item.active .hero-copy>*:nth-child(3) {
   animation-delay: .22s
}

.motion-enabled .carousel-item.active .hero-copy>*:nth-child(4) {
   animation-delay: .3s
}

.motion-enabled .carousel-item.active .hero-copy>*:nth-child(5) {
   animation-delay: .38s
}

.motion-enabled .carousel-item.active .hero-copy>*:nth-child(6) {
   animation-delay: .46s
}

.motion-enabled .carousel-item.active .hero-image {
   animation: hero-zoom 8s ease-out both
}

.slideshow-paused .carousel-item.active .hero-image {
   animation-play-state: paused
}

.motion-enabled .reveal.will-reveal {
   opacity: 0;
   transform: translateY(28px)
}

.motion-enabled .reveal {
   transition: opacity .75s ease, transform .75s cubic-bezier(.2, .7, .3, 1);
   transition-delay: var(--reveal-delay, 0ms)
}

.motion-enabled .reveal.is-visible {
   opacity: 1;
   transform: none
}

.motion-off * {
   animation: none !important;
   transition: none !important
}

.motion-off {
   scroll-behavior: auto !important
}

.motion-off .reveal {
   opacity: 1 !important;
   transform: none !important
}

/* Selector page. */
.theme-gallery {
   background: #f0f4f8
}

.gallery-main {
   padding: 35px 0 0
}

.gallery-top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 20px
}

.gallery-top .brand-crop {
   background: #fff;
   border-radius: 8px
}

.gallery-top>span {
   font-size: .75rem;
   color: #657184;
   letter-spacing: .1em
}

.gallery-heading {
   padding: 65px 0 45px
}

.gallery-heading h1 {
   font-size: clamp(3rem, 5vw, 5rem);
   margin: 17px 0 23px
}

.gallery-heading p {
   font-size: 1.1rem
}

.design-card {
   background: white;
   border: 1px solid #dde5ef;
   border-radius: 13px;
   overflow: hidden;
   height: 100%;
   box-shadow: 0 9px 28px #06245208;
   transition: transform .25s, box-shadow .25s
}

.design-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 18px 35px #06245212
}

.design-preview {
   display: block;
   overflow: hidden
}

.design-preview img {
   width: 100%;
   height: auto;
   transition: transform .5s
}

.design-preview:hover img {
   transform: scale(1.035)
}

.design-card h2 {
   font-size: 1.65rem;
   letter-spacing: -.03em;
   margin: 13px 0
}

.design-card p {
   font-size: .9rem;
   min-height: 72px
}

.design-card .btn {
   background: var(--navy);
   border-color: var(--navy);
   color: white;
   font-size: .85rem;
   padding: 13px 18px
}

.design-card .eyebrow {
   color: var(--green-dark)
}

.gallery-footer {
   padding: 35px 0;
   display: flex;
   justify-content: space-between;
   gap: 20px;
   font-size: .75rem;
   color: #69788d
}

/* Responsive Bootstrap breakpoints. */
@media(min-width:1600px) {
   .container-xxl {
      max-width: 1460px
   }

   .carousel-item {
      min-height: 715px
   }

   .hero-copy {
      padding-top: 110px
   }

   .theme-power .carousel-item {
      min-height: 745px
   }

   .theme-power .hero-copy {
      padding-top: 95px
   }

   .theme-business .carousel-item,
   .theme-business .hero-copy,
   .theme-business .hero-visual {
      min-height: 720px
   }
}

@media(max-width:1399.98px) {
   .brand-crop {
      width: 300px
   }

   .nav-actions .btn {
      padding: 11px 12px;
      font-size: .77rem;
      gap: 6px
   }

   .nav-actions .btn .icon {
      width: 18px
   }

   .nav-link {
      padding: .8rem .55rem !important;
      font-size: .84rem
   }

   .nav-actions {
      margin-left: 15px !important
   }

   .hero-copy {
      max-width: 760px
   }

   .event-card {
      padding: 24px 25px;
      gap: 18px
   }

   .event-card strong {
      font-size: 1rem
   }

   .event-card>div+div {
      padding-left: 22px
   }

   .event-card>a {
      gap: 10px
   }

   .theme-business .hero-actions .btn {
      font-size: .79rem;
      padding: 12px 15px
   }

   .theme-business .hero-copy {
      padding-right: 26px
   }

   .floating-date {
      right: 18px;
      padding: 16px 18px
   }

   .venue-title,
   .venue-details {
      padding: 50px
   }
}

@media(max-width:1199.98px) {
   .navbar-brand .brand-crop {
      width: 245px
   }

   .navbar-collapse {
      padding: 18px 0
   }

   .navbar-nav {
      margin-bottom: 15px
   }

   .nav-link {
      font-size: 1rem;
      padding: 10px 0 !important
   }

   .nav-actions {
      margin-left: 0 !important;
      padding-bottom: 10px
   }

   .nav-actions .btn {
      font-size: .9rem;
      padding: 13px 18px
   }

   .design-switch nav a {
      padding: 9px 8px
   }

   .design-switch nav a span {
      display: none
   }

   .hero-copy {
      max-width: 740px
   }

   .hero-copy h1 {
      font-size: 4rem
   }

   .hero-description {
      font-size: 1.25rem;
      max-width: 600px
   }

   .event-card {
      flex-wrap: wrap
   }

   .event-card>div {
      width: 38%;
      flex-grow: 1
   }

   .event-card>a {
      width: 9%;
      min-width: 85px
   }

   .event-card>div+div {
      border: 0;
      padding-left: 0
   }

   .theme-power .hero-copy h1 {
      font-size: 4.5rem
   }

   .theme-business .hero-copy h1 {
      font-size: 4.1rem
   }

   .theme-business .hero-meta {
      font-size: .8rem
   }

   .theme-business .hero-copy {
      padding-top: 40px
   }

   .theme-business .hero-copy,
   .theme-business .hero-visual,
   .theme-business .carousel-item {
      min-height: 700px
   }

   .floating-date {
      top: 24px;
      left: 18px;
      right: 18px;
      justify-content: center
   }

   .floating-date strong {
      font-size: 1rem
   }

   .section {
      padding: 80px 0
   }

   .sector-ribbon span {
      display: none
   }

   .sector-ribbon>.container-xxl {
      justify-content: space-around
   }

   .about-visual>img {
      height: 430px
   }

   .venue-title h2 {
      font-size: 3rem
   }

   .venue-details h3 {
      font-size: 1.35rem
   }

   .sponsor-card p {
      min-height: 0
   }

   .footer-bottom {
      flex-wrap: wrap
   }

   .faq-section {
      padding-top: 10px
   }
}

@media(max-width:991.98px) {
   html {
      scroll-padding-top: 90px
   }

   .section {
      padding: 65px 0
   }

   .container-xxl {
      --bs-gutter-x: 2.5rem
   }

   h2 {
      font-size: 2.6rem
   }

   .navbar {
      padding: 12px 0
   }

   .navbar-brand .brand-crop {
      width: 215px
   }

   .design-switch .all-designs {
      display: none
   }

   .design-switch>.container-xxl {
      gap: 6px !important
   }

   .design-switch nav {
      gap: 0
   }

   .design-switch nav a {
      font-size: .7rem;
      padding: 8px
   }

   .motion-toggle {
      font-size: .65rem
   }

   .carousel-item {
      min-height: 650px
   }

   .hero-copy {
      padding-top: 65px;
      padding-bottom: 130px;
      max-width: 700px
   }

   .hero-copy h1 {
      font-size: 4rem
   }

   .hero-shade {
      background: linear-gradient(90deg, #021831db, #0218318c 65%, #02183138)
   }

   .hero-meta {
      font-size: .875rem
   }

   .hero-description {
      max-width: 600px
   }

   .slider-toolbar {
      bottom: 55px
   }

   .event-card {
      gap: 22px;
      padding: 25px
   }

   .event-card>div {
      width: 45%
   }

   .event-card>a {
      width: auto;
      flex-grow: 1
   }

   .section-heading {
      display: block
   }

   .section-heading>p {
      max-width: 620px;
      margin-top: 25px
   }

   .about-visual {
      max-width: 650px;
      margin: auto
   }

   .about-visual>img {
      height: 440px
   }

   .exhibit-image {
      height: 450px;
      max-width: 700px;
      margin: auto
   }

   .exhibit-section .col-lg-6:first-child {
      order: 2
   }

   .exhibit-section .col-lg-6:last-child {
      order: 1
   }

   .visitor-image {
      max-width: 650px;
      margin: auto
   }

   .visitor-image>img {
      height: 440px
   }

   .venue-title,
   .venue-details {
      padding: 35px
   }

   .venue-title h2 {
      font-size: 2.6rem
   }

   .venue-details>div {
      gap: 15px
   }

   .venue-details h3 {
      font-size: 1.2rem
   }

   .contact-section {
      padding: 55px 0
   }

   .contact-section h2 {
      font-size: 2.7rem
   }

   .faq-section {
      padding-top: 0
   }

   .theme-power .hero-copy {
      padding-top: 55px
   }

   .theme-power .hero-copy h1 {
      font-size: 4.15rem
   }

   .theme-power .hero-shade {
      background: linear-gradient(90deg, #011126c4, #01112645)
   }

   .theme-business .hero-copy {
      padding: 40px 0 30px;
      min-height: 0;
      max-width: 660px
   }

   .theme-business .hero-copy h1 {
      font-size: 4rem;
      line-height: 1.02
   }

   .theme-business .hero-copy h1 br {
      display: block
   }

   .theme-business .hero-copy h1 em {
      margin: 0 .08em
   }

   .theme-business .hero-copy h1 {
      max-width: 650px
   }

   .theme-business .carousel-item {
      min-height: 980px
   }

   .theme-business .hero-visual {
      min-height: 430px;
      margin-bottom: 70px;
      border-radius: 25px
   }

   .theme-business .hero-copy .hero-description {
      font-size: 1.15rem;
      max-width: 630px
   }

   .theme-business .hero-meta {
      font-size: .9rem;
      display: flex;
      gap: 10px 25px
   }

   .theme-business .hero-meta span {
      margin: 0
   }

   .theme-business .hero-actions .btn {
      font-size: .9rem;
      padding: 14px 19px
   }

   .theme-business .slider-toolbar {
      bottom: 20px;
      justify-content: space-between
   }

   .floating-date {
      left: auto;
      right: 22px;
      width: auto;
      top: 22px;
      padding: 18px 22px
   }

   .theme-business .hero-copy .eyebrow {
      margin-bottom: 12px
   }

   .theme-business .hero-copy h1 {
      margin-bottom: 16px
   }

   .theme-business .hero-slogan {
      margin-bottom: 16px
   }

   .theme-business .hero-meta {
      margin-bottom: 18px
   }

   .theme-business .about-visual>img {
      height: 420px
   }

   .gallery-heading {
      padding-top: 45px
   }

   .design-preview img {
      aspect-ratio: 1.8;
      object-fit: cover;
      object-position: top
   }

   .design-card p {
      min-height: 0
   }

   .gallery-top>span {
      max-width: 240px;
      text-align: right
   }

   .gallery-footer {
      flex-wrap: wrap
   }
}

@media(max-width:575.98px) {
   html {
      scroll-padding-top: 85px
   }

   .container-xxl {
      --bs-gutter-x: 2rem
   }

   .section {
      padding: 50px 0
   }

   .eyebrow {
      font-size: .67rem;
      letter-spacing: .14em
   }

   .design-switch nav {
      justify-content: space-between;
      width: 100%
   }

   .design-switch nav a {
      font-size: .65rem;
      padding: 8px 6px
   }

   .motion-toggle {
      display: none
   }

   .navbar-brand .brand-crop {
      width: 195px
   }

   .navbar {
      padding: 10px 0
   }

   .nav-actions {
      flex-wrap: wrap
   }

   .event-ribbon>.container-xxl {
      gap: 8px;
      font-size: .7rem;
      flex-wrap: wrap;
      padding-top: 9px;
      padding-bottom: 9px
   }

   .event-ribbon .icon {
      width: 16px;
      height: 16px
   }

   .event-ribbon .ribbon-divider {
      display: none
   }

   .event-ribbon strong {
      margin-right: 4px
   }

   .hero-copy {
      padding: 48px 0 110px
   }

   .hero-copy h1 {
      font-size: clamp(2.5rem, 9.4vw, 3.5rem);
      letter-spacing: -.05em;
      line-height: 1.07
   }

   .hero-copy .eyebrow {
      margin-bottom: 20px
   }

   .hero-description {
      font-size: 1.1rem;
      line-height: 1.5
   }

   .hero-meta {
      display: block;
      font-size: .8rem;
      line-height: 1.5
   }

   .hero-meta span {
      margin: 11px 0;
      gap: 9px
   }

   .hero-meta .icon {
      width: 19px;
      height: 19px
   }

   .hero-actions {
      gap: 10px
   }

   .hero-actions .btn {
      font-size: .8rem;
      padding: 13px 15px;
      gap: 7px
   }

   .hero-actions .btn .icon {
      width: 17px
   }

   .carousel-item {
      min-height: 650px
   }

   .hero-image {
      object-position: 65% center
   }

   .hero-shade {
      background: linear-gradient(90deg, #021831e0, #02183199)
   }

   .slider-toolbar {
      bottom: 54px
   }

   .slide-controls {
      gap: 9px
   }

   .slider-arrow {
      padding: 9px 11px;
      font-size: 1rem
   }

   .carousel-indicators {
      gap: 5px
   }

   .carousel-indicators [data-bs-target] {
      width: 16px
   }

   .slide-number {
      font-size: .6rem;
      margin-left: 2px
   }

   .slider-pause {
      font-size: .65rem;
      padding: 8px 10px
   }

   .event-card {
      padding: 20px;
      gap: 17px;
      border-radius: 10px
   }

   .event-card>div {
      width: 100%;
      gap: 14px
   }

   .event-card strong {
      font-size: .95rem
   }

   .event-card small {
      font-size: .6rem
   }

   .event-card>div>.icon {
      width: 25px;
      height: 25px
   }

   .event-card>a {
      padding-top: 8px;
      border-top: 1px solid var(--line);
      font-size: .85rem
   }

   .event-card>a>.icon {
      width: 20px
   }

   .about-values {
      display: block;
      margin-top: 23px
   }

   .about-values span {
      margin: 12px 0;
      font-size: .9rem
   }

   .about-visual {
      padding: 0 0 28px 14px
   }

   .about-visual>img {
      height: 330px;
      border-radius: 8px
   }

   .visual-caption {
      padding: 20px 23px
   }

   .visual-caption strong {
      font-size: 1.2rem
   }

   .lead-copy {
      font-size: 1.15rem
   }

   h2 {
      font-size: 2.2rem;
      letter-spacing: -.045em;
      margin: 15px 0 22px
   }

   .section-heading {
      margin-bottom: 30px
   }

   .section-heading>p {
      margin-top: 22px
   }

   .sector-ribbon {
      padding: 20px 0
   }

   .sector-ribbon>.container-xxl {
      gap: 12px;
      justify-content: space-between;
      align-items: flex-start
   }

   .sector-ribbon a {
      font-size: .72rem;
      display: flex;
      flex-direction: column;
      gap: 7px;
      text-align: center;
      width: 33%;
      line-height: 1.5
   }

   .sector-ribbon .icon {
      width: 26px;
      height: 26px
   }

   .sector-image {
      height: 190px
   }

   .sector-body {
      padding: 42px 23px 25px
   }

   .sector-body p {
      min-height: 0
   }

   .exhibit-image {
      height: 360px
   }

   .image-caption {
      font-size: 1.2rem;
      padding: 70px 24px 24px
   }

   .benefit-list {
      margin: 22px 0
   }

   .benefit-list>div {
      gap: 17px
   }

   .benefit-list h3 {
      font-size: 1.1rem
   }

   .visitor-image>img {
      height: 350px
   }

   .visitor-note {
      left: 18px;
      right: 18px;
      padding: 18px;
      gap: 13px
   }

   .visitor-note .icon {
      width: 34px;
      height: 34px
   }

   .visitor-note strong {
      font-size: 1rem
   }

   .visitor-list li {
      font-size: .9rem;
      align-items: flex-start
   }

   .visitor-list .icon {
      margin-top: 4px
   }

   .sponsor-card {
      padding: 25px
   }

   .sponsor-number {
      margin-bottom: 22px
   }

   .sponsor-card h3 {
      font-size: 1.5rem
   }

   .venue-panel {
      grid-template-columns: 1fr
   }

   .venue-title,
   .venue-details {
      padding: 30px
   }

   .venue-title h2 {
      font-size: 2.5rem
   }

   .venue-details {
      gap: 26px
   }

   .venue-details h3 {
      font-size: 1.3rem
   }

   .faq-section {
      padding-top: 0
   }

   .accordion-button {
      padding: 21px 8px;
      font-size: .95rem
   }

   .accordion-body {
      padding: 10px 8px 24px
   }

   .contact-section {
      padding: 45px 0
   }

   .contact-section h2 {
      font-size: 2.25rem
   }

   .contact-email {
      font-size: 1rem
   }

   .contact-section .btn {
      font-size: .85rem;
      padding: 14px 20px
   }

   .site-footer {
      padding-top: 45px
   }

   .footer-brand {
      font-size: 1.75rem
   }

   .site-footer p,
   .site-footer a:not(.footer-brand) {
      font-size: .8rem;
      overflow-wrap: anywhere
   }

   .site-footer h3 {
      font-size: .95rem
   }

   .footer-bottom {
      margin-top: 30px;
      gap: 12px;
      display: flex;
      flex-direction: column;
      align-items: flex-start
   }

   .back-top {
      right: 15px;
      bottom: 15px;
      width: 40px;
      height: 40px
   }

   .modal-header {
      padding: 24px 22px 18px
   }

   .modal-body {
      padding: 18px 22px 24px
   }

   .theme-power .hero-copy h1 {
      font-size: clamp(2.65rem, 9.8vw, 3.7rem)
   }

   .theme-power .hero-description {
      font-size: 1.1rem
   }

   .theme-power .hero-slogan {
      font-size: .8rem;
      line-height: 1.6;
      letter-spacing: .05em
   }

   .theme-power .hero-copy {
      padding-top: 42px;
      padding-bottom: 100px
   }

   .theme-power .carousel-item {
      min-height: 720px
   }

   .theme-power .slider-toolbar {
      bottom: 28px
   }

   .theme-power .hero-shade {
      background: linear-gradient(90deg, #011126cf, #01112675)
   }

   .theme-business .hero-copy {
      padding-top: 34px;
      padding-bottom: 25px
   }

   .theme-business .hero-copy h1 {
      font-size: 3.2rem;
      max-width: 400px;
      line-height: 1.05
   }

   .theme-business .hero-copy h1 br {
      display: block
   }

   .theme-business .hero-copy h1 em {
      margin: 0
   }

   .theme-business .hero-copy .hero-description {
      font-size: 1.05rem
   }

   .theme-business .hero-slogan {
      font-size: .9rem
   }

   .theme-business .hero-meta {
      display: block;
      font-size: .8rem
   }

   .theme-business .hero-meta span {
      margin: 8px 0
   }

   .theme-business .hero-actions .btn {
      font-size: .78rem;
      padding: 12px 13px
   }

   .theme-business .hero-visual {
      min-height: 320px;
      margin-bottom: 64px;
      border-radius: 18px
   }

   .theme-business .carousel-item {
      min-height: 1035px
   }

   .theme-business .hero-copy {
      min-height: 630px;
      display: flex;
      flex-direction: column;
      justify-content: center
   }

   .theme-business .hero-copy h1 {
      font-size: clamp(2.8rem, 10vw, 3.5rem)
   }

   .floating-date {
      top: 15px;
      right: 15px;
      padding: 12px 15px;
      border-radius: 9px;
      gap: 10px
   }

   .floating-date>.icon {
      width: 25px;
      height: 25px
   }

   .floating-date strong {
      font-size: .85rem
   }

   .floating-date span {
      font-size: .6rem
   }

   .theme-business .slider-toolbar {
      bottom: 18px;
      gap: 10px
   }

   .theme-business .slider-toolbar .slide-number {
      display: none
   }

   .theme-business .sector-ribbon {
      padding: 20px 0
   }

   .theme-business .about-visual>img {
      height: 330px
   }

   .gallery-main {
      padding-top: 25px
   }

   .gallery-top {
      display: block
   }

   .gallery-top .brand-crop {
      width: 225px;
      margin-bottom: 20px
   }

   .gallery-top>span {
      font-size: .65rem
   }

   .gallery-heading {
      padding: 35px 0 28px
   }

   .gallery-heading h1 {
      font-size: 2.8rem
   }

   .gallery-heading p {
      font-size: 1rem
   }

   .gallery-footer {
      padding: 28px 0;
      gap: 10px;
      font-size: .7rem
   }

   .design-card h2 {
      font-size: 1.6rem
   }
}

@media(prefers-reduced-motion:reduce) {
   html {
      scroll-behavior: auto
   }

   *,
   *::before,
   *::after {
      animation: none !important;
      transition: none !important
   }

   .reveal {
      opacity: 1 !important;
      transform: none !important
   }
}

@media print {

   .design-switch,
   .site-header,
   .hero-section,
   .back-top,
   .modal,
   .slider-toolbar {
      display: none !important
   }

   .section {
      padding: 25px 0
   }

   .reveal {
      opacity: 1 !important;
      transform: none !important
   }

   .site-footer,
   .contact-section,
   .sponsorship-section,
   .venue-title,
   .venue-details {
      background: white !important;
      color: black !important
   }

   .site-footer p,
   .sponsorship-section p,
   .contact-section p {
      color: black !important
   }
}

/* Pause state keeps controls legible in every theme. */
.slider-pause:disabled {
   opacity: .7;
   cursor: default
}

@media(max-width:575.98px) {
   .design-switch>.container-xxl {
      flex-wrap: wrap;
      gap: 0 !important
   }

   .design-switch .motion-toggle {
      display: block;
      width: 100%;
      padding: 2px 0 5px;
      font-size: .65rem;
      text-align: right;
      line-height: 1.2
   }
}

/* Sponsors and partners */
.partners-section {
   background: #fff;
   padding: 72px 0;
   color: #20242c
}

.partners-heading {
   text-align: center;
   margin-bottom: 28px
}

.partners-heading h2 {
   font-size: clamp(32px, 4.5vw, 56px);
   font-weight: 750;
   letter-spacing: -1.5px;
   line-height: 1.15;
   margin: 0 0 10px
}

.partners-heading h2 span {
   color: #d25617
}

.partners-heading p {
   font-size: 14px;
   color: #626262;
   margin: 0
}

.partners-primary {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px;
   margin: 0 auto 24px
}

.partner-panel {
   border: 1px solid #f1d8c9;
   border-radius: 8px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 4px 12px #76330d0d
}

.partner-panel h3 {
   background: #d25617;
   color: #fff;
   text-align: center;
   font-size: 13px;
   font-weight: 700;
   margin: 0;
   padding: 12px 14px;
   line-height: 1.4
}

.partner-panel-body {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 12px;
   padding: 16px
}

.partners-primary .partner-panel {
   flex: 0 1 auto;
   min-width: 140px
}

.partner-logo {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 70px;
   padding: 9px;
   background: #f8f9fa;
   border: 1px solid #e6e6e6;
   border-radius: 5px
}

.partner-logo img {
   display: block;
   width: auto;
   height: auto;
   max-width: 220px;
   max-height: 58px;
   object-fit: contain
}

.partner-group {
   margin-top: 22px
}

@media(max-width:575px) {
   .partners-section {
      padding: 48px 0
   }

   .partners-heading h2 {
      letter-spacing: -.8px
   }

   .partners-primary {
      gap: 10px
   }

   .partners-primary .partner-panel {
      flex: 1 1 140px;
      min-width: 0
   }

   .partner-panel-body {
      gap: 9px;
      padding: 12px
   }

   .partner-logo {
      min-height: 60px;
      padding: 7px
   }

   .partner-logo img {
      max-width: 180px;
      max-height: 48px
   }
}

/* Sponsors and partners */
.partners-section {
   background: #fff;
   padding: 72px 0;
   color: #20242c
}

.partners-heading {
   text-align: center;
   margin-bottom: 28px
}

.partners-heading h2 {
   font-size: clamp(32px, 4.5vw, 56px);
   font-weight: 750;
   letter-spacing: -1.5px;
   line-height: 1.15;
   margin: 0 0 10px
}

.partners-heading h2 span {
   color: #d25617
}

.partners-heading p {
   font-size: 14px;
   color: #626262;
   margin: 0
}

.partners-primary {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px;
   margin: 0 auto 24px
}

.partner-panel {
   border: 1px solid #f1d8c9;
   border-radius: 8px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 4px 12px #76330d0d
}

.partner-panel h3 {
   background: #d25617;
   color: #fff;
   text-align: center;
   font-size: 13px;
   font-weight: 700;
   margin: 0;
   padding: 12px 14px;
   line-height: 1.4
}

.partner-panel-body {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 12px;
   padding: 16px
}

.partners-primary .partner-panel {
   flex: 0 1 auto;
   min-width: 140px
}

.partner-logo {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 70px;
   padding: 9px;
   background: #f8f9fa;
   border: 1px solid #e6e6e6;
   border-radius: 5px
}

.partner-logo img {
   display: block;
   width: auto;
   height: auto;
   max-width: 220px;
   max-height: 58px;
   object-fit: contain
}

.partner-group {
   margin-top: 22px
}

@media(max-width:575px) {
   .partners-section {
      padding: 48px 0
   }

   .partners-heading h2 {
      letter-spacing: -.8px
   }

   .partners-primary {
      gap: 10px
   }

   .partners-primary .partner-panel {
      flex: 1 1 140px;
      min-width: 0
   }

   .partner-panel-body {
      gap: 9px;
      padding: 12px
   }

   .partner-logo {
      min-height: 60px;
      padding: 7px
   }

   .partner-logo img {
      max-width: 180px;
      max-height: 48px
   }
}

/* Sponsors and partners */
.partners-section {
   background: #fff;
   padding: 72px 0;
   color: #20242c
}

.partners-heading {
   text-align: center;
   margin-bottom: 28px
}

.partners-heading h2 {
   font-size: clamp(32px, 4.5vw, 56px);
   font-weight: 750;
   letter-spacing: -1.5px;
   line-height: 1.15;
   margin: 0 0 10px
}

.partners-heading h2 span {
   color: #e78200;
}

.partners-heading p {
   font-size: 14px;
   color: #626262;
   margin: 0
}

.partners-primary {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px;
   margin: 0 auto 24px
}

.partner-panel {
   border: 1px solid #bed1ff;
   border-radius: 8px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 4px 12px #76330d0d
}

.partner-panel h3 {
   background: #01267b;
   color: #fff;
   text-align: center;
   font-size: 13px;
   font-weight: 700;
   margin: 0;
   padding: 12px 14px;
   line-height: 1.4
}

.partner-panel-body {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 12px;
   padding: 16px
}

.partners-primary .partner-panel {
   flex: 0 1 auto;
   min-width: 140px
}

.partner-logo {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 70px;
   padding: 9px;
   background: #f8f9fa;
   border: 1px solid #e6e6e6;
   border-radius: 5px
}

.partner-logo img {
   display: block;
   width: auto;
   height: auto;
   max-width: 220px;
   max-height: 58px;
   object-fit: contain
}

.partner-group {
   margin-top: 22px
}

@media(max-width:575px) {
   .partners-section {
      padding: 48px 0
   }

   .partners-heading h2 {
      letter-spacing: -.8px
   }

   .partners-primary {
      gap: 10px
   }

   .partners-primary .partner-panel {
      flex: 1 1 140px;
      min-width: 0
   }

   .partner-panel-body {
      gap: 9px;
      padding: 12px
   }

   .partner-logo {
      min-height: 60px;
      padding: 7px
   }

   .partner-logo img {
      max-width: 180px;
      max-height: 48px
   }
}

/* Image banners and persistent contact shortcuts. */
.quick-contact {
   position: fixed;
   right: 22px;
   bottom: calc(86px + env(safe-area-inset-bottom, 0px));
   display: flex;
   flex-direction: column;
   gap: 12px;
   z-index: 1020
}

.quick-contact-link {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   width: 54px;
   height: 54px;
   border: 2px solid #fff;
   border-radius: 50%;
   color: #fff;
   box-shadow: 0 5px 18px #001d4240;
   text-decoration: none;
   cursor: pointer;
   transition: transform .2s
}

.quick-whatsapp {
   background: #087f43
}

.quick-call {
   background: #075fba
}

.quick-contact-link svg {
   width: 26px;
   height: 26px;
   flex-shrink: 0
}

.quick-contact-link:hover {
   color: #fff;
   transform: translateY(-2px)
}

.quick-contact-link:focus-visible {
   outline: 3px solid #fbbf24;
   outline-offset: 4px
}

.quick-contact-label {
   position: absolute;
   right: 64px;
   padding: 6px 12px;
   background: #062452;
   color: #fff;
   border-radius: 6px;
   white-space: nowrap;
   font-size: .8rem;
   opacity: 0;
   pointer-events: none
}

.quick-contact-link:hover .quick-contact-label,
.quick-contact-link:focus-visible .quick-contact-label {
   opacity: 1
}

.quick-contact-status {
   position: absolute;
   right: 66px;
   bottom: 0;
   width: min(250px, calc(100vw - 104px));
   padding: 14px;
   background: #fff;
   color: #062452;
   border: 1px solid #d4dfe9;
   border-radius: 10px;
   box-shadow: 0 5px 18px #001d4240;
   font-size: .85rem;
   margin: 0
}

@media(max-width:575.98px) {
   .quick-contact {
      right: 15px;
      bottom: calc(72px + env(safe-area-inset-bottom, 0px));
      gap: 10px
   }

   .quick-contact-link {
      width: 48px;
      height: 48px
   }

   .section-banner {
      margin-bottom: 30px
   }

   .section-banner-copy {
      padding-left: 22px;
      padding-right: 22px
   }
}

@media(prefers-reduced-motion:reduce) {
   .quick-contact-link {
      transition: none
   }
}

@media print {

   .quick-contact,
   .section-banner {
      display: none !important
   }
}

/* Shared image slider on every menu page. */
.page-banner .carousel-item {
   min-height: 420px;
   height: 420px
}

.page-banner .hero-copy {
   /* padding: 68px 0 100px;
   min-height: 0;
   max-width: 100%;
   display: block*/
   padding: 45px 0 100px;
   min-height: 0;
   max-width: 64%;
   display: block;
}

.page-banner .page-banner-title {
   color: #fff;
   font-size: clamp(2rem, 4.2vw, 4rem);
   font-weight: 750;
   line-height: 1.12;
   letter-spacing: -.035em;
   margin: 18px 0
}

.page-banner .hero-description {
   font-size: clamp(1rem, 1.7vw, 1.25rem);
   max-width: 800px
}

.page-banner .slider-toolbar {
   bottom: 24px
}

.page-breadcrumb {
   font-size: .85rem;
   color: #fff
}

.page-breadcrumb:hover {
   color: #fff
}

.page-banner .hero-shade {
   background: linear-gradient(90deg, #002593e8, #3a55a400);
}

.menu-page-content {
   max-width: 820px
}

.menu-page-content>p {
   font-size: 1.1rem;
   line-height: 1.8
}

.electra-submenu a[aria-current="page"] {
   background: #edf5ff;
   color: #075fba
}

@media(max-width:575.98px) {
   .page-banner .carousel-item {
      height: 390px;
      min-height: 390px
   }

   .page-banner .hero-copy {
      padding: 45px 0 95px
   }

   .page-banner .page-banner-title {
      font-size: 2.1rem
   }

   .page-banner .hero-description {
      font-size: 1rem
   }

   .page-banner .slider-toolbar {
      bottom: 22px
   }

   .page-banner .slide-number {
      display: none
   }
}


.electra-footer .ef-date {
   font-size: 19px;
   margin-bottom: 5px;
   color: #fff;
}

.ef-bottom p {
   margin: 0;
   color: #fff;
}



.electra-nav .electra-menu>li>a[href="enquiry-to-exhibit.html"] {
   background: linear-gradient(135deg, #062452, #134886);
   color: #ffe08a;
   border-color: #153d72;
}

.electra-nav .electra-menu>li>a[href="enquiry-to-exhibit.html"]:hover,
.electra-nav .electra-menu>li>a[href="enquiry-to-exhibit.html"]:focus-visible {
   background: #103d75;
   color: #fff;
   border-color: #d9b543;
}

@keyframes electra-enquiry-blink {

   0%,
   100% {
      box-shadow: 0 0 0 0 #123e7400;
      filter: brightness(1);
   }

   50% {
      box-shadow:
         0 0 0 4px #123e741c,
         0 0 14px #123e7440;
      filter: brightness(1.35);
   }
}

body .electra-brand-row>.electra-header-social {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 5px;
   margin: 0 0 0 12px;
   flex: 0 0 28px;
}

body .electra-brand-row>.electra-header-social .header-social-link {
   width: 25px;
   height: 25px;
}

body .electra-brand-row>.electra-header-social .header-social-link svg {
   width: 13px;
   height: 13px;
}

@media (max-width: 767.98px) {
   body .electra-brand-row {
      flex-wrap: wrap;
      height: auto !important;
   }

   body .electra-brand-row>.electra-header-social {
      flex-direction: row;
      flex-basis: 100%;
      margin: 6px 0 8px;
      gap: 9px;
   }
}