/*
Theme Name: dds_tapsoccer.com
Theme URI: https://tapsoccer.com/
Author: Алексей Громов
Description: Тема для информационно-аналитического портала об инвестициях в недвижимость: техпаспорт объекта поверх футбольного газона — миллиметровка, измерительные линии, штампы и кварталы доходности.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tpsc
*/

/* ---------- Шрифты ---------- */
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/oswald-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/oswald-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/oswald-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/oswald-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/oswald-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/oswald-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-sans-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-sans-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/ibm-plex-sans-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Переменные ---------- */
:root {
    --turf-deep: #12372A;
    --turf: #1B4D3E;
    --paper: #F2EDE0;
    --paper-shade: #E4DCC8;
    --ink: #17211C;
    --muted: #6F7A6E;
    --on-dark: #EDE7D6;
    --cone: #E8543F;
    --marker: #D9F05C;
    --graphite: #9AA88F;
    --hair: #B9C2AC;
    --ink-soft: #3A4640;
    --font-head: "Oswald", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
    --font-body: "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif;
    --torn-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20 L0.0 6.2 L5.8 10.5 L10.7 9.0 L19.1 2.8 L29.2 2.5 L38.4 2.9 L43.4 7.5 L57.4 3.6 L64.1 10.2 L79.4 9.5 L88.2 14.7 L92.7 13.2 L100.2 3.9 L105.6 6.0 L119.4 4.3 L130.4 10.3 L138.9 9.1 L143.6 2.8 L150.1 10.8 L159.2 6.1 L170.3 7.9 L177.9 12.3 L190.2 5.2 L201.1 8.8 L215.6 11.5 L223.1 14.7 L228.5 7.4 L241.6 4.0 L251.5 2.5 L263.5 11.9 L274.4 13.4 L282.1 11.0 L293.3 9.5 L302.7 12.9 L318.1 8.2 L330.0 2.8 L342.5 10.4 L358.4 12.7 L365.8 7.0 L377.8 2.3 L387.3 4.2 L392.8 2.8 L406.0 3.7 L412.9 7.1 L427.4 3.0 L436.8 9.1 L451.4 12.7 L465.8 5.6 L474.7 6.7 L489.4 14.5 L495.2 4.3 L501.9 5.0 L511.8 9.7 L518.9 2.1 L527.9 6.8 L538.7 14.4 L551.0 8.7 L562.4 10.8 L567.1 13.7 L580.4 13.4 L594.0 7.1 L602.8 3.3 L614.4 2.8 L619.2 4.7 L625.2 6.4 L629.8 2.0 L635.6 3.3 L644.0 2.3 L658.5 10.0 L664.3 5.3 L672.4 6.7 L677.9 13.0 L693.8 8.1 L703.6 3.1 L708.9 6.5 L716.0 12.8 L722.0 2.3 L737.4 8.9 L743.1 9.1 L747.5 8.9 L763.2 13.2 L775.6 5.4 L784.0 4.2 L797.2 8.9 L810.6 6.3 L817.2 12.5 L833.1 13.1 L846.7 12.6 L859.6 4.9 L869.8 6.6 L874.2 2.4 L881.5 5.4 L893.8 14.4 L903.2 14.2 L919.1 14.4 L927.4 4.9 L934.2 4.6 L940.6 10.1 L955.4 12.9 L965.2 10.5 L978.8 3.1 L990.7 13.8 L1000.0 11.8 L1000 20 Z'/%3E%3C/svg%3E");
    --torn-bot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0 L0.0 11.8 L6.1 7.7 L14.1 7.6 L29.8 12.9 L38.6 5.7 L51.3 15.8 L56.8 16.0 L71.7 7.5 L77.4 7.3 L93.2 9.5 L101.4 10.9 L107.0 17.8 L122.6 9.6 L133.0 5.9 L142.2 6.7 L156.1 15.3 L163.1 14.2 L170.0 10.4 L177.1 12.6 L182.7 6.2 L190.9 12.0 L201.9 6.2 L211.0 6.1 L221.0 11.1 L231.3 17.8 L240.5 15.6 L244.6 7.6 L250.7 11.8 L263.4 10.8 L271.3 11.3 L281.9 7.8 L287.2 10.7 L294.2 14.4 L307.5 11.4 L318.2 8.1 L333.2 12.2 L344.5 11.4 L354.6 9.0 L364.1 11.1 L373.8 5.8 L386.2 6.6 L401.5 14.6 L412.2 5.7 L426.3 16.2 L431.8 12.3 L436.6 14.9 L441.5 9.3 L454.9 6.3 L460.8 8.7 L472.7 16.1 L487.3 5.4 L493.9 5.6 L502.7 11.7 L518.6 7.2 L524.5 12.4 L534.7 13.6 L541.1 13.9 L553.7 17.7 L564.4 12.3 L568.6 13.7 L580.1 11.3 L584.8 5.2 L598.3 5.4 L603.6 14.5 L608.0 7.9 L615.3 16.3 L624.3 6.2 L638.2 14.6 L644.0 6.1 L654.8 8.9 L659.9 17.3 L672.1 12.5 L677.0 5.8 L688.6 7.6 L693.6 6.9 L698.4 6.8 L707.9 13.6 L718.5 6.0 L725.7 16.3 L736.1 14.9 L741.4 15.9 L746.0 15.4 L753.7 14.0 L766.8 14.2 L776.8 15.7 L785.0 17.8 L792.0 17.8 L804.8 10.8 L811.1 11.8 L826.3 16.6 L840.1 12.4 L850.1 7.2 L858.8 11.4 L871.0 5.2 L879.1 7.2 L891.6 9.7 L900.5 13.5 L905.1 16.3 L910.0 8.4 L917.0 15.9 L922.1 7.1 L936.5 9.3 L943.9 14.9 L951.4 12.0 L957.3 12.2 L964.5 5.5 L980.1 10.9 L987.1 5.4 L994.8 13.4 L998.8 13.0 L1000.0 11.5 L1000 0 Z'/%3E%3C/svg%3E");
    --cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 0V12M0 6H12' stroke='%239AA88F' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* ---------- Скрытые элементы (до основных стилей) ---------- */
.cookie-banner[hidden] { display: none !important; }

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }

