
  /* Шрифты лежат рядом с сайтом: без обращения к внешним CDN страница
     открывается быстрее и не зависит от чужой доступности */
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-400-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-400-latin.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-500-cyrillic.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-500-latin.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-600-cyrillic.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-600-latin.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-700-cyrillic.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Manrope';src:url('/fonts/Manrope-700-latin.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}
  @font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-500-cyrillic.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-500-latin.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}
  @font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-600-cyrillic.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-600-latin.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212;}

  :root{
    --ink:#171310; --ink-2:#6A6057; --ink-3:#9A8F84;
    --cream:#F7F4EF; --paper:#FFFFFF; --line:#E5DED2;
    --brass:#B08D57; --brass-2:#C2A36B; --brass-dark:#8A6C3E;
    --deep:#14100D; --deep-2:#1D1814;
    --shadow:0 1px 2px rgba(23,19,16,.03), 0 18px 44px rgba(23,19,16,.06);
    --serif:'Playfair Display',Georgia,'Times New Roman',serif;
    --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--cream); color:var(--ink); font:400 17px/1.68 var(--sans); -webkit-font-smoothing:antialiased;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 28px;}
  h1,h2,h3{margin:0; font-family:var(--serif); font-weight:500; line-height:1.16; letter-spacing:-.01em;}
  p{margin:0;}
  a{color:inherit;}
  img{max-width:100%; display:block;}

  /* --- Шапка --- */
  header{position:sticky; top:0; z-index:80; background:rgba(247,244,239,.93); backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line);}
  header.on-dark{background:transparent; border-bottom-color:rgba(255,255,255,.14);}
  .bar{display:flex; align-items:center; gap:30px; height:84px;}
  .logo{display:flex; align-items:center; gap:13px; text-decoration:none; flex:none;}
  .logo .mark{width:46px; height:46px; display:grid; place-items:center; flex:none;}
  .logo .mark svg{width:26px; height:29px;}
  .logo b{display:block; font-family:var(--serif); font-weight:500; font-size:1.12rem; letter-spacing:.02em; line-height:1.2;}
  .logo i{font-style:normal; display:block; font-size:.63rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3); margin-top:3px;}
  header.on-dark .logo b{color:#fff;}
  header.on-dark .logo i{color:rgba(255,255,255,.55);}
  header.on-dark .logo .mark{border-color:var(--brass-2);}
  nav{display:flex; gap:26px; margin-left:auto; font-size:.88rem; letter-spacing:.02em;}
  nav a{color:var(--ink-2); text-decoration:none; white-space:nowrap; transition:color .2s;}
  nav a:hover{color:var(--brass-dark);}
  header.on-dark nav a{color:rgba(255,255,255,.72);}
  header.on-dark nav a:hover{color:var(--brass-2);}
  .tel-top{text-decoration:none; white-space:nowrap; font-weight:600; font-size:1.02rem; letter-spacing:.01em;}
  header.on-dark .tel-top{color:#fff;}
  .burger{display:none; margin-left:auto; background:none; border:0; padding:8px; cursor:pointer;}
  .burger span{display:block; width:24px; height:1px; background:var(--ink); margin:6px 0;}
  header.on-dark .burger span{background:#fff;}

  /* --- Кнопки --- */
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:17px 34px;
    font:600 .93rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
    border:1px solid transparent; border-radius:2px; cursor:pointer; transition:.2s;}
  .btn-brass{background:var(--brass); color:#fff;}
  .btn-brass:hover{background:var(--brass-dark);}
  .btn-line{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-line:hover{border-color:var(--brass);}
  .btn-onlight{background:transparent; color:#fff; border-color:rgba(255,255,255,.4);}
  .btn-onlight:hover{border-color:#fff; background:rgba(255,255,255,.08);}

  section{padding:104px 0;}
  .rule{width:44px; height:1px; background:var(--brass); margin-bottom:22px;}
  .kicker{font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--brass-dark); font-weight:600; margin-bottom:16px;}
  .h2{font-size:clamp(1.9rem,3.6vw,2.9rem); max-width:20ch;}
  .lead{margin-top:20px; font-size:1.06rem; color:var(--ink-2); max-width:62ch;}

  /* --- Первый экран --- */
  .hero{position:relative; min-height:min(94vh,880px); display:flex; align-items:flex-end; margin-top:-84px; padding:180px 0 74px; color:#fff; overflow:hidden;}
  .hero::before{content:''; position:absolute; inset:0; z-index:-2;
    background:url('img/hero.jpg') center/cover no-repeat;
    /* webp вдвое легче; браузеры без его поддержки берут jpg строкой выше */
    background-image:image-set(url('img/hero.webp') type('image/webp'), url('img/hero.jpg') type('image/jpeg'));}
  .hero::after{content:''; position:absolute; inset:0; z-index:-1;
    /* Затемняем только низ, под текст. Прежний градиент глушил всю картинку,
       и яркий рендер выглядел сумрачно. */
    /* Два слоя: слева тень под текст, снизу лёгкая подложка. Так заголовок
       читается, а фотография справа остаётся яркой. Один общий градиент
       либо глушил картинку, либо не давал контраста тексту. */
    background:
      linear-gradient(to right, rgba(12,9,7,.78) 0%, rgba(12,9,7,.46) 34%, rgba(12,9,7,.12) 62%, rgba(12,9,7,0) 80%),
      linear-gradient(to top, rgba(12,9,7,.62) 0%, rgba(12,9,7,.10) 46%, rgba(12,9,7,.04) 72%, rgba(12,9,7,.14) 100%);}
  .hero .wrap{position:relative; z-index:1;}
  .hero .kicker{color:var(--brass-2);}
  .hero h1{font-size:clamp(2.3rem,5.4vw,4.1rem); max-width:17ch; color:#fff;}
  .hero p{margin-top:22px; font-size:1.12rem; color:rgba(255,255,255,.82); max-width:52ch;}
  .hero-cta{display:flex; gap:14px; margin-top:38px; flex-wrap:wrap;}
  .hero-facts{display:flex; gap:44px; margin-top:56px; flex-wrap:wrap; padding-top:32px; border-top:1px solid rgba(255,255,255,.16);}
  .hero-facts div b{display:block; font-family:var(--serif); font-size:1.9rem; font-weight:500; color:var(--brass-2);}
  .hero-facts div span{font-size:.83rem; letter-spacing:.05em; color:rgba(255,255,255,.6);}

  /* --- Возражения --- */
  .fears{display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:52px; border-top:1px solid var(--line);}
  .fear{padding:38px 40px 38px 0; border-bottom:1px solid var(--line);}
  .fear:nth-child(odd){padding-right:56px;}
  .fear:nth-child(even){padding-left:56px; border-left:1px solid var(--line);}
  .fear h3{font-size:1.24rem; margin-bottom:14px;}
  .fear p{color:var(--ink-2); font-size:.99rem;}
  .fear .tag{display:inline-block; margin-top:16px; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--brass-dark); border:1px solid var(--line); border-radius:2px; padding:7px 13px;}

  /* --- Каталог --- */
  .tabs{display:flex; gap:14px; margin-top:42px; flex-wrap:wrap;}
  .tab{background:var(--paper); border:1px solid var(--line); border-radius:3px;
    font:700 .98rem/1.15 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2);
    padding:18px 28px; cursor:pointer;
    transition:transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .22s, border-color .2s, background .2s, color .2s;}
  .tab:hover{border-color:var(--brass); color:var(--ink); box-shadow:var(--shadow); transform:translateY(-2px);}
  .tab:focus-visible{outline:2px solid var(--brass); outline-offset:3px;}
  .tab[aria-pressed="true"]{background:var(--brass); border-color:var(--brass); color:#fff;
    box-shadow:0 10px 26px rgba(176,141,87,.28);}
  .tab[aria-pressed="true"]:hover{background:var(--brass-dark); border-color:var(--brass-dark); color:#fff;}
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:38px;}
  .card{background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column; transition:.25s; overflow:hidden;}
  .card .shot{aspect-ratio:10/7; overflow:hidden; background:var(--line);}
  .card .shot img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.3,1);}
  .card:hover .shot img{transform:scale(1.04);}
  .card:hover{border-color:var(--brass); box-shadow:var(--shadow);}
  .card-body{padding:32px; display:flex; flex-direction:column; flex:1;}
  .card .kind{font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass-dark); font-weight:600;}
  .card h3{font-size:1.34rem; margin:12px 0 6px;}
  .card .size{color:var(--ink-2); font-size:.93rem;}
  .card .term{margin-top:16px; font-size:.85rem; color:var(--ink-3);}
  .prices{margin-top:auto; padding-top:22px; border-top:1px solid var(--line);}
  .prices div{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:7px 0; font-size:.9rem; color:var(--ink-2);}
  .prices b{font-family:var(--serif); font-weight:500; color:var(--ink); font-size:1.22rem; white-space:nowrap;}
  .card .btn{margin-top:24px;}

  /* --- Галерея --- */
  .gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:48px;}
  .gallery figure{margin:0; overflow:hidden; aspect-ratio:4/3; background:var(--line);}
  .gallery img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.3,1); filter:saturate(.94);}
  .gallery figure:hover img{transform:scale(1.06);}
  .gallery figure.wide{grid-column:span 2; aspect-ratio:8/3;}

  /* --- Этапы --- */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px;}
  .step{padding:0 32px 0 0; border-left:1px solid var(--line); padding-left:32px;}
  .step:first-child{border-left:0; padding-left:0;}
  .step b{display:block; font-family:var(--serif); font-size:2rem; font-weight:500; color:var(--brass); margin-bottom:16px;}
  .step h3{font-size:1.1rem; margin-bottom:10px;}
  .step p{font-size:.93rem; color:var(--ink-2);}

  /* --- Тёмная секция --- */
  .dark{background:var(--deep); color:#fff;}
  .dark .kicker{color:var(--brass-2);}
  .dark .h2{color:#fff;}
  .dark .lead{color:rgba(255,255,255,.66);}
  .dark .rule{background:var(--brass-2);}
  .gift-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px; border-top:1px solid rgba(255,255,255,.13);}
  .gift{padding:26px 24px 26px 0; border-bottom:1px solid rgba(255,255,255,.13); border-right:1px solid rgba(255,255,255,.13); padding-left:24px;}
  .gift:nth-child(4n){border-right:0;}
  .gift b{display:block; font-size:.98rem; font-weight:500;}
  .gift span{font-size:.82rem; color:rgba(255,255,255,.45);}

  /* --- Отзывы --- */
  .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px;}
  .review{background:var(--paper); border:1px solid var(--line); padding:34px; display:flex; flex-direction:column;}
  .stars{color:var(--brass); letter-spacing:3px; font-size:.82rem; margin-bottom:18px;}
  .review .quote{font-family:var(--serif); font-size:1.04rem; line-height:1.65; flex:1;}
  .review .who{margin-top:24px; padding-top:18px; border-top:1px solid var(--line); font-size:.86rem;}
  .review .who b{display:block; font-weight:600;}
  .review .who span{color:var(--ink-3);}

  /* --- Форма --- */
  .form-wrap{display:grid; grid-template-columns:1.15fr 1fr; gap:64px; margin-top:52px; align-items:start;}
  .field{display:grid; gap:8px; margin-bottom:20px;}
  .field label{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); font-weight:600;}
  .field input, .field select, .field textarea{
    width:100%; padding:15px 0; font:400 1rem var(--sans); color:var(--ink);
    background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; transition:border-color .2s;}
  .field textarea{min-height:86px; resize:vertical;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-bottom-color:var(--brass);}
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  .consent{display:flex; gap:12px; align-items:flex-start; font-size:.83rem; color:var(--ink-3); line-height:1.55; margin:10px 0 24px;}
  .consent input{width:16px; height:16px; flex:none; margin-top:3px; accent-color:var(--brass);}
  .consent a{color:var(--brass-dark);}
  .trap{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .msg{font-size:.88rem; min-height:22px; margin-top:14px;}
  .msg[data-kind="err"]{color:#A8342A;}
  .done{display:none; border:1px solid var(--brass); padding:38px; background:var(--paper);}
  .done[data-on="1"]{display:block;}
  .done h3{font-size:1.4rem; margin-bottom:12px;}
  .done p{color:var(--ink-2);}
  .aside{background:var(--paper); border:1px solid var(--line); padding:40px;}
  .aside h3{font-size:1.24rem; margin-bottom:20px;}
  .aside ul{margin:0; padding:0; list-style:none;}
  .aside li{position:relative; padding-left:24px; margin-bottom:14px; color:var(--ink-2); font-size:.95rem;}
  .aside li::before{content:''; position:absolute; left:0; top:10px; width:8px; height:1px; background:var(--brass);}


  /* --- Основатель --- */
  .founder{display:grid; grid-template-columns:0.9fr 1fr; gap:64px; margin-top:52px; align-items:start;}
  .founder-quote{border-left:1px solid var(--brass); padding-left:34px;}
  .founder .sign{margin-top:30px; padding-top:22px; border-top:1px solid var(--line);}
  .founder .sign b{display:block; font-family:var(--serif); font-size:1.2rem; font-weight:500;}
  .founder .sign span{font-size:.86rem; color:var(--ink-3);}
  .founder blockquote{margin:0; font-family:var(--serif); font-size:1.62rem; line-height:1.4;}
  .founder p{color:var(--ink-2); margin-bottom:18px;}
  .founder ul{margin:22px 0 0; padding:0; list-style:none;}
  .founder li{position:relative; padding-left:26px; margin-bottom:12px; color:var(--ink-2); font-size:.97rem;}
  .founder li::before{content:''; position:absolute; left:0; top:11px; width:10px; height:1px; background:var(--brass);}
  @media (max-width:980px){ .founder{grid-template-columns:1fr; gap:36px;} }

  /* --- FAQ --- */
  .faq{margin-top:52px; max-width:920px; border-top:1px solid var(--line);}
  details{border-bottom:1px solid var(--line);}
  summary{padding:28px 48px 28px 0; font-family:var(--serif); font-weight:500; font-size:1.18rem; cursor:pointer; list-style:none; position:relative;}
  summary::-webkit-details-marker{display:none;}
  summary::after{content:''; position:absolute; right:6px; top:36px; width:12px; height:1px; background:var(--brass);}
  summary::before{content:''; position:absolute; right:11px; top:31px; width:1px; height:11px; background:var(--brass); transition:opacity .2s;}
  details[open] summary::before{opacity:0;}
  details p{padding:0 0 28px; color:var(--ink-2); font-size:.99rem; max-width:76ch;}

  /* --- Контакты --- */
  .contacts{display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:52px;}
  .cline{padding:22px 0; border-bottom:1px solid rgba(255,255,255,.13);}
  .cline b{display:block; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.42); margin-bottom:8px;}
  .cline a, .cline span{text-decoration:none; font-size:1.16rem; font-family:var(--serif); font-weight:500; color:#fff;}
  .geo p{color:rgba(255,255,255,.6); font-size:.95rem;}
  .geo-list{margin-top:20px; display:flex; gap:9px; flex-wrap:wrap;}
  .geo-list span{border:1px solid rgba(255,255,255,.16); padding:7px 13px; font-size:.83rem; color:rgba(255,255,255,.72);}

  footer{background:var(--deep-2); color:rgba(255,255,255,.5); padding:56px 0 44px; font-size:.88rem; border-top:1px solid rgba(255,255,255,.08);}
  .fbar{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  footer a{color:rgba(255,255,255,.82); text-decoration:none;}
  footer a:hover{color:var(--brass-2);}
  .fnote{margin-top:34px; padding-top:26px; border-top:1px solid rgba(255,255,255,.09); font-size:.8rem; line-height:1.8;}

  .sticky{display:none;}

  /* --- Появление блоков при прокрутке --- */
  .rvl{opacity:0; transform:translateY(20px);
    transition:opacity .75s cubic-bezier(.2,.7,.3,1), transform .75s cubic-bezier(.2,.7,.3,1);}
  .rvl.in{opacity:1; transform:none;}

  /* --- Этапы: шкала со временем вместо четырёх колонок с рамками --- */
  .steps{position:relative; padding-top:8px;}
  .steps::before,.steps::after{content:''; position:absolute; left:0; top:14px; height:1px;}
  .steps::before{right:0; background:var(--line);}
  .steps::after{width:0; background:var(--brass); transition:width 1.9s cubic-bezier(.25,.8,.3,1);}
  .steps.in::after{width:100%;}
  .step{border-left:0; padding:54px 34px 0 0; position:relative;}
  .step:first-child{padding-left:0;}
  .step::before{content:''; position:absolute; left:0; top:8px; width:13px; height:13px; box-sizing:border-box;
    border-radius:50%; background:var(--cream); border:1px solid var(--brass); transition:background .45s ease;}
  .steps.in .step::before{background:var(--brass);}
  .steps.in .step:nth-child(2)::before{transition-delay:.42s;}
  .steps.in .step:nth-child(3)::before{transition-delay:.84s;}
  .steps.in .step:nth-child(4)::before{transition-delay:1.26s;}
  .step b{font-size:1.5rem; margin-bottom:12px;}

  /* --- Лайтбокс --- */
  .gallery figure,.card .shot{cursor:zoom-in;}
  .lb{position:fixed; inset:0; z-index:200; background:rgba(10,8,6,.95); display:none;
    align-items:center; justify-content:center; opacity:0; transition:opacity .25s;}
  .lb.open{display:flex;}
  .lb.shown{opacity:1;}
  .lb img{max-width:92vw; max-height:84vh; object-fit:contain;}
  .lb-cap{position:absolute; left:0; right:0; bottom:24px; text-align:center; padding:0 72px;
    color:rgba(255,255,255,.7); font-size:.9rem;}
  .lb button{position:absolute; background:none; border:0; color:#fff; opacity:.6; cursor:pointer;
    padding:16px; line-height:0; transition:opacity .2s;}
  .lb button:hover{opacity:1;}
  .lb-close{top:16px; right:20px;}
  .lb-prev{left:10px; top:50%; transform:translateY(-50%);}
  .lb-next{right:10px; top:50%; transform:translateY(-50%);}
  .lb svg{width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.5;
    stroke-linecap:round; stroke-linejoin:round;}


  /* --- Квиз: всплывающий подбор бани --- */
  .qz{position:fixed; inset:0; z-index:300; background:rgba(12,9,7,.72); backdrop-filter:blur(3px);
    display:none; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .25s;}
  .qz.open{display:flex;} .qz.shown{opacity:1;}
  .qz-box{background:var(--cream); width:min(760px,100%); max-height:92vh; overflow:auto; position:relative;
    transform:translateY(14px); transition:transform .3s cubic-bezier(.2,.7,.3,1);}
  .qz.shown .qz-box{transform:none;}
  .qz-head{padding:34px 44px 0; position:relative;}
  .qz-close{position:absolute; top:22px; right:22px; background:none; border:0; cursor:pointer;
    padding:10px; line-height:0; color:var(--ink-3); transition:color .2s;}
  .qz-close:hover{color:var(--ink);}
  .qz-close svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round;}
  .qz-bar{height:2px; background:var(--line); margin-top:22px;}
  .qz-bar i{display:block; height:100%; width:0; background:var(--brass); transition:width .45s cubic-bezier(.2,.7,.3,1);}
  .qz-step{font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--brass-dark); font-weight:600;}
  .qz-body{padding:30px 44px 44px;}
  .qz-q{font-family:var(--serif); font-weight:500; font-size:clamp(1.4rem,3vw,1.9rem); line-height:1.22; margin:0 0 6px;}
  .qz-hint{color:var(--ink-3); font-size:.9rem; margin-bottom:26px;}
  .qz-opts{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .qz-opt{text-align:left; background:var(--paper); border:1px solid var(--line); padding:20px 22px;
    font:400 1rem/1.4 var(--sans); color:var(--ink); cursor:pointer; transition:.18s; position:relative;}
  .qz-opt:hover{border-color:var(--brass);}
  .qz-opt[aria-pressed="true"]{border-color:var(--brass); background:#FBF7F0; box-shadow:inset 0 0 0 1px var(--brass);}
  .qz-opt small{display:block; color:var(--ink-3); font-size:.82rem; margin-top:5px;}
  .qz-house{display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%;
    margin-top:14px; padding:18px 22px; background:#FBF7F0; border:1px solid var(--brass);
    border-radius:2px; cursor:pointer; text-align:left; font:600 .95rem/1.25 var(--sans); color:var(--ink);
    transition:.2s;}
  .qz-house:hover{background:var(--brass); color:#fff;}
  .qz-house small{display:block; margin-top:4px; font-weight:500; font-size:.82rem; color:var(--ink-3);}
  .qz-house:hover small{color:rgba(255,255,255,.8);}
  .qz-house i{font-style:normal; font-size:1.1rem; line-height:1;}
  .qz-nav{display:flex; gap:14px; align-items:center; margin-top:28px; flex-wrap:wrap;}
  .qz-back{background:none; border:0; color:var(--ink-3); font:600 .8rem var(--sans); letter-spacing:.1em;
    text-transform:uppercase; cursor:pointer; padding:10px 0;}
  .qz-back:hover{color:var(--ink);}
  .qz-nav .btn{margin-left:auto;}
  .qz-price{background:var(--deep); color:#fff; padding:26px 30px; margin-bottom:26px;}
  .qz-price b{display:block; font-family:var(--serif); font-size:1.9rem; font-weight:500; color:var(--brass-2);}
  .qz-price span{font-size:.86rem; color:rgba(255,255,255,.6);}
  .qz-done{text-align:center; padding:56px 44px;}
  .qz-done h3{font-size:1.6rem; margin-bottom:12px;}
  .qz-done p{color:var(--ink-2);}
  @media (max-width:620px){
    .qz{padding:0;} .qz-box{max-height:100vh; height:100%;}
    .qz-head{padding:26px 22px 0;} .qz-body{padding:24px 22px 36px;}
    .qz-opts{grid-template-columns:1fr;}
  }


  /* --- Развёрнутые текстовые разделы --- */
  .prose{margin-top:44px; columns:2; column-gap:64px; max-width:none;}
  .prose p{color:var(--ink-2); font-size:1rem; margin-bottom:18px; break-inside:avoid;}
  .prose p:first-child{margin-top:0;}
  .prose b{color:var(--ink); font-weight:600;}
  .prose h3{font-size:1.16rem; margin:0 0 12px; break-after:avoid;}
  .prose h3:not(:first-child){margin-top:8px;}
  .compare{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:48px; border-top:1px solid var(--line);}
  .compare > div{padding:34px 36px 34px 0; border-bottom:1px solid var(--line);}
  .compare > div:nth-child(even){padding-left:36px; border-left:1px solid var(--line);}
  .compare h3{font-size:1.3rem; margin-bottom:14px;}
  .compare p{color:var(--ink-2); font-size:.97rem; margin-bottom:14px;}
  .compare .verdict{font-size:.86rem; color:var(--brass-dark); border-top:1px solid var(--line); padding-top:14px; margin-top:auto;}
  @media (max-width:980px){
    .prose{columns:1;}
    .compare{grid-template-columns:1fr;}
    .compare > div:nth-child(even){padding-left:0; border-left:0;}
  }

  /* --- Преимущества иконками --- */
  .adv{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px; border-top:1px solid var(--line);}
  .adv > div{padding:34px 30px 34px 0; border-bottom:1px solid var(--line); border-right:1px solid var(--line);}
  .adv > div:nth-child(4n){border-right:0;}
  .adv > div:not(:nth-child(4n)){padding-right:30px;}
  .adv > div:not(:nth-child(4n+1)){padding-left:30px;}
  .adv svg{width:30px; height:30px; fill:none; stroke:var(--brass); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; margin-bottom:18px;}
  .adv b{display:block; font-family:var(--serif); font-weight:500; font-size:1.14rem; margin-bottom:9px;}
  .adv p{color:var(--ink-2); font-size:.93rem;}

  /* --- Три причины --- */
  .reasons{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px;}
  .reason{background:var(--paper); border:1px solid var(--line); padding:38px 34px; position:relative;}
  .reason em{font-style:normal; font-family:var(--serif); font-size:2.6rem; color:var(--line); display:block; line-height:1; margin-bottom:18px;}
  .reason h3{font-size:1.22rem; margin-bottom:12px;}
  .reason p{color:var(--ink-2); font-size:.96rem;}

  /* --- Материал --- */
  .mat{display:grid; grid-template-columns:1fr 1fr; gap:0 64px; margin-top:52px;}
  .mat-row{display:flex; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); align-items:baseline;}
  .mat-row b{font-family:var(--serif); font-weight:500; font-size:1.06rem; min-width:150px;}
  .mat-row span{color:var(--ink-2); font-size:.95rem;}

  /* --- Статистика --- */
  .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px;
    border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14);}
  .stats > div{padding:38px 26px 38px 0; border-right:1px solid rgba(255,255,255,.14);}
  .stats > div:last-child{border-right:0;}
  .stats > div:not(:first-child){padding-left:26px;}
  .stats b{display:block; font-family:var(--serif); font-weight:500; font-size:2.6rem; color:var(--brass-2); line-height:1;}
  .stats span{display:block; margin-top:12px; font-size:.9rem; color:rgba(255,255,255,.6);}

  /* --- Логотип --- */
  .logo img{height:38px; width:auto; display:block;}
  .logo .lg-light{display:none;}
  header.on-dark .logo .lg-dark{display:none;}
  header.on-dark .logo .lg-light{display:block;}
  @media (max-width:560px){ .logo img{height:32px;} }

  @media (max-width:980px){
    .adv,.stats{grid-template-columns:1fr 1fr;}
    .adv > div:nth-child(2n){border-right:0;}
    .adv > div:nth-child(4n+1){padding-left:0;}
    .reasons{grid-template-columns:1fr;}
    .mat{grid-template-columns:1fr; gap:0;}
    .stats > div{border-right:0; border-bottom:1px solid rgba(255,255,255,.14); padding:28px 0;}
  }
  @media (max-width:560px){ .adv{grid-template-columns:1fr;} .adv > div{border-right:0; padding-left:0 !important;} }

  @media (max-width:980px){
    .fears,.cards,.form-wrap,.contacts{grid-template-columns:1fr;}
    .fear:nth-child(odd),.fear:nth-child(even){padding-left:0; padding-right:0; border-left:0;}
    .steps,.gift-grid,.reviews{grid-template-columns:1fr 1fr;}
    .step{border-left:0; padding-left:0; padding-bottom:26px;}
    .gift:nth-child(4n){border-right:1px solid rgba(255,255,255,.13);}
    .gift:nth-child(2n){border-right:0;}
    section{padding:72px 0;}
    nav{display:none;}
    .burger{display:block;}
    nav.open{display:flex; flex-direction:column; position:absolute; top:84px; left:0; right:0;
      background:var(--cream); border-bottom:1px solid var(--line); padding:26px 28px; gap:20px;}
    nav.open a{color:var(--ink-2);}
    .tel-top{display:none;}
    .gallery{grid-template-columns:repeat(2,1fr);}
    .gallery figure.wide{grid-column:span 2; aspect-ratio:16/9;}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px;}
    .steps,.gift-grid,.reviews{grid-template-columns:1fr;}
    .gift:nth-child(2n){border-right:0;}
    .row2{grid-template-columns:1fr; gap:0;}
    .hero-facts{gap:28px;}
    .btn{width:100%;}
    body{padding-bottom:78px;}
    .sticky{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90; gap:1px; background:var(--line);}
    .sticky a{flex:1; padding:18px 10px; text-align:center; font:600 .78rem/1 var(--sans);
      letter-spacing:.1em; text-transform:uppercase; text-decoration:none; background:var(--cream); color:var(--ink);}
    .sticky a.main{background:var(--brass); color:#fff;}
  }
  @media (max-width:980px){
    .steps::before,.steps::after{display:none;}
    .step{padding:0 0 26px 0;}
    .step::before{display:none;}
    .step b{font-size:2rem;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;}
    .rvl{opacity:1; transform:none;}
  }

  .september-promo{margin:28px 0;padding:20px 24px;border:1px solid var(--brass);border-radius:4px;background:rgba(0,0,0,.22);display:grid;gap:8px;max-width:650px;}
  .september-promo strong{color:var(--brass);font-size:14px;text-transform:uppercase;letter-spacing:.08em;}
  .september-promo span{font-size:clamp(18px,2.2vw,24px);line-height:1.4;color:#fff;}
  .september-promo a{color:#fff;font-size:14px;text-underline-offset:4px;}
  .tel-top + .phone-separator,.tel-top + .phone-separator + a{white-space:nowrap;}
  @media(max-width:1000px){.tel-top + .phone-separator,.tel-top + .phone-separator + a{display:none;}}

  /* Responsive layout: keep contacts readable without widening the page. */
  .bar{gap:20px;}
  nav{gap:16px;font-size:.82rem;}
  .header-phones{display:flex;flex-direction:column;gap:4px;flex:none;}
  .header-phones a{font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap;text-decoration:none;}
  header.on-dark .header-phones{color:#fff;}
  .phone-separator{display:none;}
  .cline a[href^="tel:"],footer a[href^="tel:"],.form-wrap a[href^="tel:"]{display:block;white-space:nowrap;line-height:1.65;}
  .form-wrap a[href^="tel:"]{font-family:var(--serif);font-size:1.24rem;color:var(--brass-dark);text-decoration:none;}
  .form-wrap>*,.contacts>*,.mat>*,.row2>*,.card-body{min-width:0;}
  .field input,.field select,.field textarea{min-width:0;max-width:100%;}
  .btn{max-width:100%;white-space:normal;line-height:1.35;text-align:center;}
  .consent{overflow-wrap:anywhere;}
  @media(max-width:1199px){
    .bar nav{display:none;}
    .bar .burger{display:block;order:3;margin-left:0;flex:none;min-width:44px;min-height:44px;}
    .header-phones{margin-left:auto;}
    .bar nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--cream);padding:16px 28px;gap:0;border-bottom:1px solid var(--line);max-height:calc(100dvh - 150px);overflow-y:auto;}
    .bar nav.open a{color:var(--ink);padding:10px 0;font-size:16px;white-space:normal;}
  }
  @media(max-width:560px){
    .bar{display:grid;grid-template-columns:minmax(0,1fr) 44px;height:auto;min-height:116px;gap:8px 12px;padding-top:12px;padding-bottom:12px;}
    .bar .logo{grid-column:1;grid-row:1;min-width:0;}
    .bar .burger{grid-column:2;grid-row:1;}
    .header-phones{grid-column:1/-1;grid-row:2;margin:0;flex-direction:row;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;}
    .header-phones a{font-size:14px;line-height:1.6;padding:4px 0;}
    .hero{margin-top:-116px;padding-top:164px;}
    .mat-row{flex-direction:column;gap:8px;align-items:stretch;}
    .mat-row b{min-width:0;}
    .mat-row span{min-width:0;overflow-wrap:break-word;}
    .tabs{gap:10px;}
    .tab{max-width:100%;white-space:normal;text-align:left;font-size:.88rem;padding:15px 18px;flex:1 1 calc(50% - 10px);}
    .sticky{padding-bottom:env(safe-area-inset-bottom,0px);}
    body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));}
    .qz-box{max-height:calc(100dvh - 24px);}
    .stats>div{min-width:0;padding-left:0!important;padding-right:12px;}
  }
  @media(max-width:359px){
    .header-phones{flex-direction:column;gap:0;}
    .bar{min-height:144px;}
    .hero{margin-top:-144px;padding-top:180px;}
    .bar nav.open{max-height:calc(100dvh - 160px);}
  }


  .card .project-slider{position:relative;background:#fff;touch-action:pan-y;}
  .slide-open{display:block;width:100%;height:100%;padding:0 0 34px;border:0;background:transparent;cursor:zoom-in;}
  .card .shot .slide-open img{width:100%;height:100%;object-fit:cover;transform:none;}
  .card .shot .slide-open img.is-plan{object-fit:contain;padding:8px 42px;background:#fff;}
  .slide-arrow{position:absolute;top:calc(50% - 17px);transform:translateY(-50%);width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.96);color:var(--ink);font:28px/1 var(--sans);cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px #0002;}
  .slide-prev{left:8px;}.slide-next{right:8px;}
  .slide-arrow:hover{background:var(--cream);}
  .slide-arrow:focus-visible,.slide-open:focus-visible{outline:3px solid var(--brass-dark);outline-offset:-3px;}
  .slide-caption{position:absolute;bottom:0;left:0;right:0;min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;background:var(--cream);font:500 12px/1.5 var(--sans);color:var(--ink-2);pointer-events:none;}
  .project-slider:focus-visible{outline:3px solid var(--brass);outline-offset:2px;}


  .slide-stage{position:relative;display:block;width:100%;height:100%;background:#fff;isolation:isolate;}
  .card .shot .slide-open .slide-layer{position:absolute;inset:0;opacity:0;transition:opacity .38s ease-in-out;pointer-events:none;transform:none;}
  .card .shot .slide-open .slide-layer.is-active{opacity:1;}
  .project-slider[aria-busy="true"] .slide-arrow{cursor:progress;}
  .project-slider[aria-busy="true"] .slide-caption::after{content:'';width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--brass-dark);border-radius:50%;animation:slide-loading .7s linear infinite;flex:none;}
  @keyframes slide-loading{to{transform:rotate(360deg);}}
  @media(prefers-reduced-motion:reduce){.card .shot .slide-open .slide-layer{transition:none;}.project-slider[aria-busy="true"] .slide-caption::after{animation:none;}}


 .work-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;}
 .work-filter{padding:12px 16px;border:1px solid var(--line);border-radius:3px;background:transparent;font:500 14px/1.4 var(--sans);color:var(--ink);cursor:pointer;}
 .work-filter[aria-pressed="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink);}
 .work-filter:focus-visible,.work-photo:focus-visible{outline:3px solid var(--brass);outline-offset:2px;}
 .work-count{margin-top:20px;font-size:14px;color:var(--ink-2);}
 #works-gallery{margin-top:20px;}
 .work-photo{display:block;padding:0;border:0;background:none;width:100%;height:100%;cursor:zoom-in;}
 #works-more{margin-top:28px;}
 #works-more[hidden]{display:none;}
 @media(max-width:420px){#works-gallery{gap:8px;}.work-filter{padding:10px 12px;}}

#works-gallery figure[hidden]{display:none;}

#works-gallery img{object-fit:contain;object-position:center;filter:none;transform:none;}
#works-gallery figure:hover img{transform:none;}
#works-gallery figure{background:#eeeae3;}
#works-gallery .work-photo{padding:6px;}
@media(max-width:600px){#works-gallery{grid-template-columns:1fr;}}

.project-slider .slide-layer{object-fit:contain;background:#f4f1eb;}

.video-reviews{margin:36px 0 48px}.video-reviews>h3{font-family:var(--serif);font-size:clamp(24px,3vw,34px);margin:0 0 12px}.video-reviews>p{color:var(--ink-2);margin:0 0 24px}.video-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.video-review{margin:0;min-width:0;background:var(--paper);border:1px solid var(--line)}.video-review video{display:block;width:100%;max-width:100%;aspect-ratio:16/10;object-fit:contain;background:#171b18}.video-review figcaption{padding:16px;font-size:14px;line-height:1.6}.video-review figcaption a{display:block;color:var(--brass-dark)}.video-more{border:0;margin-top:24px}.video-more>summary{display:list-item;width:fit-content;max-width:100%;padding:14px 22px;border:1px solid var(--line);font-size:16px;cursor:pointer}.video-more>summary::after{display:none}.video-more[open]>.video-review-grid{margin-top:24px}.max-contact{display:block;margin:18px 0}.max-button,.cline .max-button,footer .max-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;padding:14px 20px;border:1px solid #6357d9;background:#6357d9;color:#fff;text-decoration:none;white-space:normal;font-size:14px;line-height:1.4}.max-button:hover{background:#5144c6;color:#fff}.max-button:focus-visible{outline:3px solid var(--brass);outline-offset:4px}@media(max-width:900px){.video-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.video-review-grid{grid-template-columns:minmax(0,1fr);gap:20px}}

.seo-nav{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.seo-nav a{padding:9px 14px;border:1px solid var(--line);text-decoration:none;font-size:15px}.seo-nav a:hover,.seo-nav a[aria-current=page]{background:var(--ink);color:white}.seo-page header{position:static}.seo-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px}.seo-brand{font-family:var(--serif);font-size:24px;text-decoration:none}.seo-page main{padding:40px 28px 64px}.seo-page h1{font-size:clamp(30px,4vw,52px);max-width:1000px;margin:22px 0}.seo-page .lead{max-width:900px}.seo-page h2{margin:32px 0 20px;font-size:30px}.seo-page .cards{margin-bottom:40px}.seo-page .shot img{width:100%;height:100%;object-fit:contain;background:#f4f1eb}.seo-page .card h3 a{text-decoration:none}.seo-page .btn{margin-top:16px}.seo-page footer{padding:38px 0}.seo-page footer a{display:inline-block;margin:8px 16px 8px 0}.breadcrumbs{display:block;font-size:14px;line-height:1.8;color:var(--ink-2)}.project-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;margin:32px 0}.project-layout>div{min-width:0}.project-image{width:100%;height:auto;max-height:650px;object-fit:contain;background:white}.specs{width:100%;border-collapse:collapse;font-size:16px}.specs th,.specs td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.specs th{width:38%;font-weight:500}.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.plans figure{margin:0}.plans img{width:100%;height:auto;background:white}.plans figcaption{padding:12px 0}.seo-note{color:var(--ink-2);font-size:14px;margin-top:18px}.project-link{display:block;margin:12px 0;color:var(--brass-dark)}@media(max-width:700px){.project-layout,.plans{grid-template-columns:1fr}.seo-top{align-items:flex-start;flex-direction:column}.seo-page main{padding:20px 20px 64px}.seo-top{padding:22px 20px}.specs th,.specs td{padding:10px 5px}.seo-page{padding-bottom:0}}
