@font-face {
    font-family: "Manrope Variable";
    src: url("/fonts/manrope-latin-variable.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root {
    --canvas: #f5f8fc;
    --chalk: #f5f8fc;
    --surface: #ffffff;
    --ink: #172536;
    --ink-soft: #21384f;
    --slate: #617286;
    --border: #dfe6ee;
    --border-strong: #c3cfdb;
    --action: #134e8e;
    --action-hover: #0d3d73;
    --endpoint: #ff4400;
    --endpoint-hover: #dc3b00;
    --gold: #ffb33f;
    --open-bg: #e9f2ff;
    --open-text: #134e8e;
    --error-bg: #fdedec;
    --error: #8a1c16;
    --success-bg: #edf8f4;
    --success: #105c4b;
    --shadow: 0 24px 68px rgba(11, 37, 61, 0.12);
    font-family: "Manrope Variable", Manrope, Arial, sans-serif;
    color: var(--ink);
    background: var(--canvas);
    font-synthesis: none;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--canvas);
    color: var(--ink);
    font-size: 16px;
    line-height: 1.55;
}

::selection {
    background: var(--action);
    color: #fff;
}

* {
    scrollbar-color: var(--border-strong) var(--canvas);
    scrollbar-width: thin;
}

button,
input,
select {
    font: inherit;
}

button,
a {
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 3px solid rgba(30, 91, 255, 0.4);
    outline-offset: 3px;
}

.site-header {
    position: relative;
    z-index: 20;
    background: rgba(250, 248, 245, 0.96);
    border-bottom: 1px solid rgba(174, 188, 198, 0.55);
}

.site-header-inner {
    width: min(1420px, calc(100% - 64px));
    height: 78px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 32px;
}

.public-brand {
    display: inline-flex;
    align-items: center;
    gap: 0;
    width: fit-content;
    height: 38px;
}

.public-brand img {
    width: 218px;
    height: auto;
    display: block;
}

.public-brand-mark {
    width: 38px;
    height: 38px;
    overflow: visible;
}

.public-brand-mark path {
    fill: none;
    stroke: var(--ink);
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-brand-mark circle {
    fill: var(--endpoint);
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 34px;
    color: var(--slate);
    font-size: 14px;
    font-weight: 600;
}

.site-nav a:hover,
.login-link:hover {
    color: var(--action);
}

.site-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 22px;
}

.language-switcher {
    margin: 0;
    padding: 3px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
}

.language-switcher button {
    min-width: 33px;
    min-height: 30px;
    padding: 0 8px;
    border: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: var(--slate);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: 0.02em;
}

.language-switcher button:hover {
    background: var(--open-bg);
    color: var(--action);
}

.language-switcher .language-option.is-current {
    background: var(--ink);
    color: #fff;
    box-shadow: 0 2px 5px rgba(11, 37, 61, 0.18);
}

.login-link {
    font-size: 14px;
    font-weight: 650;
}

.button {
    min-height: 42px;
    padding: 0 19px;
    border: 1px solid transparent;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    background: transparent;
    font-size: 14px;
    font-weight: 680;
    line-height: 1.2;
    text-align: center;
}

.button:hover {
    transform: translateY(-1px);
}

.button:active {
    transform: translateY(0);
}

.button-primary {
    background: var(--endpoint);
    color: #fff;
}

.button-primary:hover {
    background: var(--endpoint-hover);
}

.button-light {
    background: #fff;
    color: var(--ink);
}

.button-light:hover {
    background: var(--open-bg);
}

.button-large {
    min-height: 50px;
    padding-inline: 24px;
}

.button-text {
    padding-inline: 4px;
    color: var(--action);
}

.hero {
    width: min(1420px, calc(100% - 64px));
    min-height: 750px;
    margin: 0 auto;
    padding: 86px 0 100px;
    display: grid;
    grid-template-columns: minmax(420px, 0.82fr) minmax(650px, 1.18fr);
    align-items: center;
    gap: clamp(48px, 7vw, 116px);
}

.hero-copy h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(54px, 5.2vw, 86px);
    line-height: 0.98;
    letter-spacing: -0.04em;
    font-weight: 730;
}

.hero-copy h1 span {
    color: var(--action);
}

.hero-lead {
    max-width: 620px;
    margin: 30px 0 0;
    color: var(--slate);
    font-size: clamp(18px, 1.5vw, 21px);
    line-height: 1.55;
}

.hero-actions {
    margin-top: 36px;
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.release-note {
    margin: 22px 0 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--slate);
    font-size: 13px;
}

.release-note span,
.demo-assurance span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    flex: none;
}

.product-stage {
    position: relative;
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
    background: var(--surface);
    box-shadow: var(--shadow);
    animation: stage-enter 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.stage-topbar {
    min-height: 66px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    border-bottom: 1px solid var(--border);
    font-size: 12px;
}

.stage-topbar > span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--slate);
}

.stage-topbar > span i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--action);
}

.stage-topbar > strong {
    font-size: 14px;
}

.stage-action {
    justify-self: end;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    background: var(--endpoint);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.stage-topbar > .stage-action {
    color: #fff;
}

.stage-body {
    padding: 26px 28px 30px;
}

.stage-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.stage-title strong,
.stage-title span,
.stage-current strong,
.stage-current small,
.stage-row strong,
.stage-row small,
.summary-end strong,
.summary-end small {
    display: block;
}

.stage-title strong {
    font-size: 21px;
    letter-spacing: -0.025em;
}

.stage-title span {
    color: var(--slate);
    font-size: 11px;
}

.stage-title > span {
    padding-top: 4px;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(180px, 0.7fr);
    border-top: 1px solid var(--border);
}

.stage-schedule {
    padding-right: 24px;
}

.stage-schedule > p {
    margin: 17px 0 10px;
    color: var(--slate);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.stage-current {
    min-height: 90px;
    padding: 17px;
    display: grid;
    grid-template-columns: 58px 1fr auto;
    align-items: center;
    gap: 14px;
    border-radius: 11px;
    background: var(--open-bg);
    color: var(--open-text);
}

.stage-time {
    font-size: 18px;
    font-weight: 720;
}

.stage-current strong,
.stage-row strong {
    font-size: 12px;
}

.stage-current small,
.stage-row small {
    margin-top: 3px;
    color: var(--slate);
    font-size: 10px;
}

.stage-current em {
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.stage-row {
    min-height: 72px;
    display: grid;
    grid-template-columns: 58px 1fr auto;
    align-items: center;
    gap: 14px;
    border-bottom: 1px solid var(--border);
}

.stage-row time {
    font-size: 13px;
    font-weight: 700;
}

.stage-row b {
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.stage-summary {
    padding: 18px 0 0 24px;
    border-left: 1px solid var(--border);
}

.stage-summary > span {
    color: var(--slate);
    font-size: 10px;
    text-transform: uppercase;
}

.stage-summary > strong {
    display: block;
    margin: 5px 0 20px;
    font-size: 26px;
    letter-spacing: -0.035em;
    font-variant-numeric: tabular-nums;
}

.summary-line {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--border);
    color: var(--slate);
    font-size: 10px;
}

.summary-line i,
.summary-end > i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--action);
    flex: none;
}

.summary-end {
    margin-top: 16px;
    padding-top: 18px;
    display: flex;
    gap: 10px;
    border-top: 1px solid var(--border);
}

.summary-end > i {
    margin-top: 4px;
    background: var(--endpoint);
}

.summary-end strong {
    font-size: 10px;
}

.summary-end small {
    margin-top: 4px;
    color: var(--slate);
    font-size: 9px;
}

.connection-section {
    padding: 104px max(32px, calc((100vw - 1280px) / 2));
    background: var(--ink);
    color: #fff;
}

.connection-heading {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 80px;
    align-items: end;
}

.connection-heading h2,
.audience-section h2,
.demo-invitation h2,
.page-intro h1,
.login-copy h1,
.onboarding-copy h1 {
    margin: 0;
    font-size: clamp(38px, 4.2vw, 66px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.connection-heading p {
    max-width: 560px;
    margin: 0 0 6px;
    color: #b9cad8;
    font-size: 18px;
}

.connection-flow {
    position: relative;
    margin: 72px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
}

.connection-flow::before {
    content: "";
    position: absolute;
    top: 9px;
    left: 8px;
    right: 8px;
    height: 2px;
    background: #45627a;
    transform-origin: left;
    animation: dayline-draw 900ms 180ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.connection-flow li {
    position: relative;
    z-index: 1;
    padding: 32px 34px 0 0;
}

.connection-flow li::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 3px solid var(--ink);
    border-radius: 50%;
    background: var(--action);
    box-shadow: 0 0 0 1px #7892a7;
}

.connection-flow li.endpoint::before {
    background: var(--endpoint);
}

.connection-flow span,
.connection-flow strong {
    display: block;
}

.connection-flow span {
    color: #87a0b5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.connection-flow strong {
    max-width: 250px;
    margin-top: 8px;
    font-size: 17px;
    line-height: 1.35;
}

.truth-note {
    max-width: 760px;
    margin: 68px 0 0;
    padding-top: 18px;
    border-top: 1px solid #36536b;
    color: #9cb1c2;
    font-size: 12px;
}

.audience-section {
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
    padding: 122px 0;
}

.audience-section > header {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    align-items: end;
    gap: 72px;
}

.audience-section > header p {
    max-width: 480px;
    margin: 0 0 8px;
    color: var(--slate);
    font-size: 18px;
}

.audience-list {
    margin-top: 72px;
    border-top: 1px solid var(--border-strong);
}

.audience-list article {
    min-height: 98px;
    display: grid;
    grid-template-columns: minmax(230px, 0.8fr) 1.2fr;
    align-items: center;
    gap: 40px;
    border-bottom: 1px solid var(--border);
}

.audience-list strong {
    font-size: 22px;
    letter-spacing: -0.02em;
}

.audience-list span {
    max-width: 680px;
    color: var(--slate);
}

.demo-invitation {
    width: min(1420px, calc(100% - 64px));
    min-height: 360px;
    margin: 0 auto 64px;
    padding: 64px clamp(32px, 6vw, 88px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 64px;
    border-radius: 16px;
    background: var(--action);
    color: #fff;
}

.demo-invitation h2 {
    max-width: 820px;
}

.demo-invitation p {
    max-width: 680px;
    margin: 20px 0 0;
    color: #dbe6ff;
    font-size: 18px;
}

.demo-invitation .button {
    flex: none;
}

.compact-main {
    width: min(1180px, calc(100% - 64px));
    min-height: 680px;
    margin: 0 auto;
    padding: 82px 0 112px;
}

.page-intro {
    max-width: 860px;
}

.page-intro > p {
    max-width: 760px;
    margin: 24px 0 0;
    color: var(--slate);
    font-size: 19px;
}

.demo-assurance {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--slate);
    font-size: 13px;
    font-weight: 650;
}

.persona-list {
    margin-top: 70px;
    border-top: 1px solid var(--border-strong);
}

.persona-row {
    min-height: 142px;
    display: grid;
    grid-template-columns: 54px minmax(160px, 0.65fr) minmax(300px, 1.3fr) auto;
    align-items: center;
    gap: 24px;
    border-bottom: 1px solid var(--border);
}

.persona-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--ink);
    color: #fff;
    font-size: 13px;
    font-weight: 720;
}

.persona-identity h2 {
    margin: 0;
    font-size: 19px;
}

.persona-identity p {
    margin: 2px 0 0;
    color: var(--slate);
    font-size: 13px;
}

.persona-focus strong,
.persona-focus span {
    display: block;
}

.persona-focus strong {
    font-size: 14px;
}

.persona-focus span {
    max-width: 520px;
    margin-top: 4px;
    color: var(--slate);
    font-size: 13px;
}

.demo-boundary {
    max-width: 760px;
    margin-top: 38px;
    padding: 18px 0 0 26px;
    position: relative;
    border-top: 1px solid var(--border);
}

.demo-boundary::before {
    content: "";
    position: absolute;
    top: 23px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--endpoint);
}

