
/* ---------- токены ---------- */
:root{
  --bg:#F2EFE7; --surface:#FAF8F2; --band:#172C3A;
  --line:rgba(22,40,50,.15); --ink:#172832; --muted:#5E6968;
  --accent:#214B3E; --accent-ink:#FBF7ED; --accent-soft:#DCE6DF;
  --night:#172C3A; --night-soft:#28414B; --brass:#A97B49; --mist:#CBD8D4;
  --maxw:1240px; --text-wide:62ch; --text-regular:52ch; --text-narrow:46ch;
  --space-1:8px; --space-2:12px; --space-3:16px; --space-4:24px;
  --space-5:32px; --space-6:48px; --space-7:64px; --space-8:88px;
  --section-y:clamp(72px,7vw,104px); --header-offset:160px;
  --on-dark-muted:#CBD8D4; --card-padding:clamp(28px,3vw,40px);
  --font-display:clamp(3rem,4.7vw,4.4rem);
  --font-section:clamp(2.15rem,3.2vw,3.1rem);
  --font-card:clamp(1.65rem,2.3vw,2.05rem);
  --font-subhead:1.2rem;
  --font-body:clamp(1rem,.25vw + .95rem,1.0625rem);
  --font-small:.875rem; --font-label:.75rem;
  --radius-sm:4px; --radius-card:32px;
  --radius-organic-right:var(--radius-sm) 56px var(--radius-sm) var(--radius-sm);
  --radius-organic-left:96px var(--radius-sm) var(--radius-sm) var(--radius-sm);
  --shadow-card:0 22px 54px rgba(23,44,58,.07);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% 10%,rgba(203,216,212,.42),transparent 28rem),
    radial-gradient(circle at 92% 72%,rgba(169,123,73,.08),transparent 30rem),
    var(--bg);
  color:var(--ink);
  font-family:'Onest','Segoe UI',system-ui,-apple-system,sans-serif;
  font-size:var(--font-body);font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img{max-width:100%;display:block}
