/*
Theme Name: СПЕЦСЛОЙ
Theme URI: https://specsloy.ru
Author: СПЕЦСЛОЙ
Author URI: https://specsloy.ru
Description: WordPress-тема для компании СПЕЦСЛОЙ — промышленная покраска, огнезащитная обработка и ремонт промышленных объектов в Москве и МО. B2B-ориентированный сайт с SEO-архитектурой на 100+ страниц.
Version: 3.0.0-premium
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: specsloy
Tags: industrial, business, two-columns, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ═══════════════════════════════════════════
   1. RESET
   ═══════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  /* Dark industrial palette */
  --c-navy:#0F1923;
  --c-navy-deep:#0A1219;
  --c-graphite:#161E28;
  --c-slate:#1D2733;
  --c-slate-light:#243040;
  --c-steel:#2C3A4A;
  /* Muted industrial orange */
  --c-accent:#D4882A;
  --c-accent-h:#E09835;
  --c-accent-dim:#B8741F;
  --c-accent-glow:rgba(212,136,42,0.08);
  /* Text */
  --c-white:#F0EDE8;
  --c-light:#C8C5BF;
  --c-muted:#8A8780;
  --c-dim:#5C5A55;
  /* Borders */
  --c-border:#283344;
  --c-border-l:#344052;
  /* Fonts */
  --f-head:'Oswald',sans-serif;
  --f-body:'Source Sans 3',sans-serif;
  /* Layout */
  --max-w:1320px;
  --px:16px;
}
@media(min-width:480px){:root{--px:20px}}
@media(min-width:768px){:root{--px:32px}}
@media(min-width:1024px){:root{--px:52px}}

html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);font-size:16px;background:var(--c-navy);color:var(--c-white);
  line-height:1.65;overflow-x:hidden;width:100%;max-width:100vw;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* ═══════════════════════════════════════════
   2. LAYOUT
   ═══════════════════════════════════════════ */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding-left:var(--px);padding-right:var(--px)}
.section{padding:48px 0;overflow:hidden}
@media(min-width:768px){.section{padding:76px 0}}
@media(min-width:1024px){.section{padding:100px 0}}
.section--dark{background:var(--c-graphite)}
.section--bordered{background:var(--c-graphite);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}

/* ═══════════════════════════════════════════
   3. TYPOGRAPHY
   ═══════════════════════════════════════════ */
.accent{color:var(--c-accent)}
.tag{
  display:inline-block;font-family:var(--f-head);font-size:10px;letter-spacing:2px;
  text-transform:uppercase;color:var(--c-accent);border:1px solid var(--c-accent);
  padding:3px 10px;margin-bottom:12px;max-width:100%;word-break:break-word;overflow-wrap:break-word;
}
@media(min-width:480px){.tag{font-size:11px;letter-spacing:2.5px;padding:4px 14px}}

.sh{margin-bottom:28px}
@media(min-width:768px){.sh{margin-bottom:44px}}
.sh h2{
  font-family:var(--f-head);font-weight:700;text-transform:uppercase;line-height:1.15;
  word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;font-size:22px;letter-spacing:0.5px;
}
@media(min-width:360px){.sh h2{font-size:24px}}
@media(min-width:480px){.sh h2{font-size:28px;letter-spacing:1px}}
@media(min-width:768px){.sh h2{font-size:34px;letter-spacing:1.5px}}
@media(min-width:1024px){.sh h2{font-size:42px;letter-spacing:2px}}
.sh p{color:var(--c-light);font-size:14px;max-width:580px;margin-top:8px;line-height:1.6}
@media(min-width:768px){.sh p{font-size:16px;margin-top:12px}}

/* ═══════════════════════════════════════════
   4. HEADER
   ═══════════════════════════════════════════ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(15,25,35,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--c-border);transition:background .3s;
}
.site-header.scrolled{background:rgba(10,18,25,0.97)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:56px;gap:10px}
@media(min-width:768px){.header-inner{height:66px}}

.site-logo{font-family:var(--f-head);font-size:17px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--c-white);flex-shrink:0}
.site-logo span{color:var(--c-accent)}
@media(min-width:480px){.site-logo{font-size:19px;letter-spacing:3.5px}}
@media(min-width:768px){.site-logo{font-size:22px;letter-spacing:4px}}

.main-nav{display:none;align-items:center;gap:22px;list-style:none}
.main-nav li{list-style:none}
.main-nav a{font-family:var(--f-head);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-light);transition:color .3s;white-space:nowrap}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--c-accent)}
@media(min-width:1000px){.main-nav{display:flex}}

.header-phone{
  display:none;
  position:relative;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  font-family:var(--f-head);
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--c-light);
  white-space:nowrap;
  flex-shrink:0;
  text-decoration:none;
  transition:color .3s ease, background .3s ease;
}

.header-phone::after{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:1px;
  background:var(--c-accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}

.header-phone:hover{
  color:var(--c-white);
  background:rgba(255,255,255,.02);
}

.header-phone:hover::after{
  transform:scaleX(1);
}

@media(min-width:1000px){
  .header-phone{
    display:inline-flex;
  }
}

.burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;flex-shrink:0;z-index:1001}
.burger span{display:block;width:22px;height:2px;background:var(--c-white);transition:.3s;transform-origin:center}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:1000px){.burger{display:none}}

.mobile-menu{
  display:none;position:fixed;top:56px;left:0;right:0;bottom:0;
  background:rgba(10,18,25,0.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:999;padding:var(--px);overflow-y:auto;
}
@media(min-width:768px){.mobile-menu{top:66px}}
.mobile-menu.open{display:flex}
.mobile-menu a,.mobile-menu li a{font-family:var(--f-head);font-size:17px;letter-spacing:2px;text-transform:uppercase;color:var(--c-white);transition:color .3s;text-align:center}
.mobile-menu li{list-style:none}
.mobile-menu a:hover{color:var(--c-accent)}
.mobile-menu .mob-phone{font-size:19px;color:var(--c-accent);margin-top:10px}
@media(min-width:1000px){.mobile-menu{display:none!important}}

/* ═══════════════════════════════════════════
   5. HERO
   ═══════════════════════════════════════════ */
.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:56px}
@media(min-width:768px){.hero{padding-top:66px}}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 65% 35%,var(--c-accent-glow),transparent),radial-gradient(ellipse 50% 40% at 25% 75%,rgba(212,136,42,0.03),transparent);pointer-events:none}
/* Diagonal industrial line */
.hero::after{content:'';position:absolute;top:0;right:10%;width:1px;height:100%;background:linear-gradient(to bottom,transparent,var(--c-border),transparent);pointer-events:none;opacity:.4}

.hero-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;width:100%}
@media(min-width:768px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:40px}}

.hero-content{position:relative;z-index:2;text-align:center;max-width:100%}
@media(min-width:768px){.hero-content{text-align:left}}

.hero h1{
  font-family:var(--f-head);font-weight:700;text-transform:uppercase;line-height:1.12;
  margin-bottom:14px;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%;
  font-size:24px;letter-spacing:0.5px;
}
@media(min-width:360px){.hero h1{font-size:26px}}
@media(min-width:390px){.hero h1{font-size:28px}}
@media(min-width:412px){.hero h1{font-size:30px}}
@media(min-width:768px){.hero h1{font-size:38px;letter-spacing:1.5px;margin-bottom:18px}}
@media(min-width:1024px){.hero h1{font-size:48px;letter-spacing:2px}}
@media(min-width:1280px){.hero h1{font-size:56px}}

.hero-sub{font-size:14px;color:var(--c-light);max-width:540px;margin-bottom:20px;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}
@media(max-width:767px){.hero-sub{margin-left:auto;margin-right:auto}}
@media(min-width:480px){.hero-sub{font-size:15px}}
@media(min-width:768px){.hero-sub{font-size:17px;margin-bottom:26px}}

.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
@media(max-width:767px){.hero-btns{justify-content:center}}
@media(max-width:400px){.hero-btns{flex-direction:column;align-items:stretch}.hero-btns .btn{justify-content:center}}

/* Trust badges under CTA */
.hero-trust{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--c-muted);margin-bottom:20px}
@media(max-width:767px){.hero-trust{justify-content:center}}
.hero-trust span{display:inline-flex;align-items:center;gap:4px}
.hero-trust span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c-accent);flex-shrink:0;opacity:.6}

/* Hero stats */
.hero-stats{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:767px){.hero-stats{justify-content:center}}
@media(min-width:768px){.hero-stats{gap:28px}}

.stat-item{text-align:center}
@media(min-width:768px){.stat-item{text-align:left}}
.stat-num{font-family:var(--f-head);font-size:26px;font-weight:700;color:var(--c-accent);line-height:1}
@media(min-width:480px){.stat-num{font-size:32px}}
@media(min-width:768px){.stat-num{font-size:40px}}
.stat-label{font-size:11px;color:var(--c-muted);text-transform:uppercase;letter-spacing:1px;margin-top:3px}

/* Hero visual */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
@media(max-width:767px){.hero-visual{display:none}}
.hero-graphic{width:100%;aspect-ratio:1;max-width:420px;background:conic-gradient(from 200deg at 50% 50%,var(--c-accent) 0deg,transparent 55deg,transparent 180deg,var(--c-accent-dim) 235deg,transparent 290deg);border-radius:50%;opacity:.08;filter:blur(60px);animation:hg 10s ease-in-out infinite alternate}
@keyframes hg{0%{transform:scale(1) rotate(0);opacity:.06}100%{transform:scale(1.1) rotate(20deg);opacity:.12}}

/* Hero contacts */
.hero-contacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
@media(max-width:767px){.hero-contacts{justify-content:center}}

/* ═══════════════════════════════════════════
   6. BUTTONS
   ═══════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  font-family:var(--f-head);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  padding:11px 20px;border:none;cursor:pointer;transition:all .3s;word-break:keep-all;
}
@media(min-width:480px){.btn{font-size:13px;padding:12px 26px;letter-spacing:1.8px}}
@media(min-width:768px){.btn{font-size:13px;padding:14px 30px}}

.btn-primary{background:var(--c-accent);color:var(--c-navy-deep)}
.btn-primary:hover{background:var(--c-accent-h);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--c-white);border:1px solid var(--c-border-l)}
.btn-outline:hover{border-color:var(--c-accent);color:var(--c-accent)}
.btn-full{width:100%}
.btn-sm{font-size:11px;padding:9px 16px;letter-spacing:1.2px}

/* Messenger badges */
/* Messenger badges — see section 20 */

