:root{--ink:#29221d;--dark:#211a16;--dark2:#30251f;--cream:#f4efe8;--paper:#faf7f2;--wood:#b78a62;--bronze:#8b5d3d;--muted:#6e6055;--line:#d7c8b9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Manrope,Arial,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"PT Serif",Georgia,serif;font-weight:400;line-height:1.12}h2{font-size:clamp(36px,4.5vw,64px);letter-spacing:-.035em}h3{font-size:27px}p{color:var(--muted)}.wrap{width:min(1320px,calc(100% - 80px));margin:auto}.section{padding:112px 0}.label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--bronze);margin-bottom:24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head p{max-width:420px}.link-arrow{display:inline-flex;align-items:center;gap:15px;font-weight:700;font-size:14px;border-bottom:1px solid var(--bronze);padding-bottom:7px;transition:gap .3s ease,color .3s ease}.link-arrow:hover{gap:20px;color:var(--bronze)}.link-arrow span{font-size:20px;color:var(--bronze)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:var(--wood);border:1px solid var(--wood);color:#1e1713;padding:16px 24px;font-size:14px;font-weight:700;transition:background .25s,transform .25s}.btn:hover{background:#c9a17c;transform:translateY(-2px)}
header{position:absolute;z-index:10;top:0;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.inner header{position:relative;background:var(--dark)}.brand{display:inline-flex;align-items:center;gap:14px;font-family:"PT Serif",serif;font-size:31px;letter-spacing:.12em;white-space:nowrap}.brand-photo{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid rgba(229,212,196,.55);flex-shrink:0;filter:sepia(.2) saturate(.8)}.brand-text{display:flex;flex-direction:column}.brand small{display:block;font:10px Manrope,sans-serif;letter-spacing:.16em;color:#e5d4c4;margin-top:-4px}.nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:600}.nav a{transition:color .25s}.nav a:hover{color:#e6c2a0}.header-cta{font-size:13px;border-bottom:1px solid #cfa888;padding-bottom:5px;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid #bda997;color:white;padding:8px 13px}
.hero{position:relative;height:min(900px,100svh);min-height:670px;overflow:hidden;background:#2b201b;color:white}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}.slide.active{opacity:1;visibility:visible;z-index:1}.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:sepia(.27) saturate(.65);transform:scale(1.06);transition:transform 8s ease-out}.slide.active .slide-bg{transform:scale(1)}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,20,16,.83) 0%,rgba(27,20,16,.52) 47%,rgba(27,20,16,.2) 100%),linear-gradient(0deg,rgba(24,17,13,.48),transparent 50%)}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:70px}.hero-copy{max-width:770px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#e2c2a4;margin-bottom:25px}.hero h1,.hero .slide-title{font-size:clamp(48px,6.4vw,90px);font-family:"PT Serif",serif;line-height:1.06;letter-spacing:-.04em}.hero-copy p{font-size:clamp(17px,1.65vw,21px);line-height:1.65;color:#f2e9df;max-width:610px;margin:27px 0 33px}.hero-controls{position:absolute;z-index:3;bottom:34px;left:0;right:0}.controls-inner{display:flex;align-items:center;gap:16px}.dots{display:flex;gap:8px;flex:1}.dot{height:5px;flex:1;max-width:82px;border:0;background:rgba(255,255,255,.4);padding:0}.dot.active{background:#e5c3a2}.counter{font-size:14px;color:#f4e9de;margin-right:12px}.control{border:1px solid rgba(255,255,255,.5);background:transparent;color:white;min-width:45px;height:45px}.pause{min-width:100px;font-size:13px}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro-image{height:520px;filter:sepia(.22) saturate(.7)}.intro-copy h2{max-width:620px}.intro-copy .lead{font-family:"PT Serif",serif;font-size:clamp(23px,2.2vw,32px);line-height:1.45;color:var(--ink);margin:30px 0 18px}.intro-copy p:last-child{max-width:560px}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.approach-card{background:var(--paper);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}.approach-card:hover,.leader-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(33,26,22,.06)}.image-frame{overflow:hidden;background:#b8a38e}.approach-card img{height:310px;filter:sepia(.24) saturate(.65);transition:transform .7s}.approach-card:hover img,.project-card:hover img,.catalog-card:hover img,.leader-card:hover img{transform:scale(1.045)}.card-body{padding:28px 29px 34px}.card-index{font-size:13px;letter-spacing:.14em;color:var(--bronze);font-weight:700}.card-body h3{margin:15px 0}.card-body p{min-height:84px}.card-body .link-arrow{margin-top:24px}
.projects{background:var(--dark);color:#f9f3ed}.projects .label{color:#cfaa88}.projects p{color:#d2bfb0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card .image-frame{height:430px}.project-card img{height:100%;filter:sepia(.22) saturate(.65);transition:transform .7s}.project-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:24px}.project-meta h3{font-size:30px}.project-meta p{font-size:14px;margin-top:6px}.tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#e2b997;border:1px solid #8b6f5c;padding:7px 11px;white-space:nowrap}
.about-lead{max-width:760px;margin-bottom:48px;font-size:18px;line-height:1.75;color:var(--ink)}.leaders-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.leader-card{background:var(--paper);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s ease,box-shadow .4s ease}.leader-card .image-frame{height:440px}.leader-card img{height:100%;object-position:top center;filter:sepia(.22) saturate(.68);transition:transform .7s}.leader-info{padding:28px 32px 34px}.leader-role{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--bronze);font-weight:700;display:block;margin-bottom:8px}.leader-info h3{font-size:30px;margin-bottom:12px}.leader-info p{font-size:15px}
.catalog{background:#e9ded1}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.catalog-card{background:var(--paper);transition:transform .4s ease,box-shadow .4s ease}.catalog-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(33,26,22,.06)}.catalog-card .image-frame{height:260px}.catalog-card img{height:100%;filter:sepia(.25) saturate(.65);transition:transform .7s}.catalog-text{padding:22px}.catalog-text h3{font-size:23px}.catalog-text p{font-size:15px;margin-top:9px}.catalog-text a{display:inline-block;color:var(--bronze);font-size:14px;font-weight:700;margin-top:15px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step{border-top:1px solid var(--bronze);padding-top:20px}.step b{font-size:14px;color:var(--bronze)}.step h3{font-size:25px;margin:27px 0 14px}.step p{font-size:15px}.story{background:var(--paper)}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center}.story-img{height:510px;filter:sepia(.22) saturate(.65)}.story-copy p{margin:24px 0}
.contact{background:var(--dark2);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact p{color:#dacabc;margin-top:24px}.form{display:grid;gap:14px}.form label{font-size:14px;color:#e6d7cb}.form input,.form textarea{display:block;width:100%;margin-top:5px;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #9b8473;color:white;outline:none}.form input:focus,.form textarea:focus{border-color:#e1b48a}.form textarea{resize:vertical;min-height:90px}.form .btn{justify-self:start}.form-status{min-height:24px;font-size:14px;color:#f2d6bb}.form-error{display:block;color:#ffccba}
footer{background:#191410;color:#ded1c6;padding:46px 0}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-text{font-size:13px;color:#c6b3a3}.footer-nav{display:flex;gap:20px;font-size:14px}.footer-nav a:hover{color:#e6c2a0}.demo{font-size:13px;color:#76685b;margin-top:20px}
.journal{background:#f0e8de}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.journal-card{background:var(--paper);border:1px solid var(--line);overflow:hidden}.journal-card .image-frame{height:240px}.journal-card img{height:100%;filter:sepia(.24) saturate(.65);transition:transform .7s}.journal-card:hover img{transform:scale(1.045)}.journal-body{padding:27px 28px 30px}.journal-category{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--bronze)}.journal-body h3{margin:14px 0}.journal-body p{font-size:16px}.journal-link{display:inline-block;margin-top:20px;cursor:pointer;color:var(--bronze);font-size:15px;font-weight:700;border-bottom:1px solid var(--bronze);padding-bottom:6px}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0ms)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .reveal .image-frame img{transform:scale(1.08);transition:transform 1.25s cubic-bezier(.22,1,.36,1)}.js .reveal.visible .image-frame img{transform:scale(1)}.js .reveal.visible:hover .image-frame img{transform:scale(1.045)}:focus-visible{outline:3px solid #dda977;outline-offset:4px}
.inner-section{min-height:55vh}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:55px}.breadcrumbs a{border-bottom:1px solid var(--line)}.page-title{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.04em}.inner-intro{margin-top:20px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tile{background:var(--paper)}.tile .image-frame{height:280px}.tile img{height:100%;filter:sepia(.2) saturate(.7)}.tile-body{padding:25px}.tile-body h3{margin-bottom:14px}.tile-body .link-arrow{margin-top:20px}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:start}.detail-description p{margin:25px 0}.gallery-main{height:540px;background:#b8a38e}.gallery-main img{height:100%;filter:sepia(.2) saturate(.7)}.gallery-controls{display:flex;gap:10px;margin:12px 0}.gallery-controls button{background:none;border:1px solid var(--bronze);width:45px;height:42px}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto}.gallery-thumbs button{border:0;padding:0;flex:0 0 90px;background:none}.gallery-thumbs img{height:68px}.detail-info{margin-top:100px}.detail-info h2{margin-bottom:32px}.detail-info h3{margin:35px 0 12px}.detail-info dl{display:grid;grid-template-columns:1fr 2fr;max-width:800px}.detail-info dt,.detail-info dd{border-bottom:1px solid var(--line);margin:0;padding:12px 0}.categories{display:flex;flex-wrap:wrap;gap:12px;margin:36px 0}.categories a{border:1px solid var(--line);padding:9px 14px}.article-title,.article-intro,.article-copy{max-width:850px}.article-intro{font-family:"PT Serif",serif;font-size:25px;margin:25px 0}.article-hero{height:500px;margin:45px 0;filter:sepia(.2) saturate(.7)}.article-copy p{font-size:18px;line-height:1.9;margin-bottom:24px}.prose{max-width:850px;margin:40px 0}.prose p{margin:22px 0;font-size:18px}.prose h2,.prose h3{margin-top:48px}
@media(max-width:1100px){.nav{gap:14px}.header-cta{display:none}}@media(max-width:950px){.wrap{width:min(100% - 48px,1320px)}.section{padding:80px 0}.approach-grid{gap:14px}.approach-card img{height:220px}.card-body{padding:22px}.catalog-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.story-grid{gap:5%}.leader-card .image-frame{height:350px}.journal-grid{gap:14px}.journal-body{padding:22px}.journal-card .image-frame{height:200px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.section{padding:70px 0}.header-inner{min-height:74px}.brand{font-size:24px;gap:10px}.brand-photo{width:38px;height:38px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#211a16;padding:20px;flex-direction:column;align-items:flex-start;gap:16px}.nav.open{display:flex}.hero{min-height:640px;height:90svh}.hero-content{padding-top:55px}.hero h1,.hero .slide-title{font-size:clamp(42px,10vw,65px)}.hero-copy p{font-size:17px}.counter{display:none}.pause{min-width:88px}.section-head{display:block}.section-head p{margin-top:20px}.intro-grid,.story-grid,.contact-grid,.detail-grid{grid-template-columns:1fr;gap:35px}.intro-image,.story-img{height:340px}.approach-grid,.project-grid,.leaders-grid,.journal-grid,.tiles{grid-template-columns:1fr}.approach-card img{height:260px}.card-body p{min-height:0}.project-card .image-frame{height:300px}.leader-card .image-frame{height:340px}.catalog-grid{gap:12px}.catalog-card .image-frame{height:180px}.catalog-text{padding:16px}.catalog-text h3{font-size:21px}.catalog-text p{font-size:14px}.process-grid{gap:30px 20px}.footer-grid{align-items:start;flex-direction:column}.footer-nav{flex-wrap:wrap}.journal-card .image-frame{height:240px}.gallery-main,.article-hero{height:340px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
.article-copy h2{font-size:32px;line-height:1.2;margin:45px 0 20px}.article-copy blockquote{margin:35px 0;padding:12px 25px;border-left:2px solid var(--bronze);font:italic 24px/1.5 "PT Serif",serif;color:var(--ink)}

:root {
  --type-body: 17px;
  --type-small: 15px;
  --type-label: 14px;
  --measure: 68ch;
}

body {
  font-size: var(--type-body);
  line-height: 1.78;
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.wrap {
  width: min(1360px, calc(100% - 96px));
}

.section {
  padding: clamp(88px, 8vw, 128px) 0;
}

h2 {
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

h3 {
  font-size: clamp(25px, 2.1vw, 31px);
  line-height: 1.16;
  text-wrap: balance;
}

p {
  line-height: 1.78;
}

.label,
.journal-category,
.card-index,
.leader-role {
  font-size: var(--type-label);
  letter-spacing: .15em;
}

.section-head {
  gap: clamp(32px, 6vw, 88px);
  margin-bottom: 52px;
}

.section-head > p {
  max-width: 46ch;
  font-size: 17px;
}

.brand {
  font-size: 32px;
  letter-spacing: .13em;
}

.brand small {
  font-size: 11px;
}

.nav {
  gap: clamp(16px, 2vw, 30px);
  font-size: 15px;
}

.header-cta {
  font-size: 14px;
}

.hero {
  min-height: 700px;
}

.hero h1,
.hero .slide-title {
  max-width: 11ch;
  font-size: clamp(60px, 7.2vw, 104px);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.eyebrow {
  font-size: 14px;
}

.hero-copy p {
  max-width: 34ch;
  font-size: clamp(19px, 1.7vw, 23px);
  line-height: 1.7;
}

.btn {
  min-height: 58px;
  padding: 17px 27px;
  font-size: 15px;
  letter-spacing: .01em;
}

.intro-copy .lead {
  max-width: 22ch;
  font-size: clamp(27px, 2.7vw, 38px);
  line-height: 1.38;
  text-wrap: balance;
}

.intro-copy > p:not(.lead) {
  max-width: 48ch;
  font-size: 18px;
}

.card-body,
.catalog-text,
.journal-body,
.leader-info {
  padding: clamp(24px, 2.5vw, 34px);
}

.card-body h3,
.catalog-text h3,
.journal-body h3,
.leader-info h3 {
  margin-top: 17px;
  margin-bottom: 14px;
}

.card-body p,
.catalog-text p,
.journal-body p,
.leader-info p,
.step p {
  font-size: 16px;
  line-height: 1.75;
}

.card-body p {
  min-height: 5.3em;
}

.link-arrow,
.catalog-text a,
.journal-card summary {
  font-size: 15px;
}

.project-meta h3 {
  font-size: clamp(26px, 2.5vw, 34px);
}

.project-meta p {
  font-size: 15px;
}

.tag {
  font-size: 13px;
}

.about-lead {
  max-width: 75ch;
  font-size: 19px;
  line-height: 1.85;
}

.leader-role {
  line-height: 1.5;
}

.catalog-card .image-frame {
  height: 275px;
}

.catalog-text h3 {
  font-size: 25px;
}

.step h3 {
  font-size: 28px;
}

.step p {
  max-width: 34ch;
}

.story-copy > p {
  max-width: 54ch;
  font-size: 17px;
}

.form label {
  font-size: 15px;
}

.form input,
.form textarea {
  font-size: 17px;
  line-height: 1.6;
}

.form-note {
  font-size: 14px;
  line-height: 1.65;
}

.footer-text,
.footer-nav {
  font-size: 14px;
}

.journal-card .image-frame {
  height: 260px;
}

.journal-body h3 {
  font-size: clamp(24px, 2.1vw, 29px);
}

.article-content p {
  font-size: 16px;
}

.article-content h4 {
  font-size: 23px;
}

/* Сдержанные интерактивные состояния — существующие reveal/слайдер-анимации не трогаем */
.approach-card,
.project-card,
.catalog-card,
.journal-card,
.leader-card {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.journal-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(33, 26, 22, .08);
}

.btn,
.control,
.menu-toggle {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

a,
button,
summary {
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 1100px) {
  .wrap {
    width: min(100% - 64px, 1360px);
  }

  .nav {
    font-size: 14px;
  }

  .hero h1,
  .hero .slide-title {
    font-size: clamp(58px, 8vw, 88px);
  }
}

@media (max-width: 950px) {
  .wrap {
    width: min(100% - 52px, 1360px);
  }

  .section {
    padding: 86px 0;
  }

  .section-head {
    margin-bottom: 40px;
  }

  .approach-card img {
    height: 245px;
  }

  .card-body p {
    min-height: 0;
  }

  .journal-card .image-frame {
    height: 220px;
  }

  .journal-body {
    padding: 23px;
  }
}

@media (max-width: 700px) {
  :root {
    --type-body: 16px;
    --type-small: 14px;
    --type-label: 12px;
  }

  .wrap {
    width: calc(100% - 40px);
  }

  .section {
    padding: 72px 0;
  }

  h2 {
    font-size: clamp(37px, 10vw, 52px);
    line-height: 1.09;
  }

  h3 {
    font-size: 26px;
  }

  .brand {
    font-size: 25px;
  }

  .brand small {
    font-size: 10px;
  }

  .nav {
    font-size: 16px;
  }

  .hero {
    min-height: 630px;
    height: 90svh;
  }

  .hero h1,
  .hero .slide-title {
    max-width: 10ch;
    font-size: clamp(48px, 12vw, 70px);
    line-height: 1.04;
  }

  .hero-copy p {
    max-width: 34ch;
    font-size: 18px;
    line-height: 1.65;
  }

  .eyebrow {
    max-width: 34ch;
    font-size: 12px;
    line-height: 1.6;
  }

  .section-head {
    margin-bottom: 34px;
  }

  .section-head > p {
    font-size: 16px;
  }

  .intro-copy .lead {
    font-size: clamp(26px, 7vw, 34px);
  }

  .intro-copy > p:not(.lead) {
    font-size: 16px;
  }

  .about-lead {
    font-size: 17px;
    line-height: 1.8;
  }

  .catalog-card .image-frame {
    height: 190px;
  }

  .catalog-text {
    padding: 18px;
  }

  .catalog-text h3 {
    font-size: 21px;
  }

  .catalog-text p,
  .card-body p,
  .journal-body p,
  .leader-info p,
  .step p {
    font-size: 15px;
  }

  .journal-card .image-frame {
    height: 235px;
  }

  .journal-body {
    padding: 23px;
  }

  .journal-body h3 {
    font-size: 25px;
  }

  .project-meta h3 {
    font-size: 25px;
  }

  .tag {
    font-size: 11px;
  }

  .btn {
    min-height: 56px;
    padding: 16px 20px;
    font-size: 14px;
  }

  .form label {
    font-size: 14px;
  }

  .form input,
  .form textarea {
    font-size: 16px;
  }

  .footer-nav {
    gap: 12px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* Основная таблица уже уважает эту настройку; здесь не добавляем новых движений. */
  .journal-card:hover {
    transform: none;
  }
}