:root {
    --mk-paper: #fbf7f0;
    --mk-surface: #fffdf8;
    --mk-cream: #f4eadb;
    --mk-line: #ead8bf;
    --mk-text: #231611;
    --mk-muted: #6d6258;
    --mk-green: #174b34;
    --mk-green-2: #246346;
    --mk-gold: #b47a22;
    --mk-violet: #7a4f82;
    --mk-shadow: 0 18px 48px rgba(62, 43, 25, .11);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.mk-site,
body {
    margin: 0;
    background: var(--mk-paper);
    color: var(--mk-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

.mk-wrap,
.wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.mk-public-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    min-height: 168px !important;
    max-height: 220px;
    overflow: hidden !important;
    border-bottom: 1px solid rgba(180, 122, 34, .24) !important;
    background: linear-gradient(180deg, #dce3e6 0%, #ced2d3 100%) !important;
    isolation: isolate;
}

.mk-public-header .makosha-weather-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.mk-public-header .makosha-weather-bg,
.mk-public-header .makosha-weather-bg * {
    pointer-events: none;
}

.mk-public-shell {
    width: min(1240px, calc(100% - 32px));
    min-height: 168px;
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0 14px;
    position: relative;
    z-index: 20;
}

.mk-weather-strip {
    position: relative;
    z-index: 24;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px 10px;
    width: fit-content;
    max-width: min(100%, 980px);
    margin: 0 auto;
    padding: 4px 13px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 999px;
    background: rgba(255, 253, 248, .34);
    backdrop-filter: blur(5px);
    color: #153e2c;
    font-weight: 900;
    text-align: center;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .9);
}

.mk-weather-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.1;
}

.mk-weather-line span:empty {
    display: none;
}

.mk-weather-line span + span::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--mk-gold);
    vertical-align: middle;
}

.mk-weather-date {
    display: flex;
    justify-content: center;
    gap: 8px;
    color: #7b551f;
    font-size: 12px;
    font-weight: 850;
}

.mk-public-main {
    display: grid;
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
    grid-template-areas: "brand menu";
    gap: 22px;
    align-items: center;
    min-width: 0;
    position: relative;
    z-index: 30;
}

.mk-brand {
    grid-area: brand;
    position: relative;
    z-index: 32;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    min-width: 0;
    max-width: 340px;
    padding: 4px 12px 4px 6px;
    border-radius: 999px;
    background: rgba(255, 253, 248, .22);
    backdrop-filter: blur(2px);
}

.mk-brand img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(45, 28, 16, .16));
}

.mk-brand strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 3.6vw, 52px);
    font-weight: 500;
    font-style: italic;
    line-height: .9;
    color: #4c2b16;
    white-space: nowrap;
}

.mk-menu-toggle {
    display: none;
}

.mk-menu-panel {
    grid-area: menu;
    position: relative;
    z-index: 31;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    justify-items: end;
    min-width: 0;
}

.mk-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.mk-nav a,
.mk-btn,
.btn,
.mk-auth-link,
.mk-account-link,
.mk-logout,
.mk-region-pin,
.mk-menu-toggle {
    position: relative;
    z-index: 32;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1.5px solid rgba(180, 122, 34, .72);
    border-radius: 999px;
    background: rgba(255, 253, 248, .88);
    color: var(--mk-green);
    font: inherit;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 9px 22px rgba(118, 79, 34, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.mk-nav a:hover,
.mk-nav a.active,
.mk-btn:hover,
.btn:hover,
.mk-auth-link:hover,
.mk-account-link:hover,
.mk-region-pin:hover,
.mk-auth-link.active {
    border-color: rgba(194, 151, 63, .96);
    background: var(--mk-green);
    color: #fffdf7;
}

.mk-btn,
.btn {
    background: linear-gradient(135deg, var(--mk-green-2), var(--mk-green));
    color: #fffdf7;
}

.mk-btn.secondary,
.btn.secondary,
.mk-actions .mk-btn:nth-child(2) {
    background: rgba(255, 253, 248, .92);
    color: var(--mk-violet);
}

.mk-public-tools {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.mk-region-pin {
    min-height: 34px;
    padding: 0 14px;
    font-size: 13px;
    gap: 5px;
    cursor: pointer;
}

.mk-region-pin::before {
    content: "⌾";
    margin-right: 6px;
    color: var(--mk-green);
}

.mk-region-label {
    color: var(--mk-muted);
    font-weight: 850;
}

.mk-account {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.mk-account form {
    margin: 0;
}

.mk-logout {
    min-height: 34px;
    background: var(--mk-green);
    color: #fffdf7;
}

.mk-main {
    min-height: 64vh;
}

.mk-hero,
.hero {
    padding: 56px 0 36px;
    background: linear-gradient(180deg, #fffaf2 0%, var(--mk-paper) 100%);
}

.mk-hero h1,
.hero h1,
h1.mk-title {
    max-width: 860px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 78px);
    font-weight: 650;
    line-height: .98;
    letter-spacing: 0;
}

.mk-hero p,
.hero p {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--mk-muted);
    font-size: 20px;
    line-height: 1.5;
}

.mk-actions,
.pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.mk-mobile-break {
    display: none;
}

.mk-section,
.section {
    padding: 34px 0;
}

.section h1 {
    margin: 0 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
    letter-spacing: 0;
}

.mk-grid,
.grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mk-card,
.panel {
    overflow: hidden;
    border: 1px solid var(--mk-line);
    border-radius: 8px;
    background: var(--mk-surface);
    box-shadow: var(--mk-shadow);
}

.panel,
.mk-card-body {
    padding: 22px;
}

.mk-card h2,
.mk-card h3,
.panel h2,
.panel h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.15;
}

.mk-card p,
.panel p,
p {
    color: var(--mk-muted);
    line-height: 1.55;
}

.mk-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eee4d8;
}

.mk-muted {
    color: var(--mk-muted);
}

.mk-price {
    display: inline-flex;
    margin-top: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eef6ef;
    color: var(--mk-green);
    font-weight: 950;
}

.mk-band,
.mk-empty {
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid var(--mk-line);
    border-radius: 8px;
    background: var(--mk-surface);
    box-shadow: var(--mk-shadow);
}

.mk-empty {
    display: grid;
    gap: 12px;
}

.mk-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.mk-cats .active {
    background: var(--mk-green);
    color: #fffdf7;
}

.mk-catalog-filters {
    display: grid;
    gap: 16px;
}

.mk-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

label {
    display: grid;
    gap: 7px;
    color: #3f362e;
    font-weight: 800;
}

.form {
    display: grid;
    gap: 14px;
}

.checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.check {
    display: flex;
    gap: 8px;
    align-items: center;
    color: var(--mk-muted);
    font-weight: 700;
}

.check input {
    width: auto;
    min-height: auto;
}

input,
textarea,
select {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--mk-line);
    border-radius: 8px;
    padding: 10px 13px;
    background: #fff;
    color: var(--mk-text);
    font: inherit;
}

textarea {
    min-height: 112px;
    resize: vertical;
}

.mk-detail {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 30px;
    align-items: start;
}

.mk-detail h1 {
    margin: 10px 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 70px);
    line-height: 1;
    letter-spacing: 0;
}

.mk-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.mk-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--mk-line);
}

.mk-home-visual,
.scene {
    min-height: 390px;
    border: 1px solid var(--mk-line);
    border-radius: 8px;
    box-shadow: var(--mk-shadow);
}

.scene {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .2) 1px, transparent 1px) 0 0 / 42px 100%,
        linear-gradient(115deg, rgba(36, 99, 70, .08), rgba(180, 122, 34, .15)),
        repeating-linear-gradient(90deg, #efe1cf 0 26px, #f8efe3 26px 52px, #e4d1bf 52px 78px);
}

.mk-home-visual {
    position: relative;
    overflow: hidden;
    display: grid;
    background: #f6ecdf;
}

.mk-home-visual__image {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.mk-home-visual::before,
.mk-home-visual::after {
    content: none;
}

.mk-safe-note,
.notice,
.errors {
    margin: 18px 0;
    padding: 14px 16px;
    border-radius: 8px;
    font-weight: 760;
}

.notice,
.mk-safe-note {
    border: 1px solid #c9ddcb;
    background: #edf5ed;
    color: var(--mk-green);
}

.errors {
    border: 1px solid #e1b5ae;
    background: #fff1ef;
    color: #8f382d;
}

.mk-form-summary {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(201, 88, 74, .34);
    border-radius: 8px;
    background: rgba(255, 241, 239, .92);
    color: #7f2d22;
    font-weight: 760;
}

.mk-form-summary strong {
    color: #5a2119;
    font-size: 16px;
}

.mk-form-summary span,
.mk-field-error,
.mk-field-hint {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.35;
}

.mk-field-error {
    color: #9b3125;
    font-weight: 850;
}

.mk-field-hint {
    color: rgba(42, 33, 24, .58);
    font-weight: 700;
}

.form input.is-invalid,
form.form input.is-invalid {
    border-color: rgba(201, 88, 74, .72);
    box-shadow: 0 0 0 3px rgba(201, 88, 74, .11), inset 0 1px 0 rgba(255, 255, 255, .7);
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
}

.pagination a,
.pagination span {
    display: inline-flex;
    min-width: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--mk-line);
    border-radius: 999px;
    background: #fff;
    text-decoration: none;
}

.pagination .active span {
    background: var(--mk-green);
    color: #fff;
}

.mk-footer {
    padding: 34px 0;
    border-top: 1px solid var(--mk-line);
    background: #fffaf2;
    color: var(--mk-muted);
}

.mk-footer strong {
    color: var(--mk-green);
    letter-spacing: .08em;
}

.mk-footer-grid {
    display: flex;
    justify-content: space-between;
    gap: 22px;
}

.mk-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.mk-footer-links a {
    color: var(--mk-green);
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 1040px) {
    .mk-public-main {
        grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
        gap: 16px;
    }

    .mk-menu-panel {
        justify-items: end;
        gap: 10px;
    }

    .mk-brand {
        max-width: 300px;
    }

    .mk-nav,
    .mk-public-tools,
    .mk-account {
        justify-content: flex-end;
    }
}

@media (max-width: 900px) {
    .mk-grid,
    .grid,
    .two,
    .mk-detail,
    .mk-filter-grid,
    .checks {
        grid-template-columns: 1fr;
    }

    .mk-hero,
    .hero {
        padding-top: 36px;
    }

    .mk-hero p,
    .hero p {
        font-size: 18px;
    }
}

@media (max-width: 760px) {
    .mk-public-header,
    .mk-public-shell {
        min-height: auto !important;
        max-height: none;
    }

    .mk-public-shell {
        gap: 8px;
        padding: 7px 0 10px;
    }

    .mk-weather-strip {
        width: 100%;
        padding: 4px 10px;
        border-radius: 16px;
    }

    .mk-weather-line {
        font-size: 13px;
    }

    .mk-public-main {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand toggle"
            "menu menu";
        gap: 8px 10px;
    }

    .mk-menu-toggle {
        display: inline-flex;
        grid-area: toggle;
        min-height: 38px;
        padding: 0 14px;
        font-size: 14px;
    }

    .mk-menu-panel {
        display: none;
        width: 100%;
        justify-items: stretch;
        gap: 8px;
    }

    .mk-menu-panel.is-open {
        display: grid;
    }

    .mk-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }

    .mk-public-tools,
    .mk-account {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
    }

    .mk-nav a,
    .mk-auth-link,
    .mk-account-link,
    .mk-region-pin,
    .mk-logout {
        width: 100%;
        min-height: 40px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px;
    }
}

@media (max-width: 560px) {
    .mk-wrap,
    .wrap,
    .mk-public-shell {
        width: min(100% - 24px, 1180px);
    }

    .mk-public-header,
    .mk-public-shell {
        min-height: auto !important;
        max-height: none;
    }

    .mk-public-header {
        position: sticky !important;
    }

    .mk-public-shell {
        gap: 8px;
        padding: 7px 0 10px;
    }

    .mk-weather-strip {
        width: 100%;
        padding: 4px 10px;
        border-radius: 16px;
        background: rgba(255, 253, 248, .48);
    }

    .mk-weather-line {
        gap: 5px;
        font-size: 12px;
    }

    .mk-weather-line [data-weather-desc],
    .mk-weather-line [data-weather-wind],
    .mk-weather-date {
        display: none;
    }

    .mk-weather-date {
        font-size: 11px;
    }

    .mk-public-main {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand toggle"
            "menu menu";
        gap: 8px 10px;
        align-items: center;
    }

    .mk-brand img {
        width: 42px;
        height: 42px;
    }

    .mk-brand strong {
        font-size: clamp(31px, 11vw, 42px);
    }

    .mk-menu-toggle {
        display: inline-flex;
        grid-area: toggle;
        min-height: 38px;
        padding: 0 14px;
        font-size: 14px;
    }

    .mk-menu-panel {
        display: none;
        width: 100%;
        justify-items: stretch;
        gap: 8px;
    }

    .mk-menu-panel.is-open {
        display: grid;
    }

    .mk-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .mk-nav,
    .mk-public-tools,
    .mk-actions,
    .pill-list {
        width: 100%;
    }

    .mk-nav a,
    .mk-btn,
    .btn,
    .mk-auth-link,
    .mk-account-link,
    .mk-region-pin,
    .mk-logout {
        width: 100%;
        min-height: 40px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px;
    }

    .mk-public-tools,
    .mk-account {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .mk-hero h1,
    .hero h1,
    .mk-detail h1 {
        font-size: 30px;
        line-height: 1.08;
        overflow-wrap: break-word;
    }

    .mk-mobile-break {
        display: block;
    }

    .mk-hero p,
    .hero p {
        max-width: 100%;
        font-size: 16px;
        overflow-wrap: break-word;
    }

    .mk-hero .mk-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mk-card-body,
    .panel,
    .mk-band,
    .mk-empty {
        padding: 16px;
    }

    .mk-home-visual,
    .scene {
        min-height: 260px;
    }

    .mk-home-visual__image {
        min-height: 260px;
    }

    .mk-footer-grid {
        display: grid;
    }

    .mk-footer-links {
        justify-content: flex-start;
    }
}

/* Home: full-width room hero with weather constrained to the window area. */
body.mk-home-page {
    overflow-x: hidden;
}

body.mk-home-page > .mk-public-header {
    display: none !important;
}

body.mk-home-page .mk-main {
    min-height: 0;
}

.makosha-hero-window-weather {
    --window-x: 30%;
    --window-y: 15%;
    --window-width: 38%;
    --window-height: 48%;
    position: relative;
    width: 100%;
    min-height: clamp(700px, 92vh, 980px);
    overflow: hidden;
    isolation: isolate;
    background: #251813;
}

.hero-room-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
    transition: opacity .45s ease, filter .45s ease;
}

.hero-room-bg.is-home-bg-loading {
    opacity: .82;
}