/* ═══════════════════════════════════════════
   7. SERVICE CARDS
   ═══════════════════════════════════════════ */
.services-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:520px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.services-grid{grid-template-columns:repeat(3,1fr);gap:16px}}

.service-card{
  background:var(--c-graphite);border:1px solid var(--c-border);padding:22px;
  position:relative;overflow:hidden;transition:all .4s;display:block;color:inherit;
}
@media(min-width:768px){.service-card{padding:28px}}
.service-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.service-card:hover{border-color:var(--c-accent);transform:translateY(-3px)}
.service-card:hover::after{transform:scaleX(1)}

.service-icon{font-size:24px;margin-bottom:10px}
@media(min-width:768px){.service-icon{font-size:28px;margin-bottom:12px}}

.service-card h3{font-family:var(--f-head);font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:768px){.service-card h3{font-size:16px;letter-spacing:.8px;margin-bottom:8px}}
.service-card p{font-size:13px;color:var(--c-light);line-height:1.6}
.service-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-head);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent);margin-top:12px;transition:gap .3s}
.service-card:hover .service-link{gap:10px}

/* ═══════════════════════════════════════════
   8. OBJECTS GRID
   ═══════════════════════════════════════════ */
.objects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:520px){.objects-grid{grid-template-columns:repeat(3,1fr);gap:12px}}
@media(min-width:768px){.objects-grid{grid-template-columns:repeat(4,1fr);gap:14px}}

.object-card{background:var(--c-graphite);border:1px solid var(--c-border);padding:18px 12px;text-align:center;transition:border-color .3s,transform .3s;display:block;color:inherit}
.object-card:hover{border-color:var(--c-accent);transform:translateY(-2px)}
.object-card .o-icon{font-size:24px;margin-bottom:6px}
@media(min-width:768px){.object-card .o-icon{font-size:28px;margin-bottom:8px}}
.object-card h4{font-family:var(--f-head);font-size:11px;letter-spacing:.8px;text-transform:uppercase;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:768px){.object-card h4{font-size:13px;letter-spacing:1px}}

/* ═══════════════════════════════════════════
   9. WHY US / ADVANTAGES
   ═══════════════════════════════════════════ */
.adv-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:520px){.adv-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.adv-grid{grid-template-columns:repeat(3,1fr);gap:16px}}

.adv-card{padding:20px;border-left:3px solid var(--c-accent);background:var(--c-graphite)}
@media(min-width:768px){.adv-card{padding:26px}}
.adv-card h4{font-family:var(--f-head);font-size:14px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px}
@media(min-width:768px){.adv-card h4{font-size:15px}}
.adv-card p{font-size:13px;color:var(--c-light);line-height:1.6}

/* ═══════════════════════════════════════════
   10. PROCESS STEPS
   ═══════════════════════════════════════════ */
.process-steps{display:grid;grid-template-columns:1fr;gap:12px;counter-reset:step}
@media(min-width:520px){.process-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.process-steps{grid-template-columns:repeat(4,1fr);gap:14px}}

.step{counter-increment:step;background:var(--c-graphite);border:1px solid var(--c-border);padding:22px}
@media(min-width:768px){.step{padding:28px}}
.step::before{content:counter(step,decimal-leading-zero);font-family:var(--f-head);font-size:32px;font-weight:700;color:var(--c-accent);opacity:.18;line-height:1;display:block;margin-bottom:8px}
@media(min-width:768px){.step::before{font-size:42px}}
.step h4{font-family:var(--f-head);font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px}
.step p{font-size:13px;color:var(--c-light);line-height:1.6}

/* ═══════════════════════════════════════════
   11. B2B / LEGAL BLOCK
   ═══════════════════════════════════════════ */
.b2b-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:520px){.b2b-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.b2b-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
.b2b-card{background:var(--c-graphite);border:1px solid var(--c-border);padding:22px;text-align:center}
@media(min-width:768px){.b2b-card{padding:28px}}
.b2b-card .b-icon{font-size:28px;margin-bottom:8px}
.b2b-card h4{font-family:var(--f-head);font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.b2b-card p{font-size:13px;color:var(--c-light)}

/* ═══════════════════════════════════════════
   12. CASES
   ═══════════════════════════════════════════ */
.cases-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:520px){.cases-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.cases-grid{grid-template-columns:repeat(3,1fr);gap:16px}}

.case-card{background:var(--c-graphite);border:1px solid var(--c-border);overflow:hidden;transition:border-color .3s,transform .3s;display:block;color:inherit}
.case-card:hover{border-color:var(--c-accent);transform:translateY(-2px)}
.case-card__img{width:100%;aspect-ratio:16/10;background:var(--c-slate);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--c-dim);overflow:hidden}
.case-card__img img{width:100%;height:100%;object-fit:cover}
.case-card__body{padding:16px}
@media(min-width:768px){.case-card__body{padding:20px}}
.case-card__body h4{font-family:var(--f-head);font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.case-card__body p{font-size:13px;color:var(--c-light)}
.case-meta{font-size:11px;color:var(--c-muted);margin-top:8px;text-transform:uppercase;letter-spacing:1px}

/* ═══════════════════════════════════════════
   13. FAQ
   ═══════════════════════════════════════════ */
.faq-list{max-width:820px}
.faq-item{border-bottom:1px solid var(--c-border);padding:14px 0}
.faq-q{font-family:var(--f-head);font-size:14px;letter-spacing:.3px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;-webkit-user-select:none;user-select:none}
@media(min-width:768px){.faq-q{font-size:15px}}
.faq-q::after{content:'+';color:var(--c-accent);font-size:18px;flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-q::after{content:'−'}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:500px}
.faq-a p{padding-top:10px;font-size:14px;color:var(--c-light);line-height:1.65}

/* ═══════════════════════════════════════════
   14. CTA
   ═══════════════════════════════════════════ */
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:600px){.cta-inner{flex-direction:column;align-items:flex-start}}
.cta-inner h2{font-family:var(--f-head);font-size:20px;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:480px){.cta-inner h2{font-size:24px;letter-spacing:1px}}
@media(min-width:768px){.cta-inner h2{font-size:30px;letter-spacing:1.5px}}
.cta-contacts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(min-width:768px){.cta-contacts{gap:22px}}
.cta-contacts a{font-family:var(--f-head);font-size:14px;letter-spacing:.5px;color:var(--c-accent);transition:color .3s;word-break:break-all}
@media(min-width:768px){.cta-contacts a{font-size:17px;letter-spacing:1px}}
.cta-contacts a:hover{color:var(--c-accent-h)}

/* ═══════════════════════════════════════════
   15. CONTACTS SECTION
   ═══════════════════════════════════════════ */
.contacts-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:520px){.contacts-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.contacts-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
.contact-card{background:var(--c-graphite);border:1px solid var(--c-border);padding:20px;text-align:center}
.contact-card .cc-icon{font-size:24px;margin-bottom:8px}
.contact-card h4{font-family:var(--f-head);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--c-muted);margin-bottom:4px}
.contact-card a,.contact-card p{font-size:14px;color:var(--c-white);display:block}
.contact-card a:hover{color:var(--c-accent)}

/* ═══════════════════════════════════════════
   16. PAGE HERO
   ═══════════════════════════════════════════ */
.page-hero{padding-top:76px;padding-bottom:32px;position:relative;overflow:hidden}
@media(min-width:768px){.page-hero{padding-top:112px;padding-bottom:52px}}
@media(min-width:1024px){.page-hero{padding-top:148px;padding-bottom:68px}}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 40% at 70% 25%,var(--c-accent-glow),transparent);pointer-events:none}

.breadcrumb{font-size:12px;color:var(--c-dim);margin-bottom:14px;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:768px){.breadcrumb{font-size:13px;margin-bottom:18px}}
.breadcrumb a{color:var(--c-dim);transition:color .3s}
.breadcrumb a:hover{color:var(--c-accent)}

.page-hero h1{
  font-family:var(--f-head);font-weight:700;line-height:1.12;text-transform:uppercase;max-width:820px;
  word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;font-size:22px;letter-spacing:.5px;
}
@media(min-width:360px){.page-hero h1{font-size:24px}}
@media(min-width:480px){.page-hero h1{font-size:28px;letter-spacing:1px}}
@media(min-width:768px){.page-hero h1{font-size:38px;letter-spacing:1.5px}}
@media(min-width:1024px){.page-hero h1{font-size:48px;letter-spacing:2px}}

.page-hero .lead{font-size:14px;color:var(--c-light);max-width:640px;margin-top:12px;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:768px){.page-hero .lead{font-size:17px;margin-top:16px}}

/* ═══════════════════════════════════════════
   17. CONTENT + SIDEBAR
   ═══════════════════════════════════════════ */
.content-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:940px){.content-grid{grid-template-columns:1fr 300px;gap:44px}}

.content h2{font-family:var(--f-head);font-size:18px;text-transform:uppercase;letter-spacing:.5px;margin-top:28px;margin-bottom:10px;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}
@media(min-width:768px){.content h2{font-size:26px;letter-spacing:1px;margin-top:40px;margin-bottom:14px}}
.content h2:first-child{margin-top:0}
.content h3{font-family:var(--f-head);font-size:16px;text-transform:uppercase;letter-spacing:.3px;margin-top:20px;margin-bottom:8px}
@media(min-width:768px){.content h3{font-size:20px;margin-top:28px}}
.content p{color:var(--c-light);margin-bottom:12px;font-size:15px;line-height:1.75}
.content ul,.content ol{margin-bottom:14px;padding:0;list-style:none}
.content ul li{padding:6px 0 6px 22px;position:relative;color:var(--c-light);font-size:14px}
.content ul li::before{content:'—';position:absolute;left:0;color:var(--c-accent);font-weight:600}
.content ol{counter-reset:ol}
.content ol li{counter-increment:ol;padding:6px 0 6px 28px;position:relative;color:var(--c-light);font-size:14px}
.content ol li::before{content:counter(ol)'.';position:absolute;left:0;color:var(--c-accent);font-family:var(--f-head);font-size:13px}

/* Sidebar */
.sidebar-card{background:var(--c-graphite);border:1px solid var(--c-border);padding:22px;margin-bottom:16px}
@media(min-width:940px){.sidebar-card{position:sticky;top:82px}}
.sidebar-card h4{font-family:var(--f-head);font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;color:var(--c-accent)}
.sidebar-card p,.sidebar-card>a{font-size:13px;color:var(--c-light);display:block;line-height:1.8}
.sidebar-card a:hover{color:var(--c-accent)}

