.atmosphere h2 em {
  position: relative;
  display: inline-block;
  color: var(--lime);
  font-family: 'Marck Script', cursive;
  font-size: .88em;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .8;
  transform: rotate(-2deg);
}

.atmosphere h2 em::after {
  content: '';
  position: absolute;
  right: -2%;
  bottom: -5px;
  left: -2%;
  height: 2px;
  background: var(--lime);
  transform: rotate(-2deg);
}

.atmosphere-gallery {
  position: relative;
  min-height: min(38vw, 530px);
  margin: 0;
  padding: 0 0 8% 10%;
}

.atmosphere .atmosphere-gallery img {
  display: block;
  object-fit: cover;
}

.atmosphere-gallery .space-photo {
  width: 90%;
  height: 100%;
  margin-left: auto;
  aspect-ratio: 1.25;
}

.atmosphere-gallery .people-photo {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 43%;
  aspect-ratio: .75;
  border: 1px solid var(--ink);
}

.atmosphere-gallery i {
  position: absolute;
  z-index: 2;
  top: -19px;
  right: 4%;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--lime);
}

@media (max-width: 760px) {
  .atmosphere-gallery { min-height: 360px; padding: 0 0 13% 13%; }
  .atmosphere-gallery .space-photo { width: 91%; }
  .atmosphere-gallery .people-photo { width: 48%; }
  .atmosphere-gallery i { top: -12px; width: 27px; height: 27px; }
}

.host-practice {
  margin: 0 0 12px;
  color: var(--lime);
  font-size: 16px;
  line-height: 1.35;
}

.event-facts {
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  border-top: 0;
}

.event-facts div {
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.event-facts dt { color: var(--muted); }
.event-facts dd { color: var(--lime); }

.program-intro {
  max-width: 570px;
  margin: 24px 0 0;
  color: var(--cream);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.35;
}

.benefits-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 10vw;
  align-items: start;
  margin-top: 48px;
}

.benefits-list { border-top: 1px solid var(--line); }

.benefits-list article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 22px;
  padding: 28px 0 34px;
  border-bottom: 1px solid var(--line);
}

.benefits-list > article:nth-child(2) { margin-left: 8%; }

.benefits-list > article > span {
  color: var(--lime);
  font-size: clamp(40px, 4vw, 64px);
  font-weight: 800;
  letter-spacing: -.09em;
  line-height: .85;
}

.benefits-list h3 {
  margin: 0 0 10px;
  font-size: clamp(25px, 2.3vw, 35px);
  letter-spacing: -.055em;
}

.benefits-list p {
  max-width: 470px;
  margin: 0;
  color: #d0cec5;
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .event-facts { display: flex; }
  .event-facts div, .event-facts div:last-child { display: flex; grid-column: auto; }
  .program-intro { margin-top: 22px; font-size: 18px; }
  .benefits-grid { display: block; margin-top: 36px; }
  .benefits-list { margin-top: 36px; }
  .benefits-list article { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 23px 0 27px; }
  .benefits-list > article:nth-child(2) { margin-left: 0; }
  .benefits-list > article > span { font-size: 44px; }
  .benefits-list h3 { font-size: 27px; }
  .benefits-list p { font-size: 15px; }
}

.host-photo {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: visible;
  border: 1px solid rgba(215, 250, 40, .78);
  border-radius: 50%;
  background: #37393a;
}

.host-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 50%;
}

.host-photo i {
  position: absolute;
  right: -13px;
  top: 22%;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 0 6px var(--ink);
}

@media (max-width: 760px) {
  .host-photo i { right: -9px; width: 19px; height: 19px; box-shadow: 0 0 0 4px var(--ink); }
}

.cookie {
  max-width: 560px;
  border-color: rgba(215, 250, 40, .62);
  border-radius: 999px;
  background: rgba(48, 50, 52, .78);
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
}

.cookie p { font-size: 12px; line-height: 1.4; }

@media (max-width: 760px) {
  .cookie { max-width: none; border-radius: 26px; }
  .cookie p { font-size: 11px; }
}

.join.join--registration {
  padding-block: clamp(76px, 9vw, 124px);
}

.join--registration .join-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: center;
  margin-top: 48px;
}

.join--registration .join-copy h2 {
  max-width: 620px;
  font-size: clamp(42px, 4.7vw, 68px);
  line-height: 1;
  letter-spacing: -.065em;
}

.join--registration .join-copy > p {
  max-width: 520px;
  margin: 24px 0 0;
  color: #d0cec5;
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.5;
}

.join--registration .join-details {
  max-width: none;
  width: 100%;
}

.join--registration .join-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  border-top: 1px solid var(--line);
}

.join--registration .join-meta > div {
  padding: 18px 16px 18px 0;
  border-bottom: 1px solid var(--line);
}

.join--registration .join-meta dt {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.join--registration .join-meta dd {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.join--registration .price {
  margin: 22px 0;
  color: var(--lime);
  font-size: clamp(42px, 4.5vw, 60px);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: 1;
}

.join--registration .cta {
  display: flex;
  width: 100%;
  min-height: 60px;
  justify-content: space-between;
  padding: 18px 24px;
  font-size: 15px;
}

.join--registration .registration {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .join.join--registration { padding-block: 76px; }
  .join--registration .join-grid { display: block; margin-top: 36px; }
  .join--registration .join-copy h2 { font-size: clamp(42px, 11vw, 58px); }
  .join--registration .join-copy > p { margin-top: 18px; font-size: 17px; }
  .join--registration .join-details { margin-top: 32px; }
  .join--registration .join-meta > div { padding: 15px 10px 15px 0; }
  .join--registration .join-meta dt { font-size: 10px; }
  .join--registration .join-meta dd { font-size: 14px; }
  .join--registration .price { margin: 20px 0; font-size: 48px; }
  .join--registration .cta { min-height: 58px; }
}

.hosts-heading--single {
  grid-template-columns: minmax(0, 1fr);
}

.hosts-heading--single h2 {
  max-width: 900px;
  font-size: clamp(42px, 4.4vw, 64px);
  line-height: 1;
}

.event-faq > h2 {
  margin-top: 42px;
  font-size: clamp(38px, 4vw, 54px);
  line-height: 1;
}

.event-faq .faq-list {
  max-width: 900px;
  margin-top: 30px;
  border-top: 1px solid var(--line);
}

.event-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  list-style: none;
}

.event-faq summary::-webkit-details-marker {
  display: none;
}

.event-faq summary b {
  flex: 0 0 auto;
  transition: transform .2s ease;
}

.event-faq details[open] summary b {
  transform: rotate(45deg);
}

.event-faq details > p {
  max-width: 650px;
}

@media (max-width: 760px) {
  .event-faq > h2 { margin-top: 34px; }
  .event-faq .faq-list { margin-top: 22px; }
}

.site-footer {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.site-footer .footer-block { font-size: 12px; line-height: 1.45; color: var(--muted); }
.site-footer .footer-block p { margin: 0 0 7px; max-width: none; text-align: left; }
.site-footer .footer-title { color: var(--muted); }
.site-footer .socials { justify-content: flex-start; margin-top: 12px; }
.site-footer .footer-details { color: var(--cream); }
.site-footer .footer-docs p { font-size: 11px; }

@media (max-width: 760px) {
  .site-footer { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .site-footer .footer-logo, .site-footer .footer-docs { grid-column: 1 / -1; }
  .site-footer .footer-block { font-size: 12px; }
  .site-footer .footer-docs p { font-size: 11px; }
}

@media (max-width: 390px) {
  .hosts-heading h2 { font-size: 38px; }
}
