/* ============================================================
   «Быстро Лютик» — общий стиль сайта.
   Палитра взята с иллюстрации маскота: жёлтый лютик, зелёный
   стебель, кремовый фон.
   ============================================================ */

:root{
  --cream:#FDF4E3;
  --yolk:#F7C21B;
  --amber:#E09A0B;
  --leaf:#7CB04F;
  --forest:#33502A;
  --coral:#F0705A;
  --lilac:#A98BC9;
  --kraft:#C29A62;
  --ink:#2B2519;

  --display:"Fredoka","Nunito","Trebuchet MS",sans-serif;
  --body:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif;
  --hand:"Caveat","Segoe Script",cursive;
  --head:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif;

  --pad:clamp(20px,5vw,68px);
  --r:26px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--cream);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit}
img,svg{display:block;max-width:100%;height:auto}
/* hidden должен побеждать любые display у классов */
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;opacity:.6}
h2.title{font-family:var(--head);font-weight:800;font-size:clamp(28px,4vw,46px);
  line-height:1.04;letter-spacing:-.025em;margin:10px 0 14px;max-width:22ch;color:var(--forest)}
.sec--forest h2.title,.brand h2.title{color:inherit}
/* рукописная пометка */
.hand{font-family:var(--hand);font-weight:500;font-size:clamp(19px,2.2vw,26px);
  line-height:1.15;color:var(--forest);opacity:.85}

/* ---------- кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--display);font-weight:600;font-size:17px;
  padding:15px 28px;border-radius:100px;border:2px solid transparent;
  background:var(--ink);color:var(--cream);text-decoration:none;cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn--yolk{background:var(--yolk);color:var(--ink);box-shadow:0 5px 0 var(--amber)}
.btn--yolk:hover{box-shadow:0 7px 0 var(--amber)}
.btn--ghost{background:transparent;color:var(--ink);border-color:currentColor}
.btn--ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
:focus-visible{outline:3px solid var(--leaf);outline-offset:3px;border-radius:8px}

/* ---------- шапка ---------- */
.topbar{position:sticky;top:0;z-index:60;background:var(--cream)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:16px;flex:none}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo img{width:42px;height:auto;flex:none}
.logo__txt{font-family:var(--head);font-weight:900;font-size:20px;line-height:.92;
  letter-spacing:-.02em;text-transform:uppercase;color:var(--forest)}
.brand__note{font-family:var(--hand);font-weight:500;font-size:19px;line-height:1.05;
  color:var(--forest);opacity:.75;max-width:11ch}
.brand__note::after{content:" ♡";font-size:14px}
@media (max-width:1180px){.brand__note{display:none}}
.nav{display:flex;gap:22px;font-size:15px;font-weight:500;flex-wrap:wrap;margin:0 auto}
.nav a{text-decoration:none;padding:3px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-bottom-color:var(--yolk)}
.nav a{color:var(--forest)}
.nav a[aria-current="page"]{border-bottom-color:var(--ink)}
.topbar .btn{padding:12px 24px;font-size:15px;font-family:var(--head);font-weight:700}
@media (max-width:1080px){.nav{gap:14px;font-size:14px}}
@media (max-width:900px){
  .topbar__in{flex-wrap:wrap;gap:10px}
  .nav{order:3;width:100%;gap:16px;padding-bottom:8px;
       flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
       scrollbar-width:none;-ms-overflow-style:none;
       mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .nav::-webkit-scrollbar{display:none}
  .nav{margin:0}
  .topbar__call{margin-left:auto}
}
@media (max-width:480px){.topbar__call span{display:none}}

/* ---------- герой главной ---------- */
.hero{position:relative;overflow:hidden;background:var(--cream)}
.hero__in{display:grid;grid-template-columns:1.18fr .82fr;gap:30px;align-items:center;
  padding-top:clamp(26px,3.6vw,54px);padding-bottom:clamp(20px,3vw,40px);position:relative;z-index:2}
/* «врезка» с домом в Академическом */
.hero__house{position:absolute;right:clamp(-40px,1vw,24px);top:6%;z-index:0;
  pointer-events:none;overflow:hidden;
  width:min(38vw,460px);aspect-ratio:1;border-radius:50%;
  box-shadow:0 0 0 12px var(--cream),0 18px 44px rgba(43,37,25,.10)}
.hero__house img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.82)}
.hero__house::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(200deg,rgba(253,244,227,.22) 0%,rgba(253,244,227,.5) 55%,rgba(253,244,227,.78) 100%)}
@media (max-width:900px){.hero__house{display:none}}

/* Слоган визуально главный, но семантически это не заголовок:
   H1 отдан ключевой фразе — так требует семантическое ядро. */
/* слоган — тем же рукописным шрифтом, что подпись у логотипа */
.hero__slogan{font-family:var(--hand);font-weight:600;
  font-size:clamp(36px,5.4vw,66px);line-height:1.02;letter-spacing:0;
  color:var(--forest);margin:8px 0 18px}
.hero__slogan em{font-style:normal;display:block}
.hero__slogan .heart{color:var(--yolk);font-size:.62em;vertical-align:.22em;margin-left:.22em}
.hero h1{font-family:var(--body);font-weight:500;font-size:clamp(17px,2.05vw,23px);
  line-height:1.32;margin:0 0 16px;max-width:30ch;opacity:.92}
.hero__lead{font-size:clamp(15.5px,1.75vw,17.5px);max-width:52ch;margin-bottom:26px;opacity:.8}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}

/* строка преимуществ */
/* Полоса фактов под первым экраном: в один ряд, по левому краю, без растяжки. */
.hero__strip{position:relative;z-index:2;padding-bottom:clamp(18px,2.6vw,38px)}
.hero__meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:14px clamp(22px,3vw,44px)}
@media (max-width:430px){
  .hero__meta{gap:12px 20px}
  .hero__meta .feat b,.hero__meta .feat span{white-space:normal}
}
.feat{display:flex;align-items:center;gap:11px}
.feat svg{flex:none;width:22px;height:22px}
.feat b{display:block;font-family:var(--body);font-weight:500;font-size:15px;line-height:1.25;white-space:nowrap}
.feat span{display:block;font-size:15px;line-height:1.25;opacity:.7;white-space:nowrap}

.mascot{position:relative;display:grid;place-items:center;min-height:min(70vh,520px)}
.mascot__sun{position:absolute;width:min(78%,370px);aspect-ratio:1.06;
  background:rgba(223,235,203,.62);border-radius:58% 42% 47% 53%/48% 55% 45% 52%;
  top:13%;left:50%;transform:translateX(-50%)}
.mascot__img{position:relative;z-index:2;width:min(86%,400px);height:auto;
  filter:drop-shadow(0 22px 26px rgba(43,37,25,.16));animation:hop 2.6s ease-in-out infinite}
@keyframes hop{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-13px) rotate(-1.2deg)}}

/* рукописные подписи вокруг маскота */
.note{position:absolute;z-index:3;font-family:var(--hand);font-weight:500;
  font-size:clamp(15px,1.5vw,20px);line-height:1.12;color:var(--forest);opacity:.8;max-width:14ch}
.note--1{right:-5%;top:1%;text-align:left;opacity:.95}
.note--2{left:-7%;top:40%;max-width:9ch;transform:rotate(-7deg)}
.note--3{right:-11%;bottom:-2%;max-width:17ch;transform:rotate(-4deg);opacity:.95}
.note svg{position:absolute;width:44px;height:34px;opacity:.7}
.note--1 svg{left:-6px;bottom:-32px}
@media (max-width:1080px){.note{display:none}}

/* Падающие лепестки и листики — вырезаны из иллюстрации маскота (img/petals). */
.petal{position:absolute;top:0;width:24px;opacity:0;pointer-events:none;
  animation:fall linear infinite;will-change:transform}
.petal img{display:block;width:100%;height:auto}
@keyframes fall{
  0%{transform:translate3d(0,-50px,0) rotate(-15deg);opacity:0}
  10%{opacity:.95}
  50%{transform:translate3d(-46px,300px,0) rotate(150deg)}
  90%{opacity:.9}
  100%{transform:translate3d(-86px,620px,0) rotate(325deg);opacity:0}
}
@media (prefers-reduced-motion:reduce){.petal{display:none}}
@media (max-width:880px){
  .hero__in{grid-template-columns:1fr;gap:10px;padding-top:18px}
  .mascot{order:-1;min-height:auto}
  .mascot__img{width:min(56%,240px)}
  .mascot__sun{width:min(54%,225px);top:2%}
}
@media (max-width:520px){
  .mascot__img{width:min(50%,190px)}
  .mascot__sun{width:min(48%,180px)}
  .feat b,.feat span{font-size:14.5px}
}

/* ---------- компактный ряд ссылок на разделы ---------- */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tag{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:#fff;border:1px solid rgba(43,37,25,.14);border-radius:100px;
  padding:11px 20px;font-size:16px;line-height:1;color:var(--forest);
  transition:border-color .18s ease,transform .18s ease}
.tag:hover{border-color:var(--yolk);transform:translateY(-2px)}
.tag i{width:11px;height:11px;border-radius:50%;flex:none;font-style:normal}
.tag u{text-decoration:none;opacity:.55;font-size:14.5px}

/* ---------- быстрые карточки под бегущей строкой ---------- */
.quick{padding:clamp(30px,4vw,54px) 0 clamp(12px,2vw,20px)}
.quick__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qcard{position:relative;display:block;overflow:hidden;text-decoration:none;color:inherit;
  background:#fff;border:1px solid rgba(43,37,25,.12);border-radius:var(--r);
  padding:22px 20px 22px;min-height:214px;
  transition:transform .2s ease,box-shadow .2s ease}
.qcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(43,37,25,.1)}
.qcard__body{position:relative;z-index:2}
.qcard h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.01em;
  display:flex;align-items:center;gap:9px;margin-bottom:8px}
