.site-header {
    position: sticky;
    top: var(--space-xs);
    z-index: 50;
    width: min(100% - calc(var(--space-md) * 2), var(--container));
    margin: var(--space-sm) auto calc(var(--space-sm) * -1);
    border: 0;
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 8% 0, var(--color-white-alpha-14), transparent 18rem),
        linear-gradient(135deg, var(--color-surface-strong), var(--color-hero-end));
    color: var(--color-text-inverse);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(1rem);
}

.site-header__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--space-lg);
    min-height: 4.25rem;
    width: auto;
    padding: var(--space-sm);
}

.site-header > .container {
    width: 100%;
}

.mobile-drawer {
    display: none;
}

.site-header__mobile-phone {
    display: none;
    min-height: var(--tap-target);
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    padding-inline: var(--space-2xs);
    border: 0.0625rem solid var(--color-call-action);
    border-radius: var(--radius-md);
    background: var(--color-call-action);
    color: var(--color-text-inverse);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.site-header__mobile-phone::before {
    width: 0.875rem;
    height: 0.875rem;
    background: currentColor;
    content: "";
    flex: 0 0 auto;
    -webkit-mask: url("../../icons/phone-call.svg") center / contain no-repeat;
    mask: url("../../icons/phone-call.svg") center / contain no-repeat;
}

.site-header__mobile-phone:hover {
    border-color: var(--color-call-action-hover);
    background: var(--color-call-action-hover);
    transform: translateY(-0.0625rem);
}

.mobile-cta-bar {
    display: none;
}

.site-main {
    display: grid;
    gap: var(--section-gap);
    padding-top: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.brand {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 3rem;
    padding-left: var(--space-sm);
}

.brand::before {
    position: absolute;
    left: 0;
    width: 0.25rem;
    height: 2rem;
    border-radius: 999rem;
    background: var(--color-brand);
    transition: width 160ms ease, background-color 160ms ease;
    content: "";
}

.brand:hover::before {
    width: 0.375rem;
    background: var(--color-brand-hover);
}

.brand__text {
    display: grid;
    gap: var(--space-2xs);
}

.brand__name {
    font-size: var(--text-lg);
    font-weight: 800;
    line-height: 1;
}

.brand__bosch {
    color: var(--color-bosch-word);
}

.brand__expert {
    color: var(--color-expert-word);
}

.brand__caption {
    color: var(--color-text-muted);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
}

.site-header .brand__caption {
    color: var(--color-dark-subtle);
}

.mobile-drawer .brand__caption {
    color: var(--color-dark-subtle);
}

.primary-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--color-dark-subtle);
    font-size: 0.9375rem;
    font-weight: 800;
}

.primary-nav a {
    position: relative;
    display: inline-flex;
    padding-block: var(--space-xs);
    white-space: nowrap;
}

.primary-nav a::after {
    position: absolute;
    right: 0;
    bottom: 0.1875rem;
    left: 0;
    height: 0.125rem;
    border-radius: 999rem;
    background: var(--color-brand);
    opacity: 0;
    transform: translateY(0.25rem);
    transition: opacity 160ms ease, transform 160ms ease;
    content: "";
}

.primary-nav a:hover {
    color: var(--color-text-inverse);
}

.primary-nav a:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.primary-nav :is(
    a[aria-current="page"],
    .current-menu-ancestor > a,
    .current_page_parent > a
) {
    color: var(--color-text-inverse);
}

.primary-nav :is(
    a[aria-current="page"],
    .current-menu-ancestor > a,
    .current_page_parent > a
)::after {
    opacity: 1;
    transform: translateY(0);
}

.breadcrumbs,
.breadcrumbs > ol {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2xs) var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 700;
}

.breadcrumbs {
    color: var(--color-text-muted);
}

.breadcrumbs > ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    min-width: 0;
}

.breadcrumbs a {
    color: inherit;
    transition: color 160ms ease;
}

.breadcrumbs a:hover {
    color: var(--color-accent-ink);
}

.breadcrumbs--inverse {
    color: var(--color-dark-subtle);
}

.breadcrumbs--inverse a:hover {
    color: var(--color-text-inverse);
}

