:root{
  --ink:#131e33;
  --ink-soft:#26344d;
  --paper:#eef0ec;
  --surface:#ffffff;
  --brass:#a9863c;
  --brass-deep:#8a6c2c;
  --seal:#7a2530;
  --line:#cfd2c8;
  --muted:#5b6470;
  --radius:2px;
  color-scheme:light;
}
/* Тёмная тема намеренно отключена: логотипы — растровые PNG с зашитым
   тёмно-синим цветом, они не адаптируются под тёмный фон и становятся
   невидимыми. Сайт всегда светлый, независимо от системной темы. */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"PT Sans","PT Sans Fallback",Arial,sans-serif;
  line-height:1.6;
  padding-inline:20px;
}
img{max-width:100%;}
h1,h2,h3,h4,h5{
  font-family:"PT Serif",Georgia,"Times New Roman",serif;
  font-weight:700;
  margin:0;
  color:var(--ink);
}
a{color:inherit;}
p{margin:0 0 1em;}
.num,.price,.eyebrow{font-family:"PT Mono","Courier New",monospace;}

.wrap{max-width:980px;margin-inline:auto;}
.eyebrow{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);
}

/* ---------- quick contact bar ---------- */
.contact-panel{max-width:980px;margin-inline:auto;padding-block:10px;border-bottom:1px solid var(--line);}
.contact-panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;font-size:.85rem;}
.contact-panel li{display:flex;align-items:center;gap:6px;}
.contact-panel img{width:16px;height:16px;}
.contact-panel a{text-decoration:none;}
.contact-panel a:hover{color:var(--brass-deep);}

/* ---------- letterhead ---------- */
.head{max-width:980px;margin-inline:auto;padding-block:18px;}
.head .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.header__logo a{display:flex;align-items:center;gap:16px;text-decoration:none;flex-wrap:wrap;}
.header__logo img{height:44px;width:auto;display:block;max-width:100%;}
.header__logo .brand-sub{font-size:.82rem;color:var(--muted);line-height:1.35;}
@media (min-width:500px){ .header__logo img{height:60px;} }
.brand-name{font-family:"PT Serif",serif;font-weight:700;font-size:1.28rem;}
.brand-sub{font-size:.78rem;color:var(--muted);margin-top:1px;}
.call-button{
  background:var(--ink);color:var(--paper);
  padding:.6em 1.15em;border-radius:var(--radius);
  text-decoration:none;font-size:.9rem;white-space:nowrap;
}
nav.navbar{max-width:980px;margin-inline:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
nav.navbar ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:0;padding:12px 0;}
nav.navbar a{text-decoration:none;font-size:.92rem;}
nav.navbar a:hover{color:var(--brass-deep);}

main{max-width:980px;margin-inline:auto;}
section{padding-block:44px;border-top:1px solid var(--line);}
section:first-of-type{border-top:none;}

/* ---------- hero ---------- */
.hero{padding-block:52px 40px;border-top:none;display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:start;}
@media (max-width:760px){.hero{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2rem,4.2vw,2.8rem);line-height:1.14;text-wrap:balance;}
.hero-cta{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}
.btn-primary{
  background:var(--brass);color:var(--ink);
  padding:.78em 1.4em;border-radius:var(--radius);
  text-decoration:none;font-weight:700;font-size:.95rem;
}
.btn-ghost{
  border:1px solid var(--line);padding:.78em 1.4em;border-radius:var(--radius);
  text-decoration:none;font-size:.95rem;color:var(--ink);
}
.seal-card{
  background:var(--surface);border:1px solid var(--line);padding:26px 22px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
}
.seal-card svg{width:60px;height:60px;color:var(--seal);}
.seal-card .num{font-size:1.7rem;font-weight:700;}
.seal-card .label{font-size:.8rem;color:var(--muted);max-width:22ch;}

/* ---------- greeting (CMS preview) ---------- */
.greeting{font-size:1.02rem;color:var(--ink-soft);max-width:74ch;}
.greeting p{margin:0 0 1em;}
.greeting p:first-of-type{font-family:"PT Serif",serif;font-size:1.14rem;color:var(--ink);}

/* ---------- values (clause list) ---------- */
.header-text{font-family:"PT Serif",serif;font-weight:700;font-size:1.6rem;margin-bottom:22px;}
.grid-container{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:760px){.grid-container{grid-template-columns:repeat(2,1fr);}}
@media (max-width:460px){.grid-container{grid-template-columns:1fr;}}
.grid{background:var(--surface);padding:22px;}
.grid .content{display:flex;align-items:center;gap:10px;}
.grid .content img{width:28px;height:28px;}
.grid .content p{font-weight:700;font-family:"PT Serif",serif;margin:0;font-size:1.05rem;}
.grid .overlay p{margin:10px 0 0;color:var(--muted);font-size:.9rem;}

