/* Kamersoft.Web — light, calm and a little futuristic (2026-10-28): a soft aurora behind the page,
   glass cards with rounded corners, pill buttons with an orange glow. Night blue and Bikwayé's
   orange in the dark theme, a pale warm grey in the light one. Every colour is a --k token, defined
   for light and dark; MudBlazor's palette variables point at the same tokens, so its components
   follow the theme without a line of script. */

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto-latin.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto Mono";
    src: url("../fonts/roboto-mono-latin.woff2") format("woff2");
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

/* ---------------------------------------------------------------------------------------------
   Tokens
   --------------------------------------------------------------------------------------------- */
:root {
    --k-header-h: 113px; /* top bar 36 + menu 77: what the sticky header covers */
    --k-bg: #F6F6F9;
    --k-alt: #EEF0F6;
    --k-surface: rgba(255, 255, 255, 0.78);
    --k-surface-solid: #FFFFFF;
    --k-line: rgba(11, 20, 38, 0.10);
    --k-ink: #0B1426;
    --k-ink-rgb: 11, 20, 38;
    --k-t2: #475167;
    --k-t3: #556075; /* 5.2:1 on --k-alt */
    --k-accent: #F7731F;
    --k-btn: #D63C00;
    --k-btn-2: #B83300;
    --k-btn-hover: #B83300;
    --k-soft: rgba(247, 115, 31, 0.12);
    --k-link: #C23700; /* 5.1:1 on --k-alt */
    --k-focus: #C23700;
    --k-success: #1E7A47;
    --k-band: #0B1426;
    --k-band-ink: #EEF1F6;
    --k-band-t2: #A9B4C7;
    --k-band-line: rgba(255, 255, 255, 0.10);
    --k-grid: rgba(11, 20, 38, 0.06);
    --k-aurora-1: rgba(255, 170, 120, 0.45);
    --k-aurora-2: rgba(150, 180, 255, 0.35);
    --k-aurora-3: rgba(255, 205, 170, 0.35);
    --k-shadow: 0 18px 40px -22px rgba(11, 20, 38, 0.30), 0 2px 8px rgba(11, 20, 38, 0.04);
    --k-glow: 0 10px 28px -10px rgba(214, 60, 0, 0.55);
    /* A blur behind every card costs a repaint per card on each scroll of a cheap phone; over a
       smooth aurora a translucent card looks the same without it. Only the header blurs. */
    --k-glass: none;
    --k-radius: 24px;
    --k-radius-sm: 14px;
    --k-wrap: 1200px;
    --k-gutter: 40px;
    color-scheme: light;
}

/* The dark tokens, twice: when the visitor chose dark, and when the system is dark and they chose
   nothing. The data-theme attribute comes from the server (cookie), so there is no flash. */
:root[data-theme="dark"] {
    --k-bg: #071426;
    --k-alt: #0A1B33;
    --k-surface: rgba(19, 36, 63, 0.62);
    --k-surface-solid: #0F1F38;
    --k-line: rgba(255, 255, 255, 0.10);
    --k-ink: #F2F5FA;
    --k-ink-rgb: 242, 245, 250;
    --k-t2: #AAB6C9;
    --k-t3: #93A0B6;
    --k-soft: rgba(247, 115, 31, 0.16);
    --k-link: #FF9A5C;
    --k-focus: #FF9A5C;
    --k-success: #4ADE80;
    --k-band: #040D1A;
    --k-grid: rgba(255, 255, 255, 0.05);
    --k-aurora-1: rgba(247, 115, 31, 0.26);
    --k-aurora-2: rgba(60, 100, 190, 0.28);
    --k-aurora-3: rgba(247, 115, 31, 0.12);
    --k-shadow: 0 20px 44px -22px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.02);
    --k-glow: 0 10px 30px -8px rgba(247, 115, 31, 0.55);
    color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --k-bg: #071426;
        --k-alt: #0A1B33;
        --k-surface: rgba(19, 36, 63, 0.62);
        --k-surface-solid: #0F1F38;
        --k-line: rgba(255, 255, 255, 0.10);
        --k-ink: #F2F5FA;
        --k-ink-rgb: 242, 245, 250;
        --k-t2: #AAB6C9;
        --k-t3: #93A0B6;
        --k-soft: rgba(247, 115, 31, 0.16);
        --k-link: #FF9A5C;
        --k-focus: #FF9A5C;
        --k-success: #4ADE80;
        --k-band: #040D1A;
        --k-grid: rgba(255, 255, 255, 0.05);
        --k-aurora-1: rgba(247, 115, 31, 0.26);
        --k-aurora-2: rgba(60, 100, 190, 0.28);
        --k-aurora-3: rgba(247, 115, 31, 0.12);
        --k-shadow: 0 20px 44px -22px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.02);
        --k-glow: 0 10px 30px -8px rgba(247, 115, 31, 0.55);
        color-scheme: dark;
    }
}