.breadcrumbs [aria-current="page"] {
    overflow-wrap: anywhere;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.header-actions__phone {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    margin-right: var(--space-sm);
    padding-block: var(--space-xs);
    color: var(--color-text-inverse);
    font-weight: 800;
    white-space: nowrap;
}

.header-actions__phone::before {
    width: 1.05rem;
    height: 1.05rem;
    background: currentColor;
    content: "";
    flex: 0 0 auto;
    -webkit-mask: url("../../icons/phone-call.svg") center / contain no-repeat;
    mask: url("../../icons/phone-call.svg") center / contain no-repeat;
}

.header-actions__phone::after {
    position: absolute;
    right: 0;
    bottom: 0.1875rem;
    left: 0;
    height: 0.125rem;
    border-radius: 999rem;
    background: var(--color-brand);
    opacity: 0;
    transform: translateY(0.25rem);
    transition: opacity 160ms ease, transform 160ms ease;
    content: "";
}

.header-actions__phone:hover {
    color: var(--color-text-inverse);
}

.header-actions__phone:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: 3rem;
    padding: 0.8rem 1.1rem;
    border: 0.0625rem solid var(--color-brand);
    border-radius: var(--radius-md);
    background: var(--color-brand);
    color: var(--color-text-inverse);
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.button:hover {
    background: var(--color-brand-hover);
    border-color: var(--color-brand-hover);
    transform: translateY(-0.0625rem);
}

.button--small {
    min-height: 2.5rem;
    padding: 0.65rem 0.9rem;
    font-size: var(--text-sm);
}

.button--online {
    min-width: 8.5rem;
    margin-left: var(--space-sm);
}

.button--request::before,
.button--submit::before,
.button--phone::before {
    width: 1rem;
    height: 1rem;
    background: currentColor;
    content: "";
    flex: 0 0 auto;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.button--request::before {
    -webkit-mask-image: url("../../icons/clipboard-pen.svg");
    mask-image: url("../../icons/clipboard-pen.svg");
}

.button--submit::before {
    -webkit-mask-image: url("../../icons/send.svg");
    mask-image: url("../../icons/send.svg");
}

.button--phone::before {
    -webkit-mask-image: url("../../icons/phone-call.svg");
    mask-image: url("../../icons/phone-call.svg");
}

.messenger-link {
    position: relative;
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: var(--radius-md);
}

.messenger-link + .messenger-link {
    margin-left: var(--space-2xs);
}

.messenger-link img {
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-sm);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.messenger-link:hover img {
    transform: scale(1.08);
}

.messenger-link--telegram:hover img {
    box-shadow: 0 0 0.875rem var(--color-telegram-glow);
}

.messenger-link--whatsapp:hover img {
    box-shadow: 0 0 0.875rem var(--color-whatsapp-glow);
}

.messenger-link--max:hover img {
    box-shadow: 0 0 0.875rem var(--color-max-glow);
}

.work-lightbox {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--color-dark-panel-bg);
    color: var(--color-text-inverse);
}

html.work-lightbox-open {
    overflow: hidden;
}

.work-lightbox[hidden] {
    display: none;
}

.work-lightbox__top,
.work-lightbox__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
}

.work-lightbox__counter,
.work-lightbox__caption {
    color: var(--color-dark-subtle);
    font-weight: 700;
}

.work-lightbox__close,
.work-lightbox__nav {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0.0625rem solid var(--color-white-alpha-14);
    border-radius: var(--radius-md);
    background: var(--color-footer-surface);
    color: var(--color-text-inverse);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.work-lightbox__close:hover,
.work-lightbox__nav:hover {
    border-color: var(--color-white-alpha-45);
    background: var(--color-footer-surface-hover);
}

.work-lightbox__stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 0;
}

.work-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 10rem);
    border-radius: var(--radius-md);
    object-fit: contain;
    box-shadow: var(--shadow-md);
    transition: opacity 160ms ease;
}

.work-lightbox.is-loading .work-lightbox__image {
    opacity: 0;
}

.work-lightbox__status {
    position: absolute;
    left: 50%;
    top: 50%;
    max-width: min(28rem, calc(100vw - 4rem));
    padding: var(--space-sm) var(--space-md);
    border: 0.0625rem solid var(--color-white-alpha-14);
    border-radius: var(--radius-md);
    background: var(--color-footer-surface);
    color: var(--color-text-inverse);
    font-weight: 800;
    text-align: center;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 160ms ease;
}

.work-lightbox.is-loading .work-lightbox__status,
.work-lightbox.is-error .work-lightbox__status {
    opacity: 1;
}

.work-lightbox.is-error .work-lightbox__status {
    border-color: var(--color-accent-on-dark);
}

