@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap');

.consultation-site,
.consultation-site * {
    box-sizing: border-box;
    font-family: "Onest", "Aptos", "Segoe UI", Arial, sans-serif;
}

.consultation-site {
    --bg: #e9dfd2;
    --panel: #f8f2e9;
    --panel-soft: #f1e8db;
    --card: #fffaf3;
    --ink: #141c2c;
    --muted: #667083;
    --blue: #24658f;
    --blue-dark: #13243a;
    --line: rgba(20, 28, 44, .13);
    --radius-xl: 34px;
    --radius-lg: 26px;
    --radius-md: 18px;

    /* Меняй только это число: оно управляет всеми заголовками сайта. */
    --heading-size: 82px;
    --type-hero: min(var(--heading-size), 8.2vw);
    --type-section: min(calc(var(--heading-size) * .67), 5.2vw);
    --type-feature: min(calc(var(--heading-size) * .75), 5.8vw);
    --type-card: min(calc(var(--heading-size) * .31), 2.1vw);
    --type-lead: 21px;
    --type-body: 16px;
    --type-meta: 13px;

    background: var(--bg);
    color: var(--ink);
    overflow-x: clip;
}

.consultation-site h1,
.consultation-site h2,
.consultation-site h3 {
    hyphens: none;
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: normal;
}

.consultation-site h1,
.consultation-site h2,
.consultation-site h3,
.consultation-site p,
.consultation-site figure {
    margin: 0;
}

.consultation-site .shell {
    margin: 0 auto;
    max-width: 1600px;
    padding-left: clamp(24px, 4.6vw, 84px);
    padding-right: clamp(24px, 4.6vw, 84px);
    width: 100%;
}

.consultation-site .ds-title {
    color: var(--ink);
    font-weight: 800;
    letter-spacing: -.035em;
    overflow-wrap: normal;
    word-break: normal;
}

.consultation-site .ds-title--hero {
    font-size: clamp(58px, 12cqi, var(--heading-size)) !important;
    line-height: 1.05;
}

.consultation-site .ds-title--section {
    font-size: var(--type-section);
    line-height: 1.08;
}

.consultation-site .ds-title--feature {
    font-size: var(--type-feature);
    line-height: 1.08;
}

.consultation-site .ds-title--card {
    display: block;
    font-size: var(--type-card);
    line-height: 1.16;
}

.consultation-site .ds-lead,
.consultation-site p {
    color: var(--muted);
    font-size: var(--type-body);
    font-weight: 500;
    line-height: 1.55;
}

.consultation-site .ds-lead {
    font-size: var(--type-lead);
    font-weight: 600;
}

.consultation-site .ds-kicker,
.consultation-site .ds-meta {
    font-size: var(--type-meta);
    font-weight: 800;
    line-height: 1.3;
}

.consultation-site .consultation-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-bottom: 24px;
    padding-top: 24px;
}

