/* ===================================================================
   BFP — DESIGN TOKENS
   Палитра рождена из материалов и ландшафта Карелии: гранит, хвоя,
   сосновый брус, снег/берёста. Без ярких цветов — только те четыре,
   что заданы в брифе, разложенные на оттенки.
   =================================================================== */
:root{
  /* цвет */
  --paper:      #F8F6F1;   /* берёста / снег */
  --paper-warm: #F0EAE0;   /* карточки на светлом фоне */
  --ink:        #1A1B17;   /* графит с тёплым подтоном */
  --ink-soft:   #55564C;   /* вторичный текст на светлом */
  --forest:     #1E3226;   /* тёмная хвоя — фон тёмных секций */
  --forest-2:   #263F30;   /* карточки на тёмном фоне */
  --forest-line:rgba(248,246,241,0.14);
  --wood:       #A97A4E;   /* акцент — тёплый брус, единственный "цветной" цвет */
  --wood-light: #C79A6C;
  --wood-dim:   #8A6440;
  --line:       #DCD4C4;   /* волосяные линии на светлом */
  --cream-on-dark:#EFE9DC;

  /* типографика */
  --f-display: 'Manrope', sans-serif;
  --f-body: 'Inter', sans-serif;
  --f-mono: 'IBM Plex Mono', monospace;

  --fs-h1: clamp(2.6rem, 4.6vw + 1.2rem, 5.6rem);
  --fs-h2: clamp(1.9rem, 2.4vw + 1rem, 3.1rem);
  --fs-h3: clamp(1.2rem, 0.6vw + 1rem, 1.5rem);
  --fs-lead: clamp(1.05rem, 0.5vw + 0.9rem, 1.3rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-eyebrow: 0.78rem;

  /* сетка / отступы */
  --container: 1320px;
  --pad-inline: clamp(1.25rem, 5vw, 4rem);
  --section-pad: clamp(4.5rem, 8vw, 8.5rem);
  --radius: 2px;

  --ease: cubic-bezier(.22,.61,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
body{
  margin:0;
  font-family:var(--f-body);
  font-size:var(--fs-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; background:none; border:0; cursor:pointer; color:inherit; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p{ margin:0; }
input,textarea,select{ font:inherit; color:inherit; }

:focus-visible{ outline:2px solid var(--wood); outline-offset:3px; }

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--pad-inline);
}
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--wood); color:#fff;
  padding:.8rem 1.2rem; z-index:999; font-family:var(--f-mono); font-size:.85rem;
}
.skip-link:focus{ left:1rem; top:1rem; }

/* --------------------------------------------------------------
   Типографские примитивы
   -------------------------------------------------------------- */
.eyebrow{
  font-family:var(--f-mono);
  font-size:var(--fs-eyebrow);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--wood);
  display:flex;
  align-items:center;
  gap:.7em;
  margin-bottom:1.1rem;
}
.eyebrow::before{
  content:"";
  width:1.6em; height:1px;
  background:var(--wood);
  display:inline-block;
}
.eyebrow--on-dark{ color:var(--wood-light); }

h2.section-title{
  font-family:var(--f-display);
  font-weight:800;
  font-size:var(--fs-h2);
  letter-spacing:-0.01em;
  line-height:1.08;
  max-width:16ch;
  color:var(--ink);
}
.section--dark h2.section-title{ color:var(--paper); }

.lead{
  font-size:var(--fs-lead);
  color:var(--ink-soft);
  max-width:54ch;
  line-height:1.55;
}
.section--dark .lead{ color:#C9CEC5; }

.section-head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:clamp(2.5rem,5vw,4.5rem);
}

/* --------------------------------------------------------------
   Кнопки
   -------------------------------------------------------------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--f-body);
  font-weight:600;
  font-size:.95rem;
  padding:.95rem 1.7rem;
  border-radius:var(--radius);
  transition:all .35s var(--ease);
  white-space:nowrap;
}
.btn svg{ width:16px; height:16px; transition:transform .35s var(--ease); }
.btn--primary{ background:var(--wood); color:#fff; }
.btn--primary:hover{ background:var(--wood-dim); }
.btn--primary:hover svg{ transform:translateX(3px); }
.btn--ghost{ border:1px solid currentColor; color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:var(--paper); }
.section--dark .btn--ghost{ color:var(--paper); }
.section--dark .btn--ghost:hover{ background:var(--paper); color:var(--forest); }
.btn--on-dark.btn--ghost{ color:var(--paper); }
.btn--on-dark.btn--ghost:hover{ background:var(--paper); color:var(--forest); }
.btn--sm{ padding:.7rem 1.2rem; font-size:.85rem; }
.btn--block{ width:100%; justify-content:center; }

/* --------------------------------------------------------------
   Регистрационные метки (сигнатурный элемент — как на чертежах)
   -------------------------------------------------------------- */
.reg-mark{
  position:absolute; width:22px; height:22px; opacity:.55; pointer-events:none;
}
.reg-mark svg{ width:100%; height:100%; }
.reg-mark--tl{ top:20px; left:20px; }
.reg-mark--tr{ top:20px; right:20px; }
.reg-mark--bl{ bottom:20px; left:20px; }
.reg-mark--br{ bottom:20px; right:20px; }

