/* Conference layout. Base styles followed by responsive variants. */
:root {
  font-family: Arial, Helvetica, sans-serif;
  color: rgb(245, 242, 251);
  background: rgb(11, 11, 21);
  --muted: #b4adbf;
  --line: #ffffff20;
  --accent: #b89aff;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  margin: 0px;
  background: radial-gradient(at 90% 5%, rgba(74, 39, 106, 0.145), transparent 38%), rgb(11, 11, 21);
}

a {
  color: inherit;
  text-decoration: none;
}

h1, h2, h3, p, figure {
  margin: 0px;
}

a:focus-visible {
  outline: rgb(203, 181, 255) solid 3px;
  outline-offset: 5px;
}

.wrap {
  width: min(1240px, 100% - 64px);
  margin-inline: auto;
}

.header {
  border-bottom: 1px solid var(--line);
  background: rgba(11, 11, 21, 0.933);
  position: sticky;
  top: 0px;
  z-index: 20;
  backdrop-filter: blur(12px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 17px;
}

.brand {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.brand span {
  color: var(--accent);
}

nav {
  display: flex;
  gap: 28px;
  font-size: 14px;
  color: rgb(208, 201, 218);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 60px;
  padding: 18px 26px;
  border-radius: 999px;
  background: linear-gradient(105deg, rgb(146, 25, 237), rgb(101, 70, 250) 60%, rgb(26, 170, 200));
  font-size: 17px;
  line-height: 1.4;
  font-weight: 700;
  box-shadow: rgba(113, 54, 238, 0.125) 0px 8px 28px;
  transition: filter 0.2s;
}

.button:hover {
  filter: brightness(1.15);
}

.button > span {
  font-size: 24px;
  line-height: 1;
}

.button-small {
  min-height: 44px;
  padding: 10px 19px;
  font-size: 14px;
}

.button-small > span {
  font-size: 20px;
}

.hero {
  padding-top: 46px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 36px;
  align-items: center;
}

.eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgb(203, 184, 231);
  line-height: 1.5;
}

.dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(186, 140, 255);
  margin-right: 8px;
  vertical-align: middle;
}

h1 {
  font-size: clamp(48px, 5.1vw, 72px);
  line-height: 1.01;
  letter-spacing: -0.055em;
  font-weight: 800;
  margin-top: 23px;
}

.year {
  color: var(--accent);
  white-space: nowrap;
}

.hero-subtitle {
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-weight: 700;
  margin-top: 23px;
}

.hero-subtitle em {
  font-style: normal;
  color: var(--accent);
}

.intro {
  max-width: 490px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
  margin-top: 19px;
}

.hero-cta {
  margin-top: 26px;
}

.registration-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 10px;
}

.hero-art {
  position: relative;
  min-height: 570px;
  align-self: stretch;
  overflow: hidden;
  background: linear-gradient(145deg, rgb(53, 32, 70), rgb(23, 34, 61));
  border: 1px solid rgba(170, 131, 222, 0.208);
  border-radius: 28px;
}

.orbit {
  position: absolute;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(199, 164, 255, 0.19);
  border-radius: 50%;
  top: 90px;
  left: 50%;
  transform: translateX(-50%);
}

.orbit::before {
  content: "";
  position: absolute;
  inset: 36px;
  border: 1px solid rgba(199, 164, 255, 0.125);
  border-radius: 50%;
}

.hero-portrait {
  position: absolute;
  inset: 70px 0px 0px;
}

.hero-portrait img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform: scale(1.12);
  transform-origin: center bottom;
}

.date-tag {
  position: absolute;
  top: 22px;
  left: 24px;
  display: flex;
  align-items: center;
  gap: 13px;
  z-index: 2;
}

.date-tag strong {
  font-size: 62px;
  line-height: 1;
  letter-spacing: -0.065em;
}

.date-tag span {
  font-size: 13px;
  line-height: 1.5;
  color: rgb(224, 212, 239);
}