.consultation-site .brand,
.consultation-site .header-cta {
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.consultation-site .header-cta {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.consultation-site .header-cta span {
    color: var(--blue);
}

.consultation-site .button {
    align-items: center;
    background: var(--blue);
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #fff;
    display: inline-flex;
    font-size: 16px;
    font-weight: 800;
    justify-content: center;
    line-height: 1.15;
    min-height: 56px;
    padding: 0 28px;
    text-align: center;
    text-decoration: none;
}

.consultation-site .button:hover {
    background: #1c5277;
}

.consultation-site .hero {
    align-items: center;
    background: radial-gradient(circle at 79% 18%, rgba(255, 250, 243, .96), rgba(248, 242, 233, .88) 48%, rgba(241, 232, 219, .72));
    border: 1px solid rgba(255, 250, 243, .72);
    border-radius: var(--radius-xl);
    display: grid;
    gap: clamp(40px, 5vw, 86px);
    grid-template-columns: minmax(0, .9fr) minmax(460px, 1fr);
    min-height: calc(100svh - 96px);
    overflow: hidden;
    padding-bottom: clamp(54px, 6vw, 90px);
    padding-top: clamp(54px, 6vw, 90px);
}

.consultation-site .hero-copy {
    container-type: inline-size;
    display: grid;
    gap: 22px;
    min-width: 0;
}

.consultation-site .hero-copy h1 {
    max-width: 780px;
}

.consultation-site .hero-text {
    color: var(--ink);
    max-width: 660px;
}

.consultation-site .small-note {
    color: var(--muted);
}

.consultation-site .hero-image,
.consultation-site .diagnostic-image,
.consultation-site .about figure {
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.consultation-site .hero-image {
    height: clamp(440px, 58vh, 650px);
}

.consultation-site .hero-image img,
.consultation-site .diagnostic-image img,
.consultation-site .about img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.consultation-site .section {
    padding-bottom: clamp(76px, 8vw, 124px);
    padding-top: clamp(76px, 8vw, 124px);
}

.consultation-site .white {
    background: var(--card);
}

.consultation-site .eyebrow {
    color: var(--blue);
    text-transform: uppercase;
}

.consultation-site .diagnostic-intro {
    align-items: center;
    display: grid;
    gap: clamp(38px, 7vw, 110px);
    grid-template-columns: minmax(0, 1fr) minmax(380px, .92fr);
}

.consultation-site .diagnostic-intro h2 {
    font-size: clamp(40px, 3.3vw, 54px) !important;
    max-width: 740px;
}

.consultation-site .diagnostic-image {
    aspect-ratio: 16 / 10;
}

.consultation-site .diagnostic-image img {
    object-position: center;
}

.consultation-site .steps {
    display: grid;
    gap: 18px;
}

.consultation-site .diagnostic-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 36px;
}

.consultation-site .steps > div,
.consultation-site .program-cards article,
.consultation-site .result-grid article,
.consultation-site .review-video-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}

.consultation-site .steps > div {
    background: var(--panel);
    min-height: 206px;
    padding: 28px;
}

.consultation-site .steps strong {
    color: var(--ink);
    margin-bottom: 12px;
}

.consultation-site .steps p {
    font-size: 16px;
}

.consultation-site .meeting-button {
    grid-column: 1 / -1;
    justify-self: center;
    margin-top: 12px;
}

.consultation-site .program {
    background: var(--blue-dark);
    color: #fff;
}

.consultation-site .program-centered {
    text-align: center;
}

.consultation-site .program-centered .eyebrow {
    color: #8dc2e4;
    margin-bottom: 16px;
}

.consultation-site .program h2,
.consultation-site .program h3,
.consultation-site .program p {
    color: #fff;
}

.consultation-site .program-centered h2 {
    margin: 0 auto;
    max-width: 980px;
}

.consultation-site .program-cards {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    text-align: left;
}

.consultation-site .program-cards article {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .17);
    min-height: 190px;
    padding: 28px;
}

.consultation-site .program-cards h3 {
    margin-bottom: 14px;
}

.consultation-site .program-cards p {
    color: rgba(255, 255, 255, .75);
}

.consultation-site .program-button,
.consultation-site .results-button {
    background: #fffaf3;
    color: var(--ink);
    margin-top: 36px;
}

