@import url('https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=PT+Sans:wght@400;700&display=swap');

:root{
  --crimson:#A32B3E;
  --crimson-dark:#8A2032;
  --topbar:#9E2637;
  --navy:#2C3A5B;
  --navy-dark:#24304B;
  --ink:#2E3540;
  --text:#43494F;
  --muted:#8A9099;
  --line:#E2E4E8;
  --line-soft:#EDEEF1;
  --soft:#F7F7F9;
  --lav-bg:#F3EDF8;
  --lav-border:#DCCBEA;
  --serif:'PT Serif', Georgia, 'Times New Roman', serif;
  --sans:'PT Sans', 'Segoe UI', Arial, sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:#fff; color:var(--text);
  font-family:var(--serif); font-size:16px; line-height:1.7;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--crimson); text-decoration:none}
a:hover{color:var(--crimson-dark); text-decoration:underline}
a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--crimson); outline-offset:2px}

.wrap{max-width:1180px; margin:0 auto; padding:0 24px}

/* ---------- Шапка ---------- */
.topbar{background:var(--topbar); color:#fff}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:30px}
.topbar span,.topbar a{font-family:var(--sans); font-size:11.5px; letter-spacing:.04em; color:#fff}
.topbar a{opacity:.9}
.topbar a:hover{opacity:1; color:#fff}

.masthead{background:#fff; text-align:center; padding:22px 0 18px; border-bottom:1px solid var(--line-soft)}
.logo{display:inline-flex; align-items:center; gap:10px}
.logo:hover{text-decoration:none}
.logo svg{width:26px; height:26px; flex:none}
.logo-text{font-family:var(--serif); font-weight:700; font-size:22px; letter-spacing:.01em; color:var(--navy)}
.logo-text em{font-style:normal; color:var(--crimson)}
.tagline{font-family:var(--sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:6px}

.mainnav{background:var(--navy)}
.mainnav ul{display:flex; flex-wrap:wrap; justify-content:center; gap:34px; list-style:none; margin:0; padding:0}
.mainnav a{
  display:block; padding:14px 0; color:#fff; font-family:var(--sans);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#F0C7CE; text-decoration:none}

/* ---------- Каркас страницы ---------- */
.layout{display:grid; grid-template-columns:minmax(0,1fr) 318px; gap:50px; padding:26px 0 54px}
.page{padding:26px 0 54px}
.breadcrumbs{font-family:var(--sans); font-size:12px; color:var(--muted); padding:14px 0 0}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--crimson)}
.breadcrumbs span{margin:0 6px; color:#C3C7CD}

/* ---------- Типовые элементы ---------- */
.eyebrow{
  font-family:var(--sans); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--crimson); margin:0 0 8px
}
.eyebrow a{color:var(--crimson)}
.section-title{
  font-family:var(--serif); font-weight:700; color:var(--crimson);
  font-size:25px; line-height:1.3; margin:0 0 6px
}
.section-head{border-bottom:1px solid var(--line); padding-bottom:10px; margin:0 0 26px}
.section-head p{margin:8px 0 0; font-size:15px; color:#5A6068}
.more{
  font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--crimson)
}
.meta{font-family:var(--sans); font-size:12px; color:var(--muted)}
.meta b{font-weight:400; color:#6E747C}

/* ---------- Карточки ---------- */
.card{border-bottom:1px solid var(--line-soft); padding-bottom:28px; margin-bottom:28px}
.card:last-child{border-bottom:none}
.card h3{font-family:var(--serif); font-size:23px; line-height:1.32; margin:0 0 8px}
.card h3 a{color:var(--crimson)}
.card p.excerpt{margin:10px 0 12px; font-size:15px; line-height:1.72; color:#4D535B}
.card .meta{margin-bottom:2px}
.card-media img{width:100%; aspect-ratio:16/10; object-fit:cover}

.card--row{display:grid; grid-template-columns:232px minmax(0,1fr); gap:24px; align-items:start}
.card--row h3{font-size:20px}
.card--lead h3{font-size:28px}

.grid-2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px}
.grid-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px}
.grid-2 .card,.grid-3 .card{border-bottom:none; padding-bottom:0; margin-bottom:0}
.grid-3 .card h3{font-size:18px}
.grid-2 .card h3{font-size:20px}

.linklist{list-style:none; margin:0; padding:0}
.linklist li{padding:11px 0; border-bottom:1px dotted var(--line); font-size:15px}
.linklist li:last-child{border-bottom:none}
.linklist .meta{display:block; margin-top:3px}

/* ---------- Раздел партнёров ---------- */
.partners{background:var(--soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 32px; margin:8px 0 40px}
.partner{display:grid; grid-template-columns:238px minmax(0,1fr); gap:28px; align-items:center;
  padding:24px 0; border-bottom:1px dotted var(--line)}
.partner:last-child{border-bottom:none; padding-bottom:4px}
.partner-logo{display:flex; align-items:center; justify-content:center; background:#fff;
  border:1px solid var(--line); min-height:118px; padding:16px}
.partner-logo img{max-height:84px; width:auto}
.partner h3{font-family:var(--serif); font-size:20px; margin:0 0 8px; color:var(--crimson)}
.partner p{margin:0; font-size:15px; line-height:1.72; color:#4D535B}

/* ---------- Таблицы и списки в тексте ---------- */
.table-wrap{overflow-x:auto; margin:22px 0}
table.price{border-collapse:collapse; width:100%; font-size:15px}
table.price th,table.price td{border:1px solid var(--line); padding:10px 14px; text-align:left}
table.price th{background:var(--soft); font-family:var(--sans); font-size:13px; letter-spacing:.04em; color:var(--ink)}
table.price td:last-child{white-space:nowrap; width:34%}

/* ---------- Статья ---------- */
.article{max-width:740px; margin:0 auto}
.article-head{text-align:center; padding:6px 0 4px}
.article h1{
  font-family:var(--serif); font-weight:700; color:var(--crimson);
  font-size:34px; line-height:1.28; margin:6px 0 14px
}
.article-meta{font-family:var(--sans); font-size:12px; color:var(--muted); margin-bottom:24px}
.article-meta span{margin:0 8px}
.article-hero{margin:0 0 30px}
.article-hero img{width:100%; aspect-ratio:16/10; object-fit:cover}
.article-body h2{
  font-family:var(--serif); font-weight:700; color:var(--crimson);
  font-size:25px; line-height:1.34; margin:34px 0 14px
}
.article-body h3{
  font-family:var(--serif); font-weight:700; color:var(--crimson);
  font-size:19px; margin:26px 0 10px
}
.article-body p{margin:0 0 16px; font-size:16.5px; line-height:1.78}
.article-body ul,.article-body ol{margin:0 0 20px; padding-left:22px}
.article-body li{margin-bottom:8px; font-size:16px; line-height:1.7}
.article-body blockquote{
  margin:26px 0; padding:4px 0 4px 20px; border-left:3px solid var(--crimson);
  font-style:italic; color:#4A5057
}
.note{background:var(--soft); border:1px solid var(--line); padding:18px 20px; margin:24px 0}
.note p:last-child{margin-bottom:0}
.faq dt{font-family:var(--serif); font-weight:700; color:var(--ink); margin-top:18px}
.faq dd{margin:6px 0 0; font-size:16px}
.article-foot{border-top:1px solid var(--line); margin-top:38px; padding-top:22px}
.tags{font-family:var(--sans); font-size:12px; color:var(--muted)}
.tags a{margin-right:10px}
.pager{display:flex; justify-content:space-between; gap:24px; margin-top:26px; font-size:15px}
.pager div{max-width:48%}
.pager .meta{display:block; margin-bottom:4px}

/* ---------- Сайдбар ---------- */
.widget{margin-bottom:34px}
.widget h4{
  font-family:var(--serif); font-weight:700; color:var(--crimson); font-size:19px;
  margin:0 0 12px; padding-bottom:9px; border-bottom:1px solid var(--line)
}
.searchform{display:flex; gap:8px}
.searchform input[type=search]{
  flex:1; min-width:0; border:1px solid var(--line); padding:9px 11px;
  font-family:var(--sans); font-size:14px; color:var(--ink); background:#fff
}
.btn{
  display:inline-block; border:none; background:var(--crimson); color:#fff; cursor:pointer;
  font-family:var(--sans); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 18px
}
.btn:hover{background:var(--crimson-dark); color:#fff; text-decoration:none}
.saying{background:var(--lav-bg); border:1px solid var(--lav-border); padding:16px 18px}
.saying p{margin:0; font-style:italic; font-size:15.5px; color:#4A4453}
.daily{border-left:3px solid var(--crimson); padding:4px 0 4px 16px}
.daily p{margin:0 0 6px; font-style:italic; font-size:15.5px}
.daily .author{font-family:var(--sans); font-size:12px; color:var(--muted); text-align:right}
.widget .linklist li{font-size:14.5px; line-height:1.55}

/* ---------- Подвал ---------- */
.footer{background:var(--navy); color:#C9CFDC; margin-top:10px}
.footer a{color:#E4E8F0}
.footer a:hover{color:#fff}
.footer-cols{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding:44px 0 34px}
.footer h5{
  font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:#fff; margin:0 0 14px; font-weight:700
}
.footer p{font-size:14.5px; line-height:1.7; margin:0 0 12px; color:#BFC6D4}
.footer ul{list-style:none; margin:0; padding:0}
.footer li{margin-bottom:9px; font-size:14.5px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom .wrap{display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; padding:16px 0 20px}
.footer-bottom p{margin:0; font-family:var(--sans); font-size:12.5px; color:#AEB6C6}

/* ---------- Прочее ---------- */
.lead-text{font-size:17px; line-height:1.75; color:#454B53}
.page-title{font-family:var(--serif); font-weight:700; color:var(--crimson); font-size:32px; line-height:1.3; margin:10px 0 16px}
.static{max-width:780px}
.static h2{font-family:var(--serif); color:var(--crimson); font-size:23px; margin:30px 0 12px}
.static ul{padding-left:22px}
.error-page{text-align:center; padding:70px 0 90px}
.error-page .code{font-family:var(--serif); font-size:78px; font-weight:700; color:var(--crimson); line-height:1; margin:0}
.error-page h1{font-family:var(--serif); color:var(--ink); font-size:26px; margin:16px 0 12px}
.sitemap-cols{columns:2; column-gap:44px}
.sitemap-cols li{break-inside:avoid; margin-bottom:9px}
.search-result{border-bottom:1px solid var(--line-soft); padding:16px 0}
.search-result h3{margin:0 0 4px; font-size:19px; font-family:var(--serif)}
.terms dt{font-family:var(--serif); font-weight:700; color:var(--crimson); margin-top:16px}
.terms dd{margin:4px 0 0; font-size:15.5px}

@media (max-width:980px){
  .layout{grid-template-columns:1fr; gap:10px}
  .footer-cols{grid-template-columns:1fr 1fr; gap:30px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .mainnav ul{gap:18px}
  .mainnav a{font-size:11px; padding:11px 0}
  .card--row{grid-template-columns:1fr; gap:14px}
  .partner{grid-template-columns:1fr; gap:16px}
  .grid-2,.grid-3{grid-template-columns:1fr; gap:26px}
  .article h1{font-size:27px}
  .page-title{font-size:26px}
  .footer-cols{grid-template-columns:1fr}
  .sitemap-cols{columns:1}
  .partners{padding:22px 18px}
}
