.text-sections-section{padding:0 0 30px}.text-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.text-section-item{background:#fff;border:1px solid rgba(0, 20, 63,.08);border-radius:8px;padding:30px;box-shadow:0 18px 52px rgba(0, 20, 63,.07)}.text-section-item h2{margin:0 0 14px;color:#00143F;font-size:28px;line-height:1.18;letter-spacing:0;font-weight:900}.text-section-item p{margin:0;color:#5f7187;font-size:18px;line-height:1.5}@media (max-width:980px){.text-sections-grid{grid-template-columns:1fr}}@media (max-width:680px){.text-sections-section{padding-bottom:58px}.text-section-item{padding:22px}.text-section-item h2{font-size:24px}.text-section-item p{font-size:16px}}
.speaker-org{margin-top:8px;color:#3AC0C2;font-size:14px;line-height:1.35;font-weight:900}.speaker-bio{margin:14px 0 0;color:#5f7187;font-size:14px;line-height:1.45}.speaker-details{margin-top:14px;padding:0;border:0;box-shadow:none;background:#f5f8fb}.speaker-details summary{padding:12px;border-radius:8px;color:#00143F;font-size:13px;line-height:1.35}.speaker-details p{margin:0;padding:0 12px 10px;color:#5f7187;font-size:14px;line-height:1.45}.speaker-details span,.speaker-details a{display:block;padding:0 12px 10px;color:#3AC0C2;font-size:13px;font-weight:900}
.org-grid-support{margin-top:22px}.partner-group+.partner-group{margin-top:54px}.org-logo,.partner-logo{flex-direction:column;text-align:center;gap:10px}.org-logo a,.partner-logo a{flex-direction:column;gap:10px}.logo-card-title{display:block;color:#00143F;font-size:14px;line-height:1.3;font-weight:900}.section-blue .logo-card-title{color:#00143F}.logo-card-description{display:block;color:#5f7187;font-size:12px;line-height:1.35;font-weight:700}.partner-logo img,.org-logo img{flex:0 0 auto}@media (max-width:680px){.partner-group+.partner-group{margin-top:38px}.logo-card-title{font-size:13px}.logo-card-description{font-size:11px}}

.partner-group-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.partner-slider-arrows button {
    border-color: rgba(0, 20, 63, .14);
    color: #00143F;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0, 20, 63, .08);
}

.partner-slider-arrows button:hover {
    color: #00143F;
    background: #F26839;
}

.partners-slider {
    margin-top: 36px;
}

.partners-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 4px 2px 24px;
}

.partners-track::-webkit-scrollbar {
    display: none;
}

.partners-track .partner-logo,
.partners-track .org-logo {
    min-width: 0;
    min-height: 146px;
    scroll-snap-align: start;
}

.support-group-head {
    margin-top: 34px;
}

.support-group-head .support-title {
    margin-top: 0;
}

.org-slider-support {
    margin-top: 22px;
}

.partners-track:focus {
    outline: 3px solid rgba(58, 192, 194, .18);
    outline-offset: 4px;
}

@media (max-width: 980px) {
    .partners-track {
        grid-auto-columns: calc((100% - 16px) / 2);
    }
}

@media (max-width: 680px) {
    .partner-group-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .partners-slider {
        margin-top: 24px;
    }

    .partners-track {
        grid-auto-columns: 84%;
    }
}
.schedule-day-card.has-events{grid-column:span 3;padding:26px}.program-timeline{display:grid;gap:14px;margin-top:20px}.program-event{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:16px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.program-event-time{color:#F26839;font-size:17px;line-height:1.2;font-weight:900}.program-event-body{display:grid;gap:8px}.program-event-body strong{font-size:19px;line-height:1.25;color:#fff}.program-event-body p{margin:0;color:#DCDDDE;font-size:15px;line-height:1.45}.program-event-meta{display:flex;flex-wrap:wrap;gap:8px}.program-event-meta span{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:rgba(255,255,255,.12);color:#DCDDDE;padding:0 10px;font-size:12px;font-weight:900}.program-event-speakers{color:#fff;font-size:14px;line-height:1.4;font-weight:900}@media (max-width:980px){.schedule-day-card.has-events{grid-column:span 2}}@media (max-width:680px){.schedule-day-card.has-events{grid-column:auto;padding:20px}.program-event{grid-template-columns:1fr;gap:10px}.program-event-body strong{font-size:17px}}
.price-features{display:grid;gap:9px;margin:0 0 26px;padding:0;list-style:none;color:#39506b;font-size:15px;line-height:1.35;flex:1}.price-features li{position:relative;padding-left:20px}.price-features li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:#3AC0C2}.price-card.active .price-features{color:#DCDDDE}.price-card.active .price-features li::before{background:#F26839}.price-card:has(.price-features) p{margin-bottom:18px;flex:0}
.price-card .badge{position:static;display:inline-flex;align-self:flex-end;margin:0 0 14px}.price-card h3{max-width:100%}
.register-form textarea{width:100%;min-height:104px;border:1px solid rgba(0, 20, 63,.14);border-radius:8px;background:#f8fbfd;padding:12px 14px;color:#00143F;resize:vertical;line-height:1.45;font-family:Montserrat,Arial,sans-serif}.register-form textarea:focus{outline:3px solid rgba(58, 192, 194,.18);border-color:#3AC0C2;background:#fff}.form-errors{display:grid;gap:6px;margin:0 0 14px;padding:12px 14px 12px 30px;border-radius:8px;background:#DCDDDE;color:#00143F;font-size:13px;line-height:1.35;font-weight:800}.registration-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(7,24,45,.58);backdrop-filter:blur(10px)}.registration-modal__panel{position:relative;width:min(440px,100%);display:grid;gap:18px;background:#fff;color:#00143F;border-radius:8px;padding:30px;box-shadow:0 26px 80px rgba(0,0,0,.28)}.registration-modal__panel strong{font-size:28px;line-height:1.15;font-weight:900}.registration-modal__panel p{margin:0;color:#5f7187;font-size:17px;line-height:1.45}.registration-modal__close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:8px;background:#f5f8fb;color:#00143F;font-size:28px;line-height:1;cursor:pointer}.registration-modal__actions{display:grid;gap:10px}.registration-modal__actions .btn{width:100%;border:0}.spam-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.free-registration-note{display:grid;gap:8px;margin:0 0 20px;padding:16px 18px;border-left:5px solid #F26839;border-radius:8px;background:#fff4ef;color:#00143F;font-size:14px;line-height:1.45}.free-registration-note strong{font-size:16px;font-weight:900}.free-registration-note span{color:#39506b;font-weight:700}.registration-form-section{margin:22px 0 18px;padding-top:18px;border-top:1px solid rgba(0,20,63,.1)}.registration-form-section h2{margin:0 0 14px;color:#00143F;font-size:22px;line-height:1.2;font-weight:900}.register-form textarea[required],.register-form select[required],.register-form input[required]{border-color:rgba(0,20,63,.2)}
.video-section{padding:30px 0;background:#f5f8fb}.video-section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:34px}.video-section-head p{max-width:440px;margin:0;color:#5f7187;font-size:18px;line-height:1.5;font-weight:700}.video-frame{overflow:hidden;border-radius:8px;background:#00143F;border:1px solid rgba(0, 20, 63,.1);box-shadow:0 22px 70px rgba(0, 20, 63,.12)}.video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#00143F}.registration-page-section{min-height:calc(100vh - 82px);display:flex;align-items:center}.registration-info h1{font-size:40px;line-height:1.12;margin:22px 0;color:inherit;letter-spacing:0}.registration-choice{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:stretch}.registration-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.registration-choice-card{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.1);padding:28px;color:#fff;transition:.18s ease}.registration-choice-card:hover{transform:translateY(-3px);background:#fff;color:#00143F;box-shadow:0 20px 60px rgba(0,0,0,.18)}.registration-choice-card span{display:inline-flex;min-height:32px;align-items:center;border-radius:999px;background:#F26839;color:#00143F;padding:0 12px;font-size:12px;font-weight:900;text-transform:uppercase}.registration-choice-card strong{font-size:26px;line-height:1.12;font-weight:900}.registration-choice-card em{font-style:normal;color:#DCDDDE;font-size:16px;line-height:1.45;font-weight:700}.registration-choice-card:hover em{color:#5f7187}.registration-closed-card{display:grid;align-content:center;gap:14px;min-height:250px;background:#fff;color:#00143F;border-radius:8px;padding:30px;box-shadow:0 22px 70px rgba(0,0,0,.18)}.registration-closed-card strong{font-size:28px;line-height:1.15;font-weight:900}.registration-closed-card p{margin:0;color:#39506b;font-size:18px;line-height:1.45;font-weight:700}.registration-closed-card b{color:#00143F}.registration-closed-card a{color:#3AC0C2;font-weight:900}
@media (max-width:980px){.video-section-head,.registration-choice{grid-template-columns:1fr;display:grid}.registration-choice-grid{grid-template-columns:1fr}.registration-page-section{min-height:auto}}
@media (max-width:680px){.video-section{padding:62px 0}.video-section-head{gap:14px;margin-bottom:24px}.video-section-head p{font-size:16px}.registration-info h1{font-size:30px}.registration-choice-card,.registration-closed-card{min-height:210px;padding:22px}.registration-choice-card strong{font-size:23px}.registration-closed-card strong{font-size:24px}.registration-closed-card p{font-size:16px}}
.register-form.was-validated input:invalid:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.register-form.was-validated select:invalid,
.register-form.was-validated textarea:invalid,
.register-form input[aria-invalid="true"]:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.register-form select[aria-invalid="true"],
.register-form textarea[aria-invalid="true"] {
    border: 2px solid #d92d20;
    background: #fff7f5;
    box-shadow: 0 0 0 3px rgba(217, 45, 32, .12);
}

.register-form.was-validated input:invalid:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.register-form.was-validated select:invalid:focus,
.register-form.was-validated textarea:invalid:focus,
.register-form input[aria-invalid="true"]:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.register-form select[aria-invalid="true"]:focus,
.register-form textarea[aria-invalid="true"]:focus {
    border-color: #d92d20;
    outline: 3px solid rgba(217, 45, 32, .16);
}

.register-form.was-validated .agree input:invalid,
.register-form .agree input[aria-invalid="true"] {
    border: 1px solid #d92d20;
    outline: 2px solid rgba(217, 45, 32, .22);
    outline-offset: 2px;
}

.register-form.was-validated label:has(input:invalid),
.register-form.was-validated label:has(select:invalid),
.register-form.was-validated label:has(textarea:invalid) {
    color: #b42318;
}

.register-form label:has(input[aria-invalid="true"]),
.register-form label:has(select[aria-invalid="true"]),
.register-form label:has(textarea[aria-invalid="true"]) {
    color: #b42318;
}

.form-error-summary {
    display: grid;
    gap: 10px;
    margin: 4px 0 16px;
    padding: 16px 18px;
    border: 2px solid #d92d20;
    border-left-width: 6px;
    border-radius: 8px;
    background: #fff7f5;
    color: #7a271a;
}

.form-error-summary[hidden] {
    display: none;
}

.form-error-summary:focus {
    outline: 3px solid rgba(217, 45, 32, .18);
    outline-offset: 3px;
}

.form-error-summary > strong {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 900;
}

.form-error-summary ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.form-error-summary button {
    display: grid;
    gap: 2px;
    width: 100%;
    border: 0;
    border-radius: 6px;
    background: transparent;
    padding: 5px 7px;
    color: inherit;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.form-error-summary button:hover,
.form-error-summary button:focus-visible {
    background: rgba(217, 45, 32, .08);
    outline: 2px solid rgba(217, 45, 32, .28);
}

.form-error-summary button b {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 900;
}

.form-error-summary button span {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.registration-choice-section {
    position: relative;
    isolation: isolate;
    overflow: visible;
    padding-top: 76px;
    padding-bottom: 76px;
    background: var(--emd-navy);
}

.registration-choice-section::before {
    display: none;
}

.registration-choice-section::after {
    display: none;
}

.registration-choice-section > .container {
    position: relative;
    z-index: 1;
}

.registration-choice-grid--single {
    grid-template-columns: 1fr;
}

.registration-choice-card--single {
    min-height: 220px;
}

.registration-choice-button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 4px;
    border-radius: 8px;
    background: #F26839;
    color: #00143F;
    padding: 0 18px;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 980px) {
    .registration-choice-section {
        padding-top: 70px;
    }
}

@media (max-width: 680px) {
    .registration-choice-section {
        padding-top: 62px;
        padding-bottom: 58px;
    }
}
.payment-redirect{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f8fb}.payment-redirect__panel{width:min(460px,100%);display:grid;gap:16px;text-align:center;background:#fff;border:1px solid rgba(0, 20, 63,.1);border-radius:8px;padding:34px;box-shadow:0 20px 60px rgba(0, 20, 63,.1)}.payment-redirect__panel img{width:86px;margin:0 auto}.payment-redirect__panel h1{margin:0;color:#00143F;font-size:32px;line-height:1.12}.payment-redirect__panel p{margin:0;color:#5f7187}.payment-redirect__panel strong{color:#00143F;font-size:24px}.payment-redirect__panel form{display:grid;justify-items:center}
.testing-page{min-height:100vh;background:#f5f8fb}.testing-hero{padding:42px 0 54px;background:linear-gradient(135deg,#00143F 0%,#00143F 64%,#3AC0C2 100%);color:#fff}.testing-logo{display:inline-flex;margin-bottom:28px}.testing-logo img{width:86px;height:auto}.testing-hero h1{max-width:920px;margin:24px 0 0;font-size:48px;line-height:1.06;letter-spacing:0;color:#fff;overflow-wrap:anywhere}.testing-hero p{max-width:820px;margin:18px 0 0;font-size:19px;line-height:1.55;color:#DCDDDE}.testing-content{padding:42px 0 82px}.testing-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.testing-summary,.testing-card{min-width:0;background:#fff;border:1px solid rgba(0, 20, 63,.08);border-radius:8px;box-shadow:0 18px 52px rgba(0, 20, 63,.08)}.testing-summary{display:grid;gap:0;overflow:hidden}.testing-summary div{min-width:0;padding:20px;border-bottom:1px solid rgba(0, 20, 63,.08)}.testing-summary div:last-child{border-bottom:0}.testing-summary span,.testing-result span,.testing-question legend span{display:block;font-size:12px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#5f7187}.testing-summary strong{display:block;margin-top:8px;font-size:18px;line-height:1.25;color:#00143F;overflow-wrap:anywhere}.testing-card{padding:26px}.testing-alert{border-radius:8px;background:#edf7f8;border:1px solid rgba(58, 192, 194,.16);padding:18px 20px;font-size:17px;line-height:1.5;font-weight:800;color:#00143F;overflow-wrap:anywhere}.testing-alert.is-error{background:#fff1f0;border-color:rgba(180,35,24,.2);color:#b42318}.testing-result{border-radius:8px;padding:28px;border:1px solid rgba(0, 20, 63,.08);background:#f8fbfd}.testing-result strong{display:block;margin-top:12px;font-size:54px;line-height:1;font-weight:900;overflow-wrap:anywhere}.testing-result p{max-width:650px;margin:18px 0 0;font-size:18px;line-height:1.5;color:#39506b}.testing-result.is-passed strong{color:#167a43}.testing-result.is-failed strong{color:#b42318}.testing-form{display:grid;gap:18px}.testing-question{min-width:0;margin:0;padding:22px;border:1px solid rgba(0, 20, 63,.1);border-radius:8px;background:#f8fbfd}.testing-question legend{display:grid;gap:8px;width:100%;padding:0;margin:0 0 18px}.testing-question legend strong{font-size:20px;line-height:1.35;color:#00143F;overflow-wrap:anywhere}.testing-options{display:grid;gap:10px}.testing-option{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px;border:1px solid rgba(0, 20, 63,.1);border-radius:8px;background:#fff;font-size:16px;line-height:1.45;font-weight:800;color:#00143F;cursor:pointer}.testing-option:hover{border-color:rgba(58, 192, 194,.42);background:#f4fafb}.testing-option:focus-within{outline:3px solid rgba(58, 192, 194,.18);border-color:#3AC0C2;background:#fff}.testing-option input{width:20px;height:20px;min-width:20px;margin:2px 0 0;padding:0}.testing-option span{min-width:0;overflow-wrap:anywhere}.testing-submit{justify-self:start;min-width:220px;border:0}
@media (max-width:980px){.testing-shell{grid-template-columns:1fr}.testing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.testing-summary div{border-right:1px solid rgba(0, 20, 63,.08)}.testing-summary div:nth-child(2n){border-right:0}.testing-card{padding:24px}}
@media (max-width:680px){.testing-hero{padding:24px 0 34px}.testing-logo{margin-bottom:18px}.testing-logo img{width:68px}.testing-hero h1{margin-top:18px;font-size:32px;line-height:1.12}.testing-hero p{margin-top:14px;font-size:16px;line-height:1.48}.testing-content{padding:22px 0 52px}.testing-shell{gap:14px}.testing-summary{grid-template-columns:1fr;box-shadow:0 12px 34px rgba(0, 20, 63,.07)}.testing-summary div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-right:0}.testing-summary strong{margin-top:0;text-align:right;font-size:15px}.testing-summary span,.testing-result span,.testing-question legend span{font-size:11px;letter-spacing:.06em}.testing-card{padding:14px;box-shadow:0 12px 34px rgba(0, 20, 63,.07)}.testing-alert{padding:14px 16px;font-size:15px}.testing-result{padding:18px}.testing-result strong{font-size:38px}.testing-result p{font-size:16px}.testing-form{gap:14px}.testing-question{padding:16px}.testing-question legend{margin-bottom:14px}.testing-question legend strong{font-size:17px;line-height:1.32}.testing-options{gap:8px}.testing-option{min-height:52px;padding:12px;font-size:15px;line-height:1.38}.testing-option input{width:22px;height:22px;min-width:22px}.testing-submit{width:100%;min-width:0}}
@media (max-width:420px){.testing-hero h1{font-size:28px}.testing-summary div{grid-template-columns:1fr;gap:6px}.testing-summary strong{text-align:left}.testing-card{padding:12px}.testing-question{padding:14px}.testing-option{gap:10px;padding:11px;font-size:14px}.testing-result strong{font-size:34px}}
.thesis-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.thesis-link{display:inline-flex;align-items:center;min-height:38px;border-radius:8px;background:#F26839;color:#00143F!important;padding:8px 13px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.thesis-link:hover{background:#3AC0C2;color:#fff!important}
.footer-socials{display:flex;align-items:center;gap:10px}.footer-socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08);transition:.18s ease}.footer-socials a:hover{background:#F26839;transform:translateY(-2px)}.footer-socials img{width:21px;height:21px;object-fit:contain}.footer-socials a:hover img{filter:brightness(0) saturate(100%) invert(10%) sepia(24%) saturate(3331%) hue-rotate(179deg) brightness(93%) contrast(97%)}@media (max-width:680px){.footer-socials a{width:44px;height:44px}.footer-socials img{width:23px;height:23px}}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.social-link{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(0, 20, 63,.14);border-radius:8px;background:#fff;color:var(--emd-navy,#00143F);transition:.18s ease}.social-link:hover,.social-link:focus-visible{background:var(--emd-orange,#F26839);border-color:var(--emd-orange,#F26839);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(0, 20, 63,.16)}.social-link:focus-visible{outline:3px solid rgba(58, 192, 194,.32);outline-offset:3px}.social-link__icon{display:block;width:22px;height:22px;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.social-link__icon--facebook{-webkit-mask-image:url('/assets/fb.svg');mask-image:url('/assets/fb.svg')}.social-link__icon--instagram{-webkit-mask-image:url('/assets/in.svg');mask-image:url('/assets/in.svg')}.social-link__icon--telegram{-webkit-mask-image:url('/assets/tg.svg');mask-image:url('/assets/tg.svg')}.social-links--footer .social-link{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff}.social-links--footer .social-link:hover,.social-links--footer .social-link:focus-visible{background:var(--emd-orange,#F26839);border-color:var(--emd-orange,#F26839);color:#fff}.contacts-socials,.registration-socials{display:grid;gap:10px;margin:0 0 16px}.contacts-socials b,.registration-socials b{color:var(--emd-navy,#00143F)}.registration-socials{margin-bottom:0}.registration-closed-card .social-link{background:rgba(255,255,255,.92)}@media (max-width:680px){.social-link{width:44px;height:44px}.social-link__icon{width:23px;height:23px}}

:root {
    --emd-navy: #00143F;
    --emd-orange: #F26839;
    --emd-cyan: #3AC0C2;
    --emd-gray: #DCDDDE;
    --emd-soft: #f5f7f8;
    --emd-ink: #00143F;
}

body {
    color: var(--emd-ink);
    background: var(--emd-soft);
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

main {
    min-width: 0;
    overflow-x: clip;
}

body::selection {
    background: rgba(58, 192, 194, .35);
    color: var(--emd-navy);
}

.topbar {
    border-bottom-color: rgba(0, 20, 63, .1);
}

.top-logo img {
    width: 74px;
}

.main-nav a,
.language-switcher a {
    color: rgba(0, 20, 63, .78);
}

.main-nav a:hover {
    background: rgba(58, 192, 194, .14);
    color: #FF6633;
}

.topbar-registration-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 6px;
}

.main-nav .topbar-registration-link {
    height: 60px;
    min-height: 60px;
    padding: 0 14px;
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    box-shadow: 0 10px 24px rgba(0, 20, 63, .12);
}

.main-nav .topbar-registration-link--speaker {
    background: var(--emd-navy);
}

.main-nav .topbar-registration-link--participant {
    background: var(--emd-orange);
}

.main-nav .topbar-registration-link:hover {
    background: #FF6633;
    color: #fff;
}

.language-switcher a.active,
.check-list li::before,
.price-features li::before {
    background: var(--emd-cyan);
}

.hero {
    padding: 0px 0 68px;
    background: var(--emd-soft);
    color: var(--emd-navy);
}

.hero::before {
    inset: 0;
    background:
        repeating-linear-gradient(90deg, rgba(0, 20, 63, .05) 0 1px, transparent 1px 76px),
        repeating-linear-gradient(0deg, rgba(0, 20, 63, .04) 0 1px, transparent 1px 76px);
    opacity: .62;
    mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .22) 78%, transparent);
}

.hero::after {
    display: none;
}

.hero-title-wrap,
.hero h1 {
    color: var(--emd-navy);
}

.hero h1 {
    max-width: 820px;
    font-weight: 900;
}

.hero-kicker {
    border-color: rgba(0, 20, 63, .14);
    background: #fff;
    color: var(--emd-navy);
}

.hero-row-top {
    background: #fff;
    border-color: rgba(0, 20, 63, .1);
    box-shadow: 0 24px 64px rgba(0, 20, 63, .12);
}

.event-date {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 14px;
    text-align: center;
    border-bottom: 0;
    border-radius: 28px;
    padding: 24px;
    background: var(--emd-orange);
    color: #fff;
}

.date-big {
    font-size: 94px;
    line-height: .84;
}

.date-small {
    font-size: 29px;
    line-height: 1.12;
    white-space: nowrap;
    color: #fff;
}

.event-place {
    display: grid;
    gap: 4px;
    justify-items: start;
    text-align: left;
    color: var(--emd-navy);
}

.event-place span:nth-child(2) {
    font-size: .86em;
    white-space: nowrap;
}

.hero-logo {
    width: min(100%, 278px);
}

.hero-slogan,
.bpr-box {
    border: 0;
    box-shadow: 0 18px 44px rgba(0, 20, 63, .1);
}

.hero-slogan {
    background: var(--emd-cyan);
    color: #fff;
    font-weight: 800;
}

.bpr-box {
    background: var(--emd-navy);
}

.bpr-title {
    color: var(--emd-orange);
}

.bpr-text,
.hero-note {
    color: rgba(0, 20, 63, .78);
}

.btn-accent,
.btn-yellow,
.badge,
.steps b,
.up-link {
    background: var(--emd-orange);
    color: #fff !important;
}

.btn-blue,
.section-blue,
.registration-section,
.contacts-section,
.marquee,
.price-card.active,
.schedule-days article {
    background: var(--emd-navy);
    border-color: var(--emd-navy);
}

.btn-blue {
    color: #fff !important;
}

.btn-white {
    background: #fff;
    color: var(--emd-navy);
    border-color: rgba(0, 20, 63, .12);
}

.btn:hover {
    box-shadow: 0 14px 30px rgba(0, 20, 63, .16);
}

.marquee-accent,
.marquee-yellow {
    background: var(--emd-cyan);
    color: var(--emd-navy);
}

.section-title,
.lead-title,
.program-card h2,
.text-section-item h2,
summary,
label,
.contacts-card,
.registration-modal__panel,
.payment-redirect__panel h1 {
    color: var(--emd-navy);
}

.section-subtitle,
.speaker-org,
.contacts-card a,
.registration-closed-card a,
.speaker-details span,
.speaker-details a,
.price {
    color: var(--emd-cyan);
}

.thesis-box,
.notice-box {
    border-left-color: var(--emd-orange);
}

.thesis-link,
.partner-slider-arrows button:hover,
.slider-arrows button:hover,
.footer-socials a:hover {
    background: var(--emd-orange);
    color: #fff !important;
}

.topics-grid span {
    background: rgba(58, 192, 194, .12);
    border-color: rgba(58, 192, 194, .3);
    color: var(--emd-navy);
}

.image-panel,
.doctor-visual,
.speaker-photo,
.speaker-details,
.video-section,
.testing-page,
.payment-redirect,
.register-form textarea,
input,
select {
    background: var(--emd-soft);
}

.about-image-panel {
    display: grid;
    align-content: center;
    gap: 18px;
    background: #fff;
}

.about-image-panel > img {
    width: min(100%, 430px);
    max-height: none;
    justify-self: center;
}

.about-image-panel .package-card {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.about-image-panel .package-title {
    margin-bottom: 8px;
    font-size: 20px;
}

.about-image-panel .package-card p {
    margin: 4px 0;
    color: var(--emd-navy);
    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
}

.training-pattern-visual {
    min-height: auto;
    align-items: center;
    padding: 0;
    background: #fff;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.training-pattern-visual img {
    width: min(100%, 620px);
    max-height: none;
    object-fit: contain;
}

.training-section {
    background: #fff;
}

.training-section .split-card-light {
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.payment-redirect {
    background:
        radial-gradient(circle at 18% 16%, rgba(58, 192, 194, .18), transparent 30%),
        radial-gradient(circle at 84% 80%, rgba(242, 104, 57, .12), transparent 28%),
        var(--emd-soft);
}

.payment-redirect__panel {
    border: 1px solid rgba(0, 20, 63, .1);
    border-top: 6px solid var(--emd-orange);
    box-shadow: 0 22px 60px rgba(0, 20, 63, .12);
}

.payment-redirect__panel strong {
    color: var(--emd-navy);
}

.payment-status-page {
    padding: 24px;
}

.mosaic-transition {
    position: relative;
    isolation: isolate;
    min-height: 132px;
    overflow: hidden;
    background: #fff;
}

.mosaic-transition::before {
    display: none;
}

.mosaic-transition::after {
    display: none;
}

.mosaic-transition--dark {
    background: #fff;
}

.mosaic-transition--dark::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .12) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .1) 1px, transparent 1px);
    opacity: .55;
}

.mosaic-transition--dark::after {
    background: linear-gradient(180deg, rgba(0, 20, 63, .92), rgba(0, 20, 63, .74));
}

.mosaic-transition__inner {
    position: relative;
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mosaic-transition__inner.container {
    width: 100%;
    max-width: none;
}

.mosaic-transition__inner::before {
    content: "";
    display: block;
    width: 100%;
    max-width: none;
    height: 132px;
    background-image: url('/assets/mosaic-pattern-row-slide16.png');
    background-repeat: repeat-x;
    background-position: center;
    background-size: auto 132px;
}

.mosaic-transition--pattern-modules .mosaic-transition__inner::before {
    background-image: url('/assets/mosaic-pattern-row-modules-slide16.png');
}

.mosaic-transition__pattern {
    display: none !important;
}

.mosaic-tile {
    position: absolute;
    display: block;
    width: 52px;
    height: 52px;
    opacity: .96;
}

.mosaic-tile--cyan {
    background: var(--emd-cyan);
}

.mosaic-tile--orange {
    background: var(--emd-orange);
}

.mosaic-tile--navy {
    background: var(--emd-navy);
}

.mosaic-tile--gray {
    background: var(--emd-gray);
}

.mosaic-tile--bar {
    width: 156px;
    border-radius: 8px 28px 8px 8px;
}

.mosaic-tile--square {
    border-radius: 8px 24px 8px 8px;
}

.mosaic-tile--circle {
    border-radius: 50%;
}

.mosaic-tile--corner {
    width: 104px;
    border-radius: 28px 8px 8px 8px;
}

.mosaic-tile--arch {
    width: 104px;
    height: 104px;
    border-radius: 104px 104px 0 0;
    background:
        radial-gradient(circle at 50% 100%, var(--emd-soft) 0 35%, transparent 36%),
        var(--emd-orange);
}

.mosaic-transition--dark .mosaic-tile--arch {
    background:
        radial-gradient(circle at 50% 100%, var(--emd-navy) 0 35%, transparent 36%),
        var(--emd-orange);
}

.mosaic-transition--a .mosaic-tile--bar {
    right: 328px;
    top: 34px;
}

.mosaic-transition--a .mosaic-tile--square {
    right: 224px;
    top: 0;
}

.mosaic-transition--a .mosaic-tile--circle {
    right: 164px;
    top: 54px;
}

.mosaic-transition--a .mosaic-tile--corner.mosaic-tile--navy {
    right: 72px;
    top: 78px;
}

.mosaic-transition--a .mosaic-tile--corner.mosaic-tile--cyan {
    left: 88px;
    top: 44px;
}

.mosaic-transition--a .mosaic-tile--arch {
    right: -28px;
    top: 28px;
}

.mosaic-transition--a .mosaic-tile--gray {
    left: 236px;
    top: 78px;
    opacity: .72;
}

.mosaic-transition--b .mosaic-tile--bar {
    left: 94px;
    top: 38px;
}

.mosaic-transition--b .mosaic-tile--square {
    left: 270px;
    top: 18px;
}

.mosaic-transition--b .mosaic-tile--circle {
    left: 352px;
    top: 70px;
}

.mosaic-transition--b .mosaic-tile--corner.mosaic-tile--navy {
    right: 190px;
    top: 30px;
}

.mosaic-transition--b .mosaic-tile--corner.mosaic-tile--cyan {
    right: 72px;
    top: 78px;
}

.mosaic-transition--b .mosaic-tile--arch {
    left: -26px;
    top: 30px;
}

.mosaic-transition--b .mosaic-tile--gray {
    right: 330px;
    top: 82px;
    opacity: .72;
}

.mosaic-transition--c .mosaic-tile--bar {
    right: 86px;
    top: 38px;
}

.mosaic-transition--c .mosaic-tile--square {
    right: 270px;
    top: 82px;
}

.mosaic-transition--c .mosaic-tile--circle {
    right: 228px;
    top: 22px;
}

.mosaic-transition--c .mosaic-tile--corner.mosaic-tile--navy {
    left: 162px;
    top: 24px;
}

.mosaic-transition--c .mosaic-tile--corner.mosaic-tile--cyan {
    left: 278px;
    top: 76px;
}

.mosaic-transition--c .mosaic-tile--arch {
    left: 396px;
    top: 20px;
}

.mosaic-transition--c .mosaic-tile--gray {
    right: 18px;
    top: 8px;
    opacity: .72;
}

.payment-redirect .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 13px 20px;
    font: inherit;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
}

.payment-redirect .btn-blue {
    background: var(--emd-navy);
    border-color: var(--emd-navy);
    color: #fff !important;
}

.payment-redirect .payment-checkout-button {
    position: relative;
    isolation: isolate;
    min-height: 58px;
    gap: 10px;
    overflow: hidden;
    border: 0;
    padding: 16px 24px;
    background: var(--emd-orange);
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(242, 104, 57, .24), 0 6px 0 var(--emd-navy);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.payment-redirect .payment-checkout-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0) 46%);
    pointer-events: none;
}

.payment-redirect .payment-checkout-button span {
    position: relative;
    z-index: 1;
}

.payment-redirect .payment-checkout-button::after {
    content: "";
    position: relative;
    z-index: 1;
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.payment-redirect .payment-checkout-button:hover {
    background: var(--emd-navy);
    box-shadow: 0 16px 34px rgba(0, 20, 63, .22), 0 0 0 4px rgba(58, 192, 194, .18);
    transform: translateY(-2px);
}

.payment-redirect .payment-checkout-button:focus-visible {
    outline: 3px solid rgba(58, 192, 194, .44);
    outline-offset: 4px;
}

.payment-redirect .payment-checkout-button:active {
    box-shadow: 0 8px 18px rgba(0, 20, 63, .22), 0 0 0 4px rgba(58, 192, 194, .18);
    transform: translateY(1px);
}

.payment-redirect .btn-white {
    background: #fff;
    border-color: rgba(0, 20, 63, .12);
    color: var(--emd-navy) !important;
}

.payment-status-card {
    width: min(560px, 100%);
    gap: 18px;
}

.payment-status-card__badge {
    display: inline-flex;
    justify-self: center;
    align-items: center;
    min-height: 34px;
    border-radius: 999px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 900;
    color: var(--emd-navy);
    background: rgba(58, 192, 194, .18);
}

.payment-status-card--success .payment-status-card__badge {
    color: #167a43;
    background: rgba(22, 122, 67, .12);
}

.payment-status-card--error .payment-status-card__badge {
    color: #b42318;
    background: rgba(180, 35, 24, .12);
}

.payment-status-card--pending .payment-status-card__badge {
    color: var(--emd-navy);
    background: rgba(242, 183, 5, .22);
}

.payment-status-card__details {
    display: grid;
    gap: 0;
    margin: 4px 0 0;
    padding: 0;
    overflow: hidden;
    text-align: left;
    border: 1px solid rgba(0, 20, 63, .1);
    border-radius: 8px;
}

.payment-status-card__order {
    display: block;
    color: var(--emd-navy);
    font-size: 34px;
    line-height: 1;
}

.payment-status-card__instructions {
    display: grid;
    gap: 10px;
    text-align: left;
}

.payment-status-card__instructions p,
.payment-status-card__instructions ul {
    margin: 0;
}

.payment-status-card__instructions ul {
    padding-left: 20px;
    color: var(--emd-muted, #5f7187);
}

.payment-status-card a {
    color: var(--emd-blue, #0057ff);
    font-weight: 800;
}

.payment-status-card__details div {
    display: grid;
    grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr);
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid rgba(0, 20, 63, .08);
}

.payment-status-card__details div:last-child {
    border-bottom: 0;
}

.payment-status-card__details dt,
.payment-status-card__details dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.payment-status-card__details dt {
    color: var(--emd-muted, #5f7187);
    font-size: 13px;
    font-weight: 900;
}

.payment-status-card__details dd {
    color: var(--emd-navy);
    font-size: 15px;
    font-weight: 800;
}

.payment-status-card__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.agree a {
    color: #0057ff;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 560px) {
    .payment-status-card {
        padding: 24px 18px;
    }

    .payment-status-card__details div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .payment-status-card__actions {
        display: grid;
        width: 100%;
    }
}

.program-card,
.text-section-item,
.price-card,
details,
.contacts-card,
.register-form,
.registration-closed-card,
.org-logo,
.partner-logo {
    border-color: rgba(0, 20, 63, .1);
    box-shadow: 0 18px 46px rgba(0, 20, 63, .08);
}

.price-card.active .price,
.program-event-time,
.footer b {
    color: var(--emd-orange);
}

.price-card.active .price-features li::before {
    background: var(--emd-orange);
}

input:focus,
select:focus,
.register-form textarea:focus,
.partners-track:focus {
    outline-color: rgba(58, 192, 194, .25);
    border-color: var(--emd-cyan);
}

.footer {
    background: #000f24;
}

.footer-socials a:hover img {
    filter: brightness(0) invert(1);
}

.championship-section,
.championship-section .split-card,
.championship-section .split-visual,
.championship-section .split-content {
    max-width: 100%;
    min-width: 0;
}

.championship-section .split-content h2,
.championship-section .split-content p,
.championship-section .simple-list,
.championship-section .simple-list li {
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 980px) {
    .topbar-registration-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin: 8px 0 0;
        width: 100%;
    }

    .main-nav .topbar-registration-link {
        justify-content: center;
        height: 60px;
        min-height: 60px;
    }
}

@media (max-width: 680px) {
    .mosaic-transition {
        min-height: 86px;
    }

    .mosaic-transition::before {
        background-size: 34px 34px;
    }

    .mosaic-transition__inner {
        min-height: 86px;
    }

    .mosaic-transition__inner::before {
        height: 86px;
        background-size: auto 86px;
    }

    .mosaic-tile {
        width: 34px;
        height: 34px;
    }

    .mosaic-tile--bar {
        width: 102px;
    }

    .mosaic-tile--corner {
        width: 68px;
    }

    .mosaic-tile--arch {
        width: 68px;
        height: 68px;
        border-radius: 68px 68px 0 0;
    }

    .mosaic-transition--a .mosaic-tile--bar,
    .mosaic-transition--c .mosaic-tile--bar {
        right: 78px;
        top: 24px;
    }

    .mosaic-transition--a .mosaic-tile--square,
    .mosaic-transition--c .mosaic-tile--square {
        right: 22px;
        top: 8px;
    }

    .mosaic-transition--a .mosaic-tile--circle,
    .mosaic-transition--c .mosaic-tile--circle {
        right: 126px;
        top: 54px;
    }

    .mosaic-transition--b .mosaic-tile--bar {
        left: 18px;
        top: 24px;
    }

    .mosaic-transition--b .mosaic-tile--square {
        left: 138px;
        top: 10px;
    }

    .mosaic-transition--b .mosaic-tile--circle {
        left: 196px;
        top: 52px;
    }

    .mosaic-transition--a .mosaic-tile--corner,
    .mosaic-transition--a .mosaic-tile--arch,
    .mosaic-transition--a .mosaic-tile--gray,
    .mosaic-transition--b .mosaic-tile--corner,
    .mosaic-transition--b .mosaic-tile--arch,
    .mosaic-transition--b .mosaic-tile--gray,
    .mosaic-transition--c .mosaic-tile--corner,
    .mosaic-transition--c .mosaic-tile--arch,
    .mosaic-transition--c .mosaic-tile--gray {
        display: none;
    }

    .event-date {
        border-radius: 22px;
        gap: 10px;
    }

    .date-big {
        font-size: 72px;
    }

    .date-small {
        font-size: 24px;
    }

    .event-place span:nth-child(2) {
        font-size: .75em;
    }

    .hero-logo {
        width: min(100%, 238px);
    }

    .championship-section .split-content h2 {
        max-width: 100%;
        font-size: 28px;
        line-height: 1.18;
    }

    .championship-section .section-title {
        font-size: 30px;
    }

    .championship-section .simple-list {
        padding-left: 18px;
    }

    .championship-section .split-card {
        width: calc(100% - 24px);
    }

    .championship-section .split-visual {
        min-height: 260px;
    }

    .championship-section .split-content {
        width: 100%;
    }

    .championship-section .btn {
        width: 100%;
    }
}

.workshops-hero {
    position: relative;
    overflow: hidden;
    min-height: 575px;
    padding: 0;
    background:
        linear-gradient(rgba(0, 26, 59, .88), rgba(0, 26, 59, .88)),
        url('/assets/figma/1f78bd80c628784d689752992da2a5bde6398dfb') center 48% / cover no-repeat;
    color: #fff;
}

.workshops-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
    gap: 72px;
    align-items: center;
    min-height: 575px;
    padding-top: 48px;
    padding-bottom: 48px;
}

.workshops-hero h1 {
    max-width: 780px;
    margin: 0;
    color: #33cccc;
    font-size: 64px;
    line-height: 1.06;
    letter-spacing: 0;
    font-weight: 700;
}

.workshops-hero p {
    max-width: 650px;
    margin: 54px 0 0;
    color: #ff6633;
    font-size: 27px;
    line-height: 1.22;
    font-weight: 600;
}

.workshops-hero__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.workshops-hero__media img {
    display: block;
    width: min(100%, 390px);
    height: auto;
    object-fit: contain;
}

.workshops-list-section {
    padding: 84px 0 96px;
}

.workshops-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 40px;
}

.workshop-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0, 20, 63, .1);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(0, 20, 63, .08);
}

.workshop-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    background: #eaf0f4;
    overflow: hidden;
}