.portrait-caption {
  position: absolute;
  bottom: 22px;
  left: 22px;
  right: 22px;
  background: rgba(16, 14, 32, 0.91);
  border: 1px solid rgba(209, 182, 255, 0.19);
  border-radius: 16px;
  padding: 17px 20px;
  backdrop-filter: blur(14px);
}

.portrait-caption > span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent);
}

.portrait-caption strong {
  display: block;
  font-size: 23px;
  margin-top: 7px;
}

.portrait-caption p {
  font-size: 13px;
  line-height: 1.5;
  color: rgb(194, 184, 205);
  margin-top: 7px;
}

.art-label {
  position: absolute;
  right: 20px;
  top: 25px;
  writing-mode: vertical-rl;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: rgb(188, 162, 213);
}

.facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-block: 1px solid var(--line);
  margin-top: 4px;
}

.facts > div {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 23px 28px;
  border-right: 1px solid var(--line);
}

.facts > div:first-child {
  padding-left: 0px;
}

.facts > div:last-child {
  border: 0px;
}

.facts strong {
  font-size: 48px;
  letter-spacing: -0.06em;
  white-space: nowrap;
  color: var(--accent);
}

.facts span {
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
}

.section {
  padding-block: 56px;
}

.section-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: rgb(183, 165, 202);
}

.section-heading {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: end;
  margin: 24px 0px 32px;
}

h2 {
  font-size: clamp(37px, 4.2vw, 58px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

h2 em {
  font-style: normal;
  color: var(--accent);
}

.section-heading > p {
  font-size: 18px;
  line-height: 1.65;
  color: var(--muted);
}

.topics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.topics article {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(36, 23, 48, 0.333), rgb(16, 16, 27));
}

.topic-number {
  font-size: 14px;
  color: var(--accent);
}

.topics h3 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin-top: 29px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.topics p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted);
  margin-top: 16px;
}

.audience {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 26px 0px 0px;
}

.audience p, .speakers-bottom p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
}

.audience strong, .speakers-bottom strong {
  color: rgb(238, 231, 248);
  font-weight: 500;
}

.speakers-section {
  background: linear-gradient(rgba(22, 16, 32, 0.25), rgba(20, 16, 31, 0.5), rgba(20, 16, 31, 0));
}

.speaker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 22px;
}

.speaker {
  border: 1px solid rgba(162, 126, 219, 0.19);
  border-radius: 23px;
  overflow: hidden;
  background: rgb(25, 17, 37);
}

.speaker:nth-child(2) {
  background: rgb(19, 26, 43);
}

.speaker:nth-child(3) {
  background: rgb(23, 20, 33);
}

.speaker-photo {
  position: relative;
  overflow: hidden;
  background: radial-gradient(at center top, rgba(101, 75, 140, 0.27), transparent 90%);
  height: 360px;
}

.speaker-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  transform: scale(1.12);
  transform-origin: center top;
}

.photo-elena img {
  object-position: 37% top;
  transform: translateX(48px) scale(1.75);
  transform-origin: 40% 8%;
}

.photo-alexander img {
  object-fit: cover;
  object-position: center top;
  transform: translateY(48px) scale(1.15);
}

.photo-alexey img {
  object-position: center top;
  transform: translateY(24px) scale(1.13);
  transform-origin: center 5%;
}

.speaker-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  background: rgba(16, 16, 27, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.145);
  border-radius: 999px;
  backdrop-filter: blur(12px);
  font-size: 15px;
  line-height: 1.4;
  padding: 10px 15px;
  font-weight: 600;
}

.speaker-copy {
  padding: 24px;
}

.speaker-role {
  color: var(--accent);
  font-size: 16px;
  line-height: 1.5;
}

.speaker h3 {
  font-size: 35px;
  line-height: 1.1;
  letter-spacing: -0.035em;
  margin-top: 13px;
}

.speaker p {
  font-size: 17px;
  line-height: 1.55;
  color: rgb(209, 200, 223);
  margin-top: 18px;
}

.speaker .speaker-extra {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
  margin-top: 13px;
}