.makosha-hero-window-weather > .window-weather-layer,
html body .makosha-hero-window-weather > .makosha-weather-bg {
    position: absolute !important;
    left: var(--window-x) !important;
    top: var(--window-y) !important;
    width: var(--window-width) !important;
    height: var(--window-height) !important;
    z-index: 2 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    border-radius: 34% 38% 42% 30% / 18% 20% 40% 42%;
    opacity: .78;
    filter: saturate(.92) contrast(.96);
    mix-blend-mode: screen;
    mask-image:
        linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
        linear-gradient(180deg, transparent 0%, #000 16%, #000 90%, transparent 100%);
    -webkit-mask-image:
        linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
        linear-gradient(180deg, transparent 0%, #000 16%, #000 90%, transparent 100%);
    mask-composite: intersect;
    -webkit-mask-composite: source-in;
}

.makosha-hero-window-weather > .window-weather-layer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 30;
    background:
        linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,.06) 44%, rgba(255,255,255,.18)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 1px, transparent 1px 54px);
    opacity: .58;
    pointer-events: none;
}

.makosha-hero-window-weather .makosha-weather-canvas {
    border-radius: inherit;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-cloud,
html body .makosha-weather-bg.weather-state-blizzard .weather-snow,
html body .makosha-weather-bg.weather-state-blizzard .weather-wind,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-cloud,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-snow,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-wind {
    opacity: 1 !important;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-sky,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-sky {
    background:
        radial-gradient(circle at calc(var(--weather-orb-x) * 1%) calc(var(--weather-orb-y) * 1%), rgba(210, 222, 232, .14), transparent 20%),
        linear-gradient(90deg, rgba(100, 109, 116, .54), rgba(206, 214, 218, .56) 48%, rgba(91, 102, 111, .48)) !important;
    filter: saturate(.78) brightness(.90) !important;
}

html body .makosha-weather-bg.weather-state-blizzard,
html body .makosha-hero-window-weather .weather-state-blizzard {
    --weather-snow-opacity-far: .72;
    --weather-snow-opacity-mid: .88;
    --weather-snow-opacity-near: 1;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-cloud,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-cloud {
    opacity: var(--weather-cloud-opacity, .84) !important;
    filter: saturate(.78) brightness(.92) blur(.2px) !important;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-snow--far,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-snow--far {
    opacity: calc(var(--weather-snow-opacity-far, .48) + .12) !important;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-snow--mid,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-snow--mid {
    opacity: calc(var(--weather-snow-opacity-mid, .66) + .14) !important;
}

html body .makosha-weather-bg.weather-state-blizzard .weather-snow--near,
html body .makosha-hero-window-weather .weather-state-blizzard .weather-snow--near {
    opacity: calc(var(--weather-snow-opacity-near, .82) + .08) !important;
    animation-duration: calc(var(--weather-snow-duration, 5s) * .58) !important;
    background-size: 44px 48px, 72px 70px, 36px 42px !important;
    filter:
        blur(.05px)
        drop-shadow(0 4px 5px rgba(43, 58, 74, .22))
        drop-shadow(0 10px 14px rgba(43, 58, 74, .16)) !important;
}

.room-light-layer {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background:
        radial-gradient(circle at 47% 34%, rgba(255,222,158,.26), transparent 32%),
        linear-gradient(90deg, rgba(255,244,224,.12), transparent 54%),
        linear-gradient(180deg, rgba(255,248,235,.06), rgba(49,30,18,.14));
}

.text-readability-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    background:
        linear-gradient(90deg,
            rgba(24, 14, 10, .76) 0%,
            rgba(24, 14, 10, .60) 31%,
            rgba(24, 14, 10, .24) 58%,
            rgba(24, 14, 10, .08) 100%
        ),
        linear-gradient(180deg,
            rgba(20, 12, 8, .36) 0%,
            rgba(20, 12, 8, .05) 42%,
            rgba(20, 12, 8, .30) 100%
        );
}

.hero-content {
    position: relative;
    z-index: 10;
    width: min(100% - 40px, 1520px);
    min-height: inherit;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding: 14px 0 62px;
    pointer-events: none;
}

.hero-content a,
.hero-content button,
.hero-content form {
    pointer-events: auto;
}

.makosha-weather-line {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 10px;
    padding: 6px 16px;
    border: 1px solid rgba(255, 230, 175, .38);
    border-radius: 999px;
    background: rgba(255, 253, 248, .26);
    color: #fff8e9;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255,255,255,.22);
    backdrop-filter: blur(10px);
    font-size: 14px;
    font-weight: 900;
    text-shadow: 0 1px 8px rgba(0,0,0,.34);
}

.makosha-weather-line > span + span::before,
.makosha-weather-city::before {
    content: "•";
    margin-right: 10px;
    color: rgba(255, 209, 128, .9);
}

.makosha-weather-city {
    display: inline-flex;
    align-items: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.makosha-weather-time {
    display: inline-flex;
    gap: 6px;
}

.makosha-hero-header {
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
    gap: 16px 22px;
    align-items: center;
}

.makosha-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    width: fit-content;
    max-width: min(100%, 390px);
    padding: 8px 22px 8px 10px;
    border-radius: 999px;
    background: rgba(255, 253, 248, .24);
    color: #fff7e9;
    text-decoration: none;
    backdrop-filter: blur(10px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 34px rgba(0,0,0,.16);
}

.makosha-brand img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.makosha-brand strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 64px);
    font-style: italic;
    font-weight: 500;
    line-height: 1;
    color: #fff4df;
    text-shadow: 0 2px 16px rgba(0,0,0,.36);
}

.makosha-menu-toggle {
    display: none;
}

.makosha-hero-menu-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    justify-items: end;
}

.makosha-main-nav,
.makosha-header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 9px;
}

.makosha-main-nav a,
.makosha-header-actions a,
.makosha-header-actions button,
.makosha-header-actions form button,
.makosha-city-pill {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 17px;
    border: 1px solid rgba(255, 207, 135, .76);
    border-radius: 999px;
    background: rgba(255, 253, 248, .72);
    color: #143f2c;
    font: inherit;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 24px rgba(0,0,0,.10);
    cursor: pointer;
}

.makosha-header-actions form {
    margin: 0;
}

.makosha-city-pill span {
    color: rgba(41, 32, 24, .62);
}

.makosha-main-nav a:hover,
.makosha-header-actions a:hover,
.makosha-header-actions button:hover,
.makosha-header-actions form button:hover {
    background: #246346;
    color: #fffdf7;
}

.makosha-hero-body {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 72px 0 24px;
}

.makosha-hero-text {
    max-width: min(760px, 58vw);
    color: #fff8ec;
    text-shadow: 0 2px 18px rgba(0,0,0,.42);
}

.makosha-hero-eyebrow {
    margin-bottom: 18px;
    color: #f4c36f;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.makosha-hero-text h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 6vw, 98px);
    line-height: .96;
    letter-spacing: 0;
    color: #fff5e2;
}

.makosha-hero-text p {
    max-width: 650px;
    margin: 24px 0 0;
    color: rgba(255, 249, 237, .92);
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.52;
}

.makosha-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 240px));
    gap: 12px;
    margin-top: 30px;
}

.makosha-hero-btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 1px solid rgba(255, 207, 135, .86);
    border-radius: 999px;
    background: rgba(255, 253, 248, .78);
    color: #2b1640;
    font-weight: 950;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 32px rgba(0,0,0,.14);
    backdrop-filter: blur(8px);
}

.makosha-hero-btn.primary {
    background: #236345;
    color: #fffdf6;
}

.mk-home-after-hero {
    background: var(--mk-paper);
}

body.mk-home-page .mk-footer {
    margin-top: 0;
}

@media (min-width: 1921px) {
    .makosha-hero-window-weather {
        --window-x: 31%;
        --window-y: 14%;
        --window-width: 36%;
        --window-height: 50%;
    }
}

@media (max-width: 1366px) {
    .makosha-hero-window-weather {
        --window-x: 32%;
        --window-y: 16%;
        --window-width: 38%;
        --window-height: 47%;
    }

    .makosha-main-nav a,
    .makosha-header-actions a,
    .makosha-header-actions button,
    .makosha-header-actions form button,
    .makosha-city-pill {
        min-height: 38px;
        padding: 0 13px;
        font-size: 13px;
    }
}

@media (max-width: 1024px) {
    .makosha-hero-window-weather {
        --window-x: 34%;
        --window-y: 16%;
        --window-width: 42%;
        --window-height: 42%;
        min-height: 820px;
    }

    .makosha-hero-header {
        grid-template-columns: 1fr auto;
    }

    .makosha-menu-toggle {
        min-height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 18px;
        border: 1px solid rgba(255, 207, 135, .76);
        border-radius: 999px;
        background: rgba(255, 253, 248, .78);
        color: #143f2c;
        font-weight: 950;
        cursor: pointer;
    }

    .makosha-hero-menu-panel {
        grid-column: 1 / -1;
        display: none;
        justify-items: stretch;
        padding: 14px;
        border: 1px solid rgba(255, 207, 135, .38);
        border-radius: 22px;
        background: rgba(40, 26, 18, .52);
        backdrop-filter: blur(12px);
    }

    .makosha-hero-menu-panel.is-open {
        display: grid;
    }

    .makosha-main-nav,
    .makosha-header-actions {
        justify-content: flex-start;
    }

    .makosha-hero-text {
        max-width: 720px;
    }
}