.workshop-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.workshop-card:hover .workshop-card__image img {
    transform: scale(1.035);
}

.workshop-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}

.workshop-card__price {
    align-self: flex-start;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0 12px;
    background: rgba(58, 192, 194, .14);
    color: var(--emd-navy);
    font-size: 14px;
    font-weight: 900;
}

.workshop-card h3 {
    margin: 18px 0 0;
    color: var(--emd-navy);
    font-size: 23px;
    line-height: 1.18;
    letter-spacing: 0;
}

.workshop-card p {
    margin: 14px 0 0;
    color: #5f7187;
    font-size: 16px;
    line-height: 1.48;
}

.workshop-card__meta {
    display: grid;
    gap: 12px;
    margin: 22px 0 24px;
}

.workshop-card__meta div {
    display: grid;
    gap: 4px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 20, 63, .08);
}

.workshop-card__meta dt {
    color: #5f7187;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.workshop-card__meta dd {
    margin: 0;
    color: var(--emd-navy);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}

.workshop-card__button {
    width: 100%;
    margin-top: auto;
}

.workshops-empty {
    margin-top: 36px;
    padding: 30px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(0, 20, 63, .1);
    color: var(--emd-navy);
    font-size: 18px;
    font-weight: 800;
}

.legal-page {
    background: linear-gradient(180deg, #f5f8fb 0%, #eef5f8 100%);
}

.legal-section {
    padding: 72px 0 96px;
}

.legal-container {
    width: min(1040px, calc(100% - 40px));
}

.legal-document {
    width: 100%;
    border-radius: 8px;
    border: 1px solid rgba(0, 20, 63, .1);
    background: #fff;
    padding: 58px 64px;
    box-shadow: 0 22px 70px rgba(0, 20, 63, .08);
}

.legal-document h1 {
    margin: 0 0 30px;
    color: var(--emd-navy);
    font-size: 46px;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 900;
}

.legal-document__body {
    max-width: 860px;
}

.legal-document__body p {
    margin: 0 0 18px;
    color: #39506b;
    font-size: 18px;
    line-height: 1.62;
    overflow-wrap: anywhere;
}

.legal-document__body p:first-child {
    color: #5f7187;
    font-size: 20px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .workshops-hero__inner {
        grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
        gap: 36px;
    }

    .workshops-hero h1 {
        font-size: 50px;
    }

    .workshops-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .workshops-hero {
        min-height: 645px;
        background:
            linear-gradient(rgba(0, 26, 59, .87), rgba(0, 26, 59, .87)),
            url('/assets/figma/1f78bd80c628784d689752992da2a5bde6398dfb') center / cover no-repeat;
    }

    .workshops-hero__inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 645px;
        width: 100%;
        gap: 0;
        padding: 48px 28px 54px;
    }

    .workshops-hero__media {
        order: -1;
        width: 100%;
    }

    .workshops-hero__media img {
        width: 235px;
        max-width: 70vw;
    }

    .workshops-hero h1 {
        max-width: 310px;
        margin: 54px auto 0;
        font-size: 46px;
        line-height: 1.34;
        text-align: center;
    }

    .workshops-hero p {
        max-width: 320px;
        margin: 34px auto 0;
        font-size: 22px;
        line-height: 1.18;
        text-align: center;
    }

    .workshops-list-section {
        padding: 62px 0 70px;
    }

    .workshops-grid {
        grid-template-columns: 1fr;
    }

    .workshop-card__body {
        padding: 20px;
    }

    .legal-section {
        padding: 42px 0 64px;
    }

    .legal-container {
        width: min(100% - 24px, 1040px);
    }

    .legal-document {
        padding: 28px 22px;
    }

    .legal-document h1 {
        margin-bottom: 22px;
        font-size: 34px;
    }

    .legal-document__body p,
    .legal-document__body p:first-child {
        font-size: 16px;
        line-height: 1.56;
    }
}

