/* Стили главной — из согласованной концепции (concepts/home/index.html), собирает build_home.py. Не править руками. */
:root{
  --ink:#111111;
  --ink-2:#1b1917;
  --ink-3:#26231f;
  --paper:#ffffff;
  --cream:#f7f2ec;
  --cream-2:#efe6da;
  --gold:#cfb387;
  --gold-2:#e6d3ae;
  --gold-text:#7d6333;
  --gold-soft:rgba(207,179,135,.18);
  --muted:#5f5852;
  --line:#e6ddd1;
  --line-gold:rgba(207,179,135,.6);
  --on-dark:#d6cec2;
  --on-dark-2:#a99e90;
  --serif:'Cormorant Garamond','Times New Roman',Georgia,serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --block-h:clamp(38px, 2rem + 2.6vw, 66px);
  --block-pad-y:64px;
  --gutter:16px;
  --gap:14px;
  --wrap:1260px;
  --shadow:0 24px 60px -34px rgba(17,17,17,.5);
}
@media (min-width:768px){:root{--block-pad-y:96px;--gutter:28px;--gap:20px}}
@media (min-width:1100px){:root{--block-pad-y:120px;--gutter:40px;--gap:24px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper)}
@media (min-width:768px){body{font-size:17px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:not([href]){cursor:default}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.005em}
h3{font-size:26px;line-height:1.15}
strong,b{font-weight:500}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}

/* Заголовки блоков — один размер на странице, включая H1 */
.h{font-size:var(--block-h);line-height:1.04;font-weight:500;text-wrap:balance}
.h em{font-style:normal;font-weight:400;color:var(--gold-text)}
.section--dark .h em{color:var(--gold-2)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12.5px;font-weight:500;font-style:italic;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);flex:none}
.section--dark .eyebrow{color:var(--gold-2)}
.sec-head{display:grid;gap:18px;margin-bottom:36px;max-width:820px}
.sec-head .lead{font-size:17px;color:var(--muted);max-width:640px;line-height:1.6}
.section--dark .sec-head .lead{color:var(--on-dark)}
.swash{width:120px;height:14px;color:var(--gold);display:block}
@media (min-width:768px){.sec-head{margin-bottom:48px}.sec-head .lead{font-size:18px}}
.sec-head--row{max-width:none}
@media (min-width:900px){
  .sec-head--row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px}
  .sec-head--row .sec-head-text{display:grid;gap:18px;max-width:820px}
}
.section{padding-block:var(--block-pad-y);position:relative}
.section--cream{background:var(--cream)}
.section--dark{background:var(--ink);color:#fff;overflow:hidden}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;font-family:var(--sans);font-weight:500;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-gold:hover{background:var(--ink);color:var(--gold-2);border-color:var(--ink)}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(230,211,174,.6)}
.btn-ghost:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn .ico{width:18px;height:18px}
.link{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding-bottom:6px;border-bottom:1px solid var(--gold);transition:color .2s}
.link:hover{color:var(--gold-text)}
.section--dark .link{color:#fff}
.section--dark .link:hover{color:var(--gold-2)}

/* Верхняя строка */
.topbar{display:none;background:var(--ink);color:var(--on-dark);font-size:13px;letter-spacing:.04em}
.topbar-row{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:24px}
.topbar-info{display:flex;gap:24px}
.topbar-info span{display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.topbar-info .ico{width:15px;height:15px;color:var(--gold)}
.topbar-links{display:flex;gap:2px;align-items:center}
.topbar-links .lbl{margin-right:10px;color:var(--gold-2);font-family:var(--serif);font-style:italic;font-size:17px;letter-spacing:0}
.topbar-links a{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;text-decoration:none;color:#fff;letter-spacing:.06em;transition:color .2s}
.topbar-links a:hover{color:var(--gold-2)}
.topbar-links .ico{width:15px;height:15px}
@media (min-width:1100px){.topbar{display:block}}

/* Шапка */
.head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid var(--line)}
.head-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:68px;gap:8px}
.logo{display:flex;justify-content:center;align-items:center;min-height:44px;text-decoration:none}
.logo img{height:42px;width:auto}
.nav{display:none}
.head-phone{display:grid;place-items:center;width:44px;height:44px;color:var(--ink);text-decoration:none}
.head-phone span{display:none}
.head-btn{display:none}
.menu{position:static}
.menu summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.burger{position:relative;width:22px;height:1.5px;background:var(--ink);display:block}
.burger::before,.burger::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink)}
.burger::before{top:-7px}.burger::after{top:7px}
.menu[open] .burger{background:transparent}
.menu[open] .burger::before{top:0;transform:rotate(45deg)}
.menu[open] .burger::after{top:0;transform:rotate(-45deg)}
.menu:not([open]) .menu-panel{display:none}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:6px var(--gutter) 22px;display:grid;gap:0;max-height:calc(100vh - 68px);overflow:auto}
.menu-panel > a{font-family:var(--serif);font-size:25px;font-weight:500;padding:11px 4px;text-decoration:none;border-bottom:1px solid var(--line);display:block}
.menu-contacts{display:grid;gap:0;padding-top:10px}
.menu-contacts a{display:flex;gap:12px;align-items:center;min-height:44px;text-decoration:none;font-weight:400;font-size:15.5px;padding:0 4px}
.menu-contacts .ico{color:var(--gold-text)}
.menu-panel .btn{margin-top:12px}
@media (min-width:1000px){
  .head-row{grid-template-columns:auto 1fr auto auto;gap:22px;min-height:84px}
  .logo{justify-content:flex-start}
  .logo img{height:54px}
  .nav{display:flex;gap:0;justify-content:center;flex-wrap:wrap}
  .nav a{text-decoration:none;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;padding:8px 10px;position:relative;white-space:nowrap}
  .nav a::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
  .nav a:hover::after{transform:scaleX(1)}
  .head-phone{width:auto;height:auto;display:inline-flex;gap:8px;align-items:center;font-weight:400;font-size:15px;letter-spacing:.02em;white-space:nowrap;min-height:44px}
  .head-phone span{display:inline}
  .head-phone .ico{width:17px;height:17px;color:var(--gold-text)}
  .head-btn{display:inline-flex;min-height:46px;padding:0 20px;font-size:12px}
  .menu{display:none}
}
@media (min-width:1200px){.nav a{padding:8px 13px;font-size:13px}.logo img{height:60px}.head-row{gap:28px}}

