/* ============================================
   Мебель Челны — лендинг
   Палитра: тёплый орех/крем + латунный акцент
   Шрифты: Fraunces (заголовки) + Manrope (текст)
============================================ */

:root{
  --walnut-950: #1c130c;
  --walnut-900: #2b1d14;
  --walnut-800: #3c2a1c;
  --walnut-700: #4a3222;
  --cream-050: #faf4ea;
  --cream-100: #f5ead9;
  --sand-200:  #e9dcc3;
  --sand-300:  #dcc9a3;
  --brass-400: #c99a4d;
  --brass-500: #b8823a;
  --brass-600: #96692c;
  --ink:       #241811;
  --ink-soft:  #4d3d30;
  --paper:     #fffaf2;

  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-body: "Manrope", -apple-system, sans-serif;

  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;

  --shadow-soft: 0 20px 45px -20px rgba(28, 19, 12, 0.35);
  --shadow-card: 0 12px 30px -14px rgba(28, 19, 12, 0.28);

  --ease: cubic-bezier(.22,.9,.32,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  margin: 0;
  overflow-x: hidden;
  background: var(--cream-050);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul, ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3{ font-family: var(--font-display); margin: 0; color: var(--walnut-900); font-weight: 600; }
p{ margin: 0; }
button{ font-family: inherit; cursor: pointer; border:none; background:none; }
input, select{ font-family: inherit; font-size: 1rem; }

.wrap{
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-inline: 20px;
}

@media (min-width: 720px){ .wrap{ padding-inline: 32px; } }

/* --- фоновая зернистая текстура (SVG-шум, лёгкая, без изображений) --- */
.hero-grain{
  position:absolute; inset:0; pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 15px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .01em;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
  white-space: nowrap;
}
.btn svg{ width:18px; height:18px; fill: currentColor; }
.btn--primary{
  background: linear-gradient(180deg, var(--brass-400), var(--brass-600));
  color: var(--walnut-950);
  box-shadow: 0 10px 24px -10px rgba(184,130,58,.65);
}
.btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(184,130,58,.75); }
.btn--outline{
  border: 1.5px solid rgba(43,29,20,.35);
  color: var(--walnut-900);
}
.btn--outline:hover{ background: rgba(43,29,20,.06); }
.btn--ghost{
  border: 1.5px solid rgba(250,244,234,.4);
  color: var(--cream-050);
  padding: 11px 22px;
  font-size: .88rem;
}
.btn--ghost:hover{ background: rgba(250,244,234,.12); }
.btn--full{ width:100%; }

/* ===== HEADER ===== */
.site-header{
  position: sticky; top:0; z-index: 40;
  background: rgba(28,19,12,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(201,154,77,.2);
}
.header-row{
  display:flex; align-items:center; gap:12px;
  padding-block: 14px;
}
@media (min-width: 480px){ .header-row{ gap:24px; } }
.brand{ display:flex; align-items:center; gap:10px; margin-right:auto; }
.brand-mark{
  width:38px; height:38px; border-radius:10px;
  background: linear-gradient(160deg, var(--brass-400), var(--brass-600));
  color: var(--walnut-950);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-display); font-weight:600; font-size:1.15rem;
  flex-shrink:0;
}
.brand-text{ font-family: var(--font-display); color: var(--cream-050); font-size: 1.05rem; line-height:1.15; font-weight:600; }
.brand-text small{ font-family: var(--font-body); font-weight:500; color: rgba(250,244,234,.55); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; }

.main-nav{ display:none; gap:26px; }
.main-nav a{ color: rgba(250,244,234,.78); font-size:.92rem; font-weight:600; transition: color .2s; position:relative; }
.main-nav a:hover{ color: var(--brass-400); }
@media (min-width: 980px){ .main-nav{ display:flex; } }

.channels{ display:flex; align-items:center; gap:10px; }
.channel{
  display:flex; align-items:center; gap:6px;
  padding: 8px 12px; border-radius:999px;
  font-size:.82rem; font-weight:700;
  transition: transform .2s var(--ease), background .2s;
}
.channel svg{ width:16px; height:16px; fill:currentColor; }
.channel--phone{ background: rgba(201,154,77,.16); color: var(--brass-400); }
.channel--phone:hover{ background: rgba(201,154,77,.28); transform: translateY(-1px); }
/* Активная кнопка мессенджера без реального аккаунта (см. data-channel-pending в js/main.js) — визуально не отличается от рабочих каналов. */
.channel--msg{ background: rgba(201,154,77,.16); color: var(--brass-400); cursor:pointer; }
.channel--msg:hover{ background: rgba(201,154,77,.28); transform: translateY(-1px); }
.channels--footer .channel--msg{ background: var(--sand-200); color: var(--walnut-900); }
/* Скрыто до подключения канала. Разработчику: удалить этот класс и заполнить href/aria/tabindex, когда VK заведут. */
.channel--pending{ display:none; }

.nav-cta{ display:none; }
@media (min-width: 780px){ .nav-cta{ display:inline-flex; } }
.channels--header span{ display:none; }
@media (min-width: 1120px){ .channels--header span{ display:inline; } }

/* ===== HERO ===== */
.hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% -10%, rgba(201,154,77,.35), transparent 55%),
    linear-gradient(165deg, var(--walnut-950) 0%, var(--walnut-900) 55%, var(--walnut-800) 100%);
  padding-block: 64px 88px;
}
.hero-grid{
  position: relative; z-index:1;
  display:grid; gap: 48px; grid-template-columns: minmax(0,1fr);
}
@media (min-width: 960px){
  .hero-grid{ grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap: 40px; }
}
.eyebrow{
  font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color: var(--brass-400);
  margin-bottom: 18px;
  max-width: 100%; overflow-wrap: break-word;
  opacity:0; animation: rise .7s var(--ease) forwards; animation-delay:.05s;
}
.hero h1{
  color: var(--cream-050);
  font-size: clamp(2.1rem, 5.4vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -.01em;
  opacity:0; animation: rise .8s var(--ease) forwards; animation-delay:.15s;
}
.hero h1 em{ color: var(--brass-400); font-style: italic; font-weight:450; }
.hero-lead{
  margin-top: 22px; max-width: 46ch;
  color: rgba(250,244,234,.75);
  font-size: 1.05rem;
  opacity:0; animation: rise .8s var(--ease) forwards; animation-delay:.28s;
}
.hero-actions{
  display:flex; flex-wrap:wrap; gap:14px; margin-top: 34px;
  opacity:0; animation: rise .8s var(--ease) forwards; animation-delay:.4s;
}
.hero-stats{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px;
  margin: 44px 0 0; padding-top: 28px;
  border-top: 1px solid rgba(250,244,234,.14);
  opacity:0; animation: rise .8s var(--ease) forwards; animation-delay:.52s;
}
@media (min-width: 480px){ .hero-stats{ gap: 28px; } }
.hero-stats dt{ font-family: var(--font-display); color: var(--brass-400); font-size: 1.5rem; font-weight:600; }
.hero-stats dd{ margin:4px 0 0; color: rgba(250,244,234,.6); font-size:.78rem; line-height:1.35; }

.hero-visual{
  position: relative;
  min-height: 340px;
  padding-bottom: 56px;
  opacity:0; animation: rise 1s var(--ease) forwards; animation-delay:.35s;
}
.frame{
  position:absolute; border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(250,244,234,.08);
  overflow: hidden;
}
.frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.frame--1{ width:72%; aspect-ratio: 4/5; top:0; left:0; z-index:2; }
.frame--2{ width:58%; aspect-ratio: 5/4; bottom:56px; right:0; z-index:1; }
/* Кликабельная плашка под фото — ведёт на витрину работ (было декоративной надписью поверх фото). */
.tag-chip{
  position:absolute; left: 8%; bottom: 0; z-index:3;
  display:inline-flex; align-items:center;
  background: var(--paper); color: var(--walnut-900);
  padding: 10px 18px; border-radius: 999px;
  font-weight:700; font-size:.82rem;
  box-shadow: var(--shadow-card);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.tag-chip:hover{ transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(28,19,12,.35); }

/* --- плейсхолдер под фото (тёплая "деревянная" заливка + подпись) --- */
.ph-photo{
  position:relative;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 26px),
    linear-gradient(150deg, var(--sand-300), var(--brass-500) 130%);
  min-height: 200px;
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.ph-photo::after{
  content: attr(data-caption);
  display:block; width:100%;
  padding: 12px 14px;
  background: linear-gradient(0deg, rgba(28,19,12,.65), transparent);
  color: var(--cream-050);
  font-size:.72rem; font-weight:700; letter-spacing:.03em;
}

@keyframes rise{ from{ opacity:0; transform: translateY(22px);} to{ opacity:1; transform:none; } }

/* ===== SECTION HEADS ===== */
.section-title{
  font-size: clamp(1.7rem, 3.6vw, 2.5rem);
  letter-spacing: -.01em;
}
.section-title--light{ color: var(--cream-050); }
.section-sub{ margin-top:12px; max-width:56ch; color: var(--ink-soft); font-size:1.02rem; }
.section-sub--light{ color: rgba(250,244,234,.65); }
.section-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom: 34px; }

/* ===== WHY ===== */
.why{ padding-block: 84px; }
.why .section-title{ margin-bottom: 40px; }
.why-grid{ display:grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); }
.why-card{
  background: var(--paper); border-radius: var(--radius-md);
  padding: 28px 24px; box-shadow: var(--shadow-card);
  border: 1px solid rgba(43,29,20,.06);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.why-card:hover{ transform: translateY(-6px); box-shadow: 0 22px 40px -18px rgba(28,19,12,.32); }
.why-num{ font-family: var(--font-display); color: var(--sand-300); font-size: 2.1rem; font-weight:600; }
.why-card h3{ font-size: 1.15rem; margin: 10px 0 8px; }
.why-card p{ color: var(--ink-soft); font-size: .93rem; }

/* ===== PORTFOLIO ===== */
.portfolio{ padding-block: 84px; background: var(--sand-200); position:relative; }
.filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 30px; }
.filter-btn{
  padding: 10px 18px; border-radius: 999px;
  background: var(--paper); color: var(--ink-soft);
  font-weight:700; font-size:.85rem;
  border: 1px solid rgba(43,29,20,.1);
  transition: all .2s var(--ease);
}
.filter-btn:hover{ border-color: var(--brass-500); }
.filter-btn.is-active{ background: var(--walnut-900); color: var(--cream-050); border-color: var(--walnut-900); }

