/* The 30th GCC - Asia AI Governments and Smart Cities Excellence Awards */
@font-face {
  font-family: Ainslie;
  src: url('../fonts/insigne - Ainslie-NorBoo.otf') format('opentype');
  font-weight: 400;
  font-style: normal
}

@font-face {
  font-family: Ainslie;
  src: url('../fonts/insigne - Ainslie-NorBol.otf') format('opentype');
  font-weight: 700;
  font-style: normal
}

:root {
  --gold: #a57920;
  --gold-soft: #bb9650;
  --gold-light: #b07c2c;
  --cream: #f4f0e7;
  --ink: #171311;
  --muted: #56524e;
  --black: #050505;
  --gutter: 32px
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 18px;
  overflow-x: hidden
}

img {
  display: block;
  max-width: 100%
}

a {
  color: inherit
}

.shell {
  width: min(1460px, calc(100vw - var(--gutter) * 2));
  margin: 0 auto
}

.masthead img {
  width: 100%;
  height: auto
}

.main-nav {
  background: #000;
  color: #fff;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center
}

.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0
}

.nav-list li:not(:last-child)::after {
  content: '|';
  margin: 0 8px;
  color: #fff
}

.nav-list a {
  display: inline-block;
  padding: 10px 0;
  text-decoration: none;
  font-size: 15px
}

.nav-list a:hover {
  color: var(--gold-soft)
}

.nav-toggle,
.nav-toggle-btn {
  display: none
}

.hero-visual img {
  width: 100%;
  height: auto
}

.hero-info {
  background: #070707;
  color: #fff;
  padding: 20px 0
}

.hero-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center
}

.hero-info h1 {
  margin: 0 0 8px;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.12;
  text-transform: uppercase;
  color: #fff
}

.hero-info p {
  margin: 0;
  color: #fff;
  font-size: 1rem
}

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

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  font-size: .98rem;
  border: 0
}

.btn--gold {
  background: linear-gradient(180deg, #c6a14c, #9a701a);
  color: #1c1304
}

.btn--dark {
  background: #111;
  color: #fff
}

.btn--light {
  background: #fff;
  color: #111
}

.ticker {
  background: #000;
  color: #fff;
  text-align: left;
  padding: 11px 0;
  font-size: .95rem
}

.ticker strong {
  color: #fff
}

.stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding: 34px 0;
  text-align: center
}

.stat {
  border-right: 1px solid #e4ded2;
  padding: 0 10px
}

.stat:last-child {
  border-right: 0
}

.stat strong {
  display: block;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  color: var(--gold);
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  line-height: 1
}

.stat span {
  display: block;
  margin-top: 6px;
  color: #5e5a55;
  font-size: .9rem
}

.section {
  padding: 66px 0
}

.section--cream {
  background: var(--cream)
}

.eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 1rem
}

.eyebrow--light {
  color: #fff
}

h1,
h2,
h3 {
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  margin: 0;
  color: var(--ink)
}

p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 54px;
  align-items: center
}

.about-image {
  margin: 0
}

.about-image img {
  width: 100%;
  border-radius: 16px
}

.about-copy p {
  font-size: 1.12rem;
  max-width: 780px
}

.about-copy p a {
  color: #ff2020;
  text-decoration: none
}

.about-copy blockquote {
  margin: 22px 0 0;
  padding-left: 20px;
  border-left: 4px solid var(--gold);
  font-style: italic;
  font-weight: 700;
  color: #2b2927
}

.pill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
  max-width: 720px
}

.pill-grid a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 16px;
  background: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  font-size: .95rem
}

.pill-grid i {
  color: var(--gold)
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .55fr);
  gap: 58px;
  align-items: start;
  margin-bottom: 36px
}

.section-head h2 {
  font-size: clamp(1.8rem, 3.2vw, 3.4rem);
  line-height: 1.08;
  text-transform: uppercase
}

.section-head p {
  font-size: 1.16rem;
  padding-top: 2.5rem
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 36px
}

.category-card img {
  width: 100%;
  aspect-ratio: 655/426;
  object-fit: cover;
  border-radius: 14px
}

.category-card h3 {
  margin-top: 13px;
  padding-left: 16px;
  border-left: 3px solid var(--gold);
  font-size: 1.05rem;
  line-height: 1.25
}

.caption-line {
  text-align: center;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  color: #4c4132;
  margin: 30px 0
}

.wide-memory {
  margin: 30px 0
}

.wide-memory img {
  width: 100%;
  max-height: 260px;
  object-fit: cover;
  border-radius: 14px
}

.wide-memory figcaption {
  text-align: center;
  margin-top: 8px;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  color: #4c4132
}

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

.step {
  background: #fff;
  border-radius: 16px;
  padding: 26px 24px 34px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .05)
}

.step span {
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .8rem
}

.step h3 {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 1.06rem;
  margin-bottom: 10px
}

.step h3 i {
  color: var(--gold);
  font-size: .8rem
}

.step p {
  font-size: .98rem
}

.ceremony {
  background: #241a08 url('../assets/Asset 226.png') center/cover no-repeat;
  color: #fff
}

.ceremony-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
  gap: 70px;
  align-items: center
}

.ceremony h2,
.recognition h2 {
  color: #fff;
  text-transform: uppercase;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: 1.08
}

.ceremony p,
.recognition p {
  color: rgba(255, 255, 255, .86);
  font-size: 1.08rem;
  margin-top: 18px;
  max-width: 720px
}

.ceremony .btn,
.recognition .btn {
  margin-top: 24px
}

.agenda {
  display: grid;
  gap: 18px
}

.agenda div {
  border-bottom: 1px solid rgba(255, 255, 255, .42);
  padding-bottom: 16px
}

.agenda div:last-child {
  border-bottom: 0
}

.agenda strong {
  display: block;
  color: #fff;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 400
}

.agenda p {
  margin-top: 4px;
  font-size: 1rem
}

.recognition {
  background: #050505;
  color: #fff
}

.recognition-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 64px;
  align-items: center
}

.recognition figure {
  margin: 0;
  justify-self: center
}

.recognition img {
  width: 100%;
  max-width: 330px
}

.city-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .58fr);
  gap: 48px;
  align-items: stretch
}

.city-grid figure {
  margin: 0
}

.city-grid figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px
}

.city-cards {
  display: grid;
  gap: 20px
}

.city-cards article {
  background: #fff;
  border-radius: 12px;
  padding: 28px 26px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .05)
}

.city-cards h3 {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 8px;
  font-size: 1.1rem
}

.city-cards i {
  color: var(--gold);
  font-size: .8rem
}

.legacy-gallery {
  display: grid;
  grid-template-columns: 1.45fr .78fr .78fr;
  gap: 16px
}

.legacy-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px
}

.legacy-gallery__main {
  grid-row: span 2
}

.ecosystem {
  padding-top: 46px
}

.partners {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px
}

.partners div {
  background: #fff;
  border-radius: 8px;
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border: 1px solid #eee
}

.partners img {
  width: 80px
}

.cta {
  position: relative;
  color: #fff;
  overflow: hidden
}

.cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .44)
}

.cta-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 40px;
  align-items: center;
  padding: 58px 0
}

.cta-date {
  color: #d2a63d;
  font-family: Ainslie, 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  margin-bottom: 10px
}

.cta h2 {
  color: #fff;
  text-transform: uppercase;
  font-size: clamp(1.6rem, 2.8vw, 3rem);
  line-height: 1.12
}

.cta p {
  color: rgba(255, 255, 255, .88);
  font-size: 1.08rem;
  max-width: 830px;
  margin-top: 16px
}

.cta-badge {
  width: 200px;
  justify-self: center
}

/* ---------- Footer ---------- */
.site-footer {
  background: #000000;
  color: #ffffff;
  padding: 56px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 40px;
  margin-bottom: 40px;
}

.footer-col {
  border-left: 1px solid #8d8e90;
  padding-left: 40px;
}

.footer-col:first-child {
  border-left: none;
  padding-left: 0;
}

.footer-col strong {
  display: block;
  color: var(--gold-light);
  text-transform: uppercase;
  margin-bottom: 14px;
  font-family: "Ainslie", "Segoe UI", Arial, sans-serif;
}

.footer-col a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.95rem;
  padding: 5px 0;
  transition: color 0.2s ease;
}

.footer-col a:hover {
  color: var(--gold-light) !important;
}

.footer-col a i {
  margin-right: 6px;
  color: var(--gold-light);
}

.footer-subscribe {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 54px;
  flex-wrap: wrap;
  padding: 24px 0;
}

.subscribe-form {
  min-width: 100px;
  width: 38%;
}

.subscribe-form strong {
  display: block;
  color: #ffffff;
  margin-bottom: 14px;
  text-transform: uppercase;
  font-size: 1rem;
}

.input-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 900px;
}

.input-wrapper i {
  color: #ffffff;
  flex: none;
}

.input-wrapper input {
  flex: 1;
  min-width: 0;
  height: 38px;
  border-radius: 4px;
  border: none;
  background: #c7c7c7;
  padding: 0 14px;
}

.input-wrapper button {
  height: 38px;
  padding: 0 26px;
  background: var(--gold);
  color: var(--ink);
  border: none;
  border-radius: 4px;
  font-family: "Ainslie", "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.footer-social {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.footer-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #171313;
  text-decoration: none;
}

.footer-social a:hover {
  background: var(--gold-light);
}

.footer-about {
  text-align: center;
  padding: 18px 20px;
  border-top: 1px solid #8d8e90;
}

.footer-about strong {
  display: block;
  font-size: 1.15rem;
  margin-bottom: 6px;
}

.footer-about p {
  max-width: 100%;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.85);
}

.footer-copy {
  text-align: center;
  margin-top: 12px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
}

.footer-bottom {
  border-top: 1px solid #333;
  text-align: center;
  padding: 22px 0 26px;
}

