:root {
  --primary: hsl(33, 21%, 40%);
  --secondary: hsl(153, 14%, 26%);
  --accent: hsl(273, 32%, 62%);
  --surface: #f5f4f1;
  --ink: #222222;
}

html, body {
  background-color: var(--surface);
  color: var(--ink);
  font-family: 'Playfair Display', Georgia, serif;
}
h1, h2, h3, h4, h5, h6, .navbar-brand, .nav-link {
  font-family: 'Ubuntu', Arial, sans-serif;
}
.site-header {
  background-color: #ffffff;
  border-bottom: 2px solid var(--secondary);
}
.site-header .navbar {
  padding-top: 12px;
  padding-bottom: 12px;
}
.site-header .navbar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--secondary);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}
.site-header .navbar-brand img {
  display: block;
  width: 62px;
  height: 62px;
  object-fit: contain;
  border-radius: 0;
}
.site-header .nav-link {
  color: var(--ink);
  font-weight: 600;
  font-size: 0.98rem;
  padding: 10px 16px;
  border-radius: 0;
  border-bottom: 2px solid transparent;
}
.site-header .nav-link:hover,
.site-header .nav-link:focus {
  color: var(--secondary);
  border-bottom-color: var(--accent);
}
.site-header .navbar-toggler {
  border: 2px solid var(--secondary);
  border-radius: 0;
  padding: 6px 10px;
}
.site-header .navbar-toggler:focus {
  box-shadow: 0 0 0 3px rgba(150, 110, 180, 0.35);
}
.site-header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23333333' stroke-linecap='square' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width: 991.98px) {
  .site-header .navbar-collapse {
    margin-top: 12px;
    border-top: 1px solid #d8d6d0;
    padding-top: 8px;
  }
  .site-header .nav-link {
    border-bottom: 1px solid #ecebe6;
  }
}

#contact-body {
  background: #f5f5f2;
  color: #222;
  font-family: 'Playfair Display', Georgia, serif;
  padding: 52px 0;
}
#contact-body h1,
#contact-body h2,
#contact-body h3,
#contact-body .cb-label,
#contact-body .btn {
  font-family: 'Ubuntu', Arial, sans-serif;
}
#contact-body .cb-kicker {
  display: inline-block;
  font-family: 'Ubuntu', Arial, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(153, 14%, 26%);
  border-bottom: 2px solid hsl(273, 32%, 62%);
  padding-bottom: 4px;
  margin-bottom: 16px;
}
#contact-body h1 {
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  color: #222;
  font-weight: 700;
  margin-bottom: 16px;
}
#contact-body .cb-lead {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #333;
  max-width: 720px;
  margin-bottom: 40px;
}
#contact-body .cb-panel {
  background: #fff;
  border: 1px solid #d9d8d2;
  border-radius: 0;
  padding: 32px;
  height: 100%;
}
#contact-body .cb-panel h2 {
  font-size: 1.4rem;
  color: hsl(153, 14%, 26%);
  margin-bottom: 20px;
  font-weight: 700;
}
#contact-body .cb-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: #222;
  margin-bottom: 6px;
  display: block;
}
#contact-body .form-control {
  border-radius: 0;
  border: 1px solid #b9b8b0;
  background: #fff;
  color: #222;
  padding: 11px 14px;
  font-family: 'Playfair Display', Georgia, serif;
}
#contact-body .form-control:focus {
  border-color: hsl(273, 32%, 62%);
  box-shadow: 0 0 0 3px rgba(150, 100, 180, 0.2);
}
#contact-body .cb-submit {
  background: hsl(153, 14%, 26%);
  color: #fff;
  border: 0;
  border-radius: 0;
  padding: 13px 30px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