.gallery{
  display:grid; gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px){ .gallery{ grid-template-columns: repeat(3,1fr); } }
@media (min-width: 980px){ .gallery{ grid-template-columns: repeat(4,1fr); } }
.gallery-item{
  position: relative; overflow:hidden;
  border-radius: var(--radius-md); aspect-ratio: 4/5; margin:0;
  transition: opacity .3s, transform .3s;
}
.gallery-item:hover{ transform: translateY(-4px); }
.gallery-item:nth-child(3n+1){ aspect-ratio: 4/5; }
.gallery-item:nth-child(4n+2){ aspect-ratio: 1/1; }
/* Широкий кадр (фото цеха/производства — горизонтальные): занимает 2 колонки и
   показывается целиком, без вертикальной обрезки. */
.gallery-item--wide{ grid-column: span 2; aspect-ratio: 16/10 !important; }
@media (max-width: 639px){ .gallery-item--wide{ grid-column: 1 / -1; } }
.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s var(--ease); }
.gallery-item:hover img{ transform: scale(1.06); }
.gallery-item figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 26px 14px 12px;
  background: linear-gradient(0deg, rgba(28,19,12,.75), transparent);
  color: var(--cream-050); font-size:.72rem; font-weight:700; letter-spacing:.02em;
}
.gallery-item.is-hidden{ display:none; }
.ph-video{
  position:relative; border-radius: var(--radius-md); aspect-ratio: 4/5;
  background: linear-gradient(150deg, var(--walnut-800), var(--walnut-950));
  display:flex; align-items:center; justify-content:center;
}
.ph-video figcaption{ position:absolute; bottom:12px; left:14px; color: rgba(250,244,234,.7); font-size:.72rem; font-weight:700; }
.play-badge{
  width:56px; height:56px; border-radius:50%;
  background: rgba(250,244,234,.14); border: 1.5px solid rgba(250,244,234,.35);
  display:flex; align-items:center; justify-content:center;
}
.play-badge svg{ width:22px; height:22px; fill: var(--brass-400); margin-left:3px; }
.gallery-empty{ text-align:center; color: var(--ink-soft); padding: 30px 0 0; }

