

.ms-grid{--cols:4;--gap:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.ms-grid > *{flex:0 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:0}
@media (max-width:1100px){.ms-grid > *{flex-basis:calc((100% - 2 * var(--gap)) / 3)}}
@media (max-width:760px){.ms-grid > *{flex-basis:calc((100% - var(--gap)) / 2)}}
@media (max-width:460px){.ms-grid > *{flex-basis:100%}}
/* even — ровные ряды: карточки одной высоты, неполный последний ряд
   центрируется базовым justify-content. Правило существует и потому, что
   класс без единого правила в CSS означает потерянный при порте стиль, и
   общий свод справедливо на это краснеет. */
.ms-grid.even{align-items:stretch}
.ms-grid.even > *{flex-grow:0}
.ms-grid.rail{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}
.ms-grid.rail > *{scroll-snap-align:start;flex:0 0 260px}
[hidden]{display:none!important}

.ms-tscroll{overflow-x:auto;max-width:100%;min-width:0}
table.ms-t{width:100%;border-collapse:collapse;min-width:560px}
table.ms-t td.num{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:640px){
 table.ms-t{min-width:0}
 table.ms-t thead{position:absolute;left:-9999px}
 table.ms-t tr{display:block;margin-bottom:12px}
 table.ms-t td{display:flex;justify-content:space-between;gap:12px}
 table.ms-t td::before{content:attr(data-label);font-weight:600}
}

.ms-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.ms-pager{display:flex;gap:8px;flex-wrap:wrap}
.ms-filters{display:flex;gap:8px;flex-wrap:wrap}
.ms-chip[aria-pressed="true"]{font-weight:600}
.ms-field{display:flex;flex-direction:column;gap:6px}
.ms-zoom{border:0;padding:0;max-width:96vw;max-height:96vh}
.ms-zoom img{display:block;max-width:96vw;max-height:96vh;height:auto}
.ms-gal{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.ms-gal > *{flex:0 1 calc((100% - 32px) / 3);min-width:0}
@media (max-width:700px){.ms-gal > *{flex-basis:100%}}
.ms-shot-link{position:relative;display:block}
.ms-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}
.ms-card{display:flex;flex-direction:column;min-width:0}


@font-face{font-family:"Cormorant";src:url(/_next/static/media/cormorant.d80df8ff.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Mulish";src:url(/_next/static/media/mulish.8d1d33d6.woff2) format("woff2");font-weight:300 900;font-display:swap}

:root{
 --navy:#182858;--navy-deep:#0F1A3C;--gold:#D9A441;--brass:#C88858;--gold-ink:#805610;--gold-btn:#B7821D;
 --plum:#5B3A8C;--plum-ink:#4E3179;--forest:#2F5D4B;--rust:#A04A2B;
 --paper:#FBF8F2;--panel:#F2ECE1;--panel2:#E8E0D2;--ink:#141A2E;--ink2:#4A5166;--line:#D9D2C4;
 --on-dark:#FBF8F2;--on-dark2:#C9CFE0;--star-on:#805610;--star-off:#BDB3A0;
 --serif:"Cormorant",Georgia,"Times New Roman",serif;--sans:"Mulish","Segoe UI",Arial,sans-serif;
 --wrap:1240px;--gut:24px;--r:6px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
/* потолок фида 500px (§4.2): кадр товара никогда не рисуется шире файла */
img[src^="/uploads/"]:not([src*="/banners/"]){max-width:min(100%,500px);margin-inline:auto}
a{color:var(--gold-ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:.005em}
h2{font-size:clamp(30px,3.6vw,44px)}
h3{font-size:24px}
p{margin:0 0 1em}
.ms-wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
.ms-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ms-moon{width:.8em;height:.8em;vertical-align:-.1em;color:var(--gold);flex:0 0 auto}

/* ---------------------------------------------------------------- шапка */
.ms-head{background:var(--navy);color:var(--on-dark);border-top:4px solid var(--gold)}
.ms-head-top .ms-wrap{display:flex;justify-content:center;padding:18px 0 10px}
.ms-mark{color:inherit;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:2px}
.ms-wm{font-family:var(--serif);font-weight:600;font-size:40px;letter-spacing:.18em;line-height:1}
.ms-wm-i{position:relative;display:inline-block}
.ms-moon.in-i{position:absolute;left:50%;top:-.55em;transform:translateX(-55%);width:.62em;height:.62em}
.ms-tag{font-family:var(--serif);font-style:italic;font-weight:400;font-size:15px;color:var(--gold);letter-spacing:.06em}
.ms-nav{border-top:1px solid rgba(251,248,242,.16)}
.ms-nav .ms-wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:10px 0}
.ms-nav a{color:var(--on-dark);text-decoration:none;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap}
.ms-nav a:hover,.ms-nav a[aria-current]{border-bottom-color:var(--gold)}
.ms-nav i{color:var(--gold);font-style:normal}
.ms-nav .ms-nav-all{color:var(--gold)}
@media (max-width:700px){
 .ms-wm{font-size:30px}
 .ms-nav .ms-wrap{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;width:100%;padding:10px var(--gut)}
 .ms-nav .ms-wrap::-webkit-scrollbar{display:none}
 .ms-nav a{flex:0 0 auto}
}

/* --------------------------------------------------------------- кнопки */
.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;
 background:var(--gold-btn);color:var(--ink);font:800 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:2px solid var(--gold-btn);cursor:pointer;flex:0 0 auto}
.ms-btn:hover{background:var(--gold);border-color:var(--gold)}
.ms-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.ms-btn.ghost:hover{background:var(--ink);color:var(--paper)}
.ms-btn.onnavy{border-color:var(--on-dark);color:var(--on-dark);background:transparent}
.ms-btn.onnavy:hover{background:var(--on-dark);color:var(--navy)}
/* надпись картинкой: доля от кегля кнопки, записанная рядом с кадром */
.ms-btn .buy-label{height:calc(1em * 0.7308);width:auto;display:block}
.ms-btn.ms-buy{width:100%}

/* ------------------------------------------------------------- полосы */
.ms-sec{padding:64px 0}
.ms-sec.tint{background:var(--panel)}
.ms-sec.navy{background:var(--navy);color:var(--on-dark)}
.ms-sec.plum{background:var(--plum);color:var(--on-dark)}
.ms-sec.navy a,.ms-sec.plum a{color:var(--gold)}
.ms-sec.navy .ms-moon,.ms-sec.plum .ms-moon{color:var(--gold)}
.ms-sec.navy .ms-lede,.ms-sec.plum .ms-lede{color:var(--on-dark2)}
.ms-head2{margin-bottom:28px}
.ms-kick{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.ms-sec.navy .ms-kick,.ms-sec.plum .ms-kick{color:var(--gold)}
.ms-lede{font-family:var(--serif);font-size:21px;line-height:1.45;margin:12px 0 0;color:var(--ink2);columns:2;column-gap:40px}
.ms-lede.one{columns:1}
@media (max-width:900px){.ms-lede{columns:1}}
.ms-prose{columns:2;column-gap:40px}
.ms-prose p{break-inside:avoid}
.ms-prose h3,.ms-prose .ms-tw,.ms-prose .ms-nums,.ms-prose figure,.ms-prose .ms-pull,.ms-prose blockquote{column-span:all}
@media (max-width:900px){.ms-prose{columns:1}}

/* ----------------------------------------------------------------- hero */
.ms-hero{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.ms-hero::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(217,164,65,.28),transparent 62%);pointer-events:none}
.ms-hero .ms-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding:56px 0 48px;position:relative}
.ms-hero .ms-wrap > div:first-child{order:2}
.ms-hero-stack{order:1;margin-left:calc((100vw - var(--wrap)) / -2 + 12px)}
@media (max-width:1290px){.ms-hero-stack{margin-left:0}}
.ms-hero-eyebrow{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold);margin:0 0 14px}
.ms-hero h1{font-size:clamp(40px,5vw,68px);font-weight:500;line-height:1.02;letter-spacing:-.005em}
.ms-hero h1 em{font-style:italic;color:var(--gold)}
.ms-hero-copy{font-size:18px;line-height:1.6;color:var(--on-dark2);margin:22px 0 28px;max-width:none}
.ms-hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.ms-hero-stack{position:relative;min-height:520px}
.ms-hero-stack figure{position:absolute;margin:0;overflow:hidden;border-radius:var(--r);box-shadow:0 24px 48px rgba(0,0,0,.35);background:var(--panel)}
.ms-hero-stack figure img{width:100%;height:auto;display:block}
.ms-hero-stack .a{left:0;top:0;width:46%}
.ms-hero-stack .b{right:0;top:0;width:50%}
.ms-hero-stack .c{right:6%;bottom:0;width:46%;border:6px solid var(--navy)}
.ms-hero-stack .rule{position:absolute;left:0;bottom:4%;width:160px;border-top:2px solid var(--gold);color:var(--gold);font-family:var(--serif);font-style:italic;font-size:17px;padding-top:6px}
@media (max-width:1100px){.ms-hero-stack{min-height:440px}}
@media (max-width:900px){
 .ms-hero .ms-wrap{grid-template-columns:1fr;gap:28px;padding:36px 0}
 .ms-hero .ms-wrap > div:first-child{order:1}.ms-hero-stack{order:2;margin-left:0}
 .ms-hero-stack{min-height:0;aspect-ratio:5/4}
}
@media (max-width:520px){.ms-hero-stack .rule{display:none}}

/* ------------------------------------------------------------- лента цифр */
.ms-ticker{background:var(--gold);color:var(--ink)}
.ms-ticker .ms-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:14px 0;font-size:14px;font-weight:700;letter-spacing:.04em}
.ms-ticker b{font-family:var(--serif);font-size:22px;font-weight:600;margin-right:6px}
@media (max-width:700px){.ms-ticker .ms-wrap{justify-content:center;text-align:center}}