/* --------------------------------------------------------------
   Скролл-реврил
   -------------------------------------------------------------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ===================================================================
   HEADER
   =================================================================== */
.header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding-block:1.1rem;
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.header.is-scrolled{
  background:rgba(248,246,241,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-color:var(--line);
  padding-block:.8rem;
}
.header .container{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }

.logo{ display:flex; align-items:center; }
.logo-plate{ display:inline-flex; align-items:center; background:var(--paper); padding:.4rem .75rem; border-radius:4px; }
.logo-img{
  background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAEoCAMAAACXYmUeAAAAwFBMVEUqY6l3d3eVmJy7zOLBzuJnj8OEnsdCbqcycsJAPz/+/v4AAAD///8LXbj///////////8BAQEKYLj////////////m6e0tZ6rN2OZJd7AJXcGPqMpni7mmudKnp6exw9oWFhY5OTnb4+5yl8PW1tZYg7ZHR0dykru3t7cJYMCas9EmJibHx8hoaGhWVlaGhoYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQwg9EAAAAMHRSTlP//////////////gAJ/y5Obf//ja7Q//////////////////////////////////930XZeAAA8vklEQVR42u2dCWPquq6oA13tPhdIoYYECFPLUKBM///fXTJ7kKfYCaGN3rv7rLVKg2Prs2VJlp1uI400whWn6YJGGmkAaaSRBpBGGmkAaaSRvw1ID5dmhBppAIHZaDBppAFEBY8GkUYaQHpSaQarkb8KSE9RmvFq5C8C0lOXZsQa+WuA9PSkGbNG/hIgPW1pBq2R5wSkgG73CkkzbI08GSBFNLxnIM3ANfJEgPSql2bkGnkSQHoPkmbsGnkCQHqPk2bwGqk7IL2HSjN6jdQakN7DpRm/RmoLSK8O0gxgIzUFpNdrCGmkAaTmfDSEqA5S0xtVAtKrkdRICevSxOeZT+o/xk4N+XgnpVbdV2+my26B6fOecFJ0aobHOyx16K+ar3wlt8D0gc9qOzh14uNdJA/uqpoPcMktMH3g85rXTn34eJfJ43qq5huokltg+sCn3oI6dVEVnIR+LDqIPCcfdlpebgNMH/jkThqnlLHQ3UQQdAyGo0iGg0G/BotIzf1wJbfA8IHP78d0bI+GvpFEfOJOh9dJxRvqIPKkeJg0vewm9J5FagKI+TaC1nHqJ/1hTkeGCGVrVdpL9R7gspvQ6zWEOPbG491YBiOKj7uMBn1lRJ6Wj0JtL7sJveeSugNijkd/MOoAEhPSf8AiUucBLr8RvaeTRwNSLh48Pu5m1oBxalXRR7Ue4NLb0HtGeSwgenz0cVGgo89sP/CNCPOc8jupzgPca6QyQmwAwuOCEhEdIj70CHliPlQb34BQISGOucLkNtJgOByNhomMUkn+PhgAnKTw8Mwr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");
  background-size:contain; background-repeat:no-repeat; background-position:center;
  aspect-ratio:800/296; height:26px; width:auto; display:block;
}
.mobile-menu-top .logo-plate, .footer .logo-plate{ background:var(--paper); }
.mobile-menu-top .logo-img{ height:30px; }
.footer .logo-plate{ padding:.55rem 1rem; }
.footer .logo-img{ height:42px; }

.nav-desktop{ display:none; }
.nav-desktop ul{ display:flex; gap:2.1rem; }
.nav-desktop a{
  font-size:.92rem; color:var(--paper); position:relative; padding-block:.3rem; transition:color .4s var(--ease);
}
.header.is-scrolled .nav-desktop a{ color:var(--ink); }
.nav-desktop a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor;
  transition:right .3s var(--ease);
}
.nav-desktop a:hover::after{ right:0; }

.header-right{ display:flex; align-items:center; gap:1.3rem; }
.header-phone{ display:none; font-family:var(--f-mono); font-size:.88rem; color:var(--paper); transition:color .4s var(--ease); }
.header.is-scrolled .header-phone{ color:var(--ink); }

.burger{ display:flex; width:34px; height:34px; align-items:center; justify-content:center; color:var(--paper); transition:color .4s var(--ease); }
.header.is-scrolled .burger{ color:var(--ink); }
.burger svg{ width:22px; height:22px; }

.mobile-menu{
  position:fixed; inset:0; background:var(--forest); z-index:200;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:1.5rem var(--pad-inline) 2.5rem;
  transform:translateY(-100%); transition:transform .5s var(--ease);
}
.mobile-menu.is-open{ transform:translateY(0); }
.mobile-menu-top{ display:flex; justify-content:space-between; align-items:center; }
.mobile-menu-top .logo{ color:var(--paper); }
.mobile-close{ width:34px; height:34px; color:var(--paper); }
.mobile-close svg{ width:22px; height:22px; }
.mobile-menu nav ul{ display:flex; flex-direction:column; gap:.4rem; margin-top:2.5rem; }
.mobile-menu nav a{
  font-family:var(--f-display); font-weight:700; font-size:clamp(1.8rem,7vw,2.6rem);
  color:var(--paper); display:inline-block; padding-block:.35rem;
}
.mobile-menu-foot{ font-family:var(--f-mono); font-size:.85rem; color:var(--cream-on-dark); display:flex; flex-direction:column; gap:.4rem; }
.mobile-menu-foot a{ color:var(--wood-light); }