.workshop-detail-hero {
    padding: 42px 0 70px;
    background: linear-gradient(135deg, #00143F 0%, #00143F 54%, #3AC0C2 100%);
    color: #fff;
}

.workshop-detail-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 500px);
    gap: 44px;
    align-items: center;
}

.workshop-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-bottom: 22px;
    border-radius: 8px;
    padding: 0 14px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.workshop-detail-hero h1 {
    max-width: 820px;
    margin: 24px 0 0;
    font-size: 56px;
    line-height: 1.03;
    letter-spacing: 0;
    font-weight: 900;
}

.workshop-detail-hero p {
    max-width: 720px;
    margin: 22px 0 0;
    color: #DCDDDE;
    font-size: 20px;
    line-height: 1.45;
    font-weight: 700;
}

.workshop-detail-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.workshop-detail-hero__image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 24px 70px rgba(2, 17, 34, .24);
}

.workshop-detail-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.workshop-detail-summary {
    margin-top: -34px;
    position: relative;
    z-index: 2;
}

.workshop-detail-summary__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.workshop-detail-summary article {
    min-height: 116px;
    display: grid;
    align-content: start;
    gap: 10px;
    border-radius: 8px;
    border: 1px solid rgba(0, 20, 63, .1);
    background: #fff;
    padding: 20px;
    box-shadow: 0 18px 46px rgba(0, 20, 63, .08);
}