.work-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.work-lightbox__nav--prev {
    left: 0;
}

.work-lightbox__nav--next {
    right: 0;
}

.messenger-tooltip {
    position: absolute;
    top: calc(100% + var(--space-xs));
    left: 50%;
    z-index: 80;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: var(--color-telegram);
    color: var(--color-text-inverse);
    font-size: var(--text-sm);
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(-0.25rem);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    pointer-events: none;
}

.messenger-link--whatsapp .messenger-tooltip {
    background: var(--color-whatsapp);
}

.messenger-link--max .messenger-tooltip {
    background: linear-gradient(135deg, var(--color-max-start), var(--color-max-end));
}

.messenger-link:hover .messenger-tooltip,
.messenger-link:focus-visible .messenger-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.button--ghost {
    border-color: var(--color-surface);
    background: var(--color-surface);
    color: var(--color-accent-ink);
}

.button--ghost:hover {
    background: var(--color-brand-soft);
    color: var(--color-brand-hover);
}

.request-modal-open {
    overflow: hidden;
}

.request-modal {
    --request-modal-pad-top: max(var(--space-md), env(safe-area-inset-top));
    --request-modal-pad-right: max(var(--space-md), env(safe-area-inset-right));
    --request-modal-pad-bottom: max(var(--space-md), env(safe-area-inset-bottom));
    --request-modal-pad-left: max(var(--space-md), env(safe-area-inset-left));

    position: fixed;
    inset: 0;
    z-index: 200;
    display: grid;
    padding: var(--request-modal-pad-top) var(--request-modal-pad-right) var(--request-modal-pad-bottom) var(--request-modal-pad-left);
    place-items: center;
}

.request-modal[hidden] {
    display: none;
}

.request-modal__overlay {
    position: absolute;
    inset: 0;
    background: var(--color-overlay-modal);
}

.request-modal__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(100%, 48rem);
    max-height: calc(100vh - var(--request-modal-pad-top) - var(--request-modal-pad-bottom));
    max-height: calc(100dvh - var(--request-modal-pad-top) - var(--request-modal-pad-bottom));
    gap: var(--space-md);
    padding: var(--space-lg);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
}

.request-modal.is-sent .request-modal__dialog {
    width: min(100%, 44rem);
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.request-modal__close {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    display: grid;
    width: var(--tap-target);
    height: var(--tap-target);
    place-items: center;
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-muted);
    color: var(--color-text);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.request-modal__close::before {
    width: 1.375rem;
    height: 1.375rem;
    background: currentColor;
    content: "";
    -webkit-mask: url("../../icons/x.svg") center / contain no-repeat;
    mask: url("../../icons/x.svg") center / contain no-repeat;
}

.request-modal.is-sent .request-modal__close {
    top: var(--space-sm);
    right: var(--space-sm);
    z-index: 3;
}

.request-modal__close:hover {
    border-color: var(--color-accent-ink);
    background: var(--color-brand);
    color: var(--color-text-inverse);
    transform: translateY(-0.0625rem);
}

.request-modal__close img {
    display: none;
}

.request-modal__head {
    display: grid;
    max-width: 38rem;
    gap: var(--space-sm);
    padding-right: var(--space-xl);
}

.request-modal__head h2 {
    margin: 0;
    color: var(--color-text);
    font-size: var(--text-3xl);
    font-weight: 900;
    line-height: var(--line-tight);
}

.request-modal__head p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-lg);
    line-height: var(--line-base);
}

.request-modal.is-sent .request-modal__head {
    display: none;
}

.request-form {
    display: grid;
    gap: var(--space-md);
}

.request-form__body {
    display: grid;
    gap: var(--space-md);
}

.request-form__body[hidden] {
    display: none;
}

.request-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
}

.request-field {
    position: relative;
    display: grid;
    gap: var(--space-xs);
    color: var(--color-text);
    font-weight: 800;
}

.request-field--wide {
    grid-column: 1 / -1;
}

.request-field span {
    font-size: var(--text-sm);
}

.request-field__label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
}

.request-field__label img {
    width: 1rem;
    height: 1rem;
    opacity: 0.72;
}

.request-field input,
.request-field textarea,
.request-select__button,
.request-select__search {
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 0.875rem;
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-muted);
    color: var(--color-text);
    font: inherit;
    font-weight: 700;
}

.request-select__button {
    position: relative;
    padding-right: 2.75rem;
    text-align: left;
    cursor: pointer;
}

