/* Home editorial revision: shorter route from expertise to project evidence. */
/* Align the vector marks by their visible height, with room for the practice note. */
/* Client revision: a quiet introduction, then the person behind the work. */
.home-media-intro { display:grid; gap:clamp(3rem,6vw,6rem); padding-inline:var(--spacing-gutter); align-items:center; }
.home-media-intro .media-sign { padding:0; font-size:clamp(2rem,9.2vw,8rem); }
.home-media-feature { margin:0; min-width:0; }
.home-media-feature > a { display:block; position:relative; }
.home-media-new { position:absolute; z-index:1; top:1rem; left:1rem; padding:.375rem .75rem; border-radius:999px; background:var(--color-white); color:var(--color-black); font-size:.75rem; font-weight:var(--font-weight-normal); line-height:1.25; }
.home-media-feature img { display:block; width:100%; height:auto; }
.home-media-feature figcaption { margin-top:1.25rem; font-size:var(--text-small); line-height:1.6; }
.home-media-feature figcaption span { display:block; margin-top:.5rem; color:var(--fg-muted); }
@media(min-width:1000px) {
  .home-media-intro { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--grid-gap); }
  .home-media-intro .home-media-feature { grid-column:2; grid-row:1; }
  .home-media-intro .media-sign { grid-column:1; grid-row:1; font-size:clamp(2rem,5.4vw,6.5rem); }
}
.home-refined .sign__by { text-transform:uppercase; letter-spacing:.05em; }
.home-refined .nowrap { white-space:normal; }
.home-refined .xh { padding-block:clamp(4rem,8vw,9rem) clamp(4rem,7vw,8rem); }
/* Имя — в исходном размере, тонкое и лесенкой, как до ревизии; убран только верхний ряд над ним. */
.home-refined .xh-name { margin:0 0 0 -.0365em; font-family:var(--font-sans); font-weight:300; }
.home-refined .home-position { margin-top:2rem; align-items:start; flex-direction:column; gap:1.25rem; }
.home-refined .home-position p { max-width:38ch; font-weight:400; }
.home-refined .home-position p { font-size:var(--text-body); color:var(--fg-muted); } /* одна строка вместо абзаца — больше воздуха */
.home-refined #about { padding-block:clamp(3rem,4.5vw,5rem); }
.home-refined .xh-meta { align-items:center; }
.xh-credentials { display:flex; align-items:center; gap:2rem; flex-shrink:0; }
.xh-brand-logos { display:flex; align-items:center; gap:1.75rem; flex-shrink:0; }
.xh-brand-logos img { display:block; height:auto; object-fit:contain; }
.xh-brand-hilton { width:6rem; }
.xh-brand-ihg { width:10rem; }
.home-refined .xh-meta .xh-credentials p.xh-practice { margin:0; max-width:none; white-space:nowrap; padding-left:2rem; border-left:1px solid var(--rule); }
@media(max-width:999px) {
  .xh-credentials { gap:1.25rem; }
  .xh-brand-logos { gap:1.25rem; }
  .xh-brand-hilton { width:5.25rem; }
  .xh-brand-ihg { width:8.75rem; }
  .home-refined .xh-meta .xh-credentials p.xh-practice { padding-left:1.25rem; }
}
@media(max-width:699px) {
  .home-refined .xh-meta { display:grid; grid-template-columns:1fr auto; gap:1.25rem .75rem; align-items:center; }
  .home-refined .xh-meta > p { margin:0; max-width:14ch; line-height:1.5; }
  .xh-credentials { display:contents; }
  .xh-brand-logos { grid-column:1 / -1; grid-row:2; gap:1.5rem; }
  .xh-brand-hilton { width:5rem; }
  .xh-brand-ihg { width:8.5rem; }
  .home-refined .xh-meta .xh-credentials p.xh-practice { grid-column:2; grid-row:1; padding-left:0; border-left:0; letter-spacing:.07em; }
}
.home-position { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-top:2.5rem; }
.home-position p { font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.35; margin:0; }
.home-position > div { display:flex; gap:2rem; flex-wrap:wrap; font-size:var(--text-body); }
.home-refined .xh-bleed { width:100%; height:auto; aspect-ratio:2 / 1; max-height:44rem; }
.home-refined .xh-bleed img { object-position:center; }
.home-proof-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--grid-gap); padding-block:3rem 5rem; }
.home-proof > span { font-size:var(--text-small); color:var(--fg-muted); }
.home-proof p { margin:.75rem 0 0; font-size:clamp(1.4rem,2.4vw,2rem); font-weight:300; }
.home-refined #about .split { gap:clamp(2rem,6vw,6rem); align-items:center; }
.home-refined #about .split > figure { max-width:30rem; justify-self:start; margin-inline:0; }
.home-refined #about .split > div { position:static; top:auto; }
.home-refined #about .t-h2 { max-width:18ch; }
.home-refined #about .about-note { max-width:54ch; }
.home-refined .band { padding-block:clamp(4rem,8vw,8rem); }
.home-refined .xh { padding-top:2.5rem; padding-bottom:0; }
.home-refined #projects { padding-top:5rem; }
.home-refined .xp { margin-top:2.5rem; }
.home-refined .xp { grid-template-columns:minmax(0,1fr); row-gap:clamp(3rem,6vw,6rem); }
.home-refined .xp > a { grid-column:1 / -1; margin-top:0; width:100%; }
.home-refined .xp > a figure { aspect-ratio:auto; background:transparent; line-height:0; }
.home-refined .xp > a img { height:auto; object-fit:contain; }
/* Remove the dark export edge along the bottom of the pool rendering. */
.home-refined .xp > a:first-child figure { aspect-ratio:2000 / 1118; }
.home-refined .xp > a:first-child img { height:100%; object-fit:cover; object-position:top; }
.home-refined .xp > a.portrait { max-width:38rem; justify-self:center; }
.home-refined .xp > a .t-h3 { font-size:clamp(1.5rem,3.5vw,3.5rem); font-weight:300; letter-spacing:-.025em; }
.home-refined .xp > a.portrait .t-h3 { font-size:clamp(1.5rem,2.5vw,2.5rem); }
.home-refined .xp > a.reception-crop figure { aspect-ratio:16 / 9; }
.home-refined .xp > a.reception-crop img { height:100%; object-fit:cover; object-position:50% 88%; }
.home-refined .home-standards .standards { align-items:center; gap:clamp(2rem,5vw,5rem); }
.home-standards .t-h2 { max-width:20ch; }
.home-standards .t-body { max-width:55ch; }
.home-standards figure img { width:100%; height:auto; display:block; }
.home-standards figcaption { margin-top:1rem; color:var(--fg-muted); font-size:var(--text-small); line-height:1.8; }
/* Check in / up / out — в общем контейнере, как остальные разделы: шире
   1440 px блок растягивался на весь экран и уходил с сетки. Линии рубрик —
   по ширине содержимого. */