/* ===== PROCESS ===== */
.process{
  padding-block: 90px;
  background: linear-gradient(180deg, var(--walnut-950), var(--walnut-900));
}
.steps{
  margin-top: 44px;
  display:grid; gap: 30px;
  grid-template-columns: repeat(4, 1fr);
  position:relative;
  counter-reset: none;
}
@media (max-width: 860px){ .steps{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px){ .steps{ grid-template-columns: 1fr; } }
.step{ position:relative; padding-top: 6px; }
.steps::before{
  content:""; position:absolute; top:29px; left:6%; right:6%; height:1px;
  background: repeating-linear-gradient(90deg, rgba(201,154,77,.4) 0 8px, transparent 8px 16px);
}
@media (max-width: 860px){ .steps::before{ display:none; } }
.step-num{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  background: var(--walnut-900); border: 1.5px solid var(--brass-500);
  color: var(--brass-400); font-family: var(--font-display); font-size:1.3rem; font-weight:600;
  position:relative; z-index:1; margin-bottom:18px;
}
.step h3{ color: var(--cream-050); font-size:1.15rem; margin-bottom:8px; }
.step p{ color: rgba(250,244,234,.6); font-size:.92rem; }

/* ===== REVIEWS ===== */
.reviews{ padding-block: 84px; }
.link-2gis{ color: var(--brass-600); font-weight:700; font-size:.9rem; white-space:nowrap; }
.review-track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom: 10px; margin: 0 -4px;
  scrollbar-width: thin;
}
.review-track::-webkit-scrollbar{ height:6px; }
.review-track::-webkit-scrollbar-thumb{ background: var(--sand-300); border-radius:6px; }
.review-card{
  scroll-snap-align:start; flex: 0 0 min(340px,84vw);
  background: var(--paper); border-radius: var(--radius-md);
  padding: 22px 22px 24px; box-shadow: var(--shadow-card);
  border: 1px solid rgba(43,29,20,.06);
  margin: 4px;
  display:flex; flex-direction:column;
}
.review-top{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.review-avatar{
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(160deg, var(--brass-400), var(--brass-600));
  color: var(--walnut-950); font-family: var(--font-display); font-weight:600; font-size:.95rem;
}
.review-who{ display:flex; flex-direction:column; margin-right:auto; min-width:0; }
.review-who strong{ font-size:.92rem; color: var(--walnut-900); }
.review-who span{ font-size:.74rem; color: var(--ink-soft); }
.review-stars{ color: var(--brass-500); font-size:.85rem; letter-spacing:1px; white-space:nowrap; }
.review-photo{
  width:100%; aspect-ratio: 5/3; object-fit:cover;
  border-radius: var(--radius-sm); margin-bottom:14px;
}
.review-card p{ font-size:.95rem; color: var(--ink); font-style:italic; margin:0; }
.review-card footer{ margin-top:16px; font-size:.82rem; font-weight:700; color: var(--brass-600); font-style:normal; }
.review-dots{ display:flex; gap:8px; justify-content:center; margin-top:20px; }

/* ===== КАЛЬКУЛЯТОР ===== */
.calc{ padding-block: 84px; background: var(--sand-200); }
.calc-box{
  display:grid; gap:0; grid-template-columns: minmax(0,1fr);
  background: var(--paper); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft); overflow:hidden;
  border: 1px solid rgba(43,29,20,.06);
}
@media (min-width: 800px){ .calc-box{ grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); } }
.calc-form{ padding: 32px; display:grid; gap:18px; }
.calc-form select, .calc-form input{
  width:100%; padding: 13px 14px; border-radius: var(--radius-sm);
  border: 1.5px solid rgba(43,29,20,.15); background: var(--cream-050);
  color: var(--ink); font-size:1rem; transition: border-color .2s;
}
.calc-form select:focus, .calc-form input:focus{ outline:none; border-color: var(--brass-500); }
.calc-form label{ font-size:.82rem; font-weight:700; color: var(--ink-soft); display:block; margin-bottom:7px; }
.calc-hint{ display:block; margin-top:6px; font-size:.76rem; color: var(--ink-soft); }
.calc-tier{ display:grid; grid-template-columns: repeat(3,1fr); gap:8px; }
.calc-tier-btn{
  padding: 10px 6px; border-radius: var(--radius-sm);
  border: 1.5px solid rgba(43,29,20,.15); background: var(--cream-050);
  color: var(--ink-soft); font-size:.82rem; font-weight:700; text-align:center;
  transition: all .2s var(--ease); line-height:1.5;
}
.calc-tier-btn small{ font-weight:600; opacity:.7; font-size:.7rem; }
.calc-tier-btn.is-active{ background: var(--walnut-900); border-color: var(--walnut-900); color: var(--cream-050); }
.calc-result{
  padding: 32px; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  background:
    radial-gradient(circle at 90% 0%, rgba(201,154,77,.18), transparent 55%),
    var(--walnut-900);
  justify-content:center;
}
.calc-result-label{ font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color: var(--brass-400); }
.calc-result-price{
  font-family: var(--font-display); color: var(--cream-050);
  font-size: clamp(1.5rem, 3.2vw, 2rem); font-weight:600; line-height:1.15;
}
.calc-result-note{ color: rgba(250,244,234,.65); font-size:.85rem; margin-bottom:8px; }
.calc-disclaimer{ margin-top:20px; font-size:.78rem; color: var(--ink-soft); max-width: 70ch; }