.related-services a{display:block;padding:7px 0;font-size:13px;color:var(--c-light);border-bottom:1px solid var(--c-border);transition:color .3s}
.related-services a:last-child{border-bottom:none}
.related-services a:hover{color:var(--c-accent)}

/* Feature cards */
.features-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0}
@media(min-width:520px){.features-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.feature-card{background:var(--c-graphite);border:1px solid var(--c-border);padding:18px;transition:border-color .3s}
@media(min-width:768px){.feature-card{padding:22px}}
.feature-card:hover{border-color:var(--c-accent)}
.feature-card h4{font-family:var(--f-head);font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.feature-card p{font-size:13px;color:var(--c-light);margin:0}

/* Price table */
.price-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 20px}
.price-table{width:100%;min-width:380px;border-collapse:collapse}
.price-table th,.price-table td{padding:10px 12px;text-align:left;font-size:13px;border-bottom:1px solid var(--c-border)}
@media(min-width:768px){.price-table th,.price-table td{padding:12px 16px;font-size:14px}}
.price-table th{font-family:var(--f-head);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent);background:var(--c-graphite)}
.price-table td{color:var(--c-light)}
.price-table tr:hover td{color:var(--c-white)}

/* ═══════════════════════════════════════════
   18. FOOTER
   ═══════════════════════════════════════════ */
.site-footer{background:var(--c-graphite);border-top:1px solid var(--c-border);padding:36px 0}
@media(min-width:768px){.site-footer{padding:52px 0}}

.footer-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:520px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px}}

.site-footer h5{font-family:var(--f-head);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--c-accent);margin-bottom:10px}
.site-footer p,.site-footer a{font-size:13px;color:var(--c-light);line-height:1.8;display:block;word-break:break-all}
.site-footer a:hover{color:var(--c-accent)}
.footer-bottom{margin-top:24px;padding-top:18px;border-top:1px solid var(--c-border);text-align:center;font-size:12px;color:var(--c-dim)}

.messengers{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* ═══════════════════════════════════════════
   19. STICKY MOBILE CONTACTS
   ═══════════════════════════════════════════ */
.sticky-bar{
  display:flex;position:fixed;bottom:0;left:0;right:0;z-index:900;
  background:var(--c-navy-deep);border-top:1px solid var(--c-border);
}
.sticky-bar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px 4px;font-family:var(--f-head);font-size:9px;letter-spacing:1px;
  text-transform:uppercase;color:var(--c-light);transition:color .3s;gap:2px;
}
.sticky-bar a:hover,.sticky-bar a:active{color:var(--c-accent)}
.sticky-bar .sb-icon{font-size:18px}
@media(min-width:768px){.sticky-bar{display:none}}

/* ═══════════════════════════════════════════
   20. ANIMATIONS
   ═══════════════════════════════════════════ */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* Hover micro-effects */
.service-card,.object-card,.adv-card,.b2b-card,.case-card,.contact-card,.step{transition:all .4s cubic-bezier(.25,.46,.45,.94)}
.msg-badge svg{vertical-align:middle;flex-shrink:0}
.msg-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--c-slate);border:1px solid var(--c-border);font-family:var(--f-head);font-size:11px;letter-spacing:1px;color:var(--c-light);text-transform:uppercase;transition:all .3s}
.msg-badge:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* Respect prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none}
  .hero-graphic{animation:none}
  .fc-pulse{animation:none}
  .service-card,.object-card,.adv-card,.b2b-card,.case-card,.contact-card,.step,.btn,.msg-badge,.floating-call{transition:none}
  .service-card::after{transition:none}
  html{scroll-behavior:auto}
}

/* ═══════════════════════════════════════════
   21. WP DEFAULTS
   ═══════════════════════════════════════════ */
.alignwide{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.alignfull{max-width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.aligncenter{text-align:center}
.wp-block-image{margin-bottom:16px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}

/* ═══════════════════════════════════════════
   22. FLOATING CALL BUTTON
   ═══════════════════════════════════════════ */
.floating-call{
  position:fixed;bottom:90px;right:20px;z-index:950;
  width:56px;height:56px;border-radius:50%;
  background:var(--c-accent);color:var(--c-navy-deep);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(212,136,42,0.4);
  transition:transform .3s,box-shadow .3s;
}
.floating-call:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(212,136,42,0.55)}
.floating-call svg{width:24px;height:24px}
.fc-pulse{
  position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--c-accent);opacity:0;
  animation:fcPulse 2s ease-out infinite;
}
@keyframes fcPulse{
  0%{transform:scale(.8);opacity:.6}
  100%{transform:scale(1.5);opacity:0}
}
@media(min-width:768px){
  .floating-call{bottom:32px;right:32px;width:60px;height:60px}
  .floating-call svg{width:26px;height:26px}
}

/* ═══════════════════════════════════════════
   23. FOOTER LEGAL / PRIVACY
   ═══════════════════════════════════════════ */
.footer-legal{
  margin-top:20px;padding-top:16px;
  border-top:1px solid var(--c-border);
  font-size:12px;color:var(--c-dim);line-height:1.7;text-align:center;
}
.privacy-content{max-width:800px;margin:0 auto}
.privacy-content h2{font-family:var(--f-head);font-size:18px;text-transform:uppercase;letter-spacing:.5px;margin-top:28px;margin-bottom:10px}
.privacy-content p{color:var(--c-light);font-size:14px;line-height:1.75;margin-bottom:10px}
.privacy-content ul{margin-bottom:14px;padding-left:20px}
.privacy-content ul li{color:var(--c-light);font-size:14px;line-height:1.7;margin-bottom:4px}

/* ═══════════════════════════════════════════
   24. FORM STYLES
   ═══════════════════════════════════════════ */
#ss-lead-form input:focus,#ss-lead-form textarea:focus,#ss-lead-form select:focus{border-color:var(--c-accent);outline:none}
#ss-lead-form input::placeholder,#ss-lead-form textarea::placeholder{color:var(--c-muted)}
#ss-lead-btn:disabled{opacity:.6;cursor:not-allowed}

/* ═══════════════════════════════════════════
   25. CUSTOM LOGO IN FOOTER
   ═══════════════════════════════════════════ */
.site-footer .custom-logo-link{display:inline-block;margin-bottom:6px}
.site-footer .custom-logo{max-height:40px;width:auto}
.site-header .custom-logo-link{display:flex;align-items:center}
.site-header .custom-logo{max-height:36px;width:auto}
@media(min-width:768px){.site-header .custom-logo{max-height:44px}}
.default-logo{max-height:36px;width:auto}
@media(min-width:768px){.default-logo{max-height:44px}}
.site-footer .default-logo{max-height:40px;width:auto}

/* ChatGPT fix pack */
.site-header .custom-logo-link, .site-header .site-logo{display:flex;align-items:center;max-width:none}
.site-header .custom-logo, .site-header .default-logo{width:auto;max-height:64px;max-width:320px;display:block}
@media (max-width: 768px){.site-header .custom-logo, .site-header .default-logo{max-height:48px;max-width:220px}}


/* ═══════════════════════════════════════════
   26. PREMIUM HEADER / NAV / SOCIAL BADGES
   ═══════════════════════════════════════════ */
.site-header{background:rgba(11,18,26,0.82);box-shadow:0 0 0 rgba(0,0,0,0);transition:background .3s,box-shadow .3s,border-color .3s}
.site-header.scrolled{background:rgba(9,15,22,0.96);box-shadow:0 14px 34px rgba(0,0,0,.28);border-bottom-color:rgba(212,136,42,.18)}
.header-inner{display:grid;grid-template-columns:minmax(180px,auto) 1fr auto;align-items:center;column-gap:20px;height:72px}
@media(min-width:1200px){.header-inner{grid-template-columns:minmax(220px,auto) 1fr auto;column-gap:28px}}
.header-brand{display:flex;align-items:center;min-width:0}
.header-nav{display:none;justify-self:center;min-width:0}
@media(min-width:1000px){.header-nav{display:block}}
.main-nav{display:flex;justify-content:center;align-items:center;gap:10px 14px;flex-wrap:wrap}
.main-nav > li > a{position:relative;padding:10px 12px;border-radius:999px;font-size:12px;letter-spacing:1.55px;color:var(--c-light)}
.main-nav > li > a::after{content:'';position:absolute;left:12px;right:12px;bottom:6px;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.main-nav > li > a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-ancestor>a{color:var(--c-white);background:rgba(255,255,255,.02)}
.main-nav > li > a:hover::after,.main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after,.main-nav .current-menu-ancestor>a::after{transform:scaleX(1)}
.header-actions{display:none;align-items:center;gap:12px;justify-self:end}
@media(min-width:1000px){.header-actions{display:flex}}
.header-phone{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.02)}
.header-phone:hover{border-color:rgba(212,136,42,.3);background:rgba(212,136,42,.06)}
.header-cta{padding:12px 18px;box-shadow:0 10px 24px rgba(212,136,42,.22)}
.header-cta:hover{box-shadow:0 14px 28px rgba(212,136,42,.28)}
@media(max-width:999px){.header-inner{display:flex;height:64px}.header-brand{flex:1 1 auto;min-width:0}}
.mobile-menu{padding:18px var(--px) 28px}
.mobile-menu__inner{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;gap:18px;margin:auto}
.mobile-menu .menu,.mobile-menu ul{display:flex;flex-direction:column;gap:14px;width:100%;padding:0;margin:0}
.mobile-menu a,.mobile-menu li a{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.02)}
.mobile-menu .mob-phone{margin-top:0;border-color:rgba(212,136,42,.22);background:rgba(212,136,42,.08)}
.mobile-menu__actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:8px}
.mobile-menu__actions .btn{width:100%}
.hero{min-height:calc(100vh - 10px);min-height:calc(100dvh - 10px)}
.hero-btns .btn-primary{box-shadow:0 16px 34px rgba(212,136,42,.2)}
.hero-btns .btn-outline{border-color:rgba(255,255,255,.12)}
.msg-badge{gap:9px;padding:8px 14px 8px 10px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.07);font-size:11px;letter-spacing:1.1px;color:var(--c-light)}
.msg-badge svg{width:20px;height:20px}
.msg-badge{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px}
.msg-badge::before{display:none}
.msg-badge > svg,.msg-badge > span,.msg-badge > strong{position:relative;z-index:1}
.msg-badge svg{position:relative;flex:0 0 auto;width:24px;height:24px;margin-left:0}
.msg-badge:hover{transform:translateY(-2px);border-color:rgba(212,136,42,.45);background:linear-gradient(180deg,rgba(212,136,42,.11),rgba(255,255,255,.02));box-shadow:0 12px 28px rgba(0,0,0,.18)}
.hero-contacts,.messengers{gap:10px}
.sticky-bar a{padding:10px 4px 11px}
.sticky-bar .sb-icon svg{width:24px;height:24px}
.contact-card,.service-card,.object-card,.adv-card,.b2b-card,.case-card,.step,.sidebar-card{border-radius:18px}
.contact-card,.service-card,.object-card,.adv-card,.b2b-card,.case-card,.step{box-shadow:0 18px 30px rgba(0,0,0,.08)}
@media(max-width:767px){.msg-badge{font-size:10px;padding:8px 12px}.msg-badge svg{width:20px;height:20px}}