.home-refined .media-architecture { max-width:var(--container); margin-inline:auto; }
.home-refined .media-topic-list { column-gap:var(--grid-gap); padding-inline:0; margin-inline:var(--spacing-gutter); }
/* Плитка выступает влево на свой отступ: текст встаёт на линию колонки */
.home-refined .media-topic-list li { margin-left:-1.5rem; }
.home-refined .media-topic-list a { display:block; color:inherit; text-decoration:none; padding:1.5rem; height:100%; }
@media (hover:hover) { .home-refined .media-topic-list a:hover { background:rgba(255,255,255,.25); } }
.home-refined .media-topic-list strong { display:block; font-size:1.4rem; font-weight:400; }
.home-refined .media-topic-list small { display:block; font-size:1rem; line-height:1.5; margin-top:1rem; max-width:28ch; }
@media(min-width:701px) {
  /* Три рубрики в ряд: первая не выступает за край линий, текст на колонке 1. */
  .home-refined .media-topic-list li:first-child { margin-left:0; }
  .home-refined .media-topic-list li:first-child a { padding-left:0; }
}
@media(max-width:700px) {
  /* Одна колонка: рубрики и их линии по краю содержимого. */
  .home-refined .media-topic-list li { margin-left:0; }
  .home-refined .media-topic-list a { padding-inline:0; }
}
.home-media-links { display:flex; flex-wrap:wrap; gap:1.5rem 3rem; margin-top:3rem; }
.home-about-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
/* One project per frame, immediately after the complete author introduction. */
.home-refined .home-projects { margin-top:0; border-top:0; }
.home-projects-head { display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem; margin-bottom:2rem; }
.home-projects-head h2 { margin:0; }
.home-projects-head > a { flex-shrink:0; }
.home-project-frame { display:grid; gap:3rem; }
.home-project-card { display:block; color:inherit; text-decoration:none; min-width:0; }
.home-project-card[hidden] { display:none; }
.home-project-card figure { position:relative; margin:0; aspect-ratio:16 / 9; overflow:hidden; background:var(--accent-bg); }
.home-project-card img { display:block; width:100%; height:100%; object-fit:cover; }
.home-project-caption { margin-top:1.5rem; min-height:8rem; }
.home-project-title { margin:0; font-size:clamp(1.35rem,2.5vw,2.5rem); line-height:1.25; font-weight:300; letter-spacing:var(--tracking-tight); text-wrap:balance; }
.home-project-specs { margin:.75rem 0 0; font-size:var(--text-small); line-height:1.6; color:var(--fg-muted); }
.home-projects.is-preview-ready .home-project-frame { touch-action:pan-y; gap:0; }
.home-projects .project-preview-frame:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
@media(max-width:699px) {
  .home-projects-head { flex-wrap:wrap; gap:1rem; }
  .home-project-card figure { aspect-ratio:3 / 2; }
}
.home-refined a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.home-refined [id] { scroll-margin-top:6rem; }
@media(min-width:1000px) {
  .home-refined .home-standards .standards > figure { grid-column:7 / 13; }
  .home-refined .home-standards .standards > :first-child { grid-column:1 / 7; }
}
@media(min-width:700px) {
  .home-refined #about .split { grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--grid-gap); }
}
@media(max-width:699px) {
  .home-position { align-items:start; flex-direction:column; gap:1.5rem; }
  .home-refined .xh-name { font-size:clamp(3rem,17.4vw,4.25rem); }
  .home-position > div { gap:1rem 2rem; }
  .home-refined .xh-meta { font-size:.6875rem; }
  .home-refined .xh-meta p:last-child { max-width:16ch; }
  .home-refined .xh-bleed { aspect-ratio:4 / 3; }
  .home-proof-row { grid-template-columns:1fr; gap:0; padding-block:2rem 3rem; }
  .home-proof { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding-block:1rem; border-bottom:1px solid var(--rule); }
  .home-proof > span { font-size:.8125rem; max-width:50%; }
  .home-proof p { font-size:1.125rem; margin:0; white-space:nowrap; }
  .home-refined .xh-cap { gap:1rem; }
  .home-refined .xh-cap a { white-space:nowrap; align-self:start; }
  .home-refined #about .split > figure { max-width:20rem; }
  .home-contact-row { flex-direction:column; gap:1rem; }
}