@media (min-width:960px){
  .nav-desktop{ display:block; }
  .header-phone{ display:block; }
  .burger{ display:none; }
}

/* ===================================================================
   HERO
   =================================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--forest);
  overflow:hidden;
  isolation:isolate;
}
.hero-media{
  position:absolute; inset:0; z-index:-2;
}
.hero-media svg{ width:100%; height:100%; }
.hero-media .zoom{ transform-origin:center; }
@media (prefers-reduced-motion:no-preference){
  .hero-media .zoom{ animation:heroZoom 26s ease-in-out infinite alternate; }
}
@keyframes heroZoom{ from{ transform:scale(1); } to{ transform:scale(1.07); } }

.hero-scrim{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(11,17,13,.35) 0%, rgba(11,17,13,.15) 38%, rgba(15,20,16,.78) 100%);
}
.hero-grid-overlay{
  position:absolute; inset:0; z-index:-1; opacity:.16; pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg, var(--paper) 0 1px, transparent 1px 80px),
    repeating-linear-gradient(0deg, var(--paper) 0 1px, transparent 1px 80px);
}

.hero .container{ position:relative; padding-top:9.5rem; padding-bottom:2.5rem; }
.hero-eyebrow{
  font-family:var(--f-mono); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--wood-light); margin-bottom:1.6rem; display:flex; align-items:center; gap:.8em; flex-wrap:wrap;
}
.hero-eyebrow span+span::before{ content:"·"; margin-right:.8em; color:var(--forest-line); }

.hero h1{
  font-family:var(--f-display); font-weight:800; font-size:var(--fs-h1);
  line-height:.98; letter-spacing:-0.02em; color:var(--paper);
}
.hero h1 em{
  font-style:normal; color:var(--wood-light); display:block;
  font-size:.34em; font-weight:600; letter-spacing:0; margin-top:.9rem; font-family:var(--f-body);
  max-width:22ch; line-height:1.35;
}
.hero-copy{
  color:#D7DBD1; max-width:42ch; font-size:var(--fs-lead); margin-top:1.6rem; line-height:1.55;
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.6rem; }

.hero-foot{
  display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem;
  margin-top:clamp(3rem,8vw,6rem); padding-top:1.6rem; border-top:1px solid var(--forest-line);
}
.hero-sheet-index{ font-family:var(--f-mono); font-size:.78rem; color:#9BA396; letter-spacing:.08em; }
.hero-scroll{ display:flex; align-items:center; gap:.7rem; font-family:var(--f-mono); font-size:.78rem; color:#9BA396; letter-spacing:.08em; text-transform:uppercase; }
.hero-scroll svg{ width:15px; height:15px; }
@media (prefers-reduced-motion:no-preference){
  .hero-scroll svg{ animation:bob 1.8s ease-in-out infinite; }
}
@keyframes bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(5px); } }

@media(min-width:1080px){ .hero h1{ max-width:18ch; } }

/* ===================================================================
   STATS STRIP
   =================================================================== */
