/* ─────────────────────────────────────────────────────────────
   З. «ГРАНИТ»
   Та же структура, что в «Светлом зале», но в холодной серой
   гамме: гранитный фон, стальные иконки, графитовые кнопки,
   фотографии приглушены почти до чёрно-белых.
   ───────────────────────────────────────────────────────────── */
:root{
  --cream:#f4f4f3;
  --cream-2:#e9eae9;
  --panel:#fdfdfd;
  --ink:#24262a;
  --ink-2:#54585c;
  --ink-3:#61656a;
  --gold:#7a838a;
  --gold-ink:#4d5257;
  --gold-btn:#3b4145;
  --gold-2:#2a2f33;
  --gold-soft:#e5e7e8;
  --line:#e2e3e2;
  --line-2:#ccced0;
  --shadow:0 22px 54px -26px rgba(38,44,50,.26);
  --shadow-s:0 14px 34px -22px rgba(38,44,50,.28);
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:Onest,system-ui,sans-serif;font-size:17px;font-weight:300;line-height:1.62;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
h1,h2,h3,h4{margin:0;font-family:Lora,Georgia,serif;font-weight:500;line-height:1.16;letter-spacing:-.01em}
p{margin:0}ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit}
button{font:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.ico{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round}

/* эйбрау + заголовок секции */
.kick{font-family:Onest,sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.19em;
  text-transform:uppercase;color:var(--gold-ink)}
.h2{margin-top:16px;font-size:clamp(28px,3.5vw,44px);max-width:19ch}
.lead{margin-top:20px;color:var(--ink-2);font-size:18px;max-width:56ch}
.center{text-align:center}
.center .h2,.center .lead{margin-left:auto;margin-right:auto}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;white-space:nowrap;
  padding:0 32px;border-radius:4px;text-decoration:none;font-size:16.5px;font-weight:500;
  border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn--gold{background:var(--gold-btn);color:#fff}
.btn--gold:hover{background:var(--gold-2)}
.btn--line{border-color:rgba(168,131,79,.45);color:var(--ink);background:transparent}
.btn--line:hover{border-color:var(--gold);color:var(--gold)}
.btn--sm{min-height:50px;padding:0 20px;font-size:15.5px}

/* ── шапка ── */
.top{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.top__in{display:flex;align-items:center;gap:26px;min-height:88px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none}
.logo{flex-direction:column;align-items:flex-start;gap:5px}
.logo img{height:52px;width:auto;flex:none}
.logo .lt{display:block;font-size:11px;letter-spacing:.235em;text-transform:uppercase;
  color:var(--ink-3);white-space:nowrap;padding-left:2px}
.logo b{display:block;white-space:nowrap;font-family:Onest,sans-serif;font-size:15.5px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;line-height:1.2}
.logo span{display:block;font-size:13px;color:var(--ink-3);margin-top:3px}
.menu{display:flex;gap:21px;margin-left:16px;font-size:15.5px;align-items:center}
.menu a{text-decoration:none;color:var(--ink-2);transition:color .18s;white-space:nowrap}
.menu a:hover{color:var(--gold-ink)}
.menu .has-sub{position:relative}
.menu .has-sub>a{display:flex;align-items:center;gap:7px;cursor:pointer}
.menu .has-sub>a::after{content:"";width:6px;height:6px;border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.menu .sub{position:absolute;top:100%;left:-18px;min-width:246px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px 0;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.menu .has-sub:hover .sub,.menu .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.menu .sub a{display:block;padding:9px 20px;font-size:15.5px;color:var(--ink-2)}
.menu .sub a:hover{background:var(--cream-2);color:var(--ink)}
.top__r{margin-left:auto;display:flex;align-items:center;gap:18px}
.tel{display:flex;align-items:center;gap:11px;text-decoration:none}
.tel svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.4}
.tel i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3);line-height:1.2}
.tel b{display:block;font-size:17px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}

/* ── первый экран ── */
.hero{position:relative;background:var(--cream);overflow:hidden}
.hero__pic{position:absolute;top:0;right:0;bottom:0;left:44%}
.hero__pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.62) contrast(1.03) brightness(1.02)}
.hero__pic::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--cream) 0%,rgba(244,244,243,.92) 14%,rgba(244,244,243,.2) 52%,rgba(244,244,243,0) 78%)}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 340px;gap:56px;
  align-items:center;padding:86px 40px 128px}