/* Requested emphasis within the existing editorial typography. */
.home-refined .xh-meta > p,
.home-refined .xh-meta .xh-credentials p.xh-practice {
  color:var(--fg); font-size:clamp(.8125rem,1.25vw,1rem); font-weight:500; letter-spacing:.07em;
}
.home-proof .hotel-logos { margin-top:1rem; }
@media(max-width:699px) {
  .home-proof:has(.hotel-logos) { flex-direction:column; align-items:start; }
  .home-proof:has(.hotel-logos) > span { max-width:none; }
  .home-proof .hotel-logos { margin-top:.25rem; }
}

/* Final rhythm takes precedence over the earlier experimental layout. */
.home-refined .xh { padding-block:clamp(3rem,4vw,4rem); }
/* Первый экран — ровно на высоту окна под шапкой, следующий блок не проглядывает. */
.home-refined .xh { min-height:calc(100svh - var(--topbar-h, 5rem)); display:flex; flex-direction:column; justify-content:center; box-sizing:border-box; }
.home-refined .xh > * { width:100%; }
.home-refined .media-architecture .media-kicker { text-transform:none; letter-spacing:0; font-size:var(--text-body); max-width:38ch; margin-bottom:clamp(3rem,5vw,5rem); }
.home-refined .intro { display:none; }
html.intro-lock .home-refined .intro { display:block; }
.home-refined .sign__row, .home-refined .sign__by { opacity:1; transform:none; }
html.js .home-refined .sign:not(.is-full) .sign__row,
html.js .home-refined .sign:not(.is-full) .sign__by { opacity:0; }
@media(prefers-reduced-motion:reduce) {
  html.js .home-refined .sign:not(.is-full) .sign__row,
  html.js .home-refined .sign:not(.is-full) .sign__by { opacity:1; }
}
.home-guides-body > * + * { margin-top:1.5rem; }
.home-guides-body .t-h2 { max-width:18ch; }
.home-guides-body .t-body { max-width:54ch; }