.consultation-site .results {
    --results-heading-size: clamp(2.25rem, 2.8vw, 3.25rem);
    background:
        radial-gradient(circle at 82% 18%, rgba(154, 209, 237, .24), transparent 28%),
        linear-gradient(120deg, #102f4a 0%, #1c5378 54%, #337da7 100%);
    color: #fff;
}

.consultation-site .results-layout {
    align-items: stretch;
    display: grid;
    gap: clamp(48px, 5vw, 84px);
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.consultation-site .results-heading {
    display: grid;
    gap: 22px;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    position: sticky;
    top: 40px;
}

.consultation-site .results h2 {
    color: #fff;
    font-size: var(--results-heading-size) !important;
    letter-spacing: -.07em;
    line-height: .9;
    margin: 0;
    max-width: none;
    text-transform: uppercase;
}

.consultation-site .results h2 em {
    color: #fff;
    font-style: normal;
}

.consultation-site .results .eyebrow {
    color: #c4e7f2;
    letter-spacing: .16em;
}

.consultation-site .results-intro {
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1rem, 1.1vw, 1.2rem);
    line-height: 1.55;
    max-width: 28ch;
}

.consultation-site .results-manifesto {
    color: #a9d9ed;
    font-size: var(--results-heading-size) !important;
    font-weight: 800;
    letter-spacing: -.07em;
    line-height: .9;
    max-width: none;
    text-wrap: balance;
}

.consultation-site .results-quote {
    border-radius: 22px;
    margin-top: 8px;
    overflow: hidden;
}

.consultation-site .results-quote img {
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

@media (min-width: 721px) {
    .consultation-site .results-quote img {
        aspect-ratio: auto;
        height: 100%;
    }
}

.consultation-site .results-content {
    display: grid;
    gap: 0;
    grid-template-rows: 1fr auto;
}

.consultation-site .result-feature {
    background: #fffaf3;
    border-radius: 28px;
    color: var(--ink);
    display: grid;
    gap: 42px;
    min-height: 300px;
    padding: clamp(28px, 4vw, 54px);
    position: relative;
}

.consultation-site .result-icon {
    color: currentColor;
    display: inline-block;
    height: 34px;
    position: relative;
    width: 34px;
}

.consultation-site .result-icon::before,
.consultation-site .result-icon::after {
    content: "";
    position: absolute;
}

.consultation-site .result-feature .result-icon {
    color: #24658f;
    height: 76px;
    width: 76px;
}

.consultation-site .result-icon--target::before {
    border: 3px solid currentColor;
    border-radius: 50%;
    inset: 3px;
}

.consultation-site .result-icon--target::after {
    background: currentColor;
    border-radius: 50%;
    height: 12px;
    left: calc(50% - 6px);
    top: calc(50% - 6px);
    width: 12px;
}

.consultation-site .result-icon--solution::before {
    border: 2px solid currentColor;
    border-radius: 50% 50% 50% 4px;
    height: 24px;
    left: 3px;
    top: 2px;
    transform: rotate(-45deg);
    width: 24px;
}

.consultation-site .result-icon--solution::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: 9px;
    left: 12px;
    top: 8px;
    transform: rotate(45deg);
    width: 5px;
}

.consultation-site .result-icon--resources::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: 12px 4px 0 -1px #1c5378, 12px 4px 0 1px currentColor;
    height: 15px;
    left: 2px;
    top: 8px;
    width: 15px;
}

.consultation-site .result-icon--resources::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    bottom: 3px;
    height: 12px;
    left: 10px;
    transform: rotate(-35deg);
    width: 16px;
}

.consultation-site .result-icon--route::before {
    border-left: 2px dashed currentColor;
    height: 28px;
    left: 9px;
    top: 2px;
    transform: rotate(36deg);
}

.consultation-site .result-icon--route::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    bottom: 2px;
    height: 8px;
    right: 1px;
    transform: rotate(-4deg);
    width: 8px;
}

.consultation-site .result-icon--energy::before {
    border-bottom: 3px solid currentColor;
    border-radius: 50%;
    height: 16px;
    left: 0;
    top: 5px;
    transform: rotate(-28deg);
    width: 29px;
}

.consultation-site .result-icon--energy::after {
    border-left: 3px solid currentColor;
    border-top: 3px solid currentColor;
    height: 12px;
    right: 0;
    top: 2px;
    transform: rotate(20deg);
    width: 12px;
}

.consultation-site .result-icon--insight::before {
    border: 2px solid currentColor;
    border-radius: 50% 50% 45% 45%;
    height: 23px;
    left: 5px;
    top: 1px;
    width: 20px;
}

.consultation-site .result-icon--insight::after {
    border-bottom: 2px solid currentColor;
    border-top: 2px solid currentColor;
    height: 5px;
    left: 10px;
    top: 25px;
    width: 12px;
}

.consultation-site .result-feature__mark {
    color: #24658f;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.consultation-site .result-feature p {
    font-size: clamp(2rem, 3.3vw, 4.2rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .98;
    margin: auto 0 0;
    max-width: 11ch;
}

.consultation-site .result-feature__line {
    background: #24658f;
    bottom: 54px;
    height: 5px;
    position: absolute;
    right: 54px;
    transform: rotate(-45deg);
    width: 74px;
}

.consultation-site .result-list {
    border-top: 1px solid rgba(255, 255, 255, .36);
    margin-top: 36px;
}

.consultation-site .result-list article {
    align-items: start;
    border-bottom: 1px solid rgba(255, 255, 255, .36);
    display: grid;
    gap: 24px;
    grid-template-columns: 38px 28px minmax(0, 1fr);
    padding: 24px 0 26px;
    transition: padding-left .25s ease, background-color .25s ease;
}

.consultation-site .result-list article:hover {
    background: rgba(255, 255, 255, .06);
    padding-left: 14px;
}

.consultation-site .result-list > article > span:not(.result-icon) {
    color: #9dd5e9;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
    padding-top: 4px;
}

.consultation-site .result-list .result-icon {
    color: #a9d9ed;
    grid-row: 1;
}

.consultation-site .result-list p {
    color: #fff;
    font-size: clamp(1.15rem, 1.65vw, 1.65rem);
    font-weight: 700;
    line-height: 1.18;
    max-width: 34ch;
}

.consultation-site .results-button {
    align-self: start;
    background: #fffaf3;
    color: var(--ink);
    margin: 38px 0 0;
}

.consultation-site .results-button span {
    font-size: 1.25em;
    margin-left: 10px;
}

/* Результаты — спокойные синие строки, белый акцент только по наведению. */
.consultation-site .result-feature {
    display: none;
}

.consultation-site .result-list {
    border: 0;
    margin-top: 0;
}

.consultation-site .result-list article,
.consultation-site .result-list article:hover {
    align-items: center;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, .36);
    border-radius: 20px;
    display: grid;
    gap: 30px;
    grid-template-columns: 64px minmax(0, 1fr);
    margin: 0;
    min-height: 112px;
    padding: 24px 4px;
    transition: background-color .25s ease, color .25s ease, margin .25s ease, padding .25s ease;
}