.footer-bottom strong {
  display: block;
  margin-bottom: 8px;
}

.footer-bottom p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.92rem;
  max-width: 980px;
  margin: 0 auto;
}

.copyright {
  font-weight: 700;
  margin-top: 10px !important;
}

@media(max-width:980px) {
  :root {
    --gutter: 28px
  }

  .hero-info__grid,
  .about-grid,
  .section-head,
  .ceremony-grid,
  .recognition-grid,
  .city-grid,
  .cta-grid {
    grid-template-columns: 1fr
  }

  .hero-actions {
    justify-content: flex-start
  }

  .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 22px
  }

  .stat:nth-child(3) {
    border-right: 0
  }

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

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

  .partners {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .section-head p {
    padding-top: 0
  }

  .legacy-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .legacy-gallery__main {
    grid-column: span 2;
    grid-row: auto
  }

  .cta-badge {
    justify-self: start
  }
}

@media(max-width:720px) {
  :root {
    --gutter: 18px
  }

  body {
    font-size: 16px
  }

  .main-nav {
    justify-content: flex-end;
    padding: 0 var(--gutter);
    min-height: 50px
  }

  .nav-toggle-btn {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer
  }

  .nav-toggle-btn span {
    width: 28px;
    height: 2px;
    background: #fff
  }

  .nav-list {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    background: #000;
    z-index: 10;
    padding: 10px 18px 16px;
    flex-direction: column
  }

  .nav-toggle:checked~.nav-list {
    display: flex
  }

  .nav-list li:not(:last-child)::after {
    content: none
  }

  .nav-list li {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .15)
  }

  .nav-list a {
    width: 100%;
    text-align: center;
    padding: 12px 0
  }

  .hero-info {
    padding: 18px 0
  }

  .hero-info h1 {
    font-size: 1.55rem
  }

  .hero-actions .btn {
    width: 100%
  }

  .ticker {
    text-align: center;
    line-height: 1.45
  }

  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 28px 0
  }

  .stat:nth-child(3) {
    border-right: 1px solid #e4ded2
  }

  .stat:nth-child(even) {
    border-right: 0
  }

  .section {
    padding: 44px 0
  }

  .about-grid,
  .section-head,
  .ceremony-grid,
  .recognition-grid,
  .city-grid {
    gap: 24px
  }

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

  .section-head h2,
  .ceremony h2,
  .recognition h2 {
    font-size: 1.75rem
  }

  .section-head p,
  .about-copy p,
  .ceremony p,
  .recognition p {
    font-size: 1rem
  }

  .pill-grid,
  .category-grid,
  .steps,
  .partners {
    grid-template-columns: 1fr
  }

  .wide-memory img {
    max-height: none
  }

  .legacy-gallery {
    grid-template-columns: 1fr
  }

  .legacy-gallery__main {
    grid-column: auto
  }

  .cta-grid {
    padding: 42px 0
  }

  .cta h2 {
    font-size: 1.65rem
  }

  .cta-badge {
    width: 130px
  }
}

@media(max-width:390px) {
  .stats {
    grid-template-columns: 1fr
  }

  .stat,
  .stat:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid #e4ded2;
    padding-bottom: 16px
  }

  .stat:last-child {
    border-bottom: 0
  }

  .section-head h2,
  .ceremony h2,
  .recognition h2 {
    font-size: 1.45rem
  }
}


/* Requested AI awards visual tuning */
.hero-info {
  background: #ffffff;
  color: var(--ink);
  border-top: 1px solid #f0ece4;
  border-bottom: 1px solid #f0ece4;
}

.hero-info h1 {
  color: var(--ink);
}

.hero-info p,
.cta-date {
  color: var(--gold);
  font-weight: 700;
}

.stats {
  padding-top: 38px;
  padding-bottom: 38px;
}

.stat i {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 1.65rem;
}

.stat strong {
  font-size: clamp(1.65rem, 2.2vw, 2.35rem);
}

.about-copy .eyebrow,
.section-head .eyebrow,
.ceremony .eyebrow,
.recognition .eyebrow {
  font-size: clamp(1.25rem, 1.5vw, 1.55rem);
}

.about-copy p {
  max-width: 700px;
  font-size: clamp(1.2rem, 1.45vw, 1.42rem);
  line-height: 1.58;
}

.about-copy p a {
  color: var(--gold);
  font-weight: 700;
}

.pill-grid {
  max-width: 780px;
  gap: 18px;
}

.pill-grid a {
  min-height: 62px;
  padding: 18px 22px;
  font-size: 1.15rem;
  border: 1px solid rgba(165, 121, 32, .18);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .04);
}

.section-head h2 {
  font-size: clamp(1.7rem, 2.55vw, 2.85rem);
}

#award-categories .section-head h2,
#nomination-procedure .section-head h2,
#host-city .section-head h2,
#awards-legacy .section-head h2,
.ecosystem .section-head h2 {
  font-size: clamp(1.65rem, 2.35vw, 2.65rem);
}

.category-grid+.image-row,
.caption-line+.category-grid,
.category-grid+.caption-line,
.image-row+.caption-line {
  margin-top: 30px;
}

.image-row {
  display: grid;
  gap: 28px;
  margin-top: 32px;
}

.image-row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.image-row img {
  width: 100%;
  aspect-ratio: 992 / 426;
  object-fit: cover;
  border-radius: 14px;
}

.image-row--memory img {
  aspect-ratio: 991 / 426;
}

.caption-line {
  font-size: clamp(1rem, 1.15vw, 1.25rem);
  margin-top: 18px;
  margin-bottom: 32px;
}

.ceremony h2,
.recognition h2 {
  font-size: clamp(1.65rem, 2.45vw, 2.75rem);
}

.recognition .eyebrow,
#host-city .eyebrow,
#awards-legacy .eyebrow,
.ecosystem .eyebrow {
  font-size: clamp(1.28rem, 1.55vw, 1.6rem);
}

.partners div {
  min-height: 150px;
  padding: 24px;
}

.partners img {
  width: 112px;
}

.cta-overlay {
  background: rgba(0, 0, 0, .24);
}

.cta-date {
  font-size: clamp(1.25rem, 1.7vw, 1.75rem);
  margin-bottom: 14px;
}

.cta h2 {
  font-size: clamp(1.45rem, 2.2vw, 2.35rem);
  max-width: 980px;
}

.cta p {
  max-width: 650px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .hero-info__grid {
    gap: 18px;
  }

  .image-row--two {
    grid-template-columns: 1fr;
  }

  .about-copy p {
    max-width: 100%;
  }

  .partners img {
    width: 100px;
  }
}

@media (max-width: 720px) {
  .hero-info h1 {
    font-size: 1.45rem;
  }

  .stat i {
    font-size: 1.45rem;
  }

  .about-copy .eyebrow,
  .section-head .eyebrow,
  .ceremony .eyebrow,
  .recognition .eyebrow {
    font-size: 1.12rem;
  }

  .about-copy p {
    font-size: 1.05rem;
  }

  .pill-grid a {
    min-height: 54px;
    padding: 14px 16px;
    font-size: 1.02rem;
  }

  .section-head h2,
  #award-categories .section-head h2,
  #nomination-procedure .section-head h2,
  #host-city .section-head h2,
  #awards-legacy .section-head h2,
  .ecosystem .section-head h2,
  .ceremony h2,
  .recognition h2 {
    font-size: 1.55rem;
  }

  .partners div {
    min-height: 130px;
  }

  .cta-overlay {
    background: rgba(0, 0, 0, .34);
  }

  .cta-date {
    font-size: 1.2rem;
  }

  .cta h2 {
    font-size: 1.45rem;
  }

  .cta p {
    max-width: 100%;
  }
}



/* Hero title gold left rule */
.hero-info__grid>div:first-child {
  border-left: 4px solid var(--gold);
  padding-left: 18px;
}

@media (max-width: 720px) {
  .hero-info__grid>div:first-child {
    border-left-width: 3px;
    padding-left: 14px;
  }
}


/* Established-since bar height */
.ticker {
  padding-top: 16px;
  padding-bottom: 16px;
}


/* Keep the hero gold rule on the title only */
.hero-info__grid>div:first-child {
  border-left: 0;
  padding-left: 0;
}

.hero-info h1 {
  border-left: 4px solid var(--gold);
  padding-left: 18px;
}

.hero-info h1+p {
  padding-left: 22px;
}

@media (max-width: 720px) {
  .hero-info__grid>div:first-child {
    border-left: 0;
    padding-left: 0;
  }

  .hero-info h1 {
    border-left-width: 3px;
    padding-left: 14px;
  }

  .hero-info h1+p {
    padding-left: 17px;
  }
}


/* Host city card title size */
.city-cards h3 {
  font-size: 1.28rem;
}

@media (max-width: 720px) {
  .city-cards h3 {
    font-size: 1.16rem;
  }
}


/* CTA date gold color */
.cta .cta-date {
  color: var(--gold) !important;
}


/* Awards Legacy exact gallery layout */
.legacy-gallery--exact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.legacy-gallery--exact img {
  aspect-ratio: 453 / 423;
  border-radius: 24px;
}

.legacy-gallery--exact .legacy-gallery__main {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: 1022 / 876;
}

.legacy-gallery--exact .legacy-gallery__wide {
  grid-column: span 2;
  aspect-ratio: 941 / 415;
}