#contact-body .cb-submit:hover,
#contact-body .cb-submit:focus {
  background: hsl(33, 21%, 40%);
  color: #fff;
}
#contact-body .cb-note {
  font-size: 0.88rem;
  color: #444;
  margin-top: 14px;
  line-height: 1.5;
}
#contact-body .cb-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
#contact-body .cb-list li {
  padding: 14px 0;
  border-bottom: 1px solid #e3e2dc;
  line-height: 1.55;
}
#contact-body .cb-list li:last-child {
  border-bottom: 0;
}
#contact-body .cb-list .cb-key {
  display: block;
  font-family: 'Ubuntu', Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(33, 21%, 40%);
  margin-bottom: 3px;
}
#contact-body a {
  color: hsl(153, 14%, 26%);
  text-decoration: underline;
  text-underline-offset: 3px;
}
#contact-body a:hover {
  color: hsl(33, 21%, 40%);
}
#contact-body .cb-way {
  background: #eceae4;
  border-left: 4px solid hsl(33, 21%, 40%);
  padding: 16px 18px;
  font-size: 0.97rem;
  line-height: 1.6;
  color: #222;
}
#contact-body .cb-cta {
  margin-top: 48px;
  background: hsl(153, 14%, 26%);
  color: #fff;
  padding: 32px;
  border-radius: 0;
}
#contact-body .cb-cta h2 {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 10px;
}
#contact-body .cb-cta p {
  color: #f4f4f1;
  margin-bottom: 18px;
  line-height: 1.6;
}
#contact-body .cb-cta .btn {
  background: #f4f4f1;
  color: hsl(153, 14%, 26%);
  border-radius: 0;
  padding: 12px 28px;
  font-weight: 500;
  text-decoration: none;
}
#contact-body .cb-cta .btn:hover {
  background: hsl(273, 32%, 62%);
  color: #fff;
}
@media (max-width: 575.98px) {
  #contact-body .cb-panel { padding: 22px; }
  #contact-body .cb-cta { padding: 24px; }
}

#siteFooter {
  background: hsl(153, 14%, 26%);
  color: #f4f4f1;
  border-radius: 0;
  padding: 52px 0 0;
  font-family: 'Playfair Display', serif;
}
#siteFooter h2,
#siteFooter h3 {
  font-family: 'Ubuntu', sans-serif;
  color: #ffffff;
}
#siteFooter .ft-brand {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}
#siteFooter .ft-title {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid hsl(273, 32%, 62%);
  display: inline-block;
}
#siteFooter p,
#siteFooter li,
#siteFooter address {
  color: #e6e8e4;
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 8px;
  font-style: normal;
}
#siteFooter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#siteFooter a {
  color: #f4f4f1;
  text-decoration: none;
  transition: color 0.2s ease;
}
#siteFooter a:hover,
#siteFooter a:focus {
  color: hsl(273, 32%, 80%);
  text-decoration: underline;
}
#siteFooter .ft-social {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}
#siteFooter .ft-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #f4f4f1;
  border-radius: 0;
  font-size: 1.1rem;
  color: #f4f4f1;
}
#siteFooter .ft-social a:hover {
  background: hsl(273, 32%, 62%);
  border-color: hsl(273, 32%, 62%);
  color: #1d1d1d;
  text-decoration: none;
}
#siteFooter .ft-bottom {
  margin-top: 40px;
  padding: 18px 0;
  border-top: 1px solid rgba(244, 244, 241, 0.25);
  font-size: 0.88rem;
  color: #d5d8d3;
}
#siteFooter .ft-bottom p {
  margin: 0;
  color: #d5d8d3;
}
#privacyBox {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #f7f6f3;
  color: #222222;
  border-top: 4px solid hsl(273, 32%, 62%);
  box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.18);
  border-radius: 0;
  max-height: 60vh;
  overflow-y: auto;
  padding: 16px 0;
  font-family: 'Playfair Display', serif;
}
#privacyBox h2 {
  font-family: 'Ubuntu', sans-serif;
  font-size: 1.05rem;
  color: hsl(153, 14%, 26%);
  margin: 0 0 6px;
}
#privacyBox p {
  font-size: 0.88rem;
  line-height: 1.5;
  color: #333333;
  margin: 0 0 8px;
}
#privacyBox ul {
  list-style: none;
  padding: 0;
  margin: 0 0 4px;
  font-size: 0.85rem;
  color: #333333;
}
#privacyBox ul li {
  padding: 2px 0;
}
#privacyBox ul li strong {
  color: hsl(153, 14%, 26%);
}
#privacyBox .pb-btn {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border-radius: 0;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border: 2px solid hsl(153, 14%, 26%);
  background: hsl(153, 14%, 26%);
  color: #ffffff;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#privacyBox .pb-btn:hover,
#privacyBox .pb-btn:focus {
  background: hsl(273, 32%, 62%);
  border-color: hsl(273, 32%, 62%);
  color: #1d1d1d;
}
#privacyBox .pb-link {
  display: inline-block;
  margin-top: 8px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.85rem;
  color: hsl(33, 21%, 32%);
  text-decoration: underline;
}
#privacyBox .pb-link:hover {
  color: hsl(153, 14%, 26%);
}
@media (max-width: 575px) {
  #privacyBox {
    padding: 10px 0;
  }
  #privacyBox p {
    font-size: 0.82rem;
    margin-bottom: 6px;
  }
  #privacyBox ul {
    font-size: 0.8rem;
  }
  #privacyBox .pb-btn {
    padding: 8px 10px;
    font-size: 0.85rem;
  }
}

