/* Saudi Lung Health — progressive presentation layer.
   Loaded after the original stylesheet; the original bundle remains authoritative
   for content, navigation, program data and registration. */
:root {
  --premium-ink: #092f32;
  --premium-deep: #062e32;
  --premium-green: #276653;
  --premium-sage: #9fc9b5;
  --premium-mist: #edf4ef;
  --premium-paper: #f8f9f4;
  --premium-line: #ccddd1;
  --premium-ease: cubic-bezier(.22,1,.36,1);
}

html { scroll-padding-top: 105px; }
body { background: var(--premium-paper); }
main { overflow: clip; }
.container { max-width: 1320px; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #86c7a8;
  outline-offset: 4px;
}
img { max-width: 100%; }

/* An architectural, image-led opening rather than a framed illustration. */
.hero {
  isolation: isolate;
  min-height: min(940px, 96svh);
  background: var(--premium-deep);
  position: relative;
}
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  background: linear-gradient(to right, #062e3205 23%, #062e32c9 71%, #062e32ee 100%) !important;
  opacity: 1 !important;
  pointer-events: none;
  z-index: 1;
}
.hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 50% 28px auto !important;
  width: 1px;
  height: 43px;
  background: linear-gradient(#accdb6, transparent) !important;
  opacity: .65 !important;
  transform: none !important;
  pointer-events: none;
  z-index: 4;
}
.hero-grid {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: min(940px, 96svh);
  padding-block: clamp(96px, 10vh, 150px) 92px;
  gap: 0;
}
.hero-art {
  position: absolute;
  inset-block: 0;
  inset-inline-start: max(calc((1320px - 100vw) / 2), calc((64px - 100vw) / 2));
  width: min(67vw, 920px);
  max-width: none;
  margin: 0;
  z-index: -1;
  animation: none !important;
  pointer-events: none;
}
.hero-art-frame {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  clip-path: none;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 48%, #000a 70%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 48%, #000a 70%, transparent 100%);
}
.hero-art-frame::after {
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(to top, #062e32b8, transparent 33%, #062e3266);
}
.hero-art-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 49%;
}
.premium-ready .hero-art-frame img { transform: none; }
.hero .art-caption {
  position: absolute;
  inset-inline-start: clamp(28px, 5vw, 90px);
  bottom: 45px;
  margin: 0;
  max-width: 330px;
  text-align: start;
  justify-content: flex-start;
  color: #e4eee3;
  font-size: 12px;
  letter-spacing: .02em;
}
.hero-copy {
  width: min(100%, 690px);
  margin-inline-start: auto;
  position: relative;
  z-index: 3;
  order: 2;
  animation: none !important;
  padding-inline-start: clamp(10px, 2vw, 30px);
}
.hero h1 {
  font-size: clamp(46px, 5.1vw, 82px);
  font-weight: 650;
  line-height: 1.065;
  letter-spacing: -.028em;
  text-wrap: balance;
  margin-bottom: 28px;
  text-transform: none;
}
.hero h1 span { color: #b8d9c6; }
.hero h1 span::before { background: #9bcdb1; }
.hero h1 em { font-size: .62em; letter-spacing: .015em; font-style: normal; }
.hero-tagline {
  max-width: 560px;
  color: #e4eee6;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.55;
  text-wrap: pretty;
}
.hero-where { color: #d4e6d8; }
.hero .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero .button { box-shadow: 0 9px 26px #001d2033; }
.hero .registration-qr { margin-top: clamp(24px, 4vh, 47px); }
.hero .registration-qr img { background: #f8f9f4; }
.hero .art-caption svg { flex: none; }
.premium-ready .hero h1,
.premium-ready .hero .hero-tagline,
.premium-ready .hero .hero-where,
.premium-ready .hero .actions,
.premium-ready .hero .registration-qr,
.premium-ready .hero .art-caption {
  animation: premium-enter 760ms var(--premium-ease) both;
}
.premium-ready .hero h1 { animation-delay: 100ms; }
.premium-ready .hero .hero-tagline { animation-delay: 210ms; }
.premium-ready .hero .hero-where { animation-delay: 330ms; }
.premium-ready .hero .actions { animation-delay: 450ms; }
.premium-ready .hero .registration-qr { animation: none; }
.premium-ready .hero .art-caption { animation-delay: 680ms; }
@keyframes premium-enter {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* The facts sit on a quiet, continuous band, not five detached cards. */
.info-strip { background: #eaf2ea; border-block: 1px solid #c7d9cd; }
.info-grid { padding-block: 30px; }
.info-grid > div { border-color: #bbd0c2; }
.info-grid strong { color: var(--premium-ink); }
.info-grid svg { color: var(--premium-green); }
/* The hero already gives date and venue. Reserve this strip for new facts. */
body.premium-home .info-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.premium-home .info-grid > div:first-child,
body.premium-home .info-grid > div:nth-child(3) { display: none; }
body.premium-home .info-grid > div:nth-child(2) { border-inline-start: 0; padding-inline-start: 0; }
/* One registration action in the hero; the sticky header action returns on scroll. */
body.premium-home:not(.premium-scrolled) .header-controls .nav-register,
body.premium-registration .header-controls .nav-register,
body.premium-home .hero .registration-qr { display: none; }
/* Registration facts immediately below already contain the date and venue. */
body.premium-registration .page-heading p { display: none; }
/* About already has a brochure link in the immediately following footer.
   Keep complete signed messages, but avoid repeating an identical role label. */
body.premium-about .full-messages + .actions.resources,
body.premium-about .full-message aside p[hidden] { display: none !important; }
/* The global registration control and footer remain available on the
   speaker directory; its repeated closing sales panel adds no new details. */
body.premium-speakers main > .registration-banner { display: none; }
/* The footer provides the brochure; the registration details retain
   the unique calendar action and the direct Google Forms action. */
body.premium-registration .registration-grid .actions.resources a:first-child,
body.premium-registration footer .footer-links a[href$="/registration"],
body.premium-privacy footer .footer-links a[href$="/privacy"] { display: none; }
@media (max-width: 700px) {
  body.premium-home .info-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.premium-home .info-grid > div { border: 0; padding: 0; }
}
@media (max-width: 480px) {
  body.premium-home .info-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* Editorial cadence through the home story. */
.section { padding-block: clamp(76px, 8vw, 124px); }
.section-index { letter-spacing: .15em; text-transform: uppercase; font-size: 11px; font-weight: 700; color: #477967; }
.section h2, .venue-section h2, .registration-banner h2 {
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.about-section { background: var(--premium-paper); }
.about-section .split { align-items: start; gap: clamp(48px, 8vw, 122px); }
.about-section h2 { font-size: clamp(38px, 4.5vw, 68px); max-width: 670px; }
.about-section .lead { max-width: 700px; }
.themes-section {
  background: #103c3d;
  color: #f2f7f0;
  position: relative;
  overflow: hidden;
}
.themes-section::after {
  content: "";
  position: absolute;
  width: min(580px, 65vw);
  aspect-ratio: 1;
  inset-inline-end: -110px;
  bottom: -210px;
  background: url('/assets/theme-watermark.webp') center / contain no-repeat;
  opacity: .055;
  pointer-events: none;
}
.themes-section .container { position: relative; z-index: 1; }
.themes-section h2 { font-size: clamp(36px, 4vw, 62px); }
.theme-list > a { padding-block: clamp(22px, 2.8vw, 37px); transition: background-color .2s ease, padding-inline .3s var(--premium-ease); }
.theme-list > a:hover { padding-inline: 16px; }
.theme-list h3 { font-size: clamp(19px, 2vw, 28px); }
.welcome-grid { gap: clamp(22px, 3vw, 45px); }
.welcome-card { border-top-color: #70a68b; }
.light-section { background: var(--premium-mist); }
.program-section { background: var(--premium-paper); }
.preview-row { transition: background-color .2s ease, transform .25s var(--premium-ease); }
.preview-row:hover { transform: translateX(4px); }
.venue-section { background: #e8f0e9; }
.venue-detail { background: #f7faf5; border-color: #bad2c0; border-inline-start-color: #498668; box-shadow: 0 18px 55px #153f3210; }
.registration-banner {
  background: #215c4d;
  position: relative;
  overflow: hidden;
  padding-block: clamp(65px, 7vw, 105px);
}
.registration-banner::before {
  content: "";
  position: absolute;
  width: 570px;
  height: 570px;
  inset-inline-end: -120px;
  top: -210px;
  background: url('/assets/theme-watermark.webp') center / contain no-repeat;
  opacity: .07;
  pointer-events: none;
}
.registration-banner > .container { position: relative; }
.registration-banner h2 { font-size: clamp(36px, 4vw, 60px); }

/* Faculty images feel like a photographic collection; committee cards stay
   institutional and don't impersonate the speaker presentation. */
.people-grid { column-gap: clamp(18px, 2.5vw, 34px); row-gap: clamp(32px, 4vw, 56px); }
.person-card { transition: transform .35s var(--premium-ease), box-shadow .35s var(--premium-ease); }
.person-card .portrait-wrap {
  aspect-ratio: 4 / 4.6;
  border-radius: 3px;
  padding: 0;
  border-bottom: 3px solid #72a98e;
  background: #d7e8dc;
  overflow: hidden;
}
.person-card .portrait-wrap img {
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: cover;
  object-position: center 30%;
  transition: transform .6s var(--premium-ease);
}
.person-card:hover { transform: translateY(-4px); }
.person-card:hover .portrait-wrap img { transform: scale(1.035); }
.person-card h3 { font-size: clamp(17px, 1.6vw, 21px); }
.person-card .person-content { padding-top: 20px; }
.committee-page .portrait-wrap, .premium-committees .portrait-wrap {
  aspect-ratio: 1.18;
  background: #e1ebe4;
  border-bottom-color: #b0cab7;
}
.committee-page .portrait-wrap img, .premium-committees .portrait-wrap img { object-position: center 28%; }

/* The existing details/summary schedule retains every item and its native
   keyboard interaction. This adds a timeline spine and quieter row treatment. */
.program-page .agenda-full { position: relative; padding-inline-start: 30px; }
.program-page .agenda-full::before {
  content: "";
  position: absolute;
  inset-block: 14px 25px;
  inset-inline-start: 7px;
  width: 1px;
  background: #a9c7b3;
}
.program-page .session-block { position: relative; margin-bottom: 20px; box-shadow: 0 13px 38px #153f3210; }
.program-page .session-block::before {
  content: "";
  position: absolute;
  top: 28px;
  inset-inline-start: -29px;
  width: 13px;
  height: 13px;
  border: 3px solid #579176;
  background: var(--premium-paper);
  border-radius: 50%;
  z-index: 2;
}
.program-page .session-block summary { transition: filter .2s ease; }
.program-page .session-block summary:hover { filter: brightness(1.07); }
.page-heading { background: #0c393b; padding-block: clamp(65px, 7vw, 110px); }
.page-heading h1 { font-size: clamp(40px, 5vw, 74px); line-height: 1.1; text-wrap: balance; }
.full-message { gap: clamp(32px, 6vw, 80px); }
.registration-grid { gap: clamp(40px, 7vw, 100px); }
.registration-status img[src*="registration-qr"] { min-width: 150px; image-rendering: auto; }

/* The existing sticky header is left structurally intact. */
header {
  transition: background-color .3s ease, box-shadow .3s ease;
  z-index: 50;
}
body.premium-home header {
  background: linear-gradient(180deg, #062e32db, #062e328a);
  border-bottom-color: #ffffff29;
  margin-bottom: -94px;
}
body.premium-home:not(.premium-scrolled) header .home-link,
body.premium-home:not(.premium-scrolled) header #main-nav > a:not(.button),
body.premium-home:not(.premium-scrolled) header .language-switch,
body.premium-home:not(.premium-scrolled) header .menu-toggle {
  color: #f0f7ef;
}
body.premium-home:not(.premium-scrolled) header #main-nav > a:not(.button):hover { color: #b6dec6; }
body.premium-scrolled header {
  background: #f0f6efed;
  box-shadow: 0 8px 30px #092c2c22;
}
body.premium-home.premium-scrolled header { background: #f0f6efed; border-bottom-color: #c9dccf; }
/* Scrolled content must never show through the sticky mobile header. */
body.premium-scrolled header,
body.premium-home.premium-scrolled header { background: #f0f6ef; backdrop-filter: none; -webkit-backdrop-filter: none; }
header #main-nav > a:not(.button) { transition: color .2s ease; }
header #main-nav > a:not(.button):hover { color: #276653; }
.button { transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.text-link { text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* Reveal only after the script positively confirms observer support.
   A failed or blocked script therefore never conceals conference content. */
.premium-ready .premium-reveal:not(.premium-visible) {
  opacity: 0;
  transform: translateY(24px);
}
.premium-ready .premium-reveal {
  transition: opacity .78s var(--premium-ease), transform .78s var(--premium-ease);
  transition-delay: var(--premium-delay, 0ms);
}
.premium-ready .premium-reveal.premium-visible { opacity: 1; transform: translateY(0); }
.premium-ready .premium-reveal.premium-visible.person-card:hover { transform: translateY(-4px); }

html[dir="rtl"] .hero-art-frame {
  -webkit-mask-image: linear-gradient(to left, #000 0%, #000 48%, #000a 70%, transparent 100%);
  mask-image: linear-gradient(to left, #000 0%, #000 48%, #000a 70%, transparent 100%);
}
html[dir="rtl"] .hero::before {
  background: linear-gradient(to left, #062e3205 23%, #062e32c9 71%, #062e32ee 100%) !important;
}
html[dir="rtl"] .preview-row:hover { transform: translateX(-4px); }

@media (max-width: 960px) {
  .hero, .hero-grid { min-height: 90svh; }
  .hero-grid { padding-block: 105px 72px; }
  .hero-art { width: 78vw; }
  .hero-copy { width: min(57%, 600px); }
  .hero h1 { font-size: clamp(36px, 5.3vw, 59px); }
  .hero .art-caption { bottom: 22px; }
  body.premium-scrolled header nav.open, header nav.open { background: #f7faf5; }
  body.premium-home header #main-nav.open > a:not(.button),
  body.premium-home:not(.premium-scrolled) header #main-nav.open > a:not(.button) { color: var(--premium-ink); }
  .people-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .hero::before,
  html[dir="rtl"] .hero::before {
    background: linear-gradient(to bottom, #062e3200 23%, #062e32b8 55%, #062e32 78%) !important;
  }
  html { scroll-padding-top: 76px; }
  .container { width: calc(100% - 40px); }
  .hero, .hero-grid { min-height: 90svh; }
  body.premium-home header { margin-bottom: -75px; }
  .hero-grid {
    display: flex;
    align-items: flex-end;
    padding-block: clamp(215px, 32svh, 340px) 36px;
  }
  .hero-art {
    inset: 0;
    width: 100%;
    height: 63%;
  }
  .hero-art-frame {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 34%, #000b 66%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 34%, #000b 66%, transparent 100%) !important;
  }
  .hero-art-frame img { object-position: center 47%; }
  .hero-art-frame::after { background: linear-gradient(to bottom, #062e3229, transparent 30%, #062e32a8); }
  .hero-copy {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .hero h1 { font-size: clamp(36px, 9vw, 54px); margin-bottom: 15px; line-height: 1.09; }
  .hero h1 span::before { margin-bottom: 8px; }
  .hero-tagline { font-size: 16px; line-height: 1.5; margin-bottom: 13px; }
  .hero-where { font-size: 13px; line-height: 1.6; }
  .hero .actions { gap: 9px; margin-top: 17px; }
  .hero .actions .button { padding: 12px 14px; font-size: 12px; }
  .hero .registration-qr { margin-top: 22px; }
  .hero .registration-qr img { width: 68px; height: 68px; }
  .hero .art-caption {
    display: flex;
    bottom: auto;
    top: 90px;
    inset-inline-start: 20px;
    max-width: 230px;
    font-size: 10px;
    line-height: 1.35;
    text-shadow: 0 1px 8px #062e32;
  }
  .hero::after { display: none; }
  .section { padding-block: 62px; }
  .about-section .split { gap: 23px; }
  .about-section h2 { font-size: clamp(34px, 9vw, 45px); }
  .themes-section h2 { font-size: 35px; }
  .theme-list h3 { font-size: 19px; }
  .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
  .person-card .portrait-wrap { aspect-ratio: 4 / 4.6; }
  .person-card h3 { font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
  .person-card p { font-size: 12px; }
  .program-page .agenda-full { padding-inline-start: 23px; }
  .program-page .session-block::before { inset-inline-start: -23px; width: 10px; height: 10px; }
  .page-heading { padding-block: 55px; }
  .registration-banner { padding-block: 60px; }
  .registration-banner h2 { font-size: 36px; }
}
@media (max-width: 390px) {
  .container { width: calc(100% - 32px); }
  .hero-grid { padding-top: 210px; padding-bottom: 27px; }
  .hero h1 { font-size: 35px; }
  .hero .actions .button { padding: 11px 12px; }
  .hero .registration-qr { margin-top: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .premium-ready .hero-art-frame img,
  .premium-ready .hero h1,
  .premium-ready .hero .hero-tagline,
  .premium-ready .hero .hero-where,
  .premium-ready .hero .actions,
  .premium-ready .hero .registration-qr,
  .premium-ready .hero .art-caption { animation: none !important; }
  .premium-ready .premium-reveal, .premium-ready .premium-reveal:not(.premium-visible) {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  .button, .person-card, .person-card img, .preview-row { transition: none !important; }
}
@media print {
  .premium-ready .premium-reveal, .premium-ready .premium-reveal:not(.premium-visible) {
    opacity: 1 !important; transform: none !important;
  }
  .hero-art-frame { -webkit-mask-image: none; mask-image: none; }
}

/* Final editorial pass. The brochure's own imagery is the only image source.
   These rules decorate the existing React markup without changing its content. */
:root {
  --premium-copper: #c3dec8;
  --premium-forest: #123e3d;
}
body { color: var(--premium-ink); }
main > .section, main > .page-heading { position: relative; }
main > .section > .container { position: relative; z-index: 1; }
.section:before { background-size: auto 100%; opacity: .035; }
.page-heading:before { background-size: cover; opacity: .18; }
.page-heading h1 { max-width: 1100px; }
.page-heading p { max-width: 720px; line-height: 1.7; }
body.premium-about .page-heading {
  min-height: 360px;
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
}
body.premium-about .page-heading:after {
  content: "";
  position: absolute;
  inset-inline-end: clamp(0px, 6vw, 120px);
  top: -45px;
  width: min(37vw, 440px);
  height: 430px;
  z-index: -1;
  background: url('/assets/lung-environment.webp') center 46% / cover no-repeat;
  opacity: .28;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 36%, #000 82%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 36%, #000 82%, transparent);
  pointer-events: none;
}

/* A compact but unmistakably branded navigation system. The approved masthead
   motif is a quiet rule; the original Home/link/menu behaviour is untouched. */
header { backdrop-filter: saturate(1.1); }
header .home-link {
  position: relative;
  font-weight: 750;
  letter-spacing: -.02em;
  padding-inline-start: 18px;
}
header .home-link:before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  width: 7px;
  height: 24px;
  border-radius: 12px 12px 3px 3px;
  background: #2e8766;
  transform: translateY(-50%);
  box-shadow: 3px 0 0 #a5cfb4;
}
body.premium-home:not(.premium-scrolled) header .home-link:before { background: #9fdec0; }
header #main-nav a[aria-current="page"] { color: #186c4c; font-weight: 750; }
header #main-nav a[aria-current="page"]:not(.button):after {
  content: "";
  display: block;
  height: 2px;
  background: currentColor;
  margin-top: 3px;
}
body.premium-home:not(.premium-scrolled) header #main-nav a[aria-current="page"] { color: #b3dfc6; }
.language-switch { font-weight: 750; }
.menu-toggle { border-radius: 3px; }
.menu-toggle[aria-expanded="true"] { background: #dfebe2; color: #174d40; }

/* Vision: one confident congress statement and the approved lungs artwork,
   rather than another equally weighted text/text split. */
.about-section {
  min-height: 570px;
  overflow: hidden;
  background: #f5f8f1;
}
.about-section:before {
  background: url('/assets/theme-watermark.webp') center 40% / 125% auto no-repeat;
  opacity: .055;
}
.about-section .split {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
}
.about-section .container { padding-block: 38px; }
.about-section h2 { max-width: 770px; margin-bottom: 0; }
.about-section .lead {
  color: #315a54;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.75;
}
.about-section .split > :last-child {
  border-inline-start: 2px solid #8ebba2;
  padding-inline-start: clamp(25px, 4vw, 57px);
}
.themes-section { border-block: 0; background: #103c3d; }
.themes-section:before {
  background: url('/assets/theme-glow.webp') center top / cover no-repeat;
  opacity: .17;
}
.themes-section .section-index { color: #b2d9c0; }
.theme-list { border-color: #618d7b; }
.theme-list > a { border-color: #668c7c; }

/* Home's people sequence has a true editorial rhythm. */
.welcome-grid { align-items: stretch; }
.welcome-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  border-top: 2px solid #75ad8b;
  padding: 28px clamp(18px, 2vw, 32px) 24px;
  background: #f1f6ef;
}
.welcome-card img {
  width: clamp(110px, 11vw, 158px);
  height: auto;
  aspect-ratio: 1;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  box-shadow: 0 0 0 7px #e4efe5, 0 0 0 8px #8dbd9d;
  margin: 9px 0 29px 8px;
}
.welcome-card .small-label { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.welcome-card h3 { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.3; margin-bottom: 14px; }
.welcome-card p { font-size: 15px; line-height: 1.8; color: #315b52; flex-grow: 1; }
.welcome-card .text-link { margin-top: 10px; }
.light-section { background: #eaf2ec; }
.program-section { background: #faf9f3; }
.program-section .program-layout { align-items: start; }
.program-section h2 { font-size: clamp(38px, 4vw, 61px); }
.venue-section {
  background: #dfece3;
  scroll-margin-top: 74px;
}
.venue-section.section { padding-block: clamp(34px, 4vw, 54px); }
.venue-section:before, .venue-section:after { display: none; }
.venue-section .venue-grid {
  grid-template-columns: minmax(0, 1fr) minmax(270px, .85fr);
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
}
.venue-section .venue-grid > div { min-width: 0; }
.venue-section .venue-grid h2 {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  margin: 8px 0 4px;
}
.venue-section .venue-grid p { margin: 0; color: #345d50; }
.venue-section .venue-detail { gap: 18px; padding: 20px 22px; }
.venue-section .venue-detail strong { font-size: 17px; font-weight: 650; }
.venue-section .venue-detail p { margin-top: 5px; font-size: 13px; line-height: 1.55; }
.venue-section .venue-original-link { display: none; }
.venue-section .venue-directions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 19px;
  padding: 11px 20px;
  border-radius: 5px;
  background: #176748;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}
.venue-section .venue-directions:hover { background: #0e5139; }
.venue-section .venue-hotel-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 15px 0 0 18px;
  color: #185842;
  font-size: 14px;
  font-weight: 650;
  text-underline-offset: 4px;
}

/* Speaker portraits are a consistent 4:5 editorial gallery. */
main:not(:has(.premium-committee-section)) .person-card .portrait-wrap,
.premium-committee-scientific .portrait-wrap,
.premium-committee-organizing .portrait-wrap {
  aspect-ratio: 4 / 5;
}
.person-card .portrait-wrap img { box-shadow: none; object-position: center top; }
.person-card .organization {
  display: block;
  font-size: 12px;
  line-height: 1.55;
  color: #597168;
  overflow-wrap: anywhere;
}
.person-card .person-content { padding-top: 20px; }
.person-card .role-label { display: inline-block; margin-bottom: 9px; }
.person-card h3 { margin-bottom: 9px; line-height: 1.34; }
.premium-committee-section .spaced-heading {
  max-width: 930px;
  font-size: clamp(34px, 4vw, 57px);
  margin: 0 0 clamp(38px, 5vw, 67px);
}
.premium-committee-section .spaced-heading:before {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  background: #569474;
  margin-bottom: 23px;
}
.premium-committee-section .people-grid { row-gap: clamp(42px, 5.5vw, 80px); }
.premium-committee-scientific {
  background: #eff5ec;
}
.premium-committee-scientific:before {
  background: url('/assets/theme-watermark.webp') center top / contain no-repeat;
  opacity: .055;
}
.premium-committee-scientific .people-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.premium-committee-scientific .person-card:first-child .role-label {
  background: #d9eadd;
  color: #17513e;
  padding: 5px 10px;
  border-inline-start: 3px solid #45906b;
}

/* CME: all three source photographs sit in an identical circular vignette.
   The chair is identified by the approved role label, never by a larger head. */
.premium-committee-cme { background: #f8f9f3; }
.premium-committee-cme .people-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 42px);
  align-items: stretch;
}
.premium-committee-cme .person-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #edf4ec;
  border-top: 2px solid #80b18d;
  padding: clamp(18px, 2.2vw, 28px);
}
.premium-committee-cme .person-card:first-child {
  border-top-color: #226a4c;
  background: #e5f0e5;
}
.premium-committee-cme .portrait-wrap {
  width: min(100%, 210px);
  aspect-ratio: 1 !important;
  height: auto;
  align-self: center;
  padding: 0;
  border: 8px solid #d8e9d9;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #80af91, 0 7px 0 #3c9663;
  background: #d4e4d7;
  overflow: hidden;
}
.premium-committee-cme .portrait-wrap > img,
.premium-committee-cme .source-portrait {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}
.premium-committee-cme .portrait-wrap > img {
  object-fit: cover;
  object-position: center 17%;
}
.premium-committee-cme .portrait-wrap img[src*="nessreen-kader"] { object-position: center 23%; }
.premium-committee-cme .person-content { padding-top: 31px; }
.premium-committee-cme .person-card:first-child .role-label {
  background: #205f49;
  color: #f4faf3;
  padding: 5px 10px;
}
.premium-committee-cme .person-card p { overflow-wrap: anywhere; }

/* Full messages retain every paragraph, with a larger introduction portrait
   and a deliberately narrower reading column. */
.full-messages { margin-top: clamp(55px, 7vw, 105px); }
.full-message {
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.55fr);
  gap: clamp(36px, 6vw, 100px);
  padding-block: clamp(48px, 6vw, 95px);
  border-color: #b7cebf;
}
.full-message aside { min-width: 0; }
.full-message aside img {
  width: min(100%, 218px);
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
  border: 8px solid #e2efe4;
  box-shadow: 0 0 0 1px #86af91, 0 8px 0 #378965;
  margin-bottom: 35px;
}
.full-message aside h2 { font-size: clamp(25px, 2.5vw, 38px); }
.full-message > div { max-width: 720px; color: #38584f; }
.full-message > div p { line-height: 1.9; margin-bottom: 21px; }
.full-message > div p:first-child { font-weight: 650; color: #17493c; }

/* The one-day schedule keeps its native details interaction and every talk. */
.program-page { background: #f8f9f3; }
.program-page .program-tools {
  padding-bottom: 25px;
  border-bottom: 1px solid #bfd2c2;
}
.program-page .session-block { border-color: #bad0c1; border-radius: 2px; }
.program-page .session-block summary {
  background: #174945;
  padding-block: 24px;
  transition: background-color .2s ease;
}
.program-page .session-block summary:hover,
.program-page .session-block summary:focus-visible { background: #236350; }
.program-page .session-block[open] summary { border-bottom: 3px solid #75ad87; }
.program-page .session-number { font-variant-numeric: tabular-nums; }
.program-page .session-heading strong { line-height: 1.4; }
.program-page .session-range { color: #cde6d2; font-variant-numeric: tabular-nums; }
.program-page .interlude summary { background: #e7f0e8; color: #174b40; }
.program-page .interlude .session-range { color: #326853; }
.program-page .session-block table { background: #fbfcf8; }
.program-page .session-block tr:nth-child(even) { background: #f2f7f1; }
.program-page .session-block td:first-child { font-variant-numeric: tabular-nums; color: #23634c; }

/* Registration becomes the closing branded moment, without changing the QR,
   destination, price, or the registration availability state. */
.registration-banner {
  isolation: isolate;
  background: #15483f;
  border-top: 4px solid #6ea987;
}
.registration-banner:before {
  width: min(750px, 72vw);
  height: 100%;
  top: 0;
  inset-inline-end: 0;
  background: url('/assets/theme-glow.webp') center / cover no-repeat;
  opacity: .22;
}
.registration-banner h2 { max-width: 660px; }
.registration-banner p { max-width: 570px; color: #d8eadd; }
.registration-banner .registration-action { position: relative; z-index: 1; }
.registration-banner .button { background: #bce0c1; color: #103b34; }
.registration-banner .button:hover { background: #d2edd0; }
.registration-banner .registration-action:after {
  content: "";
  display: block;
  width: 112px;
  height: 112px;
  flex: 0 0 112px;
  background: #f8f9f3 url('/assets/registration-qr.png') center / calc(100% - 10px) no-repeat;
  border: 5px solid #f8f9f3;
  border-radius: 3px;
}
.registration-panel {
  background: #eaf3e9;
  border-top-color: #377c58;
  box-shadow: 0 18px 48px #164c3215;
}
.registration-panel .registration-qr img {
  width: 166px;
  height: 166px;
  min-width: 166px;
  background: #f8f9f3;
}

/* Script-gated reveals: never hide anything if enhancement doesn't run.
   Image settlement is limited to major image-led blocks, not every portrait. */
.premium-ready .premium-reveal:not(.premium-visible) { transform: translateY(28px); }
.premium-ready .premium-reveal { transition-duration: .82s; }
.premium-ready .premium-image-reveal:not(.premium-visible) {
  opacity: 0;
  transform: scale(.97);
}
.premium-ready .premium-image-reveal {
  transition: opacity .92s var(--premium-ease), transform .92s var(--premium-ease);
}
.premium-ready .premium-image-reveal.premium-visible { opacity: 1; transform: scale(1); }
.premium-ready .premium-image-reveal.premium-visible .premium-image-mask {
  animation: premium-image-uncover 920ms var(--premium-ease) both;
}
@keyframes premium-image-uncover {
  from { opacity: .35; transform: scale(1.025); }
  to { opacity: 1; transform: scale(1); }
}
html[dir="rtl"] .premium-ready .premium-image-reveal.premium-visible .premium-image-mask {
  animation-name: premium-image-uncover-rtl;
}
@keyframes premium-image-uncover-rtl {
  from { opacity: .35; transform: scale(1.025); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 960px) {
  .premium-committee-scientific .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-committee-cme .people-grid { gap: 16px; }
  header #main-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-9px);
    transform-origin: top center;
    transition: opacity .24s ease, transform .32s var(--premium-ease), visibility .32s;
    background: #f2f7f0;
    border-bottom: 2px solid #69a77c;
    box-shadow: 0 24px 45px #082e2b30;
  }
  header #main-nav.open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  header #main-nav > a:not(.button) {
    display: block;
    padding: 13px 6px;
    border-bottom: 1px solid #d3e4d5;
    color: #153e38;
    font-size: 16px;
    font-weight: 620;
  }
  header #main-nav a[aria-current="page"]:not(.button) {
    color: #176741 !important;
    background: #e1eee2;
    padding-inline: 14px;
    border-inline-start: 3px solid #478e63;
  }
  header #main-nav a[aria-current="page"]:after { display: none !important; }
  header #main-nav .nav-mobile-register { margin-top: 20px; margin-bottom: 10px; }
  header #main-nav:after {
    content: "";
    display: block;
    height: 24px;
    background: url('/assets/theme-watermark.webp') center / cover no-repeat;
    opacity: .18;
    pointer-events: none;
  }
}
@media (max-width: 700px) {
  html, body, #root { max-width: 100%; }
  .hero { min-height: 100svh; }
  .hero-grid { min-height: 100svh; padding-top: clamp(240px, 35svh, 370px); padding-bottom: 44px; }
  .hero-art { height: 65%; }
  .hero-art-frame img { object-position: center 39%; }
  .hero .art-caption { top: 91px; }
  .hero h1 { font-size: clamp(33px, 8.4vw, 45px); }
  .hero .registration-qr img { width: 94px; height: 94px; }
  .hero .registration-qr { margin-top: 21px; }
  header .home-link { font-size: 13px; }
  header #main-nav { padding: 16px 20px 22px; max-height: calc(100dvh - 56px); overflow-y: auto; }
  .about-section { min-height: 0; }
  .about-section .container { padding-block: 12px; }
  .about-section .split { display: block; }
  .about-section h2 { font-size: clamp(38px, 9.5vw, 52px); margin-bottom: 28px; }
  .about-section .split > :last-child { padding-inline-start: 22px; }
  .about-section .lead { font-size: 19px; line-height: 1.75; }
  .welcome-grid { display: grid; grid-template-columns: 1fr; gap: 15px; }
  .welcome-card { padding: 25px 24px 26px; }
  .welcome-card img { width: 124px; height: 124px; margin-bottom: 27px; }
  .welcome-card p { font-size: 15px; }
  .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-committee-section { padding-block: 42px; }
  .premium-committee-section + .premium-committee-section { padding-top: 26px; }
  .premium-committee-section:not(.premium-committee-cme) .people-grid { grid-template-columns: 1fr; gap: 0; }
  .premium-committee-section:not(.premium-committee-cme) .person-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: start;
    gap: 19px;
    padding: 22px 0;
    border-top: 1px solid #c9dacc;
  }
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap {
    width: 96px;
    aspect-ratio: 4 / 5;
    border-bottom-width: 2px;
  }
  .premium-committee-section:not(.premium-committee-cme) .person-content { padding-top: 1px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card h3 { font-size: 19px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card p { font-size: 13px; line-height: 1.6; }
  .person-card .portrait-wrap, .premium-committee-organizing .portrait-wrap,
  .premium-committee-scientific .portrait-wrap { aspect-ratio: 4 / 5; }
  .premium-committee-section .spaced-heading { font-size: clamp(31px, 8.3vw, 44px); margin-bottom: 36px; }
  .premium-committee-section .people-grid { row-gap: 38px; }
  .premium-committee-cme .people-grid { grid-template-columns: 1fr; gap: 15px; }
  .premium-committee-cme .people-grid { row-gap: 15px; }
  .premium-committee-cme .person-card {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 19px;
    align-items: start;
    padding: 21px 19px 23px;
  }
  .premium-committee-cme .portrait-wrap {
    width: 88px;
    height: 88px;
    border-width: 5px;
  }
  .premium-committee-cme .person-content { padding: 2px 0 0; }
  .premium-committee-cme .person-card h3 { font-size: 19px; }
  .premium-committee-cme .person-card p { font-size: 14px; line-height: 1.62; }
  .full-message { display: block; padding-block: 52px; }
  .full-message aside {
    display: block;
    margin-bottom: 28px;
  }
  .full-message aside img { width: 142px; height: 142px; margin-bottom: 28px; }
  .full-message aside h2 { font-size: 27px; }
  .full-message > div p { font-size: 15px; line-height: 1.85; }
  .program-page .session-block summary { padding: 17px 14px; gap: 10px; }
  .program-page .session-heading strong { font-size: 15px; }
  .program-page .session-range { display: block; font-size: 11px; white-space: normal; }
  .program-page .session-block .chevron { width: 16px; flex: none; }
  .venue-section .venue-grid { grid-template-columns: 1fr; gap: 20px; }
  .venue-section.section { padding-block: 36px; }
  .venue-section .venue-directions { display: flex; width: 100%; }
  .venue-section .venue-hotel-link { display: flex; width: fit-content; margin: 5px 0 0; }
  .registration-banner { padding-block: 68px; }
  .registration-banner h2 { font-size: 39px; }
  .registration-banner .registration-action { flex-wrap: wrap; justify-content: flex-start; gap: 18px 25px; }
  .registration-banner .registration-action:after { width: 136px; height: 136px; flex-basis: 136px; }
  .registration-panel { padding: 25px; }
  .registration-panel .registration-qr img { width: 150px; height: 150px; min-width: 150px; }
}
@media (max-width: 430px) {
  .hero h1 { font-size: clamp(32px, 8.3vw, 37px); }
  .hero-tagline { font-size: 15px; }
  .hero .actions .button { min-height: 45px; }
  .premium-committee-cme .person-card { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 18px 16px 21px; }
  .premium-committee-cme .portrait-wrap { width: 80px; height: 80px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card { grid-template-columns: 82px minmax(0, 1fr); gap: 15px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap { width: 82px; }
  body.premium-about .page-heading:after { width: 62vw; opacity: .16; inset-inline-end: -18vw; }
  .registration-panel .registration-qr { flex-wrap: wrap; }
}
@media (max-width: 390px) {
  .hero-grid { padding-top: 235px; }
  .hero .registration-qr img { width: 86px; height: 86px; }
  .hero .actions .button { font-size: 11px; padding-inline: 10px; }
  .premium-committee-cme .person-card h3 { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .premium-ready .premium-image-reveal,
  .premium-ready .premium-image-reveal:not(.premium-visible) { opacity: 1 !important; transform: none !important; transition: none !important; }
  .premium-ready .premium-image-reveal .premium-image-mask { animation: none !important; clip-path: none !important; }
  header #main-nav { transition: none !important; }
}
@media print {
  .premium-ready .premium-image-reveal,
  .premium-ready .premium-image-reveal:not(.premium-visible) { opacity: 1 !important; transform: none !important; }
  .premium-ready .premium-image-reveal .premium-image-mask { animation: none !important; clip-path: none !important; }
}

/* Bilingual navigation and discovery for the dedicated routes. */
.premium-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  /* The original mobile stylesheet positions every nav as a dropdown.
     Breadcrumbs must remain in normal flow, never above the agenda. */
  position: static;
  inset: auto;
  width: auto;
  max-height: none;
  overflow: visible;
  padding: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: #628174;
  font-size: 13px;
  margin-bottom: 20px;
}
.premium-breadcrumb a {
  position: static;
  padding: 0;
  border: 0;
  color: inherit;
  font-size: inherit;
  text-underline-offset: 3px;
}
.premium-breadcrumb a:hover { color: #276347; }
.page-heading .premium-breadcrumb { color: #c8e1d1; }
.page-heading .premium-breadcrumb a:hover { color: #fff; }
.premium-committee-section { scroll-margin-top: 74px; }
.premium-committees-preview { background: #f7faf5; }
.premium-committees-preview h2 { font-size: clamp(32px, 4vw, 52px); margin-bottom: 26px; }
.premium-committee-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 25px;
}
.premium-committee-preview-grid a {
  display: flex;
  align-items: center;
  min-height: 120px;
  padding: 20px;
  border: 1px solid #c9ddce;
  border-block-start: 3px solid #72a98e;
  border-radius: 5px;
  background: #fff;
  color: #173e36;
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 700;
  line-height: 1.4;
  transition: transform .2s ease, box-shadow .2s ease;
}
.premium-committee-preview-grid a:hover { transform: translateY(-3px); box-shadow: 0 12px 24px #215a4317; }
.premium-speaker-search { margin: 0 0 34px; max-width: 440px; }
.premium-speaker-search label { display: block; font-weight: 700; color: #215341; margin-bottom: 10px; }
.premium-speaker-search input {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid #a7c8b6;
  border-radius: 6px;
  background: #fff;
  color: #143c35;
  font: inherit;
}
.premium-speaker-search input:focus-visible { outline: 3px solid #67a783; outline-offset: 2px; }
.premium-search-status { min-height: 1.5em; margin-top: 6px; font-size: 13px; }
.person-card[hidden] { display: none !important; }
@media (max-width: 700px) {
  .premium-committee-preview-grid { grid-template-columns: 1fr; }
  .premium-committee-preview-grid a { min-height: 78px; }
  body.premium-registration .registration-panel .registration-qr img,
  body.premium-registration .registration-status .registration-qr img { width: 176px; height: 176px; min-width: 176px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap {
    border: 1px solid #b8d2c0;
    border-bottom: 3px solid #65a781;
    border-radius: 5px;
    background: #edf3eb;
    overflow: hidden;
  }
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap img,
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap .source-portrait {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (prefers-reduced-motion: reduce) {
  .premium-committee-preview-grid a { transition: none; }
}
@media print {
  .premium-committees-preview, .premium-speaker-search { display: none !important; }
}

/* Approved editorial refinement — quiet paper, conference green and a sparing
   brass accent. All content and photographs remain the published originals. */
:root {
  --premium-paper: #f6f5ef;
  --premium-mist: #eaf0e9;
  --premium-gold: #bdab79;
}
body { background: var(--premium-paper); }
.section-index { color: #586f5d; }
.page-heading { background-color: #0a3433; }
.page-heading::before { opacity: .12; }

/* Keep the environmental illustration legible while giving the title its own
   calm field. No continuous camera movement or text reflow. */
.hero, .hero-grid { min-height: min(870px, 94svh); }
.hero::before {
  background: linear-gradient(to right, #062e3200 13%, #062e3255 45%, #062e32ee 72%, #062e32 100%) !important;
}
html[dir="rtl"] .hero::before {
  background: linear-gradient(to left, #062e3200 13%, #062e3255 45%, #062e32ee 72%, #062e32 100%) !important;
}
.hero-copy { width: min(100%, 645px); }
.hero h1 { max-width: 630px; font-size: clamp(44px, 4.85vw, 74px); line-height: 1.08; margin-bottom: 25px; }
.hero h1 span { color: #d4e4d4; }
.hero h1 span::before { background: var(--premium-gold); }
.hero-tagline { max-width: 520px; font-size: clamp(17px, 1.4vw, 21px); }
.hero .button { box-shadow: none; }
.premium-ready .hero h1,
.premium-ready .hero .hero-tagline,
.premium-ready .hero .hero-where,
.premium-ready .hero .actions,
.premium-ready .hero .art-caption { animation-duration: 680ms; }
@keyframes premium-enter {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Welcome cards read as signed letters, not product tiles. */
.light-section { background: #edeFE8; }
.welcome-grid { gap: clamp(20px, 3.1vw, 44px); align-items: stretch; }
.welcome-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(96px, 128px) minmax(0, 1fr);
  column-gap: clamp(19px, 2vw, 29px);
  align-content: start;
  background: #f8f8f2;
  border-top: 3px solid #a99a70;
  padding: clamp(24px, 2.5vw, 36px);
  box-shadow: 0 1px 0 #b7c8b7;
}
.welcome-card img {
  grid-column: 1;
  grid-row: 1 / span 4;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 0;
  border-radius: 2px;
  object-fit: cover;
  object-position: center 20%;
  box-shadow: none;
  background: #dce8db;
}
.welcome-card .small-label,
.welcome-card h3,
.welcome-card p,
.welcome-card .text-link { grid-column: 2; }
.welcome-card .small-label { color: #5f705b; margin-bottom: 6px; }
.welcome-card h3 { margin-bottom: 10px; }
.welcome-card p { font-size: 14px; line-height: 1.72; }
.welcome-card .text-link { align-self: end; margin-top: 18px; }

/* The full welcome messages are generous two-column reading spreads. */
body.premium-about .full-messages { margin-top: clamp(32px, 5vw, 70px); }
body.premium-about .full-message {
  grid-template-columns: minmax(210px, .55fr) minmax(0, 1.3fr);
  gap: clamp(36px, 7vw, 106px);
  border-top: 1px solid #b9c9b8;
  padding-block: clamp(54px, 7vw, 104px);
}
body.premium-about .full-message aside {
  border-inline-start: 3px solid var(--premium-gold);
  padding-inline-start: clamp(18px, 2.2vw, 30px);
}
body.premium-about .full-message aside img {
  display: block;
  width: min(100%, 210px);
  aspect-ratio: 4 / 5;
  height: auto;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
  margin-bottom: 23px;
  object-fit: cover;
  object-position: center 20%;
  background: #dae8db;
}
body.premium-about .full-message > div { max-width: 68ch; color: #334d46; }
body.premium-about .full-message > div p { line-height: 1.86; }
body.premium-about .full-message > div p:first-child { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.6; }

/* One consistent 4:5 photographic system for faculty and every committee,
   including the cropped source portraits in the accreditation committee. */
.person-card .portrait-wrap,
.premium-committee-section .person-card .portrait-wrap,
.premium-committee-cme .person-card .portrait-wrap {
  width: 100%;
  height: auto;
  max-width: none;
  aspect-ratio: 4 / 5 !important;
  padding: 0;
  align-self: auto;
  border: 0;
  border-bottom: 3px solid #a99a70;
  border-radius: 2px;
  box-shadow: none;
  overflow: hidden;
  background: #dce8dd;
}
.person-card .portrait-wrap > img,
.premium-committee-section .portrait-wrap > img,
.person-card .portrait-wrap .source-portrait {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 4 / 5;
  border-radius: 0;
  box-shadow: none;
}
.person-card .portrait-wrap > img { object-fit: cover; object-position: center 21%; }
.person-card .portrait-wrap .portrait-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background: #e4ebe3;
  color: #315c4b;
  font-size: clamp(20px, 2.5vw, 34px);
  font-weight: 650;
  letter-spacing: .08em;
}
.premium-committee-organizing .portrait-wrap img[src*="fareed"],
.premium-committee-organizing .portrait-wrap img[src*="muath"] { object-position: center 15%; }
.premium-committee-cme .portrait-wrap img[src*="nessreen-kader"] { object-position: center 23%; }
.premium-committee-section .spaced-heading { color: #123b38; }
.premium-committee-section .spaced-heading::before { background: var(--premium-gold); }
.premium-committee-organizing { background: #f6f5ef; }
.premium-committee-scientific { background: #eaf0e8; }
.premium-committee-cme { background: #f6f5ef; }
.premium-committee-cme .person-card,
.premium-committee-cme .person-card:first-child {
  padding: 0;
  background: transparent;
  border-top: 0;
}
.premium-committee-cme .person-content { padding-top: 20px; }
.premium-committee-cme .person-card:first-child .role-label,
.premium-committee-scientific .person-card:first-child .role-label {
  background: #e2e9dc;
  color: #19493a;
  border-inline-start: 3px solid var(--premium-gold);
  padding: 5px 9px;
}
.premium-committee-section .people-grid { align-items: start; }

/* Dark, high-contrast registration is a destination, not another pale card. */
.registration-banner {
  background: #0a3432;
  border-top: 3px solid var(--premium-gold);
}
.registration-banner::before { opacity: .12; }
.registration-banner h2 { color: #f7f7ed; }
.registration-banner p, .registration-banner .fee { color: #e7eee6; }
.registration-banner .button {
  background: #f3efe0;
  color: #153f35;
  border: 1px solid #f3efe0;
  font-weight: 750;
}
.registration-banner .button:hover { background: #fff9e7; }
.registration-banner .registration-action::after {
  width: 132px;
  height: 132px;
  flex-basis: 132px;
  border: 8px solid #f8f8ef;
  background-color: #f8f8ef;
  box-shadow: 0 0 0 1px #bbad84;
}
.registration-panel { background: #e5ede4; border-top-color: var(--premium-gold); }
.registration-panel .registration-qr img,
.registration-status img[src*="registration-qr"] {
  width: 176px;
  height: 176px;
  min-width: 176px;
  padding: 6px;
  border: 1px solid #b8cbb7;
  background: #fafaf5;
}
.registration-status { border-top-color: #b8cbb7; }

/* Reduce pointer effects and observer travel without changing the mechanism. */
.premium-ready .premium-reveal:not(.premium-visible) { transform: translateY(16px); }
.premium-ready .premium-reveal { transition-duration: .72s; }
.person-card:hover { transform: none; }
.person-card:hover .portrait-wrap img { transform: none; }
.premium-ready .premium-reveal.premium-visible.person-card:hover { transform: translateY(0); }

@media (max-width: 700px) {
  .hero, .hero-grid { min-height: 100svh; }
  .hero::before,
  html[dir="rtl"] .hero::before {
    background: linear-gradient(to bottom, #062e320d 14%, #062e3266 40%, #062e32ed 67%, #062e32 100%) !important;
  }
  .hero-grid { padding-top: clamp(260px, 36svh, 380px); padding-bottom: 42px; }
  .hero h1 { font-size: clamp(33px, 8.5vw, 42px); line-height: 1.12; }
  .welcome-card { grid-template-columns: 104px minmax(0, 1fr); gap: 0 18px; }
  .welcome-card img { grid-row: 1 / span 3; }
  .welcome-card p, .welcome-card .text-link { grid-column: 1 / -1; }
  .welcome-card p { margin-top: 22px; }
  body.premium-about .full-message { display: block; padding-block: 46px; }
  body.premium-about .full-message aside { margin-bottom: 28px; }
  body.premium-about .full-message aside img { width: 124px; margin-bottom: 16px; }
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap {
    width: 88px;
    aspect-ratio: 4 / 5 !important;
  }
  .premium-committee-cme .person-card {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 19px;
    padding: 20px 0;
    border-top: 1px solid #cbd8cb;
  }
  .premium-committee-cme .person-card .portrait-wrap { width: 88px; }
  .premium-committee-cme .person-content { padding: 0; }
  .registration-banner .registration-action::after { width: 118px; height: 118px; flex-basis: 118px; }
}
@media (max-width: 430px) {
  .hero-grid { padding-top: 240px; }
  .welcome-card { grid-template-columns: 88px minmax(0, 1fr); gap: 0 16px; padding: 23px 20px; }
  .welcome-card h3 { font-size: 19px; }
  .premium-committee-cme .person-card { grid-template-columns: 82px minmax(0, 1fr); gap: 15px; }
  .premium-committee-cme .person-card .portrait-wrap,
  .premium-committee-section:not(.premium-committee-cme) .person-card .portrait-wrap { width: 82px; }
}