@media (max-width: 760px) {
    .makosha-hero-window-weather {
        --window-x: 21%;
        --window-y: 25%;
        --window-width: 70%;
        --window-height: 27%;
        min-height: 860px;
    }

    .hero-room-bg {
        object-position: 43% center;
    }

    .text-readability-overlay {
        background:
            linear-gradient(180deg,
                rgba(24, 14, 10, .72) 0%,
                rgba(24, 14, 10, .68) 44%,
                rgba(24, 14, 10, .36) 100%
            );
    }

    .hero-content {
        width: min(100% - 24px, 720px);
        padding: 10px 0 38px;
    }

    .makosha-weather-line {
        width: 100%;
        justify-content: center;
        gap: 5px 8px;
        padding: 5px 12px;
        font-size: 12px;
    }

    .makosha-weather-line [data-weather-desc],
    .makosha-weather-line [data-weather-wind],
    .makosha-weather-time {
        display: none;
    }

    .makosha-hero-header {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .makosha-brand {
        min-width: 0;
        max-width: calc(100vw - 116px);
        gap: 9px;
        padding: 7px 13px 7px 8px;
        padding-right: 16px;
    }

    .makosha-brand img {
        width: 46px;
        height: 46px;
    }

    .makosha-brand strong {
        font-size: clamp(30px, 9.8vw, 42px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .makosha-menu-toggle {
        width: 100%;
        min-width: 74px;
        min-height: 40px;
        padding: 0 12px;
        white-space: nowrap;
    }

    .makosha-main-nav,
    .makosha-header-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .makosha-main-nav a,
    .makosha-header-actions a,
    .makosha-header-actions button,
    .makosha-header-actions form button,
    .makosha-city-pill {
        width: 100%;
    }

    .makosha-hero-body {
        align-items: flex-start;
        padding-top: 58px;
    }

    .makosha-hero-text {
        max-width: 100%;
    }

    .makosha-hero-eyebrow {
        margin-bottom: 12px;
        font-size: 11px;
        letter-spacing: .12em;
    }

    .makosha-hero-text h1 {
        font-size: clamp(33px, 11vw, 44px);
        line-height: 1.04;
        overflow-wrap: break-word;
    }

    .makosha-hero-text p {
        max-width: 100%;
        margin-top: 18px;
        font-size: 16px;
    }

    .makosha-hero-actions {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .makosha-hero-btn {
        width: 100%;
        min-height: 46px;
    }

    .makosha-hero-window-weather > .window-weather-layer,
    html body .makosha-hero-window-weather > .makosha-weather-bg {
        opacity: .54;
        mix-blend-mode: screen;
    }
}

@media (prefers-reduced-motion: reduce) {
    .makosha-hero-window-weather .weather-cloud,
    .makosha-hero-window-weather .weather-fog,
    .makosha-hero-window-weather .weather-rain,
    .makosha-hero-window-weather .weather-rain-heavy,
    .makosha-hero-window-weather .weather-snow,
    .makosha-hero-window-weather .weather-wind,
    .makosha-hero-window-weather .weather-lightning,
    .makosha-hero-window-weather .weather-flash {
        animation-duration: 60s !important;
        animation-iteration-count: 1 !important;
    }
}

/* Public header hard override: older weather CSS has generic .mk-header rules. */
html body.mk-site .mk-public-header,
html body.mk-site .mk-public-header.weather-has-orb {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    display: block !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 168px !important;
    max-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

html body.mk-site .mk-public-header .mk-public-shell {
    position: relative !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: none !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    width: min(1240px, calc(100% - 32px)) !important;
    min-height: 168px !important;
    margin: 0 auto !important;
    padding: 9px 0 14px !important;
}

html body.mk-site .mk-public-header .mk-public-main {
    position: relative !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr) !important;
    grid-template-areas: "brand menu" !important;
    align-items: center !important;
    gap: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
}

html body.mk-site .mk-public-header .mk-brand {
    grid-area: brand !important;
    position: relative !important;
    inset: auto !important;
    z-index: 32 !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 340px !important;
}

html body.mk-site .mk-public-header .mk-menu-toggle {
    display: none !important;
}

html body.mk-site .mk-public-header .mk-menu-panel {
    grid-area: menu !important;
    position: relative !important;
    inset: auto !important;
    z-index: 31 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    justify-items: end !important;
    width: 100% !important;
    min-width: 0 !important;
}

html body.mk-site .mk-public-header .mk-nav,
html body.mk-site .mk-public-header.weather-has-orb .mk-nav {
    position: relative !important;
    inset: auto !important;
    z-index: 32 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
}

html body.mk-site .mk-public-header .mk-public-tools,
html body.mk-site .mk-public-header .mk-account {
    position: relative !important;
    inset: auto !important;
    z-index: 32 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: 100% !important;
}

@media (max-width: 760px) {
    html body.mk-site .mk-public-header,
    html body.mk-site .mk-public-header.weather-has-orb {
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.mk-site .mk-public-header .mk-public-shell {
        min-height: auto !important;
        max-height: none !important;
    }

    html body.mk-site .mk-public-header .mk-public-main {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand toggle"
            "menu menu" !important;
        gap: 8px 10px !important;
    }

    html body.mk-site .mk-public-header .mk-menu-toggle {
        display: inline-flex !important;
        grid-area: toggle !important;
    }

    html body.mk-site .mk-public-header .mk-menu-panel {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 8px) !important;
        z-index: 70 !important;
        display: none !important;
        justify-items: stretch !important;
        gap: 8px !important;
        padding: 10px !important;
        border: 1px solid rgba(180, 122, 34, .30) !important;
        border-radius: 18px !important;
        background: rgba(251, 247, 240, .94) !important;
        box-shadow: 0 18px 44px rgba(39, 29, 20, .18) !important;
        backdrop-filter: blur(10px) !important;
    }

    html body.mk-site .mk-public-header .mk-menu-panel.is-open {
        display: grid !important;
    }

    html body.mk-site .mk-public-header .mk-nav,
    html body.mk-site .mk-public-header.weather-has-orb .mk-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    html body.mk-site .mk-public-header .mk-public-tools,
    html body.mk-site .mk-public-header .mk-account {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 8px !important;
    }
}

/* City selection UX */
body.mk-region-modal-open {
    overflow: hidden;
}

.mk-region-modal[hidden] {
    display: none !important;
}

html body .mk-region-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    pointer-events: auto !important;
}

html body .mk-region-modal__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(31, 24, 18, .42) !important;
    backdrop-filter: blur(5px) !important;
}

html body .mk-region-modal__box {
    position: relative !important;
    z-index: 1 !important;
    width: min(94vw, 720px) !important;
    max-height: min(88vh, 760px) !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
    gap: 14px !important;
    padding: 30px !important;
    border: 1px solid rgba(180, 122, 34, .28) !important;
    border-radius: 24px !important;
    background: rgba(255, 250, 242, .98) !important;
    box-shadow: 0 28px 80px rgba(36, 26, 18, .28) !important;
}

html body .mk-region-modal__close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(180, 122, 34, .26) !important;
    border-radius: 50% !important;
    background: rgba(255, 253, 248, .9) !important;
    color: var(--mk-green) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

html body .mk-region-modal__label {
    color: var(--mk-gold) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

html body .mk-region-modal__box h3 {
    margin: 0 !important;
    padding-right: 48px !important;
    color: var(--mk-text) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(30px, 4vw, 44px) !important;
    line-height: 1.05 !important;
}

html body .mk-region-modal__subtitle {
    margin: 0 !important;
    max-width: 620px !important;
    color: var(--mk-muted) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}

html body .mk-region-modal__search {
    display: grid !important;
    gap: 7px !important;
    color: var(--mk-green) !important;
    font-weight: 900 !important;
}

html body .mk-region-modal__search input {
    min-height: 44px !important;
    border-color: rgba(180, 122, 34, .35) !important;
    border-radius: 14px !important;
    background: #fffdf8 !important;
}

html body .mk-region-modal__region-picker {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

html body .mk-region-modal__region-picker button {
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(180, 122, 34, .48) !important;
    border-radius: 999px !important;
    background: rgba(255, 253, 248, .9) !important;
    color: var(--mk-green) !important;
    font: inherit !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

html body .mk-region-modal__region-picker button.is-active {
    border-color: rgba(180, 122, 34, .94) !important;
    background: var(--mk-green) !important;
    color: #fffdf7 !important;
    box-shadow: 0 0 0 3px rgba(180, 122, 34, .16) !important;
}

html body .mk-region-modal__grid {
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    display: grid !important;
    gap: 12px !important;
    padding: 2px 4px 2px 0 !important;
}

html body .mk-region-modal__region {
    display: grid !important;
    gap: 8px !important;
    padding: 12px !important;
    border: 1px solid rgba(234, 216, 191, .9) !important;
    border-radius: 18px !important;
    background: rgba(255, 253, 248, .72) !important;
}

html body .mk-region-modal__region h4 {
    margin: 0 !important;
    color: var(--mk-green) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

html body .mk-region-modal__cities {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

html body .mk-region-modal__grid button,
html body .mk-region-modal__cities button {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
    border: 1px solid rgba(180, 122, 34, .46) !important;
    border-radius: 999px !important;
    background: rgba(255, 253, 248, .88) !important;
    color: var(--mk-green) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

html body .mk-region-modal__grid button.is-active,
html body .mk-region-modal__cities button.is-active {
    border-color: rgba(180, 122, 34, .94) !important;
    background: var(--mk-green) !important;
    color: #fffdf7 !important;
    box-shadow: 0 0 0 3px rgba(180, 122, 34, .16) !important;
}

html body .mk-region-modal__grid button::after,
html body .mk-region-modal__cities button::after {
    content: none !important;
}

html body .mk-region-modal__footer {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-top: 6px !important;
}

html body .mk-region-modal__cancel,
html body .mk-region-modal__save {
    min-height: 44px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(180, 122, 34, .58) !important;
    border-radius: 999px !important;
    font: inherit !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

html body .mk-region-modal__cancel {
    background: rgba(255, 253, 248, .9) !important;
    color: var(--mk-green) !important;
}

html body .mk-region-modal__save {
    background: var(--mk-green) !important;
    color: #fffdf7 !important;
}

html body .mk-region-modal__save:disabled {
    opacity: .48 !important;
    cursor: not-allowed !important;
}

.mk-city-notice,
.mk-city-form-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(180, 122, 34, .28);
    border-radius: 8px;
    background: rgba(255, 253, 248, .84);
    box-shadow: 0 12px 30px rgba(62, 43, 25, .08);
}

.mk-city-notice[hidden] {
    display: none !important;
}

.mk-city-notice p,
.mk-city-form-note span {
    margin: 4px 0 0;
    color: var(--mk-muted);
}

.mk-city-form-note {
    margin: 0;
}

.mk-weather-city-choice {
    cursor: pointer;
    border-radius: 999px;
    outline-offset: 3px;
}

.mk-weather-city-choice:focus-visible {
    outline: 2px solid rgba(180, 122, 34, .72);
}

@media (max-width: 560px) {
    html body .mk-region-modal {
        align-items: center !important;
        padding: 12px !important;
    }

    html body .mk-region-modal__box {
        width: min(100%, 420px) !important;
        max-height: 88vh !important;
        padding: 24px 18px 18px !important;
        border-radius: 22px !important;
    }

    html body .mk-region-modal__cities {
        grid-template-columns: 1fr !important;
    }

    html body .mk-region-modal__region-picker {
        grid-template-columns: 1fr !important;
    }

    html body .mk-region-modal__footer,
    .mk-city-notice,
    .mk-city-form-note {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    html body .mk-region-modal__cancel,
    html body .mk-region-modal__save {
        width: 100% !important;
    }
}

.mk-catalog-hero {
    padding-bottom: 42px;
}

.mk-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--mk-muted);
    font-size: 14px;
    font-weight: 800;
}

.mk-breadcrumbs a {
    color: var(--mk-green);
    text-decoration: none;
}

.mk-catalog-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mk-catalog-section-card {
    min-height: 245px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 26px;
    border: 1px solid rgba(180, 122, 34, .22);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .98), rgba(247, 239, 225, .78)),
        #fffdf8;
    color: var(--mk-text);
    text-decoration: none;
    box-shadow: 0 18px 45px rgba(62, 43, 25, .08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.mk-catalog-section-card:hover {
    transform: translateY(-3px);
    border-color: rgba(180, 122, 34, .48);
    box-shadow: 0 24px 60px rgba(62, 43, 25, .12);
}

.mk-catalog-section-card__label,
.mk-catalog-section-card small {
    color: var(--mk-gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.mk-catalog-section-card strong {
    color: var(--mk-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.05;
}

.mk-catalog-section-card span:not(.mk-catalog-section-card__label) {
    color: var(--mk-muted);
    font-size: 16px;
    line-height: 1.45;
}

.mk-catalog-nav,
.mk-subcategory-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.mk-catalog-nav a,
.mk-subcategory-chips a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid rgba(180, 122, 34, .42);
    border-radius: 999px;
    background: rgba(255, 253, 248, .9);
    color: var(--mk-green);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.mk-catalog-nav a.active,
.mk-subcategory-chips a.active {
    background: var(--mk-green);
    color: #fffdf7;
    border-color: var(--mk-green);
}

.mk-catalog-filters--section {
    margin-bottom: 22px;
}

.mk-selected-product {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid rgba(180, 122, 34, .34);
    border-radius: 8px;
    background: rgba(255, 253, 248, .96);
    box-shadow: 0 18px 48px rgba(62, 43, 25, .1);
}

.mk-selected-product[hidden] {
    display: none !important;
}

.mk-selected-product h2 {
    margin: 0;
    color: var(--mk-green);
    font-size: 22px;
    line-height: 1.18;
}

.mk-selected-product span {
    display: block;
    margin-top: 6px;
    color: var(--mk-muted);
    font-weight: 800;
}

.mk-product-card {
    overflow: hidden;
}

.mk-product-card__media {
    min-height: 245px;
    display: grid;
    place-items: center;
    background: rgba(247, 239, 225, .64);
    color: var(--mk-muted);
    font-weight: 900;
    text-decoration: none;
}

.mk-product-card__media .mk-img,
.mk-product-card__media img {
    width: 100%;
    height: 245px;
    object-fit: cover;
}

.mk-product-card .mk-actions {
    gap: 8px;
}

.mk-product-card .mk-actions .mk-btn {
    flex: 1 1 140px;
}

.mk-service-card {
    min-height: 220px;
}

.mk-product-detail {
    align-items: start;
}

.mk-product-gallery {
    display: grid;
    gap: 12px;
}

.mk-product-gallery img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: var(--mk-shadow);
}

.mk-product-summary {
    position: sticky;
    top: 18px;
}

.mk-product-note {
    margin-top: 18px;
}

@media (max-width: 900px) {
    .mk-catalog-section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mk-selected-product {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .mk-catalog-section-grid {
        grid-template-columns: 1fr;
    }

    .mk-catalog-section-card {
        min-height: 210px;
        padding: 22px;
    }

    .mk-catalog-section-card strong {
        font-size: 28px;
    }

    .mk-catalog-nav,
    .mk-subcategory-chips {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .mk-catalog-nav a,
    .mk-subcategory-chips a {
        flex: 0 0 auto;
    }

    .mk-selected-product .mk-actions,
    .mk-product-summary .mk-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mk-product-card__media,
    .mk-product-card__media .mk-img,
    .mk-product-card__media img {
        min-height: 210px;
        height: 210px;
    }

    .mk-product-summary {
        position: static;
    }
}

/* The home page has its own full hero header; the legacy public sky header stays on inner pages only. */
html body.mk-site.mk-home-page > .mk-public-header,
html body.mk-site.mk-home-page > .mk-public-header.weather-has-orb {
    display: none !important;
}

/* ===== Approved public design system 20260621 ===== */
:root {
    --mk-bg-warm: #f6efe6;
    --mk-bg-light: #fffaf3;
    --mk-text-dark: #2b2119;
    --mk-text-light: #fff8ec;
    --mk-green: #176642;
    --mk-green-dark: #0f3f2b;
    --mk-gold: #b87926;
    --mk-gold-soft: #e6c58b;
    --mk-glass-bg: rgba(255, 255, 255, .16);
    --mk-glass-strong: rgba(255, 251, 244, .76);
    --mk-glass-border: rgba(226, 190, 132, .52);
    --mk-card-bg: rgba(255, 252, 247, .92);
    --mk-shadow-soft: 0 22px 70px rgba(52, 34, 18, .14);
    --mk-radius-sm: 10px;
    --mk-radius-md: 18px;
    --mk-radius-lg: 28px;
    --mk-container: 1440px;
}

html,
body.mk-site {
    overflow-x: hidden;
}

body.mk-site {
    background:
        radial-gradient(circle at 18% 8%, rgba(230, 197, 139, .18), transparent 28%),
        linear-gradient(180deg, var(--mk-bg-light), var(--mk-bg-warm));
    color: var(--mk-text-dark);
}

.mk-wrap,
.wrap {
    width: min(var(--mk-container), calc(100% - 48px));
}

.mk-inner-page .mk-main {
    background:
        radial-gradient(circle at 8% 0%, rgba(232, 204, 158, .18), transparent 28%),
        linear-gradient(180deg, #fffaf3 0%, #f5ece0 100%);
}

body.mk-inner-page > .mk-public-header {
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background:
        linear-gradient(135deg, rgba(35, 47, 45, .96), rgba(80, 67, 52, .92) 52%, rgba(142, 108, 65, .86)) !important;
    border-bottom: 1px solid rgba(230, 197, 139, .30) !important;
    box-shadow: 0 14px 46px rgba(30, 20, 12, .16);
}

body.mk-inner-page .mk-public-header .makosha-weather-bg {
    opacity: .12 !important;
    filter: saturate(.75) blur(.2px) !important;
}

body.mk-inner-page .mk-public-shell {
    width: min(var(--mk-container), calc(100% - 48px));
    min-height: auto;
    gap: 12px;
    padding: 12px 0 16px;
}

body.mk-inner-page .mk-weather-strip {
    margin: 0;
    color: rgba(255, 248, 236, .94);
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .20);
    text-shadow: none;
}

body.mk-inner-page .mk-weather-date {
    color: rgba(230, 197, 139, .92);
}

body.mk-inner-page .mk-public-main {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 26px;
}

body.mk-inner-page .mk-brand {
    padding: 0;
    background: transparent;
    backdrop-filter: none;
}

body.mk-inner-page .mk-brand img {
    width: 58px;
    height: 58px;
}

body.mk-inner-page .mk-brand strong {
    color: var(--mk-text-light);
    text-shadow: 0 8px 28px rgba(0, 0, 0, .24);
}

body.mk-inner-page .mk-nav a,
body.mk-inner-page .mk-auth-link,
body.mk-inner-page .mk-account-link,
body.mk-inner-page .mk-logout,
body.mk-inner-page .mk-region-pin,
body.mk-inner-page .mk-menu-toggle {
    min-height: 42px;
    border: 1px solid rgba(230, 197, 139, .44);
    background: rgba(255, 255, 255, .10);
    color: var(--mk-text-light);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(10px);
}

body.mk-inner-page .mk-nav a.active,
body.mk-inner-page .mk-auth-link.active,
body.mk-inner-page .mk-nav a:hover,
body.mk-inner-page .mk-auth-link:hover,
body.mk-inner-page .mk-region-pin:hover {
    background: rgba(255, 250, 240, .82);
    color: var(--mk-green-dark);
}

.makosha-hero-full {
    --window-x: 30%;
    --window-y: 13%;
    --window-width: 43%;
    --window-height: 51%;
    min-height: clamp(760px, 88vh, 940px);
    background: #271b14;
}

.makosha-hero-full .makosha-hero-bg {
    object-position: center center;
    filter: saturate(1.03) contrast(1.02);
}

.makosha-hero-full > .makosha-window-weather-layer,
html body .makosha-hero-full > .makosha-weather-bg {
    left: var(--window-x) !important;
    top: var(--window-y) !important;
    width: var(--window-width) !important;
    height: var(--window-height) !important;
    opacity: .68;
    filter: saturate(.96) contrast(.98);
    mix-blend-mode: screen;
    border-radius: 18px 20px 28px 24px;
    mask-image:
        linear-gradient(90deg, transparent 0%, #000 10%, #000 92%, transparent 100%),
        linear-gradient(180deg, transparent 0%, #000 11%, #000 92%, transparent 100%);
    -webkit-mask-image:
        linear-gradient(90deg, transparent 0%, #000 10%, #000 92%, transparent 100%),
        linear-gradient(180deg, transparent 0%, #000 11%, #000 92%, transparent 100%);
}

.makosha-hero-full .makosha-hero-overlay {
    background:
        linear-gradient(180deg, rgba(16, 24, 24, .48) 0%, rgba(16, 24, 24, .10) 20%, rgba(30, 20, 14, .18) 100%),
        linear-gradient(90deg, rgba(11, 17, 16, .78) 0%, rgba(20, 18, 14, .58) 28%, rgba(30, 21, 14, .12) 62%, rgba(16, 12, 9, .18) 100%),
        radial-gradient(ellipse at 29% 55%, rgba(12, 15, 13, .42), transparent 38%);
}

.makosha-room-light-layer {
    opacity: .38;
    background:
        radial-gradient(circle at 84% 43%, rgba(255, 201, 105, .22), transparent 15%),
        radial-gradient(circle at 82% 55%, rgba(255, 181, 78, .12), transparent 18%),
        linear-gradient(90deg, rgba(255, 232, 189, .08), transparent 50%);
    mix-blend-mode: screen;
}

.makosha-window-weather-layer.weather-time-twilight ~ .makosha-room-light-layer,
.makosha-window-weather-layer.weather-time-night ~ .makosha-room-light-layer {
    opacity: .96;
    background:
        radial-gradient(circle at 84% 42%, rgba(255, 212, 127, .64), transparent 9%),
        radial-gradient(circle at 83% 50%, rgba(255, 176, 76, .30), transparent 19%),
        radial-gradient(circle at 72% 67%, rgba(255, 197, 112, .12), transparent 24%),
        linear-gradient(90deg, rgba(255, 229, 182, .05), transparent 46%, rgba(255, 193, 102, .11));
}

.makosha-hero-content {
    width: min(var(--mk-container), calc(100% - 72px));
    padding-top: 20px;
    padding-bottom: 54px;
}

.makosha-hero-content .makosha-weather-line {
    margin: 0 0 16px 96px;
    padding: 0;
    gap: 14px;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(255, 248, 236, .94);
    font-size: 15px;
    font-weight: 600;
    text-shadow: 0 2px 12px rgba(0,0,0,.46);
    backdrop-filter: none;
}

.makosha-hero-content .makosha-weather-line > span + span::before,
.makosha-hero-content .makosha-weather-city::before {
    width: auto;
    height: auto;
    margin-right: 0;
    content: "•";
    background: none;
    color: rgba(230, 197, 139, .86);
}

.makosha-hero-header {
    position: relative;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(22px, 3vw, 54px);
    align-items: center;
}

.makosha-brand {
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.makosha-brand img {
    width: 64px;
    height: 64px;
    filter: drop-shadow(0 8px 22px rgba(17, 12, 8, .24));
}

.makosha-brand strong {
    color: var(--mk-text-light);
    font-size: clamp(42px, 4.3vw, 62px);
    text-shadow: 0 8px 28px rgba(0,0,0,.28);
}

.makosha-hero-menu-panel {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
    gap: 18px;
}

.makosha-main-nav,
.makosha-header-actions {
    gap: 10px;
}

.makosha-main-nav {
    justify-content: flex-start;
}

.makosha-header-actions {
    justify-content: flex-end;
}

.makosha-main-nav a,
.makosha-header-actions a,
.makosha-header-actions button,
.makosha-header-actions form button,
.makosha-city-pill,
.makosha-menu-toggle {
    border-color: rgba(230, 197, 139, .42);
    background: rgba(255,255,255,.11);
    color: var(--mk-text-light);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 12px 32px rgba(0,0,0,.09);
    backdrop-filter: blur(12px);
    font-weight: 700;
}

.makosha-city-pill strong,
.makosha-city-pill span {
    color: inherit;
}

.makosha-main-nav a:hover,
.makosha-header-actions a:hover,
.makosha-header-actions button:hover,
.makosha-header-actions form button:hover,
.makosha-city-pill:hover {
    background: rgba(255, 250, 240, .84);
    color: var(--mk-green-dark);
}

.makosha-hero-body {
    padding-top: clamp(92px, 12vh, 150px);
}

.makosha-hero-text {
    max-width: 720px;
}

.makosha-hero-eyebrow {
    color: var(--mk-gold-soft);
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.makosha-hero-text h1 {
    max-width: 700px;
    font-size: clamp(54px, 5.35vw, 92px);
    line-height: 1.04;
    text-wrap: balance;
    overflow-wrap: normal;
    hyphens: manual;
}

.makosha-hero-text p {
    max-width: 680px;
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.45;
    color: rgba(255, 248, 236, .94);
}

.makosha-hero-actions {
    max-width: 620px;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 18px 24px;
}

.makosha-hero-btn,
.mk-btn,
.btn {
    min-height: 50px;
    border: 1px solid rgba(184, 128, 48, .68);
    border-radius: 999px;
    background: rgba(255, 250, 242, .88);
    color: var(--mk-text-dark);
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 12px 30px rgba(48, 31, 18, .12);
}

.makosha-hero-btn.primary,
.mk-btn:not(.secondary),
.btn:not(.secondary) {
    background: linear-gradient(135deg, var(--mk-green), #1f7a51);
    color: #fffdf6;
}

.makosha-hero-btn:hover,
.mk-btn:hover,
.btn:hover {
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.62), 0 18px 38px rgba(48, 31, 18, .18);
}

.mk-home-after-hero {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, #fffaf4, #f5ece0);
    border-top: 1px solid rgba(255,255,255,.72);
}

.mk-home-feature-strip {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    min-height: 128px;
    overflow: visible;
}

.mk-home-feature-card {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 26px 34px;
    color: var(--mk-text-dark);
    text-decoration: none;
    border-right: 1px solid rgba(184, 128, 48, .18);
}

.mk-home-feature-card:last-child {
    border-right: 0;
}

.mk-feature-icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(184, 128, 48, .70);
    border-radius: 50%;
    color: var(--mk-green-dark);
    background: rgba(255,255,255,.54);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.mk-home-feature-card strong {
    display: block;
    margin-bottom: 6px;
    font-size: 20px;
}

.mk-home-feature-card em {
    display: block;
    color: var(--mk-muted);
    font-style: normal;
    line-height: 1.45;
}

.mk-home-feature-card i {
    color: var(--mk-gold);
    font-size: 34px;
    font-style: normal;
}

.mk-home-feature-card--catalog-menu {
    display: block;
    margin: 0;
    cursor: default;
}

.mk-home-feature-card--catalog-menu[open] {
    z-index: 20;
}

.mk-home-feature-summary {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 100%;
    list-style: none;
    cursor: pointer;
}

.mk-home-feature-summary::-webkit-details-marker {
    display: none;
}

.mk-home-feature-card--catalog-menu[open] .mk-home-feature-summary i {
    transform: rotate(90deg);
}

.mk-home-feature-card--catalog-menu:not([open]) .mk-home-category-popover {
    display: none !important;
}

.mk-home-category-popover {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: calc(100% + 14px);
    z-index: 40;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(184, 128, 48, .34);
    border-radius: 22px;
    background:
        radial-gradient(circle at 12% 14%, rgba(226, 184, 98, .16), transparent 34%),
        linear-gradient(135deg, rgba(255, 252, 246, .98), rgba(242, 232, 218, .96));
    box-shadow: 0 24px 56px rgba(48, 31, 18, .18), inset 0 1px 0 rgba(255,255,255,.86);
}

.mk-home-category-popover::after {
    content: "";
    position: absolute;
    right: 36px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    transform: rotate(45deg);
    border-right: 1px solid rgba(184, 128, 48, .28);
    border-bottom: 1px solid rgba(184, 128, 48, .28);
    background: #f5eadc;
}

.mk-home-category-popover a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1px solid rgba(184, 128, 48, .34);
    border-radius: 999px;
    background: rgba(255, 253, 248, .78);
    color: var(--mk-green-dark);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(48, 31, 18, .08);
}

.mk-home-category-popover a:hover,
.mk-home-category-popover a:focus-visible {
    background: linear-gradient(135deg, var(--mk-green), #1f7a51);
    color: #fffdf6;
    outline: none;
    transform: translateY(-1px);
}

.mk-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(64px, 9vw, 108px) 0;
    color: var(--mk-text-light);
    background:
        linear-gradient(90deg, rgba(17, 27, 24, .84), rgba(34, 27, 20, .56) 48%, rgba(44, 31, 20, .30)),
        url('/assets/images/hero/makosha-hero-old-site.jpg') center 44% / cover no-repeat;
}

.mk-hero h1,
.section h1 {
    margin: 0 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 68px);
    line-height: 1.05;
    color: inherit;
}

.mk-hero p {
    max-width: 760px;
    color: rgba(255, 248, 236, .9);
    font-size: 19px;
}

.mk-section,
.section {
    padding: clamp(48px, 7vw, 84px) 0;
}

.wrap.two,
.mk-detail {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
    gap: clamp(28px, 4vw, 58px);
    align-items: start;
}

.mk-band,
.panel,
.mk-card,
.mk-empty,
.mk-selected-product,
.mk-city-notice,
.mk-catalog-filters {
    border: 1px solid rgba(184, 128, 48, .18);
    border-radius: var(--mk-radius-md);
    background: var(--mk-card-bg);
    box-shadow: var(--mk-shadow-soft);
}

.panel,
.mk-band,
.mk-empty {
    padding: clamp(22px, 3vw, 34px);
}

.mk-card {
    overflow: hidden;
}

.mk-card-body {
    padding: 24px;
}

.mk-grid,
.mk-product-grid,
.mk-service-grid {
    gap: 24px;
}

.mk-product-card__media,
.mk-img,
.mk-card img,
.mk-work-detail-img {
    border-radius: var(--mk-radius-sm);
}

.mk-work-detail-img {
    width: 100%;
    object-fit: cover;
    box-shadow: var(--mk-shadow-soft);
}

.mk-content-article {
    font-size: 18px;
    line-height: 1.65;
}

.mk-catalog-section-card {
    min-height: 260px;
    border: 1px solid rgba(184, 128, 48, .20);
    background:
        linear-gradient(135deg, rgba(255, 252, 247, .94), rgba(246, 236, 222, .90));
    box-shadow: var(--mk-shadow-soft);
}

.mk-catalog-nav a,
.mk-subcategory-chips a,
.mk-cats a,
.pill {
    border: 1px solid rgba(184, 128, 48, .30);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    color: var(--mk-green-dark);
}

.mk-catalog-nav a.active,
.mk-subcategory-chips a.active,
.mk-cats a.active,
.pill.active {
    background: var(--mk-green);
    color: #fffdf7;
}

.form,
form.form {
    display: grid;
    gap: 18px;
}

label {
    color: var(--mk-text-dark);
    font-weight: 750;
}

input,
select,
textarea {
    width: 100%;
    min-height: 48px;
    margin-top: 8px;
    border: 1px solid rgba(184, 128, 48, .24);
    border-radius: 14px;
    background: rgba(255,255,255,.82);
    color: var(--mk-text-dark);
    padding: 12px 14px;
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

textarea {
    min-height: 112px;
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    outline: 3px solid rgba(184, 128, 48, .18);
    border-color: rgba(184, 128, 48, .66);
}

.request-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid rgba(184, 128, 48, .38);
    border-radius: 999px;
    color: var(--mk-green-dark);
    background: rgba(255, 252, 247, .86);
    text-decoration: none;
    font-size: clamp(18px, 2.4vw, 24px);
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(70, 46, 20, .08);
}

.request-lead {
    max-width: 680px;
}

.service-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(35, 52, 42, .12);
}

.service-row:last-child {
    border-bottom: 0;
}

.service-row label {
    margin: 0;
}

.service-price {
    white-space: nowrap;
    font-weight: 900;
    color: var(--mk-green-dark);
}

.constructor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.modal-layer {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(20, 24, 22, .42);
    backdrop-filter: blur(10px);
}

.modal-layer.is-open {
    display: flex;
}

.modal-box {
    position: relative;
    width: min(680px, 100%);
    border: 1px solid rgba(184, 128, 48, .24);
    border-radius: var(--mk-radius-lg);
    background: #fffaf4;
    padding: 30px;
    box-shadow: 0 22px 70px rgba(33, 29, 23, .26);
}

.modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(6, 69, 47, .10);
    color: var(--mk-green-dark);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.mk-footer {
    background: linear-gradient(135deg, #173f2c, #2f241b);
    color: rgba(255, 248, 236, .92);
}

.mk-footer a {
    color: rgba(255, 248, 236, .92);
}

@media (min-width: 1800px) {
    .makosha-hero-full {
        --window-x: 31%;
        --window-y: 12%;
        --window-width: 42%;
        --window-height: 52%;
    }
}

@media (max-width: 1366px) {
    .makosha-hero-content {
        width: min(100% - 40px, var(--mk-container));
    }

    .makosha-hero-menu-panel {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .makosha-main-nav,
    .makosha-header-actions {
        justify-content: flex-end;
    }

    .makosha-hero-body {
        padding-top: 82px;
    }
}

@media (max-width: 1024px) {
    body.mk-inner-page .mk-public-main,
    .makosha-hero-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .makosha-hero-menu-panel,
    body.mk-inner-page .mk-menu-panel {
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 12px);
        z-index: 80;
        display: none;
        grid-template-columns: 1fr;
        justify-items: stretch;
        padding: 16px;
        border: 1px solid rgba(230, 197, 139, .36);
        border-radius: 24px;
        background: rgba(35, 28, 22, .84);
        box-shadow: 0 24px 70px rgba(0,0,0,.22);
        backdrop-filter: blur(16px);
    }

    .makosha-hero-menu-panel.is-open,
    body.mk-inner-page .mk-menu-panel.is-open {
        display: grid;
    }

    .makosha-hero-menu-panel .makosha-main-nav a,
    .makosha-hero-menu-panel .makosha-header-actions a,
    .makosha-hero-menu-panel .makosha-header-actions button,
    .makosha-hero-menu-panel .makosha-header-actions form button,
    .makosha-hero-menu-panel .makosha-city-pill,
    body.mk-inner-page .mk-menu-panel .mk-nav a,
    body.mk-inner-page .mk-menu-panel .mk-auth-link,
    body.mk-inner-page .mk-menu-panel .mk-account-link,
    body.mk-inner-page .mk-menu-panel .mk-logout,
    body.mk-inner-page .mk-menu-panel .mk-region-pin {
        background: rgba(255, 250, 242, .92);
        color: var(--mk-green-dark);
        text-shadow: none;
    }

    .makosha-hero-menu-panel .makosha-main-nav a:hover,
    .makosha-hero-menu-panel .makosha-header-actions a:hover,
    .makosha-hero-menu-panel .makosha-header-actions button:hover,
    .makosha-hero-menu-panel .makosha-city-pill:hover,
    body.mk-inner-page .mk-menu-panel .mk-nav a:hover,
    body.mk-inner-page .mk-menu-panel .mk-auth-link:hover,
    body.mk-inner-page .mk-menu-panel .mk-region-pin:hover {
        background: #fffdf8;
    }

    .makosha-main-nav,
    .makosha-header-actions,
    body.mk-inner-page .mk-nav,
    body.mk-inner-page .mk-public-tools {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .makosha-main-nav a,
    .makosha-header-actions a,
    .makosha-header-actions button,
    .makosha-header-actions form button,
    .makosha-city-pill,
    body.mk-inner-page .mk-nav a,
    body.mk-inner-page .mk-auth-link,
    body.mk-inner-page .mk-region-pin {
        width: 100%;
    }

    .makosha-menu-toggle,
    body.mk-inner-page .mk-menu-toggle {
        display: inline-flex !important;
    }

    .wrap.two,
    .mk-detail {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .mk-wrap,
    .wrap,
    body.mk-inner-page .mk-public-shell,
    .makosha-hero-content {
        width: min(100% - 24px, var(--mk-container));
    }

    .makosha-hero-full {
        --window-x: 20%;
        --window-y: 20%;
        --window-width: 74%;
        --window-height: 28%;
        min-height: 890px;
    }

    .makosha-hero-full .makosha-hero-bg {
        object-position: 42% center;
    }

    .makosha-hero-content .makosha-weather-line {
        width: 100%;
        margin: 0 0 14px;
        justify-content: center;
        font-size: 12px;
        gap: 8px;
        padding: 6px 10px;
        border: 1px solid rgba(230, 197, 139, .26);
        border-radius: 999px;
        background: rgba(255,255,255,.12);
    }

    .makosha-hero-header {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .makosha-brand {
        max-width: 100%;
    }

    .makosha-brand img {
        width: 52px;
        height: 52px;
    }

    .makosha-brand strong {
        font-size: clamp(34px, 11vw, 46px);
    }

    .makosha-menu-toggle {
        width: 100%;
    }

    .makosha-hero-menu-panel {
        top: calc(100% + 8px);
    }

    .makosha-main-nav,
    .makosha-header-actions,
    body.mk-inner-page .mk-nav,
    body.mk-inner-page .mk-public-tools {
        grid-template-columns: 1fr;
    }

    .makosha-hero-body {
        align-items: flex-start;
        padding-top: 48px;
    }

    .makosha-hero-text {
        max-width: 100%;
    }

    .makosha-hero-text h1 {
        font-size: clamp(38px, 11vw, 52px);
        line-height: 1.06;
    }

    .makosha-hero-text p {
        font-size: 17px;
    }

    .makosha-hero-actions {
        grid-template-columns: 1fr;
        max-width: 100%;
    }

    .mk-home-feature-strip {
        grid-template-columns: 1fr;
    }

    .mk-home-feature-card {
        grid-template-columns: 58px minmax(0, 1fr) auto;
        padding: 22px 16px;
        border-right: 0;
        border-bottom: 1px solid rgba(184, 128, 48, .18);
    }

    .mk-home-feature-card:last-child {
        border-bottom: 0;
    }

    .mk-feature-icon {
        width: 54px;
        height: 54px;
    }

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

    .service-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 430px) {
    .makosha-hero-full {
        min-height: 920px;
    }

    .makosha-weather-line [data-weather-wind],
    .makosha-weather-time {
        display: none;
    }

    .makosha-hero-text h1 {
        font-size: clamp(35px, 10.2vw, 46px);
    }

    .mk-home-feature-card strong {
        font-size: 18px;
    }
}

/* Approved hero composition and responsive public menu alignment. */
body.mk-home-page .makosha-hero-content {
    width: min(100% - 88px, 2240px);
    padding-top: 22px;
}

body.mk-home-page .makosha-weather-line {
    margin: 0 0 18px;
}

body.mk-home-page .makosha-hero-header {
    grid-template-columns: minmax(260px, auto) minmax(0, 1fr);
    gap: 22px 42px;
    align-items: center;
}

body.mk-home-page .makosha-brand {
    padding: 7px 22px 7px 9px;
}

body.mk-home-page .makosha-brand img {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(255, 248, 230, .16);
    box-shadow: 0 0 0 1px rgba(234, 204, 148, .46), 0 10px 28px rgba(0,0,0,.22);
}

body.mk-home-page .makosha-brand strong {
    font-size: clamp(42px, 3.3vw, 68px);
}

body.mk-home-page .makosha-hero-menu-panel {
    grid-template-columns: minmax(360px, 1fr) auto;
    align-items: center;
    gap: 14px 28px;
    justify-items: stretch;
}

body.mk-home-page .makosha-main-nav {
    justify-content: center;
    gap: 12px;
}

body.mk-home-page .makosha-header-actions {
    justify-content: flex-end;
    gap: 11px;
}

body.mk-home-page .makosha-main-nav a,
body.mk-home-page .makosha-header-actions a,
body.mk-home-page .makosha-header-actions button,
body.mk-home-page .makosha-header-actions form button,
body.mk-home-page .makosha-city-pill {
    min-height: 46px;
    padding: 0 21px;
    font-size: 15px;
    white-space: nowrap;
}

body.mk-home-page .makosha-city-pill {
    max-width: 260px;
}

body.mk-home-page .makosha-city-pill strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.mk-home-page .makosha-hero-body {
    align-items: flex-start;
    padding: clamp(96px, 8vw, 150px) 0 48px;
}

body.mk-home-page .makosha-hero-text {
    width: min(920px, 50vw);
    max-width: none;
    margin-left: clamp(32px, 3.6vw, 108px);
}

body.mk-home-page .makosha-hero-text h1 {
    width: 100%;
    max-width: none;
    font-size: clamp(54px, 4.2vw, 88px);
    line-height: .98;
    text-wrap: normal;
}

body.mk-home-page .makosha-hero-text h1 span {
    display: block;
}

body.mk-home-page .makosha-hero-text h1 span:nth-child(2) {
    white-space: nowrap;
}

body.mk-home-page .makosha-hero-text h1 span:nth-child(3) {
    white-space: nowrap;
}

body.mk-home-page .makosha-hero-text p {
    max-width: 760px;
    font-size: clamp(18px, 1.15vw, 24px);
}

body.mk-home-page .makosha-hero-actions {
    grid-template-columns: repeat(2, minmax(240px, 320px));
    gap: 16px 22px;
}

body.mk-home-page .makosha-hero-btn {
    min-height: 58px;
    font-size: 16px;
}

body.mk-home-page .mk-home-feature-strip {
    width: min(100% - 88px, 1800px);
}

@media (max-width: 1700px) {
    body.mk-home-page .makosha-hero-content {
        width: min(100% - 56px, 1560px);
    }

    body.mk-home-page .makosha-hero-menu-panel {
        grid-template-columns: 1fr;
        gap: 10px;
        justify-items: end;
    }

    body.mk-home-page .makosha-main-nav,
    body.mk-home-page .makosha-header-actions {
        justify-content: flex-end;
    }

    body.mk-home-page .makosha-main-nav a,
    body.mk-home-page .makosha-header-actions a,
    body.mk-home-page .makosha-header-actions button,
    body.mk-home-page .makosha-header-actions form button,
    body.mk-home-page .makosha-city-pill {
        min-height: 40px;
        padding: 0 15px;
        font-size: 13px;
    }

    body.mk-home-page .makosha-hero-text {
        width: min(820px, 58vw);
        margin-left: 0;
    }
}

@media (max-width: 1180px) {
    body.mk-home-page .makosha-hero-content {
        width: min(100% - 36px, 1040px);
    }

    body.mk-home-page .makosha-hero-header {
        position: relative;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    body.mk-home-page .makosha-menu-toggle {
        display: inline-flex !important;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        padding: 0 18px;
        border: 1px solid rgba(255, 207, 135, .76);
        border-radius: 999px;
        background: rgba(255, 253, 248, .84);
        color: #143f2c;
        font-weight: 950;
        cursor: pointer;
    }

    body.mk-home-page .makosha-hero-menu-panel {
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 12px);
        z-index: 90;
        display: none;
        grid-template-columns: 1fr;
        justify-items: stretch;
        padding: 16px;
        border: 1px solid rgba(230, 197, 139, .36);
        border-radius: 24px;
        background: rgba(35, 28, 22, .88);
        box-shadow: 0 24px 70px rgba(0,0,0,.24);
        backdrop-filter: blur(16px);
    }

    body.mk-home-page .makosha-hero-menu-panel.is-open {
        display: grid;
    }

    body.mk-home-page .makosha-main-nav,
    body.mk-home-page .makosha-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.mk-home-page .makosha-main-nav a,
    body.mk-home-page .makosha-header-actions a,
    body.mk-home-page .makosha-header-actions button,
    body.mk-home-page .makosha-header-actions form button,
    body.mk-home-page .makosha-city-pill {
        width: 100%;
        min-height: 44px;
        background: rgba(255, 250, 242, .94);
        color: #143f2c;
        text-shadow: none;
    }

    body.mk-home-page .makosha-hero-body {
        padding-top: 78px;
    }

    body.mk-home-page .makosha-hero-text {
        width: min(760px, 74vw);
    }

    body.mk-home-page .makosha-hero-text h1 {
        font-size: clamp(48px, 7vw, 76px);
    }
}

@media (max-width: 760px) {
    body.mk-home-page .makosha-hero-content {
        width: min(100% - 24px, 720px);
        padding-top: 10px;
    }

    body.mk-home-page .makosha-weather-line {
        margin-bottom: 12px;
    }

    body.mk-home-page .makosha-hero-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.mk-home-page .makosha-brand {
        max-width: 100%;
        padding: 6px 12px 6px 7px;
    }

    body.mk-home-page .makosha-brand img {
        width: 44px;
        height: 44px;
    }

    body.mk-home-page .makosha-brand strong {
        font-size: clamp(31px, 10vw, 43px);
    }

    body.mk-home-page .makosha-menu-toggle {
        width: auto;
        min-width: 78px;
        padding: 0 13px;
    }

    body.mk-home-page .makosha-main-nav,
    body.mk-home-page .makosha-header-actions {
        grid-template-columns: 1fr;
    }

    body.mk-home-page .makosha-hero-body {
        padding-top: 52px;
    }

    body.mk-home-page .makosha-hero-text {
        width: 100%;
        margin-left: 0;
    }

    body.mk-home-page .makosha-hero-text h1 {
        font-size: clamp(38px, 11vw, 54px);
        line-height: 1.04;
    }

    body.mk-home-page .makosha-hero-text h1 span:nth-child(2) {
        white-space: normal;
    }

    body.mk-home-page .makosha-hero-text h1 span:nth-child(3) {
        white-space: normal;
    }

    body.mk-home-page .makosha-hero-actions {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.mk-home-page .makosha-hero-btn {
        min-height: 48px;
        font-size: 15px;
    }

    body.mk-home-page .mk-home-feature-strip {
        width: min(100% - 24px, 720px);
    }
}

@media (max-width: 430px) {
    body.mk-home-page .makosha-hero-header {
        grid-template-columns: 1fr;
    }

    body.mk-home-page .makosha-menu-toggle {
        width: 100%;
    }

    body.mk-home-page .makosha-hero-text h1 {
        font-size: clamp(34px, 10.4vw, 44px);
    }
}

/* Home catalog sections: popup item 04, not a separate card below hero. */
body.mk-home-page .mk-home-after-hero {
    z-index: 12;
}

body.mk-home-page .mk-home-feature-strip {
    overflow: visible;
}

body.mk-home-page .mk-home-feature-card--catalog-menu {
    padding: 26px 34px;
    border-right: 0;
}

body.mk-home-page .mk-home-feature-summary {
    min-width: 0;
    outline: none;
}

body.mk-home-page .mk-home-feature-summary:focus-visible {
    border-radius: 18px;
    box-shadow: 0 0 0 3px rgba(226, 184, 98, .28);
}

body.mk-home-page .mk-home-feature-card--catalog-menu[open] .mk-home-category-popover {
    animation: mkHomeCatalogPopover .16s ease-out both;
}

/* Inner pages: match the home header span on wide screens. */
@media (min-width: 1025px) {
    html body.mk-site .mk-public-header .mk-public-shell {
        width: min(100% - 88px, 2240px) !important;
    }

    html body.mk-site .mk-public-header .mk-weather-strip {
        width: 100% !important;
        max-width: none !important;
        padding-left: clamp(24px, 2vw, 40px) !important;
        padding-right: clamp(24px, 2vw, 40px) !important;
    }

    html body.mk-site .mk-public-header .mk-public-main {
        grid-template-columns: minmax(260px, auto) minmax(0, 1fr) !important;
        gap: 22px clamp(28px, 3vw, 56px) !important;
    }

    html body.mk-site .mk-public-header .mk-brand {
        max-width: 360px !important;
    }
}

@media (min-width: 1701px) {
    html body.mk-site .mk-public-header .mk-menu-panel {
        grid-template-columns: minmax(420px, 1fr) auto !important;
        align-items: center !important;
        gap: 12px 28px !important;
        justify-items: stretch !important;
    }

    html body.mk-site .mk-public-header .mk-nav,
    html body.mk-site .mk-public-header.weather-has-orb .mk-nav {
        justify-content: center !important;
    }

    html body.mk-site .mk-public-header .mk-public-tools,
    html body.mk-site .mk-public-header .mk-account {
        justify-content: flex-end !important;
    }
}

@keyframes mkHomeCatalogPopover {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1400px) {
    .mk-home-feature-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mk-home-feature-card:nth-child(2n) {
        border-right: 0;
    }

    .mk-home-feature-card:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(184, 128, 48, .18);
    }

    .mk-home-category-popover {
        left: 14px;
        right: 14px;
    }
}

@media (max-width: 720px) {
    body.mk-home-page .mk-home-feature-strip,
    .mk-home-feature-strip {
        grid-template-columns: 1fr;
    }

    body.mk-home-page .mk-home-feature-card,
    .mk-home-feature-card {
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid rgba(184, 128, 48, .18);
    }

    body.mk-home-page .mk-home-feature-card:last-child,
    .mk-home-feature-card:last-child {
        border-bottom: 0;
    }

    body.mk-home-page .mk-home-feature-card--catalog-menu {
        padding: 22px 16px;
    }

    body.mk-home-page .mk-home-feature-summary {
        grid-template-columns: 58px minmax(0, 1fr) auto;
        gap: 20px;
    }

    body.mk-home-page .mk-home-category-popover {
        left: 8px;
        right: 8px;
        top: calc(100% + 10px);
        bottom: auto;
        max-height: min(52vh, 360px);
        overflow: auto;
        padding: 14px;
        border-radius: 18px;
    }

    body.mk-home-page .mk-home-category-popover::after {
        top: -8px;
        right: 34px;
        bottom: auto;
        border-right: 0;
        border-bottom: 0;
        border-left: 1px solid rgba(184, 128, 48, .28);
        border-top: 1px solid rgba(184, 128, 48, .28);
    }

    body.mk-home-page .mk-home-category-popover a {
        min-height: 36px;
        padding: 7px 13px;
        font-size: 13px;
    }
}

nav[aria-label="Pagination Navigation"] {
    margin: 30px 0 0;
    color: var(--mk-ink);
    font-size: 14px;
    font-weight: 800;
}

nav[aria-label="Pagination Navigation"] > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

nav[aria-label="Pagination Navigation"] .hidden {
    display: flex;
}

nav[aria-label="Pagination Navigation"] .sm\:hidden {
    display: none;
}

nav[aria-label="Pagination Navigation"] p {
    margin: 0;
    color: var(--mk-muted);
    font-size: 13px;
}

nav[aria-label="Pagination Navigation"] span,
nav[aria-label="Pagination Navigation"] a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(184, 128, 48, .28);
    border-radius: 999px;
    background: rgba(255, 250, 242, .94);
    color: var(--mk-green);
    text-decoration: none;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(74, 55, 34, .08);
}

nav[aria-label="Pagination Navigation"] a:hover,
nav[aria-label="Pagination Navigation"] span[aria-current="page"] span {
    background: var(--mk-green);
    border-color: var(--mk-green);
    color: #fff;
}

nav[aria-label="Pagination Navigation"] svg {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
    display: block;
    flex: 0 0 18px;
}

nav[aria-label="Pagination Navigation"] p span {
    display: inline;
    min-width: 0;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

@media (max-width: 720px) {
    nav[aria-label="Pagination Navigation"] {
        margin-top: 22px;
    }

    nav[aria-label="Pagination Navigation"] > div {
        justify-content: center;
    }

    nav[aria-label="Pagination Navigation"] .hidden {
        display: none;
    }

    nav[aria-label="Pagination Navigation"] .sm\:hidden {
        display: flex;
        width: 100%;
    }

    nav[aria-label="Pagination Navigation"] .sm\:hidden a,
    nav[aria-label="Pagination Navigation"] .sm\:hidden span {
        flex: 1 1 0;
        max-width: 180px;
    }
}

/* Unified top header across public pages and cabinets. */
:root {
    --mk-unified-header-height: 168px;
    --mk-unified-header-bg: linear-gradient(90deg, rgba(18, 24, 22, .70), rgba(48, 41, 33, .38) 48%, rgba(80, 53, 27, .40)),
        url('/assets/images/hero/makosha-hero-old-site.jpg');
}

body.mk-site .makosha-brand--full-logo,
body.mk-site .mk-brand--full-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: min(390px, 34vw) !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.mk-site .makosha-brand--full-logo .makosha-brand-logo,
body.mk-site .mk-brand--full-logo .makosha-brand-logo {
    width: clamp(220px, 17vw, 380px) !important;
    height: auto !important;
    max-height: 82px !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .28)) !important;
}

body.mk-home-page .makosha-home-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    height: var(--mk-unified-header-height) !important;
    min-height: var(--mk-unified-header-height) !important;
    max-height: var(--mk-unified-header-height) !important;
    display: grid !important;
    grid-template-rows: 28px minmax(0, 82px) !important;
    align-content: start !important;
    gap: 4px !important;
    padding: 44px max(24px, calc((100vw - 2240px) / 2 + 44px)) 10px !important;
    overflow: visible !important;
    background: linear-gradient(90deg, rgba(18, 24, 22, .52), rgba(48, 41, 33, .26) 48%, rgba(80, 53, 27, .22));
    box-shadow: 0 16px 40px rgba(18, 12, 8, .18);
    backdrop-filter: blur(2px);
}

body.mk-home-page .makosha-home-topbar .mk-header-clock {
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    z-index: 4 !important;
    transform: translateX(-50%) !important;
}

body.mk-home-page .makosha-home-topbar .makosha-weather-line {
    width: 100% !important;
    min-height: 28px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 14px !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

body.mk-home-page .makosha-home-topbar .mk-weather-summary-trigger {
    padding: 3px 10px !important;
    border: 1px solid rgba(230, 197, 139, .24) !important;
    background: rgba(21, 28, 24, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
}

body.mk-home-page .makosha-home-topbar .mk-weather-summary-trigger:hover,
body.mk-home-page .makosha-home-topbar .mk-weather-summary-trigger[aria-expanded="true"] {
    border-color: rgba(247, 215, 154, .58) !important;
    background: rgba(83, 58, 35, .32) !important;
}

body.mk-home-page .makosha-home-topbar .makosha-hero-header {
    width: 100% !important;
    min-height: 82px !important;
    align-self: start !important;
}

body.mk-home-page .makosha-home-topbar .mk-currency-trigger {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

body.mk-home-page .makosha-hero-body {
    padding-top: clamp(190px, 14vw, 250px) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header,
html body.mk-site.mk-inner-page > .mk-public-header.weather-has-orb {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    min-height: var(--mk-unified-header-height) !important;
    max-height: none !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(230, 197, 139, .28) !important;
    background-image: var(--mk-unified-header-bg) !important;
    background-size: cover !important;
    background-position: center 46% !important;
    box-shadow: 0 16px 40px rgba(18, 12, 8, .18) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(12, 15, 13, .36), rgba(12, 15, 13, .16));
}

html body.mk-site.mk-inner-page > .mk-public-header .makosha-weather-bg {
    opacity: .22 !important;
    mix-blend-mode: screen;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
    width: min(100% - 88px, 2240px) !important;
    min-height: var(--mk-unified-header-height) !important;
    padding: 10px 0 14px !important;
    position: relative !important;
    z-index: 5 !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-header-clock {
    justify-self: center !important;
    min-height: 28px;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-strip {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    color: rgba(255, 248, 236, .94) !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .42) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-public-main {
    grid-template-columns: minmax(260px, auto) minmax(0, 1fr) !important;
    gap: 22px 42px !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-panel {
    grid-template-columns: minmax(360px, 1fr) auto !important;
    align-items: center !important;
    gap: 14px 28px !important;
    justify-items: stretch !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-nav {
    justify-content: center !important;
    gap: 12px !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools,
html body.mk-site.mk-inner-page > .mk-public-header .mk-account {
    justify-content: flex-end !important;
    gap: 11px !important;
}

body.mk-cabinet-page .mkm-shell,
body.mk-cabinet-page .dir-shell {
    min-height: calc(100vh - var(--mk-unified-header-height)) !important;
}

body.mk-cabinet-page .mkm-sidebar,
body.mk-cabinet-page .dir-sidebar {
    top: var(--mk-unified-header-height) !important;
    max-height: calc(100vh - var(--mk-unified-header-height)) !important;
}

@media (max-width: 1700px) {
    html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-panel {
        grid-template-columns: 1fr !important;
        justify-items: end !important;
        gap: 10px !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-nav,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-account {
        justify-content: flex-end !important;
    }
}

@media (max-width: 1180px) {
    :root {
        --mk-unified-header-height: 142px;
    }

    body.mk-home-page .makosha-home-topbar {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
        width: min(100% - 36px, 1040px) !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-main,
    body.mk-home-page .makosha-home-topbar .makosha-hero-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-panel {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 12px) !important;
        z-index: 1100 !important;
        display: none !important;
        grid-template-columns: 1fr !important;
        justify-items: stretch !important;
        padding: 16px !important;
        border: 1px solid rgba(230, 197, 139, .36) !important;
        border-radius: 18px !important;
        background: rgba(35, 28, 22, .92) !important;
        box-shadow: 0 24px 70px rgba(0, 0, 0, .24) !important;
        backdrop-filter: blur(16px) !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-panel.is-open {
        display: grid !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-nav,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-account {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-nav a,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools a,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools button,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-account a,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-account button {
        width: 100% !important;
        min-height: 44px !important;
        background: rgba(255, 250, 242, .94) !important;
        color: #143f2c !important;
        text-shadow: none !important;
    }
}

@media (max-width: 760px) {
    :root {
        --mk-unified-header-height: 154px;
    }

    body.mk-site .makosha-brand--full-logo,
    body.mk-site .mk-brand--full-logo {
        max-width: min(230px, 58vw) !important;
    }

    body.mk-site .makosha-brand--full-logo .makosha-brand-logo,
    body.mk-site .mk-brand--full-logo .makosha-brand-logo {
        width: clamp(150px, 48vw, 220px) !important;
        max-height: 58px !important;
    }

    body.mk-home-page .makosha-home-topbar {
        min-height: var(--mk-unified-header-height);
        grid-template-rows: 24px minmax(0, 86px) !important;
        gap: 12px !important;
        padding: 32px 12px 10px !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-weather-line {
        min-height: 24px !important;
        margin: 0 !important;
    }

    body.mk-home-page .makosha-hero-body {
        padding-top: 188px !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-hero-header {
        min-height: 86px !important;
        align-items: end !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-brand--full-logo {
        padding: 7px 12px 7px 8px !important;
        border-radius: 999px !important;
        background:
            radial-gradient(circle at 24% 50%, rgba(28, 18, 10, .58), rgba(28, 18, 10, .30) 54%, rgba(28, 18, 10, .10) 100%) !important;
        box-shadow: 0 14px 34px rgba(0, 0, 0, .28), inset 0 0 0 1px rgba(241, 208, 134, .18) !important;
        backdrop-filter: blur(2px) !important;
        transform: translateY(8px) !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-brand--full-logo .makosha-brand-logo {
        filter:
            drop-shadow(0 3px 2px rgba(34, 18, 7, .72))
            drop-shadow(0 12px 18px rgba(0, 0, 0, .42))
            saturate(1.08)
            contrast(1.08) !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
        width: min(100% - 24px, 720px) !important;
        padding: 8px 0 10px !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line [data-weather-desc],
    html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line [data-weather-wind] {
        display: none !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-nav,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools,
    html body.mk-site.mk-inner-page > .mk-public-header .mk-account {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 430px) {
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-main {
        grid-template-columns: 1fr !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-toggle {
        width: 100% !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-hero-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: end !important;
    }

    body.mk-home-page .makosha-home-topbar .makosha-menu-toggle {
        width: auto !important;
        min-width: 128px !important;
        justify-self: end !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* Fixed shared header and cabinet navigation bridge. */
html {
    scroll-padding-top: calc(var(--mk-unified-header-height) + 24px);
}

html body.mk-site.mk-inner-page {
    padding-top: var(--mk-unified-header-height) !important;
    overflow-x: hidden;
}

html body.mk-site.mk-inner-page > .mk-public-header,
html body.mk-site.mk-inner-page > .mk-public-header.weather-has-orb {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-menu-panel {
    min-width: 0 !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-nav,
html body.mk-site.mk-inner-page > .mk-public-header .mk-public-tools,
html body.mk-site.mk-inner-page > .mk-public-header .mk-account {
    min-width: 0 !important;
}

body.mk-cabinet-page > .mkm-shell,
body.mk-cabinet-page > .dir-shell {
    display: block !important;
    min-height: calc(100vh - var(--mk-unified-header-height)) !important;
}

body.mk-cabinet-page .mkm-sidebar,
body.mk-cabinet-page .dir-sidebar {
    display: none !important;
}

body.mk-cabinet-page .mkm-main,
body.mk-cabinet-page .dir-main {
    width: min(100% - 48px, 1760px) !important;
    margin: 0 auto !important;
    padding-top: clamp(24px, 3vw, 44px) !important;
}

html body.mk-site.mk-cabinet-page > .mk-public-header .mk-public-main {
    grid-template-columns: minmax(230px, auto) minmax(0, 1fr) !important;
}

html body.mk-site.mk-cabinet-page > .mk-public-header .mk-menu-panel {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

html body.mk-site.mk-cabinet-page > .mk-public-header .mk-nav--cabinet {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 8px !important;
    scrollbar-width: thin;
}

html body.mk-site.mk-cabinet-page > .mk-public-header .mk-nav--cabinet a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

html body.mk-site.mk-cabinet-page > .mk-public-header .mk-account {
    flex-wrap: nowrap !important;
}

@media (max-width: 1180px) {
    body.mk-cabinet-page .mkm-main,
    body.mk-cabinet-page .dir-main {
        width: min(100% - 28px, 980px) !important;
    }

    html body.mk-site.mk-cabinet-page > .mk-public-header .mk-nav--cabinet {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    html body.mk-site.mk-cabinet-page > .mk-public-header .mk-nav--cabinet a {
        white-space: normal !important;
    }
}

@media (max-width: 760px) {
    html body.mk-site.mk-inner-page {
        padding-top: var(--mk-unified-header-height) !important;
    }

    body.mk-cabinet-page .mkm-main,
    body.mk-cabinet-page .dir-main {
        width: min(100% - 20px, 720px) !important;
        padding-top: 22px !important;
    }
}

/* Inner pages must match the home header top template, without the old rounded weather bar. */
html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
    display: grid !important;
    grid-template-columns: minmax(320px, auto) minmax(220px, 1fr) minmax(180px, auto) !important;
    grid-template-rows: 32px minmax(92px, 1fr) !important;
    grid-template-areas:
        "weather clock currency"
        "main main main" !important;
    align-items: start !important;
    gap: 16px 20px !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-header-clock {
    grid-area: clock !important;
    justify-self: center !important;
    align-self: start !important;
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 22px !important;
    border-radius: 999px !important;
    background: rgba(38, 32, 25, .58) !important;
    color: #fff8ec !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 8px 24px rgba(0, 0, 0, .14) !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .38) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-strip {
    grid-area: weather !important;
    position: static !important;
    justify-self: start !important;
    align-self: center !important;
    display: block !important;
    width: auto !important;
    max-width: min(100%, 760px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line {
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    color: rgba(255, 248, 236, .96) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .48) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line .mk-currency-trigger {
    position: absolute !important;
    top: 24px !important;
    right: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255, 248, 236, .96) !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .48) !important;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line .mk-currency-trigger::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: 8px;
    border-radius: 50%;
    background: #b87926;
    vertical-align: middle;
}

html body.mk-site.mk-inner-page > .mk-public-header .mk-public-main {
    grid-area: main !important;
    align-self: center !important;
    width: 100% !important;
}

@media (max-width: 1180px) {
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: 28px minmax(72px, 1fr) !important;
        grid-template-areas:
            "weather clock"
            "main main" !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-line .mk-currency-trigger {
        position: static !important;
        display: inline-flex !important;
    }
}

@media (max-width: 760px) {
    html body.mk-site.mk-inner-page > .mk-public-header .mk-public-shell {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        grid-template-areas:
            "clock"
            "main" !important;
        gap: 8px !important;
    }

    html body.mk-site.mk-inner-page > .mk-public-header .mk-weather-strip {
        display: none !important;
    }
}

/* Gold active state and clean inner-page hero. */
@keyframes mk-gold-active-shimmer {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 220% 50%;
    }
}

body.mk-site .mk-hero,
body.mk-site .hero {
    padding: clamp(38px, 5vw, 72px) 0 clamp(22px, 4vw, 42px) !important;
    background: transparent !important;
    color: var(--mk-text) !important;
}

body.mk-site .mk-hero::before,
body.mk-site .mk-hero::after,
body.mk-site .hero::before,
body.mk-site .hero::after {
    display: none !important;
}

body.mk-site .mk-hero h1,
body.mk-site .hero h1,
body.mk-site .section h1,
body.mk-site .mk-section h1,
body.mk-site h1.mk-title {
    color: #b6781f !important;
    text-shadow: 0 2px 14px rgba(114, 72, 19, .18), 0 0 1px rgba(82, 45, 8, .32) !important;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    body.mk-site .mk-hero h1,
    body.mk-site .hero h1,
    body.mk-site .section h1,
    body.mk-site .mk-section h1,
    body.mk-site h1.mk-title {
        background-image: linear-gradient(90deg, #73410f 0%, #b9751f 28%, #e6b64d 48%, #9d5f18 70%, #6b390b 100%) !important;
        background-size: 160% 100% !important;
        background-position: 50% 50% !important;
        -webkit-background-clip: text !important;
        background-clip: text !important;
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
    }
}

body.mk-site .mk-hero p,
body.mk-site .hero p {
    color: var(--mk-muted) !important;
    text-shadow: none !important;
}

body.mk-site .makosha-main-nav a.active,
body.mk-site .makosha-hero-menu-panel .makosha-nav-btn.active,
body.mk-site .makosha-header-actions .makosha-action-btn.active,
body.mk-site .mk-nav a.active,
body.mk-site .mk-public-tools .makosha-action-btn.active,
body.mk-site .mk-public-tools .mk-auth-link.active,
body.mk-site .mk-account-link.active,
body.mk-site .mk-catalog-nav a.active,
body.mk-site .mk-subcategory-chips a.active,
body.mk-site .mk-cats a.active,
body.mk-site .pill.active {
    border-color: rgba(247, 214, 126, .74) !important;
    background: transparent !important;
    color: #f2d27a !important;
    box-shadow: inset 0 0 0 1px rgba(255, 239, 177, .36), 0 0 18px rgba(224, 167, 57, .24) !important;
    text-shadow: 0 1px 0 rgba(72, 43, 10, .44), 0 0 16px rgba(255, 216, 112, .52) !important;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    body.mk-site .makosha-main-nav a.active,
    body.mk-site .makosha-hero-menu-panel .makosha-nav-btn.active,
    body.mk-site .makosha-header-actions .makosha-action-btn.active,
    body.mk-site .mk-nav a.active,
    body.mk-site .mk-public-tools .makosha-action-btn.active,
    body.mk-site .mk-public-tools .mk-auth-link.active,
    body.mk-site .mk-account-link.active,
    body.mk-site .mk-catalog-nav a.active,
    body.mk-site .mk-subcategory-chips a.active,
    body.mk-site .mk-cats a.active,
    body.mk-site .pill.active {
        background-image: linear-gradient(90deg, #8a5418 0%, #f1c461 20%, #fff4bd 36%, #d0962f 54%, #fff0ad 72%, #8a5418 100%) !important;
        background-size: 220% 100% !important;
        background-position: 0% 50% !important;
        -webkit-background-clip: text !important;
        background-clip: text !important;
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
        animation: mk-gold-active-shimmer 3.4s linear infinite !important;
    }
}

/* Weather region panel, 20260624. */
html body .mk-weather-line,
html body .makosha-weather-line {
    position: relative !important;
}

html body .mk-weather-summary-trigger {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: inherit !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-shadow: inherit !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

html body .mk-weather-summary-trigger span:empty {
    display: none !important;
}

html body .mk-weather-summary-trigger span + span::before {
    content: "•" !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 8px 0 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: rgba(255, 209, 128, .92) !important;
    vertical-align: middle !important;
}

html body .mk-weather-summary-trigger:hover,
html body .mk-weather-summary-trigger[aria-expanded="true"] {
    color: #f7d79a !important;
}

html body .mk-weather-summary-trigger:focus-visible {
    outline: 2px solid rgba(247, 215, 154, .95) !important;
    outline-offset: 4px !important;
}

html body .mk-weather-region-panel[hidden] {
    display: none !important;
}

html body .mk-weather-region-panel {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    z-index: 9992 !important;
    width: min(430px, calc(100vw - 34px)) !important;
    height: min(470px, calc(100vh - 130px)) !important;
    max-height: min(470px, calc(100vh - 130px)) !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 16px !important;
    border: 1px solid rgba(216, 166, 83, .48) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(237, 197, 118, .20), transparent 34%),
        linear-gradient(135deg, rgba(255, 251, 244, .98), rgba(241, 229, 211, .98)) !important;
    color: #241611 !important;
    text-align: left !important;
    text-shadow: none !important;
    box-shadow: 0 24px 56px rgba(18, 13, 9, .26), inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

html body .mk-weather-region-panel__head {
    display: grid !important;
    gap: 4px !important;
}

html body .mk-weather-region-panel__head span {
    color: #8a642f !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

html body .mk-weather-region-panel__head strong {
    color: #174b34 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    line-height: 1.12 !important;
}

html body .mk-weather-region-panel__select {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
}

html body .mk-weather-region-panel__select span {
    color: #8a642f !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

html body .mk-weather-region-panel__select select {
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 38px 0 14px !important;
    border: 1px solid rgba(216, 166, 83, .52) !important;
    border-radius: 999px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background:
        linear-gradient(45deg, transparent 50%, #8a642f 50%) calc(100% - 18px) 18px / 7px 7px no-repeat,
        linear-gradient(135deg, rgba(255, 250, 238, .96), rgba(239, 226, 204, .96)) !important;
    color: #174b34 !important;
    font: 900 14px/1.2 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 10px 24px rgba(98, 61, 22, .10) !important;
    cursor: pointer !important;
}

html body .mk-weather-region-panel__select select:focus {
    outline: 2px solid rgba(247, 215, 154, .95) !important;
    outline-offset: 2px !important;
}

html body .mk-weather-region-panel__status {
    color: rgba(36, 22, 17, .68) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

html body .mk-weather-region-panel__list {
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    min-height: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    padding-right: 4px !important;
    scrollbar-gutter: stable !important;
}

html body .mk-weather-region-panel__list::-webkit-scrollbar {
    width: 8px !important;
}

html body .mk-weather-region-panel__list::-webkit-scrollbar-track {
    background: rgba(116, 78, 38, .08) !important;
    border-radius: 999px !important;
}

html body .mk-weather-region-panel__list::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(138, 100, 47, .38) !important;
}

html body .mk-weather-region-city {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(111, 72, 30, .12) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .56) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

html body .mk-weather-region-city.is-active {
    border-color: rgba(216, 166, 83, .58) !important;
    background: linear-gradient(135deg, rgba(255, 248, 232, .92), rgba(238, 225, 204, .86)) !important;
}

html body .mk-weather-region-city.has-error {
    border-color: rgba(166, 95, 57, .24) !important;
}

html body .mk-weather-region-city__name,
html body .mk-weather-region-city__weather {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

html body .mk-weather-region-city__name strong {
    color: #241611 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
}

html body .mk-weather-region-city__name span {
    width: fit-content !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    background: rgba(23, 75, 52, .10) !important;
    color: #174b34 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

html body .mk-weather-region-city__weather {
    justify-items: end !important;
    text-align: right !important;
}

html body .mk-weather-region-city__weather b {
    color: #174b34 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

html body .mk-weather-region-city__weather span {
    color: rgba(36, 22, 17, .76) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
}

html body .mk-weather-region-city__weather small {
    color: rgba(36, 22, 17, .58) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

@media (max-width: 720px) {
    html body .mk-weather-summary-trigger {
        max-width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    html body .mk-weather-region-panel {
        position: fixed !important;
        top: auto !important;
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: auto !important;
        height: min(72vh, 540px) !important;
        max-height: min(72vh, 540px) !important;
        border-radius: 22px !important;
    }

    html body .mk-weather-region-city {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    html body .mk-weather-region-city__weather {
        justify-items: start !important;
        text-align: left !important;
    }
}

/* Final mobile home-logo correction, 20260625. Keep logo and menu on one row. */
@media (max-width: 760px) {
    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-header {
        display: block !important;
        position: relative !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        min-height: 86px !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-menu-panel:not(.is-open) {
        display: none !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-menu-panel.is-open {
        display: grid !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-brand--full-logo {
        position: absolute !important;
        left: 0 !important;
        bottom: 4px !important;
        width: auto !important;
        max-width: min(206px, 52vw) !important;
        min-width: 0 !important;
        transform: none !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-brand--full-logo .makosha-brand-logo {
        width: clamp(150px, 40vw, 190px) !important;
        max-height: 54px !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .mk-header-city-text {
        position: absolute !important;
        left: 8px !important;
        bottom: -18px !important;
        z-index: 2 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #f3d48c !important;
        font: 800 13px/1.2 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-shadow: 0 2px 4px rgba(30, 18, 8, .88), 0 0 14px rgba(247, 207, 126, .32) !important;
        white-space: nowrap !important;
        cursor: pointer !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .mk-header-city-text__prefix,
    html body.mk-site.mk-home-page .makosha-home-topbar .mk-header-city-text [data-region-name] {
        color: inherit !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-menu-toggle {
        position: fixed !important;
        top: 104px !important;
        left: min(246px, calc(100vw - 144px)) !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 1010 !important;
        width: clamp(112px, 34vw, 132px) !important;
        min-width: 0 !important;
        max-width: none !important;
        white-space: nowrap !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 374px) {
    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-brand--full-logo {
        max-width: 188px !important;
        padding-right: 10px !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-brand--full-logo .makosha-brand-logo {
        width: clamp(140px, 39vw, 172px) !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-menu-toggle {
        width: 114px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .mk-header-city-text {
        max-width: calc(100vw - 18px) !important;
        font-size: 12px !important;
    }
}

html body.mk-site.mk-home-page .mk-header-city-text {
    display: none !important;
}

@media (max-width: 760px) {
    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-menu-panel.is-open {
        top: calc(100% + 8px) !important;
        padding: 12px !important;
        gap: 9px !important;
        border-radius: 18px !important;
        background: rgba(34, 27, 21, .88) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-city-pill {
        display: none !important;
    }

    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions a,
    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions button,
    html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions form button {
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        font-size: 16px !important;
        line-height: 1.1 !important;
    }
}

/* Home regional network lettering painted onto the wall artwork. */
.makosha-hero-region-art {
    position: absolute;
    left: var(--mk-region-art-left, 64.2%);
    top: var(--mk-region-art-top, 31%);
    z-index: 12;
    width: var(--mk-region-art-width, 25.5%);
    height: var(--mk-region-art-height, 22%);
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    display: grid;
    align-content: start;
    justify-items: center;
    gap: clamp(1px, .2vw, 4px);
    min-width: 0;
    margin: 0;
    padding: clamp(8px, .82vw, 16px) clamp(22px, 1.85vw, 36px) 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
    color: rgba(166, 105, 30, .82);
    font: inherit;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    opacity: .86;
    overflow: hidden;
    transform: perspective(760px) rotateY(-1.9deg) rotateZ(.05deg);
    transform-origin: 50% 50%;
    isolation: isolate;
    pointer-events: auto;
}

html body.mk-site.mk-home-page .makosha-hero-region-art {
    z-index: 12 !important;
    pointer-events: auto !important;
}

.makosha-hero-region-art::before,
.makosha-hero-region-art::after {
    content: "";
    position: absolute;
    inset: 3% 8% 14%;
    z-index: -1;
    border-radius: 999px;
    pointer-events: none;
}

.makosha-hero-region-art::before {
    background: radial-gradient(ellipse, rgba(255, 214, 116, .10), rgba(124, 72, 20, .05) 46%, transparent 74%);
    filter: blur(5px);
    mix-blend-mode: soft-light;
}

.makosha-hero-region-art::after {
    inset: 0;
    border-radius: 2px;
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 3px),
        repeating-linear-gradient(90deg, rgba(70, 41, 16, .035) 0 1px, transparent 1px 4px);
    filter: none;
    opacity: .28;
    mix-blend-mode: multiply;
}

.makosha-hero-region-art__label,
.makosha-hero-region-art__city {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    color: rgba(151, 91, 21, .88);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 900;
    line-height: .96;
    letter-spacing: .035em;
    white-space: nowrap;
    text-align: center;
    mix-blend-mode: multiply;
    -webkit-text-stroke: .16px rgba(72, 39, 11, .44);
    text-shadow:
        0 .7px 0 rgba(255, 232, 152, .20),
        0 1.4px 1px rgba(61, 32, 9, .30),
        0 0 5px rgba(202, 143, 54, .18);
    filter: none;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .makosha-hero-region-art__label,
    .makosha-hero-region-art__city {
        background-image:
            linear-gradient(180deg, rgba(236, 186, 81, .92) 0%, rgba(149, 88, 20, .92) 58%, rgba(82, 46, 14, .78) 100%),
            repeating-linear-gradient(90deg, rgba(255, 237, 169, .18) 0 1px, rgba(117, 74, 24, .12) 1px 3px);
        background-blend-mode: multiply;
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }
}

.makosha-hero-region-art__label {
    --mk-region-art-max-font: clamp(13px, 1vw, 22px);
    font-size: var(--mk-region-art-max-font);
    display: grid;
    gap: 0;
    line-height: .88;
    font-family: "Arial Narrow", "Franklin Gothic Medium", Arial, Helvetica, sans-serif;
    letter-spacing: .018em;
    justify-self: center;
}

.makosha-hero-region-art__label span {
    display: block;
}

.makosha-hero-region-art__city {
    --mk-region-art-max-font: clamp(16px, 1.1vw, 22px);
    font-size: var(--mk-region-art-max-font);
    justify-self: center;
    margin-top: clamp(16px, 1.75vw, 34px);
    letter-spacing: .006em;
    line-height: 1.05;
}

.makosha-hero-region-art:hover,
.makosha-hero-region-art:focus-visible {
    outline: none;
}

.makosha-hero-region-art:hover .makosha-hero-region-art__label,
.makosha-hero-region-art:hover .makosha-hero-region-art__city,
.makosha-hero-region-art:focus-visible .makosha-hero-region-art__label,
.makosha-hero-region-art:focus-visible .makosha-hero-region-art__city {
    text-shadow:
        0 .7px 0 rgba(255, 232, 152, .24),
        0 1.6px 1px rgba(61, 32, 9, .34),
        0 0 6px rgba(202, 143, 54, .22);
}

@media (max-width: 760px) {
    .makosha-hero-region-art {
        gap: 1px;
        padding-top: clamp(5px, 1.7vw, 9px);
        transform: perspective(680px) rotateY(-2deg) rotateZ(.25deg);
    }

    .makosha-hero-region-art__label {
        --mk-region-art-max-font: clamp(10px, 3.3vw, 15px);
    }

    .makosha-hero-region-art__city {
        --mk-region-art-max-font: clamp(11px, 3.6vw, 16px);
        margin-top: clamp(9px, 2.8vw, 18px);
    }
}

/* Home portal crawl: cinematic gold text moving into the window. */
.mk-portal-crawl-section {
    position: relative;
    z-index: 2;
    padding: 0 0 clamp(42px, 5vw, 82px);
    background:
        linear-gradient(180deg, #050505 0%, #080808 56%, rgba(246, 238, 226, .96) 100%);
    overflow: hidden;
}

.mk-portal-crawl-window {
    position: relative;
    width: 100%;
    max-width: none;
    height: clamp(520px, 58vw, 760px);
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(240, 205, 134, .36);
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    background-image:
        radial-gradient(ellipse at 50% 24%, rgba(255, 232, 31, .10), transparent 24%),
        linear-gradient(180deg, rgba(10, 8, 6, .14) 0%, rgba(3, 3, 3, .50) 42%, #050505 78%, #000 100%),
        var(--mk-home-dynamic-bg, url('/assets/images/home-interactive/partly/day.png'));
    background-position: center, center top, center top;
    background-repeat: no-repeat;
    background-size: auto, auto, cover;
    box-shadow:
        inset 0 0 0 1px rgba(255, 246, 219, .10),
        inset 0 44px 88px rgba(0, 0, 0, .72),
        inset 0 -90px 150px rgba(0, 0, 0, .92),
        0 28px 80px rgba(36, 20, 10, .28);
    perspective: 420px;
    touch-action: pan-y;
}

.mk-portal-crawl-window::before,
.mk-portal-crawl-window::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.mk-portal-crawl-window::before {
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .28) 18%, rgba(0, 0, 0, .10) 56%, rgba(0, 0, 0, .82) 100%);
}

.mk-portal-crawl-window::after {
    left: 50%;
    top: 10%;
    width: min(54vw, 520px);
    height: min(28vw, 260px);
    z-index: 1;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(255, 224, 148, .18), transparent 68%);
    filter: blur(10px);
}

.mk-portal-crawl-stars {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        radial-gradient(circle, rgba(255, 255, 255, .86) 0 1px, transparent 1.4px),
        radial-gradient(circle, rgba(255, 255, 255, .44) 0 1px, transparent 1.2px);
    background-position: 14px 22px, 96px 78px;
    background-size: 118px 118px, 176px 176px;
    opacity: .30;
    animation: mkPortalStars 18s linear infinite;
}

.mk-portal-crawl {
    position: absolute;
    left: 50%;
    top: calc(100% + 18px);
    bottom: auto;
    z-index: 3;
    width: min(1920px, calc(100vw - clamp(24px, 3vw, 96px)));
    transform-origin: 50% 100%;
    transform: translateX(-50%) rotateX(25deg) translateY(0) translateZ(0);
    color: #ffe81f;
    font-family: "Arial Narrow", "Franklin Gothic Medium", Arial, Helvetica, sans-serif;
    font-weight: 800;
    text-align: justify;
    -webkit-text-stroke: 0;
    text-shadow:
        0 0 4px rgba(255, 232, 31, .32),
        0 2px 0 rgba(0, 0, 0, .85);
    filter: none;
    animation: mkPortalCrawl 125s linear infinite;
    cursor: pointer;
    will-change: transform;
}

.mk-portal-crawl.is-manual {
    animation: none !important;
    transform: translateX(-50%) rotateX(25deg) translateY(var(--mk-crawl-offset, 0px)) translateZ(0);
    opacity: 1;
}

.mk-portal-crawl h2 {
    margin: 0 0 28px;
    color: #ffe81f;
    font-size: clamp(50px, 6vw, 92px);
    line-height: .98;
    letter-spacing: 0;
    text-transform: none;
    text-align: center;
}

.mk-portal-crawl p {
    margin: 0 0 24px;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 800;
    line-height: 1.42;
}

@keyframes mkPortalCrawl {
    0% {
        transform: translateX(-50%) rotateX(25deg) translateY(0) translateZ(0);
        opacity: 1;
    }
    4% {
        opacity: 1;
    }
    88% {
        opacity: 1;
    }
    100% {
        transform: translateX(-50%) rotateX(25deg) translateY(-2300px) translateZ(-1250px);
        opacity: 0;
    }
}

@keyframes mkPortalStars {
    from {
        background-position: 14px 22px, 96px 78px;
    }
    to {
        background-position: 14px -214px, 96px -274px;
    }
}

@media (max-width: 760px) {
    .mk-portal-crawl-section {
        padding: 0 0 34px;
    }

    .mk-portal-crawl-window {
        width: 100%;
        max-width: none;
        height: 560px;
        perspective: 500px;
    }

    .mk-portal-crawl {
        top: calc(100% + 14px);
        bottom: auto;
        width: calc(100vw - 20px);
        transform: translateX(-50%) rotateX(34deg) translateY(0) translateZ(0) scale(1.06);
        text-align: center;
        animation-name: mkPortalCrawlMobile;
        animation-duration: 105s;
    }

    .mk-portal-crawl.is-manual {
        transform: translateX(-50%) rotateX(34deg) translateY(var(--mk-crawl-offset, 0px)) translateZ(0) scale(1.06);
    }

    .mk-portal-crawl h2 {
        margin-bottom: 20px;
        font-size: clamp(38px, 10vw, 52px);
    }

    .mk-portal-crawl p {
        margin-bottom: 18px;
        font-size: clamp(25px, 6.6vw, 34px);
        line-height: 1.36;
    }
}

@keyframes mkPortalCrawlMobile {
    0% {
        transform: translateX(-50%) rotateX(34deg) translateY(0) translateZ(0) scale(1.06);
        opacity: 1;
    }
    88% {
        opacity: 1;
    }
    100% {
        transform: translateX(-50%) rotateX(34deg) translateY(-2050px) translateZ(-860px) scale(.38);
        opacity: 0;
    }
}

@media (max-width: 760px) {
    .mk-portal-crawl-section {
        padding: 0 0 30px;
        background: linear-gradient(180deg, #050505 0%, #070707 70%, rgba(246, 238, 226, .98) 100%);
    }

    .mk-portal-crawl-window {
        height: auto;
        min-height: 0;
        overflow: visible;
        perspective: none;
        padding: 44px 0 58px;
        touch-action: pan-y;
    }

    .mk-portal-crawl-window::before {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .42) 42%, rgba(0, 0, 0, .78) 100%);
    }

    .mk-portal-crawl-window::after {
        top: 6%;
        width: 82vw;
        height: 42vw;
        opacity: .78;
    }

    .mk-portal-crawl-stars {
        opacity: .18;
    }

    .mk-portal-crawl,
    .mk-portal-crawl.is-manual {
        position: relative;
        top: auto;
        left: auto;
        bottom: auto;
        width: min(100% - 34px, 620px);
        margin: 0 auto;
        padding: 0;
        animation: none !important;
        transform: none !important;
        color: #fff2c2;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 700;
        text-align: left;
        text-shadow: 0 2px 8px rgba(0, 0, 0, .86);
        cursor: default;
        will-change: auto;
    }

    .mk-portal-crawl h2 {
        margin: 0 0 18px;
        color: #f6d47a;
        font-size: clamp(25px, 7vw, 34px);
        line-height: 1.12;
        text-align: left;
        text-shadow: 0 2px 10px rgba(0, 0, 0, .9);
    }

    .mk-portal-crawl p {
        margin: 0 0 16px;
        color: rgba(255, 248, 226, .94);
        font-size: clamp(16px, 4.4vw, 18px);
        font-weight: 700;
        line-height: 1.58;
        text-align: left;
    }

    .mk-portal-crawl p:last-child {
        margin-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mk-portal-crawl-stars,
    .mk-portal-crawl {
        animation: none !important;
    }

    .mk-portal-crawl-window {
        height: auto;
        min-height: 0;
        overflow: visible;
        perspective: none;
    }

    .mk-portal-crawl {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(920px, calc(100% - 36px));
        margin: 0 auto;
        padding: clamp(38px, 6vw, 72px) 0;
        transform: none !important;
        opacity: 1;
    }
}

/* Home header click layer fix, 20260625. */
html body.mk-site.mk-home-page .makosha-hero-content,
html body.mk-site.mk-home-page .makosha-home-topbar,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-header,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-hero-menu-panel,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-main-nav,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions {
    pointer-events: auto !important;
}

html body.mk-site.mk-home-page .makosha-home-topbar .makosha-brand,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-menu-toggle,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-main-nav a,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions a,
html body.mk-site.mk-home-page .makosha-home-topbar .makosha-header-actions button,
html body.mk-site.mk-home-page .makosha-home-topbar .mk-weather-summary-trigger,
html body.mk-site.mk-home-page .makosha-home-topbar .mk-lunar-day-button,
html body.mk-site.mk-home-page .makosha-home-topbar .mk-currency-trigger {
    position: relative !important;
    z-index: 1200 !important;
    pointer-events: auto !important;
}

/* Public header hit targets, 20260625. */
html body.mk-site .mk-public-header .mk-menu-panel,
html body.mk-site .mk-public-header .mk-nav,
html body.mk-site .mk-public-header .mk-public-tools,
html body.mk-site .mk-public-header .mk-account {
    pointer-events: auto !important;
}

html body.mk-site .mk-public-header .mk-nav > a,
html body.mk-site .mk-public-header .mk-public-tools > a,
html body.mk-site .mk-public-header .mk-public-tools > button,
html body.mk-site .mk-public-header .mk-public-tools > form > button,
html body.mk-site .mk-public-header .mk-account > a,
html body.mk-site .mk-public-header .mk-account > button,
html body.mk-site .mk-public-header .mk-account > form > button {
    position: relative !important;
    z-index: 1200 !important;
    pointer-events: auto !important;
}

html body .mk-geo-modal__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

html body .mk-geo-modal__detect {
    margin-right: auto;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(180, 122, 34, .56);
    border-radius: 999px;
    background: rgba(255, 253, 248, .9);
    color: var(--mk-green);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

html body .mk-geo-modal__detect:hover {
    border-color: rgba(194, 151, 63, .9);
    background: rgba(255, 247, 226, .96);
}

@media (max-width: 560px) {
    html body .mk-geo-modal__footer {
        display: grid;
        grid-template-columns: 1fr;
    }

    html body .mk-geo-modal__detect {
        width: 100%;
        margin-right: 0;
    }
}

/* Buyer registration page, 20260626. */
.mk-register-page {
    min-height: calc(100vh - 230px);
    padding: clamp(36px, 5vw, 82px) 0 clamp(48px, 6vw, 96px);
    background:
        radial-gradient(circle at top left, rgba(180, 130, 50, .14), transparent 36%),
        radial-gradient(circle at 82% 18%, rgba(23, 75, 52, .08), transparent 30%),
        linear-gradient(135deg, #fbf6ed 0%, #f1e1ca 100%);
}

.mk-register-shell {
    width: min(1560px, calc(100% - clamp(28px, 5vw, 92px)));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(360px, .86fr) minmax(520px, 1fr);
    gap: clamp(32px, 5vw, 86px);
    align-items: center;
}

.mk-register-intro {
    color: #2b1c15;
}

.mk-register-logo {
    display: inline-flex;
    max-width: min(460px, 100%);
    margin-bottom: clamp(28px, 4vw, 46px);
}

.mk-register-logo img {
    display: block;
    width: clamp(320px, 28vw, 460px);
    max-width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(70, 44, 18, .18));
}

.mk-register-intro h1 {
    margin: 0;
    color: #9b651b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(58px, 6.2vw, 108px);
    line-height: .98;
    letter-spacing: 0;
    text-shadow: 0 3px 0 rgba(255, 255, 255, .58), 0 20px 36px rgba(90, 52, 17, .18);
}

.mk-register-divider {
    width: min(240px, 45%);
    height: 3px;
    margin: 24px 0 30px;
    border-radius: 999px;
    background: linear-gradient(90deg, #8a5715, #f2d38a, rgba(180, 122, 34, 0));
}

.mk-register-intro p {
    max-width: 720px;
    margin: 0;
    color: rgba(45, 32, 24, .72);
    font-size: clamp(18px, 1.45vw, 24px);
    line-height: 1.55;
}

.mk-register-note {
    max-width: 680px;
    margin-top: 28px;
    padding: 20px 24px;
    border: 1px solid rgba(180, 122, 34, .34);
    border-radius: 8px;
    background: rgba(255, 250, 241, .68);
    color: #174b34;
    font-weight: 900;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 18px 42px rgba(84, 56, 26, .08);
}

.mk-register-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin-top: 26px;
}

.mk-register-links a {
    color: #174b34;
    font-weight: 900;
    text-decoration: none;
    border-bottom: 1px solid rgba(180, 122, 34, .55);
}

.mk-register-card {
    position: relative;
    padding: clamp(28px, 3.8vw, 58px);
    border: 1px solid rgba(180, 122, 34, .25);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 242, .94)),
        #fffaf2;
    box-shadow: 0 34px 90px rgba(87, 55, 24, .16), inset 0 1px 0 rgba(255, 255, 255, .94);
}

.mk-register-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(180, 122, 34, .14);
    border-radius: 6px;
    pointer-events: none;
}

.mk-register-card-head {
    position: relative;
    z-index: 1;
    margin-bottom: 24px;
}

.mk-register-card-head span {
    display: block;
    color: #9b651b;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mk-register-card-head strong {
    display: block;
    margin-top: 8px;
    color: #2b1c15;
    font-size: clamp(20px, 2vw, 30px);
    line-height: 1.16;
}

.mk-register-fields {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mk-register-field {
    display: grid;
    gap: 9px;
    color: #2b1c15;
    font-size: 16px;
    font-weight: 900;
}

.mk-register-field:nth-child(5),
.mk-register-field:nth-child(6) {
    grid-column: auto;
}

.mk-register-field input,
.mk-password-shell input {
    width: 100%;
    min-height: 60px;
    padding: 0 18px;
    border: 1px solid rgba(180, 122, 34, .24);
    border-radius: 8px;
    background: #fffdf8;
    color: #2b1c15;
    font: inherit;
    font-weight: 850;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.mk-register-field input:focus,
.mk-password-shell input:focus {
    border-color: rgba(180, 122, 34, .72);
    background: #fffaf0;
    box-shadow: 0 0 0 4px rgba(242, 211, 138, .34), inset 0 1px 0 rgba(255, 255, 255, .95);
}

.mk-register-field input.is-invalid,
.mk-register-consent input.is-invalid,
.mk-password-shell input.is-invalid {
    border-color: rgba(172, 44, 26, .58);
    box-shadow: 0 0 0 4px rgba(172, 44, 26, .08);
}

.mk-password-shell {
    position: relative;
    display: block;
}

.mk-password-shell input {
    padding-right: 58px;
}

.mk-password-toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(180, 122, 34, .28);
    border-radius: 50%;
    background: rgba(255, 250, 241, .86);
    color: #174b34;
    cursor: pointer;
    transform: translateY(-50%);
}

.mk-password-toggle svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mk-register-consent {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 22px;
    color: rgba(43, 28, 21, .82);
    font-weight: 800;
    line-height: 1.4;
}

.mk-register-consent input {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: #174b34;
}

.mk-register-consent a {
    color: #174b34;
    font-weight: 950;
}

.mk-consent-error {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 8px;
}

.mk-register-submit {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 58px;
    margin-top: 26px;
    border: 1px solid rgba(102, 67, 24, .58);
    border-radius: 999px;
    background:
        linear-gradient(135deg, #174b34, #0f3325 48%, #9b651b 100%);
    color: #fffaf0;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: 0;
    cursor: pointer;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .24);
    box-shadow: 0 18px 34px rgba(45, 32, 18, .18), inset 0 1px 0 rgba(255, 255, 255, .22);
    transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.mk-register-submit:hover:not(:disabled) {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.mk-register-submit:disabled,
.mk-register-submit.is-disabled {
    cursor: not-allowed;
    opacity: .48;
    filter: grayscale(.45);
}

.mk-register-safe {
    position: relative;
    z-index: 1;
    margin: 13px 0 0;
    color: rgba(45, 32, 24, .62);
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

.mk-register-page .mk-field-error {
    color: #a52f1f;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.35;
}

.mk-register-page .mk-field-hint {
    color: rgba(45, 32, 24, .55);
    font-size: 13px;
    font-weight: 800;
}

.mk-register-page .mk-form-summary {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 6px;
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid rgba(172, 44, 26, .22);
    border-radius: 8px;
    background: rgba(255, 238, 235, .78);
    color: #8b2518;
}

.mk-register-page .mk-form-summary strong {
    color: #7d1f15;
}

@media (max-width: 1120px) {
    .mk-register-shell {
        grid-template-columns: 1fr;
        width: min(860px, calc(100% - 34px));
    }

    .mk-register-intro {
        text-align: center;
    }

    .mk-register-logo {
        justify-content: center;
    }

    .mk-register-divider {
        margin-left: auto;
        margin-right: auto;
    }

    .mk-register-intro p,
    .mk-register-note {
        margin-left: auto;
        margin-right: auto;
    }

    .mk-register-links {
        justify-content: center;
    }
}

@media (max-width: 680px) {
    .mk-register-page {
        padding: 28px 0 54px;
    }

    .mk-register-shell {
        width: min(100% - 24px, 440px);
        gap: 26px;
    }

    .mk-register-logo img {
        width: clamp(220px, 66vw, 280px);
    }

    .mk-register-intro h1 {
        font-size: clamp(44px, 15vw, 62px);
    }

    .mk-register-intro p {
        font-size: 16px;
    }

    .mk-register-note {
        padding: 16px 18px;
    }

    .mk-register-card {
        padding: 24px 18px;
    }

    .mk-register-card::before {
        inset: 9px;
    }

    .mk-register-fields {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .mk-register-field input,
    .mk-password-shell input {
        min-height: 56px;
    }
}