body {
    margin: 0;
    overflow-x: hidden;
    font-family: var(--font-body);
    font-size: 16.5px;
    line-height: 1.62;
    color: var(--ink);
    background-color: var(--turf-deep);
    background-image:
        repeating-linear-gradient(90deg, rgba(27, 77, 62, .5) 0 90px, rgba(27, 77, 62, 0) 90px 180px),
        repeating-linear-gradient(60deg, rgba(237, 231, 214, .025) 0 1px, transparent 1px 11px),
        repeating-linear-gradient(-60deg, rgba(237, 231, 214, .025) 0 1px, transparent 1px 11px);
}

p, li, dd, dt, h1, h2, h3, h4, h5, h6, blockquote, figcaption, td, th, .card-title {
    overflow-wrap: break-word;
    hyphens: auto;
}
p { margin: 0 0 1em; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-head); font-weight: 500; line-height: 1.15; margin: 1.6em 0 .6em; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px dashed var(--cone); outline-offset: 3px; }

.shell { width: min(92%, 1240px); margin-inline: auto; }

.screen-reader-text {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
    position: absolute; left: 1rem; top: -3rem; z-index: 100;
    background: var(--marker); color: var(--ink); padding: .5rem 1rem; font-weight: 600; text-decoration: none;
}
.skip-link:focus { top: .6rem; }

/* ---------- Кнопка-штамп ---------- */
.stamp-btn {
    --btn-bg: var(--paper);
    --btn-line: var(--ink);
    display: inline-flex; align-items: center; justify-content: center;
    gap: .4rem;
    padding: .7rem 2.3rem .7rem 1.4rem;
    font-family: var(--font-head); font-weight: 500; font-size: .98rem;
    text-transform: uppercase; letter-spacing: .05em; line-height: 1.2;
    text-decoration: none; text-align: center;
    color: var(--btn-line);
    background-color: var(--btn-bg);
    background-image: linear-gradient(225deg, transparent 0 9.5px, var(--btn-line) 9.5px 11px, transparent 11px 13.5px, var(--btn-line) 13.5px 14.3px, transparent 14.3px);
    border: 1.5px solid var(--btn-line);
    border-radius: 0;
    box-shadow: inset 0 0 0 3px var(--btn-bg), inset 0 0 0 4px var(--btn-line);
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
    cursor: pointer;
    transition: background-color .15s, color .15s, transform .15s;
}
.stamp-btn:hover, .stamp-btn:focus-visible {
    --btn-bg: var(--ink);
    --btn-line: var(--paper);
    transform: translate(2px, -2px);
}
.stamp-btn--light { --btn-bg: var(--turf-deep); --btn-line: var(--on-dark); }
.stamp-btn--light:hover, .stamp-btn--light:focus-visible { --btn-bg: var(--marker); --btn-line: var(--ink); }
.stamp-btn--sm { padding: .5rem 1.9rem .5rem 1.05rem; font-size: .86rem; }

.tick-link {
    position: relative;
    font-family: var(--font-head); font-weight: 500; text-transform: uppercase; letter-spacing: .05em;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
    padding-left: 1.1rem;
}
.tick-link::before {
    content: "×"; position: absolute; left: 0; top: 0; color: var(--cone); text-decoration: none;
}
.tick-link:hover { color: var(--cone); }