/* --------------------------------------------------------- плитки бенто */
.ms-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ms-tile{display:flex;flex-direction:column;text-decoration:none;color:var(--on-dark);border-radius:var(--r);overflow:hidden;background:var(--panel);min-width:0}
.ms-tile.span2{grid-column:span 2}
.ms-tile-img{display:block;aspect-ratio:1;background:var(--panel2);padding:8px}
.ms-tile-img img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}
.ms-tile-t{display:flex;align-items:center;gap:10px;padding:14px 16px;flex:1 1 auto}
.ms-tile-t b{font-family:var(--serif);font-size:21px;font-weight:600;flex:1 1 auto;min-width:0}
.ms-tile-t span{font-size:12.5px;font-weight:700;letter-spacing:.06em;opacity:.9;white-space:nowrap}
.ms-tile.tone-navy .ms-tile-t{background:var(--navy)}
.ms-tile.tone-plum .ms-tile-t{background:var(--plum)}
.ms-tile.tone-forest .ms-tile-t{background:var(--forest)}
.ms-tile.tone-rust .ms-tile-t{background:var(--rust)}
.ms-tile:hover .ms-tile-t b{text-decoration:underline;text-decoration-color:var(--gold)}
@media (max-width:1000px){.ms-bento{grid-template-columns:repeat(2,1fr)}.ms-tile.span2{grid-column:span 2}}
@media (max-width:520px){.ms-bento{grid-template-columns:1fr}.ms-tile.span2{grid-column:auto}.ms-tile.span2 .ms-tile-img{aspect-ratio:4/3}.ms-tile.span2 .ms-tile-img img{object-fit:contain}}