/* v3.3: original messenger logos + home menu item */
.main-nav > li.menu-item-accent > a{
  color:var(--c-accent);
  background:rgba(212,136,42,.10);
  border:1px solid rgba(212,136,42,.28);
}
.main-nav > li.menu-item-accent > a::after{display:none}
.main-nav > li.menu-item-accent > a:hover{
  color:var(--c-navy-deep);
  background:var(--c-accent);
  border-color:var(--c-accent);
}
.mobile-menu .menu-item-accent{
  color:var(--c-accent);
}
.hero-contacts,.messengers{gap:16px;align-items:center}
.msg-badge.icon-only{
  padding:0;
  gap:0;
  border:none;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  min-width:auto;
  min-height:auto;
  line-height:1;
}
.msg-badge.icon-only::before{display:none}
.msg-badge.icon-only:hover{
  transform:translateY(-2px) scale(1.03);
  background:transparent;
  border:none;
  box-shadow:none;
}
.msg-badge.icon-only svg{
  width:46px;
  height:46px;
  display:block;
  margin:0;
}
@media(max-width:767px){
  .msg-badge.icon-only svg{width:42px;height:42px}
  .hero-contacts,.messengers{gap:14px}
}

/* v3.4: hero messenger icons use plain original logos only */
.hero-contacts .msg-badge.icon-only svg{width:44px;height:44px}
.hero-contacts .msg-badge.icon-only{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:767px){.hero-contacts .msg-badge.icon-only svg{width:40px;height:40px}}

.site-header .site-logo-image img{display:block;width:auto;max-width:340px;max-height:56px}
@media (max-width: 768px){.site-header .site-logo-image img{max-width:220px;max-height:42px}}
/* ===== БЛОК КАРТОЧЕК УСЛУГ ===== */

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
/* ===== OBJECTS FIX FINAL ===== */

.objects-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.object-card {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  min-height: 240px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  transition: 0.3s;
}

/* затемнение */
.object-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(10, 25, 45, 0.55);
  z-index: 1;
}

/* текст */
.object-card h4 {
  position: relative;
  z-index: 2;
  color: #fff;
}

/* hover */
.object-card:hover {
  transform: scale(1.03);
}

/* ===== КАРТИНКИ ===== */

.object-card--1 {
  background-image: url("ССЫЛКА_1");
}

.object-card--2 {
  background-image: url("ССЫЛКА_2");
}

.object-card--3 {
  background-image: url("ССЫЛКА_3");
}

.object-card--4 {
  background-image: url("ССЫЛКА_4");
}

.object-card--5 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/04/IMG_20260402_140943.png");
}

.object-card--6 {
  background-image: url("ССЫЛКА_6");
}

.object-card--7 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/03/IMG_20260320_133421-1.png");
}

.object-card--8 {
  background-image: url("ССЫЛКА_8");
}

.object-card--9 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/04/IMG_20260405_113409-e1775378070621.png");
}

.object-card--10 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/04/IMG_20260406_103857-1.png");
}

.object-card--11 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/03/IMG_20260326_164858-1.png");
}

.object-card--12 {
  background-image: url("https://specsloy.ru/wp-content/uploads/2026/04/IMG_20260402_140922.png");
}

/* ===== PROCESS cards upgrade ===== */
#process .step{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(212,136,42,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    #161E28;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  box-shadow:
    0 16px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.03);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}
#process .step::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg, #D4882A, rgba(212,136,42,0));
  opacity:.95;
}

#process .step::before{
  color:#D4882A;
  opacity:.32;
  text-shadow:0 0 18px rgba(212,136,42,.20);
}

#process .step h4{
  color:#F0EDE8;
}

#process .step p{
  color:rgba(240,237,232,.84);
}
#process .step:nth-child(odd){
  background:
    radial-gradient(circle at top right, rgba(212,136,42,.18), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    #161E28;
}

#process .step:nth-child(even){
  background:
    radial-gradient(circle at bottom left, rgba(52,64,82,.28), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
    #161E28;
}

@media (hover:hover){
  #process .step:hover{
    transform: translateY(-6px);
    border-color: rgba(224,152,53,.55);
    box-shadow:
      0 22px 40px rgba(0,0,0,.28),
      0 0 20px rgba(212,136,42,.12),
      inset 0 1px 0 rgba(255,255,255,.04);
    background:
      radial-gradient(circle at top right, rgba(212,136,42,.22), transparent 38%),
      linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
      #161E28;
  }

  #process .step:hover::before{
    opacity:.44;
  }
}
/* =============================================================
   СТРАНИЦА «ЦЕНЫ» — СПЕЦСЛОЙ
   Добавить в конец style.css темы
   ============================================================= */


/* ---------------------------------------------------------------
   HERO — первый экран
   --------------------------------------------------------------- */
.prices-hero {
  padding: 80px 0 72px;
}

.prices-hero__inner {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 48px;
  align-items: start;
}

.prices-hero__title {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 600;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 16px 0 20px;
  color: var(--c-white);
}

.prices-hero__title .accent {
  color: var(--c-accent);
}

.prices-hero__subtitle {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--c-muted);
  max-width: 560px;
  margin-bottom: 32px;
}

.prices-hero__cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.prices-hero__trust {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.prices-hero__trust li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--c-light);
  font-family: 'Source Sans 3', sans-serif;
}

.trust-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
}

/* Инфоблок справа в hero */
.prices-infobox {
  background: var(--c-graphite);
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-accent);
  border-radius: 4px;
  padding: 28px 28px 24px;
}

.prices-infobox__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-border);
}

.prices-infobox__row:first-child {
  padding-top: 0;
}

.prices-infobox__label {
  font-size: 0.875rem;
  color: var(--c-muted);
  line-height: 1.4;
}

.prices-infobox__val {
  font-family: 'Oswald', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--c-accent);
  white-space: nowrap;
}

.prices-infobox__divider {
  margin: 8px 0 16px;
}

.prices-infobox__note {
  font-size: 0.8125rem;
  color: var(--c-muted);
  margin: 0;
  line-height: 1.5;
}


/* ---------------------------------------------------------------
   ВСТУПИТЕЛЬНЫЙ ТЕКСТ
   --------------------------------------------------------------- */
.prices-intro__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: start;
}

.prices-intro .content h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 20px;
  color: var(--c-white);
}

.prices-disclaimer {
  display: flex;
  gap: 16px;
  background: var(--c-navy);
  border: 1px solid var(--c-border);
  border-left: 3px solid var(--c-accent);
  border-radius: 4px;
  padding: 24px;
  align-self: start;
  margin-top: 8px;
}

.prices-disclaimer__icon {
  color: var(--c-accent);
  flex-shrink: 0;
  margin-top: 2px;
}

.prices-disclaimer__body strong {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-white);
  margin-bottom: 10px;
}

.prices-disclaimer__body p {
  font-size: 0.875rem;
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0;
}


/* ---------------------------------------------------------------
   ТАБЛИЦЫ ЦЕН
   --------------------------------------------------------------- */
.price-section {
  margin-bottom: 48px;
}

.price-section:last-child {
  margin-bottom: 0;
}

.price-section__title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.1875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
}

.price-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 4px;
  border: 1px solid var(--c-border);
}

/* Расширяем базовый .price-table темы */
.price-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.9375rem;
}

.price-table thead tr {
  background: var(--c-navy-deep);
}

.price-table th {
  padding: 14px 20px;
  text-align: left;
  font-family: 'Oswald', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-muted);
  white-space: nowrap;
}

.price-table th:last-child,
.price-table .price-val {
  text-align: right;
}

.price-table tbody tr {
  border-bottom: 1px solid var(--c-border);
  transition: background 0.15s ease;
}

.price-table tbody tr:last-child {
  border-bottom: none;
}

.price-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.price-table td {
  padding: 13px 20px;
  color: var(--c-light);
  line-height: 1.4;
}

.price-val {
  font-family: 'Oswald', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--c-white) !important;
  white-space: nowrap;
}


/* ---------------------------------------------------------------
   КАЛЬКУЛЯТОР
   --------------------------------------------------------------- */
.calc-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  align-items: start;
}

/* --- Поля ввода --- */
.calc-field {
  margin-bottom: 28px;
}

.calc-field:last-child {
  margin-bottom: 0;
}

.calc-label {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-muted);
  margin-bottom: 10px;
}

/* Select */
.calc-select-wrap {
  position: relative;
}

.calc-select-wrap::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 6px;
  background: var(--c-muted);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}

.calc-select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--c-navy);
  border: 1px solid var(--c-border);
  border-radius: 3px;
  color: var(--c-white);
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.9375rem;
  padding: 13px 44px 13px 16px;
  cursor: pointer;
  transition: border-color 0.2s ease;
  line-height: 1.3;
}

.calc-select:focus {
  outline: none;
  border-color: var(--c-accent);
}

.calc-select option {
  background: var(--c-navy-deep);
}

/* Number input */
.calc-input {
  width: 100%;
  background: var(--c-navy);
  border: 1px solid var(--c-border);
  border-radius: 3px;
  color: var(--c-white);
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.9375rem;
  padding: 13px 16px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.calc-input::placeholder {
  color: var(--c-muted);
}

.calc-input:focus {
  outline: none;
  border-color: var(--c-accent);
}

.calc-input::-webkit-inner-spin-button,
.calc-input::-webkit-outer-spin-button {
  opacity: 0.4;
}

/* Radio-группы */
.calc-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.calc-radio-group--inline {
  gap: 8px;
}

.calc-radio {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.calc-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.calc-radio__label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  background: var(--c-navy);
  border: 1px solid var(--c-border);
  border-radius: 3px;
  font-size: 0.9rem;
  color: var(--c-light);
  font-family: 'Source Sans 3', sans-serif;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
  line-height: 1.2;
  user-select: none;
}

.calc-radio__label em {
  font-style: normal;
  font-size: 0.8rem;
  color: var(--c-muted);
}

.calc-radio input[type="radio"]:checked + .calc-radio__label {
  border-color: var(--c-accent);
  background: rgba(255, 107, 0, 0.08);
  color: var(--c-white);
}

.calc-radio input[type="radio"]:checked + .calc-radio__label em {
  color: var(--c-accent);
}

.calc-radio__label:hover {
  border-color: var(--c-border-l);
  color: var(--c-white);
}

/* --- Результат --- */
.calc-result {
  background: var(--c-navy-deep);
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-accent);
  border-radius: 4px;
  padding: 32px 28px 28px;
  position: sticky;
  top: 90px; /* фиксированный header */
}