/* MudThemeProvider writes its palette on :root; html:root is one notch more specific, so these win
   in both themes. */
html:root {
    --mud-palette-primary: var(--k-btn);
    --mud-palette-primary-rgb: 214, 60, 0;
    --mud-palette-primary-text: #FFFFFF;
    --mud-palette-primary-darken: var(--k-btn-hover);
    --mud-palette-primary-hover: rgba(214, 60, 0, 0.08);
    --mud-palette-dark: var(--k-ink);
    --mud-palette-dark-rgb: var(--k-ink-rgb);
    --mud-palette-dark-text: var(--k-bg);
    --mud-palette-dark-hover: rgba(var(--k-ink-rgb), 0.06);
    --mud-palette-text-primary: var(--k-ink);
    --mud-palette-text-primary-rgb: var(--k-ink-rgb);
    --mud-palette-text-secondary: var(--k-t2);
    --mud-palette-background: var(--k-bg);
    --mud-palette-surface: var(--k-surface-solid);
    --mud-palette-lines-default: var(--k-line);
    --mud-palette-lines-inputs: rgba(var(--k-ink-rgb), 0.28);
    --mud-palette-table-lines: var(--k-line);
    --mud-palette-divider: var(--k-line);
    --mud-palette-action-default: var(--k-t2);
    --mud-palette-action-default-hover: rgba(var(--k-ink-rgb), 0.06);
    --mud-typography-default-family: "Roboto", system-ui, sans-serif;
}

/* ---------------------------------------------------------------------------------------------
   Base
   --------------------------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
    background: var(--k-bg);
}

/* The page sits on the root background, so the aurora below (z-index -1) shows through it. */
html body {
    margin: 0;
    background: transparent;
    color: var(--k-ink);
    font-family: "Roboto", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(55vw 45vh at 100% 0%, var(--k-aurora-1), transparent 70%),
        radial-gradient(45vw 55vh at 0% 35%, var(--k-aurora-2), transparent 70%),
        radial-gradient(60vw 40vh at 60% 105%, var(--k-aurora-3), transparent 70%);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition: none !important;
    }
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--k-link);
}

/* A link inside running text is told apart by more than its colour (WCAG 1.4.1). */
p a,
li a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

a:hover {
    color: var(--k-ink);
}

:focus-visible {
    outline: 3px solid var(--k-focus);
    outline-offset: 3px;
}

::selection {
    background: rgba(247, 115, 31, 0.28);
}

.k-wrap {
    max-width: var(--k-wrap);
    margin: 0 auto;
    padding: 0 var(--k-gutter);
    box-sizing: border-box;
    width: 100%;
}

.k-skip {
    position: absolute;
    left: -9999px;
    top: 8px;
    z-index: 100;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--k-ink);
    color: var(--k-bg);
}

.k-skip:focus {
    left: 8px;
}

.k-mono,
.k-label {
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* The small label above a title: a soft pill with a glowing dot. */
.k-label {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    color: var(--k-link);
}

.k-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--k-accent);
    box-shadow: 0 0 10px var(--k-accent);
}

.k-muted {
    color: var(--k-t2);
}

.k-faint {
    color: var(--k-t3);
}

.k-accent {
    color: var(--k-accent);
}

.k-link {
    color: var(--k-link);
    font-weight: 600;
}

