/* =========================================================================
   Парная — baths and saunas built turnkey. Warm cedar + charcoal, cream paper,
   serif headlines, arched photos (the sauna doorway) and annual rings.

   Layers: fonts (bottom of the file's first block), tokens, base, buttons,
   header, footer, own blocks (hero, types, projects), shared blocks
   re-dressed, design variants (theme.json → design.controls).
   Core prints the chosen design values as :root{--parnaya-…} after this file.
   ========================================================================= */

@font-face {
    font-family: 'Parnaya Lora';
    font-style: normal;
    font-display: swap;
    font-weight: 400 700;
    src: url(/themes/default/assets/fonts/lora-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Parnaya Lora';
    font-style: normal;
    font-display: swap;
    font-weight: 400 700;
    src: url(/themes/default/assets/fonts/lora-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Parnaya Onest';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Parnaya Onest';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Parnaya Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Parnaya Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Parnaya Manrope';
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Parnaya Manrope';
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Parnaya Unbounded';
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url(/themes/default/assets/fonts/unbounded-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Parnaya Unbounded';
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url(/themes/default/assets/fonts/unbounded-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --parnaya-accent: #b8641f;
    --parnaya-font-display: 'Parnaya Lora', Georgia, 'Times New Roman', serif;
    --parnaya-font-body: 'Parnaya Onest', 'Segoe UI', Arial, system-ui, sans-serif;
    --parnaya-radius: 8px;
}

/* -------------------------------------------------------------------------
   1. Tokens
   ------------------------------------------------------------------------- */

:root:root {
    --pr-cedar: var(--parnaya-accent);
    --pr-cedar-hi: color-mix(in srgb, var(--pr-cedar), #ffffff 22%);
    --pr-cedar-deep: color-mix(in srgb, var(--pr-cedar), #000000 22%);
    --pr-cedar-soft: color-mix(in srgb, var(--pr-cedar) 14%, #ffffff);
    --pr-ink-950: #181513;
    --pr-ink-900: #24201d;
    --pr-ink-800: #2f2a26;
    --pr-ink-700: #3d3732;
    --pr-paper: #f4ede1;
    --pr-wood: #e9dec9;
    --pr-line: #d8cbb2;
    --pr-r: var(--parnaya-radius);
    --pr-grain-dark: repeating-linear-gradient(91deg, rgb(255 235 200 / 0.028) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(89deg, rgb(0 0 0 / 0.1) 0 2px, transparent 2px 23px);
    --pr-plank: repeating-linear-gradient(90deg, var(--pr-cedar) 0 62px, var(--pr-cedar-deep) 62px 64px);

    --c-bg: var(--pr-paper);
    --c-surface: #fffaf1;
    --c-surface-sunk: var(--pr-wood);
    --c-text: #3b332c;
    --c-text-strong: #1f1a16;
    --c-text-muted: #6a5f55;
    --c-text-faint: #8f8377;
    --c-border: var(--pr-line);
    --c-border-strong: #3b332c;
    --c-accent: var(--pr-cedar);
    --c-accent-hover: var(--pr-cedar-deep);
    --c-accent-contrast: #fffaf1;
    --c-accent-soft: var(--pr-cedar-soft);
    --c-link: var(--pr-cedar-deep);
    --c-link-hover: #1f1a16;
    --c-mark: var(--pr-cedar);
    --c-mark-text: #ffffff;
    --c-mark-soft: var(--pr-cedar-soft);
    --c-slab: var(--pr-ink-900);
    --c-slab-text: #f4ede1;
    --c-slab-muted: #b9ab98;
    --c-danger: #b3321f;
    --c-success: #3d7a3a;

    --font-display: var(--parnaya-font-display);
    --font-ui: var(--parnaya-font-body);
    --font-prose: var(--font-ui);
    --fw-heading: 600;
    --tr-tight: -0.01em;
    --tr-snug: 0;
    --lh-tight: 1.08;
    --lh-snug: 1.18;
    --t-base: clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
    --t-xl: clamp(1.9rem, 1.5rem + 1.7vw, 3rem);
    --t-2xl: clamp(2.4rem, 1.7rem + 3vw, 4.3rem);
    --t-3xl: clamp(3rem, 2rem + 4.4vw, 5.6rem);

    --r-xs: calc(var(--pr-r) * 0.4);
    --r-sm: calc(var(--pr-r) * 0.6);
    --r-md: var(--pr-r);
    --r-lg: calc(var(--pr-r) * 1.5);
    --r-pill: 999px;
    --r-btn: var(--pr-r);
    --card-radius: var(--pr-r);
    --card-bg: #fffaf1;
    --card-border: 1px solid var(--pr-line);
    --card-shadow: 0 1px 0 rgb(255 255 255 / 0.7) inset, 0 10px 28px -20px rgb(60 36 14 / 0.45);
    --shadow-sm: 0 1px 2px rgb(60 36 14 / 0.12);
    --shadow-md: 0 10px 28px -18px rgb(60 36 14 / 0.5);
    --shadow-lg: 0 24px 50px -26px rgb(60 36 14 / 0.6);
    --shadow-lift: 0 22px 40px -22px rgb(60 36 14 / 0.55);

    --w-container: 80rem;
    --w-wide: 80rem;
    --sp-md: clamp(3.5rem, 2.4rem + 4.4vw, 6rem);
    --sp-lg: clamp(4.5rem, 3rem + 6vw, 8rem);

    color-scheme: light;
}

:is(.cms-tone-dark, .cms-on-dark):not(#pr) {
    --c-bg: var(--pr-ink-900);
    --c-surface: var(--pr-ink-800);
    --c-surface-sunk: var(--pr-ink-950);
    --c-text: #e9dfd0;
    --c-text-strong: #fffaf1;
    --c-text-muted: #b9ab98;
    --c-text-faint: #8f8377;
    --c-border: #4a4038;
    --c-border-strong: #e9dfd0;
    --c-accent: var(--pr-cedar-hi);
    --c-accent-hover: color-mix(in srgb, var(--pr-cedar-hi), #ffffff 18%);
    --c-accent-contrast: #1f1a16;
    --c-accent-soft: color-mix(in srgb, var(--pr-cedar) 20%, var(--pr-ink-900));
    --c-link: var(--pr-cedar-hi);
    --c-link-hover: #ffffff;
    --c-mark: var(--pr-cedar-hi);
    --c-mark-text: var(--pr-cedar-hi);
    --card-bg: var(--pr-ink-800);
    --card-border: 1px solid #4a4038;
    --card-shadow: none;
    color-scheme: dark;
}

.cms-tone-dark:not(#pr) {
    --section-bg: var(--pr-ink-900);
    --section-bg-image: var(--pr-grain-dark);
}

.cms-tone-soft:not(#pr) {
    --section-bg: var(--pr-wood);
    --c-bg: var(--pr-wood);
    --c-surface: #fffaf1;
    --c-surface-sunk: #dccfb6;
}

.cms-tone-primary:not(#pr) {
    --section-bg: var(--pr-cedar);
    --c-bg: var(--pr-cedar);
    --c-surface: var(--pr-cedar-deep);
    --c-surface-sunk: var(--pr-cedar-deep);
    --c-text: #fff4e6;
    --c-text-strong: #ffffff;
    --c-text-muted: #f7dcc0;
    --c-text-faint: #f0cba6;
    --c-border: rgb(255 255 255 / 0.3);
    --c-border-strong: #ffffff;
    --c-accent: #fffaf1;
    --c-accent-hover: #ffffff;
    --c-accent-contrast: var(--pr-cedar-deep);
    --c-link: #ffffff;
    --c-mark: #ffffff;
    --c-mark-text: #ffffff;
    color-scheme: dark;
}

.cms-tone-accent:not(#pr) {
    --section-bg: var(--pr-ink-700);
    --c-bg: var(--pr-ink-700);
    --c-surface: var(--pr-ink-800);
    --c-text: #efe5d6;
    --c-text-strong: #ffffff;
    --c-text-muted: #c4b6a3;
    --c-border: #5a4f45;
    --c-accent: var(--pr-cedar-hi);
    --c-accent-contrast: #1f1a16;
    --c-link: var(--pr-cedar-hi);
    --c-mark: var(--pr-cedar-hi);
    --c-mark-text: var(--pr-cedar-hi);
    color-scheme: dark;
}

/* -------------------------------------------------------------------------
   2. Base
   ------------------------------------------------------------------------- */

body {
    background-color: var(--pr-paper);
    font-family: var(--font-ui);
    font-size: var(--t-base);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: var(--tr-tight);
    line-height: var(--lh-snug);
}

h1 { line-height: 1.08; }

a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }

:focus-visible {
    outline: 3px solid var(--pr-cedar-hi);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px var(--pr-ink-900);
}

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

/* -------------------------------------------------------------------------
   3. Buttons
   ------------------------------------------------------------------------- */

.cms-btn {
    min-height: 50px;
    padding: 0.7rem 1.7rem;
    border-width: 2px;
    border-radius: var(--pr-r);
    font-family: var(--font-ui);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.cms-btn--primary {
    background-color: var(--pr-cedar);
    border-color: var(--pr-cedar);
    color: #fffaf1;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--pr-cedar-deep) 90%, transparent);
}

.cms-btn--primary:hover {
    background-color: var(--pr-cedar-deep);
    border-color: var(--pr-cedar-deep);
    color: #fff;
}

.cms-btn--ghost {
    border-color: color-mix(in srgb, currentColor 55%, transparent);
    color: var(--c-text-strong);
}

.cms-btn--ghost:hover {
    background-color: var(--c-text-strong);
    border-color: var(--c-text-strong);
    color: var(--c-bg);
}

:is(.cms-tone-dark, .cms-on-dark, .cms-tone-accent) .cms-btn--primary {
    background-color: var(--pr-cedar-hi);
    border-color: var(--pr-cedar-hi);
    color: #1f1a16;
}

:is(.cms-tone-dark, .cms-on-dark, .cms-tone-accent) .cms-btn--primary:hover {
    background-color: #fffaf1;
    border-color: #fffaf1;
    color: #1f1a16;
}

:is(.cms-tone-dark, .cms-on-dark, .cms-tone-accent) .cms-btn--ghost {
    border-color: rgb(255 250 241 / 0.5);
    color: #fffaf1;
}

:is(.cms-tone-dark, .cms-on-dark, .cms-tone-accent) .cms-btn--ghost:hover {
    background: #fffaf1;
    border-color: #fffaf1;
    color: #1f1a16;
}

.cms-tone-primary .cms-btn--primary {
    background-color: #fffaf1;
    border-color: #fffaf1;
    color: var(--pr-cedar-deep);
}

.cms-tone-primary .cms-btn--primary:hover { background: var(--pr-ink-900); border-color: var(--pr-ink-900); color: #fffaf1; }

.pr-btn-dark {
    background-color: var(--pr-ink-900);
    border-color: var(--pr-ink-900);
    color: #fffaf1;
}

.pr-btn-dark:hover { background: #fffaf1; border-color: #fffaf1; color: var(--pr-ink-900); }

.cms-card { border-radius: var(--pr-r); }

input:not([type="checkbox"], [type="radio"], [type="range"]),
select,
textarea { border-radius: var(--pr-r) !important; }

.cms-field__input:focus,
input:not([type="checkbox"], [type="radio"], [type="range"]):focus,
textarea:focus,
select:focus {
    border-color: var(--pr-cedar) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pr-cedar) 25%, transparent) !important;
    outline: none;
}

.cms-popover__panel { border-radius: calc(var(--pr-r) * 1.5); border-top: 6px solid var(--pr-cedar); }
.cms-popover__title { font-family: var(--font-display); }

/* -------------------------------------------------------------------------
   4. Sections: centred heads with a ring ornament
   ------------------------------------------------------------------------- */

.cms-section__head,
.cms-section__head--left,
.cms-section__head--center {
    max-width: 46rem;
    margin-inline: auto;
    margin-block-end: clamp(2rem, 1.4rem + 2.2vw, 3.4rem);
    text-align: center;
}

.cms-section__head::before {
    content: "";
    display: block;
    width: 3.4rem;
    height: 1.4rem;
    margin: 0 auto var(--s-4);
    background:
        radial-gradient(circle at 50% 50%, transparent 0 3px, var(--pr-cedar) 3px 4.5px, transparent 4.5px 7px, var(--pr-cedar) 7px 8px, transparent 8px) center / 1.4rem 1.4rem no-repeat,
        linear-gradient(var(--pr-cedar), var(--pr-cedar)) left center / 1.1rem 1px no-repeat,
        linear-gradient(var(--pr-cedar), var(--pr-cedar)) right center / 1.1rem 1px no-repeat;
}

.cms-section__title {
    max-width: 24ch;
    margin-inline: auto;
    font-size: var(--t-xl);
    font-weight: 600;
    line-height: 1.12;
}

.cms-section__subtitle {
    max-width: 40rem;
    margin: var(--s-4) auto 0;
    color: var(--c-text-muted);
    font-size: var(--t-md);
    line-height: 1.55;
}

.cms-section.cms-tone-dark .cms-section__subtitle { color: var(--c-text-muted); }

.cms-section.cms-tone-primary { position: relative; }

/* A plank line along the top of cedar bands. */
.cms-section.cms-tone-primary::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: var(--pr-plank);
}

/* -------------------------------------------------------------------------
   5. Header
   ------------------------------------------------------------------------- */

.site-header {
    background: var(--pr-paper);
    border-bottom: 0;
    box-shadow: 0 1px 0 var(--pr-line);
}

.site-header::before {
    content: "";
    display: block;
    height: 5px;
    background: var(--pr-plank);
}

.site-header--sticky.is-scrolled { box-shadow: 0 1px 0 var(--pr-line), 0 16px 30px -24px rgb(60 36 14 / 0.6); }

.hdr-row--top {
    background: var(--pr-ink-900);
    border-bottom: 0;
    color: #cdbfac;
    font-size: 0.84rem;
}

.hdr-row--top .hdr-row__inner { min-height: 2.4rem; }
.hdr-row--top a { color: #efe5d6; text-decoration: none; }
.hdr-row--top a:hover { color: var(--pr-cedar-hi); }
.hdr-row--top .cms-icon { color: var(--pr-cedar-hi); }

.hdr-row--main .hdr-row__inner { min-height: 5.4rem; }

.pr-logo { gap: 12px; color: var(--pr-cedar); }
.pr-logo__mark { flex: none; width: 2.8rem; height: 2.8rem; color: var(--pr-cedar); }

.hdr-logo__name {
    color: var(--c-text-strong);
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
}

.hdr-logo__tagline {
    margin-block-start: 5px;
    color: var(--c-text-muted);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.hdr-row--main .hdr-zone--center { justify-content: center; }

.hdr-nav__list { gap: 0.15rem; }

.hdr-nav__link {
    padding: 0.6rem 0.9rem;
    border-radius: 999px;
    color: var(--c-text-strong);
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.hdr-nav__link:hover,
.hdr-nav__link.is-active { background: var(--pr-cedar-soft); color: var(--pr-cedar-deep); }

.hdr-phone__number {
    color: var(--c-text-strong);
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: none;
}

.hdr-phone__number:hover { color: var(--pr-cedar-deep); }
.hdr-phone__caption { color: var(--c-text-muted); font-size: 0.78rem; }
.hdr-button.cms-btn { min-height: 48px; border-radius: 999px; }

.hdr-sub__list {
    border: 1px solid var(--pr-line);
    border-radius: calc(var(--pr-r) * 1.5);
    background: #fffaf1;
    box-shadow: var(--shadow-lg);
}

.hdr-sub__link { border-radius: var(--pr-r); }
.hdr-sub__link:hover { background: var(--pr-cedar-soft); color: var(--pr-cedar-deep); }

.hdr-icon-btn, .hdr-burger { border-radius: 999px !important; }
.hdr-drawer { background: var(--pr-paper); }
.hdr-drawer__head { border-bottom: 3px solid var(--pr-cedar); }

html[data-parnaya-header="dark"] .site-header {
    --c-text-strong: #fffaf1;
    --c-text: #e9dfd0;
    --c-text-muted: #b9ab98;
    background: var(--pr-ink-900);
    background-image: var(--pr-grain-dark);
    box-shadow: 0 1px 0 #3d3732;
    color: #e9dfd0;
}

html[data-parnaya-header="dark"] .hdr-row--top { background: var(--pr-ink-950); }
html[data-parnaya-header="dark"] .hdr-nav__link:hover,
html[data-parnaya-header="dark"] .hdr-nav__link.is-active { background: rgb(255 250 241 / 0.1); color: var(--pr-cedar-hi); }
html[data-parnaya-header="dark"] .hdr-phone__number:hover { color: var(--pr-cedar-hi); }
html[data-parnaya-header="dark"] .pr-logo,
html[data-parnaya-header="dark"] .pr-logo__mark { color: var(--pr-cedar-hi); }

/* -------------------------------------------------------------------------
   6. Footer: a cedar band with the phone, then charcoal columns
   ------------------------------------------------------------------------- */

.pr-prefooter {
    position: relative;
    overflow: hidden;
    background: var(--pr-cedar);
    color: #fff4e6;
}

.pr-prefooter::before {
    content: "";
    position: absolute;
    inset: auto -8% -55% auto;
    width: 36rem;
    height: 36rem;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, transparent 0 22px, rgb(255 244 230 / 0.16) 22px 24px);
    pointer-events: none;
}

.pr-prefooter__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: var(--s-6) var(--s-8);
    align-items: center;
    max-width: var(--w-wide);
    margin-inline: auto;
    padding: clamp(3rem, 2rem + 3vw, 4.5rem) var(--gutter);
}

.pr-prefooter__kicker {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffe3c4;
}

.pr-prefooter__title {
    margin-block: 0.4rem 0.9rem;
    color: #ffffff;
    font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem);
    font-weight: 600;
    line-height: 1.04;
}

.pr-prefooter__lead { max-width: 38rem; font-size: 1.1rem; line-height: 1.55; color: #ffeedd; }

.pr-prefooter__side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding-inline-start: var(--s-6);
    border-inline-start: 2px solid rgb(255 244 230 / 0.45);
}

.pr-prefooter__phone {
    color: #ffffff;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.8rem);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.pr-prefooter__phone:hover { text-decoration: underline; }
.pr-prefooter__hours { font-size: 0.95rem; margin-block-end: 0.9rem; color: #ffeedd; }
.pr-prefooter .cms-btn { min-width: 16rem; }

.pr-footer:not(#pr) {
    --c-bg: var(--pr-ink-950);
    --c-surface: var(--pr-ink-900);
    --c-text: #d6c9b7;
    --c-text-strong: #fffaf1;
    --c-text-muted: #a2937f;
    --c-border: #3a332d;
    --c-link: #efe5d6;
    --c-link-hover: var(--pr-cedar-hi);
    position: relative;
    overflow: hidden;
    background: var(--pr-ink-950);
    color: #d6c9b7;
}

.pr-footer:not(#pr) { background-image: var(--pr-grain-dark); }

.pr-footer .site-footer__inner { position: relative; z-index: 1; }

.pr-footer .ftr-col__title {
    color: var(--pr-cedar-hi);
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 600;
}

.pr-footer .ftr-brand__name {
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.7rem;
}

.pr-footer .ftr-contacts__phone a { font-family: var(--font-display); font-size: 1.4rem; color: #fff; }
.pr-footer .ftr-menu__link { color: #d6c9b7; text-decoration: none; }
.pr-footer .ftr-menu__link:hover { color: var(--pr-cedar-hi); }
.pr-footer .ftr-menu__sub { display: none; }
.pr-footer .cms-icon { color: var(--pr-cedar-hi); }
.pr-footer .ftr-bottom { border-top-color: #3a332d; color: #8f8271; }
.pr-footer .ftr-bottom a { color: #b6a893; }

.pr-footer__wordmark {
    position: relative;
    z-index: 0;
    margin: 0;
    padding: 0 var(--gutter);
    color: transparent;
    font-family: var(--font-display);
    font-size: clamp(4rem, 18vw, 16rem);
    font-style: italic;
    font-weight: 600;
    line-height: 0.8;
    text-align: center;
    white-space: nowrap;
    -webkit-text-stroke: 1px color-mix(in srgb, var(--pr-cedar-hi) 30%, transparent);
    user-select: none;
    translate: 0 0.14em;
}

.site-footer { margin-block-start: 0 !important; border-top: 0 !important; }
.pr-prefooter { margin-block-start: var(--s-9); }
:is(.page--landing, .page--page) .pr-prefooter { margin-block-start: 0; }

@media (max-width: 47.99rem) {
    .pr-prefooter__inner { grid-template-columns: 1fr; }
    .pr-prefooter__side { padding-inline-start: 0; padding-block-start: var(--s-5); border-inline-start: 0; border-block-start: 2px solid rgb(255 244 230 / 0.45); }
    .pr-prefooter .cms-btn { width: 100%; min-width: 0; }
}

/* -------------------------------------------------------------------------
   7. First screen (parnaya_hero)
   ------------------------------------------------------------------------- */

.pr-hero { position: relative; }

.pr-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: var(--s-8);
    align-items: center;
}

.pr-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin-block-end: var(--s-5);
    color: var(--pr-cedar-hi);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pr-hero__tick {
    flex: none;
    width: 0.85rem;
    height: 0.85rem;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 25%, transparent);
}

.pr-hero__title {
    max-width: 15ch;
    color: #fffaf1;
    font-size: clamp(2.5rem, 1.6rem + 4.2vw, 5rem);
    font-weight: 600;
    line-height: 1.04;
}

.pr-hero__lead {
    max-width: 36rem;
    margin-block-start: var(--s-5);
    color: #d9ccba;
    font-size: clamp(1.05rem, 1rem + 0.3vw, 1.22rem);
    line-height: 1.6;
}

.pr-hero__actions { margin-block-start: var(--s-7); }

.pr-hero__note {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    margin-block-start: var(--s-5);
    color: #c4b6a3;
    font-size: 0.95rem;
}

.pr-hero__note .cms-icon { flex: none; color: var(--pr-cedar-hi); }

.pr-hero__arch {
    position: relative;
    justify-self: center;
    width: min(100%, 27rem);
    margin: 0;
}

.pr-hero__arch::before {
    content: "";
    position: absolute;
    inset: -14px -14px 14px 14px;
    border: 2px solid color-mix(in srgb, var(--pr-cedar-hi) 55%, transparent);
    border-radius: 999px 999px var(--pr-r) var(--pr-r);
}

.pr-hero__frame {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 999px 999px var(--pr-r) var(--pr-r);
    background: var(--pr-ink-800);
    box-shadow: 0 30px 60px -30px rgb(0 0 0 / 0.8);
}

.pr-hero__img { width: 100%; height: 100%; object-fit: cover; }

.pr-hero__tag {
    position: absolute;
    inset: auto auto 7% -8%;
    z-index: 2;
    display: grid;
    gap: 0.15rem;
    padding: 0.9rem 1.2rem;
    border-radius: var(--pr-r);
    background: #fffaf1;
    box-shadow: 0 18px 36px -16px rgb(0 0 0 / 0.7);
    color: #1f1a16;
    text-decoration: none;
}

.pr-hero__tag-title { font-size: 0.85rem; color: #6a5f55; }
.pr-hero__tag-price { font-family: var(--font-display); font-size: 1.45rem; font-weight: 700; color: var(--pr-cedar-deep); }

.pr-hero__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: var(--s-5) var(--s-6);
    margin: var(--s-9) 0 0;
    padding: var(--s-6) 0 var(--s-7);
    border-top: 1px solid #4a4038;
    list-style: none;
}

.pr-hero__fact { display: grid; gap: 0.2rem; }

.pr-hero__fact-value {
    color: var(--pr-cedar-hi);
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 1.5rem + 1.6vw, 3rem);
    font-weight: 600;
    line-height: 1;
}

.pr-hero__fact-label { color: #bfb19e; font-size: 0.92rem; }

@media (max-width: 61.99rem) {
    .pr-hero__grid { grid-template-columns: 1fr; gap: var(--s-7); }
    .pr-hero__title { max-width: none; }
    .pr-hero__arch { width: min(78%, 22rem); margin-inline-end: 0.9rem; }
    .pr-hero__tag { inset: auto auto 6% -4%; }
}

/* -------------------------------------------------------------------------
   8. Banya types (parnaya_types)
   ------------------------------------------------------------------------- */

.pr-types__grid {
    display: grid;
    gap: var(--s-6);
    margin: 0;
    padding: 0;
    list-style: none;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

@media (min-width: 62rem) {
    .pr-types__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-types__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pr-types__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.pr-type {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--pr-line);
    border-radius: calc(var(--pr-r) * 1.5);
    background: #fffaf1;
    box-shadow: var(--card-shadow);
    transition: transform 0.25s, box-shadow 0.25s;
}

.pr-type:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }

.pr-type__arch {
    position: relative;
    aspect-ratio: 4 / 5;
    margin: var(--s-4) var(--s-4) 0;
    overflow: hidden;
    border-radius: 999px 999px var(--pr-r) var(--pr-r);
    background: var(--pr-wood);
}

.pr-type__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.pr-type:hover .pr-type__img { transform: scale(1.05); }

.pr-type__badge {
    position: absolute;
    inset: auto 0 0.8rem;
    margin-inline: auto;
    width: fit-content;
    padding: 0.28rem 0.85rem;
    border-radius: 999px;
    background: var(--pr-ink-900);
    color: #fffaf1;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pr-type__body { display: flex; flex: 1; flex-direction: column; gap: 0.55rem; padding: var(--s-5) var(--s-5) var(--s-6); }
.pr-type__title { font-size: 1.35rem; line-height: 1.15; }
.pr-type__link { color: var(--c-text-strong); text-decoration: none; }
.pr-type__link::after { content: ""; position: absolute; inset: 0; }
.pr-type__price { color: var(--pr-cedar-deep); font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; }
.pr-type__text { color: var(--c-text-muted); font-size: 0.96rem; }

.pr-type__points {
    display: grid;
    gap: 0.35rem;
    margin: 0.3rem 0 0;
    padding: 0.8rem 0 0;
    border-top: 1px dashed var(--pr-line);
    list-style: none;
    font-size: 0.92rem;
}

.pr-type__points li { position: relative; padding-inline-start: 1.25rem; }

.pr-type__points li::before {
    content: "";
    position: absolute;
    inset: 0.5em auto auto 0;
    width: 0.55rem;
    height: 0.55rem;
    border: 2px solid var(--pr-cedar);
    border-radius: 50%;
}

.pr-type__more {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-block-start: auto;
    padding-block-start: 0.7rem;
    color: var(--pr-cedar-deep);
    font-weight: 600;
}

/* -------------------------------------------------------------------------
   9. Projects (parnaya_projects)
   ------------------------------------------------------------------------- */

.pr-projects__grid {
    display: grid;
    gap: var(--s-6);
    margin: 0;
    padding: 0;
    list-style: none;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
}

.pr-proj {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--pr-line);
    border-radius: calc(var(--pr-r) * 1.5);
    background: #fffaf1;
    box-shadow: var(--card-shadow);
    transition: transform 0.25s, box-shadow 0.25s;
}

.pr-proj:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }

.pr-proj__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--pr-wood);
}

html[data-parnaya-cards="arch"] .pr-proj__media {
    margin: var(--s-3) var(--s-3) 0;
    border-radius: 999px 999px var(--pr-r) var(--pr-r);
    aspect-ratio: 5 / 4;
}

.pr-proj__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.pr-proj:hover .pr-proj__img { transform: scale(1.05); }

.pr-proj__badge {
    position: absolute;
    inset: auto auto 0.7rem 50%;
    translate: -50% 0;
    padding: 0.25rem 0.8rem;
    border-radius: 999px;
    background: var(--pr-ink-900);
    color: #fffaf1;
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.pr-proj__body { display: flex; flex: 1; flex-direction: column; gap: 0.8rem; padding: var(--s-5); }
.pr-proj__title { font-size: 1.3rem; line-height: 1.15; }
.pr-proj__link { color: var(--c-text-strong); text-decoration: none; }
.pr-proj__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }

.pr-proj__specs {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: 0;
    margin: 0;
}

.pr-proj__specs div { padding-inline: 0.9rem; border-inline-start: 1px solid var(--pr-line); }
.pr-proj__specs div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.pr-proj__specs dt { color: var(--c-text-muted); font-size: 0.76rem; letter-spacing: 0.03em; }
.pr-proj__specs dd { margin: 0; color: var(--c-text-strong); font-size: 0.98rem; font-weight: 600; }

.pr-proj__foot {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-block-start: auto;
    padding-block-start: var(--s-4);
    border-top: 1px dashed var(--pr-line);
}

.pr-proj__btn { min-height: 44px; padding: 0.5rem 1.2rem; font-size: 0.92rem; }
.pr-projects__more { margin-block-start: var(--s-7); text-align: center; }

/* The catalogue's price, set in the display face. */
.cat-price__value { font-family: var(--font-display); font-weight: 700; color: var(--pr-cedar-deep); }
.cat-price__prefix { color: var(--c-text-muted); font-size: 0.85em; }
.pr-proj .cat-price__value { font-size: 1.45rem; }

/* -------------------------------------------------------------------------
   10. Shared blocks re-dressed
   ------------------------------------------------------------------------- */

.cms-feature .cms-card__title,
.cms-card__title { font-family: var(--font-display); }

.cms-badge-icon {
    border-radius: 50% !important;
    background: var(--pr-cedar-soft) !important;
    color: var(--pr-cedar-deep) !important;
}

:is(.cms-tone-dark, .cms-on-dark) .cms-badge-icon { background: color-mix(in srgb, var(--pr-cedar) 28%, var(--pr-ink-900)) !important; color: var(--pr-cedar-hi) !important; }

.cms-step__marker {
    border-radius: 50%;
    background: var(--pr-cedar);
    color: #fffaf1;
    font-family: var(--font-display);
}

.cms-step__title { font-family: var(--font-display); font-size: 1.3rem; }

.cms-stages { --cms-stages-accent: var(--pr-cedar); }
.cms-stages__bar-fill { background: var(--pr-cedar); }

.cms-stars__star { color: var(--pr-cedar); }
.cms-review.cms-card { border-top: 4px solid var(--pr-cedar); }
.cms-review__text { font-family: var(--font-display); font-size: 1.08rem; font-style: italic; line-height: 1.6; }
.cms-review__name { font-weight: 600; }

.cms-faq__question { font-family: var(--font-display); font-size: 1.12rem; }
.cms-faq__toggle { border-radius: 50%; }

.cms-contact__icon { border-radius: 50% !important; background: var(--pr-cedar-soft) !important; color: var(--pr-cedar-deep) !important; }
.cms-contact__title { font-family: var(--font-display); }
.cms-contacts--card .cms-contact.cms-card { border-top: 4px solid var(--pr-cedar); }

.cms-stat__value, .cms-stat__num { font-family: var(--font-display); }

/* calculator and price table */
.cms-calc, .cms-ptable { --calc-accent: var(--pr-cedar); }
.cms-calc__result, .cms-calc__total { font-family: var(--font-display); }
.cms-ptable__plan--featured, .cms-ptable__plan.is-featured { border-color: var(--pr-cedar); }

.cms-block--media_text .cms-media__img,
.cms-block--media_text img { border-radius: calc(var(--pr-r) * 2); }

/* -------------------------------------------------------------------------
   11. Design settings (theme.json → design.controls)
   ------------------------------------------------------------------------- */

html[data-parnaya-tone="walnut"]:root:root {
    --pr-ink-950: #1c120c;
    --pr-ink-900: #2c1c12;
    --pr-ink-800: #3a261a;
    --pr-ink-700: #4b3322;
}

html[data-parnaya-tone="pine"]:root:root {
    --pr-ink-950: #101a16;
    --pr-ink-900: #1a2a23;
    --pr-ink-800: #243830;
    --pr-ink-700: #30493f;
}

html[data-parnaya-paper="birch"]:root:root { --pr-paper: #f8f4ec; --pr-wood: #eee7d8; --pr-line: #ddd3bf; }
html[data-parnaya-paper="sand"]:root:root { --pr-paper: #eadfc9; --pr-wood: #ddcfb2; --pr-line: #c9b996; }

html[data-parnaya-buttons="outline"] .cms-btn--primary {
    background-color: transparent;
    color: var(--pr-cedar-deep);
    box-shadow: none;
}

html[data-parnaya-buttons="outline"] .cms-btn--primary:hover { background-color: var(--pr-cedar); border-color: var(--pr-cedar); color: #fffaf1; }

html[data-parnaya-buttons="outline"] :is(.cms-tone-dark, .cms-on-dark, .cms-tone-accent) .cms-btn--primary {
    background-color: transparent;
    color: var(--pr-cedar-hi);
}

html[data-parnaya-cards="plank"] .pr-type__arch,
html[data-parnaya-cards="plank"] .pr-proj__media,
html[data-parnaya-cards="plank"] .pr-hero__frame,
html[data-parnaya-cards="plank"] .pr-hero__arch::before { border-radius: var(--pr-r); }

html[data-parnaya-cards="plank"] .pr-hero__arch::before { inset: -10px 10px 10px -10px; }

html[data-parnaya-density="compact"]:root:root { --sp-md: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); --sp-lg: clamp(3rem, 2rem + 3.6vw, 5rem); }

@media (prefers-reduced-motion: reduce) {
    .pr-type, .pr-proj, .pr-type__img, .pr-proj__img { transition: none; }
    .pr-type:hover, .pr-proj:hover { transform: none; }
}

html[data-parnaya-grain="off"]:root:root { --pr-grain-dark: none; --pr-plank: var(--pr-cedar); }
html[data-parnaya-grain="off"] .site-header::before { height: 3px; }