/* Первый экран */
.hero{padding-top:36px;padding-bottom:0;overflow:hidden;background:var(--cream);position:relative}
.hero::before{content:"";position:absolute;right:-20%;bottom:8%;width:70vw;height:70vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,rgba(207,179,135,.3),rgba(207,179,135,0));pointer-events:none}
.hero-grid{display:grid;gap:40px;position:relative}
.curve{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--gold)}
.curve path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
@media (min-width:900px){.curve{display:block}}
.section--dark .curve{color:var(--gold-2);opacity:.35}
.hero-text{display:grid;gap:22px;align-content:center}
.hero-text .lead{font-size:17px;line-height:1.6;color:var(--muted);max-width:560px}
.hero-actions{display:grid;gap:10px}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:4px}
.hero-facts li{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:400;color:var(--ink)}
.hero-facts li::before{content:"✦";color:var(--gold);font-size:11px}
.hero-visual{position:relative;padding:20px 0 44px}
.hero-photo{position:relative}
.hero-frame{position:absolute;inset:-12px;border:1px solid var(--line-gold);pointer-events:none}
.hero-main{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream-2)}
.hero-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;animation:kb 7s ease-out both}
@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero-main::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.5);pointer-events:none}
.hero-small{position:absolute;right:-6px;bottom:-44px;width:44%;aspect-ratio:7/8;overflow:hidden;box-shadow:var(--shadow);border:6px solid var(--cream);background:var(--cream-2)}
.hero-small img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero-tag{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:10px 14px;font-size:13px;color:var(--muted);max-width:min(58%,250px);line-height:1.35}
.hero-tag strong{display:block;font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:500;line-height:1.1;margin-bottom:2px}
.hero-rating{position:absolute;left:-6px;top:22px;background:rgba(17,17,17,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:12px 16px;display:grid;gap:3px}
.hero-rating b{font-family:var(--serif);font-size:32px;line-height:1;color:var(--gold-2);font-weight:500;display:flex;align-items:center;gap:8px}
.hero-rating b .ico{width:18px;height:18px;fill:var(--gold);stroke:none}
.hero-rating span{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.hero-side{display:none}
/* Оценка полупрозрачная везде; телефон: одно фото, оценка сбоку посередине фото — не закрывает лицо (Даша, 14.10.2026) */
@media (max-width:899px){
  .hero{padding-top:20px}
  .hero-grid{gap:30px}
  .hero-visual{order:-1;padding:12px 0 24px} /* телефон: сначала фото, потом текст, как на старом сайте (клиент, 23.10.2026) */
  .hero-small{display:none}
  .hero-rating{top:50%;left:-6px;transform:translateY(-50%);padding:10px 12px;max-width:128px}
  .hero-rating b{font-size:26px;gap:6px}
  .hero-rating b .ico{width:15px;height:15px}
  .hero-rating span{font-size:10px;line-height:1.35}
}
@media (min-width:600px){.hero-actions{display:flex;flex-wrap:wrap}.hero-actions .btn{min-width:236px}}
@media (min-width:900px){
  .hero{padding-top:56px}
  .hero-grid{grid-template-columns:1fr .94fr;gap:60px;align-items:center}
  .hero-text{gap:26px}
  .hero-text .lead{font-size:19px}
  .hero-visual{padding:16px 48px 52px 0}
  .hero-main{aspect-ratio:3/4}
  .hero-side{display:block;position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-text);white-space:nowrap}
}
@media (min-width:1100px){.hero{padding-top:72px}.hero-grid{gap:80px}}
/* Отдельная страница «только первый блок» (Даша, 16.10.2026): секция hero--bg, фото девушки в белом — фоном блока (background-image в style секции).
   Телефон — текст сверху, фото фоном внизу блока во всю ширину; компьютер — блок на весь экран, фото фоном справа, текст слева */
.hero--bg{padding:40px 0 calc(100vw * 1.34);background-color:#e7e4df;background-repeat:no-repeat;background-size:100% auto;background-position:50% 100%}
.hero--bg::before,.hero--bg .curve{display:none}
.hero--bg .hero-rating{left:0;top:auto;bottom:24px}
@media (min-width:900px){
  .hero--bg{min-height:100vh;display:flex;align-items:center;padding:72px 0;background-size:auto 100%;background-position:right 0 bottom 0}
  .hero--bg .hero-grid{display:block}
  .hero--bg .hero-text{max-width:560px}
  .hero--bg .hero-rating{left:auto;right:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)));bottom:40px}
}