@media (max-width: 980px) {
  .legacy-gallery--exact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-gallery--exact .legacy-gallery__main,
  .legacy-gallery--exact .legacy-gallery__wide {
    grid-column: span 2;
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .legacy-gallery--exact {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .legacy-gallery--exact .legacy-gallery__main,
  .legacy-gallery--exact .legacy-gallery__wide {
    grid-column: auto;
  }

  .legacy-gallery--exact img,
  .legacy-gallery--exact .legacy-gallery__main,
  .legacy-gallery--exact .legacy-gallery__wide {
    aspect-ratio: auto;
  }
}


/* Mobile recognition heading size */
@media (max-width: 720px) {
  .recognition h2 {
    font-size: 1.32rem;
    line-height: 1.18;
  }
}


/* Mobile nav visible close control */
@media (max-width: 720px) {
  .main-nav {
    position: relative;
    justify-content: flex-end;
  }

  .nav-toggle-btn {
    position: relative;
    z-index: 30;
    width: 48px;
    height: 50px;
    align-items: center;
    justify-content: center;
  }

  .nav-toggle:checked+.nav-toggle-btn span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .nav-toggle:checked+.nav-toggle-btn span:nth-child(2) {
    opacity: 0;
  }

  .nav-toggle:checked+.nav-toggle-btn span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .nav-list {
    top: 50px;
  }
}


/* Larger section titles */
.section-head h2,
#award-categories .section-head h2,
#nomination-procedure .section-head h2,
#host-city .section-head h2,
#awards-legacy .section-head h2,
.ecosystem .section-head h2 {
  font-size: clamp(1.7rem, 2.45vw, 2.85rem);
  line-height: 1.08;
}

.ceremony h2,
.recognition h2 {
  font-size: clamp(1.65rem, 2.35vw, 2.65rem);
}

.cta h2 {
  font-size: clamp(1.45rem, 2.08vw, 2.28rem);
  line-height: 1.16;
  max-width: 1180px;
}

.cta-title span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 720px) {

  .section-head h2,
  #award-categories .section-head h2,
  #nomination-procedure .section-head h2,
  #host-city .section-head h2,
  #awards-legacy .section-head h2,
  .ecosystem .section-head h2,
  .ceremony h2,
  .cta h2 {
    font-size: 1.72rem;
  }

  .recognition h2 {
    font-size: 1.42rem;
  }

  .cta-title span {
    display: inline;
    white-space: normal;
  }
}


/* Award category caption size */
#award-categories .category-card h3 {
  font-size: 1.28rem;
  line-height: 1.28;
  max-width: 95%;
  white-space: normal;
  overflow-wrap: normal;
}

#award-categories .award-categories-title {
  font-size: clamp(1.65rem, 2.2vw, 2.55rem);
  max-width: 1120px;
}

#award-categories .award-categories-title span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 720px) {
  #award-categories .category-card h3 {
    font-size: 1.12rem;
  }

  #award-categories .award-categories-title span {
    display: inline;
    white-space: normal;
  }
}


/* Keep nomination procedure title in exactly three lines */
.nomination-title br {
  display: block;
}

/* Hero subtitle */
.hero-subtitle {
  margin-top: 8px !important;
  color: var(--ink) !important;
  font-family: Ainslie, "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.1rem, 1.55vw, 1.55rem) !important;
  line-height: 1.25;
  padding-left: 22px;
}

@media (max-width: 720px) {
  .hero-subtitle {
    font-size: 1.08rem !important;
    padding-left: 17px;
  }
}

/* Hero right-side subtitle placement */
.hero-info__grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
}

.hero-subtitle-block {
  justify-self: end;
  max-width: 640px;
  text-align: left;
}

.hero-subtitle {
  padding-left: 0;
  margin-top: 0 !important;
}

@media (max-width: 980px) {
  .hero-info__grid {
    grid-template-columns: 1fr;
  }

  .hero-subtitle-block {
    justify-self: start;
    max-width: 100%;
  }
}

@media (max-width: 720px) {
  .hero-subtitle {
    padding-left: 0;
  }
}

/* Refine hero statement layout */
.hero-info {
  padding-top: 28px;
  padding-bottom: 28px;
}

.hero-info__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  gap: 72px;
  align-items: center;
}

.hero-subtitle-block {
  justify-self: stretch;
  max-width: 680px;
  padding: 0 0 0 34px;
  border-left: 3px solid var(--gold);
}

.hero-subtitle {
  color: var(--gold) !important;
  font-size: clamp(1.22rem, 1.45vw, 1.6rem) !important;
  line-height: 1.32;
  font-weight: 700;
}

@media (max-width: 980px) {
  .hero-info__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .hero-subtitle-block {
    max-width: 100%;
    padding-left: 18px;
    border-left-width: 3px;
  }
}

@media (max-width: 720px) {
  .hero-info {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .hero-subtitle {
    font-size: 1.08rem !important;
  }
}

/* Hero subtitle color update */
.hero-subtitle {
  color: var(--ink) !important;
}

/* Match gcc-asia nav sizing */
.nav-list a {
  font-size: 18px;
  padding: 13px 4px;
  font-weight: 500;
}

@media (max-width: 720px) {
  .nav-list a {
    font-size: 18px;
    padding: 13px 4px;
  }
}


/* Match hero subtitle typography to main hero title */
.hero-subtitle {
  font-family: Ainslie, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(1.1rem, 1.75vw, 1.55rem) !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  color: var(--ink) !important;
}

@media (max-width: 720px) {
  .hero-subtitle {
    font-size: 1.55rem !important;
  }
}


/* Keep award category captions contained inside each card */
@media (min-width: 981px) {
  #award-categories .category-card h3 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(.96rem, 1vw, 1.12rem);
    line-height: 1.2;
  }
}


/* Balance the two hero statements into equal two-line blocks */
@media (min-width: 981px) {
  .hero-info__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 54px;
  }

  .hero-subtitle-block {
    max-width: none;
  }

  .hero-info h1,
  .hero-subtitle {
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    line-height: 1.12 !important;
  }
}


/* Refine hero split headline for cleaner desktop wrapping */
@media (min-width: 981px) {
  .hero-info__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: 64px;
    align-items: center;
  }

  .hero-info h1,
  .hero-subtitle {
    font-size: clamp(1.28rem, 1.75vw, 1.75rem) !important;
    line-height: 1.16 !important;
  }

  .hero-subtitle-block {
    padding-left: 30px;
  }
}


/* Keep right hero statement in exactly two lines on desktop */
@media (min-width: 981px) {
  .hero-info__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
    gap: 48px;
  }

  .hero-subtitle span {
    display: block;
    white-space: nowrap;
  }

  .hero-subtitle {
    font-size: clamp(1.18rem, 1.55vw, 1.55rem) !important;
  }
}

@media (max-width: 980px) {
  .hero-subtitle span {
    display: inline;
    white-space: normal;
  }
}


/* Keep hero statements the same size while preserving two-line layout */
@media (min-width: 981px) {
  .hero-info__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.24fr);
    gap: 48px;
  }

  .hero-info h1,
  .hero-subtitle {
    font-size: clamp(1.28rem, 1.75vw, 1.75rem) !important;
    line-height: 1.16 !important;
  }

  .hero-subtitle span {
    display: block;
    white-space: nowrap;
  }
}


/* Center established-since ticker text */
.ticker {
  text-align: center;
}

.ticker .shell {
  text-align: center;
}