.k-h1 {
    margin: 0;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.k-h1--doc {
    font-size: clamp(30px, 4vw, 46px);
    margin: 14px 0 20px;
}

.k-h2 {
    margin: 0;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.015em;
    max-width: 760px;
}

.k-h3 {
    margin: 12px 0 0;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.k-lead {
    margin: 14px 0 0;
    font-size: clamp(17px, 1.4vw, 19px);
    line-height: 1.65;
    color: var(--k-t2);
    max-width: 720px;
}

.k-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* Glass: every card of the site. */
.k-callout,
.k-card,
.k-toc,
.k-doc,
.k-help__item,
.k-help__search,
.k-menu__panel {
    background: var(--k-surface);
    border: 1px solid var(--k-line);
    box-shadow: var(--k-shadow);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

/* MudBlazor buttons: pills, the filled one with a soft orange glow. */
.mud-button-root.mud-button {
    border-radius: 999px;
    padding-left: 22px;
    padding-right: 22px;
}

.mud-button-root.mud-button-filled-primary:not(:disabled) {
    background: linear-gradient(135deg, var(--k-btn), var(--k-btn-2));
    box-shadow: var(--k-glow);
}

.mud-button-root.mud-button-filled-primary:not(:disabled):hover {
    background: linear-gradient(135deg, #C93800, #A12D00);
}

.mud-button-root.mud-button-outlined {
    background: var(--k-surface);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

/* An outlined button writes its label in the primary colour on the page itself: the link colour,
   which reaches 4.5:1 on every background (Lighthouse, 2026-10-05). */
.mud-button-root.mud-button-outlined-primary {
    color: var(--k-link);
}

/* MudBlazor inputs: rounded, on a solid surface so the label stays readable over the aurora. */
.mud-input-outlined-border {
    border-radius: var(--k-radius-sm) !important;
}

.mud-input.mud-input-outlined {
    background: var(--k-surface-solid);
    border-radius: var(--k-radius-sm);
}

.mud-alert {
    border-radius: var(--k-radius-sm) !important;
}

/* ---------------------------------------------------------------------------------------------
   Header: stays at the top of the screen on every page (2026-10-29)
   --------------------------------------------------------------------------------------------- */
.k-header {
    position: sticky;
    top: 0;
    z-index: 30;
}

.k-topbar {
    background: var(--k-band);
    color: var(--k-band-t2);
    font-size: 13px;
}

.k-topbar__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
}

.k-topbar a {
    color: var(--k-band-t2);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.k-topbar a:hover {
    color: var(--k-band-ink);
}

.k-topbar b {
    color: var(--k-band-ink);
}

.k-topbar__tools {
    display: flex;
    align-items: center;
    gap: 18px;
}

.k-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    min-width: 36px;
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.k-theme-toggle > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Light theme: offer dark, show what is drawn for light grounds. Dark theme: the opposite. Only the
   hiding is written, so what stays keeps its own display. */
:root[data-theme="light"] .k-theme-toggle__to-light,
:root[data-theme="light"] .k-on-dark,
:root[data-theme="dark"] .k-theme-toggle__to-dark,
:root[data-theme="dark"] .k-on-light {
    display: none !important;
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .k-theme-toggle__to-light,
    :root:not([data-theme]) .k-on-dark {
        display: none !important;
    }
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .k-theme-toggle__to-dark,
    :root:not([data-theme]) .k-on-light {
        display: none !important;
    }
}

.k-bar {
    background: var(--k-surface);
    border-bottom: 1px solid var(--k-line);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
    backdrop-filter: saturate(160%) blur(18px);
    position: relative;
    z-index: 20;
}

.k-bar__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    gap: 24px;
}

.k-wordmark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--k-ink);
}

.k-wordmark:hover {
    color: var(--k-ink);
}

.k-wordmark__mark {
    width: auto;
    height: 40px;
}

.k-wordmark__name {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.k-wordmark--on-dark,
.k-wordmark--on-dark:hover {
    color: var(--k-band-ink);
}

.k-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
}

.k-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    color: var(--k-ink);
    text-decoration: none;
    transition: background-color 0.2s;
}

.k-nav a[aria-current="page"] {
    font-weight: 600;
    background: var(--k-soft);
    color: var(--k-link);
}

.k-nav a:hover {
    background: rgba(var(--k-ink-rgb), 0.06);
    color: var(--k-ink);
}

.k-bar__mobile {
    display: none;
    align-items: center;
    gap: 4px;
    color: var(--k-ink);
}

.k-bar__mobile .k-theme-toggle {
    width: 44px;
    height: 44px;
}

.k-menu {
    position: relative;
}

.k-menu > summary {
    list-style: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--k-line);
    border-radius: 50%;
    background: var(--k-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--k-ink);
}

.k-menu > summary::-webkit-details-marker {
    display: none;
}

.k-menu__panel {
    position: absolute;
    right: 0;
    top: 54px;
    z-index: 20;
    width: min(320px, calc(100vw - 32px));
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    border-radius: 20px;
    background: var(--k-surface-solid);
}

.k-menu__panel > a:not(.k-download) {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    color: var(--k-ink);
    text-decoration: none;
    font-size: 16px;
}

.k-menu__panel > a[aria-current="page"] {
    font-weight: 600;
    background: var(--k-soft);
}

/* ---------------------------------------------------------------------------------------------
   The download button (AppDownload): a real link to the test build, two lines.
   --------------------------------------------------------------------------------------------- */
.k-download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 6px 20px 6px 16px;
    box-sizing: border-box;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--k-btn), var(--k-btn-2));
    box-shadow: var(--k-glow);
    color: #FFFFFF;
    text-decoration: none;
    line-height: 1.2;
    transition: transform 0.2s, box-shadow 0.2s;
}

.k-download:hover {
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px -10px rgba(214, 60, 0, 0.7);
}

.k-download .mud-icon-root {
    flex: none;
}

.k-download__text {
    display: flex;
    flex-direction: column;
}

.k-download__text > span {
    font-size: 15px;
    font-weight: 600;
}

.k-download__text small {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.92;
}

.k-download--full {
    width: 100%;
    justify-content: center;
}

.k-download--large {
    min-height: 56px;
    padding: 10px 26px 10px 20px;
}

.k-download--large .k-download__text > span {
    font-size: 17px;
}

/* ---------------------------------------------------------------------------------------------
   Sections
   --------------------------------------------------------------------------------------------- */
.k-section {
    padding: 96px 0;
}

