/* Дизайн-система страниц сайта (как /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; }
}

/* Отзывы: карусель по кругу */
.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%; } }

/* Футер: отдельная колонка «Интерьер» в две колонки ссылок */
@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; }