.hero h1{margin-top:22px;font-size:clamp(33px,4.1vw,53px);font-weight:400;max-width:16ch;line-height:1.18}
.hero .sub{margin-top:24px;max-width:44ch;color:var(--ink-2);font-size:18.5px}
.hero .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.marks{display:flex;gap:0;margin-top:46px;flex-wrap:wrap;align-items:center}
.marks div{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink-2);
  padding-right:24px;margin-right:24px;border-right:1px solid var(--line)}
.marks div:last-child{border-right:0;margin-right:0;padding-right:0}
.marks svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.3}

/* белая панель помощи */
.help{background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:30px 30px 28px;box-shadow:var(--shadow)}
.help__t{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.help__t svg{width:27px;height:27px;stroke:var(--gold);fill:none;stroke-width:1.3}
.help__t b{font-family:Lora,serif;font-size:21px;font-weight:500}
.help ul{margin:20px 0 22px;display:grid;gap:16px}
.help li{display:flex;align-items:center;gap:13px;font-size:15.5px;color:var(--ink-2)}
.help li svg{width:21px;height:21px;stroke:var(--gold);fill:none;stroke-width:1.35;flex:none}
.help__f{padding-top:20px;border-top:1px solid var(--line)}
.help__f a{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:21px;font-weight:500;letter-spacing:-.01em}
.help__f svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.4}
.help__f p{margin-top:8px;font-size:14px;color:var(--ink-3)}

/* три карточки внахлёст */
.quick{position:relative;z-index:5;margin-top:-72px}
.quick__g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.qcard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 26px;
  text-decoration:none;box-shadow:var(--shadow-s);transition:transform .25s ease,box-shadow .25s ease}
.qcard:hover{transform:translateY(-4px);box-shadow:0 26px 52px -24px rgba(38,44,50,.32)}
.qcard__i{width:62px;height:62px;border-radius:50%;background:var(--gold-soft);
  display:grid;place-items:center}
.qcard__i svg{width:27px;height:27px;stroke:var(--gold);fill:none;stroke-width:1.3}
.qcard h3{font-size:20px;font-weight:500;text-wrap:balance}
.qcard p{margin-top:5px;font-size:15px;color:var(--ink-3)}
.qcard__a{width:26px;height:26px;stroke:var(--ink-3);fill:none;stroke-width:1.4;transition:transform .25s ease,stroke .25s}
.qcard:hover .qcard__a{transform:translateX(5px);stroke:var(--gold)}

/* ── секции ── */
.sec{padding:104px 0}
.sec--cream{background:var(--cream-2)}

/* услуги */
.srv{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.scard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:34px 32px 32px;text-decoration:none;display:block;transition:border-color .25s,transform .25s}
.scard:hover{border-color:var(--line-2);transform:translateY(-3px)}
.scard__i{width:56px;height:56px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center}
.scard__i svg{width:25px;height:25px;stroke:var(--gold);fill:none;stroke-width:1.3}
.scard h3{margin-top:22px;font-size:22px}
.scard p{margin-top:11px;color:var(--ink-2);font-size:16px}
.scard .more{margin-top:20px;display:inline-flex;align-items:center;gap:9px;color:var(--gold-ink);
  font-size:15.5px;font-weight:500}
.scard .more svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .25s}
.scard:hover .more svg{transform:translateX(4px)}