.k-section--tight {
    padding: 64px 0 96px;
}

.k-section--alt {
    background: linear-gradient(180deg, transparent, rgba(var(--k-ink-rgb), 0.03) 30%, rgba(var(--k-ink-rgb), 0.03) 70%, transparent);
}

/* Call-out */
.k-callout {
    border-radius: var(--k-radius);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 44px 48px;
    position: relative;
    overflow: hidden;
}

.k-callout::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(247, 115, 31, 0.25), transparent);
    pointer-events: none;
}

.k-callout__text {
    flex: 1 1 420px;
    min-width: 0;
}

.k-callout__text p {
    margin: 10px 0 0;
}

/* Messages (404, error) */
.k-message {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    max-width: 760px;
}

.k-message .k-lead {
    margin: 0;
}

/* ---------------------------------------------------------------------------------------------
   Legal documents
   --------------------------------------------------------------------------------------------- */
.k-legal {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.k-legal__docs {
    flex: 0 0 280px;
    position: sticky;
    top: calc(var(--k-header-h) + 24px);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

.k-legal__docs a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    color: var(--k-ink);
    text-decoration: none;
    font-size: 15px;
}

.k-legal__docs a:hover {
    background: rgba(var(--k-ink-rgb), 0.05);
}

.k-legal__docs a[aria-current="page"] {
    font-weight: 600;
    background: var(--k-soft);
    color: var(--k-link);
}

.k-legal__doc {
    flex: 1 1 560px;
    min-width: 0;
    max-width: 780px;
}

.k-legal__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    font-size: 14px;
    color: var(--k-t2);
    padding: 14px 0;
    border-top: 1px solid var(--k-line);
    border-bottom: 1px solid var(--k-line);
}

.k-toc {
    border-radius: 20px;
    padding: 20px 24px;
    margin: 28px 0 8px;
}

/* The headings carry their own numbers: the list adds none. */
.k-toc ol {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 32px;
}

.k-toc li {
    font-size: 15px;
    line-height: 1.5;
    padding: 3px 0;
    break-inside: avoid;
}

.k-toc a {
    text-decoration: none;
}

.k-prose {
    font-size: 17px;
    line-height: 1.75;
}

.k-prose h2 {
    margin: 44px 0 16px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    scroll-margin-top: calc(var(--k-header-h) + 16px);
}

.k-prose h3 {
    margin: 28px 0 10px;
    font-size: 18px;
    font-weight: 700;
}

.k-prose blockquote {
    margin: 24px 0;
    padding: 14px 18px;
    border-left: 3px solid var(--k-accent);
    border-radius: 0 var(--k-radius-sm) var(--k-radius-sm) 0;
    background: var(--k-soft);
}

.k-prose table {
    border-collapse: collapse;
    width: 100%;
    margin: 16px 0;
    font-size: 15px;
    display: block;
    overflow-x: auto;
}

.k-prose th,
.k-prose td {
    text-align: left;
    padding: 10px 12px;
    border-top: 1px solid var(--k-line);
    vertical-align: top;
}

.k-prose code {
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 0.85em;
    background: rgba(var(--k-ink-rgb), 0.06);
    border-radius: 6px;
    padding: 1px 5px;
}

/* ---------------------------------------------------------------------------------------------
   Page head (forms) and the account-deletion, coins and contact pages
   --------------------------------------------------------------------------------------------- */
.k-page-head {
    padding: 72px 0 40px;
}

.k-page-head .k-lead {
    margin-top: 0;
}

.k-deletion {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    align-items: flex-start;
}

.k-deletion__main {
    flex: 3 1 560px;
    min-width: 0;
}

