/*! generated:551f9f14f3e4; sources:10-home.css,20-content.css,25-editorial.css,30-service-category.css,40-service-detail.css,41-consultation.css,50-prices.css,60-masters.css,70-certificate.css,80-about.css,90-promotions.css,95-articles.css,96-contacts.css,97-master.css,98-standalone.css,99-article-blocks.css */
@view-transition {
  navigation: auto;
}

:root {
  --color-white: #fff;
  --color-black: #242424;
  --color-black-soft: rgba(36, 36, 36, 0.72);
  --color-gray: #f6f6f6;
  --color-gold: #b39f5a;
  --color-cream: #f9f4f0;
  --color-overlay: rgba(82, 78, 62, 0.48);
  --font-content: "Roboto", Arial, sans-serif;
  --font-title: "Playfair Display", "Times New Roman", serif;
  --header-height: 154px;
  --section-space:52px;
  --title-size:24px;
  --copy-size:15px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  min-width: 320px;
  font-family: var(--font-content);
  font-size: 19px;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  color: var(--color-black);
  font-family: var(--font-content);
  font-weight: 300;
  line-height: 1.5;
  background: var(--color-white);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
  border: 0;
  background: transparent;
}

img {
  display: block;
  max-width: 100%;
}

.container {
  width: calc(100% - 40px);
  max-width: 1400px;
  margin: 0 auto;
}

.golden {
  color: var(--color-gold);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 24px;
  border: 1px solid transparent;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.button:hover {
  opacity: 0.72;
}

.button--gold {
  color: var(--color-white);
  background: var(--color-gold);
}

.button--outline-light {
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.8);
}

.section-offset {
  padding-top: var(--section-space);
}

.section-offset--after {
  padding-bottom: var(--section-space);
}

.section-title {
  color: var(--color-black);
  font-family: var(--font-title);
  font-size: var(--title-size);
  font-weight: 400;
  line-height: 1.31;
}