.stats{
  background:var(--ink); color:var(--paper); position:relative; z-index:2;
  margin-top:-1px;
}
.stats .container{
  display:grid; grid-template-columns:repeat(2,1fr); gap:2.2rem 1.5rem;
  padding-block:clamp(2.6rem,5vw,3.6rem);
}
.stat-num{
  font-family:var(--f-display); font-weight:800; font-size:clamp(2rem,3.2vw,3rem);
  color:var(--wood-light); letter-spacing:-0.02em; line-height:1;
}
.stat-label{ font-size:.86rem; color:#B9BDB2; margin-top:.6rem; max-width:18ch; line-height:1.4; }
@media(min-width:720px){ .stats .container{ grid-template-columns:repeat(4,1fr); } }

/* ===================================================================
   WHY BFP — карточки
   =================================================================== */
.section{ padding-block:var(--section-pad); position:relative; }
.section--dark{ background:var(--forest); color:var(--paper); }
.section--paper2{ background:var(--paper-warm); }

.feature-grid{
  display:grid; grid-template-columns:1fr; gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.feature-card{
  background:var(--paper); padding:2.2rem 2rem; display:flex; flex-direction:column; gap:1.1rem;
  transition:background .4s var(--ease);
}
.feature-card:hover{ background:var(--paper-warm); }
.feature-icon{ width:38px; height:38px; color:var(--wood); }
.feature-icon svg{ width:100%; height:100%; }
.feature-card h3{ font-family:var(--f-display); font-weight:700; font-size:1.1rem; letter-spacing:-.01em; }
.feature-card p{ color:var(--ink-soft); font-size:.94rem; line-height:1.55; }
@media(min-width:720px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1080px){ .feature-grid{ grid-template-columns:repeat(3,1fr); } }

/* ===================================================================
   ABOUT
   =================================================================== */
.about-grid{ display:grid; gap:3rem; align-items:center; }
.about-panel{ position:relative; aspect-ratio:4/5; overflow:hidden; }
.about-panel svg{ width:100%; height:100%; }
.about-text .lead{ margin-top:1.4rem; }
.about-facts{ margin-top:2.4rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; border-top:1px solid var(--line); padding-top:1.6rem; }
.about-fact b{ display:block; font-family:var(--f-mono); color:var(--wood); font-size:1.3rem; }
.about-fact span{ font-size:.8rem; color:var(--ink-soft); line-height:1.4; display:block; margin-top:.3rem; }
@media(min-width:960px){ .about-grid{ grid-template-columns:.85fr 1.15fr; } }

/* ===================================================================
   PROJECTS
   =================================================================== */
.project-grid{ display:grid; grid-template-columns:1fr; gap:1.6rem; }
.project-card{
  position:relative; border:1px solid var(--line); background:var(--paper);
  display:flex; flex-direction:column; overflow:hidden; transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.project-card:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -24px rgba(26,27,23,.25); }
.project-media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.project-media svg{ width:100%; height:100%; transition:transform .7s var(--ease); }
.project-card:hover .project-media svg{ transform:scale(1.05); }
.project-badge{
  position:absolute; top:14px; left:14px; font-family:var(--f-mono); font-size:.68rem; letter-spacing:.06em;
  text-transform:uppercase; background:rgba(26,27,23,.78); color:var(--paper); padding:.35rem .6rem;
  backdrop-filter:blur(4px);
}
.project-body{ padding:1.5rem 1.5rem 1.7rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.project-body h3{ font-family:var(--f-display); font-weight:700; font-size:1.25rem; }
.project-loc{ font-family:var(--f-mono); font-size:.78rem; color:var(--wood-dim); letter-spacing:.04em; }
.project-body p{ color:var(--ink-soft); font-size:.92rem; line-height:1.5; flex:1; }
.project-more{ display:inline-flex; align-items:center; gap:.5rem; font-size:.88rem; font-weight:600; margin-top:.4rem; }
.project-more svg{ width:14px; height:14px; transition:transform .3s var(--ease); }
.project-card:hover .project-more svg{ transform:translateX(3px); }
@media(min-width:720px){ .project-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1200px){ .project-grid{ grid-template-columns:repeat(4,1fr); } }

/* Modal */
.modal-backdrop{
  position:fixed; inset:0; background:rgba(15,16,13,.72); backdrop-filter:blur(4px);
  z-index:300; display:flex; align-items:flex-end; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .35s var(--ease);
}
.modal-backdrop.is-open{ opacity:1; pointer-events:auto; }
.modal{
  background:var(--paper); width:100%; max-width:760px; max-height:88vh; overflow-y:auto;
  transform:translateY(24px); transition:transform .45s var(--ease);
  border-top:1px solid var(--line);
}
.modal-backdrop.is-open .modal{ transform:translateY(0); }
.modal-media{ aspect-ratio:16/8; position:relative; background:var(--ink); overflow:hidden; }
.modal-slide{ position:absolute; inset:0; }
.modal-slide svg{ width:100%; height:100%; }
.modal-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
  background:rgba(26,27,23,.55); color:var(--paper); display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease);
}
.modal-nav:hover{ background:rgba(26,27,23,.85); }
.modal-nav svg{ width:18px; height:18px; }
.modal-nav--prev{ left:16px; }
.modal-nav--prev svg{ transform:scaleX(-1); }
.modal-nav--next{ right:16px; }
.modal-counter{
  position:absolute; left:16px; bottom:14px; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.06em;
  color:rgba(240,234,224,.75); background:rgba(26,27,23,.5); padding:.3rem .6rem;
}
.modal-close{
  position:absolute; top:16px; right:16px; width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  background:rgba(26,27,23,.7); color:var(--paper); border-radius:50%;
}
.modal-close svg{ width:18px; height:18px; }
.modal-body{ padding:2rem clamp(1.5rem,4vw,2.8rem) 2.6rem; }
.modal-body .project-loc{ margin-bottom:.5rem; display:block; }
.modal-body h3{ font-family:var(--f-display); font-weight:800; font-size:clamp(1.5rem,3vw,2rem); margin-bottom:1rem; }
.modal-body p{ color:var(--ink-soft); line-height:1.6; margin-bottom:1.6rem; }
.modal-specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem 1.5rem; border-top:1px solid var(--line); padding-top:1.4rem; margin-bottom:1.8rem; }
.modal-specs div b{ display:block; font-family:var(--f-mono); font-size:1.05rem; color:var(--wood); }
.modal-specs div span{ font-size:.78rem; color:var(--ink-soft); }
@media(min-width:640px){ .modal{ max-height:80vh; } .modal-specs{ grid-template-columns:repeat(4,1fr); } }
body.modal-open{ overflow:hidden; }