/* шаги */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:60px;position:relative}
.steps::before{content:"";position:absolute;left:10%;right:10%;top:31px;height:1px;background:var(--line-2)}
.step{text-align:center;position:relative}
.step__n{width:64px;height:64px;margin:0 auto;border-radius:50%;background:var(--cream);
  border:1px solid var(--line-2);display:grid;place-items:center;font-family:Lora,serif;
  font-size:20px;color:var(--gold-ink);position:relative;z-index:2}
.sec--cream .step__n{background:var(--cream-2)}
.step h3{margin-top:22px;font-size:20px}
.step p{margin-top:9px;color:var(--ink-2);font-size:15.5px;max-width:30ch;margin-left:auto;margin-right:auto}

/* цены */
.price{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:36px 32px 34px;
  display:flex;flex-direction:column}
.pcard--hi{border-color:var(--gold);box-shadow:var(--shadow)}
.pcard__tag{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:500}
.pcard h3{margin-top:14px;font-size:24px}
.pcard .sum{margin-top:18px;font-family:Lora,serif;font-size:34px;font-weight:500;letter-spacing:-.02em}
.pcard .sum span{font-size:16px;color:var(--ink-3);font-family:Onest,sans-serif;font-weight:300}
.pcard ul{margin:26px 0 30px;display:grid;gap:13px}
.pcard li{display:flex;gap:12px;font-size:15.5px;color:var(--ink-2)}
.pcard li svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none;margin-top:3px}
.pcard .btn{margin-top:auto;width:100%}
.pnote{margin-top:28px;font-size:14.5px;color:var(--ink-3);max-width:66ch}