/* Match original AI awards nav font */
@font-face {
  font-family: "BruumFY";
  src: url("../../The 30th Middle East Ai Government and Cities Award/fonts/BruumFY-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "BruumFY";
  src: url("../../The 30th Middle East Ai Government and Cities Award/fonts/BruumFY-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}

.main-nav .nav-list a {
  font-family: "BruumFY", Arial, sans-serif !important;
  font-weight: 500;
}


/* About section custom title */
.about-title {
  display: block;
  color: var(--ink) !important;
  font-size: clamp(2rem, 2.7vw, 2.9rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.055em !important;
  margin-bottom: 18px;
  max-width: 1180px;
}

.about-title span {
  display: block;
}


/* Match original AI Government and Cities Awards typography system */
@font-face {
  font-family: "BruumFY-Regular";
  src: url("../../The 30th Middle East Ai Government and Cities Award/fonts/BruumFY-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "BruumFY-Bold";
  src: url("../../The 30th Middle East Ai Government and Cities Award/fonts/BruumFY-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "BruumFY-Light";
  src: url("../../The 30th Middle East Ai Government and Cities Award/fonts/BruumFY-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}

body,
p,
a,
li,
.ticker,
.stat span,
.about-copy p,
.step p,
.city-cards p,
.agenda p,
.footer-grid a,
.footer-bottom p {
  font-family: "BruumFY-Regular", "BruumFY", Arial, sans-serif !important;
}

body {
  font-size: 16px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-info h1,
.hero-subtitle,
.about-title,
.section-head h2,
.category-card h3,
.caption-line,
.stat strong,
.eyebrow,
.btn,
.step h3,
.city-cards h3,
.agenda strong,
.footer-grid strong,
.subscribe-row strong,
.subscribe-form button {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
}

.main-nav .nav-list a {
  font-family: "BruumFY", "BruumFY-Regular", Arial, sans-serif !important;
  font-size: 16px !important;
  padding: 6px 2px !important;
  font-weight: 500 !important;
}

.nav-list li:not(:last-child)::after {
  margin: 0 6px;
  font-weight: 300;
}

@media (max-width: 720px) {
  .main-nav .nav-list a {
    font-size: 15px !important;
  }
}


/* Clean aligned hero statement layout */
@media (min-width: 981px) {
  .hero-info {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .hero-info__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 72px;
    align-items: center;
  }

  .hero-info h1,
  .hero-subtitle {
    max-width: 720px;
    font-size: clamp(1.22rem, 1.62vw, 1.68rem) !important;
    line-height: 1.12 !important;
  }

  .hero-line,
  .hero-subtitle span {
    display: block;
    white-space: normal !important;
  }

  .hero-subtitle-block {
    justify-self: stretch;
    max-width: none;
    padding-left: 30px;
    border-left: 3px solid var(--gold);
  }
}

@media (max-width: 980px) {

  .hero-line,
  .hero-subtitle span {
    display: inline;
    white-space: normal !important;
  }
}


/* Force hero statements into two balanced desktop lines */
@media (min-width: 981px) {
  .hero-info__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: 64px;
  }

  .hero-info h1,
  .hero-subtitle {
    max-width: none;
    font-size: clamp(1.12rem, 1.45vw, 1.52rem) !important;
    line-height: 1.14 !important;
  }

  .hero-line,
  .hero-subtitle span {
    display: block;
    white-space: nowrap !important;
  }
}


/* Match about title exactly to hero statement size */
.about-title {
  font-size: clamp(1.12rem, 1.45vw, 1.52rem) !important;
  line-height: 1.14 !important;
}

/* Mobile polish: keep content readable without oversized headings */
@media (max-width: 720px) {
  body {
    font-size: 15px;
  }

  .shell {
    width: min(100% - 32px, 1460px);
  }

  .hero-info {
    padding: 14px 0;
  }

  .hero-info__grid,
  .about-grid,
  .section-head,
  .ceremony-grid,
  .recognition-grid,
  .city-grid,
  .cta-grid {
    gap: 18px;
  }

  .hero-info h1,
  .hero-subtitle,
  .about-title {
    font-size: 1.08rem !important;
    line-height: 1.22 !important;
  }

  .about-copy p,
  .section-head p,
  .ceremony p,
  .recognition p,
  .city-cards p,
  .step p,
  .cta p {
    font-size: .95rem !important;
    line-height: 1.48 !important;
  }

  .section {
    padding: 34px 0;
  }

  .section-head {
    margin-bottom: 20px;
  }

  .section-head .eyebrow,
  .about-copy .eyebrow,
  .ceremony .eyebrow,
  .recognition .eyebrow {
    font-size: .9rem !important;
  }

  .section-head h2,
  #award-categories .section-head h2,
  #nomination-procedure .section-head h2,
  #host-city .section-head h2,
  #awards-legacy .section-head h2,
  .ecosystem .section-head h2,
  .ceremony h2,
  .recognition h2,
  .cta h2 {
    font-size: 1.28rem !important;
    line-height: 1.18 !important;
  }

  #award-categories .award-categories-title {
    font-size: 1.32rem !important;
    max-width: 100%;
  }

  #award-categories .award-categories-title span,
  .hero-line,
  .hero-subtitle span,
  .cta-title span {
    display: inline;
    white-space: normal !important;
  }

  #award-categories .category-card h3 {
    max-width: 100%;
    white-space: normal !important;
    font-size: 1rem !important;
    line-height: 1.24 !important;
    padding-left: 12px;
  }

  .caption-line {
    font-size: .95rem !important;
    line-height: 1.35;
    margin: 22px 0;
  }

  .stats {
    padding: 22px 0;
  }

  .stat strong {
    font-size: 1.35rem !important;
  }

  .stat span {
    font-size: .82rem !important;
  }

  .pill-grid a,
  .step,
  .city-cards article {
    padding: 18px;
  }

  .step h3,
  .city-cards h3 {
    font-size: 1rem !important;
  }

  .cta-date {
    font-size: 1rem !important;
  }

  .cta-grid {
    padding: 32px 0;
  }

  .cta-badge {
    width: 110px;
  }
}

@media (max-width: 390px) {

  .section-head h2,
  #award-categories .section-head h2,
  #nomination-procedure .section-head h2,
  #host-city .section-head h2,
  #awards-legacy .section-head h2,
  .ecosystem .section-head h2,
  .ceremony h2,
  .recognition h2,
  .cta h2 {
    font-size: 1.16rem !important;
  }

  .hero-info h1,
  .hero-subtitle,
  .about-title {
    font-size: 1rem !important;
  }
}

/* Emphasize the About section recognition quote */
.about-copy blockquote {
  font-size: clamp(1.18rem, 1.4vw, 1.42rem);
  line-height: 1.42;
}

@media (max-width: 720px) {
  .about-copy blockquote {
    font-size: 1.04rem;
    line-height: 1.42;
  }
}

/* Balance the final CTA heading */
.cta .cta-title {
  max-width: 1080px;
  font-size: clamp(1.5rem, 2.12vw, 2.36rem);
  line-height: 1.16;
}

.cta .cta-title span {
  display: block;
}

@media (max-width: 720px) {
  .cta .cta-title {
    max-width: 100%;
    font-size: 1.22rem !important;
  }

  .cta .cta-title span {
    display: inline;
  }
}



/* Keep copied inner pages slightly lighter and more compact than the landing page. */
body.inner-content-page main p,
body.inner-content-page main li,
body.inner-content-page main td,
body.inner-content-page main label,
body.inner-content-page main input,
body.inner-content-page main select,
body.inner-content-page main textarea {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body.inner-content-page main h2 {
  font-size: 28px !important;
  line-height: 1.24 !important;
}

body.inner-content-page main strong {
  font-size: 19px !important;
}

@media (max-width: 720px) {

  body.inner-content-page main p,
  body.inner-content-page main li,
  body.inner-content-page main td,
  body.inner-content-page main label,
  body.inner-content-page main input,
  body.inner-content-page main select,
  body.inner-content-page main textarea {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  body.inner-content-page main h2 {
    font-size: 24px !important;
  }
}


body.inner-content-page main h1,
body.inner-content-page main h2,
body.inner-content-page main h3,
body.inner-content-page main h4,
body.inner-content-page main h5,
body.inner-content-page main h6,
body.inner-content-page main .borderline,
body.inner-content-page main .main-title,
body.inner-content-page main .datamatix-title,
body.inner-content-page main .color-4,
body.inner-content-page main .lang-eng,
body.inner-content-page main [class*="title"] {
  color: #000 !important;
}


#about-awards.section--cream {
  background: #F8F8F8 !important;
}

#about-awards .about-title {
  font-size: clamp(2.1rem, 2.9vw, 3.3rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.052em !important;
  max-width: 1260px;
}

#about-awards .about-title span {
  display: block;
}

#nomination-procedure.section--cream {
  background: #F8F8F8 !important;
}

#host-city.section--cream {
  background: #F8F8F8 !important;
}

.cta {
  background: #050505 !important;
}

.cta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 24px;
  background: linear-gradient(180deg, rgba(5, 5, 5, 0), rgba(5, 5, 5, 0.82) 100%);
  pointer-events: none;
  z-index: 1;
}

.cta-grid {
  z-index: 2 !important;
}

/* Keep the copied contact page on the AI Gov Cities typography. */
body.inner-content-page main,
body.inner-content-page main *:not(i),
body.inner-content-page footer,
body.inner-content-page footer *:not(i),
body.inner-content-page .form,
body.inner-content-page .form *:not(i),
body.inner-content-page .form-control,
body.inner-content-page .form-select,
body.inner-content-page .btn {
  font-family: "BruumFY-Regular", "BruumFY", Arial, sans-serif !important;
}

body.inner-content-page main h1,
body.inner-content-page main h2,
body.inner-content-page main h3,
body.inner-content-page main h4,
body.inner-content-page main h5,
body.inner-content-page main h6,
body.inner-content-page main .fw-bold,
body.inner-content-page main strong,
body.inner-content-page footer strong,
body.inner-content-page footer .btn,
body.inner-content-page .main-nav .nav-list a {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
}

body.inner-content-page main .form .mb-2,
body.inner-content-page main .form-label,
body.inner-content-page main .form-select,
body.inner-content-page main .form-control,
body.inner-content-page main .form-control::placeholder {
  font-family: "BruumFY-Regular", "BruumFY", Arial, sans-serif !important;
}

body.inner-content-page main .form .mb-2,
body.inner-content-page main .form-label,
body.inner-content-page main .form label {
  color: #000 !important;
}

.footer-institute-logo {
  display: block;
  width: min(700px, 82vw);
  height: auto;
  margin: 0 auto 14px;
}

body.inner-content-page main .profile p,
body.inner-content-page main .welcome p,
body.inner-content-page main #content p {
  margin-bottom: 16px !important;
}

body.inner-content-page main .profile p:last-child,
body.inner-content-page main .welcome p:last-child,
body.inner-content-page main #content p:last-child {
  margin-bottom: 0 !important;
}

/* Approved typography from woibex/2026/ceremony.htm */
body,
main,
section,
p,
li,
td,
label,
input,
select,
textarea,
button,
a,
.stat span,
.stat__label,
.about-copy p,
.hero__desc,
.step p,
.city-cards p,
.agenda p,
.footer-grid a,
.footer-bottom p,
.copy-right p,
body.inner-content-page main p,
body.inner-content-page main li {
  font-family: "BruumFY-Light", "BruumFY", Arial, sans-serif !important;
}

p,
main li,
.profile p,
.profile ul li,
.about-copy p,
.section-head p,
.hero__desc,
.step p,
.city-cards p,
.agenda p,
body.inner-content-page main p,
body.inner-content-page main li {
  font-size: 20px !important;
  line-height: 33px !important;
  color: #6e6d6c !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-info h1,
.hero__title,
.about-title,
.section-head h2,
.category-card h3,
.card h3,
.step h3,
.city-cards h3,
.agenda strong,
.eyebrow,
.stat strong,
.stat__num,
.caption-line,
.footer-grid strong,
.subscribe-row strong,
.subscribe-form button,
body.inner-content-page main h1,
body.inner-content-page main h2,
body.inner-content-page main h3,
body.inner-content-page main h4,
body.inner-content-page main h5,
body.inner-content-page main h6 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  color: #000 !important;
}

.profile h2,
.profile h3,
.profile h4,
body.inner-content-page main h2,
body.inner-content-page main h3,
body.inner-content-page main h4 {
  line-height: 39px !important;
}

strong,
b,
.main-nav .nav-list a,
.nav-list a,
.footer-bottom strong,
.ticker,
.ticker strong,
.cta-date,
.hero__date,
body.inner-content-page main strong,
body.inner-content-page main h5 {
  font-family: "BruumFY-Regular", "BruumFY", Arial, sans-serif !important;
}

.main-nav .nav-list a,
.nav-list a {
  font-size: 17px !important;
  font-weight: 400 !important;
}

#award-categories .category-card {
  min-width: 0;
  overflow: hidden;
}