/* ---------- Шапка ---------- */
.masthead { color: var(--on-dark); padding: 1.6rem 0 2.6rem; position: relative; }
.masthead::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(154, 168, 143, .09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154, 168, 143, .09) 1px, transparent 1px);
    background-size: 64px 64px;
}
.masthead-row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; position: relative; z-index: 2; }
.brand { display: flex; align-items: center; gap: 1.2rem; text-decoration: none; color: var(--on-dark); min-width: 0; flex: 1 1 auto; max-width: 760px; }
.brand-mark { flex: 0 0 auto; display: block; line-height: 0; }
.brand-svg, .brand-logo { display: block; width: 96px; height: auto; max-height: 110px; }
.brand-text { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.brand-name {
    font-family: var(--font-head); font-weight: 500;
    font-size: clamp(1.15rem, .95rem + .75vw, 1.7rem);
    line-height: 1.12; letter-spacing: -.01em;
}
.brand-name, .brand-desc { overflow-wrap: break-word; hyphens: manual; }
.brand-desc { font-size: .86rem; line-height: 1.45; color: var(--hair); }
.brand:hover .brand-name { color: #fff; }

.nav-toggle { display: none; }
.topnav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2rem; flex-wrap: wrap; justify-content: flex-end; }
.topnav-link {
    display: inline-block;
    font-family: var(--font-head); font-weight: 400; font-size: 1.18rem; letter-spacing: -.005em;
    color: var(--on-dark); text-decoration: none;
    padding: .15rem 0 .25rem;
    border-bottom: 1px solid rgba(237, 231, 214, .38);
    transition: color .15s, border-color .15s;
}
.topnav-link:hover { color: var(--marker); border-color: var(--marker); }
.current-menu-item > .topnav-link { border-bottom: 2px solid var(--on-dark); }

/* ---------- Полосы главной ---------- */
.band { position: relative; padding: 4.4rem 0 4.6rem; }
.band--paper, .sheet {
    z-index: 1;
    margin-block: -16px;
    color: var(--ink);
    background-color: var(--paper);
    background-image:
        linear-gradient(rgba(154, 168, 143, .26) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154, 168, 143, .26) 1px, transparent 1px),
        linear-gradient(rgba(185, 194, 172, .2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(185, 194, 172, .2) 1px, transparent 1px);
    background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
    -webkit-mask: var(--torn-top) top / 100% 18px no-repeat, linear-gradient(#000, #000) 0 17px / 100% calc(100% - 34px) no-repeat, var(--torn-bot) bottom / 100% 18px no-repeat;
    mask: var(--torn-top) top / 100% 18px no-repeat, linear-gradient(#000, #000) 0 17px / 100% calc(100% - 34px) no-repeat, var(--torn-bot) bottom / 100% 18px no-repeat;
}
.band--paper::before {
    content: ""; position: absolute; top: 34px; bottom: 34px; left: 28px; right: 28px;
    border-left: 1px solid rgba(23, 33, 28, .28); border-right: 1px solid rgba(23, 33, 28, .28);
    pointer-events: none;
}
.band--turf { color: var(--on-dark); padding: 4.6rem 0 4.8rem; }
.band--turf::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(154, 168, 143, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154, 168, 143, .07) 1px, transparent 1px);
    background-size: 64px 64px;
}
.band > * { position: relative; }
.band-footnote { margin: 2.4rem 0 0; font-size: .82rem; color: var(--muted); }

/* Заголовок секции — пункт техпаспорта */
.sec-head, .page-head { display: flex; align-items: baseline; gap: 1rem; margin: 0 0 2.2rem; }
.sec-num { font-family: var(--font-head); font-weight: 400; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); line-height: 1; }
.sec-title, .page-title {
    margin: 0;
    font-family: var(--font-head); font-weight: 500;
    font-size: clamp(1.55rem, 1.15rem + 1.5vw, 2.45rem);
    text-transform: uppercase; letter-spacing: -.01em; line-height: 1.05;
}
.sec-rule {
    flex: 1 1 60px; align-self: center; position: relative;
    height: 1px; background: currentColor; opacity: .75; min-width: 40px;
}
.sec-rule::before { content: ""; position: absolute; left: 0; top: -5px; width: 1px; height: 11px; background: currentColor; }
.sec-rule::after {
    content: ""; position: absolute; right: -1px; top: -4px;
    border-left: 9px solid currentColor; border-top: 4.5px solid transparent; border-bottom: 4.5px solid transparent;
}
.sec-head--light { color: var(--on-dark); }