.workshop-detail-summary span {
    color: #5f7187;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.workshop-detail-summary b {
    color: var(--emd-navy);
    font-size: 18px;
    line-height: 1.25;
}

.workshop-detail-content {
    padding: 72px 0 96px;
}

.workshop-detail-content__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}

.workshop-detail-main {
    display: grid;
    gap: 28px;
}

.workshop-detail-main section,
.workshop-register-card,
.workshop-contact-card {
    border-radius: 8px;
    border: 1px solid rgba(0, 20, 63, .1);
    background: #fff;
    padding: 30px;
    box-shadow: 0 18px 46px rgba(0, 20, 63, .08);
}

.workshop-detail-main h2,
.workshop-register-card h2,
.workshop-contact-card h2 {
    margin: 0 0 18px;
    color: var(--emd-navy);
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: 0;
}

.workshop-detail-main p,
.workshop-register-card p,
.workshop-contact-card p {
    margin: 0;
    color: #5f7187;
    font-size: 17px;
    line-height: 1.55;
}

.workshop-program-list {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: program;
}

.workshop-program-list li {
    position: relative;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-radius: 8px;
    background: rgba(58, 192, 194, .1);
    padding: 14px 16px;
    color: var(--emd-navy);
    font-weight: 800;
    line-height: 1.35;
    counter-increment: program;
}