.speakers-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 28px;
}

.venue-layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  background: rgb(23, 19, 34);
}

.library-photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.venue-card {
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.venue-date {
  font-size: 39px;
  letter-spacing: -0.04em;
  line-height: 1.1;
  margin-top: 15px;
}

.venue-time {
  font-size: 25px;
  margin-top: 10px;
}

.venue-card > p:not(.eyebrow):not(.venue-time) {
  font-size: 17px;
  line-height: 1.6;
  margin-top: 21px;
}

.venue-card > p > span {
  color: var(--muted);
}

.venue-card .button {
  margin-top: 22px;
  font-size: 16px;
  padding: 16px 22px;
}

.map {
  margin-top: 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  background: rgb(20, 17, 30);
}

.map iframe {
  display: block;
  width: 100%;
  height: 320px;
  border: 0px;
  background: rgb(218, 219, 224);
}

.map > a {
  display: block;
  padding: 14px 20px;
  font-size: 14px;
  color: var(--accent);
}

.support {
  display: flex;
  align-items: center;
  gap: 22px;
  padding-block: 10px 30px;
}

.support-mark {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(187, 162, 225, 0.314);
  border-radius: 16px;
  font-size: 35px;
  color: var(--accent);
}

.support p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}

.support strong {
  font-size: 21px;
  color: rgb(238, 232, 246);
  font-weight: 600;
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--line);
  padding-block: 22px;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--muted);
}

footer a {
  white-space: nowrap;
  padding: 10px 0px;
}

.event-support {
  padding: 24px 0px 28px;
  color: rgb(255, 255, 255);
}

.event-support__layout {
  display: grid;
  grid-template-columns: minmax(0px, 1fr) 250px;
  gap: 48px;
  align-items: center;
}

.event-support__label, .event-support__free {
  font-size: 21px;
  line-height: 1.5;
  font-weight: 600;
  color: rgb(231, 223, 245);
}

.event-support h2 {
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.22;
  margin-top: 12px;
  max-width: 650px;
}

.event-support__free {
  margin-top: 18px;
}

.event-support__logo {
  width: 250px;
  justify-self: end;
  border: 1px solid rgba(165, 138, 219, 0.376);
  border-radius: 14px;
  padding: 10px;
}

.event-support__logo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