.hero-compact {
  background-color: #f5f5f2;
  padding: 56px 0 48px;
  border-bottom: 1px solid #dcdad3;
}
.hero-compact .hero-inner {
  max-width: 820px;
}
.hero-compact .hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(153, 14%, 26%);
  margin-bottom: 16px;
}
.hero-compact .hero-label i {
  color: hsl(273, 32%, 62%);
  font-size: 1rem;
}
.hero-compact h1 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  font-size: clamp(1.9rem, 4.2vw, 2.9rem);
  line-height: 1.15;
  color: #222222;
  margin-bottom: 12px;
  border-radius: 0;
}
.hero-compact h2 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.4;
  color: hsl(33, 21%, 40%);
  margin-bottom: 20px;
}
.hero-compact p.hero-text {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #333333;
  margin-bottom: 28px;
  max-width: 680px;
}
.hero-compact .btn-hero {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  background-color: hsl(153, 14%, 26%);
  color: #ffffff;
  border: 2px solid hsl(153, 14%, 26%);
  border-radius: 0;
  padding: 13px 28px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.hero-compact .btn-hero:hover,
.hero-compact .btn-hero:focus {
  background-color: hsl(33, 21%, 40%);
  border-color: hsl(33, 21%, 40%);
  color: #ffffff;
}
.hero-compact .btn-hero i {
  font-size: 1.1rem;
}
@media (max-width: 575.98px) {
  .hero-compact {
    padding: 40px 0 36px;
  }
  .hero-compact .btn-hero {
    width: 100%;
    justify-content: center;
  }
}

.uslugi-katalog{background:#f5f5f2;padding:56px 0;font-family:'Playfair Display',Georgia,serif;color:#222}
.uslugi-katalog .uk-head{margin-bottom:32px;max-width:760px}
.uslugi-katalog .uk-label{display:inline-block;font-family:'Ubuntu',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:hsl(153,14%,26%);border-bottom:2px solid hsl(273,32%,62%);padding-bottom:4px;margin-bottom:14px}
.uslugi-katalog h2{font-family:'Ubuntu',sans-serif;font-weight:700;color:hsl(153,14%,26%);font-size:2rem;margin-bottom:12px}
.uslugi-katalog .uk-lead{color:#333;font-size:1.05rem;margin:0}
.uslugi-katalog .uk-card{background:#fff;border:1px solid #d9d8d2;border-radius:0;padding:24px 22px;height:100%;display:flex;flex-direction:column;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.uslugi-katalog .uk-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(40,50,45,.12);border-color:hsl(273,32%,62%)}
.uslugi-katalog .uk-nr{position:absolute;top:14px;right:16px;font-family:'Ubuntu',sans-serif;font-size:.78rem;color:#6b6b66;letter-spacing:.08em}
.uslugi-katalog .uk-ikona{width:48px;height:48px;background:hsl(153,14%,26%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border-radius:0;margin-bottom:16px}
.uslugi-katalog .uk-card h3{font-family:'Ubuntu',sans-serif;font-size:1.15rem;font-weight:700;color:hsl(33,21%,28%);margin-bottom:10px}
.uslugi-katalog .uk-card p{font-size:.95rem;line-height:1.6;color:#333;flex-grow:1;margin-bottom:18px}
.uslugi-katalog .uk-stopka{border-top:1px solid #e4e3dd;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.uslugi-katalog .uk-cena{font-family:'Ubuntu',sans-serif;font-weight:700;color:hsl(153,14%,26%);font-size:1.05rem}
.uslugi-katalog .uk-termin{font-family:'Ubuntu',sans-serif;font-size:.8rem;color:#555}
.uslugi-katalog .uk-uwagi{margin-top:32px;background:#fff;border-left:4px solid hsl(273,32%,62%);padding:18px 22px;color:#333;font-size:.95rem;border-radius:0}
.uslugi-katalog .uk-uwagi strong{font-family:'Ubuntu',sans-serif;color:hsl(153,14%,26%)}
@media(max-width:575px){.uslugi-katalog{padding:40px 0}.uslugi-katalog h2{font-size:1.6rem}}

#gallery{background:#f5f5f2;padding:52px 0;font-family:'Playfair Display',Georgia,serif;color:#222}
#gallery .gal-head{margin-bottom:28px;border-left:4px solid hsl(33,21%,40%);padding-left:16px}
#gallery .gal-head h2{font-family:'Ubuntu',sans-serif;font-weight:700;font-size:2rem;color:hsl(153,14%,26%);margin:0 0 8px}
#gallery .gal-head p{margin:0;color:#333;max-width:720px;font-size:1.02rem;line-height:1.6}
#gallery .gal-card{background:#fff;border:1px solid #d9d8d2;border-radius:0;height:100%;display:flex;flex-direction:column}
#gallery .gal-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:0;border-bottom:1px solid #d9d8d2}
#gallery .gal-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
#gallery .gal-badge{display:inline-block;align-self:flex-start;background:hsl(153,14%,26%);color:#fff;font-family:'Ubuntu',sans-serif;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:0;margin-bottom:10px}
#gallery .gal-body h3{font-family:'Ubuntu',sans-serif;font-size:1.15rem;font-weight:700;color:#222;margin:0 0 8px}
#gallery .gal-body p{font-size:.95rem;line-height:1.55;color:#333;margin:0 0 14px;flex:1}
#gallery .gal-btn{align-self:flex-start;background:hsl(33,21%,40%);color:#fff;border:1px solid hsl(33,21%,40%);border-radius:0;font-family:'Ubuntu',sans-serif;font-size:.9rem;padding:7px 16px}
#gallery .gal-btn:hover,#gallery .gal-btn:focus{background:hsl(153,14%,26%);border-color:hsl(153,14%,26%);color:#fff}
#gallery .modal-content{border-radius:0;border:1px solid #bfbeb7;background:#fff;color:#222}
#gallery .modal-header{border-bottom:1px solid #d9d8d2;background:#f5f5f2}
#gallery .modal-title{font-family:'Ubuntu',sans-serif;font-weight:700;color:hsl(153,14%,26%)}
#gallery .modal-body{font-family:'Playfair Display',Georgia,serif;color:#333;line-height:1.65}
#gallery .modal-body img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;margin-bottom:16px}
#gallery .modal-body h4{font-family:'Ubuntu',sans-serif;font-size:1rem;color:hsl(33,21%,40%);margin:14px 0 6px;font-weight:700}
#gallery .modal-body ul{padding-left:20px;margin:0}
#gallery .modal-footer{border-top:1px solid #d9d8d2}
#gallery .modal-footer .btn{background:hsl(153,14%,26%);color:#fff;border-radius:0;font-family:'Ubuntu',sans-serif}

#numbers{
  background:#f4f4f1;
  padding:56px 0;
  font-family:'Playfair Display',Georgia,serif;
  color:#222;
}
#numbers .num-head{
  max-width:720px;
  margin-bottom:32px;
}
#numbers .num-kicker{
  font-family:'Ubuntu',Arial,sans-serif;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:hsl(153,14%,26%);
  margin:0 0 8px;
  font-weight:500;
}
#numbers h2{
  font-family:'Ubuntu',Arial,sans-serif;
  font-weight:700;
  font-size:2rem;
  color:#222;
  margin:0 0 12px;
}
#numbers .num-lead{
  font-size:1.05rem;
  color:#333;
  margin:0;
  line-height:1.65;
}
#numbers .num-card{
  background:#ffffff;
  border:1px solid #d9d8d2;
  border-top:4px solid hsl(33,21%,40%);
  border-radius:0;
  padding:24px 22px;
  height:100%;
  min-height:210px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
#numbers .num-card.is-dark{
  background:hsl(153,14%,26%);
  border-color:hsl(153,14%,26%);
  border-top-color:hsl(273,32%,62%);
  color:#f8f9fa;
}
#numbers .num-icon{
  font-size:1.6rem;
  color:hsl(33,21%,40%);
  line-height:1;
  margin-bottom:16px;
}
#numbers .is-dark .num-icon{
  color:#f8f9fa;
}
#numbers .num-value{
  font-family:'Ubuntu',Arial,sans-serif;
  font-weight:700;
  font-size:2.6rem;
  line-height:1;
  color:hsl(153,14%,26%);
  margin:0 0 10px;
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
#numbers .is-dark .num-value{
  color:#f8f9fa;
}
#numbers .num-value small{
  font-size:1rem;
  font-weight:500;
  color:#333;
}
#numbers .is-dark .num-value small{
  color:#f8f9fa;
}
#numbers .num-label{
  font-family:'Ubuntu',Arial,sans-serif;
  font-size:1.02rem;
  font-weight:500;
  color:#222;
  margin:0 0 6px;
  line-height:1.35;
}
#numbers .is-dark .num-label{
  color:#f8f9fa;
}
#numbers .num-note{
  font-size:.92rem;
  color:#333;
  margin:auto 0 0;
  line-height:1.5;
  padding-top:8px;
}
#numbers .is-dark .num-note{
  color:#f8f9fa;
}
#numbers .num-card::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:100%;
  background:hsl(273,32%,62%);
  transform:scaleX(0);
  transform-origin:left;
  animation:numBar 1.4s ease-out forwards;
}
#numbers .num-card.is-dark::after{
  background:hsl(33,21%,40%);
}
@keyframes numBar{
  to{transform:scaleX(1);}
}
@property --numCount{
  syntax:'<integer>';
  initial-value:0;
  inherits:false;
}
#numbers .count{
  counter-reset:n var(--numCount);
  animation:numCountUp 1.8s ease-out forwards;
}
#numbers .count::before{
  content:counter(n);
}
#numbers .c204{--target:204;}
#numbers .c13{--target:13;}
#numbers .c1650{--target:1650;}
#numbers .c858{--target:858;}
#numbers .c3{--target:3;}
#numbers .c11{--target:11;}
#numbers .c204{animation-name:cnt204;}
#numbers .c13{animation-name:cnt13;}
#numbers .c1650{animation-name:cnt1650;}
#numbers .c858{animation-name:cnt858;}
#numbers .c3{animation-name:cnt3;}
#numbers .c11{animation-name:cnt11;}
@keyframes cnt204{from{--numCount:0;}to{--numCount:204;}}
@keyframes cnt13{from{--numCount:0;}to{--numCount:13;}}
@keyframes cnt1650{from{--numCount:0;}to{--numCount:1650;}}
@keyframes cnt858{from{--numCount:0;}to{--numCount:858;}}
@keyframes cnt3{from{--numCount:0;}to{--numCount:3;}}
@keyframes cnt11{from{--numCount:0;}to{--numCount:11;}}
@media (prefers-reduced-motion:reduce){
  #numbers .count,#numbers .num-card::after{animation:none;}
  #numbers .num-card::after{transform:scaleX(1);}
}
@media (max-width:575px){
  #numbers{padding:48px 0;}
  #numbers h2{font-size:1.65rem;}
  #numbers .num-value{font-size:2.3rem;}
}