.demo-boundary strong {
    font-size: 13px;
}

.demo-boundary p {
    margin: 4px 0 0;
    color: var(--slate);
    font-size: 13px;
}

.auth-main {
    width: min(1120px, calc(100% - 64px));
    min-height: calc(100vh - 78px);
    margin: 0 auto;
    padding: 74px 0 96px;
    display: grid;
    grid-template-columns: 1fr 0.86fr;
    gap: 110px;
    align-items: center;
}

.login-panel {
    max-width: 510px;
}

.login-copy h1,
.onboarding-copy h1 {
    font-size: clamp(42px, 5vw, 62px);
}

.login-copy > p,
.onboarding-copy > p {
    margin: 18px 0 0;
    color: var(--slate);
    font-size: 18px;
}

.login-form,
.onboarding-form {
    margin-top: 44px;
}

.login-form label,
.onboarding-form label {
    display: block;
    margin: 21px 0 7px;
    font-size: 13px;
    font-weight: 700;
}

.onboarding-form label span {
    color: var(--slate);
    font-weight: 500;
}

.login-form input,
.onboarding-form input,
.onboarding-form select {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid var(--border-strong);
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    caret-color: var(--action);
}

.login-form input:hover,
.onboarding-form input:hover,
.onboarding-form select:hover {
    border-color: var(--slate);
}

.login-form .button,
.onboarding-form > .button {
    width: 100%;
    margin-top: 30px;
}

.field-error {
    margin: 7px 0 0;
    padding: 9px 11px;
    border-radius: 8px;
    background: var(--error-bg);
    color: var(--error);
    font-size: 13px;
}

.login-aside {
    min-height: 520px;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 16px;
    background: var(--ink);
    color: #fff;
}

.aside-line {
    display: flex;
    align-items: center;
}

.aside-line::before {
    content: "";
    order: 2;
    width: 68px;
    height: 2px;
    background: #526e85;
}

.aside-line span,
.aside-line i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--action);
}

.aside-line span:nth-child(1) {
    order: 1;
}

.aside-line span:nth-child(2) {
    order: 3;
}

.aside-line span:nth-child(3) {
    order: 5;
}

.aside-line i {
    order: 7;
    background: var(--endpoint);
}

.aside-line span:nth-child(2)::after,
.aside-line span:nth-child(3)::after {
    content: "";
    display: block;
    width: 68px;
    height: 2px;
    margin: 5px 12px;
    background: #526e85;
}

.login-aside h2 {
    max-width: 360px;
    margin: 0;
    font-size: 32px;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.login-aside p {
    max-width: 390px;
    margin: 16px 0 26px;
    color: #b9cad8;
}

.login-aside small {
    color: #87a0b5;
}

.onboarding-main {
    width: min(920px, calc(100% - 64px));
    min-height: calc(100vh - 78px);
    margin: 0 auto;
    padding: 72px 0 110px;
}

.onboarding-progress {
    height: 4px;
    margin-bottom: 66px;
    overflow: hidden;
    border-radius: 4px;
    background: var(--border);
}

.onboarding-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--action);
}

.onboarding-copy {
    max-width: 680px;
}

.onboarding-form {
    max-width: 600px;
    padding-top: 8px;
}

.onboarding-note {
    margin-top: 26px;
    padding: 16px;
    display: flex;
    gap: 12px;
    border-radius: 10px;
    background: var(--open-bg);
    color: var(--open-text);
}

.onboarding-note span {
    width: 8px;
    height: 8px;
    margin-top: 7px;
    border-radius: 50%;
    background: var(--action);
    flex: none;
}

.onboarding-note p {
    margin: 0;
    font-size: 13px;
}

.site-footer {
    width: min(1420px, calc(100% - 64px));
    min-height: 170px;
    margin: 0 auto;
    padding: 42px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    border-top: 1px solid var(--border-strong);
}

.footer-brand {
    font-size: 19px;
}

.footer-brand .public-brand-mark {
    width: 32px;
    height: 32px;
}

.site-footer p {
    margin: 9px 0 0;
    color: var(--slate);
    font-size: 13px;
}

.footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    color: var(--slate);
    font-size: 12px;
}

@keyframes stage-enter {
    from {
        clip-path: inset(0 0 14% 0 round 16px);
        transform: translateY(22px);
    }
    to {
        clip-path: inset(0 0 0 0 round 16px);
        transform: translateY(0);
    }
}