/* ===================================================================
   STORIES
   =================================================================== */
.stories-track{ display:grid; grid-template-columns:1fr; gap:1.4rem; }
.story-card{ position:relative; border:1px solid var(--forest-line); }
.story-media{ aspect-ratio:1/1; position:relative; overflow:hidden; }
.story-media svg{ width:100%; height:100%; }
.story-cap{ padding:1.2rem 1.3rem 1.5rem; }
.story-cap b{ font-family:var(--f-display); font-size:1.02rem; display:block; }
.story-cap span{ font-family:var(--f-mono); font-size:.76rem; color:var(--wood-light); letter-spacing:.04em; display:block; margin-top:.4rem; }
@media(min-width:720px){ .stories-track{ grid-template-columns:repeat(3,1fr); } }

/* ===================================================================
   STAGES (Как мы строим)
   =================================================================== */
.stage-list{ border-top:1px solid var(--line); }
.stage-item{
  display:grid; grid-template-columns:auto 1fr; gap:1.2rem 1.6rem; padding-block:1.8rem;
  border-bottom:1px solid var(--line); align-items:baseline;
}
.stage-num{ font-family:var(--f-mono); font-size:1rem; color:var(--wood); }
.stage-item h3{ font-family:var(--f-display); font-weight:700; font-size:1.15rem; margin-bottom:.5rem; }
.stage-item p{ color:var(--ink-soft); font-size:.92rem; max-width:56ch; line-height:1.55; }
.stage-dur{ font-family:var(--f-mono); font-size:.76rem; color:var(--wood-dim); text-transform:uppercase; letter-spacing:.05em; margin-top:.6rem; display:inline-block; }
@media(min-width:860px){
  .stage-item{ grid-template-columns:80px 1fr auto; }
  .stage-dur{ margin-top:0; text-align:right; }
}

/* ===================================================================
   TECHNOLOGY BAND
   =================================================================== */
.tech-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--forest-line); border:1px solid var(--forest-line); margin-top:1rem; }
.tech-card{ background:var(--forest); padding:2rem 1.8rem; }
.tech-card .stat-num{ font-size:clamp(1.6rem,2.4vw,2.2rem); }
.tech-card p{ color:#C9CEC5; font-size:.9rem; margin-top:.7rem; line-height:1.5; }
@media(min-width:720px){ .tech-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1080px){ .tech-grid{ grid-template-columns:repeat(4,1fr); } }

/* ===================================================================
   TESTIMONIALS
   =================================================================== */
.testi-wrap{ position:relative; max-width:760px; }
.testi-slide{ display:none; }
.testi-slide.is-active{ display:block; animation:fadeIn .6s var(--ease); }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }
.testi-quote{ font-family:var(--f-display); font-weight:600; font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.45; letter-spacing:-.01em; }
.testi-quote::before{ content:"“"; color:var(--wood); }
.testi-quote::after{ content:"”"; color:var(--wood); }
.testi-name{ margin-top:1.4rem; font-family:var(--f-mono); font-size:.82rem; color:var(--ink-soft); }
.testi-controls{ display:flex; align-items:center; gap:1.4rem; margin-top:2.4rem; }
.testi-dots{ display:flex; gap:.5rem; }
.testi-dot{ width:8px; height:8px; border-radius:50%; background:var(--line); transition:background .3s; }
.testi-dot.is-active{ background:var(--wood); }
.testi-arrow{ width:36px; height:36px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; transition:border-color .3s, background .3s; }
.testi-arrow:hover{ border-color:var(--wood); background:var(--paper-warm); }
.testi-arrow svg{ width:15px; height:15px; }

/* ===================================================================
   CALCULATOR
   =================================================================== */