/* ---------- 01. Сравнение сегментов ---------- */
.segs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seg { position: relative; padding: 0 2.2rem; min-width: 0; display: flex; flex-direction: column; }
.seg:first-child { padding-left: 0; }
.seg:last-child { padding-right: 0; }
.seg + .seg { border-left: 1px solid rgba(23, 33, 28, .55); }
.seg + .seg::before {
    content: ""; position: absolute; left: -34px; top: 118px; width: 68px; height: 12px;
    background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68 12'%3E%3Cpath d='M1 1V11M67 1V11M2 6H66M2 6l7-4M2 6l7 4M66 6l-7-4M66 6l-7 4' fill='none' stroke='%2317211C' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.seg-name { margin: 0 0 1rem; font-size: 1.4rem; text-transform: uppercase; letter-spacing: -.005em; }
.seg-fig { margin: 0 0 1.3rem; }
.seg-fig img { display: block; width: 100%; height: 190px; object-fit: contain; object-position: left bottom; }
.gauge, .risk { margin-bottom: 1rem; }
.gauge-label { display: block; font-size: .98rem; margin-bottom: .2rem; }
.gauge-ticks { list-style: none; margin: 0 0 .2rem; padding: 0; display: flex; justify-content: space-between; font-size: .72rem; color: var(--muted); }
.gauge-ticks li { width: 2.2em; text-align: center; }
.gauge-ticks li:first-child { text-align: left; }
.gauge-ticks li:last-child { text-align: right; }
.gauge-bar, .risk-bar {
    position: relative; height: 22px;
    border: 1px solid rgba(23, 33, 28, .75);
    background-color: rgba(242, 237, 224, .7);
}
.gauge-bar {
    background-image: repeating-linear-gradient(90deg, transparent 0 calc(20% - 1px), rgba(23, 33, 28, .55) calc(20% - 1px) 20%);
}
.gauge-fill {
    position: absolute; top: 3px; bottom: 3px;
    left: calc(var(--from) / 15 * 100%);
    width: calc((var(--to) - var(--from)) / 15 * 100%);
    background-color: var(--marker);
    background-image: repeating-linear-gradient(-45deg, rgba(23, 33, 28, .2) 0 1.5px, transparent 1.5px 6px);
}
.gauge-val { display: block; margin-top: .3rem; font-size: .8rem; color: var(--muted); }
.risk-fill {
    position: absolute; top: 0; bottom: 0; left: 0; width: var(--risk);
    border-right: 1px solid var(--ink);
    background-image: repeating-linear-gradient(-55deg, var(--ink) 0 1.1px, transparent 1.1px 8px);
}
.risk-fill--mid { background-image: repeating-linear-gradient(-55deg, var(--ink) 0 1.1px, transparent 1.1px 5.5px); }
.risk-fill--high { background-image: repeating-linear-gradient(-55deg, var(--ink) 0 1.2px, transparent 1.2px 3.8px); }
.seg-payback { margin: .2rem 0 .5rem; font-family: var(--font-head); font-weight: 500; font-size: 1.15rem; }
.seg-note { margin: 0; font-size: .9rem; color: var(--ink-soft); }

/* ---------- 02. Карта доходности ---------- */
.yieldmap-grid { display: grid; grid-template-columns: minmax(0, 1fr) 160px 130px; gap: 3rem; align-items: center; }
.pitch { margin: 0; min-width: 0; }
.pitch-map { position: relative; }
.pitch img {
    display: block; width: 100%; height: auto; aspect-ratio: 1580 / 660; object-fit: cover;
    outline: 1px solid rgba(237, 231, 214, .35); outline-offset: 7px;
}
.pitch-tag {
    position: absolute; left: var(--x); top: var(--y);
    transform: translate(-50%, -50%);
    font-family: var(--font-head); font-weight: 500; font-size: clamp(.9rem, .6rem + 1vw, 1.45rem);
    line-height: 1.05; text-align: center; color: var(--on-dark);
    text-shadow: 0 1px 0 rgba(0, 0, 0, .6), 0 0 14px rgba(18, 55, 42, .9);
    pointer-events: none;
}
.pitch-tag b { display: block; font-weight: 500; font-size: 1.12em; margin-top: .15em; }
.pitch figcaption { margin-top: 1.2rem; font-size: .86rem; color: var(--hair); max-width: 62ch; }
.legend-title { display: block; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; color: var(--hair); margin-bottom: .8rem; }
.legend-scale { list-style: none; margin: 0; padding: 0; }
.legend-scale li { display: flex; align-items: center; gap: 1rem; margin-bottom: .45rem; }
.legend-scale li::before {
    content: ""; flex: 0 0 56px; height: 40px; background: var(--sw);
    border: 1px solid rgba(237, 231, 214, .25);
}
.legend-scale span { font-family: var(--font-head); font-size: 1.3rem; color: var(--on-dark); }
.legend-scale li:first-child span { background: linear-gradient(transparent 56%, rgba(217, 240, 92, .45) 56%); padding: 0 .15rem; }
.compass { display: flex; justify-content: center; border-left: 1px solid rgba(237, 231, 214, .25); padding-left: 1.5rem; }
.compass svg { display: block; width: 110px; height: auto; }

/* ---------- 03. Карточки записей ---------- */
.cards { display: grid; gap: 2rem; }
.cards--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards--three:has(> .card:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; }
.card {
    display: flex; flex-direction: column;
    position: relative; min-width: 0;
    padding: 14px;
    background-color: var(--paper);
    background-image: var(--cross), var(--cross), var(--cross), var(--cross);
    background-position: 0 0, 100% 0, 0 100%, 100% 100%;
    background-size: 11px 11px;
    background-repeat: no-repeat;
    border: 1px solid var(--graphite);
    box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 6px var(--graphite);
    transition: transform .18s, box-shadow .18s;
}
.card:hover {
    transform: translate(-3px, -3px);
    box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 6px var(--graphite), 5px 5px 0 rgba(23, 33, 28, .85);
}
.card-thumb { position: relative; padding: 5px; border: 1px solid var(--graphite); }
.card-thumb::before, .card-thumb::after {
    content: ""; position: absolute; width: 11px; height: 11px; background: var(--cross) center / contain no-repeat; z-index: 1;
}
.card-thumb::before { left: -6px; top: -6px; }
.card-thumb::after { right: -6px; bottom: -6px; }
.card-thumb a { display: block; }
.card-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 2.9 / 1; object-fit: cover; }
.card-body { flex: 1; display: flex; flex-direction: column; min-width: 0; padding: 1rem .3rem .3rem; }
.card-pin {
    align-self: flex-start; margin-bottom: .55rem;
    font-family: var(--font-head); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em;
    color: var(--cone); border: 1px solid var(--cone); padding: .05rem .45rem;
}
.card-title { margin: 0 0 .45rem; font-size: 1.24rem; line-height: 1.22; letter-spacing: -.005em; }
.card-title a { color: var(--ink); text-decoration: none; }
.card-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--cone); }
.card-excerpt { font-size: .92rem; line-height: 1.5; color: var(--ink-soft); margin-bottom: 1rem; }
.card-excerpt p { margin: 0 0 .5em; background: none; }
.card-foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.card-date { font-size: .8rem; color: var(--muted); }
.latest-more { margin: 2.2rem 0 0; text-align: right; }
.empty-note { font-size: 1rem; color: var(--muted); }