/* ----------------------------------------------------------- карточка */
.ms-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);overflow:hidden}
.ms-sec.tint .ms-card{background:var(--paper)}
.ms-sec.navy .ms-card,.ms-sec.plum .ms-card{color:var(--ink);border-color:transparent}
.ms-shot{position:relative;background:var(--panel);padding:10px}
.ms-shot img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
.ms-chips{position:absolute;left:12px;top:12px;display:flex;gap:6px}
.ms-chip{background:var(--navy);color:var(--on-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:3px}
.ms-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.ms-card-title{font-size:19px;line-height:1.25;font-weight:600}
.ms-spec{font-size:13.5px;color:var(--ink2);line-height:1.5}
.ms-spec i{font-style:normal;color:var(--gold);margin:0 6px}
.ms-price{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--navy)}
.ms-row:last-child{margin-top:auto}
.ms-grid{--gap:20px}

/* ---------------------------------------------------------- полка товаров */
.ms-shelf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.ms-shelf-head h2{font-size:clamp(28px,3vw,38px)}
.ms-shelf-head p{margin:6px 0 0;color:var(--ink2)}
.ms-sec.navy .ms-shelf-head p,.ms-sec.plum .ms-shelf-head p{color:var(--on-dark2)}

/* ---------------------------------------------------------------- таблицы */
.ms-tw{overflow-x:auto;max-width:100%;min-width:0;margin:18px 0}
.ms-table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px;background:var(--paper);color:var(--ink)}
.ms-table caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--ink2);padding:10px 4px 0;background:transparent}
.ms-sec.navy .ms-table caption,.ms-sec.plum .ms-table caption{color:var(--on-dark2)}
.ms-table th{background:var(--navy);color:var(--on-dark);text-align:left;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 12px}
.ms-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ms-table .num{text-align:right;font-variant-numeric:tabular-nums}
.ms-table tr:nth-child(even) td{background:var(--panel)}
@media (max-width:640px){
 .ms-table{min-width:0}
 .ms-table thead{position:absolute;left:-9999px}
 .ms-table tr{display:block;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r)}
 .ms-table td{display:flex;justify-content:space-between;gap:12px;border:0;text-align:right}
 .ms-table td::before{content:attr(data-label);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);text-align:left}
 .ms-table td.num{text-align:right}
}

