@import url("home-redesign.css");
@import url("home-fidelity.css");
@import url("home-sections-balanced-v19.css");

body[data-page] { margin: 0; background: #f4f7fa; color: #10213f; visibility: hidden; }
body[data-page].is-ready { visibility: visible; }
.site-page-chrome { min-height: 132px; padding: 24px 0 8px; background: #082148; }
.subpage-main { min-height: 560px; }
.subpage-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(105deg, rgba(5, 25, 55, .96) 0%, rgba(7, 37, 81, .89) 46%, rgba(16, 91, 154, .58) 100%), url("assets/hero-prototype-background.png") 60% 51% / cover; }
.subpage-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(8, 32, 70, .58), transparent 66%); pointer-events: none; }
.subpage-hero__inner { position: relative; z-index: 1; width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 74px 0 80px; }
.subpage-hero p, .subpage-overline, .subpage-card__eyebrow { margin: 0; color: #79d6ff; font: 700 12px/1 "Oswald", sans-serif; letter-spacing: 2px; }
.subpage-hero h1 { max-width: 860px; margin: 18px 0; font: 600 clamp(42px, 4.7vw, 66px) / 1 "Oswald", sans-serif; letter-spacing: .3px; text-transform: uppercase; }
.subpage-hero__line { width: 120px; height: 3px; margin: 26px 0 18px; background: #ff6545; box-shadow: 0 0 20px rgba(255, 101, 69, .48); }
.subpage-hero span { font: 600 12px/1 "Montserrat", sans-serif; letter-spacing: 1.4px; }
.subpage-content { width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 0 0 96px; }
.subpage-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 24px 0; color: #738399; border-bottom: 1px solid #dce4eb; font: 600 11px/1.2 "Montserrat", sans-serif; letter-spacing: .7px; text-transform: uppercase; }
.subpage-crumb a { color: #315f99; text-decoration: none; transition: color .2s ease; }
.subpage-crumb a:hover { color: #ef5b3c; }
.subpage-crumb b { color: #10213f; font-weight: 700; }
.subpage-intro { max-width: 930px; padding: 72px 0 54px; }
.subpage-intro h2 { margin: 17px 0 0; color: #172943; font: 600 clamp(29px, 3.45vw, 46px) / 1.1 "Montserrat", sans-serif; letter-spacing: -1.8px; }
.subpage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.subpage-card { position: relative; display: grid; min-height: 268px; grid-template-columns: 46px 1fr; gap: 16px; padding: 30px; overflow: hidden; color: inherit; text-decoration: none; background: #fff; border: 1px solid #dce5ed; box-shadow: 0 12px 28px rgba(15, 40, 73, .06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.subpage-card::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: linear-gradient(135deg, rgba(27, 143, 212, .09), transparent 62%); opacity: 0; transition: opacity .25s ease; }
.subpage-card:hover { z-index: 1; border-color: #a9d9ee; box-shadow: 0 18px 36px rgba(15, 40, 73, .13); transform: translateY(-6px); }
.subpage-card:hover::before { opacity: 1; }
.subpage-card__index, .subpage-card__body, .subpage-card__arrow { position: relative; z-index: 1; }
.subpage-card__index { color: #ef5b3c; font: 700 22px/1 "Oswald", sans-serif; }
.subpage-card__body { display: flex; flex-direction: column; align-items: flex-start; }
.subpage-card__eyebrow { margin-bottom: 15px; color: #738399; font-size: 10px; letter-spacing: 1.3px; }
.subpage-card strong { margin-bottom: 17px; color: #174b8d; font: 600 31px/1 "Oswald", sans-serif; }
.subpage-card small { color: #68788c; font: 400 14px/1.75 "Montserrat", sans-serif; }
.subpage-card__arrow { align-self: end; grid-column: 2; color: #ef5b3c; font: 400 29px/1 Arial, sans-serif; }
.subpage-detail { display: grid; grid-template-columns: 190px 1fr; gap: 38px; padding: 44px 48px 46px; background: #fff; border-top: 4px solid #ef5b3c; box-shadow: 0 14px 34px rgba(17, 42, 73, .08); }
.subpage-detail__marker { padding-top: 5px; color: #174b8d; font: 700 14px/1.35 "Oswald", sans-serif; letter-spacing: 1.1px; }
.subpage-detail p { max-width: 760px; margin: 0; color: #4f6177; font: 400 17px/1.85 "Montserrat", sans-serif; }
.subpage-detail__actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px; margin-top: -12px; }
.subpage-detail__actions a { padding: 12px 18px; color: #174b8d; border: 1px solid #b8c9dc; font: 700 11px/1 "Montserrat", sans-serif; letter-spacing: .3px; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.subpage-detail__actions a:first-child { color: #fff; background: #174b8d; border-color: #174b8d; }
.subpage-detail__actions a:hover { color: #fff; background: #ef5b3c; border-color: #ef5b3c; }
.subpage-related { display: grid; grid-template-columns: 1fr 2fr; gap: 46px; align-items: start; margin-top: 74px; padding-top: 38px; border-top: 1px solid #cbd8e3; }
.subpage-related h2 { margin: 13px 0 0; color: #172943; font: 600 clamp(34px, 3.5vw, 48px)/1 "Oswald", sans-serif; }
.subpage-related__links { display: grid; gap: 0; }
.subpage-related__links a { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; color: #174b8d; border-bottom: 1px solid #d7e0e7; font: 600 17px/1.3 "Montserrat", sans-serif; text-decoration: none; transition: color .2s ease, padding .2s ease; }
.subpage-related__links a:hover { padding-left: 9px; color: #ef5b3c; }
.subpage-related__links span { color: #ef5b3c; }
@media (max-width: 900px) { .site-page-chrome { min-height: 0; padding: 15px 0 8px; } .subpage-hero__inner, .subpage-content { width: calc(100% - 36px); } .subpage-hero__inner { padding: 62px 0 66px; } .subpage-grid { grid-template-columns: 1fr; } .subpage-card { min-height: 0; } .subpage-detail, .subpage-related { grid-template-columns: 1fr; gap: 22px; } .subpage-detail { padding: 34px 25px; } .subpage-detail__actions { grid-column: auto; margin-top: 0; } }
@media (max-width: 520px) { .subpage-hero__inner, .subpage-content { width: calc(100% - 32px); } .subpage-hero h1 { font-size: 39px; } .subpage-intro { padding: 52px 0 38px; } .subpage-intro h2 { font-size: 29px; letter-spacing: -1.3px; } .subpage-card { padding: 26px 20px; } .subpage-card strong { font-size: 28px; } .subpage-detail p { font-size: 15px; } }

/* Programme at a Glance */
.programme-hero .subpage-hero__inner { padding-bottom: 72px; }
.programme-page { padding-bottom: 100px; }
.programme-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: clamp(36px, 8vw, 112px); align-items: start; padding: 76px 0 46px; }
.programme-intro h2, .programme-section-heading h2, .programme-notes h2 { margin: 16px 0 0; color: #172943; font: 600 clamp(31px, 3.5vw, 48px)/1.07 "Montserrat", sans-serif; letter-spacing: -1.9px; }
.programme-intro > p { max-width: 420px; margin: 31px 0 0; color: #596d84; font: 400 15px/1.9 "Montserrat", sans-serif; }
.programme-section-heading { display: flex; justify-content: space-between; gap: 36px; align-items: start; margin-bottom: 34px; }
.programme-section-heading h2 { font-family: "Oswald", sans-serif; font-size: clamp(34px, 3.35vw, 44px); letter-spacing: .15px; text-transform: uppercase; }
.programme-section-heading > p { max-width: 300px; margin: 31px 0 0; color: #738399; font: 400 13px/1.7 "Montserrat", sans-serif; }
.programme-intro.programme-intro--top-aligned { grid-template-columns: 1fr; gap: 22px; align-items: start; }
.programme-intro.programme-intro--top-aligned > p { max-width: 720px; margin: 0; }
.programme-section-heading--top-aligned { flex-direction: column; align-items: start; gap: 16px; }
.programme-section-heading--top-aligned > p { max-width: 720px; margin: 0; }
.programme-day { margin-top: 30px; overflow: hidden; background: #fff; border: 1px solid #dce5ed; box-shadow: 0 12px 29px rgba(17, 45, 81, .06); }
.programme-day__header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 26px 34px 24px; color: #fff; background: linear-gradient(105deg, #092a56, #174c85); }
.programme-day__header div { display: flex; align-items: baseline; gap: 16px; }
.programme-day__header span { color: #78d8ff; font: 700 11px/1 "Montserrat", sans-serif; letter-spacing: 1.7px; }
.programme-day__header h3 { margin: 0; font: 500 34px/.95 "Oswald", sans-serif; letter-spacing: .25px; text-transform: uppercase; }
.programme-day__header time { color: #e9f5fc; font: 600 12px/1.2 "Montserrat", sans-serif; letter-spacing: .65px; text-transform: uppercase; }
.programme-table { display: block; }
.programme-row { display: grid; grid-template-columns: 138px minmax(0, 1fr) 190px; gap: 24px; align-items: center; min-height: 76px; padding: 15px 34px; border-top: 1px solid #e0e8ee; }
.programme-row:first-child { border-top: 0; }
.programme-row > time { color: #174b8d; font: 600 14px/1.35 "Montserrat", sans-serif; letter-spacing: -.2px; }
.programme-row strong { display: block; color: #172943; font: 600 16px/1.35 "Montserrat", sans-serif; }
.programme-row small { display: block; margin-top: 3px; color: #718198; font: 400 12px/1.45 "Montserrat", sans-serif; }
.programme-row > span { color: #60758d; font: 600 11px/1.45 "Montserrat", sans-serif; letter-spacing: .2px; }
.programme-row--label { min-height: 39px; padding-top: 10px; padding-bottom: 9px; color: #7890a6; background: #f4f7fa; font: 700 10px/1.3 "Montserrat", sans-serif; letter-spacing: 1.1px; text-transform: uppercase; }
.programme-row--label span { color: inherit; font: inherit; }
.programme-row--featured { position: relative; background: linear-gradient(90deg, rgba(120, 216, 255, .13), rgba(255,255,255,0) 68%); }
.programme-row--featured::before, .programme-row--social::before, .programme-row--closing::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; content: ""; background: #25bde5; }
.programme-row--break { background: #f8fafc; }
.programme-row--break > time { color: #6f8498; }
.programme-row--social { position: relative; background: linear-gradient(90deg, rgba(242, 104, 66, .13), rgba(255,255,255,0) 72%); }
.programme-row--social::before { background: #ef5b3c; }
.programme-row--closing { position: relative; background: linear-gradient(90deg, rgba(255, 204, 95, .18), rgba(255,255,255,0) 72%); }
.programme-row--closing::before { background: #f2b83e; }
.programme-notes { display: grid; grid-template-columns: .82fr 1.55fr auto; gap: 42px; align-items: start; margin-top: 82px; padding: 38px 40px; border-top: 4px solid #ef5b3c; background: #fff; box-shadow: 0 14px 34px rgba(17, 42, 73, .07); }
.programme-notes h2 { font-family: "Oswald", sans-serif; font-size: 34px; letter-spacing: .2px; text-transform: uppercase; }
.programme-notes ul { display: grid; gap: 12px; margin: 2px 0 0; padding: 0; list-style: none; }
.programme-notes li { position: relative; padding-left: 20px; color: #52677e; font: 400 13px/1.65 "Montserrat", sans-serif; }
.programme-notes li::before { position: absolute; left: 0; color: #ef5b3c; content: "•"; font-weight: 700; }
.programme-contact { align-self: center; display: inline-flex; gap: 18px; align-items: center; padding: 13px 16px; color: #fff; background: #174b8d; font: 700 10px/1 "Montserrat", sans-serif; letter-spacing: .55px; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: background .2s ease; }
.programme-contact:hover { background: #ef5b3c; }
.programme-contact span { font: 400 21px/.55 Arial, sans-serif; }
@media (max-width: 900px) { .programme-intro { grid-template-columns: 1fr; gap: 26px; padding-top: 58px; } .programme-section-heading { align-items: start; flex-direction: column; gap: 16px; } .programme-day__header, .programme-day__header div { align-items: start; flex-direction: column; } .programme-day__header { gap: 12px; } .programme-row { grid-template-columns: 116px minmax(0, 1fr); gap: 12px 20px; padding-right: 25px; padding-left: 25px; } .programme-row > span { grid-column: 2; } .programme-row--label span:last-child { display: none; } .programme-notes { grid-template-columns: 1fr; gap: 24px; margin-top: 62px; padding: 32px 28px; } .programme-contact { justify-self: start; } }
@media (max-width: 600px) { .programme-intro h2, .programme-section-heading h2 { letter-spacing: -1.4px; } .programme-day__header { padding: 22px 20px; } .programme-day__header h3 { font-size: 30px; } .programme-row { grid-template-columns: 1fr; gap: 7px; min-height: 0; padding: 17px 20px; } .programme-row > span { grid-column: auto; } .programme-row--label { display: none; } .programme-row strong { font-size: 15px; } .programme-row > time { font-size: 13px; } .programme-row > span { font-size: 10px; } .programme-notes { padding: 28px 22px; } }

/* Keynote speakers */
.keynote-hero::after { background: linear-gradient(90deg, rgba(8, 32, 70, .72), rgba(8, 32, 70, .22) 70%); }
.keynote-page { padding-bottom: 108px; }
.keynote-intro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: clamp(34px, 8vw, 116px); align-items: start; padding: 75px 0 50px; }
.keynote-intro h2, .keynote-section__head h2 { margin: 16px 0 0; color: #172943; font: 600 clamp(31px, 3.5vw, 48px)/1.08 "Montserrat", sans-serif; letter-spacing: -1.9px; }
.keynote-intro > p { max-width: 380px; margin: 31px 0 0; color: #5d7187; font: 400 15px/1.9 "Montserrat", sans-serif; }
/* Page-identity titles stay on one line at desktop widths.  At tablet and
   mobile widths their natural wrapping is retained for readability. */
@media (min-width: 901px) {
  .subpage-hero h1 { max-width: none; white-space: nowrap; font-size: clamp(40px, 4vw, 60px); }
  .programme-intro { grid-template-columns: minmax(0, 1.55fr) minmax(250px, .55fr); gap: clamp(34px, 5vw, 72px); }
  .programme-intro h2 { white-space: nowrap; font-size: clamp(30px, 2.9vw, 42px); letter-spacing: -1.6px; }
  .keynote-intro { grid-template-columns: minmax(0, 1.58fr) minmax(245px, .52fr); gap: clamp(32px, 5vw, 72px); }
  .keynote-intro h2 { white-space: nowrap; font-size: clamp(29px, 2.7vw, 38px); letter-spacing: -1.55px; }
}
.keynote-status { display: grid; grid-template-columns: 134px 1fr; gap: 25px; align-items: start; margin: 0 0 82px; padding: 24px 30px; border-left: 4px solid #ef5b3c; background: #fff; box-shadow: 0 12px 26px rgba(17, 42, 73, .06); }
.keynote-status > span { color: #ef5b3c; font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: 1.3px; }
.keynote-status p { max-width: 780px; margin: 0; color: #52677e; font: 400 14px/1.75 "Montserrat", sans-serif; }
.keynote-section + .keynote-section { margin-top: 94px; }
.keynote-section__head { display: flex; flex-direction: column; align-items: start; justify-content: flex-start; gap: 16px; margin-bottom: 32px; }
.keynote-section__head h2 { font-family: "Oswald", sans-serif; font-size: clamp(34px, 3.35vw, 44px); letter-spacing: .15px; text-transform: uppercase; }
.keynote-section__head > p { max-width: 720px; margin: 0; color: #738399; font: 400 13px/1.7 "Montserrat", sans-serif; }
.keynote-intro--top-aligned { grid-template-columns: 1fr; gap: 22px; align-items: start; }
.keynote-intro--top-aligned > p { max-width: 720px; margin: 0; }
.keynote-list { display: grid; gap: 21px; }
.keynote-card { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 244px; overflow: hidden; background: #fff; border: 1px solid #dce5ed; box-shadow: 0 8px 19px rgba(17, 45, 81, .045); transition: border-color .2s ease; }
.keynote-card:hover { border-color: #b8d1df; }
.keynote-card__identity { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 32px 30px; text-align: left; background: #f7fafc; border-right: 1px solid #dceaf0; }
.keynote-card__identity::before { width: 32px; height: 3px; margin-bottom: 18px; content: ""; background: #ef5b3c; }
.keynote-card__portrait { width: 106px; height: 106px; margin: 0 0 20px; object-fit: cover; object-position: center; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 7px 17px rgba(17, 45, 81, .14); }
.keynote-card__identity h3 { margin: 0; color: #173a61; font: 600 27px/1.1 "Oswald", sans-serif; letter-spacing: .1px; }
.keynote-card__identity p { margin: 7px 0 0; color: #0c75ac; font: 700 11px/1.45 "Montserrat", sans-serif; }
.keynote-card__identity small { margin-top: 6px; color: #5d7285; font: 400 12px/1.35 "Montserrat", sans-serif; }
.keynote-card__content { display: flex; flex-direction: column; align-items: flex-start; padding: 33px 38px 26px; }
.keynote-card__tag { padding: 0 0 7px; color: #0b6f9d; border-bottom: 1px solid #b9dce6; font: 700 10px/1 "Montserrat", sans-serif; letter-spacing: .65px; text-transform: uppercase; }
.keynote-card__label { margin: 16px 0 5px; color: #ef5b3c; font: 700 10px/1.4 "Montserrat", sans-serif; letter-spacing: 1.1px; text-transform: uppercase; }
.keynote-card__content h3 { max-width: 710px; margin: 0; color: #172943; font: 600 22px/1.32 "Montserrat", sans-serif; letter-spacing: -.65px; }
.keynote-card__content > p:not(.keynote-card__label) { max-width: 730px; margin: 9px 0 0; color: #5c7086; font: 400 13px/1.7 "Montserrat", sans-serif; }
.keynote-card__content a { margin-top: auto; padding-top: 16px; color: #174b8d; font: 700 11px/1.4 "Montserrat", sans-serif; letter-spacing: .25px; text-decoration: none; }
.keynote-card__content a:hover { color: #ef5b3c; }
.keynote-card__content a span { margin-left: 5px; color: #ef5b3c; font-size: 15px; }
.keynote-featured-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d9e3eb; border-left: 1px solid #d9e3eb; }
.keynote-featured-grid article { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; min-height: 188px; padding: 26px; background: #fff; border-right: 1px solid #d9e3eb; border-bottom: 1px solid #d9e3eb; transition: background .2s ease; }
.keynote-featured-grid article:hover { background: #f7fbfd; }
.keynote-featured-grid > article > span { padding-top: 3px; color: #ef5b3c; font: 600 15px/1 "Oswald", sans-serif; letter-spacing: .8px; }
.keynote-featured-grid h3 { margin: 0; color: #173a61; font: 600 22px/1.1 "Oswald", sans-serif; letter-spacing: .15px; }
.keynote-featured-grid p { margin: 5px 0 0; color: #0d76ac; font: 700 10px/1.4 "Montserrat", sans-serif; }
.keynote-featured-grid small { display: block; margin-top: 10px; color: #5d7287; font: 400 12px/1.6 "Montserrat", sans-serif; }
.keynote-featured-grid a { display: inline-block; margin-top: 9px; color: #174b8d; font: 700 10px/1.3 "Montserrat", sans-serif; letter-spacing: .25px; text-decoration: none; }
.keynote-featured-grid a:hover { color: #ef5b3c; }
@media (max-width: 900px) { .keynote-intro { grid-template-columns: 1fr; gap: 25px; padding-top: 58px; } .keynote-status { grid-template-columns: 1fr; gap: 9px; margin-bottom: 62px; } .keynote-section__head { align-items: start; flex-direction: column; gap: 16px; } .keynote-card { grid-template-columns: 218px minmax(0, 1fr); } .keynote-card__content { padding: 28px 28px 23px; } }
@media (max-width: 620px) { .keynote-page { padding-bottom: 72px; } .keynote-intro h2 { letter-spacing: -1.5px; } .keynote-status { margin-bottom: 52px; padding: 21px 20px; } .keynote-section + .keynote-section { margin-top: 65px; } .keynote-card { grid-template-columns: 1fr; } .keynote-card__identity { border-right: 0; border-bottom: 1px solid #dceaf0; } .keynote-card__content { padding: 25px 21px 22px; } .keynote-card__content h3 { font-size: 19px; } .keynote-featured-grid { grid-template-columns: 1fr; } .keynote-featured-grid article { min-height: 0; padding: 22px 20px; } }

/* Shared editorial content system for secondary pages */
.subpage-intro--overview { max-width: 900px; }
.section-index { border-top: 1px solid #cfdae4; background: #fff; box-shadow: 0 12px 28px rgba(15, 40, 73, .05); }
.section-index a { display: grid; grid-template-columns: 76px minmax(0, 1fr) 30px; gap: 20px; align-items: center; min-height: 116px; padding: 21px 32px; color: inherit; border-bottom: 1px solid #dce5ed; text-decoration: none; transition: background .2s ease, padding .2s ease; }
.section-index a:last-child { border-bottom: 0; }
.section-index a:hover { padding-left: 40px; background: #f8fbfd; }
.section-index em, .process-list em, .publication-flow em, .travel-grid em, .exhibition-layout em { color: #ef5b3c; font: 600 26px/1 "Oswald", sans-serif; font-style: normal; }
.section-index strong { display: block; color: #173a61; font: 600 29px/1.1 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.section-index small { display: block; margin-top: 8px; color: #66798e; font: 400 13px/1.55 "Montserrat", sans-serif; }
.section-index b { color: #ef5b3c; font: 400 26px/1 Arial, sans-serif; }
.content-intro { padding: 76px 0 54px; }
.content-intro--split { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; }
.content-intro h2, .topic-layout h2, .submission-band h2, .publication-statement h2, .announcement-panel h2, .venue-address h2, .listener-layout h2 { margin: 16px 0 0; color: #172943; font: 600 clamp(30px, 3.45vw, 48px)/1.08 "Montserrat", sans-serif; letter-spacing: -1.9px; }
.content-intro > p { max-width: 720px; margin: 0; color: #5a6e84; font: 400 15px/1.9 "Montserrat", sans-serif; }
.content-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.content-actions--end { justify-content: flex-end; margin-top: 30px; }
.content-action { display: inline-flex; gap: 16px; align-items: center; padding: 14px 17px; color: #174b8d; border: 1px solid #b7c9da; font: 700 10px/1 "Montserrat", sans-serif; letter-spacing: .55px; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.content-action span { color: #ef5b3c; font: 400 19px/.55 Arial, sans-serif; }
.content-action:hover { color: #fff; background: #ef5b3c; border-color: #ef5b3c; }
.content-action:hover span { color: #fff; }
.content-action--primary { color: #fff; background: #174b8d; border-color: #174b8d; }
.content-action--primary:hover { background: #ef5b3c; border-color: #ef5b3c; }
.content-notice { display: grid; grid-template-columns: 165px 1fr; gap: 26px; align-items: start; margin-top: 54px; padding: 25px 30px; background: #fff; border-left: 4px solid #ef5b3c; box-shadow: 0 12px 26px rgba(17, 42, 73, .06); }
.content-notice strong { color: #ef5b3c; font: 700 10px/1.5 "Montserrat", sans-serif; letter-spacing: 1.2px; }
.content-notice p { max-width: 800px; margin: 0; color: #566b81; font: 400 14px/1.75 "Montserrat", sans-serif; }
.content-related { display: grid; grid-template-columns: 190px 1fr; gap: 42px; align-items: start; margin-top: 86px; padding-top: 37px; border-top: 1px solid #cad7e2; }
.content-related > div { border-top: 1px solid #d7e1e9; }
.content-related a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr) 24px; gap: 18px; align-items: center; padding: 18px 0; color: inherit; border-bottom: 1px solid #d7e1e9; text-decoration: none; transition: padding .2s ease; }
.content-related a:hover { padding-left: 8px; }
.content-related span { color: #174b8d; font: 600 17px/1.35 "Montserrat", sans-serif; }
.content-related small { color: #718197; font: 400 12px/1.45 "Montserrat", sans-serif; }
.content-related b { color: #ef5b3c; font: 400 22px/1 Arial, sans-serif; }

.topic-layout { display: grid; grid-template-columns: minmax(220px, .63fr) minmax(0, 1.37fr); gap: clamp(38px, 8vw, 112px); align-items: start; padding: 44px 0 16px; border-top: 1px solid #d1dce6; }
.topic-layout header { position: sticky; top: 20px; }
.topic-layout h2 { font-family: "Oswald", sans-serif; font-size: clamp(34px, 3.35vw, 44px); letter-spacing: .15px; text-transform: uppercase; }
.topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d5e0e8; border-left: 1px solid #d5e0e8; }
.topic-list span { display: grid; grid-template-columns: 34px 1fr; gap: 3px 12px; min-height: 126px; padding: 24px 21px; color: #ef5b3c; background: #fff; border-right: 1px solid #d5e0e8; border-bottom: 1px solid #d5e0e8; font: 600 16px/1 "Oswald", sans-serif; }
.topic-list b { color: #183b62; font: 600 18px/1.18 "Oswald", sans-serif; letter-spacing: .15px; }
.topic-list small { grid-column: 2; color: #61758b; font: 400 12px/1.55 "Montserrat", sans-serif; }
.submission-band { display: flex; justify-content: space-between; gap: 48px; align-items: end; margin-top: 76px; padding: 40px; color: #fff; background: linear-gradient(115deg, #08264f, #174d86); border-top: 4px solid #ef5b3c; }
.submission-band h2 { color: #fff; font-family: "Oswald", sans-serif; font-size: 36px; letter-spacing: .2px; text-transform: uppercase; }
.submission-band > div > p:last-child { max-width: 630px; margin: 15px 0 0; color: #e1edf7; font: 400 14px/1.75 "Montserrat", sans-serif; }
.submission-band .subpage-overline { color: #80dcff; }
.submission-band .content-action { color: #fff; border-color: rgba(255,255,255,.5); }
.submission-band .content-action:hover, .submission-band .content-action--primary { color: #fff; background: #ef5b3c; border-color: #ef5b3c; }

.process-list { border-top: 1px solid #cfdbe5; }
.process-list article { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 22px; padding: 29px 0; border-bottom: 1px solid #cfdbe5; }
.process-list h2 { margin: 0; color: #173a61; font: 600 26px/1.15 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.process-list p { max-width: 720px; margin: 9px 0 0; color: #5e7186; font: 400 14px/1.75 "Montserrat", sans-serif; }
.publication-flow { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-top: 1px solid #d3dfe8; border-left: 1px solid #d3dfe8; }
.publication-flow div { min-height: 230px; padding: 27px 24px; background: #fff; border-right: 1px solid #d3dfe8; border-bottom: 1px solid #d3dfe8; }
.publication-flow h2, .travel-grid h2, .exhibition-layout h2 { margin: 34px 0 0; color: #173a61; font: 600 23px/1.15 "Oswald", sans-serif; letter-spacing: .1px; text-transform: uppercase; }
.publication-flow p, .travel-grid p, .exhibition-layout p { margin: 10px 0 0; color: #60748a; font: 400 13px/1.7 "Montserrat", sans-serif; }
.publication-statement { margin-top: 66px; padding: 38px 41px 42px; background: #fff; border-top: 4px solid #ef5b3c; box-shadow: 0 14px 30px rgba(17, 42, 73, .06); }
.publication-statement h2 { font-family: "Oswald", sans-serif; font-size: 38px; letter-spacing: .2px; text-transform: uppercase; }
.publication-statement > p:not(.subpage-overline) { max-width: 830px; margin: 18px 0 0; color: #556a80; font: 400 15px/1.85 "Montserrat", sans-serif; }

.status-table, .organisation-table { overflow: hidden; background: #fff; border: 1px solid #d8e3eb; box-shadow: 0 12px 27px rgba(17, 42, 73, .05); }
.status-table > div { display: grid; grid-template-columns: 1fr 210px minmax(230px, .75fr); gap: 24px; align-items: center; min-height: 76px; padding: 18px 30px; border-top: 1px solid #dce5ed; }
.status-table > div:first-child, .organisation-table > div:first-child { min-height: 42px; color: #70869a; background: #f1f5f8; border-top: 0; font: 700 10px/1.2 "Montserrat", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.status-table b, .organisation-table b { color: #193b62; font: 600 16px/1.35 "Montserrat", sans-serif; }
.status-table strong { color: #ef5b3c; font: 700 11px/1.45 "Montserrat", sans-serif; letter-spacing: .5px; text-transform: uppercase; }
.status-table small { color: #687b8f; font: 400 12px/1.5 "Montserrat", sans-serif; }
.listener-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 35px; align-items: stretch; }
.listener-layout > div { padding: 36px 0 24px; }
.listener-layout h2 { font-family: "Oswald", sans-serif; font-size: 38px; letter-spacing: .2px; text-transform: uppercase; }
.listener-layout ul { display: grid; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.listener-layout li { position: relative; max-width: 630px; padding-left: 21px; color: #586d82; font: 400 14px/1.7 "Montserrat", sans-serif; }
.listener-layout li::before { position: absolute; left: 0; color: #ef5b3c; content: "•"; font-weight: 700; }
.listener-layout aside { display: flex; flex-direction: column; justify-content: center; padding: 35px; color: #fff; background: linear-gradient(135deg, #0a2d5c, #16538b); }
.listener-layout aside span { color: #84dcff; font: 700 10px/1.4 "Montserrat", sans-serif; letter-spacing: 1.1px; }
.listener-layout aside strong { margin-top: 15px; font: 500 43px/1 "Oswald", sans-serif; text-transform: uppercase; }
.listener-layout aside p { margin: 16px 0 0; color: #deebf5; font: 400 13px/1.7 "Montserrat", sans-serif; }

.venue-address { position: relative; padding: 46px 46px 45px; overflow: hidden; color: #fff; background: linear-gradient(120deg, #072750, #16558e); }
.venue-address::after { position: absolute; top: -90px; right: -65px; width: 310px; height: 310px; border: 1px solid rgba(128,220,255,.35); border-radius: 50%; content: ""; }
.venue-address > * { position: relative; z-index: 1; }
.venue-address .subpage-overline { color: #81dcff; }
.venue-address h2 { color: #fff; font-family: "Oswald", sans-serif; font-size: 40px; letter-spacing: .2px; text-transform: uppercase; }
.venue-address > p:not(.subpage-overline) { margin: 23px 0 0; color: #e2edf6; font: 400 17px/1.8 "Montserrat", sans-serif; }
.venue-address div { display: flex; gap: 15px; align-items: baseline; margin-top: 36px; }
.venue-address span { color: #82dcff; font: 700 10px/1.3 "Montserrat", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.venue-address strong { font: 500 24px/1 "Oswald", sans-serif; text-transform: uppercase; }
.announcement-panel { max-width: 820px; margin: 10px auto 0; padding: 54px 60px; text-align: center; background: #fff; border-top: 4px solid #ef5b3c; box-shadow: 0 14px 30px rgba(17, 42, 73, .06); }
.announcement-panel > span { color: #ef5b3c; font: 700 10px/1.4 "Montserrat", sans-serif; letter-spacing: 1.3px; }
.announcement-panel h2 { font-family: "Oswald", sans-serif; font-size: 44px; letter-spacing: .2px; text-transform: uppercase; }
.announcement-panel p { max-width: 575px; margin: 18px auto 0; color: #5b7085; font: 400 15px/1.8 "Montserrat", sans-serif; }
.announcement-panel hr { width: 44px; margin: 28px auto 20px; border: 0; border-top: 2px solid #bdd1df; }
.announcement-panel small { color: #708398; font: 400 12px/1.55 "Montserrat", sans-serif; }

/* Special Sessions & Workshops */
.workshop-intro { padding-bottom: 44px; }
.workshop-feature { border-top: 3px solid #ef5b3c; border-bottom: 1px solid #cedbe4; }
.workshop-feature__header { display: flex; justify-content: space-between; gap: 40px; align-items: end; padding: 31px 0 27px; border-bottom: 1px solid #cedbe4; }
.workshop-feature__header h2 { max-width: 800px; margin: 13px 0 0; color: #102b50; font: 500 clamp(30px, 3.2vw, 46px)/1.04 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.workshop-feature__status { flex: 0 0 176px; margin: 0 0 3px; padding-left: 17px; border-left: 2px solid #ef5b3c; color: #5e7288; font: 500 11px/1.45 "Montserrat", sans-serif; }
.workshop-feature__status span,.workshop-dossier > p { display: block; color: #8796a4; font: 700 9px/1.3 "Montserrat", sans-serif; letter-spacing: 1.1px; text-transform: uppercase; }
.workshop-feature__status strong { display: block; margin-top: 5px; color: #193c68; font: 700 11px/1.4 "Montserrat", sans-serif; }
.workshop-feature__body { display: grid; grid-template-columns: minmax(0, 1.33fr) minmax(288px, .67fr); }
.workshop-feature__summary { padding: 36px 56px 39px 0; }
.workshop-feature__summary > p { max-width: 720px; margin: 0; color: #475f76; font: 400 15px/1.82 "Montserrat", sans-serif; }
.workshop-focus { margin-top: 32px; padding-top: 19px; border-top: 1px solid #d9e2e9; }
.workshop-focus h3 { margin: 0; color: #193c68; font: 700 10px/1.2 "Montserrat", sans-serif; letter-spacing: 1.15px; text-transform: uppercase; }
.workshop-focus ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 27px; margin: 16px 0 0; padding: 0; list-style: none; color: #405970; font: 500 12px/1.45 "Montserrat", sans-serif; }
.workshop-focus li { position: relative; padding-left: 15px; }.workshop-focus li::before { position: absolute; top: .49em; left: 0; width: 5px; height: 5px; content: ""; background: #ef5b3c; }
.workshop-dossier { margin: 31px 0; padding: 3px 0 3px 31px; border-left: 3px solid #ef5b3c; }
.workshop-dossier > p { margin: 0 0 16px; color: #173e70; }
.workshop-dossier dl { margin: 0; }.workshop-dossier dl > div { padding: 15px 0; border-top: 1px solid #dce5eb; }.workshop-dossier dl > div:last-child { border-bottom: 1px solid #dce5eb; }
.workshop-dossier dt { color: #8697a7; font: 700 9px/1.2 "Montserrat", sans-serif; letter-spacing: .95px; text-transform: uppercase; }.workshop-dossier dd { margin: 7px 0 0; color: #254563; font: 500 12px/1.58 "Montserrat", sans-serif; }
.workshop-proposal { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; margin-top: 78px; padding: 33px 0 35px; border-top: 1px solid #aebfcc; border-bottom: 1px solid #aebfcc; }
.workshop-proposal h2 { margin: 12px 0 0; color: #102b50; font: 500 clamp(31px, 3vw, 42px)/1 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.workshop-proposal > div > p:last-of-type { max-width: 650px; margin: 16px 0 0; color: #536980; font: 400 14px/1.75 "Montserrat", sans-serif; }
.workshop-proposal ul { display: flex; flex-wrap: wrap; gap: 6px 21px; margin: 18px 0 0; padding: 0; list-style: none; color: #36526e; font: 600 10px/1.5 "Montserrat", sans-serif; }.workshop-proposal li { position: relative; padding-left: 12px; }.workshop-proposal li::before { position: absolute; top: .45em; left: 0; width: 4px; height: 4px; content: ""; background: #ef5b3c; }
.workshop-proposal .content-actions { justify-content: flex-end; min-width: max-content; }
.travel-grid, .exhibition-layout { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #d4dfe8; border-left: 1px solid #d4dfe8; }
.travel-grid article, .exhibition-layout > div { min-height: 245px; padding: 29px 24px; background: #fff; border-right: 1px solid #d4dfe8; border-bottom: 1px solid #d4dfe8; }
.travel-grid strong, .exhibition-layout strong { color: #ef5b3c; font-weight: 600; }

.organisation-table > div { display: grid; grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); gap: 32px; align-items: center; min-height: 69px; padding: 15px 30px; border-top: 1px solid #dce5ed; }
.organisation-table strong { color: #486076; font: 500 15px/1.5 "Montserrat", sans-serif; }
.date-timeline { display: grid; gap: 0; border-top: 1px solid #cad7e2; }
.date-timeline article { display: grid; grid-template-columns: 210px 1fr; gap: 42px; align-items: center; min-height: 172px; border-bottom: 1px solid #cad7e2; }
.date-timeline time { display: block; color: #ef5b3c; font: 600 52px/.9 "Oswald", sans-serif; letter-spacing: -.5px; }
.date-timeline time span { display: block; font-size: 32px; line-height: 1.05; }
.date-timeline time small { display: block; margin-top: 8px; color: #5682a6; font: 700 10px/1.2 "Montserrat", sans-serif; letter-spacing: 1.2px; }
.date-timeline h2 { margin: 13px 0 0; color: #173a61; font: 600 33px/1 "Oswald", sans-serif; letter-spacing: .15px; text-transform: uppercase; }
.date-timeline p:not(.subpage-overline) { margin: 10px 0 0; color: #61758a; font: 400 14px/1.7 "Montserrat", sans-serif; }
.date-timeline__pending time { color: #8b9baa; }
.news-list { border-top: 1px solid #cbd8e3; }
.news-list article { display: grid; grid-template-columns: 108px minmax(0, 1fr) max-content; gap: 28px; align-items: center; min-height: 155px; border-bottom: 1px solid #cbd8e3; }
.news-list time { color: #ef5b3c; font: 600 22px/1.05 "Oswald", sans-serif; text-align: center; }
.news-list time small { color: #6385a4; font: 700 10px/1.2 "Montserrat", sans-serif; letter-spacing: .8px; }
.news-list h2 { margin: 11px 0 0; color: #173a61; font: 600 27px/1.1 "Oswald", sans-serif; letter-spacing: .1px; text-transform: uppercase; }
.news-list p:not(.subpage-overline) { margin: 7px 0 0; color: #62768b; font: 400 13px/1.65 "Montserrat", sans-serif; }
.news-list a { color: #174b8d; font: 700 10px/1.35 "Montserrat", sans-serif; letter-spacing: .25px; text-decoration: none; text-transform: uppercase; }
.news-list a:hover { color: #ef5b3c; }
.contact-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 30px 64px; align-items: end; padding: 78px 0 46px; }
.contact-intro .subpage-overline { grid-column: 1 / -1; margin-bottom: -13px; }
.contact-intro h2 { max-width: 650px; margin: 0; color: #172943; font: 600 clamp(32px, 3.65vw, 49px)/1.06 "Montserrat", sans-serif; letter-spacing: -2.2px; }
.contact-intro > p:last-child { max-width: 430px; margin: 0 0 3px; color: #5a6e84; font: 400 15px/1.85 "Montserrat", sans-serif; }
.contact-ledger { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(270px, .82fr); border-top: 4px solid #ef5b3c; border-bottom: 1px solid #ccd8e1; background: #fff; }
.contact-ledger__main { padding: 41px 48px 44px; border-right: 1px solid #ccd8e1; }
.contact-ledger h2 { margin: 14px 0 37px; color: #172943; font: 500 38px/1 "Oswald", "Arial Narrow", sans-serif; letter-spacing: .25px; text-transform: uppercase; }
.contact-ledger__methods { border-top: 1px solid #d5e0e8; }
.contact-ledger__methods a { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 3px 20px; padding: 18px 0 17px; color: inherit; border-bottom: 1px solid #d5e0e8; text-decoration: none; }
.contact-ledger__methods a:hover strong { color: #ef5b3c; }
.contact-ledger__methods span { grid-row: 1 / 3; color: #74889b; font: 700 10px/1.45 "Montserrat", sans-serif; letter-spacing: .9px; text-transform: uppercase; }
.contact-ledger__methods strong { overflow-wrap: anywhere; color: #164b8e; font: 600 19px/1.25 "Montserrat", sans-serif; transition: color .2s ease; }
.contact-ledger__methods small { color: #708398; font: 400 12px/1.4 "Montserrat", sans-serif; }
.contact-ledger__guide { padding: 41px 38px 36px; background: #f3f7fa; }
.contact-ledger__guide h3 { margin: 13px 0 24px; color: #172943; font: 600 24px/1.1 "Montserrat", sans-serif; letter-spacing: -1px; }
.contact-ledger__guide nav { border-top: 1px solid #cfdce6; }
.contact-ledger__guide a { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 13px 0; color: #294967; border-bottom: 1px solid #cfdce6; font: 600 12px/1.35 "Montserrat", sans-serif; text-decoration: none; transition: color .2s ease, padding .2s ease; }
.contact-ledger__guide a:hover { padding-left: 7px; color: #ef5b3c; }
.contact-ledger__guide b { color: #ef5b3c; font: 400 17px/1 Arial, sans-serif; }
.contact-place { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 34px; padding: 25px 0 26px; border-top: 1px solid #cdd9e2; border-bottom: 1px solid #cdd9e2; }
.contact-place .subpage-overline { margin: 5px 0 0; }
.contact-place > div { display: flex; gap: 24px; align-items: baseline; }
.contact-place h2 { flex: 0 0 auto; margin: 0; color: #172943; font: 500 30px/1 "Oswald", "Arial Narrow", sans-serif; letter-spacing: .25px; text-transform: uppercase; }
.contact-place p { display: grid; gap: 4px; margin: 0; color: #506980; font: 400 12px/1.55 "Montserrat", sans-serif; }
.contact-place p strong { color: #174b8d; font: 700 11px/1.35 "Montserrat", sans-serif; letter-spacing: .55px; text-transform: uppercase; }
.contact-place a { flex: 0 0 auto; margin-left: auto; color: #174b8d; font: 700 10px/1.4 "Montserrat", sans-serif; letter-spacing: .55px; text-decoration: none; text-transform: uppercase; }
.contact-place a:hover { color: #ef5b3c; }
.contact-place a b { margin-left: 8px; color: #ef5b3c; font: 400 17px/.5 Arial, sans-serif; }
.contact-note { max-width: 760px; margin: 22px 0 0; color: #667b8e; font: 400 12px/1.7 "Montserrat", sans-serif; }

@media (max-width: 900px) { .contact-intro, .contact-ledger { grid-template-columns: 1fr; } .contact-intro { gap: 18px; padding-top: 58px; } .contact-intro .subpage-overline { margin-bottom: 0; } .contact-ledger__main { border-right: 0; border-bottom: 1px solid #ccd8e1; } }
@media (max-width: 600px) { .contact-intro { padding: 50px 0 35px; } .contact-intro h2 { font-size: 33px; letter-spacing: -1.65px; } .contact-intro > p:last-child { font-size: 13px; } .contact-ledger__main, .contact-ledger__guide { padding: 30px 22px; } .contact-ledger h2 { margin-bottom: 28px; font-size: 33px; } .contact-ledger__methods a { grid-template-columns: 1fr; gap: 5px; } .contact-ledger__methods span { grid-row: auto; } .contact-ledger__methods strong { font-size: 16px; } .contact-place { grid-template-columns: 1fr; gap: 14px; margin-top: 26px; padding: 22px 0; } .contact-place > div { display: grid; gap: 15px; } .contact-place h2 { font-size: 28px; } .contact-place a { margin-left: 0; } .contact-note { margin-top: 18px; font-size: 11px; } }

/* Registration landing page: structured reference-table rhythm */
.registration-heading { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding: 30px 0 22px; border-top: 1px solid #ccd9e3; }
.registration-heading--spaced { margin-top: 72px; }
.registration-heading h2 { margin: 13px 0 0; color: #172943; font: 600 clamp(32px, 3.25vw, 42px)/1 "Oswald", sans-serif; letter-spacing: .15px; text-transform: uppercase; }
.registration-heading > p { max-width: 270px; margin: 27px 0 0; color: #6a7e92; font: 400 13px/1.65 "Montserrat", sans-serif; }
.registration-context { max-width: 775px; margin: 0 0 24px; color: #61758a; font: 400 14px/1.75 "Montserrat", sans-serif; }
.registration-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #d5e1e9; box-shadow: 0 12px 27px rgba(17, 42, 73, .05); }
.registration-table { width: 100%; min-width: 650px; border-collapse: collapse; text-align: left; }
.registration-table th, .registration-table td { padding: 19px 25px; border-bottom: 1px solid #dce5ed; vertical-align: top; }
.registration-table thead { color: #fff; background: linear-gradient(105deg, #092a56, #174c85); }
.registration-table thead th { border-bottom: 0; font: 700 10px/1.35 "Montserrat", sans-serif; letter-spacing: .95px; text-transform: uppercase; }
.registration-table thead th:first-child { width: 38%; }
.registration-table thead small { display: block; margin-top: 4px; color: #81dcff; font: 600 9px/1.3 "Montserrat", sans-serif; letter-spacing: .4px; text-transform: none; }
.registration-table tbody th { color: #193b62; font: 600 14px/1.45 "Montserrat", sans-serif; }
.registration-table tbody td { color: #61758a; font: 400 13px/1.6 "Montserrat", sans-serif; }
.registration-table tbody td:nth-child(2) { color: #ef5b3c; font-weight: 700; font-size: 11px; letter-spacing: .4px; text-transform: uppercase; }
.registration-table__group th { padding: 13px 25px; color: #174b8d; background: #edf5f9; font: 700 10px/1.35 "Montserrat", sans-serif; letter-spacing: 1.05px; text-transform: uppercase; }
.registration-table--schedule { min-width: 840px; }
.registration-table--schedule thead th:first-child { width: 34%; }
.registration-table--schedule tbody td:not(:nth-child(2)) { color: #7a8c9d; font-size: 11px; font-weight: 700; letter-spacing: .35px; text-transform: uppercase; }
.registration-table--entitlements tbody td { color: #73869a; font-size: 11px; font-weight: 700; letter-spacing: .35px; text-transform: uppercase; }
.registration-table--entitlements { min-width: 850px; }
.registration-table--entitlements thead th:first-child { width: 36%; }
.registration-detail { max-width: 940px; margin: 68px 0 0; }
.registration-detail article { padding: 28px 0 30px; border-top: 1px solid #ccd9e3; }
.registration-detail article:last-child { border-bottom: 1px solid #ccd9e3; }
.registration-detail h3 { margin: 0; color: #173a61; font: 600 26px/1.15 "Oswald", sans-serif; letter-spacing: .15px; text-transform: uppercase; }
.registration-detail p, .registration-detail li { max-width: 830px; color: #60748a; font: 400 13px/1.72 "Montserrat", sans-serif; }
.registration-detail p { margin: 11px 0 0; }
.registration-detail ul { display: grid; gap: 7px; margin: 13px 0 0; padding: 0; list-style: none; }
.registration-detail li { position: relative; padding-left: 18px; }
.registration-detail li::before { position: absolute; left: 0; color: #ef5b3c; content: "•"; font-weight: 700; }
.registration-table-wrap--compact { max-width: 610px; margin-top: 19px; box-shadow: none; }
.registration-table--compact { min-width: 490px; }
.registration-table--compact thead th:first-child { width: 58%; }
.registration-policies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 65px; border-top: 1px solid #d2dee7; border-left: 1px solid #d2dee7; }
.registration-policies article { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 17px; min-height: 172px; padding: 27px 25px; background: #fff; border-right: 1px solid #d2dee7; border-bottom: 1px solid #d2dee7; }
.registration-policies span { color: #ef5b3c; font: 600 20px/1 "Oswald", sans-serif; }
.registration-policies h2 { margin: 0; color: #173a61; font: 600 24px/1.12 "Oswald", sans-serif; letter-spacing: .15px; text-transform: uppercase; }
.registration-policies p { margin: 9px 0 0; color: #62768b; font: 400 13px/1.65 "Montserrat", sans-serif; }

@media (max-width: 900px) { .content-intro--split, .topic-layout, .listener-layout { grid-template-columns: 1fr; } .content-intro { padding-top: 58px; } .topic-layout header { position: static; } .submission-band { align-items: start; flex-direction: column; } .publication-flow, .travel-grid { grid-template-columns: repeat(2, 1fr); } .content-related { grid-template-columns: 1fr; gap: 20px; } .status-table > div { grid-template-columns: 1fr 190px; } .status-table > div small { grid-column: 1 / -1; } .news-list article { grid-template-columns: 88px minmax(0, 1fr); padding: 20px 0; } .news-list article > a { grid-column: 2; } .exhibition-layout { grid-template-columns: repeat(3, 1fr); } .registration-heading { align-items: start; flex-direction: column; gap: 17px; } }
@media (max-width: 900px) { .workshop-feature__header { align-items: start; flex-direction: column; gap: 20px; } .workshop-feature__status { flex-basis: auto; } .workshop-feature__body { grid-template-columns: 1fr; } .workshop-feature__summary { padding-right: 0; } .workshop-dossier { margin: 0 0 32px; padding-left: 25px; } .workshop-proposal { grid-template-columns: 1fr; gap: 30px; } .workshop-proposal .content-actions { justify-content: flex-start; min-width: 0; } }
@media (max-width: 600px) { .section-index a { grid-template-columns: 50px minmax(0, 1fr) 20px; gap: 12px; min-height: 96px; padding: 19px 18px; } .section-index a:hover { padding-left: 24px; } .section-index strong { font-size: 24px; } .section-index small { font-size: 11px; } .content-intro h2, .topic-layout h2, .submission-band h2, .publication-statement h2, .announcement-panel h2, .venue-address h2, .listener-layout h2 { letter-spacing: -1.5px; } .content-actions--end { justify-content: flex-start; } .content-notice { grid-template-columns: 1fr; gap: 8px; margin-top: 38px; padding: 22px 20px; } .content-related { margin-top: 62px; } .content-related a { grid-template-columns: 1fr 20px; gap: 7px; } .content-related small { grid-column: 1; } .content-related b { grid-column: 2; grid-row: 1 / 3; } .topic-list { grid-template-columns: 1fr; } .topic-list span { min-height: 0; } .submission-band { gap: 28px; margin-top: 54px; padding: 30px 22px; } .process-list article { grid-template-columns: 55px 1fr; gap: 14px; } .process-list h2 { font-size: 23px; } .publication-flow, .travel-grid, .exhibition-layout { grid-template-columns: 1fr; } .publication-flow div, .travel-grid article, .exhibition-layout > div { min-height: 0; } .publication-statement { margin-top: 48px; padding: 30px 22px; } .status-table > div { grid-template-columns: 1fr; gap: 6px; padding: 18px 20px; } .status-table > div:first-child { display: none; } .listener-layout aside { padding: 29px 22px; } .venue-address { padding: 32px 22px; } .venue-address div { align-items: start; flex-direction: column; margin-top: 28px; } .announcement-panel { padding: 39px 22px; } .organisation-table > div { grid-template-columns: 1fr; gap: 7px; padding: 18px 20px; } .organisation-table > div:first-child { display: none; } .date-timeline article { grid-template-columns: 1fr; gap: 14px; min-height: 0; padding: 28px 0; } .news-list article { grid-template-columns: 65px minmax(0, 1fr); gap: 13px; } .news-list h2 { font-size: 23px; } .registration-heading--spaced { margin-top: 50px; } .registration-policies { grid-template-columns: 1fr; margin-top: 48px; } .registration-table th, .registration-table td { padding: 17px 19px; } }
@media (max-width: 600px) { .workshop-intro { padding-bottom: 36px; } .workshop-feature__header { gap: 17px; padding: 25px 0 23px; } .workshop-feature__header h2 { font-size: 29px; } .workshop-feature__summary { padding: 28px 0 31px; } .workshop-feature__summary > p { font-size: 13px; } .workshop-focus { margin-top: 26px; } .workshop-focus ul { grid-template-columns: 1fr; gap: 9px; } .workshop-dossier { margin-bottom: 28px; padding-left: 20px; } .workshop-proposal { gap: 25px; margin-top: 54px; padding: 28px 0 30px; } .workshop-proposal h2 { font-size: 30px; } .workshop-proposal > div > p:last-of-type { font-size: 13px; } .workshop-proposal ul { display: grid; gap: 8px; } .workshop-proposal .content-actions { align-items: stretch; width: 100%; } .workshop-proposal .content-action { justify-content: space-between; width: 100%; } }

/* Keep the primary title of every generated secondary page on one desktop line.
   This appears after the shared content rules so the title can use the full row. */
@media (min-width: 901px) {
  .subpage-intro { max-width: none; }
  .subpage-intro h2, .content-intro--split h2 { white-space: nowrap; font-size: clamp(24px, 2.6vw, 40px); letter-spacing: -1.45px; }
}

/* Conference venue: information-led layout inspired by the ICEMS venue page. */
.venue-page .venue-address { margin-top: 30px; }
.venue-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr); overflow: hidden; background: #fff; border: 1px solid #dce5ed; box-shadow: 0 13px 30px rgba(17, 42, 73, .07); }
.venue-overview__copy { padding: clamp(34px, 4.5vw, 58px); }
.venue-overview__copy h2, .venue-travel h2 { margin: 15px 0 0; color: #172943; font: 500 clamp(34px, 3.3vw, 45px)/1.04 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.venue-overview__copy > p:not(.subpage-overline) { max-width: 560px; margin: 22px 0 0; color: #586d82; font: 400 14px/1.85 "Montserrat", sans-serif; }
.venue-map-link { display: inline-flex; gap: 13px; align-items: center; margin-top: 31px; padding-bottom: 8px; color: #174b8d; border-bottom: 2px solid #ef5b3c; font: 700 10px/1 "Montserrat", sans-serif; letter-spacing: .7px; text-decoration: none; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
.venue-map-link span { color: #ef5b3c; font: 400 17px/.8 Arial, sans-serif; }
.venue-map-link:hover { color: #ef5b3c; border-color: #174b8d; }
.venue-overview__visual { position: relative; min-height: 410px; margin: 0; overflow: hidden; background: #0e315f; }
.venue-overview__visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 45%, rgba(4, 21, 45, .82)); pointer-events: none; }
.venue-overview__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; transition: transform .55s ease; }
.venue-overview:hover .venue-overview__visual img { transform: scale(1.035); }
.venue-overview__visual figcaption { position: absolute; z-index: 1; right: 26px; bottom: 23px; left: 26px; color: #fff; font: 600 10px/1.45 "Montserrat", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.venue-travel { margin-top: 78px; }
.venue-travel > header { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 29px; }
.venue-travel > header > p { max-width: 330px; margin: 0; color: #687e94; font: 400 13px/1.7 "Montserrat", sans-serif; }
.venue-travel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #d5e0e8; border-left: 1px solid #d5e0e8; }
.venue-travel__grid article { min-height: 238px; padding: 30px 28px; background: #fff; border-right: 1px solid #d5e0e8; border-bottom: 1px solid #d5e0e8; transition: background .2s ease; }
.venue-travel__grid article:hover { background: #f7fbfe; }
.venue-travel__grid span { display: block; color: #ef5b3c; font: 600 21px/1 "Oswald", sans-serif; }
.venue-travel__grid h3 { margin: 21px 0 0; color: #173a61; font: 500 25px/1.1 "Oswald", sans-serif; letter-spacing: .1px; text-transform: uppercase; }
.venue-travel__grid p { margin: 12px 0 0; color: #61778d; font: 400 13px/1.75 "Montserrat", sans-serif; }
.venue-overview__links { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; }
.venue-overview__links .venue-map-link { margin-top: 31px; }
.venue-highlights { margin-top: 78px; }
.venue-highlights > header { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 29px; }
.venue-highlights h2, .venue-stay h2 { margin: 15px 0 0; color: #172943; font: 500 clamp(34px, 3.3vw, 45px)/1.04 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.venue-highlights > header > p { max-width: 390px; margin: 0; color: #687e94; font: 400 13px/1.7 "Montserrat", sans-serif; }
.venue-highlights__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #d5e0e8; border-left: 1px solid #d5e0e8; }
.venue-highlights__grid article { min-height: 250px; padding: 30px 26px; background: #fff; border-right: 1px solid #d5e0e8; border-bottom: 1px solid #d5e0e8; transition: background .2s ease; }
.venue-highlights__grid article:hover { background: #f7fbfe; }
.venue-highlights__grid span { display: block; color: #ef5b3c; font: 600 21px/1 "Oswald", sans-serif; }
.venue-highlights__grid h3 { margin: 21px 0 0; color: #173a61; font: 500 25px/1.1 "Oswald", sans-serif; letter-spacing: .1px; text-transform: uppercase; }
.venue-highlights__grid p { margin: 12px 0 0; color: #61778d; font: 400 13px/1.75 "Montserrat", sans-serif; }
.venue-hall-photo { display: grid; grid-template-columns: minmax(270px, .6fr) minmax(0, 1.4fr); gap: clamp(30px, 5vw, 70px); align-items: end; margin-top: 78px; padding: 43px 0; border-top: 1px solid #d5e0e8; border-bottom: 1px solid #d5e0e8; }
.venue-hall-photo h2 { margin: 15px 0 0; color: #172943; font: 500 clamp(34px, 3.3vw, 45px)/1.04 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.venue-hall-photo p:not(.subpage-overline) { margin: 19px 0 0; color: #61778d; font: 400 14px/1.8 "Montserrat", sans-serif; }
.venue-hall-photo figure { position: relative; margin: 0; overflow: hidden; background: #0e315f; }
.venue-hall-photo img { display: block; width: 100%; aspect-ratio: 1.58 / 1; object-fit: cover; transition: transform .55s ease; }
.venue-hall-photo figure:hover img { transform: scale(1.025); }
.venue-hall-photo figcaption { position: absolute; right: 20px; bottom: 16px; left: 20px; color: #fff; font: 600 10px/1.45 "Montserrat", sans-serif; letter-spacing: 1px; text-shadow: 0 1px 10px rgba(0, 0, 0, .8); text-transform: uppercase; }
.venue-stay { display: grid; grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr); gap: clamp(36px, 7vw, 100px); align-items: start; margin-top: 78px; padding: 42px 0; border-top: 1px solid #d5e0e8; border-bottom: 1px solid #d5e0e8; }
.venue-stay > div > p:last-child { max-width: 500px; margin: 19px 0 0; color: #61778d; font: 400 14px/1.8 "Montserrat", sans-serif; }
.venue-stay dl { margin: 0; border-top: 1px solid #d5e0e8; }
.venue-stay dl > div { display: grid; grid-template-columns: minmax(135px, .6fr) 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid #d5e0e8; }
.venue-stay dt { color: #668097; font: 700 9px/1.5 "Montserrat", sans-serif; letter-spacing: .9px; text-transform: uppercase; }
.venue-stay dd { margin: 0; color: #24486e; font: 500 13px/1.55 "Montserrat", sans-serif; }
.venue-stay dd a { color: #174b8d; text-decoration-color: #ef5b3c; text-underline-offset: 4px; }
@media (max-width: 900px) { .venue-overview { grid-template-columns: 1fr; } .venue-overview__visual { min-height: 340px; } .venue-highlights > header, .venue-travel > header { align-items: start; flex-direction: column; gap: 17px; } .venue-highlights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .venue-hall-photo, .venue-stay { grid-template-columns: 1fr; gap: 34px; } .venue-travel__grid { grid-template-columns: 1fr; } .venue-travel__grid article { min-height: 0; } }
@media (max-width: 600px) { .venue-overview__copy { padding: 32px 22px 34px; } .venue-overview__copy h2, .venue-highlights h2, .venue-hall-photo h2, .venue-stay h2, .venue-travel h2 { font-size: 32px; } .venue-overview__visual { min-height: 255px; } .venue-overview__visual figcaption { right: 20px; bottom: 18px; left: 20px; } .venue-overview__links { gap: 0 20px; } .venue-highlights, .venue-hall-photo, .venue-travel { margin-top: 56px; } .venue-hall-photo { padding: 31px 0; } .venue-highlights__grid { grid-template-columns: 1fr; } .venue-highlights__grid article, .venue-travel__grid article { min-height: 0; padding: 27px 22px; } .venue-stay { margin-top: 56px; padding: 31px 0; } .venue-stay dl > div { grid-template-columns: 1fr; gap: 5px; } }

/* Conference venue: restrained hotel-guide treatment. */
.venue-page .content-intro { padding: 56px 0 36px; }
.venue-page .content-intro--split { gap: 16px; }
.venue-page .content-intro h2 { max-width: 890px; color: #1d3557; font-size: clamp(28px, 2.45vw, 38px); font-weight: 600; letter-spacing: -1.2px; line-height: 1.18; white-space: normal; }
.venue-page .content-intro > p { max-width: 830px; color: #637890; font-size: 14px; line-height: 1.8; }
.venue-carousel { position: relative; margin: 3px 0 58px; }
.venue-carousel__slides { position: relative; min-height: min(38vw, 470px); overflow: hidden; background: #112d4d; }
.venue-carousel__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .7s ease; }
.venue-carousel__slide.is-active { position: relative; opacity: 1; }
.venue-carousel__slide img { display: block; width: 100%; height: min(38vw, 470px); object-fit: cover; object-position: center; }
.venue-carousel__slide::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 60%, rgba(5, 23, 45, .72)); pointer-events: none; }
.venue-carousel figcaption { position: absolute; z-index: 1; right: 32px; bottom: 22px; left: 32px; display: flex; justify-content: space-between; gap: 20px; color: #fff; font-family: "Montserrat", sans-serif; text-transform: uppercase; }
.venue-carousel figcaption span { font-size: 11px; font-weight: 700; letter-spacing: 1.1px; }
.venue-carousel figcaption small { font-size: 10px; font-weight: 500; letter-spacing: .7px; }
.venue-carousel__controls { position: absolute; z-index: 2; right: 28px; bottom: 20px; display: flex; gap: 13px; align-items: center; }
.venue-carousel__arrow { width: 27px; height: 27px; padding: 0; color: #fff; background: rgba(17, 43, 74, .58); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; cursor: pointer; font: 400 15px/1 Arial, sans-serif; transition: background .2s ease, transform .2s ease; }
.venue-carousel__arrow:hover, .venue-carousel__arrow:focus-visible { background: #ef5b3c; border-color: #ef5b3c; outline: 0; transform: translateY(-1px); }
.venue-carousel__dots { display: flex; gap: 7px; align-items: center; }
.venue-carousel__dots button { width: 18px; height: 2px; padding: 0; background: rgba(255,255,255,.55); border: 0; cursor: pointer; transition: width .2s ease, background .2s ease; }
.venue-carousel__dots button.is-active { width: 31px; background: #fff; }
.venue-carousel__dots button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.venue-page .venue-overview { display: block; background: transparent; border: 0; box-shadow: none; }
.venue-page .venue-overview__copy { max-width: 820px; padding: 0; }
.venue-page .venue-overview__copy h2, .venue-page .venue-highlights h2, .venue-page .venue-hall-photo h2, .venue-page .venue-stay h2, .venue-page .venue-travel h2 { font-family: "Montserrat", sans-serif; font-size: clamp(24px, 2.1vw, 32px); font-weight: 600; letter-spacing: -1px; line-height: 1.16; text-transform: none; }
.venue-page .venue-overview__copy > p:not(.subpage-overline) { margin-top: 18px; font-size: 13px; line-height: 1.82; }
.venue-page .venue-overview__visual { min-height: 350px; }
.venue-page .venue-highlights, .venue-page .venue-hall-photo, .venue-page .venue-stay, .venue-page .venue-travel { margin-top: 62px; }
.venue-page .venue-highlights > header, .venue-page .venue-travel > header { gap: 28px; margin-bottom: 23px; }
.venue-page .venue-highlights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; border: 0; }
.venue-page .venue-highlights__grid article { min-height: 0; padding: 22px 0 25px; background: transparent; border: 0; border-top: 1px solid #dbe5ed; }
.venue-page .venue-highlights__grid article:nth-child(n+3) { border-bottom: 1px solid #dbe5ed; }
.venue-page .venue-highlights__grid h3, .venue-page .venue-travel__grid h3 { margin: 0; color: #284d76; font-family: "Montserrat", sans-serif; font-size: 16px; font-weight: 600; letter-spacing: -.25px; line-height: 1.35; text-transform: none; }
.venue-page .venue-highlights__grid p, .venue-page .venue-travel__grid p { margin-top: 8px; color: #687d92; font-size: 12px; line-height: 1.75; }
.venue-page .venue-hall-photo { padding: 33px 0; }
.venue-page .venue-stay { gap: clamp(35px, 6vw, 80px); padding: 34px 0; }
.venue-page .venue-address { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); column-gap: clamp(34px, 8vw, 120px); margin-top: 62px; padding: 32px 0; overflow: visible; color: inherit; background: transparent; border-top: 1px solid #cfdce6; border-bottom: 1px solid #cfdce6; }
.venue-page .venue-address::after { display: none; }
.venue-page .venue-address .subpage-overline { grid-column: 1; color: #5e9ec4; }
.venue-page .venue-address h2 { grid-column: 1; margin: 9px 0 0; color: #23476d; font-family: "Montserrat", sans-serif; font-size: clamp(23px, 2vw, 29px); font-weight: 600; letter-spacing: -.8px; line-height: 1.2; text-transform: none; }
.venue-page .venue-address > p:not(.subpage-overline) { grid-column: 1; margin: 14px 0 0; color: #61778d; font-size: 13px; line-height: 1.8; }
.venue-page .venue-address div { grid-column: 2; grid-row: 1 / span 3; align-self: center; display: block; margin: 0; padding-left: 24px; border-left: 2px solid #ef5b3c; }
.venue-page .venue-address span { color: #7191a8; font-size: 9px; }
.venue-page .venue-address strong { display: block; margin-top: 7px; color: #23476d; font-family: "Montserrat", sans-serif; font-size: 16px; font-weight: 600; line-height: 1.4; text-transform: none; }
.venue-page .venue-travel__grid { gap: 0 34px; border: 0; }
.venue-page .venue-travel__grid article { min-height: 0; padding: 21px 0 24px; background: transparent; border: 0; border-top: 1px solid #dbe5ed; }
.venue-page .venue-travel__grid article:last-child { border-bottom: 1px solid #dbe5ed; }
.venue-page .content-notice { margin-top: 48px; padding: 18px 0 0 19px; background: transparent; box-shadow: none; }
@media (max-width: 900px) { .venue-page .venue-highlights__grid { grid-template-columns: 1fr; gap: 0; } .venue-page .venue-highlights__grid article:nth-child(n+3) { border-bottom: 0; } .venue-page .venue-highlights__grid article:last-child { border-bottom: 1px solid #dbe5ed; } .venue-page .venue-address { grid-template-columns: 1fr; row-gap: 0; } .venue-page .venue-address div { grid-column: 1; grid-row: auto; margin-top: 24px; } }
@media (max-width: 600px) { .venue-page .content-intro { padding-top: 43px; } .venue-page .content-intro h2 { font-size: 28px; letter-spacing: -1px; } .venue-carousel { margin-bottom: 45px; } .venue-carousel__slides, .venue-carousel__slide img { min-height: 255px; height: 58vw; } .venue-carousel figcaption { right: 20px; bottom: 18px; left: 20px; flex-direction: column; gap: 4px; } .venue-carousel figcaption small { max-width: 190px; line-height: 1.4; } .venue-carousel__controls { right: 20px; bottom: 18px; } .venue-page .venue-highlights, .venue-page .venue-hall-photo, .venue-page .venue-stay, .venue-page .venue-travel, .venue-page .venue-address { margin-top: 48px; } .venue-page .venue-address { padding: 27px 0; } }

/* Explore Wuhan */
.wuhan-explore { padding-bottom: 100px; }
.wuhan-explore__hero { position: relative; min-height: 510px; overflow: hidden; color: #fff; background: linear-gradient(90deg, rgba(4, 22, 51, .93), rgba(4, 29, 65, .58) 51%, rgba(4, 21, 46, .14)), url("assets/wuhan-hero2.png") center / cover; }
.wuhan-explore__hero::after { position: absolute; inset: auto 0 0; height: 40%; content: ""; background: linear-gradient(transparent, rgba(3, 20, 44, .54)); }
.wuhan-explore__hero > div { position: relative; z-index: 1; width: min(1200px, calc(100% - 64px)); padding: 106px 0 82px; margin: 0 auto; }
.wuhan-explore__hero p { margin: 0; color: #86dcff; font: 700 12px/1 "Oswald", sans-serif; letter-spacing: 2px; }
.wuhan-explore__hero h1 { max-width: 780px; margin: 17px 0 23px; font: 500 clamp(50px, 5.9vw, 82px)/.98 "Oswald", sans-serif; letter-spacing: .4px; text-transform: uppercase; }
.wuhan-explore__hero span { display: block; max-width: 475px; color: #edf7ff; font: 400 16px/1.7 "Montserrat", sans-serif; }
.wuhan-explore__hero b { display: inline-block; margin-top: 34px; padding: 11px 14px; color: #fff2b5; border-left: 2px solid #f5b83d; font: 700 11px/1 "Montserrat", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.wuhan-explore__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .72fr); gap: clamp(40px, 9vw, 140px); padding: 74px 0 56px; }
.wuhan-explore__intro h2, .wuhan-explore__section h2, .wuhan-explore__plan h2 { margin: 14px 0 0; color: #172943; font: 600 clamp(31px, 3.35vw, 46px)/1.08 "Montserrat", sans-serif; letter-spacing: -1.8px; }
.wuhan-explore__intro > p { align-self: end; max-width: 420px; margin: 0; color: #60758d; font: 400 15px/1.9 "Montserrat", sans-serif; }
.wuhan-explore__section > header { display: flex; justify-content: space-between; gap: 36px; align-items: end; margin-bottom: 27px; }
.wuhan-explore__section > header > p { max-width: 340px; margin: 0; color: #687e94; font: 400 13px/1.75 "Montserrat", sans-serif; }
.wuhan-explore__places { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid #d9e4ed; background: #fff; }
.wuhan-explore__places article { min-height: 255px; padding: 30px 29px; border-left: 1px solid #d9e4ed; }
.wuhan-explore__places article:first-child { border-left: 0; }
.wuhan-explore__places em { color: #ef5b3c; font: 600 21px/1 "Oswald", sans-serif; font-style: normal; }
.wuhan-explore__places h3 { margin: 31px 0 0; color: #183d68; font: 500 27px/1.08 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.wuhan-explore__places p { margin: 12px 0 0; color: #61778d; font: 400 13px/1.75 "Montserrat", sans-serif; }
.wuhan-explore__plan { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.3fr); gap: clamp(38px, 8vw, 112px); align-items: start; margin-top: 76px; padding: 46px 48px; color: #fff; background: linear-gradient(120deg, #092750, #164d83); }
.wuhan-explore__plan .subpage-overline { color: #79d6ff; }
.wuhan-explore__plan h2 { color: #fff; font-family: "Oswald", sans-serif; font-size: clamp(38px, 4vw, 52px); letter-spacing: .2px; text-transform: uppercase; }
.wuhan-explore__plan > p { margin: 18px 0 0; color: #bed9ec; font: 400 14px/1.8 "Montserrat", sans-serif; }
.wuhan-explore__days { display: grid; gap: 1px; border-top: 1px solid rgba(205, 234, 255, .25); }
.wuhan-explore__days article { display: grid; grid-template-columns: 64px 1fr; gap: 19px; padding: 22px 0; border-bottom: 1px solid rgba(205, 234, 255, .25); }
.wuhan-explore__days b { color: #ffd56f; font: 600 22px/1 "Oswald", sans-serif; }
.wuhan-explore__days h3 { margin: 0; font: 600 16px/1.35 "Montserrat", sans-serif; }
.wuhan-explore__days p { margin: 7px 0 0; color: #c8dfef; font: 400 13px/1.7 "Montserrat", sans-serif; }
.wuhan-explore__note { display: grid; grid-template-columns: 150px 1fr; gap: 32px; margin-top: 38px; padding: 25px 0; border-top: 1px solid #d8e3eb; border-bottom: 1px solid #d8e3eb; }
.wuhan-explore__note strong { color: #18477f; font: 700 11px/1.5 "Montserrat", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.wuhan-explore__note p { margin: 0; color: #63788d; font: 400 13px/1.75 "Montserrat", sans-serif; }
@media (max-width: 900px) { .wuhan-explore__hero > div { width: calc(100% - 48px); padding-top: 88px; } .wuhan-explore__intro, .wuhan-explore__plan { grid-template-columns: 1fr; gap: 28px; } .wuhan-explore__places { grid-template-columns: 1fr; } .wuhan-explore__places article { min-height: 0; border-top: 1px solid #d9e4ed; border-left: 0; } .wuhan-explore__places article:first-child { border-top: 0; } }
@media (max-width: 600px) { .wuhan-explore { padding-bottom: 64px; } .wuhan-explore__hero { min-height: 455px; } .wuhan-explore__hero > div { width: calc(100% - 36px); padding: 78px 0 58px; } .wuhan-explore__hero h1 { font-size: 50px; } .wuhan-explore__hero span { font-size: 14px; } .wuhan-explore__intro { padding: 52px 0 40px; } .wuhan-explore__section > header { flex-direction: column; align-items: start; gap: 14px; } .wuhan-explore__places article { padding: 27px 22px; } .wuhan-explore__plan { margin-top: 55px; padding: 32px 23px; } .wuhan-explore__note { grid-template-columns: 1fr; gap: 9px; } }