.request-select__button::after {
    position: absolute;
    top: 50%;
    right: 0.875rem;
    width: 1rem;
    height: 1rem;
    background: currentColor;
    content: "";
    transform: translateY(-50%);
    -webkit-mask: url("../../icons/chevron-down.svg") center / contain no-repeat;
    mask: url("../../icons/chevron-down.svg") center / contain no-repeat;
}

.request-select.is-open .request-select__button::after {
    -webkit-mask-image: url("../../icons/chevron-up.svg");
    mask-image: url("../../icons/chevron-up.svg");
}

.request-select.has-value .request-select__button {
    border-color: var(--color-success);
}

.request-select__panel {
    position: absolute;
    top: calc(100% + var(--space-xs));
    right: 0;
    left: 0;
    z-index: 20;
    display: grid;
    max-height: min(15rem, 45dvh);
    gap: var(--space-2xs);
    padding: var(--space-xs);
    overflow: auto;
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.request-select__panel[hidden] {
    display: none;
}

.request-select__panel button {
    min-height: 2.5rem;
    padding: var(--space-xs) var(--space-sm);
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text);
    font: inherit;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.request-select__panel button:hover,
.request-select__panel button:focus-visible {
    background: var(--color-brand-soft);
    color: var(--color-brand-hover);
}

.request-select[data-brand-select] [data-brand="bosch"],
.request-select[data-brand-select] [data-brand="bosch"]:hover,
.request-select[data-brand-select] [data-brand="bosch"]:focus-visible,
.request-select[data-brand-select][data-selected-brand="bosch"] .request-select__button {
    color: var(--color-bosch-text);
}

.request-select[data-brand-select] [data-brand="siemens"],
.request-select[data-brand-select] [data-brand="siemens"]:hover,
.request-select[data-brand-select] [data-brand="siemens"]:focus-visible,
.request-select[data-brand-select][data-selected-brand="siemens"] .request-select__button {
    color: var(--color-siemens-text);
}

.request-select__search {
    min-height: 2.75rem;
    margin-bottom: var(--space-2xs);
    background: var(--color-surface-muted);
}

.request-select__empty {
    margin: 0;
    padding: var(--space-xs) var(--space-sm);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.request-field textarea {
    min-height: 5.75rem;
    resize: vertical;
}

.request-field input:focus,
.request-field textarea:focus,
.request-select__button:focus,
.request-select__search:focus {
    border-color: var(--color-accent-ink);
    outline: 0.1875rem solid var(--color-brand-soft);
}

.request-field input.is-valid,
.request-field textarea.is-valid {
    border-color: var(--color-success);
    outline-color: var(--color-success-outline);
}

.request-consent {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    color: var(--color-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: var(--line-base);
}

.request-consent input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    accent-color: var(--color-accent-ink);
    flex: 0 0 auto;
}

.request-consent a {
    color: var(--color-accent-ink);
    font-weight: 600;
}

.request-form__actions {
    display: grid;
    gap: var(--space-md);
}

.request-form__submit {
    display: grid;
    justify-items: start;
    gap: var(--space-sm);
}

.request-form__submit > .button {
    min-width: 12rem;
}

.request-form__response-time {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.request-form__response-time img {
    width: 1rem;
    height: 1rem;
    opacity: 0.72;
}

.request-form__contact {
    display: grid;
    gap: var(--space-sm);
    padding-top: var(--space-md);
    border-top: 0.0625rem solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.request-form__contact-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.request-form__socials {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.request-form__socials .messenger-link + .messenger-link {
    margin-left: 0;
}

.request-form__phone {
    margin-right: 0;
    color: var(--color-text);
}

.request-form__phone:hover {
    color: var(--color-text);
}

.request-form__socials .messenger-tooltip {
    display: none;
}

.request-form__message {
    margin: 0;
    color: var(--color-text-muted);
    font-weight: 800;
}

.request-form__message[hidden] {
    display: none;
}

.request-form__message[data-state="success"] {
    color: var(--color-success);
}

.request-form__message[data-state="error"] {
    color: var(--color-danger);
}

.request-form__trap {
    position: absolute;
    left: -999rem;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.request-success {
    display: grid;
    gap: var(--space-md);
    padding: var(--space-lg);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 100% 0, var(--color-brand-soft), transparent 20rem),
        linear-gradient(135deg, var(--color-surface), var(--color-surface-muted));
    box-shadow: var(--shadow-md);
}

.request-success.is-alert {
    background:
        radial-gradient(circle at 100% 0, var(--color-warning-soft), transparent 20rem),
        linear-gradient(135deg, var(--color-surface), var(--color-surface-muted));
}

.request-success[hidden] {
    display: none;
}

.request-success__head {
    display: block;
}

.request-success__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    flex: 0 0 auto;
    border-radius: var(--radius-md);
    background: var(--color-success);
}

.request-success.is-alert .request-success__icon {
    background: var(--color-warning-strong);
}

.request-success__title {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-2xs);
}

.request-success__icon img {
    width: 1.55rem;
    height: 1.55rem;
    filter: brightness(0) invert(1);
}

.request-success h3 {
    margin: 0;
    color: var(--color-text);
    font-size: var(--text-2xl);
    font-weight: 900;
    line-height: var(--line-tight);
}

.request-success p {
    margin: var(--space-xs) 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-md);
    font-weight: 700;
    line-height: var(--line-base);
}

.request-success__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xs);
    margin: 0;
}