/* --------------------------------------------------------------- цифры */
.ms-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}
.ms-num{border-left:3px solid var(--gold);padding:4px 0 4px 14px;display:flex;flex-direction:column}
.ms-num .ms-moon{display:none}
.ms-num b{font-family:var(--serif);font-size:38px;font-weight:600;line-height:1.05}
.ms-num span{font-size:13.5px;color:var(--ink2)}
.ms-sec.navy .ms-num span,.ms-sec.plum .ms-num span{color:var(--on-dark2)}
@media (max-width:900px){.ms-nums{grid-template-columns:repeat(2,1fr)}}

/* ---------------------------------------------------------- рисунки */
.ms-fig{margin:18px auto;border-radius:var(--r);overflow:hidden}
.ms-fig img{width:100%}
.ms-fig figcaption{font-size:13.5px;color:var(--ink2);padding:8px 2px 0;font-style:italic;font-family:var(--serif);font-size:16px}
.ms-sec.navy .ms-fig figcaption,.ms-sec.plum .ms-fig figcaption{color:var(--on-dark2)}
.ms-pull{display:flex;gap:12px;align-items:flex-start;font-family:var(--serif);font-size:26px;line-height:1.3;font-style:italic;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:24px 0}
.ms-pull .ms-moon{margin-top:.3em}

