/*
 * WORKSPACE landing.
 *
 * Light theme, one accent, quiet surfaces. Tokens follow the design brief; the only
 * places that deviate are where the reference image's pale captions fell below a 4.5:1
 * contrast ratio and had to be darkened to stay readable.
 *
 * No external font: the system stack carries Cyrillic and Latin on every target platform,
 * costs no request from a public page and cannot fail to load.
 */

:root {
    --wk-bg: #FAFAF8;
    --wk-surface: #FFFFFF;
    --wk-surface-2: #F4F4F1;
    --wk-lavender: #F1EFFE;
    --wk-ink: #16212C;
    /* Darker than the reference's grey so secondary text clears 4.5:1 on #FAFAF8. */
    --wk-ink-2: #55616E;
    --wk-ink-3: #6B7682;
    --wk-line: #E6E6E2;
    --wk-line-2: #EDEDEA;
    --wk-accent: #6652E8;
    --wk-accent-ink: #5340D4;
    --wk-dark: #16212C;
    --wk-dark-2: #1E2B38;
    --wk-ok: #1F8A52;
    --wk-warn: #A4690A;
    --wk-bad: #B4332B;
    --wk-radius: 10px;
    --wk-radius-lg: 14px;
    --wk-container: 1400px;
    --wk-pad: 48px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    background: var(--wk-bg);
    color: var(--wk-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif;
    font-size: 17px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

body.wk-locked { overflow: hidden; }

h1, h2, h3 { margin: 0; letter-spacing: -0.015em; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

a { color: inherit; }

.wk-sr {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.wk-skip {
    position: absolute; left: -9999px; top: 0; z-index: 100;
    background: var(--wk-ink); color: #fff; padding: 12px 18px; border-radius: 0 0 8px 0;
}
.wk-skip:focus { left: 0; }

:focus-visible {
    outline: 3px solid var(--wk-accent);
    outline-offset: 2px;
    border-radius: 4px;
}

.wk-container {
    width: 100%;
    max-width: var(--wk-container);
    margin: 0 auto;
    padding: 0 var(--wk-pad);
}

.wk-i { flex: none; }

/* ------------------------------------------------------------------ buttons -- */

.wk-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 0 22px;
    border: 1px solid transparent; border-radius: var(--wk-radius);
    font: inherit; font-weight: 600; cursor: pointer;
    background: var(--wk-surface); color: var(--wk-ink);
    text-decoration: none;
}
.wk-btn--lg { min-height: 52px; padding: 0 26px; }
.wk-btn--sm { min-height: 40px; padding: 0 16px; font-size: 15px; }
.wk-btn--block { width: 100%; }
.wk-btn--dark { background: var(--wk-ink); color: #fff; }
.wk-btn--dark:hover { background: #0F1922; }
.wk-btn--accent { background: var(--wk-accent); color: #fff; }
.wk-btn--accent:hover { background: var(--wk-accent-ink); }
.wk-btn--plain { background: transparent; border-color: transparent; }
.wk-btn--plain:hover { background: var(--wk-surface-2); }
.wk-btn[disabled] { opacity: .6; cursor: not-allowed; }

.wk-link {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; border: 0; padding: 0; margin: 0;
    font: inherit; font-weight: 600; color: var(--wk-accent-ink); cursor: pointer;
    min-height: 44px;
}
.wk-link:hover { text-decoration: underline; }

/* ------------------------------------------------------------------- header -- */

.wk-header {
    position: sticky; top: 0; z-index: 40;
    background: rgba(250, 250, 248, .92);
    backdrop-filter: saturate(140%) blur(8px);
    border-bottom: 1px solid var(--wk-line);
}
.wk-header__inner {
    display: flex; align-items: center; gap: 28px;
    min-height: 84px;
}
.wk-brand {
    display: inline-flex; align-items: center; gap: 10px;
    font-weight: 800; font-size: 19px; letter-spacing: .06em; text-decoration: none;
}
.wk-brand__mark { color: var(--wk-accent); display: inline-flex; }

.wk-nav { display: flex; align-items: center; gap: 4px; margin-left: 24px; }
.wk-nav__item { position: relative; }
.wk-nav__link {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 44px; padding: 0 12px;
    background: none; border: 0; font: inherit; color: var(--wk-ink);
    cursor: pointer; text-decoration: none; border-radius: 8px;
}
.wk-nav__link:hover { background: var(--wk-surface-2); }

.wk-menu {
    position: absolute; top: calc(100% + 6px); left: 0; z-index: 30;
    min-width: 290px; padding: 8px;
    background: var(--wk-surface); border: 1px solid var(--wk-line);
    border-radius: var(--wk-radius-lg); box-shadow: 0 18px 40px rgba(22, 33, 44, .12);
}
.wk-menu__item {
    display: flex; align-items: center; gap: 12px; width: 100%;
    padding: 10px 12px; background: none; border: 0; border-radius: 8px;
    font: inherit; text-align: left; cursor: pointer; color: var(--wk-ink);
}
.wk-menu__item:hover { background: var(--wk-lavender); }
.wk-menu__item .wk-i { color: var(--wk-accent); }
.wk-menu__item strong { display: block; font-size: 15px; }
.wk-menu__item small { display: block; color: var(--wk-ink-2); font-size: 13px; }

.wk-header__actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.wk-header__login {
    font-weight: 600; text-decoration: none; min-height: 44px;
    display: inline-flex; align-items: center; padding: 0 6px;
}
.wk-header__login:hover { text-decoration: underline; }

.wk-header__panel { display: contents; }
.wk-burger {
    display: none; align-items: center; justify-content: center;
    width: 44px; height: 44px; margin-left: auto;
    background: none; border: 1px solid var(--wk-line); border-radius: 8px; cursor: pointer;
}

/* --------------------------------------------------------------------- hero -- */

.wk-hero { padding: 26px 0 56px; }
.wk-eyebrow {
    font-size: 12px; font-weight: 700; letter-spacing: .14em;
    color: var(--wk-ink-2); text-transform: uppercase; margin-bottom: 14px;
}

.wk-scenarios {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    background: var(--wk-surface); border: 1px solid var(--wk-line);
    border-radius: var(--wk-radius-lg); overflow: hidden; margin-bottom: 40px;
}
.wk-scenario {
    display: flex; align-items: center; gap: 12px;
    min-height: 68px; padding: 0 22px;
    background: var(--wk-surface); border: 0; border-right: 1px solid var(--wk-line);
    font: inherit; font-weight: 600; font-size: 16px; color: var(--wk-ink);
    cursor: pointer; text-align: left;
}
.wk-scenario:last-child { border-right: 0; }
.wk-scenario:hover { background: var(--wk-surface-2); }
.wk-scenario .wk-i { color: var(--wk-accent); }
.wk-scenario.is-active { background: var(--wk-accent); color: #fff; }
.wk-scenario.is-active .wk-i { color: #fff; }

.wk-panel__grid {
    display: grid; grid-template-columns: 38fr 62fr; gap: 48px; align-items: start;
}
.wk-panel.is-entering .wk-panel__grid { animation: wk-fade 200ms ease-out; }
@keyframes wk-fade { from { opacity: 0; } to { opacity: 1; } }

.wk-title { font-size: 60px; line-height: 1.06; font-weight: 800; margin-bottom: 22px; }
.wk-title__accent { color: var(--wk-accent); }
.wk-lead { font-size: 18px; color: var(--wk-ink-2); margin-bottom: 30px; max-width: 46ch; }
.wk-panel__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.wk-panel__hint { margin-top: 26px; font-size: 14px; color: var(--wk-ink-3); }

.wk-steps {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: 34px; color: var(--wk-ink-2); font-size: 15px;
}
.wk-steps__item { display: inline-flex; align-items: center; gap: 10px; }
.wk-steps__item b {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--wk-surface); border: 1px solid var(--wk-line);
    font-size: 13px; font-weight: 700;
}
.wk-steps__arrow { color: var(--wk-ink-3); display: inline-flex; }

/* ------------------------------------------------------------ app previews -- */

.wk-app {
    background: var(--wk-surface); border: 1px solid var(--wk-line);
    border-radius: var(--wk-radius-lg); overflow: hidden;
    box-shadow: 0 30px 70px rgba(102, 82, 232, .14), 0 2px 10px rgba(22, 33, 44, .05);
}
.wk-app__bar {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; border-bottom: 1px solid var(--wk-line-2);
    font-size: 13px; color: var(--wk-ink-2);
}
.wk-app__bar .wk-brand__mark svg { width: 20px; height: 20px; }
.wk-app__bar-name { font-weight: 800; letter-spacing: .06em; color: var(--wk-ink); font-size: 12px; }
.wk-app__crumbs { margin-left: 12px; }
.wk-app__body { display: grid; grid-template-columns: 160px 1fr; min-height: 380px; }
.wk-app__nav {
    border-right: 1px solid var(--wk-line-2); padding: 14px 10px;
    display: flex; flex-direction: column; gap: 2px; background: #FCFCFB;
}
.wk-app__nav-item {
    display: flex; align-items: center; gap: 9px;
    padding: 8px 10px; border-radius: 8px; font-size: 13px; color: var(--wk-ink-2);
}
.wk-app__nav-item i {
    width: 14px; height: 14px; border-radius: 4px;
    border: 1.5px solid currentColor; opacity: .5; display: inline-block;
}
.wk-app__nav-item.is-active { background: var(--wk-lavender); color: var(--wk-accent-ink); font-weight: 600; }
.wk-app__main { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 12px; }
.wk-app__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wk-app__head h3 { font-size: 21px; }
.wk-app__meta { margin-left: auto; font-size: 13px; color: var(--wk-ink-2); }
.wk-app__tabs { display: flex; gap: 18px; border-bottom: 1px solid var(--wk-line-2); }
.wk-app__tab { padding: 8px 2px; font-size: 14px; color: var(--wk-ink-2); }
.wk-app__tab.is-active {
    color: var(--wk-accent-ink); font-weight: 600; box-shadow: inset 0 -2px 0 var(--wk-accent);
}
.wk-app__note { padding: 0 18px 14px; font-size: 12px; color: var(--wk-ink-3); }
.wk-app__foot {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    padding: 12px 14px; border-radius: var(--wk-radius);
    background: var(--wk-surface-2);
}
.wk-leader { display: inline-flex; align-items: center; gap: 10px; }
.wk-leader .wk-i { color: #C98A17; }
.wk-leader small { display: block; font-size: 12px; color: var(--wk-ink-2); }
.wk-leader b { display: block; font-size: 15px; }
.wk-app__foot .wk-btn { margin-left: auto; }

.wk-chip {
    display: inline-flex; align-items: center; padding: 4px 11px;
    border-radius: 999px; font-size: 12px; font-weight: 600;
    background: var(--wk-lavender); color: var(--wk-accent-ink);
}

.wk-tablewrap { overflow-x: auto; }
.wk-t { width: 100%; border-collapse: collapse; font-size: 14px; }
.wk-t th, .wk-t td { padding: 9px 10px; text-align: left; border-bottom: 1px solid var(--wk-line-2); }
.wk-t th { font-size: 12px; font-weight: 600; color: var(--wk-ink-2); }
.wk-t__n { color: var(--wk-ink-3); width: 28px; }
.wk-t__who { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.wk-t__total { font-weight: 700; color: var(--wk-accent-ink); background: #FAF9FF; }
.wk-t tbody tr:first-child { background: #FBFAFF; }
.wk-t--protocol { margin-top: 12px; }

.wk-ava {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--wk-lavender); color: var(--wk-accent-ink);
    font-size: 11px; font-weight: 700;
}

.wk-week { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.wk-week__col { display: flex; flex-direction: column; gap: 8px; }
.wk-week__head {
    display: flex; align-items: baseline; gap: 6px;
    padding-bottom: 6px; border-bottom: 1px solid var(--wk-line-2);
}
.wk-week__head b { font-size: 14px; }
.wk-week__head small { font-size: 12px; color: var(--wk-ink-2); }
.wk-sess, .wk-ev {
    display: flex; flex-direction: column; gap: 2px;
    padding: 10px; border-radius: 10px; font-size: 13px;
    background: var(--wk-surface-2); color: var(--wk-ink-2);
}
.wk-sess strong, .wk-ev strong { color: var(--wk-ink); font-size: 14px; }
.wk-sess__load { font-weight: 600; color: var(--wk-accent-ink); }
.wk-ev__kind {
    align-self: flex-start; padding: 2px 8px; border-radius: 999px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
}
.wk-ev--rehearsal { background: #F2F6FF; }
.wk-ev--rehearsal .wk-ev__kind { background: #DCE7FF; color: #24487F; }
.wk-ev--runthrough { background: #FFF6EC; }
.wk-ev--runthrough .wk-ev__kind { background: #FBE2C4; color: #8A5510; }
.wk-ev--show { background: var(--wk-lavender); }
.wk-ev--show .wk-ev__kind { background: #DCD6FB; color: var(--wk-accent-ink); }

.wk-attend { border-top: 1px solid var(--wk-line-2); padding-top: 10px; }
.wk-attend__head { display: flex; align-items: baseline; gap: 10px; font-size: 14px; }
.wk-attend__head span { margin-left: auto; color: var(--wk-ink-2); font-size: 13px; }
.wk-attend__list { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.wk-attend__list li { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.wk-mark { margin-left: auto; font-size: 12px; font-weight: 600; }
.wk-mark--present { color: var(--wk-ok); }
.wk-mark--late { color: var(--wk-warn); }
.wk-mark--absent { color: var(--wk-bad); }

.wk-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.wk-board__col { display: flex; flex-direction: column; gap: 8px; }
.wk-board__head {
    display: flex; align-items: center; gap: 8px;
    padding-bottom: 6px; border-bottom: 1px solid var(--wk-line-2); font-size: 13px;
}
.wk-board__head span {
    margin-left: auto; min-width: 22px; text-align: center;
    background: var(--wk-surface-2); border-radius: 999px; font-size: 12px; padding: 1px 7px;
}
.wk-card {
    display: flex; flex-direction: column; gap: 3px;
    padding: 10px; border-radius: 10px; font-size: 13px;
    background: var(--wk-surface-2); color: var(--wk-ink-2);
}
.wk-card strong { color: var(--wk-ink); font-size: 14px; }
.wk-card__foot { display: flex; gap: 8px; font-size: 12px; }
.wk-card__foot em { margin-left: auto; font-style: normal; }

/* ---------------------------------------------------------------- sections -- */

.wk-section { padding: 72px 0; border-top: 1px solid var(--wk-line); }
.wk-h2 { font-size: 40px; line-height: 1.12; font-weight: 800; }
.wk-h2--invert { color: #fff; }
.wk-sub { margin-top: 12px; color: var(--wk-ink-2); font-size: 18px; }

.wk-solutions {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 36px;
}
.wk-solution {
    display: flex; flex-direction: column; gap: 16px;
    padding: 24px; background: var(--wk-surface);
    border: 1px solid var(--wk-line); border-radius: var(--wk-radius-lg);
}
.wk-solution:last-child { background: var(--wk-lavender); border-color: #E0DBFB; }
.wk-solution__top { display: flex; gap: 14px; }
.wk-solution__top .wk-i { color: var(--wk-accent); width: 26px; height: 26px; }
.wk-solution h3 { font-size: 20px; }
.wk-solution__top p { font-size: 14px; color: var(--wk-ink-2); margin-top: 2px; }
.wk-solution__tasks {
    display: flex; flex-direction: column; gap: 8px; font-size: 15px;
    padding-top: 14px; border-top: 1px solid var(--wk-line-2); margin-top: auto;
}

.wk-section--services { background: var(--wk-surface); }
.wk-services { display: grid; grid-template-columns: 38fr 62fr; gap: 56px; align-items: start; }
.wk-services__aside .wk-h2 { margin-top: 10px; }
.wk-services__aside .wk-sub { margin-bottom: 18px; }
.wk-services__list { display: flex; flex-direction: column; }
.wk-service + .wk-service { border-top: 1px solid var(--wk-line); }
.wk-service__row {
    display: grid; grid-template-columns: 48px minmax(200px, 1fr) minmax(220px, 1.2fr);
    align-items: center; gap: 18px; width: 100%;
    padding: 26px 4px; background: none; border: 0; font: inherit;
    text-align: left; cursor: pointer; color: inherit;
}
.wk-service__row:hover { background: var(--wk-surface-2); }
.wk-service__num { color: var(--wk-ink-3); font-weight: 600; }
.wk-service__title { font-size: 19px; font-weight: 700; }
.wk-service__summary { color: var(--wk-ink-2); font-size: 15px; }

/* ----------------------------------------------------------------- contact -- */

.wk-contact { background: var(--wk-dark); color: #fff; padding: 72px 0; }
.wk-contact__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.wk-contact__copy p { margin-top: 16px; color: #BCC6D1; font-size: 18px; }

.wk-form { display: flex; flex-direction: column; gap: 14px; }
.wk-form__context { font-size: 13px; color: #BCC6D1; }
.wk-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wk-field { display: flex; flex-direction: column; gap: 6px; }
.wk-field label { font-size: 13px; color: #CBD3DB; }
.wk-field input, .wk-field select, .wk-field textarea {
    min-height: 48px; padding: 12px 14px;
    background: #fff; color: var(--wk-ink);
    border: 1px solid #2A3744; border-radius: var(--wk-radius);
    font: inherit;
}
.wk-field textarea { min-height: 110px; resize: vertical; }
.wk-field [aria-invalid="true"] { border-color: #F08B84; }
.wk-field__error { font-size: 13px; color: #FFB3AD; }
.wk-form__more {
    align-self: flex-start; background: none; border: 0; padding: 0;
    color: #CBD3DB; font: inherit; text-decoration: underline; cursor: pointer;
    min-height: 44px;
}
.wk-form__state { font-size: 14px; padding: 10px 12px; border-radius: 8px; }
.wk-form__state.is-pending { background: #243140; color: #CBD3DB; }
.wk-form__state.is-success { background: #14402A; color: #A9E8C4; }
.wk-form__state.is-error { background: #41201D; color: #FFC2BC; }
.wk-form__consent { font-size: 12px; color: #9FAAB6; }
.wk-form__consent a { color: #CBD3DB; }
.wk-form--off {
    background: var(--wk-dark-2); border: 1px solid #2A3744;
    border-radius: var(--wk-radius-lg); padding: 24px;
}
.wk-form__off-title { font-weight: 700; font-size: 18px; }
.wk-form__off-hint { margin-top: 8px; color: #BCC6D1; font-size: 15px; }

/* ------------------------------------------------------------------ footer -- */

.wk-footer { background: var(--wk-bg); border-top: 1px solid var(--wk-line); padding: 56px 0 28px; }
.wk-footer__inner { display: grid; grid-template-columns: 1fr 2.4fr; gap: 48px; }
.wk-footer__brand p { margin-top: 12px; color: var(--wk-ink-2); font-size: 15px; max-width: 24ch; }
.wk-footer__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.wk-footer__col h3 { font-size: 15px; margin-bottom: 12px; }
.wk-footer__col li { margin-bottom: 4px; }
.wk-footer__col a, .wk-footer__col button {
    display: inline-flex; align-items: center; min-height: 36px;
    background: none; border: 0; padding: 0; font: inherit;
    color: var(--wk-ink-2); text-decoration: none; cursor: pointer; text-align: left;
}
.wk-footer__col a:hover, .wk-footer__col button:hover { color: var(--wk-ink); text-decoration: underline; }
.wk-footer__bottom {
    display: flex; gap: 16px; flex-wrap: wrap;
    margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--wk-line);
    font-size: 14px; color: var(--wk-ink-3);
}
.wk-footer__legal { margin-left: auto; display: flex; gap: 20px; }
.wk-footer__legal a { text-decoration: none; }
.wk-footer__legal a:hover { text-decoration: underline; }

/* ----------------------------------------------------------------- dialogs -- */

.wk-dialog { position: fixed; inset: 0; z-index: 60; display: flex; }
.wk-dialog__backdrop { position: absolute; inset: 0; background: rgba(22, 33, 44, .5); }
.wk-dialog__box {
    position: relative; margin: auto; width: min(640px, calc(100vw - 32px));
    max-height: calc(100vh - 48px); overflow: auto;
    background: var(--wk-surface); border-radius: var(--wk-radius-lg);
    box-shadow: 0 30px 80px rgba(22, 33, 44, .3);
}
.wk-dialog--wide .wk-dialog__box { width: min(1120px, calc(100vw - 32px)); }
.wk-dialog__head {
    display: flex; align-items: center; gap: 16px;
    padding: 20px 22px; border-bottom: 1px solid var(--wk-line-2);
}
.wk-dialog__head h2 { font-size: 21px; }
.wk-dialog__close {
    margin-left: auto; width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: none; border: 1px solid var(--wk-line); border-radius: 8px; cursor: pointer;
}
.wk-dialog__content { padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.wk-dialog__lead { color: var(--wk-ink-2); }
.wk-dialog__list { display: flex; flex-direction: column; gap: 8px; }
.wk-dialog__list li { padding-left: 18px; position: relative; }
.wk-dialog__list li::before {
    content: ""; position: absolute; left: 0; top: 10px;
    width: 6px; height: 6px; border-radius: 50%; background: var(--wk-accent);
}
.wk-dialog__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.wk-dialog__demo-note {
    align-self: flex-start; padding: 4px 11px; border-radius: 999px;
    background: var(--wk-surface-2); font-size: 12px; font-weight: 600; color: var(--wk-ink-2);
}
.wk-dialog__demo .wk-app { box-shadow: none; }

/* -------------------------------------------------------------- responsive -- */

@media (max-width: 1279px) {
    :root { --wk-pad: 28px; --wk-container: 1024px; }
    .wk-title { font-size: 46px; }
    .wk-h2 { font-size: 34px; }
    .wk-panel__grid, .wk-services, .wk-contact__inner, .wk-footer__inner {
        grid-template-columns: 1fr; gap: 32px;
    }
    .wk-solutions { grid-template-columns: repeat(2, 1fr); }
    /* The same navigation element, revealed under the header instead of beside it. */
    .wk-header__inner { flex-wrap: wrap; min-height: 68px; }
    .wk-burger { display: inline-flex; }
    .wk-header__panel {
        display: none; flex-basis: 100%; flex-direction: column; align-items: stretch;
        gap: 8px; padding: 8px 0 16px; border-top: 1px solid var(--wk-line);
    }
    .wk-header__panel.is-open { display: flex; }
    .wk-header__panel .wk-nav { flex-direction: column; align-items: stretch; margin: 0; }
    .wk-header__panel .wk-nav__link { width: 100%; justify-content: flex-start; }
    .wk-header__panel .wk-menu { position: static; box-shadow: none; margin: 4px 0 8px; }
    .wk-header__actions { margin-left: 0; flex-wrap: wrap; }
    .wk-panel { min-height: 0 !important; }
}

@media (max-width: 767px) {
    :root { --wk-pad: 18px; }
    body { font-size: 16px; }
    .wk-title { font-size: 36px; }
    .wk-h2 { font-size: 28px; }
    .wk-lead { font-size: 17px; }
    .wk-scenarios { grid-template-columns: repeat(2, 1fr); }
    .wk-scenario {
        min-height: 60px; padding: 0 14px; font-size: 14px;
        border-bottom: 1px solid var(--wk-line);
    }
    .wk-scenario:nth-child(2n) { border-right: 0; }
    .wk-scenario:nth-last-child(-n+2) { border-bottom: 0; }
    .wk-solutions, .wk-footer__cols { grid-template-columns: 1fr; }
    .wk-panel__actions .wk-btn { width: 100%; }
    .wk-form__row { grid-template-columns: 1fr; }
    .wk-app__body { grid-template-columns: 1fr; }
    /* The decorative sidebar is chrome; on a phone it only steals width. */
    .wk-app__nav { display: none; }
    /* A readable day list beats a squeezed three-column week. */
    .wk-week, .wk-board { grid-template-columns: 1fr; }
    .wk-service__row { grid-template-columns: 40px 1fr; row-gap: 6px; padding: 18px 2px; }
    .wk-service__summary { grid-column: 2; }
    .wk-dialog__box { width: 100vw; max-height: 100vh; margin: 0; border-radius: 0; }
    .wk-footer__bottom { flex-direction: column; }
    .wk-footer__legal { margin-left: 0; }
}

@media print {
    .wk-header, .wk-hero, .wk-section, .wk-contact, .wk-footer,
    .wk-dialog__backdrop, .wk-dialog__close, .wk-dialog__actions { display: none !important; }
    .wk-dialog { position: static; }
    .wk-dialog__box { width: auto; max-height: none; box-shadow: none; }
}

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