.calc-result__caption {
  font-family: 'Oswald', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-muted);
  margin: 0 0 12px;
}

.calc-result__amount {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 600;
  color: var(--c-accent);
  line-height: 1.1;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
  min-height: 3rem;
  transition: color 0.2s ease;
}

.calc-result__hint {
  font-size: 0.875rem;
  color: var(--c-muted);
  margin-bottom: 24px;
  line-height: 1.5;
}

/* Breakdown */
.calc-result__breakdown {
  border-top: 1px solid var(--c-border);
  padding-top: 20px;
  margin-bottom: 20px;
}

.calc-breakdown-title {
  font-family: 'Oswald', sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-muted);
  margin-bottom: 12px;
}

.calc-breakdown-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calc-breakdown-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.875rem;
  line-height: 1.4;
}

.calc-breakdown-list li span:first-child {
  color: var(--c-muted);
}

.calc-breakdown-list li span:last-child {
  color: var(--c-light);
  text-align: right;
  white-space: nowrap;
}

/* Disclaimer */
.calc-result__disclaimer {
  font-size: 0.8125rem;
  color: var(--c-muted);
  line-height: 1.55;
  margin: 0 0 20px;
  border-top: 1px solid var(--c-border);
  padding-top: 16px;
}

/* CTA */
.calc-result__cta {
  width: 100%;
  text-align: center;
}

/* Индивидуальный расчёт */
.calc-result__individual {
  text-align: center;
}

.calc-individual-icon {
  color: var(--c-accent);
  margin-bottom: 16px;
}

.calc-individual-title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--c-white);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 12px;
}

.calc-individual-text {
  font-size: 0.9rem;
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0 0 24px;
}


/* ---------------------------------------------------------------
   ФАКТОРЫ ЦЕНЫ
   --------------------------------------------------------------- */
.features-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}


/* ---------------------------------------------------------------
   ШАГИ — КАК ПОЛУЧИТЬ РАСЧЁТ
   --------------------------------------------------------------- */
.prices-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 36px;
}

.prices-step {
  background: var(--c-navy);
  padding: 36px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.prices-step__num {
  font-family: 'Oswald', sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--c-accent);
  line-height: 1;
  flex-shrink: 0;
  opacity: 0.7;
  letter-spacing: -0.02em;
}

.prices-step__title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.0625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--c-white);
  margin: 0 0 10px;
  line-height: 1.25;
}

.prices-step__text {
  font-size: 0.875rem;
  color: var(--c-muted);
  line-height: 1.6;
  margin: 0;
}

.prices-steps__cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}


/* ---------------------------------------------------------------
   FAQ
   --------------------------------------------------------------- */
.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid var(--c-border);
}

.faq-item:first-child {
  border-top: 1px solid var(--c-border);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-white);
  cursor: pointer;
  list-style: none;
  transition: color 0.2s ease;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::after {
  content: '+';
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--c-accent);
  flex-shrink: 0;
  line-height: 1;
  transition: transform 0.2s ease;
}

.faq-item[open] > .faq-question::after {
  transform: rotate(45deg);
}

.faq-question:hover {
  color: var(--c-accent);
}

.faq-answer {
  padding: 0 0 20px;
}

.faq-answer p {
  font-size: 0.9375rem;
  color: var(--c-muted);
  line-height: 1.65;
  margin: 0;
}


/* =============================================================
   АДАПТИВ
   ============================================================= */

@media (max-width: 1100px) {
  .prices-hero__inner {
    grid-template-columns: 1fr 340px;
    gap: 36px;
  }

  .prices-intro__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .features-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .calc-layout {
    grid-template-columns: 1fr 340px;
  }
}

@media (max-width: 860px) {
  .prices-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .prices-infobox {
    max-width: 480px;
  }

  .calc-layout {
    grid-template-columns: 1fr;
  }

  .calc-result {
    position: static;
    order: -1;
    margin-bottom: 8px;
  }

  .prices-steps__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .prices-hero {
    padding: 48px 0 40px;
  }

  .prices-hero__title {
    font-size: 1.875rem;
  }

  .features-grid--4 {
    grid-template-columns: 1fr;
  }

  .price-table th,
  .price-table td {
    padding: 12px 14px;
    font-size: 0.875rem;
  }

  .calc-radio-group {
    gap: 6px;
  }

  .calc-radio__label {
    padding: 8px 12px;
    font-size: 0.875rem;
  }

  .prices-step {
    padding: 24px 20px;
  }

  .prices-steps__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .prices-steps__cta .btn {
    text-align: center;
  }

  .prices-hero__cta {
    flex-direction: column;
    align-items: flex-start;
  }
}
.case-page .case-badge__text,
.case-page .case-object__value,
.case-page .case-mini__value,
.case-page .case-side-card__text,
.case-page .case-process__content strong,
.case-page .case-process__content p,
.case-page .case-focus__text,
.case-page .case-focus__body,
.case-page .case-metric__label,
.case-page .case-seo__value,
.case-page p{
overflow-wrap:anywhere;
word-break:break-word;
}

/* ===== СПЕЦСЛОЙ / КОНТАКТЫ ===== */

.content .spx-contacts{
  --spx-bg:#0b1219;
  --spx-bg2:#101923;
  --spx-card1:#161f2a;
  --spx-card2:#1b2430;
  --spx-card3:#121923;
  --spx-card4:#18212c;
  --spx-line:rgba(255,255,255,.08);
  --spx-line-strong:rgba(212,136,42,.22);
  --spx-text:#f3efe8;
  --spx-muted:#c9c4bc;
  --spx-dim:#918c84;
  --spx-accent:#d4882a;
  --spx-accent-2:#f09a2a;

  background:
    radial-gradient(circle at top right, rgba(212,136,42,.10), transparent 28%),
    linear-gradient(180deg,var(--spx-bg) 0%,var(--spx-bg2) 100%);
  border:1px solid var(--spx-line);
  border-radius:28px;
  padding:22px 14px 30px;
  color:var(--spx-text);
  position:relative;
  overflow:hidden;
}

.content .spx-contacts *{
  box-sizing:border-box;
}

.content .spx-contacts .spx-wrap{
  max-width:1200px;
  margin:0 auto;
}

.content .spx-contacts .spx-stack{
  display:grid;
  gap:18px;
}

.content .spx-contacts .spx-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
}

.content .spx-contacts .spx-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.content .spx-contacts .spx-card{
  border:1px solid var(--spx-line);
  border-radius:24px;
  overflow:hidden;
  position:relative;
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}

.content .spx-contacts .spx-hero{
  padding:28px 24px;
  background:
    linear-gradient(135deg, rgba(212,136,42,.12), transparent 45%),
    linear-gradient(180deg,#18222d 0%, #111922 100%);
}

.content .spx-contacts .spx-main{
  padding:24px 22px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)), var(--spx-card1);
}

.content .spx-contacts .spx-list-card{
  padding:24px 22px;
  background:linear-gradient(180deg, rgba(212,136,42,.05), rgba(255,255,255,.015)), var(--spx-card2);
}

.content .spx-contacts .spx-geo{
  padding:24px 22px;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)), var(--spx-card3);
}

.content .spx-contacts .spx-req-card{
  padding:24px 22px;
  background:
    linear-gradient(180deg, rgba(212,136,42,.08), transparent 32%),
    linear-gradient(180deg,#18202a 0%, #121923 100%);
}

.content .spx-contacts .spx-kicker{
  display:inline-block;
  padding:6px 12px;
  margin-bottom:14px;
  border:1px solid rgba(212,136,42,.35);
  border-radius:999px;
  color:var(--spx-accent);
  background:rgba(212,136,42,.08);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.content .spx-contacts h1,
.content .spx-contacts h2,
.content .spx-contacts h3{
  margin:0 0 14px !important;
  color:var(--spx-accent) !important;
  font-family:var(--f-head, Oswald, sans-serif) !important;
  text-transform:uppercase !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
}

.content .spx-contacts h1{
  font-size:clamp(30px,5vw,58px) !important;
}

.content .spx-contacts h2{
  font-size:clamp(22px,3vw,32px) !important;
}

.content .spx-contacts h3{
  font-size:20px !important;
}

.content .spx-contacts p{
  margin:0 0 12px !important;
  color:var(--spx-muted) !important;
  font-size:16px !important;
  line-height:1.75 !important;
}

.content .spx-contacts .spx-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.content .spx-contacts .spx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 20px;
  border-radius:14px;
  font-family:var(--f-head, Oswald, sans-serif);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-decoration:none !important;
  transition:.22s ease;
}

.content .spx-contacts .spx-btn:hover{
  transform:translateY(-2px);
}

.content .spx-contacts .spx-btn-primary{
  background:var(--spx-accent);
  color:#0c1117 !important;
}

.content .spx-contacts .spx-btn-secondary{
  background:rgba(255,255,255,.03);
  color:#fff !important;
  border:1px solid rgba(255,255,255,.10);
}

.content .spx-contacts .spx-contact-list{
	display:grid;
  gap:14px;
}

.content .spx-contacts .spx-contact{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:18px;
  background:rgba(255,255,255,.02);
}

.content .spx-contacts .spx-icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(212,136,42,.18), rgba(212,136,42,.05));
  border:1px solid rgba(212,136,42,.22);
  color:var(--spx-accent);
  font-family:var(--f-head, Oswald, sans-serif);
  font-size:20px;
  font-weight:700;
}