/* Бегущая строка */
.mq{margin-top:64px;background:var(--ink);color:var(--gold-2);overflow:hidden;padding:15px 0;border-top:1px solid var(--line-gold);position:relative}
.mq-track{display:flex;width:max-content;animation:mq 46s linear infinite}
.mq-group{display:flex}
.mq-group span{font-family:var(--serif);font-style:normal;font-size:26px;line-height:1.2;white-space:nowrap;padding:0 24px;display:inline-flex;align-items:center;gap:26px}
.mq-group span::after{content:"✦";font-style:normal;font-size:13px;color:var(--gold)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (min-width:768px){.mq{margin-top:96px}.mq-group span{font-size:30px}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}.hero-main img{animation:none}}

/* Каталог */
.cat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{position:relative;display:block;overflow:hidden;background:var(--cream-2);text-decoration:none;color:#fff;aspect-ratio:3/4;isolation:isolate}
.tile:first-child{grid-column:1/-1;aspect-ratio:4/5}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%;transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.tile:hover img{transform:scale(1.06)}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,0) 42%,rgba(17,17,17,.74) 100%);z-index:1}
.tile-body{position:absolute;left:0;right:0;bottom:0;padding:14px;display:grid;gap:4px;z-index:2}
.tile-num{font-size:11px;letter-spacing:.24em;color:var(--gold-2)}
.tile h3{font-size:22px;color:#fff;font-weight:500;line-height:1.1;overflow-wrap:anywhere}
.tile p{font-size:13px;line-height:1.35;color:rgba(255,255,255,.84)}
.tile-cta{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-top:6px}
.tile-cta::after{content:"";width:22px;height:1px;background:var(--gold-2);transition:width .3s}
.tile:hover .tile-cta::after{width:40px}
.tile-corner{position:absolute;inset:12px;border:1px solid rgba(230,211,174,0);transition:border-color .4s;pointer-events:none;z-index:2}
.tile:hover .tile-corner{border-color:rgba(230,211,174,.65)}
.tile--cta{grid-column:1/-1;aspect-ratio:auto;background:var(--ink);display:grid;align-content:center;gap:14px;padding:28px 22px;color:#fff}
.tile--cta h3{font-size:30px}
.tile--cta p{color:var(--on-dark);font-size:15px}
.tile--cta .link{margin-top:6px;justify-self:start}
.tile--cta::before{display:none}
.tile--cta .link{color:#fff;border-bottom-color:var(--gold)}
.tile--cta .link:hover{color:var(--gold-2)}
@media (min-width:600px){.tile h3{font-size:24px}.tile-body{padding:18px}}
@media (min-width:900px){
  .cat{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
  .tile:first-child{grid-column:auto;aspect-ratio:auto}
  .tile--tall{grid-row:span 2;aspect-ratio:auto}
  .tile--tall h3{font-size:32px}
  .tile--cta{grid-column:span 3;padding:36px 40px;grid-template-columns:1fr auto;align-items:center}
  .tile--cta .link{grid-row:1/3;grid-column:2;align-self:center}
}

/* Выпускной — тёмный блок */
.prom{display:grid;gap:44px;position:relative}
.ghost{position:absolute;left:-1%;top:-34px;font-family:var(--serif);font-style:italic;font-size:clamp(96px,24vw,320px);line-height:1;color:rgba(230,211,174,.06);pointer-events:none;user-select:none;white-space:nowrap;z-index:0}
.prom-text{display:grid;gap:22px;position:relative;z-index:1}
.prom-text .lead{color:var(--on-dark);font-size:17px;line-height:1.6}
.prom-points{display:grid;gap:12px}
.prom-points li{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:15.5px;line-height:1.45;color:var(--on-dark)}
.prom-points li::before{content:"✦";color:var(--gold);font-size:12px;padding-top:3px}
.prom-points strong{color:#fff;font-weight:400}
.prom-actions{display:flex;flex-wrap:wrap;gap:10px}
.collage{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start;position:relative;z-index:1}
.collage figure{margin:0;position:relative;overflow:hidden;background:var(--ink-3)}
.collage img{width:100%;height:100%;object-fit:cover;object-position:50% 10%;display:block;aspect-ratio:3/4;transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.collage figure:hover img{transform:scale(1.05)}
.collage figure:nth-child(2){margin-top:44px}
.collage figure:nth-child(3){margin-top:-44px}
.collage figcaption{position:absolute;left:10px;bottom:10px;font-size:12px;letter-spacing:.08em;color:#fff;background:rgba(17,17,17,.62);padding:5px 9px}
.collage figure::after{content:"";position:absolute;inset:10px;border:1px solid rgba(230,211,174,.35);pointer-events:none}
.quote{position:relative;padding:20px 22px 20px 26px;border-left:1px solid var(--gold);background:rgba(255,255,255,.04)}
.quote p{font-family:var(--serif);font-size:21px;line-height:1.3;font-style:italic;color:#fff}
.quote cite{display:block;margin-top:10px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
@media (min-width:900px){
  .prom{grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
  .collage{gap:var(--gap)}
  .collage figure:nth-child(2){margin-top:64px}
  .collage figure:nth-child(3){margin-top:-64px}
  .prom-text .lead{font-size:18px}
}

/* Два повода */
.duo{display:grid;gap:44px}
.occ{display:grid;gap:22px;align-content:start}
.occ-media{position:relative;padding-right:22%;padding-bottom:10%}
.occ-main{aspect-ratio:4/5;overflow:hidden;background:var(--cream-2)}
.occ-main img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.occ:hover .occ-main img{transform:scale(1.04)}
.occ-small{position:absolute;right:0;bottom:0;width:42%;aspect-ratio:3/4;overflow:hidden;border:6px solid var(--cream);box-shadow:var(--shadow);background:var(--cream-2)}
.occ-small img{width:100%;height:100%;object-fit:cover;object-position:50% 8%}
.occ h3{font-size:30px}
.occ > p{color:var(--muted);line-height:1.6}
.occ .quote{border-left-color:var(--gold);background:#fff}
.occ .quote p{color:var(--ink);font-size:19px}
.occ .quote cite{color:var(--gold-text)}
.occ-media{display:block;text-decoration:none}
.occ-link{text-decoration:none;color:inherit;transition:color .25s}
.occ-link .ico{display:inline-block;width:22px;height:22px;margin-left:10px;vertical-align:-2px;color:var(--gold-text);transition:transform .3s}
.occ-link:hover{color:var(--gold-text)}
.occ-link:hover .ico{transform:translateX(4px)}
@media (min-width:900px){.duo{grid-template-columns:1fr 1fr;gap:56px}.occ h3{font-size:34px}}

/* Из каталога */
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.pcard{display:grid;gap:10px;text-decoration:none;color:var(--ink);align-content:start}
.pmedia{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--cream)}
.pmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 10%;transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.pcard:hover .pmedia img{transform:scale(1.05)}
.ptag{position:absolute;left:10px;bottom:10px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:5px 8px;color:var(--ink);z-index:1} /* внизу фото, полупрозрачная (клиент, 23.10.2026) */
.pcard h3{font-size:20px;line-height:1.1}
.pmeta{display:grid;gap:4px}
.pcard .price{font-size:15px;font-weight:400;letter-spacing:.02em;white-space:nowrap}
.pcat{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pnote{margin-top:22px;font-size:14px;color:var(--muted)}
@media (min-width:768px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.pcard h3{font-size:22px}.pmeta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}}

/* Почему Монро — факты */
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.feature{display:grid;background:#fff;border:1px solid var(--line);grid-column:1/-1}
.feature-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.feature-body{padding:24px 20px 26px;display:grid;gap:14px;align-content:center}
.feature h3{font-size:28px}
.feature p{color:var(--muted);line-height:1.6}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--line-gold);color:var(--gold-text);font-weight:400}
.chips a{display:flex;align-items:center;gap:8px;margin:-7px -12px;padding:7px 12px;color:inherit;text-decoration:none;transition:background-color .25s,color .25s}
.chips a .ico{width:14px;height:14px;transition:transform .3s}
.chips a:hover{background:var(--gold);color:var(--ink)}
.chips a:hover .ico{transform:translateX(3px)}
.fact{background:#fff;border:1px solid var(--line);padding:18px 14px 16px;display:grid;gap:8px;align-content:end;position:relative;overflow:hidden;min-height:132px}
.fact b{font-family:var(--serif);font-size:36px;line-height:1;font-weight:500;color:var(--ink)}
.fact b small{font-size:22px;font-family:var(--serif);color:var(--gold-text);font-style:italic;margin-left:4px;font-weight:400}
.fact--text b{font-size:26px;line-height:1.05}
.fact span{font-size:13.5px;line-height:1.4;color:var(--muted)}
.fact::after{content:"✦";position:absolute;right:14px;top:12px;color:var(--gold);font-size:13px}
.fact--dark{background:var(--ink);border-color:var(--ink)}
.fact--dark b{color:var(--gold-2)}
.fact--dark span{color:var(--on-dark)}
@media (min-width:640px){
  .bento{gap:var(--gap)}
  .feature{grid-template-columns:1.1fr 1fr}
  .feature-img{aspect-ratio:auto;min-height:320px}
  .feature-body{padding:32px 30px}
  .fact{padding:22px 20px;min-height:150px}
  .fact b{font-size:44px}
  .fact--text b{font-size:30px}
  .fact span{font-size:14.5px}
}
@media (min-width:1024px){
  .bento{grid-template-columns:repeat(4,1fr)}
  .feature{grid-column:1/3;grid-row:1/3;grid-template-columns:1fr}
  .feature-img{min-height:280px}
  .fact b{font-size:52px}
  .fact--text b{font-size:32px}
}

/* Примерка и форма */
.fit{display:grid;gap:40px}
.fit-text{display:grid;gap:26px;align-content:start}
.fit-text .lead{color:var(--muted);line-height:1.6;font-size:17px}
.steps{display:grid;counter-reset:s}
.steps li{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold-text);font-style:italic;padding-top:2px}
.steps strong{display:block;font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.15;margin-bottom:4px}
.steps span{color:var(--muted);font-size:15.5px;line-height:1.5}
.fit-contacts{display:grid;gap:8px}
.fit-contacts a{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 14px;border:1px solid var(--line);text-decoration:none;font-weight:400;font-size:15.5px;transition:border-color .2s}
.fit-contacts a:hover{border-color:var(--gold)}
.fit-contacts .ico{color:var(--gold-text)}
.fit-contacts small{display:block;font-weight:300;font-size:13.5px;color:var(--muted)}
@media (min-width:600px){.fit-contacts{grid-template-columns:1fr 1fr}}
.form{background:var(--cream);padding:24px 20px 26px;display:grid;gap:14px;border:1px solid var(--line);position:relative}
.form::before{content:"";position:absolute;inset:8px;border:1px solid var(--line-gold);pointer-events:none}
.form > *{position:relative}
.form h3{font-size:28px}
.form-row{display:grid;gap:14px}
.field{display:grid;gap:6px;align-content:start}
.field label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{font:inherit;font-weight:300;font-size:16px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%;min-height:50px;transition:border-color .2s}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d6333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--gold)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--gold-text)}
.field textarea{min-height:96px;resize:vertical}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:13.5px;color:var(--muted);line-height:1.4}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold-text)}
.consent a{color:var(--gold-text)}
.form .btn{width:100%}
.form-note{font-size:14px;color:var(--muted);line-height:1.5}
@media (min-width:600px){.form-row{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.fit{grid-template-columns:1fr 1fr;gap:64px;align-items:start}.form{padding:36px 36px 38px}}

/* Отзывы */
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.badge{display:inline-flex;align-items:center;gap:14px;padding:10px 18px 10px 14px;background:#fff;border:1px solid var(--line)}
.badge b{font-family:var(--serif);font-size:28px;line-height:1;color:var(--ink);font-weight:500}
.badge div{display:grid;gap:2px}
.badge .stars{color:var(--gold);letter-spacing:2px;font-size:12px;line-height:1}
.badge span{font-size:13px;color:var(--muted);line-height:1.3}
.reviews{display:grid;gap:12px}
.rev{background:#fff;border:1px solid var(--line);padding:26px 22px 24px;display:grid;gap:16px;align-content:start;position:relative}
.rev::before{content:"“";position:absolute;right:18px;top:0;font-family:var(--serif);font-size:84px;line-height:1;color:var(--gold-soft)}
.rev p{font-family:var(--serif);font-size:20px;line-height:1.35;font-style:italic;position:relative}
.rev cite{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);font-weight:400}
.rev cite small{display:block;letter-spacing:.02em;text-transform:none;color:var(--muted);font-size:13px;margin-top:3px;font-weight:300}
@media (min-width:900px){.reviews{grid-template-columns:repeat(3,1fr);gap:var(--gap)}.rev{padding:30px 26px 28px}}

/* Контакты */
.contacts{display:grid;gap:32px}
.cinfo{display:grid;gap:18px;align-content:start}
.crow{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start}
.crow .i{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line-gold);color:var(--gold-text)}
.crow strong{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:4px}
.crow p{font-weight:400;font-size:17px;line-height:1.4}
.crow a{font-weight:400;font-size:17px;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.crow a:hover{color:var(--gold-text)}
.crow .inline{display:flex;flex-wrap:wrap;gap:0 18px;align-items:center}
.crow small{color:var(--muted);font-size:13.5px}
.cside{display:grid;gap:12px;align-content:start}
.cphoto{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.cphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.cphoto figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);padding:6px 10px;font-size:12.5px;letter-spacing:.06em}
.map-stub{min-height:220px;border:1px dashed var(--line-gold);background:var(--cream);display:grid;place-items:center;text-align:center;padding:22px;color:var(--muted);font-size:14.5px;line-height:1.45}
.map-stub strong{display:block;font-family:var(--serif);font-size:24px;color:var(--ink);font-weight:500;margin-bottom:4px}
.map-stub .ico{width:28px;height:28px;color:var(--gold-text);margin:0 auto 10px}
@media (min-width:900px){.contacts{grid-template-columns:.9fr 1.1fr;gap:64px}.map-stub{min-height:260px}}

/* Подвал */
.foot{background:var(--ink);color:var(--on-dark);padding:44px 0 26px}
.foot-row{display:grid;gap:30px}
.foot-brand{display:grid;gap:14px;max-width:420px}
.foot-brand img{height:52px;width:auto}
.foot-brand p{font-size:15px;line-height:1.55}
.foot-col strong{display:block;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);font-weight:400;margin-bottom:10px}
.foot-nav{display:grid;gap:0}
.foot-nav a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;font-size:15px;color:#fff;transition:color .2s}
.foot-nav a:hover{color:var(--gold-2)}
.foot-contacts{display:grid;gap:0;font-size:15px}
.foot-contacts a,.foot-contacts span{text-decoration:none;color:#fff;display:inline-flex;align-items:center;min-height:36px;gap:10px;white-space:nowrap}
.foot-contacts small{color:var(--on-dark-2);font-size:13px;margin-left:6px}
.foot-bottom{display:flex;flex-wrap:wrap;gap:0 24px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:10px;font-size:13px}
.foot-bottom span,.foot-bottom a{display:inline-flex;align-items:center;min-height:40px;color:var(--on-dark-2);text-decoration:none}
.foot-bottom a:hover{color:#fff}
@media (min-width:900px){.foot{padding:64px 0 30px}.foot-row{grid-template-columns:1.3fr .7fr .9fr;gap:40px}}

/* Липкая панель на телефоне */
.bar{position:sticky;bottom:0;z-index:45;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.bar .btn{min-height:48px;padding:0 12px;font-size:12.5px}
@media (min-width:768px){.bar{display:none}}

/* Появление при прокрутке — без JS всё видно сразу */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ==== Дополнения для WordPress (assets/home-wp.css) ==== */
/* Панель администратора WordPress: липкая шапка не прячется под неё */
@media (min-width:601px){.admin-bar .head{top:46px}}
@media (min-width:783px){.admin-bar .head{top:32px}}

/* Ссылки-кнопки онлайн-записи */
.ms_booking{cursor:pointer}

/* Онлайн-запись YCLIENTS открывают кнопки «Записаться» в шапке, на первом экране и внизу на телефоне —
   круглую кнопку виджета на главной не показываем */
.yButton{display:none!important}

/* Карта салона — конструктор Яндекса */
.map{position:relative;min-height:260px;background:var(--cream);border:1px solid var(--line)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (min-width:768px){.map{min-height:320px}}

/* Карточки товаров из WooCommerce: цена со скидкой */
.pcard .price del{color:var(--muted);font-size:.82em;margin-right:6px;font-weight:300}
.pcard .price ins{text-decoration:none}

/* Форма записи */
.form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{padding:14px 16px;border:1px solid var(--line-gold);background:var(--paper);font-size:15px;line-height:1.45}
.form-msg strong{display:block;font-family:var(--serif);font-size:22px;font-weight:500;margin-bottom:2px}
.form-msg--err{border-color:#b32d2e;color:#7a1f1f}
.form button[disabled]{opacity:.6;cursor:wait}