#award-categories .category-card h3,
.category-card h3 {
  display: block !important;
  max-width: 100%;
  width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal !important;
  font-size: clamp(18px, 1.18vw, 22px) !important;
  line-height: 1.28 !important;
}


.btn {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
}

.btn--gold {
  color: #1c1304 !important;
}

.btn--dark,
.ceremony .btn,
.recognition .btn,
body.inner-content-page footer .btn {
  color: #fff !important;
}

.stat strong {
  color: #ed2027 !important;
  font-size: 30px !important;
}

.stat span,
.stat__label {
  color: #686666 !important;
  font-size: 16px !important;
}

.about-copy p,
.midleInstit p {
  font-size: 21px !important;
  line-height: 32px !important;
}

.about-title,
.midleInstit h2 {
  font-size: 45px !important;
  line-height: 55px !important;
}

.section-head h2 {
  font-size: clamp(2rem, 2.7vw, 42px) !important;
  line-height: 1.12 !important;
}

.main-nav,
.main-nav *,
.site-footer,
.site-footer a,
.site-footer p,
.footer-bottom,
.footer-bottom p,
.copy-right,
.copy-right p,
.cta h2,
.cta p,
.ceremony,
.ceremony h2,
.ceremony p,
.recognition,
.recognition h2,
.recognition p,
.agenda strong,
.agenda p {
  color: #fff !important;
}

.footer-grid strong,
.eyebrow,
.hero__date,
.pill-grid i,
.step span,
.step h3 i,
.city-cards i {
  color: #b07c2c !important;
}

.subscribe-form strong,
.cta-date,
.cta .cta-date {
  color: #ffffff !important;
}

.about-copy .about-title,
#about-awards .about-title {
  color: #000 !important;
}

.step h3,
.city-cards h3,
.category-card h3,
.caption-line,
.wide-memory figcaption,
.about-copy blockquote,
body.inner-content-page main .form .mb-2,
body.inner-content-page main .form-label,
body.inner-content-page main .form label,
body.inner-content-page main .form-control,
body.inner-content-page main .form-select {
  color: #000 !important;
}

@media (max-width: 720px) {

  p,
  main li,
  .profile p,
  .profile ul li,
  .about-copy p,
  .section-head p,
  .hero__desc,
  .step p,
  .city-cards p,
  .agenda p,
  body.inner-content-page main p,
  body.inner-content-page main li {
    font-size: 18px !important;
    line-height: 29px !important;
  }

  .main-nav .nav-list a,
  .nav-list a {
    font-size: 15px !important;
  }

  .about-copy p,
  .midleInstit p {
    font-size: 18px !important;
    line-height: 29px !important;
  }

  .about-title,
  .midleInstit h2 {
    font-size: 32px !important;
    line-height: 39px !important;
  }


  #award-categories .category-card h3,
  .category-card h3 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
}

/* Balance CTA supporting text to two lines on desktop */
.cta .cta-grid>div>p:not(.cta-date) {
  max-width: 980px !important;
  width: min(980px, calc(100vw - 650px)) !important;
  font-size: 20px !important;
  line-height: 33px !important;
}

@media (max-width: 980px) {
  .cta .cta-grid>div>p:not(.cta-date) {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.ceremony .btn--light,
.recognition .btn--light,
a.btn.btn--light {
  color: #000 !important;
}

/* Keep standard AI Gov Cities section copy black */
#about-awards .about-copy p,
#award-categories .section-head p,
#nomination-procedure .section-head p,
#nomination-procedure .step p,
#host-city .section-head p,
#host-city .city-cards p,
#awards-legacy .section-head p,
.ecosystem .section-head p {
  color: #000 !important;
}

/* Full framed top hero image */
.hero-visual {
  width: min(1840px, calc(100vw - 64px));
  margin: 18px auto 0;
  padding: 22px 24px;
}

.hero-visual img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

@media (max-width: 720px) {
  .hero-visual {
    width: calc(100vw - 28px);
    margin-top: 12px;
    padding: 10px;
  }
}

/* Hero image slider copied from the main site hero image set */
.hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.hero-slider__track {
  position: relative;
  width: 100%;
  aspect-ratio: 1412 / 810;
  min-height: 0;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .65s ease;
}

.hero-slide.active {
  opacity: 1;
  pointer-events: auto;
}

.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero-slider__indicators {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 3;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.hero-dot {
  width: 32px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, .5);
  cursor: pointer;
}

.hero-dot.active {
  background: #fff;
}

.hero-slider__control {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .36);
  color: #fff;
  transform: translateY(-50%);
  cursor: pointer;
}

.hero-slider__control--prev {
  left: 18px;
}

.hero-slider__control--next {
  right: 18px;
}

.hero-slider__control:hover {
  background: rgba(0, 0, 0, .58);
}

@media (max-width: 720px) {
  .hero-slider__track {
    aspect-ratio: 1412 / 810;
    min-height: 0;
  }

  .hero-slider__control {
    width: 38px;
    height: 38px;
  }

  .hero-dot {
    width: 22px;
  }
}



/* CTA content layout */
.cta .cta-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.35fr) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  align-items: flex-start !important;
  padding: 72px 0 !important;
  position: relative;
  z-index: 2;
}

.cta-copy {
  max-width: 100%;
}

.cta .cta-date {
  color: #A6791F !important;
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.15vw, 1.2rem) !important;
  margin-bottom: 14px !important;
  display: block;
  letter-spacing: 0.03em;
  white-space: nowrap !important;
  opacity: 0.9;
}

@media (max-width: 720px) {
  .cta .cta-date {
    white-space: normal !important;
  }
}

.cta .cta-title {
  max-width: 100% !important;
  margin-bottom: 24px !important;
  font-size: clamp(1.65rem, 2.4vw, 2.7rem) !important;
  line-height: 1.18 !important;
  color: #ffffff !important;
}

.cta .cta-title span {
  display: block;
}

/* Paragraph divider style using a subtle border */
.cta .cta-grid p:not(.cta-date) {
  width: 100% !important;
  margin-top: 0 !important;
  padding: 12px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  font-size: clamp(0.92rem, 0.95vw, 1.05rem) !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

.cta .cta-grid p:not(.cta-date):first-of-type {
  padding-top: 0 !important;
  border-top: none !important;
}

.cta .cta-intro .cta-intro-line {
  display: block;
}

.cta .cta-intro .cta-intro-line + .cta-intro-line {
  margin-top: 0;
}

.cta .cta-intro {
  width: min(1040px, calc(100vw - 560px)) !important;
  max-width: 1040px !important;
}

@media (max-width: 980px) {
  .cta .cta-intro {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.cta .cta-grid p:last-of-type {
  border-top: none !important;
  padding-top: 16px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.cta .cta-grid p strong {
  display: block;
  font-size: clamp(1rem, 1.05vw, 1.15rem) !important;
  line-height: 1.35;
  color: #ffffff !important;
  letter-spacing: 0.01em;
}

.cta-badge-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  align-self: flex-start;
  padding-top: 52px;
}

.cta .cta-badge {
  align-self: flex-start;
  justify-self: center;
  max-width: 280px !important;
  width: 100% !important;
  height: auto;
  transform: none !important;
  display: block;
  margin: 0 auto;
}

.cta-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.84) 0%,
    rgba(0, 0, 0, 0.68) 60%,
    rgba(0, 0, 0, 0.48) 100%
  ) !important;
  z-index: 1;
}

@media (max-width: 992px) {
  .cta .cta-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding: 48px 0 !important;
  }

  .cta .cta-badge {
    max-width: 220px !important;
  }
}

@media (max-width: 720px) {
  .cta .cta-title {
    font-size: 1.4rem !important;
  }

  .cta .cta-grid p:not(.cta-date) {
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
  }
}


/* Ceremony program agenda alignment */
.agenda-title {
  color: #fff !important;
  font-size: clamp(1.35rem, 1.65vw, 1.9rem) !important;
  line-height: 1.2 !important;
  margin: 0 0 4px !important;
}

.agenda div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.agenda div strong {
  display: inline-block !important;
  white-space: nowrap;
}

