/* ==========================================================================
   base.css — токены, локальные шрифты, сброс, базовая типографика
   ========================================================================== */

@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/unbounded-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/unbounded-400-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/unbounded-500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/unbounded-500-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/unbounded-700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/unbounded-700-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/golos-text-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/golos-text-400-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/golos-text-500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/golos-text-500-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-500-latin.woff2') format('woff2');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+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

:root{
  --paper:#F4F2ED;
  --paper-2:#ECE9E1;
  --ink:#17150F;
  --steel:#6E6A5E;
  --line:#D9D4C7;
  --accent:#D9480F;
  --accent-dim:#B93B0B;
  --display:'Unbounded',sans-serif;
  --body:'Golos Text',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --header-h:64px;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 14px)}
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:var(--paper)}

.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono)}
@media(max-width:440px){.wrap{padding:0 22px}}

/* ---------- ссылки, изображения ---------- */
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%;height:auto}
figure{margin:0}
figcaption{font-family:var(--mono);font-size:12.5px;color:var(--steel);margin-top:10px}

/* ---------- заголовки контента (Gutenberg/ACF/Elementor rich-text) ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--display);font-weight:500;
  line-height:1.2;letter-spacing:-.01em;
  margin:0 0 .55em;
}
h1{font-size:clamp(32px,5vw,52px);font-weight:700}
h2{font-size:clamp(26px,4vw,38px)}
h3{font-size:clamp(21px,3vw,28px)}
h4{font-size:19px}
h5{font-size:16.5px}
h6{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-weight:500}

p{margin:0 0 1.2em}
p:last-child{margin-bottom:0}

/* Списки и подчёркнутые ссылки в base.css оформлены только для контентных
   зон (текст из the_content()/wysiwyg-полей ACF) через селектор ниже —
   иначе правила задевают служебные <ul> (меню, сайдбар, карточки), у
   которых уже есть собственные стили списков без маркеров. */
.entry-content ul,
.rich-text ul,
.text-image__text ul,
.faq-item__answer ul{margin:0 0 1.2em;padding-left:0;list-style:none}
.entry-content ul > li,
.rich-text ul > li,
.text-image__text ul > li,
.faq-item__answer ul > li{position:relative;padding-left:22px;margin-bottom:.4em}
.entry-content ul > li::before,
.rich-text ul > li::before,
.text-image__text ul > li::before,
.faq-item__answer ul > li::before{content:"—";position:absolute;left:0;color:var(--accent)}

.entry-content ol,
.rich-text ol,
.text-image__text ol,
.faq-item__answer ol{margin:0 0 1.2em;padding-left:0;list-style:none;counter-reset:sk-ol}
.entry-content ol > li,
.rich-text ol > li,
.text-image__text ol > li,
.faq-item__answer ol > li{position:relative;padding-left:30px;margin-bottom:.4em}
.entry-content ol > li::before,
.rich-text ol > li::before,
.text-image__text ol > li::before,
.faq-item__answer ol > li::before{counter-increment:sk-ol;content:counter(sk-ol) ".";position:absolute;left:0;font-family:var(--mono);color:var(--accent)}

.entry-content a:not([class]),
.rich-text a:not([class]),
.text-image__text a:not([class]),
.faq-item__answer a:not([class]){text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.entry-content a:not([class]):hover,
.rich-text a:not([class]):hover,
.text-image__text a:not([class]):hover,
.faq-item__answer a:not([class]):hover{color:var(--accent);text-decoration-color:var(--accent)}

/* ---------- цитаты, код ---------- */
blockquote{
  margin:0 0 1.2em;padding:6px 0 6px 26px;
  border-left:2px solid var(--accent);
  font-family:var(--display);font-weight:500;font-size:1.15em;
  color:var(--ink);font-style:normal;
}
blockquote p:last-child{margin-bottom:0}
blockquote cite{display:block;margin-top:10px;font-family:var(--mono);font-size:13px;font-style:normal;color:var(--steel)}

code,kbd,samp{font-family:var(--mono);font-size:.9em;background:var(--paper-2);padding:.15em .4em;border:1px solid var(--line)}
pre{
  font-family:var(--mono);font-size:14px;line-height:1.6;
  background:var(--ink);color:var(--paper);
  padding:22px;overflow-x:auto;margin:0 0 1.2em;
}
pre code{background:none;border:0;padding:0;color:inherit}

hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}

/* ---------- кнопки ----------
   Только .btn и настоящие submit/button-инпуты — НЕ все <button> подряд:
   в теме есть свои маленькие кнопки без рамки (бургер, крестик попапа,
   переключатель подменю), которым этот сброс не нужен. */
.btn,input[type="submit"],input[type="button"]{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--display);font-weight:500;font-size:15px;
  background:var(--ink);color:var(--paper);
  padding:16px 28px;border:0;cursor:pointer;
  transition:background .25s;
}
.btn:hover,input[type="submit"]:hover{background:var(--accent)}
.btn.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.btn-outline:hover{background:var(--ink);color:var(--paper)}
.btn.btn-accent{background:var(--accent)}
.btn.btn-accent:hover{background:var(--accent-dim)}

.big-cta{
  display:inline-flex;align-items:center;gap:16px;
  font-family:var(--display);font-weight:500;font-size:17px;
  background:var(--ink);color:var(--paper);padding:20px 34px;
  transition:background .25s;
}
.big-cta:hover{background:var(--accent)}
.big-cta .arr{font-family:var(--mono);transition:transform .25s}
.big-cta:hover .arr{transform:translateX(6px)}

/* ---------- таблицы ---------- */
table{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 1.2em}
table th,table td{padding:14px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
table thead th{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel);font-weight:500;border-top:0;border-bottom:1px solid var(--line);
}
table tr:last-child td{border-bottom:1px solid var(--line)}

/* ---------- формы ---------- */
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
textarea,select{
  width:100%;
  font-family:var(--body);font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);
  padding:14px 16px;transition:border-color .2s;
}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--steel);opacity:1}
label{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);margin-bottom:8px}

input[type="checkbox"],input[type="radio"]{
  width:18px;height:18px;flex:none;
  border:1px solid var(--line);appearance:none;
  background:var(--paper);position:relative;cursor:pointer;
  vertical-align:middle;margin-right:10px;
}
input[type="radio"]{border-radius:50%}
input[type="checkbox"]:checked::after{
  content:"";position:absolute;inset:3px;background:var(--accent);
}
input[type="radio"]:checked::after{
  content:"";position:absolute;inset:4px;background:var(--accent);border-radius:50%;
}
select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);
  background-position:calc(100% - 22px) center,calc(100% - 16px) center;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
  padding-right:44px;
}

.form-row{margin-bottom:20px}
.form-consent{display:flex;align-items:flex-start;gap:0;font-size:13.5px;color:var(--steel)}
.form-consent label{display:inline;font-family:var(--body);font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;margin-bottom:0}

/* ---------- reveal-анимация ---------- */
.js-rv .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.js-rv .rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js-rv .rv{opacity:1;transform:none;transition:none}
}

.screen-reader-text{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;
}
.skip-link{
  position:absolute;left:16px;top:-60px;z-index:200;
  background:var(--ink);color:var(--paper);padding:12px 20px;
  font-family:var(--mono);font-size:13px;transition:top .2s;
}
.skip-link:focus{top:16px}