/* ---------- 04. Анатомия сделки ---------- */
.deal { overflow: hidden; }
.deal-body {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 1fr) 120px;
    gap: 0 2.6rem;
    align-items: stretch;
    padding-right: calc((100% - min(85%, 1240px)) / 2);
}
.deal-fig { margin: 0 0 0 -3%; min-width: 0; }
.deal-fig img {
    display: block; width: 100%; height: auto;
    mix-blend-mode: lighten;
    -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 82%, transparent 100%);
}
.deal-callouts {
    list-style: none; margin: 0; padding: .4rem 0;
    display: flex; flex-direction: column; justify-content: space-around; gap: 1rem;
    min-width: 0;
}
.deal-callouts li { position: relative; }
.deal-callouts li::before {
    content: ""; position: absolute; top: .78em; right: calc(100% + 1rem);
    width: clamp(2.5rem, 6vw, 7rem); height: 1px; background: var(--on-dark);
}
.deal-callouts li::after {
    content: ""; position: absolute; top: calc(.78em - 3.5px); right: calc(100% + .55rem);
    border-left: 7px solid var(--on-dark); border-top: 4px solid transparent; border-bottom: 4px solid transparent;
}
.deal-term { display: block; font-family: var(--font-head); font-weight: 500; font-size: 1.35rem; line-height: 1.2; color: var(--on-dark); }
.deal-text { display: block; font-size: .88rem; line-height: 1.5; color: var(--hair); max-width: 38ch; }
.years { display: flex; flex-direction: column; min-width: 0; }
.years-title { font-family: var(--font-head); font-size: 1.25rem; margin-bottom: .8rem; }
.years-scale {
    list-style: none; margin: 0; padding: 0; flex: 1;
    display: flex; flex-direction: column; justify-content: space-between;
    border-left: 4px solid var(--marker);
    min-height: 320px;
}
.years-scale li { position: relative; padding-left: 1.7rem; font-family: var(--font-head); font-size: 1rem; line-height: 1; color: var(--on-dark); }
.years-scale li::before { content: ""; position: absolute; left: 0; top: .5em; width: 1.1rem; height: 1px; background: var(--on-dark); }
.years-scale li.is-mark { color: var(--marker); font-weight: 600; }
.years-scale li.is-mark::before { height: 2px; background: var(--marker); }

/* ---------- 05. Угрозы ---------- */
.threat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.2rem; }
.threat {
    display: grid; grid-template-columns: 52px minmax(0, auto) minmax(0, 1fr);
    align-items: center; gap: .6rem 1.4rem;
    padding: 1rem 5rem 1rem 1.3rem;
    color: var(--ink);
    background-color: var(--paper);
    background-image: repeating-linear-gradient(-55deg, rgba(232, 84, 63, .85) 0 1.2px, transparent 1.2px 7px);
    background-position: right top; background-size: 4rem 100%; background-repeat: no-repeat;
    border: 1.5px solid var(--ink);
    box-shadow: inset 0 0 0 4px var(--paper), inset 0 0 0 5px rgba(232, 84, 63, .7);
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
    min-width: 0;
}
.threat--a { width: 68%; margin-inline-start: 0; }
.threat--b { width: 58%; margin-inline-start: 26%; }
.threat--c { width: 84%; margin-inline-start: 13%; }
.threat-ico { display: block; color: var(--cone); }
.threat-name { margin: 0; font-size: 1.45rem; text-transform: uppercase; letter-spacing: -.005em; white-space: nowrap; }
.threat-text { margin: 0; font-size: .92rem; color: var(--ink-soft); }

/* ---------- Внутренние страницы ---------- */
.sheet { position: relative; padding: 3.6rem 0 4.4rem; margin-bottom: 0; }
.crumbs { font-size: .86rem; color: var(--muted); margin-bottom: 1.8rem; }
.crumbs a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--graphite); }
.crumbs a:hover { text-decoration-color: var(--cone); }
.crumbs-sep { color: var(--cone); margin: 0 .25rem; }

.layout-with-sidebar { display: grid; grid-template-columns: minmax(0, 67fr) minmax(0, 27fr); column-gap: 6%; align-items: start; }
.layout-single { display: block; }
.layout-single > .content-area { width: 85%; margin-left: auto; margin-right: auto; }
.content-area { min-width: 0; }
.page-head { margin-bottom: 2rem; }
.archive-desc { margin: -1rem 0 2rem; color: var(--ink-soft); }

.entry-head { margin-bottom: 1.6rem; }
.entry-title {
    margin: 0 0 .7rem;
    font-family: var(--font-head); font-weight: 500;
    font-size: clamp(1.8rem, 1.3rem + 1.9vw, 2.8rem);
    line-height: 1.08; letter-spacing: -.012em; text-transform: uppercase;
}
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; font-size: .85rem; color: var(--muted); padding-bottom: .9rem; border-bottom: 1px solid var(--graphite); }
.entry-cats { display: flex; flex-wrap: wrap; gap: .4rem; }
.entry-cats a, .entry-tags a {
    font-family: var(--font-head); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em;
    color: var(--ink); text-decoration: none; border: 1px solid var(--graphite); padding: .12rem .5rem;
}
.entry-cats a:hover, .entry-tags a:hover { background: var(--marker); border-color: var(--ink); }
.entry-cover { margin: 0 0 2rem; padding: 6px; border: 1px solid var(--graphite); background-color: var(--paper); }
.entry-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.entry-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }

.entry-content { font-size: 1.04rem; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.1em; }
.entry-content h2 { font-size: 1.7rem; text-transform: uppercase; letter-spacing: -.005em; margin: 2.2rem 0 .9rem; padding-bottom: .35rem; border-bottom: 1px solid var(--graphite); }
.entry-content h3 { font-size: 1.35rem; margin: 1.8rem 0 .7rem; }
.entry-content h4 { font-size: 1.15rem; margin: 1.5rem 0 .6rem; }
.entry-content a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--cone); }
.entry-content a:hover { background: linear-gradient(transparent 60%, rgba(217, 240, 92, .7) 60%); }
.entry-content ul, .entry-content ol { margin: 0 0 1.2em; padding-left: 1.4rem; }
.entry-content li { margin-bottom: .35em; }
.entry-content ul { list-style: none; padding-left: 1.5rem; }
.entry-content ul > li { position: relative; }
.entry-content ul > li::before { content: "×"; position: absolute; left: -1.2rem; top: 0; color: var(--cone); font-weight: 600; }
.entry-content ol { padding-left: 1.6rem; }
.entry-content ol > li::marker { font-family: var(--font-head); color: var(--cone); }
.entry-content blockquote {
    margin: 1.8rem 0; padding: 1.4rem 1.7rem;
    background-color: var(--turf-deep); color: var(--on-dark);
    border-left: 5px solid var(--marker);
    font-size: 1.08rem;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content blockquote cite { display: block; margin-top: .6rem; font-size: .85rem; color: var(--hair); font-style: normal; }
.entry-content blockquote a { color: var(--marker); }
.entry-content table { width: 100%; border-collapse: collapse; margin: 1.6rem 0; font-size: .95rem; border: 1px solid var(--graphite); }
.entry-content th, .entry-content td { border: 1px solid var(--graphite); padding: .6rem .8rem; text-align: left; vertical-align: top; }
.entry-content th { background-color: var(--paper-shade); font-family: var(--font-head); font-weight: 500; text-transform: uppercase; letter-spacing: .03em; }
.entry-content .wp-block-table { overflow-x: auto; margin: 1.6rem 0; }
.entry-content figure { margin: 1.6rem 0; }
.entry-content figcaption { font-size: .85rem; color: var(--muted); margin-top: .5rem; }
.entry-content img { display: block; height: auto; }
.entry-content pre { background: var(--ink); color: var(--on-dark); padding: 1rem 1.2rem; overflow-x: auto; font-size: .88rem; }
.entry-content code { background: var(--paper-shade); padding: .05em .3em; font-size: .92em; }
.entry-content pre code { background: none; padding: 0; }
.entry-content hr { border: 0; height: 1px; background: var(--graphite); margin: 2.2rem 0; }
.page-links { margin-top: 1.5rem; font-family: var(--font-head); }

.post-navigation { margin-top: 2.6rem; }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.post-navigation a { display: block; height: 100%; text-decoration: none; color: var(--ink); padding: 1rem 1.2rem; border: 1px solid var(--graphite); background-color: rgba(228, 220, 200, .45); }
.post-navigation a:hover { border-color: var(--ink); background-color: var(--paper-shade); }
.post-navigation .nav-next { text-align: right; grid-column: 2; }
.pn-label { display: block; font-family: var(--font-head); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: .3rem; }
.pn-title { display: block; font-weight: 500; line-height: 1.35; }

/* ---------- Сайдбар ---------- */
.sidebar {
    min-width: 0; align-self: start;
    color: var(--ink);
    background-color: var(--paper-shade);
    border: 1px solid var(--graphite);
    box-shadow: inset 0 0 0 5px var(--paper-shade), inset 0 0 0 6px rgba(154, 168, 143, .8);
    padding: 1.6rem 1.5rem;
}
.sidebar .wbox + .wbox { margin-top: 2rem; }
.sidebar .wbox-title { margin: 0 0 1rem; padding-bottom: .5rem; font-size: 1.15rem; text-transform: uppercase; letter-spacing: .02em; color: var(--ink); border-bottom: 1px solid var(--ink); }
.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar li { padding: .55rem 0; border-bottom: 1px dashed rgba(23, 33, 28, .3); font-size: .93rem; line-height: 1.4; }
.sidebar li:last-child { border-bottom: 0; }
.sidebar a { color: var(--ink); text-decoration: none; }
.sidebar a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--cone); text-underline-offset: 3px; }
.sidebar .post-date, .sidebar .rss-date { display: block; font-size: .8rem; color: #59645A; }
.sidebar p, .sidebar .textwidget { color: var(--ink-soft); font-size: .93rem; }

/* ---------- Пагинация ---------- */
.pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 2.8rem 0 0; }
.pager .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2.7rem; height: 2.7rem; padding: 0 .75rem;
    font-family: var(--font-head); font-size: 1rem;
    color: var(--ink); text-decoration: none;
    background-color: var(--paper);
    border: 1.5px solid var(--ink);
    box-shadow: inset 0 0 0 3px var(--paper), inset 0 0 0 4px rgba(23, 33, 28, .35);
}
.pager a.page-numbers:hover { background-color: var(--marker); box-shadow: inset 0 0 0 3px var(--marker), inset 0 0 0 4px var(--ink); }
.pager .page-numbers.current { background-color: var(--ink); color: var(--paper); box-shadow: inset 0 0 0 3px var(--ink), inset 0 0 0 4px var(--paper); }
.pager .page-numbers.dots { border: 0; box-shadow: none; background: none; min-width: auto; }