#reviews{background:#f5f5f2;padding:52px 0;font-family:'Playfair Display',serif;color:#222;}
#reviews .rv-head{margin-bottom:28px;max-width:720px;}
#reviews .rv-kicker{font-family:'Ubuntu',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:hsl(153,14%,26%);font-weight:500;margin-bottom:8px;}
#reviews h2{font-family:'Ubuntu',sans-serif;font-weight:700;color:hsl(153,14%,26%);font-size:2rem;margin-bottom:12px;}
#reviews .rv-lead{color:#333;font-size:1.05rem;line-height:1.6;margin:0;}
#reviews .rv-summary{display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px;border:1px solid #d6d4cc;background:#fff;}
#reviews .rv-stat{flex:1 1 180px;padding:16px 20px;border-right:1px solid #d6d4cc;}
#reviews .rv-stat:last-child{border-right:0;}
#reviews .rv-stat strong{display:block;font-family:'Ubuntu',sans-serif;font-size:1.5rem;color:hsl(33,21%,40%);}
#reviews .rv-stat span{font-size:.92rem;color:#333;}
#reviews .rv-card{background:#fff;border:1px solid #d6d4cc;border-radius:0;height:100%;padding:22px 22px 18px;display:flex;flex-direction:column;position:relative;border-top:3px solid hsl(33,21%,40%);}
#reviews .rv-card.rv-alt{border-top-color:hsl(153,14%,26%);}
#reviews .rv-card.rv-acc{border-top-color:hsl(273,32%,62%);}
#reviews .rv-stars{font-family:'Ubuntu',sans-serif;letter-spacing:2px;font-size:1rem;color:hsl(33,21%,40%);margin-bottom:10px;}
#reviews .rv-stars .rv-off{color:#c9c6bb;}
#reviews .rv-title{font-family:'Ubuntu',sans-serif;font-weight:500;font-size:1.02rem;color:hsl(153,14%,26%);margin-bottom:8px;}
#reviews .rv-text{font-size:.98rem;line-height:1.6;color:#222;margin:0 0 16px;flex:1 1 auto;}
#reviews .rv-meta{border-top:1px solid #e3e1da;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;}
#reviews .rv-name{font-family:'Ubuntu',sans-serif;font-weight:500;color:#222;font-size:.95rem;}
#reviews .rv-place{font-size:.85rem;color:#4a4a4a;}
#reviews .rv-note{margin-top:26px;font-size:.88rem;color:#4a4a4a;max-width:760px;}
@media(max-width:575px){#reviews h2{font-size:1.65rem;}#reviews .rv-stat{border-right:0;border-bottom:1px solid #d6d4cc;}#reviews .rv-stat:last-child{border-bottom:0;}}

#common-questions {
  background-color: #f5f5f2;
  padding: 52px 0;
  font-family: 'Playfair Display', Georgia, serif;
  color: #222;
}
#common-questions .faq-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}
#common-questions .faq-eyebrow {
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(153, 14%, 26%);
  margin-bottom: 10px;
  display: block;
}
#common-questions h2 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: hsl(153, 14%, 26%);
  margin-bottom: 14px;
  border-left: 4px solid hsl(273, 32%, 62%);
  padding-left: 14px;
}
#common-questions .faq-lead {
  color: #333;
  max-width: 720px;
  margin-bottom: 32px;
  font-size: 1.05rem;
  line-height: 1.65;
}
#common-questions .accordion {
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-bg: #ffffff;
  --bs-accordion-border-color: #d9d7d0;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(138, 100, 170, 0.25);
  --bs-accordion-active-bg: hsl(153, 14%, 26%);
  --bs-accordion-active-color: #ffffff;
}
#common-questions .accordion-item {
  border-radius: 0;
  border: 1px solid #d9d7d0;
  margin-bottom: 8px;
  background-color: #ffffff;
}
#common-questions .accordion-button {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: #222;
  background-color: #ffffff;
  border-radius: 0;
  padding: 18px 22px;
}
#common-questions .accordion-button:not(.collapsed) {
  background-color: hsl(153, 14%, 26%);
  color: #ffffff;
  box-shadow: none;
}
#common-questions .accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1);
}
#common-questions .accordion-button:focus {
  border-color: hsl(273, 32%, 62%);
}
#common-questions .accordion-body {
  background-color: #ffffff;
  color: #333;
  line-height: 1.7;
  padding: 20px 22px 24px;
  font-size: 1rem;
  border-top: 3px solid hsl(33, 21%, 40%);
}
#common-questions .faq-note {
  margin-top: 30px;
  padding: 18px 22px;
  background-color: #ffffff;
  border: 1px solid #d9d7d0;
  border-left: 4px solid hsl(33, 21%, 40%);
  color: #222;
  line-height: 1.6;
}
#common-questions .faq-note a {
  color: hsl(153, 14%, 26%);
  font-weight: 700;
  text-decoration: underline;
}
#common-questions .faq-note a:hover {
  color: hsl(33, 21%, 40%);
}
@media (max-width: 575px) {
  #common-questions { padding: 40px 0; }
  #common-questions h2 { font-size: 1.6rem; }
  #common-questions .accordion-button { padding: 15px 16px; font-size: 1rem; }
}

