@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Prata";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/prata-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Prata";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/prata-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --paper: #f5f1ea;
  --paper-2: #eee8de;
  --white: #fffdf9;
  --ink: #22251f;
  --muted: #65695f;
  --sage: #68745f;
  --sage-dark: #293128;
  --sage-pale: #e3e8df;
  --gold: #a77a44;
  --gold-pale: #ead9c1;
  --line: rgba(34, 37, 31, .12);
  --shadow: 0 24px 70px rgba(49, 48, 41, .11);
  --serif: "Prata", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
figure { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

.skip-link {
  position: fixed;
  z-index: 1000;
  left: 12px;
  top: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--ink);
  color: white;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: none; }

.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { position: relative; padding: clamp(76px, 8vw, 126px) 0; }
.section-soft { background: var(--paper-2); }
.section-dark { background: var(--sage-dark); color: white; }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-header.scrolled {
  background: rgba(245, 241, 234, .92);
  border-color: var(--line);
  box-shadow: 0 10px 34px rgba(40, 43, 36, .07);
  backdrop-filter: blur(16px);
}
.header-inner { height: 86px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(167, 122, 68, .45);
  border-radius: 50% 50% 50% 10px;
  color: var(--gold);
  font-family: var(--serif);
  font-size: 22px;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.15; }
.brand-copy strong { font-family: var(--serif); font-size: 19px; font-weight: 400; letter-spacing: .07em; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 9px; letter-spacing: .05em; }
.header-partner {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 18px;
  border-left: 1px solid var(--line);
  flex: 0 0 auto;
}
.header-partner span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.header-partner img { width: 82px; height: auto; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 24px; }
.main-nav a { padding: 10px 0; color: #454a41; font-size: 12px; font-weight: 600; }
.main-nav a:hover { color: var(--gold); }
.menu-toggle {
  margin-left: auto;
  width: 46px;
  height: 46px;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 253, 249, .76);
  cursor: pointer;
}
.menu-toggle span { width: 19px; height: 1.5px; background: var(--ink); }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: 1px solid var(--sage);
  border-radius: 999px;
  background: var(--sage);
  color: white;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); background: #596650; border-color: #596650; }
.button:focus-visible, .main-nav a:focus-visible, .brand:focus-visible, .menu-toggle:focus-visible {
  outline: 3px solid rgba(167, 122, 68, .35);
  outline-offset: 4px;
}
.button-small { min-height: 42px; padding: 10px 17px; }
.button-wide { width: 100%; }
.button-ghost { background: transparent; color: var(--ink); border-color: rgba(34, 37, 31, .25); }
.button-ghost:hover { color: white; }
.button.is-disabled { cursor: not-allowed; opacity: .62; }