/* скидки и льготы */
.disc{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px}
.dcard{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:20px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.dcard__i{width:52px;height:52px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center}
.dcard__i svg{width:23px;height:23px;stroke:var(--gold);fill:none;stroke-width:1.35}
.dcard b{display:block;font-family:Onest,sans-serif;font-weight:500;font-size:17.5px}
.dcard p{margin-top:7px;color:var(--ink-2);font-size:15.5px}
.dcard__v{font-family:Lora,Georgia,serif;font-size:20px;color:var(--gold-ink);white-space:nowrap;padding-top:2px}
.dcard__v.is-todo{opacity:.7;letter-spacing:.02em}

/* памятники: секция на гранитной плите */
.stone{position:relative;background:#26282b url('../img/granite.webp') center/cover;color:#eef0f1}
.stone::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,24,.88),rgba(20,22,24,.62) 58%,rgba(20,22,24,.42))}
.stone__in{position:relative;z-index:2;padding:112px 40px}
.stone__l{max-width:760px}
.kick--on-stone{color:#c9ced2}
.stone__h{margin-top:16px;font-family:Lora,Georgia,serif;font-weight:500;font-size:clamp(28px,3.5vw,44px);
  line-height:1.16;letter-spacing:-.01em;max-width:18ch;color:#f4f6f7}
.stone__p{margin-top:22px;max-width:58ch;color:rgba(238,240,241,.84);font-size:18px}
.stone__cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;max-width:600px}
.stone__cols h3{font-family:Onest,sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.19em;
  text-transform:uppercase;color:#b9c0c5}
.stone__cols ul{margin-top:16px;display:grid;gap:11px}
.stone__cols li{position:relative;padding-left:20px;color:rgba(238,240,241,.9);font-size:16.5px}
.stone__cols li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:1.5px;background:#9aa3a9}
.stone__note{margin-top:34px;max-width:56ch;color:rgba(238,240,241,.66);font-size:15.5px}
.stone__row{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.btn--stone{background:#f2f4f5;color:#22262a}
.btn--stone:hover{background:#fff}
.btn--stone-line{border-color:rgba(238,240,241,.42);color:#eef0f1}
.btn--stone-line:hover{border-color:#eef0f1}

/* ритуальные товары: плитки + фото витрины */
.goods{display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center;margin-top:52px}
.goods__pic{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.goods__pic img{width:100%;height:430px;object-fit:cover;filter:saturate(.42) contrast(1.02)}
.goods__t{font-size:26px}
.goods__p{margin-top:14px;color:var(--ink-2)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.tile{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;padding:16px 18px;text-decoration:none;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--line-2);transform:translateY(-2px)}
.tile svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.35;flex:none}
.tile b{font-family:Onest,sans-serif;font-weight:400;font-size:16px}

/* о компании: преимущества списком */
.about{display:grid;grid-template-columns:1.02fr 1fr;gap:60px;align-items:center}
.about__pic{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.about__pic img{width:100%;height:430px;object-fit:cover;filter:grayscale(.4) brightness(1.02)}
.adv{margin-top:30px;display:grid;gap:2px}
.adv div{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}
.adv div:last-child{border-bottom:0}
.adv svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.4;flex:none;margin-top:3px}
.adv b{display:block;font-family:Onest,sans-serif;font-weight:500;font-size:16.5px}
.adv p{color:var(--ink-2);font-size:15.5px;margin-top:2px}

/* зал прощания: фото + текст */
.hall{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hall__pic{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--panel)}
.hall__pic img{width:100%;height:460px;object-fit:cover;filter:grayscale(.55) contrast(1.02)}
.hall ul{margin-top:28px;display:grid;gap:15px}
.hall li{display:flex;gap:13px;color:var(--ink-2);font-size:16.5px}
.hall li svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none;margin-top:4px}
.hall .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* цитата на фото */
.quote{position:relative;background:#e4e6e7}
.quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.7)}
.quote::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,31,34,.74),rgba(28,31,34,.36))}
.quote__in{position:relative;z-index:2;padding:110px 40px;color:#f7f8f8}
.quote p{font-family:Lora,serif;font-size:clamp(23px,2.8vw,34px);line-height:1.35;max-width:24ch}
.quote .who{margin-top:26px;font-family:Onest,sans-serif;font-size:15px;color:rgba(247,248,248,.82)}

/* вопросы */
.faq{margin-top:52px;max-width:960px;margin-left:auto;margin-right:auto}
.qa{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}
.qa__h{display:flex;align-items:center;gap:20px;width:100%;background:none;border:0;cursor:pointer;
  padding:24px 26px;text-align:left;font-size:18px;color:var(--ink)}
.qa__h span{flex:1}
.qa__x{position:relative;width:20px;height:20px;flex:none;color:var(--gold)}
.qa__x::before,.qa__x::after{content:"";position:absolute;background:currentColor;transition:transform .25s ease}
.qa__x::before{left:0;top:9.5px;width:20px;height:1.5px}
.qa__x::after{left:9.5px;top:0;width:1.5px;height:20px}
.qa.is-open .qa__x::after{transform:scaleY(0)}
.qa__b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.qa.is-open .qa__b{grid-template-rows:1fr}
.qa__b>div{overflow:hidden}
.qa__b p{padding:0 26px 26px;color:var(--ink-2);font-size:16.5px;max-width:70ch}

/* контакты */
.cnt{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:start}
.cnt__list{margin-top:36px;display:grid;gap:24px}
.cnt__list div{display:flex;gap:16px}
.cnt__list svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.4;flex:none;margin-top:3px}
.cnt__list b{display:block;font-family:Onest,sans-serif;font-weight:500;font-size:17px}
.cnt__list p{color:var(--ink-2);font-size:16px;margin-top:3px}
.cnt__list a{text-decoration:none;font-size:23px;font-weight:500;letter-spacing:-.01em}
.form{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:36px 34px;
  box-shadow:var(--shadow)}
.form h3{font-size:24px}
.form p.n{margin-top:10px;color:var(--ink-3);font-size:15px}
.field{margin-top:20px}
.field label{display:block;font-size:14px;color:var(--ink-2);margin-bottom:8px}
.field input,.field textarea{width:100%;background:var(--cream);border:1px solid var(--line);
  border-radius:6px;padding:15px 16px;font:inherit;font-size:16px;color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:96px;resize:vertical}
.form .btn{width:100%;margin-top:26px}
.form .agree{margin-top:14px;font-size:13px;color:var(--ink-3)}

/* подвал */
.foot{background:#292b2e;color:#e3e5e6;padding:70px 0 34px}
.foot a{color:#e3e5e6;text-decoration:none}
.foot__g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px}
.foot .logo img{filter:invert(1) brightness(1.06);height:50px}
.foot .logo .lt{color:rgba(227,229,230,.62)}
.foot .logo b{color:#f4f5f6}
.foot .logo span{color:rgba(227,229,230,.6)}
.foot p{color:rgba(227,229,230,.72);font-size:15.5px}
.foot h4{font-family:Onest,sans-serif;font-size:13px;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(227,229,230,.66);font-weight:500}
.foot ul{margin-top:16px;display:grid;gap:10px;font-size:15.5px}
.foot ul a:hover{color:#a8b0b6}
.foot__b{margin-top:52px;padding-top:24px;border-top:1px solid rgba(227,229,230,.16);
  display:flex;gap:24px;flex-wrap:wrap;font-size:13.5px;color:rgba(227,229,230,.66)}

@media (max-width:1360px){
  .menu{gap:17px;font-size:15px}
  .logo .lt b{font-size:18.5px}
  .top__in{gap:20px}
  .top__r{gap:14px}
}
@media (max-width:1200px){
  .hero__in{grid-template-columns:1fr;gap:40px;padding:64px 40px 110px}
  .hero__pic{left:auto;right:0;width:46%;opacity:.9}
  .help{max-width:420px}
  .quick__g{grid-template-columns:1fr 1fr}
  .srv{grid-template-columns:1fr 1fr}
  .price{grid-template-columns:1fr}
  .hall,.goods,.about{grid-template-columns:1fr;gap:36px}
  .disc{grid-template-columns:1fr}
  .stone__in{padding:84px 40px}
  .goods__pic img,.about__pic img{height:320px}
  .hall__pic img{height:340px}
  .cnt{grid-template-columns:1fr;gap:44px}
  .steps{grid-template-columns:1fr 1fr;row-gap:44px}
  .steps::before{display:none}
  .menu{display:none}
}
@media (max-width:760px){
  .wrap{padding:0 20px}
  body{font-size:16px}
  .top__in{min-height:72px;gap:14px}
  .logo img{height:34px}
  .logo{gap:4px}
  .logo .lt{font-size:9px;letter-spacing:.2em}
  .tel b{font-size:14.5px}
  .logo b{font-size:13px;letter-spacing:.06em}
  .logo>span>span{display:none}
  .tel i{display:none}
  .tel b{font-size:15px}
  .tel svg{display:none}
  .top__in{gap:10px}
  .top .btn{display:none}
  .hero__pic{position:relative;left:auto;width:100%;height:250px;inset:auto}
  .hero__pic::after{background:linear-gradient(0deg,var(--cream) 2%,rgba(244,244,243,0) 60%)}
  .hero__in{padding:36px 20px 96px}
  .marks{gap:14px}
  .marks div{border-right:0;padding-right:0;margin-right:0;width:100%}
  .quick{margin-top:-64px}
  .quick__g{grid-template-columns:1fr;gap:14px}
  .qcard{padding:20px}
  .qcard__i{width:52px;height:52px}
  .sec{padding:72px 0}
  .srv{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr}
  .dcard{grid-template-columns:auto 1fr;row-gap:12px;padding:20px}
  .dcard__v{grid-column:2}
  .stone__in{padding:64px 20px}
  .stone__cols{grid-template-columns:1fr;gap:26px}
  .steps{grid-template-columns:1fr}
  .quote__in{padding:74px 20px}
  .form{padding:28px 22px}
  .foot__g{grid-template-columns:1fr;gap:34px}
}
@media (max-width:344px){
  .logo .lt{display:none}
  .logo img{height:30px}
  .tel b{font-size:15.5px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* ═══════════════ добавлено для внутренних страниц ═══════════════ */

/* активный пункт меню */
.menu a.on{color:var(--ink);font-weight:400}
.menu a.on::after{content:"";display:block;height:1.5px;background:var(--gold);margin-top:5px}
.menu .has-sub>a.on::after{display:none}

/* хлебные крошки */
.crumbs{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink-3);margin-bottom:26px}
.crumbs a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:1px}
.crumbs a:hover{color:var(--ink)}

/* первый экран внутренней страницы */
.phero{padding:56px 0 64px;background:var(--cream-2);border-bottom:1px solid var(--line)}
.phero__h{margin-top:16px;font-family:Lora,Georgia,serif;font-weight:500;
  font-size:clamp(30px,4.2vw,52px);line-height:1.13;letter-spacing:-.01em;max-width:20ch}
.phero__lead{margin-top:22px;max-width:60ch;font-size:19px;color:var(--ink-2)}
.phero__row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:34px}
.phero__note{font-size:15px;color:var(--ink-2);max-width:32ch}

/* заголовок секции по левому краю */
.h2--left{margin-left:0;margin-right:0;text-align:left}

/* текстовый блок */
.prose{max-width:74ch}
.prose .kick{margin-bottom:14px}
.prose p{margin-top:18px;font-size:18px;color:var(--ink-2)}
.prose p:first-of-type{margin-top:22px}
.prose b{color:var(--ink);font-weight:500}
.prose a{color:var(--gold-ink)}
.mark{display:inline-block;padding:2px 8px;background:var(--gold-soft);font-size:14px;color:var(--ink-2);border-radius:3px}

/* список с галочками */
.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;margin-top:34px;list-style:none;padding:0}
.checks li{display:flex;gap:13px;align-items:flex-start;font-size:17px;color:var(--ink-2)}
.checks svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none;margin-top:3px}
.checks li b{color:var(--ink);font-weight:500}
.checks--tight{grid-template-columns:1fr;gap:11px;margin-top:24px}

/* таблица цен */
.ptable{margin-top:46px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s)}
.ptable table{width:100%;border-collapse:collapse;font-size:16.5px}
.ptable th{text-align:left;font-family:Onest,sans-serif;font-weight:500;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  padding:20px 28px;border-bottom:1px solid var(--line);background:var(--cream-2)}
.ptable th:last-child{text-align:right}
.ptable td{padding:19px 28px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable tr:last-child td{border-bottom:0}
.ptable td .s{display:block;margin-top:5px;font-size:14.5px;color:var(--ink-3)}
.ptable td.sum{text-align:right;white-space:nowrap;font-family:Lora,Georgia,serif;font-size:19px}

/* строка кнопок в блоке «фото + текст» */
.mrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* контакты и карточка звонка */
.cts{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.cts__list{margin-top:36px;display:grid;gap:2px}
.ci{display:flex;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:0}
.ci__i{width:42px;height:42px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;flex:none}
.ci__i svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.4}
.ci b{display:block;font-family:Onest,sans-serif;font-weight:500;font-size:16.5px}
.ci p{margin-top:3px;color:var(--ink-2);font-size:16px}
.ci a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}
.ci a:hover{border-color:var(--ink)}

.callc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:34px 36px 32px;box-shadow:var(--shadow)}
.callc h3{font-family:Lora,Georgia,serif;font-weight:500;font-size:25px}
.callc__p{margin-top:10px;color:var(--ink-2);font-size:15.5px}
.callc__tel{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;
  font-family:Lora,Georgia,serif;font-size:clamp(25px,2.6vw,31px);color:var(--ink);text-decoration:none;
  background:var(--cream);border:1px solid var(--line-2);border-radius:10px;padding:18px 20px;
  transition:border-color .18s,background .18s;white-space:nowrap}
