/* ============================================================
   Анжелика Качковская — Agent Garden Moscow
   Фирменный стиль: Champagne Beige / Deep Ink Blue / Copper Clay.
   Заголовки — Georgia, текст — Times New Roman, цитаты — курсив.
   ============================================================ */

:root{
  --paper:   #EFE4D6;   /* 65% Champagne Beige — основной фон */
  --cream:   #F6EFE4;   /* светлые карточки */
  --sand:    #E7D9C6;   /* плашки */
  --ink:     #001A33;   /* Deep Ink Blue (как в фирменном логотипе/подвале) — заголовки, тёмные блоки, структура */
  --ink-2:   #2A3345;   /* основной текст на бежевом */
  --muted:   #5E6679;   /* второстепенный текст */
  --line:    #DAC9B3;   /* тонкие линии на бежевом */
  --clay:    #B96A3C;   /* 5% Copper Clay — акценты, линии */
  --arrow:   #E67E50;   /* стрелки, иконки, мелкие детали */
  --gold:    #C49A5A;   /* золото логотипа — акценты на тёмном */
  --on-ink:  #F2E7D8;   /* текст на тёмно-синем */
  --on-ink-2:#AAB3C2;   /* muted на тёмно-синем */
  --line-dk: rgba(196,154,90,.30);

  --maxw: 1180px;
  --gut: clamp(20px, 5vw, 64px);

  --f-head: "Playfair Display", Georgia, "Times New Roman", serif;
  --f-body: "PT Serif", Georgia, "Times New Roman", serif;

  --r: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--f-body);
  font-size:18.5px;
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  position:relative;
  /* подвал — конец страницы на любой высоте экрана: короткая страница не оставляет фон ниже подвала */
  min-height:100vh; display:flex; flex-direction:column;
}
body > main{ flex:1 0 auto; }
body > .site-foot{ flex-shrink:0; }
/* Фоновая фактура (pattern 2) — тонкая, на всё полотно */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:var(--paper) url(../img/bg-pattern.jpg) center center / cover no-repeat;
}

.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gut); }
img{ max-width:100%; display:block; }
a{ color:inherit; }

/* ---------- Typography ---------- */
h1,h2,h3{ font-family:var(--f-head); font-weight:400; line-height:1.12; margin:0; letter-spacing:.002em; overflow-wrap:break-word; color:var(--ink); }
h1{ font-size:clamp(2.2rem, 4.8vw, 3.9rem); line-height:1.06; }
h2{ font-size:clamp(1.7rem, 3.2vw, 2.6rem); }
h3{ font-size:clamp(1.2rem, 1.9vw, 1.5rem); }
p{ margin:0 0 1em; }
p:last-child{ margin-bottom:0; }

.eyebrow{
  font-family:var(--f-head);
  font-size:.74rem; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--clay);
  display:flex; align-items:center; gap:.85em;
  margin:0 0 1.2rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--clay); flex:0 0 auto; }
.eyebrow.light{ color:var(--gold); }
.eyebrow.light::before{ background:var(--gold); }
.eyebrow .idx{ color:var(--arrow); font-style:normal; }

.skip-link{ position:absolute; left:-999px; top:0; z-index:200; background:var(--ink); color:var(--on-ink); padding:.7em 1.2em; border-radius:var(--r); }
.skip-link:focus{ left:12px; top:12px; }

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--arrow); --fg:#fff; --bd:var(--arrow);   /* кнопки — #E67E50 (по ТЗ) */
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--f-head); font-size:.96rem; letter-spacing:.03em;
  padding:.92em 1.7em; border-radius:var(--r);
  background:var(--bg); color:var(--fg); border:1px solid var(--bd);
  text-decoration:none; cursor:pointer;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(0,26,51,.5); }