#contacts{
  background:#f5f5f2;
  padding:52px 0;
  font-family:'Playfair Display',Georgia,serif;
  color:#222;
}
#contacts .contact-head{
  margin-bottom:28px;
  border-left:4px solid hsl(273,32%,62%);
  padding-left:16px;
}
#contacts h2{
  font-family:'Ubuntu',Arial,sans-serif;
  font-weight:700;
  font-size:2rem;
  color:hsl(153,14%,26%);
  margin:0 0 8px;
}
#contacts .contact-head p{
  margin:0;
  color:#333;
  max-width:640px;
}
#contacts .contact-card{
  background:#fff;
  border:1px solid #d9d8d2;
  border-radius:0;
  padding:28px;
  height:100%;
}
#contacts h3{
  font-family:'Ubuntu',Arial,sans-serif;
  font-size:1.2rem;
  font-weight:700;
  color:hsl(153,14%,26%);
  margin:0 0 18px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#contacts .form-label{
  font-family:'Ubuntu',Arial,sans-serif;
  font-weight:500;
  font-size:.9rem;
  color:#222;
  margin-bottom:4px;
}
#contacts .form-control{
  border-radius:0;
  border:1px solid #b9b8b0;
  background:#fbfbf9;
  color:#222;
  padding:10px 12px;
  font-family:'Playfair Display',Georgia,serif;
}
#contacts .form-control:focus{
  border-color:hsl(273,32%,62%);
  box-shadow:0 0 0 3px hsla(273,32%,62%,.25);
  background:#fff;
}
#contacts textarea.form-control{
  min-height:140px;
  resize:vertical;
}
#contacts .btn-send{
  background:hsl(153,14%,26%);
  color:#fff;
  border:2px solid hsl(153,14%,26%);
  border-radius:0;
  font-family:'Ubuntu',Arial,sans-serif;
  font-weight:500;
  padding:11px 28px;
  letter-spacing:.03em;
}
#contacts .btn-send:hover,
#contacts .btn-send:focus{
  background:#fff;
  color:hsl(153,14%,26%);
}
#contacts .form-note{
  font-size:.85rem;
  color:#444;
  margin:14px 0 0;
}
#contacts .info-list{
  list-style:none;
  padding:0;
  margin:0;
}
#contacts .info-list li{
  padding:14px 0;
  border-bottom:1px solid #e2e1db;
}
#contacts .info-list li:last-child{
  border-bottom:0;
}
#contacts .info-label{
  display:block;
  font-family:'Ubuntu',Arial,sans-serif;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:hsl(33,21%,40%);
  margin-bottom:3px;
}
#contacts .info-list a{
  color:hsl(153,14%,26%);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