.callc__tel:hover{border-color:var(--gold);background:var(--gold-soft)}
.callc__tel svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.5;flex:none}
.btn--wide{width:100%;margin-top:14px}
.callc__l{margin-top:24px;display:grid;gap:11px;list-style:none;padding:0}
.callc__l li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:15.5px}
.callc__l svg{width:17px;height:17px;margin-top:3px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none}

/* карта */
.ymap{margin-top:46px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  background:var(--cream-2);box-shadow:var(--shadow-s)}
.ymap iframe{display:block;width:100%;height:440px;border:0}
.ymap__ph{height:380px;display:grid;place-items:center;text-align:center;color:var(--ink-3);
  font-size:17px;background:repeating-linear-gradient(45deg,var(--cream-2),var(--cream-2) 14px,var(--cream) 14px,var(--cream) 28px)}
.ymap__ph span{display:block;margin-top:8px;font-size:14px}

/* телефон в подвале */
.foot__tel{margin-top:18px}
.foot__tel a{font-family:Lora,Georgia,serif;font-size:22px;color:#f4f5f6;text-decoration:none}

@media (max-width:900px){
  .cts{grid-template-columns:1fr;gap:38px}
  .checks{grid-template-columns:1fr}
}
@media (max-width:620px){
  .phero{padding:36px 0 44px}
  /* на телефоне таблица разворачивается в карточки: строка — название, под ним сумма */
  .ptable table,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%}
  .ptable th{display:none}
  .ptable tr{padding:16px 18px;border-bottom:1px solid var(--line)}
  .ptable tr:last-child{border-bottom:0}
  .ptable td{padding:0;border:0}
  .ptable td .s{margin-top:4px}
  .ptable td.sum{text-align:left;margin-top:10px;font-size:19px;color:var(--ink)}
  .callc{padding:26px 22px 24px}
  .ymap iframe,.ymap__ph{height:320px}
}