.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 1px; background: currentColor; }
.eyebrow-light { color: #d8bd8b; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1, h2 { margin: 18px 0 22px; font-family: var(--serif); font-weight: 400; line-height: 1.16; letter-spacing: -.015em; }
h1 { max-width: 820px; font-size: clamp(46px, 6.4vw, 82px); }
h2 { font-size: clamp(38px, 4.5vw, 60px); }

.hero { min-height: min(900px, 100svh); display: flex; align-items: center; padding-top: 132px; background: radial-gradient(circle at 82% 16%, rgba(255,255,255,.86), transparent 38%), var(--paper); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr); gap: clamp(44px, 7vw, 96px); align-items: center; }
.hero-lead { max-width: 720px; margin: 0; color: var(--muted); font-size: clamp(16px, 1.45vw, 19px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line); }
.hero-facts li { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.hero-facts strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.hero-facts span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.hero-image-wrap { position: relative; overflow: hidden; border-radius: 240px 240px 28px 28px; box-shadow: var(--shadow); background: #ded8cd; }
.hero-image-wrap img { width: 100%; aspect-ratio: 4 / 5.25; object-fit: cover; }
.floating-note { position: absolute; left: 20px; right: 20px; bottom: 20px; padding: 18px 20px; border-radius: 17px; background: rgba(255, 253, 249, .88); backdrop-filter: blur(12px); box-shadow: 0 12px 40px rgba(51, 48, 42, .12); }
.floating-note strong, .floating-note small { display: block; }
.floating-note strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.floating-note small { margin-top: 4px; color: var(--muted); font-size: 10px; }

.section-heading { max-width: 870px; margin-bottom: 52px; }
.section-heading > p { max-width: 790px; margin: 0; color: var(--muted); font-size: 17px; }
.expert-layout { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: 46px; align-items: start; }
.speaker-card { overflow: hidden; border: 1px solid rgba(34,37,31,.08); border-radius: 28px; background: var(--white); box-shadow: var(--shadow); }
.speaker-photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  align-self: start;
  overflow: hidden;
  background: #e2ddd4;
}
.speaker-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.speaker-info { padding: 28px; }
.mini-label { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.speaker-info h3 { margin: 10px 0 8px; font-family: var(--serif); font-size: 29px; font-weight: 400; line-height: 1.25; }
.speaker-info p { margin: 0; color: var(--muted); font-size: 13px; }
.expert-content { display: grid; gap: 22px; }
.credentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.credential { display: grid; grid-template-columns: 38px 1fr; gap: 15px; min-height: 164px; padding: 22px; border: 1px solid rgba(34,37,31,.08); border-radius: 20px; background: rgba(255,253,249,.74); }
.credential:last-child { grid-column: span 2; min-height: 132px; }
.credential-accent { background: linear-gradient(145deg, rgba(255,253,249,.92), rgba(229,220,205,.74)); }
.credential-number { padding-top: 2px; color: var(--gold); font-family: var(--serif); font-size: 16px; }
.credential h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.3; }
.credential p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.editorial-image { position: relative; overflow: hidden; border-radius: 22px; }
.editorial-image img { width: 100%; aspect-ratio: 16 / 6.5; object-fit: cover; }
.editorial-image figcaption { position: absolute; inset: auto 15px 15px; max-width: 420px; padding: 13px 15px; border-radius: 13px; background: rgba(255,253,249,.86); color: var(--muted); font-size: 10px; backdrop-filter: blur(10px); }

.audience-layout { display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(280px, .56fr); gap: clamp(36px, 6vw, 78px); align-items: stretch; }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 36px; align-items: end; margin-bottom: 38px; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p { margin: 0 0 8px; color: var(--muted); font-size: 14px; }
.audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.audience-card { min-height: 230px; padding: 26px; border: 1px solid rgba(34,37,31,.09); border-radius: 22px; background: rgba(255,253,249,.72); transition: transform .25s ease, box-shadow .25s ease; }
.audience-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(49,48,41,.08); }
.audience-card > span { color: var(--gold); font-family: var(--serif); font-size: 16px; }
.audience-card h3 { margin: 34px 0 10px; font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.25; }
.audience-card p { margin: 0; color: var(--muted); font-size: 12px; }
.audience-image { position: relative; overflow: hidden; min-height: 100%; border-radius: 220px 220px 24px 24px; background: #ddd8ce; box-shadow: var(--shadow); }
.audience-image img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; }
.audience-image figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 17px; border-radius: 15px; background: rgba(255,253,249,.88); color: var(--muted); font-size: 10px; backdrop-filter: blur(10px); }