.content .spx-contacts .spx-label{
  margin-bottom:6px;
  color:#efb25a;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.content .spx-contacts .spx-value,
.content .spx-contacts .spx-value a{
  color:#fff !important;
  font-size:20px;
  font-weight:700;
  line-height:1.45;
  text-decoration:none !important;
  word-break:break-word;
}

.content .spx-contacts .spx-note{
  margin-top:6px;
  color:var(--spx-dim);
  font-size:15px;
  line-height:1.6;
}

.content .spx-contacts .spx-checks{
  display:grid;
  gap:12px;
}

.content .spx-contacts .spx-check{
  position:relative;
  padding:14px 16px 14px 42px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  color:#f3efe8;
  font-size:15px;
  line-height:1.6;
}

.content .spx-contacts .spx-check::before{
  content:"";
  position:absolute;
  top:19px;
  left:16px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--spx-accent);
  box-shadow:0 0 0 6px rgba(212,136,42,.10);
}

.content .spx-contacts .spx-region{
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

.content .spx-contacts .spx-region strong{
  color:#fff;
}

.content .spx-contacts .spx-req-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}

.content .spx-contacts .spx-req{
  min-height:96px;
  padding:16px;
  border-radius:18px;
  border:1px solid var(--spx-line-strong);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}

.content .spx-contacts .spx-req:nth-child(1){
  background:linear-gradient(135deg, rgba(212,136,42,.16), rgba(255,255,255,.02));
}
.content .spx-contacts .spx-req:nth-child(2){
  border-style:dashed;
}
.content .spx-contacts .spx-req:nth-child(3){
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}
.content .spx-contacts .spx-req:nth-child(4){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.content .spx-contacts .spx-req:nth-child(5){
  background:linear-gradient(135deg, rgba(212,136,42,.10), transparent 70%), rgba(255,255,255,.02);
}
.content .spx-contacts .spx-req:nth-child(6){
  border-color:rgba(255,255,255,.10);
}
.content .spx-contacts .spx-req:nth-child(7){
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.content .spx-contacts .spx-req:nth-child(8){
  background:linear-gradient(135deg, rgba(212,136,42,.08), rgba(255,255,255,.02));
}

.content .spx-contacts .spx-req-title{
  margin-bottom:6px;
  color:#efb25a;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.content .spx-contacts .spx-req-value,
.content .spx-contacts .spx-req-value a{
  color:#fff !important;
  font-size:17px;
  font-weight:700;
  line-height:1.55;
  text-decoration:none !important;
  word-break:break-word;
}

.content .spx-contacts .spx-full{
  grid-column:1 / -1;
}

@media (max-width: 980px){
  .content .spx-contacts .spx-grid,
  .content .spx-contacts .spx-grid-2{
    grid-template-columns:1fr;
  }
}

@media (max-width: 680px){
  .content .spx-contacts{
    padding:16px 8px 22px;
    border-radius:22px;
  }

  .content .spx-contacts .spx-hero,
.content .spx-contacts .spx-main,
  .content .spx-contacts .spx-list-card,
  .content .spx-contacts .spx-geo,
  .content .spx-contacts .spx-req-card{
    padding:20px 16px;
    border-radius:18px;
  }

  .content .spx-contacts .spx-actions{
    flex-direction:column;
  }

  .content .spx-contacts .spx-btn{
    width:100%;
  }

  .content .spx-contacts .spx-contact{
    grid-template-columns:46px 1fr;
  }

  .content .spx-contacts .spx-icon{
    width:46px;
    height:46px;
    font-size:16px;
    border-radius:14px;
  }

  .content .spx-contacts .spx-req-grid{
    grid-template-columns:1fr;
  }
}
/* =========================================
   СПЕЦСЛОЙ — КАК РАБОТАЕМ
   Под colors/theme variables из style.css
========================================= */

.content .sp-how-page{
  background:transparent;
  color:var(--c-white);
  font-family:var(--f-body);
}

.content .sp-how-page *,
.content .sp-how-page *::before,
.content .sp-how-page *::after{
  box-sizing:border-box;
}

.content .sp-how-page a{
  color:inherit;
  text-decoration:none;
}

.content .sp-how-page .sp-wrap{
  max-width:1140px;
  margin:0 auto;
  padding:0 24px;
}

.content .sp-how-page .sp-section{
  padding:84px 0;
}

.content .sp-how-page .sp-section--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}

.content .sp-how-page .sp-section--dark{
  background:linear-gradient(180deg, var(--c-navy-deep), var(--c-graphite));
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}

.content .sp-how-page .sp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--f-head);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:18px;
}

.content .sp-how-page .sp-eyebrow::before{
  content:"";
  width:28px;
  height:1px;
  background:rgba(212,136,42,.55);
}

.content .sp-how-page .sp-h1,
.content .sp-how-page .sp-h2,
.content .sp-how-page .sp-h3{
  margin:0;
  font-family:var(--f-head);
  color:var(--c-white);
  line-height:1.08;
  text-transform:uppercase;
}

.content .sp-how-page .sp-h1{
  font-size:clamp(34px,5vw,60px);
  margin-bottom:20px;
  max-width:900px;
}

.content .sp-how-page .sp-h2{
  font-size:clamp(26px,3.5vw,40px);
  margin-bottom:14px;
}

.content .sp-how-page .sp-h3{
  font-size:clamp(18px,2.4vw,22px);
  margin-bottom:10px;
}

.content .sp-how-page .sp-section-head{
  margin-bottom:42px;
}

.content .sp-how-page .sp-section-lead,
.content .sp-how-page .sp-hero-sub{
  font-size:17px;
  color:var(--c-light);
  max-width:780px;
  margin:0;
  line-height:1.75;
}

.content .sp-how-page .sp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:14px 28px;
  border-radius:12px;
  font-family:var(--f-head);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.22s ease;
  white-space:nowrap;
}

.content .sp-how-page .sp-btn--primary{
  background:var(--c-accent);
  color:var(--c-navy-deep);
  border:1px solid var(--c-accent);
  box-shadow:0 10px 28px rgba(212,136,42,.22);
}

.content .sp-how-page .sp-btn--primary:hover{
  background:var(--c-accent-h);
  border-color:var(--c-accent-h);
  transform:translateY(-2px);
}

.content .sp-how-page .sp-btn--ghost{
  background:transparent;
  color:var(--c-white);
  border:1px solid var(--c-border-l);
}

.content .sp-how-page .sp-btn--ghost:hover{
  border-color:var(--c-accent);
  color:var(--c-accent);
  transform:translateY(-2px);
}

.content .sp-how-page .sp-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.content .sp-how-page .sp-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 84px;
  background:
    radial-gradient(ellipse 60% 45% at 82% 18%, rgba(212,136,42,.12), transparent),
    radial-gradient(ellipse 40% 30% at 20% 80%, rgba(212,136,42,.04), transparent),
    linear-gradient(145deg, var(--c-navy) 0%, var(--c-graphite) 48%, var(--c-navy) 100%);
  border-bottom:1px solid var(--c-border);
}

.content .sp-how-page .sp-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(212,136,42,.55), transparent);
}

.content .sp-how-page .sp-hero-inner{
  position:relative;
  z-index:1;
  max-width:900px;
}

.content .sp-how-page .sp-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:34px;
}
.content .sp-how-page .sp-trust-item{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--f-head);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--c-light);
}

.content .sp-how-page .sp-trust-item::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--c-accent);
  flex-shrink:0;
}

.content .sp-how-page .sp-principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.content .sp-how-page .sp-principle-card{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
  border:1px solid var(--c-border);
  border-radius:16px;
  padding:28px 24px;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.content .sp-how-page .sp-principle-card:nth-child(1){
  border-top:3px solid var(--c-accent);
}

.content .sp-how-page .sp-principle-card:nth-child(2){
  background:linear-gradient(135deg, rgba(212,136,42,.06), transparent 50%), var(--c-graphite);
}

.content .sp-how-page .sp-principle-card:nth-child(3){
  border-left:3px solid rgba(212,136,42,.65);
}

.content .sp-how-page .sp-principle-card:nth-child(4){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 16px 40px rgba(0,0,0,.22);
}

.content .sp-how-page .sp-principle-card:hover{
  transform:translateY(-3px);
  border-color:rgba(212,136,42,.35);
}

.content .sp-how-page .sp-principle-num{
  font-family:var(--f-head);
  font-size:40px;
  font-weight:700;
  line-height:1;
  color:rgba(212,136,42,.18);
  margin-bottom:10px;
}

.content .sp-how-page .sp-principle-text{
  font-size:15px;
  color:var(--c-light);
  margin:0;
  line-height:1.7;
}

.content .sp-how-page .sp-steps{
  position:relative;
  display:flex;
  flex-direction:column;
  max-width:900px;
}

.content .sp-how-page .sp-steps::before{
  content:"";
  position:absolute;
  left:27px;
  top:30px;
  bottom:30px;
  width:1px;
  background:linear-gradient(to bottom, var(--c-accent), rgba(212,136,42,.08));
}

.content .sp-how-page .sp-step{
  position:relative;
  z-index:1;
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--c-border);
}

.content .sp-how-page .sp-step:last-child{
  border-bottom:none;
}

.content .sp-how-page .sp-step-num{
  width:54px;
  height:54px;
  flex-shrink:0;
  border-radius:50%;
  border:2px solid var(--c-accent);
  background:var(--c-graphite);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--f-head);
  font-size:16px;
  font-weight:700;
  color:var(--c-accent);
}

.content .sp-how-page .sp-step-body{
  padding-top:10px;
}

.content .sp-how-page .sp-step-title{
  margin:0 0 6px;
  font-family:var(--f-head);
  font-size:17px;
  font-weight:700;
  color:var(--c-white);
  text-transform:uppercase;
  letter-spacing:.03em;
}

.content .sp-how-page .sp-step-desc{
  margin:0;
  font-size:15px;
  color:var(--c-light);
  line-height:1.7;
}

.content .sp-how-page .sp-start-grid,
.content .sp-how-page .sp-org-grid,
.content .sp-how-page .sp-result-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.content .sp-how-page .sp-mini-card{
  border:1px solid var(--c-border);
  border-radius:16px;
  padding:24px 20px;
  transition:transform .22s ease,border-color .22s ease;
}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(1),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(1),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(1){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(2),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(2),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(2){
  background:linear-gradient(135deg, rgba(212,136,42,.06), transparent 60%), var(--c-graphite);
	}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(3),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(3),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(3){
  background:var(--c-graphite);
  border-left:3px solid var(--c-accent);
}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(4),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(4),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(4){
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)), var(--c-slate);
}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(5),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(5),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(5){
  background:linear-gradient(135deg, rgba(212,136,42,.08), transparent 70%), var(--c-graphite);
}