.workshop-program-list li::before {
    content: counter(program);
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--emd-orange);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.workshop-speaker {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.workshop-speaker img {
    width: 128px;
    height: 128px;
    object-fit: cover;
    object-position: top center;
    border-radius: 8px;
    background: var(--emd-soft);
}

.workshop-speaker h3 {
    margin: 0;
    color: var(--emd-navy);
    font-size: 22px;
    line-height: 1.2;
}

.workshop-speaker span {
    display: block;
    margin-top: 7px;
    color: var(--emd-cyan);
    font-weight: 900;
    line-height: 1.35;
}

.workshop-speaker p {
    margin-top: 12px;
}

.workshop-detail-sidebar {
    position: static;
    width: min(100%, 760px);
    justify-self: center;
    display: grid;
    gap: 18px;
}

.workshop-register-card {
    background: var(--emd-navy);
    color: #fff;
}

.workshop-register-card h2,
.workshop-register-card p {
    color: #fff;
}

.workshop-register-card .workshop-price-note {
    margin-top: 14px;
    color: #DCDDDE;
}

.workshop-register-card .btn {
    margin-top: 16px;
}

.workshop-registration-form {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.workshop-form-title {
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.workshop-registration-form label {
    color: #fff;
    margin-bottom: 0;
}

.workshop-registration-form input,
.workshop-registration-form textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    color: var(--emd-navy);
}

.workshop-registration-form textarea {
    min-height: 92px;
    padding: 13px 14px;
    resize: vertical;
}

.workshop-registration-form .agree {
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    color: #DCDDDE;
}

.workshop-registration-form .agree input {
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
}

.workshop-registration-message {
    margin-top: 16px !important;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    padding: 14px;
    color: #fff !important;
    font-weight: 800;
}

.workshop-registration-message.is-error {
    background: rgba(180, 35, 24, .22);
}

.workshop-faq-list {
    margin-top: 0;
}

@media (max-width: 980px) {
    .workshop-detail-hero__grid,
    .workshop-detail-content__grid {
        grid-template-columns: 1fr;
    }

    .workshop-detail-hero h1 {
        font-size: 44px;
    }

    .workshop-detail-summary__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workshop-detail-sidebar {
        position: static;
    }
}

@media (max-width: 680px) {
    .workshop-detail-hero {
        padding: 30px 0 54px;
    }

    .workshop-detail-hero h1 {
        font-size: 34px;
    }

    .workshop-detail-hero p {
        font-size: 18px;
    }

    .workshop-detail-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .workshop-detail-summary__grid {
        grid-template-columns: 1fr;
    }

    .workshop-detail-content {
        padding: 52px 0 70px;
    }

    .workshop-detail-main section,
    .workshop-register-card,
    .workshop-contact-card {
        padding: 22px;
    }

    .workshop-speaker {
        grid-template-columns: 1fr;
    }
}

/* Dedicated registration pages use a centered, single-column form layout. */
.registration-page-section .registration-card {
    grid-template-columns: minmax(0, 840px);
    justify-content: center;
    gap: 32px;
}

.registration-page-section .registration-info {
    text-align: center;
}

.registration-page-section .registration-info p,
.registration-page-section .steps {
    margin-right: auto;
    margin-left: auto;
}

.registration-page-section .steps {
    max-width: 620px;
}

.registration-page-section .register-form,
.registration-page-section .registration-closed-card {
    width: 100%;
}

.conditional-field[hidden] {
    display: none;
}

/* Keep speaker portraits fully visible inside their cards. */
.speaker-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
}

.social-link__icon--youtube {
    -webkit-mask-image: url('/assets/yt.svg');
    mask-image: url('/assets/yt.svg');
}