.agenda div p {
  margin-top: 0 !important;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .agenda div p {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .agenda div {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 8px;
  }
}


/* Top separator for the Distinguished Global Recognition section */
.recognition {
  border-top: 3px solid var(--gold);
}


/* Social icons copied from the main homepage footer */
.subscribe-row .social-icons {
  font-size: 16px;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 35px 0 0;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-right: 80px;
}

.subscribe-row .social-icons span {
  padding-right: 15px;
  font-weight: bold;
  color: #fff;
}

.social-icons li {
  list-style: none;
}

.social-icons li a {
  display: inline-flex;
  text-decoration: none;
}

.social-icons li a i {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff !important;
  font-size: 18px;
  transition: transform 0.3s ease;
}

.social-icons li a i:hover {
  transform: scale(1.1);
}

.social-icons-facebook i {
  background-color: #3b5998 !important;
}

.social-icons-instagram i {
  background-color: #e4405f !important;
}

.social-icons-twitter i {
  background-color: #333333 !important;
}

.social-icons-linkedin i {
  background-color: #0077b5 !important;
}

.social-icons-youtube i {
  background-color: #cd201f !important;
}


/* Keep all copied inner page readable text black */
body.inner-content-page main,
body.inner-content-page main *:not(i),
body.inner-content-page main p,
body.inner-content-page main li,
body.inner-content-page main td,
body.inner-content-page main label,
body.inner-content-page main span:not(.eyebrow),
body.inner-content-page main div:not(.main-nav):not(.nav-list),
body.inner-content-page main input,
body.inner-content-page main select,
body.inner-content-page main textarea,
body.inner-content-page main .form-control,
body.inner-content-page main .form-select,
body.inner-content-page main .form-control::placeholder {
  color: #000 !important;
}

/* ===========================================================
   TYPOGRAPHY — matched to the "GCC-Asian Government and
   Business Legacy Leadership" reference project (font sizes
   and families). Overrides earlier tuned sizes above.
=========================================================== */
.hero-info h1,
.hero-subtitle {
  max-width: none !important;
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: clamp(1.3rem, 1.75vw, 1.6rem) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

.hero-line,
.hero-subtitle span {
  display: block !important;
  white-space: normal !important;
}

.eyebrow,
.about-copy .eyebrow,
.section-head .eyebrow,
.ceremony .eyebrow,
.recognition .eyebrow,
#host-city .eyebrow,
#awards-legacy .eyebrow,
.ecosystem .eyebrow {
  font-family: "BruumFY-Light", "BruumFY", Arial, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

.about-title,
#about-awards .about-title,
.about-copy .about-title {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: clamp(1.5rem, 2.15vw, 1.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.section-head h2,
#award-categories .section-head h2,
#nomination-procedure .section-head h2,
#host-city .section-head h2,
#awards-legacy .section-head h2,
.ecosystem .section-head h2,
.ceremony h2,
.recognition h2 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

#award-categories .award-categories-title,
#award-categories .award-categories-title span {
  font-size: 2.2rem !important;
  max-width: none !important;
  white-space: normal !important;
  display: inline !important;
}

.about-copy p,
.section-head p,
.step p,
.city-cards p,
.agenda p,
.ceremony p,
.recognition p {
  font-family: "BruumFY-Light", "BruumFY", Arial, sans-serif !important;
  font-size: 1.1rem !important;
  line-height: 1.55 !important;
}

.category-card h3,
#award-categories .category-card h3 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  max-width: 100% !important;
}

.step h3 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
}

.city-cards h3 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}

.caption-line,
.wide-memory figcaption {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.main-nav .nav-list a,
.nav-list a {
  font-size: 1rem !important;
}

.stat strong {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
}

.stat span {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

.cta-date {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
}

.cta h2,
.cta .cta-title {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  max-width: 900px !important;
}

.cta-title span {
  display: block !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .cta-title span {
    display: inline !important;
    white-space: normal !important;
  }
}

.cta p,
.cta .cta-grid>div>p:not(.cta-date) {
  font-size: 1.3rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 720px) {

  .hero-info h1,
  .hero-subtitle {
    font-size: 1.3rem !important;
    line-height: 1.25 !important;
  }

  .eyebrow,
  .about-copy .eyebrow,
  .section-head .eyebrow,
  .ceremony .eyebrow,
  .recognition .eyebrow,
  #host-city .eyebrow,
  #awards-legacy .eyebrow,
  .ecosystem .eyebrow {
    font-size: 1.2rem !important;
  }

  .about-title,
  #about-awards .about-title,
  .about-copy .about-title {
    font-size: 1.8rem !important;
  }

  .section-head h2,
  #award-categories .section-head h2,
  #nomination-procedure .section-head h2,
  #host-city .section-head h2,
  #awards-legacy .section-head h2,
  .ecosystem .section-head h2,
  .ceremony h2,
  .recognition h2 {
    font-size: 1.8rem !important;
  }

  #award-categories .award-categories-title,
  #award-categories .award-categories-title span {
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
  }

  .about-copy p,
  .section-head p,
  .step p,
  .city-cards p,
  .agenda p,
  .ceremony p,
  .recognition p {
    font-size: .95rem !important;
  }

  .category-card h3,
  #award-categories .category-card h3 {
    font-size: 1.1rem !important;
  }

  .step h3 {
    font-size: 1.2rem !important;
  }

  .city-cards h3 {
    font-size: 1.1rem !important;
  }

  .caption-line,
  .wide-memory figcaption {
    font-size: 1.1rem !important;
  }

  .main-nav .nav-list a,
  .nav-list a {
    font-size: .9rem !important;
  }

  .stat strong {
    font-size: 1.65rem !important;
  }

  .stat span {
    font-size: .85rem !important;
  }

  .cta-date {
    font-size: 1.35rem !important;
  }

  .cta h2,
  .cta .cta-title {
    font-size: 2rem !important;
  }

  .cta p,
  .cta .cta-grid>div>p:not(.cta-date) {
    font-size: 1.05rem !important;
  }
}



/* ============================================================
   About section recognition title — sized to fit the column.
   about-copy ≈ 705 px wide at desktop. At 1.85 rem the
   longest phrase "GLOBAL VISIONARY LEADERSHIP EXCELLENCE"
   (38 chars) fits on one line → clean 3-line layout.
   ============================================================ */
#about-awards .about-title,
.about-copy .about-title,
span.about-title {
  display: block !important;
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: clamp(1.6rem, 1.9vw, 2.15rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  color: #000 !important;
  text-transform: none !important;
  margin-top: 6px;
  margin-bottom: 18px;
  max-width: 1000px !important;
}

#about-awards .about-title span,
.about-copy .about-title span,
span.about-title span {
  display: block !important;
  white-space: nowrap !important;
}

/* Remove the eyebrow gold color on this specific title */
#about-awards .eyebrow.about-title {
  color: #000 !important;
}

@media (max-width: 980px) {

  /* Single stacked column — full width available */
  #about-awards .about-title,
  .about-copy .about-title,
  span.about-title {
    font-size: 1.9rem !important;
    line-height: 1.22 !important;
    margin-bottom: 14px;
  }
}

@media (max-width: 720px) {

  #about-awards .about-title,
  .about-copy .about-title,
  span.about-title {
    font-size: 1.55rem !important;
    line-height: 1.25 !important;
    margin-bottom: 12px;
  }
}

/* ============================================================
   Enhanced Mobile Responsiveness for smaller devices
   ============================================================ */

@media (max-width: 980px) {
  .hero-info__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .about-image {
    order: 2;
  }

  .about-copy {
    order: 1;
  }

  .ceremony-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .recognition-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .recognition-grid figure {
    order: -1;
  }

  .city-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .city-grid figure {
    order: -1;
  }

  .cta-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .cta-grid>img {
    order: -1;
    max-width: 200px;
    justify-self: center;
  }
}

@media (max-width: 768px) {
  :root {
    --gutter: 20px;
  }

  .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 24px 0;
  }

  .stat {
    border-right: none;
    border-bottom: 1px solid #e4ded2;
    padding: 16px 0;
  }

  .stat:nth-child(3n) {
    border-right: none;
  }

  .stat:last-child {
    border-bottom: none;
  }

  .stat strong {
    font-size: 1.35rem;
  }

  .stat span {
    font-size: 0.85rem;
  }

  .steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .step {
    padding: 16px;
  }

  .step span {
    font-size: 0.9rem;
  }

  .step h3 {
    font-size: 1.1rem;
  }

  .step p {
    font-size: 0.95rem;
  }

  .pill-grid {
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pill-grid a {
    min-height: 50px;
    padding: 12px 14px;
    font-size: 0.95rem;
  }

  .category-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .category-card h3 {
    font-size: 1.05rem;
  }

  .city-cards {
    gap: 16px;
  }

  .city-cards article {
    padding: 14px;
  }

  .city-cards h3 {
    font-size: 1.1rem;
  }

  .city-cards p {
    font-size: 0.95rem;
  }

  .agenda {
    gap: 12px;
  }

  .agenda-title {
    font-size: 1.2rem;
  }

  .agenda div {
    padding: 12px 0;
  }

  .agenda strong {
    font-size: 0.95rem;
  }

  .agenda p {
    font-size: 0.9rem;
  }

  .partners {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .partners div {
    min-height: 100px;
    padding: 16px;
  }

  .partners img {
    width: 80px;
  }

  .legacy-gallery--exact {
    gap: 16px;
  }
}

@media (max-width: 540px) {
  :root {
    --gutter: 16px;
  }

  .shell {
    width: calc(100vw - var(--gutter) * 2);
  }

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

  .stat {
    padding: 12px 0;
  }

  .stat i {
    font-size: 1.2rem;
    margin-bottom: 6px;
  }

  .stat strong {
    font-size: 1.15rem;
  }

  .stat span {
    font-size: 0.8rem;
  }

  .section {
    padding: 20px 0 !important;
  }

  .section-head {
    margin-bottom: 20px;
  }

  .section-head h2 {
    font-size: 1.4rem;
  }

  .section-head p {
    font-size: 0.95rem;
  }

  .eyebrow {
    font-size: 0.95rem !important;
  }

  .steps {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .step {
    padding: 12px;
  }

  .step span {
    font-size: 0.85rem;
  }

  .step h3 {
    font-size: 1rem;
  }

  .step p {
    font-size: 0.9rem;
  }

  .category-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .category-card {
    padding: 12px;
  }

  .category-card h3 {
    font-size: 1rem;
  }

  .category-card img {
    max-height: 200px;
  }

  .image-row {
    gap: 12px;
    margin-top: 16px;
  }

  .image-row img {
    aspect-ratio: auto;
    height: auto;
    max-height: 300px;
  }

  .caption-line {
    font-size: 0.95rem;
    margin-top: 12px;
    margin-bottom: 20px;
  }

  .ceremony-grid>div:first-child h2,
  .recognition-grid>div h2 {
    font-size: 1.4rem;
  }

  .ceremony-grid>div:first-child p,
  .recognition-grid>div p {
    font-size: 0.95rem;
  }

  .btn {
    min-height: 40px;
    padding: 10px 16px;
    font-size: 0.9rem;
  }

  .agenda-title {
    font-size: 1.05rem;
  }

  .agenda div {
    padding: 10px 0;
  }

  .agenda strong {
    font-size: 0.9rem;
    display: block;
  }

  .agenda p {
    font-size: 0.85rem;
    margin-top: 4px;
  }

  .city-cards {
    gap: 12px;
  }

  .city-cards article {
    padding: 10px;
  }

  .city-cards h3 {
    font-size: 1rem;
  }

  .city-cards p {
    font-size: 0.9rem;
  }

  .partners {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .partners div {
    min-height: 80px;
    padding: 12px;
  }

  .partners img {
    width: 70px;
  }

  .cta-grid>img {
    max-width: 150px;
  }

  .cta-grid>div p {
    font-size: 0.9rem;
  }

  .cta-date {
    font-size: 0.95rem;
  }

  .cta h2 {
    font-size: 1.35rem;
  }

  .hero-info h1 {
    font-size: 1.2rem;
  }

  .hero-subtitle {
    font-size: 1rem;
  }

  .ticker {
    font-size: 0.85rem;
  }

  .masthead img {
    max-height: 200px;
    object-fit: cover;
  }

  .nav-list a {
    font-size: 0.85rem;
  }

  #about-awards .about-title,
  .about-copy .about-title,
  span.about-title {
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    max-width: 100% !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  #about-awards .about-title span,
  .about-copy .about-title span,
  span.about-title span {
    display: block !important;
    white-space: normal !important;
  }
}

/* ===========================================================
   Ceremony + Legacy sections — structure/design copied from
   gcc-asia/index.html (.ceremony / .legacy), content kept as-is.
=========================================================== */
.ceremony {
  position: relative;
  background: #241a08 url('../assets/award_banner-04.png') center / cover no-repeat !important;
}

.ceremony-grid {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: 48px !important;
  align-items: center !important;
}

.ceremony h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem) !important;
  line-height: 1.14 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ceremony p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 1.1rem !important;
  line-height: 1.55 !important;
  margin-top: 18px;
  max-width: 520px;
}

.ceremony .eyebrow {
  font-size: clamp(1.25rem, 1.15vw, 1.45rem) !important;
}

.ceremony .eyebrow,
.recognition .eyebrow,
.eyebrow--light {
  color: #ffffff !important;
}

.agenda {
  display: grid;
  gap: 18px;
}

.agenda-title {
  color: #fff !important;
  font-size: clamp(1.35rem, 1.65vw, 1.9rem) !important;
  line-height: 1.2 !important;
  margin: 0 0 4px !important;
}

.agenda div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  padding-bottom: 0;
}

.agenda div:last-child {
  border-bottom: 0;
}

.agenda div strong {
  color: #fff !important;
  display: inline-block !important;
  white-space: nowrap;
  font-weight: 400;
}

.agenda div p {
  margin-top: 0 !important;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.1rem;
}

.recognition {
  background: #0a0a0a !important;
}

.recognition-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  gap: 48px !important;
  align-items: center !important;
}

.recognition h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.5rem) !important;
  line-height: 1.14 !important;
  text-transform: uppercase !important;
}

