:root {
    --navy: #171c45;
    --purple: #a9208c;
    --magenta: #c30078;
    --red: #df2143;
    --orange: #ff6f3c;
    --white: #fff;
    --soft-white: rgba(255, 255, 255, .86);
    --line: rgba(255, 255, 255, .2);
    --shadow: 0 24px 60px rgba(74, 0, 47, .25);
    --container: 1240px;
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    background: #f7f3f6;
}

body {
    margin: 0;
    min-width: 320px;
    color: var(--white);
    background: #f7f3f6;
    font-family: "Circe", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.hero {
    position: relative;
    min-height: 100svh;
    overflow: hidden;
    isolation: isolate;
    background:
            radial-gradient(circle at 18% 13%, rgba(255, 255, 255, .09), transparent 24%),
            radial-gradient(circle at 88% 82%, rgba(216, 126, 102, .18), transparent 34%),
            linear-gradient(122deg, #32172f 0%, #552040 38%, #762c4d 72%, #904552 100%);
}

.hero::before,
.hero::after {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
}

.hero::before {
    width: 560px;
    height: 560px;
    right: -140px;
    bottom: -280px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 50%;
    box-shadow:
            0 0 0 84px rgba(255, 255, 255, .035),
            0 0 0 168px rgba(255, 255, 255, .025);
}

.hero::after {
    width: 380px;
    height: 380px;
    top: -255px;
    left: 33%;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
}

.container {
    width: min(calc(100% - 64px), var(--container));
    margin-inline: auto;
}

.header {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 82px;
    margin-top: 18px;
    padding: 0 22px;
    gap: 32px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 20px;
    background: rgba(30, 10, 27, .34);
    backdrop-filter: blur(14px);
}

.logo-link {
    display: inline-flex;
    grid-column: 1;
    align-items: center;
    flex: 0 0 auto;
    border-radius: 10px;
}

.logo-link:focus-visible,
.nav a:focus-visible,
.button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 4px;
}

.logo {
    display: block;
    width: 168px;
    height: auto;
}

.nav {
    display: flex;
    grid-column: 2;
    align-items: center;
    justify-content: center;
    gap: 34px;
    font-size: 16px;
    font-weight: 600;
}

.nav a {
    position: relative;
    padding-block: 12px;
    text-decoration: none;
    color: rgba(255, 255, 255, .96);
}

.nav a::after {
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;
    height: 1px;
    content: "";
    background: var(--white);
    transform: scaleX(0);
    transition: transform .2s ease;
}

.nav a:hover {
    color: var(--white);
}

.nav a:hover::after {
    transform: scaleX(1);
}

.header-cta {
    display: inline-flex;
    grid-column: 3;
    justify-self: end;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 14px;
    color: var(--white);
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: background .2s ease, color .2s ease;
}

.header-cta:hover {
    color: var(--magenta);
    background: var(--white);
}

.hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
    align-items: center;
    gap: 54px;
    min-height: calc(100svh - 100px);
    padding: 76px 0 64px;
}

.hero-copy {
    position: relative;
    z-index: 3;
    max-width: 610px;
}

.event-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 28px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    background: rgba(24, 8, 22, .28);
    backdrop-filter: blur(10px);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.event-label::before {
    width: 8px;
    height: 8px;
    content: "";
    border-radius: 50%;
    background: #ffd2e8;
    box-shadow: 0 0 0 5px rgba(255, 210, 232, .13);
}