a{color:inherit}
main[id],section[id]{scroll-margin-top:var(--header-offset)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.band a:focus-visible{outline-color:var(--accent-ink)}
.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:10px 16px;background:var(--accent);color:var(--accent-ink);text-decoration:none;border-radius:var(--radius-sm);transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:clamp(24px,3.2vw,48px)}
h1,h2{margin:0;font-family:'Lora',Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}
h3{margin:0;font-family:'Lora',Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
h1{font-size:var(--font-display);max-width:16ch;line-height:1.04}
h2{font-size:var(--font-section);line-height:1.08}
h3{font-size:var(--font-subhead)}
p{margin:0;text-wrap:pretty}
.meaning-line{display:block}
li{text-wrap:pretty}
.desktop-break{display:none}
@media (min-width:1101px){.desktop-break{display:block}}
section{padding-block:var(--section-y)}

/* ---------- кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;white-space:nowrap;padding:12px 24px;border-radius:var(--radius-sm);
  font-size:.82rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase;
  text-decoration:none;border:1px solid transparent;
  cursor:pointer;transition:background .2s,border-color .2s,transform .1s,color .2s;
}
.btn--primary{background:var(--accent);color:var(--accent-ink)}
.btn--primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--ink))}
.btn--ghost{background:transparent;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 28%,transparent)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn:active{transform:scale(.985)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- шапка ---------- */
header{
  position:sticky;top:0;z-index:40;height:72px;display:flex;align-items:center;
  background:color-mix(in srgb,var(--bg) 91%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.logo{display:flex;flex-direction:column;justify-content:center;min-width:0;text-decoration:none;line-height:1.15}
.logo__name{font-family:'Lora',Georgia,serif;font-weight:600;letter-spacing:-.025em;font-size:1.08rem}
.logo__role{margin-top:4px;color:var(--muted);font-size:.63rem;font-weight:500;letter-spacing:.045em;text-transform:uppercase}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav ul a{font-size:.92rem;color:var(--muted);text-decoration:none;transition:color .2s}
.nav ul a:hover{color:var(--ink)}
.nav .btn{flex:0 0 auto;min-height:42px;padding:9px 18px}
@media (max-width:1023px){.nav ul{display:none}}

/* ---------- герой ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(64px,6vw,88px)}
.hero::before{
  content:"";position:absolute;width:min(52vw,720px);aspect-ratio:1;border:1px solid rgba(33,75,62,.14);
  border-radius:50%;right:-20vw;top:-34%;pointer-events:none;
}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,440px);gap:clamp(56px,7vw,96px);align-items:center}
.hero__eyebrow{display:block;margin-bottom:var(--space-3);max-width:58ch;color:var(--brass);font-size:var(--font-label);font-weight:500;letter-spacing:.09em;line-height:1.55;text-transform:uppercase}
.hero__sub{margin-top:var(--space-4);color:var(--muted);font-size:1.05rem;line-height:1.72;max-width:56ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}
.hero-break{display:block}
.portrait{
  position:relative;aspect-ratio:4/5;border-radius:48% 48% var(--radius-sm) var(--radius-sm);overflow:hidden;
  background:
    linear-gradient(155deg,rgba(255,255,255,.35),transparent 46%),
    var(--mist);
  border:1px solid rgba(33,75,62,.18);box-shadow:var(--shadow-card);
  display:flex;align-items:flex-end;padding:20px;
}
.portrait::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);border-radius:48% 48% var(--radius-sm) var(--radius-sm);pointer-events:none}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.portrait span{position:relative;z-index:1;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
@media (max-width:820px){
  .hero__grid{grid-template-columns:1fr}
  .portrait{aspect-ratio:4/5;order:-1;border-radius:var(--radius-sm)}
  .portrait::after{display:none}
  .hero{padding:38px 0 52px}
  .hero-break{display:none}
}

/* ---------- ситуации ---------- */
.signals{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(56px,7vw,96px);align-items:center}
.signals__img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-organic-left);box-shadow:var(--shadow-card)}
.signals__img img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:contrast(.96)}
.signals__eyebrow{display:block;margin-bottom:var(--space-3);color:var(--brass);font-size:var(--font-label);letter-spacing:.1em;text-transform:uppercase}
.signals__lead{margin-top:var(--space-4);color:var(--muted);line-height:1.72;max-width:54ch}
.signals__list{margin-top:var(--space-5);border-top:1px solid var(--line)}
.signal{display:grid;grid-template-columns:32px 1fr;gap:var(--space-3);padding:20px 0;border-bottom:1px solid var(--line)}
.signal span{color:var(--brass);font-size:var(--font-label);letter-spacing:.06em}
.signal p{color:var(--muted);max-width:52ch}
@media (max-width:820px){.signals{grid-template-columns:1fr;gap:var(--space-5)}.signals__img{order:2;aspect-ratio:4/3;border-radius:72px var(--radius-sm) var(--radius-sm) var(--radius-sm)}}