/* ---------- Поиск и формы ---------- */
.finder { display: flex; gap: .7rem; margin: 1.4rem 0; max-width: 560px; }
.finder-input, .remarks input[type="text"], .remarks input[type="email"], .remarks input[type="url"], .remarks textarea {
    flex: 1; min-width: 0; width: 100%;
    padding: .72rem .9rem;
    background-color: #FAF7EE; color: var(--ink);
    border: 1.5px solid var(--ink); border-radius: 0;
}
.finder-input:focus, .remarks input:focus, .remarks textarea:focus { outline: 2px solid var(--marker); outline-offset: 0; border-color: var(--ink); }
.finder-btn { flex: 0 0 auto; }
.sidebar .finder { flex-direction: column; }

.lost { text-align: left; }
.lost-code {
    margin: 0; font-family: var(--font-head); font-weight: 600; font-size: clamp(5rem, 3rem + 8vw, 9rem); line-height: 1;
    color: transparent; -webkit-text-stroke: 2px var(--cone);
}
.lost > p > .stamp-btn { margin-top: .6rem; }

/* ---------- Комментарии ---------- */
.remarks { margin-top: 3rem; padding-top: 1.8rem; border-top: 1px solid var(--graphite); }
.remarks-title, .comment-reply-title { font-family: var(--font-head); font-size: 1.45rem; text-transform: uppercase; margin: 0 0 1.2rem; }
.remarks-list, .remarks-list .children { list-style: none; margin: 0; padding: 0; }
.remarks-list .children { padding-left: 1.6rem; }
.remark { margin-bottom: 1rem; }
.remark-body { padding: 1rem 1.2rem; border-left: 3px solid var(--graphite); background-color: rgba(228, 220, 200, .4); }
.remark-head { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem .9rem; margin-bottom: .5rem; }
.remark-ava { border-radius: 0; display: block; }
.remark-author { font-weight: 600; }
.remark-date { font-size: .8rem; color: var(--muted); }
.remark-wait { font-size: .88rem; color: var(--cone); margin: 0 0 .5rem; }
.remark-text p:last-child { margin-bottom: 0; }
.remark-reply { margin-top: .5rem; }
.remark-reply a { font-family: var(--font-head); font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink); }
.comment-respond { margin-top: 2rem; }
.comment-form p { margin: 0 0 1rem; }
.comment-form label { display: block; font-size: .9rem; margin-bottom: .3rem; }
.comment-form-cookies-consent { display: flex; gap: .5rem; align-items: flex-start; }
.comment-form-cookies-consent label { display: inline; }
.form-note { font-size: .86rem; color: var(--muted); }
.req { color: var(--cone); }
.comment-navigation .nav-links { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0; }

/* ---------- Подвал ---------- */
.basement { position: relative; color: var(--on-dark); padding: 4rem 0 2.2rem; }
.basement-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.basement-col { min-width: 0; }
.basement .wbox-title { margin: 0 0 .9rem; font-size: 1.5rem; text-transform: uppercase; letter-spacing: -.005em; color: var(--on-dark); }
.basement .wbox, .basement .textwidget, .basement p { color: #CBD1C0; font-size: .92rem; }
.basement a { color: var(--on-dark); text-decoration: none; }
.basement a:hover { color: var(--marker); }
.basement ul { list-style: none; margin: 0; padding: 0; }
.basement li { position: relative; padding: .2rem 0 .2rem 1.3rem; font-size: .92rem; }
.basement li::before { content: "×"; position: absolute; left: 0; top: .2rem; color: var(--graphite); }
.basement .post-date { display: block; font-size: .8rem; color: var(--hair); }
.basement-copy { margin: 2.8rem 0 0; padding-top: 1.6rem; border-top: 1px solid rgba(154, 168, 143, .55); text-align: center; font-size: .82rem; color: var(--hair); }

/* ---------- Cookie-баннер ---------- */
.cookie-banner {
    position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 60;
    color: var(--on-dark);
    background-color: var(--turf-deep);
    border: 1px solid var(--graphite);
    box-shadow: inset 0 0 0 4px var(--turf-deep), inset 0 0 0 5px rgba(154, 168, 143, .5), 0 12px 32px rgba(0, 0, 0, .35);
    padding: 1.1rem 1.4rem;
}
.cookie-banner-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1.4rem; }
.cookie-banner-text { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--on-dark); }
.cookie-banner-btn { flex: 0 0 auto; }