.consultation-site .result-list article:hover {
    background: #fffaf3;
    border-bottom-color: transparent;
    color: var(--ink);
    margin-inline: -22px;
    padding: 30px 26px;
}

.consultation-site .result-list .result-icon,
.consultation-site .result-list article:hover .result-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(82%) sepia(29%) saturate(572%) hue-rotate(160deg) brightness(95%) contrast(91%);
    grid-column: 1;
    grid-row: 1;
    height: 48px;
    max-width: none;
    object-fit: contain;
    transform: none;
    width: auto;
}

.consultation-site .result-list article:hover .result-icon {
    filter: brightness(0) saturate(100%) invert(34%) sepia(21%) saturate(1324%) hue-rotate(160deg) brightness(87%) contrast(87%);
}

.consultation-site .result-list p,
.consultation-site .result-list article:hover p {
    color: #fff;
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
    font-weight: 750;
    grid-column: 2;
    grid-row: 1;
    line-height: 1.22;
    max-width: none;
    transition: color .25s ease, font-size .25s ease, letter-spacing .25s ease;
}

.consultation-site .result-list article:hover p {
    color: var(--ink);
    font-size: clamp(1.35rem, 2.15vw, 2.15rem);
    letter-spacing: -.045em;
    line-height: 1.03;
}

.consultation-site .reviews h2 {
    font-size: clamp(32px, 2.5vw, 44px) !important;
    margin-top: 14px;
    max-width: 100%;
    text-wrap: pretty;
}

