[hidden]{display:none!important}
.skip{position:fixed;left:16px;top:-100px;z-index:30;padding:8px 14px;background:white;color:#183954}
.skip:focus{top:12px}
.landing .hero-copy h1{font-size:clamp(2rem,4.9vw,4.65rem);overflow-wrap:anywhere}
.landing .hero-copy .lead{max-width:62ch}
.landing .nav-cta{display:inline-flex;align-items:center;justify-content:center;text-align:center}
.webinar-art .speaker-photo{object-position:center 24%}
.webinar-copy summary{cursor:pointer;margin-block:12px}
.registration-notice{padding:12px 16px;background:#f0f4f8;border-left:4px solid #355b84}
.topic-filters,.legal-links{display:flex;gap:8px 16px;flex-wrap:wrap}
.topic-filters{margin-block:20px}
.topic-filters button{font:inherit;cursor:pointer;border:1px solid #b8c9dc;border-radius:30px;background:#fff;color:#203b59;padding:7px 14px}
.topic-filters [aria-pressed=true]{background:#355b84;color:white}
.recording-preview{border:0;cursor:pointer;width:100%;aspect-ratio:16/9;padding:18px;color:white;background:linear-gradient(135deg,#203b59,#355b84);display:flex;justify-content:space-between;align-items:center;font:inherit}
.recording-preview span:last-child{font-size:2rem}
.recording-info{padding:16px}
#lead-dialog .field{margin-bottom:12px}
#lead-dialog .consent{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}
#lead-dialog .consent label{flex:1;display:block}
#lead-dialog .errorlist{color:#a02331;flex-basis:100%;margin:4px 0}
#video{width:min(900px,calc(100% - 24px));padding:56px 12px 12px;border:0;background:#183954}
#video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
@media(max-width:700px){
  .landing header nav a.nav-cta{max-width:124px;line-height:1.2}
}
.landing header.wrap { height: 76px; padding-block: 10px; }
.landing .hero { isolation: isolate; }
.landing .hero-shade { z-index: 2; }
.landing .hero-copy { z-index: 3; }
.landing .webinar-copy .speaker { padding: 14px 16px; margin-block: 20px; border: 0; border-left: 3px solid #6b93bd; border-radius: 0 10px 10px 0; background: #e9f0f8; }
.landing .webinar-copy .speaker p { margin: 6px 0 0; font-size: .92rem; line-height: 1.5; }
.recording-preview { display: block; padding: 0; overflow: hidden; }
.recording-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px) {
  .landing header.wrap { height: auto; min-height: 72px; padding-block: 8px; gap: 6px; }
}
.landing .hero.wrap {
  aspect-ratio: 16 / 9;
  min-height: 0;
  height: auto;
  display: grid;
  align-items: end;
  padding-block: clamp(30px, 5vw, 80px);
}
.landing .hero-copy { max-width: 560px; }
.landing .hero-copy h1 { font-size: clamp(2rem, 3.5vw, 3.65rem); }
.landing .hero .hero-shade {
  background: linear-gradient(90deg, #f7faffed, #f7faffcf 28%, #f7faff28 62%, transparent 80%);
}
.cookie-banner {
  position: fixed;
  z-index: 30;
  inset: auto 16px 16px;
  margin-inline: auto;
  max-width: 760px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid #cad9e8;
  border-radius: 14px;
  background: #fff;
  color: #183954;
  box-shadow: 0 8px 32px #18395426;
}
.cookie-banner p { flex: 1 1 260px; margin: 0; }
@media (max-width: 700px) {
  .landing .hero.wrap { aspect-ratio: auto; }
  .landing .hero .hero-shade { background: linear-gradient(0deg, #f7fafff5, #f7faffd9 36%, #f7faff28 76%, transparent); }
}
#video > .dialog-close {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  font-size: 20px;
  line-height: 1;
}
#video { padding-top: 50px; }

#lead-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
#lead-form .field { display: grid; gap: 6px; margin: 0; }
#lead-form .field:has(#id_name),
#lead-form .field:has(#id_email),
#lead-form .consent,
#lead-form > .button { grid-column: 1 / -1; }
#lead-form .field label { margin: 0; font-size: .875rem; font-weight: 650; }
#lead-form .field small { display: block; font-weight: 400; color: #50677e; }
#lead-form .field input:not([type="checkbox"]) {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #c1d2e2;
  border-radius: 10px;
  background: #fff;
}
#lead-form .field input:focus-visible {
  outline: 2px solid #527eaa;
  outline-offset: 2px;
}
#lead-form .field input[aria-invalid="true"] { border-color: #a02331; }
#lead-form .consent {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 12px;
  border-radius: 10px;
  background: #eaf1f8;
}
#lead-form .consent input { width: 18px; height: 18px; margin: 1px 4px 0 0; accent-color: #355e84; }
#lead-form .consent a { text-decoration: underline; }
#lead-form .consent .errorlist { grid-column: 1 / -1; }
@media (max-width: 420px) {
  #lead-form { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
#registration-success .dialog-head { padding-bottom: 28px; }
#registration-success .button { margin-top: 8px; }

.landing .webinar-copy .speaker {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.landing .webinar-copy .speaker img {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  object-fit: cover;
  object-position: center 25%;
  border-radius: 10px;
}
.landing .webinar-art .webinar-cover { object-fit: contain; }
.landing .webinar-art:has(.webinar-cover) .cover-shade { display: none; }
#webinar, #recordings { scroll-margin-top: 60px; }
@media (min-width: 701px) {
  .landing .hero.wrap {
    aspect-ratio: auto;
    min-height: clamp(390px, 67svh, 650px);
    align-items: center;
    padding-block: 24px 54px;
  }
  .landing .hero-copy { max-width: 510px; }
  .landing .hero-copy h1 { font-size: clamp(2rem, 3vw, 3.15rem); }
  .landing .hero-copy .lead { font-size: clamp(.9rem, 1.15vw, 1.05rem); }
}
#webinar { scroll-margin-top: 0; }
.landing #webinar > .wrap.section { padding-block: clamp(18px, 3vh, 32px); }
.landing #webinar .section-heading { margin-bottom: 16px; }
#video-external { display: block; margin: 8px 4px 0; color: #fff; font-size: .875rem; }
@media (min-width: 701px) and (max-height: 900px) {
  .landing #webinar .webinar-art { aspect-ratio: auto; align-self: stretch; }
  .landing #webinar .webinar-copy { padding: clamp(20px, 3vh, 30px); }
}


.welcome-player {
  position: fixed;
  z-index: 29;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(340px, calc(100% - 32px));
  border-radius: 14px;
  overflow: hidden;
  background: #142333;
  box-shadow: 0 8px 32px #18395440;
}
body:has(.cookie-banner:not([hidden])) .welcome-player { bottom: 125px; }
@media (max-width: 700px) {
  body:has(.cookie-banner:not([hidden])) .welcome-player { bottom: 190px; }
}
.welcome-media { aspect-ratio: 16 / 9; }
.welcome-media :is(video, iframe) { display: block; width: 100%; height: 100%; border: 0; }
.welcome-controls { display: flex; justify-content: flex-end; gap: 6px; padding: 5px 8px; }
.welcome-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: #ffffff12;
  color: white;
  cursor: pointer;
}
.welcome-controls button:hover { background: #ffffff30; }
.welcome-controls svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.welcome-controls [aria-pressed="false"] .sound-on,
.welcome-controls [aria-pressed="true"] .sound-off { display: none; }
.welcome-player:is(:fullscreen, .welcome-expanded):not([hidden]) {
  display: grid;
  position: fixed;
  inset: 0 !important;
  z-index: 40;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: #000;
  grid-template-rows: minmax(0, 1fr) auto;
}
.welcome-player:is(:fullscreen, .welcome-expanded) .welcome-media {
  width: min(100%, calc((100dvh - 54px) * 16 / 9));
  align-self: center;
  justify-self: center;
}

.hero-gallery {
  position: absolute;
  inset: -12% 0 0;
  z-index: -3;
  transform: translateY(var(--hero-offset, 0px));
}
.landing .hero { overflow: hidden; }
.landing .hero-gallery .hero-photo {
  z-index: auto;
  animation: none;
  opacity: 0;
  transition: opacity 1s ease;
}
.landing .hero-gallery .is-current { opacity: 1; }
.welcome-player :is([data-welcome-move], [data-welcome-resize]) { touch-action: none; }
.welcome-controls [data-welcome-move] {
  cursor: grab;
  margin-right: auto;
  background: transparent;
  color: #ffffffa6;
}
.welcome-controls [data-welcome-move]:active { cursor: grabbing; }
.welcome-controls [data-welcome-move] svg { stroke-width: 3; }
[data-welcome-resize] {
  position: absolute;
  z-index: 2;
  inset: 0 auto auto 0;
  width: 26px;
  height: 26px;
  cursor: nwse-resize;
  background: linear-gradient(135deg, #142333b0 0 48%, transparent 49%);
}
[data-welcome-resize]::after {
  content: "";
  position: absolute;
  inset: 5px auto auto 5px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fffd;
  border-left: 2px solid #fffd;
}
.welcome-player:is(:fullscreen, .welcome-expanded) :is([data-welcome-move], [data-welcome-resize]) { display: none; }
.welcome-player:is(:fullscreen, .welcome-expanded):not([hidden]) { width: 100% !important; }
.welcome-media video { object-fit: contain; }
@media (prefers-reduced-motion: reduce) {
  .hero-gallery { inset: 0; transform: none; }
  .landing .hero-gallery .hero-photo { transition: none; }
  }


@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .webinar-art { overflow: hidden; }
  .webinar-art > img {
    transform: translate(var(--art-x, 0), var(--art-y, 0)) scale(1.035);
    transition: transform 180ms ease-out;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .webinar-copy [data-open="lead-dialog"] { position: relative; overflow: hidden; }
  .webinar-copy [data-open="lead-dialog"]::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 35%, #ffffff3d 50%, transparent 65%);
    animation: registration-glint 7s ease-in-out infinite;
  }
  @keyframes registration-glint {
    0%, 68% { transform: translateX(-100%); }
    84%, 100% { transform: translateX(100%); }
  }
}

@media (max-width: 700px) {
  .landing .hero.wrap {
    min-height: min(177.78vw, 78svh);
    padding: 36px 20px;
    align-items: end;
  }
  .landing .hero-gallery .hero-photo {
    object-fit: cover;
    object-position: center;
  }
  .landing .hero-copy h1 { font-size: clamp(1.75rem, 7vw, 2.55rem); }
  .landing .hero-copy .lead { font-size: 1rem; }
  .welcome-player { width: min(224px, calc(100% - 32px)); }
  body:has(.cookie-banner:not([hidden])) .welcome-player:not(:fullscreen):not(.welcome-expanded) {
    bottom: var(--welcome-cookie-offset, 190px);
  }
}

.landing header.wrap { background: rgb(255 255 255 / 48%); }
.landing .webinar-art { aspect-ratio: 1; overflow: hidden; align-self: center; }
.landing .webinar-art .webinar-cover { object-fit: cover; }
.landing .webinar-art > img { transform: translate(var(--art-x, 0), var(--art-y, 0)) scale(1.04); }
.recording-info h3 a { color: inherit; text-decoration: none; }
.recording-info h3 a:hover { text-decoration: underline; }
.webinar-navigation { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 18px; }
.webinar-navigation > button { width: 44px; height: 44px; border: 1px solid #b8c9dc; border-radius: 50%; background: white; color: #203b59; cursor: pointer; }
.webinar-dots { display: flex; gap: 12px; }
.webinar-dots button { padding: 0; border: 0; border-radius: 50%; width: 10px; height: 10px; background: #b8c9dc; cursor: pointer; }
.webinar-dots button[aria-current="true"] { background: #355b84; box-shadow: 0 0 0 4px #355b8414; }

.landing #webinar .webinar-art { aspect-ratio: 1; align-self: center; }