/* ---------- services (fee schedule, DB-driven) ---------- */
.price-container{margin-top:6px;}
.price-list{border-top:1px solid var(--line);}
.price-item{
  display:grid;grid-template-columns:1fr auto;gap:4px 24px;
  padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.price-item hr{display:none;}
.item-title{font-family:"PT Serif",serif;font-weight:700;font-size:1.05rem;grid-column:1;}
.item-description{grid-column:1;color:var(--muted);font-size:.88rem;}
.item-price{
  grid-column:2;grid-row:1/3;align-self:start;
  font-family:"PT Mono",monospace;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.95rem;
}

/* ---------- about ---------- */
.content-block{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;}
@media (max-width:760px){.content-block{grid-template-columns:1fr;}}
.content-block-divider{display:none;}
.content-block-right{text-align:center;}
.block1-img{width:100%;max-width:280px;border-radius:var(--radius);}
.blocktext1{margin-top:14px;font-size:.9rem;color:var(--muted);}

/* ---------- reviews (real Yandex widget + 2GIS card) ---------- */
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:6px;align-items:stretch;}
@media (max-width:760px){.reviews-grid{grid-template-columns:1fr;}}
.widget-container{display:flex;flex-direction:column;}
.widget-frame{
  position:relative;overflow:hidden;height:400px;
  border:1px solid var(--line);
}
.widget-frame iframe{
  position:absolute;top:0;left:0;border:none;
  width:182%;height:727px;
  transform:scale(.55);transform-origin:0 0;
}
.widget-container a{display:inline-block;margin-top:10px;font-size:.85rem;color:var(--muted);text-decoration:none;}
.review-card{
  background:var(--surface);border:1px solid var(--line);
  padding:24px;display:flex;flex-direction:column;gap:6px;
  height:400px;
}
.review-card-top{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);}
.review-card-score{font-family:"PT Serif",serif;font-weight:700;font-size:2.4rem;margin-top:4px;}
.review-card-stars{color:var(--brass);letter-spacing:.1em;font-size:1rem;}
.review-card-meta{color:var(--muted);font-size:.85rem;}

.review-shots{position:relative;margin-top:16px;flex:1;min-height:0;overflow:hidden;}
.review-shots-track{display:flex;height:100%;transition:transform .35s ease;}
.review-shots-slide{
  flex:0 0 100%;display:flex;align-items:center;justify-content:center;
  height:100%;padding:0 30px;
}
.review-shots-slide img{
  max-width:85%;max-height:100%;width:auto;height:auto;object-fit:contain;
  border-radius:var(--radius);border:1px solid var(--line);display:block;
}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:50%;
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font-size:1.1rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.carousel-prev{left:0;}
.carousel-next{right:0;}
.carousel-dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:6px;}
.carousel-dot{
  width:6px;height:6px;border-radius:50%;padding:0;
  border:none;background:var(--line);cursor:pointer;
}
.carousel-dot.active{background:var(--brass-deep);}

.review-card-cta{margin-top:14px;font-size:.88rem;font-weight:700;color:var(--brass-deep);text-decoration:none;}

/* ---------- contacts ---------- */
.container-contact{display:block;}
.contact-block ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px;}
.item-contact li{display:flex;align-items:center;gap:8px;font-size:.95rem;}
.item-contact img{width:18px;height:18px;}
.contact-text{font-size:.92rem;color:var(--ink-soft);margin:0 0 6px;}
.container-contact iframe{width:100%;max-width:560px;height:320px;border:1px solid var(--line);margin-top:14px;}

/* ---------- articles ---------- */
.article-block{border-bottom:1px solid var(--line);padding-block:22px;}
.article-block ul{list-style:none;margin:8px 0 0;padding:0;display:flex;gap:18px;font-size:.82rem;color:var(--muted);}
.article-inside h5{font-family:"PT Serif",serif;font-size:1.2rem;}
.article-inside p{margin-top:10px;color:var(--ink-soft);}

/* ---------- footer ---------- */
footer.footer{max-width:980px;margin-inline:auto;padding-block:32px 40px;border-top:1px solid var(--line);}
.footer-content{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.footer-logo{display:flex;align-items:center;gap:12px;}
.footer-logo img{height:52px;display:block;}
.footer-logo h3{font-size:1.05rem;}
.footer-contact p{margin:2px 0;font-size:.86rem;color:var(--muted);}
.footer-contact a{color:var(--ink-soft);}
.footer-contact a:hover{color:var(--brass-deep);}
.footer-bottom{margin-top:20px;font-size:.78rem;color:var(--muted);}

/* ---------- отзывы: две равные колонки одной высоты ---------- */
/* minmax(0,1fr) — иначе широкий iframe виджета Яндекса растягивает свою колонку */
.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:760px){.reviews-grid{grid-template-columns:minmax(0,1fr);}}
.widget-frame,.review-card{height:420px;}
.widget-frame iframe{height:764px;}
.review-card{padding:22px 24px;gap:0;}
.review-card-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:4px;}
.review-card-score{font-size:2rem;line-height:1;margin-top:0;}
.review-card-top{gap:2px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.review-shots{margin-top:16px;}
@media (max-width:760px){
  .widget-frame{height:400px;}
  .widget-frame iframe{height:727px;}
  .review-card{height:auto;min-height:340px;}
  .review-shots-track{min-height:200px;}
}

/* ---------- отзывы текстом ---------- */
.review-text{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;margin:0;padding:0 2px;overflow:auto;}
.review-text-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.review-text-author{font-family:"PT Serif",serif;font-weight:700;}
.review-text-stars{color:var(--brass);letter-spacing:.08em;font-size:.85rem;white-space:nowrap;}
.review-text-date{font-size:.78rem;color:var(--muted);}
.review-text blockquote{margin:8px 0 0;padding-left:12px;border-left:2px solid var(--brass);color:var(--ink-soft);font-size:.92rem;line-height:1.5;}
.review-shots{display:flex;flex-direction:column;}
.review-shots-track{flex:1;min-height:0;}
.carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;}
.carousel-nav .carousel-arrow{
  position:static;transform:none;width:auto;height:auto;border-radius:var(--radius);
  padding:.3em .8em;font-size:.85rem;gap:4px;font-family:inherit;
}
.carousel-nav .carousel-arrow:hover{border-color:var(--brass);color:var(--brass-deep);}
.carousel-counter{font-family:"PT Mono",monospace;font-size:.8rem;color:var(--muted);}

/* ---------- статьи ---------- */
.article-text p{margin-top:10px;color:var(--ink-soft);}