h1 {
    max-width: 610px;
    margin: 0;
    font-size: clamp(52px, 5vw, 72px);
    font-weight: 700;
    line-height: .96;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.title-main {
    display: block;
    max-width: 590px;
}

.title-accent {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 15px;
    padding: 8px 14px;
    border-radius: .25em;
    color: #7c284d;
    background: #fff8f5;
    box-shadow: 0 14px 32px rgba(25, 7, 22, .18);
    font-size: .55em;
    line-height: 1;
    letter-spacing: -.025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.lead {
    max-width: 590px;
    margin: 27px 0 0;
    color: var(--soft-white);
    font-size: clamp(18px, 1.4vw, 21px);
    font-weight: 400;
    line-height: 1.48;
}

.lead + .lead {
    margin-top: 8px;
    color: rgba(255, 255, 255, .98);
}

.facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 27px 0 0;
    padding: 0;
    list-style: none;
}

.facts li {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    gap: 8px;
    padding: 8px 13px 8px 11px;
    border: 1px solid rgba(255, 255, 255, .27);
    border-radius: 12px;
    color: rgba(255, 255, 255, .94);
    background: rgba(105, 0, 61, .16);
    backdrop-filter: blur(8px);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.facts li::before {
    display: inline-grid;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    place-items: center;
    content: "✓";
    border-radius: 50%;
    color: #a80065;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
}

.actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 12px;
    margin-top: 31px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 16px;
    text-align: center;
    text-decoration: none;
    font-size: 17px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.1;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.actions .button {
    width: 100%;
    height: 100%;
}

.button:hover {
    transform: translateY(-2px);
}

.button-primary {
    color: #b80064;
    background: var(--white);
    box-shadow: 0 16px 36px rgba(90, 0, 51, .22);
}

.button-primary:hover {
    box-shadow: 0 20px 42px rgba(90, 0, 51, .32);
}

.button-secondary {
    border-color: rgba(255, 255, 255, .5);
    color: var(--white);
    background: rgba(98, 0, 56, .18);
    backdrop-filter: blur(8px);
}

.button-secondary:hover {
    background: rgba(98, 0, 56, .32);
}

.purchase-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    max-width: 570px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
    line-height: 1.4;
}

.purchase-note svg {
    flex: 0 0 auto;
    margin-top: 1px;
}

.visual-wrap {
    position: relative;
    width: 100%;
    max-height: 690px;
    aspect-ratio: 4 / 5;
    align-self: center;
}

.visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 38px;
    background-image: url("assets/hero-teacher-v2.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: var(--shadow);
}

.visual::before {
    position: absolute;
    inset: 0;
    content: "";
    background:
            linear-gradient(90deg, rgba(169, 0, 89, .16), transparent 23%),
            linear-gradient(0deg, rgba(70, 0, 40, .2), transparent 42%);
    pointer-events: none;
}

.visual-tag {
    position: absolute;
    z-index: 2;
    top: 22px;
    right: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 14px;
    color: rgba(255, 255, 255, .95);
    background: rgba(87, 0, 52, .22);
    backdrop-filter: blur(12px);
    font-size: 14px;
    font-weight: 600;
}

.visual-tag svg {
    color: #ffd3e7;
}

.outcome-card {
    position: absolute;
    z-index: 3;
    right: 22px;
    bottom: 22px;
    width: min(370px, calc(100% - 44px));
    padding: 20px 22px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 22px;
    color: var(--navy);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 42px rgba(75, 0, 45, .2);
    backdrop-filter: blur(16px);
}

.outcome-card strong {
    display: block;
    margin-bottom: 6px;
    font-size: 18px;
    line-height: 1.16;
}

.outcome-card span {
    display: block;
    color: #5f6175;
    font-size: 14px;
    line-height: 1.4;
}

.node-lines {
    position: absolute;
    z-index: 1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: .65;
}

.node-lines svg {
    position: absolute;
    top: 118px;
    left: 0;
    width: 100%;
    height: 60%;
}

.page-section {
    position: relative;
    overflow: hidden;
    padding: 104px 0;
    color: #211d24;
    background: #fff;
}

.page-section + .page-section {
    border-top: 1px solid #eadfe6;
}

.page-section.soft {
    background: #f7f1f5;
}

.page-section.tint {
    background: linear-gradient(135deg, #fceff6 0%, #fff5ef 100%);
}

.section-head {
    max-width: 820px;
    margin-bottom: 48px;
}

.section-head.center {
    margin-inline: auto;
    text-align: center;
}

.eyebrow {
    margin: 0 0 12px;
    color: #aa0f70;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.section-title {
    margin: 0;
    color: #211d24;
    font-size: clamp(38px, 4.25vw, 60px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.section-lead {
    max-width: 760px;
    margin: 18px 0 0;
    color: #565057;
    font-size: 19px;
    line-height: 1.55;
}

.center .section-lead {
    margin-inline: auto;
}

.situation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.situation-card,
.bundle-card,
.format-card {
    border: 1px solid #dfcfd9;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(57, 24, 46, .08);
}

.situation-card {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    padding: 28px;
}

.situation-number {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 32px;
    place-items: center;
    border-radius: 15px;
    color: #bd137d;
    background: #f9eaf4;
    font-size: 15px;
    font-weight: 700;
}

.situation-card h3,
.bundle-card h3,
.format-card h3 {
    margin: 0;
    color: #211d24;
    font-size: 24px;
    line-height: 1.15;
}

.situation-card p,
.bundle-card p,
.format-card p {
    margin: 14px 0 0;
    color: #5f5861;
    font-size: 18px;
    line-height: 1.5;
}

.situation-result {
    margin-top: auto;
    padding-top: 24px;
    color: #bd137d;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.process-shell {
    padding: 48px;
    border-radius: 36px;
    color: #fff;
    background: linear-gradient(120deg, #981071 0%, #c80a74 48%, #ed4a3f 100%);
    box-shadow: 0 28px 70px rgba(122, 0, 76, .18);
}

.process-shell .eyebrow,
.process-shell .section-title,
.process-shell .section-lead {
    color: #fff;
}

.process-shell .section-lead {
    color: rgba(255, 255, 255, .8);
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 40px;
}

.process-step {
    position: relative;
    min-height: 196px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 20px;
    background: rgba(76, 0, 49, .16);
    backdrop-filter: blur(8px);
}

.process-step span {
    display: block;
    margin-bottom: 28px;
    color: #ffd0e6;
    font-size: 15px;
    font-weight: 700;
}

.process-step strong {
    display: block;
    font-size: 20px;
    line-height: 1.15;
}

.process-step p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .96);
    font-size: 17px;
    line-height: 1.5;
}

.result-callout {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    padding: 22px 24px;
    border-radius: 20px;
    color: #281b28;
    background: #fff;
}

.result-callout strong {
    font-size: 18px;
}

.result-callout p {
    margin: 3px 0 0;
    color: #746d76;
    line-height: 1.45;
}

.result-mark {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: #bc147d;
    font-size: 24px;
    font-weight: 700;
}

.program-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 9px 13px;
    border-radius: 999px;
    color: #815d71;
    background: #f7eaf2;
    font-size: 14px;
    font-weight: 600;
}

.program-list {
    display: grid;
    gap: 12px;
}

.program-day {
    border: 1px solid #eadde5;
    border-radius: 22px;
    background: #fff;
    overflow: hidden;
}

.program-day summary {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    min-height: 104px;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
}

.program-day summary::-webkit-details-marker { display: none; }

.day-badge {
    display: grid;
    min-height: 58px;
    place-items: center;
    border-radius: 16px;
    color: #af126f;
    background: #f9eaf4;
    font-weight: 700;
}

.day-badge.free {
    color: #fff;
    background: linear-gradient(135deg, #b20b75, #e7384d);
}

.day-copy strong {
    display: block;
    color: #211d24;
    font-size: 22px;
    line-height: 1.2;
}

.day-copy span {
    display: block;
    margin-top: 7px;
    color: #756e77;
    font-size: 15px;
}

.day-toggle {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #e6d9e1;
    border-radius: 50%;
    color: #b71179;
    font-size: 22px;
    transition: transform .2s ease;
}

.program-day[open] .day-toggle { transform: rotate(45deg); }

.day-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 0 24px 24px 140px;
}

.day-details div {
    padding: 18px;
    border-radius: 16px;
    background: #faf6f9;
}

.day-details small {
    display: block;
    margin-bottom: 7px;
    color: #a54a80;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.day-details p {
    margin: 0;
    color: #655f67;
    font-size: 18px;
    line-height: 1.5;
}

.access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

.access-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 34px;
    border: 1px solid #eadde5;
    border-radius: 30px;
    color: #211d24;
    background: #fff;
    box-shadow: 0 20px 55px rgba(59, 25, 48, .06);
}

.access-card.featured {
    border: 0;
    color: #fff;
    background: linear-gradient(145deg, #a80c74 0%, #d41468 58%, #f0523f 100%);
    box-shadow: 0 28px 70px rgba(141, 0, 83, .24);
}

.access-card:not(.featured) { align-self: stretch; }

.access-card:not(.featured) .button { margin-top: auto; }

.access-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.access-pill {
    padding: 8px 11px;
    border-radius: 999px;
    color: #b71077;
    background: #f8e8f2;
    letter-spacing: 0;
    text-transform: none;
}

.featured .access-pill {
    color: #921060;
    background: #fff;
}

.access-card h3 {
    margin: 0;
    font-size: 34px;
    line-height: 1.05;
}

.access-card > p {
    margin: 15px 0 0;
    color: #514b52;
    font-size: 19px;
    line-height: 1.55;
}

.access-card.featured > p { color: rgba(255, 255, 255, .94); }

.access-list {
    display: grid;
    gap: 14px;
    margin: 28px 0;
    padding: 0;
    list-style: none;
}

.access-list li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 10px;
    font-size: 17px;
    line-height: 1.4;
}

.access-list li::before {
    display: flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    align-self: start;
    margin-top: 1px;
    content: "✓";
    border-radius: 50%;
    color: #b80f77;
    background: #f8e6f1;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.featured .access-list li::before {
    color: #a20c6b;
    background: #fff;
}

.access-price {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: auto;
}

.access-price strong {
    font-size: 48px;
    line-height: 1;
}

.access-price span {
    padding-bottom: 5px;
    color: rgba(255, 255, 255, .72);
}

.access-card .button {
    width: 100%;
    margin-top: 24px;
}

.access-card:not(.featured) .button-secondary {
    border-color: #ce1b83;
    color: #b81176;
    background: transparent;
}

.deadline-note {
    margin-top: 13px;
    text-align: center;
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
}

.value-stack {
    position: relative;
    overflow: hidden;
    padding: 48px;
    border-radius: 36px;
    color: #fff;
    background: linear-gradient(128deg, #211923 0%, #5a1045 56%, #a50b70 100%);
    box-shadow: 0 28px 72px rgba(58, 18, 45, .16);
}

.value-stack::after {
    position: absolute;
    right: -110px;
    bottom: -180px;
    width: 440px;
    height: 440px;
    content: "";
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
}

.value-stack .eyebrow,
.value-stack .section-title,
.value-stack .section-lead {
    color: #fff;
}

.value-stack .section-lead {
    color: rgba(255, 255, 255, .78);
}

.value-stack-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    align-items: stretch;
    gap: 20px;
    margin-top: 36px;
}

.value-parts {
    display: grid;
    gap: 12px;
}

.value-part {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 20px;
    background: rgba(255, 255, 255, .08);
}

.value-part strong {
    display: block;
    font-size: 20px;
    line-height: 1.25;
}

.value-part span {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
    line-height: 1.45;
}

.value-part b {
    font-size: 28px;
    white-space: nowrap;
}

.value-part b small {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

.value-total {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border-radius: 24px;
    color: #281b28;
    background: #fff;
}

.value-total > span {
    color: #796f77;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.value-total del {
    margin-top: 10px;
    color: #9a9098;
    font-size: 30px;
    font-weight: 700;
}

.value-total strong {
    margin-top: 2px;
    color: #bc117a;
    font-size: 56px;
    line-height: 1;
}

.value-total p {
    margin: 14px 0 0;
    color: #6f6670;
    line-height: 1.5;
}

.value-total .button {
    width: 100%;
    margin-top: 22px;
}

.value-total .button-primary {
    color: #fff;
    background: linear-gradient(135deg, #b40d75, #e53751);
}

.value-disclaimer {
    position: relative;
    z-index: 1;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 14px;
    line-height: 1.5;
}

.value-disclaimer a {
    color: #fff;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.bundle-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.bundle-card {
    min-height: 228px;
    padding: 26px;
}

.materials-showcase {
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 52px;
    padding: 48px;
    border: 1px solid #eadde5;
    border-radius: 36px;
    background:
            radial-gradient(circle at 9% 12%, rgba(204, 21, 127, .11), transparent 30%),
            #fff;
    box-shadow: 0 24px 65px rgba(63, 25, 51, .07);
}

.materials-scene {
    position: relative;
    min-height: 450px;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(145deg, #f9eaf4 0%, #fff4ed 100%);
}

.materials-scene::before {
    position: absolute;
    top: -84px;
    right: -74px;
    width: 260px;
    height: 260px;
    content: "";
    border: 34px solid rgba(206, 20, 126, .08);
    border-radius: 50%;
}

.guide-book,
.guide-notebook,
.material-sheet,
.material-note,
.material-kpk {
    position: absolute;
    box-shadow: 0 20px 42px rgba(78, 25, 58, .16);
}

.guide-book {
    display: flex;
    left: 42px;
    bottom: 74px;
    width: 290px;
    min-height: 82px;
    padding: 20px 26px;
    align-items: center;
    justify-content: center;
    border-radius: 10px 18px 18px 10px;
    color: #fff;
    background: linear-gradient(115deg, #9a0c6d, #d8187a);
    transform: rotate(-4deg);
    font-size: 17px;
    font-weight: 800;
    letter-spacing: .035em;
    text-align: center;
}

.guide-notebook {
    display: flex;
    left: 66px;
    bottom: 157px;
    width: 272px;
    min-height: 90px;
    padding: 25px 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfcbd7;
    border-radius: 14px;
    color: #2b222a;
    background: #fff;
    transform: rotate(3deg);
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.material-sheet {
    top: 38px;
    left: 34px;
    width: 255px;
    min-height: 190px;
    padding: 26px;
    border-radius: 16px;
    color: #2e242d;
    background: #fff;
    transform: rotate(-5deg);
}

.material-sheet strong {
    display: block;
    margin-bottom: 20px;
    color: #af0e73;
    font-size: 14px;
    letter-spacing: .04em;
}

.sheet-line {
    position: relative;
    height: 10px;
    margin: 14px 0 0 30px;
    border-radius: 999px;
    background: #eadde5;
}

.sheet-line::before {
    position: absolute;
    top: -3px;
    left: -30px;
    width: 17px;
    height: 17px;
    content: "✓";
    border: 1px solid #d793bb;
    border-radius: 5px;
    color: #b31377;
    font-size: 12px;
    font-weight: 800;
    line-height: 15px;
    text-align: center;
}

.material-note {
    display: flex;
    top: 88px;
    right: 28px;
    width: 150px;
    min-height: 116px;
    padding: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(145deg, #ec4b43, #d2146f);
    transform: rotate(7deg);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.material-kpk {
    right: 28px;
    bottom: 42px;
    padding: 14px 18px;
    border: 1px solid #e1c6d5;
    border-radius: 16px;
    color: #a70d6f;
    background: #fff;
    transform: rotate(-2deg);
    font-size: 15px;
    font-weight: 800;
}

.materials-copy .section-head {
    margin-bottom: 28px;
}

.materials-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.materials-list li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding: 15px 0;
    border-top: 1px solid #eee2e9;
}

.materials-list li:first-child { border-top: 0; }

.material-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    color: #b31176;
    background: #f9e9f3;
    font-size: 14px;
    font-weight: 800;
}

.materials-list strong {
    display: block;
    color: #282128;
    font-size: 18px;
    line-height: 1.25;
}

.materials-list span:not(.material-icon) {
    display: block;
    margin-top: 4px;
    color: #514b52;
    font-size: 17px;
    line-height: 1.5;
}

.bundle-label {
    display: inline-flex;
    margin-bottom: 26px;
    padding: 7px 10px;
    border-radius: 10px;
    color: #b81378;
    background: #f9e9f3;
    font-size: 13px;
    font-weight: 700;
}

.kpk-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 40px;
    padding: 48px;
    border: 1px solid #eddce7;
    border-radius: 36px;
    background:
            radial-gradient(circle at 88% 18%, rgba(206, 27, 131, .11), transparent 24%),
            #fff;
    box-shadow: 0 24px 65px rgba(63, 25, 51, .07);
}

.kpk-panel h2 {
    max-width: 760px;
    margin: 0;
    color: #211d24;
    font-size: clamp(34px, 3.8vw, 52px);
    line-height: 1.05;
    letter-spacing: -.03em;
}

.kpk-panel p {
    margin: 18px 0 0;
    color: #706971;
    font-size: 17px;
    line-height: 1.55;
}

.kpk-panel .kpk-name {
    max-width: 760px;
    margin-top: 14px;
    color: #302930;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}

.kpk-stats {
    display: grid;
    align-content: center;
    gap: 12px;
}

.kpk-stat {
    padding: 20px;
    border-radius: 20px;
    color: #252027;
    background: #faf3f8;
}

.kpk-stat strong {
    display: block;
    color: #b60f77;
    font-size: 28px;
}

.kpk-stat span {
    display: block;
    margin-top: 4px;
    color: #716a73;
    line-height: 1.35;
}

.format-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.format-card {
    min-height: 225px;
    padding: 25px;
}

.format-card strong {
    display: block;
    margin-bottom: 36px;
    color: #b71379;
    font-size: 34px;
    line-height: 1;
}

.community-panel,
.expert-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 54px;
    padding: 46px;
    border-radius: 34px;
}

.community-panel {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
            radial-gradient(circle at 88% 2%, rgba(0, 191, 255, .72) 0%, rgba(0, 191, 255, 0) 34%),
            linear-gradient(135deg, #0d001a 0%, #471aff 52%, #9500ff 100%);
    box-shadow: 0 28px 72px rgba(71, 26, 255, .22);
}

.community-panel::before {
    position: absolute;
    right: -90px;
    bottom: -150px;
    width: 380px;
    height: 380px;
    content: "";
    border: 70px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}

.community-panel > * {
    position: relative;
    z-index: 1;
}

.community-panel .eyebrow { color: #00bfff; }

.community-panel .section-title { color: #fff; }

.community-panel .section-lead { color: rgba(255, 255, 255, .82); }

.community-points {
    display: grid;
    gap: 12px;
}

.community-point {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 18px;
    background: rgba(13, 0, 26, .3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(10px);
}

.community-point strong { display: block; font-size: 18px; }

.community-point span {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .78);
    line-height: 1.4;
}

.expert-panel {
    border: 1px solid #e9dce4;
    background: #fff;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}

.expert-avatar {
    position: relative;
    display: flex;
    min-height: 360px;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    border-radius: 28px;
    background:
            radial-gradient(circle at 50% 34%, rgba(255, 255, 255, .88) 0 17%, transparent 17.5%),
            radial-gradient(ellipse at 50% 86%, rgba(255, 255, 255, .82) 0 32%, transparent 32.5%),
            radial-gradient(circle at 68% 20%, rgba(255, 255, 255, .18), transparent 24%),
            linear-gradient(145deg, #a70a73, #db1c5d 60%, #f46743);
}

.expert-avatar span {
    position: relative;
    z-index: 2;
    margin-bottom: 22px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 999px;
    color: #fff;
    background: rgba(92, 0, 57, .24);
    backdrop-filter: blur(9px);
    font-size: 13px;
    font-weight: 700;
}

.expert-meta h2 {
    margin: 0;
    color: #211d24;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.04;
}

.expert-meta p {
    margin: 16px 0 0;
    color: #716a73;
    font-size: 17px;
    line-height: 1.5;
}

.expert-placeholder {
    display: inline-flex;
    margin-bottom: 16px;
    padding: 8px 11px;
    border-radius: 999px;
    color: #8a6179;
    background: #f7edf3;
    font-size: 13px;
    font-weight: 700;
}

.experts-intro {
    max-width: 850px;
    margin-bottom: 36px;
}

.experts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.expert-card {
    display: grid;
    grid-template-columns: minmax(180px, .72fr) minmax(0, 1.28fr);
    overflow: hidden;
    border: 1px solid #e9dce4;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(72, 31, 57, .08);
}

.expert-photo {
    min-height: 440px;
    background: #f5eaf0;
}

.expert-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expert-photo.diana img { object-position: 56% center; }
.expert-photo.irina img { object-position: 54% center; }

.expert-card-copy {
    display: flex;
    flex-direction: column;
    padding: 30px;
}

.speaker-days {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    margin-bottom: 15px;
    color: #a50b70;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.speaker-days::before {
    width: 28px;
    height: 3px;
    content: "";
    border-radius: 999px;
    background: linear-gradient(90deg, #b20b75, #e7384d);
}

.expert-card h3 {
    margin: 0;
    color: #211d24;
    font-size: clamp(28px, 3vw, 39px);
    line-height: 1.04;
}

.expert-role {
    margin: 14px 0 0;
    color: #4d4650;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
}

.expert-credentials {
    display: grid;
    gap: 8px;
    margin: 20px 0 0;
    padding: 0;
    color: #716a73;
    font-size: 14px;
    line-height: 1.45;
    list-style: none;
}

.expert-credentials li {
    position: relative;
    padding-left: 18px;
}

.expert-credentials li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 7px;
    height: 7px;
    content: "";
    border-radius: 50%;
    background: #c51480;
}

.expert-focus {
    margin: auto 0 0;
    padding-top: 22px;
    color: #716a73;
    font-size: 15px;
    line-height: 1.5;
}

@media (max-width: 1080px) {
    .experts-grid { grid-template-columns: 1fr; }
    .expert-card { grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); }
}

@media (max-width: 560px) {
    .expert-card { grid-template-columns: 1fr; }
    .expert-photo { min-height: 330px; }
    .expert-card-copy { padding: 24px; }
    .expert-focus { margin-top: 0; }
}

.faq-list {
    display: grid;
    max-width: 920px;
    gap: 10px;
    margin-inline: auto;
}

.faq-item {
    border: 1px solid #eadde5;
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.faq-item summary {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 24px;
    cursor: pointer;
    list-style: none;
    color: #211d24;
    font-size: 19px;
    font-weight: 700;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary::after {
    content: "+";
    color: #b71278;
    font-size: 25px;
    font-weight: 400;
}

.faq-item[open] summary::after { content: "−"; }

.faq-answer {
    max-width: 790px;
    padding: 0 24px 24px;
    color: #6f6871;
    font-size: 16px;
    line-height: 1.55;
}

.registration-panel {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
    gap: 58px;
    padding: 52px;
    border-radius: 38px;
    color: #fff;
    background: linear-gradient(125deg, #a40873 0%, #c90c70 48%, #ec463f 100%);
    box-shadow: 0 30px 75px rgba(120, 0, 72, .22);
}

.registration-panel .eyebrow,
.registration-panel .section-title { color: #fff; }

.registration-panel .section-lead { color: rgba(255, 255, 255, .78); }

.registration-facts {
    display: grid;
    gap: 12px;
    margin-top: 30px;
}

.registration-facts span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.registration-facts span::before {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    content: "✓";
    border-radius: 50%;
    color: #ad0c73;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
}

.lead-form {
    padding: 28px;
    border-radius: 26px;
    color: #211d24;
    background: #fff;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.field {
    display: grid;
    gap: 7px;
}

.field.full { grid-column: 1 / -1; }

.field label {
    color: #5e565f;
    font-size: 13px;
    font-weight: 700;
}

.field input,
.field select {
    width: 100%;
    height: 52px;
    padding: 0 14px;
    border: 1px solid #dfd4db;
    border-radius: 13px;
    color: #272128;
    background: #fff;
    font: inherit;
    font-size: 16px;
    outline: none;
}

.field input:focus,
.field select:focus {
    border-color: #c1147d;
    box-shadow: 0 0 0 3px rgba(193, 20, 125, .1);
}

.consent {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 10px;
    margin: 16px 0;
    color: #716a73;
    font-size: 13px;
    line-height: 1.4;
}

.consent input {
    width: 18px;
    height: 18px;
    accent-color: #bc137c;
}

.consent a { color: #ac0f71; }

.lead-form .button {
    width: 100%;
    color: #fff;
    background: #bd137d;
}

.lead-form .button:disabled {
    cursor: wait;
    opacity: .68;
}

.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.form-status {
    min-height: 20px;
    margin: 12px 0 0;
    color: #765a6b;
    text-align: center;
    font-size: 13px;
    line-height: 1.45;
}

.form-status.is-success { color: #176b51; }

.form-status.is-error { color: #a3294a; }

body.modal-open {
    overflow: hidden;
}

.full-access-dialog {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: none;
    padding: 16px;
    place-items: center;
    overflow: auto;
    color: #fff;
    background: rgba(28, 15, 25, .72);
    backdrop-filter: blur(6px);
}

.full-access-dialog.is-open,
.full-access-dialog:target { display: grid; }

.modal-shell {
    position: relative;
    width: min(100%, 1180px);
    max-height: calc(100dvh - 32px);
    overflow: auto;
    border-radius: 34px;
    box-shadow: 0 34px 100px rgba(24, 8, 21, .38);
}

.modal-registration-panel {
    min-height: 0;
    border-radius: 34px;
    box-shadow: none;
}

.modal-registration-panel .lead-form {
    padding-top: 70px;
}

.modal-close {
    position: absolute;
    z-index: 4;
    top: 18px;
    right: 18px;
    display: grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    color: #8b2454;
    background: #fff;
    box-shadow: 0 10px 25px rgba(65, 12, 44, .18);
    cursor: pointer;
    font: inherit;
    font-size: 28px;
    line-height: 1;
    text-decoration: none;
}

.modal-close:hover {
    background: #fff5fa;
}

.modal-close:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.footer {
    padding: 36px 0;
    color: #fff;
    background: #211923;
}

.footer-row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 30px;
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 22px;
}

.footer-brand img {
    display: block;
    width: 180px;
    height: auto;
    flex: 0 0 auto;
    object-fit: contain;
}

.footer-brand p {
    max-width: 410px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    line-height: 1.45;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 18px;
}

.footer-links a {
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    font-size: 14px;
}

.footer-links a:hover { color: #fff; }

.mobile-menu-button { display: none; }

.time-compare {
    overflow: hidden;
    border: 2px solid #d7a8c4;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(99, 24, 69, .14);
}

.time-section {
    background:
            radial-gradient(circle at 92% 8%, rgba(219, 54, 120, .12), transparent 23%),
            linear-gradient(145deg, #fff1f8 0%, #fff8f3 100%);
}

.time-section .section-head {
    max-width: 960px;
    padding: 34px 38px;
    border-radius: 28px;
    background: linear-gradient(120deg, #651b49 0%, #92245d 58%, #aa3d59 100%);
    box-shadow: 0 20px 48px rgba(80, 17, 55, .18);
}

.time-section .eyebrow,
.time-section .section-title {
    color: #fff;
}

.time-section .section-lead {
    color: rgba(255, 255, 255, .86);
}

.time-row {
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(0, 1fr) 64px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    border-bottom: 1px solid #e8d7e1;
}

.time-row:last-child { border-bottom: 0; }

.time-task {
    color: #241f25;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.time-state {
    min-height: 68px;
    padding: 14px 16px;
    border-radius: 16px;
    color: #514b52;
    background: #f8f2f6;
    font-size: 16px;
    line-height: 1.4;
}

.time-state strong {
    display: block;
    margin-bottom: 3px;
    color: #2d272e;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.time-state.ai {
    color: #6b4c60;
    background: #faeaf4;
}

.time-cost,
.time-saving {
    display: inline-block;
    margin-right: 3px;
    padding: 2px 7px;
    border-radius: 7px;
    font-weight: 800;
    line-height: 1.25;
}

.time-cost {
    color: #9c3e57;
    background: #f8dfe5;
}

.time-saving {
    color: #15745d;
    background: #dff3ea;
}

.time-arrow {
    color: #bd137d;
    text-align: center;
    font-size: 25px;
}

.source-note {
    max-width: 880px;
    margin: 18px 0 0;
    color: #817780;
    font-size: 13px;
    line-height: 1.5;
}

.source-note a { color: #ad0f72; }

.form-title {
    margin: 0 0 6px;
    color: #241f25;
    font-size: 23px;
    line-height: 1.2;
}

.form-hint {
    margin: 0 0 20px;
    color: #766e77;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 1080px) {
    .nav { display: none; }

    .hero-grid {
        grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr);
        gap: 28px;
    }

    .visual-wrap {
        max-height: 640px;
    }

    .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-step:last-child { grid-column: 1 / -1; }

    .bundle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .format-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .hero-copy {
        max-width: 680px;
    }

    .visual-wrap {
        width: min(100%, 680px);
        max-height: none;
        margin-inline: auto;
    }
}

@media (max-width: 820px) {
    .container {
        width: min(calc(100% - 40px), var(--container));
    }

    .header {
        min-height: 78px;
        margin-top: 14px;
    }

    .logo { width: 154px; }

    .header-cta {
        min-height: 44px;
        padding: 0 17px;
        font-size: 14px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
        padding-top: 48px;
    }

    .hero-copy {
        max-width: 680px;
    }

    h1 {
        max-width: 650px;
        font-size: clamp(48px, 10vw, 72px);
    }

    .lead {
        max-width: 620px;
    }

    .visual-wrap {
        width: min(100%, 620px);
        max-height: none;
        margin: 14px auto -64px;
    }

    .visual {
        inset: 0;
        border-radius: 34px 34px 0 0;
        background-position: center;
    }

    .page-section {
        padding: 78px 0;
    }

    .situation-grid,
    .access-grid,
    .bundle-grid,
    .community-panel,
    .expert-panel,
    .registration-panel,
    .kpk-panel,
    .value-stack-grid,
    .materials-showcase {
        grid-template-columns: 1fr;
    }

    .materials-showcase { gap: 34px; }

    .situation-card {
        min-height: 250px;
    }

    .process-shell,
    .community-panel,
    .expert-panel,
    .registration-panel,
    .kpk-panel,
    .value-stack {
        padding: 34px;
    }

    .day-details {
        padding-left: 24px;
    }

    .registration-panel {
        gap: 34px;
    }

    .footer-row {
        grid-template-columns: 1fr;
    }

    .footer-links {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .container {
        width: min(calc(100% - 28px), var(--container));
    }

    .header {
        min-height: 70px;
        margin-top: 10px;
        padding: 0 13px;
        gap: 14px;
    }

    .logo { width: 132px; }

    .header-cta {
        min-height: 42px;
        padding: 0 13px;
        border-radius: 12px;
        font-size: 13px;
    }

    .hero-grid {
        padding: 34px 0 46px;
    }

    .event-label {
        margin-bottom: 22px;
        padding: 8px 12px;
        font-size: 12px;
    }

    h1 {
        font-size: clamp(42px, 13vw, 58px);
        line-height: .98;
    }

    .title-accent {
        margin-top: 12px;
        border-radius: .3em;
        font-size: .52em;
        white-space: normal;
    }

    .lead {
        margin-top: 24px;
        font-size: 18px;
        line-height: 1.42;
    }

    .facts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .facts li {
        justify-content: center;
        white-space: normal;
        text-align: center;
        font-size: 13px;
    }

    .facts li:last-child {
        grid-column: 1 / -1;
        justify-self: center;
    }

    .actions {
        grid-template-columns: 1fr;
    }

    .button {
        width: 100%;
        min-height: 56px;
    }

    .purchase-note {
        font-size: 13px;
    }

    .visual-wrap {
        width: 100%;
        max-height: none;
        margin: 14px 0 -46px;
    }

    .visual {
        border-radius: 28px 28px 0 0;
        background-position: center;
    }

    .visual-tag {
        top: 20px;
        right: 16px;
        font-size: 12px;
    }

    .outcome-card {
        right: 16px;
        bottom: 16px;
        width: calc(100% - 32px);
        padding: 17px 18px;
    }

    .page-section {
        padding: 62px 0;
    }

    .section-head {
        margin-bottom: 32px;
    }

    .time-section .section-head {
        padding: 24px;
        border-radius: 22px;
    }

    .section-title {
        font-size: 36px;
    }

    .section-lead {
        font-size: 17px;
    }

    .process-shell,
    .community-panel,
    .expert-panel,
    .registration-panel,
    .kpk-panel,
    .value-stack {
        padding: 24px;
        border-radius: 26px;
    }

    .value-part {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .value-total strong { font-size: 48px; }

    .materials-showcase {
        padding: 24px;
        border-radius: 26px;
    }

    .materials-scene { min-height: 390px; }

    .material-sheet {
        top: 28px;
        left: 16px;
        width: 220px;
    }

    .material-note {
        top: 78px;
        right: 12px;
        width: 120px;
    }

    .guide-notebook {
        left: 32px;
        bottom: 142px;
        width: 230px;
    }

    .guide-book {
        left: 18px;
        bottom: 58px;
        width: 246px;
    }

    .material-kpk {
        right: 12px;
        bottom: 24px;
    }

    .process-grid,
    .format-grid {
        grid-template-columns: 1fr;
    }

    .process-step:last-child { grid-column: auto; }

    .process-step {
        min-height: 0;
    }

    .result-callout {
        grid-template-columns: 1fr;
    }

    .program-day summary {
        grid-template-columns: 76px minmax(0, 1fr) auto;
        gap: 12px;
        padding: 16px;
    }

    .day-copy strong { font-size: 18px; }
    .day-copy span { font-size: 13px; }

    .day-details {
        grid-template-columns: 1fr;
        padding: 0 16px 16px;
    }

    .access-card {
        min-height: 0;
        padding: 25px;
    }

    .access-card h3 { font-size: 29px; }
    .access-price strong { font-size: 42px; }

    .kpk-panel h2,
    .expert-meta h2 { font-size: 35px; }

    .kpk-panel .kpk-name {
        font-size: 19px;
        overflow-wrap: anywhere;
    }

    .expert-avatar { min-height: 280px; }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .field.full { grid-column: auto; }

    .lead-form { padding: 20px; }

    .full-access-dialog {
        padding: 8px;
    }

    .modal-shell {
        max-height: calc(100dvh - 16px);
        border-radius: 26px;
    }

    .modal-registration-panel {
        padding-top: 76px;
    }

    .modal-close {
        top: 14px;
        right: 14px;
    }

    .footer-brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .event-label {
        max-width: 100%;
        justify-content: center;
        text-align: center;
        line-height: 1.35;
        white-space: normal;
    }

    .time-row {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 20px;
    }

    .time-arrow {
        transform: rotate(90deg);
    }
}

@media (max-width: 430px) {
    .program-day summary {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .day-badge {
        grid-column: 1;
        grid-row: 1;
    }

    .day-toggle {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .day-copy {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}