.k-deletion__side {
    flex: 1 1 280px;
    min-width: 0;
    padding: 4px 22px;
    border-radius: 20px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

.k-steps {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    gap: 10px;
}

.k-steps li {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    font-size: 14px;
    color: var(--k-t2);
}

.k-steps li[aria-current="step"] {
    color: var(--k-ink);
    font-weight: 700;
}

.k-steps__bar {
    flex: 1 0 100%;
    height: 6px;
    border-radius: 999px;
    background: rgba(var(--k-ink-rgb), 0.10);
}

.k-steps li.is-done .k-steps__bar {
    background: linear-gradient(90deg, var(--k-btn), var(--k-accent));
    box-shadow: 0 0 12px rgba(247, 115, 31, 0.45);
}

.k-card {
    border-radius: var(--k-radius);
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.k-card .k-h3,
.k-card p {
    margin: 0;
}

.k-deletion__phone {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.k-deletion__country {
    flex: 0 0 220px;
}

.k-deletion__phone .mud-input-control:not(.k-deletion__country) {
    flex: 1 1 220px;
}

.k-deletion__code {
    max-width: 240px;
}

.k-deletion__alert {
    margin-bottom: 20px;
}

.k-deletion__lists {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.k-deletion__lists > div {
    flex: 1 1 260px;
}

.k-deletion__list-title {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
}

.k-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 15px;
    line-height: 1.5;
}

.k-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.k-list .mud-icon-root {
    flex: none;
    margin-top: 2px;
}

.k-list--erased .mud-icon-root {
    color: var(--mud-palette-error);
}

.k-list--kept li {
    color: var(--k-t2);
}

.k-notice {
    display: flex;
    gap: 12px;
    padding: 16px 18px;
    border-radius: var(--k-radius-sm);
    background: var(--k-soft);
    font-size: 15px;
    line-height: 1.55;
}

.k-notice .mud-icon-root {
    color: var(--k-link);
    flex: none;
}

/* Contact form (the "Contact" board) */
.k-contact__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 32px;
    border-radius: var(--k-radius);
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    box-shadow: var(--k-shadow);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

.k-contact__row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.k-contact__row > * {
    flex: 1 1 240px;
}

.k-contact__privacy {
    margin: 0;
    font-size: 14px;
}

.k-contact__sent {
    border-left: 4px solid var(--k-success);
}

/* The honeypot: out of the layout, out of the tab order, read by no screen reader. */
.k-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.k-side-item {
    display: flex;
    gap: 14px;
    padding: 20px 0;
}

.k-side-item + .k-side-item {
    border-top: 1px solid var(--k-line);
}

.k-side-item p {
    margin: 6px 0 0;
    font-size: 14px;
    color: var(--k-t2);
}

@media (max-width: 900px) {
    .k-page-head {
        padding: 40px 0 24px;
    }

    .k-deletion {
        gap: 32px;
    }

    .k-card,
    .k-contact__form {
        padding: 22px;
    }

    .k-steps li > span:not(.k-steps__bar):not(.k-mono) {
        display: none;
    }

    .k-card .k-actions .mud-button-root {
        width: 100%;
    }
}

/* ---------------------------------------------------------------------------------------------
   Footer
   --------------------------------------------------------------------------------------------- */
.k-footer {
    position: relative;
    background: var(--k-band);
    color: var(--k-band-ink);
    padding: 56px 0;
    margin-top: 40px;
}

/* A thin orange light along the top edge. */
.k-footer::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(247, 115, 31, 0.8), transparent);
}

.k-footer__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.k-footer__brand {
    flex: 2 1 300px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.k-footer__brand p {
    margin: 0;
    font-size: 15px;
    color: var(--k-band-t2);
    max-width: 340px;
}

.k-footer__col {
    flex: 1 1 180px;
    display: flex;
    flex-direction: column;
}

.k-footer__col .k-mono {
    color: var(--k-band-t2);
    margin-bottom: 10px;
}

.k-footer a {
    color: var(--k-band-ink);
    text-decoration: none;
}

.k-footer__col a {
    padding: 6px 0;
    font-size: 15px;
}

.k-footer a:hover {
    text-decoration: underline;
    color: var(--k-band-ink);
}

.k-footer__mail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
}

.k-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: space-between;
    padding-top: 24px;
    margin-top: 40px;
    border-top: 1px solid var(--k-band-line);
    font-size: 13px;
    color: var(--k-band-t2);
}

/* ---------------------------------------------------------------------------------------------
   Documents (page Bikwayé)
   --------------------------------------------------------------------------------------------- */
.k-docs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.k-doc {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 22px;
    border-radius: 20px;
    color: var(--k-ink);
    text-decoration: none;
    transition: transform 0.2s, border-color 0.2s;
}

.k-doc strong {
    font-size: 17px;
}

.k-doc:hover {
    color: var(--k-ink);
    border-color: var(--k-link);
    transform: translateY(-2px);
}

/* ---------------------------------------------------------------------------------------------
   Help centre (the "Aide" board)
   --------------------------------------------------------------------------------------------- */
.k-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.k-help__head {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 760px;
}

.k-help__search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 6px 0 18px;
    min-height: 56px;
    border-radius: 999px;
    color: var(--k-t3);
}

.k-help__search:focus-within {
    border-color: var(--k-accent);
    box-shadow: var(--k-shadow), 0 0 0 4px rgba(247, 115, 31, 0.18);
}

.k-help__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font: inherit;
    font-size: 16px;
    color: var(--k-ink);
    min-height: 48px;
}

.k-help__search button {
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--k-btn), var(--k-btn-2));
    box-shadow: var(--k-glow);
    color: #FFFFFF;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    min-height: 44px;
    padding: 0 20px;
    cursor: pointer;
}