/* ---------------------------------------------------------- ряды текст/кадр */
.ms-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
/* кадр в ряду текст/кадр растягивается на высоту текста: сосед обязан покрывать высоту (правило 22.08); сцены кропятся, это осознанно */
.ms-split figure.ms-fill{height:100%;width:100%;margin:0}
.ms-split figure.ms-fill img{width:100%;height:100%;object-fit:cover}
.ms-split figure.ms-fill figcaption{display:none}
.ms-split.rev > :first-child{order:2}
.ms-split > *{min-width:0}
.ms-split figure{margin:0}
.ms-rows > .ms-split + .ms-split{margin-top:48px}
.ms-rows .ms-split{grid-template-columns:1.4fr 1fr;align-items:start}
.ms-rows .ms-split.rev{grid-template-columns:1fr 1.4fr}
.ms-rows .ms-split figure.ms-fill{height:auto;aspect-ratio:16/10}
@media (max-width:900px){.ms-split{grid-template-columns:1fr}.ms-split.rev > :first-child{order:0}}
/* ряды истории складываются раньше: на 960 текст выше кадра 16:10 и рядом пусто */
@media (max-width:1100px){.ms-rows .ms-split,.ms-rows .ms-split.rev{grid-template-columns:1fr}.ms-rows .ms-split.rev > :first-child{order:0}}

/* ---------------------------------------------------------- сравнение */
.ms-table td.us{font-weight:700;color:var(--navy)}
.ms-table th.us{background:var(--gold);color:var(--ink)}

/* ----------------------------------------------------------- галерея */
.ms-gal{display:block;columns:4;column-gap:14px}
.ms-gal > *{break-inside:avoid;margin-bottom:14px}
.ms-shot-link{display:block;border-radius:var(--r);overflow:hidden;background:var(--panel2);position:relative}
.ms-shot-link img{width:100%;height:auto;display:block}
.ms-shot-hint{position:absolute;left:10px;bottom:10px;background:rgba(24,40,88,.85);color:var(--on-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:3px}
@media (max-width:900px){.ms-gal{columns:2}}
.ms-zoom::backdrop{background:rgba(15,26,60,.9)}

/* ------------------------------------------------------------ видео */
.ms-video{position:relative;border-radius:var(--r);overflow:hidden;background:#000;max-width:960px;margin:0 auto}
.ms-video video{width:100%;display:block}

/* ------------------------------------------------------------- команда */
.ms-team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ms-team > div{background:var(--paper);border-radius:var(--r);padding:22px;border-top:3px solid var(--gold)}
.ms-team h3{font-size:22px;margin-bottom:8px}
@media (max-width:800px){.ms-team{grid-template-columns:1fr}}

/* ------------------------------------------------------------- отзывы */
.ms-reviews{columns:3;column-gap:20px}
.ms-rev{break-inside:avoid;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:20px}
.ms-rev .review-title{font-size:18px;margin:6px 0}
.ms-rev .review-quote{margin:0;font-style:italic;font-family:var(--serif);font-size:18px;line-height:1.4}
.ms-rev cite{display:block;font-style:normal;font-size:13px;color:var(--ink2);margin-top:8px}
@media (max-width:900px){.ms-reviews{columns:1}}
.ms-stars{display:inline-block;position:relative;line-height:1;font-size:14px;letter-spacing:1px;color:var(--star-off);white-space:nowrap;margin-right:6px}
.ms-stars-on{position:absolute;left:0;top:0;overflow:hidden;color:var(--star-on);white-space:nowrap}

/* ---------------------------------------------------------- журнал */
.ms-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ms-post{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ms-post img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--panel);padding:10px;mix-blend-mode:multiply}
.ms-post-t{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.ms-post-t b{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.2}
.ms-post-t span{font-size:13px;color:var(--ink2)}
.ms-post-t small{color:var(--gold-ink);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
@media (max-width:800px){.ms-posts{grid-template-columns:1fr}}

/* --------------------------------------------------------------- FAQ */
.ms-faq{columns:2;column-gap:32px}
.ms-faq-item{break-inside:avoid;border-top:1px solid var(--line);padding:4px 0}
.ms-faq-item summary{cursor:pointer;font-family:var(--serif);font-size:21px;font-weight:600;padding:12px 0;list-style:none;display:flex;gap:10px;align-items:baseline}
.ms-faq-item summary::before{content:"+";color:var(--gold-ink);font-family:var(--sans);font-weight:800}
.ms-faq-item[open] summary::before{content:"\2212"}
.ms-faq-item p{margin:0 0 14px;color:var(--ink2)}
@media (max-width:800px){.ms-faq{columns:1}}

/* ------------------------------------------------------------ крошки */
.ms-crumbs{background:var(--panel);font-size:13px}
.ms-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:12px 0}
.ms-crumbs a{color:var(--ink2)}
.ms-crumbs span[aria-hidden]{color:var(--gold-ink)}

/* -------------------------------------------------------- категория */
.ms-cat-hero{color:var(--on-dark);padding:44px 0}
.ms-cat-hero.tone-navy{background:var(--navy)}.ms-cat-hero.tone-plum{background:var(--plum)}.ms-cat-hero.tone-forest{background:var(--forest)}.ms-cat-hero.tone-rust{background:var(--rust)}
/* на зелёной и терракотовой плоскости золото и серый лид не держат 4.5:1 — там текст слоновой костью (контраст 7.1 и 5.65) */
.ms-cat-hero.tone-forest .ms-kick,.ms-cat-hero.tone-rust .ms-kick,.ms-cat-hero.tone-plum .ms-kick,.ms-cat-hero.tone-forest p,.ms-cat-hero.tone-rust p{color:var(--on-dark)}
.ms-cat-hero.tone-forest .ms-moon,.ms-cat-hero.tone-rust .ms-moon,.ms-cat-hero.tone-plum .ms-moon{color:var(--on-dark)}
.ms-cat-hero .ms-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.ms-cat-hero h1{font-size:clamp(36px,4.4vw,58px);font-weight:500}
.ms-cat-hero p{font-size:18px;color:var(--on-dark2);margin:14px 0 0}
.ms-cat-hero .ms-kick{color:var(--gold)}
.ms-cat-hero figure{margin:0;border-radius:var(--r);overflow:hidden;justify-self:end;width:100%}
.ms-cat-hero figure{background:var(--paper);padding:10px;max-width:520px}
.ms-cat-hero figure img{width:100%;height:auto;mix-blend-mode:multiply}
@media (max-width:900px){.ms-cat-hero .ms-wrap{grid-template-columns:1fr}}
.ms-pager{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:32px 0 0}
.ms-pager a,.ms-pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);padding:0 12px}
.ms-pager span[aria-current]{background:var(--navy);color:var(--on-dark);border-color:var(--navy)}
.ms-cat-facts{background:var(--paper);border-radius:var(--r);padding:20px 22px;border-top:3px solid var(--gold)}
.ms-cat-facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:15px}
.ms-cat-facts dt{color:var(--ink2)}.ms-cat-facts dd{margin:0;font-weight:700}