.qcard h3 svg{flex:none;width:22px;height:22px}
/* листик перед заголовком карточки — свой цвет у каждой */
.leafico{transform:rotate(-6deg)}
.leafico--leaf{color:var(--leaf)}
.leafico--coral{color:var(--coral)}
.leafico--amber{color:var(--amber)}
.leafico--lilac{color:var(--lilac)}
/* лепестки вокруг блока карточек — как на обложках историй */
.has-flecks{position:relative}
.fleck{position:absolute;pointer-events:none;z-index:0;line-height:0}
.fleck img{display:block;width:100%;height:auto}
.fleck--1{width:72px;left:6px;top:3%;transform:rotate(-24deg)}
.fleck--2{width:56px;left:2%;bottom:4%;transform:rotate(38deg)}
.fleck--3{width:62px;right:6px;top:11%;transform:rotate(18deg)}
.fleck--4{width:50px;right:3%;bottom:3%;transform:rotate(-30deg)}
.fleck--5{width:44px;left:47%;top:-10px;transform:rotate(12deg)}
.has-flecks>.wrap{position:relative;z-index:1}
@media (max-width:900px){.fleck--2,.fleck--4,.fleck--5{display:none}
  .fleck--1{width:56px}.fleck--3{width:48px}}
.qcard p{font-size:15px;line-height:1.4;opacity:.8;max-width:80%}
.qcard__go{display:inline-block;margin-top:14px;font-weight:600;font-size:15px;color:var(--forest)}
.qcard__go::after{content:" →"}
.qcard:hover .qcard__go{text-decoration:underline}
.qcard__pic{position:absolute;right:-8px;bottom:-6px;z-index:1;pointer-events:none;
  width:43%;max-width:188px;height:auto}