.k-help__search button:hover {
    background: linear-gradient(135deg, #C93800, #A12D00);
}

.k-help {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.k-help__topics {
    flex: 0 0 280px;
    position: sticky;
    top: calc(var(--k-header-h) + 24px);
    padding: 10px;
    border-radius: 20px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.k-help__topics a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 15px;
    color: var(--k-ink);
}

.k-help__topics a:hover {
    background: var(--k-soft);
}

.k-help__topics .mud-icon-root {
    color: var(--k-t3);
}

.k-help__main {
    flex: 1 1 560px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.k-help__topic {
    scroll-margin-top: calc(var(--k-header-h) + 24px);
}

.k-help__topic-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.k-help__topic-head h2 {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.k-help__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.k-help__item {
    border-radius: 18px;
    padding: 0 22px;
    scroll-margin-top: calc(var(--k-header-h) + 24px);
    box-shadow: none;
}

.k-help__item[open] {
    box-shadow: var(--k-shadow);
    border-color: rgba(247, 115, 31, 0.35);
}

.k-help__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 60px;
    padding: 14px 0;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.k-help__item summary::-webkit-details-marker {
    display: none;
}

.k-help__item summary .mud-icon-root {
    flex: none;
    color: var(--k-link);
    transition: transform 0.2s;
}

.k-help__item[open] summary .mud-icon-root {
    transform: rotate(180deg);
}

.k-help__answer {
    padding-bottom: 20px;
    max-width: 720px;
}

.k-help__answer > :first-child {
    margin-top: 0;
}

.k-help__answer > :last-child {
    margin-bottom: 0;
}

.k-help__callout {
    padding: 28px;
}

/* ---------------------------------------------------------------------------------------------
   The Bikwayé page: one view, after the owner's reference image (2026-10-28)
   --------------------------------------------------------------------------------------------- */
.b-page {
    padding: 48px 0 24px;
}

.b-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    grid-template-areas:
        "brand hero"
        "promises hero"
        "quote city";
    gap: 28px 32px;
    align-items: stretch;
}

.b-brand {
    grid-area: brand;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    min-width: 0;
}

.b-logo {
    margin: 0;
    line-height: 0;
}

.b-logo img {
    width: auto;
    height: clamp(96px, 11vw, 150px);
}

.b-tagline {
    margin: 0;
    font-size: clamp(24px, 2.6vw, 34px);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.b-intro {
    margin: 0;
    font-size: 17px;
    line-height: 1.65;
    color: var(--k-t2);
    max-width: 520px;
}

.b-download {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 6px;
}

.b-download img {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    box-shadow: 0 12px 26px -12px rgba(0, 0, 0, 0.55);
}

/* The photo and its claim: always light text on a dark wash, whatever the theme. */
.b-hero {
    grid-area: hero;
    position: relative;
    margin: 0;
    min-height: 520px;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: var(--k-shadow);
    isolation: isolate;
}

.b-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% 40%;
    z-index: -2;
}

.b-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(70% 45% at 100% 0%, rgba(7, 20, 38, 0.75), rgba(7, 20, 38, 0) 70%),
        linear-gradient(180deg, rgba(7, 20, 38, 0.45) 0%, rgba(7, 20, 38, 0) 30%),
        linear-gradient(0deg, rgba(7, 20, 38, 0.92) 0%, rgba(7, 20, 38, 0.55) 30%, rgba(7, 20, 38, 0) 58%);
}

.b-kicker {
    position: absolute;
    top: 26px;
    right: 26px;
    max-width: 150px;
    padding-left: 14px;
    border-left: 2px solid #F7731F;
    color: #FFFFFF;
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.6;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(7, 20, 38, 0.8);
}

.b-claim {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 30px;
    color: #FFFFFF;
    font-size: clamp(28px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.015em;
    max-width: 440px;
}

.b-promises {
    grid-area: promises;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-self: end;
}

.b-promise {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
}

.b-promise__icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.b-promise__icon--1 {
    background: rgba(247, 115, 31, 0.16);
    color: #F7731F;
}

.b-promise__icon--2 {
    background: rgba(34, 160, 107, 0.16);
    color: #22A06B;
}

.b-promise__icon--3 {
    background: rgba(139, 92, 246, 0.16);
    color: #8B5CF6;
}

.b-promise__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.b-promise__text strong {
    font-size: 17px;
}

.b-promise__text span {
    font-size: 14px;
    line-height: 1.45;
    color: var(--k-t2);
}

.b-quote {
    grid-area: quote;
    margin: 0;
    padding: 36px 36px 32px;
    border-radius: 28px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    box-shadow: var(--k-shadow);
    -webkit-backdrop-filter: var(--k-glass);
    backdrop-filter: var(--k-glass);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}

.b-quote::before {
    content: "\201C";
    font-size: 64px;
    line-height: 0.6;
    font-weight: 900;
    color: #F7731F;
    height: 22px;
}

.b-quote p {
    margin: 0;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.01em;
}

.b-quote::after {
    content: "";
    width: 44px;
    height: 3px;
    border-radius: 999px;
    background: #F7731F;
}

.b-city {
    grid-area: city;
    position: relative;
    margin: 0;
    min-height: 240px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--k-shadow);
    isolation: isolate;
}

.b-city img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.b-city::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, rgba(7, 20, 38, 0.9) 0%, rgba(7, 20, 38, 0.35) 45%, rgba(7, 20, 38, 0) 70%);
}