@keyframes dayline-draw {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@media (max-width: 1120px) {
    .hero {
        grid-template-columns: 1fr;
        padding-top: 70px;
    }

    .hero-copy {
        max-width: 800px;
    }

    .product-stage {
        width: 100%;
    }

    .auth-main {
        gap: 56px;
    }

    .persona-row {
        grid-template-columns: 54px minmax(150px, 0.65fr) minmax(240px, 1fr);
        padding: 24px 0;
    }

    .persona-row form {
        grid-column: 2 / 4;
    }
}

@media (max-width: 820px) {
    .site-header-inner,
    .hero,
    .audience-section,
    .demo-invitation,
    .site-footer,
    .compact-main,
    .auth-main,
    .onboarding-main {
        width: min(100% - 32px, 1420px);
    }

    .site-header-inner {
        grid-template-columns: 1fr auto;
        gap: 16px;
    }

    .site-nav,
    .login-link {
        display: none;
    }

    .hero {
        min-height: auto;
        padding: 58px 0 74px;
        gap: 54px;
    }

    .hero-copy h1 {
        font-size: clamp(46px, 12vw, 68px);
    }

    .connection-section {
        padding: 78px 24px;
    }

    .connection-heading,
    .audience-section > header {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .connection-flow {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .connection-flow::before {
        top: 8px;
        bottom: 8px;
        left: 8px;
        right: auto;
        width: 2px;
        height: auto;
        transform-origin: top;
    }

    .connection-flow li {
        padding: 0 0 34px 36px;
    }

    .connection-flow li::before {
        top: 2px;
    }

    .audience-section {
        padding: 82px 0;
    }

    .audience-list {
        margin-top: 48px;
    }

    .audience-list article {
        padding: 22px 0;
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .demo-invitation {
        min-height: 410px;
        padding: 46px 28px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 32px;
    }

    .auth-main {
        grid-template-columns: 1fr;
        padding-top: 56px;
    }

    .login-panel {
        max-width: none;
    }

    .login-aside {
        min-height: 430px;
    }
}

@media (max-width: 600px) {
    .site-header-inner {
        height: 70px;
    }

    .public-brand {
        font-size: 20px;
    }

    .public-brand-mark {
        width: 34px;
        height: 34px;
    }

    .site-actions .button {
        min-height: 40px;
        padding-inline: 14px;
        font-size: 13px;
    }

    .language-switcher button {
        min-width: 30px;
        padding-inline: 7px;
    }

    .hero-copy h1 {
        font-size: 45px;
    }

    .hero-lead,
    .connection-heading p,
    .audience-section > header p,
    .page-intro > p {
        font-size: 16px;
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
    }

    .stage-body {
        padding: 22px 18px;
    }

    .stage-topbar {
        grid-template-columns: 1fr auto;
        padding-left: 24px;
    }

    .stage-topbar > strong {
        display: none;
    }

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

    .stage-schedule {
        padding-right: 0;
    }

    .stage-summary {
        padding: 24px 0 0;
        border-left: 0;
    }

    .stage-current {
        grid-template-columns: 52px 1fr;
    }

    .stage-current em {
        grid-column: 2;
        width: fit-content;
    }

    .stage-row {
        grid-template-columns: 52px 1fr;
    }

    .stage-row b {
        display: none;
    }

    .connection-heading h2,
    .audience-section h2,
    .demo-invitation h2,
    .page-intro h1,
    .login-copy h1,
    .onboarding-copy h1 {
        font-size: 38px;
    }

    .compact-main {
        padding-top: 54px;
    }

    .persona-list {
        margin-top: 48px;
    }

    .persona-row {
        grid-template-columns: 46px 1fr;
        gap: 16px;
    }

    .persona-focus,
    .persona-row form {
        grid-column: 1 / -1;
    }

    .persona-row .button {
        width: 100%;
    }

    .login-aside {
        min-height: 390px;
        padding: 32px 26px;
    }

    .aside-line span:nth-child(2)::after,
    .aside-line span:nth-child(3)::after,
    .aside-line::before {
        width: 34px;
    }

    .onboarding-main {
        padding-top: 40px;
    }

    .onboarding-progress {
        margin-bottom: 46px;
    }

    .site-footer {
        min-height: 200px;
        flex-direction: column;
        gap: 28px;
    }

    .footer-meta {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Multi business demo surfaces */
.tenant-surface{--tenant-primary:#134e8e;--tenant-soft:#e9f2ff;--tenant-accent:#ff4400}
.demo-intro{max-width:850px}.page-kicker{display:block;margin-bottom:14px;color:var(--action);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.business-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:44px}.business-demo-card{min-width:0;padding:28px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(11,37,61,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.business-demo-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tenant-primary) 40%,var(--border));box-shadow:0 22px 48px rgba(11,37,61,.11)}.business-demo-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.business-demo-card>header img{width:min(220px,60%);height:52px;object-fit:contain;object-position:left center}.business-demo-card>header>span{padding:6px 9px;border-radius:7px;background:var(--tenant-soft);color:var(--tenant-primary);font-size:10px;font-weight:750}.business-demo-copy{margin-top:26px;padding-top:24px;border-top:1px solid var(--border)}.business-demo-copy small{color:var(--tenant-primary);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.business-demo-copy h2{max-width:480px;margin:7px 0 10px;font-size:28px;line-height:1.08;letter-spacing:-.035em}.business-demo-copy p{min-height:52px;margin:0;color:var(--slate);font-size:13px}.business-demo-team{margin-top:24px;padding:15px;border-radius:11px;display:flex;align-items:center;gap:14px;background:var(--tenant-soft)}.avatar-stack{display:flex;padding-left:8px}.avatar-stack .photo-avatar{width:38px;height:38px;margin-left:-8px;border:2px solid #fff;border-radius:50%;background-size:200% 200%;box-shadow:0 3px 10px rgba(11,37,61,.12)}.business-demo-team>span strong,.business-demo-team>span small{display:block}.business-demo-team>span strong{font-size:11px}.business-demo-team>span small{margin-top:2px;color:var(--slate);font-size:9px}.business-demo-facts{margin:22px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.business-demo-facts div{padding:12px 10px;background:#fff}.business-demo-facts dt{color:var(--slate);font-size:8px}.business-demo-facts dd{margin:3px 0 0;font-size:11px;font-weight:750}.business-demo-card>footer{display:flex;gap:10px}.business-demo-card>footer>*{flex:1}.business-demo-card>footer .button{width:100%}.business-demo-card .button-primary{background:var(--tenant-primary)}.business-demo-card .button-primary:hover{filter:brightness(.9)}

.booking-main.tenant-surface{--action:var(--tenant-primary);--action-hover:color-mix(in srgb,var(--tenant-primary) 85%,#000);--endpoint:var(--tenant-accent);--endpoint-hover:color-mix(in srgb,var(--tenant-accent) 85%,#000)}.tenant-logo{width:190px;height:48px;object-fit:contain;object-position:left center}.booking-business-copy{display:none}.booking-business-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.booking-business-actions>a{color:var(--slate);font-size:11px;font-weight:700}.tenant-intro{padding:4px 4px 26px;border-bottom:1px solid rgba(255,255,255,.13)}.tenant-intro>span{color:color-mix(in srgb,var(--tenant-soft) 65%,#fff);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.tenant-intro>strong{display:block;margin:7px 0 8px;color:#fff;font-size:21px;line-height:1.15;letter-spacing:-.025em}.tenant-intro>p{margin:0;color:rgba(255,255,255,.62);font-size:10px;line-height:1.55}.booking-steps ol{margin-top:22px}.booking-help small{display:block;margin-top:2px;color:rgba(255,255,255,.55);font-size:8px}.photo-avatar{background-repeat:no-repeat;background-size:200% 200%;background-color:var(--tenant-soft)}.staff-card .photo-avatar{width:54px;height:54px;border-radius:12px}.datetime-split{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(270px,.85fr);gap:22px;align-items:start}.booking-calendar,.time-availability{border:1px solid var(--border);border-radius:13px;background:#fff}.booking-calendar{padding:22px}.booking-calendar>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.booking-calendar>header button{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:21px}.booking-calendar>header strong{font-size:14px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:var(--slate);font-size:8px;font-weight:750;text-align:center}.calendar-days button{aspect-ratio:1;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:11px;font-weight:700}.calendar-days button:not(:disabled):hover{background:var(--tenant-soft);color:var(--tenant-primary)}.calendar-days button.is-selected{background:var(--tenant-primary);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--tenant-primary) 25%,transparent)}.calendar-days button.is-muted{color:#b5c0cc}.time-availability{min-height:100%;overflow:hidden}.time-availability>header{padding:21px 20px;border-bottom:1px solid var(--border)}.time-availability>header span,.time-availability>header strong,.time-availability>header small{display:block}.time-availability>header span{color:var(--tenant-primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.time-availability>header strong{margin-top:5px;font-size:13px}.time-availability>header small{margin-top:3px;color:var(--slate);font-size:8px}.time-groups{padding:16px 20px}.time-groups p{margin:8px 0;color:var(--slate);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.time-groups div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.time-groups button{height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:11px;font-weight:750}.time-groups button:hover,.time-groups button.is-selected{border-color:var(--tenant-primary);background:var(--tenant-soft);color:var(--tenant-primary)}.timezone-note{margin:0;padding:13px 20px;border-top:1px solid var(--border);background:#fafcfe;color:var(--slate);font-size:8px}.details-form{max-width:720px}.details-form label{position:relative}.details-form label>em,.details-form label>small{margin-left:5px;color:var(--tenant-primary);font-size:8px;font-style:normal}.phone-input{margin-top:7px;display:grid;grid-template-columns:105px 1fr}.phone-input select,.phone-input input{margin:0}.phone-input select{border-radius:9px 0 0 9px;border-right:0;background:var(--tenant-soft);color:var(--tenant-primary);font-weight:750}.phone-input input{border-radius:0 9px 9px 0}.identity-policy{max-width:720px;margin-top:18px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--tenant-primary) 18%,#fff);border-radius:12px;background:var(--tenant-soft)}.identity-policy span,.identity-policy strong{display:block}.identity-policy span{color:var(--tenant-primary);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.identity-policy strong{margin-top:4px;font-size:12px}.identity-policy p{margin:6px 0 0;color:var(--slate);font-size:10px}.booking-success{max-width:720px;margin:0 auto;padding:48px 12px 34px;text-align:center}.success-mark{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--tenant-soft);color:var(--tenant-primary)}.success-mark svg{width:28px;fill:none;stroke:currentColor;stroke-width:2.2}.booking-success>span{color:var(--tenant-primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.booking-success h1{margin:7px 0 10px;font-size:34px;letter-spacing:-.04em}.booking-success>p{max-width:540px;margin:0 auto;color:var(--slate);font-size:12px}.booking-success>article{margin:28px auto 18px;padding:18px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;text-align:left}.booking-success>article img{width:110px;height:50px;object-fit:contain}.booking-success>article strong,.booking-success>article span,.booking-success>article small{display:block}.booking-success>article strong{font-size:13px}.booking-success>article span{margin-top:3px;color:var(--tenant-primary);font-size:10px;font-weight:700}.booking-success>article small{margin-top:4px;color:var(--slate);font-size:9px}.calendar-actions{padding:20px;border-radius:12px;background:var(--tenant-soft);text-align:left}.calendar-actions>strong{font-size:11px}.calendar-actions>div{margin-top:11px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.calendar-actions a,.calendar-actions button{min-height:38px;padding:0 10px;border:1px solid color-mix(in srgb,var(--tenant-primary) 22%,#fff);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--tenant-primary);font-size:9px;font-weight:750}.success-actions{margin-top:22px;display:flex;justify-content:center;gap:10px}

.identity-policy{border:1px solid color-mix(in srgb,var(--tenant-primary) 24%,#fff);border-radius:10px}
@media(max-width:900px){.business-demo-grid{grid-template-columns:1fr}.datetime-split{grid-template-columns:1fr}.time-availability{min-height:0}.business-demo-copy p{min-height:0}}
@media(max-width:620px){.business-demo-card{padding:20px}.business-demo-card>header{align-items:flex-start}.business-demo-card>header img{width:170px}.business-demo-card>header>span{display:none}.business-demo-facts{grid-template-columns:1fr}.business-demo-card>footer{flex-direction:column}.booking-business-actions>a{display:none}.tenant-logo{width:160px}.datetime-split{gap:14px}.booking-calendar{padding:15px}.calendar-weekdays,.calendar-days{gap:4px}.time-groups div,.calendar-actions>div{grid-template-columns:1fr 1fr}.booking-success>article{grid-template-columns:1fr;text-align:center}.booking-success>article img{margin:auto}.success-actions{flex-direction:column}}

/* Customer booking flow */
.booking-body { background: var(--cloud); }
.booking-main { width: min(1280px, calc(100% - 48px)); min-height: 760px; margin: 36px auto 70px; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 22px 60px rgba(23, 37, 54, .1); }
.booking-business { min-height: 74px; padding: 0 24px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); }
.business-avatar { width: 40px; height: 40px; border-radius: 9px; display: grid; place-items: center; background: var(--blue, #134e8e); color: #fff; font-size: 12px; font-weight: 800; }
.booking-business strong, .booking-business span { display: block; }
.booking-business strong { font-size: 14px; }
.booking-business div span { margin-top: 2px; color: var(--slate); font-size: 11px; }
.booking-business .preview-label { margin-left: auto; padding: 5px 9px; border-radius: 6px; background: #fff5dc; color: #684100; font-size: 10px; font-weight: 750; }
.booking-layout { min-height: 686px; display: grid; grid-template-columns: 255px minmax(0, 1fr); }
.booking-steps { padding: 34px 22px; display: flex; flex-direction: column; background: var(--ink); color: #fff; }
.booking-steps ol { margin: 0; padding: 0; list-style: none; }
.booking-steps li { position: relative; min-height: 74px; display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: start; color: #91a4b6; }
.booking-steps li:not(:last-child)::after { content: ""; position: absolute; top: 33px; bottom: 5px; left: 15px; border-left: 1px solid #40566b; }
.booking-steps li > span { position: relative; z-index: 1; width: 32px; height: 32px; border: 1px solid #536a7f; border-radius: 50%; display: grid; place-items: center; background: var(--ink); font-size: 10px; font-weight: 800; }
.booking-steps li strong, .booking-steps li small { display: block; }
.booking-steps li strong { padding-top: 2px; color: #c5d1db; font-size: 11px; }
.booking-steps li small { margin-top: 3px; font-size: 9px; }
.booking-steps li.is-active > span { border-color: var(--action); background: var(--action); color: #fff; box-shadow: 0 5px 14px rgba(19, 78, 142, .35); }
.booking-steps li.is-active strong { color: #fff; }
.booking-steps li.is-complete > span { border-color: #3a987b; background: #28785f; color: #fff; }
.booking-help { margin-top: auto; padding-top: 20px; border-top: 1px solid #40566b; }
.booking-help strong, .booking-help span { display: block; }
.booking-help strong { font-size: 10px; }
.booking-help span { margin-top: 4px; color: #aebdca; font-size: 10px; }
.booking-workspace { min-width: 0; display: flex; flex-direction: column; }
.booking-heading { min-height: 128px; padding: 29px 34px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--border); }
.booking-heading > div > span { color: var(--action); font-size: 9px; font-weight: 800; }
.booking-heading h1 { margin: 5px 0 0; font-size: 28px; line-height: 1.12; letter-spacing: -.03em; }
.booking-heading p { margin: 7px 0 0; color: var(--slate); font-size: 11px; }
.booking-heading > a { margin-top: 3px; color: var(--action); font-size: 10px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
#booking-form { flex: 1; }
.booking-panel { padding: 26px 34px 32px; animation: booking-panel-in .3s cubic-bezier(.22, 1, .36, 1) both; }
.booking-panel[hidden] { display: none; }
.service-search label { display: block; margin-bottom: 6px; color: var(--slate); font-size: 9px; font-weight: 750; }
.service-search input { width: 100%; height: 41px; padding: 0 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; caret-color: var(--action); font-size: 11px; }
.service-groups h2, .time-group h2 { margin: 24px 0 10px; font-size: 12px; }
.service-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.choice-card { min-height: 82px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; align-items: center; background: #fff; text-align: left; }
.choice-card:hover, .choice-card.is-selected { border-color: var(--action); background: var(--open-bg); box-shadow: 0 7px 18px rgba(19, 78, 142, .08); }
.choice-icon { width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; background: var(--open-bg); color: var(--action); }
.choice-icon svg, .staff-avatar svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.choice-card strong, .choice-card small { display: block; }
.choice-card strong { font-size: 11px; }
.choice-card small { margin-top: 3px; color: var(--slate); font-size: 9px; }
.choice-card b { font-size: 10px; }
.staff-options { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.staff-card { min-height: 94px; padding: 13px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; gap: 12px; align-items: center; background: #fff; text-align: left; }
.staff-card:hover, .staff-card.is-selected { border-color: var(--action); background: var(--open-bg); box-shadow: 0 7px 18px rgba(19, 78, 142, .08); }
.staff-avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--open-bg); color: var(--action); font-size: 11px; font-weight: 800; }
.staff-avatar.gold { background: #fff5dc; color: #825000; }
.staff-avatar.green { background: #e9f7f2; color: #19745c; }
.staff-card strong, .staff-card small { display: block; }
.staff-card strong { font-size: 11px; }
.staff-card small { margin-top: 3px; color: var(--slate); font-size: 9px; }
.staff-card b { color: var(--slate); font-size: 9px; }
.date-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.date-strip button { min-height: 62px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.date-strip button:hover, .date-strip button.is-selected { border-color: var(--action); background: var(--action); color: #fff; }
.date-strip small, .date-strip strong { display: block; }
.date-strip small { font-size: 8px; }
.date-strip strong { margin-top: 4px; font-size: 14px; }
.time-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.time-options button { height: 42px; border: 1px solid var(--border); border-radius: 7px; background: #fff; font-size: 10px; font-weight: 700; }
.time-options button:hover, .time-options button.is-selected { border-color: var(--action); background: var(--open-bg); color: var(--action); }
.customer-form { max-width: 720px; }
.customer-form label { display: block; margin-bottom: 16px; color: var(--slate); font-size: 9px; font-weight: 750; }
.customer-form label > span { font-weight: 500; }
.customer-form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.customer-form input:not([type="checkbox"]), .customer-form textarea { width: 100%; margin-top: 6px; padding: 0 11px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; font-size: 11px; }
.customer-form input:not([type="checkbox"]) { height: 42px; }
.customer-form textarea { padding-block: 10px; resize: vertical; }
.customer-form .consent { padding: 12px; display: flex; align-items: flex-start; gap: 9px; border-radius: 8px; background: var(--cloud); color: var(--ink); font-weight: 550; }
.customer-form .consent input { margin-top: 3px; accent-color: var(--action); }
.booking-review { max-width: 680px; }
.review-status { padding: 16px; display: flex; gap: 12px; border-radius: 9px; background: #e9f7f2; }
.review-status > span, .booking-complete > span { width: 34px; height: 34px; flex: none; border-radius: 50%; display: grid; place-items: center; background: #19745c; color: #fff; }
.review-status svg, .booking-complete svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; }
.review-status strong { font-size: 11px; }
.review-status p { margin: 4px 0 0; color: #356b5c; font-size: 9px; }
.booking-review dl { margin: 18px 0; border-top: 1px solid var(--border); }
.booking-review dl div { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--border); font-size: 10px; }
.booking-review dt { color: var(--slate); }
.booking-review dd { margin: 0; font-weight: 700; text-align: right; }
.booking-review .confirm-booking { width: 100%; }
.booking-footer { min-height: 70px; padding: 13px 34px; display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--border); background: #fff; }
.booking-footer .button { min-width: 88px; }
.button-secondary { border-color: var(--border-strong); background: #fff; }
.booking-footer .button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.booking-summary-mini { flex: 1; text-align: right; }
.booking-summary-mini span, .booking-summary-mini strong { display: block; }
.booking-summary-mini span { color: var(--slate); font-size: 9px; }
.booking-summary-mini strong { margin-top: 2px; font-size: 11px; }
.booking-complete { min-height: 530px; padding: 80px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.booking-complete[hidden] { display: none; }
.booking-complete > span { width: 54px; height: 54px; }
.booking-complete h1 { margin: 20px 0 0; font-size: 31px; letter-spacing: -.03em; }
.booking-complete p { max-width: 520px; margin: 10px 0 24px; color: var(--slate); font-size: 12px; }
.booking-complete > div { display: flex; gap: 9px; }
@keyframes booking-panel-in { from { opacity: .25; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
    .public-brand img { width: 190px; }
    .booking-main { width: min(100% - 24px, 1280px); margin-top: 18px; }
    .booking-layout { grid-template-columns: 1fr; }
    .booking-steps { padding: 14px 18px; }
    .booking-steps ol { display: grid; grid-template-columns: repeat(5, 1fr); }
    .booking-steps li { min-height: 40px; display: flex; align-items: center; justify-content: center; }
    .booking-steps li:not(:last-child)::after { top: 16px; left: 58%; right: -42%; bottom: auto; border: 0; border-top: 1px solid #40566b; }
    .booking-steps li > div, .booking-help { display: none; }
    .booking-workspace { min-height: 620px; }
}

@media (max-width: 620px) {
    .site-header-inner { width: calc(100% - 24px); }
    .public-brand { height: 30px; }
    .public-brand img { width: 165px; }
    .booking-main { width: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
    .booking-business { padding-inline: 14px; }
    .booking-heading { min-height: 118px; padding: 23px 18px 18px; }
    .booking-heading h1 { font-size: 24px; }
    .booking-heading > a { display: none; }
    .booking-panel { padding: 20px 18px 26px; }
    .service-options, .staff-options, .customer-form > div { grid-template-columns: 1fr; }
    .date-strip { grid-template-columns: repeat(3, 1fr); }
    .time-options { grid-template-columns: repeat(2, 1fr); }
    .booking-footer { position: sticky; bottom: 0; z-index: 4; padding: 11px 14px; }
    .booking-summary-mini { display: none; }
    .booking-footer [data-booking-next] { margin-left: auto; }
    .booking-complete > div { flex-direction: column; width: 100%; }
}

/* Booking form corrective layer after legacy customer form rules */
.details-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.details-form>label{display:block;margin-bottom:16px;color:var(--slate);font-size:9px;font-weight:750}
.details-form>label:first-child,.details-form>label:nth-child(4),.details-form>.consent-row{grid-column:1/-1}
.details-form input:not([type="checkbox"]),.details-form textarea,.details-form select{width:100%;margin-top:6px;padding:0 11px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;font-size:11px}
.details-form input:not([type="checkbox"]),.details-form select{height:42px}
.details-form textarea{padding-block:10px;resize:vertical}
.details-form .phone-input{margin-top:6px;display:grid;grid-template-columns:105px minmax(0,1fr)}
.details-form .phone-input select,.details-form .phone-input input{margin:0}
.details-form .phone-input select{border-radius:8px 0 0 8px;border-right:0;background:var(--tenant-soft);color:var(--tenant-primary);font-weight:750}
.details-form .phone-input input{border-radius:0 8px 8px 0}
.details-form .consent-row{padding:12px;display:flex;align-items:flex-start;gap:9px;border-radius:8px;background:var(--cloud);color:var(--ink);font-weight:550}
.details-form .consent-row input{margin-top:3px;accent-color:var(--tenant-primary)}
.details-form label>.field-error,.details-form .consent-row .field-error{display:block;margin:6px 0 0;color:#a83b32;font-size:9px;font-weight:700}
.details-form .field-error[hidden]{display:none}
.details-form [aria-invalid="true"]{border-color:#b94a42;box-shadow:0 0 0 3px rgba(185,74,66,.1)}
.booking-footer [hidden]{display:none}
.booking-footer[hidden]{display:none}
@media(max-width:620px){.details-form{grid-template-columns:1fr}}
/* Standalone, business-aware booking experience */
.booking-body{margin:0;min-height:100dvh;overflow:hidden;background:#fff}
.booking-main{width:100%;height:100dvh;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}
.booking-business{height:78px;min-height:78px;padding-inline:28px;background:#fff}
.booking-business-copy{display:block}
.booking-layout{height:calc(100dvh - 78px);min-height:0}
.booking-steps{height:100%;overflow:auto}
.booking-workspace{height:100%;min-height:0;overflow:hidden}
.booking-workspace>#booking-form{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden}
.booking-panel,.booking-success{min-height:0;flex:1;overflow:auto}
.booking-footer{flex:none}
.booking-footer>[data-selection-hint]{flex:1;color:var(--slate);font-size:10px;text-align:center}
.booking-footer>[data-booking-next]{margin-inline-start:auto}
.choice-card em{display:block;margin-bottom:3px;color:var(--tenant-primary);font-size:8px;font-style:normal;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.choice-icon{width:42px;height:42px;border-radius:10px;background:var(--tenant-soft);color:var(--tenant-primary)}
.choice-icon svg{width:22px;height:22px}
.photo-avatar{background-repeat:no-repeat;background-size:202% 202%;background-origin:border-box;background-color:var(--tenant-soft)}
.staff-card{grid-template-columns:58px minmax(0,1fr) auto}
.staff-card .photo-avatar{width:58px;height:58px;border:1px solid color-mix(in srgb,var(--tenant-primary) 13%,#fff);border-radius:14px}
.meeting-methods{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}
.meeting-methods header h2,.stay-options h2{margin:0;font-size:14px}
.meeting-methods header p{margin:5px 0 14px;color:var(--slate);font-size:10px}
.meeting-methods>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.meeting-methods button{min-height:74px;padding:11px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;background:#fff;text-align:left}
.meeting-methods button:hover,.meeting-methods button.is-selected{border-color:var(--tenant-primary);background:var(--tenant-soft)}
.meeting-methods button[hidden]{display:none}
.meeting-methods button strong,.meeting-methods button small{display:block}
.meeting-methods button strong{font-size:10px}.meeting-methods button small{margin-top:3px;color:var(--slate);font-size:8px;line-height:1.35}
.method-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--tenant-soft);color:var(--tenant-primary)}
.method-icon svg,.guest-stepper svg,.stay-options svg,.stay-date-arrow svg,.booking-delivery-note svg,.calendar-provider-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.method-google-meet{color:#16865b}.method-zoom{color:#246bfe}.method-microsoft-teams{color:#5b5fc7}.method-phone{color:#8a5c17}.method-in-person{color:#c24f35}
.stay-config{max-width:850px}.guest-selector{padding:18px 20px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}
.guest-selector span,.guest-selector strong,.guest-selector small{display:block}.guest-selector span{color:var(--tenant-primary);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.guest-selector strong{margin-top:4px;font-size:13px}.guest-selector small{margin-top:3px;color:var(--slate);font-size:9px}
.guest-stepper{display:grid;grid-template-columns:38px 46px 38px;align-items:center}.guest-stepper button{width:38px;height:38px;border:1px solid var(--border);display:grid;place-items:center;background:#fff;color:var(--tenant-primary)}.guest-stepper button:first-child{border-radius:9px 0 0 9px}.guest-stepper button:last-child{border-radius:0 9px 9px 0}.guest-stepper output{height:38px;border-block:1px solid var(--border);display:grid;place-items:center;font-size:13px;font-weight:800}
.stay-options{margin-top:24px}.stay-options h2{margin-bottom:12px}.stay-options>button{width:100%;min-height:78px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;background:#fff;text-align:left}.stay-options>button+button{margin-top:9px}.stay-options>button:hover,.stay-options>button.is-selected{border-color:var(--tenant-primary);background:var(--tenant-soft)}.stay-options>button>span{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--tenant-soft);color:var(--tenant-primary)}.stay-options strong,.stay-options small{display:block}.stay-options strong{font-size:11px}.stay-options small{margin-top:4px;color:var(--slate);font-size:9px}.stay-options em{color:var(--tenant-primary);font-size:9px;font-style:normal;font-weight:750}
.stay-dates-grid{max-width:850px;display:grid;grid-template-columns:1fr 44px 1fr;gap:14px;align-items:center}.stay-dates-grid label{padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff}.stay-dates-grid label>span,.stay-dates-grid label>strong,.stay-dates-grid label>small{display:block}.stay-dates-grid label>span{color:var(--tenant-primary);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.stay-dates-grid label>strong{margin-top:4px;font-size:13px}.stay-dates-grid input{width:100%;height:46px;margin-top:13px;padding:0 11px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--ink);font:inherit}.stay-dates-grid label>small{margin-top:8px;color:var(--slate);font-size:9px}.stay-date-arrow{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--tenant-soft);color:var(--tenant-primary)}
.stay-summary{max-width:850px;margin-top:18px;padding:16px 18px;border-radius:11px;display:flex;gap:12px;align-items:center;background:var(--tenant-soft)}.stay-summary>span{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#fff;color:var(--tenant-primary)}.stay-summary svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8}.stay-summary strong,.stay-summary small{display:block}.stay-summary strong{font-size:11px}.stay-summary small{margin-top:3px;color:var(--slate);font-size:9px}.stay-date-error{max-width:850px;margin:10px 0 0;color:#a83b32;font-size:10px;font-weight:700}
.details-form .phone-input{grid-template-columns:minmax(190px,230px) minmax(0,1fr)}
.booking-delivery-note{max-width:720px;margin:2px 0 0;padding:13px 15px;border-radius:9px;display:flex;align-items:center;gap:10px;background:var(--tenant-soft);color:var(--slate);font-size:10px}.booking-delivery-note>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#fff;color:var(--tenant-primary);flex:none}
.calendar-actions a,.calendar-actions button{justify-content:flex-start;gap:9px}
.calendar-provider-icon{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;flex:none;background:#fff;font-size:10px;font-weight:850;box-shadow:inset 0 0 0 1px rgba(13,34,55,.08)}
.calendar-provider-icon.google{color:#16865b}.calendar-provider-icon.microsoft{color:#2563b8}.calendar-provider-icon.apple{color:#111}.calendar-provider-icon.download{color:var(--tenant-primary)}.calendar-provider-icon svg{width:14px;height:14px}

@media(max-width:900px){
    .booking-body{overflow:auto}.booking-main{height:auto;min-height:100dvh}.booking-business{position:sticky;top:0;z-index:7}.booking-layout{height:auto}.booking-steps{position:sticky;top:78px;z-index:6;height:auto;overflow:visible}.booking-workspace{height:auto;min-height:calc(100dvh - 158px);overflow:visible}.booking-workspace>#booking-form{overflow:visible}.booking-panel,.booking-success{overflow:visible}.tenant-intro{display:none}.booking-steps ol{margin-top:0}.meeting-methods>div{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .booking-business{height:68px;min-height:68px}.booking-steps{top:68px}.booking-business-copy{display:none}.booking-business-actions{gap:8px}.booking-business .preview-label{display:none}.tenant-logo{width:150px;height:40px}.booking-heading{min-height:112px}.choice-card{grid-template-columns:42px minmax(0,1fr) auto}.choice-card b{align-self:start}.choice-card em{font-size:9px}.choice-card strong,.staff-card strong{font-size:12px}.choice-card small,.staff-card small{font-size:10px;line-height:1.45}.staff-card{grid-template-columns:58px minmax(0,1fr) auto}.meeting-methods>div{grid-template-columns:1fr}.stay-dates-grid{grid-template-columns:1fr}.stay-date-arrow{transform:rotate(90deg);margin:auto}.stay-options>button{grid-template-columns:38px 1fr}.stay-options>button em{grid-column:2}.details-form .phone-input{grid-template-columns:minmax(142px,44%) minmax(0,1fr)}.details-form input:not([type=checkbox]),.details-form textarea,.details-form select,.service-search input,.stay-dates-grid input{font-size:16px}.booking-footer>[data-selection-hint]{display:none}.booking-footer [data-booking-next]{margin-inline-start:auto}.calendar-actions>div{grid-template-columns:1fr}.booking-success{padding-inline:18px}
}

/* Centered booking window */
.booking-body{
    min-height:100dvh;
    padding:32px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 14% 88%,rgba(255,179,63,.16),transparent 27%),
        radial-gradient(circle at 88% 8%,rgba(19,78,142,.22),transparent 31%),
        #eaf1f7;
}
.booking-body::before{
    content:"";
    position:fixed;
    z-index:0;
    inset:0;
    pointer-events:none;
    opacity:.55;
    background-image:linear-gradient(rgba(19,78,142,.045) 1px,transparent 1px);
    background-size:100% 72px;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent);
}
.booking-main{
    position:relative;
    z-index:1;
    width:min(1160px,100%);
    height:min(700px,calc(100dvh - 64px));
    min-height:min(620px,calc(100dvh - 64px));
    margin:0;
    display:grid;
    grid-template-rows:68px minmax(0,1fr);
    overflow:hidden;
    border:1px solid rgba(122,143,164,.3);
    border-radius:16px;
    background:#fff;
    box-shadow:0 28px 75px rgba(26,51,77,.17),0 3px 12px rgba(26,51,77,.07);
}
.booking-business{
    height:68px;
    min-height:68px;
    padding-inline:24px;
    background:rgba(255,255,255,.96);
}
.tenant-logo{width:170px;height:40px}
.booking-business-copy{margin-left:6px;padding-left:18px;border-left:1px solid var(--border)}
.booking-business-copy strong{font-size:12px}
.booking-business-copy span{font-size:10px}
.booking-business-actions{gap:14px}
.booking-business-actions>a{font-size:10px}
.booking-business .preview-label{padding:7px 10px;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.booking-layout{
    height:auto;
    min-height:0;
    grid-template-columns:232px minmax(0,1fr);
}
.booking-steps{
    height:auto;
    min-height:0;
    padding:27px 24px 22px;
    overflow:hidden;
}
.tenant-intro{padding:0 0 20px}
.tenant-intro>span{font-size:8px}
.tenant-intro>strong{margin:7px 0 6px;font-size:17px;line-height:1.17}
.tenant-intro>p{font-size:9px;line-height:1.5}
.booking-steps ol{margin-top:19px}
.booking-steps li{min-height:53px;grid-template-columns:29px 1fr;gap:11px}
.booking-steps li:not(:last-child)::after{top:30px;bottom:0;left:14px}
.booking-steps li>span{width:29px;height:29px;font-size:9px}
.booking-steps li strong{font-size:10px}
.booking-steps li small{font-size:8px}
.booking-help{padding-top:14px}
.booking-help strong{font-size:9px}
.booking-help span{font-size:8px}
.booking-workspace{
    height:auto;
    min-height:0;
    overflow:hidden;
}
.booking-heading{
    min-height:0;
    padding:23px 32px 16px;
}
.booking-heading h1{margin-top:4px;font-size:23px}
.booking-heading p{margin-top:4px;font-size:10px}
.booking-workspace>#booking-form{min-height:0;overflow:hidden}
.booking-panel{
    padding:20px 32px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:auto;
    background:#fbfcfe;
}
.service-search,.service-groups,.staff-options,.meeting-methods,.stay-config,.stay-dates-grid,.stay-summary,.stay-date-error,.details-form,.booking-delivery-note,.booking-review,.datetime-split{
    width:min(100%,850px);
    margin-inline:auto;
}
.service-groups h2{margin-top:18px}
.choice-card{min-height:74px}
.staff-card{min-height:80px}
.meeting-methods{margin-top:18px;padding-top:16px}
.stay-options{margin-top:18px}
.stay-options>button{min-height:70px}
.booking-footer{
    min-height:64px;
    padding:12px 32px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
}
.booking-footer>[data-booking-back]{justify-self:start}
.booking-footer>[data-selection-hint]{min-width:190px}
.booking-footer>[data-booking-next]{justify-self:end;margin-inline-start:0}
.datetime-split{
    max-width:744px;
    grid-template-columns:minmax(330px,1.08fr) minmax(270px,.92fr);
    gap:14px;
    align-items:stretch;
}
.booking-calendar{padding:17px 18px 16px}
.booking-calendar>header{margin-bottom:12px}
.booking-calendar>header button{width:30px;height:30px;border-radius:7px;font-size:18px}
.booking-calendar>header strong{font-size:12px}
.calendar-weekdays,.calendar-days{gap:3px}
.calendar-weekdays{margin-bottom:3px}
.calendar-weekdays span{padding:5px 0;font-size:7px;text-transform:uppercase}
.calendar-days button{aspect-ratio:1.12;border-radius:7px;font-size:9px}
.time-availability{display:grid;grid-template-rows:auto 1fr auto}
.time-availability>header{padding:16px 17px 12px}
.time-availability>header span{font-size:7px}
.time-availability>header strong{margin-top:4px;font-size:11px}
.time-availability>header small{margin-top:2px;font-size:7px}
.time-groups{padding:10px 17px}
.time-groups p{margin:3px 0 6px;font-size:7px}
.time-groups div+p{margin-top:10px}
.time-groups div{gap:7px}
.time-groups button{height:31px;border-radius:7px;font-size:9px}
.timezone-note{padding:9px 17px;font-size:7px}
.details-form{max-width:720px}
.booking-delivery-note{max-width:720px}
.booking-review{max-width:680px}
.booking-success{padding:24px 12px;overflow:auto}

@media(max-height:730px) and (min-width:901px){
    .booking-body{padding:20px}
    .booking-main{height:calc(100dvh - 40px);min-height:min(580px,calc(100dvh - 40px))}
    .booking-heading{padding-top:17px;padding-bottom:13px}
    .booking-panel{padding-top:14px;padding-bottom:14px}
    .booking-steps{padding-top:21px;padding-bottom:18px}
    .tenant-intro{padding-bottom:15px}
    .booking-steps ol{margin-top:14px}
    .booking-steps li{min-height:47px}
}

@media(max-width:900px){
    .booking-body{min-height:100dvh;padding:0;display:block;overflow:auto;background:var(--cloud)}
    .booking-body::before{display:none}
    .booking-main{width:100%;height:auto;min-height:100dvh;display:block;border:0;border-radius:0;box-shadow:none}
    .booking-business{position:sticky;top:0;z-index:7}
    .booking-layout{height:auto;display:grid;grid-template-columns:1fr}
    .booking-steps{position:sticky;top:68px;z-index:6;height:auto;padding:12px 18px;overflow:visible}
    .tenant-intro{display:none}
    .booking-steps ol{margin-top:0}
    .booking-steps li{min-height:40px}
    .booking-workspace{height:auto;min-height:calc(100dvh - 148px);overflow:visible}
    .booking-workspace>#booking-form{overflow:visible}
    .booking-panel,.booking-success{min-height:0;padding:20px 24px 26px;justify-content:flex-start;overflow:visible}
    .datetime-split{max-width:680px;grid-template-columns:1fr}
    .time-availability{min-height:0}
    .booking-footer{position:sticky;bottom:0;z-index:5}
}

@media(max-width:620px){
    .booking-business{padding-inline:14px}
    .booking-business-copy{display:none}
    .tenant-logo{width:150px;height:40px}
    .booking-heading{min-height:0;padding:20px 18px 14px}
    .booking-heading h1{font-size:24px}
    .booking-panel,.booking-success{padding:18px}
    .booking-footer{min-height:62px;padding:11px 14px;grid-template-columns:1fr 1fr}
    .booking-footer>[data-selection-hint]{display:none}
    .booking-footer>[data-booking-back]{grid-column:1}
    .booking-footer>[data-booking-next]{grid-column:2;margin-inline-start:auto}
    .datetime-split{gap:14px}
    .booking-calendar{padding:15px}
    .calendar-weekdays,.calendar-days{gap:4px}
    .time-groups button{height:38px;font-size:11px}
}

/* Compact country picker and tenant booking questions */
.booking-footer>[data-booking-back]{grid-column:1}
.booking-footer>[data-selection-hint]{grid-column:2}
.booking-footer>[data-booking-next]{grid-column:3}
.details-form .phone-input{grid-template-columns:104px minmax(0,1fr)}
.details-form>.phone-field{display:block;margin-bottom:16px;color:var(--slate);font-size:9px;font-weight:750}
.phone-field>.field-label{display:block}
.phone-field>.field-label em{color:#a83b32;font-style:normal}
.phone-field>.field-label small{font-size:8px;font-weight:600}
.phone-field>.field-error{display:block;margin:6px 0 0;color:#a83b32;font-size:9px;font-weight:700}
.phone-field>.field-error[hidden]{display:none}
.country-picker{position:relative;display:block;min-width:0}
.details-form .country-picker-trigger{
    width:100%;
    height:42px;
    margin:0;
    padding:0 9px;
    border:1px solid var(--border-strong);
    border-right:0;
    border-radius:8px 0 0 8px;
    display:grid;
    grid-template-columns:22px 1fr 12px;
    gap:5px;
    align-items:center;
    background:var(--tenant-soft);
    color:var(--tenant-primary);
    cursor:pointer;
}
.country-picker-trigger:focus-visible{position:relative;z-index:2;outline:3px solid color-mix(in srgb,var(--tenant-primary) 22%,transparent);outline-offset:1px}
.country-picker-trigger strong{font-size:11px;text-align:left;white-space:nowrap}
.country-picker-trigger svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.country-flag{position:relative;width:24px;height:18px;border-radius:3px;display:grid;place-items:center;overflow:hidden;background:#e6ebf0;color:var(--slate);font-size:7px;font-weight:850;line-height:1}
.country-flag img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;background:#fff}
.country-picker-popover{
    position:absolute;
    z-index:30;
    top:calc(100% + 7px);
    left:0;
    width:min(310px,calc(100vw - 64px));
    padding:8px;
    border:1px solid var(--border);
    border-radius:11px;
    background:#fff;
    box-shadow:0 18px 45px rgba(25,49,74,.2),0 2px 8px rgba(25,49,74,.08);
}
.country-picker-popover[hidden]{display:none}
.country-search{position:relative;display:block}
.country-search svg{position:absolute;top:50%;left:10px;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--slate);stroke-width:1.6;stroke-linecap:round}
.details-form .country-search input{height:38px;margin:0;padding:0 10px 0 34px;border-radius:8px;background:var(--cloud);font-size:11px}
.country-options{max-height:238px;margin-top:7px;display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.country-options button{width:100%;min-height:38px;padding:7px 9px;border:0;border-radius:7px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.country-options button[hidden]{display:none}
.country-options button:hover,.country-options button:focus-visible{outline:0;background:var(--tenant-soft)}
.country-options button[aria-selected="true"]{background:var(--tenant-soft);color:var(--tenant-primary)}
.country-options button>span:nth-child(2){overflow:hidden;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.country-options button strong{font-size:10px}
.country-empty{padding:15px 8px;display:block;color:var(--slate);font-size:10px;text-align:center}
.country-empty[hidden]{display:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.booking-custom-fields{grid-column:1/-1;margin:2px 0 16px;padding:16px;border:1px solid var(--border);border-radius:11px;background:#fff}
.booking-custom-fields>header{margin-bottom:12px}
.booking-custom-fields>header span{color:var(--tenant-primary);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.booking-custom-fields>header h2{margin:3px 0 0;font-size:13px}
.booking-custom-fields>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.custom-field-note{grid-column:1/-1;padding:11px 12px;border-radius:8px;background:var(--tenant-soft)}
.custom-field-note strong{display:block;color:var(--ink);font-size:10px}
.custom-field-note p{margin:3px 0 0;color:var(--slate);font-size:9px;line-height:1.45}
.details-form .custom-input{margin:0;font-size:9px}
.details-form .custom-input input,.details-form .custom-input select,.details-form .custom-input textarea{margin-top:5px}
.details-form .custom-checkbox{min-height:48px;margin:0;padding:10px 11px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:flex-start;gap:9px;color:var(--ink);cursor:pointer}
.custom-checkbox input{margin-top:2px;accent-color:var(--tenant-primary)}
.custom-checkbox strong,.custom-checkbox small{display:block}
.custom-checkbox strong{font-size:9px;line-height:1.35}
.custom-checkbox small{margin-top:3px;color:var(--slate);font-size:8px;font-weight:500;line-height:1.4}
.custom-checkbox em{margin-left:4px}

@media(max-width:620px){
    .booking-footer>[data-selection-hint]{grid-column:auto}
    .booking-footer>[data-booking-next]{grid-column:2}
    .details-form .phone-input{grid-template-columns:100px minmax(0,1fr)}
    .country-picker-popover{width:min(310px,calc(100vw - 36px))}
    .details-form .country-search input{font-size:16px}
    .booking-custom-fields>div{grid-template-columns:1fr}
    .custom-field-note{grid-column:auto}
}

/* Approved compact booking experience */
@media(min-width:901px){
    .booking-body{padding:20px}
    .booking-main{
        width:min(1320px,calc(100vw - 40px));
        height:min(780px,calc(100dvh - 40px));
        min-height:min(620px,calc(100dvh - 40px));
        grid-template-rows:66px minmax(0,1fr);
        border-radius:18px;
    }
    .booking-business{height:66px;min-height:66px;padding-inline:28px}
    .booking-layout{grid-template-columns:238px minmax(0,1fr)}
    .booking-heading{height:84px;padding:13px 38px 10px}
    .booking-heading h1{font-size:22px;line-height:1.1}
    .booking-heading p{margin-top:3px;font-size:9px;line-height:1.35}
    .booking-workspace>#booking-form{display:grid;grid-template-rows:minmax(0,1fr) 64px}
    .booking-panel{padding:18px 38px;justify-content:center;overflow:hidden}
    .booking-footer{height:64px;padding:11px 38px}
    .service-search,.service-groups,.staff-options,.meeting-methods,.stay-config,.stay-dates-grid,.stay-summary,.stay-date-error,.details-form,.booking-review,.datetime-split{width:min(100%,920px)}
    .service-search{margin-bottom:10px}
    .service-groups h2{margin:8px 0 9px}
    .service-options{gap:9px}
    .choice-card{min-height:70px;padding:10px 12px}
    .staff-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .staff-card{min-height:67px;padding:8px 11px;grid-template-columns:48px minmax(0,1fr) auto}
    .staff-card .photo-avatar{width:46px;height:46px;border-radius:11px}
    .staff-card .staff-avatar.any{width:46px;height:46px}
    .meeting-methods{margin-top:12px;padding-top:12px}
    .meeting-methods header p{margin:3px 0 9px}
    .meeting-methods button{min-height:56px;padding:8px 10px}
    .stay-config{max-width:900px}
    .guest-selector{padding:13px 16px}
    .stay-options{margin-top:13px}
    .stay-options>button{min-height:58px;padding:10px 13px}
    .stay-options h2{margin-bottom:8px}
    .stay-dates-grid{max-width:800px}
    .stay-summary{max-width:800px;margin-top:12px}
    .datetime-split{max-width:800px;grid-template-columns:minmax(360px,1.08fr) minmax(290px,.92fr)}
}

/* Impeccable booking pass: readable scale, rental-specific cards, and durable controls */
.booking-main{font-size:14px}
.booking-heading p,.tenant-intro>p{font-size:13px;line-height:1.5}
.booking-business-copy span,.booking-business-actions>a,.booking-help span,.booking-help small{font-size:12px}
.booking-steps li strong{font-size:14px}.booking-steps li small{font-size:12px;line-height:1.35}
.choice-card strong,.staff-card strong{font-size:15px}.choice-card small,.staff-card small{font-size:13px;line-height:1.45}.choice-card em,.choice-card b,.staff-card b{font-size:12px}
.service-selection>header strong,.selected-service>header strong{font-size:14px}.service-selection>header span,.service-selection-empty small,.selected-service>header small,.no-addons{font-size:12px}
.addon-choice strong{font-size:13px}.addon-choice small,.service-selection>footer small,.service-compatibility{font-size:11px}.service-selection>footer span,.service-selection>footer strong{font-size:13px}
.meeting-method-prompt{width:min(100%,920px);margin:14px auto 0;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:12px;background:#fff;color:var(--slate);font-size:13px;text-align:center}
.meeting-method-prompt[hidden],.meeting-methods[hidden]{display:none}
.meeting-methods header p,.meeting-methods button small,.timezone-note,.time-availability>header small{font-size:12px}.meeting-methods button strong,.time-availability>header strong{font-size:14px}
.calendar-weekdays span,.time-availability>header span,.time-groups p{font-size:12px}.calendar-days button,.time-groups button{font-size:14px}
.details-section-header p,.custom-checkbox small,.preferences-empty,.booking-review>header p,.booking-success>p{font-size:13px}
.details-form .contact-field-grid>label,.details-form .contact-field-grid>.phone-field,.details-form .preference-field-grid>label,.details-form .custom-input{font-size:13px}
.details-form input:not([type="checkbox"]),.details-form textarea,.details-form select{font-size:16px}
.booking-footer .button{min-height:44px;padding-inline:22px;font-size:15px}.booking-footer>[data-selection-hint]{font-size:13px}
.details-form .phone-input{height:44px;grid-template-columns:84px minmax(0,1fr);align-items:stretch}
.details-form .country-picker-trigger{width:84px;min-width:84px;max-width:84px;height:44px;padding:0 8px;grid-template-columns:18px minmax(0,1fr) 9px;gap:5px;border-radius:8px 0 0 8px}
.details-form .phone-input>input{height:44px;margin:0;border-radius:0 8px 8px 0}
.country-picker-trigger strong{font-size:13px}.country-flag,.country-flag img{width:18px;height:13px}.country-flag{overflow:hidden;border-radius:2px}.country-flag img{display:block;object-fit:cover}
.country-picker-popover{width:min(340px,calc(100vw - 48px))}.country-search input,.country-options button>span:nth-child(2),.country-options button strong{font-size:14px}
.calendar-days button:disabled:not(.is-muted){color:#9aa9b8;text-decoration:line-through;text-decoration-thickness:1px}

.booking-mode-rental .service-picker-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.booking-mode-rental .service-catalog .service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-mode-rental .service-catalog .choice-card{min-height:150px;padding:10px;grid-template-columns:92px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:start}
.booking-mode-rental .service-photo{width:92px;height:100%;min-height:128px;grid-row:1/3;background-size:200% 200%;border-radius:10px}
.booking-mode-rental .choice-card>span:nth-child(2){min-width:0}.booking-mode-rental .choice-card>span:nth-child(2)>small{display:block;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.booking-mode-rental .choice-card>b{align-self:end;justify-self:start;display:flex;align-items:baseline;gap:5px;font-size:15px}.booking-mode-rental .choice-card>b small{font-size:11px;font-weight:650}
.chalet-facts{display:flex!important;flex-wrap:wrap;gap:4px 8px;margin-top:7px;color:var(--slate);font-size:11px;line-height:1.3}.chalet-facts>span{white-space:nowrap}.chalet-facts>span:last-child{width:100%;overflow:hidden;text-overflow:ellipsis}
.booking-mode-rental .selected-service-photo{background-size:200% 200%}

@media(min-width:901px){
    .booking-body{height:100dvh;overflow:hidden}
    .booking-panel{overflow:auto;scrollbar-gutter:stable}
}
@media(max-width:900px){
    .booking-steps li>div{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
    .booking-footer{position:sticky;bottom:0;z-index:8;box-shadow:0 -10px 24px rgba(23,37,54,.08)}
    .booking-mode-rental .service-picker-layout{grid-template-columns:1fr}
    .booking-mode-rental .service-catalog .service-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .booking-mode-rental .service-catalog .service-options{grid-template-columns:1fr}
    .booking-mode-rental .service-catalog .choice-card{min-height:142px}
    .booking-footer{display:grid;grid-template-columns:1fr 1fr}.booking-footer>[data-booking-next]{justify-self:end}
}

/* Service categories, multiple services, and configurable add ons */
.service-toolbar{width:min(100%,960px);margin:0 auto 10px;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:12px;align-items:end}
.service-toolbar .service-search{width:auto;margin:0}
.service-category-filter{min-width:0;display:flex;gap:6px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:thin}
.service-category-filter button{height:34px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--slate);font:700 11px/1 Manrope,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.service-category-filter button:hover,.service-category-filter button[aria-pressed="true"]{border-color:var(--tenant-primary);background:var(--tenant-soft);color:var(--tenant-primary)}
.service-picker-layout{width:min(100%,960px);min-height:0;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:12px;align-items:stretch}
.service-catalog,.service-selection{min-width:0;height:330px}
.service-catalog{overflow-y:auto;padding-right:3px;scrollbar-width:thin}
.service-catalog .service-options{display:grid;grid-template-columns:1fr;gap:8px}
.service-catalog .choice-card{min-height:74px;padding:8px 10px;grid-template-columns:54px minmax(0,1fr) auto}
.service-photo,.selected-service-photo,.addon-photo{display:block;flex:none;background-repeat:no-repeat;background-size:400% 200%;background-color:var(--tenant-soft)}
.service-photo{width:54px;height:54px;border-radius:8px}
.service-search-empty{margin:24px 0;padding:18px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--slate);font-size:12px;text-align:center}
.service-selection{border:1px solid var(--border);border-radius:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff}
.service-selection>header{min-height:54px;padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--tenant-soft)}
.service-selection>header strong,.service-selection>header span{display:block}
.service-selection>header strong{font-size:13px}.service-selection>header span{margin-top:2px;color:var(--slate);font-size:10px;line-height:1.35}
.service-selection>header output{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--tenant-primary);font-size:12px;font-weight:800}
.service-selection-empty{padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.service-selection-empty>span{width:38px;height:38px;margin-bottom:8px;border-radius:9px;display:grid;place-items:center;background:var(--tenant-soft);color:var(--tenant-primary)}
.service-selection-empty svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.service-selection-empty strong{font-size:13px}.service-selection-empty small{max-width:250px;margin-top:4px;color:var(--slate);font-size:11px;line-height:1.4}
.selected-service-list{min-height:0;overflow-y:auto;scrollbar-width:thin}
.choice-card[hidden],.staff-card[hidden],.selected-service[hidden],.service-selection-empty[hidden],.service-search-empty[hidden]{display:none}
.selected-service{padding:11px 12px;border-bottom:1px solid var(--border)}
.selected-service>header{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;gap:9px;align-items:center}
.selected-service-photo{width:40px;height:40px;border-radius:7px}
.selected-service>header strong,.selected-service>header small{display:block}.selected-service>header strong{font-size:12px}.selected-service>header small{margin-top:2px;color:var(--slate);font-size:10px}
.selected-service>header>button{width:28px;height:28px;border:0;border-radius:7px;background:var(--cloud);color:var(--slate);font-size:18px;line-height:1;cursor:pointer}.selected-service>header>button:hover{background:#feeeeb;color:var(--danger)}
.service-addons{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}.service-addons h3{margin:0 0 6px;font-size:11px}
.addon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.addon-row+.addon-row{margin-top:6px}
.addon-choice{min-width:0;padding:5px;border:1px solid transparent;border-radius:8px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px;align-items:center;background:#fff;text-align:left;cursor:pointer}.addon-choice:hover,.addon-choice.is-selected{border-color:var(--tenant-primary);background:var(--tenant-soft)}
.addon-photo{width:36px;height:36px;border-radius:6px}.addon-choice strong,.addon-choice small{display:block}.addon-choice strong{font-size:11px}.addon-choice small{margin-top:2px;color:var(--slate);font-size:9px;line-height:1.35}
.addon-quantity{display:grid;grid-template-columns:25px 24px 25px;align-items:center}.addon-quantity[hidden]{display:none}.addon-quantity button,.addon-quantity output{height:27px;border:1px solid var(--border);display:grid;place-items:center;background:#fff;color:var(--ink);font-size:11px}.addon-quantity button:first-child{border-radius:6px 0 0 6px}.addon-quantity button:last-child{border-radius:0 6px 6px 0}.addon-quantity output{border-inline:0;font-weight:800}
.no-addons{margin:9px 0 0;color:var(--slate);font-size:10px}
.service-selection>footer{min-height:45px;padding:8px 12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.service-selection>footer[hidden]{display:none}.service-selection>footer span,.service-selection>footer small{display:block}.service-selection>footer span{font-size:11px;font-weight:750}.service-selection>footer small{margin-top:1px;color:var(--slate);font-size:9px;font-weight:500}.service-selection>footer strong{font-size:13px}
.service-compatibility{margin:0;padding:8px 12px;border-top:1px solid #f2c7bf;background:#fff6f4;color:#943829;font-size:10px;font-weight:700;line-height:1.35}.service-compatibility[hidden]{display:none}
.review-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-section-heading h3{margin:0}.review-section-heading button{border:0;background:transparent;color:var(--tenant-primary);font-size:11px;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.booking-review .review-grid dl .review-services-row{align-items:flex-start;padding-block:9px}.review-services{display:grid;gap:7px}.review-services>span{display:block}.review-services strong,.review-services small{display:block}.review-services small{margin-top:2px;color:var(--slate);font-weight:500;line-height:1.35}

@media(max-width:900px){
    .service-toolbar{grid-template-columns:1fr}.service-picker-layout{max-width:680px;grid-template-columns:1fr}.service-catalog,.service-selection{height:auto;max-height:none}.service-catalog{overflow:visible}.service-selection{min-height:260px}.selected-service-list{max-height:none;overflow:visible}
}
@media(max-width:620px){
    .service-category-filter{margin-inline:-2px}.service-picker-layout{gap:10px}.service-selection>header{align-items:flex-start}.addon-row{grid-template-columns:1fr}.addon-quantity{justify-content:end}.service-photo{width:48px;height:48px}.service-catalog .choice-card{grid-template-columns:48px minmax(0,1fr) auto}
}

.details-form.details-layout{
    max-width:920px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    align-items:start;
}
.details-section{
    min-width:0;
    padding:16px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
}
.details-section-header{margin-bottom:12px}
.details-section-header>span{display:block;color:var(--tenant-primary);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.details-section-header h2{margin:3px 0 0;font-size:14px;line-height:1.25}
.details-section-header p{margin:5px 0 0;color:var(--slate);font-size:9px;line-height:1.45}
.details-section-header p strong{display:block;margin-bottom:2px;color:var(--ink);font-weight:750}
.contact-field-grid,.preference-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 11px}
.details-form .contact-field-grid>label,.details-form .contact-field-grid>.phone-field,.details-form .preference-field-grid>label{margin:0;color:var(--slate);font-size:9px;font-weight:750}
.contact-field-grid>.field-full{grid-column:1/-1}
.details-form input:not([type="checkbox"]),.details-form textarea,.details-form select{margin-top:5px}
.details-form textarea{min-height:54px;padding-block:9px;resize:none}
.details-form .phone-input{grid-template-columns:max-content minmax(0,1fr);margin-top:5px}
.phone-field>.field-label em,.phone-field>.field-label small,.details-form>.consent-row em{margin-left:4px}
.details-form .country-picker-trigger{
    width:max-content;
    min-width:78px;
    max-width:90px;
    padding:0 7px;
    grid-template-columns:20px auto 9px;
    gap:5px;
}
.country-picker-trigger strong{font-size:10px}
.country-picker-trigger svg{width:9px;height:9px}
.country-flag{width:20px;height:15px;border-radius:2px}
.country-flag img{width:20px;height:15px;object-fit:contain}
.country-options button{grid-template-columns:20px minmax(0,1fr) auto}
.country-picker-popover{width:min(300px,calc(100vw - 64px))}
.booking-custom-fields{grid-column:auto;margin:0;padding:16px;border-radius:12px}
.booking-custom-fields>header{margin-bottom:12px}
.booking-custom-fields>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 11px}
.details-form .custom-checkbox{min-height:54px;padding:9px 10px}
.details-form .custom-input textarea{min-height:54px}
.preferences-empty{margin:0;padding:12px;border:1px dashed var(--border);border-radius:8px;color:var(--slate);font-size:9px}
.details-form>.consent-row{
    grid-column:1/-1;
    min-height:42px;
    margin:0;
    padding:10px 13px;
    border:1px solid var(--border);
    background:#fff;
}
.booking-review{max-width:920px}
.booking-review>header{margin-bottom:13px}
.booking-review>header>span{color:var(--tenant-primary);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.booking-review>header h2{margin:3px 0 0;font-size:22px}
.booking-review>header p{margin:4px 0 0;color:var(--slate);font-size:10px}
.review-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:12px}
.review-grid>section{min-width:0;padding:15px 16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.review-grid h3{margin:0 0 8px;font-size:11px}
.booking-review .review-grid dl{margin:0;border-top:1px solid var(--border)}
.booking-review .review-grid dl div{min-height:40px;font-size:9px}
.booking-review .review-grid dd{max-width:65%;overflow-wrap:anywhere}
.booking-success{max-width:860px;padding:18px 12px}
.booking-success .success-mark{width:48px;height:48px;margin-bottom:11px}
.booking-success h1{margin:5px 0 7px;font-size:28px}
.booking-success>p{font-size:10px}
.booking-success>article{margin:15px auto 12px;padding:13px 15px}
.booking-success .calendar-actions{padding:13px 15px}
.booking-success .calendar-actions>div{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}
.booking-success .success-actions{margin-top:12px}

@media(max-height:700px) and (min-width:901px){
    .booking-heading{height:74px;padding-top:13px;padding-bottom:10px}
    .booking-panel{padding-top:12px;padding-bottom:12px}
    .details-section{padding:12px}
    .details-section-header{margin-bottom:8px}
    .contact-field-grid,.preference-field-grid{gap:7px 9px}
    .booking-steps{padding-top:18px;padding-bottom:15px}
    .booking-steps li{min-height:45px}
}

@media(max-width:900px){
    .details-form.details-layout,.review-grid{grid-template-columns:1fr}
    .details-form.details-layout{max-width:680px}
    .booking-custom-fields{grid-column:auto}
    .booking-success .calendar-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
    .contact-field-grid,.preference-field-grid{grid-template-columns:1fr}
    .booking-custom-fields>.preference-field-grid{grid-template-columns:1fr}
    .contact-field-grid>.field-full{grid-column:auto}
    .details-section{padding:14px}
    .details-form .country-picker-trigger{min-width:78px;max-width:88px}
    .booking-success .calendar-actions>div{grid-template-columns:1fr}
}

/* Readable customer interface */
.booking-business-copy strong{font-size:13px}
.booking-business-copy span,.booking-business-actions>a{font-size:11px}
.tenant-intro>span,.booking-heading>div>span{font-size:10px}
.tenant-intro>p,.booking-heading p{font-size:12px}
.booking-steps li strong{font-size:13px}
.booking-steps li small{font-size:11px}
.booking-help strong{font-size:12px}
.booking-help span,.booking-help small{font-size:11px}
.service-search label,.service-groups h2{font-size:12px}
.service-search input{font-size:14px}
.choice-card em{font-size:11px}
.choice-card strong,.staff-card strong{font-size:14px}
.choice-card small,.staff-card small{font-size:12px}
.choice-card b,.staff-card b{font-size:12px}
.meeting-methods header h2,.stay-options h2{font-size:15px}
.meeting-methods header p{font-size:12px}
.meeting-methods button strong{font-size:13px}
.meeting-methods button small{font-size:11px}
.calendar-weekdays span{font-size:11px}
.calendar-days button{font-size:12px}
.time-availability>header span,.time-groups p,.timezone-note{font-size:11px}
.time-availability>header strong{font-size:14px}
.time-availability>header small{font-size:11px}
.time-groups button{font-size:13px}
.details-section-header>span,.booking-custom-fields>header span,.booking-review>header>span{font-size:10px}
.details-section-header h2{font-size:16px}
.details-section-header p{font-size:12px}
.details-form .contact-field-grid>label,.details-form .contact-field-grid>.phone-field,.details-form .preference-field-grid>label,.details-form .custom-input,.details-form>.phone-field{font-size:12px}
.details-form input:not([type="checkbox"]),.details-form textarea,.details-form select{font-size:14px}
.phone-field>.field-label small,.phone-field>.field-error{font-size:11px}
.details-form .phone-input{align-items:stretch}
.details-form .phone-input input{height:42px;margin:0;border-radius:0 8px 8px 0}
.details-form .country-picker-trigger{height:42px}
.country-picker-trigger strong{font-size:12px}
.details-form .country-search input{font-size:14px}
.country-options button>span:nth-child(2),.country-options button strong,.country-empty{font-size:12px}
.booking-custom-fields>header h2{font-size:15px}
.custom-field-note strong,.custom-checkbox strong{font-size:12px}
.custom-field-note p,.custom-checkbox small,.preferences-empty{font-size:11px}
.booking-review>header p{font-size:12px}
.review-grid h3{font-size:13px}
.booking-review .review-grid dl div{font-size:12px}
.booking-success>p{font-size:12px}
.booking-footer>[data-selection-hint]{font-size:12px}
.business-demo-card>header>span,.business-demo-copy small,.business-demo-facts dt{font-size:11px}
.business-demo-team strong,.business-demo-facts dd{font-size:13px}
.business-demo-team small{font-size:11px}

@media(max-width:620px){
    .details-form input:not([type="checkbox"]),.details-form textarea,.details-form select,.details-form .country-search input{font-size:16px}
}

@media(min-width:901px){
    .booking-success{padding:8px 12px 10px;overflow:hidden}
    .booking-success .success-mark{width:40px;height:40px;margin-bottom:6px}
    .booking-success .success-mark svg{width:22px}
    .booking-success h1{margin:2px 0 4px;font-size:24px}
    .booking-success>p{font-size:11px;line-height:1.4}
    .booking-success>article{margin:8px auto;padding:9px 12px;grid-template-columns:100px 1fr;gap:12px;line-height:1.4}
    .booking-success>article img{width:90px;height:40px}
    .booking-success>article>div>span span{display:inline}
    .booking-success .calendar-actions{padding:9px 12px}
    .booking-success .calendar-actions>div{margin-top:6px}
    .booking-success .calendar-actions a,.booking-success .calendar-actions button{min-height:34px;font-size:10px}
    .booking-success .calendar-provider-icon{width:22px;height:22px}
    .booking-success .success-actions{margin-top:8px}
}

/* Final customer craft overrides */
.choice-card strong,.staff-card strong{font-size:15px}.choice-card small,.staff-card small{font-size:13px}.choice-card em,.choice-card b,.staff-card b{font-size:12px}
.service-selection>header strong,.selected-service>header strong{font-size:14px}.service-selection>header span,.service-selection-empty small,.selected-service>header small{font-size:12px}
.addon-choice strong{font-size:13px}.addon-choice small,.no-addons,.service-selection>footer small{font-size:11px}
.details-form .phone-input{height:44px;grid-template-columns:84px minmax(0,1fr);align-items:stretch}
.details-form .country-picker-trigger{width:84px;min-width:84px;max-width:84px;height:44px;padding:0 8px;grid-template-columns:18px minmax(0,1fr) 9px;gap:5px;border-radius:8px 0 0 8px}
.details-form .phone-input>input{height:44px;margin:0;border-radius:0 8px 8px 0;font-size:16px}.country-picker-trigger strong{font-size:13px}
.country-flag,.country-flag img{width:18px;height:13px}.country-flag{overflow:hidden;border-radius:2px}.country-flag img{display:block;object-fit:cover}
.booking-mode-rental .service-picker-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}
.booking-mode-rental .service-catalog .service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-mode-rental .service-catalog .choice-card{min-height:150px;padding:10px;grid-template-columns:92px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:start}
.booking-mode-rental .service-photo{width:92px;height:100%;min-height:128px;grid-row:1/3;background-size:200% 200%;border-radius:10px}
.booking-mode-rental .choice-card>b{align-self:end;justify-self:start;display:flex;align-items:baseline;gap:5px;font-size:15px}.booking-mode-rental .selected-service-photo{background-size:200% 200%}
@media(max-width:900px){.booking-mode-rental .service-picker-layout{grid-template-columns:1fr}.booking-mode-rental .service-catalog .service-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.booking-mode-rental .service-catalog .service-options{grid-template-columns:1fr}.booking-mode-rental .service-catalog .choice-card{min-height:142px}.details-form .phone-input{grid-template-columns:82px minmax(0,1fr)}}
.photo-avatar,.service-photo,.selected-service-photo,.addon-photo{background-size:cover!important;background-position:center!important}
.photo-avatar,.service-photo,.selected-service-photo,.addon-photo{overflow:hidden}.photo-avatar>img,.service-photo>img,.selected-service-photo>img,.addon-photo>img{display:block;width:100%;height:100%;object-fit:cover}
