/* --------- Light, airy palette for interior design --------- */
html { font-size:16px; }
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  color:#2b2b2b;
  background:
    radial-gradient(70% 50% at 10% 10%, rgba(210,106,74,.06), transparent 60%),
    radial-gradient(60% 45% at 85% 20%, rgba(127,174,158,.08), transparent 60%),
    #FAF8F5; /* warm white */
}

/* Quick helpers (container/grid reused via unique section wrappers only) */
a { color:inherit; }

/* ===== Topbar (warm neutral) ===== */
.solp-topbar-wrap { background:#F5EFE7; border-bottom:1px solid #ECE8E2; }
.solp-topbar-container { max-width:1200px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.solp-topbar-left { color:#68625b; display:flex; gap:10px; align-items:center; }
.solp-topbar-flag { filter:saturate(1.05); }
.solp-topbar-right { display:flex; gap:16px; align-items:center; }
.solp-topbar-phone, .solp-topbar-mail { color:#2b2b2b; text-decoration:none; }
.solp-topbar-phone i, .solp-topbar-mail i { margin-right:8px; color:#D26A4A; }
.solp-topbar-social a { color:#8a847d; margin-left:10px; }
.solp-topbar-social a:hover { color:#2b2b2b; }

/* ===== Header / Nav (glass-light) ===== */
.solp-header-wrap {
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px) saturate(1.2);
  border-bottom:1px solid #ECE8E2;
}
.solp-header-container { max-width:1200px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; }
.solp-header-logo { display:flex; align-items:center; gap:10px; color:#2b2b2b; text-decoration:none; font-weight:800; }
.solp-header-logo i { color:#D26A4A; }
.solp-header-nav { display:flex; gap:18px; align-items:center; }
.solp-header-link1, .solp-header-link2, .solp-header-link3, .solp-header-link4,
.solp-header-link5, .solp-header-link6, .solp-header-link7, .solp-header-link8 {
  color:#2b2b2b; text-decoration:none; padding:8px 10px; border-radius:10px; transition:background .2s ease;
}
.solp-header-link4 { background:rgba(210,106,74,.10); color:#B85538; border:1px solid rgba(210,106,74,.25); }
.solp-header-link1:hover, .solp-header-link2:hover, .solp-header-link3:hover, .solp-header-link5:hover,
.solp-header-link6:hover, .solp-header-link7:hover, .solp-header-link8:hover { background:#F3F0EC; }
.solp-header-cta {
  display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(135deg,#D26A4A,#C65B3C); color:#fff; text-decoration:none; font-weight:700; box-shadow:0 6px 18px rgba(198,91,60,.25);
}
.solp-header-toggle { display:none; }
.solp-header-burger { display:none; cursor:pointer; }
.solp-header-line1, .solp-header-line2, .solp-header-line3 { display:block; width:26px; height:2px; background:#2b2b2b; margin:6px 0; border-radius:2px; }
@media (max-width:980px){
  .solp-header-burger{ display:block; }
  .solp-header-nav{
    position:absolute; top:62px; right:20px; left:20px;
    background:#FFFFFF; border:1px solid #ECE8E2; border-radius:14px; padding:12px;
    display:none; flex-direction:column; box-shadow:0 12px 30px rgba(0,0,0,.06);
  }
  .solp-header-toggle:checked ~ .solp-header-burger + .solp-header-nav { display:flex; }
  .solp-header-cta { width:100%; justify-content:center; }
}

/* ===== Hero ===== */
.solp-hero-wrap {
  padding:84px 0 72px;
  background:
    radial-gradient(60% 40% at 75% 30%, rgba(210,106,74,.10), transparent 60%),
    radial-gradient(50% 40% at 20% 70%, rgba(127,174,158,.12), transparent 60%);
}
.solp-hero-container { max-width:1200px; margin:0 auto; padding:0 20px; display:grid; gap:28px; grid-template-columns:1.2fr .8fr; align-items:center; }
.solp-hero-title { font-size:2.6rem; line-height:1.2; margin:0 0 12px; letter-spacing:.2px; }
.solp-hero-accent { color:#D26A4A; }
.solp-hero-sub { color:#5c5c5c; font-size:1.06rem; margin:0 0 18px; }
.solp-hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.solp-hero-btn1 {
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:12px; border:0;
  background:linear-gradient(135deg,#D26A4A,#C65B3C); color:#fff; text-decoration:none; font-weight:700; box-shadow:0 10px 26px rgba(198,91,60,.25);
}
.solp-hero-btn2 {
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:12px;
  border:1px solid #DFDBD5; background:#fff; color:#2b2b2b; text-decoration:none;
}
.solp-hero-bullets { display:flex; gap:16px; padding:0; margin:10px 0 0; list-style:none; color:#606060; }
.solp-hero-bullets i { color:#7FAE9E; margin-right:8px; }
.solp-hero-media { }
.solp-hero-img { width:100%; height:auto; border-radius:18px; box-shadow:0 18px 40px rgba(0,0,0,.08); border:1px solid #EEE9E2; }
@media (max-width:980px){ .solp-hero-container{ grid-template-columns:1fr; } }

/* ===== Contact ===== */
.solp-contact-wrap { padding:80px 0; }
.solp-contact-container { max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.solp-contact-title { font-size:2rem; margin:0 0 10px; }
.solp-contact-sub { color:#66625c; margin:0 0 10px; }
.solp-contact-list { list-style:none; padding:0; margin:12px 0 0; color:#66625c; }
.solp-contact-list i { color:#D26A4A; margin-right:10px; }
.solp-contact-form {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; padding:18px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px; box-shadow:0 14px 28px rgba(0,0,0,.05);
}
.solp-contact-input1, .solp-contact-input2, .solp-contact-input3, .solp-contact-select1, .solp-contact-textarea1 {
  background:#fff; color:#2b2b2b; border:1px solid #E1DDD7; border-radius:10px; padding:12px; outline:none;
}
.solp-contact-input1:focus, .solp-contact-input2:focus, .solp-contact-input3:focus,
.solp-contact-select1:focus, .solp-contact-textarea1:focus { border-color:#D26A4A; box-shadow:0 0 0 3px rgba(210,106,74,.15); }
.solp-contact-field5 { grid-column:1 / -1; }
.solp-contact-submit {
  grid-column:1 / -1; justify-self:start; display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:12px;
  background:linear-gradient(135deg,#D26A4A,#C65B3C); color:#fff; border:0; font-weight:700; box-shadow:0 10px 26px rgba(198,91,60,.22);
}
@media (max-width:980px){ .solp-contact-container{ grid-template-columns:1fr; } .solp-contact-form{ grid-template-columns:1fr; } }

/* ===== FAQ ===== */
.solp-faq-wrap { padding:80px 0; background:#F9F6F2; }
.solp-faq-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-faq-title { font-size:2rem; margin:0 0 10px; }
.solp-faq-items details {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:14px; padding:14px 16px; margin:12px 0;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}

/* ===== Insights ===== */
.solp-insights-wrap { padding:80px 0; }
.solp-insights-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-insights-title { font-size:2rem; margin:0 0 10px; }
.solp-insights-sub { color:#68625b; }
.solp-insights-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; }
.solp-insights-grid article {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; padding:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
}
.solp-insights-grid a { color:#D26A4A; text-decoration:none; }
.solp-insights-grid a:hover { text-decoration:underline; }
@media (max-width:960px){ .solp-insights-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .solp-insights-grid{ grid-template-columns:1fr; } }

/* ===== Team ===== */
.solp-team-wrap { padding:80px 0; background:#F9F6F2; }
.solp-team-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-team-title { font-size:2rem; margin:0 0 10px; }
.solp-team-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
.solp-team-grid article {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; overflow:hidden;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
}
.solp-team-grid img { width:100%; height:240px; object-fit:cover; display:block; }
.solp-team-grid h3 { margin:12px 16px 4px; }
.solp-team-grid p { margin:0 16px 10px; color:#68625b; }
.solp-team-grid .solp-team-card1icons, .solp-team-grid .solp-team-card2icons, .solp-team-grid .solp-team-card3icons { margin:0 16px 16px; }
.solp-team-grid a { color:#7FAE9E; margin-right:10px; }

/* ===== Testimonials ===== */
.solp-testimonials-wrap { padding:80px 0; }
.solp-testimonials-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-testimonials-title { font-size:2rem; margin:0 0 10px; }
.solp-testimonials-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
.solp-testimonials-grid blockquote {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; padding:22px;
  box-shadow:0 10px 22px rgba(0,0,0,.05);
}
.solp-testimonials-grid footer { color:#68625b; }
@media (max-width:960px){ .solp-testimonials-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .solp-testimonials-grid{ grid-template-columns:1fr; } }

/* ===== About ===== */
.solp-about-wrap { padding:80px 0; background:#FFFFFF; }
.solp-about-container { max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; }
.solp-about-title { font-size:2rem; margin:0 0 10px; }
.solp-about-sub { color:#68625b; }
.solp-about-img { width:100%; height:auto; border-radius:18px; border:1px solid #EEE9E2; box-shadow:0 16px 34px rgba(0,0,0,.06); }
.solp-about-btn {
  display:inline-block; margin-top:12px; padding:12px 18px; border-radius:12px;
  background:linear-gradient(135deg,#D26A4A,#C65B3C); color:#fff; text-decoration:none; font-weight:700; box-shadow:0 10px 24px rgba(198,91,60,.18);
}
@media (max-width:980px){ .solp-about-container{ grid-template-columns:1fr; } }

/* ===== Offer (Promo) ===== */
.solp-offer-wrap {
  padding:70px 0;
  background:
    linear-gradient(180deg, rgba(210,106,74,.06), rgba(255,255,255,0) 50%),
    radial-gradient(60% 60% at 80% 30%, rgba(127,174,158,.18), transparent 60%),
    #FFF;
  border-top:1px solid #ECE8E2; border-bottom:1px solid #ECE8E2;
}
.solp-offer-container { max-width:1200px; margin:0 auto; padding:0 20px; text-align:center; }
.solp-offer-badge { display:inline-flex; gap:8px; align-items:center; background:#fff; color:#7FAE9E; border:1px dashed rgba(127,174,158,.6); padding:8px 12px; border-radius:999px; margin-bottom:10px; }
.solp-offer-title { font-size:2rem; margin:8px 0 8px; }
.solp-offer-sub { color:#68625b; margin:0 0 16px; }
.solp-offer-cta { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:8px; }
.solp-offer-btn1 {
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:12px;
  background:linear-gradient(135deg,#D26A4A,#C65B3C); color:#fff; border:0; text-decoration:none; font-weight:700; box-shadow:0 10px 24px rgba(198,91,60,.22);
}
.solp-offer-btn2 {
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:12px;
  background:transparent; border:1px solid #D26A4A; color:#B85538; text-decoration:none;
}
.solp-offer-notes { display:flex; gap:18px; justify-content:center; list-style:none; padding:0; margin:12px 0 0; color:#68625b; flex-wrap:wrap; }
.solp-offer-notes i { color:#7FAE9E; margin-right:8px; }

/* ===== Process ===== */
.solp-process-wrap { padding:80px 0; }
.solp-process-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-process-title { font-size:2rem; margin:0 0 10px; }
.solp-process-sub { color:#68625b; }
.solp-process-steps {
  display:grid; grid-template-columns:repeat(6,1fr); gap:16px; padding:0; margin:16px 0 0; list-style:none;
}
.solp-process-steps li {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:14px; padding:16px; color:#5c5c5c; font-weight:600;
  box-shadow:0 10px 20px rgba(0,0,0,.05);
}
.solp-process-num1, .solp-process-num2, .solp-process-num3, .solp-process-num4, .solp-process-num5, .solp-process-num6 {
  display:inline-block; min-width:36px; height:36px; line-height:36px; text-align:center; border-radius:10px;
  background:rgba(210,106,74,.12); color:#B85538; margin-right:10px;
}
@media (max-width:980px){ .solp-process-steps{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:640px){ .solp-process-steps{ grid-template-columns:1fr; } }

/* ===== Projects ===== */
.solp-projects-wrap { padding:80px 0; background:#F9F6F2; }
.solp-projects-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-projects-title { font-size:2rem; margin:0 0 10px; }
.solp-projects-sub { color:#68625b; }
.solp-projects-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
.solp-projects-card1, .solp-projects-card2, .solp-projects-card3 {
  position:relative; display:block; border-radius:16px; overflow:hidden; border:1px solid #EAE6E0; background:#fff;
  transition:transform .25s ease, box-shadow .25s ease; box-shadow:0 12px 24px rgba(0,0,0,.05);
}
.solp-projects-card1img, .solp-projects-card2img, .solp-projects-card3img { width:100%; height:260px; object-fit:cover; display:block; }
.solp-projects-card1meta, .solp-projects-card2meta, .solp-projects-card3meta {
  position:absolute; left:12px; right:12px; bottom:12px; display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,.85); backdrop-filter:blur(6px); padding:10px 12px; border-radius:12px; border:1px solid #EDE9E2;
}
.solp-projects-card1:hover, .solp-projects-card2:hover, .solp-projects-card3:hover { transform:translateY(-3px); box-shadow:0 16px 30px rgba(0,0,0,.07); }
@media (max-width:960px){ .solp-projects-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .solp-projects-grid{ grid-template-columns:1fr; } }

/* ===== Services ===== */
.solp-services-wrap { padding:80px 0; }
.solp-services-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-services-title { font-size:2rem; margin:0 0 10px; }
.solp-services-sub { color:#68625b; }
.solp-services-grid { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
.solp-services-card1, .solp-services-card2, .solp-services-card3 {
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; padding:22px;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
}
.solp-services-card1ic, .solp-services-card2ic, .solp-services-card3ic {
  width:48px; height:48px; display:grid; place-items:center; background:rgba(127,174,158,.18); color:#5E9F8D; border-radius:12px; margin-bottom:10px;
}

/* ===== Trust / Logos ===== */
.solp-trust-wrap { padding:36px 0; border-top:1px solid #ECE8E2; border-bottom:1px solid #ECE8E2; background:#FFF; }
.solp-trust-container { max-width:1200px; margin:0 auto; padding:0 20px; }
.solp-trust-title { text-align:center; color:#6d6d6d; margin-bottom:16px; }
.solp-trust-logos { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; align-items:center; opacity:.9; }
.solp-trust-logos img { max-height:28px; width:auto; margin:0 auto; filter:grayscale(1) contrast(1.05); }
@media (max-width:820px){ .solp-trust-logos{ grid-template-columns:repeat(3,1fr); } }

/* ===== Footer (deep warm charcoal) ===== */
.solp-footer-wrap { border-top:1px solid #ECE8E2; background:#2A2624; color:#ECE9E4; }
.solp-footer-container { max-width:1200px; margin:0 auto; padding:42px 20px; display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:24px; }
.solp-footer-logo { display:flex; align-items:center; gap:10px; color:#ECE9E4; text-decoration:none; font-weight:800; }
.solp-footer-logo i { color:#E6B8A2; } /* soft terracotta tint */
.solp-footer-desc { color:#CFC8C1; }
.solp-footer-social a { color:#CFC8C1; margin-right:10px; }
.solp-footer-title1, .solp-footer-title2, .solp-footer-title3 { margin:0 0 10px; color:#F1ECE6; }
.solp-footer-links1, .solp-footer-links2, .solp-footer-contacts { list-style:none; padding:0; margin:0; }
.solp-footer-links1 li, .solp-footer-links2 li, .solp-footer-contacts li { margin:8px 0; }
.solp-footer-links1 a, .solp-footer-links2 a { color:#ECE9E4; text-decoration:none; opacity:.9; }
.solp-footer-links1 a:hover, .solp-footer-links2 a:hover { opacity:1; text-decoration:underline; }
.solp-footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:14px 20px; color:#CFC8C1; text-align:center; }
@media (max-width:980px){ .solp-footer-container{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .solp-footer-container{ grid-template-columns:1fr; } }
/* ===== Softer overlays (lighter, airier) ===== */

/* HERO: был .88, делаем ~.68 */
.solp-hero-wrap{
  background:
    linear-gradient(0deg, rgba(255,255,255,.68), rgba(255,255,255,.68)),
    radial-gradient(60% 40% at 75% 30%, rgba(210,106,74,.10), transparent 60%),
    radial-gradient(50% 40% at 20% 70%, rgba(127,174,158,.12), transparent 60%),
    url('images/bg-hero.jpg') center/cover no-repeat;
}

/* PROJECTS: было .94, делаем ~.78 */
.solp-projects-wrap{
  background:
    linear-gradient(0deg, rgba(249,246,242,.78), rgba(249,246,242,.78)),
}

/* OFFER: белый слой был .85 → .66; доп. градиенты ослаблены */
.solp-offer-wrap{
  background:
    linear-gradient(180deg, rgba(210,106,74,.04), rgba(255,255,255,0) 50%),
    radial-gradient(60% 60% at 80% 30%, rgba(127,174,158,.12), transparent 60%),
    linear-gradient(0deg, rgba(255,255,255,.66), rgba(255,255,255,.66)),
  border-top:1px solid #ECE8E2; border-bottom:1px solid #ECE8E2;
}

/* Mobile: стабильное покрытие */
@media (max-width: 980px){
  .solp-hero-wrap,
  .solp-projects-wrap,
  .solp-offer-wrap{
    background-position:center;
    background-size:cover;
  }
}
/* ===== Trust logos: bigger & circular ===== */
.solp-trust-logos img{
  /* размеры круга */
  width: 104px;
  height: 104px;
  max-height: none;           /* перекрываем прежний max-height:28px */
  border-radius: 9999px;      /* круг */
  
  /* фон и рамка */
  background: #fff;
  border: 1px solid #EAE6E0;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);

  /* внутренние отступы и подгонка */
  padding: 16px;              /* поле внутри круга */
  object-fit: contain;        /* логотип остаётся пропорциональным */
  
  /* выравнивание в сетке */
  display: block;
  margin: 0 auto;
  filter: grayscale(1) contrast(1.05); /* как раньше, но можно убрать */
  transition: transform .18s ease, box-shadow .18s ease;
}

.solp-trust-logos img:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
}

/* Чуть плотнее сетку под увеличенные логотипы */
.solp-trust-logos{
  gap: 18px; /* было 24 — можно оставить 24, если нравится воздух */
}

/* Адаптивные размеры на мобильных */
@media (max-width: 640px){
  .solp-trust-logos img{
    width: 84px;
    height: 84px;
    padding: 12px;
  }
}
/* ===== Services CTA buttons (per-card unique classes) ===== */
.solp-services-card1cta,
.solp-services-card2cta,
.solp-services-card3cta,
.solp-services-card4cta,
.solp-services-card5cta{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;
}

/* Primary CTA (Enquire) — тёплый терракотовый */
.solp-services-card1btn1, .solp-services-card2btn1, .solp-services-card3btn1,
.solp-services-card4btn1, .solp-services-card5btn1{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px; border:0;
  background:linear-gradient(135deg,#D26A4A,#C65B3C);
  color:#fff; text-decoration:none; font-weight:700;
  box-shadow:0 10px 22px rgba(198,91,60,.18);
}

/* Secondary CTA (Call) — контурная */
.solp-services-card1btn2, .solp-services-card2btn2, .solp-services-card3btn2,
.solp-services-card4btn2, .solp-services-card5btn2{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px;
  border:1px solid #D26A4A; color:#B85538; background:transparent;
  text-decoration:none; font-weight:600;
}

/* Лёгкий hover */
.solp-services-card1btn1:hover, .solp-services-card2btn1:hover, .solp-services-card3btn1:hover,
.solp-services-card4btn1:hover, .solp-services-card5btn1:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(198,91,60,.22);
}
.solp-services-card1btn2:hover, .solp-services-card2btn2:hover, .solp-services-card3btn2:hover,
.solp-services-card4btn2:hover, .solp-services-card5btn2:hover{
  background:rgba(210,106,74,.06);
}
/* ===== Process: single-image background ===== */
.solp-process-wrap{
  background:
    linear-gradient(0deg, rgba(255,255,255,.70), rgba(255,255,255,.70)),
    url('images/bg-process.jpg') center/cover no-repeat;
}

@media (max-width: 980px){
  .solp-process-wrap{
    background-position:center;
    background-size:cover;
  }
}
/* ===================== Projects (custom styles) ===================== */

/* Заголовок секции */
.solp-projects-head{
  display:flex; flex-direction:column; gap:6px;
}
.solp-projects-title{
  margin:0; font-size:1.6rem; line-height:1.25; display:flex; gap:10px; align-items:center;
}
.solp-projects-title i{ color:#D26A4A; }
.solp-projects-sub{ color:#68625b; margin:0; }

/* Сетка карточек */
.solp-projects-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  margin-top:18px;
}

/* Контейнер каждой карточки + кнопки под ней */
.solp-projects-item1, .solp-projects-item2, .solp-projects-item3,
.solp-projects-item4, .solp-projects-item5, .solp-projects-item6{
  display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0;
}

/* Карточка (ссылка) */
.solp-projects-card1, .solp-projects-card2, .solp-projects-card3,
.solp-projects-card4, .solp-projects-card5, .solp-projects-card6{
  position:relative; display:block; width:100%;
  background:#fff; border:1px solid #EAE6E0; border-radius:16px; overflow:hidden;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
  transition:transform .25s ease, box-shadow .25s ease;
}
.solp-projects-card1:hover, .solp-projects-card2:hover, .solp-projects-card3:hover,
.solp-projects-card4:hover, .solp-projects-card5:hover, .solp-projects-card6:hover{
  transform:translateY(-3px); box-shadow:0 16px 30px rgba(0,0,0,.07);
}
.solp-projects-card1:focus-visible, .solp-projects-card2:focus-visible, .solp-projects-card3:focus-visible,
.solp-projects-card4:focus-visible, .solp-projects-card5:focus-visible, .solp-projects-card6:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(210,106,74,.25);
}

/* Изображение */
.solp-projects-card1img, .solp-projects-card2img, .solp-projects-card3img,
.solp-projects-card4img, .solp-projects-card5img, .solp-projects-card6img{
  width:100%; height:260px; object-fit:cover; display:block; background:#F3F0EC;
}
@media (max-width: 640px){
  .solp-projects-card1img, .solp-projects-card2img, .solp-projects-card3img,
  .solp-projects-card4img, .solp-projects-card5img, .solp-projects-card6img{ height:220px; }
}

/* Нижняя плашка-оверлей с названием */
.solp-projects-card1meta, .solp-projects-card2meta, .solp-projects-card3meta,
.solp-projects-card4meta, .solp-projects-card5meta, .solp-projects-card6meta{
  position:absolute; left:12px; right:12px; bottom:12px;
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; border-radius:12px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(6px);
  border:1px solid #EDE9E2;
  color:#2b2b2b; font-weight:600;
}
.solp-projects-card1name, .solp-projects-card2name, .solp-projects-card3name,
.solp-projects-card4name, .solp-projects-card5name, .solp-projects-card6name{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:80%;
}
.solp-projects-card1meta i, .solp-projects-card2meta i, .solp-projects-card3meta i,
.solp-projects-card4meta i, .solp-projects-card5meta i, .solp-projects-card6meta i{
  color:#D26A4A;
}

/* Кнопки под карточками (ведут на существующие блоки) */
.solp-projects-card1btn, .solp-projects-card2btn, .solp-projects-card3btn,
.solp-projects-card4btn, .solp-projects-card5btn, .solp-projects-card6btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px; text-decoration:none;
  font-weight:700; line-height:1;
  border:1px solid #D26A4A; color:#B85538; background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.solp-projects-card1btn:hover, .solp-projects-card2btn:hover, .solp-projects-card3btn:hover,
.solp-projects-card4btn:hover, .solp-projects-card5btn:hover, .solp-projects-card6btn:hover{
  background:rgba(210,106,74,.06); transform:translateY(-1px);
}
.solp-projects-card1btn:focus-visible, .solp-projects-card2btn:focus-visible, .solp-projects-card3btn:focus-visible,
.solp-projects-card4btn:focus-visible, .solp-projects-card5btn:focus-visible, .solp-projects-card6btn:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(210,106,74,.22);
}

/* Адаптивность сетки */
@media (max-width: 960px){
  .solp-projects-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .solp-projects-grid{ grid-template-columns:1fr; }
}

/* Пользовательские предпочтения по анимациям */
@media (prefers-reduced-motion: reduce){
  .solp-projects-card1, .solp-projects-card2, .solp-projects-card3,
  .solp-projects-card4, .solp-projects-card5, .solp-projects-card6,
  .solp-projects-card1btn, .solp-projects-card2btn, .solp-projects-card3btn,
  .solp-projects-card4btn, .solp-projects-card5btn, .solp-projects-card6btn{
    transition:none;
  }
}
/* ===== FAQ: light photo background (single image) ===== */
.solp-faq-wrap{
  background:
    linear-gradient(0deg, rgba(255,255,255,.70), rgba(255,255,255,.70)),
    url('images/bg-faq.jpg') center/cover no-repeat;
  border-top: 1px solid #ECE8E2;
  border-bottom: 1px solid #ECE8E2;
}

@media (max-width: 980px){
  .solp-faq-wrap{
    background-position:center;
    background-size:cover;
  }
}
/* ===== Cookie banner (light, interior palette) ===== */
.solp-cookie-wrap{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: none; /* по умолчанию скрыто, показываем классом ниже */
}
.solp-cookie-visible{ display: block; }

.solp-cookie-container{
  max-width: 1200px; margin: 0 auto 18px; padding: 0 20px;
}
.solp-cookie-content, .solp-cookie-actions{
  display: grid;
}
.solp-cookie-content{
  grid-template-columns: 1fr;
  gap: 8px;
  background: rgba(255,255,255,.92);
  border: 1px solid #EAE6E0;
  border-radius: 14px;
  box-shadow: 0 16px 30px rgba(0,0,0,.08);
  padding: 16px;
  backdrop-filter: blur(6px);
}
.solp-cookie-title{
  margin: 0; font-size: 1rem; display: flex; align-items: center; gap: 8px;
}
.solp-cookie-text{
  margin: 0; color: #68625b; font-size: .98rem;
}
.solp-cookie-link{
  color: #B85538; text-decoration: underline;
}

.solp-cookie-actions{
  grid-auto-flow: column; justify-content: start; gap: 10px;
  margin-top: 12px;
}
.solp-cookie-accept, .solp-cookie-decline{
  appearance: none; border-radius: 12px; padding: 10px 14px; cursor: pointer;
  font-weight: 700; line-height: 1; border: 1px solid transparent;
}
.solp-cookie-accept{
  background: linear-gradient(135deg,#D26A4A,#C65B3C);
  color: #fff; border-color: #D26A4A;
  box-shadow: 0 10px 22px rgba(198,91,60,.18);
}
.solp-cookie-accept:hover{ box-shadow: 0 12px 26px rgba(198,91,60,.22); transform: translateY(-1px); }

.solp-cookie-decline{
  background: #fff; color: #B85538; border-color: #D26A4A;
}
.solp-cookie-decline:hover{ background: rgba(210,106,74,.06); }

@media (min-width: 820px){
  .solp-cookie-content{
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .solp-cookie-actions{ margin: 0 0 0 16px; justify-content: end; }
}
/* ===== Services: responsive grid + styles for cards 4–5 ===== */

/* 1) Грид теперь сам перестраивается: 3 → 2 → 1 колонки */
.solp-services-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); /* было: repeat(3,1fr) */
  gap:24px;
  margin-top:16px; /* как и раньше */
}

/* 2) Приводим новые карточки (4–5) к стилю 1–3 */
.solp-services-card4, .solp-services-card5{
  background:#FFFFFF; border:1px solid #EAE6E0; border-radius:16px; padding:22px;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
}
.solp-services-card4ic, .solp-services-card5ic{
  width:48px; height:48px; display:grid; place-items:center;
  background:rgba(127,174,158,.18); color:#5E9F8D; border-radius:12px; margin-bottom:10px;
}

/* 3) Мелкие UX-штрихи для мобильных */
@media (max-width: 640px){
  .solp-services-grid{ gap:16px; }
  .solp-services-card1, .solp-services-card2, .solp-services-card3,
  .solp-services-card4, .solp-services-card5{ padding:18px; }
}

/* 4) Защита от длинных заголовков/пунктов */
.solp-services-card1t, .solp-services-card2t, .solp-services-card3t,
.solp-services-card4t, .solp-services-card5t,
.solp-services-card1d, .solp-services-card2d, .solp-services-card3d,
.solp-services-card4d, .solp-services-card5d,
.solp-services-card1l, .solp-services-card2l, .solp-services-card3l,
.solp-services-card4l, .solp-services-card5l{
  word-break: break-word;
}
/* ===== Topbar: responsive layout ===== */

/* базовые улучшения */
.solp-topbar-container{
  flex-wrap: wrap;                 /* разрешаем перенос */
}
.solp-topbar-right{
  display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}
.solp-topbar-social{
  display: flex; gap: 10px;
}

/* планшеты: складываем в две строки и центрируем */
@media (max-width: 980px){
  .solp-topbar-container{
    justify-content: center;       /* центр для обеих колонок */
    gap: 8px 16px;
  }
  .solp-topbar-left,
  .solp-topbar-right{
    width: 100%;                   /* каждая строка на всю ширину */
    justify-content: center;
    text-align: center;
  }
}

/* телефоны: делаем компактнее, скрываем почту и лишние иконки */
@media (max-width: 640px){
  /* прячем email, чтобы не ломал переносы */
  .solp-topbar-mail{ display: none; }

  /* оставляем только первые 2 соцсети (Instagram, Pinterest) */
  .solp-topbar-social a:nth-child(n+3){ display: none; }

  /* телефон — в «капсулу» для удобного тапа */
  .solp-topbar-phone{
    padding: 8px 12px;
    background:#fff;
    border:1px solid #EAE6E0;
    border-radius: 999px;
    box-shadow: 0 6px 12px rgba(0,0,0,.04);
  }
}

/* очень узкие экраны: ещё компактнее отступы */
@media (max-width: 380px){
  .solp-topbar-container{ padding: 8px 12px; }
  .solp-topbar-right{ gap: 10px; }
  .solp-topbar-social{ gap: 8px; }
}
/* ===== Terms page ===== */
.solp-terms-header-wrap{ background:#F5EFE7; border-bottom:1px solid #ECE8E2; }
.solp-terms-header-container{
  max-width:1200px; margin:0 auto; padding:16px 20px;
  display:flex; align-items:center; gap:16px;
}
.solp-terms-header-home{
  text-decoration:none; color:#2b2b2b; background:#fff; border:1px solid #EAE6E0;
  padding:8px 12px; border-radius:999px; display:inline-flex; align-items:center; gap:8px;
}
.solp-terms-header-title{ margin:0; font-size:1.6rem; }

.solp-terms-wrap{ padding:60px 0; }
.solp-terms-container{ max-width:900px; margin:0 auto; padding:0 20px; }
.solp-terms-h2{ font-size:1.4rem; margin:18px 0 8px; }
.solp-terms-p{ margin:0 0 10px; color:#5f5a54; }
.solp-terms-ul{ margin:6px 0 10px 18px; }
.solp-terms-li{ margin:6px 0; }
.solp-terms-dl{ margin:6px 0 10px; }
.solp-terms-dt{ font-weight:700; }
.solp-terms-dd{ margin:4px 0 8px 0; color:#5f5a54; }
.solp-terms-link{ color:#B85538; text-decoration:underline; }

.solp-terms-footer-wrap{ border-top:1px solid #ECE8E2; background:#FAF8F5; }
.solp-terms-footer-container{ max-width:1200px; margin:0 auto; padding:16px 20px; text-align:center; color:#6d6d6d; }
/* ===================== Cookies page (solp-cookies-*) ===================== */

/* Header */
.solp-cookies-header-wrap{
  background:#F5EFE7;
  border-bottom:1px solid #ECE8E2;
}
.solp-cookies-header-container{
  max-width:1200px;
  margin:0 auto;
  padding:16px 20px;
  display:flex;
  align-items:center;
  gap:16px;
}
.solp-cookies-header-home{
  text-decoration:none;
  color:#2b2b2b;
  background:#fff;
  border:1px solid #EAE6E0;
  padding:8px 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:box-shadow .18s ease, transform .18s ease;
}
.solp-cookies-header-home:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(0,0,0,.06);
}
.solp-cookies-header-title{
  margin:0;
  font-size:1.6rem;
}

/* Main layout */
.solp-cookies-wrap{ padding:60px 0; }
.solp-cookies-container{
  max-width:900px;
  margin:0 auto;
  padding:0 20px;
}

/* Sections */
.solp-cookies-section{
  background:#FFFFFF;
  border:1px solid #EAE6E0;
  border-radius:16px;
  padding:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
  margin:0 0 16px;
}

/* Headings & text */
.solp-cookies-h2{
  font-size:1.4rem;
  margin:0 0 8px;
  scroll-margin-top:90px; /* комфортный якорь со sticky-header на главной */
}
.solp-cookies-h3{
  font-size:1.06rem;
  margin:12px 0 6px;
  color:#4a4744;
}
.solp-cookies-p{
  margin:0 0 10px;
  color:#5f5a54;
  line-height:1.6;
}
.solp-cookies-link{
  color:#B85538;
  text-decoration:underline;
}
.solp-cookies-ul{
  margin:6px 0 10px 18px;
}
.solp-cookies-li{
  margin:6px 0;
}
.solp-cookies-section code{
  background:#F3F0EC;
  border:1px solid #EAE6E0;
  border-radius:6px;
  padding:.1em .4em;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size:.92em;
}

/* Table */
.solp-cookies-table-wrap{
  overflow:auto;
  margin:10px 0;
  border-radius:12px;
  border:1px solid #EAE6E0;
  background:#fff;
}
.solp-cookies-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:520px; /* чтобы колонки не слипались на очень узких экранах */
}
.solp-cookies-th,
.solp-cookies-td{
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid #EEE9E2;
  white-space:normal;
  vertical-align:top;
}
.solp-cookies-th{
  background:#F9F6F2;
  font-weight:700;
}
.solp-cookies-table tbody tr:nth-child(even) .solp-cookies-td{
  background:#FCFAF7; /* лёгкое чередование строк */
}
.solp-cookies-table tbody tr:last-child .solp-cookies-td{
  border-bottom:0;
}

/* Footer (на страницe cookies) */
.solp-cookies-footer-wrap{
  border-top:1px solid #ECE8E2;
  background:#FAF8F5;
}
.solp-cookies-footer-container{
  max-width:1200px;
  margin:0 auto;
  padding:16px 20px;
  text-align:center;
  color:#6d6d6d;
}
.solp-cookies-footer-copy{ margin:0; }

/* Focus-visible для клавиатурной навигации */
.solp-cookies-header-home:focus-visible,
.solp-cookies-link:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(210,106,74,.22);
  border-radius:10px;
}

/* Адаптив */
@media (max-width: 820px){
  .solp-cookies-section{ padding:16px; }
  .solp-cookies-h2{ font-size:1.3rem; }
}
@media (max-width: 480px){
  .solp-cookies-header-container{ padding:12px 16px; }
  .solp-cookies-wrap{ padding:44px 0; }
  .solp-cookies-section{ padding:14px; }
}
/* ===================== Privacy page (solp-privacy-*) ===================== */

/* Header */
.solp-privacy-header-wrap{
  background:#F5EFE7;
  border-bottom:1px solid #ECE8E2;
}
.solp-privacy-header-container{
  max-width:1200px;
  margin:0 auto;
  padding:16px 20px;
  display:flex;
  align-items:center;
  gap:16px;
}
.solp-privacy-header-home{
  text-decoration:none;
  color:#2b2b2b;
  background:#fff;
  border:1px solid #EAE6E0;
  padding:8px 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:box-shadow .18s ease, transform .18s ease;
}
.solp-privacy-header-home:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(0,0,0,.06);
}
.solp-privacy-header-title{
  margin:0;
  font-size:1.6rem;
}

/* Main layout */
.solp-privacy-wrap{ padding:60px 0; }
.solp-privacy-container{
  max-width:900px;
  margin:0 auto;
  padding:0 20px;
}

/* In-page nav (Privacy / Terms / Cookies) */
.solp-privacy-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 16px;
  background:#FFFFFF;
  border:1px solid #EAE6E0;
  border-radius:14px;
  padding:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}
.solp-privacy-nav a{
  text-decoration:none;
  color:#2b2b2b;
  background:#fff;
  border:1px solid #EAE6E0;
  padding:8px 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.solp-privacy-nav a:hover{
  background:#F9F6F2;
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(0,0,0,.06);
}

/* Sections as cards */
.solp-privacy-section{
  background:#FFFFFF;
  border:1px solid #EAE6E0;
  border-radius:16px;
  padding:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.05);
  margin:0 0 16px;
}

/* Typography */
.solp-privacy-h2{
  font-size:1.4rem;
  margin:0 0 8px;
  scroll-margin-top:90px; /* комфортный отступ при переходе по якорям */
}
.solp-privacy-h3{
  font-size:1.06rem;
  margin:12px 0 6px;
  color:#4a4744;
}
.solp-privacy-p{
  margin:0 0 10px;
  color:#5f5a54;
  line-height:1.6;
}
.solp-privacy-ul{
  margin:6px 0 10px 18px;
}
.solp-privacy-li{
  margin:6px 0;
}
.solp-privacy-link{
  color:#B85538;
  text-decoration:underline;
}
.solp-privacy-section code{
  background:#F3F0EC;
  border:1px solid #EAE6E0;
  border-radius:6px;
  padding:.1em .4em;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size:.92em;
}

/* Footer of privacy page */
.solp-privacy-footer-wrap{
  border-top:1px solid #ECE8E2;
  background:#FAF8F5;
}
.solp-privacy-footer-container{
  max-width:1200px;
  margin:0 auto;
  padding:16px 20px;
  text-align:center;
  color:#6d6d6d;
}
.solp-privacy-footer-copy{ margin:0; }

/* Focus-visible for accessibility */
.solp-privacy-header-home:focus-visible,
.solp-privacy-nav a:focus-visible,
.solp-privacy-link:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(210,106,74,.22);
  border-radius:10px;
}

/* Responsive */
@media (max-width: 820px){
  .solp-privacy-section{ padding:16px; }
  .solp-privacy-h2{ font-size:1.3rem; }
}
@media (max-width: 480px){
  .solp-privacy-header-container{ padding:12px 16px; }
  .solp-privacy-wrap{ padding:44px 0; }
  .solp-privacy-section{ padding:14px; }
  .solp-privacy-nav{ padding:8px; gap:8px; }
  .solp-privacy-nav a{ padding:8px 10px; }
}