#contacts .info-list a:hover{
  color:hsl(273,32%,42%);
}
#contacts .info-value{
  color:#222;
  margin:0;
}
#contacts .hours-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
#contacts .find-us{
  margin-top:18px;
  padding:14px 16px;
  background:#f0efea;
  border-left:4px solid hsl(33,21%,40%);
  font-size:.95rem;
  color:#222;
}
#contacts .find-us a{
  color:hsl(153,14%,26%);
  font-weight:700;
  text-decoration:underline;
}
@media (max-width:575px){
  #contacts{padding:40px 0;}
  #contacts .contact-card{padding:20px;}
  #contacts h2{font-size:1.6rem;}
}

#legal.disclaimer-section {
  background: #f5f5f2;
  padding: 52px 0;
  font-family: 'Playfair Display', Georgia, serif;
  color: #222;
}
#legal .disclaimer-box {
  background: #ffffff;
  border: 1px solid #d9d8d2;
  border-left: 6px solid hsl(153, 14%, 26%);
  border-radius: 0;
  padding: 36px 32px;
  max-width: 920px;
  margin: 0 auto;
}
#legal .disclaimer-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
#legal .disclaimer-icon {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(153, 14%, 26%);
  color: #ffffff;
  border-radius: 0;
  font-size: 1.6rem;
}
#legal .disclaimer-title {
  font-family: 'Ubuntu', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.9rem;
  color: hsl(153, 14%, 26%);
  margin: 0;
}
#legal .disclaimer-text p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #222;
  margin-bottom: 16px;
}
#legal .disclaimer-text p:last-child {
  margin-bottom: 0;
}
#legal .disclaimer-note {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #d9d8d2;
  font-family: 'Ubuntu', Arial, sans-serif;
  font-size: 0.9rem;
  color: #444;
}
@media (max-width: 575px) {
  #legal .disclaimer-box { padding: 24px 18px; }
  #legal .disclaimer-title { font-size: 1.5rem; }
  #legal .disclaimer-icon { width: 44px; height: 44px; font-size: 1.3rem; }
}