/* ---------- две точки входа ---------- */
.section-lead{margin-top:var(--space-3);color:var(--muted);line-height:1.72;max-width:var(--text-wide)}
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto 1fr auto auto;column-gap:var(--space-4);margin-top:var(--space-6)}
.offer{display:grid;grid-template-rows:subgrid;grid-row:span 6;min-height:420px;padding:var(--card-padding);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-organic-right);box-shadow:var(--shadow-card)}
.offer--accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.offer__meta{font-size:var(--font-label);letter-spacing:.09em;text-transform:uppercase;color:var(--brass);margin-bottom:var(--space-3)}
.offer--accent .offer__meta{color:#D4AA78}
.offer h3{font-size:var(--font-card)}
.offer>p{margin-top:var(--space-3);color:var(--muted);line-height:1.68;max-width:var(--text-regular)}
.offer--accent>p{color:rgba(251,247,237,.72)}
.offer ul{margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2)}
.offer li{position:relative;padding-left:18px;color:var(--muted);font-size:.94rem}
.offer li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:1px;background:var(--brass)}
.offer--accent li{color:rgba(251,247,237,.72)}
.offer__foot{padding-top:var(--space-5);display:grid;grid-template-rows:1.5em auto auto;justify-items:start;align-content:start;gap:var(--space-3)}
.offer__price-label{grid-row:1;font-size:var(--font-small);color:var(--muted)}
.offer__foot .btn{grid-row:3;white-space:normal;text-align:center;max-width:100%}
.offer__aside{margin-top:var(--space-3);font-size:var(--font-small);line-height:1.65;align-self:start}
.offer--accent .offer__aside{color:var(--on-dark-muted)}
.offer__price{grid-row:2;font-family:'Lora',Georgia,serif;font-size:1.45rem;letter-spacing:-.03em;white-space:nowrap}
.offer--accent .btn--ghost{color:var(--accent-ink);border-color:rgba(251,247,237,.35)}
.offer--accent .btn--ghost:hover{color:#fff;border-color:#fff}
@media (max-width:820px){.offers{grid-template-columns:1fr;grid-template-rows:none;row-gap:var(--space-4);margin-top:var(--space-5)}.offer{grid-row:auto;grid-template-rows:none;min-height:0;padding:28px}.offer__foot{grid-template-rows:none}.offer__price-label,.offer__price,.offer__foot .btn{grid-row:auto}}

/* ---------- как проходит ---------- */
.band{position:relative;background:var(--band);color:var(--accent-ink);overflow:hidden}
.band::after{
  content:"";position:absolute;width:420px;aspect-ratio:1;border:1px solid rgba(203,216,212,.13);
  border-radius:50%;right:-160px;bottom:-250px;pointer-events:none;
}
.stages{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:var(--space-6);border-top:1px solid var(--line);border-bottom:1px solid rgba(251,247,237,.17)}
.stage{padding:var(--space-5) var(--space-6) var(--space-5) 0}
.band .stages{border-color:rgba(251,247,237,.17)}
.band .section-lead{color:rgba(251,247,237,.66);margin-top:var(--space-3)}
.stage:nth-child(even){padding-left:var(--space-6);border-left:1px solid rgba(251,247,237,.17)}
.stage:nth-child(n+3){border-top:1px solid rgba(251,247,237,.17)}
.stage__meta{font-size:var(--font-label);color:#C79A65;font-weight:500;letter-spacing:.07em;text-transform:uppercase;margin-bottom:var(--space-2)}
.stage h3{font-size:1.35rem}
.stage p{margin-top:var(--space-2);color:rgba(251,247,237,.68);font-size:.96rem;line-height:1.72;max-width:48ch}
@media (max-width:820px){
  .stages{grid-template-columns:1fr}
  .stage{padding:26px 0}
  .stage:nth-child(even){padding-left:0;border-left:0}
  .stage:nth-child(n+2){border-top:1px solid rgba(251,247,237,.17)}
}

/* ---------- обо мне ---------- */
.about{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:clamp(56px,7vw,96px);align-items:start}
.about__img{border-radius:var(--radius-organic-right);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;box-shadow:var(--shadow-card)}
.about__img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.72) contrast(.96)}
.about__lead{margin-top:var(--space-4)!important;color:var(--ink)!important;font-family:'Lora',Georgia,serif;font-size:var(--font-subhead);line-height:1.55;max-width:var(--text-narrow)!important}
.about__role{margin-top:var(--space-2)!important;color:var(--brass)!important;font-size:var(--font-label);font-weight:500;letter-spacing:.085em;line-height:1.5!important;text-transform:uppercase}
.about p{margin-top:var(--space-3);color:var(--muted);line-height:1.72;max-width:56ch}
.about__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--space-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about__fact{padding:18px 18px 18px 0}
.about__fact+.about__fact{padding-left:18px;border-left:1px solid var(--line)}
.about__fact strong{display:block;font-family:'Lora',Georgia,serif;font-size:1.08rem;font-weight:500;color:var(--ink)}
.about__fact span{display:block;margin-top:5px;color:var(--muted);font-size:.82rem;line-height:1.45}
.fill{
  color:var(--accent);border-bottom:1px dashed currentColor;
  font-size:.9em;letter-spacing:.02em;
}
@media (max-width:820px){.about{grid-template-columns:1fr;gap:var(--space-5)}.about__img{aspect-ratio:4/3}.about__facts{grid-template-columns:1fr}.about__fact+.about__fact{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* ---------- отзывы ---------- */
.reviews{padding-top:0}
.reviews__head{display:grid;grid-template-columns:.82fr 1.18fr;align-items:end;gap:var(--space-6)}
.reviews__head .section-lead{margin-top:0}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-6)}
.review{display:flex;flex-direction:column;min-height:100%;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.review::before{content:"“";font-family:'Lora',Georgia,serif;font-size:2.4rem;line-height:.8;color:var(--brass)}
.review blockquote{margin:var(--space-3) 0 0;color:var(--ink);line-height:1.72}
.review footer{margin-top:auto;padding:var(--space-4) 0 0;border:0;background:transparent;color:var(--muted);font-size:var(--font-small)}
@media (max-width:900px){.reviews__grid{grid-template-columns:1fr}.review{padding:28px}.reviews__head{grid-template-columns:1fr}.reviews__head .section-lead{margin-top:var(--space-3)}}

/* ---------- цены ---------- */
.price__head{display:grid;grid-template-columns:.8fr 1.2fr;align-items:end;gap:var(--space-6)}
.cur{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.cur button{
  background:transparent;border:0;padding:9px 18px;font:inherit;font-size:.9rem;
  color:var(--muted);cursor:pointer;transition:background .2s,color .2s;
}
.cur button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.price__head .section-lead{margin-top:0}
.rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto 1fr auto;column-gap:var(--space-4);margin-top:var(--space-6)}
.rate{display:grid;grid-template-rows:subgrid;grid-row:span 5;position:relative;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--card-padding);background:var(--surface)}
.rate h3{grid-row:1}.rate__label{grid-row:2}.rate__num{grid-row:3}.rate p{grid-row:4}.rate .btn{grid-row:5;justify-self:start;white-space:normal;text-align:center;max-width:100%}
.rate h3{color:var(--ink)}
.rate--lead{background:var(--accent-soft);border-color:rgba(33,75,62,.2)}
.rate--lead::before{content:"";position:absolute;left:32px;right:32px;top:0;height:2px;background:var(--brass)}
.rate__num{font-family:'Lora',Georgia,serif;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500;letter-spacing:-.04em;margin-top:var(--space-3);display:block;color:var(--night)}
.rate__label{display:block;margin-top:var(--space-2);color:var(--muted);font-size:var(--font-label);letter-spacing:.07em;text-transform:uppercase}
.rate p{color:var(--muted);font-size:.95rem;line-height:1.65;margin-top:var(--space-2)}
.continuation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-top:var(--space-4);border-top:1px solid rgba(251,247,237,.18);border-bottom:1px solid rgba(251,247,237,.18)}
.continuation__item{padding:var(--space-4) var(--card-padding)}
.continuation__item+.continuation__item{border-left:1px solid rgba(251,247,237,.12)}
.continuation__item span{display:block;min-height:3em;color:var(--on-dark-muted);font-size:var(--font-small);line-height:1.5}
.continuation__item strong{display:block;margin-top:8px;font-family:'Lora',Georgia,serif;font-size:1.22rem;font-weight:500}
.note{margin-top:var(--space-4);color:rgba(251,247,237,.58);font-size:var(--font-small);line-height:1.65;max-width:76ch}
@media (max-width:820px){.price__head,.rates{grid-template-columns:1fr}.rates{grid-template-rows:none;row-gap:var(--space-4)}.rate{grid-row:auto;grid-template-rows:auto}.rate h3,.rate__label,.rate__num,.rate p,.rate .btn{grid-row:auto}.continuation{grid-template-columns:1fr}.continuation__item span{min-height:0}.continuation__item+.continuation__item{border-left:0;border-top:1px solid rgba(251,247,237,.12)}}