.recognition p {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 1.1rem !important;
  margin-top: 18px;
  max-width: 520px;
}

.recognition__actions {
  margin-top: 26px;
}

.recognition__trophy {
  max-width: 380px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  justify-self: center;
}

.recognition__trophy img {
  width: 100%;
  display: block;
}

@media (max-width: 720px) {
  .ceremony {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .ceremony-grid,
  .recognition-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ceremony h2,
  .recognition h2 {
    font-size: 1.68rem !important;
    line-height: 1.2 !important;
  }

  .agenda div {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .agenda div p {
    white-space: normal;
  }

  .recognition__trophy {
    max-width: 260px;
  }
}

@media (max-width: 390px) {

  .ceremony h2,
  .recognition h2 {
    font-size: 1.45rem !important;
  }
}

/* ===========================================================
   About section: gold headline + larger subtitle underneath
=========================================================== */
#about-awards .about-title--gold,
.about-copy .about-title--gold,
span.about-title--gold {
  display: block !important;
  color: #b07c2c !important;
  font-family: "BruumFY-Light", "BruumFY", Arial, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
}

#about-awards .about-subtitle,
.about-copy p.about-subtitle,
p.about-subtitle {
  display: block;
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: clamp(1.45rem, 1.75vw, 1.85rem) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  text-transform: none;
  color: #000 !important;
  max-width: 1000px;
  margin: 0 0 10px !important;
}

@media (max-width: 980px) {

  #about-awards .about-title--gold,
  .about-copy .about-title--gold,
  span.about-title--gold {
    font-size: 1.22rem !important;
    margin-bottom: 18px !important;
  }

  #about-awards .about-subtitle,
  .about-copy p.about-subtitle,
  p.about-subtitle {
    font-size: 1.65rem !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 720px) {

  #about-awards .about-title--gold,
  .about-copy .about-title--gold,
  span.about-title--gold {
    font-size: 1.12rem !important;
    margin-bottom: 16px !important;
  }

  #about-awards .about-subtitle,
  .about-copy p.about-subtitle,
  p.about-subtitle {
    font-size: 1.45rem !important;
    line-height: 1.22 !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 860px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 40px;
  }

  .footer-col:nth-child(2n + 1) {
    border-left: none;
    padding-left: 0;
  }

  .footer-subscribe {
    grid-template-columns: 1fr;
  }

  .footer-social {
    justify-content: center;
  }
}

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

  .footer-col {
    border-left: none;
    padding-left: 0;
    padding-top: 24px;
    border-top: 1px solid #8d8e90;
  }

  .footer-col:first-child {
    padding-top: 0;
    border-top: none;
  }
}

@media (max-width: 480px) {
  .input-wrapper {
    flex-wrap: wrap;
  }

  .input-wrapper input {
    flex: 1 1 100%;
    order: 1;
  }

  .input-wrapper i {
    order: 0;
  }

  .input-wrapper button {
    order: 2;
    margin-left: auto;
  }

  .site-footer {
    padding-top: 36px;
  }

  .footer-grid {
    gap: 0;
    margin-bottom: 20px;
  }

  .footer-col,
  .footer-col:first-child {
    border-left: none;
    border-top: 1px solid #555;
    padding: 20px 0 0;
    margin-top: 20px;
  }

  .footer-grid:first-child .footer-col:first-child {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
  }

  .footer-subscribe {
    display: block;
    padding: 20px 0;
  }

  .subscribe-form {
    min-width: 0;
  }

  .input-wrapper {
    align-items: stretch;
  }

  .input-wrapper input,
  .input-wrapper button {
    width: 100%;
  }

  .input-wrapper button {
    margin-left: 0;
  }

  .footer-social {
    justify-content: flex-start;
    margin-top: 18px;
  }

  .subscribe-row .social-icons {
    justify-content: center;
    padding-right: 0;
    margin-top: 24px;
    width: 100%;
  }

  .subscribe-row .social-icons span {
    width: 100%;
    text-align: center;
    padding-right: 0;
    margin-bottom: 8px;
  }

  .footer-about {
    padding: 24px 0;
  }

  .footer-about strong {
    font-size: 1.15rem;
  }
}

/* About Awards: typography and visual treatment adapted from the supplied
   GCC-Asian Government and Business Legacy Leadership reference. */
@font-face {
  font-family: "AIContextBruumRegular";
  src: url("../assets/fonts/BruumFY-Regular.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "AIContextBruumLight";
  src: url("../assets/fonts/BruumFY-Light.otf") format("opentype");
  font-display: swap;
}

#about-awards.section--cream {
  background: rgba(236, 236, 236, 0.37) !important;
}

#about-awards .about-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

#about-awards .about-title--gold {
  color: #000000 !important;
  font-family: "AIContextBruumLight", Arial, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

#about-awards .about-subtitle {
  color: #000000 !important;
  font-family: "AIContextBruumRegular", Arial, sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
}

#about-awards .about-copy > p:not(.about-subtitle) {
  max-width: 690px;
  color: #000000;
  font-family: "AIContextBruumLight", Arial, sans-serif !important;
  font-size: 1.1rem;
  line-height: 1.55;
}

#about-awards .about-copy > p:not(.about-subtitle) a {
  color: #1769ff;
}

#about-awards .about-copy blockquote {
  color: #000000;
  font-family: "AIContextBruumLight", Arial, sans-serif !important;
  font-size: 1.05rem;
  line-height: 1.5;
}

@media (max-width: 720px) {
  #about-awards .about-quote-break {
    display: none;
  }
}

#about-awards .pill-grid {
  max-width: none;
  gap: 16px;
}

#about-awards .pill-grid a {
  min-height: 72px;
  padding: 12px 14px;
  border-left: 4px solid #ff0000;
  border-radius: 0 10px 10px 0;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  color: #000000;
  font-family: "AIContextBruumLight", Arial, sans-serif !important;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
}

#about-awards .pill-grid i {
  color: #ff0000;
}

@media (min-width: 981px) {
  #about-awards.section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  #about-awards .about-grid {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 54px;
    align-items: center;
  }
}

@media (max-width: 980px) {
  #about-awards .about-title--gold {
    font-size: 1.25rem !important;
  }

  #about-awards .about-subtitle {
    font-size: 1.8rem !important;
  }
}

@media (max-width: 720px) {
  #about-awards .about-title--gold {
    font-size: 1.05rem !important;
  }

  #about-awards .about-subtitle {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
  }

  #about-awards .pill-grid a {
    min-height: 0;
    font-size: 1rem;
  }
}

@media (max-width: 390px) {

  #about-awards .about-subtitle,
  .about-copy p.about-subtitle,
  p.about-subtitle {
    font-size: 1.3rem !important;
    line-height: 1.24 !important;
  }
}