.b-city figcaption {
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 22px;
    color: #FFFFFF;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 900px) {
    .b-page {
        padding: 28px 0 8px;
    }

    .b-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "brand"
            "hero"
            "promises"
            "quote"
            "city";
        gap: 20px;
    }

    .b-hero {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .b-kicker {
        top: 18px;
        right: 18px;
    }

    .b-claim {
        left: 22px;
        right: 22px;
        bottom: 22px;
    }

    .b-quote {
        padding: 26px;
    }

    .b-city {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 560px) {
    .b-promises {
        grid-template-columns: minmax(0, 1fr);
    }

    .b-promise {
        flex-direction: row;
        align-items: center;
        padding: 14px 16px;
    }
}

/* ---------------------------------------------------------------------------------------------
   Phone width
   --------------------------------------------------------------------------------------------- */
@media (max-width: 900px) {
    :root {
        --k-gutter: 20px;
        --k-header-h: 65px; /* the top bar is hidden on a phone */
    }

    .k-topbar,
    .k-nav,
    .k-bar__cta {
        display: none !important;
    }

    .k-bar__mobile {
        display: flex;
    }

    .k-bar__row {
        min-height: 64px;
    }

    .k-wordmark__name {
        font-size: 20px;
    }

    .k-wordmark__mark {
        height: 34px;
    }

    .k-section {
        padding: 56px 0;
    }

    .k-section--tight {
        padding: 32px 0 56px;
    }

    .k-callout .mud-button-root {
        width: 100%;
    }

    .k-callout {
        padding: 28px;
    }

    .k-legal {
        flex-direction: column;
        gap: 24px;
    }

    .k-legal__docs,
    .k-help__topics {
        position: static;
        flex: none;
        flex-direction: row;
        overflow-x: auto;
        gap: 8px;
        padding: 0 0 6px;
        width: 100%;
        box-sizing: border-box;
        border: none;
        background: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .k-legal__docs a,
    .k-help__topics a {
        flex: none;
        min-height: 40px;
        border: 1px solid var(--k-line);
        border-radius: 999px;
        background: var(--k-surface);
        font-size: 14px;
        white-space: nowrap;
    }

    .k-legal__docs a .mud-icon-root,
    .k-help__topics .mud-icon-root {
        display: none;
    }

    .k-legal__docs a[aria-current="page"] {
        background: var(--k-btn);
        border-color: var(--k-btn);
        color: #FFFFFF;
    }

    .k-toc ol {
        columns: 1;
    }

    .k-help {
        flex-direction: column;
        gap: 24px;
    }

    .k-help__main {
        flex: none;
        width: 100%;
    }

    .k-help__item {
        padding: 0 16px;
    }

    .k-footer {
        padding: 40px 0;
    }
}

/* ---------------------------------------------------------------------------------------------
   The home in one screen (maquette « Kamersoft.net — accueil en un écran », 2026-10-29): on a
   computer the message, today's app and the three cards fill the window without scrolling; on a
   phone they stack. Sizes follow the window's height so a 768 px laptop keeps everything in view.
   --------------------------------------------------------------------------------------------- */
:root {
    --k-hl-1: #E8590C;
    --k-hl-2: #B93A06; /* the title's orange words: 4.8:1 and more on the light ground */
    --k-chip: rgba(255, 255, 255, 0.94);
}

:root[data-theme="dark"] {
    --k-hl-1: #FF9A4D;
    --k-hl-2: #F7731F;
    --k-chip: rgba(15, 31, 56, 0.88);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --k-hl-1: #FF9A4D;
        --k-hl-2: #F7731F;
        --k-chip: rgba(15, 31, 56, 0.88);
    }
}

.k-home {
    position: relative;
    overflow: hidden;
    min-height: calc(100svh - var(--k-header-h));
    display: flex;
}

.k-home__aurora {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 46% 56% at 78% 34%, var(--k-aurora-1) 0%, transparent 70%),
        radial-gradient(ellipse 40% 46% at 6% 96%, var(--k-aurora-2) 0%, transparent 72%),
        radial-gradient(ellipse 30% 30% at 40% 0%, var(--k-aurora-3) 0%, transparent 70%);
}

.k-home__aurora::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(var(--k-grid) 1px, transparent 1px), linear-gradient(90deg, var(--k-grid) 1px, transparent 1px);
    background-size: 72px 72px;
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 60% 40%, #000 0%, transparent 85%);
    mask-image: radial-gradient(ellipse 70% 60% at 60% 40%, #000 0%, transparent 85%);
}

.k-home__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(16px, 2.4vh, 36px);
    padding-top: clamp(18px, 3vh, 56px);
    padding-bottom: clamp(16px, 2.6vh, 36px);
}

.k-home__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
    gap: 32px;
}

.k-home__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--k-t2);
}

.k-home__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--k-accent);
    box-shadow: 0 0 10px var(--k-accent);
}

