/* NOVO WED: новый дизайн. Основа: nwx.css из утверждённых макетов (без макетных шапки, подвала, всплывающих окон и телефонной рамки).
   Все правила только под .nwx (внутренние страницы) или body.nw-home (главная). Шапка, подвал, квиз не затронуты. */
.nwx { --green:#2E5A43; --green-2:#3F7258; --gold:#B08D57; --gold-t:#856637; --gold-l:#D9C08F; --pink:#EBD3CF; --pink-soft:#F4E7E3; --bg:#FAF8F4; --beige:#EBE3DA; --ink:#111; --soft:#5F5F5A; --line:rgba(17,17,17,.14); --f-h:'Forum',Georgia,serif; --f-b:'Montserrat',system-ui,sans-serif; --w:1240px;
  background:var(--bg); color:var(--ink); font:300 17px/1.7 var(--f-b); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.nwx *, .nwx *::before, .nwx *::after { box-sizing:border-box; }
.nwx img { display:block; max-width:100%; }
.nwx a { color:inherit; text-decoration:none; }
.nwx ul { margin:0; padding:0; list-style:none; }
.nwx p { margin:0; }
.nwx h1,.nwx h2,.nwx h3 { margin:0; font-family:var(--f-h); font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:1.12; color:inherit; }
.nwx em { font-style:normal; color:var(--green); }

/* каркас */
.nwx .x-wrap { max-width:var(--w); margin:0 auto; padding-inline:clamp(16px,3.4vw,40px); }
.nwx .x-sec { padding-block:clamp(56px,7.5vw,104px); }
.nwx .x-sec--white { background:#fff; }
.nwx .x-sec--pink { background:var(--pink-soft); }
.nwx .x-center { text-align:center; }
.nwx .x-eyebrow { display:flex; align-items:center; gap:14px; font:500 12px var(--f-b); letter-spacing:.24em; text-transform:uppercase; color:var(--gold-t); margin-bottom:18px; }
.nwx .x-eyebrow::before { content:""; width:34px; height:1px; background:var(--gold); flex:none; }
.nwx .x-center .x-eyebrow { justify-content:center; }
.nwx .x-h2 { font-size:clamp(30px,4.2vw,54px); }
.nwx .x-lead { margin-top:18px; color:var(--soft); max-width:56ch; font-size:18px; }
.nwx .x-center .x-lead { margin-inline:auto; }
.nwx .x-head { margin-bottom:clamp(32px,4vw,56px); }
.nwx .x-head-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:clamp(32px,4vw,56px); }

/* кнопки */
.nwx .x-btn { display:inline-block; padding:19px 40px; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; border:1px solid transparent; cursor:pointer; text-align:center; border-radius:0; }
.nwx .x-btn-primary { background:var(--green); color:#fff; }
.nwx .x-btn-line { border-color:var(--ink); color:var(--ink); background:transparent; }
.nwx .x-btn-white { background:#fff; color:var(--green); border-color:#fff; }
.nwx .x-btn-wline { border-color:#fff; color:#fff; background:transparent; }
.nwx .x-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

/* крошки */
.nwx .x-crumbs { font-size:13px; color:var(--soft); margin-bottom:22px; }
.nwx .x-crumbs span { margin:0 8px; }

/* главный баннер: формат прежний, колонка слева */
.nwx .h-hero { position:relative; color:#fff; overflow:hidden; background:#16301F; }
.nwx .h-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; max-width:none !important; }
.nwx .h-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(34,27,20,.52) 0%,rgba(34,27,20,.3) 42%,rgba(34,27,20,0) 76%),linear-gradient(180deg,rgba(34,27,20,.14) 0%,rgba(34,27,20,0) 30%,rgba(34,27,20,.16) 100%); }
.nwx .h-hero-in { position:relative; z-index:2; padding-block:clamp(36px,4.4vw,60px) clamp(36px,4.4vw,56px); }
.nwx .h-hero .x-eyebrow { color:var(--gold-l); }
.nwx .h-hero .x-eyebrow::before { background:var(--gold-l); }
.nwx .h-hero h1 { font-size:clamp(34px,4.7vw,66px); line-height:1.05; max-width:15ch; }
.nwx .h-card { margin-top:clamp(22px,2.4vw,32px); max-width:600px; background:rgba(250,248,244,.74); color:var(--ink); padding:clamp(22px,2.6vw,36px); }

/* внутренний баннер */
.nwx .x-hero { position:relative; color:#fff; overflow:hidden; background:#16301F; }
.nwx .x-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; max-width:none !important; }
.nwx .x-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(34,27,20,.52) 0%,rgba(34,27,20,.28) 50%,rgba(34,27,20,.04) 100%),linear-gradient(180deg,rgba(34,27,20,.14) 0%,rgba(34,27,20,0) 30%,rgba(34,27,20,.16) 100%); }
.nwx .x-hero-in { position:relative; z-index:2; display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(30px,5vw,80px); align-items:center; padding-block:48px 56px; }
/* Закреплённая пропорция: высота растёт с шириной экрана, кадр везде одинаковый. Если контент выше, баннер растёт по контенту. */
@media (min-width:901px) {
  .nwx .x-hero { display:grid; grid-template-columns:minmax(0,1fr); }
  .nwx .x-hero > picture { display:contents; }
  .nwx .x-hero::before { content:""; grid-area:1/1; padding-top:min(calc(100% / 3.07), 700px); }
  .nwx .x-hero--wide::before { padding-top:min(calc(100% / 3.8), 560px); }
  .nwx .x-hero-in { grid-area:1/1; align-self:center; width:100%; }
}
@media (min-width:901px) and (max-width:1600px) {
  .nwx .x-hero-in { padding-block:28px; }
  .nwx .x-hcard { padding:26px 30px; }
  .nwx .x-hcard .x-btn { margin-top:16px; }
}
@media (max-width:900px) {
  .nwx .x-hero--wide .x-hero-in { min-height:300px; }
}
.nwx .x-hero .x-crumbs { color:rgba(255,255,255,.88); }
.nwx .x-hero .x-eyebrow { color:var(--gold-l); }
.nwx .x-hero .x-eyebrow::before { background:var(--gold-l); }
.nwx .x-hero h1 { font-size:clamp(36px,5.2vw,74px); line-height:1.04; max-width:14ch; }
.nwx .x-hero .x-lead { color:rgba(255,255,255,.9); }
.nwx .x-hcard { background:rgba(250,248,244,.82); color:var(--ink); padding:clamp(22px,3vw,40px); }