.home-services-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem 2rem; margin-top:3rem; }

/* The opening stays a quiet composition of name and professions. */
.home-refined .home-position { gap:1.5rem; }
.home-refined .home-position .home-roles { display:grid; width:100%; gap:0; }
.home-refined .home-position .home-role {
  grid-area:1 / 1; width:100%; max-width:none; margin:0;
  line-height:1.45; color:var(--fg-muted); opacity:0; visibility:hidden;
}
.home-refined .home-position .home-role:is(.is-current,.is-leaving) { visibility:visible; }
.home-refined .home-position .home-role.is-current { opacity:1; }
.home-refined .topbar .wordmark { transition:opacity 520ms cubic-bezier(.4,0,.2,1); }
.home-refined .topbar.is-home-top .wordmark { opacity:0; visibility:hidden; pointer-events:none; transition:none; }
/* After first paint the name leaves the header smoothly on the way back to the top. */
.home-refined .topbar.is-home-live.is-home-top .wordmark { transition:opacity 520ms cubic-bezier(.4,0,.2,1), visibility 0s linear 520ms; }

@media(prefers-reduced-motion:reduce) {
  .home-refined .topbar .wordmark,.home-refined .topbar.is-home-live.is-home-top .wordmark { transition:none; }
}

/* Кнопка у имени (решение клиента 11.11.2026). Во время визитки скрыта,
   чтобы первые секунды оставались за именем и ролями; без JS и при
   reduced motion видна сразу. */
.home-hero-actions { margin-top:2.5rem; }
.home-refined .home-hero-actions .consultation-cta { transition:background-color 160ms ease-out,color 160ms ease-out,opacity 600ms cubic-bezier(.23,1,.32,1); }
html.home-intro-playing .home-hero-actions .consultation-cta { opacity:0; visibility:hidden; }

/* Три проекта в ряд мелкими карточками — клиент просил
   «сделать мелким, чтобы не акцентировать внимание» (11.11.2026).
   С 700 px (как остальные двухколоночные блоки); на телефоне — листалка. */
@media(min-width:700px) {
  .home-projects.is-preview-ready .home-project-frame,
  .home-project-frame { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--grid-gap); }
  .home-project-card[hidden] { display:block; }
  .home-projects .project-preview-controls { display:none; }
  .home-project-card figure { aspect-ratio:3 / 2; }
  .home-project-caption { margin-top:1rem; min-height:0; }
  .home-project-title { font-size:1.25rem; line-height:1.35; }
  .home-project-specs { margin-top:.35rem; }
  .home-project-card img { transition:transform var(--duration-slow) var(--ease); }
  .home-project-card:hover img { transform:scale(1.02); }
}
@media(min-width:700px) and (prefers-reduced-motion:reduce) {
  .home-project-card img { transition:none; }
  .home-project-card:hover img { transform:none; }
}

/* «С чем ко мне обращаются» — заголовок того же размера, что «Проекты»:
   раньше он совпадал по кеглю с пунктами под ним и не читался как заголовок. */
.home-refined .home-services .band-label {
  font-family:var(--font-display); font-size:var(--text-h2); line-height:var(--leading-snug);
  letter-spacing:var(--tracking-tight); text-transform:none; color:var(--fg); max-width:14ch;
}
