/* Дизайн-система страниц сайта (как /kitchen-design). Шрифты — из папки fonts. */
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400; font-display:swap; src:url(../fonts/playfair-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400; font-display:swap; src:url(../fonts/playfair-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:400; font-display:swap; src:url(../fonts/playfair-italic-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:400; font-display:swap; src:url(../fonts/playfair-italic-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Raleway'; font-style:normal; font-weight:400 700; font-display:swap; src:url(../fonts/raleway-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Raleway'; font-style:normal; font-weight:400 700; font-display:swap; src:url(../fonts/raleway-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:#fff; color:#707070; font-family:'Raleway',-apple-system,BlinkMacSystemFont,sans-serif; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:#03a1ac; }

/* Кнопки-призывы: общий вид для всех CTA страницы */
.cta {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 32px; border-radius:9999px; border:none; cursor:pointer;
  background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); background-size:200% 100%; background-position:0 0;
  color:#fff; font-family:inherit; font-size:16px; font-weight:700; letter-spacing:0.01em; text-decoration:none;
  box-shadow:0 10px 28px rgba(3,161,172,0.35), inset 0 1px 0 rgba(255,255,255,0.25);
  transition:transform 200ms, box-shadow 200ms, background-position 400ms;
}
.cta:hover { transform:translateY(-2px); background-position:100% 0; box-shadow:0 14px 34px rgba(3,161,172,0.45), inset 0 1px 0 rgba(255,255,255,0.25); }
.cta .arr { display:inline-block; transition:transform 200ms; }
.cta:hover .arr { transform:translateX(4px); }
.cta--light { background:#fff; color:#0f0f31; box-shadow:0 10px 28px rgba(0,0,0,0.25); }
.cta--light:hover { background:#fff; box-shadow:0 14px 34px rgba(0,0,0,0.32); }
.cta-note { font-size:12px; color:#9ca3af; margin:10px 0 0; }
.cta-wrap { margin-top:40px; text-align:center; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.95); backdrop-filter:blur(20px); border-bottom:1px solid rgba(229,231,235,0.8); height:64px; display:flex; align-items:center; }
.header-inner { max-width:1200px; width:100%; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; }
@media (min-width:1024px) { .header-inner { padding:0 48px; } }
.logo { font-family:'Playfair Display',Georgia,serif; font-size:22px; letter-spacing:0.02em; color:#0f0f31; text-decoration:none; line-height:1; }
.logo .grad { font-style:italic; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-desktop { display:none; align-items:center; gap:32px; }
@media (min-width:768px) { .nav-desktop { display:flex; } }
.nav-links { display:flex; align-items:center; gap:24px; }
.nav-link { font-size:14px; font-weight:500; color:#707070; text-decoration:none; padding:8px 0; transition:color 200ms; }
.nav-link:hover { color:#41b378; }
.btn-login { padding:8px 20px; border-radius:9999px; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); color:#fff; font-size:13px; font-weight:600; letter-spacing:0.02em; text-decoration:none; box-shadow:0 2px 8px rgba(3,161,172,0.25); transition:transform 200ms; display:inline-block; }
.btn-login:hover { transform:translateY(-1px); }
.burger { display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:transparent; border:none; cursor:pointer; color:#0f0f31; padding:0; }
@media (min-width:768px) { .burger { display:none; } }
.burger svg { width:22px; height:22px; }
.mobile-menu { display:none; position:absolute; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid #e5e7eb; padding:12px; flex-direction:column; gap:4px; box-shadow:0 8px 24px rgba(15,15,49,0.08); }
.mobile-menu.is-open { display:flex; }
@media (min-width:768px) { .mobile-menu.is-open { display:none; } }
.mobile-link { padding:12px 16px; font-size:14px; font-weight:500; color:#0f0f31; text-decoration:none; border-radius:12px; }
.mobile-link:hover { background:#f0faf7; }
.mobile-divider { height:1px; background:#e5e7eb; margin:8px 0; }
.mobile-login { margin:8px 16px 4px; padding:10px 0; text-align:center; border-radius:9999px; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); color:#fff; font-size:14px; font-weight:600; text-decoration:none; }

/* Хлебные крошки */
.crumbs { max-width:1200px; margin:0 auto; padding:20px 48px 0; font-size:12px; color:#9ca3af; }
.crumbs a { color:#9ca3af; text-decoration:none; }
.crumbs a:hover { color:#41b378; }
.crumbs .sep { margin:0 6px; }

/* Hero */
.hero-inner { max-width:1200px; margin:0 auto; padding:56px 48px 80px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.hero-marker { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:#707070; margin-bottom:18px; }
.hero-marker::before { content:''; width:6px; height:6px; border-radius:50%; background:#41b378; }
.hero-h1 { font-family:'Playfair Display',Georgia,serif; font-size:52px; font-weight:400; line-height:1.1; letter-spacing:-0.01em; color:#0f0f31; margin:0 0 18px; }
.hero-h1 em { font-style:italic; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub { font-size:16px; line-height:1.65; color:#707070; max-width:500px; margin:0 0 22px; }
.hero-chips { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:28px; }
.hero-chip { padding:4px 10px; border-radius:9999px; font-size:11px; font-weight:500; }
.chip-1 { background:#EAF3DE; color:#27500A; }
.chip-2 { background:#E6F1FB; color:#0C447C; }
.chip-3 { background:#E1F5EE; color:#085041; }
.hero-stats { display:flex; gap:28px; margin-top:28px; padding-top:20px; border-top:0.5px solid #e5e7eb; }
.hero-stat .num { font-family:'Playfair Display',Georgia,serif; font-size:26px; font-weight:400; color:#0f0f31; line-height:1.1; }
.hero-stat .lbl { font-size:12px; color:#707070; margin-top:4px; }
.hero-img { position:relative; aspect-ratio:5/4; border-radius:16px; overflow:hidden; box-shadow:0 18px 48px rgba(15,15,49,0.14); background:#f0faf7; border:none; padding:0; width:100%; display:block; }
.hero-img.can-toggle { cursor:pointer; }
.hero-img > img.main { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.hero-badge-after { position:absolute; top:14px; right:14px; background:rgba(255,255,255,0.92); padding:4px 12px; border-radius:9999px; font-size:11px; font-weight:500; color:#0f0f31; z-index:3; }
.hero-pip { position:absolute; left:16px; bottom:16px; width:124px; aspect-ratio:5/4; border:2px solid #fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,0.18); cursor:pointer; background:#f0faf7; z-index:2; display:block; }
.hero-pip[hidden] { display:none; }
.hero-pip img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-pip-pill { position:absolute; left:50%; bottom:6px; transform:translateX(-50%); background:rgba(255,255,255,0.95); padding:2px 10px; border-radius:9999px; font-size:10px; font-weight:500; color:#0f0f31; white-space:nowrap; }

/* Заголовки секций */
.sec { padding:96px 48px; }
.sec--grey { background:#f7f8fa; }
.sec-inner { max-width:1200px; margin:0 auto; }
.sec-head { max-width:720px; margin:0 0 48px; }
.sec-head.center { text-align:center; margin-left:auto; margin-right:auto; }
.sec-overline { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:#41b378; margin-bottom:14px; }
.sec-overline.center::before, .sec-overline.center::after { content:''; width:28px; height:1px; background:#41b378; }
.sec-overline.left::before { content:''; display:block; width:28px; height:1px; background:#41b378; }
.sec-h2 { font-family:'Playfair Display',Georgia,serif; font-size:38px; font-weight:400; line-height:1.18; letter-spacing:-0.01em; color:#0f0f31; margin:0 0 14px; }
.sec-h2 em { font-style:italic; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.sec-sub { font-size:15px; color:#707070; line-height:1.6; margin:0; }
.sec-head.center .sec-sub { max-width:560px; margin:0 auto; }

/* Примеры */
/* Ширина = родной размер картинок примеров (1024 px) */
.ex-wrap { max-width:1024px; margin:0 auto; }
.ex-stage { position:relative; width:100%; aspect-ratio:4/3; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(15,15,49,0.10); background:#e8eef0; }
.ex-stage-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity 280ms; }
.ex-badge { position:absolute; top:16px; left:16px; z-index:3; background:#0f0f31; color:#fff; padding:6px 15px; border-radius:9999px; font-size:12px; font-weight:500; letter-spacing:0.02em; }
.ex-stage-label { position:absolute; bottom:16px; left:16px; z-index:3; background:rgba(255,255,255,0.94); border-radius:10px; padding:9px 15px; font-size:13px; font-weight:500; color:#0f0f31; box-shadow:0 4px 12px rgba(15,15,49,0.1); }
.ex-toggle { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); z-index:3; background:rgba(255,255,255,0.94); border:0.5px solid rgba(15,15,49,0.08); padding:10px 18px; border-radius:9999px; font-family:inherit; font-size:13px; font-weight:500; color:#0f0f31; display:inline-flex; align-items:center; gap:8px; box-shadow:0 4px 12px rgba(15,15,49,0.12); cursor:pointer; }
.ex-toggle[hidden] { display:none; }
.ex-toggle svg { width:16px; height:16px; }
.ex-cta { position:absolute; bottom:16px; right:16px; z-index:3; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); color:#fff; padding:11px 20px; border-radius:9999px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:7px; box-shadow:0 6px 18px rgba(3,161,172,0.4); text-decoration:none; }
.ex-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.92); border:0.5px solid rgba(15,15,49,0.06); display:flex; align-items:center; justify-content:center; cursor:pointer; color:#0f0f31; box-shadow:0 4px 14px rgba(15,15,49,0.18); padding:0; }
.ex-arrow svg { width:20px; height:20px; }
.ex-arrow.left { left:16px; }
.ex-arrow.right { right:16px; }
.ex-film { display:flex; gap:12px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; padding:4px 2px; margin-top:16px; }
.ex-film::-webkit-scrollbar { display:none; }
.ex-thumb { flex-shrink:0; width:150px; height:112px; border-radius:12px; overflow:hidden; position:relative; cursor:pointer; background:#e8eef0; border:2px solid transparent; padding:0; transition:border-color 180ms,transform 180ms; }
.ex-thumb:hover { transform:translateY(-2px); }
.ex-thumb.is-active { border-color:#41b378; box-shadow:0 6px 18px rgba(65,179,120,0.25); }
.ex-thumb img { width:100%; height:100%; object-fit:cover; }
.ex-thumb-cap { position:absolute; top:7px; left:7px; background:rgba(255,255,255,0.92); border-radius:6px; padding:2px 7px; font-size:9.5px; font-weight:500; color:#0f0f31; }

/* Как это работает */
.hw-steps { position:relative; display:flex; flex-direction:column; gap:18px; }
.hw-line { position:absolute; left:36px; top:46px; bottom:46px; width:2px; opacity:0.4; z-index:0; background:linear-gradient(180deg,#41b378 0%,#03a1ac 50%,#00a0b0 100%); }
.hw-step { position:relative; z-index:1; background:#fff; border:0.5px solid #e5e7eb; border-radius:16px; padding:28px 32px; display:flex; gap:24px; align-items:flex-start; box-shadow:0 2px 8px rgba(15,15,49,0.04); }
.hw-num-col { width:52px; flex-shrink:0; display:flex; justify-content:center; padding-top:6px; }
.hw-num { font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:400; font-size:48px; line-height:1; letter-spacing:-0.02em; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; background-image:linear-gradient(135deg,#41b378,#03a1ac); }
.hw-content { flex:1; padding-top:2px; }
.tag { display:inline-flex; align-items:center; gap:8px; padding:4px 12px; border-radius:9999px; margin-bottom:10px; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; background:rgba(65,179,120,0.1); color:#2d8a6a; }
.tag .dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; background:#41b378; }
.hw-title, .card-title { font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:400; line-height:1.25; color:#0f0f31; margin:0 0 12px; }
.hw-desc, .card-text { font-size:14px; line-height:1.7; color:#707070; margin:0 0 12px; }
.card-text:last-child { margin-bottom:0; }
.bullets { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.bullets li { font-size:14px; line-height:1.6; color:#0f0f31; padding-left:16px; position:relative; }
.bullets li::before { content:''; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:#41b378; }

/* Экспертные блоки: карточки */
.cards { display:grid; gap:20px; }
.cards--3 { grid-template-columns:repeat(3,1fr); }
.cards--2 { grid-template-columns:repeat(2,1fr); }
.card { position:relative; background:#fff; border:0.5px solid #e5e7eb; border-radius:20px; padding:32px; box-shadow:0 2px 8px rgba(15,15,49,0.04); transition:transform 0.25s, box-shadow 0.25s; }
.card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(15,15,49,0.08); }
.card--accent { background:linear-gradient(#f7fdfa,#f7fdfa) padding-box, linear-gradient(135deg,#41b378,#03a1ac) border-box; border:1.5px solid transparent; box-shadow:0 8px 24px rgba(65,179,120,0.10); }
.card-age { font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:40px; line-height:1; margin:0 0 14px; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; background-image:linear-gradient(135deg,#41b378,#03a1ac); }
/* Фото в экспертных блоках */
.card--photo { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.card-photo { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.card-body { padding:28px 32px 32px; }
.wide-photo, .split-photo { position:relative; margin:0; border-radius:20px; overflow:hidden; box-shadow:0 10px 30px rgba(15,15,49,0.10); }
.wide-photo { margin-bottom:20px; }
.wide-photo img { width:100%; height:auto; aspect-ratio:21/9; object-fit:cover; }
.split-photo img { width:100%; height:100%; min-height:100%; object-fit:cover; }
.wide-photo figcaption, .split-photo figcaption { position:absolute; left:16px; bottom:16px; background:rgba(255,255,255,0.94); border-radius:10px; padding:8px 14px; font-size:12px; font-weight:500; color:#0f0f31; box-shadow:0 4px 12px rgba(15,15,49,0.1); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
.split--rev .split-photo { order:2; }
.split-cards { display:flex; flex-direction:column; gap:20px; }
.split-cards .card { flex:1; }
.note { margin:28px 0 0; padding:18px 24px; border-radius:14px; background:#f0faf7; font-size:14px; line-height:1.6; color:#2d5a4a; }
.note a { font-weight:600; }

/* Площадь: цифры */
.facts { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#e5e7eb; border-radius:16px; overflow:hidden; margin:0 0 28px; }
.fact { background:#fff; padding:20px 22px; }
.fact b { display:block; font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:30px; color:#0f0f31; line-height:1.1; }
.fact span { font-size:12px; color:#707070; }

/* Стили */
.s9-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.s9-card { position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; background:#f0faf7; box-shadow:0 4px 14px rgba(15,15,49,0.06); transition:transform 0.25s,box-shadow 0.25s; }
.s9-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(15,15,49,0.12); }
.s9-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.s9-card-label { position:absolute; bottom:0; left:0; right:0; z-index:3; padding:10px 14px; background:linear-gradient(transparent,rgba(15,15,49,0.55) 60%); color:#fff; text-shadow:0 1px 4px rgba(0,0,0,0.4); font-size:14px; font-weight:500; line-height:1.2; transition:opacity 0.25s; }
.s9-card:hover .s9-card-label { opacity:0; }
.s9-card-overlay { position:absolute; inset:0; z-index:4; background:linear-gradient(rgba(15,15,49,0.45) 0%,rgba(15,15,49,0.8) 100%); padding:16px 18px; display:flex; flex-direction:column; justify-content:flex-end; opacity:0; transition:opacity 0.25s; }
.s9-card:hover .s9-card-overlay, .s9-card:focus-within .s9-card-overlay { opacity:1; }
.s9-card-overlay-title { font-size:15px; font-weight:600; color:#fff; margin:0 0 6px; line-height:1.2; }
.s9-card-overlay-text { font-size:13px; line-height:1.5; color:rgba(255,255,255,0.92); margin:0; }
.s9-cta-card { position:relative; aspect-ratio:4/3; border-radius:14px; background:linear-gradient(135deg,#0f0f31 0%,#1a1a4d 100%); padding:24px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 8px 24px rgba(15,15,49,0.18); text-decoration:none; overflow:hidden; transition:transform 0.25s; }
.s9-cta-card:hover { transform:translateY(-3px); }
.s9-cta-card::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 20%,rgba(65,179,120,0.28),transparent 60%); pointer-events:none; }
.s9-cta-icon { width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg,#41b378,#03a1ac); display:flex; align-items:center; justify-content:center; color:#fff; z-index:1; }
.s9-cta-icon svg { width:24px; height:24px; }
.s9-cta-title { font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:400; color:#fff; margin:0; line-height:1.2; z-index:1; }
.s9-cta-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 18px; border-radius:9999px; background:linear-gradient(90deg,#41b378,#03a1ac); color:#fff; font-size:13px; font-weight:700; align-self:flex-start; z-index:1; box-shadow:0 6px 18px rgba(3,161,172,0.4); }

/* Сравнение */
.cmp-wrap { overflow-x:auto; border-radius:20px; background:#fff; border:0.5px solid #e5e7eb; box-shadow:0 2px 8px rgba(15,15,49,0.04); }
.cmp { width:100%; min-width:640px; border-collapse:collapse; font-size:14px; }
.cmp th, .cmp td { padding:18px 22px; text-align:left; border-bottom:0.5px solid #eef0f2; vertical-align:top; line-height:1.5; }
.cmp tr:last-child td { border-bottom:none; }
.cmp th { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:18px; color:#0f0f31; }
.cmp td:first-child { font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#9ca3af; }
.cmp td { color:#495069; }
.cmp .us { background:#f0faf7; color:#0f0f31; font-weight:600; }
.cmp th.us { color:#2d8a6a; font-style:italic; }

/* Отзывы */
.rv-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px) / 3); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 2px 8px; }
.rv-track::-webkit-scrollbar { display:none; }
.rv { scroll-snap-align:start; display:flex; flex-direction:column; background:#fff; border:0.5px solid #e5e7eb; border-radius:20px; padding:28px; box-shadow:0 2px 8px rgba(15,15,49,0.04); }
.rv-stars { color:#f5b301; letter-spacing:3px; font-size:15px; margin:0 0 14px; }
.rv-text { font-size:14px; line-height:1.7; color:#495069; margin:0 0 20px; flex:1; }
.rv-who { display:flex; align-items:center; gap:12px; padding-top:16px; border-top:0.5px solid #eef0f2; }
.rv-ava { width:40px; height:40px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#41b378,#03a1ac); color:#fff; font-weight:700; font-size:15px; }
.rv-name { font-size:14px; font-weight:600; color:#0f0f31; }
.rv-role { font-size:12px; color:#9ca3af; }
.rv-nav { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; }
.rv-arrow { width:44px; height:44px; border-radius:50%; background:#fff; border:0.5px solid #e5e7eb; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#0f0f31; box-shadow:0 4px 14px rgba(15,15,49,0.08); padding:0; }
.rv-arrow svg { width:20px; height:20px; }
.rv-dots { display:flex; gap:8px; }
.rv-dot { width:8px; height:8px; padding:0; border-radius:9999px; border:none; background:#d8dde3; cursor:pointer; transition:width 0.2s, background 0.2s; }
.rv-dot.is-on { width:24px; background:linear-gradient(90deg,#41b378,#03a1ac); }

/* Тарифы (как на сайте) */
.pr-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; align-items:stretch; }
.pr-card { position:relative; display:flex; flex-direction:column; background:#fff; border:0.5px solid #e5e7eb; border-radius:24px; padding:36px 32px; transition:transform 0.25s,box-shadow 0.25s; }
.pr-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(15,15,49,0.08); }
.pr-card.featured { border-color:transparent; box-shadow:0 12px 32px rgba(15,15,49,0.12); }
.pr-card.featured::before { content:''; position:absolute; inset:0; border-radius:24px; padding:1.5px; background:linear-gradient(135deg,#41b378,#03a1ac,#00a0b0); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.pr-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); padding:6px 14px; border-radius:9999px; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); color:#fff; font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; }
.pr-name { font-family:'Playfair Display',Georgia,serif; font-size:24px; font-weight:400; color:#0f0f31; margin:0 0 8px; }
.pr-tagline { font-size:13px; line-height:1.5; color:#9ca3af; min-height:38px; margin:0 0 22px; }
.pr-price { font-family:'Playfair Display',Georgia,serif; font-size:44px; font-weight:400; line-height:1; color:#0f0f31; margin-bottom:6px; }
.pr-billing { font-size:12px; color:#9ca3af; margin:0 0 24px; line-height:1.5; }
.pr-divider { height:0.5px; background:#e5e7eb; margin:0 0 22px; }
.pr-features-title { font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#9ca3af; margin:0 0 14px; }
.pr-features { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.pr-feature { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:0.5px solid #eef0f2; }
.pr-feature:last-child { border-bottom:none; }
.pr-feat-icon { flex-shrink:0; width:18px; height:18px; margin-top:1px; color:#41b378; }
.pr-feat-title { font-size:13.5px; font-weight:600; line-height:1.35; color:#0f0f31; }
.pr-feat-desc { font-size:12px; line-height:1.45; color:#9ca3af; margin-top:3px; }
.pr-cta-block { margin-top:auto; padding-top:24px; }
.pr-cta { display:block; width:100%; text-align:center; border-radius:9999px; padding:14px 24px; font-size:14px; font-weight:700; letter-spacing:0.02em; text-decoration:none; transition:all 0.2s; }
.pr-cta-primary { color:#fff; background:linear-gradient(90deg,#41b378,#03a1ac 50%,#00a0b0); box-shadow:0 8px 22px rgba(3,161,172,0.35); }
.pr-cta-primary:hover { transform:translateY(-1px); }
.pr-cta-ghost { color:#0f0f31; background:#fff; border:1px solid rgba(15,15,49,0.18); }
.pr-cta-ghost:hover { border-color:#0f0f31; }
.pr-cta-note { font-size:11px; color:#9ca3af; text-align:center; margin:10px 0 0; line-height:1.4; }
.pr-free { text-align:center; margin:28px 0 0; font-size:14px; color:#495069; }
.pr-free b { color:#2d8a6a; }

/* FAQ */
.faq-inner { max-width:920px; margin:0 auto; }
.faq-list { display:flex; flex-direction:column; gap:12px; margin-bottom:48px; }
.faq-item { background:#f7f8fa; border:0.5px solid #e5e7eb; border-radius:16px; overflow:hidden; transition:all 0.2s; }
.faq-item:hover { border-color:#c5e8da; }
.faq-item.is-open { background:#fff; border-color:#c5e8da; box-shadow:0 4px 14px rgba(15,15,49,0.04); }
.faq-q { width:100%; border:none; background:none; cursor:pointer; text-align:left; padding:22px 28px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:inherit; }
.faq-qtext { flex:1; font-family:'Playfair Display',Georgia,serif; font-size:18px; font-weight:400; line-height:1.4; color:#0f0f31; }
.faq-icon { flex-shrink:0; width:32px; height:32px; border-radius:50%; background:#f0faf7; display:flex; align-items:center; justify-content:center; transition:all 0.25s; }
.faq-icon svg { width:14px; height:14px; color:#41b378; transition:color 0.25s; }
.faq-item.is-open .faq-icon { background:linear-gradient(135deg,#41b378,#03a1ac); transform:rotate(180deg); }
.faq-item.is-open .faq-icon svg { color:#fff; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.3s; }
.faq-item.is-open .faq-answer { max-height:520px; }
.faq-answer-inner { padding:0 28px 24px; font-size:14px; line-height:1.7; color:#707070; }
.faq-more { text-align:center; border-top:0.5px solid rgba(229,231,235,0.8); padding:32px 0 0; }
.faq-more p { font-size:14px; color:#707070; margin:0 0 14px; }
.faq-more a { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:#03a1ac; text-decoration:none; }

/* Другие помещения */
.rooms { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.room { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-radius:16px; background:#fff; border:0.5px solid #e5e7eb; text-decoration:none; transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.room:hover { transform:translateY(-2px); border-color:#c5e8da; box-shadow:0 10px 24px rgba(15,15,49,0.07); }
.room-title { font-family:'Playfair Display',Georgia,serif; font-size:18px; color:#0f0f31; margin:0 0 4px; }
.room-text { font-size:13px; line-height:1.5; color:#707070; margin:0; }
.room-arr { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#f0faf7; color:#41b378; display:flex; align-items:center; justify-content:center; font-weight:700; }

/* Финальный призыв */
.final { padding:0 48px 96px; }
.final-card { position:relative; max-width:1200px; margin:0 auto; padding:72px 48px; border-radius:28px; text-align:center; overflow:hidden; background:linear-gradient(135deg,#0f0f31 0%,#1a1a4d 100%); box-shadow:0 20px 50px rgba(15,15,49,0.25); }
.final-card::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 10%,rgba(65,179,120,0.35),transparent 55%), radial-gradient(circle at 85% 90%,rgba(3,161,172,0.35),transparent 50%); pointer-events:none; }
.final-card > * { position:relative; }
.final-h2 { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:42px; line-height:1.15; color:#fff; margin:0 0 16px; }
.final-h2 em { font-style:italic; color:#7fe0b4; }
.final-sub { font-size:16px; line-height:1.65; color:rgba(255,255,255,0.75); max-width:560px; margin:0 auto 32px; }
.final-chips { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; margin-top:24px; font-size:13px; color:rgba(255,255,255,0.65); }
.final-chips span::before { content:'✓ '; color:#7fe0b4; font-weight:700; }

/* Липкая кнопка на телефоне */
.sticky-cta { position:fixed; left:12px; right:12px; bottom:12px; z-index:60; display:none; }
.sticky-cta .cta { width:100%; }
@media (max-width:768px) {
  .sticky-cta { display:block; transform:translateY(140%); transition:transform 300ms; }
  .sticky-cta.is-on { transform:none; }
}

/* Footer */
.site-footer { background:#0f0f31; padding:48px 24px 0; }
@media (min-width:1024px) { .site-footer { padding:48px 40px 0; } }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-columns { display:grid; grid-template-columns:1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.07); }
@media (min-width:768px) { .footer-columns { grid-template-columns:2fr 1fr 1fr 1fr; } }
.col-logo { font-family:'Playfair Display',Georgia,serif; font-size:22px; letter-spacing:0.02em; color:#fff; margin-bottom:12px; }
.col-logo .accent { font-style:italic; color:#41b378; }
.col-desc { font-size:13px; line-height:1.7; color:rgba(255,255,255,0.45); max-width:280px; margin:0; }
.col-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:14px; }
.col-link { display:block; font-size:13px; color:rgba(255,255,255,0.45); text-decoration:none; margin-bottom:8px; transition:color 150ms; }
.col-link:hover { color:rgba(255,255,255,0.8); }
.footer-legal { padding:20px 0; font-size:12px; }
.legal-email { color:rgba(255,255,255,0.7); text-decoration:none; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center; padding:16px 0; border-top:1px solid rgba(255,255,255,0.07); }
.copyright { font-size:12px; color:rgba(255,255,255,0.25); }
.made-in { font-size:12px; color:rgba(255,255,255,0.35); }

/* Планшет */
@media (max-width:1024px) {
  .cards--3 { grid-template-columns:1fr 1fr; }
  .s9-grid { grid-template-columns:repeat(3,1fr); }
  .split { grid-template-columns:1fr; }
  .split--rev .split-photo { order:0; }
  .split-photo img { aspect-ratio:16/10; height:auto; }
  .rooms { grid-template-columns:1fr 1fr; }
  .rv-track { grid-auto-columns:calc((100% - 20px) / 2); }
  .facts { grid-template-columns:1fr 1fr; }
}

/* Телефон */
@media (max-width:768px) {
  .crumbs { padding:16px 16px 0; }
  .hero-inner { grid-template-columns:1fr; gap:28px; padding:28px 16px 48px; }
  .hero-h1 { font-size:32px; line-height:1.15; }
  .hero-sub { font-size:15px; }
  .hero-img { aspect-ratio:4/3; }
  .hero-pip { width:96px; left:12px; bottom:12px; }
  .hero-stats { gap:16px; flex-wrap:wrap; padding-top:16px; margin-top:20px; }
  .hero-stat .num { font-size:22px; }
  .cta { width:100%; padding:16px 20px; }
  .sec { padding:56px 16px; }
  .sec-head { margin-bottom:32px; }
  .sec-h2 { font-size:28px; }
  .ex-toggle { bottom:auto; top:16px; left:auto; right:16px; transform:none; padding:8px 14px; font-size:12px; }
  .ex-cta { display:none; }
  .ex-arrow { width:36px; height:36px; }
  .ex-arrow.left { left:10px; }
  .ex-arrow.right { right:10px; }
  .ex-thumb { width:116px; height:87px; }
  .hw-step { padding:20px 18px; gap:14px; }
  .hw-num-col { width:32px; padding-top:0; justify-content:flex-start; }
  .hw-num { font-size:32px; }
  .hw-line { left:32px; }
  .cards--3, .cards--2 { grid-template-columns:1fr; }
  .card { padding:24px 20px; }
  .card--photo { padding:0; }
  .card-body { padding:22px 20px 24px; }
  .wide-photo img { aspect-ratio:4/3; }
  .wide-photo figcaption, .split-photo figcaption { left:10px; bottom:10px; font-size:11px; padding:6px 10px; }
  .s9-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .s9-card-overlay { display:none; }
  .s9-card-label { font-size:13px; }
  .s9-cta-card { padding:14px; }
  .s9-cta-title { font-size:16px; }
  .s9-cta-icon { display:none; }
  .s9-cta-btn { padding:8px 14px; font-size:12px; }
  .rv-track { grid-auto-columns:88%; }
  .pr-grid { grid-template-columns:1fr; gap:16px; }
  .pr-card { padding:26px 22px; }
  .faq-q { padding:18px; }
  .faq-qtext { font-size:16px; }
  .faq-answer-inner { padding:0 18px 20px; font-size:13.5px; }
  .rooms { grid-template-columns:1fr; }
  /* Сравнение на телефоне: строка таблицы — карточка */
  .cmp-wrap { overflow:visible; background:none; border:none; box-shadow:none; border-radius:0; }
  .cmp { min-width:0; }
  .cmp thead { display:none; }
  .cmp, .cmp tbody { display:block; }
  .cmp tr { display:block; margin-bottom:12px; background:#fff; border:0.5px solid #e5e7eb; border-radius:16px; overflow:hidden; }
  .cmp td { display:flex; justify-content:space-between; gap:16px; padding:12px 18px; border-bottom:0.5px solid #eef0f2; }
  .cmp td:first-child { display:block; padding:14px 18px 10px; color:#0f0f31; font-size:12px; }
  .cmp td[data-l]::before { content:attr(data-l); color:#9ca3af; font-weight:500; }
  .cmp td.us::before { color:#2d8a6a; font-weight:700; }
  .cmp td.us { border-bottom:none; text-align:right; }
  .final { padding:0 16px 88px; }
  .final-card { padding:48px 20px; border-radius:22px; }
  .final-h2 { font-size:30px; }
}
@media (max-width:420px) {
  .hero-h1 { font-size:28px; }
  .facts { grid-template-columns:1fr 1fr; }
  .fact { padding:16px; }
  .fact b { font-size:24px; }
}

/* ===== Дополнения для страниц, собранных из ТЗ ===== */
.hero-sub--2 { font-size:15px; }
/* Первый экран без фото */
.hero-panel { position:relative; border-radius:24px; padding:44px 40px; overflow:hidden; color:#fff; background:linear-gradient(135deg,#0f0f31 0%,#1a1a4d 100%); box-shadow:0 20px 50px rgba(15,15,49,0.25); }
.hero-panel::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 10%,rgba(65,179,120,0.35),transparent 55%), radial-gradient(circle at 90% 90%,rgba(3,161,172,0.35),transparent 50%); pointer-events:none; }
.hero-panel > * { position:relative; }
.hero-panel-num { font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:64px; line-height:1; color:#7fe0b4; }
.hero-panel-lbl { margin:8px 0 24px; font-size:14px; color:rgba(255,255,255,0.7); }
.hero-panel-list { list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:12px; }
.hero-panel-list li { padding-left:28px; position:relative; font-size:15px; line-height:1.5; color:rgba(255,255,255,0.9); }
.hero-panel-list li::before { content:'✓'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:rgba(127,224,180,0.18); color:#7fe0b4; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
/* Стили без фото */
.s9-card--text { display:flex; flex-direction:column; justify-content:flex-end; padding:20px; background:linear-gradient(135deg,#f0faf7 0%,#d9efe6 100%); border:0.5px solid #c5e8da; }
.s9-card--text:nth-child(3n+2) { background:linear-gradient(135deg,#f3f0fa 0%,#e1d9ef 100%); border-color:#d9cfe9; }
.s9-card--text:nth-child(3n) { background:linear-gradient(135deg,#faf5ec 0%,#efe3cc 100%); border-color:#eadbbd; }
.s9-text-title { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:22px; color:#0f0f31; margin:0 0 8px; }
.s9-text-desc { font-size:13px; line-height:1.55; color:#495069; margin:0; }
/* Карточки экспертных блоков */
.cards--1 { grid-template-columns:1fr; }
.card--intro { margin-bottom:20px; }
.card .bullets { margin:4px 0 12px; }
.card .cmp-wrap { margin:8px 0 12px; box-shadow:none; }
.card .cmp { min-width:0; font-size:13px; }
.card .cmp th, .card .cmp td { padding:12px 14px; }
.cmp-wrap + .note { margin-top:24px; }
@media (max-width:768px) {
  .hero-panel { padding:32px 22px; }
  .hero-panel-num { font-size:48px; }
  .s9-card--text { padding:14px; }
  .s9-text-title { font-size:17px; }
  .s9-text-desc { display:none; }
  .card .cmp td { padding:10px 14px; }
}

/* Стили простым перечислением (страницы без фото стилей) */
.style-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.style-chip { display:flex; align-items:center; gap:12px; padding:18px 20px; border-radius:14px; background:#fff; border:0.5px solid #e5e7eb; box-shadow:0 2px 8px rgba(15,15,49,0.04); font-family:'Playfair Display',Georgia,serif; font-size:18px; color:#0f0f31; }
.style-chip::before { content:''; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,#41b378,#03a1ac); }
@media (max-width:1024px) { .style-list { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px) { .style-list { grid-template-columns:1fr 1fr; gap:10px; } .style-chip { padding:14px 16px; font-size:16px; } }

/* Отзывы: карусель по кругу */
.rv-track { display:block; overflow:hidden; padding:4px 2px 8px; }
.rv-rail { display:flex; gap:20px; transition:transform 0.5s ease; will-change:transform; }
.rv-rail .rv { flex:0 0 calc((100% - 40px) / 3); }
@media (max-width:1024px) { .rv-rail .rv { flex-basis:calc((100% - 20px) / 2); } }
@media (max-width:768px) { .rv-rail { gap:12px; } .rv-rail .rv { flex-basis:88%; } }
/* Блоки стилей: название + короткое описание */
.style-list { grid-template-columns:repeat(3,1fr); }
.style-chip { flex-direction:column; align-items:flex-start; gap:6px; padding:20px 22px; }
.style-chip::before { display:none; }
.style-chip-name { display:flex; align-items:center; gap:10px; font-family:'Playfair Display',Georgia,serif; font-size:19px; color:#0f0f31; }
.style-chip-name::before { content:''; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,#41b378,#03a1ac); }
.style-chip-desc { font-family:'Raleway',sans-serif; font-size:13px; line-height:1.55; color:#707070; }
@media (max-width:768px) { .style-list { grid-template-columns:1fr; } .style-chip-name { font-size:17px; } }

/* Футер: отдельная колонка «Интерьер» в две колонки ссылок */
@media (min-width:768px) { .footer-columns { grid-template-columns:1.4fr 0.8fr 2fr 1fr 1.2fr; gap:32px; } }
.col-interior .col-links { columns:2; column-gap:24px; }
.col-interior .col-link { break-inside:avoid; }
@media (max-width:767px) { .col-interior .col-links { columns:2; } }

/* Примеры: пока грузится чёткое фото, показываем размытую миниатюру */
.ex-stage-photo { transition:filter 250ms; }
.ex-stage-photo.is-loading { filter:blur(8px); }

/* Подвал как на основных страницах сайта: цифры и реквизиты */
.footer-stats { display:grid; grid-template-columns:1fr; gap:1px; background:rgba(255,255,255,0.07); border-radius:16px; overflow:hidden; margin:32px 0; }
@media (min-width:640px) { .footer-stats { grid-template-columns:repeat(3,1fr); } }
.stat-cell { background:rgba(255,255,255,0.03); padding:16px 20px; }
.stat-value { display:block; font-family:"Playfair Display",Georgia,serif; font-size:26px; font-weight:400; color:#fff; line-height:1.1; }
.stat-label { font-size:11px; color:rgba(255,255,255,0.35); }
.footer-legal { padding:20px 0; border-top:1px solid rgba(255,255,255,0.07); display:flex; flex-direction:column; gap:6px; font-size:12px; color:rgba(255,255,255,0.45); line-height:1.6; }
.legal-email { color:rgba(255,255,255,0.7); text-decoration:none; width:fit-content; }
.made-in { display:flex; align-items:center; gap:6px; }

/* Соцсети: монохромные иконки в цвет подвала, при наведении — цвет сети */
.col-social { gap:16px; margin-top:22px; }
.col-social { display:flex; flex-wrap:wrap; }
.social-link { display:inline-flex; width:26px; height:26px; color:rgba(255,255,255,0.45); transition:color 180ms, transform 180ms; }
.social-link:hover { transform:translateY(-1px); }
.social-link svg { width:26px; height:26px; fill:currentColor; }
.social-tg:hover { color:#26A5E4; }
.social-vk:hover { color:#0077FF; }
.social-pin:hover { color:#E60023; }

/* Ссылка на блог в подвале */
.footer-blog { display:inline-flex; align-items:center; gap:6px; margin-top:18px; font-size:13px; font-weight:500; color:rgba(255,255,255,0.7); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.2); padding-bottom:2px; transition:color 150ms, border-color 150ms; }
.footer-blog:hover { color:#7fe0b4; border-color:#7fe0b4; }
.hw-extra { margin-top:18px; background:#f0faf5; border:0.5px solid #cdeedd; border-radius:16px; padding:24px 32px; }
.hw-extra .hw-title { margin-top:0; }
.hw-extra .hw-desc { margin:0; }
@media (max-width:640px) { .hw-extra { padding:20px 18px; } }

/* ===== Статья блога ===== */
.post { max-width:1200px; margin:0 auto; padding:28px 48px 80px; }
.post-head { max-width:820px; }
.post-tag { display:inline-block; padding:4px 12px; border-radius:9999px; background:rgba(65,179,120,0.1); color:#2d8a6a; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px; }
.post-h1 { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:44px; line-height:1.15; color:#0f0f31; margin:0 0 18px; }
.post-lead { font-size:18px; line-height:1.7; color:#495069; margin:0 0 18px; }
.post-meta { display:flex; gap:8px; font-size:13px; color:#9ca3af; }
.post-cover { margin:32px 0 48px; border-radius:20px; overflow:hidden; box-shadow:0 18px 48px rgba(15,15,49,0.12); }
.post-cover img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.post-layout { display:grid; grid-template-columns:240px minmax(0,760px); gap:56px; }
.toc { position:sticky; top:88px; align-self:start; font-size:14px; }
.toc-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#9ca3af; margin-bottom:12px; }
.toc ol { margin:0; padding:0 0 0 18px; color:#9ca3af; }
.toc li { margin-bottom:10px; line-height:1.4; }
.toc a { color:#495069; text-decoration:none; }
.toc a:hover, .toc a.is-on { color:#2d8a6a; }
.post-body { min-width:0; font-size:17px; line-height:1.75; color:#3a3f55; }
.post-body h2 { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:32px; line-height:1.2; color:#0f0f31; margin:56px 0 18px; scroll-margin-top:88px; }
.post-body h3 { font-family:'Playfair Display',Georgia,serif; font-weight:400; font-size:23px; color:#0f0f31; margin:36px 0 12px; }
.post-body p { margin:0 0 18px; }
.post-body ul, .post-body ol { margin:0 0 22px; padding-left:22px; }
.post-body li { margin-bottom:10px; }
.post-body b { color:#0f0f31; font-weight:600; }
.post-body a { color:#03a1ac; text-decoration-thickness:1px; text-underline-offset:3px; }
.post-fig { margin:26px 0 28px; }
.post-fig img { width:100%; height:auto; border-radius:16px; aspect-ratio:3/2; object-fit:cover; }
.post-fig figcaption { font-size:13px; color:#9ca3af; margin-top:10px; line-height:1.5; }
.table-wrap { overflow-x:auto; margin:8px 0 24px; border-radius:16px; border:0.5px solid #e5e7eb; }
.post-table { width:100%; border-collapse:collapse; font-size:15px; min-width:520px; }
.post-table th { text-align:left; padding:14px 18px; background:#f7f8fa; font-weight:600; color:#0f0f31; }
.post-table td { padding:14px 18px; border-top:0.5px solid #eef0f2; vertical-align:top; }
.post-tip { padding:18px 22px; border-radius:14px; background:#f0faf7; border-left:3px solid #41b378; font-size:16px; }
.post-try { margin:56px 0; padding:40px; border-radius:24px; background:linear-gradient(#f7fdfa,#f7fdfa) padding-box, linear-gradient(135deg,#41b378,#03a1ac) border-box; border:1.5px solid transparent; }
.post-try h2 { margin-top:0; }
.ba-compare { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:24px 0; }
.ba-compare figure { margin:0; }
.ba-compare img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
.ba-compare figcaption { font-size:13px; color:#707070; margin-top:8px; }
.post-steps { counter-reset:s; list-style:none; padding:0 !important; }
.post-steps li { counter-increment:s; position:relative; padding-left:44px; margin-bottom:14px; }
.post-steps li::before { content:counter(s); position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#41b378,#03a1ac); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.post-cta { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; margin-top:26px; }
.post-body .cta { color:#fff; text-decoration:none; }
.cta-link { font-weight:600; color:#03a1ac; text-decoration:none !important; }
.post-body .faq-list { margin:8px 0 40px; }
.post-related { display:grid; gap:12px; margin-top:24px; }
.post-related-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#9ca3af; }
.post-related .room { text-decoration:none; }
.post-related .room-title { margin:0 0 4px; }
.post-related .room-text { margin:0; font-size:13px; }
@media (max-width:1024px) { .post-layout { grid-template-columns:minmax(0,1fr); gap:32px; } .toc { position:static; padding:20px 22px; border-radius:16px; background:#f7f8fa; } }
@media (max-width:768px) {
  .crumbs { padding:16px 16px 0; }
  .post { padding:20px 16px 56px; }
  .post-h1 { font-size:30px; }
  .post-lead { font-size:16px; }
  .post-cover { margin:24px 0 32px; border-radius:16px; }
  .post-body { font-size:16px; }
  .post-body h2 { font-size:26px; margin-top:44px; }
  .post-body h3 { font-size:20px; }
  .post-try { padding:26px 18px; margin:44px 0; }
  .ba-compare { grid-template-columns:1fr; }
  .post-cta .cta { width:100%; }
}
/* Боковая колонка: оглавление + закреплённый призыв (ПК); на телефоне — блок в тексте */
.post-side { position:sticky; top:88px; align-self:start; display:flex; flex-direction:column; gap:22px; }
.post-side .toc { position:static; }
.side-cta { padding:18px; border-radius:18px; background:linear-gradient(#f7fdfa,#f7fdfa) padding-box, linear-gradient(135deg,#41b378,#03a1ac) border-box; border:1.5px solid transparent; opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity 300ms, transform 300ms; }
.side-cta.is-on { opacity:1; transform:none; pointer-events:auto; }
.side-cta-pics { display:flex; align-items:center; gap:6px; margin-bottom:12px; }
.side-cta-pics img { width:calc(50% - 10px); aspect-ratio:1; object-fit:cover; border-radius:10px; }
.side-cta-pics span { color:#41b378; font-weight:700; }
.side-cta-title { font-family:'Playfair Display',Georgia,serif; font-size:17px; line-height:1.3; color:#0f0f31; margin:0 0 6px; }
.side-cta-text { font-size:13px; line-height:1.5; color:#707070; margin:0 0 14px; }
.cta--sm { padding:11px 18px; font-size:14px; width:100%; }
.post-try--mid { display:none; padding:26px 22px; margin:36px 0; }
.post-try-title { font-family:'Playfair Display',Georgia,serif; font-size:21px; line-height:1.3; color:#0f0f31; margin:0 0 8px; }
.ba-compare--styles { grid-template-columns:repeat(3,1fr); }
.ba-compare--styles img { aspect-ratio:1; }
@media (max-height:760px) { .side-cta-pics { display:none; } .toc li { margin-bottom:6px; } }
@media (max-width:1024px) { .post-side { position:static; } .side-cta { display:none; } .post-try--mid { display:block; } }
@media (max-width:768px) { .ba-compare--styles { grid-template-columns:1fr 1fr; } .post-try--mid .cta { width:100%; } }
.side-cta-pics img { height:auto; }
.ba-compare--styles figure:first-child { grid-row:span 2; display:flex; flex-direction:column; }
.ba-compare--styles figure:first-child img { flex:1; height:100%; aspect-ratio:auto; min-height:0; }
@media (max-width:768px) { .ba-compare--styles figure:first-child { grid-column:span 2; grid-row:auto; } .ba-compare--styles figure:first-child img { aspect-ratio:4/3; } }
/* Мини-ленты и галерея идей */
.strip { margin:6px 0 30px; }
.strip-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#9ca3af; margin-bottom:10px; }
.strip-row, .gal { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.strip figure, .gal figure { margin:0; }
.strip img, .gal img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:12px; transition:transform 200ms, box-shadow 200ms; }
.lb-link { display:block; border-radius:12px; overflow:hidden; cursor:zoom-in; }
.lb-link:hover img { transform:scale(1.03); }
.strip figcaption, .gal figcaption { font-size:12.5px; line-height:1.45; color:#707070; margin-top:7px; }
.gal-wrap h3 { margin-top:30px; }
.gal { margin-bottom:8px; }
.gal-note { font-size:14px; color:#9ca3af; margin-top:16px; }
/* Просмотр фото */
.lb { position:fixed; inset:0; z-index:200; background:rgba(10,10,30,0.92); display:none; align-items:center; justify-content:center; padding:56px 64px; }
.lb.is-open { display:flex; }
.lb figure { margin:0; max-width:1100px; width:100%; text-align:center; }
.lb img { max-width:100%; max-height:calc(100vh - 150px); width:auto; height:auto; border-radius:14px; margin:0 auto; }
.lb figcaption { color:rgba(255,255,255,0.85); font-size:14px; margin-top:12px; }
.lb-btn { position:absolute; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,0.12); color:#fff; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.lb-btn:hover { background:rgba(255,255,255,0.22); }
.lb-prev { left:14px; top:50%; transform:translateY(-50%); }
.lb-next { right:14px; top:50%; transform:translateY(-50%); }
.lb-close { right:14px; top:14px; }
.lb-count { position:absolute; left:20px; top:24px; color:rgba(255,255,255,0.6); font-size:13px; }
@media (max-width:768px) {
  .strip-row { grid-template-columns:repeat(3,72%); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
  .strip-row::-webkit-scrollbar { display:none; }
  .strip-row figure { scroll-snap-align:start; }
  .gal { grid-template-columns:1fr 1fr; gap:10px; }
  .lb { padding:56px 8px; }
  .lb-prev, .lb-next { top:auto; bottom:18px; transform:none; }
  .lb-prev { left:calc(50% - 56px); } .lb-next { right:calc(50% - 56px); }
}
/* Первый экран статьи: заголовок слева, обложка справа */
.post-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:center; margin-bottom:44px; }
.post-hero .post-head { max-width:none; }
.post-hero .post-h1 { font-size:46px; }
.post-hero .post-lead { font-size:17px; }
.post-hero .post-cover { margin:0; }
.post-hero .post-cover img { aspect-ratio:4/3; }
/* Увеличение любой картинки статьи */
.post-cover img, .post-fig img, .ba-compare img { cursor:zoom-in; }
@media (max-width:1024px) { .post-hero { grid-template-columns:1fr; gap:24px; margin-bottom:32px; } .post-hero .post-cover img { aspect-ratio:16/10; } }
@media (max-width:768px) { .post-hero .post-h1 { font-size:30px; } .post-hero .post-lead { font-size:16px; } }
/* Поделиться */
.share { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.share--top { margin-top:18px; }
.share--bottom { margin:40px 0 28px; padding:20px 0; border-top:0.5px solid #e5e7eb; border-bottom:0.5px solid #e5e7eb; }
.share-label { font-size:13px; color:#9ca3af; margin-right:4px; }
.share-link { width:36px; height:36px; border-radius:50%; border:0.5px solid #e5e7eb; background:#fff; color:#707070; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; text-decoration:none; transition:color 150ms, border-color 150ms, transform 150ms; }
.share-link svg { width:18px; height:18px; fill:currentColor; }
.share-copy svg { fill:none; }
.share-link:hover { transform:translateY(-1px); border-color:currentColor; }
.share-tg:hover { color:#26A5E4; }
.share-vk:hover { color:#0077FF; }
.share-wa:hover { color:#25D366; }
.share-pin:hover { color:#E60023; }
.share-copy { width:auto; padding:0 14px 0 11px; border-radius:9999px; gap:7px; font:500 13px 'Raleway',sans-serif; }
.share-copy:hover { color:#2d8a6a; }
.share-copy.is-done { color:#2d8a6a; border-color:#41b378; }
@media (max-width:768px) { .share-copy-text { display:none; } .share-copy { width:36px; padding:0; } .share-copy.is-done .share-copy-text { display:inline; } .share-copy.is-done { width:auto; padding:0 12px; } }

/* Боковая колонка не выше экрана: длинное оглавление прокручивается, карточка всегда видна целиком */
@media (min-width:1025px) {
  .post-side { max-height:calc(100vh - 108px); }
  .post-side .toc { display:flex; flex-direction:column; min-height:0; flex:0 1 auto; }
  .post-side .toc ol { overflow-y:auto; min-height:0; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d6dbd8 transparent; padding-right:6px;
    -webkit-mask-image:linear-gradient(#000 calc(100% - 24px), transparent); mask-image:linear-gradient(#000 calc(100% - 24px), transparent); }
  .post-side .toc ol.at-end { -webkit-mask-image:none; mask-image:none; }
  .post-side .side-cta { flex:none; }
}

/* Графика (палитры, схемы, шпаргалки): без обрезки */
.post-fig--graphic img { aspect-ratio:auto; object-fit:contain; background:#f7f7f5; }
.post-fig--tall { max-width:520px; margin-left:auto; margin-right:auto; }
.post-fig--tall figcaption { text-align:center; }

/* Об авторах */
.post-author { margin:36px 0 8px; padding:22px 24px; border-radius:16px; background:#f7f8fa; border:0.5px solid #e5e7eb; }
.post-author-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#9ca3af; margin-bottom:8px; }
.post-author p { font-size:15px; line-height:1.65; color:#4b5563; margin:0; }

/* cta-center-fix: текст кнопки по центру, вторичная ссылка под кнопкой по центру на телефоне */
.cta { text-align:center; line-height:1.3; min-height:48px; }
@media (max-width:768px) {
  .post-cta { flex-direction:column; align-items:stretch; gap:14px; }
  .post-cta .cta-link { text-align:center; }
}

/* to-top: кнопка «Наверх» (только телефон и планшет) */
.to-top { position:fixed; right:max(16px, env(safe-area-inset-right, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:55; width:44px; height:44px; border-radius:50%; border:1px solid #e5e7eb; background:rgba(255,255,255,0.94); color:#0f0f31; box-shadow:0 6px 18px rgba(15,15,49,0.14); display:none; align-items:center; justify-content:center; cursor:pointer; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity 200ms, transform 200ms; -webkit-tap-highlight-color:transparent; }
.to-top svg { width:20px; height:20px; }
.to-top.is-on { opacity:1; transform:none; pointer-events:auto; }
.to-top:focus-visible { outline:2px solid #03a1ac; outline-offset:2px; }
@media (max-width:1023px) { .to-top { display:flex; } }
@media (prefers-reduced-motion:reduce) { .to-top { transition:none; } }