.k-home__title {
    margin: clamp(14px, 2.4vh, 26px) 0 0;
    font-size: clamp(38px, min(4.6vw, 7.4vh), 66px);
    line-height: 1.03;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--k-ink);
}

.k-home__accent {
    background: linear-gradient(90deg, var(--k-hl-1), var(--k-hl-2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.k-home__intro {
    margin: clamp(12px, 2vh, 22px) 0 0;
    max-width: 560px;
    font-size: clamp(15px, 2.1vh, 18px);
    line-height: 1.55;
    color: var(--k-t2);
}

.k-home__intro strong {
    color: var(--k-ink);
}

.k-home__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: clamp(16px, 3vh, 30px);
}

.k-home__ghost {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 24px;
    box-sizing: border-box;
    border-radius: 999px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    color: var(--k-ink);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.k-home__ghost:hover {
    color: var(--k-ink);
    background: rgba(var(--k-ink-rgb), 0.06);
}

.k-home__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
    margin: clamp(12px, 2.2vh, 22px) 0 0;
    padding: 0;
    list-style: none;
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 12.5px;
    color: var(--k-t3);
}

.k-home__facts li + li::before {
    content: "·";
    margin: 0 12px;
}

.k-home__visual {
    position: relative;
    height: clamp(300px, 50vh, 470px);
}

.k-home__phone {
    position: absolute;
    top: 50%;
    height: 100%;
    aspect-ratio: 9 / 20;
    padding: 1.4%;
    box-sizing: border-box;
    border-radius: 34px;
    background: #0F1F38;
}

.k-home__phone img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 28px;
    object-fit: cover;
    object-position: top;
}

.k-home__phone--back {
    left: 12%;
    height: 92%;
    transform: translateY(-46%) rotate(-6deg);
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.45);
}

.k-home__phone--front {
    left: 48%;
    transform: translateY(-50%) rotate(4deg);
    box-shadow: 0 40px 80px -24px rgba(0, 0, 0, 0.55), 0 0 0 1px var(--k-line);
}

.k-home__chip {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    border-radius: 16px;
    border: 1px solid var(--k-line);
    background: var(--k-chip);
    box-shadow: var(--k-shadow);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--k-ink);
    white-space: nowrap;
}

.k-home__chip--escrow {
    left: -4%;
    top: 14%;
}

.k-home__chip--qr {
    right: -2%;
    top: 62%;
}

.k-home__chip--voice {
    left: 0;
    bottom: 6%;
}

.k-home__chip-icon {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.k-home__chip-icon--green {
    background: rgba(34, 197, 94, 0.16);
    color: var(--k-success);
}

.k-home__chip-icon--orange {
    background: var(--k-soft);
    color: var(--k-link);
}

.k-home__chip-icon--violet {
    background: rgba(124, 92, 255, 0.16);
    color: #6D4AFF;
}

.k-home__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.k-home__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: clamp(16px, 2.4vh, 22px) 24px;
    border-radius: 22px;
    border: 1px solid var(--k-line);
    background: var(--k-surface);
    box-shadow: var(--k-shadow);
    scroll-margin-top: calc(var(--k-header-h) + 16px);
}

.k-home__card h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--k-ink);
}

.k-home__card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--k-t2);
}

.k-home__card--contact {
    background: linear-gradient(140deg, var(--k-soft) 0%, var(--k-surface) 62%);
}

.k-home__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.k-home__num {
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-size: 12.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--k-link);
}

.k-home__app-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
}

.k-home__more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--k-link);
    text-decoration: none;
}

.k-home__checks {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.4;
    color: var(--k-ink);
}

.k-home__checks li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.k-home__check {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--k-soft);
    color: var(--k-link);
}

.k-home__check .mud-icon-root {
    font-size: 15px;
}

.k-home__contact-row {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.k-home__mail {
    font-size: 14px;
    font-weight: 600;
    color: var(--k-ink);
    text-decoration: none;
}

.k-home__write {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 18px;
    box-sizing: border-box;
    border-radius: 999px;
    background: var(--k-ink);
    color: var(--k-bg);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.k-home__write:hover {
    color: var(--k-bg);
    opacity: 0.9;
}

@media (max-width: 1100px) {
    .k-home__chip--escrow {
        left: 0;
    }

    .k-home__chip--qr {
        right: 0;
    }
}

@media (max-width: 900px) {
    .k-home {
        min-height: 0;
    }

    .k-home__hero,
    .k-home__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .k-home__title {
        font-size: 40px;
    }

    .k-home__visual {
        height: 420px;
        max-width: 420px;
        width: 100%;
        margin: 0 auto;
    }

    .k-home__chip {
        display: none;
    }

    .k-home__phone--back {
        left: 0;
    }

    .k-home__phone--front {
        left: 40%;
    }

    .k-home__actions > * {
        width: 100%;
        justify-content: center;
    }
}