/* ----------------------------------------------------------- документы */
.ms-doc{padding:48px 0 64px}
.ms-doc-head{margin-bottom:28px}
.ms-doc-head h1{font-size:clamp(34px,4vw,54px);font-weight:500}
.ms-doc .ms-prose{font-size:17px}
.ms-doc .ms-prose h2{font-size:32px;margin:32px 0 12px;column-span:all}
.ms-doc .ms-prose h3{font-size:24px;margin:24px 0 8px}
.ms-doc ul{padding-left:20px}
.ms-doc .ms-prose ul,.ms-doc .ms-prose ol{column-span:all}
.ms-chapter{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin:36px 0}
.ms-chapter > *{min-width:0}
.ms-chapter.rev > :first-child{order:2}
@media (max-width:900px){.ms-chapter{grid-template-columns:1fr}.ms-chapter.rev > :first-child{order:0}}

/* ----------------------------------------------------------- статья */
.ms-art-head{background:var(--navy);color:var(--on-dark);padding:48px 0}
.ms-art-head .ms-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.ms-art-head h1{font-size:clamp(34px,4.2vw,56px);font-weight:500}
.ms-art-head .ms-lede{color:var(--on-dark2);columns:1}
.ms-art-head .ms-kick{color:var(--gold)}
.ms-art-head figure{margin:0;border-radius:var(--r);overflow:hidden}
.ms-art-head figure{background:var(--paper);padding:10px;max-width:520px;justify-self:end}
.ms-art-head figure img{width:100%;height:auto;mix-blend-mode:multiply}
@media (max-width:900px){.ms-art-head .ms-wrap{grid-template-columns:1fr}}
.ms-art{padding:40px 0 64px}
.ms-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none}
.ms-toc li a{display:inline-block;background:var(--panel);border-radius:999px;padding:6px 14px;font-size:13.5px;text-decoration:none;color:var(--ink)}
.ms-art-sec{margin:0 0 40px}
.ms-art-sec h2{font-size:clamp(28px,3vw,38px);margin:0 0 14px;display:flex;gap:10px;align-items:baseline}
.ms-art-sec h2 .ms-moon{width:.6em;height:.6em}
.ms-art-sec .ms-prose{font-size:17px}
.ms-art-sec figure.ms-fig{margin:20px auto}
.ms-q{margin:22px 0;padding:20px 24px;background:var(--panel);border-left:4px solid var(--gold);border-radius:0 var(--r) var(--r) 0;column-span:all}
.ms-q p{font-family:var(--serif);font-size:20px;line-height:1.4;font-style:italic;margin:0 0 8px}
.ms-q cite{font-style:normal;font-size:13px;color:var(--ink2)}
.ms-inset{column-span:all;margin:22px 0;display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;background:var(--panel);border-radius:var(--r);padding:16px}
.ms-inset > img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;border-radius:var(--r)}
.ms-inset-t{display:flex;flex-direction:column;gap:8px;min-width:0}
.ms-inset-t small{color:var(--gold-ink);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.ms-inset-t b{font-family:var(--serif);font-size:22px;font-weight:600}
.ms-inset-t .ms-btn{align-self:flex-start;width:auto;min-width:0}
@media (max-width:640px){.ms-inset{grid-template-columns:1fr}}
.ms-srcs{column-span:all;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:15px}
.ms-srcs li{margin-bottom:8px}
.ms-srcs cite{font-style:normal}
.ms-srcs a{overflow-wrap:anywhere;word-break:break-all}

/* ------------------------------------------------------------- подвал */
.ms-foot{background:var(--navy-deep);color:var(--on-dark);padding:48px 0 28px;margin-top:0}
.ms-foot a{color:var(--on-dark)}
.ms-foot-brand{display:grid;grid-template-columns:auto 1fr;gap:24px 40px;align-items:center;padding-bottom:28px;border-bottom:1px solid rgba(251,248,242,.14)}
.ms-foot-brand .ms-wm{font-size:34px}
.ms-foot-lede{margin:0;color:var(--on-dark2);font-size:15px;max-width:none}
.ms-foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:28px 0}
.ms-foot h4{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:flex;gap:8px;align-items:center;margin:0 0 12px}
.ms-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:14.5px}
.ms-foot-pay{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;border-top:1px solid rgba(251,248,242,.14);padding:20px 0 6px;font-size:13px;color:var(--on-dark2)}
.ms-foot-pay > div{display:flex;flex-wrap:wrap;gap:8px}
.ms-foot-pay img{background:#fff;border-radius:4px;padding:3px 6px;height:26px;width:auto}
.ms-foot-note{font-size:12.5px;color:var(--on-dark2);padding-top:10px}
.ms-foot-note p{margin:0 0 6px}
@media (max-width:900px){.ms-foot-grid{grid-template-columns:repeat(2,1fr)}.ms-foot-brand{grid-template-columns:1fr}}
@media (max-width:520px){.ms-foot-grid{grid-template-columns:1fr}}

/* ------------------------------------------------------------- 404 */
.ms-404{padding:80px 0;text-align:left}
.ms-lb{position:fixed;inset:0;background:rgba(15,26,60,.92);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}
.ms-lb img{max-width:100%;max-height:100%;object-fit:contain}
.ms-lb button{position:absolute;right:20px;top:14px;background:transparent;border:0;color:#fff;font-size:40px;cursor:pointer}