.btn:active{ transform:translateY(0); }
.btn-primary{ --bg:var(--arrow); --fg:#fff; --bd:var(--arrow); }
.btn-primary:hover{ background:#d8673f; border-color:#d8673f; }
.btn-ghost{ --bg:var(--ink); --fg:var(--on-ink); --bd:var(--ink); }
.btn-ghost:hover{ background:#0a2846; border-color:#0a2846; }
.btn-navy{ --bg:var(--ink); --fg:var(--on-ink); --bd:var(--ink); }
.btn-navy:hover{ background:#0a2846; border-color:#0a2846; }
.btn-sm{ padding:.62em 1.15em; font-size:.88rem; }
.btn-wide{ width:100%; padding:1.05em; }
.btn .ar{ color:#fff; transition:transform .25s var(--ease); }
.btn:hover .ar{ transform:translateX(4px); }

.link-arrow{
  font-family:var(--f-head); color:var(--ink); text-decoration:none;
  display:inline-flex; align-items:center; gap:.5em;
  border-bottom:1px solid var(--line); padding-bottom:3px; letter-spacing:.01em;
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.link-arrow .ar{ color:var(--arrow); transition:transform .2s var(--ease); }
.link-arrow:hover{ color:var(--clay); border-color:var(--clay); }
.link-arrow:hover .ar{ transform:translateX(4px); }

/* ---------- Corner accents (тонкие детали) ---------- */
.framed, .task-card, .land-card{ position:relative; }
.tick{ position:absolute; width:12px; height:12px; pointer-events:none; opacity:.9; transition:all .35s var(--ease); }
.tick.tl{ top:10px; left:10px; border-top:1px solid var(--clay); border-left:1px solid var(--clay); }
.tick.tr{ top:10px; right:10px; border-top:1px solid var(--clay); border-right:1px solid var(--clay); }
.tick.bl{ bottom:10px; left:10px; border-bottom:1px solid var(--clay); border-left:1px solid var(--clay); }
.tick.br{ bottom:10px; right:10px; border-bottom:1px solid var(--clay); border-right:1px solid var(--clay); }

/* ---------- Header ---------- */
.site-head{
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.1) blur(10px);
  border-bottom:1px solid var(--line);
}
.head-inner{ display:flex; align-items:center; gap:1.4rem; min-height:86px; }
.brand{ text-decoration:none; display:flex; align-items:center; margin-right:auto; flex:0 0 auto; }
.brand-logo{ height:72px; width:auto; flex:0 0 auto; border-radius:10px; display:block; }
.nav{ display:flex; gap:1.4rem; }
.nav a{ text-decoration:none; font-family:var(--f-head); font-size:.92rem; color:var(--ink-2); position:relative; padding:.2em 0; transition:color .2s; white-space:nowrap; }
.nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1px; background:var(--clay); transition:right .25s var(--ease); }
.nav a:hover{ color:var(--ink); }
.nav a:hover::after{ right:0; }
.head-contact{ display:flex; align-items:center; gap:1.1rem; margin-left:.3rem; flex:0 0 auto; }
.head-phone{ text-decoration:none; font-family:var(--f-head); font-size:.98rem; color:var(--ink); white-space:nowrap; letter-spacing:.01em; transition:color .2s; }
.head-phone:hover{ color:var(--clay); }
.head-cta{ flex:0 0 auto; }
.mobile-contact{ display:flex; gap:.6rem; margin-top:1.2rem; }
.mobile-contact .btn{ flex:1; justify-content:center; }

.burger{ display:flex; width:44px; height:44px; border:1px solid var(--line); border-radius:var(--r); background:var(--cream); cursor:pointer; padding:0; flex-direction:column; gap:4px; align-items:center; justify-content:center; flex:0 0 auto; transition:border-color .2s var(--ease); }
.burger:hover{ border-color:var(--clay); }
.burger span{ width:18px; height:1.4px; background:var(--ink); transition:.25s var(--ease); }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(5.4px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5.4px) rotate(-45deg); }

.mobile-nav{ position:absolute; top:calc(100% + 10px); right:max(var(--gut), calc((100vw - var(--maxw)) / 2 + var(--gut))); z-index:120;
  width:min(520px, calc(100vw - 2*var(--gut)));
  padding:1.7rem 1.9rem 1.6rem;
  border:1px solid var(--line); border-radius:var(--r); background:var(--cream);
  box-shadow:0 30px 70px -28px rgba(23,43,73,.55); }
.mobile-nav::before{ content:"МЕНЮ"; display:block; font-family:var(--f-head); font-size:.72rem; letter-spacing:.22em; color:var(--clay); padding-bottom:1rem; margin-bottom:.4rem; border-bottom:1px solid var(--line); }
.menu-links{ display:grid; grid-template-columns:1fr 1fr; column-gap:2.6rem; }
.menu-links a{ text-decoration:none; font-family:var(--f-head); color:var(--ink-2); font-size:1.04rem;
  padding:.72em 0; border-bottom:1px solid var(--line); position:relative; transform-origin:left center;
  transition:color .2s var(--ease), transform .2s var(--ease); }
.menu-links a:hover{ color:var(--clay); transform:translateX(.4rem); }
.menu-links a[aria-current="page"]{ color:var(--clay); }
.mobile-nav[hidden]{ display:none; }
@media (max-width:620px){
  .mobile-nav{ right:0; left:0; width:auto; border-radius:0; border-left:none; border-right:none; box-shadow:0 20px 40px -24px rgba(23,43,73,.5); }
  .menu-links{ grid-template-columns:1fr; column-gap:0; }
}

/* ---------- Sections ---------- */
.section{ padding-block:clamp(60px, 8.5vw, 112px); border-top:1px solid var(--line); }
.sec-head{ max-width:780px; margin-bottom:clamp(2.1rem,4vw,3.4rem); }
.sec-head h2{ margin-top:.1em; }
.sec-sub{ margin-top:1rem; color:var(--ink-2); font-size:1.08rem; }

/* ---------- Gold texture flourish (из фирменного шаблона) ---------- */
.brand-flourish{ position:absolute; pointer-events:none; z-index:0; }
.brand-flourish img{ width:100%; display:block; mix-blend-mode:multiply; opacity:.9;
  -webkit-mask-image:radial-gradient(135% 135% at 86% 16%, #000 40%, transparent 76%);
          mask-image:radial-gradient(135% 135% at 86% 16%, #000 40%, transparent 76%); }

/* ---------- Hero ---------- */
.hero{ padding-top:clamp(42px,6vw,82px); padding-bottom:0; position:relative; overflow:hidden; }
.hero > .wrap{ position:relative; z-index:1; }
.hero .brand-flourish{ top:-60px; right:-70px; width:clamp(360px,46vw,660px); transform:rotate(-6deg); }
.hero .brand-flourish img{ opacity:.82; }
/* same flourish, echoed softly into other light sections (corner variants) */
.has-flourish{ position:relative; overflow:hidden; }
.has-flourish > .wrap{ position:relative; z-index:1; }
.has-flourish .brand-flourish{ width:clamp(260px,33vw,500px); }
.has-flourish .brand-flourish img{ opacity:.5; }
.brand-flourish.fl-tr{ top:-46px; right:-72px; transform:rotate(-6deg); }
.brand-flourish.fl-bl{ bottom:-54px; left:-78px; transform:rotate(5deg); }
.brand-flourish.fl-br{ bottom:-54px; right:-72px; transform:rotate(-5deg); }
.brand-flourish.fl-bl img{ -webkit-mask-image:radial-gradient(135% 135% at 16% 84%, #000 40%, transparent 76%);
          mask-image:radial-gradient(135% 135% at 16% 84%, #000 40%, transparent 76%); }
.brand-flourish.fl-br img{ -webkit-mask-image:radial-gradient(135% 135% at 84% 84%, #000 40%, transparent 76%);
          mask-image:radial-gradient(135% 135% at 84% 84%, #000 40%, transparent 76%); }
.hero-grid{ display:grid; grid-template-columns:1.22fr .9fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero h1{ margin:.15em 0 .55rem; }
.accent-line{ display:block; font-family:var(--f-body); font-style:italic; color:var(--clay); text-wrap:balance; }
.hero-name{ font-family:var(--f-head); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 1.5rem; display:flex; align-items:center; gap:.6em; }
.hero-name::before{ content:""; width:26px; height:1px; background:var(--clay); display:inline-block; }
.lead{ font-size:1.2rem; color:var(--ink-2); max-width:44ch; }
.lead-2{ font-size:1.05rem; color:var(--muted); }
.hero-cta{ display:flex; gap:.9rem; flex-wrap:wrap; margin:2rem 0 1.7rem; }
.credline{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; font-family:var(--f-head); font-size:.9rem; color:var(--muted); }
.credline li{ position:relative; padding-left:1.1em; }
.credline li::before{ content:""; position:absolute; left:0; top:.62em; width:5px; height:5px; background:var(--clay); border-radius:50%; }

.hero-portrait{ margin:0; }
/* Портрет без рамки — края растворяются в фоне (мягкий градиент) */
.hero-portrait .framed{ border:none; background:none; box-shadow:none; border-radius:0; overflow:visible; }
.hero-portrait img{
  width:100%; height:clamp(400px, 46vw, 560px); object-fit:cover; object-position:50% 16%; display:block;
  -webkit-mask-image:
     linear-gradient(to right,  transparent 0, #000 14%, #000 86%, transparent 100%),
     linear-gradient(to bottom, transparent 0, #000 11%, #000 82%, transparent 100%);
  -webkit-mask-composite:source-in; -webkit-mask-repeat:no-repeat;
  mask-image:
     linear-gradient(to right,  transparent 0, #000 14%, #000 86%, transparent 100%),
     linear-gradient(to bottom, transparent 0, #000 11%, #000 82%, transparent 100%);
  mask-composite:intersect; mask-repeat:no-repeat;
}
.hero-portrait figcaption{ margin-top:1rem; font-family:var(--f-body); font-size:1.38rem; line-height:1.32; color:var(--muted); font-style:italic; text-wrap:balance; max-width:36ch; }

.region-strip{ margin-top:clamp(2.6rem,5vw,4rem); padding:1.2rem 0; border-top:1px solid var(--line);
  display:flex; gap:1rem; align-items:center; flex-wrap:wrap;
  font-family:var(--f-head); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.region-strip .sep{ color:var(--clay); }

/* ---------- Circle icons (как в фирменном шаблоне) ---------- */
.circ{ width:52px; height:52px; border-radius:50%; background:var(--ink); color:var(--gold);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.circ svg{ width:24px; height:24px; stroke:currentColor; stroke-width:1.4; fill:none; }

/* ---------- 2. Tasks ---------- */
.task-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; }
.task-card{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r);
  padding:1.9rem 1.7rem 1.6rem; text-decoration:none; color:inherit;
  display:flex; flex-direction:column; gap:.8rem; min-height:100%;
  transition:border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease); }
.task-card .tick{ opacity:0; }
.task-card .circ{ margin-bottom:.2rem; }
.task-card h3{ padding-right:1rem; }
.task-card p{ color:var(--ink-2); font-size:1.02rem; flex:1; }
.task-go{ font-family:var(--f-head); font-size:.92rem; color:var(--clay); margin-top:.3rem; display:inline-flex; align-items:center; gap:.5em; transition:color .25s; }
.task-go .ar{ color:var(--arrow); transition:transform .25s var(--ease); }
.task-card:hover{ transform:translateY(-3px); border-color:var(--clay); box-shadow:0 22px 46px -32px rgba(23,43,73,.5); }
.task-card:hover .tick{ opacity:.9; }
.task-card:hover .task-go{ color:var(--ink); }
.task-card:hover .task-go .ar{ transform:translateX(4px); }

/* ---------- text sections ---------- */
.about-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.about-body p{ font-size:1.12rem; color:var(--ink-2); }
.about-note{ font-family:var(--f-body); font-size:1.3rem; font-style:italic; color:var(--ink); border-left:2px solid var(--clay); padding-left:1.15rem; margin-top:1.5rem; }
#obo-mne .about-note{ font-family:var(--f-head); font-style:normal; color:var(--clay); font-size:clamp(1.32rem,2.3vw,1.72rem); line-height:1.32; }
.about-body .btn, .buyers-intro .btn, .abroad-main .btn{ margin-top:1.8rem; }

/* ---------- Cinematic quote band (brand) ---------- */
.cinematic{ position:relative; border-top:none; color:var(--on-ink); isolation:isolate; overflow:hidden;
  padding-block:clamp(84px,13vw,170px); }
.cinematic .cine-bg{ position:absolute; inset:0; z-index:-2; }
.cinematic .cine-bg img{ width:100%; height:100%; object-fit:cover; }
.cinematic::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(14,24,42,.72), rgba(14,24,42,.82)); }
.cine-inner{ max-width:900px; margin:0 auto; text-align:center; }
.cine-inner .eyebrow{ justify-content:center; color:var(--gold); }
.cine-inner .eyebrow::before{ background:var(--gold); }
.cine-quote{ font-family:var(--f-body); font-style:italic; font-weight:400;
  font-size:clamp(1.7rem,3.8vw,2.9rem); line-height:1.24; color:#fff; margin:0 0 1.6rem; text-wrap:balance; }
.cine-sub{ color:var(--on-ink-2); font-size:1.08rem; max-width:62ch; margin:0 auto; }

/* ---------- 4. Buyers ---------- */
.buyers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; }
.buyers-intro p{ font-size:1.12rem; color:var(--ink-2); }
.worklist{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:1.9rem 1.8rem; }
.worklist-h{ font-family:var(--f-head); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--clay); margin-bottom:1.2rem; }
.checks{ list-style:none; margin:0 0 1.3rem; padding:0; display:flex; flex-direction:column; gap:.75rem; }
.checks li{ position:relative; padding-left:1.9rem; color:var(--ink-2); font-size:1.02rem; }
.checks li::before{ content:""; position:absolute; left:0; top:.4em; width:11px; height:7px;
  border-left:1.5px solid var(--clay); border-bottom:1.5px solid var(--clay); transform:rotate(-45deg); }
.worklist-foot{ font-size:.96rem; color:var(--muted); border-top:1px solid var(--line); padding-top:1.2rem; }

/* ---------- 5. Land (dark) ---------- */
.land{ background:var(--ink); color:var(--on-ink); border-top:none; }
.land h2{ color:var(--on-ink); }
.land-grid{ display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.land-figure{ margin:0 0 1.8rem; border:1px solid var(--line-dk); border-radius:14px; overflow:hidden; box-shadow:0 26px 54px -34px rgba(0,0,0,.5); }
.land-figure img{ width:100%; height:260px; object-fit:cover; }
.land-text p{ color:var(--on-ink-2); font-size:1.08rem; }
.land-sub{ color:var(--on-ink); margin-top:1.4rem; }
.checks-light li{ color:var(--on-ink-2); }
.checks-light li::before{ border-color:var(--gold); }
.land-card{ background:rgba(255,255,255,.04); border:1px solid var(--line-dk); border-radius:var(--r); padding:2rem 1.8rem; }
.land-card .tick{ border-color:var(--gold); }
.land-card .circ{ background:rgba(196,154,90,.14); color:var(--gold); margin-bottom:1rem; }
.land-card-label{ font-family:var(--f-head); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.7rem; }
.land-card h3{ color:var(--on-ink); margin-bottom:.8rem; }
.land-card p{ color:var(--on-ink-2); font-size:1rem; }
.land-card .btn{ margin-top:1.5rem; }

/* ---------- 7. Abroad ---------- */
.abroad-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; }
.abroad-main p{ font-size:1.12rem; color:var(--ink-2); }
.abroad-side{ background:var(--sand); border:1px solid var(--line); border-radius:var(--r); padding:1.9rem 1.8rem; }
.abroad-side h3{ margin-bottom:.9rem; }
.abroad-side p{ font-size:1rem; color:var(--ink-2); }

/* ---------- 8. Other ---------- */
.other-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.other-card{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:1.9rem 1.8rem; }
.other-card h3{ margin-bottom:.7rem; }
.other-card p{ color:var(--ink-2); font-size:1rem; margin-bottom:1.2rem; }
.other-note{ margin-top:1.7rem; font-family:var(--f-body); font-size:1.02rem; color:var(--muted); font-style:italic; }

/* ---------- 9. Geo ---------- */
.geo-inner{ background:var(--sand); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.9rem,4vw,3.2rem); }
.geo-cols{ display:grid; grid-template-columns:1fr 1fr; gap:2.6rem; margin-top:1.7rem; }
.geo-label{ font-family:var(--f-head); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); margin-bottom:1rem; }
.geo-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.geo-list li{ font-family:var(--f-head); font-size:1.2rem; color:var(--ink); position:relative; padding-left:1.4rem; }
.geo-list li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; background:var(--clay); border-radius:50%; }

/* ---------- 10. Formats ---------- */
.format-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.format-card{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:1.9rem 1.7rem; }
.format-no{ font-family:var(--f-head); font-size:1.7rem; color:var(--clay); display:block; margin-bottom:.6rem; border-bottom:1px solid var(--line); padding-bottom:.7rem; }
.format-card h3{ margin-bottom:.7rem; }
.format-card p{ color:var(--ink-2); font-size:1rem; }
.cost-note{ margin-top:1.7rem; background:var(--sand); border:1px solid var(--line); border-radius:var(--r); padding:2rem 1.9rem; max-width:780px; }
.cost-h{ font-family:var(--f-head); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--clay); margin-bottom:.9rem; }
.cost-note p{ color:var(--ink-2); }
.cost-note .btn{ margin-top:1.4rem; }

/* ---------- 11. Process — колонки с кругами (как в фирменном шаблоне) ---------- */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(1.2rem,2.4vw,2rem); }
.steps .step{ display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; position:relative; }
.steps .step .circ{ width:64px; height:64px; margin-bottom:.5rem; }
.steps .step .circ svg{ width:28px; height:28px; }
.steps .step-no{ font-family:var(--f-head); font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); }
.steps .step h3{ font-size:1.16rem; margin:0; }
.steps .step p{ color:var(--ink-2); font-size:.96rem; margin:0; }
.steps .step-ar{ color:var(--arrow); font-size:1.35rem; line-height:1; margin-top:.35rem; }
/* тонкая направляющая между шагами */
.steps .step:not(:last-child)::after{ content:""; position:absolute; top:31px; right:calc(-1 * clamp(1.2rem,2.4vw,2rem) / 2); width:6px; height:6px; border-top:1.5px solid var(--line); border-right:1.5px solid var(--line); transform:rotate(45deg); }

/* ---------- 12. FAQ ---------- */
.faq-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; }
.faq-list details{ border-bottom:1px solid var(--line); padding:.3rem 0; }
.faq-list details:first-child{ border-top:1px solid var(--line); }
.faq-list summary{ cursor:pointer; list-style:none; padding:1.2rem 2.2rem 1.2rem 0; position:relative;
  font-family:var(--f-head); font-size:1.22rem; color:var(--ink); transition:color .2s; }
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list summary::after{ content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-family:var(--f-head); font-size:1.5rem; color:var(--clay); transition:transform .3s var(--ease); }
.faq-list details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.faq-list summary:hover{ color:var(--clay); }
.faq-list details p{ color:var(--ink-2); font-size:1.05rem; padding:0 1rem 1.3rem 0; margin:0; }

/* ---------- 13. Apply (dark) ---------- */
.apply{ border-top:1px solid var(--line); }
.apply-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,4.5rem); align-items:start; }
.apply-sub{ color:var(--ink-2); font-size:1.1rem; margin-top:1rem; max-width:44ch; }
.apply-reassure{ list-style:none; margin:1.9rem 0 0; padding:0; display:flex; flex-direction:column; gap:.75rem; }
.apply-reassure li{ position:relative; padding-left:1.8rem; color:var(--ink-2); font-size:1rem; }
.apply-reassure li::before{ content:""; position:absolute; left:0; top:.36em; width:11px; height:7px; border-left:1.5px solid var(--clay); border-bottom:1.5px solid var(--clay); transform:rotate(-45deg); }

.apply-form{ background:rgba(255,255,255,.035); border:1px solid var(--line-dk); border-radius:var(--r); padding:clamp(1.6rem,3vw,2.3rem); }
.field{ margin-bottom:1.15rem; }
.field label{ display:block; font-family:var(--f-head); font-size:.9rem; color:var(--on-ink); margin-bottom:.5rem; }
.field .opt{ color:var(--on-ink-2); font-size:.82em; }
.field input, .field textarea, .field select{ width:100%; font-family:var(--f-body); font-size:1.02rem; color:var(--on-ink);
  background:rgba(255,255,255,.03); border:1px solid var(--line-dk); border-radius:var(--r); padding:.82em .9em; transition:border-color .2s, background .2s; }
.field textarea{ resize:vertical; }
.field input::placeholder, .field textarea::placeholder{ color:var(--on-ink-2); opacity:.6; }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--gold); background:rgba(255,255,255,.06); }
.field.two{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:0; }
.select-wrap{ position:relative; }
.select-wrap::after{ content:""; position:absolute; right:1rem; top:50%; width:8px; height:8px; border-right:1.5px solid var(--on-ink-2); border-bottom:1.5px solid var(--on-ink-2); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.field select{ appearance:none; cursor:pointer; }
.field select option{ color:#172B49; }
.more-fields{ margin-bottom:1.15rem; }
.more-fields summary{ cursor:pointer; font-family:var(--f-head); font-size:.92rem; color:var(--gold); padding:.3rem 0 .9rem; list-style:none; }
.more-fields summary::-webkit-details-marker{ display:none; }
.more-fields summary::before{ content:"+ "; }
.more-fields[open] summary::before{ content:"– "; }
.consent{ display:flex; gap:.7rem; align-items:flex-start; margin-bottom:1.3rem; font-size:.9rem; color:var(--on-ink-2); line-height:1.45; }
.consent input{ margin-top:.2em; accent-color:var(--clay); flex:0 0 auto; width:16px; height:16px; }
.consent a{ color:var(--gold); }
.form-status{ margin-top:1rem; font-size:1rem; padding:.9em 1em; border-radius:var(--r); }
.form-status.ok{ background:rgba(196,154,90,.16); border:1px solid var(--gold); color:#F0E2CC; }
.form-status.err{ background:rgba(230,126,80,.16); border:1px solid var(--arrow); color:#F4D2C2; }

/* ---------- Footer (deep ink-blue bottom bar) ---------- */
.site-foot{ background:var(--ink); color:var(--on-ink); border-top:none; padding-top:clamp(3rem,6vw,4.6rem); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:2.6rem; padding-bottom:2.6rem; align-items:start; }
.foot-logo{ height:116px; width:auto; margin-bottom:1rem; border-radius:10px; }
.foot-name{ font-family:var(--f-head); font-size:1.3rem; color:var(--on-ink); margin-bottom:.35rem; }
.foot-role{ color:var(--on-ink-2); font-size:1rem; margin-bottom:.8rem; }
.foot-geo{ font-size:.9rem; color:var(--on-ink-2); }
/* ---------- Mini-landing blocks (subpages) ---------- */
.flow{ margin:.4rem 0 0; padding:0; }
.flow li{ list-style:none; display:grid; grid-template-columns:auto 1fr; gap:1.4rem; padding:1.5rem 0; border-top:1px solid var(--line); align-items:start; }
.flow li:last-child{ border-bottom:1px solid var(--line); }
.flow .n{ font-family:var(--f-head); font-size:1.5rem; color:var(--clay); line-height:1.05; min-width:2.2ch; }
.flow h3{ font-size:1.18rem; margin:0 0 .4rem; }
.flow p{ color:var(--ink-2); font-size:1rem; margin:0; max-width:66ch; }
.card-plain{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:1.8rem 1.7rem; }
.card-plain h3{ margin-bottom:.6rem; font-size:1.18rem; }
.card-plain p{ color:var(--ink-2); font-size:1rem; margin:0; }
.card-plain .card-tag{ font-family:var(--f-head); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); display:block; margin-bottom:.9rem; }
.page-cta{ background:var(--sand); border:1px solid var(--line); border-radius:var(--r); padding:clamp(2.3rem,4.8vw,3.6rem); text-align:center; }
.page-cta h2{ margin-bottom:.9rem; }
.page-cta .pc-sub{ color:var(--ink-2); max-width:56ch; margin:0 auto 1.8rem; font-size:1.08rem; }
.cta-row{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.cta-row .btn{ margin:0; }
.page-cta .apply-or{ color:var(--muted); }
.page-cta .apply-or a{ color:var(--ink); border-color:var(--line); }
.page-cta .apply-or a:hover{ color:var(--clay); border-color:var(--clay); }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* ---------- Scheme: exact image, horizontal on desktop / vertical on narrow ---------- */
.scheme-pic{ display:block; margin:1.8rem 0 0; }
.scheme-pic img{ width:100%; height:auto; display:block; border-radius:var(--r);
  border:1px solid var(--line); box-shadow:0 22px 50px -32px rgba(0,26,51,.42); }
/* ---------- Scheme: native responsive process diagram (all viewports) ---------- */
.scheme{ list-style:none; margin:2.2rem 0 0; padding:0; display:flex; gap:clamp(10px,1.6vw,22px);
  position:relative; --c:clamp(104px,12.5vw,152px); }
.scheme.c3{ --n:3; } .scheme.c5{ --n:5; } .scheme.c6{ --n:6; }
/* dashed connector running between the circle centres, behind the photos */
.scheme::before{ content:""; position:absolute; z-index:0; top:calc(var(--c)/2); height:2px;
  left:calc(50% / var(--n)); right:calc(50% / var(--n));
  background:repeating-linear-gradient(90deg, var(--clay) 0 7px, transparent 7px 15px); opacity:.45; }
.scheme > li{ flex:1 1 0; min-width:0; position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; text-align:center; }
.scheme figure{ position:relative; margin:0; width:var(--c); height:var(--c); }
.scheme figure img{ width:100%; height:100%; object-fit:cover; border-radius:50%;
  border:5px solid var(--cream); box-shadow:0 0 0 1px var(--line), 0 14px 30px -18px rgba(0,26,51,.55); display:block; }
.scheme .num{ position:absolute; z-index:2; top:-4px; left:-4px;
  width:clamp(34px,3.4vw,42px); height:clamp(34px,3.4vw,42px); border-radius:50%;
  background:var(--arrow); color:#fff; font-family:var(--f-head); font-size:clamp(.92rem,1.2vw,1.08rem);
  font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1,"onum" 0; letter-spacing:.01em;
  display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 3px var(--paper); }
.scheme h3{ font-size:clamp(1.08rem,1.35vw,1.3rem); margin:1.15rem 0 0; line-height:1.2; }
.scheme h3::after{ content:""; display:block; width:38px; height:2px; background:var(--clay); border-radius:2px; margin:.7rem auto .85rem; }
.scheme p{ color:var(--ink-2); font-size:clamp(.92rem,1vw,1.02rem); line-height:1.5; margin:0; max-width:34ch; }
/* tablet: let the row wrap to a tidy grid rather than squeeze */
@media (max-width:860px){
  .scheme{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem clamp(12px,3vw,24px); --c:clamp(100px,22vw,140px); }
  .scheme::before{ display:none; }
}
/* phone: two columns ("two levels") */
@media (max-width:620px){
  .scheme{ grid-template-columns:1fr 1fr; gap:2rem 1.1rem; --c:clamp(92px,30vw,128px); }
  .scheme h3{ font-size:1.06rem; }
  .scheme p{ font-size:.92rem; max-width:30ch; }
  /* a lone last item centres across both columns */
  .scheme > li:last-child:nth-child(odd){ grid-column:1 / -1; }
}
@media (max-width:380px){
  .scheme p{ font-size:.86rem; }
}

.foot-tagline-band{ text-align:center; padding:clamp(2.6rem,5.5vw,4.2rem) 0; border-top:1px solid var(--line-dk); }
.foot-tagline{ font-family:var(--f-body); font-style:italic; font-size:clamp(1.8rem,4.6vw,3rem); line-height:1.22; color:var(--gold); margin:0; text-wrap:balance; }
.foot-label{ font-family:var(--f-head); font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; }
.contact-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; }
.contact-list a{ color:var(--on-ink); text-decoration:none; font-size:1.02rem; display:inline-flex; align-items:center; gap:.6em; transition:color .2s; }
.contact-list a:hover{ color:var(--gold); }
.contact-list a{ align-items:baseline; }
.contact-list .ckind{ font-family:var(--f-head); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--on-ink-2); width:148px; flex:0 0 auto; }
.foot-cta{ display:flex; flex-direction:column; gap:.7rem; align-items:flex-start; }
.foot-cta .btn{ width:100%; justify-content:center; }
.btn-tg{ --bg:var(--ink); --fg:var(--on-ink); --bd:var(--ink); }
.btn-tg:hover{ background:#0a2846; border-color:#0a2846; }
.foot-bottom{ border-top:1px solid var(--line-dk); padding-top:1.5rem; padding-bottom:2.2rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-family:var(--f-head); font-size:.82rem; color:var(--on-ink-2); }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .btn:hover,.task-card:hover{ transform:none; }
}
:focus-visible{ outline:2px solid var(--clay); outline-offset:3px; border-radius:2px; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .nav, .head-phone{ display:none; }
  .head-contact{ margin-right:.2rem; }
  .burger{ display:flex; }
  .hero-grid{ grid-template-columns:1fr; gap:1.8rem; }
  /* текст ведёт, фото под ним (как у сильных персональных сайтов) */
  .hero-portrait{ max-width:none; }
  .hero-portrait img{ height:auto; aspect-ratio:5/4; max-height:440px; object-position:50% 24%; }
  .about-grid, .buyers-grid, .land-grid, .abroad-grid, .faq-grid, .apply-grid, .geo-cols{ grid-template-columns:1fr; }
  .format-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(3,1fr); }
  .steps .step::after{ display:none; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .hero-copy, .hero-grid > *, .about-grid > *, .buyers-grid > *, .land-grid > *, .abroad-grid > *, .apply-grid > *{ min-width:0; }
}
@media (max-width:620px){
  body{ font-size:17px; }
  .brand-sub{ display:none; }
  .head-inner{ gap:1rem; min-height:72px; }
  .brand-logo{ height:52px; }
  .eyebrow{ font-size:.66rem; letter-spacing:.13em; gap:.6em; }
  .eyebrow::before{ width:18px; }
  .btn{ white-space:normal; text-align:center; }
  /* HERO: текст ведёт, кнопки на всю ширину над фото */
  .hero{ padding-top:22px; }
  .hero h1{ font-size:clamp(1.75rem,7.6vw,2.2rem); margin-bottom:.4rem; }
  .hero-name{ font-size:.74rem; letter-spacing:.1em; margin-bottom:1.1rem; }
  .lead{ font-size:1.08rem; }
  .lead-2{ font-size:1rem; }
  .hero-cta{ flex-direction:column; align-items:stretch; gap:.7rem; margin:1.6rem 0 1.4rem; }
  .hero-cta .btn{ width:100%; }
  .hero-portrait{ margin-top:.4rem; }
  .cine-quote{ font-size:clamp(1.5rem,6.6vw,2rem); }
  .section{ padding-block:clamp(48px,11vw,80px); }
  .hero .brand-flourish{ width:260px; top:-34px; right:-40px; }
  .task-grid, .other-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; gap:2rem; }
  .field.two{ grid-template-columns:1fr; gap:0; }
  .field.two > div:first-child{ margin-bottom:1.15rem; }
  .steps{ grid-template-columns:1fr 1fr; gap:1.6rem 1.2rem; }
  .foot-bottom{ flex-direction:column; gap:.6rem; }
}
@media (max-width:400px){
  :root{ --gut:18px; }
  .hero h1{ font-size:clamp(1.6rem, 7.8vw, 2rem); }
}

/* ---------- Другие направления: фото Москвы ---------- */
.other-figure{ margin:0 0 clamp(1.8rem,3.5vw,2.6rem); border-radius:var(--r); overflow:hidden; border:1px solid var(--line); line-height:0; }
.other-figure img{ width:100%; height:clamp(220px,34vw,400px); object-fit:cover; display:block; }

/* ---------- Проверка недвижимости ---------- */
.prov-lead{ max-width:820px; margin-bottom:clamp(2.2rem,4vw,3.2rem); }
.prov-lead p{ color:var(--ink-2); font-size:1.1rem; margin-bottom:1rem; }
.prov-lead p:last-child{ margin-bottom:0; }
.prov-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
.prov-col{ position:relative; background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.7rem,2.6vw,2.3rem); display:flex; flex-direction:column; }
.prov-col::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--clay); border-radius:2px; }
.prov-role{ font-family:var(--f-head); font-size:1.42rem; color:var(--ink); margin-bottom:.4rem; }
.prov-tag{ font-family:var(--f-body); font-style:italic; color:var(--clay); font-size:1.08rem; margin-bottom:1.3rem; }
.prov-col > p{ color:var(--ink-2); font-size:1.01rem; margin-bottom:1rem; }
.prov-q{ color:var(--ink) !important; border-left:2px solid var(--line); padding-left:1.1rem; font-family:var(--f-body); font-style:italic; font-size:1.05rem; }
.prov-sub{ font-family:var(--f-head); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); margin:.6rem 0 1.1rem !important; }
.prov-result{ margin-top:auto; background:var(--sand); border-radius:var(--r); padding:1.2rem 1.3rem; font-size:1rem; color:var(--ink-2) !important; }
.prov-result span{ font-family:var(--f-head); color:var(--ink); }
.prov-col .btn{ margin-top:1.4rem; align-self:flex-start; }
.prov-report{ margin-top:1.3rem; background:var(--ink); color:var(--on-ink); border-radius:var(--r); padding:clamp(1.9rem,3vw,2.6rem); }
.prov-report-h{ font-family:var(--f-head); font-size:.84rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; }
.prov-report-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1rem 2.4rem; }
.prov-report-list li{ position:relative; padding-left:1.9rem; color:var(--on-ink-2); font-size:1.02rem; }
.prov-report-list li::before{ content:""; position:absolute; left:0; top:.38em; width:11px; height:7px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(-45deg); }
.prov-note{ margin-top:1.7rem; font-size:.98rem; color:var(--muted); max-width:820px; }
.prov-close{ margin-top:1.1rem; max-width:820px; font-family:var(--f-body); font-style:italic; font-size:1.22rem; line-height:1.4; color:var(--ink); text-wrap:balance; }

/* ---------- Финальный блок: кнопки связи вместо формы ---------- */
.apply-actions{ background:var(--sand); border:1px solid var(--line); border-radius:var(--r); padding:clamp(1.8rem,3vw,2.5rem); display:flex; flex-direction:column; gap:1rem; }
.apply-actions-h{ font-family:var(--f-head); font-size:.84rem; letter-spacing:.16em; text-transform:uppercase; color:var(--clay); margin-bottom:.5rem; }
.apply-actions .btn{ margin:0; }
.apply-or{ margin-top:.5rem; text-align:center; color:var(--muted); font-size:1rem; }
.apply-or a{ color:var(--ink); border-bottom:1px solid var(--line); text-decoration:none; white-space:nowrap; }
.apply-or a:hover{ color:var(--clay); border-color:var(--clay); }

@media (max-width:980px){
  .prov-grid{ grid-template-columns:1fr; }
  .prov-report-list{ grid-template-columns:1fr; }
}