.calc{ display:grid; grid-template-columns:1fr; gap:2.4rem; }
.calc-controls{ display:flex; flex-direction:column; gap:1.8rem; }
.calc-field label{ display:block; font-family:var(--f-mono); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.8rem; }
.calc-field .val{ color:var(--wood); font-weight:600; }
input[type=range]{ -webkit-appearance:none; width:100%; height:2px; background:var(--line); outline:none; }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--wood); cursor:pointer; border:3px solid var(--paper); box-shadow:0 0 0 1px var(--wood); }
input[type=range]::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:var(--wood); cursor:pointer; border:3px solid var(--paper); box-shadow:0 0 0 1px var(--wood); }
.seg{ display:flex; border:1px solid var(--line); }
.seg button{ flex:1; padding:.75rem .5rem; font-size:.85rem; text-align:center; transition:background .3s,color .3s; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:.3rem; }
.seg button:last-child{ border-right:0; }
.seg button.is-active{ background:var(--ink); color:var(--paper); }
.seg-price{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.02em; opacity:.65; }
.calc-result{
  background:var(--forest); color:var(--paper); padding:2.2rem 2rem; display:flex; flex-direction:column; justify-content:space-between; position:relative;
}
.calc-result-label{ font-family:var(--f-mono); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:#B9BDB2; }
.calc-result-num{ font-family:var(--f-display); font-weight:800; font-size:clamp(1.8rem,3.6vw,2.6rem); margin-top:.8rem; letter-spacing:-.01em; color:var(--paper); }
.calc-result-note{ font-size:.82rem; color:#B9BDB2; margin-top:.6rem; line-height:1.5; }
.calc-result .btn{ margin-top:1.8rem; }
@media(min-width:960px){ .calc{ grid-template-columns:1.2fr .8fr; align-items:stretch; } }

/* ===================================================================
   MORTGAGE
   =================================================================== */
.mortgage-grid{ display:grid; grid-template-columns:1fr; gap:1.4rem; }
.mortgage-card{ border:1px solid var(--line); padding:2rem 1.8rem; background:var(--paper); }
.mortgage-card .feature-icon{ margin-bottom:1.2rem; }
.mortgage-card h3{ font-family:var(--f-display); font-weight:700; font-size:1.1rem; margin-bottom:.7rem; }
.mortgage-card p{ color:var(--ink-soft); font-size:.92rem; line-height:1.55; }
@media(min-width:860px){ .mortgage-grid{ grid-template-columns:repeat(3,1fr); } }

/* ===================================================================
   FAQ
   =================================================================== */
.faq-list{ border-top:1px solid var(--line); max-width:840px; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-block:1.5rem; text-align:left; font-family:var(--f-display); font-weight:700; font-size:1.02rem;
}
.faq-q svg{ width:18px; height:18px; flex-shrink:0; transition:transform .35s var(--ease); color:var(--wood); }
.faq-item.is-open .faq-q svg{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-a p{ color:var(--ink-soft); font-size:.94rem; line-height:1.6; padding-bottom:1.6rem; max-width:70ch; }

/* ===================================================================
   CONTACTS
   =================================================================== */
.contact-grid{ display:grid; grid-template-columns:1fr; gap:2.6rem; }
.contact-info{ display:flex; flex-direction:column; gap:1.6rem; }
.contact-row{ display:flex; gap:1rem; align-items:flex-start; }
.contact-row .feature-icon{ width:22px; height:22px; margin-top:.15rem; }
.contact-row b{ display:block; font-size:.95rem; }
.contact-row span, .contact-row a{ font-size:.9rem; color:var(--ink-soft); }
.contact-map{ aspect-ratio:4/3; border:1px solid var(--line); overflow:hidden; filter:grayscale(.3) contrast(1.05); }
.contact-map iframe{ width:100%; height:100%; border:0; }

.form-field{ margin-bottom:1.2rem; }
.form-field label{ display:block; font-family:var(--f-mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.5rem; }
.form-field input, .form-field textarea{
  width:100%; border:1px solid var(--line); background:var(--paper); padding:.85rem 1rem; font-size:.95rem;
  transition:border-color .3s;
}
.form-field input:focus, .form-field textarea:focus{ border-color:var(--wood); }
.form-field textarea{ resize:vertical; min-height:100px; }
.form-note{ font-size:.78rem; color:var(--ink-soft); margin-top:1rem; line-height:1.5; }
.form-success{ display:none; align-items:center; gap:.7rem; background:var(--forest); color:var(--paper); padding:1.2rem 1.4rem; margin-top:1rem; }
.form-success.is-visible{ display:flex; }
.form-success svg{ width:20px; height:20px; color:var(--wood-light); flex-shrink:0; }
.form-error{ display:none; background:var(--paper-warm); border:1px solid var(--wood); color:var(--ink); padding:1rem 1.2rem; margin-top:1rem; font-size:.88rem; line-height:1.5; }
.form-error.is-visible{ display:block; }
.form-error a{ color:var(--wood-dim); text-decoration:underline; }
@media(min-width:960px){ .contact-grid{ grid-template-columns:1fr 1fr; } }

/* ===================================================================
   FOOTER
   =================================================================== */
.footer{ background:var(--ink); color:#B9BDB2; padding-block:clamp(3rem,6vw,4.5rem) 2rem; }
.footer-top{ display:grid; grid-template-columns:1fr; gap:2.6rem; padding-bottom:2.6rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer .logo{ color:var(--paper); }
.footer-desc{ font-size:.88rem; max-width:34ch; margin-top:1rem; line-height:1.55; }
.footer-col b{ display:block; font-family:var(--f-mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:#7D8276; margin-bottom:1rem; }
.footer-col ul{ display:flex; flex-direction:column; gap:.6rem; }
.footer-col a{ font-size:.9rem; transition:color .3s; }
.footer-col a:hover{ color:var(--wood-light); }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding-top:1.8rem; font-family:var(--f-mono); font-size:.74rem; color:#7D8276; }
@media(min-width:720px){ .footer-top{ grid-template-columns:1.4fr repeat(3,1fr); } }

/* ===================================================================
   Utility grid
   =================================================================== */
.grid-2{ display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:860px){ .grid-2{ grid-template-columns:1fr 1fr; } }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ===================================================================
   ДОБАВЛЕНО: многостраничность, фото-слоты, партнёры, галереи
   =================================================================== */

/* --- универсальный фото-слот (заменяется реальным фото) --- */
.photo{ position:relative; overflow:hidden; background:var(--forest); }
.photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- шапка: чуть плотнее, чтобы вместить больше пунктов --- */
.nav-desktop ul{ gap:1.5rem; }
.nav-desktop a{ font-size:.88rem; }
@media (min-width:1240px){ .nav-desktop ul{ gap:2rem; } .nav-desktop a{ font-size:.92rem; } }
.header-phone{ display:none !important; }
@media (min-width:1240px){ .header-phone{ display:block !important; } }

/* --- ИСТОРИИ: широкие кадры 16:9 под фото --- */
#stories .stories-track{ grid-template-columns:1fr; }
@media(min-width:720px){ #stories .stories-track{ grid-template-columns:repeat(3,1fr); } }
.story-media{ aspect-ratio:16/9; }

/* --- О компании: фото-слот в панели --- */
.about-panel{ aspect-ratio:4/5; }

/* ===================================================================
   ВНУТРЕННЯЯ ШАПКА-«ГЕНПЛАН» (страницы Проекты / Партнёры)
   =================================================================== */
.page-hero{
  position:relative; background:var(--forest); color:var(--paper);
  padding-top:calc(var(--section-pad) + 3rem); padding-bottom:var(--section-pad);
  overflow:hidden; isolation:isolate;
}
.page-hero::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:.14; pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg, var(--paper) 0 1px, transparent 1px 80px),
    repeating-linear-gradient(0deg, var(--paper) 0 1px, transparent 1px 80px);
}
.page-hero .reg-mark{ color:var(--wood-light); }
.page-hero h1{
  font-family:var(--f-display); font-weight:800; font-size:var(--fs-h1);
  line-height:1.02; letter-spacing:-0.02em; color:var(--paper); max-width:16ch;
}
.page-hero .lead{ color:#C9CEC5; margin-top:1.4rem; }

/* --- хлебные крошки --- */
.crumbs{
  font-family:var(--f-mono); font-size:.76rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--wood-light); display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:1.6rem;
}
.crumbs a{ color:var(--cream-on-dark); transition:color .3s var(--ease); }
.crumbs a:hover{ color:var(--wood-light); }
.crumbs span.sep{ opacity:.5; }
.crumbs .current{ color:var(--wood-light); }
/* крошки на светлом фоне */
.crumbs--light{ color:var(--wood-dim); }
.crumbs--light a{ color:var(--ink-soft); }
.crumbs--light a:hover{ color:var(--wood); }
.crumbs--light .current{ color:var(--wood); }

/* ===================================================================
   СТРАНИЦА «ПРОЕКТЫ» — развёрнутые объекты
   =================================================================== */
.proj{ border-top:1px solid var(--line); padding-block:clamp(2.8rem,6vw,4.5rem); }
.proj:first-of-type{ border-top:0; padding-top:clamp(1.5rem,4vw,2.5rem); }
.proj-head{ display:grid; gap:1.2rem; margin-bottom:2rem; }
.proj-index{ font-family:var(--f-mono); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--wood); }
.proj-loc{ font-family:var(--f-mono); font-size:.82rem; color:var(--wood-dim); letter-spacing:.03em; }
.proj-head h2{ font-family:var(--f-display); font-weight:800; font-size:var(--fs-h2); letter-spacing:-.01em; line-height:1.08; }
.proj-head .badge{
  display:inline-block; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
  background:var(--forest); color:var(--paper); padding:.35rem .7rem; align-self:start;
}
.proj-lead{ color:var(--ink-soft); font-size:var(--fs-lead); line-height:1.55; max-width:60ch; }

.proj-gallery{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.8rem; }
@media(min-width:640px){ .proj-gallery{ grid-template-columns:2fr 1fr; grid-template-rows:auto auto; } }
.proj-gallery .photo{ aspect-ratio:16/9; border:1px solid var(--line); cursor:zoom-in; }
@media(min-width:640px){
  .proj-gallery .photo:first-child{ grid-row:span 2; aspect-ratio:auto; }
}

.proj-specs{
  margin-top:2rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem 1.5rem;
  border-top:1px solid var(--line); padding-top:1.6rem;
}
@media(min-width:640px){ .proj-specs{ grid-template-columns:repeat(4,1fr); } }
.proj-specs div b{ display:block; font-family:var(--f-mono); font-size:1.25rem; color:var(--wood); }
.proj-specs div span{ font-size:.8rem; color:var(--ink-soft); }

.proj-cta{ margin-top:2rem; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }

/* ===================================================================
   СТРАНИЦА «ПАРТНЁРЫ»
   =================================================================== */
.partner-intro{ max-width:60ch; color:var(--ink-soft); font-size:var(--fs-lead); line-height:1.55; margin-bottom:clamp(2.5rem,5vw,3.5rem); }
.partner-grid{ display:grid; grid-template-columns:1fr; gap:1.6rem; }
@media(min-width:720px){ .partner-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1080px){ .partner-grid{ grid-template-columns:repeat(3,1fr); } }

.partner-card{
  border:1px solid var(--line); background:var(--paper);
  display:flex; flex-direction:column; padding:1.8rem 1.7rem 1.9rem;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), background .4s var(--ease);
}
.partner-card:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -24px rgba(26,27,23,.22); background:var(--paper-warm); }
.partner-logo{
  width:64px; height:64px; border:1px solid var(--line); overflow:hidden; background:var(--forest);
  margin-bottom:1.3rem; flex:0 0 auto;
}
.partner-logo img{ width:100%; height:100%; object-fit:cover; display:block; }
.partner-cat{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--wood-dim); margin-bottom:.5rem; }
.partner-card h3{ font-family:var(--f-display); font-weight:700; font-size:1.2rem; letter-spacing:-.01em; margin-bottom:.7rem; }
.partner-card p{ color:var(--ink-soft); font-size:.94rem; line-height:1.55; flex:1; }
.partner-benefit{
  margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--line);
  display:flex; align-items:flex-start; gap:.7rem;
}
.partner-benefit .tag{
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.05em; text-transform:uppercase;
  background:var(--wood); color:#fff; padding:.3rem .55rem; flex:0 0 auto; margin-top:.1rem;
}
.partner-benefit span{ font-size:.9rem; color:var(--ink); font-weight:500; line-height:1.45; }

/* --- призыв стать партнёром --- */
.partner-join{
  margin-top:clamp(3rem,6vw,4.5rem); border:1px solid var(--forest-line); background:var(--forest);
  color:var(--paper); padding:clamp(2rem,5vw,3.2rem); display:grid; gap:1.4rem;
}
.partner-join h2{ font-family:var(--f-display); font-weight:800; font-size:var(--fs-h2); color:var(--paper); max-width:20ch; }
.partner-join p{ color:#C9CEC5; max-width:56ch; line-height:1.55; }

/* ===================================================================
   ЛАЙТБОКС (просмотр фото проектов во весь экран)
   =================================================================== */
.lightbox{
  position:fixed; inset:0; z-index:400; background:rgba(15,16,13,.86); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
  opacity:0; pointer-events:none; transition:opacity .3s var(--ease);
}
.lightbox.is-open{ opacity:1; pointer-events:auto; }
.lightbox img{ max-width:min(1100px,94vw); max-height:88vh; object-fit:contain; border:1px solid var(--forest-line); }
.lightbox-close{
  position:absolute; top:18px; right:18px; width:42px; height:42px; border-radius:50%;
  background:rgba(26,27,23,.7); color:var(--paper); display:flex; align-items:center; justify-content:center;
}
.lightbox-close svg{ width:20px; height:20px; }

/* нижний отступ у main на внутренних страницах */
.page-body{ padding-block:var(--section-pad); }

/* примечание-подсказка над карточками (пример/шаблон) */
.partner-note{
  font-family:var(--f-mono); font-size:.78rem; letter-spacing:.02em; color:var(--wood-dim);
  border:1px dashed var(--line); padding:.9rem 1.1rem; margin-bottom:2rem; line-height:1.5;
}
.partner-note b{ color:var(--ink); }


/* ===================================================================
   ФОТО В КАРТОЧКАХ ПРОЕКТОВ И МОДАЛКЕ (реальные снимки)
   =================================================================== */
.project-media.photo img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.project-card:hover .project-media.photo img{ transform:scale(1.05); }
.modal-slide img{ width:100%; height:100%; object-fit:cover; display:block; }

/* сетка галереи объекта — много миниатюр */
.proj-gallery{ display:grid !important; grid-template-columns:repeat(2,1fr); grid-template-rows:none; gap:.8rem; margin-top:1.8rem; }
@media(min-width:640px){ .proj-gallery{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1000px){ .proj-gallery{ grid-template-columns:repeat(4,1fr); } }
.proj-gallery .photo{ aspect-ratio:16/9 !important; grid-row:auto !important; border:1px solid var(--line); cursor:zoom-in; }
.proj-gallery .photo img{ transition:transform .6s var(--ease); }
.proj-gallery .photo:hover img{ transform:scale(1.06); }

/* карточки-обзор на странице проектов */
.proj-cards{ display:grid; grid-template-columns:1fr; gap:1.6rem; margin-bottom:clamp(3rem,6vw,4.5rem); }
@media(min-width:640px){ .proj-cards{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1080px){ .proj-cards{ grid-template-columns:repeat(4,1fr); } }

/* лайтбокс: стрелки и счётчик */
.lightbox-nav{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  background:rgba(26,27,23,.6); color:var(--paper); display:flex; align-items:center; justify-content:center; transition:background .3s var(--ease); }
.lightbox-nav:hover{ background:rgba(26,27,23,.9); }
.lightbox-nav svg{ width:20px; height:20px; }
.lightbox-prev{ left:18px; }
.lightbox-prev svg{ transform:scaleX(-1); }
.lightbox-next{ right:18px; }
.lightbox-count{ position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
  font-family:var(--f-mono); font-size:.78rem; letter-spacing:.08em; color:var(--paper);
  background:rgba(26,27,23,.55); padding:.35rem .8rem; }
@media(max-width:560px){ .lightbox-nav{ width:40px; height:40px; } .lightbox-prev{ left:8px; } .lightbox-next{ right:8px; } }