.content .sp-how-page .sp-start-grid .sp-mini-card:nth-child(6),
.content .sp-how-page .sp-org-grid .sp-mini-card:nth-child(6),
.content .sp-how-page .sp-result-grid .sp-mini-card:nth-child(6){
  background:var(--c-graphite);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.content .sp-how-page .sp-mini-card:hover{
  transform:translateY(-3px);
  border-color:rgba(212,136,42,.35);
}

.content .sp-how-page .sp-mini-title{
  margin:0 0 10px;
  font-family:var(--f-head);
  font-size:16px;
  font-weight:700;
  color:var(--c-white);
  text-transform:uppercase;
}

.content .sp-how-page .sp-mini-desc{
  margin:0;
  font-size:15px;
  color:var(--c-light);
  line-height:1.7;
}

.content .sp-how-page .sp-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.content .sp-how-page .sp-split-card{
  padding:28px 24px;
  border-radius:18px;
  border:1px solid var(--c-border);
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}

.content .sp-how-page .sp-split-card--accent{
  background:linear-gradient(135deg, rgba(212,136,42,.10), transparent 55%), var(--c-graphite);
  border-color:rgba(212,136,42,.25);
}

.content .sp-how-page .sp-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.content .sp-how-page .sp-list li{
  position:relative;
  margin:0;
  padding:0 0 0 18px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.7;
}

.content .sp-how-page .sp-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--c-accent);
}

.content .sp-how-page .sp-faq{
  display:grid;
  gap:14px;
}

.content .sp-how-page .sp-faq-item{
  border:1px solid var(--c-border);
  border-radius:16px;
  overflow:hidden;
  background:var(--c-graphite);
}

.content .sp-how-page .sp-faq-item:nth-child(odd){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-how-page .sp-faq-item:nth-child(even){
  background:linear-gradient(135deg, rgba(212,136,42,.04), transparent 65%), var(--c-graphite);
}

.content .sp-how-page .sp-faq-q{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:22px 54px 22px 22px;
  font-family:var(--f-head);
  font-size:16px;
  font-weight:700;
  color:var(--c-white);
  text-transform:uppercase;
}

.content .sp-how-page .sp-faq-q::-webkit-details-marker{
  display:none;
}

.content .sp-how-page .sp-faq-q::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:var(--c-accent);
  font-size:22px;
  line-height:1;
}

.content .sp-how-page .sp-faq-item[open] .sp-faq-q::after{
  content:"–";
}

.content .sp-how-page .sp-faq-a{
  padding:0 22px 22px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
}

.content .sp-how-page .sp-cta-section{
  padding:84px 0 96px;
}

.content .sp-how-page .sp-cta-inner{
  padding:34px 28px;
  border-radius:20px;
  border:1px solid rgba(212,136,42,.22);
  background:
	radial-gradient(circle at top right, rgba(212,136,42,.10), transparent 30%),
    linear-gradient(180deg, var(--c-graphite), var(--c-navy-deep));
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.content .sp-how-page .sp-cta-lead{
  max-width:780px;
  margin:0;
  color:var(--c-light);
  font-size:17px;
  line-height:1.75;
}

@media (max-width: 1100px){
  .content .sp-how-page .sp-principles,
  .content .sp-how-page .sp-start-grid,
  .content .sp-how-page .sp-org-grid,
  .content .sp-how-page .sp-result-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 860px){
  .content .sp-how-page .sp-split{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .content .sp-how-page .sp-wrap{
    padding:0 16px;
  }

  .content .sp-how-page .sp-section,
  .content .sp-how-page .sp-cta-section{
    padding:64px 0;
  }

  .content .sp-how-page .sp-hero{
    padding:74px 0 60px;
  }

  .content .sp-how-page .sp-principles,
  .content .sp-how-page .sp-start-grid,
  .content .sp-how-page .sp-org-grid,
  .content .sp-how-page .sp-result-grid{
    grid-template-columns:1fr;
  }

  .content .sp-how-page .sp-cta-row{
    flex-direction:column;
  }

  .content .sp-how-page .sp-btn{
    width:100%;
  }

  .content .sp-how-page .sp-step{
    gap:16px;
  }

  .content .sp-how-page .sp-steps::before{
    left:22px;
  }

  .content .sp-how-page .sp-step-num{
    width:44px;
    height:44px;
    font-size:14px;
  }

  .content .sp-how-page .sp-step-body{
    padding-top:6px;
  }

  .content .sp-how-page .sp-principle-card,
  .content .sp-how-page .sp-mini-card,
  .content .sp-how-page .sp-split-card,
  .content .sp-how-page .sp-cta-inner{
    padding:22px 18px;
  }

  .content .sp-how-page .sp-faq-q{
    padding:18px 48px 18px 18px;
    font-size:15px;
  }

  .content .sp-how-page .sp-faq-a{
    padding:0 18px 18px;
  }
}

.content .sp-services-page{
  background:transparent;
  color:var(--c-white);
  font-family:var(--f-body);
}

.content .sp-services-page *,
.content .sp-services-page *::before,
.content .sp-services-page *::after{
  box-sizing:border-box;
}

.content .sp-services-page a{
  color:inherit;
  text-decoration:none;
}

.content .sp-services-page .sp-wrap{
  max-width:1140px;
  margin:0 auto;
  padding:0 24px;
}

.content .sp-services-page .sp-section{
  padding:84px 0;
}

.content .sp-services-page .sp-section--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}

.content .sp-services-page .sp-section--dark{
  background:linear-gradient(180deg, var(--c-navy-deep), var(--c-graphite));
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}

.content .sp-services-page .sp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-family:var(--f-head);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-accent);
}

.content .sp-services-page .sp-eyebrow::before{
  content:"";
  width:28px;
  height:1px;
  background:rgba(212,136,42,.55);
}

.content .sp-services-page .sp-h1,
.content .sp-services-page .sp-h2,
.content .sp-services-page .sp-h3{
  margin:0;
  font-family:var(--f-head);
  color:var(--c-white);
  line-height:1.08;
  text-transform:uppercase;
}

.content .sp-services-page .sp-h1{
  font-size:clamp(34px,5vw,60px);
  margin-bottom:20px;
  max-width:900px;
}

.content .sp-services-page .sp-h2{
  font-size:clamp(26px,3.5vw,40px);
  margin-bottom:14px;
}

.content .sp-services-page .sp-h3{
  font-size:clamp(18px,2.4vw,22px);
  margin-bottom:10px;
}

.content .sp-services-page .sp-section-head{
  margin-bottom:42px;
}

.content .sp-services-page .sp-section-lead,
.content .sp-services-page .sp-hero-sub{
  margin:0;
  max-width:780px;
  color:var(--c-light);
  font-size:17px;
  line-height:1.75;
}

.content .sp-services-page .sp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:14px 28px;
  border-radius:12px;
  font-family:var(--f-head);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.22s ease;
  white-space:nowrap;
}

.content .sp-services-page .sp-btn--primary{
  background:var(--c-accent);
  color:var(--c-navy-deep);
  border:1px solid var(--c-accent);
  box-shadow:0 10px 28px rgba(212,136,42,.22);
}

.content .sp-services-page .sp-btn--primary:hover{
  background:var(--c-accent-h);
  border-color:var(--c-accent-h);
  transform:translateY(-2px);
}

.content .sp-services-page .sp-btn--ghost{
  background:transparent;
  color:var(--c-white);
  border:1px solid var(--c-border-l);
}

.content .sp-services-page .sp-btn--ghost:hover{
  border-color:var(--c-accent);
  color:var(--c-accent);
  transform:translateY(-2px);
}

.content .sp-services-page .sp-btn--link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--f-head);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-accent);
  transition:gap .2s ease,color .2s ease;
}

.content .sp-services-page .sp-btn--link::after{
  content:"→";
}

.content .sp-services-page .sp-btn--link:hover{
  gap:12px;
  color:var(--c-accent-h);
}

.content .sp-services-page .sp-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.content .sp-services-page .sp-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 84px;
  background:
    radial-gradient(ellipse 60% 45% at 82% 18%, rgba(212,136,42,.12), transparent),
    radial-gradient(ellipse 40% 30% at 20% 80%, rgba(212,136,42,.04), transparent),
    linear-gradient(145deg, var(--c-navy) 0%, var(--c-graphite) 48%, var(--c-navy) 100%);
  border-bottom:1px solid var(--c-border);
}
.content .sp-services-page .sp-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(212,136,42,.55), transparent);
}

.content .sp-services-page .sp-hero-inner{
  position:relative;
  z-index:1;
  max-width:920px;
}

.content .sp-services-page .sp-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:34px;
}

.content .sp-services-page .sp-trust-item{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--f-head);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--c-light);
}

.content .sp-services-page .sp-trust-item::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--c-accent);
  flex-shrink:0;
}

/* directions */
.content .sp-services-page .sp-dir-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.content .sp-services-page .sp-dir-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px 24px;
  border:1px solid var(--c-border);
  border-radius:18px;
  background:var(--c-graphite);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease;
}

.content .sp-services-page .sp-dir-card:nth-child(1){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
  border-top:3px solid var(--c-accent);
}

.content .sp-services-page .sp-dir-card:nth-child(2){
  background:linear-gradient(135deg, rgba(212,136,42,.07), transparent 60%), var(--c-graphite);
}

.content .sp-services-page .sp-dir-card:nth-child(3){
  border-left:3px solid rgba(212,136,42,.65);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 16px 40px rgba(0,0,0,.18);
}

.content .sp-services-page .sp-dir-card:hover{
  transform:translateY(-3px);
  border-color:rgba(212,136,42,.35);
}

.content .sp-services-page .sp-dir-num{
  margin-bottom:10px;
  font-family:var(--f-head);
  font-size:38px;
  font-weight:700;
  line-height:1;
  color:rgba(212,136,42,.18);
}

.content .sp-services-page .sp-dir-desc{
  margin:0 0 16px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
}

.content .sp-services-page .sp-dir-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.content .sp-services-page .sp-dir-list li{
  position:relative;
  padding-left:18px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.7;
}

.content .sp-services-page .sp-dir-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--c-accent);
}

.content .sp-services-page .sp-dir-footer{
  margin-top:auto;
  padding-top:18px;
}

/* scope */
.content .sp-services-page .sp-scope-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.content .sp-services-page .sp-scope-block{
  padding:26px 22px;
  border-radius:18px;
  border:1px solid var(--c-border);
  background:var(--c-graphite);
}