.request-success__summary div {
    display: grid;
    gap: var(--space-2xs);
    padding: var(--space-sm);
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
}

.request-success__summary dt {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 900;
    text-transform: uppercase;
}

.request-success__summary dd {
    margin: 0;
    color: var(--color-text);
    font-size: var(--text-sm);
    font-weight: 900;
}

.request-success__contact {
    display: grid;
    gap: var(--space-sm);
    padding-top: var(--space-md);
    border-top: 0.0625rem solid var(--color-border);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.legal-content {
    display: grid;
    max-width: 62rem;
    gap: var(--space-sm);
    color: var(--color-text-muted);
    font-size: var(--text-lg);
    line-height: var(--line-base);
}

.legal-content h2 {
    margin: var(--space-md) 0 0;
    color: var(--color-text);
    font-size: var(--text-xl);
    line-height: var(--line-tight);
}

.legal-content p {
    margin: 0;
}

.legal-content ul,
.legal-content ol {
    display: grid;
    gap: var(--space-xs);
    padding-left: var(--space-md);
    margin: 0;
}

.legal-content li {
    padding-left: var(--space-2xs);
}

.legal-content a {
    color: var(--color-accent-ink);
    font-weight: 800;
}

.cookie-banner {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: var(--space-md);
    z-index: 80;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-md);
    width: min(44rem, calc(100vw - calc(var(--space-md) * 2)));
    padding: var(--space-md);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 100% 0, var(--color-white-alpha-14), transparent 16rem),
        linear-gradient(135deg, var(--color-surface-strong), var(--color-hero-end));
    color: var(--color-text-inverse);
    box-shadow: var(--shadow-md);
    transform: translateX(-50%);
}

.cookie-banner[hidden] {
    display: none;
}

.cookie-banner__text {
    min-width: 0;
}

.cookie-banner__text p {
    margin: 0;
    color: var(--color-dark-subtle);
    font-size: var(--text-sm);
    font-weight: 700;
    line-height: var(--line-base);
}

.cookie-banner__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
}

.cookie-banner__link {
    color: var(--color-text-inverse);
    font-size: var(--text-sm);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.2em;
}

.cookie-banner__link:hover {
    color: var(--color-dark-subtle);
}

.nav-toggle {
    display: none;
    width: var(--tap-target);
    height: var(--tap-target);
    border: 0.0625rem solid var(--color-white-alpha-14);
    border-radius: var(--radius-md);
    background: var(--color-footer-surface);
    color: var(--color-text-inverse);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.nav-toggle:hover {
    border-color: var(--color-white-alpha-45);
    background: var(--color-footer-surface-hover);
    transform: translateY(-0.0625rem);
}

.nav-toggle__line,
.nav-toggle__line::before,
.nav-toggle__line::after {
    display: block;
    width: 1.1rem;
    height: 0.125rem;
    margin: auto;
    background: currentColor;
    content: "";
    transition: transform 160ms ease, opacity 160ms ease;
}

.nav-toggle__line::before {
    transform: translateY(-0.375rem);
}

.nav-toggle__line::after {
    transform: translateY(0.25rem);
}

.site-header.is-menu-open .nav-toggle__line {
    transform: rotate(45deg);
}

.site-header.is-menu-open .nav-toggle__line::before {
    opacity: 0;
    transform: translateY(0);
}

.site-header.is-menu-open .nav-toggle__line::after {
    transform: translateY(-0.125rem) rotate(-90deg);
}
