.nav-menu { position: relative }
.nav-menu summary { list-style: none }
.nav-menu summary::-webkit-details-marker { display: none }
.nav-menu[open] .nav-dropdown { display: grid }
.nav-dropdown { display: none; position: absolute; top: 100%; left: 0; background: white; color: black; box-shadow: 0 12px 30px #0002; z-index: 50 }
.nav-dropdown a { display: block; min-height: 44px }
.mobile-dialog[hidden], [hidden] { display: none !important }
.mobile-dialog { position: fixed; inset: 0; z-index: 90; background: white; color: black }
.mobile-close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border: 0; background: none; font-size: 2rem }
.mobile-dialog nav { margin-top: 52px }
.mobile-links { grid-template-columns: repeat(3,minmax(0,1fr)) }
.mobile-language { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid var(--border) }
.mobile-language .language { gap: 12px }
body.menu-open { overflow: hidden }
.icon-arrow { width: 18px; height: 18px; flex: 0 0 auto }
.type-heading .type-char { opacity: 0 }
.type-heading[data-typing="static"] .type-char,
.type-heading[data-typing="complete"] .type-char { opacity: 1 }
.type-heading[data-typing="running"] .type-char.is-visible { opacity: 1 }
.photo-frame[data-visible="true"] img { --photo-scale: 1.018 }
.asset-preview { position: relative }
.asset-preview>[data-asset-preview] { position: absolute; inset: 0 }
.asset-preview>[data-asset-preview]>.photo-frame { position: absolute; inset: 0 }
.asset-preview>[data-asset-preview]>a { position: absolute; inset: auto 0 0; z-index: 2 }
.journey-trigger { appearance: none }
.journey-list { display: flex; flex-wrap: wrap; align-items: center; column-gap: 32px; row-gap: 12px }
.consent-content { right: 16px; left: auto }
.interest-grid input, .form-check>input, .consent-category input { width: 20px; height: 20px; flex: 0 0 20px }
.form-field select { appearance: auto }
.linkedin-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 4px; background: #0a66c2; color: #fff; font: 700 13px/1 Arial,sans-serif; letter-spacing: -.02em; text-transform: none }
@media (prefers-reduced-motion: reduce) {
  .type-heading .type-char { opacity: 1 }
}
@media (max-width: 760px) {
  .mobile-links { grid-template-columns: repeat(2,minmax(0,1fr)) }
}
@media (max-width: 480px) {
  .mobile-links { grid-template-columns: 1fr }
  .journey-list { column-gap: 20px }
}