/* ---------- запись ---------- */
.booking{display:block;margin:0 auto;text-align:left}
#faq + #zapis{padding-top:0}
.booking h2{margin-bottom:var(--space-3)}
.booking__copy p{color:var(--muted);max-width:46ch;line-height:1.72}
#cal-inline{margin-top:var(--space-6);min-height:520px;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-card)}
.fallback{
  margin-top:0;border:1px solid var(--line);border-radius:var(--radius-organic-right);
  padding:clamp(34px,4vw,52px);background:var(--surface);box-shadow:var(--shadow-card);
}
.fallback p{color:var(--muted);line-height:1.7;margin-bottom:var(--space-4)}
.message-example{margin:0 0 var(--space-4);padding:18px 20px;border-left:2px solid var(--brass);background:var(--accent-soft);color:var(--ink);font-size:.92rem;line-height:1.65}
.message-example strong{display:block;margin-bottom:6px;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.booking__aside{margin-top:var(--space-3);color:var(--muted);font-size:.86rem;line-height:1.6}
.booking__aside a{color:var(--accent);text-underline-offset:3px}
.fallback .contact-prompt{margin-bottom:12px;color:var(--ink)}
.contact-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:0}
.contact-options .btn{padding-left:18px;padding-right:18px}
.pay{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}