.content .sp-services-page .sp-scope-block:nth-child(1){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-scope-block:nth-child(2){
  background:linear-gradient(135deg, rgba(212,136,42,.06), transparent 65%), var(--c-graphite);
}

.content .sp-services-page .sp-scope-block:nth-child(3){
  border-left:3px solid var(--c-accent);
}

.content .sp-services-page .sp-scope-block:nth-child(4){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.content .sp-services-page .sp-scope-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.content .sp-services-page .sp-scope-list li{
  position:relative;
  padding-left:18px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.7;
}

.content .sp-services-page .sp-scope-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:7px;
  height:7px;
	border-radius:50%;
  background:var(--c-accent);
}

/* spec */
.content .sp-services-page .sp-spec-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.content .sp-services-page .sp-spec-card{
  padding:28px 24px;
  border-radius:18px;
  border:1px solid var(--c-border);
  background:var(--c-graphite);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}

.content .sp-services-page .sp-spec-card:nth-child(1){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-spec-card:nth-child(2){
  background:linear-gradient(135deg, rgba(212,136,42,.08), transparent 65%), var(--c-graphite);
}

.content .sp-services-page .sp-spec-card:nth-child(3){
  border-left:3px solid var(--c-accent);
}

.content .sp-services-page .sp-spec-tag{
  display:inline-flex;
  padding:6px 10px;
  margin-bottom:14px;
  border-radius:999px;
  border:1px solid rgba(212,136,42,.22);
  color:var(--c-accent);
  background:rgba(212,136,42,.06);
  font-family:var(--f-head);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.content .sp-services-page .sp-spec-desc{
  margin:0 0 16px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
}

/* tasks */
.content .sp-services-page .sp-tasks-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.content .sp-services-page .sp-task-card{
  padding:22px 20px;
  border-radius:16px;
  border:1px solid var(--c-border);
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
  background:var(--c-graphite);
}

.content .sp-services-page .sp-task-card:nth-child(1),
.content .sp-services-page .sp-task-card:nth-child(4){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-task-card:nth-child(2),
.content .sp-services-page .sp-task-card:nth-child(5){
  background:linear-gradient(135deg, rgba(212,136,42,.07), transparent 70%), var(--c-graphite);
}

.content .sp-services-page .sp-task-card:nth-child(3),
.content .sp-services-page .sp-task-card:nth-child(6){
  border-left:3px solid var(--c-accent);
}

/* fit */
.content .sp-services-page .sp-fit-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.content .sp-services-page .sp-fit-item{
  display:flex;
  gap:12px;
  padding:18px 18px;
  border-radius:16px;
  border:1px solid var(--c-border);
  background:var(--c-graphite);
  color:var(--c-light);
  font-size:15px;
  line-height:1.7;
}

.content .sp-services-page .sp-fit-item:nth-child(odd){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-fit-item:nth-child(even){
  background:linear-gradient(135deg, rgba(212,136,42,.06), transparent 70%), var(--c-graphite);
}

.content .sp-services-page .sp-fit-check{
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(212,136,42,.12);
  color:var(--c-accent);
  font-family:var(--f-head);
  font-size:13px;
  font-weight:700;
  margin-top:1px;
}

/* steps */
.content .sp-services-page .sp-steps{
  position:relative;
  display:flex;
  flex-direction:column;
  max-width:900px;
}

.content .sp-services-page .sp-steps::before{
  content:"";
  position:absolute;
  left:27px;
  top:30px;
  bottom:30px;
  width:1px;
  background:linear-gradient(to bottom, var(--c-accent), rgba(212,136,42,.08));
}

.content .sp-services-page .sp-step{
  position:relative;
  z-index:1;
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--c-border);
}

.content .sp-services-page .sp-step:last-child{
  border-bottom:none;
}

.content .sp-services-page .sp-step-num{
  width:54px;
  height:54px;
  flex-shrink:0;
  border-radius:50%;
  border:2px solid var(--c-accent);
  background:var(--c-graphite);
	display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--f-head);
  font-size:16px;
  font-weight:700;
  color:var(--c-accent);
}

.content .sp-services-page .sp-step-body{
  padding-top:10px;
}

.content .sp-services-page .sp-step-title{
  margin:0 0 6px;
  font-family:var(--f-head);
  font-size:17px;
  font-weight:700;
  color:var(--c-white);
  text-transform:uppercase;
  letter-spacing:.03em;
}

.content .sp-services-page .sp-step-desc{
  margin:0;
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
}

/* who */
.content .sp-services-page .sp-who-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.content .sp-services-page .sp-who-item{
  padding:20px 18px;
  border-radius:16px;
  border:1px solid var(--c-border);
  background:var(--c-graphite);
  color:var(--c-light);
  font-size:15px;
  line-height:1.65;
  text-align:center;
}

.content .sp-services-page .sp-who-item:nth-child(odd){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-who-item:nth-child(even){
  background:linear-gradient(135deg, rgba(212,136,42,.05), transparent 70%), var(--c-graphite);
}

/* faq */
.content .sp-services-page .sp-faq{
  display:grid;
  gap:14px;
}

.content .sp-services-page .sp-faq-item{
  border:1px solid var(--c-border);
  border-radius:16px;
  overflow:hidden;
  background:var(--c-graphite);
}

.content .sp-services-page .sp-faq-item:nth-child(odd){
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)), var(--c-graphite);
}

.content .sp-services-page .sp-faq-item:nth-child(even){
  background:linear-gradient(135deg, rgba(212,136,42,.04), transparent 65%), var(--c-graphite);
}

.content .sp-services-page .sp-faq-q{
  position:relative;
  padding:22px 54px 22px 22px;
  font-family:var(--f-head);
  font-size:16px;
  font-weight:700;
  color:var(--c-white);
  text-transform:uppercase;
  cursor:pointer;
}

.content .sp-services-page .sp-faq-q::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:var(--c-accent);
  font-size:22px;
  line-height:1;
}

.content .sp-services-page .sp-faq-item.sp-open .sp-faq-q::after{
  content:"–";
}

.content .sp-services-page .sp-faq-a{
  display:none;
  padding:0 22px 22px;
  color:var(--c-light);
  font-size:15px;
  line-height:1.75;
}

.content .sp-services-page .sp-faq-item.sp-open .sp-faq-a{
  display:block;
}

/* cta */
.content .sp-services-page .sp-cta-section{
  padding:84px 0 96px;
}

.content .sp-services-page .sp-cta-inner{
  padding:34px 28px;
  border-radius:20px;
  border:1px solid rgba(212,136,42,.22);
  background:
    radial-gradient(circle at top right, rgba(212,136,42,.10), transparent 30%),
    linear-gradient(180deg, var(--c-graphite), var(--c-navy-deep));
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.content .sp-services-page .sp-cta-lead{
  max-width:780px;
  margin:0;
  color:var(--c-light);
  font-size:17px;
  line-height:1.75;
}

@media (max-width: 1100px){
  .content .sp-services-page .sp-dir-grid,
  .content .sp-services-page .sp-spec-grid,
  .content .sp-services-page .sp-tasks-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .content .sp-services-page .sp-who-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width: 860px){
  .content .sp-services-page .sp-scope-grid,
  .content .sp-services-page .sp-fit-grid,
  .content .sp-services-page .sp-dir-grid,
  .content .sp-services-page .sp-spec-grid,
  .content .sp-services-page .sp-tasks-grid{
    grid-template-columns:1fr;
  }

  .content .sp-services-page .sp-who-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 760px){
  .content .sp-services-page .sp-wrap{
    padding:0 16px;
  }

  .content .sp-services-page .sp-section,
  .content .sp-services-page .sp-cta-section{
    padding:64px 0;
  }

  .content .sp-services-page .sp-hero{
    padding:74px 0 60px;
	}

  .content .sp-services-page .sp-cta-row{
    flex-direction:column;
  }

  .content .sp-services-page .sp-btn{
    width:100%;
  }

  .content .sp-services-page .sp-step{
    gap:16px;
  }

  .content .sp-services-page .sp-steps::before{
    left:22px;
  }

  .content .sp-services-page .sp-step-num{
    width:44px;
    height:44px;
    font-size:14px;
  }

  .content .sp-services-page .sp-step-body{
    padding-top:6px;
  }

  .content .sp-services-page .sp-dir-card,
  .content .sp-services-page .sp-scope-block,
  .content .sp-services-page .sp-spec-card,
  .content .sp-services-page .sp-cta-inner{
    padding:22px 18px;
  }

  .content .sp-services-page .sp-faq-q{
    padding:18px 48px 18px 18px;
    font-size:15px;
  }

  .content .sp-services-page .sp-faq-a{
    padding:0 18px 18px;
  }

  .content .sp-services-page .sp-who-grid{
    grid-template-columns:1fr;
  }
}  
.btn-desktop{
  display:inline-flex;
}

.btn-mobile{
  display:none;
}

@media (max-width: 767px){
  .btn-desktop{
    display:none;
  }

  .btn-mobile{
    display:inline-flex;
  }
}
.menu-phone{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.08em;
  transition:.2s ease;
}

.menu-phone:hover{
  color:#f5a623;
}
.hero{
  position:relative;
  overflow:hidden;
}

.hero-bg-wrap{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.hero-bg{
  transform:scale(1.08);
  will-change:transform, filter;
  animation:heroBgMove 18s ease-in-out infinite alternate;
  filter:brightness(.62);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center top;

}

.hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(7,12,22,.72) 0%, rgba(7,12,22,.58) 38%, rgba(7,12,22,.42) 100%),
    linear-gradient(180deg, rgba(5,10,18,.28) 0%, rgba(5,10,18,.12) 100%);
}

.hero .container,
.hero .hero-grid,
.hero .hero-content{
  position:relative;
  z-index:2;
}

@keyframes heroBgMove{
  0%{
    transform:scale(1.08) translate3d(0,0,0);
  }
  25%{
    transform:scale(1.1) translate3d(-8px,-4px,0);
  }
  50%{
    transform:scale(1.12) translate3d(-16px,0,0);
  }
  75%{
    transform:scale(1.1) translate3d(-10px,6px,0);
  }
  100%{
    transform:scale(1.12) translate3d(-18px,10px,0);
  }
}

@keyframes heroGlowMove{
  0%{
    transform:translate3d(-12px,0,0);
    opacity:.45;
  }
  100%{
    transform:translate3d(12px,-10px,0);
    opacity:.8;
  }
}

@media (max-width:767px){
  .hero-bg{
    animation:heroZoomFloat 20s ease-in-out infinite alternate;
  }

  .hero::before{
    opacity:.6;
  }
}