/* ---------- WordPress ---------- */
.alignleft { float: left; margin: .3rem 1.4rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.4rem; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, .gallery-caption { font-size: .85rem; color: var(--muted); }
.sticky .card-title { color: var(--ink); }
.bypostauthor > .remark-body { border-left-color: var(--cone); }

/* ---------- Десктоп: ширина главной ---------- */
@media (min-width: 961px) {
    .shell { width: min(85%, 1240px); }
}

/* ---------- Планшет ---------- */
@media (max-width: 960px) {
    .masthead { padding: 1.2rem 0 2.2rem; }
    .masthead-row { flex-wrap: wrap; gap: 1rem; }
    .brand { flex: 1 1 0; }
    .brand-svg, .brand-logo { width: 72px; }
    .nav-toggle {
        display: inline-flex; align-items: center; gap: .55rem;
        padding: .55rem .9rem; background: transparent; color: var(--on-dark);
        border: 1px solid rgba(237, 231, 214, .6); cursor: pointer;
        font-family: var(--font-head); text-transform: uppercase; letter-spacing: .06em;
    }
    .nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after { display: block; width: 20px; height: 2px; background: var(--on-dark); position: relative; }
    .nav-toggle-bars::before, .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
    .nav-toggle-bars::before { top: -6px; }
    .nav-toggle-bars::after { top: 6px; }
    .topnav { display: none; flex-basis: 100%; }
    .topnav.is-open { display: block; }
    .topnav-list { flex-direction: column; gap: 0; padding-top: .6rem; }
    .topnav-link { display: block; padding: .7rem 0; border-bottom: 1px solid rgba(237, 231, 214, .2); }
    .current-menu-item > .topnav-link { border-bottom: 1px solid var(--on-dark); color: var(--marker); }

    .band--paper::before { display: none; }
    .segs-grid { grid-template-columns: minmax(0, 1fr); }
    .seg, .seg:first-child, .seg:last-child { padding: 1.8rem 0; }
    .seg:first-child { padding-top: 0; }
    .seg + .seg { border-left: 0; border-top: 1px solid rgba(23, 33, 28, .55); }
    .seg + .seg::before { left: 50%; top: -6px; transform: translateX(-50%); }
    .seg-fig img { height: 170px; object-position: center bottom; }

    .yieldmap-grid { grid-template-columns: minmax(0, 1fr) 120px; gap: 2rem; }
    .pitch { grid-column: 1 / -1; }
    .legend-scale { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
    .legend-scale li { margin: 0; gap: .5rem; }
    .legend-scale li::before { flex-basis: 34px; height: 26px; }
    .legend-scale span { font-size: 1.05rem; }

    .cards--three, .cards--three:has(> .card:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .deal-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding-right: 4%; padding-left: 4%; gap: 1.6rem 2rem; }
    .deal-fig { margin: 0; grid-column: 1 / -1; }
    .deal-fig img { -webkit-mask-image: none; mask-image: none; }
    .deal-callouts li { padding-left: 1rem; border-left: 2px solid var(--marker); }
    .deal-callouts li::before, .deal-callouts li::after { display: none; }
    .years-scale { min-height: 280px; }

    .threat--a, .threat--b, .threat--c { width: 100%; margin-inline-start: 0; }

    .layout-with-sidebar { grid-template-columns: minmax(0, 1fr); row-gap: 2.6rem; }
    .layout-single > .content-area { width: 100%; }
    .basement-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem; }
}

/* ---------- Мобильные ---------- */
@media (max-width: 600px) {
    body { font-size: 16px; }
    .band { padding: 3.4rem 0 3.6rem; }
    .brand { gap: .8rem; flex-basis: 100%; }
    .nav-toggle { margin-left: auto; }
    .brand-svg, .brand-logo { width: 56px; }
    .brand-desc { font-size: .8rem; }
    .sec-head, .page-head { gap: .6rem; margin-bottom: 1.6rem; flex-wrap: wrap; }
    .sec-rule { flex-basis: 100%; }

    .yieldmap-grid { grid-template-columns: minmax(0, 1fr); }
    .compass { border-left: 0; padding-left: 0; justify-content: flex-start; }
    .compass svg { width: 72px; }
    .pitch-tag { font-size: .78rem; }

    .cards--three, .cards--two, .cards--three:has(> .card:nth-child(4)) { grid-template-columns: minmax(0, 1fr); }

    .deal-body { grid-template-columns: minmax(0, 1fr); }
    .years-scale {
        flex-direction: row; min-height: 0;
        border-left: 0; border-top: 4px solid var(--marker);
    }
    .years-scale li { padding: .8rem 0 0; }
    .years-scale li::before { left: 50%; top: 0; width: 1px; height: .55rem; }
    .years-scale li.is-mark::before { width: 2px; }

    .threat { grid-template-columns: 44px minmax(0, 1fr); padding: .9rem 3.4rem .9rem 1rem; background-size: 2.6rem 100%; }
    .threat-ico { width: 40px; height: 40px; }
    .threat-name { font-size: 1.2rem; white-space: normal; }
    .threat-text { grid-column: 1 / -1; }

    .entry-content blockquote { padding: 1.1rem 1.2rem; }
    .post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); }
    .post-navigation .nav-next { grid-column: auto; }
    .basement-cols { grid-template-columns: minmax(0, 1fr); }
    .finder { flex-direction: column; }
    .cookie-banner { left: .6rem; right: .6rem; bottom: .6rem; padding: 1rem 1.1rem; }
    .cookie-banner-inner { flex-direction: column; align-items: flex-start; gap: .9rem; }
}
