:root{
  --page-max: 1280px;
  --page-pad: 40px;
  --bg: #f1ece4;
  --bg-2: #e9e1d7;
  --paper: #f8f4ed;
  --text: #26221e;
  --muted: #746d65;
  --line: rgba(38,34,30,.16);
  --accent: #b34f31;
  --accent-hover: #973f26;
  --radius: 18px;
  --serif: "Prata", Georgia, "Times New Roman", serif;
  --sans: "Manrope", Arial, sans-serif;
  --shadow: 0 18px 45px rgba(50, 40, 30, .06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}

/* якоря не должны прятаться под sticky header */
section[id],#top{scroll-margin-top:90px}

/* видимый фокус при навигации с клавиатуры */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}
.container{
  width:min(calc(100% - (var(--page-pad) * 2)), var(--page-max));
  margin-inline:auto;
}

.site-header{
  position:relative;
  z-index:20;
  border-bottom:1px solid var(--line);
  background:rgba(241,236,228,.96);
}
.header-inner{
  min-height:78px;
  display:grid;
  grid-template-columns: 1fr auto auto;
  align-items:center;
  gap:34px;
}
.brand{
  font-family:var(--serif);
  font-size:20px;
  white-space:nowrap;
}
.nav{display:flex;gap:27px;align-items:center}
.nav a{font-size:14px;color:#3f3933}
.nav a:hover{color:var(--accent)}
.lang,.menu-toggle{
  border:0;background:none;cursor:pointer;color:var(--text);
}
.lang{padding:8px 0 8px 14px}
.menu-toggle{display:none}

.hero{
  padding:52px 0 58px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(390px, .88fr) minmax(620px, 1.12fr);
  gap:70px;
  align-items:center;
}
.hero-media{
  min-height:540px;
  position:relative;
  overflow:hidden;
}
.hero-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:110px;
  background:linear-gradient(to bottom, transparent, var(--bg));
}
.hero-media img{
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
  object-position:center 24%;
  filter:saturate(.8) contrast(.96);
  mix-blend-mode:multiply;
}
.eyebrow{
  margin:0 0 20px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:600;
}
.hero h1{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(76px, 7.05vw, 108px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
}
.hero-role{
  margin:28px 0 36px;
  font-size:18px;
  color:#4f4942;
}
.hero-directions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.hero-directions article{
  padding:22px 20px 22px 0;
}
.hero-directions article+article{
  border-left:1px solid var(--line);
  padding-left:22px;
}
.hero-directions h3{
  margin:0 0 9px;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.25;
  font-weight:400;
}
.hero-directions p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.hero-meta{
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  margin:18px 0 26px;
  color:#6f675f;
  font-size:12px;
}
.hero-meta i{font-style:normal;color:#b0a69b}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  min-height:48px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:600;
  transition:.18s ease;
}
.btn-primary{background:var(--accent);color:white}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-secondary{border-color:var(--line);background:rgba(255,255,255,.18)}
.btn-secondary:hover{background:var(--paper)}

.pillars{border-bottom:1px solid var(--line)}
.pillars-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.pillar{
  min-height:500px;
  padding:46px 48px 44px 0;
  position:relative;
}
.pillar + .pillar{
  border-left:1px solid var(--line);
  padding-left:48px;
}
.pillar-number{
  font-family:var(--serif);
  font-size:66px;
  line-height:1;
  color:#35302b;
}
.pillar-accent{
  width:36px;height:3px;background:var(--accent);margin:16px 0 32px;
}
.pillar h2{
  margin:0 0 22px;
  font-family:var(--serif);
  font-weight:400;
  font-size:34px;
}
.pillar ul{
  list-style:none;
  margin:0 0 34px;
  padding:0;
  color:#625b53;
  display:grid;
  gap:9px;
  font-size:15px;
}
.pillar>a{color:var(--accent);font-size:14px;font-weight:600}

/* услуги: раскрывающиеся описания */
.service-list{
  list-style:none;
  margin:0 0 26px;
  padding:0;
  display:grid;
  gap:0;
  font-size:15px;
}
.service-list li{border-bottom:1px solid var(--line)}
.service-list li:first-child{border-top:1px solid var(--line)}
.service-list summary{
  cursor:pointer;
  padding:11px 0;
  font-weight:600;
  color:#3f3933;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.service-list summary::-webkit-details-marker{display:none}
.service-list summary::after{
  content:"+";
  color:var(--accent);
  font-size:18px;
  line-height:1;
  flex:none;
}
.service-list details[open] summary::after{content:"–"}
.service-body{padding:0 0 13px}
.service-body p{
  margin:0 0 8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.service-body a{color:var(--accent);font-size:13px;font-weight:600}
.service-body a:hover{text-decoration:underline}
.pillar-toggle{
  border:0;background:none;padding:0;cursor:pointer;
  color:var(--accent);font-size:14px;font-weight:600;
  font-family:inherit;
}
.pillar-toggle:hover{text-decoration:underline}
.pillar-note{margin:0;font-size:14px}
.pillar-note a{color:var(--accent);font-weight:600}
.pillar-note a:hover{text-decoration:underline}

.focus{padding:68px 0}
.focus-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:430px;
  background:var(--paper);
  border:1px solid rgba(38,34,30,.1);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.focus-copy{padding:58px 56px}
.label{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:11px;
  font-weight:700;
}
.focus h2{
  font-family:var(--serif);
  font-size:clamp(36px,3.25vw,52px);
  line-height:1.12;
  font-weight:400;
  margin:18px 0 20px;
  letter-spacing:-.025em;
}
.focus-copy p{
  max-width:600px;
  color:var(--muted);
  margin:0 0 30px;
}
.focus-media img{
  width:100%;height:100%;object-fit:cover;
}

.materials{padding:30px 0 84px}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:30px;
}
.section-head h2{
  margin:0;
  font-family:var(--serif);
  font-size:54px;
  font-weight:400;
}
.filters{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.filters button{
  border:0;background:none;padding:3px 0;cursor:pointer;
  color:#6a625b;font-size:13px;border-bottom:1px solid transparent;
}
.filters button:hover,.filters button.is-active{color:var(--accent);border-color:var(--accent)}

.materials-grid{
  columns:4 260px;
  column-gap:18px;
}
.material-card{
  break-inside:avoid;
  margin:0 0 18px;
  background:var(--paper);
  border:1px solid rgba(38,34,30,.1);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(50,40,30,.035);
}
.material-card.hidden{display:none}
.material-card .card-copy{padding:22px}
.material-card h3{
  margin:10px 0 16px;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.17;
  font-weight:400;
}
.material-card p{margin:0 0 18px;color:var(--muted);font-size:13px}
.material-card a{color:var(--accent);font-size:13px;font-weight:600}
.card-status{color:var(--muted);font-size:13px}
.material-card img{width:100%;aspect-ratio:1.45/1;object-fit:cover}
.material-card.large img{aspect-ratio:1.15/1}
.material-card.tall img{aspect-ratio:1/1.15}
.material-card.dark{background:#2e2a27;color:#f5efe8}
.material-card.dark .label,.material-card.dark a{color:#e98d6d}
.material-card.dark .card-status{color:#b8ada2}
.text-card{min-height:240px;display:flex;align-items:flex-start}

.about{
  padding:74px 0 78px;
  border-bottom:1px solid var(--line);
}
.about-inner{
  max-width:980px;
  background:var(--paper);
  border:1px solid rgba(38,34,30,.1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:60px 62px;
}
.about h2{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:clamp(44px,4.4vw,64px);
  line-height:1.06;
  letter-spacing:-.03em;
  font-weight:400;
}
.about-subtitle{
  margin:0 0 30px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:600;
}
.about-text p{
  margin:0 0 16px;
  font-size:17px;
  line-height:1.75;
  color:#4f4942;
}
.about-text p:last-child{margin-bottom:0}
.about-facts{
  list-style:none;
  margin:32px 0 0;
  padding:26px 0 0;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.about-facts li{
  background:var(--bg-2);
  border:1px solid rgba(38,34,30,.08);
  border-radius:999px;
  padding:9px 18px;
  font-size:14px;
  font-weight:600;
  color:#3f3933;
}

.bottom-cta{padding:0 0 72px}
.contact-head{margin-bottom:22px}
.contact-head .label{display:block;margin-bottom:10px}
.bottom-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:18px;
}
.subscribe,.contact-card{
  border:1px solid rgba(38,34,30,.1);
  border-radius:var(--radius);
  background:var(--paper);
  padding:38px;
  min-height:250px;
}
.subscribe h2,.contact-card h2{
  margin:0;
  font-family:var(--serif);
  font-size:34px;
  line-height:1.15;
  font-weight:400;
}
.subscribe>p{color:var(--muted);margin:14px 0 26px}

.contact-card{
  display:flex;
  justify-content:space-between;
  gap:16px;
  overflow:hidden;
}
.contact-copy{flex:1 1 auto;min-width:0}
.contact-copy .label{display:block;margin-bottom:14px}
.contact-phone{margin:0 0 10px}
.contact-phone a{
  font-family:var(--serif);
  font-size:26px;
  color:var(--text);
}
.contact-phone a:hover{color:var(--accent)}
.contact-telegram{margin:0 0 22px;font-size:15px}
.contact-telegram a{color:var(--accent);font-weight:600}
.contact-max-block{border-top:1px solid var(--line);padding-top:18px}
.contact-max{margin:0 0 12px;color:var(--muted);font-size:13px}
.copy-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.copy-input{
  flex:1 1 150px;
  min-width:150px;
  min-height:46px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffaf4;
  padding:0 18px;
  outline:none;
  color:var(--text);
  font-size:15px;
}
.copy-input:focus{border-color:var(--accent)}
.copy-btn{white-space:nowrap}
.copy-status{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.5}

.project-shape{
  width:160px;height:220px;border-radius:50% 50% 38% 62%;
  background:linear-gradient(145deg,#c7b39d,#8b6f58);
  transform:translate(35px,42px) rotate(-12deg);
  opacity:.62;
  flex:none;
}

.footer{
  border-top:1px solid var(--line);
  padding:36px 0 46px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:30px;
  align-items:start;
  font-size:12px;
  color:var(--muted);
}
.footer strong{font-family:var(--serif);font-size:18px;color:var(--text);font-weight:400}
.footer p{margin:7px 0 0}
.footer-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.copyright{text-align:right}

/* 1366–1536 laptop tuning */
@media (max-width: 1460px){
  :root{--page-max:1200px;--page-pad:36px}
  .hero-grid{grid-template-columns:minmax(350px,.84fr) minmax(570px,1.16fr);gap:54px}
  .hero h1{font-size:clamp(72px,7vw,96px)}
  .hero-media,.hero-media img{min-height:505px}
  .pillar{padding-right:40px}
  .pillar + .pillar{padding-left:40px}
}

/* Typical 1366 laptop */
@media (max-width: 1380px){
  :root{--page-max:1160px;--page-pad:30px}
  .header-inner{gap:24px}
  .nav{gap:20px}
  .hero{padding-top:44px}
  .hero-grid{grid-template-columns:390px 1fr;gap:46px}
  .hero h1{font-size:82px}
  .hero-role{margin-top:22px}
  .hero-directions article{padding-top:18px;padding-bottom:18px}
  .pillars-grid{max-width:1160px;margin:auto}
  .pillar{min-height:470px}
}

/* Tablet / narrow laptop */
@media (max-width: 1080px){
  :root{--page-pad:24px}
  .nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:6px var(--page-pad) 14px;
    z-index:40;
  }
  .nav.is-open{display:flex}
  .nav a{
    font-size:16px;
    padding:13px 0;
    border-bottom:1px solid var(--line);
  }
  .nav a:last-child{border-bottom:0}
  .menu-toggle{display:block}
  .menu-toggle[aria-expanded="true"]{color:var(--accent);font-weight:600}
  .header-inner{grid-template-columns:1fr auto auto}
  .hero-grid{grid-template-columns:.92fr 1.08fr;gap:34px}
  .hero h1{font-size:clamp(58px,8vw,78px)}
  .hero-media,.hero-media img{min-height:450px}
  .hero-directions{grid-template-columns:1fr}
  .hero-directions article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .pillars-grid{grid-template-columns:repeat(3,1fr)}
  .pillar,.pillar+.pillar{padding-left:26px;padding-right:26px}
  .pillar:first-child{padding-left:0}
  .focus-copy{padding:42px 36px}
  .materials-grid{columns:3 240px}
}

/* Mobile */
@media (max-width: 760px){
  :root{--page-pad:18px}
  .site-header{position:sticky;top:0}
  .header-inner{min-height:66px}
  .lang{display:none}
  .hero{padding:28px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .hero-media{order:2;min-height:420px}
  .hero-media img{min-height:420px}
  .hero-copy{order:1}
  .hero h1{font-size:clamp(56px,18vw,84px)}
  .hero-role{font-size:16px}
  .hero-directions{margin-top:26px}
  .hero-meta i{display:none}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:1fr}
  .pillar,.pillar+.pillar,.pillar:first-child{
    min-height:auto;padding:34px 0;border-left:0;border-top:1px solid var(--line);
  }
  .pillar:first-child{border-top:0}
  .focus{padding:44px 0}
  .focus-card{grid-template-columns:1fr}
  .focus-copy{padding:34px 26px}
  .focus-media{max-height:320px}
  .materials{padding-bottom:56px}
  .section-head{align-items:flex-start;flex-direction:column}
  .section-head h2{font-size:46px}
  .filters{justify-content:flex-start;gap:14px 18px}
  .materials-grid{columns:1}
  .bottom-grid{grid-template-columns:1fr}
  .subscribe,.contact-card{padding:28px}
  .about{padding:40px 0 44px}
  .about-inner{padding:34px 26px}
  .contact-card{flex-direction:column}
  .contact-copy{flex:none}
  .project-shape{align-self:flex-end;margin-top:4px;transform:translate(10px,34px) rotate(-12deg)}
  .copy-row{flex-direction:column;align-items:stretch}
  .copy-btn{width:100%}
  .footer-grid{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
  .copyright{text-align:left}
}

/* Narrow screens: long case labels and contact controls */
@media(max-width:760px){.pillar li a{overflow-wrap:anywhere}.copy-row,.contact-copy,.hero-copy{min-width:0}.copy-input{max-width:100%;min-width:0}.btn{white-space:normal;text-align:center}.contact-phone{overflow-wrap:anywhere}}