/* ===== LEAD FORM ===== */
.lead{
  padding-block: 90px;
  background:
    radial-gradient(circle at 15% 20%, rgba(201,154,77,.14), transparent 50%),
    var(--walnut-900);
}
.lead-grid{ display:grid; gap: 46px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 960px){ .lead-grid{ grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items:start; } }
.lead-copy .section-title{ color: var(--cream-050); }
.lead-copy .section-sub{ color: rgba(250,244,234,.65); }
.phone-cta{
  margin-top: 30px; display:flex; align-items:center; gap:14px;
  padding: 18px 22px; border-radius: var(--radius-md);
  background: rgba(250,244,234,.06); border: 1px solid rgba(250,244,234,.14);
  width: fit-content;
}
.phone-cta svg{ width:22px; height:22px; fill: var(--brass-400); flex-shrink:0; }
.phone-cta span{ display:flex; flex-direction:column; color: var(--cream-050); font-weight:700; font-size:1.05rem; }
.phone-cta small{ color: rgba(250,244,234,.5); font-weight:600; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }

.lead-form{
  background: var(--paper); border-radius: var(--radius-lg);
  padding: 32px; box-shadow: var(--shadow-soft);
  display:grid; gap:18px; grid-template-columns: minmax(0,1fr);
}
.form-row{ display:flex; flex-direction:column; gap:7px; }
.form-row--split{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:480px){ .form-row--split{ grid-template-columns:1fr; } }
.form-row label{ font-size:.82rem; font-weight:700; color: var(--ink-soft); }
.form-row input, .form-row select{
  padding: 13px 14px; border-radius: var(--radius-sm);
  border: 1.5px solid rgba(43,29,20,.15); background: var(--cream-050);
  color: var(--ink); transition: border-color .2s;
}
.form-row input:focus, .form-row select:focus{ outline:none; border-color: var(--brass-500); }
.consent{ display:flex; align-items:flex-start; gap:9px; font-size:.8rem; color: var(--ink-soft); }
.consent input{ margin-top:3px; }
.form-status{ min-height: 1.2em; font-size:.88rem; font-weight:700; }
.form-status.is-ok{ color: #4c7a3c; }
.form-status.is-err{ color: #a3402c; }

/* ===== CONTACTS ===== */
.contacts{ padding-block: 84px; }
.contacts-grid{ display:grid; gap: 40px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 860px){ .contacts-grid{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items:start; } }
.contact-list{ margin-top: 22px; display:grid; gap:16px; }
.contact-list dt{ font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color: var(--brass-600); }
.contact-list dd{ margin:2px 0 0; font-size:1.05rem; }
.channels-label{ margin-top:30px; font-size:.82rem; font-weight:700; color: var(--ink-soft); }
.channels--footer{ margin-top:12px; flex-wrap:wrap; }
.channels--footer .channel{ background: var(--sand-200); color: var(--walnut-900); }
.channels--footer .channel--phone{ background: rgba(201,154,77,.18); color: var(--brass-600); }
.contacts .link-2gis{ display:inline-block; margin-top:24px; }
/* Плашка адреса с фоновым видом вечернего города (по просьбе клиента).
   Фон — inline-SVG data URI, поэтому в standalone-файле embed не требуется. */
.map-widget{
  position:relative; overflow:hidden; isolation:isolate;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:18px; text-align:center; min-height:0; padding:44px 24px;
  border-radius: var(--radius-lg);
  background-image:
    linear-gradient(180deg, rgba(28,19,12,.62) 0%, rgba(28,19,12,.30) 45%, rgba(28,19,12,.66) 100%),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20420%22%20preserveAspectRatio%3D%22xMidYMax%20slice%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22sky%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%232b1d14%22%2F%3E%3Cstop%20offset%3D%220.45%22%20stop-color%3D%22%234a3222%22%2F%3E%3Cstop%20offset%3D%220.78%22%20stop-color%3D%22%2396692c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23c99a4d%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22city%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%231c130c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232b1d14%22%2F%3E%3C%2FlinearGradient%3E%3CradialGradient%20id%3D%22glow%22%20cx%3D%220.5%22%20cy%3D%221%22%20r%3D%220.9%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23f5ead9%22%20stop-opacity%3D%220.55%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f5ead9%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%221200%22%20height%3D%22420%22%20fill%3D%22url%28%23sky%29%22%2F%3E%3Ccircle%20cx%3D%22600%22%20cy%3D%22360%22%20r%3D%22230%22%20fill%3D%22url%28%23glow%29%22%2F%3E%3Ccircle%20cx%3D%22880%22%20cy%3D%22150%22%20r%3D%2234%22%20fill%3D%22%23f5ead9%22%20opacity%3D%220.85%22%2F%3E%3Cg%20fill%3D%22%233c2a1c%22%20opacity%3D%220.5%22%3E%3Crect%20x%3D%2260%22%20y%3D%22250%22%20width%3D%2270%22%20height%3D%22170%22%2F%3E%3Crect%20x%3D%22180%22%20y%3D%22220%22%20width%3D%2290%22%20height%3D%22200%22%2F%3E%3Crect%20x%3D%22320%22%20y%3D%22270%22%20width%3D%2260%22%20height%3D%22150%22%2F%3E%3Crect%20x%3D%22980%22%20y%3D%22240%22%20width%3D%2280%22%20height%3D%22180%22%2F%3E%3Crect%20x%3D%221090%22%20y%3D%22275%22%20width%3D%2270%22%20height%3D%22145%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22url%28%23city%29%22%3E%3Crect%20x%3D%22120%22%20y%3D%22200%22%20width%3D%2286%22%20height%3D%22220%22%2F%3E%3Crect%20x%3D%22230%22%20y%3D%22150%22%20width%3D%2270%22%20height%3D%22270%22%2F%3E%3Crect%20x%3D%22330%22%20y%3D%22230%22%20width%3D%2296%22%20height%3D%22190%22%2F%3E%3Crect%20x%3D%22450%22%20y%3D%22120%22%20width%3D%2264%22%20height%3D%22300%22%2F%3E%3Crect%20x%3D%22540%22%20y%3D%22185%22%20width%3D%22110%22%20height%3D%22235%22%2F%3E%3Crect%20x%3D%22680%22%20y%3D%22145%22%20width%3D%2272%22%20height%3D%22275%22%2F%3E%3Crect%20x%3D%22780%22%20y%3D%22205%22%20width%3D%2298%22%20height%3D%22215%22%2F%3E%3Crect%20x%3D%22900%22%20y%3D%22160%22%20width%3D%2266%22%20height%3D%22260%22%2F%3E%3Crect%20x%3D%22990%22%20y%3D%22215%22%20width%3D%22104%22%20height%3D%22205%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23c99a4d%22%20opacity%3D%220.9%22%3E%3Crect%20x%3D%22138%22%20y%3D%22222%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22160%22%20y%3D%22222%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22182%22%20y%3D%22252%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22248%22%20y%3D%22176%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%22176%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22248%22%20y%3D%22212%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%22248%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22352%22%20y%3D%22256%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22386%22%20y%3D%22256%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22352%22%20y%3D%22292%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22466%22%20y%3D%22148%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22466%22%20y%3D%22188%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22466%22%20y%3D%22228%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22560%22%20y%3D%22212%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22592%22%20y%3D%22212%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22624%22%20y%3D%22212%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22560%22%20y%3D%22252%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22624%22%20y%3D%22288%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22696%22%20y%3D%22170%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22726%22%20y%3D%22170%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22696%22%20y%3D%22210%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22726%22%20y%3D%22250%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22800%22%20y%3D%22232%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22836%22%20y%3D%22232%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22800%22%20y%3D%22270%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22916%22%20y%3D%22186%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22916%22%20y%3D%22226%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%22916%22%20y%3D%22266%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%221010%22%20y%3D%22242%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%221046%22%20y%3D%22242%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3Crect%20x%3D%221010%22%20y%3D%22282%22%20width%3D%2210%22%20height%3D%2214%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%220%22%20y%3D%22410%22%20width%3D%221200%22%20height%3D%2210%22%20fill%3D%22%231c130c%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover; background-position: center bottom; background-repeat:no-repeat;
  border: 1px solid var(--brass-500);
  box-shadow: 0 12px 34px -18px rgba(28,19,12,.6);
}
.map-widget__pin{ width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background: rgba(201,154,77,.9); color: var(--walnut-950); flex-shrink:0; box-shadow: 0 6px 18px -6px rgba(0,0,0,.55); }
.map-widget__pin svg{ width:28px; height:28px; fill:currentColor; }
.map-widget__text{ font-size:1.12rem; font-weight:600; color: var(--cream-050); text-shadow: 0 2px 10px rgba(0,0,0,.55); }
.map-widget__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:6px; width:100%; }
.map-widget__links a{
  flex:1 1 160px; max-width:220px; min-height:56px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.08rem; font-weight:700; color: var(--walnut-950);
  padding:16px 22px; border-radius:16px;
  background: linear-gradient(160deg, #f7efe0, var(--sand-200));
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.5);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;
}
.map-widget__links a:hover{ background: linear-gradient(160deg, var(--brass-400), var(--brass-500)); color: var(--walnut-950); transform: translateY(-2px); box-shadow: 0 12px 26px -10px rgba(0,0,0,.55); }
@media (max-width:420px){
  .map-widget__links a{ flex:1 1 100%; max-width:none; }
}

/* ===== FOOTER ===== */
.site-footer{ background: var(--walnut-950); color: rgba(250,244,234,.5); padding-block: 26px; font-size:.82rem; }
.footer-row{ display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; }
.footer-row a:hover{ color: var(--brass-400); }

/* ===== MOBILE STICKY CTA ===== */
.mobile-cta{
  position: fixed; left:0; right:0; bottom:0; z-index:50;
  display:flex; gap:10px; padding: 10px 14px;
  background: rgba(28,19,12,.96); backdrop-filter: blur(8px);
  border-top: 1px solid rgba(201,154,77,.25);
}
.mobile-cta__call{
  width:50px; height:50px; border-radius:50%; flex-shrink:0;
  background: linear-gradient(180deg, var(--brass-400), var(--brass-600));
  display:flex; align-items:center; justify-content:center;
}
.mobile-cta__call svg{ width:22px; height:22px; fill: var(--walnut-950); }
.mobile-cta__form{
  flex:1; display:flex; align-items:center; justify-content:center;
  border-radius: 999px; border: 1.5px solid rgba(250,244,234,.35);
  color: var(--cream-050); font-weight:700; font-size:.92rem;
}
@media (min-width: 780px){ .mobile-cta{ display:none; } }
body{ padding-bottom: 78px; }
@media (min-width: 780px){ body{ padding-bottom:0; } }

/* уважение к reduce-motion */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