/* ═══════════ фотоблоки: первый экран с кадром, галерея, товары ═══════════ */

/* первый экран с фотографией */
.phero--pic{padding-bottom:0}
.phero__g{display:grid;grid-template-columns:1.06fr 1fr;gap:60px;align-items:center}
.phero--pic .phero__h{max-width:16ch}
.phero--pic .phero__lead{font-size:18px}
.phero__m{margin-top:26px;display:grid;gap:11px;list-style:none;padding:0}
.phero__m li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;color:var(--ink-2)}
.phero__m svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none;margin-top:3px}
.phero__pic{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);margin-bottom:-64px;background:var(--panel)}
.phero__pic img{width:100%;height:440px;object-fit:cover;filter:grayscale(.5) contrast(1.03)}
.phero__cap{position:absolute;left:0;right:0;bottom:0;padding:34px 24px 18px;font-size:14px;color:#f2f4f5;
  background:linear-gradient(transparent,rgba(20,22,24,.78))}

/* галерея */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:230px;margin-top:52px}
.gal__i{position:relative;margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  background:var(--cream-2)}
.gal__i img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.02);
  transition:transform .5s ease,filter .5s ease}
.gal__i:hover img{transform:scale(1.04);filter:grayscale(.2) contrast(1.03)}
.gal__i figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 20px 16px;font-size:14.5px;
  color:#f2f4f5;background:linear-gradient(transparent,rgba(20,22,24,.8))}