footer > a {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.ui-icon {
  display: block;
  flex: 0 0 auto;
  color: var(--accent);
}

.section-label, .venue-icon-line {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topics h3 .ui-icon {
  margin-top: 2px;
}

.section-label .ui-icon {
  width: 21px;
  height: 21px;
}

.hero-portrait-group {
  inset: 0px;
}

.hero-portrait-group img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform: translate(4px, 160px) scale(1.35);
  transform-origin: center 25%;
}

@media (max-width: 1000px) {
  .wrap {
    width: calc(100% - 48px);
  }
  
  .hero {
    gap: 24px;
  }
  
  .hero-art {
    min-height: 550px;
  }
  
  h1 {
    font-size: 5.5vw;
  }
  
  .facts > div {
    padding-inline: 18px;
    gap: 15px;
  }
  
  .facts strong {
    font-size: 40px;
  }
  
  .section-heading {
    gap: 30px;
  }
  
  .speaker-photo {
    height: 360px;
  }
  
  .speaker-copy {
    padding: 20px;
  }
  
  .speaker h3 {
    font-size: 29px;
  }
  
  .speaker p {
    font-size: 16px;
  }
  
  .venue-card {
    padding: 24px;
  }
  
  .venue-date {
    font-size: 34px;
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 80px;
  }
  
  .wrap {
    width: calc(100% - 40px);
  }
  
  .header-inner {
    width: 100%;
    padding: 13px 20px;
    gap: 12px;
  }
  
  .brand {
    font-size: 15px;
  }
  
  nav {
    display: none;
  }
  
  .button-small {
    font-size: 14px;
    padding: 10px 15px;
  }
  
  .hero {
    grid-template-columns: minmax(0px, 1fr);
    gap: 24px;
    padding-top: 28px;
  }
  
  .hero .eyebrow {
    font-size: 11px;
  }
  
  h1 {
    font-size: clamp(40px, 10.6vw, 70px);
    margin-top: 19px;
    line-height: 1.02;
  }
  
  .hero-subtitle {
    font-size: 24px;
    line-height: 1.35;
    margin-top: 19px;
  }
  
  .intro {
    font-size: 18px;
    margin-top: 16px;
    max-width: none;
  }
  
  .button {
    font-size: 19px;
    line-height: 1.4;
    padding: 18px 23px;
  }
  
  .hero-cta {
    width: 100%;
    margin-top: 22px;
  }
  
  .hero-art {
    width: 100%;
    border-radius: 22px;
    min-height: 380px;
    height: 380px;
    max-height: 380px;
  }
  
  .hero-portrait {
    top: 65px;
  }
  
  .date-tag strong {
    font-size: 54px;
  }
  
  .portrait-caption {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }
  
  .portrait-caption strong {
    font-size: 22px;
  }
  
  .facts {
    grid-template-columns: 1fr;
    margin-top: 0px;
  }
  
  .facts > div, .facts > div:first-child {
    padding: 18px 0px;
    border-right: 0px;
    border-bottom: 1px solid var(--line);
    gap: 22px;
  }
  
  .facts > div:last-child {
    border-bottom: 0px;
  }
  
  .facts strong {
    font-size: 43px;
    min-width: 55px;
  }
  
  .facts span {
    font-size: 16px;
  }
  
  .section {
    padding-block: 34px;
  }
  
  .section-heading {
    grid-template-columns: minmax(0px, 1fr);
    gap: 20px;
    margin: 20px 0px 27px;
  }
  
  h2 {
    font-size: clamp(36px, 9.2vw, 56px);
    line-height: 1.1;
  }
  
  .section-heading > p {
    font-size: 18px;
    line-height: 1.6;
  }
  
  .topics {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  
  .topics article {
    padding: 22px;
  }
  
  .topics h3 {
    font-size: 25px;
    margin-top: 19px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  
  .topics p {
    font-size: 17px;
    margin-top: 13px;
  }
  
  .audience, .speakers-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  
  .audience .button, .speakers-bottom .button {
    width: 100%;
  }
  
  .speaker-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .speaker-photo {
    height: clamp(340px, 95vw, 480px);
  }
  
  .speaker-copy {
    padding: 24px;
    min-width: 0px;
  }
  
  .speaker h3 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  
  .speaker h3 br {
    display: block;
  }
  
  .speaker p {
    font-size: 18px;
  }
  
  .speaker .speaker-extra {
    font-size: 16px;
  }
  
  .speaker-role {
    line-height: 1.5;
    font-size: 17px;
  }
  
  .photo-elena img {
    object-position: 37% top;
    transform-origin: 40% 8%;
    transform: translate(48px, 48px) scale(1.75);
  }
  
  .venue-layout {
    grid-template-columns: 1fr;
  }
  
  .library-photo {
    min-height: 0px;
    height: auto;
  }
  
  .venue-card {
    padding: 24px;
  }
  
  .venue-date {
    font-size: 38px;
  }
  
  .venue-card .button {
    width: 100%;
    font-size: 19px;
  }
  
  .map iframe {
    height: 290px;
  }
  
  .support {
    align-items: flex-start;
    padding-top: 0px;
    padding-bottom: 28px;
    gap: 16px;
  }
  
  .support-mark {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    font-size: 29px;
  }
  
  .support p {
    font-size: 15px;
  }
  
  .support strong {
    font-size: 19px;
  }
  
  footer {
    font-size: 11px;
    align-items: flex-start;
  }
  
  footer > span {
    max-width: 230px;
  }
  
  .event-support {
    padding: 16px 0px 28px;
  }
  
  .event-support__layout {
    grid-template-columns: minmax(0px, 1fr);
    gap: 24px;
  }
  
  .event-support__label, .event-support__free {
    font-size: 19px;
  }
  
  .event-support h2 {
    font-size: clamp(24px, 6.4vw, 32px);
    line-height: 1.25;
    letter-spacing: -0.03em;
    overflow-wrap: anywhere;
  }
  
  .event-support__logo {
    width: 220px;
    justify-self: center;
  }
  
  .topics h3 .ui-icon {
    width: 23px;
    height: 23px;
  }
  
  .hero-portrait-group {
    inset: 0px;
  }
  
  .speaker-tag {
    font-size: 16px;
    padding: 11px 16px;
  }
  
  .hero-portrait-group img {
    transform: translate(8px, 90px) scale(1.35);
  }
  
  .photo-alexander img {
    transform: translateY(96px) scale(1.15);
  }
  
  .photo-alexey img {
    transform: translateY(72px) scale(1.13);
  }
  
  .event-support__text {
    min-width: 0px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  
  .button {
    transition: none;
  }
}

/* Desktop group portrait position. */
@media (min-width: 761px) {
  .hero-portrait-group img {
    transform: translate(16px, 160px) scale(1.35);
  }
}
/* Stable image layout for desktop, tablet and narrow browser windows. */
.hero-art{align-self:center;height:570px;min-height:0}
@media(min-width:1001px){
 .hero-portrait-group img{transform:translate(12px,55px) scale(1.35);transform-origin:center 25%}
}
.speaker-photo{padding-top:74px}
.speaker-photo img{height:calc(100% - 74px);position:absolute;top:74px;left:0;transform-origin:center top}
.photo-alexander img{transform:translateY(8px) scale(1.15)}
.photo-alexey img{transform:translateY(8px) scale(1.13)}
.photo-elena img{transform:translate(38px,0) scale(1.75);transform-origin:40% 8%}
@media(min-width:761px) and (max-width:1000px){
 .hero{grid-template-columns:minmax(0,1fr)}
 h1{font-size:clamp(48px,7.5vw,70px)}
 .hero-art{width:100%;height:460px;max-width:620px;justify-self:center}
 .hero-portrait-group img{transform:translate(8px,50px) scale(1.35)}
 .speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .speaker-photo{height:390px}
 .speaker h3{font-size:30px}
 .facts>div{min-width:0;flex-wrap:wrap;gap:8px}
}
@media(max-width:760px){
 .hero-art{height:380px;min-height:0;max-height:380px}
 .hero-portrait-group img{transform:translate(8px,45px) scale(1.35)}
 .photo-elena img{transform:translate(38px,16px) scale(1.75)}
 .photo-alexander img{transform:translateY(16px) scale(1.15)}
 .photo-alexey img{transform:translateY(16px) scale(1.13)}
}

/* Responsive content grids without intrinsic-width overflow. */
.hero-copy,.hero-art,.section-heading>*,.topics article,.speaker,.speaker-copy,.venue-card,.event-support__text{min-width:0}
.topics{grid-template-columns:repeat(3,minmax(0,1fr))}
.topics h3>span{min-width:0;overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal}
@media(max-width:1000px){
 .section-heading{grid-template-columns:minmax(0,1fr);gap:20px}
 .topics{grid-template-columns:minmax(0,1fr)}
 .topics article{padding:24px}
 .topics h3{margin-top:18px}
 .audience{flex-wrap:wrap}
 .audience>.button{flex-shrink:0}
 .venue-layout{grid-template-columns:minmax(0,1fr)}
 .library-photo{height:auto;min-height:0}
 .event-support__layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .event-support__logo{justify-self:center}
 .event-support h2{overflow-wrap:anywhere}
}
@media(min-width:761px) and (max-width:900px){
 .header nav{display:none}
}
@media(min-width:1600px){
 .photo-elena img{transform:translate(38px,-32px) scale(1.75)}
}

/* Light ivory and teal conference palette. */
:root{color-scheme:light;background:#f5f7f4;color:#172f32;--muted:#52666a;--line:#d5dfda;--accent:#176f70}
body{background:radial-gradient(ellipse at 90% 5%,#dceee780,transparent 38%),#f5f7f4}
.header{background:#f8faf6f2;border-bottom-color:var(--line)}
.eyebrow,.section-label{color:#326d6b}
.dot{background:var(--accent)}
.button{background:linear-gradient(110deg,#176f70,#155b68);box-shadow:0 8px 24px #176f701a;color:#fff}
.button:hover{filter:brightness(.92)}
a:focus-visible{outline-color:#176f70}
.hero-art{background:linear-gradient(140deg,#dcebe2,#e3ecef);border-color:#c7d9d2}
.section-heading>p,.intro,.registration-note,.facts span{color:var(--muted)}
.topics article{background:#fff;border-color:var(--line);box-shadow:0 6px 24px #244c3e05}
.topics p,.speaker p{color:#354f54}
.audience strong,.speakers-bottom strong{color:#172f32}
.speakers-section{background:#eaf0eb}
.speaker,.speaker:nth-child(2),.speaker:nth-child(3){background:#fff;border-color:#d0ddd5}
.speaker-photo{background:linear-gradient(140deg,#dce9de,#e9efea)}
.speaker:nth-child(2) .speaker-photo{background:linear-gradient(140deg,#dde8ee,#edf1f2)}
.speaker:nth-child(3) .speaker-photo{background:linear-gradient(140deg,#e9e8dd,#f1f0e9)}
.speaker-tag{background:#fffffff2;border-color:#cbd9d1;color:#234c4c}
.speaker .speaker-extra{color:var(--muted)}
.speaker-role{color:var(--accent)}
.venue-layout,.map{background:#fff;border-color:var(--line)}
.event-support{color:#172f32}
.event-support__label,.event-support__free{color:#326d6b}
.event-support__logo{border-color:#bfd5ce}
nav{color:#354f54}
footer{color:var(--muted);border-color:var(--line)}

/* Waist-up group portrait. */
.hero-portrait-group img{object-fit:cover;object-position:center top;transform:scale(1.04);transform-origin:center top}
@media(max-width:1000px){.hero-portrait-group img{object-fit:cover;object-position:center top;transform:scale(1.04)}}
@media(max-width:760px){.hero-portrait-group img{object-fit:cover;object-position:center top;transform:scale(1.08)}}

/* Frame the source photograph from heads to waists without scaling or side clipping. */
.hero-art{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1122/730;align-self:center}
.hero-portrait-group{position:absolute;inset:0}
.hero-portrait-group img{display:block;position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;object-fit:initial;object-position:initial;transform:none!important}


/* Shared requested content changes: no duplicate facts, audience copy or date cards. */
.audience{display:flex;justify-content:flex-start;padding:0;border:0;background:none;margin-top:28px}
.speakers-bottom,.speakers-end{justify-content:flex-start}
.venue-layout,.place-grid{grid-template-columns:minmax(0,1fr)}
.library-photo,.library{width:100%;height:auto;min-height:0;max-height:500px;object-fit:cover}
.hero-art:has(.hero-portrait-group){height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1122/730;align-self:center}
.hero-portrait-group{position:absolute;inset:0}
.hero-portrait-group img{position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;transform:none!important;object-fit:initial}
.hero-art>img{height:auto;inset:0 auto auto 0;transform:none!important}
.hero-art:has(>img){min-height:0;height:auto;aspect-ratio:1122/730}
.hero-description .button{margin-top:22px}
.all-speakers-cta{margin-top:28px}
@media(max-width:760px){.hero-cta,.speakers-bottom .button,.speakers-end .button,.all-speakers-cta .btn{white-space:normal;text-align:center;font-size:18px}.all-speakers-cta .btn{width:100%}}

/* Correct organizer identity across all conference variants. */
.organizer-support-row{display:flex;align-items:center;gap:22px;width:min(1240px,calc(100% - 40px));margin:0 auto;padding:26px 0 30px}
.organizer-support-row>img{display:block;width:40px;height:80px;object-fit:contain;flex-shrink:0}
.organizer-support-row .organizer-support{margin:0;padding:0;font-size:18px;line-height:1.6;color:var(--muted);min-width:0}
.wrap>.organizer-support-row{width:100%}
@media(max-width:760px){.organizer-support-row{gap:16px;padding:20px 0 24px}.organizer-support-row>img{width:32px;height:64px}.organizer-support-row .organizer-support{font-size:17px}}

/* Compact portrait framing consistent with the corrected orange version. */
.photo-elena img{transform:translate(38px,-50px) scale(1.6)}
.photo-alexander img{transform:translateY(-20px) scale(1.15)}
.photo-alexey img{transform:translateY(-20px) scale(1.13)}
@media(max-width:760px){
 .photo-elena img{transform:translate(38px,-50px) scale(1.6)}
 .photo-alexander img{transform:translateY(-20px) scale(1.15)}
 .photo-alexey img{transform:translateY(-20px) scale(1.13)}
}

/* Updated conference introduction and compact speaker framing. */
.header-inner{justify-content:space-between}
.hero-subtitle{font-size:clamp(18px,1.45vw,21px);line-height:1.6;font-weight:400;letter-spacing:normal;max-width:65ch}
.section-heading:has(>h2:only-child){grid-template-columns:minmax(0,1fr)}
.topics h3{margin-top:0}
.speaker-photo{padding-top:0}
.speaker-photo img{top:32px;height:calc(100% - 32px)}
.photo-elena img{transform:translate(30px,-18px) scale(1.75)}
.photo-alexander img{transform:translateY(-5px) scale(1.15)}
.photo-alexey img{transform:translateY(-5px) scale(1.13)}

/* Full group portrait with name captions. */
.hero-art:has(.hero-portrait-group){aspect-ratio:1448/1086}

/* Photo-first conference introduction. */
.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:30px}
.hero-art:has(.hero-portrait-group){width:100%;max-width:1000px;margin-inline:auto;aspect-ratio:3/2;align-self:auto}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:42px;row-gap:18px;align-items:start}
.hero-copy .eyebrow{grid-column:1/-1}
.hero-copy h1{grid-column:1;grid-row:2/4;margin:0;font-size:clamp(40px,4.5vw,64px)}
.hero-copy .hero-subtitle{grid-column:2;margin:0}
.hero-copy .hero-cta{grid-column:2;margin:0;justify-self:start}
.conference-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;border-block:1px solid var(--line)}
.conference-facts>div{display:flex;align-items:center;gap:22px;padding:24px 32px}
.conference-facts>div:first-child{padding-left:0;border-right:1px solid var(--line)}
.conference-facts strong{font-size:72px;line-height:1;letter-spacing:-.06em;color:var(--accent)}
.conference-facts span{font-size:20px;line-height:1.5;color:var(--muted)}
.photo-elena img{top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;transform:translateY(-20px) scale(1.95);transform-origin:50% 0%}
@media(max-width:760px){
 .hero{gap:22px;padding-top:20px}
 .hero-copy{display:flex;flex-direction:column;gap:18px}
 .hero-copy h1{font-size:clamp(36px,8.6vw,54px)}
 .hero-copy .hero-cta{width:100%}
 .conference-facts{margin-top:24px}
 .conference-facts>div{padding:18px 14px;gap:12px;align-items:flex-start}
 .conference-facts strong{font-size:48px}
 .conference-facts span{font-size:16px}
}

/* Center Elena on the transparent portrait canvas. */
.photo-elena img{top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform:translateY(64px);transform-origin:center top}

/* Lower Alexander slightly within his portrait frame. */
.photo-alexander img{transform:translateY(12px) scale(1.15)}

/* Restore the landscape group portrait. */
.hero-art:has(.hero-portrait-group){aspect-ratio:3/2}

/* Keep all three nameplates visible. */
.hero-art:has(.hero-portrait-group){aspect-ratio:1600/1067}