/* карточка заявки в баннере */
.nwx .x-hbadge { display:inline-block; background:var(--gold-t); color:#fff; font:600 11px var(--f-b); letter-spacing:.14em; text-transform:uppercase; padding:8px 14px; }
.nwx .x-hct { font:400 clamp(24px,2.4vw,32px)/1.22 var(--f-h); color:var(--green); margin:18px 0 16px; }
.nwx .x-chk li { position:relative; padding-left:28px; font-size:15.5px; line-height:1.5; margin-top:8px; }
.nwx .x-chk li::before { content:""; position:absolute; left:2px; top:6px; width:13px; height:7px; border-left:1.5px solid var(--green); border-bottom:1.5px solid var(--green); transform:rotate(-45deg); }
.nwx .x-hcard .x-btn, .nwx .h-card .x-btn { display:block; width:100%; margin-top:22px; }
@media (max-width:900px) {
  .nwx .x-hcard { padding:16px 18px; background:rgba(250,248,244,.54); }
  .nwx .x-hcard .x-hbadge { padding:6px 10px; font-size:10px; }
  .nwx .x-hcard .x-hct { font-size:20px; margin:10px 0 8px; color:#173526; }
  .nwx .x-hcard .x-chk li { font-size:13.5px; margin-top:5px; }
  .nwx .x-hcard .x-btn { margin-top:14px; padding:15px 12px; font-size:13px; }
}
.nwx .x-hsts { display:flex; flex-wrap:wrap; gap:18px 0; margin-top:clamp(22px,2.6vw,34px); }
.nwx .x-hst { padding-inline:clamp(16px,2vw,28px); border-left:1px solid rgba(255,255,255,.36); max-width:240px; }
.nwx .x-hst:first-child { padding-left:0; border-left:0; }
.nwx .x-hst b { display:block; font:400 clamp(24px,2.3vw,32px)/1.15 var(--f-h); }
.nwx .x-hst span { display:block; margin-top:5px; font-size:13.5px; line-height:1.4; color:rgba(255,255,255,.9); }

/* сетки и карточки */
.nwx .x-g4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.nwx .x-g3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.nwx .x-g2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.nwx .x-pc { display:block; text-align:center; }
.nwx .x-ph { aspect-ratio:3/4; overflow:hidden; background:var(--beige); }
.nwx .x-ph img { width:100%; height:100%; object-fit:cover; }
.nwx .x-pc .x-pc-n { display:block; margin-top:14px; font:400 22px/1.2 var(--f-h); }
.nwx .x-ph-empty { display:flex; align-items:center; justify-content:center; padding:12px; text-align:center; font-size:13px; line-height:1.4; color:var(--soft); }

/* плитка услуги с подписью на фото */
.nwx .x-tile { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#16301F; color:#fff; }
.nwx .x-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nwx .x-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(14,30,22,0) 40%,rgba(14,30,22,.76) 100%); }
.nwx .x-tile-t { position:absolute; z-index:2; left:clamp(16px,2vw,26px); right:clamp(16px,2vw,26px); bottom:clamp(16px,2vw,24px); }
.nwx .x-tile-t h3 { font-size:clamp(22px,2.2vw,28px); text-transform:none; }
.nwx .x-tile-t span { display:inline-block; margin-top:8px; font:400 12px var(--f-b); letter-spacing:.14em; text-transform:uppercase; border-bottom:1px solid var(--gold-l); padding-bottom:2px; }

/* карточка подрядчика/площадки */
.nwx .x-card { background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; }
.nwx .x-card .x-ph { aspect-ratio:4/3; }
.nwx.nw-tax--svadebnyj-rasporyaditel .x-card .x-ph img { object-position:center top; }
.nwx.nw-tax--svadebnyj-rasporyaditel .x-card .x-ph { aspect-ratio:4/5; }
.nwx .x-card-t { padding:clamp(16px,1.8vw,24px); display:flex; flex-direction:column; flex:1; gap:8px; }
.nwx .x-card-t h3 { font-size:23px; text-transform:none; }
.nwx .x-card-t p { font-size:15px; line-height:1.55; color:var(--soft); }
.nwx .x-link { margin-top:auto; padding-top:8px; font:400 12px var(--f-b); letter-spacing:.14em; text-transform:uppercase; color:var(--green); }

/* нумерованные преимущества */
.nwx .x-num { border-top:1px solid var(--line); padding-top:18px; }
.nwx .x-num b { display:block; font:400 16px var(--f-h); color:var(--gold-t); letter-spacing:.06em; }
.nwx .x-num h3 { font-size:23px; text-transform:none; margin:8px 0 8px; }
.nwx .x-num p { font-size:15.5px; line-height:1.55; color:var(--soft); }

/* форма-блок */
.nwx .x-fb { display:grid; grid-template-columns:1.1fr .9fr; background:var(--pink); }
.nwx .x-fb--rev { grid-template-columns:.9fr 1.1fr; }
.nwx .x-fb-t { padding:clamp(24px,4.4vw,64px); display:flex; flex-direction:column; align-items:flex-start; gap:14px; justify-content:center; }
.nwx .x-fb-t .x-eyebrow { margin-bottom:0; }
.nwx .x-fb-t .x-h2 { font-size:clamp(28px,3.4vw,44px); }
.nwx .x-fb-t .x-lead { margin-top:0; color:#5D4F4D; max-width:46ch; font-size:17px; }
.nwx .x-fb-ph { position:relative; min-height:360px; background:var(--beige); }
.nwx .x-fb-ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nwx .x-form { width:100%; max-width:500px; display:grid; gap:14px; margin-top:6px; }
.nwx .x-form label, .nwx .x-fgroup { display:block; margin:0; }
.nwx .x-lbl { display:block; font:500 12px var(--f-b); letter-spacing:.14em; text-transform:uppercase; color:#5D4F4D; margin-bottom:6px; }
.nwx .x-form input[type=text], .nwx .x-form input[type=tel], .nwx .x-form select { width:100%; padding:16px 18px; border:1px solid var(--line); background:#fff; font:300 16px var(--f-b); color:var(--ink); border-radius:0; }
.nwx .x-form input::placeholder { color:#6B6B66; }
.nwx .x-opts { display:flex; flex-wrap:wrap; gap:8px; }
.nwx .x-opt { position:relative; }
.nwx .x-opt input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.nwx .x-opt span { display:inline-block; padding:12px 20px; min-height:44px; border:1px solid var(--ink); background:#fff; font:400 13px var(--f-b); letter-spacing:.1em; text-transform:uppercase; }
.nwx .x-opt input:checked + span { background:var(--green); border-color:var(--green); color:#fff; }
.nwx .x-form .x-btn { width:100%; padding:20px 24px; }
.nwx .x-consent { display:flex !important; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; color:#5D4F4D; }
.nwx .x-consent input { width:18px; height:18px; margin:1px 0 0; flex:none; accent-color:#2E5A43; }
.nwx .x-consent a { color:var(--green); border-bottom:1px solid var(--gold); }
.nwx .x-note { font-size:13px; line-height:1.5; color:#5D4F4D; }

/* призыв на зелёном */
.nwx .h-hero h1, .nwx .x-hero h1, .nwx .h-hero .x-eyebrow, .nwx .x-hero .x-eyebrow, .nwx .x-hero .x-lead, .nwx .x-hero .x-crumbs, .nwx .x-hst { text-shadow:0 1px 14px rgba(34,27,20,.5); }
.nwx .x-final { display:grid; grid-template-columns:1fr 1fr; background:var(--pink-soft); color:var(--ink); }
.nwx .x-final .x-btn-white { background:var(--green); color:#fff; border-color:var(--green); }
.nwx .x-final .x-btn-wline { border-color:var(--ink); color:var(--ink); }
.nwx .x-final-t { padding:clamp(40px,7vw,104px) clamp(20px,5vw,80px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.nwx .x-final .x-eyebrow { color:var(--gold-t); }
.nwx .x-final .x-eyebrow::before { background:var(--gold); }
.nwx .x-final em { color:var(--gold-t); }
.nwx .x-final .x-lead { color:#5D4F4D; }
.nwx .x-final-ph { position:relative; min-height:420px; }
.nwx .x-final-ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* вопросы */
.nwx .x-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,5vw,80px); }
.nwx .x-faq details { border-top:1px solid var(--line); padding:18px 0; }
.nwx .x-faq details:last-child { border-bottom:1px solid var(--line); }
.nwx .x-faq summary { font:400 21px/1.3 var(--f-h); cursor:pointer; }
.nwx .x-faq details p { margin-top:10px; font-size:15.5px; line-height:1.6; color:var(--soft); }

/* теги */
.nwx .x-tags { display:flex; flex-wrap:wrap; gap:8px; }
.nwx .x-tag { padding:11px 18px; border:1px solid var(--line); background:#fff; font-size:14px; line-height:1.3; }

/* главная: те же блоки, что на сайте */
.nwx .h-carousel { display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,auto); grid-auto-columns:minmax(220px,calc((100% - 84px) / 4)); gap:28px; overflow-x:auto; padding-bottom:14px; scrollbar-color:var(--gold) transparent; }
.nwx .h-proposal { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px,5vw,72px); align-items:center; }
.nwx .h-proposal img.h-prop-ph { width:100%; aspect-ratio:16/10; object-fit:cover; }
.nwx .h-prop-btn { display:inline-flex; align-items:center; gap:18px; margin-top:26px; }
.nwx .h-prop-btn img { width:64px; height:auto; margin:-14px 0; }
.nwx .h-svc { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); }
.nwx .h-svc .h-svc-ph { aspect-ratio:4/3; overflow:hidden; }
.nwx .h-svc .h-svc-ph img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.nwx .h-svc-t { padding:20px 22px 24px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; flex:1; }
.nwx .h-svc-t h3 { font-size:24px; }
.nwx .h-svc-t .x-btn { margin-top:auto; padding:13px 26px; font-size:12px; }
.nwx .h-send { position:relative; overflow:hidden; text-align:center; background:var(--beige); }
.nwx .h-send > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.34; }
.nwx .h-send-in { position:relative; padding:clamp(40px,6vw,76px) clamp(16px,4vw,60px); }
.nwx .h-send .x-h2 { max-width:24ch; margin-inline:auto; font-size:clamp(26px,3.4vw,44px); }
.nwx .h-send .x-btns { justify-content:center; }
.nwx .h-why { display:flex; flex-direction:column; }
.nwx .h-why .x-ph { aspect-ratio:1/1; }
.nwx .h-why h3 { font-size:22px; margin:16px 0 8px; }
.nwx .h-why p { font-size:15px; line-height:1.55; color:var(--soft); }
.nwx .h-about { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,72px); align-items:center; }
.nwx .h-about p { margin-top:14px; color:var(--soft); }
.nwx .h-about img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.nwx .h-team .x-ph { aspect-ratio:1/1; background:var(--beige); }
.nwx .h-team h3 { font-size:24px; text-transform:none; margin:14px 0 6px; }
.nwx .h-team p { font-size:14.5px; line-height:1.55; color:var(--soft); }
.nwx .h-rev { display:flex; align-items:center; gap:16px; padding:22px 24px; background:#fff; border:1px solid var(--line); }
.nwx .h-rev img { width:44px; height:44px; object-fit:contain; flex:none; }
.nwx .h-rev b { display:block; font:400 22px/1.2 var(--f-h); }
.nwx .h-stars { color:var(--gold-t); letter-spacing:.14em; font-size:15px; }
.nwx .h-video { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#16301F; }
.nwx .h-video img { width:100%; height:100%; object-fit:cover; }
.nwx .h-video i { position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; background:rgba(250,248,244,.94); display:flex; align-items:center; justify-content:center; font-style:normal; color:var(--green); font-size:20px; }
.nwx .h-gal { columns:4; column-gap:14px; }
.nwx .h-gal img { width:100%; height:auto; margin-bottom:14px; break-inside:avoid; }

/* форматы форм с сайта: окно с логотипом и окно с фото */
.nwx .x-sf { position:relative; background:var(--bg); width:100%; max-width:520px; padding:0 clamp(20px,3.4vw,44px) clamp(24px,3vw,36px); box-shadow:0 24px 70px rgba(14,30,22,.28); }
.nwx .x-sf-top { display:flex; align-items:flex-end; gap:clamp(14px,2vw,24px); }
.nwx .x-sf-logo { background:#fff; padding:18px 16px 12px; box-shadow:0 8px 22px rgba(14,30,22,.14); flex:none; }
.nwx .x-sf-logo img { width:84px; height:auto; }
.nwx .x-sf-st b { display:block; font:400 34px/1.05 var(--f-h); color:var(--green); }
.nwx .x-sf-st span { font-size:12px; line-height:1.3; color:var(--soft); }
.nwx .x-sf-h { margin-top:26px; text-align:center; }
.nwx .x-sf-h .x-hbadge { margin-bottom:12px; }
.nwx .x-sf-h h2 { font-size:clamp(26px,2.9vw,36px); }
.nwx .x-sf-h p { margin-top:10px; font-size:16px; line-height:1.5; color:var(--soft); }
.nwx .x-sf .x-form { margin:20px auto 0; }
.nwx .x-form-sm { max-width:440px; }

@media (max-width:900px) {
  .nwx .h-proposal, .nwx .h-about { grid-template-columns:minmax(0,1fr); }
  .nwx .h-gal { columns:2; }
  .nwx .h-carousel { grid-auto-columns:minmax(200px,60%); }
  .nwx .x-g4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nwx .x-g3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nwx .x-hero-in, .nwx .x-fb, .nwx .x-fb--rev, .nwx .x-final, .nwx .x-faq { grid-template-columns:minmax(0,1fr); }
  .nwx .x-hero-in { min-height:0; }
  .nwx .x-hero-bg[style*="--nw-pos-m"] { object-position:var(--nw-pos-m) !important; }
  .nwx .x-fb-ph, .nwx .x-final-ph { min-height:260px; }
  .nwx .h-hero::after { background:linear-gradient(180deg,rgba(34,27,20,.44) 0%,rgba(34,27,20,.3) 100%); }
}
@media (max-width:560px) {
  .nwx .x-g3, .nwx .x-g2 { grid-template-columns:minmax(0,1fr); }
  .nwx .x-btn { padding:18px 20px; width:100%; }
  .nwx .x-hst { padding-inline:12px; flex:1 1 30%; }
  .nwx .h-hero-bg { object-position:52% 60%; }
  .nwx .h-hero::after { background:linear-gradient(180deg,rgba(34,27,20,.48) 0%,rgba(34,27,20,.04) 34%,rgba(34,27,20,.06) 62%,rgba(34,27,20,.42) 100%); }
  .nwx .h-hero-in { padding-block:24px 22px; }
  .nwx .h-hero h1 { font-size:32px; }
  .nwx .h-card { margin-top:330px; padding:16px 18px; background:rgba(250,248,244,.54); }
  .nwx .h-card .x-hbadge { padding:6px 10px; font-size:10px; }
  .nwx .h-card .x-hct { font-size:20px; margin:10px 0 8px; color:#173526; }
  .nwx .h-card .x-chk li { font-size:13.5px; margin-top:5px; }
  .nwx .h-card .x-btn { margin-top:14px; padding:15px 12px; font-size:13px; }
  .nwx .h-hero .x-hsts { margin-top:16px; flex-wrap:nowrap; }
  .nwx .h-hero .x-hst b { font-size:21px; }
  .nwx .h-hero .x-hst span { font-size:11.5px; }
}

/* ==========================================================================
   Стыковка с живой разметкой внутренних страниц (всё под .nwx)
   ========================================================================== */
.nwx { width:100%; }
.nwx .x-sec > .x-wrap > p.x-lead:first-child { margin-top:0; }
/* WebP Express оборачивает img в picture: контейнер не должен мешать height:100% и абсолютному позиционированию */
.nwx picture { display:contents; }
.nwx .x-g3 > li > .h-svc { height:100%; }
.nwx .x-hero h1 { text-align:left; }
.nwx .main2 .page-title { color:inherit; font-family:var(--f-h); }
.nwx .tab__text.hidden { display:none; }

/* кнопка-<button> и ссылка выглядят одинаково */
.nwx button.x-btn { -webkit-appearance:none; appearance:none; line-height:normal; }
.nwx .x-hcard button.x-btn { display:block; width:100%; margin-top:22px; }

/* крошки: разметка bcn_display, как на сайте */
.nwx .x-crumbs .breadcrumbs__separator { margin:0 8px; }
.nwx .x-crumbs a { color:inherit; }
.nwx .x-crumbs meta { display:none; }

/* тексты из WordPress: content-seo, the_content, поля Carbon Fields */
.nwx .nw-rich, .nwx .seo-block { color:var(--soft); font-size:18px; line-height:1.7; }
.nwx .nw-rich p, .nwx .seo-block p { margin-top:18px; }
.nwx .nw-rich p:first-child, .nwx .seo-block p:first-child { margin-top:0; }
.nwx .nw-rich a { color:var(--green); border-bottom:1px solid var(--gold); }
.nwx .nw-rich h2, .nwx .nw-rich h3, .nwx .seo-block h2, .nwx .seo-block h3 { color:var(--ink); font-size:24px; text-transform:none; margin-top:28px; }
.nwx .nw-rich ul, .nwx .seo-block ul { margin-top:12px; }
.nwx .nw-rich li, .nwx .seo-block li { position:relative; padding-left:28px; font-size:15.5px; line-height:1.5; margin-top:8px; }
.nwx .nw-rich li::before, .nwx .seo-block li::before { content:""; position:absolute; left:2px; top:6px; width:13px; height:7px; border-left:1.5px solid var(--green); border-bottom:1.5px solid var(--green); transform:rotate(-45deg); }
.nwx .nw-rich ol, .nwx .seo-block ol { margin:12px 0 0 22px; padding:0; }
.nwx .seo-block { margin:0; max-width:none; }

/* подпись и цена в карточке подрядчика */
.nwx .x-card-sub { font-size:13px; letter-spacing:.06em; color:var(--gold-t); }
.nwx .x-card-price { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:15px; color:var(--ink); }
.nwx .x-pc-s { display:block; margin-top:4px; font-size:13px; color:var(--soft); }
.nwx .x-pc .x-link { display:block; padding-top:8px; }

/* «Показать ещё»: логика scrypt.js (класс .open и .show_more.hidden) */
.nwx .show_more.hidden { display:none; }
.nwx .nw-more { justify-content:center; }

/* Портфолио: табы и галереи управляются theme/assets/js/scrypt.js */
.nwx .main1__btns { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:0; }
.nwx .main1__btns_item { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border:1px solid var(--line); background-color:#fff; font-size:14px; line-height:1.3; color:var(--ink); cursor:pointer; }
.nwx .main1__btns_item span { display:inline-block; flex:none; width:28px; height:28px; margin:0; background-repeat:no-repeat; background-position:center; background-size:contain; }
.nwx .main1__btns_item1 span { display:none; }
.nwx .galery_wrap { overflow:visible; max-height:none; }
.nwx .main1__galery { display:none; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:auto; gap:clamp(14px,2vw,28px); }
.nwx .main1__galery.open { display:grid; }
.nwx .galery_wrap:not(.open) .main1__galery > .x-pc:nth-child(n+30) { display:none; }

/* Услуги, ведущие: сетка не ограничена по высоте */
.nwx .presenters3__greed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,28px); max-height:none; overflow:visible; margin:0; }
.nwx .nw-more-hosts { display:none; }

/* Блоки WPCode: svc-lead, svc-cta, nwx-price, nwx-hub. Разметка из сниппетов, вид из макета */
.nwx .x-hero .svc-lead { max-width:56ch; margin:18px 0 0; text-align:left; font:300 18px/1.7 var(--f-b); color:rgba(255,255,255,.9); text-shadow:0 1px 14px rgba(34,27,20,.5); }
.nwx .main2 { padding:0; }
.nwx .main2 .page-title { margin:0; }
.nwx .x-final .svc-cta { margin:0; padding:0; background:transparent; text-align:left; }
.nwx .x-final .svc-cta h2 { margin:0; font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:var(--ink); }
.nwx .x-final .svc-cta p { margin:18px 0 0; max-width:56ch; font:300 18px/1.7 var(--f-b); color:#5D4F4D; }
.nwx .x-final .svc-cta a { display:inline-block; margin-top:30px; padding:19px 40px; background:var(--green); color:#fff; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }

.nwx .nwx-price { padding:0; font-family:var(--f-b); }
.nwx .nwx-price .pb-h { font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:var(--ink); margin:0; }
.nwx .nwx-price .pb-h em { display:inline; color:var(--green); }
.nwx .nwx-price .pb-lead { margin:18px 0 clamp(32px,4vw,56px); max-width:56ch; font:300 18px/1.7 var(--f-b); color:var(--soft); }
.nwx .nwx-price .pb-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.nwx .nwx-price .pb-n { display:flex; flex-direction:column; gap:8px; padding:clamp(16px,1.8vw,24px); background:#fff; border:1px solid var(--line); color:var(--ink); }
.nwx .nwx-price .pb-n b { font:400 56px/1 var(--f-h); color:var(--green); }
.nwx .nwx-price .pb-n span { margin:0; font:400 23px/1.12 var(--f-h); color:var(--ink); }
.nwx .nwx-price .pb-n em { margin:0; font:300 15px/1.55 var(--f-b); color:var(--soft); }
.nwx .nwx-price .pb-n i { margin-top:auto; padding-top:8px; font:400 12px var(--f-b); letter-spacing:.14em; text-transform:uppercase; color:var(--green); }
.nwx .nwx-price .pb-foot { margin:18px 0 0; font:300 18px/1.7 var(--f-b); color:var(--soft); }
.nwx .nwx-price .pb-foot a { color:var(--green); text-decoration:none; border-bottom:1px solid var(--gold); }

.nwx .nwx-hub { padding:clamp(56px,7.5vw,104px) 0; font-family:var(--f-b); background:var(--bg); }
.nwx .nwx-hub > .container { max-width:var(--w); margin:0 auto; padding:0 clamp(16px,3.4vw,40px); }
.nwx .nwx-hub .hb-h { font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:var(--ink); margin:0; }
.nwx .nwx-hub .hb-lead { margin:18px 0 0; max-width:56ch; font:300 18px/1.7 var(--f-b); color:var(--soft); }
.nwx .nwx-hub .hb-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(28px,5vw,72px); margin-top:clamp(28px,3vw,40px); }
.nwx .nwx-hub .hb-cols > div { display:block !important; }
.nwx .nwx-hub .hb-s { margin:0 0 8px; font:500 12px var(--f-b); letter-spacing:.18em; text-transform:uppercase; color:var(--gold-t); }
.nwx .nwx-hub .hb-l { position:relative; display:flex; flex-direction:column; justify-content:flex-start; gap:3px; min-height:0; padding:15px 32px 15px 0; background:none; border:0; border-bottom:1px solid var(--line); }
.nwx .nwx-hub .hb-l:hover { padding-left:0; }
.nwx .nwx-hub .hb-l::after { content:"→"; display:block; position:absolute; right:4px; top:50%; transform:translateY(-50%); color:var(--gold-t); font-size:15px; }
.nwx .nwx-hub .hb-l b { font:500 18px/1.3 var(--f-b); color:var(--green); }
.nwx .nwx-hub .hb-l span { margin:0; font:300 14.5px/1.5 var(--f-b); color:var(--soft); }
@media (max-width:760px) { .nwx .nwx-hub .hb-cols { grid-template-columns:minmax(0,1fr); gap:28px 0; } }

/* Вводный текст «Организации»: компактно */
.nwx .organisazion1.x-sec { padding-block:clamp(22px,2.8vw,36px); }
.nwx .organisazion1 p { margin:0; color:#3F3F3B; font-size:16px; line-height:1.65; }

/* «Почему нам доверяют»: вкладки в едином стиле */
.nwx .organisazion3__tab { margin-top:12px !important; background:#fff; border:1px solid var(--line); border-radius:0; }
.nwx .organisazion3__tab .tab-top { position:relative; margin:0; padding:17px 46px 17px 20px; background:none !important; border:0; border-radius:0 !important; font:400 21px/1.3 var(--f-h) !important; color:var(--ink); cursor:pointer; }
.nwx .organisazion3__tab .tab-top::after { content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); font:300 24px/1 var(--f-b); color:var(--gold-t); }
.nwx .organisazion3__tab .tab__text { margin:0 !important; padding:0 20px 18px; font-size:15.5px; line-height:1.6; color:var(--soft); background:none; }
.nwx .organisazion3__tab .tab__text.hidden { display:none; }
.nwx.nw-organization .h-about picture { display:block; max-width:520px; justify-self:end; }
.nwx.nw-organization .h-about picture img { aspect-ratio:auto; height:auto; object-fit:contain; }

/* Кнопки в карточках */
.nwx .x-link, .nwx .x-pc .x-link { display:inline-block; align-self:flex-start; margin-top:auto; padding:11px 20px; border:1px solid var(--green); background:none; font:500 12px var(--f-b); letter-spacing:.12em; text-transform:uppercase; color:var(--green); -webkit-text-fill-color:var(--green); }
.nwx .x-pc .x-link { margin-top:12px; }
.nwx a:hover .x-link { background:var(--green); color:#fff; -webkit-text-fill-color:#fff; }

/* Длинный текст над плитками: первый абзац и «Читать полностью» */
.nwx .nw-text-sec.x-sec { padding-block:clamp(22px,2.6vw,34px); }
.nwx .nw-text { max-width:880px; font-size:15.5px; line-height:1.65; color:#3F3F3B; }
.nwx .nw-text p { margin:0 0 12px; }
.nwx .nw-more summary { display:inline-block; cursor:pointer; list-style:none; font:500 12px var(--f-b); letter-spacing:.12em; text-transform:uppercase; color:var(--green); border-bottom:1px solid var(--gold); padding-bottom:2px; }
.nwx .nw-more summary::-webkit-details-marker { display:none; }
.nwx .nw-more[open] summary { margin-bottom:12px; }

/* Страница «Организация»: текст из the_content, якорь для nwx-hub */
.nwx .organisazion1 { display:block; margin:0; }

/* Галереи */
.nwx .h-gal a { display:block; break-inside:avoid; margin-bottom:14px; }
.nwx .h-gal a img { margin:0; }

/* Видео: iframe, как на сайте */
.nwx .nw-video { position:relative; aspect-ratio:16/9; overflow:hidden; background:#16301F; }
.nwx .nw-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Постраничная навигация */
.nwx .pagination { margin-top:24px; }
.nwx .pagination .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.nwx .nav-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin-bottom:0; }
.nwx .page-numbers { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:44px; height:44px; min-width:0; margin:0; padding:0; border:1px solid var(--line); border-radius:0; box-shadow:none; background:#fff; font:400 14px/1 var(--f-b); color:var(--ink); text-align:center; }
.nwx .page-numbers.current, .nwx .page-numbers:hover { background:var(--green); border-color:var(--green); color:#fff; }
.nwx .page-numbers.dots, .nwx .page-numbers.dots:hover { background:none; border-color:transparent; color:var(--ink); }
.nwx .page-numbers.next, .nwx .page-numbers.prev { display:none; }

/* Контакты */
.nwx .x-num a { display:block; }
.nwx .nw-time p { margin-top:2px; }
.nwx .contacts3 { margin-top:clamp(32px,4vw,56px); }

/* Формы Contact Form 7 в блоках .x-fb и .x-sf (квиз вне .nwx и этими правилами не задет) */
.nwx .nw-cf7 { width:100%; max-width:500px; margin-top:6px; }
.nwx .nw-cf7 form, .nwx .nw-cf7 .inputs_row { display:grid; gap:14px; margin:0; width:100%; }
.nwx .nw-cf7 .wpcf7-form-control-wrap { display:block; }
.nwx .nw-cf7 input[type=text], .nwx .nw-cf7 input[type=tel] { display:block; width:100%; height:auto; margin:0; padding:16px 18px; border:1px solid var(--line); border-radius:0; background:#fff; font:300 16px var(--f-b); color:var(--ink); text-align:left; }
.nwx .nw-cf7 input::placeholder { color:#6B6B66; }
.nwx .nw-cf7 .cf7-consent, .nwx .nw-cf7 .wpcf7-list-item { display:block; margin:0; }
.nwx .nw-cf7 .wpcf7-list-item label { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; color:#5D4F4D; }
.nwx .nw-cf7 .wpcf7-list-item input[type=checkbox] { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:#2E5A43; }
.nwx .nw-cf7 .wpcf7-list-item-label a { color:var(--green); border-bottom:1px solid var(--gold); }
.nwx .nw-cf7 input[type=submit] { display:block; width:100%; max-width:none; height:auto; margin:0; padding:20px 24px; border:1px solid var(--green); border-radius:0; background:var(--green); color:#fff; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.nwx .nw-cf7 input[type=submit]:disabled { opacity:.55; cursor:not-allowed; }
.nwx .nw-cf7 .wpcf7-spinner { margin:0 auto; }
.nwx .nw-cf7 .wpcf7-response-output { margin:0; padding:10px 14px; font-size:14px; line-height:1.4; }
.nwx .x-sf .nw-cf7 { margin:20px auto 0; }
.nwx .x-sf .x-reassure { margin-top:14px; }

/* Частые вопросы: template-parts/faq-block.php без правок, вид из .x-faq */
.nwx .main5 { padding:clamp(56px,7.5vw,104px) 0 !important; background:transparent; margin:0; }
.nwx .main5 > .container { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,5vw,80px); max-width:var(--w); padding:0 clamp(16px,3.4vw,40px); }
.nwx .main5 .page-title--faq { margin:0 !important; text-align:left !important; font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h) !important; color:var(--ink) !important; letter-spacing:.01em; text-transform:uppercase; }
.nwx .faq { padding:0; }
.nwx .faq__list { border-top:0; }
.nwx .faq__section { border-bottom:0 !important; }
.nwx .faq__section-inner { padding:0 !important; }
.nwx .faq__question { border-top:1px solid var(--line); padding:6px 0; }
.nwx .faq__question:first-child { border-top:1px solid var(--line); }
.nwx .faq__question:last-child { border-bottom:1px solid var(--line); }
.nwx .faq__question-btn { padding:8px 0; column-gap:16px; grid-template-columns:minmax(0,1fr) 36px; }
.nwx .faq__question-title { padding:0; color:var(--ink); font:400 21px/1.3 var(--f-h); max-width:none; }
.nwx .faq__icon { border-color:var(--gold); }
.nwx .faq__icon::before, .nwx .faq__icon::after { background-color:var(--gold-t); }
.nwx .faq__answer-inner { padding:6px 0 16px; color:var(--soft); font:300 15.5px/1.6 var(--f-b); }
.nwx .faq__answer-inner p { margin:0 0 12px; }
.nwx .faq__answer-inner p:last-child { margin-bottom:0; }

@media (max-width:900px) {
  .nwx .main1__galery, .nwx .presenters3__greed { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nwx .nwx-price .pb-grid, .nwx .nwx-hub .hb-cols > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nwx .main5 > .container { grid-template-columns:minmax(0,1fr); }
  .nwx .x-final-ph { min-height:260px; }
}
@media (max-width:767px) {
  .nwx .galery_wrap:not(.open) .main1__galery > .x-pc:nth-child(n+11) { display:none; }
  .nwx .presenters3__greed:not(.open) > .x-card:nth-child(n+4) { display:none; }
  .nwx .nw-more-hosts { display:flex; justify-content:center; }
}
@media (max-width:560px) {
  .nwx .presenters3__greed, .nwx .nwx-price .pb-grid, .nwx .nwx-hub .hb-cols > div { grid-template-columns:minmax(0,1fr); }
  .nwx .x-final .svc-cta a { display:block; padding:18px 20px; text-align:center; }
}

/* ==========================================================================
   Главная: те же блоки и разметка, что на сайте. Только body.nw-home.
   Квиз (.wpcf7 внутри .main5 и его заголовок) не затронут.
   ========================================================================== */
body.nw-home { --green:#2E5A43; --gold:#B08D57; --gold-t:#856637; --gold-l:#D9C08F; --pink-soft:#F4E7E3; --bg:#FAF8F4; --beige:#EBE3DA; --ink:#111; --soft:#5F5F5A; --line:rgba(17,17,17,.14); --f-h:'Forum',Georgia,serif; --f-b:'Montserrat',system-ui,sans-serif; --w:1240px; --sec:clamp(56px,7.5vw,104px); --pad:clamp(16px,3.4vw,40px); --gap:clamp(14px,2vw,28px); }
body.nw-home .page { background:var(--bg); }

/* баннер: существующая .nw-hero, значения из .h-hero и .h-card */
body.nw-home .nw-hero { background:#FAF8F4; color:#fff; font-family:var(--f-b); }
body.nw-home .nw-hero__media { left:0; right:0; top:var(--nw-header); bottom:0; width:100%; height:auto; -webkit-mask-image:none; mask-image:none; }
body.nw-home .nw-hero__photo { object-position:center 40%; filter:none; }
body.nw-home .nw-hero__veil { display:block; position:absolute; top:var(--nw-header); left:0; right:0; bottom:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(34,27,20,.52) 0%,rgba(34,27,20,.3) 42%,rgba(34,27,20,0) 76%),linear-gradient(180deg,rgba(34,27,20,.14) 0%,rgba(34,27,20,0) 30%,rgba(34,27,20,.16) 100%); }
body.nw-home .nw-hero__inner { display:block; max-width:var(--w); min-height:0; padding:clamp(36px,4.4vw,60px) var(--pad) clamp(36px,4.4vw,56px); }
body.nw-home .nw-hero__eyebrow { margin:0 0 18px; font:500 12px var(--f-b); letter-spacing:.24em; text-transform:uppercase; color:var(--gold-l); text-shadow:0 1px 14px rgba(34,27,20,.5); }
body.nw-home .nw-hero__title { max-width:15ch; font:400 clamp(34px,4.7vw,66px)/1.05 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:#fff; text-shadow:0 1px 14px rgba(34,27,20,.5); }
body.nw-home .nw-hero__card { display:block; width:100%; max-width:600px; margin-top:clamp(22px,2.4vw,32px); padding:clamp(22px,2.6vw,36px); border:0; border-radius:0; background:rgba(250,248,244,.74); -webkit-backdrop-filter:none; backdrop-filter:none; color:var(--ink); }
body.nw-home .nw-hero__pill { display:inline-block; padding:8px 14px; border-radius:0; background:var(--gold-t); color:#fff; font:600 11px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }
body.nw-home .nw-hero__h2 { margin:18px 0 16px; font:400 clamp(24px,2.4vw,32px)/1.22 var(--f-h); color:var(--green); }
body.nw-home .nw-hero__list { display:block; font:300 15.5px/1.5 var(--f-b); }
body.nw-home .nw-hero__list li { display:block; position:relative; margin-top:8px; padding-left:28px; }
body.nw-home .nw-hero__list li::before { content:""; position:absolute; left:2px; top:6px; width:13px; height:7px; border-left:1.5px solid var(--green); border-bottom:1.5px solid var(--green); transform:rotate(-45deg); }
body.nw-home .nw-hero__btn { display:block; width:100%; min-height:0; margin-top:22px; padding:19px 24px; border:1px solid var(--green); border-radius:0; background:var(--green); color:#fff; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }
body.nw-home .nw-hero__btn::after { display:none; }
body.nw-home .nw-hero__btn:hover { transform:none; background:var(--green); }
body.nw-home .nw-hero__stats { display:flex; flex-wrap:wrap; gap:18px 0; width:auto; margin:clamp(22px,2.6vw,34px) 0 0; }
body.nw-home .nw-hero__stat { max-width:240px; padding:0 clamp(16px,2vw,28px); border-left:1px solid rgba(255,255,255,.36); text-shadow:0 1px 14px rgba(34,27,20,.5); }
body.nw-home .nw-hero__stat:first-child { padding-left:0; border-left:0; }
body.nw-home .nw-hero__num { font:400 clamp(24px,2.3vw,32px)/1.15 var(--f-h); color:#fff; }
body.nw-home .nw-hero__cap { margin-top:5px; font:300 13.5px/1.4 var(--f-b); color:rgba(255,255,255,.9); }

/* заголовки разделов */
body.nw-home .portfolio .title, body.nw-home .proposal .title, body.nw-home .services .title, body.nw-home .send-cost .title, body.nw-home .brides-celebrate .title, body.nw-home .main-about .title, body.nw-home .team .title, body.nw-home .main-reviews .title { font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h) !important; letter-spacing:.01em; text-transform:uppercase; color:var(--ink); text-align:center; margin:0 0 clamp(32px,4vw,56px); padding:0; max-width:none; }
body.nw-home .portfolio .subtitle, body.nw-home .proposal .subtitle { margin-top:18px; max-width:56ch; font:300 18px/1.7 var(--f-b); color:var(--soft); }
body.nw-home .portfolio .head-row { margin-bottom:clamp(32px,4vw,56px); }
body.nw-home .portfolio .head-row .title { margin-bottom:0; }
body.nw-home .portfolio .subtitle { margin-inline:auto; }

/* общая ширина контейнера для новых блоков */
body.nw-home .portfolio > .container, body.nw-home .proposal > .container, body.nw-home .services > .container, body.nw-home .send-cost > .container, body.nw-home .brides-celebrate > .container, body.nw-home .main-about > .container, body.nw-home .team > .container, body.nw-home .main-reviews > .container { max-width:var(--w); padding-inline:var(--pad); }
body.nw-home .main-reviews > .container > .container { padding-inline:0; max-width:none; }

/* портфолио: 8 карточек, 4 колонки */
body.nw-home .portfolio { padding:var(--sec) 0; }
body.nw-home .portfolio__row { max-width:none; }
body.nw-home .portfolio__items { max-width:none; margin:0 0 30px; padding:0; }
body.nw-home .portfolio__item { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--gap); }
body.nw-home .portfolio__card { display:block; text-align:center; }
body.nw-home .portfolio__card:nth-child(n+9) { display:none; }
body.nw-home .portfolio__img { aspect-ratio:3/4; min-height:0; margin:0; background:var(--beige); }
body.nw-home .portfolio__name { margin-top:14px; font:400 22px/1.2 var(--f-h); color:var(--ink); }
body.nw-home .portfolio__text { display:none; }
body.nw-home .portfolio__btn { max-width:none; }
body.nw-home .portfolio__btn a { display:inline-block; padding:19px 40px; border:1px solid var(--ink); background:transparent; color:var(--ink); font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }

/* свадьба все включено */
body.nw-home .proposal { padding:var(--sec) 0; background:#fff; }
body.nw-home .proposal .head-row { margin:0; }
body.nw-home .proposal .title { text-align:left; margin:0; }
body.nw-home .proposal__row { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px,5vw,72px); align-items:center; }
body.nw-home .proposal__info { padding:0; text-align:left; }
body.nw-home .proposal__btn { display:inline-flex; align-items:center; gap:18px; max-width:none; margin:26px 0 0; padding:19px 40px; border:1px solid var(--green); background:var(--green); color:#fff; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }
body.nw-home .proposal__btn img, body.nw-home .proposal__btn > picture { position:static; width:64px; max-width:64px; height:auto; margin:-14px 0; aspect-ratio:auto; animation:none; }
body.nw-home .proposal__img { max-width:none; max-height:none; height:auto; margin:0; }
body.nw-home .proposal__img::before { display:none; }
body.nw-home .proposal__img img { position:static; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }

/* услуги */
body.nw-home .services { padding:var(--sec) 0; }
body.nw-home .services__row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); max-width:none; }
body.nw-home .services__item { display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid var(--line); }
body.nw-home .services__img { height:auto; aspect-ratio:4/3; margin:0; border-radius:0; }
body.nw-home .services__img img { border-radius:0; }
body.nw-home .services__info { display:flex; flex-direction:column; align-items:flex-start; gap:12px; flex:1; padding:20px 22px 24px; }
body.nw-home .services__info::before { display:none; }
body.nw-home .services__name { margin:0; font:400 24px/1.12 var(--f-h); text-transform:uppercase; color:var(--ink); }
body.nw-home .services__link { margin-top:auto; padding:13px 26px; border:1px solid var(--ink); font:400 12px var(--f-b); letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
body.nw-home .services__link::before { display:none; }

/* отправим стоимость */
body.nw-home .send-cost { padding:0 0 var(--sec); }
body.nw-home .send-cost__row { max-width:none; padding:clamp(40px,6vw,76px) clamp(16px,4vw,60px); background:var(--beige); box-shadow:none; }
body.nw-home .send-cost__img::before { background:rgba(235,227,218,.66); }
body.nw-home .send-cost .title { max-width:24ch; margin:0 auto; font-size:clamp(26px,3.4vw,44px) !important; }
body.nw-home .send-cost__links { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:12px; width:auto; max-width:none; margin:30px auto 0; }
body.nw-home .send-cost__link { flex:0 0 auto; height:auto; padding:19px 40px; border:1px solid var(--ink); background:transparent; color:var(--ink); font:400 15px/1.2 var(--f-b); letter-spacing:.14em; text-transform:uppercase; }
body.nw-home .send-cost__links .send-cost__link:first-child { background:var(--green); border-color:var(--green); color:#fff; }
body.nw-home .send-cost__link img { max-width:24px; height:auto; }

/* с нами проще и выгоднее */
body.nw-home .brides-celebrate { padding:var(--sec) 0; background:#fff; }
body.nw-home .brides-celebrate__row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--gap); max-width:none; }
body.nw-home .brides-celebrate__item { grid-column:auto !important; grid-row:auto !important; }
body.nw-home .brides-celebrate__img { height:auto; aspect-ratio:1/1; margin:0; overflow:hidden; background:var(--beige); }
body.nw-home .brides-celebrate__img::before { display:none; }
body.nw-home .brides-celebrate__title { max-width:none; margin:16px 0 8px; font:400 22px/1.12 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:var(--ink); }
body.nw-home .brides-celebrate__text { max-width:none; font:300 15px/1.55 var(--f-b); color:var(--soft); }

/* частые вопросы на главной: только FAQ внутри .main5 */
body.nw-home .main5 .page-title--faq { margin:clamp(40px,5vw,72px) 0 clamp(24px,3vw,40px); font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h); letter-spacing:.01em; text-transform:uppercase; color:var(--ink); }
body.nw-home .main5 .faq__question-title { padding:0; color:var(--ink); font:400 21px/1.3 var(--f-h); }
body.nw-home .main5 .faq__answer-inner { color:var(--soft); font:300 15.5px/1.6 var(--f-b); }

/* о нас */
body.nw-home .main-about { padding:var(--sec) 0; }
body.nw-home .main-about__row { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,72px); align-items:center; margin:0; }
body.nw-home .main-about__info { display:block; max-width:none; margin:0; }
body.nw-home .main-about__left { position:static; }
body.nw-home .main-about__left .title { text-align:left; margin:0; padding:0; }
body.nw-home .main-about__name { display:none; }
body.nw-home .main-about__right { padding:0; }
body.nw-home .main-about__content p { margin:14px 0 0; font:300 17px/1.7 var(--f-b); color:var(--soft); }
body.nw-home .main-about__btn { display:inline-block; max-width:none; margin:30px 0 0; padding:19px 40px; border:1px solid var(--green); background:var(--green); color:#fff; font:400 15px var(--f-b); letter-spacing:.14em; text-transform:uppercase; }
body.nw-home .main-about__btn img { display:none; }
body.nw-home .main-about__img { min-height:0; max-height:none; margin:0; aspect-ratio:4/5; overflow:hidden; }
body.nw-home .main-about__img img { max-width:none; }

/* команда */
body.nw-home .team { padding:var(--sec) 0; background:#fff; }
body.nw-home .team__row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); max-width:none; overflow:visible; white-space:normal; }
body.nw-home .team__item { display:block; flex:none; height:auto; padding:0; overflow:visible; cursor:default; }
body.nw-home .team__item::before { display:none; }
body.nw-home .team__photo { position:relative; max-width:none; width:100%; height:auto; aspect-ratio:1/1; margin:0; border-radius:0; overflow:hidden; background:var(--beige); }
body.nw-home .team__photo img { position:absolute; border-radius:0; }
body.nw-home .team__content { position:static; max-width:none; padding:0; opacity:1; transform:none; }
body.nw-home .team__name { margin:14px 0 6px; font:400 24px/1.12 var(--f-h); letter-spacing:.01em; color:var(--ink); }
body.nw-home .team__info { margin:0; font:300 14.5px/1.55 var(--f-b); color:var(--soft); }

/* отзывы и видео */
body.nw-home .main-reviews { padding:var(--sec) 0; }
body.nw-home .main-reviews__top { display:block; max-width:none; margin:0; }
body.nw-home .main-reviews__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--gap); }
body.nw-home .main-reviews-link { gap:16px; padding:22px 24px; background:#fff; border:1px solid var(--line); }
body.nw-home .main-reviews-link__icon { flex:0 0 44px; }
body.nw-home .main-reviews-link__icon img { max-width:44px; }
body.nw-home .main-reviews-link__rating img { max-width:15px; }
body.nw-home .main-reviews-link__text { font:400 22px/1.2 var(--f-h); color:var(--ink); }
body.nw-home .main-reviews-link__text::before { display:none; }
body.nw-home .video__blok { margin-top:var(--sec); }
body.nw-home .video__blok_title { padding:0 !important; margin:0 0 clamp(32px,4vw,56px); font:400 clamp(30px,4.2vw,54px)/1.12 var(--f-h); text-transform:uppercase; color:var(--ink); }
body.nw-home .video__blok_row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); }
body.nw-home .video__blok_item { min-width:0; margin:0; }

/* галерея */
body.nw-home .main-photos { padding:0 var(--pad) var(--sec); }
body.nw-home .main-photos__content { display:block; max-width:var(--w); margin:0 auto; padding:0; columns:4; column-gap:14px; }
body.nw-home .main-photos__content a:nth-child(n) { display:block; position:static; width:100%; height:auto; margin:0 0 14px; break-inside:avoid; }
body.nw-home .main-photos__content a:nth-child(n)::before { display:none; }
body.nw-home .main-photos__content img { position:static; width:100%; height:auto; }
body.nw-home .main-photos__img { display:none; }

@media (max-width:900px) {
  body.nw-home .nw-hero__veil { background:linear-gradient(180deg,rgba(34,27,20,.44) 0%,rgba(34,27,20,.3) 100%); }
  body.nw-home .portfolio__item, body.nw-home .brides-celebrate__row, body.nw-home .services__row, body.nw-home .team__row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.nw-home .proposal__row, body.nw-home .main-about__row { display:grid; grid-template-columns:minmax(0,1fr); }
  body.nw-home .proposal .container { padding-inline:var(--pad); }
  body.nw-home .main-reviews__links, body.nw-home .video__blok_row { grid-template-columns:minmax(0,1fr); }
  body.nw-home .main-photos__content { columns:2; }
}
/* телефон: значения MainPhone и .h-card, карточка 54 % */
@media (max-width:560px) {
  body.nw-home .nw-hero__photo { object-position:52% 60%; }
  body.nw-home .nw-hero__veil { background:linear-gradient(180deg,rgba(34,27,20,.48) 0%,rgba(34,27,20,.04) 34%,rgba(34,27,20,.06) 62%,rgba(34,27,20,.42) 100%); }
  body.nw-home .nw-hero__inner { padding:24px 16px 22px; }
  body.nw-home .nw-hero__title { font-size:32px; }
  body.nw-home .nw-hero__card { margin-top:330px; padding:16px 18px; background:rgba(250,248,244,.54); }
  body.nw-home .nw-hero__pill { padding:6px 10px; font-size:10px; }
  body.nw-home .nw-hero__h2 { margin:10px 0 8px; font-size:20px; color:#173526; }
  body.nw-home .nw-hero__list li { margin-top:5px; font-size:13.5px; }
  body.nw-home .nw-hero__btn { margin-top:14px; padding:15px 12px; font-size:13px; }
  body.nw-home .nw-hero__stats { flex-wrap:nowrap; margin-top:16px; }
  body.nw-home .nw-hero__stat { flex:1 1 30%; padding:0 12px; }
  body.nw-home .nw-hero__stat:first-child { padding-left:0; }
  body.nw-home .nw-hero__num { font-size:21px; }
  body.nw-home .nw-hero__cap { font-size:11.5px; }
  body.nw-home .services__row, body.nw-home .team__row { grid-template-columns:minmax(0,1fr); }
  body.nw-home .send-cost__link, body.nw-home .portfolio__btn a, body.nw-home .proposal__btn, body.nw-home .main-about__btn { width:100%; padding:18px 20px; justify-content:center; text-align:center; }
}

/* ==========================================================================
   Шаблоны с полями: карточки и тексты из полей ACF в том же виде, что у блоков сниппетов
   ========================================================================== */
.nwx .nwx-price .pb-grid { display:grid; }
.nwx .nwx-price a.pb-n { text-decoration:none; }
.nwx .nwx-price .pb-n b, .nwx .nwx-price .pb-n span, .nwx .nwx-price .pb-n em, .nwx .nwx-price .pb-n i { display:block; font-style:normal; }
/* Сниппеты могут вставить те же блоки: поля важнее, текст не задваивается */
.nwx .svc-lead:not(.nw-field), .nwx .svc-cta:not(.nw-field), .nwx .nwx-price:not(.nw-field) { display:none !important; }
body.nw-home .nw-hero__lead { margin:14px 0 0; max-width:56ch; font:300 18px/1.7 var(--f-b); color:rgba(255,255,255,.9); text-shadow:0 1px 14px rgba(34,27,20,.5); }