.gal--mosaic .is-big{grid-column:span 2;grid-row:span 2}
.gal--mosaic .is-big figcaption{font-size:16px;padding:52px 26px 22px}

/* карточки товаров */
.cat{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.cat__i{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
.cat__i:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:var(--shadow-s)}
.cat__p{background:var(--cream-2)}
.cat__p img{width:100%;height:230px;object-fit:cover;filter:grayscale(.42) contrast(1.02)}
.cat__t{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.cat__t h3{font-family:Lora,Georgia,serif;font-weight:500;font-size:21px}
.cat__t p{margin-top:10px;color:var(--ink-2);font-size:15.5px}
.cat__v{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-family:Lora,Georgia,serif;font-size:19px;color:var(--gold-ink)}
.cat__v.is-todo{opacity:.72}
.mrow--center{justify-content:center;margin-top:36px}

/* полоса с цифрами */
.num{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.num__g{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:46px;padding-bottom:46px}
.num__i{text-align:center;position:relative}
.num__i+.num__i::before{content:"";position:absolute;left:-15px;top:6px;bottom:6px;width:1px;background:var(--line-2)}
.num__i b{display:block;font-family:Lora,Georgia,serif;font-weight:500;font-size:38px;letter-spacing:-.02em}
.num__i span{display:block;margin-top:8px;font-size:15px;color:var(--ink-2);max-width:24ch;margin-left:auto;margin-right:auto}

/* смотрите также */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.rel__i{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;
  transition:border-color .2s,transform .2s,box-shadow .2s}
.rel__i:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:var(--shadow-s)}
.rel__p{display:block;background:var(--cream-2)}
.rel__p img{width:100%;height:190px;object-fit:cover;filter:grayscale(.5) contrast(1.02);transition:filter .4s}
.rel__i:hover .rel__p img{filter:grayscale(.2)}
.rel__t{display:block;padding:24px 26px 26px}
.rel__t b{display:block;font-family:Lora,Georgia,serif;font-weight:500;font-size:21px}
.rel__t>span{display:block;margin-top:9px;color:var(--ink-2);font-size:15.5px}
.rel__t .more{margin-top:18px;display:inline-flex;align-items:center;gap:9px;
  font-size:14.5px;color:var(--gold-ink);letter-spacing:.02em}
.rel__t .more svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .2s}
.rel__i:hover .more svg{transform:translateX(4px)}

/* узкая полоса на граните */
.band{position:relative;background:#26282b url('../img/granite.webp') center/cover;color:#eef0f1}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,24,.84),rgba(20,22,24,.46))}
.band__in{position:relative;z-index:2;padding:54px 40px;display:flex;align-items:center;
  justify-content:space-between;gap:40px;flex-wrap:wrap}
.band h2{font-family:Lora,Georgia,serif;font-weight:500;font-size:clamp(23px,2.6vw,30px);color:#f4f6f7;max-width:22ch}
.band p{margin-top:12px;color:rgba(238,240,241,.78);font-size:16.5px;max-width:52ch}
.band__r{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.band__tel{font-family:Lora,Georgia,serif;font-size:27px;color:#f4f6f7;text-decoration:none;white-space:nowrap}
.band__tel:hover{color:#fff}
.band__note{color:rgba(238,240,241,.72);font-size:15.5px;max-width:20ch}

@media (max-width:1000px){
  .phero__g{grid-template-columns:1fr;gap:34px}
  .phero__pic{margin-bottom:-44px}
  .phero__pic img{height:340px}
  .gal,.cat,.rel{grid-template-columns:1fr 1fr}
  .gal--mosaic .is-big{grid-column:span 2;grid-row:span 1}
  .num__g{grid-template-columns:1fr 1fr;gap:34px 20px}
  .num__i:nth-child(3)::before{display:none}
}
@media (max-width:620px){
  .gal{grid-template-columns:1fr;grid-auto-rows:210px}
  .gal--mosaic .is-big{grid-column:span 1}
  .cat,.rel{grid-template-columns:1fr}
  .cat__p img{height:210px}
  .phero__pic img{height:260px}
  .band__in{padding:38px 22px;gap:26px}
  .num__i+.num__i::before{display:none}
  .num__i b{font-size:32px}
}

/* четыре карточки товаров — в один ряд; цена прижата к низу карточки */
.cat--4{grid-template-columns:repeat(4,1fr);gap:18px}
.cat--4 .cat__p img{height:190px}
.cat--4 .cat__t{padding:20px 22px 22px}
.cat--4 .cat__t h3{font-size:19px}
.cat__v{margin-top:auto}
@media (max-width:1000px){.cat--4{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cat--4{grid-template-columns:1fr}}

/* подпись под картой */
.ymap__note{margin-top:16px;font-size:15px;color:var(--ink-3)}
.ymap__note a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2);white-space:nowrap}
.ymap__note a:hover{border-color:var(--ink)}