/* логотип вместо предмета — широкий, ставим ниже и шире */
/* карточка «Невяна» — свой бренд внутри лавки: льняной фон, тонкая рамка, антиква */
.qcard--nev{--nev-ink:#3E4A38;--nev-terra:#B0552F;--nev-ochre:#C4953A;
  background:radial-gradient(120% 90% at 100% 100%,#EFE5D4 0,#F7F2E9 60%);
  border-color:#DCCDB5;padding-bottom:104px;color:var(--nev-ink)}
.qcard--nev::before{content:"";position:absolute;inset:8px;border:1px solid rgba(176,85,47,.22);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
.qcard--nev:hover{box-shadow:0 16px 34px rgba(62,74,56,.14)}
.qcard__tag{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  color:var(--nev-terra);margin-bottom:6px}
.qcard--nev h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:30px;
  line-height:1;letter-spacing:.01em;margin-bottom:8px}
.qcard--nev p{opacity:.85}
.qcard--nev .qcard__go{color:var(--nev-ink);border-bottom:1px solid var(--nev-ochre);padding-bottom:1px}
.qcard--nev:hover .qcard__go{text-decoration:none;border-color:var(--nev-terra)}
/* карточка «Мастер-классы» — Тюлю Ивановна: пудрово-розовый фон, та же рамка и антиква */
.qcard--mk{--mk-ink:#3E4A38;--mk-rose:#C4506A;
  background:radial-gradient(120% 90% at 100% 100%,#F8DCD8 0,#FCF1EC 62%);
  border-color:#EDC9C3;color:var(--mk-ink)}
.qcard--mk::before{content:"";position:absolute;inset:8px;border:1px solid rgba(196,80,106,.22);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
.qcard--mk:hover{box-shadow:0 16px 34px rgba(196,80,106,.16)}
.qcard--mk .qcard__tag{color:var(--mk-rose)}
.qcard--mk h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:30px;
  line-height:.95;letter-spacing:.01em;display:block}
.qcard__pic--mk{width:47%;max-width:124px;right:6px;bottom:6px}
/* карточка «Воздушные шары» — лавандовый фон в тон связке, та же рамка и антиква */
.qcard--sh{--sh-ink:#3E4A38;--sh-violet:#8A6BB5;
  background:radial-gradient(120% 90% at 100% 0,#E9DFF3 0,#F7F3FA 62%);
  border-color:#DDD0EA;color:var(--sh-ink)}
.qcard--sh::before{content:"";position:absolute;inset:8px;border:1px solid rgba(138,107,181,.24);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
.qcard--sh:hover{box-shadow:0 16px 34px rgba(138,107,181,.18)}
.qcard--sh .qcard__tag{color:var(--sh-violet)}
.qcard--sh h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:30px;
  line-height:.95;letter-spacing:.01em;display:block}
.qcard__pic--sh{width:36%;max-width:94px;right:14px;bottom:12px}
/* фотография вместо рисунка: скруглённая миниатюра в углу карточки */
.qcard__pic--foto{width:34%;max-width:88px;right:12px;bottom:12px;height:auto;
  border-radius:14px;object-fit:cover;box-shadow:0 6px 18px rgba(43,37,25,.18)}
/* карточка «Доставка» — лютик-курьер: солнечный фон, та же рамка и антиква */
.qcard--dv{--dv-ink:#3E4A38;--dv-amber:#B97A06;
  background:radial-gradient(120% 90% at 100% 100%,#FBE7A8 0,#FEF7E2 62%);
  border-color:#F0DDA2;color:var(--dv-ink)}
.qcard--dv::before{content:"";position:absolute;inset:8px;border:1px solid rgba(224,154,11,.28);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
.qcard--dv:hover{box-shadow:0 16px 34px rgba(224,154,11,.18)}
.qcard--dv .qcard__tag{color:var(--dv-amber)}
.qcard--dv h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:30px;
  line-height:.95;letter-spacing:.01em;display:block}
.qcard__pic--dv{width:54%;max-width:138px;right:10px;bottom:8px}
.qcard__pic--fl{width:48%;max-width:128px;right:12px;bottom:8px}
.qcard__pic--logo{width:72%;max-width:200px;right:14px;bottom:14px}
@media (max-width:1040px){.quick__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .quick__grid{grid-template-columns:1fr}
  .qcard{min-height:168px;padding-bottom:24px}
  .qcard p{max-width:64%}
  .qcard__pic{width:33%;max-width:124px;right:-4px;bottom:-4px}
  .qcard--nev{padding-bottom:24px}
  .qcard--mk,.qcard--sh,.qcard--dv{min-height:190px}
  .qcard__pic--dv{width:40%;max-width:150px;right:14px;bottom:10px}
  .qcard__pic--sh{width:30%;max-width:108px;right:18px;bottom:10px}
  .qcard__pic--mk{width:38%;max-width:140px;right:12px;bottom:10px}
  .qcard__pic--logo{width:40%;max-width:150px;right:10px;bottom:10px}
}

/* карточки на тёмном фоне (зелёная секция) */
.qcard--dark{background:rgba(253,244,227,.07);border-color:rgba(253,244,227,.22);color:var(--cream);
  min-height:0;padding:24px 22px}
.qcard--dark:hover{background:rgba(253,244,227,.12);box-shadow:none}
.qcard--dark h3{color:var(--cream)}
.qcard--dark p{max-width:100%;opacity:.82}
.qcard--dark .qcard__go{color:var(--yolk)}
.quick__grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.quick__grid--3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.quick__grid--3{grid-template-columns:1fr}}

/* ---------- котонтроль ---------- */
.katcard{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(22px,3vw,44px);
  align-items:center;background:#FBEECB;border:1px solid rgba(43,37,25,.1);
  border-radius:32px;padding:clamp(24px,3vw,44px);margin-top:26px}
.katcard h3{font-family:var(--head);font-weight:900;color:var(--forest);
  font-size:clamp(24px,3vw,36px);line-height:1.04;letter-spacing:-.03em;margin:8px 0 12px}
.katcard p{font-size:16.5px;line-height:1.5;max-width:52ch}
.katcard__note{margin-top:16px;font-size:14px;line-height:1.45;opacity:.62;max-width:52ch}
.katcard__pic{border-radius:22px;overflow:hidden;line-height:0}
.katcard__pic img{width:100%;height:100%;object-fit:cover;aspect-ratio:6/7}
@media (max-width:860px){.katcard{grid-template-columns:1fr}}

/* ---------- жёлтая полоса «не только купить» ---------- */
.deal{background:var(--yolk);border-radius:34px;padding:clamp(26px,4vw,48px)}
.deal__head{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(18px,3vw,40px);align-items:center}
.deal__head h2{color:var(--forest);margin-bottom:10px}
.deal__head p{max-width:46ch}
.deal__mascot{display:grid;place-items:center}
.deal__mascot img{width:min(100%,230px);height:auto;
  filter:drop-shadow(0 16px 22px rgba(43,37,25,.2))}
.deal__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(20px,2.6vw,30px)}
.deal__cards .qcard{min-height:0;padding:22px 20px}
.deal__cards .qcard p{max-width:100%}
.qcard__next{margin-top:10px;font-size:14.5px;font-weight:600;color:var(--forest);
  background:rgba(124,176,79,.14);border-radius:10px;padding:8px 11px;line-height:1.3}
@media (max-width:980px){.deal__cards{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.deal__head{grid-template-columns:1fr}
  .deal__mascot{order:-1}.deal__mascot img{width:min(52%,180px)}}
@media (max-width:620px){.deal__cards{grid-template-columns:1fr}}

/* ---------- расписание мастер-классов ---------- */
.sched{list-style:none;display:grid;gap:12px;margin:26px 0 0;padding:0}
.sched__row{display:grid;grid-template-columns:.8fr 1.6fr .7fr auto;gap:18px;align-items:center;
  background:#fff;border:1px solid rgba(43,37,25,.13);border-radius:20px;padding:18px 22px}
.sec--white .sched__row{background:var(--cream)}
.sched__row b{display:block;font-family:var(--head);font-weight:800;font-size:17px;line-height:1.2;color:var(--forest)}
.sched__row span{display:block;font-size:14.5px;opacity:.65;line-height:1.3}
.sched__price{font-family:var(--head);font-weight:800;font-size:19px;color:var(--ink)}
.sched__seats{font-size:14.5px;font-weight:600;color:var(--leaf)}
.sched__seats--few{color:var(--coral)}
.sched__seats--none{color:var(--ink);opacity:.5;font-weight:500}
.sched__row .btn{padding:11px 22px;font-size:15px}
@media (max-width:980px){
  .sched__row{grid-template-columns:1fr 1fr;gap:12px 18px}
  .sched__row .btn{grid-column:1/-1;justify-self:start}
}
@media (max-width:520px){.sched__row{grid-template-columns:1fr}}

/* ---------- раскрывающееся расписание на главной ---------- */
.schedbox{margin-top:16px;background:#fff;border:1px solid rgba(43,37,25,.12);border-radius:22px}
.schedbox>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 18px;
  align-items:center;justify-content:space-between;padding:18px 22px;
  font-family:var(--head);font-weight:800;font-size:17px;color:var(--forest)}
.schedbox>summary::-webkit-details-marker{display:none}
.schedbox>summary:hover{color:var(--ink)}
.schedbox__go{display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:700;color:var(--ink);opacity:.65}
.schedbox__go::after{content:"▾";font-size:13px;transition:transform .2s ease}
.schedbox[open] .schedbox__go::after{transform:rotate(180deg)}
.schedbox__body{padding:0 22px 22px}
.schedbox .sched{margin-top:0}
.schedbox .sched__row{background:var(--cream)}

/* ---------- группы форматов и даты под карточками ---------- */
.grp{font-family:var(--head);font-weight:900;letter-spacing:-.025em;color:var(--forest);
  font-size:clamp(20px,2.4vw,27px);line-height:1.1;margin:38px 0 6px}
.grp__note{font-size:16px;line-height:1.45;opacity:.75;max-width:62ch;margin-bottom:18px}
.dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.date{flex:1 1 130px;text-decoration:none;color:inherit;background:#fff;
  border:1px solid rgba(43,37,25,.16);border-radius:14px;padding:10px 13px;line-height:1.2;
  transition:border-color .18s ease,transform .18s ease}
.date:hover{border-color:var(--yolk);transform:translateY(-2px)}
.date b{display:block;font-family:var(--head);font-weight:800;font-size:15px;color:var(--forest)}
.date span{display:block;font-size:13px;opacity:.6;margin-top:2px}
.dates .dates__h{flex:1 1 100%;margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;opacity:.45}
.date--near{background:var(--yolk);border-color:transparent}
.date--near b{color:var(--ink)}
.date--near span{opacity:.75}
.date--pick{flex:1 1 100%;text-align:center;border-style:dashed;border-color:rgba(43,37,25,.3)}
.date--pick b{color:var(--ink)}

/* карточка формата: описание раскрывается по клику на фото */
.card.mk{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0}
.mk__d>summary{list-style:none;cursor:pointer;display:block;padding:0 0 4px}
.mk__d>summary::-webkit-details-marker{display:none}
.mk__d .card__pic{border-radius:0;margin:0}
.mk__d>summary h3{font-family:var(--display);font-weight:600;font-size:21px;
  letter-spacing:-.01em;line-height:1.1;padding:16px 22px 0}
.mk__more{display:inline-flex;align-items:center;gap:7px;margin:8px 22px 0;
  font-size:14px;font-weight:600;color:var(--forest);opacity:.72}
.mk__more::after{content:"▾";font-size:12px;transition:transform .2s ease}
.mk__d[open] .mk__more::after{transform:rotate(180deg)}
.mk__d>summary:hover .mk__more{opacity:1}
.mk__d>p{padding:10px 22px 0;font-size:16px;opacity:.88}
.mk__d>p.price-note{padding-top:12px}
.card.mk .dates{padding:0 22px 22px;margin-top:auto;padding-top:16px}

/* ---------- секции ---------- */
.sec{padding-top:clamp(48px,6.5vw,96px);padding-bottom:clamp(48px,6.5vw,96px)}
/* оценки и подвал стоят ближе к соседям — отступы вдвое меньше обычных */
#florists{padding-bottom:clamp(24px,3.2vw,48px)}
#reviews{padding-top:clamp(24px,3.2vw,48px);padding-bottom:clamp(24px,3.2vw,48px)}
.sec--white{background:#fff}

/* Выключенный блок: остаётся в разметке (поиск его видит), но обесцвечен.
   Чтобы вернуть в работу — заменить sec--off на sec--white и перенести выше. */
.sec--off{background:#F2EFE9;filter:grayscale(1);opacity:.6}
.sec--off .title,.sec--off h3{color:#4A4A4A}
.sec--off .card,.sec--off .panel,.sec--off .streets span,.sec--off .also a{background:#E8E5DF}
.sec--forest{background:var(--forest);color:var(--cream)}


/* ---------- карта сайта в подвале ---------- */
/* подвал одним блоком */
.footbox{background:#fff;border-radius:var(--r);padding:clamp(22px,2.6vw,34px) clamp(20px,2.4vw,32px)}
.footbox .foot__bottom{margin:0 0 20px;padding:0 0 18px;border-top:0;border-bottom:1px solid rgba(43,37,25,.12)}
.footbox .smap{margin-top:20px;padding-top:18px}
.footbox .copyright{margin-top:18px;padding-top:16px;border-top:1px solid rgba(43,37,25,.12)}

/* карточка контактов в подвале */
.foot .geo{background:transparent;border:0;border-radius:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px 0}
.foot .geo .geo__row{padding:0 clamp(16px,2.4vw,34px);
  border-left:1px solid rgba(43,37,25,.12)}
.foot .geo .geo__row:first-child{padding-left:0;border-left:0}
.foot .geo .geo__row:last-child{padding-right:0}
/* заголовки тайлов держат две строки, чтобы подписи начинались с одной линии */
.foot .geo__row b{min-height:2.44em}
.foot .geo a{text-decoration:none;border-bottom:1px solid rgba(43,37,25,.3)}
.foot .geo a:hover{border-bottom-color:var(--ink)}
.foot .geo b a{border-bottom-width:2px}
.foot .geo .geo__pin{border:0;display:block;flex:none;line-height:0}
.foot .geo .geo__pin svg{display:block;width:23px;height:23px;margin-top:2px}
@media (max-width:900px){
  .foot .geo{grid-template-columns:repeat(2,1fr);gap:22px 0}
  .foot .geo .geo__row:nth-child(odd){padding-left:0;border-left:0}
  .foot__hours{margin-left:0;width:100%}
}
@media (max-width:620px){
  .foot .geo{grid-template-columns:1fr;gap:16px}
  .foot .geo .geo__row{padding:0;border-left:0}
}

.smap{margin-top:clamp(20px,2.6vw,32px);padding-top:clamp(18px,2.4vw,26px);
  border-top:1px solid rgba(43,37,25,.12)}
.smap>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;
  font-family:var(--head);font-weight:700;font-size:15px;color:var(--forest)}
.smap>summary::-webkit-details-marker{display:none}
.smap>summary::after{content:"▾";font-size:12px;opacity:.6}
.smap[open]>summary::after{content:"▴"}
.smap>summary:hover{text-decoration:underline}
.sitemap{display:grid;grid-template-columns:repeat(4,1fr);gap:26px clamp(16px,2.2vw,38px);
  margin-top:18px}
.sitemap>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.sitemap h4{font-family:var(--head);font-weight:800;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;opacity:.5;margin:0 0 3px}
.sitemap a{font-size:15px;line-height:1.3;opacity:.85}
.sitemap a:hover{opacity:1;text-decoration:underline}
@media (max-width:860px){.sitemap{grid-template-columns:repeat(2,1fr);gap:24px 24px}}
@media (max-width:480px){.sitemap{grid-template-columns:1fr;gap:22px}}


/* развилка «для себя / профессия» в шапке страницы */
.fork{margin-top:16px;padding:12px 16px;border-left:3px solid var(--yolk);
  background:rgba(247,194,27,.13);border-radius:0 12px 12px 0;font-size:15.5px;line-height:1.45}
.fork a{font-weight:700;border-bottom:1.5px solid rgba(43,37,25,.35)}
.fork a:hover{border-bottom-color:var(--ink)}


/* ---------- тонкая полоса «ближайший мастер-класс» ---------- */
.sec--thin{padding-top:clamp(8px,1.4vw,20px);padding-bottom:0}
.mkbar{background:var(--yolk);border-radius:var(--r)}
.mkbar__sum{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;
  gap:10px 16px;padding:16px clamp(18px,2.2vw,28px);font-size:16px;line-height:1.35;color:var(--ink)}
.mkbar__sum::-webkit-details-marker{display:none}
.mkbar__sum>svg{flex:none;width:22px;height:22px}
.mkbar__txt{flex:1 1 auto}
.mkbar__txt b{font-family:var(--head);font-weight:800}
.mkbar__more{flex:none;font-weight:700;font-size:15.5px;white-space:nowrap;
  border-bottom:1.5px solid rgba(43,37,25,.4)}
.mkbar__more::after{content:" ▾";border:0}
.mkbar[open] .mkbar__more::after{content:" ▴"}
.mkbar__sum:hover .mkbar__more{border-bottom-color:var(--ink)}
.mkbar__body{padding:0 clamp(18px,2.2vw,28px) 22px}
.mkin{display:grid;grid-template-columns:1fr auto;gap:10px clamp(16px,2vw,28px);align-items:end;
  border-top:1px solid rgba(43,37,25,.2);padding-top:16px}
.mkin h3{font-family:var(--head);font-weight:800;font-size:19px;margin-bottom:8px}
.mkin p{font-size:15.5px;line-height:1.5;max-width:70ch}
.mkin__mascot{width:clamp(96px,11vw,140px);height:auto;align-self:end;
  filter:drop-shadow(0 10px 14px rgba(43,37,25,.16))}
.mksteps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px clamp(12px,1.6vw,22px);margin-top:18px}
.mksteps li{counter-increment:s;position:relative;padding-left:32px;font-size:14.5px;line-height:1.4;opacity:.85}
.mksteps li::before{content:counter(s);position:absolute;left:0;top:1px;width:23px;height:23px;
  border-radius:50%;background:#fff;display:grid;place-items:center;
  font-family:var(--head);font-weight:800;font-size:13.5px;opacity:1}
.mksteps b{display:block;font-family:var(--head);font-weight:800;font-size:15.5px;opacity:1;margin-bottom:2px}
.mkin__h{margin-top:22px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.mkin__note{margin-top:12px;font-size:14.5px;line-height:1.45;opacity:.75}
.mklist{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:6px}
.mklist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:8px 0;
  border-bottom:1px solid rgba(43,37,25,.12);font-size:15.5px}
.mklist li:last-child{border-bottom:0}
.mklist__when{flex:0 0 auto;min-width:150px}
.mklist__when b{font-family:var(--head);font-weight:800}
.mklist__what{flex:1 1 220px}
.mklist__what i{font-style:normal;opacity:.62;font-size:14px}
.mklist__price{flex:0 0 auto;font-family:var(--head);font-weight:800}
.mklist li a{flex:0 0 auto;font-weight:700;white-space:nowrap;
  border-bottom:1.5px solid rgba(43,37,25,.4)}
.mklist li a:hover{border-bottom-color:var(--ink)}
.mkbar__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.mkbar__links a{font-weight:700;font-size:15.5px;border-bottom:1.5px solid rgba(43,37,25,.35)}
.mkbar__links a:hover{border-bottom-color:var(--ink)}
@media (max-width:900px){
  .mksteps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .mkin{grid-template-columns:1fr}
  .mkin__mascot{display:none}
}
@media (max-width:620px){
  .mksteps{grid-template-columns:1fr;gap:12px}
  .mkbar__sum{padding:15px 16px;gap:10px 12px;font-size:15px;align-items:flex-start}
  .mkbar__sum>svg{margin-top:2px}
  .mkbar__txt{flex:1 1 0;min-width:0}
  .mkbar__more{flex:1 0 100%}
  .mkbar__body{padding:0 16px 16px}
  .mklist__when{min-width:0;flex:1 0 100%}
  .mklist li{gap:4px 12px}
}


/* ---------- «Свои в районе»: текст + карточка + рисованная карта ---------- */
.dist{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(22px,3vw,44px);align-items:center}
.dist .title{font-size:clamp(26px,2.5vw,34px);margin-bottom:14px}
.dist__txt .lede{font-size:clamp(16px,1.8vw,17.5px);margin-bottom:0}
.geo{background:var(--cream);border:1px solid rgba(43,37,25,.12);border-radius:20px;
  padding:22px 24px;display:flex;flex-direction:column;gap:18px}
.geo__row{display:flex;gap:13px;align-items:flex-start}
.geo__row>svg{flex:none;width:23px;height:23px;margin-top:2px}
.geo__row b{display:block;font-family:var(--head);font-weight:800;font-size:17px;line-height:1.22;color:var(--forest)}
.geo__row>span>span{display:block;font-size:14.5px;line-height:1.35;opacity:.72;margin-top:4px}
.dist__map{position:relative;margin:0;border-radius:20px;overflow:hidden;container-type:inline-size}
.dist__map img{display:block;width:100%;height:auto}
.dist__here{position:absolute;left:55.5%;top:35.5%;transform:translate(-50%,-50%) rotate(-8deg);
  font-family:var(--hand);font-weight:600;font-size:5.5cqw;line-height:1;color:var(--ink);white-space:nowrap;
  text-shadow:0 0 6px #fff,0 0 14px #fff,0 0 22px #fff}
.distmore{margin-top:clamp(26px,3.2vw,40px);border-top:1px solid rgba(43,37,25,.14);padding-top:16px}
.distmore>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;
  font-family:var(--head);font-weight:700;font-size:16px;line-height:1.4;color:var(--forest)}
.distmore>summary::-webkit-details-marker{display:none}
.distmore>summary::after{content:"▾";font-size:13px;opacity:.6}
.distmore[open]>summary::after{content:"▴"}
.distmore>summary:hover{text-decoration:underline}
.distmore__body{display:grid;grid-template-columns:1fr 1fr;gap:16px clamp(26px,3.4vw,48px);margin-top:18px}
.distmore__body p{margin-bottom:14px}
@media (max-width:860px){
  .dist{grid-template-columns:1fr;gap:22px;align-items:start}
  .geo{padding:18px 18px 20px}
  .distmore__body{grid-template-columns:1fr}
}

.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;
  margin-bottom:38px;flex-wrap:wrap}
.sec__head p{max-width:46ch;opacity:.82}
.lede{font-size:clamp(17px,2vw,20px);max-width:56ch;margin-bottom:14px}

/* ---------- шапка внутренней страницы ---------- */
.phead{padding:clamp(26px,4vw,54px) 0 clamp(18px,2.4vw,30px)}
.phead h1{font-family:var(--head);font-weight:900;color:var(--forest);
  font-size:clamp(30px,4.6vw,52px);line-height:1.04;letter-spacing:-.03em;margin:10px 0 14px;max-width:20ch}
.phead p{font-size:clamp(17px,2vw,20px);max-width:58ch}
.crumbs{font-size:14px;opacity:.6}
.crumbs a{text-decoration:none;border-bottom:1px solid rgba(43,37,25,.3)}

/* ---------- карточки ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:#fff;border:1px solid rgba(43,37,25,.13);border-radius:var(--r);
  padding:26px 24px;display:flex;flex-direction:column;gap:11px;
  transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(43,37,25,.1)}
.card__blob{width:52px;height:52px;border-radius:50%;margin-bottom:6px}
.card__pic{display:block;width:100%;height:auto;border-radius:14px;margin-bottom:4px;
  background:rgba(43,37,25,.05)}
.card h3{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-.01em}
.card p{font-size:16px;opacity:.85;flex:1}
.card__price{font-family:var(--display);font-weight:600;font-size:19px;color:var(--forest)}
.sec--white .card{background:var(--cream)}

/* ---------- ритм дня ---------- */
.hours{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hours__cell{background:var(--cream);border:1px solid rgba(43,37,25,.13);border-radius:var(--r);
  padding:28px 26px 30px;transition:transform .2s ease}
.hours__cell:hover{transform:translateY(-4px)}
.hours__mark{width:42px;height:6px;border-radius:100px;margin-bottom:18px}
.hours__time{font-family:var(--display);font-weight:600;font-size:14.5px;letter-spacing:.04em;opacity:.7}
.hours__cell h3{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.01em;margin:8px 0 10px}
.hours__cell p{font-size:16px;opacity:.85}
@media (max-width:840px){.hours{grid-template-columns:1fr}}

/* ---------- прайс ---------- */
.price{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;
  border:1px solid rgba(43,37,25,.13)}
.price th,.price td{text-align:left;padding:15px 20px;border-bottom:1px solid rgba(43,37,25,.1);font-size:16px}
.price th{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.06em;
  text-transform:uppercase;opacity:.6;background:var(--cream)}
.price tr:last-child td{border-bottom:0}
.price td:last-child{font-family:var(--display);font-weight:600;white-space:nowrap;color:var(--forest)}
.price-note{font-size:15px;opacity:.7;margin-top:12px;max-width:64ch}
.tablewrap{overflow-x:auto}

/* ---------- список галочек ---------- */
.ticks{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:18px}
.ticks li{display:flex;gap:12px;font-size:17px}
.ticks li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;
  background:var(--leaf);margin-top:9px}
.sec--forest .ticks li::before{background:var(--yolk)}

/* ---------- две колонки ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:start}
.split>*{min-width:0}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:26px}}
.panel{background:#fff;border:1px solid rgba(43,37,25,.13);border-radius:var(--r);padding:30px 28px}
.sec--white .panel{background:var(--cream)}
.panel h3{font-family:var(--display);font-weight:600;font-size:22px;margin-bottom:10px}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:10px;max-width:80ch}
.faq details{background:#fff;border:1px solid rgba(43,37,25,.13);border-radius:18px;padding:0}
.sec--white .faq details{background:var(--cream)}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;
  font-family:var(--display);font-weight:600;font-size:18px;display:flex;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";flex:none;width:24px;height:24px;border-radius:50%;
  background:var(--yolk);display:grid;place-items:center;font-size:17px;line-height:1}
.faq details[open] summary::before{content:"−"}
.faq p{padding:0 22px 20px;font-size:16.5px;opacity:.88;max-width:70ch}

/* ---------- зона доставки ---------- */
.streets{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.streets span{background:#fff;border:1px solid rgba(43,37,25,.14);border-radius:100px;
  padding:8px 16px;font-size:15px}
.sec--white .streets span{background:var(--cream)}

/* ---------- флористы ---------- */
.flors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:1100px){.flors{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.flors{grid-template-columns:1fr}}
.flor{background:#fff;border:1px solid rgba(43,37,25,.13);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column}
/* Карточки флористов — не ссылки, поэтому никакого hover-эффекта:
   приподнимающаяся карточка читается как кнопка и провоцирует клик в пустоту. */
.flor__photo{background:var(--cream);border-bottom:1px solid rgba(43,37,25,.1)}
.flor__photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.flor__body{padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.flor__nick{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.flor__body h3{font-family:var(--display);font-weight:600;font-size:27px;letter-spacing:-.01em;line-height:1.05}
.flor__line{font-family:var(--display);font-weight:500;font-size:18px;line-height:1.25;flex:1}
.flor__role{font-size:14px;opacity:.6;margin-top:-6px}
.flor__note{font-size:16px;opacity:.85;flex:1}
.flor__tags{display:flex;flex-wrap:wrap;gap:7px}
.flor__tags span{font-size:13px;font-weight:500;padding:5px 13px;border-radius:100px;background:rgba(43,37,25,.07)}
.flor .btn{margin-top:8px;align-self:flex-start}
@media (max-width:560px){.flor__photo img{aspect-ratio:1/1}}

/* дежурный флорист */
.onduty{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;
  border:1px solid rgba(43,37,25,.13);border-radius:20px;padding:15px 22px;margin-bottom:22px;font-size:16.5px}
.onduty__dot{width:11px;height:11px;border-radius:50%;background:var(--leaf);flex:none;
  animation:blip 1.9s ease-in-out infinite}
.onduty--off .onduty__dot{background:rgba(43,37,25,.3);animation:none}
@keyframes blip{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}
.onduty b{font-family:var(--display);font-weight:600}
.onduty__link{margin-left:auto;font-weight:600;white-space:nowrap;text-decoration:none;
  border-bottom:2px solid var(--yolk);padding-bottom:1px}
.onduty__link:hover{border-bottom-color:var(--ink)}
.flor.is-onduty{border-color:var(--leaf);box-shadow:0 0 0 3px rgba(124,176,79,.22)}
.flor__now{display:none;align-items:center;gap:8px;align-self:flex-start;font-size:13px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;background:rgba(124,176,79,.16);color:#3f6b1f;
  border-radius:100px;padding:6px 13px}
.flor.is-onduty .flor__now{display:inline-flex}
@media (max-width:620px){.onduty__link{margin-left:0}}

/* ---------- бренд-партнёр «Невяна» ---------- */
.brand{--pine:#3D4A3B;--terra:#B4523A;--ochre:#C9A45C;--sand:#F3EDE2}
.brand__box{background:var(--sand);border:1px solid rgba(61,74,59,.18);border-radius:var(--r);
  padding:clamp(24px,3.4vw,44px);border-top:5px solid var(--ochre)}
.brand__logo{width:min(230px,58%);height:auto;margin-bottom:20px}
.brand__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,3vw,44px);align-items:center}
.brand h2{color:var(--pine)}
.brand__lede{font-size:clamp(17px,2vw,20px);max-width:46ch;margin-bottom:14px;color:var(--pine)}
.brand p{max-width:52ch}
.brand .ticks li::before{background:var(--terra)}
.brand__photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;
  align-content:start;position:sticky;top:86px}
.brand__photos img{width:100%;height:100%;object-fit:cover;border-radius:16px;aspect-ratio:1}
.brand__photos img.wide{grid-column:1 / -1;aspect-ratio:4/3}
.brand__price{background:#fff;border:1px solid rgba(61,74,59,.16);border-radius:18px;
  padding:20px 22px;margin-top:20px}
.brand__price dl{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:0}
.brand__price dt{font-size:16px}
.brand__price dd{margin:0;font-family:var(--display);font-weight:600;color:var(--pine);white-space:nowrap}
.brand__note{font-size:14px;opacity:.65;margin-top:14px;max-width:60ch}
.brand .btn{padding:14px 22px;font-size:16px}
.brand .btn--brand{background:var(--pine);color:var(--sand);box-shadow:0 5px 0 #26301f}
.brand .btn--brandghost{background:transparent;color:var(--pine);border-color:var(--pine)}
.brand .btn--brandghost:hover{background:var(--pine);color:var(--sand)}
@media (max-width:860px){
  .brand__grid{grid-template-columns:1fr}
  .brand__photos{order:-1;position:static}
}

/* ---------- отзывы ---------- */
.rev{display:grid;grid-template-columns:.62fr 1fr;gap:40px;align-items:center}
.rev__score{background:var(--yolk);border-radius:var(--r);padding:34px 28px;text-align:center;
  box-shadow:0 6px 0 var(--amber)}
.rev__score b{display:block;font-family:var(--display);font-weight:700;
  font-size:clamp(52px,8vw,84px);line-height:1;letter-spacing:-.03em}
.rev__stars{font-size:22px;letter-spacing:2px;margin:6px 0 8px}
.rev__score span{display:block;font-size:15px;opacity:.75}
@media (max-width:820px){.rev{grid-template-columns:1fr;gap:24px}}

/* Оценки в справочниках: две карточки с цифрами и колонка «о чём пишут». */
.rates{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px;margin-top:28px;align-items:stretch}
/* Карточки справочников залиты тем же светло-серым, что и сами информеры
   (#F5F5F5 у 2ГИС и Яндекса), поэтому плашки не выглядят чужим прямоугольником. */
.rate{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;
  background:#F5F5F5;border:1px solid rgba(43,37,25,.10);border-radius:var(--r);
  padding:26px 24px 22px;transition:border-color .18s ease,transform .18s ease}
a.rate:hover{border-color:var(--yolk);transform:translateY(-3px)}
.rate__where{font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-weight:600;opacity:.55}
.rate__num{font-family:var(--display);font-weight:700;font-size:52px;line-height:1;color:var(--forest);margin-top:8px}
.rate__stars{color:var(--amber);font-size:19px;letter-spacing:2px;margin-top:4px}
.rate__meta{font-size:15px;opacity:.7;margin-top:2px}
.rate__go{margin-top:auto;padding-top:16px;font-weight:600;font-size:15px;color:var(--forest)}
.rate--text{background:#F5F5F5}
.rate--text .ticks{margin-top:14px}
.rate--text .ticks li{font-size:16px}
@media (max-width:900px){
  .rates{grid-template-columns:1fr 1fr}
  .rate--text{grid-column:span 2}
}
@media (max-width:560px){
  .rates{grid-template-columns:1fr}
  .rate--text{grid-column:span 1}
  .rate__num{font-size:44px}
}
.rate--live .rate__badge{border:0;overflow:hidden;height:56px;
  margin:8px 0 0 -6px;max-width:100%;display:block}
.rate--live .rate__meta{max-width:30ch}
a.rate__go{text-decoration:none}
a.rate__go:hover{color:var(--amber)}

/* Оценки в справочниках собраны в одну белую карточку — как подвал:
   шапка, два живых бейджа и «о чём пишут», разделённые волосяными линиями. */
.revbox{background:#fff;border-radius:var(--r);padding:clamp(24px,2.8vw,38px) clamp(20px,2.4vw,32px)}
/* Шапка блока: слева заголовок и объяснение, справа два живых бейджа. */
/* «пять из пяти» — пятью лепестками из той же иллюстрации, что летают в шапке */
.petals5{display:flex;align-items:center;gap:7px;margin-top:12px}
.petals5 img{height:22px;width:auto;display:block}
.petals5 img:nth-child(1){transform:rotate(-9deg)}
.petals5 img:nth-child(2){transform:rotate(5deg)}
.petals5 img:nth-child(3){transform:rotate(-4deg)}
.petals5 img:nth-child(4){transform:rotate(8deg)}
.petals5 img:nth-child(5){transform:rotate(-6deg)}
.revtop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(14px,1.8vw,26px);align-items:start}
.revtop__text{display:flex;flex-direction:column;justify-content:flex-start;
  gap:clamp(12px,1.6vw,20px)}
.revhead{padding:0 clamp(22px,2.6vw,32px)}
/* заголовок — тем же рукописным, что слоган в шапке */
.revbox .title{margin-top:0;font-family:var(--hand);font-weight:600;
  font-size:clamp(32px,3.9vw,48px);line-height:1.04;letter-spacing:0;color:var(--forest)}

.revbox .rates{display:flex;flex-wrap:wrap;align-items:center;
  gap:14px clamp(22px,3vw,38px);margin-top:0;
  align-self:flex-start;width:fit-content;max-width:100%;
  background:#F5F5F5;border-radius:var(--r);
  padding:clamp(18px,2.2vw,26px) clamp(22px,2.6vw,32px)}
.revbox .rates .rate{flex:0 0 auto;background:transparent;border:0;border-radius:0;padding:0;gap:0}
.revbox .rate:hover{transform:none}
.revbox .revtips{align-self:start;padding:0 clamp(6px,1.4vw,16px)}
.revbox .revtips .ticks{margin-top:14px;gap:12px}
.revbox .revtips .ticks li{font-size:16px}
/* это чужие слова, а не наши — поэтому маркер-кавычка вместо точки */
.revbox .revtips .ticks li{align-items:flex-start;gap:9px}
.revbox .revtips .ticks li::before{content:"«";width:auto;height:auto;border-radius:0;
  background:none;margin-top:0;font-family:var(--head);font-weight:700;
  font-size:24px;line-height:1.1;color:var(--yolk);flex:none}
@media (max-width:860px){
  .revtop{grid-template-columns:1fr}
  .revbox .revtips{padding:4px 2px}
}

/* ---------- соседние страницы ---------- */
.also{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.also a{background:#fff;border:1px solid rgba(43,37,25,.16);border-radius:100px;
  padding:11px 20px;text-decoration:none;font-family:var(--display);font-weight:500;font-size:16px}
.also a:hover{background:var(--yolk);border-color:var(--yolk)}
.sec--white .also a{background:var(--cream)}

/* ---------- подвал ---------- */
.foot{background:var(--cream);color:var(--ink);
  padding-top:clamp(20px,2.5vw,36px);padding-bottom:30px}
.foot__cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:20px;align-items:stretch}
@media (max-width:1040px){.foot__cards{grid-template-columns:1fr}}
.foot__side .btn{width:100%}

/* зелёная карточка */
.foot__main{position:relative;overflow:hidden;background:var(--forest);color:var(--cream);
  border-radius:32px;padding:clamp(26px,3vw,44px)}
.foot__main-in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(20px,3vw,40px);align-items:center}
@media (max-width:820px){.foot__main-in{grid-template-columns:1fr}}
.foot h2{font-family:var(--head);font-weight:900;font-size:clamp(26px,3.2vw,38px);
  line-height:1.02;letter-spacing:-.03em;margin-bottom:10px;color:inherit}
.foot__lead{opacity:.75;max-width:34ch;margin-bottom:24px}
.fcont{list-style:none;display:grid;gap:15px;margin:0;padding:0}
.fcont li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.35}
.fcont svg{flex:none;width:20px;height:20px;margin-top:1px;opacity:.85}
.fcont a{text-decoration:none;border-bottom:1px solid rgba(253,244,227,.4)}
.fcont a:hover{border-bottom-color:var(--yolk);color:var(--yolk)}

/* карта внутри карточки */
.foot__map{position:relative;border-radius:22px;overflow:hidden;line-height:0;
  background:rgba(253,244,227,.1);min-height:290px}
.foot__map iframe{display:block;width:100%;height:100%;min-height:290px;border:0}
.foot__pin{position:absolute;left:14px;top:14px;background:#fff;color:var(--ink);
  border-radius:14px;padding:10px 14px;line-height:1.25;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.foot__pin b{display:block;font-family:var(--head);font-weight:800;font-size:15px}
.foot__pin span{font-size:13px;opacity:.7}

.foot__thanks{display:flex;align-items:flex-end;gap:16px;margin-top:28px}
.foot__note{font-family:var(--hand);font-weight:500;font-size:22px;line-height:1.1;
  max-width:13ch;color:var(--yolk);opacity:.9;margin-bottom:8px}
.foot__note::after{content:" ♡"}
.foot__mascot{width:104px;height:auto;opacity:.95;flex:none}
@media (max-width:520px){.foot__mascot{width:84px}}

/* боковая карточка */
.foot__side{background:#FBEECB;border:1px solid rgba(43,37,25,.1);border-radius:32px;
  padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.foot__side h3{font-family:var(--head);font-weight:900;font-size:23px;line-height:1.06;
  letter-spacing:-.02em;color:var(--forest)}
.foot__side p{font-size:15px;line-height:1.4;opacity:.8}
.foot__soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.foot__soc a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--forest);color:var(--cream);text-decoration:none;
  transition:background .18s ease,transform .18s ease}
.foot__soc a:hover{background:var(--yolk);color:var(--ink);transform:translateY(-2px)}
.foot__soc svg{width:20px;height:20px}

/* форма в подвале — на светлой карточке */
.foot__form{background:#fff;border:1px solid rgba(43,37,25,.12);border-radius:32px;
  padding:clamp(24px,3vw,40px);margin-top:20px;
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(20px,3vw,44px);align-items:start}
@media (max-width:820px){.foot__form{grid-template-columns:1fr}}
.foot__form h2{color:var(--forest)}
.foot__callline{margin-top:22px;font-family:var(--head);font-weight:800;font-size:22px;
  color:var(--forest);text-decoration:none;display:inline-block;border-bottom:2px solid var(--yolk)}
.foot__calllabel{margin-top:26px;font-size:14px;opacity:.6}
.foot__form .foot__lead{opacity:.82}
.foot__form .lead__field input,.foot__form .lead__field textarea{
  color:var(--ink);border-color:rgba(43,37,25,.24);background:var(--cream)}
.foot__form .lead__consent a{color:var(--forest)}
.foot__form .lead__hint a{color:var(--forest)}
.foot__form .lead__msg.is-ok{color:#2F7A2B}
.foot__form .lead__msg.is-err{color:#C0392B}

/* нижняя строка */
.foot__bottom{margin-top:26px;padding-top:22px;border-top:1px solid rgba(43,37,25,.14);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.foot__bottom .logo__txt{color:var(--forest)}
.foot__tagline{font-size:14.5px;opacity:.6}
.foot__hours{margin-left:auto;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--head);font-weight:700;font-size:15.5px;color:var(--forest)}
.foot__hours svg{flex:none;width:21px;height:21px}
.foot__nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px;margin-left:auto}
.foot__nav a{text-decoration:none;opacity:.75;border-bottom:1px solid rgba(43,37,25,.2)}
.foot__nav a:hover{opacity:1;border-bottom-color:var(--yolk)}
.copyright{margin-top:18px;font-size:12.5px;line-height:1.55;opacity:.6;
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 30px}
.copyright__legal{flex:1 1 420px;display:flex;flex-direction:column;gap:4px;min-width:0}
.copyright__made{white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.copyright__made i{font-style:normal;color:var(--yolk);font-size:13px}
.copyright a{text-decoration:none;border-bottom:1px solid rgba(43,37,25,.25)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{border:1px solid rgba(43,37,25,.2);border-radius:100px;padding:10px 18px;
  font-size:15px;font-weight:500;text-decoration:none;transition:background .2s ease,color .2s ease}
.chip:hover{background:var(--yolk);color:var(--ink);border-color:var(--yolk)}

/* ---------- форма ---------- */
.lead__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead__field{display:block;margin:0 0 13px}
.lead__field span{display:block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  opacity:.6;margin-bottom:6px}
.lead__field input,.lead__field textarea{width:100%;background:transparent;color:var(--cream);
  border:1px solid rgba(253,244,227,.3);border-radius:14px;padding:14px 16px;font:inherit;font-size:16px}
.lead__field textarea{min-height:86px;resize:vertical}
.lead__consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;font-size:13.5px;line-height:1.45;opacity:.85}
.lead__consent input{margin-top:3px;flex:0 0 auto}
.lead__consent a{color:var(--yolk)}
.lead__btn{width:100%;margin-top:2px}
.lead__btn[disabled]{opacity:.55;cursor:default}
.lead__msg{margin:12px 0 0;font-size:14.5px;min-height:1.2em}
.lead__hint{margin:8px 0 0;font-size:13.5px;opacity:.62;line-height:1.45}
.lead__hint a{color:var(--yolk)}
.lead__msg.is-ok{color:#9BD46B}
.lead__msg.is-err{color:#FF9E8C}

/* ---------- плашка cookie ---------- */
.ck-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;max-width:920px;margin:0 auto;
  padding:14px 18px;background:var(--ink);color:var(--cream);border-radius:16px;
  box-shadow:0 8px 30px rgba(0,0,0,.25);font-size:14px;line-height:1.45}
.ck-note[hidden]{display:none}
.ck-note__text{margin:0;flex:1 1 260px}
.ck-note a{color:var(--yolk)}
.ck-note__btn{flex:0 0 auto;padding:10px 22px;border:0;border-radius:100px;
  background:var(--yolk);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;
  font-family:var(--display)}
.ck-note__btns{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}
.ck-note__btn--ghost{background:transparent;color:var(--cream);
  border:1px solid rgba(253,244,227,.45);font-weight:500}
@media (max-width:520px){.ck-note{left:8px;right:8px;bottom:8px;padding:12px 14px}
  .ck-note__btns{width:100%}
  .ck-note__btn{flex:1 1 0;width:auto}}

/* ---------- появление при скролле ---------- */
.reveal{opacity:0;transform:translateY(20px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important}
  .reveal{opacity:1;transform:none}
  .petal{display:none}
  html{scroll-behavior:auto}
}

/* мастер-классы: кнопки внизу карточек, ровной линией */
#formats .card{display:flex;flex-direction:column}
#formats .card>p:last-child{margin-top:auto;padding-top:6px}

/* ---------- фотогалерея лавки ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.gal figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:rgba(43,37,25,.06)}
.gal img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gal figure:hover img{transform:scale(1.04)}
.gal figure.wide{grid-column:span 2}
.gal figure.wide img{aspect-ratio:4/3}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;
  font-size:14px;line-height:1.35;color:#fff;
  background:linear-gradient(to top,rgba(30,26,17,.78),rgba(30,26,17,0))}
@media (max-width:900px){
  .gal{grid-template-columns:1fr 1fr}
  .gal figure.wide{grid-column:span 2}
}

/* Лента фотографий зала: горизонтальная прокрутка со «снапом».
   Все снимки остаются в разметке — поиск видит их так же, как в сетке. */
.gal__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.gal__headtext{flex:1 1 auto;display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px clamp(26px,4vw,60px);align-items:end}
.gal__headtext:has(.lede){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
/* надкидка и заголовок галереи — в одну строку */
.gal__headtext>div{display:flex;flex-wrap:wrap;align-items:baseline;
  gap:6px clamp(12px,1.6vw,22px)}
.gal__headtext>div .eyebrow{margin:0}
.gal__headtext .title .heart{color:var(--yolk);font-size:.62em;vertical-align:.22em;margin-left:.22em}
/* зелёный листик вместо сердечка */
.leafmark{display:inline-block;vertical-align:.02em;line-height:0}
.leafmark img{height:.38em;width:auto;display:inline-block;transform:rotate(-8deg)}
@media (min-width:700px){.gal__headtext .title{white-space:nowrap}}
@media (min-width:700px) and (max-width:1000px){
  .gal__headtext .title{font-size:clamp(26px,3.3vw,38px)}}
.gal__headtext .lede{max-width:44ch;padding-bottom:4px}
.gal__headtext .title{font-family:var(--hand);font-weight:600;
  font-size:clamp(34px,4.2vw,52px);line-height:1.02;letter-spacing:0;margin-top:4px}
@media (max-width:860px){.gal__headtext{grid-template-columns:1fr}}
/* зал — в такой же белой карточке, что и блок оценок */
.zalbox{position:relative;border-radius:var(--r);
  background:radial-gradient(90% 120% at 100% 0,#FBEFC9 0,#FFFBF1 55%);
  border:1px solid #EFDFB4;
  padding:clamp(24px,2.8vw,38px) clamp(20px,2.4vw,32px)}
/* двойная рамка — как у карточек быстрого выбора */
.zalbox::before{content:"";position:absolute;inset:8px;border:1px solid rgba(224,154,11,.26);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
/* лента внутри карточки идёт до внутренней рамки */
#zal .gal--slider{position:relative;z-index:1;
  margin-left:calc(-1*clamp(20px,2.4vw,32px) + 16px);
  margin-right:calc(-1*clamp(20px,2.4vw,32px) + 16px);
  padding-left:calc(clamp(20px,2.4vw,32px) - 16px);padding-right:calc(clamp(20px,2.4vw,32px) - 16px);
  scroll-padding-left:calc(clamp(20px,2.4vw,32px) - 16px)}
.gal__head .lede{margin-bottom:0}
.gal__nav{display:flex;gap:10px;flex:none}
.gal__arrow{width:52px;height:52px;border-radius:50%;background:#fff;cursor:pointer;
  border:1px solid rgba(43,37,25,.16);color:var(--forest);display:grid;place-items:center;
  transition:background .18s ease,border-color .18s ease,opacity .18s ease}
.gal__arrow svg{width:22px;height:22px}
.gal__arrow:hover:not(:disabled){background:var(--yolk);border-color:transparent}
.gal__arrow:disabled{opacity:.35;cursor:default}
@media (max-width:620px){.gal__nav{display:none}}

.gal--slider{display:flex;gap:14px;margin-top:28px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-padding-left:0;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:4px;-webkit-overflow-scrolling:touch}
.gal--slider::-webkit-scrollbar{display:none}
.gal--slider figure{flex:0 0 clamp(230px,26vw,330px);scroll-snap-align:start}
.gal--slider figure.wide{flex:0 0 clamp(300px,42vw,540px)}
.gal--slider img{aspect-ratio:4/3}
.gal--slider figcaption{font-size:13.5px}
.gal--slider .gal__more{flex:0 0 clamp(210px,22vw,270px);scroll-snap-align:start;
  display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  text-decoration:none;color:var(--forest);background:#fff;border-radius:18px;
  border:1px solid rgba(43,37,25,.14);padding:24px 22px;
  transition:border-color .18s ease,transform .18s ease}
.gal--slider .gal__more:hover{border-color:var(--yolk);transform:translateY(-3px)}
.gal__more__ico{width:44px;height:44px;border-radius:50%;background:var(--yolk);
  display:grid;place-items:center;color:var(--ink);margin-bottom:auto}
.gal__more__ico svg{width:20px;height:20px}
.gal__more b{font-family:var(--head);font-weight:800;font-size:19px;line-height:1.15}
.gal__more span:last-child{font-size:14px;line-height:1.4;color:var(--ink);opacity:.7}
@media (max-width:620px){
  .gal--slider figure{flex:0 0 78%}
  .gal--slider figure.wide{flex:0 0 88%}
  .gal--slider .gal__more{flex:0 0 70%}
}

/* Мозаика зала на главной: одно большое фото 2×2 и мелкие плитки 4:3.
   Все снимки в лавке горизонтальные, поэтому тут 4:3, а не портретные 3:4. */
.gal--mosaic img{aspect-ratio:4/3}
.gal--mosaic figure.hero{grid-column:span 2;grid-row:span 2}
.gal--mosaic figure.hero img{aspect-ratio:auto;height:100%}
.gal--mosaic figcaption{font-size:13.5px}
.gal--mosaic figure.hero figcaption{font-size:16px;padding:34px 20px 16px}
@media (max-width:900px){
  .gal--mosaic figure.hero{grid-column:span 2;grid-row:span 1}
  .gal--mosaic figure.hero img{aspect-ratio:4/3;height:auto}
}
@media (max-width:560px){
  .gal--mosaic{grid-template-columns:1fr}
  .gal--mosaic figure.hero{grid-column:span 1}
}
/* одиночное фото внутри текстовой колонки */
.photo{margin:0;border-radius:20px;overflow:hidden}
.photo img{display:block;width:100%;height:auto}
.photo figcaption{font-size:14px;opacity:.7;padding:10px 2px 0}
.brand__photos img.tall{aspect-ratio:3/4}

/* ---------- карта и вход ---------- */
.mapbox{margin-top:24px;border:1px solid rgba(43,37,25,.14);border-radius:var(--r);overflow:hidden;line-height:0}
.mapbox iframe{display:block;width:100%;height:420px;border:0}
@media (max-width:600px){.mapbox iframe{height:320px}}
.entrance{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;margin-top:28px}
@media (max-width:860px){.entrance{grid-template-columns:1fr;gap:22px}}
.entrance img{display:block;width:100%;border-radius:var(--r)}
.entrance h3{font-family:var(--display);font-weight:600;font-size:22px;margin-bottom:10px}
.entrance ul{list-style:none;display:grid;gap:10px;margin-top:14px}
.entrance li{padding-left:22px;position:relative}
.entrance li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
  border-radius:50%;background:var(--yolk)}

/* ================= ВНУТРЕННИЕ СТРАНИЦЫ В СТИЛЕ ГЛАВНОЙ (обкатка на .v2) =========
   Вместо полос во всю ширину — карточки со скруглением на кремовом фоне,
   ровно той же ширины и радиуса, что блоки главной. */
.v2 .sec--white{background:transparent}
.v2 .sec--white>.wrap,
.v2 .sec--forest>.wrap{
  width:min(100% - var(--pad)*2, 1200px - var(--pad)*2);
  max-width:none;margin-inline:auto;
  border-radius:var(--r);
  padding:clamp(26px,3vw,40px) clamp(20px,2.4vw,32px)}
.v2 .sec--white>.wrap{background:#fff}
.v2 .sec--forest{background:transparent;color:var(--ink)}
.v2 .sec--forest>.wrap{background:var(--forest);color:var(--cream)}
/* ритм между карточками — как на главной */
.v2 .sec{padding-top:clamp(16px,2.2vw,30px);padding-bottom:clamp(16px,2.2vw,30px)}
.v2 .phead{padding-bottom:clamp(14px,1.8vw,24px)}
.v2 .foot{padding-top:clamp(20px,2.5vw,36px)}
/* шапка страницы живёт без карточки — как герой на главной */
.v2 main>.sec:first-child>.wrap{background:transparent;padding-left:0;padding-right:0;
  width:min(100% - var(--pad)*2, 1200px - var(--pad)*2)}
.v2 main>.sec:first-child{padding-top:clamp(26px,3.4vw,48px)}
/* заголовки — тем же почерком, что на главной */
.v2 h2.title{font-family:var(--hand);font-weight:600;
  font-size:clamp(32px,3.9vw,48px);line-height:1.04;letter-spacing:0}
.v2 h1.title{line-height:1.15}

/* ================= ВИТРИНА РАБОТ (raboty.html) =================
   Разметку генерирует админка (works-lib.php → block_works), сюда
   попадают .workbar/.workchip и .cards.works с карточками .card.work. */
.workbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.workchip{font:inherit;font-size:15px;line-height:1;cursor:pointer;
  padding:10px 18px;border-radius:100px;background:#fff;color:var(--ink);
  border:1px solid rgba(43,37,25,.16);transition:background .18s ease,border-color .18s ease,color .18s ease}
.workchip:hover{border-color:var(--yolk)}
.workchip.is-on{background:var(--yolk);border-color:transparent;font-weight:600}
.cards.works{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card.work{padding:0;overflow:hidden;gap:0}
.card.work:hover{transform:translateY(-4px)}
.work__shot{position:relative;display:block;line-height:0;text-decoration:none}
.card.work .card__pic{border-radius:0;margin:0;aspect-ratio:3/4;object-fit:cover}
.work__flag{position:absolute;left:12px;top:12px;z-index:1;
  font-family:var(--head);font-weight:700;font-size:12.5px;line-height:1;
  padding:7px 12px;border-radius:100px;background:#fff;color:var(--ink);
  box-shadow:0 4px 14px rgba(43,37,25,.16)}
.work__flag--sold{background:var(--ink);color:#fff}
.work__flag--order{background:var(--yolk)}
.card.work h3{font-size:19px;margin:16px 18px 0}
.card.work p{font-size:15px;margin:6px 18px 0;flex:0 1 auto}
.card.work .card__price{font-size:18px;margin:10px 18px 0}
.card.work .work__by{font-size:13.5px;opacity:.6;margin:8px 18px 18px}
.card.work>*:last-child{margin-bottom:18px}
@media (max-width:520px){
  .cards.works{grid-template-columns:1fr 1fr;gap:14px}
  .card.work h3{font-size:17px;margin:12px 14px 0}
  .card.work p,.card.work .card__price,.card.work .work__by{margin-left:14px;margin-right:14px}
}

/* ---------- карта сайта (karta-sayta.html) ---------- */
.maplist{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:clamp(22px,3vw,40px) clamp(24px,3.4vw,54px)}
.maplist__col{min-width:0}
.maplist h2{font-family:var(--head);font-weight:800;font-size:19px;letter-spacing:-.01em;
  color:var(--forest);margin:0 0 6px}
.maplist ul{list-style:none;margin:0;padding:0}
.maplist li{padding:10px 0;border-top:1px solid rgba(43,37,25,.1)}
.maplist li a{display:inline-block;font-family:var(--head);font-weight:600;font-size:16.5px;
  color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(43,37,25,.22)}
.maplist li a:hover{color:var(--forest);border-bottom-color:var(--leaf)}
.maplist li span{display:block;font-size:14px;line-height:1.4;opacity:.62;margin-top:3px}

/* ===== Обновление главной (бывший index2, сент. 2026) =====
   Правила с .i2 действуют только на главной (body.i2); шапка — на всех страницах.
   1) единые заголовки разделов — антиква, как в карточках;
   2) рукописный шрифт — только для мелких акцентов;
   3) на телефоне карточки быстрого выбора — в два ряда и ниже;
   4) у всех светлых блоков — одна и та же двойная рамка. */

/* 1. заголовки разделов */
/* «Мы старались и вот…» остаётся рукописным — так решили */
.i2 h2.title:not(.gal__headtext .title),
.i2 .revbox .title{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  font-size:clamp(32px,4.2vw,50px);line-height:1;letter-spacing:.005em;color:#3E4A38}
.i2 .sec--forest h2.title{color:inherit}
.i2 .eyebrow{letter-spacing:.14em;opacity:.75;color:#B0552F}

/* 2. рукописный — только пометки */
.i2 .hand{font-size:clamp(18px,2vw,23px);color:#B0552F}

/* 3. двойная рамка у блока оценок — как у зала и карточек */
.i2 .revbox{position:relative;
  background:radial-gradient(90% 120% at 0 0,#F4EFE4 0,#FFFDF8 55%);
  border:1px solid #E6DCC8}
.i2 .revbox::before{content:"";position:absolute;inset:8px;
  border:1px solid rgba(62,74,56,.16);border-radius:calc(var(--r) - 8px);pointer-events:none}
.i2 .revbox>*{position:relative}

/* 4. телефон: карточки 2×2, компактнее */
@media (max-width:560px){
  .i2 .quick__grid{grid-template-columns:1fr 1fr;gap:10px}
  .i2 .qcard{min-height:168px!important;padding:16px 14px 14px}
  .i2 .qcard::before{inset:5px;border-radius:calc(var(--r) - 5px)}
  .i2 .qcard__tag{font-size:9.5px;letter-spacing:.08em;white-space:normal;line-height:1.25}
  .i2 .qcard h3{font-size:22px}
  .i2 .qcard__pic--dv{width:74%;max-width:none;right:6px;bottom:6px}
  .i2 .qcard__pic--fl{width:52%;max-width:none;right:8px;bottom:6px}
  .i2 .qcard__pic--sh{width:44%;max-width:none;right:10px;bottom:6px}
  .i2 .qcard__pic--foto{width:38%;max-width:none;right:10px;bottom:10px}
  .i2 .qcard__pic--logo{width:84%;max-width:none;right:8px;bottom:10px}
  .i2 .qcard__pic--mk{width:50%;max-width:none;right:4px;bottom:4px}
}

/* 5. «КОТОконтроль» — тот же заголовок-антиква и двойная рамка */
.i2 .katcard{position:relative}
.i2 .katcard::before{content:"";position:absolute;inset:8px;
  border:1px solid rgba(224,154,11,.28);border-radius:24px;pointer-events:none}
.i2 .katcard h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  font-size:clamp(30px,3.4vw,44px);line-height:1.02;letter-spacing:.005em;color:#3E4A38}

/* 6. карточки флористов и подвал — двойная рамка */
.i2 .flor,.i2 .footbox{position:relative}
.i2 .flor::after,.i2 .footbox::before{content:"";position:absolute;inset:6px;z-index:2;
  border:1px solid rgba(62,74,56,.12);border-radius:calc(var(--r) - 6px);pointer-events:none}
.i2 .flor h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:28px;letter-spacing:.005em}

/* 7. шапка: в style.css padding:12px 0 затирает боковые поля .wrap — на телефоне логотип прилипает к краю */
.topbar__in{padding:12px var(--pad)}
@media (max-width:900px){
  .nav{justify-content:space-between;mask-image:none;padding-top:2px}
  .nav a{font-weight:600}
}

/* ===== Внутренние страницы в стиле главной (body.pg-art + тема) =====
   Блоки — в двойной рамке, заголовки — антиква, у каждой страницы свой акцент:
   .pg-sh — лаванда (шары), .pg-mk — пудрово-розовый (мастер-классы). */
.pg-art{--pg-ink:#3E4A38}
.pg-sh{--pg-acc:#8A6BB5;--pg-line:rgba(138,107,181,.24);--pg-bd:#E6DCF0;--pg-bd2:#DDD0EA;
  --pg-tint:#F1EAF8;--pg-tint2:#E9DFF3;--pg-soft:#F7F3FA;--pg-card:#F6F1FA}
.pg-kp{--pg-acc:#B97A06;--pg-line:rgba(224,154,11,.28);--pg-bd:#F0E2BC;--pg-bd2:#F0DDA2;
  --pg-tint:#FBEFC9;--pg-tint2:#FBE7A8;--pg-soft:#FEF7E2;--pg-card:#FEF6DF}
.pg-mk{--pg-acc:#C4506A;--pg-line:rgba(196,80,106,.22);--pg-bd:#F2D9D5;--pg-bd2:#EDC9C3;
  --pg-tint:#FBE6E2;--pg-tint2:#F8DCD8;--pg-soft:#FCF1EC;--pg-card:#FCF0EE}
/* белые блоки — в двойной рамке с лёгким оттенком темы */
.pg-art .sec--white>.wrap{position:relative;border:1px solid var(--pg-bd);
  background:radial-gradient(90% 120% at 100% 0,var(--pg-tint) 0,#FFFFFF 55%)}
.pg-art .sec--white>.wrap::before{content:"";position:absolute;inset:8px;
  border:1px solid var(--pg-line);border-radius:calc(var(--r) - 8px);pointer-events:none}
.pg-art .sec--white>.wrap>*{position:relative}
.pg-art .eyebrow{color:var(--pg-acc);opacity:1}
.i2 .sec--forest h2.title.title,.i2 .brand h2.title.title{color:inherit}
.pg-art .sec--forest .eyebrow,.pg-art .brand .eyebrow{color:inherit;opacity:.75}
.pg-art .phead h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--pg-ink);
  letter-spacing:.005em;line-height:1}
/* первый экран: текст слева, иллюстрация справа в рамке темы */
.phead__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(20px,4vw,56px);align-items:center}
.phead__art{position:relative;border-radius:var(--r);border:1px solid var(--pg-bd2);
  background:radial-gradient(120% 90% at 100% 0,var(--pg-tint2) 0,var(--pg-soft) 62%);
  aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.phead__art::before{content:"";position:absolute;inset:8px;border:1px solid var(--pg-line);
  border-radius:calc(var(--r) - 8px);pointer-events:none}
.phead__art img{position:absolute;left:8%;top:7%;width:84%;height:86%;max-width:none;object-fit:contain}
@media (max-width:760px){
  .phead__grid{grid-template-columns:1fr}
  .phead__art{order:-1;aspect-ratio:auto;height:220px}
}
/* карточки, панель и вопросы — двойная рамка */
.pg-art .card,.pg-art .panel{position:relative;border-color:var(--pg-bd2);
  background:linear-gradient(160deg,#FFFFFF 0,var(--pg-card) 100%)}
.pg-art .card::after,.pg-art .panel::after{content:"";position:absolute;inset:7px;z-index:2;
  border:1px solid var(--pg-line);border-radius:calc(var(--r) - 7px);pointer-events:none}
.pg-art .card.mk{background:#fff}
.pg-art .card.mk::after{display:none}
.pg-art .sec--forest .card::after{display:none}
.pg-art .faq details{background:#fff;border-color:var(--pg-bd)}
.pg-art .card h3,.pg-art .panel h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  font-size:26px;letter-spacing:.005em;color:var(--pg-ink)}
.pg-art .sec--forest .card h3{color:inherit}
.pg-art .card__blob{width:36px;height:36px}
.pg-art .faq summary{font-weight:600;color:var(--pg-ink)}
.pg-art .ticks li::before{background:var(--pg-acc)}
.pg-art h3.grp{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(24px,2.4vw,30px);
  letter-spacing:.005em;color:var(--pg-ink)}
.pg-art .phead .fork{background:var(--pg-soft);border-left-color:var(--pg-acc)}
/* «Как пройти» (.pg-kp): факты, шаги, схема и карта — в двойной рамке, заголовки шагов — антиква */
.pg-art .kp-fact,.pg-art .kp-step,.pg-art .kp-shema figure,.pg-art .kp-map{position:relative;
  border-color:var(--pg-bd2);background:linear-gradient(160deg,#FFFFFF 0,var(--pg-card) 100%)}
.pg-art .kp-fact::after,.pg-art .kp-shema figure::after{content:"";position:absolute;inset:6px;
  border:1px solid var(--pg-line);border-radius:14px;pointer-events:none}
.pg-art .kp-shema figure::after{border-radius:calc(var(--r) - 6px)}
.pg-art .kp-fact b{font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--pg-acc);opacity:1}
.pg-art .kp-step h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:26px;
  line-height:1.05;color:var(--pg-ink)}
.pg-art .kp-step__txt{background:transparent}
.pg-art .kp-map{padding:8px}
.pg-art .kp-map iframe{border-radius:calc(var(--r) - 8px)}
.pg-art .kp-warn{background:#fff}
/* шапка страницы не в рамке — как герой на главной */
.pg-art main>.sec:first-child>.wrap{border:0;background:transparent}
.pg-art main>.sec:first-child>.wrap::before{content:none}
/* фото вместо иллюстрации: заполняет рамку целиком */
.phead__art--photo{aspect-ratio:4/5;max-height:440px;justify-self:end;width:100%;max-width:352px}
.phead__art--photo img{left:8px;top:8px;width:calc(100% - 16px);height:calc(100% - 16px);
  object-fit:cover;border-radius:calc(var(--r) - 8px)}
.phead__art--photo::before{z-index:1}
@media (max-width:760px){.phead__art--photo{max-width:none;height:260px;aspect-ratio:auto}}
@media (max-width:560px){
  .pg-art .kp-facts{grid-template-columns:1fr 1fr;gap:10px}
  .pg-art .kp-fact{padding:14px 14px 12px}
  .pg-art .kp-fact span{font-size:15px}
}
/* шапка страницы шаров: фото показываем целиком — важны вывеска и шары */
.pg-sh .phead__art--photo{aspect-ratio:844/900;max-height:none;max-width:392px}
@media (max-width:760px){
  .pg-sh .phead__art--photo{height:auto;aspect-ratio:844/900;max-width:none}
}
/* шаги «как мы надуваем шары» — сеткой 2×2, фото крупнее */
.cards--two{grid-template-columns:repeat(2,1fr)}
@media (max-width:700px){.cards--two{grid-template-columns:1fr}}
/* вопросы — в две колонки на широком экране */
.pg-art .faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none;align-items:start}
@media (max-width:760px){.pg-art .faq{grid-template-columns:1fr}}
/* заголовок блока вопросов — цветом акцента страницы (раньше его давала надпись сверху) */
.pg-art .sec:has(.faq) h2.title{color:var(--pg-acc);
  font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  line-height:1.2;margin:0 0 16px;max-width:none}

/* ---------- просмотр фотографии во весь экран ---------- */
.gal figure img,.pg-art .card__pic{cursor:zoom-in}
.lbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  padding:clamp(12px,3vw,40px);background:rgba(30,26,17,.88);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.lbox[hidden]{display:none}
.lbox__fig{margin:0;max-width:min(100%,900px);display:grid;gap:10px;justify-items:center}
.lbox__fig img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;
  border-radius:16px;background:#fff}
.lbox__fig figcaption{color:#FDF4E3;font-size:15px;line-height:1.4;text-align:center;max-width:60ch}
.lbox__close{position:absolute;top:14px;right:16px;width:44px;height:44px;border-radius:50%;
  border:0;cursor:pointer;background:rgba(253,244,227,.92);color:#2B2519;
  font-size:26px;line-height:1;display:grid;place-items:center}
.lbox__close:hover{background:var(--yolk)}
.lbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;
  border-radius:50%;cursor:pointer;background:rgba(253,244,227,.9);color:#2B2519;
  display:grid;place-items:center}
.lbox__nav[hidden]{display:none}
.lbox__nav svg{width:24px;height:24px}
.lbox__nav:hover{background:var(--yolk)}
.lbox__nav--prev{left:max(12px,2vw)}
.lbox__nav--next{right:max(12px,2vw)}
.lbox__count{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;
  color:rgba(253,244,227,.75);font-size:13px;letter-spacing:.06em}
.lbox__count[hidden]{display:none}
@media (max-width:560px){
  .lbox__nav{width:44px;height:44px;top:auto;bottom:18px;transform:none}
  .lbox__nav--prev{left:18px}.lbox__nav--next{right:18px}
  .lbox__count{bottom:32px}
}
