/* ============================================================
   ИСК — Интер Строй Комплект — единые стили сайта
   1) глобальный сброс  2) общие блоки (меню/лайтбокс-хелперы)
   3) стили каждой страницы под scope body.p-<страница>
   ============================================================ */

/* --- глобальный сброс --- */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{overflow-x:hidden;}
img{display:block;max-width:100%;}

/* --- общие блоки навигации/меню (на всех страницах) --- */

/* [isk-unified-nav] */
.header-nav{ width:auto !important; white-space:nowrap; align-items:flex-start; }
.header-nav .nav-item{ position:relative; }
.header-nav .hn-has{ display:flex; align-items:center; }
.header-nav .hn-drop{
  position:absolute; top:100%; left:0; min-width:300px;
  background:#FFFCF6; border-radius:12px; padding:22px 20px;
  display:none; flex-direction:column; gap:18px;
  box-shadow:0 8px 24px rgba(0,0,0,0.12); z-index:1000;
}
.header-nav .hn-has:hover .hn-drop{ display:flex; }
.header-nav .hn-drop a{ display:block; font-size:16px; line-height:20px; color:#000; white-space:nowrap; text-align:left; }
.header-nav .hn-drop a:hover{ color:#CA4825; }
/* подчёркивание пунктов верхнего меню при наведении */
.header-nav .nav-item:hover{ text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.header-nav .nav-item:hover .hn-drop a{ text-decoration:none; }

/* [isk-mobile-menu] */
.iskm-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99999;display:none;}
.iskm-backdrop.is-open{display:block;}
.iskm-panel{position:absolute;top:0;left:0;height:100%;width:84%;max-width:340px;background:#FFFCF6;box-shadow:2px 0 24px rgba(0,0,0,.2);padding:72px 24px 40px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;font-family:'Golos Text','Golos',sans-serif;box-sizing:border-box;}
.iskm-panel a{color:#161616;font-size:18px;line-height:22px;text-decoration:none;}
.iskm-panel a:active{color:#CA4825;}
.iskm-group{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#9a9a9a;margin-top:12px;}
.iskm-sub{padding-left:14px;font-size:16px !important;}
.iskm-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;background:none;font-size:34px;line-height:1;color:#161616;cursor:pointer;}
.iskm-call{margin-top:18px;font-weight:600;}

/* [isk-card-links] */
.service-banner,.project-card,.gvm-srv-card,.gvm-proj-card,.interior-card{position:relative;cursor:pointer;}
.isk-cardlink{position:absolute;inset:0;z-index:20;display:block;font-size:0;}


/* ===================== ОБЩИЕ КОМПОНЕНТЫ (резиновые страницы) ===================== */
:root{ --pad:clamp(16px,8.33vw,120px); --maxw:1440px; }
.container{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

body.p-svc, body.p-proj { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; margin:0; }
body.p-svc *, body.p-proj * { box-sizing:border-box; }
body.p-svc a, body.p-proj a { color:inherit; text-decoration:none; }
body.p-svc img, body.p-proj img { display:block; max-width:100%; }
body.p-svc input, body.p-proj input { font-family:inherit; outline:none; border:none; background:transparent; }
body.p-svc button, body.p-proj button { font-family:inherit; cursor:pointer; border:none; background:transparent; }
body.p-svc h1,body.p-svc h2,body.p-svc h3,body.p-svc p,body.p-svc ul,body.p-proj h1,body.p-proj h2,body.p-proj h3,body.p-proj p,body.p-proj ul { margin:0; padding:0; }
body.p-svc ul,body.p-proj ul { list-style:none; }

/* HEADER */
.site-header{ position:relative; max-width:var(--maxw); margin:0 auto; padding:18px var(--pad); display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas:"burger logo contacts" "nav nav nav"; align-items:center; row-gap:14px; column-gap:16px; background:#FFFCF6; }
.site-header .m-burger{ grid-area:burger; display:none; flex-direction:column; justify-content:center; gap:5px; width:30px; height:24px; }
.site-header .m-burger span{ display:block; height:3px; width:100%; background:#161616; border-radius:2px; }
.site-logo{ grid-area:logo; width:140px; }
.site-logo img{ width:100%; height:auto; object-fit:contain; }
.site-contacts{ grid-area:contacts; justify-self:end; display:flex; flex-direction:column; align-items:flex-end; gap:2px; font-size:14px; line-height:17px; }
.site-contacts a{ color:#000; display:block; }
.site-header .header-nav{ grid-area:nav; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4px; }
.site-header .nav-item{ position:relative; padding:10px 18px; font-size:16px; color:#000; border-radius:12px; cursor:pointer; }

/* DOTLIST */
.dotlist li{ position:relative; padding-left:22px; margin-bottom:12px; font-size:clamp(15px,1.4vw,24px); line-height:1.3; }
.dotlist li:last-child{ margin-bottom:0; }
.dotlist li::before{ content:'•'; position:absolute; left:0; color:#CA4825; }

/* FORM */
.form-card{ width:100%; max-width:712px; margin:0 auto; background:#FFFCF6; padding:clamp(28px,3vw,48px) clamp(20px,3vw,56px); }
.form-card h2{ text-align:center; font-weight:500; font-size:clamp(24px,2.4vw,36px); color:#000; }
.form-fields{ margin-top:clamp(24px,2.5vw,40px); display:flex; flex-direction:column; gap:clamp(22px,2.4vw,40px); }
.form-field label{ display:block; font-weight:500; font-size:15px; margin-bottom:10px; color:#000; }
.form-field input{ width:100%; border-bottom:1px solid #000; padding-bottom:8px; font-size:16px; color:#000; }
.form-btn{ margin-top:28px; padding:14px 36px; background:#CA4825; color:#FFFCF6; border-radius:18px; font-size:16px; }
.form-note{ margin-top:20px; max-width:430px; font-size:14px; line-height:1.3; color:#000; }
.form-contacts{ margin-top:24px; display:flex; gap:24px; flex-wrap:wrap; }
.form-contacts a{ font-weight:500; font-size:clamp(18px,1.8vw,28px); color:#000; }

/* FOOTER */
.site-footer{ background:#161616; margin-top:clamp(72px,8vw,150px); padding:clamp(60px,6vw,90px) 0 clamp(44px,5vw,72px); }
.site-footer-grid{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; }
.site-footer-left{ display:flex; flex-direction:column; gap:clamp(44px,6vw,90px); }
.site-footer-logo{ width:clamp(130px,13vw,180px); }
.site-footer-logo img{ width:100%; height:auto; object-fit:contain; object-position:left center; }
.site-footer-bottom{ display:flex; flex-direction:column; gap:10px; }
.site-footer-tagline{ color:#fff; font-size:clamp(16px,1.4vw,20px); line-height:1.3; max-width:430px; }
.site-footer-copy{ color:#5E5B55; font-size:14px; }
.site-footer-contacts{ text-align:right; display:flex; flex-direction:column; gap:10px; }
.site-footer .site-footer-contacts a, .site-footer .site-footer-contacts .addr{ color:#fff; font-size:clamp(15px,1.3vw,20px); }
body.p-index .site-footer .container{ max-width:var(--maxw); margin-left:auto; margin-right:auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ===================== ШАБЛОН УСЛУГ (.p-svc) ===================== */
.svc-hero{ min-height:clamp(360px,42vw,620px); background-size:cover; background-position:center; display:flex; align-items:center; }
.svc-hero .container{ width:100%; }
.svc-hero-title{ font-weight:500; font-size:clamp(30px,4.5vw,65px); line-height:1.1; color:#FFFCF6; max-width:900px; }
.svc-hero-block{ margin-top:clamp(24px,3vw,48px); margin-left:auto; max-width:611px; display:flex; flex-direction:column; gap:clamp(16px,1.8vw,35px); }
.svc-hero-block .lead{ font-size:clamp(20px,2.4vw,35px); line-height:1.2; color:#FFFCF6; }
.svc-hero-block .desc p{ font-size:clamp(15px,1.5vw,24px); line-height:1.25; color:#FFFCF6; margin-bottom:14px; }
.svc-hero-block .desc p:last-child{ margin-bottom:0; }

.svc-split{ display:grid; grid-template-columns:1fr 1fr; min-height:clamp(340px,40vw,645px); }
.svc-split-text{ background:#161616; color:#FFFCF6; display:flex; flex-direction:column; justify-content:center; gap:clamp(18px,2.4vw,40px); padding:clamp(40px,5vw,90px) clamp(24px,4vw,80px); }
.svc-split.reverse .svc-split-text{ order:2; }
.svc-split.reverse .svc-split-media{ order:1; }
.svc-split-text h2{ font-weight:400; font-size:clamp(28px,3.5vw,65px); line-height:1.1; }
.svc-split-text .needlead{ font-size:clamp(15px,1.4vw,24px); }
.svc-split-media{ background-size:cover; background-position:center; min-height:280px; }

.svc-statement{ padding:clamp(48px,6vw,110px) 0; }
.svc-statement p{ border-left:1px solid #000; padding-left:24px; max-width:1098px; font-size:clamp(20px,2.6vw,40px); line-height:1.2; color:#000; }

.svc-choose{ padding:clamp(40px,5vw,90px) 0; }
.svc-choose-grid{ display:grid; grid-template-columns:1fr auto; gap:clamp(32px,5vw,100px); align-items:start; }
.svc-choose-body{ display:flex; flex-direction:column; gap:clamp(18px,2.2vw,36px); max-width:714px; }
.svc-choose-body h2{ font-weight:400; font-size:clamp(28px,3.5vw,65px); line-height:1.1; }
.svc-choose-body .txt p{ font-size:clamp(15px,1.4vw,24px); line-height:1.25; margin-bottom:16px; }
.svc-choose-body .txt p:last-child{ margin-bottom:0; }
.svc-choose-media{ width:clamp(220px,22vw,306px); aspect-ratio:306/485; background-size:cover; background-position:center; border:1px solid #000; }

.svc-form{ background-size:cover; background-position:center; padding:clamp(48px,6vw,120px) 0; }
.svc-form-lead{ text-align:center; max-width:890px; margin:0 auto clamp(24px,3vw,48px); font-weight:500; font-size:clamp(18px,1.8vw,24px); line-height:1.25; color:#FFFCF6; }

/* kontraktnye-tkani extra blocks */
.kt-samples{ width:100%; height:clamp(220px,30vw,520px); background-size:cover; background-position:center; }
.kt-compliance{ padding:clamp(48px,6vw,110px) 0; }
.kt-compliance h2{ font-weight:500; font-size:clamp(26px,3.2vw,52px); }
.kt-comp-grid{ margin-top:clamp(28px,3vw,48px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,4vw,80px); align-items:start; }
.kt-lead{ font-size:clamp(15px,1.4vw,22px); margin-bottom:14px; }
.kt-comp-media{ position:relative; }
.kt-comp-imgs{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1.4vw,20px); }
.kt-comp-img{ width:100%; aspect-ratio:1; background-size:cover; background-position:center; }
.kt-allow-card{ margin-top:clamp(-40px,-3vw,-24px); margin-left:auto; width:min(420px,90%); position:relative; background:#fff; border:1px solid #000; padding:clamp(20px,2vw,32px); }
@media(max-width:768px){ .kt-comp-grid{ grid-template-columns:1fr; } .kt-allow-card{ margin-top:18px; width:auto; } }

/* SVC gallery */
.svc-gallery{ padding:clamp(40px,5vw,90px) 0; }
.svc-gallery-grid{ display:grid; grid-template-columns:1fr auto; gap:clamp(24px,3vw,56px); align-items:end; }
.svc-gallery-main{ width:100%; aspect-ratio:714/680; background-size:cover; background-position:center; }
.svc-gallery-side{ display:flex; flex-direction:column; gap:clamp(16px,2vw,28px); align-items:flex-start; }
.svc-gallery-more{ display:inline-flex; align-items:center; gap:10px; font-size:clamp(15px,1.3vw,18px); color:#000; }
.svc-gallery-more svg{ width:26px; height:12px; flex-shrink:0; }
.svc-gallery-thumbs{ display:flex; gap:clamp(10px,1vw,16px); }
.svc-gallery-thumb{ width:clamp(110px,12.5vw,180px); aspect-ratio:180/216; background-size:cover; background-position:center; cursor:pointer; }
@media(max-width:768px){ .svc-gallery-grid{ grid-template-columns:1fr; } .svc-gallery-thumbs{ flex-wrap:wrap; } }

@media (max-width:768px){
  .site-header{ grid-template-areas:"burger logo contacts"; row-gap:0; padding:14px 16px; }
  .site-header .m-burger{ display:flex; }
  .site-logo{ width:96px; }
  .site-contacts, .site-header .header-nav{ display:none; }
  .svc-hero-block{ margin-left:0; }
  .svc-split{ grid-template-columns:1fr; }
  .svc-split.reverse .svc-split-text{ order:0; }
  .svc-split.reverse .svc-split-media{ order:0; }
  .svc-split-media{ min-height:230px; }
  .svc-choose-grid{ grid-template-columns:1fr; }
  .svc-choose-media{ width:100%; max-width:360px; }
  .site-footer-grid{ flex-direction:column; align-items:flex-start; gap:30px; }
  .site-footer-left{ gap:28px; }
  .site-footer-contacts{ text-align:left; }
}






/* ===================== penaty (.p-penaty) ===================== */
body.p-penaty { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; margin:0; }
body.p-penaty * { box-sizing:border-box; }
body.p-penaty h1,body.p-penaty h2,body.p-penaty h3,body.p-penaty h4,body.p-penaty p,body.p-penaty ul,body.p-penaty figure,body.p-penaty blockquote { margin:0; padding:0; }
body.p-penaty a { color:inherit; text-decoration:none; }
body.p-penaty img { display:block; max-width:100%; }
body.p-penaty ul { list-style:none; }
.pen-hero{ min-height:clamp(320px,40vw,580px); background-size:cover; background-position:center; display:flex; align-items:flex-end; }
.pen-hero .container{ width:100%; padding-top:clamp(40px,5vw,90px); padding-bottom:clamp(36px,4vw,72px); }
.pen-sub{ color:#FFFCF6; font-size:clamp(22px,2.8vw,40px); line-height:1.2; }
.pen-hero h1{ margin-top:10px; color:#FFFCF6; font-weight:600; font-size:clamp(40px,7vw,96px); line-height:1; letter-spacing:.02em; }
.pen-meta{ border-bottom:1px solid #ddd; }
.pen-meta-row{ display:flex; gap:clamp(24px,5vw,80px); padding:clamp(18px,2vw,28px) var(--pad); font-size:clamp(17px,1.6vw,24px); }
.pen-meta-row a{ color:#CA4825; }
.pen-intro{ padding:clamp(48px,6vw,90px) 0; }
.pen-intro-grid{ display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:clamp(24px,3vw,48px); align-items:center; }
.pen-intro-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; }
.pen-intro-text{ display:flex; flex-direction:column; gap:16px; text-align:center; }
.pen-intro-text p{ font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.pen-objem{ padding:clamp(40px,5vw,90px) 0; }
.pen-objem-grid{ display:grid; grid-template-columns:1.7fr 1fr; gap:clamp(32px,4vw,80px); align-items:center; }
.pen-objem-body h2{ font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.2; }
.pen-objem-body .dotlist{ margin-top:clamp(20px,2.5vw,40px); }
.pen-objem-photo{ width:100%; aspect-ratio:408/566; background-size:cover; background-position:center; }
.pen-materials{ padding:clamp(40px,5vw,90px) 0; }
.pen-materials h2{ font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.2; }
.pen-mat-grid{ margin-top:clamp(28px,3vw,48px); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,28px); }
.pen-mat-img{ width:100%; aspect-ratio:1; background-size:cover; background-position:center; }
.pen-mat-cap{ margin-top:14px; font-size:clamp(17px,1.6vw,24px); line-height:1.2; color:#000; }
.pen-gallery{ padding:clamp(24px,3vw,60px) 0 0; }
.pen-gal-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,28px); }
.pen-gal-item{ width:100%; aspect-ratio:588/450; background-size:cover; background-position:center; }
.pen-gal-item:last-child:nth-child(odd){ grid-column:1 / -1; aspect-ratio:16/7; }
@media(max-width:768px){
  .pen-intro-grid{ grid-template-columns:1fr; }
  .pen-objem-grid{ grid-template-columns:1fr; }
  .pen-mat-grid{ grid-template-columns:1fr 1fr; }
  .pen-gal-grid{ grid-template-columns:1fr; }
  .pen-gal-item:last-child:nth-child(odd){ aspect-ratio:3/2; }
}

/* ===================== production (.p-production) ===================== */
body.p-production { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; margin:0; }
body.p-production * { box-sizing:border-box; }
body.p-production h1,body.p-production h2,body.p-production h3,body.p-production h4,body.p-production p,body.p-production ul,body.p-production figure,body.p-production blockquote { margin:0; padding:0; }
body.p-production a { color:inherit; text-decoration:none; }
body.p-production img { display:block; max-width:100%; }
body.p-production ul { list-style:none; }
.prd-hero{ min-height:clamp(300px,36vw,520px); background-size:cover; background-position:center; display:flex; align-items:flex-end; }
.prd-hero .container{ width:100%; padding-top:clamp(40px,5vw,90px); padding-bottom:clamp(36px,4vw,72px); }
.prd-hero h1{ color:#FFFCF6; font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.1; max-width:1000px; }
.prd-intro{ padding:clamp(48px,6vw,90px) 0; }
.prd-intro-text{ max-width:1000px; display:flex; flex-direction:column; gap:16px; }
.prd-intro-text p{ font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.prd-intro-media{ position:relative; margin-top:clamp(28px,3vw,56px); }
.prd-intro-img{ width:100%; aspect-ratio:16/8; background-size:cover; background-position:center; }
.prd-intro-card{ position:absolute; right:clamp(16px,3vw,60px); bottom:clamp(16px,3vw,60px); width:min(510px,80%); background:#fff; border:1px solid #000; padding:clamp(20px,2vw,32px) clamp(20px,2.5vw,40px); display:flex; flex-direction:column; gap:14px; }
.prd-intro-card p{ font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.prd-realization{ background-size:cover; background-position:center; padding:clamp(48px,6vw,110px) 0; }
.prd-realization h2{ color:#FFFCF6; font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.15; max-width:900px; }
.prd-realization-body{ margin-top:clamp(24px,3vw,48px); max-width:620px; display:flex; flex-direction:column; gap:14px; color:#FFFCF6; }
.prd-realization-body p{ font-size:clamp(15px,1.4vw,24px); line-height:1.3; }
.prd-realization-body .dotlist{ margin-top:6px; }
.prd-realization-body .dotlist li{ color:#FFFCF6; }
.prd-materials{ padding:clamp(48px,6vw,90px) 0; }
.prd-materials h2{ font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.2; }
.prd-sub{ margin-top:18px; max-width:760px; font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.prd-mat-grid{ margin-top:clamp(28px,3vw,48px); display:grid; grid-template-columns:1fr auto; gap:clamp(32px,5vw,90px); align-items:start; }
.prd-mat-photos{ display:flex; gap:clamp(12px,1.4vw,24px); }
.prd-mat-photo{ flex:1; aspect-ratio:3/4; background-size:cover; background-position:center; }
.prd-mat-list{ min-width:clamp(220px,22vw,340px); }
.prd-solutions{ background:#161616; }
.prd-sol-grid{ display:grid; grid-template-columns:1fr clamp(340px,44vw,631px); align-items:stretch; min-height:clamp(460px,50vw,715px); }
.prd-sol-left{ padding:clamp(40px,5vw,80px) clamp(16px,8.33vw,120px); display:flex; flex-direction:column; }
.prd-sol-text{ color:#FFFCF6; font-weight:400; font-size:clamp(17px,1.6vw,24px); line-height:1.25; max-width:588px; }
.prd-sol-bottom{ margin-top:auto; padding-top:clamp(32px,4vw,60px); display:flex; align-items:flex-end; gap:clamp(14px,1.6vw,24px); flex-wrap:wrap; }
.prd-sol-photos{ display:flex; gap:clamp(10px,1.2vw,20px); }
.prd-sol-photo{ width:clamp(110px,13vw,180px); aspect-ratio:180/216; background-size:cover; background-position:center; }
.prd-sol-arrow{ width:60px; height:30px; border:1.5px solid #FFFCF6; border-radius:20px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.prd-sol-arrow svg{ width:26px; }
.prd-sol-image{ background-size:cover; background-position:center; min-height:clamp(300px,40vw,715px); }
.prd-custom{ padding:clamp(48px,6vw,90px) 0; }
.prd-custom h2{ font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.2; }
.prd-custom-body{ margin-top:18px; max-width:760px; display:flex; flex-direction:column; gap:12px; }
.prd-custom-body p{ font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.prd-custom-photos{ margin-top:clamp(28px,3vw,48px); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.4vw,24px); }
.prd-cust-photo{ width:100%; aspect-ratio:1; background-size:cover; background-position:center; }
.prd-form{ background-size:cover; background-position:center; padding:clamp(48px,6vw,110px) 0; }
@media(max-width:768px){
  .prd-intro-card{ position:static; width:auto; margin-top:16px; }
  .prd-mat-grid{ grid-template-columns:1fr; }
  .prd-sol-grid{ grid-template-columns:1fr; }
  .prd-custom-photos{ grid-template-columns:1fr 1fr; }
}

/* ===================== company (.p-company) ===================== */
body.p-company { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; margin:0; }
body.p-company * { box-sizing:border-box; }
body.p-company h1,body.p-company h2,body.p-company h3,body.p-company h4,body.p-company p,body.p-company ul,body.p-company figure,body.p-company blockquote { margin:0; padding:0; }
body.p-company a { color:inherit; text-decoration:none; }
body.p-company img { display:block; max-width:100%; }
body.p-company ul { list-style:none; }
.cmp-hero{ min-height:clamp(320px,38vw,540px); background-size:cover; background-position:center; display:flex; align-items:flex-end; }
.cmp-hero .container{ width:100%; padding-top:clamp(40px,5vw,90px); padding-bottom:clamp(36px,4vw,72px); }
.cmp-hero h1{ color:#FFFCF6; font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.1; max-width:1100px; text-align:left; }
.cmp-about{ padding:clamp(48px,6vw,110px) 0; }
.cmp-about-grid{ display:grid; grid-template-columns:clamp(240px,26vw,380px) 1fr; gap:clamp(32px,5vw,90px); align-items:start; }
.cmp-about-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; }
.cmp-about-text{ display:flex; flex-direction:column; gap:clamp(16px,1.6vw,26px); }
.cmp-about-text p{ font-size:clamp(15px,1.5vw,24px); line-height:1.3; }
.cmp-exp{ background-size:cover; background-position:center; padding:clamp(56px,7vw,110px) 0 clamp(36px,4.5vw,70px); }
.cmp-exp h2{ color:#FFFCF6; font-weight:500; font-size:clamp(28px,3.5vw,65px); line-height:1.1; }
.cmp-exp .dotlist{ margin-top:clamp(24px,3vw,48px); }
.cmp-exp .dotlist li{ color:#FFFCF6; }
.cmp-exp-inner{ display:flex; flex-direction:column; min-height:clamp(520px,56vw,860px); }
.cmp-exp-text{ width:100%; max-width:800px; margin-left:auto; }
.cmp-exp-thumbs{ margin-top:auto; padding-top:clamp(40px,6vw,90px); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.5vw,30px); }
.cmp-exp-thumb{ width:100%; aspect-ratio:282/167; background-size:cover; background-position:center; }
.cmp-team-head{ background:#161616; padding:clamp(48px,6vw,110px) 0 clamp(40px,4vw,72px); }
.cmp-team-head h2{ color:#FFFCF6; font-weight:500; font-size:clamp(28px,3.5vw,65px); }
.cmp-team-head p{ color:#FFFCF6; font-size:clamp(18px,2vw,30px); line-height:1.2; margin-top:16px; max-width:900px; }
.cmp-team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.cmp-team-card{ position:relative; aspect-ratio:480/517; background-size:cover; background-position:center; }
.cmp-team-card .bar{ position:absolute; left:0; right:0; bottom:0; background:rgba(255,252,246,.65); border-top:1px solid #000; padding:14px 22px; }
.cmp-team-card .nm{ font-weight:600; font-size:clamp(16px,1.3vw,20px); color:#000; }
.cmp-team-card .role{ font-weight:500; font-size:clamp(13px,1.1vw,16px); color:#000; }
.cmp-slogan{ padding:clamp(48px,6vw,110px) 0; }
.cmp-slogan-text{ border-left:1px solid #000; padding-left:24px; max-width:1098px; font-size:clamp(22px,2.6vw,40px); line-height:1.2; }
.cmp-partners{ padding:clamp(48px,6vw,110px) 0; }
.cmp-partners-grid{ display:grid; grid-template-columns:clamp(180px,18vw,260px) 1fr clamp(220px,24vw,360px); gap:clamp(28px,4vw,72px); align-items:center; }
.cmp-partners-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; }
.cmp-partners-text{ display:flex; flex-direction:column; gap:clamp(14px,1.5vw,24px); }
.cmp-partners-text p{ color:#FFFCF6; font-size:clamp(17px,1.6vw,24px); line-height:1.25; }
.cmp-geo{ padding:clamp(48px,6vw,110px) 0; }
.cmp-geo-text{ display:flex; flex-direction:column; gap:14px; max-width:900px; }
.cmp-geo-text p{ font-size:clamp(18px,2vw,30px); line-height:1.2; }
.cmp-geo-map{ margin-top:clamp(28px,3vw,56px); width:100%; aspect-ratio:16/8; background-size:contain; background-repeat:no-repeat; background-position:center; }
@media(max-width:768px){
  .cmp-about-grid{ grid-template-columns:1fr; }
  .cmp-about-img{ max-width:360px; aspect-ratio:4/3; }
  .cmp-exp-thumbs{ grid-template-columns:1fr 1fr; }
  .cmp-team-grid{ grid-template-columns:1fr 1fr; }
  .cmp-partners-grid{ grid-template-columns:1fr; }
  .cmp-partners-img{ max-width:360px; aspect-ratio:4/3; }
}

/* ===================== contacts / novosti / proekty ===================== */
body.p-contacts, body.p-novosti, body.p-proekty { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; margin:0; }
body.p-contacts *, body.p-novosti *, body.p-proekty * { box-sizing:border-box; }
body.p-contacts h1,body.p-contacts h2,body.p-contacts h3,body.p-contacts h4,body.p-contacts p,body.p-contacts ul,body.p-contacts figure,body.p-contacts blockquote,body.p-novosti h1,body.p-novosti h2,body.p-novosti h3,body.p-novosti h4,body.p-novosti p,body.p-novosti ul,body.p-novosti figure,body.p-novosti blockquote,body.p-proekty h1,body.p-proekty h2,body.p-proekty h3,body.p-proekty h4,body.p-proekty p,body.p-proekty ul,body.p-proekty figure,body.p-proekty blockquote { margin:0; padding:0; }
body.p-contacts a, body.p-novosti a, body.p-proekty a { color:inherit; text-decoration:none; }
body.p-contacts img, body.p-novosti img, body.p-proekty img { display:block; max-width:100%; }
body.p-contacts ul, body.p-novosti ul, body.p-proekty ul { list-style:none; }

.contacts-main{ padding:clamp(48px,6vw,110px) 0; }
.contacts-intro{ font-size:clamp(17px,1.6vw,24px); line-height:1.25; max-width:820px; }
.contacts-blocks{ margin-top:clamp(48px,6vw,96px); display:flex; flex-direction:column; gap:clamp(40px,5vw,72px); }
.contacts-block .lbl{ font-weight:500; font-size:clamp(34px,5vw,65px); line-height:1.15; color:#010101; }
.contacts-block .val{ margin-top:clamp(14px,1.6vw,24px); font-size:clamp(18px,1.6vw,24px); line-height:1.3; color:#000; }

.news-hero{ min-height:clamp(260px,30vw,440px); background-size:cover; background-position:center; display:flex; align-items:center; }
.news-hero h1{ color:#FFFCF6; font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.15; max-width:1000px; }
.news{ padding:clamp(40px,5vw,90px) 0; }
.news-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,2.6vw,44px); }
.ncard{ border:1px solid #1d1d1d; padding:clamp(18px,1.8vw,30px); display:flex; flex-direction:column; }
.ncard .img{ width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; }
.ncard h3{ margin-top:clamp(16px,1.8vw,26px); font-weight:500; font-size:clamp(18px,1.6vw,24px); line-height:1.2; }
.ncard p{ margin-top:clamp(8px,1vw,14px); font-size:clamp(14px,1.1vw,16px); line-height:1.4; color:#000; }

.proekty-head{ padding:clamp(40px,5vw,80px) 0 0; }
.proekty-head h1{ font-weight:500; font-size:clamp(30px,4vw,65px); }
.proekty-list .container{ display:flex; flex-direction:column; }
.proekty-row{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,80px); align-items:center; padding:clamp(32px,4vw,64px) 0; border-top:1px solid #5E5B55; }
.proekty-info{ display:flex; flex-direction:column; gap:clamp(12px,1.4vw,20px); }
.proekty-num{ font-weight:500; font-size:clamp(64px,10vw,150px); line-height:1; color:#000; }
.proekty-info h2{ font-weight:500; font-size:clamp(22px,2.4vw,40px); line-height:1.1; text-transform:uppercase; }
.proekty-cap{ font-size:clamp(18px,2vw,32px); line-height:1; color:#000; }
.proekty-arrow{ position:absolute; top:clamp(24px,3.5vw,52px); right:0; width:60px; height:30px; border:1.5px solid #000; border-radius:20px; display:inline-flex; align-items:center; justify-content:center; }
.proekty-arrow svg{ width:26px; }
.proekty-media{ width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; }

@media(max-width:768px){
  .contacts-blocks{ grid-template-columns:1fr; }
  .news-grid{ grid-template-columns:1fr; }
  .proekty-row{ grid-template-columns:1fr; }
  .proekty-media{ order:-1; }
}

/* ===================== ШАБЛОН ПРОЕКТОВ (.p-proj) ===================== */
.proj-hero{ min-height:clamp(320px,38vw,560px); background-size:cover; background-position:center; display:flex; align-items:flex-end; }
.proj-hero .container{ width:100%; padding-top:clamp(40px,5vw,90px); padding-bottom:clamp(36px,4vw,72px); }
.proj-hero h1{ font-weight:500; font-size:clamp(28px,3.4vw,40px); line-height:1.2; color:#FFFCF6; max-width:820px; }
.proj-hero .sub{ margin-top:14px; font-size:clamp(15px,1.6vw,24px); line-height:1.25; color:#FFFCF6; max-width:780px; }
.proj-intro{ padding:clamp(40px,5vw,90px) 0; }
.proj-intro .container{ display:flex; flex-direction:column; gap:16px; }
.proj-intro .rule{ width:1px; height:56px; background:#000; margin-bottom:6px; }
.proj-intro p{ max-width:1120px; font-size:clamp(18px,2vw,30px); line-height:1.2; color:#000; }
.proj-what{ background-size:cover; background-position:center; padding:clamp(56px,7vw,110px) 0 clamp(36px,4.5vw,70px); }
.proj-what-inner{ display:flex; flex-direction:column; min-height:clamp(520px,56vw,840px); }
.proj-what-text{ width:100%; max-width:600px; margin-left:auto; }
.proj-what h2{ font-weight:500; font-size:clamp(30px,4vw,65px); line-height:1.15; color:#FFFCF6; }
.proj-what .dotlist{ margin-top:clamp(20px,2.4vw,40px); }
.proj-what .dotlist li{ color:#FFFCF6; }
.proj-thumbs{ margin-top:auto; padding-top:clamp(40px,6vw,90px); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.5vw,30px); }
.proj-thumb{ width:100%; aspect-ratio:282/167; background-size:cover; background-position:center; }
.proj-choose{ padding:clamp(40px,5vw,90px) 0; }
.proj-choose-grid{ display:grid; grid-template-columns:1fr auto; gap:clamp(32px,5vw,100px); align-items:start; }
.proj-choose-body{ display:flex; flex-direction:column; gap:clamp(18px,2.2vw,36px); max-width:820px; }
.proj-choose-body h2{ font-weight:500; font-size:clamp(28px,3.5vw,65px); line-height:1.1; }
.proj-choose-body .txt{ font-size:clamp(15px,1.4vw,24px); line-height:1.3; }
.proj-choose-media{ width:clamp(220px,22vw,360px); aspect-ratio:360/470; background-size:cover; background-position:center; }
.proj-cards{ padding:clamp(24px,3vw,60px) 0 0; }
.proj-cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,28px); }
.proj-card{ position:relative; aspect-ratio:384/360; background-size:cover; background-position:center; display:flex; align-items:flex-end; padding:24px; cursor:pointer; }
.proj-card .arrow{ position:absolute; top:22px; right:22px; width:34px; height:34px; border:1px solid rgba(255,255,255,.75); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.proj-card .arrow svg{ width:18px; height:9px; }
.proj-card .name{ font-weight:500; font-size:clamp(18px,1.7vw,24px); color:#FFFCF6; }
.proj-form{ background-size:cover; background-position:center; padding:clamp(48px,6vw,110px) 0; margin-top:clamp(48px,6vw,110px); }
@media(max-width:768px){
  .proj-what-text{ max-width:none; }
  .proj-thumbs{ grid-template-columns:1fr 1fr; }
  .proj-choose-grid{ grid-template-columns:1fr; }
  .proj-choose-media{ width:100%; max-width:360px; }
  .proj-cards-grid{ grid-template-columns:1fr; }
}

/* ===================== index.html  (body.p-index) — резиновая верстка ===================== */
body.p-index * { box-sizing:border-box; }
body.p-index h1,body.p-index h2,body.p-index h3,body.p-index h4,body.p-index p,body.p-index ul,body.p-index figure,body.p-index blockquote{ margin:0; padding:0; }
body.p-index { font-family:'Golos Text','Golos',sans-serif; color:#000; background:#FFFCF6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body.p-index a { color:inherit; text-decoration:none; }
body.p-index button { font-family:inherit; cursor:pointer; border:none; background:transparent; }
body.p-index img { display:block; max-width:100%; }
body.p-index input { font-family:inherit; outline:none; border:none; background:transparent; }

body.p-index .page { width:100%; overflow-x:hidden; --pad:clamp(16px,8.33vw,120px); --maxw:1440px; }
body.p-index .page-wrap { width:100%; }

/* ---------- HEADER ---------- */
body.p-index .header { position:relative; max-width:var(--maxw); margin:0 auto; padding:18px var(--pad); display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas:"burger logo contacts" "nav nav nav"; align-items:center; row-gap:14px; column-gap:16px; }
body.p-index .m-burger { grid-area:burger; display:none; flex-direction:column; justify-content:center; gap:5px; width:30px; height:24px; }
body.p-index .m-burger span { display:block; height:3px; width:100%; background:#161616; border-radius:2px; }
body.p-index .header-logo { grid-area:logo; width:140px; }
body.p-index .header-logo img { width:100%; height:auto; object-fit:contain; }
body.p-index .header-contacts { grid-area:contacts; justify-self:end; display:flex; flex-direction:column; align-items:flex-end; gap:2px; font-size:14px; line-height:17px; color:#000; }
body.p-index .header-contacts a { display:block; }
body.p-index .header-nav { grid-area:nav; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4px; }
body.p-index .nav-item { position:relative; padding:10px 18px; font-size:16px; line-height:19px; color:#000; border-radius:12px; cursor:pointer; }

/* ---------- HERO ---------- */
body.p-index .hero { position:relative; width:100%; height:clamp(440px,52vw,756px); overflow:hidden; }
body.p-index .hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
body.p-index .hero-inner { position:relative; z-index:1; max-width:var(--maxw); height:100%; margin:0 auto; padding:0 var(--pad) clamp(36px,5vw,86px); display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; }
body.p-index .hero-gradient { position:absolute; left:0; right:0; bottom:0; height:60%; background:linear-gradient(360deg, rgba(18,18,18,0.96) 0%, rgba(26,26,26,0.71) 40.38%, rgba(53,53,53,0.46) 79.33%, rgba(53,53,53,0) 100%); z-index:0; pointer-events:none; }
body.p-index .hero-title { position:relative; z-index:1; max-width:1014px; font-weight:500; font-size:clamp(28px,4.05vw,58px); line-height:1.05; color:#FFFCF6; }
body.p-index .hero-subtitle { position:relative; z-index:1; margin-top:clamp(10px,1.4vw,18px); font-weight:500; font-size:clamp(16px,2.1vw,30px); line-height:1.2; color:#FFFCF6; }
body.p-index .hero-cta { position:relative; z-index:1; margin-top:clamp(18px,2vw,30px); padding:14px clamp(20px,2vw,30px); background:#CA4825; color:#FFFCF6; border-radius:16px; font-size:clamp(15px,1.3vw,18px); line-height:1.1; }

/* ---------- INTRO + NUMBERS + PARTNERS ---------- */
body.p-index .intro { max-width:var(--maxw); margin:0 auto; padding:clamp(48px,6vw,90px) var(--pad) 0; }
body.p-index .intro-text { max-width:1014px; }
body.p-index .intro-accent { font-weight:500; font-size:clamp(22px,2.9vw,40px); line-height:1.2; color:#CA4825; }
body.p-index .intro-title { margin-top:clamp(20px,2vw,30px); font-weight:500; font-size:clamp(24px,3vw,40px); line-height:1.2; color:#000; }
body.p-index .intro-sub { margin-top:clamp(16px,1.8vw,30px); font-weight:400; font-size:clamp(17px,2vw,28px); line-height:1.2; color:#000; }
body.p-index .numbers { margin-top:clamp(40px,4.5vw,80px); display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(36px,4vw,72px) clamp(40px,6vw,120px); max-width:1000px; }
body.p-index .num-block { display:flex; flex-direction:column; gap:8px; }
body.p-index .num-value { font-weight:500; font-size:clamp(44px,7vw,96px); line-height:1; color:#000; }
body.p-index .num-label { margin-top:clamp(6px,0.8vw,12px); font-weight:400; font-size:clamp(14px,1.2vw,18px); line-height:1.2; color:#000; }
body.p-index .partners { margin-top:clamp(40px,4.5vw,82px); padding-top:clamp(28px,3vw,48px); border-top:1px solid #5E5B55; }
body.p-index .partners-inner { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:clamp(6px,1vw,24px); }
body.p-index .partner-logo{ display:flex; align-items:center; flex:0 0 auto; }
body.p-index .partner-logo img{ height:clamp(28px,3vw,45px); width:auto; max-width:none; object-fit:contain; }
body.p-index .partner-logo { height:clamp(34px,3.4vw,48px); display:flex; align-items:center; justify-content:center; opacity:.7; filter:grayscale(1); }
body.p-index .partner-logo img { max-height:100%; max-width:110px; width:auto; object-fit:contain; }

/* ---------- SERVICES ---------- */
body.p-index .services { margin-top:clamp(48px,6vw,96px); }
body.p-index .service-banner { position:relative; width:100%; background:#161616; cursor:pointer; }
body.p-index .service-banner-inner { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:minmax(280px,42%) 1fr; align-items:stretch; }
body.p-index .service-banner .img { min-height:clamp(220px,26vw,360px); background-size:cover; background-position:center; }
body.p-index .service-banner .content { display:flex; flex-direction:column; justify-content:center; gap:clamp(12px,1.4vw,20px); padding:clamp(28px,3.5vw,56px) var(--pad) clamp(28px,3.5vw,56px) clamp(28px,3vw,56px); }
body.p-index .service-banner h3 { font-weight:500; font-size:clamp(22px,2.4vw,35px); line-height:1.2; color:#FFFCF6; }
body.p-index .service-banner p { font-weight:400; font-size:clamp(16px,1.7vw,24px); line-height:1.2; color:#FFFCF6; }

/* ---------- QUOTE ---------- */
body.p-index .quote-section { background:#161616; }
body.p-index .quote-section .quote-text { max-width:var(--maxw); margin:0 auto; padding:clamp(56px,7vw,120px) var(--pad) clamp(24px,2.5vw,40px); font-weight:400; font-size:clamp(18px,2vw,30px); line-height:1.2; color:#FFFCF6; }
body.p-index .quote-author { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) clamp(56px,7vw,120px); display:flex; align-items:center; gap:18px; }
body.p-index .quote-author .avatar { width:64px; height:64px; border-radius:50%; background:url('images/home/ceo-portrait.jpg') center/cover no-repeat; flex-shrink:0; filter:grayscale(1); }
body.p-index .quote-author .name { font-weight:500; font-size:clamp(16px,1.4vw,20px); color:#FFFCF6; }
body.p-index .quote-author .role { font-weight:400; font-size:clamp(13px,1.1vw,16px); color:#B0ADA8; }

/* ---------- PRODUCTION ---------- */
body.p-index .production { max-width:var(--maxw); margin:0 auto; padding:clamp(56px,7vw,110px) var(--pad) clamp(80px,11vw,170px); }
body.p-index .production-title { max-width:907px; font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.15; color:#000; }
body.p-index .production-desc { margin-top:clamp(20px,2.5vw,40px); max-width:1000px; font-weight:400; font-size:clamp(15px,1.6vw,30px); line-height:1.2; color:#000; }
body.p-index .production-img-wrap { position:relative; margin-top:clamp(28px,3vw,56px); width:100vw; margin-left:calc(50% - 50vw); }
body.p-index .production-img { width:100%; height:clamp(300px,46vw,720px); background:url('images/home/production-bg.jpg') center/cover no-repeat; }
body.p-index .production-img-inner { position:absolute; inset:0; }
body.p-index .production-card { position:absolute; right:clamp(20px,6vw,120px); bottom:0; transform:translateY(42%); width:min(520px,46%); background:#fff; border:1px solid #000; padding:clamp(24px,2.4vw,40px) clamp(24px,2.6vw,44px); }
body.p-index .production-card .list { font-weight:400; font-size:clamp(14px,1.3vw,20px); line-height:1.25; color:#000; }
body.p-index .production-card .list p { margin-bottom:14px; }
body.p-index .production-card .list p:last-child { margin-bottom:0; }

/* ---------- PROJECTS ---------- */
body.p-index .projects { max-width:var(--maxw); margin:0 auto; padding:clamp(56px,7vw,120px) var(--pad) clamp(30px,3vw,50px); }
body.p-index .projects-title { max-width:798px; font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.15; color:#000; }
body.p-index .projects-desc { margin-top:clamp(20px,2.5vw,40px); max-width:1122px; font-weight:400; font-size:clamp(15px,1.6vw,30px); line-height:1.2; color:#000; }
body.p-index .projects-scroll-wrap { margin-top:clamp(28px,3vw,56px); }
body.p-index .projects-scroll { overflow-x:auto; overflow-y:hidden; padding-bottom:20px; scrollbar-width:thin; scrollbar-color:#5E5B55 transparent; }
body.p-index .projects-scroll::-webkit-scrollbar { height:6px; }
body.p-index .projects-scroll::-webkit-scrollbar-thumb { background:#5E5B55; }
body.p-index .projects-track { display:flex; gap:clamp(16px,1.6vw,24px); width:max-content; }
body.p-index .project-card { position:relative; width:clamp(300px,38vw,560px); cursor:pointer; }
body.p-index .project-card .img { width:100%; height:clamp(280px,30vw,470px); background-size:cover; background-position:center; }
body.p-index .project-card .info { padding-top:18px; }
body.p-index .project-card .info h3 { font-weight:500; font-size:clamp(20px,1.8vw,28px); color:#000; }
body.p-index .project-card .info .line { width:100%; height:1px; background:#5E5B55; margin:14px 0; }
body.p-index .project-card .info p { font-weight:400; font-size:clamp(14px,1.2vw,18px); line-height:1.3; color:#000; }

/* ---------- HOW WE WORK ---------- */
body.p-index .how { max-width:var(--maxw); margin:0 auto; padding:clamp(64px,8vw,160px) var(--pad); }
body.p-index .how-title { font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.15; color:#000; }
body.p-index .how-subtitle { margin-top:clamp(14px,1.4vw,28px); font-weight:400; font-size:clamp(15px,1.6vw,30px); line-height:1.2; color:#000; }
body.p-index .how-numbers { display:flex; justify-content:space-between; gap:16px; margin-top:clamp(40px,5vw,115px); }
body.p-index .how-numbers span { font-weight:500; font-size:clamp(26px,3vw,65px); line-height:1; color:#CA4825; }
body.p-index .how-line { width:100%; height:1px; background:#5E5B55; margin:clamp(20px,2vw,40px) 0 0; transform:scaleX(0); transform-origin:left center; transition:transform 1.4s ease; }
body.p-index .how-line.is-in { transform:scaleX(1); }
body.p-index .how-cards { display:flex; gap:clamp(16px,1.8vw,24px); margin-top:clamp(24px,2.5vw,49px); }
body.p-index .how-card { flex:1; display:flex; flex-direction:column; gap:14px; }
body.p-index .how-card h4 { font-weight:500; font-size:clamp(17px,1.7vw,25px); line-height:1.2; color:#000; }
body.p-index .how-card p { font-weight:400; font-size:clamp(13px,1vw,15px); line-height:1.2; color:#000; }

/* ---------- TESTIMONIALS ---------- */
body.p-index .testimonials { background:#161616; }
body.p-index .testimonials-head { max-width:var(--maxw); margin:0 auto; padding:clamp(56px,7vw,120px) var(--pad) clamp(28px,3vw,48px); }
body.p-index .testimonials-head h2 { font-weight:500; font-size:clamp(28px,4vw,65px); line-height:1.15; color:#FFFCF6; }
body.p-index .testimonials-head p { margin-top:clamp(16px,1.6vw,28px); max-width:1122px; font-weight:400; font-size:clamp(15px,1.6vw,30px); line-height:1.2; color:#FFFCF6; }
body.p-index .letters-scroll { max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) clamp(56px,7vw,110px); overflow-x:auto; scrollbar-width:thin; scrollbar-color:#5E5B55 transparent; }
body.p-index .letters-scroll::-webkit-scrollbar { height:6px; }
body.p-index .letters-scroll::-webkit-scrollbar-thumb { background:#5E5B55; }
body.p-index .letters-track { display:flex; gap:clamp(16px,1.6vw,24px); width:max-content; }
body.p-index .letter-card { position:relative; width:clamp(280px,34vw,510px); aspect-ratio:510/693; background:url('images/home/letter-park-inn.jpg') center/cover no-repeat; flex-shrink:0; cursor:pointer; transition:transform .3s ease; }
body.p-index .letter-card::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.40); transition:background .3s ease; }
body.p-index .letter-card:hover::after { background:rgba(0,0,0,0); }
body.p-index .letter-card:hover { transform:translateY(-6px); }

/* ---------- FORM ---------- */
body.p-index .form-section { position:relative; width:100%; padding:clamp(40px,5vw,90px) var(--pad); background:url('images/home/form-bg.jpg') center/cover no-repeat; }
body.p-index .form-card { max-width:712px; margin:0 auto; background:#FFFCF6; padding:clamp(28px,3vw,48px) clamp(20px,3vw,56px); }
body.p-index .form-card h2 { text-align:center; font-weight:500; font-size:clamp(24px,2.4vw,32px); color:#000; }
body.p-index .form-fields { margin-top:clamp(24px,2.5vw,40px); display:flex; flex-direction:column; gap:clamp(22px,2.4vw,40px); }
body.p-index .form-field label { display:block; font-weight:500; font-size:15px; margin-bottom:10px; color:#000; }
body.p-index .form-field input { width:100%; border-bottom:1px solid #000; padding-bottom:8px; font-size:16px; color:#000; }
body.p-index .form-btn { margin-top:28px; padding:14px 36px; background:#CA4825; color:#FFFCF6; border-radius:18px; font-size:16px; line-height:1.1; }
body.p-index .form-note { margin-top:20px; max-width:420px; font-size:14px; line-height:1.3; color:#000; }
body.p-index .form-contacts { margin-top:24px; display:flex; gap:24px; flex-wrap:wrap; }
body.p-index .form-contacts a { font-weight:500; font-size:clamp(20px,2.2vw,32px); color:#000; }

/* ---------- INTERIOR SOLUTIONS ---------- */
body.p-index .interiors { max-width:var(--maxw); margin:0 auto; padding:clamp(56px,7vw,110px) var(--pad) 0; }
body.p-index .interiors-title { font-weight:600; font-size:clamp(28px,4vw,65px); line-height:1.15; color:#000; }
body.p-index .interiors-desc { margin-top:clamp(20px,2.5vw,40px); max-width:1000px; font-weight:400; font-size:clamp(15px,1.6vw,30px); line-height:1.2; color:#000; }
body.p-index .interiors-cards { margin-top:clamp(32px,3.5vw,75px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px); }
body.p-index .interior-card { position:relative; display:flex; flex-direction:column; cursor:pointer; }
body.p-index .interior-card .img { width:100%; aspect-ratio:384/228; border:1px solid #000; background-size:cover; background-position:center; }
body.p-index .interior-card h3 { margin-top:16px; font-weight:600; font-size:clamp(18px,1.6vw,24px); line-height:1.2; color:#000; }
body.p-index .interior-card p { margin-top:14px; font-weight:400; font-size:clamp(13px,1vw,15px); line-height:1.2; color:#000; }

/* ---------- FOOTER ---------- */
body.p-index .footer { background:#161616; margin-top:clamp(64px,8vw,160px); }
body.p-index .footer-inner, body.p-index .footer { }
body.p-index .footer { padding:clamp(48px,5vw,90px) var(--pad); }
body.p-index .footer { display:block; }
body.p-index .footer { position:relative; }
body.p-index .footer .footer-logo { width:clamp(140px,14vw,200px); }
body.p-index .footer .footer-logo img { width:100%; height:auto; object-fit:contain; }
body.p-index .footer-tagline { margin-top:18px; max-width:420px; font-weight:400; font-size:clamp(15px,1.3vw,20px); line-height:1.2; color:#fff; }
body.p-index .footer-copy { margin-top:14px; font-weight:400; font-size:14px; color:#5E5B55; }
body.p-index .footer-phone, body.p-index .footer-email, body.p-index .footer-address { display:block; margin-top:8px; font-weight:400; font-size:clamp(15px,1.3vw,20px); color:#fff; }

/* card link overlay (kept) */
body.p-index .isk-cardlink { position:absolute; inset:0; z-index:20; display:block; font-size:0; }

/* ===================== mobile (≤700px): stacking ===================== */
@media (max-width: 700px) {
  body.p-index .header { grid-template-columns:1fr auto 1fr; grid-template-areas:"burger logo contacts"; row-gap:0; padding:14px 16px; }
  body.p-index .m-burger { display:flex; }
  body.p-index .header-logo { width:96px; }
  body.p-index .header-contacts, body.p-index .header-nav { display:none; }

  body.p-index .hero { height:clamp(420px,90vw,520px); }
  body.p-index .hero-title { font-size:26px; }
  body.p-index .hero-subtitle { font-size:15px; }

  body.p-index .numbers { grid-template-columns:1fr 1fr; gap:22px 16px; }
  body.p-index .partners-inner { flex-wrap:wrap; justify-content:center; gap:18px 22px; }

  body.p-index .service-banner-inner { grid-template-columns:1fr; }
  body.p-index .service-banner .content { padding:24px 16px; }

  body.p-index .production-card { position:static; width:auto; margin-top:18px; }
  body.p-index .production-img-inner { position:static; }
  body.p-index .production-img-wrap { display:flex; flex-direction:column; }

  body.p-index .how-cards { flex-wrap:wrap; }
  body.p-index .how-card { flex:1 1 44%; }

  body.p-index .interiors-cards { grid-template-columns:1fr; gap:28px; }
}


/* ============================================================
   ПРАВКИ СВЕРКИ: формы услуг/проектов, лайтбокс, зум галерей
   ============================================================ */
body.p-svc .form-field input, body.p-proj .form-field input{ border-bottom:1px solid #000; }
body.p-svc .form-btn, body.p-proj .form-btn{ background:#CA4825; color:#FFFCF6; border-radius:18px; }

/* лайтбокс (увеличение фото по клику) */
.isklb{ position:fixed; inset:0; background:rgba(0,0,0,.86); display:none; align-items:center; justify-content:center; z-index:9999; padding:40px; }
.isklb.is-open{ display:flex; }
.isklb img{ max-width:92vw; max-height:90vh; object-fit:contain; box-shadow:0 10px 60px rgba(0,0,0,.5); }
.isklb-close{ position:absolute; top:18px; right:30px; color:#fff; font-size:42px; line-height:1; cursor:pointer; }

/* кликабельные фото галерей: подсветка при наведении + курсор */
.cmp-exp-thumb,.pen-gal-item,.pen-mat-img,.prd-mat-photo,.prd-sol-photo,.prd-cust-photo,.svc-gallery-main,.svc-gallery-thumb,.proj-thumb,.proj-what-media{ cursor:pointer; outline:2px solid transparent; outline-offset:-2px; transition:filter .3s ease, outline-color .2s ease; }
.cmp-exp-thumb:hover,.pen-gal-item:hover,.pen-mat-img:hover,.prd-mat-photo:hover,.prd-sol-photo:hover,.prd-cust-photo:hover,.svc-gallery-main:hover,.svc-gallery-thumb:hover,.proj-thumb:hover,.proj-what-media:hover{ filter:brightness(1.08); outline-color:#CA4825; }
