/*
Theme Name: Совет Инженера
Description: Кастомная тема для лендинга инженерно-геологической компании «Совет Инженера».
Version: 1.9
Text Domain: sovet-inzhenera
*/

/* ====== RESET & BASE ====== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope','Segoe UI',Arial,sans-serif;font-size:18.5px;color:#1a2435;background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
svg{display:block}
.disp{font-family:'Oswald','Manrope',sans-serif;text-transform:uppercase}

/* ====== CSS VARS (палитра на основе geologia.ra-grad.ru: светло-голубой + янтарный) ====== */
:root{
  --blue:#2f6fb5;
  --blue2:#3f83c9;
  --blue-deep:#123354;
  --blue-lt:#e6f2ff;
  --sky:#f2f9ff;
  --sky2:#eaf6ff;
  --orange:#ff6600;
  --orange2:#ff8533;
  --amber:#ff6600;
  --amber-lt:#fff3d6;
  --amber-deep:#b34700;
  --teal:#00897b;
  --teal-lt:#e0f2f1;
  --gray:#f6f9fc;
  --white:#fff;
  --txt:#2b2f38;
  --txt2:#565f6d;
  --txt3:#7a8391;
  --border:#e3e9f2;
  --rad:3px;
  --rad2:6px;
  --shadow:0 6px 24px rgba(30,35,45,.08);
  --shadow-lg:0 18px 46px rgba(30,35,45,.14);
  --glow:0 10px 26px rgba(255,102,0,.35);
}