#services-body {
  background: #f5f5f2;
  padding: 56px 0;
  font-family: 'Playfair Display', Georgia, serif;
  color: #222;
}
#services-body .sv-heading {
  font-family: 'Ubuntu', sans-serif;
  color: hsl(153, 14%, 26%);
  font-weight: 700;
}
#services-body .sv-intro {
  max-width: 820px;
  margin-bottom: 48px;
}
#services-body .sv-intro h1 {
  font-family: 'Ubuntu', sans-serif;
  color: hsl(153, 14%, 26%);
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 16px;
  border-left: 6px solid hsl(273, 32%, 62%);
  padding-left: 16px;
}
#services-body .sv-intro p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #222;
}
#services-body .sv-grid-title {
  font-family: 'Ubuntu', sans-serif;
  color: hsl(153, 14%, 26%);
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 8px;
}
#services-body .sv-grid-lead {
  color: #333;
  margin-bottom: 28px;
  max-width: 760px;
}
#services-body .sv-card {
  background: #ffffff;
  border: 1px solid #d9d8d2;
  border-radius: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 24px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
#services-body .sv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  border-color: hsl(273, 32%, 62%);
}
#services-body .sv-icon {
  width: 48px;
  height: 48px;
  background: hsl(153, 14%, 26%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  border-radius: 0;
  margin-bottom: 16px;
}
#services-body .sv-card h3 {
  font-family: 'Ubuntu', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: hsl(153, 14%, 26%);
  margin-bottom: 12px;
}
#services-body .sv-card p {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #222;
  flex-grow: 1;
}
#services-body .sv-price {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #d9d8d2;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  color: hsl(33, 21%, 40%);
  font-size: 1.05rem;
}
#services-body .sv-price span {
  display: block;
  font-weight: 400;
  font-size: 0.8rem;
  color: #444;
}
#services-body .sv-block {
  margin-top: 56px;
}
#services-body .sv-block h2 {
  font-family: 'Ubuntu', sans-serif;
  color: hsl(153, 14%, 26%);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 12px;
}
#services-body .sv-block p {
  line-height: 1.7;
  color: #222;
  margin-bottom: 0;
}
#services-body .sv-block-box {
  background: #ffffff;
  border: 1px solid #d9d8d2;
  border-top: 4px solid hsl(33, 21%, 40%);
  border-radius: 0;
  padding: 24px;
  height: 100%;
}
#services-body .sv-cta {
  margin-top: 56px;
  background: hsl(153, 14%, 26%);
  color: #f7f6f3;
  padding: 36px;
  border-radius: 0;
}
#services-body .sv-cta h2 {
  font-family: 'Ubuntu', sans-serif;
  color: #f7f6f3;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 12px;
}
#services-body .sv-cta p {
  color: #f7f6f3;
  line-height: 1.7;
  margin-bottom: 20px;
}
#services-body .sv-btn {
  display: inline-block;
  background: hsl(273, 32%, 62%);
  color: #111111;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 0;
  text-decoration: none;
  border: 2px solid hsl(273, 32%, 62%);
  transition: background 0.2s ease, color 0.2s ease;
}
#services-body .sv-btn:hover {
  background: #f7f6f3;
  color: hsl(153, 14%, 26%);
  border-color: #f7f6f3;
}
@media (max-width: 575px) {
  #services-body .sv-intro h1 { font-size: 1.8rem; }
  #services-body .sv-cta { padding: 24px; }
}