/* ---------- вопросы ---------- */
.faq{max-width:860px;margin:0 auto}
.faq h2{margin-bottom:var(--space-4)}
details{border-bottom:1px solid var(--line)}
summary{
  display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:start;gap:var(--space-4);
  min-height:72px;padding:22px 0;cursor:pointer;list-style:none;font-weight:500;font-size:1.02rem;line-height:1.42;
  word-break:normal;overflow-wrap:normal;hyphens:none;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";width:24px;color:var(--accent);font-size:1.3rem;font-weight:300;line-height:1.25;text-align:center}
details[open] summary::after{content:"-"}
details p{padding:0 48px 24px 0;color:var(--muted);max-width:62ch}
details p a{color:var(--accent);text-underline-offset:3px}
@media (max-width:820px){.booking{grid-template-columns:1fr;gap:32px}.fallback{padding:30px}}

@media (max-width:600px){
  body{font-size:16px}
  section{padding-block:var(--space-7)}
  .wrap{padding:0 22px}
  .logo__name{font-size:.98rem}
  .logo__role{font-size:.56rem;letter-spacing:.025em;white-space:normal}
  .nav{gap:12px}
  .nav .btn{padding:9px 12px;font-size:.75rem}
  h1{font-size:clamp(2.55rem,12.5vw,3.4rem);line-height:1.03}
  h2{font-size:2.2rem}
  .hero__sub{font-size:1rem}
  .hero__cta{display:grid;grid-template-columns:1fr 1fr}
  .hero__cta .btn{padding-left:14px;padding-right:14px}
  .offers{margin-top:34px}
  .offer{padding:28px 24px;border-radius:var(--radius-sm) 38px var(--radius-sm) var(--radius-sm)}
  .offer__price{font-size:1.35rem}
  .contact-options{display:grid;grid-template-columns:1fr}
}
@media (max-width:380px){
  .wrap{padding-inline:16px}
  .logo__role{display:none}
}
@media (max-width:430px){
  .hero__cta{grid-template-columns:1fr}
}

/* ---------- подвал ---------- */
footer{border-top:0;padding:var(--space-7) 0 var(--space-6);font-size:.92rem;background:var(--night);color:var(--accent-ink)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-5)}
.foot h3{font-size:.78rem;color:rgba(251,247,237,.54);font-weight:400;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}
.foot a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid rgba(251,247,237,.2)}
.foot a:hover{border-color:var(--accent)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.crisis{color:rgba(251,247,237,.62)}
.copy{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgba(251,247,237,.14);color:rgba(251,247,237,.5);font-size:.85rem}
.analytics-settings{margin-left:12px;padding:0;border:0;border-bottom:1px solid rgba(251,247,237,.2);background:transparent;color:rgba(251,247,237,.72);font:inherit;cursor:pointer}
.analytics-settings:hover{border-color:var(--accent-ink);color:var(--accent-ink)}
.consent{position:fixed;z-index:120;right:clamp(12px,3vw,40px);bottom:clamp(12px,3vw,32px);width:min(560px,calc(100% - 24px));padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 24px 64px rgba(23,44,58,.22)}
.consent h2{font-size:1.55rem;margin-bottom:8px}.consent p{color:var(--muted);font-size:.95rem}.consent a{color:var(--accent)}
.consent__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.consent__actions .btn{font-size:.72rem}
.consent__secondary{background:transparent;color:var(--accent);border-color:rgba(33,75,62,.35)}
@media (max-width:820px){.foot{grid-template-columns:1fr}}
@media (max-width:520px){.consent{padding:20px;border-radius:22px}.consent__actions{display:grid}.consent__actions .btn{width:100%}.analytics-settings{display:block;margin:8px 0 0}}

/* ---------- появление ----------
   Прячем только если JS жив (класс .js ставится в <head>).
   Без JS страница видна целиком. */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* Предпросмотр самостоятельной записи - существующие цвета и интервалы. */
.repeat-entry{display:block;width:100%;font-size:var(--font-small);color:var(--accent);text-decoration:underline;text-underline-offset:4px}
header{display:block;height:auto}.nav{min-height:72px}.header-repeat{padding-top:8px;padding-bottom:8px;text-align:right;font-size:.8rem;border-top:1px solid var(--line)}.header-repeat a{color:var(--accent);text-underline-offset:4px}
.booking{display:block}.booking__copy{max-width:62ch}.booking-choices{width:100%}.booking-choice{min-width:0}.booking #cal-fallback{margin-top:var(--space-6)}
.booking-caption{font-size:var(--font-small);color:var(--muted);margin-top:var(--space-3)}
.booking-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin:var(--space-6) 0}
.booking-choice{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;background:var(--surface);color:var(--ink);text-decoration:none}
.booking-choice span,.booking-choice small{font-size:var(--font-small);color:var(--muted)}
.booking-choice strong{font-family:Lora,serif;font-size:1.35rem;line-height:1.35;min-height:2.7em}
.booking-choice .choice-action{color:var(--accent);font-weight:600;margin-top:auto;text-decoration:underline;text-underline-offset:4px}
.booking-choice:hover,.booking-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}
#booking-widget{scroll-margin-top:var(--header-offset);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left}
#booking-widget h3{font-size:var(--font-card);margin:0 0 var(--space-3)}
#booking-selected-note{margin-bottom:var(--space-4);color:var(--muted)}
.offer__foot{flex-wrap:wrap}
.rate .btn{margin-top:var(--space-3)}
@media(max-width:820px){.booking-choices{grid-template-columns:1fr;gap:var(--space-3);margin:var(--space-5) 0}.booking-choice strong{min-height:0}#booking-widget{padding:var(--space-3)}.foot a{display:inline-flex;align-items:center;min-height:48px;padding-block:var(--space-2)}.foot ul{gap:0}.analytics-settings{min-height:48px}}
@media(max-width:600px){.hero__grid{gap:var(--space-4)}.hero{padding-block:var(--space-4) var(--space-6)}.hero__cta{margin-top:var(--space-4)}.header-repeat{text-align:center}.header-repeat a{display:block;padding-block:8px}#booking-widget{padding:0;border:0;background:transparent}.booking-choice{padding:var(--space-3)}.booking-choice strong{font-size:1.25rem}.booking-widget-nav{display:block;padding-block:var(--space-3)}}
.booking-widget-nav{color:var(--accent);text-underline-offset:4px}.booking-load-status{color:var(--muted);margin-block:var(--space-3)}
@media(max-width:600px){.btn{max-width:100%;white-space:normal;text-align:center;text-wrap:balance}.nav .btn{white-space:nowrap}.offers{grid-template-columns:minmax(0,1fr)}.offer,.rate{min-width:0}}
.channels-section{padding-block:0 var(--space-6)}.channel-panel{padding:var(--space-5);background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.channel-panel h2{font-size:var(--font-card);max-width:30ch}.channel-panel p{margin-top:var(--space-3);max-width:62ch;color:var(--muted)}.channel-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.foot__channels-heading{margin-top:var(--space-5)}
@media(max-width:600px){.channel-panel{padding:var(--space-4)}.channel-links{display:grid;grid-template-columns:minmax(0,1fr)}}