.consultation-site .review-grid {
    display: flex;
    gap: 18px;
    margin-top: 38px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.consultation-site .review-grid::-webkit-scrollbar {
    display: none;
}

.consultation-site .review-carousel {
    position: relative;
}

.consultation-site .review-carousel-arrow {
    align-items: center;
    background: var(--ink);
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 24px;
    height: 48px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    top: calc(50% - 4px);
    transform: translateY(-50%);
    transition: background .2s ease, transform .2s ease;
    width: 48px;
    z-index: 2;
}

.consultation-site .review-carousel-arrow:hover {
    background: var(--blue);
    transform: translateY(-50%) scale(1.06);
}

.consultation-site .review-carousel-arrow--previous {
    left: -24px;
}

.consultation-site .review-carousel-arrow--next {
    right: -24px;
}

.consultation-site .review-video-card {
    aspect-ratio: 16 / 10;
    background: var(--panel);
    flex: 0 0 calc((100% - 36px) / 3);
    overflow: hidden;
    scroll-snap-align: start;
}

.consultation-site .review-video-card iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.consultation-site .review-video-empty {
    align-items: center;
    color: var(--muted);
    display: flex;
    font-size: 14px;
    font-weight: 700;
    height: 100%;
    justify-content: center;
}

.consultation-site .about {
    background: var(--panel);
}

.consultation-site .about-grid {
    align-items: center;
    display: grid;
    gap: clamp(48px, 7vw, 110px);
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.consultation-site .about figure {
    aspect-ratio: 4 / 3;
}

.consultation-site .about img {
    object-position: center;
}

.consultation-site .about-copy h2 {
    margin-top: 16px;
    max-width: 800px;
}

.consultation-site .about-role {
    color: var(--ink);
    margin-top: 14px;
    text-transform: uppercase;
}

.consultation-site .about-text {
    border-left: 3px solid var(--blue);
    display: grid;
    gap: 16px;
    margin-top: 28px;
    max-width: 700px;
    padding-left: 24px;
}

.consultation-site .about-text p:first-child {
    color: var(--ink);
}

.consultation-site .about-button {
    margin-top: 30px;
}

.consultation-site .apply {
    background: linear-gradient(120deg, rgba(19, 36, 58, .96), rgba(36, 101, 143, .7));
    padding-bottom: clamp(76px, 8vw, 118px);
    padding-top: clamp(76px, 8vw, 118px);
}

.consultation-site .apply-grid {
    align-items: center;
    display: grid;
    gap: clamp(44px, 6vw, 96px);
    grid-template-columns: minmax(0, .92fr) minmax(500px, 620px);
}

.consultation-site .apply h2,
.consultation-site .apply p {
    color: #fff;
}

.consultation-site .apply .eyebrow {
    color: rgba(255, 255, 255, .72);
}

.consultation-site .apply h2 {
    font-size: clamp(44px, 3.25vw, 52px) !important;
    hyphens: none;
    margin-top: 14px;
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
}

.consultation-site .apply-grid > div:first-child > p:last-child {
    color: rgba(255, 255, 255, .82);
    margin-top: 22px;
    max-width: 640px;
}

.consultation-site .form-card {
    background: var(--card);
    border-radius: var(--radius-lg);
    padding: clamp(30px, 3.4vw, 42px);
    width: 100%;
}

.consultation-site .form-card .lead-form {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 14px;
    margin: 0;
    max-width: none;
    padding: 0;
}

.consultation-site .form-card .lead-form::before,
.consultation-site .form-card .lead-form::after {
    content: none;
}

.consultation-site .form-card .lead-form h3 {
    color: var(--ink);
    font-size: 28px;
    line-height: 1.15;
    margin: 0;
}

.consultation-site .form-card .lead-form > p,
.consultation-site .form-card .form-microtext {
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
}

.consultation-site .form-card .form-group,
.consultation-site .form-card .form-footer {
    display: grid;
    gap: 8px;
    margin: 0;
}

.consultation-site .form-card .form-label {
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

.consultation-site .form-card .form-control {
    background: var(--panel-soft);
    border: 1px solid transparent;
    border-radius: 14px;
    box-shadow: none;
    color: var(--ink);
    font-size: 15px;
    font-weight: 600;
    min-height: 52px;
    padding: 13px 16px;
    width: 100%;
}

.consultation-site .form-card .form-control:focus {
    background: var(--card);
    border-color: rgba(36, 101, 143, .42);
    outline: 3px solid rgba(36, 101, 143, .12);
}

.consultation-site .form-card textarea.form-control {
    min-height: 112px;
    resize: vertical;
}

.consultation-site .form-card .form-footer {
    gap: 10px;
    margin-top: 4px;
}

.consultation-site .form-card .form-submit {
    background: var(--blue-dark);
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    min-height: 54px;
    padding: 0 18px;
    text-transform: uppercase;
    width: 100%;
}

.consultation-site .form-card .form-error {
    color: #9d2c2c;
    font-size: 14px;
}

.consultation-site .footer {
    background: var(--blue-dark);
    color: #fff;
}

.consultation-site .footer-inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 86px;
}

.consultation-site .footer span,
.consultation-site .footer a {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .consultation-site .hero,
    .consultation-site .diagnostic-intro,
    .consultation-site .about-grid,
    .consultation-site .apply-grid {
        grid-template-columns: 1fr;
    }

    .consultation-site .hero {
        min-height: auto;
    }

    .consultation-site .hero-image {
        height: min(64vw, 580px);
    }

    .consultation-site .diagnostic-intro h2 {
        max-width: 900px;
    }

    .consultation-site .program-cards,
    .consultation-site .result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .consultation-site .review-video-card {
        flex-basis: calc((100% - 18px) / 2);
    }

    .consultation-site .review-carousel-arrow--previous {
        left: -12px;
    }

    .consultation-site .review-carousel-arrow--next {
        right: -12px;
    }

    .consultation-site .result-grid article:nth-child(6) {
        grid-column: span 1;
    }

    .consultation-site .apply-grid {
        max-width: 780px;
    }

    .consultation-site .results-layout {
        gap: 54px;
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    }
}

@media (max-width: 720px) {
    .consultation-site {
        --type-hero: min(var(--heading-size), 11vw);
        --type-section: min(calc(var(--heading-size) * .67), 9vw);
        --type-feature: min(calc(var(--heading-size) * .75), 9.5vw);
        --type-card: min(calc(var(--heading-size) * .31), 6.2vw);
        --type-lead: 16px;
        --type-body: 16px;
        --radius-xl: 24px;
        --radius-lg: 20px;
        --radius-md: 16px;
    }

    .consultation-site .shell {
        padding-left: 18px;
        padding-right: 18px;
    }

    .consultation-site .ds-title--hero {
        font-size: clamp(30px, 10cqi, 50px) !important;
    }

    .consultation-site .consultation-header {
        gap: 16px;
    }

    .consultation-site .brand {
        max-width: 150px;
    }

    .consultation-site .header-cta {
        font-size: 11px;
    }

    .consultation-site .hero {
        gap: 28px;
        padding-bottom: 36px;
        padding-top: 36px;
    }

    .consultation-site .hero-image {
        height: 360px;
    }

    .consultation-site .results-layout {
        display: block;
    }

    .consultation-site .diagnostic-intro h2 {
        font-size: clamp(30px, 8vw, 40px) !important;
    }

    .consultation-site .results-heading {
        gap: 16px;
        position: static;
    }

    .consultation-site .results h2 {
        max-width: none;
    }

    .consultation-site .results-intro {
        max-width: 32ch;
    }

    .consultation-site .results-manifesto {
        max-width: none;
    }

    .consultation-site .results-quote {
        max-width: 560px;
    }

    .consultation-site .results-content {
        margin-top: 42px;
    }

    .consultation-site .result-feature {
        border-radius: 22px;
        gap: 28px;
        min-height: 250px;
        padding: 24px;
    }

    .consultation-site .result-feature .result-icon {
        height: 58px;
        width: 58px;
    }

    .consultation-site .result-feature__line {
        bottom: 30px;
        right: 28px;
    }

    .consultation-site .result-list article {
        gap: 10px;
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 20px 0;
    }

    .consultation-site .result-list article:hover {
        margin-inline: -10px;
        padding: 24px 16px;
    }

    .consultation-site .result-list p,
    .consultation-site .result-list article:hover p {
        grid-column: 2;
    }

    .consultation-site .result-list p {
        font-size: 1.1rem;
    }

    .consultation-site .result-list .result-icon {
        height: 38px;
        transform-origin: left top;
        width: 38px;
    }

    .consultation-site .results-button {
        align-self: stretch;
        justify-content: center;
        margin-top: 30px;
    }

    .consultation-site .section,
    .consultation-site .apply {
        padding-bottom: 62px;
        padding-top: 62px;
    }

    .consultation-site .apply h2 {
        font-size: min(calc(var(--heading-size) * .67), 9vw) !important;
    }

    .consultation-site .button {
        min-height: 52px;
        padding: 0 20px;
        width: 100%;
    }

    .consultation-site .diagnostic-steps,
    .consultation-site .program-cards,
    .consultation-site .result-grid {
        grid-template-columns: 1fr;
    }

    .consultation-site .review-video-card {
        flex-basis: min(84vw, 360px);
    }

    .consultation-site .review-carousel-arrow {
        height: 42px;
        width: 42px;
    }

    .consultation-site .review-carousel-arrow--previous {
        left: 6px;
    }

    .consultation-site .review-carousel-arrow--next {
        right: 6px;
    }

    .consultation-site .result-grid article,
    .consultation-site .result-grid article:nth-child(1),
    .consultation-site .result-grid article:nth-child(4),
    .consultation-site .result-grid article:nth-child(6) {
        grid-column: span 1;
    }

    .consultation-site .steps > div,
    .consultation-site .program-cards article,
    .consultation-site .result-grid article,
    .consultation-site .form-card {
        padding: 22px;
    }

    .consultation-site .steps > div,
    .consultation-site .program-cards article,
    .consultation-site .result-grid article {
        min-height: 0;
    }

    .consultation-site .meeting-button {
        justify-self: stretch;
    }

    .consultation-site .about-text {
        padding-left: 18px;
    }

    .consultation-site .form-card .lead-form h3 {
        font-size: 24px;
    }

    .consultation-site .footer-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        justify-content: center;
        min-height: 110px;
    }
}