/* ====== HELPERS ====== */
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--orange);color:#1c1305;border:none;border-radius:var(--rad);padding:16px 32px;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;transition:background .2s,box-shadow .2s;white-space:nowrap;box-shadow:var(--glow)}
.btn-primary:hover{background:var(--orange2);box-shadow:0 14px 32px rgba(255,102,0,.46)}
.btn-outline{display:inline-block;background:transparent;color:var(--txt);border:1.5px solid rgba(43,47,56,.35);border-radius:var(--rad);padding:14px 30px;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;transition:border-color .2s,background .2s}
.btn-outline:hover{border-color:var(--txt);background:rgba(43,47,56,.06)}
.btn-blue{background:var(--txt);color:#fff;border:none;border-radius:var(--rad);padding:12px 22px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:0 8px 20px rgba(30,35,45,.25)}
.section{padding:64px 0}
.section-white{background:var(--white)}
.section-gray{background:var(--gray)}
.section-blue{background:linear-gradient(180deg,var(--sky),var(--blue-lt));position:relative;overflow:hidden}
.section-blue::before{content:'';position:absolute;inset:0;background:url('images/water-drop.jpg') center/cover no-repeat;opacity:.12;mix-blend-mode:multiply;pointer-events:none}
.section-blue .container{position:relative;z-index:1}
.section-dark{background:linear-gradient(180deg,var(--sky2),var(--sky));color:var(--txt)}
.section-teal{background:linear-gradient(135deg,var(--teal),#00594f);color:#fff}

/* ====== ЭФФЕКТ "ВОДА У НИЖНЕГО КРАЯ" ======
   Схема буровой скважины растянута фоном на всю обёртку (Проекты → Отзывы → Форма → Футер).
   Водоносный слой на исходной картинке — внизу, поэтому background-position:bottom привязывает
   воду к самому низу страницы: чем ближе к футеру, тем отчётливее проступает вода из скважины. */
.water-reveal-wrap{position:relative;background:url('images/bg-drill-scheme.jpg') center bottom / cover no-repeat;background-color:var(--gray)}
.water-reveal-wrap .water-bg{background:rgba(255,255,255,.93)}
.water-reveal-wrap .section-gray.water-bg{background:rgba(246,249,252,.9)}
.water-reveal-wrap .footer.water-bg-dark{background:rgba(7,22,40,.82)}
.sec-head{text-align:center;margin-bottom:40px}
.sec-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--orange);font-family:'Oswald',sans-serif;font-size:16.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.sec-eyebrow::before{content:'';width:28px;height:2px;background:var(--orange);display:inline-block}
.section-dark .sec-eyebrow{color:var(--orange)}
.sec-title{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:40px;font-weight:700;color:var(--txt);margin-bottom:12px;line-height:1.2;letter-spacing:.2px}
.section-dark .sec-title{color:var(--txt)}
.section-teal .sec-title{color:#fff}
.sec-sub{font-size:19.5px;color:var(--txt3);max-width:600px;margin:0 auto}
.section-dark .sec-sub{color:var(--txt3)}
.section-teal .sec-sub{color:rgba(255,255,255,.85)}

/* ====== ICON BADGES ====== */
.icon-badge{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-badge svg{width:28px;height:28px}
.icon-badge img{width:30px;height:30px;object-fit:contain}
.icon-badge.ib-blue{background:var(--blue-lt);color:var(--blue)}
.icon-badge.ib-orange{background:var(--amber-lt);color:var(--orange)}
.icon-badge.ib-teal{background:var(--teal-lt);color:var(--teal)}
.icon-badge.ib-round{border-radius:50%}


/* ====== ШАПКА-ОВЕРЛЕЙ: прозрачная поверх hero, при скролле — сплошная белая липкая ====== */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:24px 0;background:transparent;transition:background .3s ease,padding .3s ease,box-shadow .3s ease}
.site-nav-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;width:100%;padding:0 40px}
.logo{display:flex;align-items:center;gap:14px}
.logo-mark{width:68px;height:68px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-mark svg{width:50px;height:50px;color:var(--orange)}
.logo-mark img{width:100%;height:100%;object-fit:contain}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-main{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:32px;font-weight:700;color:#fff;letter-spacing:.5px;transition:color .3s}
.logo-main em{color:var(--orange);font-style:normal}
.logo-sub{font-size:15px;color:rgba(255,255,255,.7);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;transition:color .3s}
.site-nav-links{display:flex;gap:2px;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 6px}
.site-nav-links::-webkit-scrollbar{display:none}
.site-nav-links a{display:block;padding:9px 16px;border-radius:100px;color:var(--txt2);font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;transition:color .2s}
.site-nav-links a:hover{color:var(--orange)}
.site-nav-contacts{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.h-phone{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;color:#fff;letter-spacing:.3px;transition:color .3s;text-decoration:none}
.site-nav.is-scrolled{background:#fff;box-shadow:0 4px 20px rgba(20,25,35,.1);padding:12px 0}
.site-nav.is-scrolled .logo-main{color:var(--blue-deep)}
.site-nav.is-scrolled .logo-sub{color:var(--txt3)}
.site-nav.is-scrolled .site-nav-links a{color:var(--txt2);-webkit-text-stroke:0}
.site-nav.is-scrolled .site-nav-links a:hover{color:var(--orange)}
.site-nav.is-scrolled .h-phone{color:var(--txt)}
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}
.nav-burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s,background .3s}
.site-nav.is-scrolled .nav-burger span{background:var(--txt)}
.site-nav.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-nav.nav-open .nav-burger span:nth-child(2){opacity:0}
.site-nav.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile-panel{display:contents}

/* ====== HERO (тёмное фото-hero в стиле Comfort Life) ====== */
.hero{background:linear-gradient(135deg,#1b2230,#12161f);color:#fff;position:relative;aspect-ratio:16/9;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-bg picture{display:block;width:100%;height:100%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.hero-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(55% 55% at 88% 0%,rgba(255,102,0,.18),transparent 70%)}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:1;line-height:0;pointer-events:none}
.hero-wave svg{width:100%;height:auto;display:block}
.hero-wrap{position:relative;width:100%;padding:0 40px}
.hero-inner{position:relative;z-index:2;padding-top:164px;padding-bottom:20px;width:100%}
.hero-content{max-width:1120px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;color:var(--orange2);font-family:'Oswald',sans-serif;font-size:16.5px;font-weight:600;letter-spacing:1.5px;margin-bottom:20px;text-transform:uppercase}
.hero h1{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:54px;font-weight:700;line-height:1.16;margin-bottom:56px;color:#fff;letter-spacing:.2px;text-shadow:0 2px 18px rgba(0,0,0,.4);max-width:820px}
.hero h1 .hl-orange{color:var(--orange)}
.hero h1 .hl-navy{color:var(--blue-deep)}
.hero h1 em{color:var(--orange);font-style:normal}
.hero-lead{font-size:22px;color:rgba(255,255,255,.75);margin-bottom:30px;line-height:1.65;max-width:560px}
.hero-checklist{list-style:none;margin-bottom:32px;display:flex;flex-direction:column;gap:12px}
.hero-checklist li{font-size:19.5px;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:10px}
.hero-checklist li::before{content:'✓';background:var(--orange);color:#1c1305;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.hero-iconlist{list-style:none;margin-bottom:56px;display:flex;flex-direction:column;gap:20px}
.hero-iconlist li{display:flex;align-items:center;gap:16px;font-size:19px;color:rgba(255,255,255,.92);text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero-iconlist li svg{width:38px;height:38px;color:var(--orange);flex-shrink:0}
.hero-iconlist li img{width:38px;height:38px;object-fit:contain;flex-shrink:0}
/* Панель "Точность в деталях" + иконки-статистика (горизонтально: тэглайн слева, статистика справа) */
.hero-panel{background:var(--blue-deep);box-shadow:0 -6px 30px rgba(0,0,0,.25);display:flex;align-items:center;gap:26px;position:relative;z-index:2;padding:18px 40px}
.hero-panel-btn{flex-shrink:0;white-space:nowrap}
.hero-panel-tagline{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:16px;font-weight:600;color:#fff;line-height:1.3;flex-shrink:0;padding-right:24px;border-right:1px solid rgba(255,255,255,.16)}
.hero-panel-tagline strong{display:block;color:var(--orange);font-weight:700}
.hero-panel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;flex:1}
.hero-pstat{display:flex;align-items:center;gap:11px}
.hero-pstat img{width:34px;height:34px;object-fit:contain;flex-shrink:0}
.hero-pstat strong{display:block;font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--orange);line-height:1.1}
.hero-pstat span{font-size:12.5px;color:rgba(255,255,255,.75);line-height:1.2}

/* ====== ГАРАНТИИ (тизеры) ====== */
.guarantees-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.g-card{background:var(--white);border-radius:var(--rad2);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;display:flex;align-items:stretch}
.g-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.g-card:nth-child(3),.g-card:nth-child(4){flex-direction:row-reverse}
.g-card-media{flex:0 0 40%;background:linear-gradient(135deg,var(--gray),#e4e9f0);display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden}
.g-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.g-card-media span{font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--txt3)}
.g-card-body{flex:1;padding:28px 26px;display:flex;flex-direction:column;justify-content:center}
.g-card h3{font-size:19px;font-weight:700;color:var(--txt);margin-bottom:8px}
.g-card p{font-size:16px;color:var(--txt3);line-height:1.6}

.gallery-scheme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.gs-item{position:relative;border-radius:var(--rad2);overflow:hidden;cursor:pointer}
.gs-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gs-item:hover img{transform:scale(1.06)}
.gs-header{grid-column:1/3;grid-row:1/3}
.gs-portrait{grid-column:3/4;grid-row:1/3}
.gs-sq3{grid-column:4/5;grid-row:1/2;aspect-ratio:1}
.gs-sq4{grid-column:4/5;grid-row:2/3;aspect-ratio:1}
.gs-wide{grid-column:1/3;grid-row:3/4;aspect-ratio:2/1}
.gs-sq6{grid-column:3/4;grid-row:3/4;aspect-ratio:1}
.gs-sq7{grid-column:4/5;grid-row:3/4;aspect-ratio:1}
.lightbox-overlay{position:fixed;inset:0;background:rgba(10,14,20,.92);display:none;align-items:center;justify-content:center;z-index:9998;padding:48px;cursor:zoom-out}
.lightbox-overlay.active{display:flex}
.lightbox-overlay img{max-width:100%;max-height:100%;border-radius:var(--rad2);box-shadow:0 20px 60px rgba(0,0,0,.5);cursor:default}
.lightbox-close{position:fixed;top:20px;right:28px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:9999;border:none;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox-close:hover{background:rgba(255,255,255,.2)}

/* ====== ГОТОВЫЕ РЕШЕНИЯ ====== */
.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sol-card{background:var(--white);border-radius:var(--rad2);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%}
.sol-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.sol-img{aspect-ratio:16/9;position:relative;display:flex;align-items:center;justify-content:center;font-size:61px;overflow:hidden}
.sol-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sol-img span{position:relative;z-index:1}
.sol-img-1{background:linear-gradient(135deg,var(--blue2),var(--blue-deep))}
.sol-img-2{background:linear-gradient(135deg,#00796b,#00695c)}
.sol-img-3{background:linear-gradient(135deg,#e65c00,#bf360c)}
.sol-body{padding:20px;display:flex;flex-direction:column;flex:1}
.sol-for{display:inline-block;font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--orange);margin-bottom:7px}
.sol-card h3{font-size:20.5px;font-weight:700;color:var(--txt);margin-bottom:12px;min-height:53px}
.sol-list{list-style:none;margin-bottom:16px;flex:1}
.sol-list li{font-size:16.5px;color:var(--txt2);padding:5px 0;border-bottom:1px solid #f0f4fa;display:flex;align-items:baseline;gap:6px}
.sol-list li::before{content:'—';color:var(--orange);font-weight:700;flex-shrink:0}
.sol-price{font-size:23.5px;font-weight:800;color:var(--orange);margin-bottom:16px}
.sol-price small{font-size:15px;font-weight:500;color:var(--txt3)}
.sol-card .btn-primary{width:100%;text-align:center;padding:12px}

/* ====== АЛМАЗНАЯ РЕЗКА ====== */
.cut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.cut-card{background:var(--white);border-radius:var(--rad2);border:1px solid var(--border);box-shadow:var(--shadow);padding:26px;display:flex;flex-direction:row;align-items:center;gap:26px;transition:transform .2s,box-shadow .2s}
.cut-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cut-card .icon-badge{width:200px;height:200px;border-radius:0;background:none;flex-shrink:0}
.cut-card .icon-badge img{width:100%;height:100%;object-fit:contain}
.cut-card .icon-badge svg{width:100%;height:100%}
.cut-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.cut-card h3{font-size:20.5px;font-weight:700;color:var(--txt)}
.cut-card p{font-size:17px;color:var(--txt3);line-height:1.65}

/* ====== ЦЕНЫ (таблица) ====== */
.price-scroll-wrap{position:relative}
.price-scroll-hint{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;opacity:.45;pointer-events:none;transition:opacity .2s;z-index:5;display:none}
.price-scroll-hint-right{right:6px}
.price-scroll-hint-left{left:6px}
.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--rad2);box-shadow:var(--shadow)}
.price-table{width:100%;border-collapse:collapse;font-size:17.5px;min-width:600px;background:#fff}
.price-table th{background:var(--txt);color:#fff;padding:14px 16px;text-align:left;font-weight:600;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.4px;font-size:16px}
.price-table th:first-child{border-top-left-radius:var(--rad2)}
.price-table th:last-child{border-top-right-radius:var(--rad2)}
.price-table td{padding:13px 16px;border-bottom:1px solid var(--border)}
.price-table tr:nth-child(even) td{background:#f9f9fa}
.price-table tr:hover td{background:var(--amber-lt)}
.price-tag{font-weight:800;color:var(--orange)}
.price-btn{background:var(--txt);color:#fff;border:none;border-radius:var(--rad);padding:7px 14px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;white-space:nowrap;transition:background .2s}
.price-btn:hover{background:var(--orange);color:#1c1305}

/* ====== ТЕХНИКА ====== */
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tech-carousel-wrap{position:relative}
.tech-grid.tech-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tech-grid.tech-carousel::-webkit-scrollbar{display:none}
.tech-grid.tech-carousel .tech-card{flex:0 0 calc(50% - 12px);scroll-snap-align:start}
.tech-car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--orange);border:none;box-shadow:var(--glow);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:#1c1305;cursor:pointer;z-index:50;transition:background .2s,opacity .2s}
.tech-car-arrow:hover{background:var(--orange2)}
.tech-car-prev{left:-22px}
.tech-car-next{right:-22px}
.tech-card{background:var(--white);border-radius:var(--rad2);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tech-img{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;font-size:75px;background:linear-gradient(135deg,var(--blue2),var(--blue-deep));overflow:hidden}
.tech-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tech-img span{position:relative;z-index:1}
.tech-body{padding:20px}
.tech-body h3{font-size:20.5px;font-weight:700;color:var(--txt);margin-bottom:14px}
.tech-specs{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.app-grid-3{grid-template-columns:repeat(3,1fr)}
.tech-spec{font-size:15px;color:var(--txt2)}
.tech-spec strong{display:block;font-size:17px;font-weight:700;color:var(--txt)}

/* ====== УСЛУГИ (карточки) ====== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.srv{background:var(--white);border-radius:var(--rad2);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.srv:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.srv-ico{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;font-size:49px;overflow:hidden}
.srv-ico img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.srv-ico svg{width:40px;height:40px;position:relative;z-index:1}
.srv-ico-1{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:var(--blue)}
.srv-ico-2{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:var(--teal)}
.srv-ico-3{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:var(--orange)}
.srv-ico-4{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}
.srv-ico-5{background:linear-gradient(135deg,#fce4ec,#f8bbd0);color:#c2185b}
.srv-ico-6{background:linear-gradient(135deg,#ede7f6,#d1c4e9);color:#5e35b1}
.srv-body{padding:16px}
.srv h3{font-size:18px;font-weight:700;color:var(--txt);margin-bottom:7px}
.srv p{font-size:16px;color:var(--txt3);line-height:1.6;margin-bottom:12px}
.srv-price{font-size:17px;font-weight:800;color:var(--orange)}
.srv-foot{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px;border-top:1px solid #f0f4fa;background:#fafbff}
.srv-link{display:none;font-size:15px;color:var(--orange);font-weight:700}
.srv-btn{background:var(--txt);color:#fff;border:none;border-radius:var(--rad);padding:6px 14px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}

/* ====== ПРОЕКТЫ (галерея) ====== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-item{position:relative;border-radius:var(--rad2);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;transition:transform .25s,box-shadow .25s}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.gallery-item:hover .gallery-photo img{transform:scale(1.07)}
.gallery-photo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:49px}
.gallery-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-photo span{position:relative;z-index:1;color:rgba(255,255,255,.9)}
.gallery-photo.proj-img-1{background:linear-gradient(135deg,#1b4f72,#1565c0)}
.gallery-photo.proj-img-2{background:linear-gradient(135deg,#145a32,#1e8449)}
.gallery-photo.proj-img-3{background:linear-gradient(135deg,#512e5f,#884ea0)}
.gallery-photo.proj-img-4{background:linear-gradient(135deg,#784212,#ca6f1e)}
.gallery-photo.proj-img-5{background:linear-gradient(135deg,#0e6655,#17a589)}
.gallery-photo.proj-img-6{background:linear-gradient(135deg,#1b2631,#2e4057)}
.gallery-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,11,16,.9) 0%,rgba(8,11,16,.4) 48%,rgba(8,11,16,0) 78%);z-index:1}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:18px;z-index:2;color:#fff}
.gallery-type{display:inline-block;background:var(--orange);color:#1c1305;font-family:'Oswald',sans-serif;font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:3px;margin-bottom:9px}
.gallery-caption h4{font-size:19.5px;font-weight:700;margin-bottom:5px;line-height:1.3}
.gallery-caption p{font-size:16px;color:rgba(255,255,255,.78);line-height:1.45}

/* ====== ОТЗЫВЫ ====== */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:var(--white);border:1px solid var(--border);border-radius:var(--rad2);padding:22px;box-shadow:var(--shadow)}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.review-avatar{width:42px;height:42px;border-radius:50%;background:var(--txt);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18.5px;flex-shrink:0}
.review-stars{color:var(--amber);font-size:18.5px}
.review-text{font-size:17px;color:var(--txt2);line-height:1.7;margin-bottom:12px}
.review-author{font-weight:700;font-size:17px;color:var(--txt)}
.review-place{font-size:14.5px;color:var(--txt3);padding-top:10px;border-top:1px solid #f0f4fa}

/* ====== ЭТАПЫ РАБОТЫ ====== */
.steps-row{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.steps-row::before{content:'';position:absolute;top:28px;left:calc(100%/12);right:calc(100%/12);height:2px;background:linear-gradient(90deg,var(--orange),var(--amber));z-index:0}
.step{text-align:center;position:relative;z-index:1;padding:0 8px}
.step-num{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#4a2f00;font-size:24.5px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;border:4px solid var(--sky2);box-shadow:0 6px 16px rgba(255,102,0,.35)}
.step h4{font-size:17px;font-weight:700;color:var(--txt);margin-bottom:5px}
.step p{font-size:14.5px;color:var(--txt3);line-height:1.5}

/* ====== ФОРМА ====== */
.form-wrap{background:var(--white);border-radius:var(--rad2);padding:36px;max-width:720px;margin:0 auto;box-shadow:var(--shadow-lg)}
.form-wrap h3{font-size:25.5px;font-weight:800;color:var(--txt);margin-bottom:6px}
.form-sub{font-size:17.5px;color:var(--txt3);margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-full{grid-column:1/-1}
.form-field label{display:block;font-size:15px;font-weight:700;color:var(--txt2);margin-bottom:6px}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1.5px solid #d6e0f2;border-radius:var(--rad);padding:12px 14px;font-size:17.5px;color:var(--txt);background:#fbfcff;outline:none;transition:border-color .2s,box-shadow .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--txt);box-shadow:0 0 0 3px rgba(43,47,56,.08);background:#fff}
/* CF7 прогоняет код формы через wpautop, который вставляет <p> и <br> между лейблом и полем — сбрасываем эти отступы */
.form-field p{margin:0}
.form-field br{display:none}
.form-field .wpcf7-form-control-wrap{display:block}
.form-consent p{margin:0}
.form-consent br{display:none}
.form-field textarea{resize:vertical;min-height:80px}
.form-submit{width:100%;background:var(--orange);color:#1c1305;border:none;border-radius:var(--rad);padding:16px;font-family:'Oswald',sans-serif;font-size:18.5px;font-weight:600;text-transform:uppercase;cursor:pointer;margin-top:10px;letter-spacing:1px;transition:background .2s,box-shadow .2s;box-shadow:var(--glow)}
.form-submit:hover{background:var(--orange2);box-shadow:0 14px 32px rgba(255,102,0,.46)}
.form-note{font-size:14px;color:var(--txt3);text-align:center;margin-top:12px}
.form-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;justify-content:center}
.form-badge{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--txt2);background:var(--gray);padding:6px 12px;border-radius:100px}
.form-badge::before{content:'✓';background:var(--teal);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}

/* ====== FOOTER ====== */
.footer{background:#071628;color:#8aa5c0;padding:48px 0 22px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;margin-bottom:28px}
.footer h4{color:#fff;font-size:16.5px;font-weight:800;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}
.footer a,.footer p{display:block;font-size:17px;color:#8aa5c0;margin-bottom:8px}
.footer a:hover{color:#ffc873}
.f-phone{font-size:25.5px;font-weight:800;color:#fff;margin-bottom:4px}
.f-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:15px}

/* ====== ТИПОВЫЕ СТРАНИЦЫ WORDPRESS (политика конфиденциальности и т.п.) ====== */
.page-title{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:34px;font-weight:700;color:var(--txt);margin-bottom:24px;padding-top:160px}
.page-content{font-size:17px;color:var(--txt2);line-height:1.7;padding-bottom:60px}
.page-content h2{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:26px;color:var(--txt);margin:32px 0 14px;letter-spacing:.3px}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--txt);margin:26px 0 10px}
.page-content p{margin-bottom:14px}
.page-content ul{margin:0 0 14px 20px}
.page-content li{margin-bottom:6px}
.page-content a{color:var(--orange);text-decoration:underline}
.page-content strong{color:var(--txt)}
@media(max-width:768px){
  .page-title{padding-top:110px;font-size:26px}
}

/* ====== STICKY CTA MOBILE ====== */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 20px;z-index:200;box-shadow:0 -4px 20px rgba(47,111,181,.18)}
.sticky-cta a{display:block;background:var(--orange);color:#1c1305;text-align:center;border-radius:var(--rad);padding:14px;font-family:'Oswald',sans-serif;font-size:17.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;box-shadow:var(--glow)}

/* ====== RESPONSIVE ====== */
@media(max-width:1400px){
  .site-nav-contacts{display:none}
  .site-nav-links{flex-wrap:nowrap;flex:1;min-width:0}
  .sticky-cta{display:block}
  body{padding-bottom:60px}
}
@media(max-width:1024px){
  .tech-car-arrow{position:fixed;left:auto;right:auto;opacity:0;pointer-events:none}
  .tech-car-arrow.visible{opacity:1;pointer-events:auto}
  .tech-car-prev{left:10px}
  .tech-car-next{right:10px}
  .hero{aspect-ratio:auto;display:block}
  .hero-panel{box-shadow:none}
  .guarantees-grid{grid-template-columns:repeat(2,1fr)}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .app-grid-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cut-grid{grid-template-columns:1fr}
  .cut-card{flex-direction:column;align-items:flex-start;gap:16px}
  .cut-card .icon-badge{width:160px;height:160px}
}
@media(max-width:768px){
  .site-nav{padding:14px 0}
  .logo-sub{display:none}
  .nav-burger{display:flex}
  .nav-mobile-panel{display:none}
  .site-nav.nav-open .nav-mobile-panel{display:flex;flex-direction:column;gap:14px;position:absolute;top:100%;left:16px;right:16px;background:#fff;padding:16px;border-radius:12px;margin-top:12px;box-shadow:var(--shadow-lg);z-index:10}
  .site-nav.nav-open .nav-mobile-panel .site-nav-links{display:flex;flex-direction:column;gap:4px;width:100%;overflow:visible}
  .site-nav.nav-open .nav-mobile-panel .site-nav-links a{color:var(--txt2);text-align:center;padding:12px 16px}
  .site-nav.nav-open .nav-mobile-panel .site-nav-links a:hover{color:var(--txt)}
  .site-nav.nav-open .nav-mobile-panel .site-nav-contacts{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;padding-top:14px;border-top:1px solid var(--border)}
  .site-nav.nav-open .nav-mobile-panel .h-phone{color:var(--txt);text-align:center;font-size:22px}
  .site-nav.nav-open .nav-mobile-panel .site-nav-contacts .btn-primary{width:100%}
  .hero{aspect-ratio:auto;display:block}
  .hero-inner{padding-top:112px;padding-bottom:32px}
  .hero h1{font-size:34px;max-width:none}
  .hero-wrap{padding:0 16px}
  .hero-panel{padding:22px 20px;flex-direction:column;align-items:stretch;gap:20px}
  .hero-panel-tagline{padding-right:0;padding-bottom:16px;border-right:none;border-bottom:1px solid rgba(255,255,255,.16)}
  .hero-panel-stats{grid-template-columns:repeat(2,1fr)}
  .logo-mark{width:52px;height:52px}
  .logo-mark svg{width:38px;height:38px}
  .logo-main{font-size:24px}
  .site-nav-row{padding:0 16px}
  .section{padding:36px 0}
  .sec-title{font-size:24.5px}
  .steps-row{grid-template-columns:repeat(2,1fr);gap:20px}
  .steps-row::before{display:none}
  .tech-grid{grid-template-columns:1fr}
  .tech-grid.tech-carousel .tech-card{flex:0 0 88%}
  .reviews-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:4px}
  .review{flex:0 0 88%;scroll-snap-align:start}
  .price-table{table-layout:fixed;min-width:460px}
  .price-table th:first-child,.price-table td:first-child{width:130px;white-space:normal}
  .price-table th:nth-child(2),.price-table td:nth-child(2){width:80px}
  .price-table th:nth-child(3),.price-table td:nth-child(3){width:130px}
  .price-table th:last-child,.price-table td:last-child{width:120px}
  .app-grid-3{grid-template-columns:1fr}
  .cut-grid{grid-template-columns:1fr}
  .cut-card{flex-direction:column;align-items:flex-start;gap:16px}
  .cut-card .icon-badge{width:140px;height:140px}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .f-bottom{flex-direction:column;gap:4px}
  .sticky-cta{display:block}
  body{padding-bottom:60px}
  .g-card,.g-card:nth-child(3),.g-card:nth-child(4){flex-direction:column}
  .gallery-scheme-grid{grid-template-columns:repeat(2,1fr)}
  .gs-header{grid-column:1/3;grid-row:1/2;aspect-ratio:16/9}
  .gs-portrait{grid-column:1/2;grid-row:2/4}
  .gs-sq3{grid-column:2/3;grid-row:2/3}
  .gs-sq4{grid-column:2/3;grid-row:3/4}
  .gs-wide{grid-column:1/3;grid-row:4/5}
  .gs-sq6{grid-column:1/2;grid-row:5/6}
  .gs-sq7{grid-column:2/3;grid-row:5/6}
}
@media(max-width:480px){
  .guarantees-grid,.solutions-grid,.services-grid,.gallery-grid,.reviews-grid,.hero-panel-stats{grid-template-columns:1fr}
}

/* ====== МОДАЛЬНЫЕ ФОРМЫ (звонок / расчёт) ====== */
.modal-overlay{position:fixed;inset:0;background:rgba(10,14,20,.75);display:none;align-items:center;justify-content:center;z-index:9997;padding:24px}
.modal-overlay.active{display:flex}
.modal-card{background:#fff;border-radius:var(--rad2);padding:32px;max-width:440px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.modal-card h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:22px;font-weight:700;color:var(--txt);margin-bottom:8px}
.modal-card .modal-sub{font-size:15px;color:var(--txt3);margin-bottom:20px}
.modal-card .form-grid{grid-template-columns:1fr}
.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--gray);border:none;font-size:20px;line-height:1;color:var(--txt);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.modal-close:hover{background:var(--border)}

/* ====== СОГЛАСИЕ В ФОРМЕ ЗАЯВКИ ====== */
.form-consent{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:14px;color:var(--txt3)}
.form-consent input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--orange)}
.form-consent a{color:var(--txt2);text-decoration:underline}

/* ====== БАННЕР СОГЛАСИЯ НА COOKIE ====== */
.cookie-banner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:500;background:var(--blue-deep);color:#fff;padding:16px 24px;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,.25)}
.cookie-banner.visible{display:flex}
.cookie-banner p{margin:0;font-size:15px;line-height:1.5;max-width:760px}
.cookie-banner a{color:var(--orange2);text-decoration:underline}
.cookie-banner button{background:var(--orange);color:#1c1305;border:none;border-radius:var(--rad);padding:10px 22px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;white-space:nowrap;transition:background .2s}
.cookie-banner button:hover{background:var(--orange2)}
@media(max-width:600px){
  .cookie-banner{padding:14px 16px;flex-direction:column;text-align:center}
}
@media(max-width:1400px){
  .cookie-banner{bottom:85px}
}