.section-title--center {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.section-text {
  color: var(--color-black-soft);
  font-size: var(--copy-size);
  line-height: 1.5;
}

.section-action {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  color: var(--color-white);
}

.site-header.is-solid,
.site-header.is-open {
  color: var(--color-black);
}

.site-header__bar {
  position: relative;
  z-index: 2;
  padding-top: 15px;
  padding-bottom: 15px;
  transition: color 180ms ease, background-color 180ms ease;
}

.site-header.is-solid .site-header__bar,
.site-header.is-open .site-header__bar {
  background: var(--color-white);
}

.site-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header__logo {
  display: block;
  width: 92px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: filter 180ms ease;
}

@media (min-width: 440px) {
  .site-header__logo {
    width: 140px;
    height: 50px;
  }
}

@media (min-width: 1160px) {
  .site-header__logo {
    width: 180px;
    height: 64px;
  }
}

.site-header.is-solid .site-header__logo,
.site-header.is-open .site-header__logo {
  filter: none;
}

.site-header__actions {
  display: flex;
  align-items: center;
}

.site-header__contacts {
  display: none;
  align-items: flex-end;
  flex-direction: column;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.35;
  text-align: right;
}

.site-header__phone,
.site-header__address,
.site-header__link,
.site-header__subnav-link {
  transition: color 180ms ease, opacity 180ms ease;
}

.site-header__phone,
.site-header__address {
  white-space: nowrap;
}

.site-header__phone,
.site-header__address {
  opacity: 0.7;
}

.site-header__phone:hover,
.site-header__address:hover {
  color: var(--color-gold);
  opacity: 1;
}

@media (min-width: 768px) {
  .site-header__contacts {
    display: flex;
  }
}

@media (min-width: 1024px) {
  .site-header__contacts {
    align-items: center;
    flex-direction: row;
  }

  .site-header__phone:first-child {
    margin-right: 20px;
    padding-right: 20px;
    border-right: 1px solid currentColor;
  }

  .site-header__address {
    margin-left: 30px;
  }
}

@media (min-width: 1160px) {
  .site-header__address {
    margin-left: 60px;
  }
}

.site-header__record {
  height: 40px;
  min-height:40px;
  margin-left: 20px;
  padding-right: 15px;
  padding-left: 15px;
  font-size: 14px;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .site-header__record {
    height: 60px;
    margin-left: 30px;
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (min-width: 1160px) {
  .site-header__record {
    margin-left: 60px;
  }
}

.site-header__toggle {
  display: none;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  margin-left: 30px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
}

.site-header__toggle span {
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background: var(--color-white);
  transition: background-color 180ms ease;
}

.site-header.is-solid .site-header__toggle span,
.site-header.is-open .site-header__toggle span {
  background: var(--color-gold);
}

.site-header__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
}

.site-header__menu iframe {
  margin-right: auto;
}

.site-header__link,
.site-header__subnav-link {
  position: relative;
  margin-right: 8px;
  margin-left: 8px;
  padding-bottom: 6px;
  font-size: 15px;
  font-weight:300;
  text-transform:uppercase;
  letter-spacing: 0.1em;
  opacity: 1;
}

.site-header__link::before,
.site-header__subnav-link::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.site-header__link:hover::before,
.site-header__subnav-link:hover::before {
  transform: scaleX(1);
}

@media (min-width: 1280px) {
  .site-header__link {
    margin-right:23px;
    margin-left:23px;
  }
}

.site-header__subnav {
  position:absolute; width:100%;
  visibility: hidden;
  opacity: 0;
  background: var(--color-white);
  color: var(--color-black);
  transform: translateY(-8px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.site-header__subnav.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.site-header__subnav-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid rgba(36, 36, 36, 0.15);
}

.site-header__subnav-link {
  display: inline-block;
  margin-right: 25px;
  margin-left: 25px;
  letter-spacing: 0.07em;
}

/* Layout values follow the original site's responsive breakpoints. */
.home-hero { position:relative; height:100vh; min-height:600px; overflow:hidden; color:#fff; background:#524e3e; }
.home-hero__track,.home-hero__slide,.home-hero__media,.home-hero__media picture { position:absolute; inset:0; }
.home-hero__slide { visibility:hidden; opacity:0; transition:opacity .8s,visibility .8s; }
.home-hero__slide.is-active { visibility:visible; opacity:1; }
.home-hero__media::after { content:""; position:absolute; inset:0; background:rgba(82,78,62,.7); mix-blend-mode:multiply; }
.home-hero__image { width:100%; height:100%; object-fit:cover; color:transparent; font-size:0; }
.home-hero__content { position:relative; height:100%; display:flex; align-items:center; padding:130px 0 190px; text-align:left; }
.home-hero__date { font-size:16px; line-height:1.5; margin-bottom:16px; }
.home-hero__title { max-width:680px; margin:0; font:400 clamp(28px,4vw,48px)/1.2 var(--font-title); text-wrap:balance; }
.home-hero__description { max-width:560px; margin:20px 0 0; font-size:clamp(16px,1.4vw,19px); line-height:1.55; letter-spacing:normal; text-wrap:pretty; }
.home-hero__action { width:220px; max-width:100%; margin-top:32px; min-height:52px; font-size:18px; font-weight:300; }
.home-hero__dots { position:absolute; z-index:2; bottom:140px; left:50%; transform:translateX(-50%); display:flex; gap:4px; }
.home-hero__dot { width:36px; height:36px; border:1px solid transparent; border-radius:50%; display:grid; place-items:center; }
.home-hero__dot::after { content:""; width:6px; height:6px; background:#fff; transform:rotate(45deg); }
.home-hero__dot.is-active { border-color:#fff; }
.home-hero__scroll { position:absolute; z-index:2; bottom:80px; left:50%; transform:translateX(-50%); color:#fff; font:40px var(--font-title); }
.home-services__grid { display:grid; grid-template-columns:1fr; gap:20px; }
.service-tile { position:relative; display:block; height:150px; overflow:hidden; color:#fff; background:#524e3e; }
.service-tile__image { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.service-tile:hover .service-tile__image { transform:scale(1.04); }
.service-tile__body { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; text-align:center; background:rgba(36,36,36,.35); }
.service-tile__title { font:400 24px/1.3 var(--font-title); }
.service-tile__line { width:72px; height:1px; margin:18px 0 14px; background:#fff; }
.service-tile__label { font-size:15px; }
.home-top { overflow:hidden; }
.home-top__description { max-width:560px; margin-top:30px; }
.slider-controls { display:flex; justify-content:flex-end; gap:15px; margin:40px 0; }
.slider-controls button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; padding:0; line-height:1; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; color:var(--color-black-soft); font-size:20px; font-weight:300; }
.slider-arrow { display:block; width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.slider-controls button:hover { color:var(--color-gold); }
.card-rail { --slides:1; --gap:20px; display:flex; gap:var(--gap); touch-action:pan-y; transition:transform .45s ease; }
.card-rail > .content-card { flex:0 0 calc((100% - (var(--slides) - 1)*var(--gap))/var(--slides)); }
.card-grid { display:grid; grid-template-columns:1fr; gap:40px 20px; margin-top:40px; }
.content-card { position:relative; min-width:0; }
.content-card__image-box { position:relative; aspect-ratio:436/500; overflow:hidden; background:var(--color-gray); }
.content-card__image { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.content-card:hover .content-card__image { transform:scale(1.04); }
.content-card__absolute-link { position:absolute; inset:0; }
.content-card__meta { display:flex; justify-content:space-between; gap:16px; margin-top:20px; color:var(--color-black-soft); font-size:14px; }
.content-card__label { color:var(--color-gold); }
.content-card__link { display:block; margin-top:30px; }
.content-card__title { font:400 24px/1.3 var(--font-title); }
.content-card__description { margin-top:16px; color:var(--color-black-soft); font-size:15px; }
.home-about__head { background:var(--color-cream); padding-bottom:56px; }
.home-about__images { position:relative; }
.home-about__images::before { content:""; position:absolute; inset:0 0 50%; background:var(--color-cream); }
.home-about__image-grid { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.home-about__image-box--big { max-width:714px; flex:1.4; }
.home-about__image-box--small { display:none; max-width:500px; flex:1; }
.home-about__image { width:100%; height:auto; }
.home-about__caption { max-width:500px; margin:20px 0 0 auto; }
.recruit-models { position:relative; display:flex; align-items:center; margin-top:var(--section-space); margin-bottom:var(--section-space); }
.recruit-models::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; right:100%; width:calc((100vw - 100%)/2); background:var(--color-cream); }
.recruit-models__preview { position:relative; display:grid; place-items:center; min-height:450px; width:100%; background:var(--color-cream); }
.recruit-models__bg { position:absolute; max-width:100%; max-height:calc(100% - 40px); object-fit:contain; opacity:.45; }
.recruit-models__text { position:relative; max-width:450px; padding:80px 20px; text-align:center; }
.recruit-models__title { font:400 var(--title-size)/1.31 var(--font-title); }
.recruit-models__description { margin-top:30px; font-size:var(--copy-size); }
.recruit-models__more { margin-top:36px; color:var(--color-black-soft); font-size:20px; letter-spacing:.1em; }
.recruit-models__image-box { display:none; }
.recruit-models__image { width:100%; height:auto; }
@media(max-width:599px) { .home-hero { min-height:800px; } }
@media(min-width:440px) {
 .home-services__grid,.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-tile { height:auto; aspect-ratio:436/500; }
 .home-about__image-box--small { display:block; }
 .home-about__head { padding-bottom:84px; }
 .card-rail { --slides:2; }
}
@media(min-width:600px) {
 .service-tile__title { font-size:32px; }
 .content-card__title { font-size:28px; }
 .content-card__description { font-size:20px; }
 .recruit-models__preview { min-height:516px; }
}
@media(min-width:768px) {
 .home-hero__scroll { bottom:40px; }
 .home-services__grid,.card-grid { gap:44px; }
 .card-rail { --gap:44px; }
 .slider-controls button { width:55px; height:55px; }
 .home-about__image-grid { gap:60px; }
}
@media(min-width:920px) {
 .card-rail { --slides:3; }
 .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .recruit-models__preview { width:50%; min-height:602px; }
 .recruit-models__image-box { display:block; width:calc(50% + 30px); margin-left:-30px; }
}
@media(min-width:1024px) {
 .site-header { position:fixed; }
 .home-services__grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding-bottom:140px; }
 .service-tile:nth-child(3n+2) { transform:translateY(140px); }
 .home-about__head { padding-bottom:112px; }
}
@media(min-width:1160px) {
 .service-tile__title { font-size:42px; }
 .home-about__head { padding-bottom:140px; }
 .recruit-models__image-box { position:absolute; width:55%; right:0; top:-100px; max-width:766px; }
}
@media(min-width:1280px) { .recruit-models__preview { min-height:860px; } }

.map-card {
  width: 100%;
  height: 600px;
  max-height: 60vh;
  border: 0;
}

.site-footer {
  padding-top: 96px;
  color: var(--color-black);
  background: var(--color-white);
}

.site-footer__container {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  gap: 42px;
}

.site-footer__logo {
  width:145px;
}

.site-footer__contacts,
.site-footer__col {
  display: grid;
  align-content: start;
  gap: 11px;
}

.site-footer__contacts {
  margin-top: 28px;
}

.site-footer__title {
  margin-bottom: 12px;
  color:var(--color-black);
  font-family:var(--font-content);
  font-size:20px;
}

.site-footer__link,
.site-footer__contact,
.site-footer__address {
  color:var(--color-black-soft);
  font-size: 16px;
  transition: color 180ms ease;
}

.site-footer__link:hover,
.site-footer__contact:hover {
  color: var(--color-gold);
}

.site-footer__copyright {
  margin-top: 64px;
  padding:38px 0 83px;
  background:var(--color-cream);
  color:var(--color-black-soft);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 14px;
}

.share-panel {
  position: fixed;
  z-index: 80;
  right:0;
  top:50%;
  height:max-content;
  display: grid;
  gap: 8px;
}

.share-panel__toggle {
  padding: 10px 14px;
  color: var(--color-white);
  background: var(--color-gold);
  font-size: 13px;
}

.share-panel__body {
  display: none;
  justify-self: end;
  padding: 10px;
  background: var(--color-white);
  box-shadow: 0 12px 30px rgba(36, 36, 36, 0.16);
}

.share-panel.is-open .share-panel__body {
  display: block;
}

.modal {
  position: fixed;
  z-index: 200;
  inset: 0;
  display:flex;
  visibility:hidden; opacity:0; pointer-events:none;
  transition:opacity .3s ease, visibility .3s ease;
  align-items:center; justify-content:center; padding:20px;
}

.modal.is-open { visibility:visible; opacity:1; pointer-events:auto; }
.modal__dialog { transform:translateY(20px); transition:transform .3s ease; }
.modal.is-open .modal__dialog { transform:none; }

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.56);
}

.modal__dialog {
  position: relative;
  width: min(100%, 560px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 42px;
  background: var(--color-white);
}

.modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  color: var(--color-black);
  font-size: 32px;
  line-height: 1;
}

.modal__title {
  font-family: var(--font-title);
  font-size: 34px;
  font-weight: 400;
  line-height: 1.25;
}

.modal__description {
  margin-top: 14px;
  color: var(--color-black-soft);
  font-size: 17px;
}

.form {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.form__field {
  display: grid;
  gap: 7px;
}

.form__label {
  color: var(--color-black-soft);
  font-size: 14px;
}

.form__input {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(36, 36, 36, 0.18);
  color: var(--color-black);
  background: var(--color-white);
}

.form__check {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  color: var(--color-black-soft);
  font-size: 14px;
}

.form__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.form__submit {
  justify-self: start;
}

.form__message {
  min-height: 24px;
  color: var(--color-gold);
  font-size: 15px;
}

.form__message.is-error {
  color: #a93636;
}


@media(max-width:1023px) {
 .site-header__toggle { display:flex; }
 .site-header__menu { position:absolute; top:100%; left:0; width:100%; flex-direction:column; padding:20px; background:#fff; color:var(--color-black); max-height:calc(100dvh - 90px); overflow:auto; visibility:hidden; opacity:0; transform:translateY(-10px); transition:opacity .25s,transform .25s,visibility .25s; }
 .site-header.is-open .site-header__menu { visibility:visible; opacity:1; transform:none; }
 .site-header__menu iframe { margin:0 0 15px; }
 .site-header__link { margin-top:10px; }
 .site-header__subnav { display:none; }
 .site-footer__container { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:599px) { .site-footer__container { grid-template-columns:1fr; } .modal__dialog { padding:34px 22px 26px; } }
.mobile-bar { position:fixed; z-index:90; bottom:0; left:0; right:0; display:flex; background:#fff; border-top:1px solid #eee; padding-bottom:env(safe-area-inset-bottom); }
.mobile-bar > * { flex:1; padding:12px 4px; text-align:center; font-size:14px; color:var(--color-black-soft); border-right:1px solid #eee; }
@media(min-width:768px) { .mobile-bar { display:none; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }

@media(min-width:440px) { :root { --section-space:78px; } }
@media(min-width:600px) { :root { --title-size:32px; --copy-size:20px; } }
@media(min-width:920px) { .container { width:calc(100% - 80px); } }
@media(min-width:1024px) { :root { --section-space:104px; } }
@media(min-width:1160px) { :root { --section-space:130px; --title-size:42px; } }
[hidden] { display:none!important; }

@media(min-width:920px) { .recruit-models__preview { justify-items:start; } .recruit-models__bg { left:25px; } }
@media(min-width:1280px) { .recruit-models__image-box { width:auto; } }
.share-panel { gap:0; }
.share-panel__toggle,.share-panel__up { display:grid; place-items:center; width:36px; height:36px; padding:8px; color:#777; background:#fff; border:1px solid #ddd; border-radius:4px; }
.share-panel svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.share-panel__body { position:absolute; right:40px; top:36px; }

.consent-panel { position:fixed; right:0; bottom:0; z-index:150; max-width:970px; padding:24px; background:white; border-radius:8px; box-shadow:0 4px 24px #0002; font-size:14px; line-height:1.5; }
.consent-panel p + p { margin-top:8px; }
.consent-panel a { color:var(--color-gold); text-decoration:underline; }
.consent-panel button { margin-top:16px; width:240px; max-width:100%; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.site-page--inner { background: var(--color-white); color: var(--color-black); }
.site-page--inner main { min-height: 55vh; padding-top:154px; }
.page-shell { width:calc(100% - 40px); max-width:1400px; margin-inline: auto; }
.page-section { padding-block: var(--section-space); }
.page-section + .page-section { padding-top: 0; }
.page-heading { margin: 0 0 40px; font:400 36px/1.34 var(--font-title); }
.page-lead { max-width: 800px; margin: 0 0 48px; font-size: clamp(18px, 2.2vw, 26px); line-height: 1.45; }
.page-copy { max-width: 920px; font-size:var(--copy-size); line-height:1.5; }
.page-copy img { max-width: 100%; height: auto; }
.page-copy a { color: var(--color-gold); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 24px; color: #777; font-size: 14px; }
.breadcrumbs a { color: inherit; }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.content-card > .content-card__image { height:auto; aspect-ratio:436/500; }
.content-card__body { padding-top:30px; }
.content-card__body .content-card__title { margin-bottom:12px; }
.content-card__text { margin: 0; line-height: 1.55; }
.content-card__body .content-card__link::after { content: ""; position: absolute; inset: 0; }
.filter-tabs { display: flex; gap: 10px; overflow-x: auto; margin: 0 0 36px; padding-bottom: 8px; scrollbar-width: thin; }
.filter-tabs__button { flex: none; border: 1px solid #d4c589; padding: 11px 18px; background: transparent; color: inherit; cursor: pointer; }
.filter-tabs__button.is-active { background: var(--color-gold); color: var(--color-black); }
.price-search { display: flex; gap: 12px; margin-bottom: 36px; }
.price-search input { width: min(100%, 560px); border: 1px solid #bbb; padding: 14px 16px; font: inherit; }
.price-group { margin-bottom: 46px; }
.price-group__title { margin: 0 0 18px; font: 500 34px/1.15 "Playfair Display", serif; }
.price-table { width: 100%; border-collapse: collapse; }
.price-table td { border-bottom: 1px solid #e6e1d7; padding: 14px 0; vertical-align: top; }
.price-table td:last-child { width: 180px; padding-left: 20px; text-align: right; white-space: nowrap; }
.hero-preview { position: relative; display: grid; min-height: min(74vh, 760px); align-items: end; overflow: hidden; background: #1d1d1b; color: white; }
.hero-preview__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.hero-preview__body { position: relative; z-index: 1; padding-block: clamp(80px, 12vw, 150px); }
.hero-preview__title { max-width: 950px; margin: 0 0 24px; font: 500 clamp(44px, 8vw, 92px)/.95 "Playfair Display", serif; }
.hero-preview__text { max-width: 700px; font-size: clamp(18px, 2vw, 25px); line-height: 1.45; }
.media-list { display: grid; gap: 28px; }
.media-block { display: grid; grid-template-columns: minmax(260px, .8fr) 1.2fr; gap: clamp(28px, 6vw, 80px); align-items: center; }
.media-block:nth-child(even) .media-block__image { order: 2; }
.media-block__image { width: 100%; max-height: 620px; object-fit: cover; }
.media-block__title { margin: 0 0 18px; font: 500 clamp(30px, 4vw, 52px)/1.05 "Playfair Display", serif; }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gallery__item { border: 0; padding: 0; background: none; cursor: zoom-in; }
.gallery__item img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.faq { border-top: 1px solid #ddd4c3; }
.faq__item { border-bottom: 1px solid #ddd4c3; }
.faq__button { display: flex; width: 100%; justify-content: space-between; border: 0; padding: 22px 0; background: none; font: inherit; font-size: 20px; text-align: left; cursor: pointer; }
.faq__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.faq__panel > div { overflow: hidden; }
.faq__item.is-open .faq__panel { grid-template-rows: 1fr; }
.faq__content { padding: 0 0 24px; line-height: 1.6; }
.document-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.document-link { display: flex; justify-content: space-between; gap: 20px; border: 1px solid #ddd4c3; padding: 20px; color: inherit; }
.empty-state { padding: 64px 24px; border: 1px solid #e6e1d7; text-align: center; }

@media (max-width: 900px) {
  .site-page--inner main { padding-top:90px; }
  .content-grid, .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media-block { grid-template-columns: 1fr; }
  .media-block:nth-child(even) .media-block__image { order: 0; }
}

@media (max-width: 600px) {
  .content-grid, .gallery, .document-list { grid-template-columns: 1fr; }
  .content-card { min-height: 0; }
  .price-table td:last-child { width: auto; }
}

@media(min-width:600px) { .page-heading { font-size:48px; } }
@media(min-width:920px) { .page-shell { width:calc(100% - 80px); } }
@media(min-width:1160px) { .page-heading { font-size:62px; } }
.page-copy p + p { margin-top:1em; }
.page-copy ul,.page-copy ol { padding-left:1.5em; margin-block:1em; }

.lightbox { position:fixed; inset:0; width:100%; max-width:none; height:100%; max-height:none; border:0; background:rgba(0,0,0,.9); color:white; padding:60px; }
.lightbox[open] { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; align-items:center; gap:15px; }
.lightbox figure { min-width:0; text-align:center; }
.lightbox img { max-width:100%; max-height:calc(100dvh - 170px); margin:auto; object-fit:contain; }
.lightbox figcaption { margin-top:15px; font-size:16px; }
.lightbox button { color:white; font-size:40px; }
.lightbox__close { position:absolute; top:15px; right:20px; }
.lightbox::backdrop { background:rgba(0,0,0,.7); }
@media(max-width:599px) { .lightbox { padding:60px 10px; } .lightbox[open] { gap:5px; grid-template-columns:25px minmax(0,1fr) 25px; } }

.parking-details { margin-top:40px; }
.parking-details summary { cursor:pointer; color:var(--color-gold); margin-bottom:20px; }

.page-section > .home-services { padding-top:0; }
.page-section > .home-services > .container { width:100%; }

.lightbox__prev,.lightbox__next { display:grid; place-items:center; padding:0; }

/* Shared section navigation, page introductions and editorial cards. */
.section-tabs { display:flex; flex-wrap:wrap; margin-bottom:60px; }
.section-tabs a { max-width:calc(100% - 10px); margin:5px 10px 5px 0; padding:15px; border:1px solid transparent; color:var(--color-black); background:transparent; font-size:19px; line-height:1.5; font-weight:300; opacity:.8; transition:color .25s,border-color .25s; }
.section-tabs a:hover,.section-tabs a[aria-current="page"] { color:var(--color-gold); }
.section-tabs a[aria-current="page"] { border-color:rgba(179,159,90,.7); }
.section-tabs a:focus-visible { outline:2px solid var(--color-gold); outline-offset:3px; }
.page-title { position:relative; }
.page-title__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; text-align:center; }
.page-title h1 { min-width:0; max-width:min(100%,960px); overflow-wrap:anywhere; font:400 36px/1.33871 var(--font-title); }
.page-title__subtitle { max-width:620px; margin-top:20px; font-size:20px; line-height:1.5; opacity:.8; }
.page-title__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.page-title--image::after { content:""; position:absolute; inset:0; background:rgba(114,106,80,.5); }
.page-title--image .page-title__content { min-height:372px; padding-top:50px; color:white; }
.page-title__meta { display:flex; align-items:center; justify-content:space-between; width:100%; max-width:280px; margin-bottom:20px; font-size:18px; letter-spacing:.1em; }
.page-title__meta time { opacity:.7; }
.editorial-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:40px 20px; }
.editorial-card { min-width:0; }
.editorial-card__image { display:block; overflow:hidden; margin-bottom:30px; aspect-ratio:436/500; }
.editorial-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.editorial-card:hover img { transform:scale(1.1); }
.editorial-card__meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; margin-bottom:5px; font-size:18px; line-height:1.5; letter-spacing:.1em; }
.editorial-card__label { text-transform:uppercase; color:var(--color-gold); }
.editorial-card__date,.editorial-card time { opacity:.7; }
.editorial-card h3 { margin-top:15px; font:400 22px/1.5 var(--font-title); transition:color .25s; }
.editorial-card:hover h3 { color:var(--color-gold); }
.editorial-card__sale { font-weight:500; }
@media(min-width:440px) { .editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .page-title--image .page-title__content { min-height:434px; } }
@media(min-width:600px) { .page-title h1 { font-size:48px; } }
@media(min-width:768px) { .editorial-card h3 { font-size:28px; } }
@media(min-width:920px) { .editorial-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .editorial-card h3 { font-size:22px; } }
@media(min-width:1024px) { .page-title:not(.page-title--image) .page-title__content { min-height:450px; } .page-title__subtitle { margin-top:40px; } }
@media(min-width:1160px) { .page-title h1 { font-size:62px; } .page-title--image .page-title__content { min-height:620px; } .editorial-grid { gap:60px 44px; } .editorial-card h3 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .section-tabs a,.editorial-card img,.editorial-card h3 { transition:none; } }
/* Normalize pasted office fonts without changing headings, emphasis or links. */
.editor-content--normalized { --editor-copy-size:16px; }
.editor-content--normalized span,.editor-content--normalized font { font-family:inherit !important; font-size:inherit !important; line-height:inherit !important; }
.editor-content--normalized p[style],.editor-content--normalized div[style] { font-family:var(--font-content) !important; font-size:var(--editor-copy-size) !important; line-height:1.54 !important; margin:0 0 20px !important; }
.editor-content--normalized p[style]:last-child,.editor-content--normalized div[style]:last-child { margin-bottom:0 !important; }
.editorial-card__image { background:var(--color-cream); }
@media(min-width:440px) { .editor-content--normalized { --editor-copy-size:18px; } }
@media(min-width:1024px) { .editor-content--normalized { --editor-copy-size:20px; } }

/* Category pages use the original cover, text links and related masters. */
.site-page--category main { padding-top:0; }
.service-category-hero { position:relative; }
.service-category-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.service-category-hero--image::after { content:""; position:absolute; inset:0; background:rgba(114,106,80,.5); }
.service-category-hero__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; text-align:center; }
.service-category-hero--image .service-category-hero__content { min-height:372px; padding-top:50px; color:white; }
.service-category-hero__title { max-width:960px; font:400 36px/1.34 var(--font-title); }
.service-category-hero__subtitle { max-width:620px; margin-top:20px; font-size:20px; line-height:1.5; font-weight:300; opacity:.8; }
.service-category-breadcrumbs { display:flex; flex-wrap:wrap; gap:0 8px; margin-top:15px; min-height:30px; align-items:baseline; font-size:16px; line-height:30px; color:var(--color-black-soft); }
.service-category-breadcrumbs a:hover { color:var(--color-black); }
.service-category-list { margin-top:60px; padding-bottom:calc(var(--section-space) + 10px); }
.service-category-list__intro { max-width:920px; margin-bottom:50px; font:400 20px/1.5 var(--font-title); }
.service-category-list__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.service-category-list__link { display:flex; align-items:center; position:relative; min-height:60px; padding:10px 15px; background:var(--color-gray); color:var(--color-black); font-size:20px; line-height:1.4; transition:color .25s; }
.service-category-list__link::before { content:""; position:absolute; inset:0; background:var(--color-gold); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.service-category-list__link span { position:relative; }
.service-category-list__link:hover,.service-category-list__link:focus-visible { color:white; }
.service-category-list__link:hover::before,.service-category-list__link:focus-visible::before { transform:scaleX(1); }
.category-masters__description { max-width:554px; margin-top:30px; margin-bottom:70px; }
.category-masters__body { position:relative; padding-bottom:40px; }
.category-masters__body::before { content:""; position:absolute; inset:50% 0 0; background:var(--color-cream); }
.category-masters__grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:40px 20px; }
.category-master { min-width:0; text-align:center; }
.category-master__photo { position:relative; overflow:hidden; aspect-ratio:436/500; margin-bottom:30px; }
.category-master__photo img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.category-master:hover .category-master__photo img { transform:scale(1.1); }
.category-master__overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(179,159,90,.32); opacity:0; transition:opacity .3s; }
.category-master:hover .category-master__overlay,.category-master:focus-within .category-master__overlay { opacity:1; }
.category-master__photo-link { position:absolute; inset:0; }
.category-master__overlay .button { position:relative; width:256px; max-width:calc(100% - 40px); min-height:60px; font-size:20px; font-weight:300; }
.category-master__link h3 { font:400 22px/1.5 var(--font-title); transition:color .25s; }
.category-master:hover h3 { color:var(--color-gold); }
.category-master__link p { margin-top:15px; font-size:17px; line-height:1.5; opacity:.9; }
@media(hover:none) { .category-master__overlay { opacity:1; background:transparent; align-items:flex-end; padding-bottom:15px; } }
@media(min-width:440px) {
 .service-category-hero--image .service-category-hero__content { min-height:434px; }
 .category-masters__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:600px) {
 .service-category-hero__title { font-size:48px; }
 .service-category-list__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:768px) { .category-master__link h3 { font-size:28px; } }
@media(min-width:920px) {
 .service-category-list { padding-bottom:calc(var(--section-space) + 15px); }
 .service-category-list__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
 .service-category-list__link { min-height:80px; padding-inline:30px; }
 .category-masters__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 32px; }
 .category-master__link h3 { font-size:22px; }
}
@media(min-width:1024px) {
 .service-category-hero:not(.service-category-hero--image) .service-category-hero__content { min-height:450px; }
 .service-category-hero__subtitle { margin-top:40px; }
}
@media(min-width:1160px) {
 .service-category-hero--image .service-category-hero__content { min-height:620px; }
 .service-category-hero__title { font-size:62px; }
 .service-category-list { margin-top:126px; padding-bottom:calc(var(--section-space) + 22px); }
 .service-category-list__intro { margin-bottom:80px; font-size:28px; }
 .service-category-list__grid { gap:44px; }
 .category-masters__body { padding-bottom:60px; }
 .category-masters__grid { gap:60px 44px; }
 .category-master__link h3 { font-size:28px; }
}

/* Short and extended service layouts share only their common components. */
.site-page--service main { padding-top:0; }
.service-detail { --service-small-space:32px; --service-large-space:72px; }
.service-detail h2 { font:400 24px/1.31 var(--font-title); }
.service-detail .golden { color:var(--color-gold); }
.service-detail img { max-width:100%; }
.service-copy { font-size:16px; line-height:1.54; }
.service-copy p:not(:last-child),.service-copy ul:not(:last-child),.service-copy ol:not(:last-child) { margin-bottom:20px; }
.service-copy ul,.service-copy ol { padding-left:20px; }
.service-copy li { position:relative; padding:5px 0 5px 40px; list-style:none; }
.service-copy ul li::before { content:""; position:absolute; top:16px; left:0; width:10px; height:10px; border-radius:50%; background:var(--color-gold); }
.service-copy ol { counter-reset:service-list; }
.service-copy ol li { counter-increment:service-list; }
.service-copy ol li::before { content:counter(service-list) "."; position:absolute; left:0; color:var(--color-gold); }
.service-copy a { color:var(--color-gold); text-decoration:underline; }
.service-copy strong { font-weight:500; }
.service-hero { padding-top:60px; background:var(--color-cream); }
.service-hero__container { position:relative; padding-top:28px; padding-bottom:var(--section-space); }
.service-hero__overlay { position:absolute; inset:0; display:flex; pointer-events:none; }
.service-hero__overlay img { display:none; margin-top:auto; margin-left:auto; max-height:100%; object-fit:contain; object-position:right bottom; mix-blend-mode:darken; opacity:.65; }
.service-hero h1 { position:relative; max-width:750px; font:400 36px/1.33871 var(--font-title); }
.service-hero__description { position:relative; max-width:610px; margin-top:36px; min-height:55px; font-size:15px; line-height:1.5; opacity:.9; }
.service-hero__actions { position:relative; max-width:600px; margin-top:40px; }
.service-detail .service-action { width:auto; max-width:100%; min-height:46px; padding:9px 24px; font-size:18px; font-weight:300; line-height:1.5; letter-spacing:.05em; }
.service-actions { text-align:center; margin-top:30px; }
.service-promotion { padding-top:var(--section-space); }
.service-promotion img { display:block; width:100%; height:auto; }
.service-expert { padding-block:var(--section-space); }
.service-expert__text { max-width:800px; }
.service-expert blockquote { margin:0 0 36px; font:400 18px/1.40625 var(--font-title); }
.service-expert blockquote p::before { content:'“'; }
.service-expert blockquote p::after { content:'”'; }
.service-expert__author { max-width:604px; margin-left:auto; }
.service-expert__author p:first-child { font-size:20px; font-weight:500; }
.service-expert__author p:nth-child(2) { margin-top:10px; font-size:17px; }
.service-expert__author a { display:inline-block; margin-top:10px; color:var(--color-gold); font-size:16px; }
.service-expert>img { display:block; width:100%; max-width:360px; height:auto; object-fit:contain; align-self:flex-start; margin:30px auto 0; }
.service-teaser { padding-bottom:var(--section-space); }
.service-teaser--spaced { padding-top:var(--section-space); }
.service-teaser h2,.service-chess__emotion { max-width:920px; margin-inline:auto; text-align:center; }
.service-technology { padding-bottom:var(--section-space); }
.service-technology h2 { padding-bottom:0; }
.service-technology .service-copy p { padding-top:24px; }
.service-short .service-copy p { padding-top:24px; }
.service-technology__image { max-width:460px; margin:40px auto 0; }
.service-technology__image img { display:block; width:100%; height:auto; }
.service-advantages { padding-top:var(--section-space); padding-bottom:var(--service-large-space); background:var(--color-cream); }
.service-advantages h2,.service-description h2 { max-width:780px; margin-inline:auto; text-align:center; }
.service-advantages__list { padding:60px 0 0; counter-reset:advantage; list-style:none; }
.service-advantages__list>li { position:relative; counter-increment:advantage; margin-bottom:22px; padding:0 0 22px 50px; border-bottom:1px solid rgba(36,36,36,.1); }
.service-advantages__list>li:last-child { border:0; margin-bottom:0; padding-bottom:0; }
.service-advantages__list>li::before { content:counter(advantage,decimal-leading-zero); position:absolute; left:0; top:-2px; font:400 24px/1.5 var(--font-title); opacity:.45; }
.service-chess { padding-bottom:var(--section-space); }
.service-chess__section { padding-block:40px; }
.service-chess h2 { margin-bottom:25px; }
.service-chess__row>img { display:block; width:100%; max-width:360px; height:auto; margin:40px auto 0; object-fit:contain; align-self:flex-start; }
.service-chess__emotion { padding-top:var(--section-space); font:400 24px/1.31 var(--font-title); }
.service-chess .service-action { width:300px; }
.service-description { padding-block:var(--section-space); background:var(--color-cream); }
.service-description .service-copy { max-width:920px; margin:40px auto; }
.service-description__gallery { margin-top:40px; }
.service-short { padding-top:var(--section-space); padding-bottom:var(--service-small-space); }
.service-short__text { max-width:940px; margin-bottom:60px; }
.service-short h2 { padding-bottom:44px; }
.service-short__image { max-width:360px; margin:auto; }
.service-short__image img { width:100%; height:auto; }
.service-subservices { padding-block:var(--section-space); }
.service-subservices>.service-copy { margin-block:30px 60px; }
.service-masters { padding-top:var(--section-space); }
.service-portfolio { overflow:clip; background:var(--color-cream); padding-block:var(--service-small-space); }
.service-portfolio h2 { margin-bottom:20px; }
.service-portfolio>.container>.service-copy { margin-bottom:40px; }
.service-portfolio__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
.service-portfolio figure { min-width:0; margin:0; }
.service-portfolio .gallery__item { display:block; position:relative; border:0; overflow:hidden; }
.service-portfolio .gallery__item img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.service-portfolio figcaption { margin-top:5px; text-align:center; font-size:15px; line-height:1.5; opacity:.5; }
.service-portfolio__track { display:flex; gap:40px; overflow:visible; transition:transform .45s; }
.service-portfolio__track>figure { flex:0 0 100%; }
.service-video-play { position:absolute; inset:0; display:grid; place-items:center; color:white; font-size:48px; background:rgba(0,0,0,.2); }
.service-prices { padding-block:var(--section-space); }
.service-prices .price-table { margin-top:56px; width:100%; }
.service-prices__description { margin-top:15px; }
.service-prices .price-table td { border:0; font-size:16px; font-weight:300; }
.service-prices .price-table tr:first-child { border-top:1px solid rgba(36,36,36,.15); }
.service-prices .price-table tr:last-child { border-bottom:1px solid rgba(36,36,36,.15); }
.service-prices .price-table tr:nth-child(even) { background:var(--color-gray); }
.service-prices .price-table td:last-child { min-width:90px; white-space:normal; }
.service-prices .price-table td:last-child>* { display:block; white-space:nowrap; }
.service-prices .price-table strong { font-weight:500; }
.service-prices__note { font-size:14px; margin-top:10px; opacity:.6; }
.service-prices .service-actions { margin-top:50px; }
.service-prices .service-action { width:550px; }
.service-faq { padding-bottom:var(--section-space); }
.service-faq .faq { max-width:1200px; margin:60px auto 0; }
.service-faq .faq__item { border-bottom:1px solid rgba(36,36,36,.1); padding:0 20px; }
.service-faq .faq__item:first-child { border-top:1px solid rgba(36,36,36,.1); }
.service-faq .faq__button { padding:20px 0; gap:25px; font-family:var(--font-content); font-size:22px; font-weight:300; line-height:1.5; }
.service-faq .faq__button:hover { color:var(--color-gold); }
.service-faq .faq__content { padding:0 0 25px; font-size:18px; }
.service-faq__icon { display:block; font-size:28px; line-height:1; transition:transform .25s; }
.service-faq .is-open .service-faq__icon { transform:rotate(45deg); }
.service-reviews { padding-block:var(--section-space); background:var(--color-cream); }
.service-reviews__head { display:flex; flex-wrap:wrap; align-items:center; gap:25px 40px; }
.service-reviews__head .button { font-size:18px; font-weight:300; min-height:60px; }
.service-reviews__list { max-width:1020px; margin:60px auto 0; font-size:17px; line-height:1.63; }
.service-review { padding-bottom:36px; margin-bottom:36px; border-bottom:1px solid rgba(36,36,36,.1); }
.service-review:last-child { padding:0; margin:0; border:0; }
.service-review__author { margin-bottom:30px; }
.service-review__author p:first-child { font-weight:400; margin-bottom:15px; }
.service-review__author p:nth-child(2) { opacity:.7; }
.service-review__reply { width:95%; margin:30px 0 0 auto; border-top:1px solid rgba(36,36,36,.1); padding-top:26px; }
.service-review__text { overflow-wrap:anywhere; }
.lightbox iframe { display:block; width:min(85vw,1100px); aspect-ratio:16/9; border:0; }
.lightbox iframe[hidden],.lightbox img[hidden] { display:none; }
@media(min-width:440px) {
 .service-detail { --service-small-space:48px; --service-large-space:108px; }
 .service-hero__container { padding-top:42px; }
 .service-copy { font-size:18px; }
}
@media(min-width:600px) {
 .service-detail h2,.service-chess__emotion { font-size:32px; }
 .service-hero h1 { font-size:48px; }
 .service-hero__description { font-size:20px; }
 .service-expert blockquote { font-size:24px; }
 .service-technology .service-copy { padding-left:40px; }
 .service-technology h2 { padding-bottom:22px; }
 .service-chess h2 { margin-bottom:50px; }
 .service-portfolio__track>figure { flex-basis:calc((100% - 40px)/2); }
 .service-prices .price-table td { font-size:20px; padding:25px 24px; }
 .service-prices__note { font-size:16px; }
 .service-faq .faq__button { font-size:22px; }
}
@media(min-width:768px) {
 .service-hero { padding-top:100px; }
 .service-hero__overlay img { display:block; }
 .service-expert { display:flex; justify-content:space-between; }
 .service-expert__text { margin-right:60px; }
 .service-expert blockquote { margin-top:88px; margin-bottom:60px; }
 .service-expert>img { width:34%; max-width:496px; margin:0; }
 .service-advantages__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 60px; padding-top:85px; }
 .service-advantages__list>li { margin:0; padding-bottom:44px; }
 .service-advantages__list>li:nth-last-child(-n+2) { border:0; padding-bottom:0; }
 .service-description .service-copy { margin-top:74px; margin-bottom:60px; }
 .service-portfolio h2 { margin-bottom:70px; }
 .service-portfolio__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
 .service-portfolio figcaption { font-size:20px; }
 .service-review__row { display:flex; }
 .service-review__author { flex:0 0 27%; padding-right:30px; margin-bottom:0; }
 .service-review__text { flex:1; min-width:0; }
}
@media(min-width:920px) {
 .service-technology--image,.service-short--image { display:flex; justify-content:space-between; }
 .service-technology--image .service-technology__text,.service-short--image .service-short__text { width:50%; max-width:634px; }
 .service-technology__image,.service-short__image { width:45%; max-width:668px; margin:0; }
 .service-technology--image h2 { margin-top:100px; padding-bottom:22px; }
 .service-chess__section:first-child { padding-top:80px; }
 .service-chess__section:not(:first-child) { padding-top:145px; }
 .service-chess__row { display:flex; justify-content:space-between; }
 .service-chess__row>img { width:48%; max-width:668px; margin:-100px 0 0; }
 .service-chess__section:first-child img { margin-top:0; }
 .service-chess--overlap .service-chess__section:first-child img { margin-top:-120px; }
 .service-chess__text { width:48%; max-width:600px; }
 .service-chess__row--text .service-chess__text { width:100%; max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
 .service-chess__section:nth-child(even) .service-chess__row { flex-direction:row-reverse; }
 .service-short--image { flex-direction:row-reverse; }
 .service-short__text { margin-bottom:0; }
 .service-short--image h2 { margin-top:60px; }
 .service-short .service-copy { padding-left:60px; }
 .service-short__image img { position:sticky; top:90px; }
 .service-portfolio__track>figure { flex-basis:calc((100% - 80px)/3); }
}
@media(min-width:1024px) {
 .service-detail { --service-small-space:64px; --service-large-space:144px; }
 .service-hero { padding-top:120px; }
 .service-detail .service-action { min-height:60px; padding-block:14px; }
 .service-hero__container { padding-top:56px; }
 .service-copy { font-size:20px; }
 .service-expert blockquote { font-size:32px; }
 .service-chess--overlap .service-chess__section:first-child img { margin-top:-160px; }
}
@media(min-width:1160px) {
 .service-detail { --service-small-space:80px; --service-large-space:180px; }
 .service-detail h2,.service-chess__emotion { font-size:42px; }
 .service-hero__container { padding-top:70px; }
 .service-hero h1 { font-size:62px; }
 .service-short--image h2 { margin-top:60px; }
}
@media(prefers-reduced-motion:reduce) { .service-faq__icon { transition:none; } }

@media(max-width:599px) {
 .service-prices .price-table,.service-prices .price-table tbody,.service-prices .price-table tr,.service-prices .price-table td { display:block; }
 .service-prices .price-table tr { padding:20px 15px; }
 .service-prices .price-table td { padding:0; width:auto; }
 .service-prices .price-table td:last-child { padding:12px 0 0; text-align:right; }
}

.service-reviews[data-slider] { overflow:clip; }
.service-reviews__track { display:flex; gap:60px; transition:transform .45s; }
.service-reviews__track .service-review { flex:0 0 100%; min-width:0; margin:0; padding:0; border:0; }

/* Preserve the spacing of the legacy paragraph and portfolio wrappers. */
.service-advantages .service-copy { font-size:15px; line-height:1.5; opacity:.9; }
.service-description .service-copy { margin-bottom:24px; }
.service-reviews__head { justify-content:space-between; }
.service-reviews__head .button { width:255px; }
.service-portfolio__grid:not([data-slider-track]) { padding-block:10px; }
.service-portfolio .gallery__item .service-video-thumbnail { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(max-width:767px) {
 .service-advantages__list { margin-bottom:-44px; }
 .service-advantages__list>li { border:0; }
}
@media(min-width:600px) { .service-advantages .service-copy { font-size:20px; } }
@media(min-width:768px) { .service-portfolio__grid:not([data-slider-track]) { padding-block:20px; } }
@media(max-width:399px) { .service-reviews__head .button { width:100%; } }

@media(min-width:920px) {
 .service-chess--text-only { display:flex; flex-wrap:wrap; justify-content:space-between; }
 .service-chess--text-only .service-chess__section { width:46%; padding:100px 0 0; }
 .service-chess--text-only .service-chess__row--text .service-chess__text { display:block; }
 .service-chess--text-only .service-actions { width:100%; }
}

/* Long Russian procedure names must wrap even at a 320px viewport. */
.service-detail h1,.service-detail h2,.service-detail h3,.service-copy,.service-faq .faq__button,.service-prices td { overflow-wrap:anywhere; }
.service-faq .faq__button>span:first-child { min-width:0; }
.service-faq__icon { flex-shrink:0; }
.service-subservices>.service-copy { max-width:554px; margin-bottom:70px; }
.service-subservices .editorial-card__description { margin-top:15px; font-size:17px; line-height:1.5; opacity:.9; }
.service-subservices .editorial-card__image img { object-fit:contain; }
.service-description__media { margin-top:40px; overflow:hidden; }
.service-description__track { display:flex; gap:40px; transition:transform .45s; }
.service-description__track>figure { flex:0 0 100%; min-width:0; margin:0; }
.service-description__media .gallery__item { display:block; position:relative; }
.service-description__media .gallery__item img { display:block; width:100%; height:auto; aspect-ratio:auto; }
.service-description__media figcaption { margin-top:10px; text-align:center; font-size:16px; opacity:.7; }
@media(prefers-reduced-motion:reduce) { .service-description__track { transition:none; } }

.service-reviews[data-slider] .service-reviews__viewport { max-width:1020px; margin:60px auto 0; overflow:hidden; }
.service-reviews[data-slider] .service-reviews__list { margin:0; }

.consultation-detail .service-hero h1 { font-size:24px; line-height:1.31; }
.consultation-teaser { padding-top:var(--service-small-space); }
.consultation-teaser h2 { max-width:920px; margin-inline:auto; font-size:18px; line-height:1.40625; text-align:center; }
.consultation-teaser .service-actions { margin-top:40px; }
.consultation-info { padding-block:var(--service-small-space); background:var(--color-cream); text-align:center; }
.consultation-info .service-copy { max-width:760px; margin:30px auto 0; }
.consultation-detail .service-reviews__head .button { color:var(--color-gold); background:transparent; border:1px solid var(--color-gold); }
.consultation-detail .service-reviews__head .button:hover { color:white; background:var(--color-gold); }
@media(min-width:600px) { .consultation-detail .service-hero h1 { font-size:32px; } .consultation-teaser h2 { font-size:24px; } }
@media(min-width:1024px) { .consultation-teaser h2 { font-size:32px; } }
@media(min-width:1160px) { .consultation-detail .service-hero h1 { font-size:42px; } }

/* Original catalogue: independent, initially collapsed service directions. */
.site-page--prices main { padding-top:0; }
.price-catalog-header { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; }
.price-catalog-header h1 { max-width:960px; font:400 36px/1.33871 var(--font-title); text-align:center; }
.price-catalog-header p { max-width:620px; margin:20px auto 0; font-size:20px; line-height:1.5; font-weight:300; opacity:.8; text-align:center; }
.price-category { margin-top:30px; }
.price-category h2 { font:400 24px/1.30952 var(--font-title); }
.price-category__toggle { display:inline-flex; max-width:100%; align-items:baseline; gap:12px; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:opacity .25s; }
.price-category__toggle:hover { opacity:.6; }
.price-category__toggle:focus-visible { outline:2px solid var(--color-gold); outline-offset:6px; }
.price-category__arrow { flex:0 0 24px; transition:transform .25s; }
.price-category__toggle[aria-expanded="true"] .price-category__arrow { transform:scaleY(-1); }
.price-category__panel { padding-bottom:30px; }
.price-category__panel[hidden] { display:none; }
.price-catalog .price-group { margin:36px 0 0; }
.price-catalog .price-group__title { margin:0; padding-bottom:20px; font:400 24px/1.5 var(--font-content); }
.price-catalog .price-table { width:100%; border-collapse:collapse; font-size:20px; line-height:1.5; }
.price-catalog .price-table tr:first-child { border-top:1px solid rgba(36,36,36,.15); }
.price-catalog .price-table tr:last-child { border-bottom:1px solid rgba(36,36,36,.15); }
.price-catalog .price-table tr:nth-child(even) { background:var(--color-gray); }
.price-catalog .price-table td { border:0; padding:0; vertical-align:middle; }
.price-catalog .price-table td:first-child { width:100%; }
.price-catalog .price-table td:last-child { width:auto; text-align:right; white-space:nowrap; }
.price-catalog .price-table strong { font-weight:500; }
.price-catalog__note { font-size:16px; line-height:1.5; opacity:.9; }
.price-catalog__old { opacity:.7; font-size:16px; margin-right:15px; }
.price-catalog__sale { font-size:22px; font-weight:700; }
.price-catalog .price-table a { color:var(--color-gold); text-decoration:underline; }
.price-catalog .price-table ul,.price-catalog .price-table ol { padding-left:24px; }
@media(min-width:600px) {
 .price-catalog-header h1 { font-size:48px; }
 .price-category h2 { font-size:32px; }
 .price-catalog .price-table td { padding:25px 24px; }
}
@media(min-width:1024px) { .price-catalog-header { min-height:450px; } .price-catalog-header p { margin-top:40px; } }
@media(min-width:1160px) { .price-catalog-header h1 { font-size:62px; } .price-category h2 { font-size:42px; } }
@media(max-width:599px) {
 .price-catalog .price-table,.price-catalog .price-table tbody,.price-catalog .price-table tr,.price-catalog .price-table td { display:block; }
 .price-catalog .price-table tr { padding:20px 15px; }
 .price-catalog .price-table td:last-child { white-space:normal; }
 .price-catalog__old,.price-catalog__sale { white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .price-category__arrow { transition:none; } }

/* Shared navigation styles live in 25-editorial.css. */

.site-page--certificate main { padding-top:0; }
.certificate-hero { position:relative; }
.certificate-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.certificate-hero--image::after { content:""; position:absolute; inset:0; background:rgba(114,106,80,.5); }
.certificate-hero__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; text-align:center; }
.certificate-hero--image .certificate-hero__content { min-height:372px; padding-top:50px; color:white; }
.certificate-hero__title { max-width:960px; font:400 36px/1.3387 var(--font-title); }
.certificate-hero__action { width:100%; max-width:260px; min-height:46px; padding:0 24px; margin-top:40px; background:white; border-color:white; color:var(--color-black); font-size:18px; font-weight:300; }
.certificate-hero__action:hover { color:white; background:var(--color-gold); border-color:var(--color-gold); }
.certificate-content { max-width:960px; padding-top:28px; }

/* HTML from the rich-text editor keeps its headings, lists and emphasis. */
.editor-content { color:var(--color-black); font-size:19px; line-height:1.5; overflow-wrap:break-word; }
.editor-content h2,.editor-content h3,.editor-content h4 { font-family:var(--font-title); font-weight:400; margin-top:30px; margin-bottom:20px; }
.editor-content img { max-width:100%; height:auto !important; }
.editor-content a:not([class]) { color:var(--color-gold); text-decoration:underline; text-underline-offset:3px; }
.editor-content p,.editor-content ul,.editor-content ol { font-size:16px; line-height:1.54; }
.editor-content p:not(:last-child),.editor-content ul:not(:last-child),.editor-content ol:not(:last-child) { margin-bottom:20px; }
.editor-content ul,.editor-content ol { padding-left:20px; }
.editor-content li { position:relative; list-style:none; padding:5px 0 5px 40px; }
.editor-content ol { counter-reset:item; }
.editor-content ol > li { counter-increment:item; }
.editor-content ol > li::before { content:counter(item) '.'; position:absolute; top:5px; left:0; color:var(--color-gold); }
.editor-content ul > li::before { content:""; position:absolute; top:16px; left:0; width:10px; height:10px; border-radius:50%; background:var(--color-gold); }
.editor-content li > ul,.editor-content li > ol { padding-left:0; margin-block:5px; }
@media(min-width:440px) {
 .certificate-hero--image .certificate-hero__content { min-height:434px; }
 .certificate-content { padding-top:42px; }
 .editor-content { font-size:20px; }
 .editor-content p,.editor-content ul,.editor-content ol { font-size:18px; }
 .editor-content li > ul,.editor-content li > ol { padding-left:40px; }
}
@media(min-width:600px) { .certificate-hero__title { font-size:48px; } }
@media(min-width:768px) { .editor-content li > ul,.editor-content li > ol { padding-left:80px; } }
@media(min-width:1024px) {
 .certificate-hero__action { min-height:60px; }
 .certificate-hero:not(.certificate-hero--image) .certificate-hero__content { min-height:450px; }
 .certificate-content { padding-top:56px; }
 .editor-content p,.editor-content ul,.editor-content ol { font-size:20px; }
}
@media(min-width:1160px) {
 .certificate-hero--image .certificate-hero__content { min-height:620px; }
 .certificate-hero__title { font-size:62px; }
 .certificate-content { padding-top:70px; }
}

.site-page--about main { padding-top:0; }
.about-hero { position:relative; }
.about-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.about-hero--image::after { content:""; position:absolute; inset:0; background:rgba(114,106,80,.5); }
.about-hero__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; }
.about-hero--image .about-hero__content { min-height:372px; padding-top:50px; color:white; }
.about-hero__title { max-width:960px; font:400 36px/1.33871 var(--font-title); }
.about-hero__subtitle { max-width:620px; margin-top:20px; font-size:20px; line-height:1.5; font-weight:300; text-align:center; opacity:.8; }
.about-title { font:400 24px/1.30952 var(--font-title); }
.about-clients { max-width:920px; padding-top:75px; margin-bottom:48px; }
.about-advantage:nth-child(odd) { background:var(--color-cream); }
.about-advantage__body { padding-block:60px; }
.about-advantage:last-child .about-advantage__body { padding-bottom:0; }
.about-advantage__text p { max-width:530px; margin-top:60px; font-size:15px; line-height:1.5; opacity:.9; }
.about-advantage__image { max-width:360px; margin:60px auto 0; }
.about-advantage__image img { width:100%; height:auto; }
.about-guarantees__body { display:flex; align-items:flex-start; }
.about-guarantees__image { display:none; height:auto; }
.about-guarantees__text { min-width:0; }
.about-guarantees__footnote { max-width:780px; margin-inline:auto; padding-top:40px; text-align:center; }
.about-interiors { overflow:hidden; overflow:clip; }
.about-interiors .slider-controls { margin-top:0; }
.about-interiors__track { display:flex; gap:20px; transition:transform .45s ease; will-change:transform; touch-action:pan-y; }
.about-interiors__track > a { flex:0 0 100%; min-width:0; }
.about-interiors__track img { width:100%; height:auto; aspect-ratio:670/470; object-fit:cover; }
.about-documents { grid-template-columns:minmax(0,1fr); gap:30px; }
.about-document { display:flex; align-items:center; text-align:left; color:var(--color-black); }
.about-document img { flex:0 0 75px; width:75px; height:75px; aspect-ratio:auto; }
.about-document > div { padding-left:22px; min-width:0; }
.about-document h3 { font-size:18px; line-height:28px; font-weight:400; }
.about-document p { font-size:16px; opacity:.7; }
.about-document:hover h3 { color:var(--color-gold); }
.about-legal__description,.about-legal__license { max-width:762px; font-size:18px; line-height:1.666; }
.about-legal__license { color:var(--color-gold); }
.about-legal__company { margin-top:50px; }
.about-legal__company h3 { margin-bottom:40px; font:400 18px/1.40625 var(--font-title); }
.about-legal__company p { margin-top:10px; font-size:15px; opacity:.9; overflow-wrap:break-word; }
.about-vacancies .editor-content { max-width:920px; }
.about-vacancies > button { margin-top:40px; }
@media(min-width:440px) { .about-hero--image .about-hero__content { min-height:434px; } }
@media(min-width:600px) {
 .about-hero__title { font-size:48px; }
 .about-title { font-size:32px; }
 .about-advantage__text p,.about-legal__company p { font-size:20px; }
 .about-legal__company h3 { font-size:24px; }
 .about-interiors__track > a { flex-basis:calc((100% - 20px)/2); }
}
@media(min-width:768px) {
 .about-clients { padding-top:100px; margin-bottom:64px; }
 .about-documents { grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px 60px; }
 .about-legal__companies { display:flex; justify-content:space-between; }
 .about-legal__company { width:calc(50% - 30px); max-width:584px; margin-top:85px; }
}
@media(min-width:920px) {
 .about-advantages { padding-top:80px; }
 .about-advantage:not(:last-child) { margin-bottom:150px; }
 .about-advantage__body { display:flex; flex-direction:row-reverse; justify-content:space-between; padding-top:80px; padding-bottom:90px; }
 .about-advantage:nth-child(even) .about-advantage__body { flex-direction:row; }
 .about-advantage__text { width:50%; max-width:600px; margin-right:30px; }
 .about-advantage__text p { margin-left:auto; }
 .about-advantage__image { flex-shrink:0; width:calc(50% + 60px); max-width:728px; margin:-135px 0 0; padding-right:60px; }
 .about-advantage:nth-child(odd) .about-advantage__image { margin-top:-185px; }
 .about-guarantees__image { display:block; position:sticky; top:40px; width:calc(40% + 60px); max-width:668px; padding-right:60px; }
 .about-guarantees__text { width:60%; }
 .about-guarantees__title { padding-top:60px; margin-bottom:60px; }
 .about-guarantees__footnote { padding-top:100px; }
 .about-interiors__track { gap:44px; }
 .about-interiors__track > a { flex-basis:calc((100% - 44px)/2); }
}
@media(min-width:1024px) {
 .about-hero:not(.about-hero--image) .about-hero__content { min-height:450px; }
 .about-hero__subtitle { margin-top:40px; }
 .about-legal__company h3 { font-size:32px; }
}
@media(min-width:1160px) {
 .about-hero--image .about-hero__content { min-height:620px; }
 .about-hero__title { font-size:62px; }
 .about-title { font-size:42px; }
 .about-clients { padding-top:126px; margin-bottom:80px; }
 .about-advantages { padding-top:130px; }
 .about-advantage__body { padding-top:145px; padding-bottom:150px; }
 .about-advantage:nth-child(odd) .about-advantage__image { margin-top:-265px; }
}

.site-page--promotions main { padding-top:0; }
.promotion-page-header { position:relative; }
.promotion-page-header__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.promotion-page-header--image::after { content:""; position:absolute; inset:0; background:rgba(114,106,80,.5); }
.promotion-page-header__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:270px; padding-top:100px; text-align:center; }
.promotion-page-header--image .promotion-page-header__content { min-height:372px; padding-top:50px; color:white; }
.promotion-page-header h1 { max-width:960px; font:400 36px/1.33871 var(--font-title); }
.promotion-page-header__subtitle { max-width:620px; margin-top:20px; font-size:20px; line-height:1.5; opacity:.8; }
.promotion-page-header__meta { display:flex; align-items:center; justify-content:space-between; width:100%; max-width:280px; margin-bottom:20px; font-size:18px; letter-spacing:.1em; }
.promotion-page-header__meta time { opacity:.7; }
.promotion-page-header__action { max-width:100%; margin-top:30px; }
.promotion-page-header__service { min-height:46px; max-width:100%; padding:8px 24px; border-color:currentColor; font-size:18px; font-weight:300; color:inherit; }
.promotions-catalog > h2 { margin-bottom:60px; font:400 24px/1.30952 var(--font-title); }
.promotion-breadcrumbs { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; margin-top:15px; font-size:19px; line-height:1.5; color:var(--color-black-soft); }
.promotion-breadcrumbs a { font-size:16px; }
.promotion-banner { margin-top:40px; }
.promotion-banner img { max-width:100%; height:auto; margin-inline:auto; }
.promotion-content { max-width:960px; padding-top:28px; }
.promotion-booking { max-width:360px; padding-top:30px; }
.promotion-booking > button { width:100%; min-height:46px; font-size:18px; font-weight:300; }
@media(min-width:440px) {
 .promotion-page-header--image .promotion-page-header__content { min-height:434px; }
 .promotion-content { padding-top:42px; }
 .promotion-breadcrumbs { font-size:20px; }
}
@media(min-width:600px) { .promotion-page-header h1 { font-size:48px; } .promotions-catalog > h2 { font-size:32px; } }
@media(min-width:1024px) {
 .promotion-page-header:not(.promotion-page-header--image) .promotion-page-header__content { min-height:450px; }
 .promotion-page-header__subtitle { margin-top:40px; }
 .promotion-page-header__service,.promotion-booking > button { min-height:60px; }
 .promotion-content { padding-top:56px; }
}
@media(min-width:1160px) {
 .promotion-page-header--image .promotion-page-header__content { min-height:620px; }
 .promotion-page-header h1 { font-size:62px; }
 .promotions-catalog > h2 { font-size:42px; }
 .promotion-content { padding-top:70px; }
}

.site-page--articles main { padding-top:0; }
.articles-empty { grid-column:1/-1; display:flex; flex-direction:column; align-items:flex-start; gap:24px; padding:32px 24px; border:1px solid rgba(179,159,90,.25); background:var(--color-cream); }
.articles-empty__icon { display:grid; place-items:center; flex-shrink:0; width:64px; height:64px; border:1px solid rgba(179,159,90,.35); border-radius:50%; color:var(--color-gold); }
.articles-empty__icon svg { width:34px; height:34px; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.articles-empty__copy { min-width:0; max-width:600px; }
.articles-empty__eyebrow { margin-bottom:12px; color:#806e35; font-size:12px; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; }
.articles-empty h2 { margin:0; font:400 clamp(26px,3vw,36px)/1.3 var(--font-title); overflow-wrap:anywhere; }
.articles-empty__description { max-width:550px; margin-top:16px; color:var(--color-black-soft); font-size:17px; line-height:1.6; }
.articles-empty__link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; max-width:100%; padding:14px 18px; border:1px solid var(--color-gold); color:#806e35; font-size:16px; line-height:1.5; transition:color .2s,background-color .2s; }
.articles-empty__link span { font-size:24px; line-height:1; }
.articles-empty__link:hover { color:var(--color-white); background:#806e35; }
.articles-empty__link:focus-visible { outline:2px solid var(--color-gold); outline-offset:4px; }
@media(min-width:768px) { .articles-empty { flex-direction:row; flex-wrap:wrap; align-items:center; gap:28px; padding:44px; } .articles-empty__copy { flex:1; } .articles-empty__link { margin-left:92px; } }
@media(min-width:1160px) { .articles-empty { flex-wrap:nowrap; padding:52px; gap:32px; } .articles-empty__link { flex-shrink:0; margin-left:auto; } }
@media(prefers-reduced-motion:reduce) { .articles-empty__link { transition:none; } }
.article-breadcrumbs { display:flex; flex-wrap:wrap; justify-content:center; gap:0 8px; margin-top:15px; font-size:19px; line-height:1.5; }
.article-breadcrumbs a { font-size:16px; color:var(--color-black-soft); }
.page-title--image .article-breadcrumbs a { color:inherit; opacity:.8; }
.article-content { max-width:960px; padding-top:28px; }
.article-booking { max-width:360px; margin:30px auto 0; text-align:center; }
.article-booking > button { width:100%; min-height:46px; font-size:18px; font-weight:300; }
.article-prices h2 { font:400 24px/1.30952 var(--font-title); }
.article-prices.service-prices .price-table { margin-top:30px; }
@media(min-width:440px) { .article-content { padding-top:42px; } .article-breadcrumbs { font-size:20px; } }
@media(min-width:600px) { .article-prices h2 { font-size:32px; } }
@media(min-width:1024px) { .article-content { padding-top:56px; } .article-booking > button { min-height:60px; } }
@media(min-width:1160px) { .article-content { padding-top:70px; } .article-prices h2 { font-size:42px; } }

.site-page--contacts main { padding-top:0; }
.contacts-info { padding:60px 0 80px; background:var(--color-cream); }
.contacts-info__container { padding-top:28px; }
.contacts-info__title { font:400 36px/1.33871 var(--font-title); }
.contacts-info__column { margin-top:60px; min-width:0; }
.contacts-info__address { font-size:22px; margin-bottom:20px; font-style:normal; }
.contacts-info__list { display:flex; align-items:flex-start; margin-bottom:15px; }
.contacts-info__list dt { opacity:.5; min-width:72px; }
.contacts-info__list dd { margin-left:18px; display:flex; flex-direction:column; min-width:0; }
.contacts-info__list a { color:var(--color-black); overflow-wrap:anywhere; transition:color .2s; }
.contacts-info__list a:hover { color:var(--color-gold); }
.contacts-info__list a:not(:last-child) { margin-bottom:5px; }
.contacts-info__action { display:flex; width:100%; max-width:300px; margin-top:40px; height:46px; min-height:0; padding:0 24px; font-size:18px; font-weight:300; letter-spacing:.05em; }
.contacts-location { position:relative; }
.contacts-location::before { content:""; position:absolute; inset:0 0 50%; background:var(--color-cream); }
.contacts-location__container { position:relative; }
.contacts-location__tabs { margin-bottom:15px; }
.contacts-location__tab { font-family:Arial,sans-serif; font-size:19px; font-weight:400; line-height:normal; opacity:.8; border:1px solid transparent; padding:15px; margin:5px 10px 5px 0; transition:color .2s,border-color .2s; }
.contacts-location__tab[aria-selected="true"], .contacts-location__tab:hover { color:var(--color-gold); border-color:var(--color-gold); }
.contacts-location__parking { max-width:100%; height:auto; }
.contacts-location__map { height:765px; max-height:60vh; background:var(--color-cream); }
.contacts-location__map [class*="ground-pane"] { filter:grayscale(100%); }
.contacts-location [role="tabpanel"][hidden] { display:none; }
.contacts-location__status { position:absolute; top:100px; left:20px; right:20px; text-align:center; pointer-events:none; }
.contacts-location__external { display:inline-block; margin-top:10px; color:var(--color-gold); text-decoration:underline; }
.contacts-message { resize:vertical; font:inherit; }
@media(min-width:440px) { .contacts-info, .contacts-location { font-size:20px; } .contacts-info__container { padding-top:42px; } }
@media(min-width:600px) { .contacts-info__title { font-size:48px; } }
@media(min-width:768px) { .contacts-info { padding-top:80px; } }
@media(min-width:920px) { .contacts-info__columns { display:flex; } .contacts-info__column { margin-top:100px; width:50%; } }
@media(min-width:1024px) { .contacts-info { padding-top:100px; padding-bottom:100px; } .contacts-info__container { padding-top:56px; } .contacts-info__action { height:60px; } }
@media(min-width:1160px) { .contacts-info__container { padding-top:70px; } .contacts-info__title { font-size:62px; } }
@media(prefers-reduced-motion:reduce) { .contacts-info__list a, .contacts-location__tab { transition:none; } }

.site-page--master main { padding-top:0; }
.master-detail { --master-space:52px; --service-small-space:32px; }
.master-detail h1 { font:400 36px/1.33871 var(--font-title); }
.master-detail h2 { font:400 24px/1.309524 var(--font-title); }
.master-detail h3 { font:400 18px/1.40625 var(--font-title); }
.master-detail h4 { font:400 16px/1.1875 var(--font-title); }
.master-detail img { height:auto; }
.master-section { padding-block:var(--master-space); }
.master-action { display:flex; width:100%; height:46px; min-height:0; padding:0 24px; font-size:18px; font-weight:300; letter-spacing:.05em; }
.master-action--outline { background:transparent; border-color:var(--color-gold); color:var(--color-gold); }
.master-action--outline:hover { background:var(--color-gold); color:white; opacity:1; }
.master-hero { padding-top:100px; padding-bottom:var(--master-space); background:var(--color-cream); }
.master-hero__position { margin-top:36px; max-width:610px; font-size:15px; opacity:.9; }
.master-hero__position a { color:var(--color-gold); text-decoration:underline; }
.master-hero__action { margin-top:40px; max-width:300px; }
.master-hero__photo { padding-top:40px; position:relative; }
.master-hero__photo img { width:100%; max-width:360px; margin-inline:auto; }
.master-breadcrumbs { margin-top:15px; font-size:19px; line-height:1.5; }
.master-breadcrumbs a { position:relative; font-size:16px; color:rgba(36,36,36,.7); }
.master-breadcrumbs a:not(:first-child) { margin-left:20px; }
.master-breadcrumbs a:not(:first-child)::before { content:"/"; position:absolute; left:-15px; top:0; }
.master-specialization__text { margin-top:30px; }
.master-qualification { background:var(--color-cream); }
.master-qualification__title { max-width:920px; margin-inline:auto; text-align:center; }
.master-qualification__row { padding-top:75px; }
.master-qualification__text { margin-top:-80px; }
.master-qualification__section { margin-top:80px; }
.master-qualification__section[hidden] { display:none; }
.master-qualification__category { margin-top:40px; margin-bottom:-20px; }
.master-list { margin-top:25px; }
.master-qualification__toggle { margin-top:55px; }
.master-qualification__toggle[hidden] { display:none; }
.master-qualification__photo,.master-education__photo { max-width:460px; margin:30px auto 0; }
.master-qualification__photo img { position:sticky; top:30px; max-width:100%; }
.master-education { padding-top:var(--master-space); padding-bottom:78px; }
.master-detail .master-education__name { font:500 20px/1.5 var(--font-content); margin-top:50px; }
.master-documents__head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.master-documents .slider-controls { margin:0; }
.master-documents__viewport { overflow:hidden; margin:30px 0 20px; }
.master-documents__track { display:flex; gap:20px; transition:transform .45s; }
.master-documents__track > figure { flex:0 0 100%; min-width:0; }
.master-documents .gallery__item { position:relative; display:block; overflow:hidden; aspect-ratio:620/440; }
.master-documents .gallery__item img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.master-documents .gallery__item .master-documents__backdrop { object-fit:cover; transform:scale(1.2); filter:brightness(1.1) blur(6px) grayscale(1); }
.master-documents figcaption { text-align:center; }
.master-documents figcaption h3 { font:400 18px/1.5 var(--font-content); margin-top:15px; }
.master-documents figcaption p { font-size:14px; }
.master-detail .service-portfolio__grid { gap:20px; }
.master-detail .service-portfolio > .container > .service-copy { margin:40px 0 80px; max-width:610px; font-size:15px; line-height:1.5; opacity:.9; }
.master-detail .service-reviews { padding-block:var(--master-space); }
.master-detail .service-reviews__head .button { height:46px; min-height:0; padding:0 24px; color:var(--color-gold); border-color:var(--color-gold); background:transparent; font-weight:300; letter-spacing:.05em; }
.master-detail .service-reviews__head .button:hover { background:var(--color-gold); color:white; }
.master-detail .service-reviews__head { gap:20px; }
.master-detail .service-review__author { line-height:1.5; }
.master-detail .service-reviews--empty .service-reviews__head { flex-direction:column; gap:0; text-align:center; }
.master-detail .service-reviews--empty .service-reviews__head p { margin:20px 0 30px; font-size:22px; }
@media(min-width:400px) and (max-width:767px) { .master-detail .service-reviews__head .button { width:220px; } }
@media(min-width:440px) { .master-detail { --master-space:78px; --service-small-space:48px; } .master-breadcrumbs { font-size:20px; } }
@media(min-width:560px) { .master-documents__track > figure { flex-basis:calc((100% - 20px)/2); } }
@media(min-width:600px) { .master-detail h1 { font-size:48px; } .master-detail h2 { font-size:32px; } .master-detail h3 { font-size:24px; } .master-detail h4 { font-size:20px; } .master-hero__position { font-size:20px; } .master-list { margin-top:50px; } .master-detail .service-portfolio > .container > .service-copy { font-size:20px; } }
@media(min-width:768px) {
 .master-hero { padding-top:120px; }
 .master-hero__container { display:flex; justify-content:space-between; position:relative; }
 .master-hero__text { width:53%; }
 .master-hero__photo { width:calc(47% - 40px); max-width:665px; }
 .master-hero__photo img { position:absolute; top:0; right:0; max-width:100%; }
 .master-documents__viewport { margin-top:60px; }
 .master-detail .service-portfolio__grid { gap:40px; }
 .master-detail .service-portfolio figcaption { font-size:20px; }
}
@media(min-width:920px) {
 .master-specialization__text { width:60%; max-width:610px; padding-left:40px; }
 .master-qualification__row { display:flex; flex-direction:row-reverse; }
 .master-qualification__text { margin:0 0 0 60px; width:50%; max-width:560px; }
 .master-qualification__photo,.master-education__photo { width:50%; max-width:668px; margin-top:0; }
 .master-education__container { display:flex; align-items:flex-start; justify-content:space-between; }
 .master-education__text { width:50%; max-width:590px; padding-top:80px; }
 .master-detail .master-education__name { margin-top:90px; }
 .master-education .master-list { padding-left:40px; }
 .master-education__photo { width:calc(50% - 40px); }
 .master-documents__track > figure { flex-basis:calc((100% - 40px)/3); }
}
@media(min-width:1024px) {
 .master-detail { --master-space:104px; --service-small-space:64px; }
 .master-hero { padding-top:160px; }
 .master-action,.master-detail .service-reviews__head .button { height:60px; }
 .master-detail h3 { font-size:32px; } .master-detail h4 { font-size:26px; }
}
@media(min-width:1100px) { .master-documents__track > figure { flex-basis:calc((100% - 60px)/4); } }
@media(min-width:1160px) { .master-detail { --master-space:130px; --service-small-space:80px; } .master-detail h1 { font-size:62px; } .master-detail h2 { font-size:42px; } .master-qualification__text { margin-left:120px; } }
@media(prefers-reduced-motion:reduce) { .master-documents__track { transition:none; } }

.site-page--generic main { padding-top:0; }
.page-title--left .page-title__content { align-items:flex-start; text-align:left; }
.generic-content { max-width:960px; padding-top:28px; padding-bottom:var(--section-space); }
.generic-content table { width:100%; table-layout:fixed; border-collapse:collapse; margin-block:24px; }
.generic-content td,.generic-content th { padding:12px; border-bottom:1px solid rgba(36,36,36,.15); vertical-align:top; overflow-wrap:anywhere; font-size:16px; }
.generic-content td:first-child { width:40%; }
@media(min-width:440px) { .generic-content { padding-top:42px; } .generic-content td,.generic-content th { font-size:18px; } }
@media(min-width:1024px) { .generic-content { padding-top:56px; } .generic-content td,.generic-content th { font-size:20px; } }
@media(min-width:1160px) { .generic-content { padding-top:70px; } }

.article-block + .article-block { margin-top:clamp(32px,5vw,64px); }
.article-block--text { overflow-wrap:anywhere; }
.article-media.gallery { display:block; }
.article-media { width:100%; margin-inline:auto; }
.article-media__figure { margin:0; min-width:0; }
.article-media .gallery__item { display:block; position:relative; overflow:hidden; }
.article-media .gallery__item img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; background:var(--color-cream); }
.article-media figcaption { margin:14px 0 0; color:var(--color-black-soft); font-size:16px; line-height:1.6; text-align:left; overflow-wrap:anywhere; }
.article-video { max-width:602px; }
.article-video .gallery__item { cursor:pointer; }
.article-video .gallery__item img { aspect-ratio:16/9; object-fit:cover; transition:filter .25s; }
.article-video__play { position:absolute; inset:0; margin:auto; display:grid; place-items:center; width:68px; height:68px; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(0,0,0,.38); color:#fff; transition:background-color .2s,transform .2s; }
.article-video__play svg { width:30px; height:30px; fill:currentColor; margin-left:4px; }
.article-video__link:hover .article-video__play { background:var(--color-gold); transform:scale(1.06); }
.article-media .gallery__item:focus-visible { outline:2px solid var(--color-gold); outline-offset:4px; }
.article-gallery .slider-controls { margin:0 0 20px; }
.article-gallery__viewport { overflow:hidden; }
.article-gallery__track { display:flex; gap:24px; transition:transform .45s; touch-action:pan-y; }
.article-gallery__track > figure { flex:0 0 100%; }
.article-gallery .gallery__item img { aspect-ratio:4/3; object-fit:contain; max-height:640px; }
.lightbox iframe { margin-inline:auto; max-width:100%; }
@media(prefers-reduced-motion:reduce) { .article-video__play,.article-video .gallery__item img { transition:none; } }

@media(min-width:1024px) { .article-gallery__track > figure { flex-basis:calc((100% - 48px)/3); } }