.lecture-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .58fr); gap: clamp(44px, 7vw, 90px); align-items: center; }
.lecture-copy h2 { max-width: 820px; color: white; font-size: clamp(38px, 4.5vw, 60px); }
.lecture-intro { max-width: 800px; margin: 0; color: #c7cdc3; font-size: 16px; }
.lecture-list { display: grid; gap: 0; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.12); }
.lecture-list > div { display: grid; grid-template-columns: 44px 1fr; gap: 15px; align-items: start; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.lecture-list span { color: #d8bd8b; font-family: var(--serif); font-size: 14px; }
.lecture-list p { margin: 0; color: #e2e6df; font-size: 13px; }
.lecture-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 30px; }
.lecture-meta div { min-width: 0; padding: 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.lecture-meta small, .lecture-meta strong { display: block; }
.lecture-meta small { color: #aeb6aa; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.lecture-meta strong { margin-top: 5px; color: white; font-size: 11px; line-height: 1.45; }
.lecture-visual { position: relative; overflow: hidden; border-radius: 220px 220px 24px 24px; box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.lecture-visual img { width: 100%; aspect-ratio: 4 / 5.25; object-fit: cover; }
.lecture-overlay { position: absolute; inset: auto 18px 18px; padding: 18px; border-radius: 15px; background: rgba(32,35,31,.82); backdrop-filter: blur(12px); }
.lecture-overlay span, .lecture-overlay small { display: block; }
.lecture-overlay span { font-family: var(--serif); font-size: 17px; letter-spacing: .08em; }
.lecture-overlay small { margin-top: 4px; color: #d5d9d0; font-size: 9px; }

.survey-section { overflow: hidden; }
.survey-section::before { content: ""; position: absolute; width: 640px; height: 640px; right: -260px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(220,225,213,.75), transparent 68%); }
.survey-layout { position: relative; display: grid; grid-template-columns: .55fr 1fr .72fr; gap: 28px; align-items: center; }
.survey-image { overflow: hidden; border-radius: 24px; box-shadow: var(--shadow); }
.survey-image img { width: 100%; aspect-ratio: 1 / 1.28; object-fit: cover; }
.survey-copy h2 { margin-bottom: 18px; }
.survey-copy > p { margin: 0; color: var(--muted); font-size: 15px; }
.survey-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.survey-points span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.48); color: var(--muted); font-size: 9px; }
.survey-card { padding: 32px; border-radius: 25px; background: var(--sage-dark); color: white; box-shadow: var(--shadow); }
.survey-card-label { color: #d8bd8b; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.survey-card h3 { margin: 16px 0 12px; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.28; }
.survey-card p { margin: 0; color: #d3d8d0; font-size: 12px; }
.survey-card .button { margin-top: 18px; background: var(--white); color: var(--ink); border-color: var(--white); }
.survey-card small { display: block; margin-top: 13px; color: #aeb6aa; font-size: 9px; }

.venue-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, .8fr); gap: clamp(40px, 7vw, 86px); align-items: center; }
.venue-logo-card {
  width: min(330px, 100%);
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 24px;
  padding: 15px 18px;
  border: 1px solid rgba(34,37,31,.08);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 14px 36px rgba(49,48,41,.07);
}
.venue-logo-card img { width: 148px; height: auto; flex: 0 0 auto; }
.venue-logo-card span { color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.45; }
.venue-copy > p { max-width: 600px; margin: 0; color: var(--muted); font-size: 16px; }
.address-card { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; margin: 30px 0; padding: 22px; border: 1px solid rgba(34,37,31,.08); border-radius: 20px; background: var(--white); }
.address-pin { width: 44px; height: 44px; position: relative; border-radius: 50% 50% 50% 0; background: var(--sage-pale); transform: rotate(-45deg); }
.address-pin::after { content: ""; position: absolute; left: 16px; top: 16px; width: 12px; height: 12px; border-radius: 50%; background: var(--sage); }
.address-card small, .address-card strong { display: block; }
.address-card small { color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.address-card strong { margin-top: 4px; font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.4; }
.address-card p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.venue-image { position: relative; overflow: hidden; border-radius: 28px; box-shadow: var(--shadow); }
.venue-image img { width: 100%; aspect-ratio: 1.18 / 1; object-fit: cover; }
.venue-image figcaption { position: absolute; inset: auto 18px 18px; padding: 17px 18px; border-radius: 15px; background: rgba(255,253,249,.9); backdrop-filter: blur(12px); }
.venue-image small, .venue-image strong, .venue-image span { display: block; }
.venue-image small { color: var(--gold); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.venue-image strong { margin-top: 4px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.venue-image span { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.site-footer { padding: 52px 0 24px; background: #232821; color: #edf0eb; }
.footer-grid { display: grid; grid-template-columns: .9fr 1.3fr .7fr; gap: 50px; align-items: start; }
.brand-footer .brand-copy small { color: #b5bbb2; }
.footer-grid > p { margin: 0; color: #adb4aa; font-size: 11px; }
.footer-links { display: grid; grid-template-columns: repeat(2, max-content); gap: 8px 18px; justify-content: end; }
.footer-links a { color: #d4d9d1; font-size: 11px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 34px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.09); color: #929a90; font-size: 9px; }

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

@media (max-width: 1080px) {
  .main-nav { gap: 15px; }
  .header-partner span { display: none; }
  .header-cta { display: none; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, .62fr); }
  .survey-layout { grid-template-columns: .55fr 1fr; }
  .survey-card { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; column-gap: 30px; align-items: center; }
  .survey-card .button { grid-column: 2; grid-row: 1 / span 3; width: 220px; margin: 0; }
  .survey-card small { grid-column: 1; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 78px; }
  .header-inner { height: 74px; }
  .menu-toggle { display: flex; }
  .main-nav {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 80px;
    display: none;
    margin: 0;
    padding: 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(245,241,234,.98);
    box-shadow: var(--shadow);
  }
  .main-nav.open { display: flex; }
  .main-nav a { min-height: 44px; display: flex; align-items: center; padding: 8px 10px; }
  .hero { min-height: auto; padding-top: 118px; }
  .hero-grid, .expert-layout, .audience-layout, .lecture-grid, .venue-layout { grid-template-columns: 1fr; }
  .hero-visual { max-width: 640px; margin-inline: auto; }
  .expert-layout { gap: 28px; }
  .speaker-card { display: grid; grid-template-columns: .76fr 1fr; }
  .speaker-info { align-self: center; }
  .audience-image { max-height: 520px; border-radius: 28px; }
  .audience-image img { min-height: 520px; }
  .lecture-visual { max-width: 620px; margin-inline: auto; border-radius: 28px; }
  .survey-layout { grid-template-columns: .65fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-links { grid-column: 1 / -1; justify-content: start; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1180px); }
  .section { padding: 70px 0; }
  .brand-mark { width: 38px; height: 38px; font-size: 19px; }
  .brand-copy strong { font-size: 16px; }
  .brand-copy small { display: none; }
  .header-inner { gap: 14px; }
  .header-partner { padding-left: 14px; }
  .header-partner img { width: 72px; }
  .hero { padding-top: 104px; }
  h1 { font-size: clamp(39px, 12vw, 54px); line-height: 1.12; }
  h2 { font-size: clamp(34px, 10vw, 46px); line-height: 1.18; }
  .hero-lead, .section-heading > p, .venue-copy > p { font-size: 15px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-facts { grid-template-columns: 1fr; gap: 0; margin-top: 32px; }
  .hero-facts li { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .hero-facts strong { font-size: 19px; }
  .hero-image-wrap { border-radius: 28px; }
  .hero-image-wrap img { aspect-ratio: 4 / 4.7; }
  .floating-note { left: 12px; right: 12px; bottom: 12px; padding: 14px; }
  .section-heading { margin-bottom: 34px; }
  .speaker-card { display: block; }
  .speaker-info { padding: 23px; }
  .speaker-info h3 { font-size: 25px; }
  .credentials { grid-template-columns: 1fr; }
  .credential, .credential:last-child { grid-column: auto; min-height: auto; padding: 20px; }
  .editorial-image img { aspect-ratio: 4 / 3; }
  .editorial-image figcaption { inset: auto 10px 10px; }
  .split-heading { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .split-heading > p { margin: 0; font-size: 13px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: auto; padding: 22px; }
  .audience-card h3 { margin-top: 25px; font-size: 21px; }
  .audience-image { min-height: 0; border-radius: 24px; }
  .audience-image img { min-height: 0; aspect-ratio: 4 / 3.5; }
  .lecture-copy h2 { font-size: clamp(33px, 9.5vw, 45px); }
  .lecture-intro { font-size: 14px; }
  .lecture-list > div { grid-template-columns: 36px 1fr; padding: 15px 0; }
  .lecture-list p { font-size: 12px; }
  .lecture-meta { grid-template-columns: 1fr; }
  .lecture-visual img { aspect-ratio: 4 / 3.6; }
  .survey-layout { grid-template-columns: 1fr; }
  .survey-image { order: 2; max-height: 360px; }
  .survey-image img { aspect-ratio: 4 / 3; }
  .survey-copy { order: 1; }
  .survey-card { order: 3; display: block; padding: 26px 22px; }
  .survey-card .button { width: 100%; margin-top: 18px; }
  .address-card { grid-template-columns: 42px 1fr; padding: 18px; }
  .venue-logo-card { width: 100%; }
  .address-pin { width: 38px; height: 38px; }
  .address-pin::after { left: 13px; top: 13px; }
  .address-card strong { font-size: 17px; }
  .venue-image img { aspect-ratio: 4 / 3; }
  .venue-image figcaption { inset: auto 11px 11px; }
  .footer-grid { grid-template-columns: 1fr; gap: 27px; }
  .footer-links { grid-column: auto; justify-content: start; }
  .footer-bottom { flex-direction: column; gap: 7px; }
}

@media (max-width: 390px) {
  .container { width: min(100% - 22px, 1180px); }
  .header-inner { gap: 10px; }
  .header-partner { padding-left: 10px; }
  .header-partner img { width: 62px; }
  h1 { font-size: 37px; }
  h2 { font-size: 33px; }
  .button { padding-inline: 16px; }
  .speaker-info h3 { font-size: 23px; }
  .survey-card h3 { font-size: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
