/* Bog‘ — шалфей и арки, спокойная Literata */
.t-bog {
  --cw: .56;
  --bg: #EEF0E8; --surface: #F6F7F2; --tint: #DDE3D3; --ink: #1F2A21; --muted: #647062; --line: #D3DAC9; --gold: #C9A86A;
  --display: 'Literata', Georgia, serif; --body: 'Onest', system-ui, sans-serif;
  --r: 22px; --name-size: clamp(44px, 12.5vw, 96px); --name-lh: 1.02; --name-track: -0.02em; --h2-size: clamp(32px, 8.5vw, 56px); --h2-track: -0.015em;
}

/* Первый экран: арка по центру */
.t-bog .hero { display: grid; justify-items: center; padding: 28px 20px 56px; gap: 30px; text-align: center; }
.t-bog .hero-arch-wrap { position: relative; width: min(78vw, 420px); }
.t-bog .hero-arch-wrap::before {
  content: ''; position: absolute; inset: -12px -12px auto; height: calc(100% + 12px);
  border: 1.5px solid color-mix(in srgb, var(--accent) 40%, transparent); border-radius: 999px 999px 30px 30px;
}
.t-bog .hero-arch { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 999px 999px 24px 24px; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--tint)); }
.t-bog .hero-arch img, .t-bog .hero-arch svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.t-bog .hero-copy { display: grid; gap: 16px; justify-items: center; max-width: 640px; }
.t-bog .s-tagline { font-family: var(--display); font-style: italic; font-size: 20px; margin-inline: auto; }
.t-bog .s-meta, .t-bog .s-cta { justify-content: center; }

.t-bog .s-head { justify-items: center; text-align: center; }
.t-bog .s-head h2 { font-weight: 400; }
.t-bog .s-sub { text-align: center; }

/* Услуги: спокойный список с курсивными разделами */
.t-bog .s-services { background: var(--surface); }
.t-bog .s-cats { background: var(--surface); justify-content: flex-start; }
.t-bog .s-cats a { background: transparent; border: 1px solid var(--line); }
.t-bog .s-cat-title { font-style: italic; color: var(--accent); }
.t-bog .svc-name { font-family: var(--display); font-weight: 500; font-size: 19px; }
.t-bog .svc-price { font-family: var(--display); font-weight: 500; font-size: 18px; }

.t-bog .s-about { background: var(--bg); }
.t-bog .s-about-in { justify-items: center; text-align: center; }
.t-bog .s-about-text { justify-items: center; }
.t-bog .s-about-text .s-lead { font-style: italic; }

.t-bog .member { justify-items: center; text-align: center; }
.t-bog .member-photo { border-radius: 999px 999px 18px 18px; }
.t-bog .member h3 { font-family: var(--display); font-weight: 500; }

.t-bog .s-gallery { background: var(--surface); }
.t-bog .gal-item { border-radius: 16px; }
.t-bog .gal-item:nth-child(3n+1) { border-radius: 999px 999px 16px 16px; }

.t-bog .s-cta-band { background: var(--accent); color: #F2F4EC; }
.t-bog .s-cta-band h2 { font-style: italic; }
.t-bog .s-cta-band p { color: rgba(242, 244, 236, .78); }
.t-bog .s-cta-band .s-btn { background: #F2F4EC; color: var(--accent); border-color: #F2F4EC; }
.t-bog .s-cta-band .s-btn-line { color: #F2F4EC; border-color: rgba(242, 244, 236, .45); }
.t-bog .hours-card { background: var(--bg); }

@media (min-width: 960px) {
  .t-bog { --name-avail: calc((min(100vw, var(--wrap)) - 560px) / 2); }
  .t-bog .hero { grid-template-columns: 1fr minmax(320px, 400px) 1fr; align-items: end; gap: 56px; padding: 48px 32px 88px; max-width: var(--wrap); margin: 0 auto; text-align: left; }
  .t-bog .hero-arch-wrap { grid-column: 2; grid-row: 1; width: 100%; }
  .t-bog .hero-copy { display: contents; }
  .t-bog .s-name { grid-column: 1; grid-row: 1; align-self: end; text-align: right; justify-self: end; font-size: clamp(54px, 6vw, 92px); }
  .t-bog .s-tagline { grid-column: 3; grid-row: 1; align-self: start; margin: 40px 0 0; text-align: left; }
  .t-bog .s-meta { grid-column: 3; grid-row: 1; align-self: center; justify-content: flex-start; display: grid; gap: 8px; }
  .t-bog .s-cta { grid-column: 3; grid-row: 1; align-self: end; justify-content: flex-start; }
  .t-bog .s-cat-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 72px; align-items: start; }
  .t-bog .s-cat + .s-cat { margin-top: 0; }
}