/* ===========================================================
   Unify inner content pages (Procedure, Profile, Welcome,
   Judging, Ceremony, Contact, Winners...) with the homepage's
   own body-copy and heading sizes/families.
=========================================================== */
body.inner-content-page main p,
body.inner-content-page main li,
body.inner-content-page main td,
body.inner-content-page main label {
  font-family: "BruumFY-Light", "BruumFY", Arial, sans-serif !important;
  font-size: 1.1rem !important;
  line-height: 1.6 !important;
}

body.inner-content-page main h1,
body.inner-content-page main h2 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.inner-content-page main h3,
body.inner-content-page main h4,
body.inner-content-page main h5,
body.inner-content-page main h6 {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-top: 28px !important;
  margin-bottom: 10px !important;
}

body.inner-content-page main strong {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 1.1rem !important;
}

body.inner-content-page main ul li,
body.inner-content-page main ol li {
  margin-bottom: 12px !important;
}

@media (max-width: 720px) {
  body.inner-content-page main p,
  body.inner-content-page main li,
  body.inner-content-page main td,
  body.inner-content-page main label {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  body.inner-content-page main h1,
  body.inner-content-page main h2 {
    font-size: 1.5rem !important;
  }

  body.inner-content-page main h3,
  body.inner-content-page main h4,
  body.inner-content-page main h5,
  body.inner-content-page main h6 {
    font-size: 1.2rem !important;
    margin-top: 22px !important;
  }

  body.inner-content-page main strong {
    font-size: 1rem !important;
  }
}

.cta .cta-grid > div > p.cta-tagline {
  font-family: "BruumFY-Bold", "BruumFY", Arial, sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  border-top: none !important;
  padding-top: 18px !important;
}

.cta .cta-grid > div > p.cta-tagline strong {
  font: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

@media (max-width: 720px) {
  .cta .cta-grid > div > p.cta-tagline {
    font-size: 2rem !important;
  }
}

/* Consolidated mobile layout. Kept last so it wins over legacy rules. */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  img {
    max-width: 100%;
  }

  .shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .masthead img {
    display: block;
    width: 100%;
    height: auto;
  }

  .main-nav {
    min-height: 54px;
    padding: 0 16px;
    justify-content: flex-end;
  }

  .nav-toggle-btn {
    display: flex !important;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
  }

  .main-nav .nav-list {
    position: absolute;
    z-index: 1000;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    width: 100%;
    max-height: calc(100vh - 54px);
    margin: 0;
    padding: 8px 18px 14px;
    overflow-y: auto;
    flex-direction: column;
    gap: 0;
    background: #000;
  }

  .nav-toggle:checked ~ .nav-list {
    display: flex;
  }

  .main-nav .nav-list li {
    width: 100%;
    border-bottom: 1px solid #252525;
    text-align: center;
  }

  .main-nav .nav-list li:last-child {
    border-bottom: 0;
  }

  .main-nav .nav-list li::after {
    display: none !important;
  }

  .main-nav .nav-list a {
    display: block;
    width: 100%;
    padding: 12px 6px !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }

  .hero-visual,
  .hero-slider {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;
    background: #fff;
  }

  .hero-slider__track,
  .hero-slide {
    height: 100% !important;
  }

  .hero-slide img,
  .hero-visual img {
    width: 100%;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center;
    background: #fff;
  }

  .hero-slider__control {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }

  .hero-slider__control--prev {
    left: 8px;
  }

  .hero-slider__control--next {
    right: 8px;
  }

  .hero-slider__indicators {
    right: 48px;
    bottom: 9px;
    left: 48px;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .hero-dot {
    width: 7px;
    height: 7px;
    min-width: 7px;
  }

  .ticker {
    padding: 13px 0 !important;
    text-align: center;
  }

  .ticker .shell {
    display: block !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  .ticker strong {
    display: block;
    margin-top: 3px;
    font-size: inherit !important;
  }

  .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .stat {
    min-width: 0;
    padding: 16px 8px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #ddd;
  }

  .stat:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .stat:nth-child(odd) {
    border-right: 1px solid #ddd !important;
  }

  .stat i {
    font-size: 1.45rem !important;
  }

  .stat strong {
    font-size: 1.35rem !important;
  }

  .stat span {
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
  }

  .section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .about-grid,
  .ceremony-grid,
  .recognition-grid,
  .city-grid,
  .cta-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  .about-image,
  .city-grid figure,
  .recognition__trophy {
    width: 100%;
    margin: 0;
  }

  .about-image img,
  .city-grid figure img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
  }

  .about-copy .about-title,
  .section-head h2,
  .ceremony h2,
  .recognition h2,
  .cta h2,
  .cta .cta-title {
    max-width: 100% !important;
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word;
    white-space: normal !important;
  }

  .about-copy .about-subtitle {
    font-size: 1.25rem !important;
    line-height: 1.35 !important;
  }

  .about-copy .about-subtitle br,
  .cta-intro br {
    display: none;
  }

  .about-copy p,
  .ceremony p,
  .recognition p,
  .cta p,
  .cta .cta-grid > div > p:not(.cta-date) {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .about-copy blockquote {
    margin: 24px 0 !important;
    padding: 4px 0 4px 16px !important;
    font-size: 1.1rem !important;
    line-height: 1.45 !important;
  }

  .pill-grid,
  .steps,
  .category-grid,
  .city-cards {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .pill-grid a {
    min-height: 0 !important;
    padding: 15px 16px !important;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
  }

  .section-head {
    display: block !important;
    margin-bottom: 28px !important;
  }

  .section-head .eyebrow,
  .about-copy .about-title {
    font-size: 1rem !important;
  }

  .award-categories-title span,
  .cta-title span {
    display: inline !important;
    white-space: normal !important;
  }

  .category-grid {
    margin-top: 28px !important;
    margin-bottom: 34px !important;
  }

  .category-card {
    min-width: 0;
  }

  .category-card img {
    display: block;
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  .category-card h3 {
    width: 100%;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 12px 14px 16px !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word;
  }

  .image-row,
  .image-row--two,
  .image-row--memory {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .image-row img,
  .image-row--memory img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
  }

  .caption-line {
    margin: 18px 0 34px !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .step {
    min-height: 0 !important;
    padding: 22px 18px !important;
  }

  .step h3,
  .city-cards h3 {
    font-size: 1.12rem !important;
    line-height: 1.35 !important;
  }

  .step p,
  .city-cards p {
    font-size: 0.98rem !important;
    line-height: 1.5 !important;
  }

  .agenda {
    min-width: 0;
    padding: 22px 18px !important;
  }

  .agenda div {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 14px 0 !important;
  }

  .agenda div strong {
    font-size: 0.95rem !important;
    white-space: nowrap;
  }

  .agenda div p {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
  }

  .recognition__trophy img {
    display: block;
    width: min(72%, 300px) !important;
    height: auto;
    margin: 0 auto;
  }

  .city-cards article {
    min-height: 0 !important;
    padding: 20px 18px !important;
  }

  .legacy-gallery,
  .legacy-gallery--exact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
  }

  .legacy-gallery img,
  .legacy-gallery--exact img,
  .legacy-gallery--exact .legacy-gallery__main,
  .legacy-gallery--exact .legacy-gallery__wide {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover !important;
  }

  .partners {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .partners div {
    min-width: 0;
    min-height: 96px !important;
    padding: 14px !important;
  }

  .cta {
    min-height: 0 !important;
    padding: 50px 0 !important;
  }

  .cta-grid {
    align-items: start !important;
  }

  .cta-copy {
    min-width: 0;
  }

  .cta .cta-date {
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
  }

  .cta .cta-grid > div > p.cta-tagline,
  .cta .cta-grid > div > p.cta-tagline strong {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }

  .cta-badge-wrapper {
    order: -1;
  }

  .cta .cta-badge {
    display: block;
    width: min(48%, 190px) !important;
    height: auto;
    margin: 0 auto !important;
  }

  .site-footer {
    padding-top: 34px !important;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 18px !important;
  }

  .footer-col,
  .footer-col:first-child {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .footer-col strong {
    font-size: 0.95rem !important;
  }

  .footer-col a {
    font-size: 0.86rem !important;
    line-height: 1.4 !important;
    overflow-wrap: break-word;
  }

  .footer-subscribe,
  .subscribe-row {
    display: block !important;
  }

  .subscribe-form {
    width: min(100%, 520px) !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }

  .subscribe-form > strong {
    max-width: none !important;
    margin-bottom: 16px !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    text-align: center;
  }

  .input-wrapper {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  .input-wrapper i {
    display: flex;
    width: 40px;
    min-height: 46px;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem !important;
  }

  .input-wrapper input {
    width: 100% !important;
    min-width: 0;
    min-height: 46px !important;
  }

  .input-wrapper button {
    grid-column: 1 / -1;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
  }

  .subscribe-row .social-icons {
    width: 100%;
    margin-top: 24px !important;
    padding: 0 !important;
    justify-content: center !important;
    flex-wrap: wrap;
  }

  .footer-bottom {
    padding: 26px 0 30px !important;
  }

  .footer-institute-logo {
    width: min(100%, 360px) !important;
    margin: 0 auto 18px !important;
  }

  .footer-bottom p.copyright {
    width: min(100%, 360px);
    margin: 0 auto !important;
    padding: 0 8px;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .shell {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .about-copy .about-title,
  .section-head h2,
  .ceremony h2,
  .recognition h2,
  .cta h2,
  .cta .cta-title,
  .cta .cta-grid > div > p.cta-tagline,
  .cta .cta-grid > div > p.cta-tagline strong {
    font-size: 1.5rem !important;
  }

  .agenda div {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .legacy-gallery,
  .legacy-gallery--exact,
  .partners,
  .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .partners img {
    max-height: 68px;
  }

  .subscribe-form {
    width: 100% !important;
  }

  .subscribe-form > strong {
    max-width: 270px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .footer-institute-logo {
    width: min(100%, 290px) !important;
  }

  .footer-bottom p.copyright {
    max-width: 300px;
    font-size: 0.85rem !important;
  }
}