.thankyou-section {
    min-height: 80vh;
    display: flex;
    align-items: center;
    padding: 4rem 0;
    background: linear-gradient(160deg, hsl(33, 21%, 97%) 0%, hsl(153, 14%, 95%) 100%);
    font-family: 'Playfair Display', serif;
  }

  .thankyou-card {
    background: #ffffff;
    border-radius: 1.25rem;
    padding: 3rem 2rem;
    box-shadow: 0 1rem 2.5rem rgba(60, 50, 40, 0.12);
    border-top: 6px solid hsl(33, 21%, 40%);
    max-width: 720px;
    margin: 0 auto;
  }

  .thankyou-icon {
    width: 110px;
    height: 110px;
    margin: 0 auto 1.75rem;
    border-radius: 50%;
    background: hsl(273, 32%, 62%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 10px rgba(160, 110, 200, 0.18);
    animation: thankyou-pop 0.7s ease-out both;
  }

  .thankyou-icon svg {
    width: 58px;
    height: 58px;
  }

  .thankyou-title {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 700;
    color: hsl(153, 14%, 26%);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    line-height: 1.25;
    margin-bottom: 1.25rem;
  }

  .thankyou-lead {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    color: hsl(33, 21%, 40%);
    margin-bottom: 1rem;
  }

  .thankyou-text {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    color: hsl(153, 14%, 26%);
    line-height: 1.75;
    margin-bottom: 1.75rem;
  }

  .thankyou-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 2.25rem;
  }

  .thankyou-step {
    flex: 1 1 200px;
    background: hsl(153, 14%, 96%);
    border-left: 4px solid hsl(273, 32%, 62%);
    border-radius: 0.6rem;
    padding: 0.9rem 1rem;
    font-family: 'Playfair Display', serif;
    font-size: 0.98rem;
    color: hsl(153, 14%, 26%);
    text-align: left;
  }

  .thankyou-step i {
    color: hsl(273, 32%, 62%);
    margin-right: 0.5rem;
  }

  .btn-thankyou {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 500;
    background-color: hsl(33, 21%, 40%);
    border: 2px solid hsl(33, 21%, 40%);
    color: #ffffff;
    padding: 0.8rem 2.25rem;
    border-radius: 50rem;
    transition: all 0.3s ease;
  }

  .btn-thankyou:hover,
  .btn-thankyou:focus {
    background-color: hsl(153, 14%, 26%);
    border-color: hsl(153, 14%, 26%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1rem rgba(60, 50, 40, 0.25);
  }

  @keyframes thankyou-pop {
    0% { transform: scale(0.4); opacity: 0; }
    70% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); }
  }

  @media (max-width: 575.98px) {
    .thankyou-card {
      padding: 2.25rem 1.25rem;
    }
    .thankyou-icon {
      width: 90px;
      height: 90px;
    }
    .thankyou-icon svg {
      width: 48px;
      height: 48px;
    }
  }
