:root { --ink:#182426;--muted:#6d7775;--paper:#f6f7f4;--line:#dfe4df;--accent:#b7824b;--dark:#202c2c;--max:1240px }
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Microsoft YaHei",Arial,sans-serif;line-height:1.7 }
a { color:inherit;text-decoration:none }
img { max-width:100%;display:block }
.site-header { position:fixed;z-index:20;top:0;left:0;right:0;color:#fff;transition:transform .3s,background .3s,box-shadow .3s }
.site-header.is-hidden { transform:translateY(-100%) }
.site-header.is-scrolled { background:rgba(24,36,38,.96);box-shadow:0 8px 30px #0002 }
.site-header__inner { max-width:var(--max);height:88px;padding:0 30px;margin:auto;display:flex;align-items:center;gap:42px }
.brand { display:flex;align-items:center;gap:12px;min-width:230px }
.brand img { width:190px;height:auto;filter:brightness(0) invert(1) }
.brand__text { display:none }
.site-menu { margin-left:auto }
.site-menu>ul { display:flex;align-items:center;gap:28px;padding:0;margin:0;list-style:none }
.site-menu li { position:relative }
.site-menu a { font-size:14px;letter-spacing:.08em;white-space:nowrap }
.site-menu>ul>li>a { padding:32px 0;display:block }
.site-menu>ul>li>a:after { content:"";display:block;width:0;height:2px;background:var(--accent);transition:.25s }
.site-menu>ul>li:hover>a:after { width:100% }
.sub-menu { position:absolute;left:-16px;top:74px;min-width:150px;padding:10px 0;margin:0;background:#fff;color:var(--ink);list-style:none;box-shadow:0 15px 35px #10202018;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s }
.has-children:hover .sub-menu,.has-children:focus-within .sub-menu { opacity:1;visibility:visible;transform:none }
.sub-menu a { display:block;padding:9px 17px;font-size:13px }
.sub-menu a:hover { background:#f4eee8;color:var(--accent) }
.header-phone { font-size:12px;letter-spacing:.07em;border-left:1px solid #ffffff50;padding-left:25px;display:flex;flex-direction:column }
.header-phone span { font-size:10px;color:#ffffffa8 }
.menu-toggle { display:none;background:none;border:0 }
.menu-toggle i { display:block;width:23px;height:2px;margin:5px;background:#fff }
.sr-only { position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden }
.hero { height:100vh;min-height:650px;position:relative;background:var(--dark);color:#fff;overflow:hidden }
.hero__slides,.hero__slide { height:100%;width:100% }
.hero__slide { position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1s,transform 1.2s;transform:scale(1.04) }
.hero__slide.is-active { opacity:1;visibility:visible;transform:scale(1) }
.hero__fallback { background:linear-gradient(115deg,#223333 0%,#3d514a 48%,#9a7a5a 100%) }
.eyebrow { color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.25em;margin:0 0 17px }
.btn { display:inline-flex;align-items:center;gap:25px;padding:13px 21px;font-size:12px;letter-spacing:.12em }
.btn--light { border:1px solid #fff;color:#fff }
.btn--light:hover { background:#fff;color:var(--ink) }
.section { max-width:var(--max);padding:125px 30px;margin:auto }
.section__head { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px }
.section__head h1,.section__head h2 { font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;line-height:1.2;margin:0 }
.more-link { font-size:12px;letter-spacing:.08em;border-bottom:1px solid var(--accent);padding:4px 0 }
.more-link span { font-size:18px;color:var(--accent);margin-left:13px }
.project-card { position:relative;overflow:hidden;background:#d9dcd8 }
.project-card img { height:100%;width:100%;object-fit:cover;transition:transform .8s }
.project-card:hover img { transform:scale(1.06) }
.project-card__shade { position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#152322d9) }
.project-card__meta { position:absolute;left:27px;right:27px;bottom:24px;color:#fff;display:flex;flex-direction:column }
.project-card__meta em { font-size:10px;letter-spacing:.18em;color:#d8ad7e;font-style:normal }
.project-card__meta strong { font-size:22px;font-weight:500 }
.project-card__meta i { font-size:11px;font-style:normal;opacity:0;transform:translateY(10px);transition:.3s }
.project-card:hover .project-card__meta i { opacity:1;transform:none }
.empty-state { border:1px dashed #c7cfca;padding:42px;text-align:center;color:var(--muted) }
.about { display:grid;grid-template-columns:1fr 1fr;min-height:590px;background:#e8ece7 }
.about__image { background-size:cover;background-position:center }
.about__image--fallback { background:linear-gradient(140deg,#d1dbd4,#788d80 55%,#3a504a);position:relative }
.about__image--fallback:after { content:"";position:absolute;inset:12%;border:1px solid #fff7;background:linear-gradient(135deg,transparent 49.6%,#ffffffaa 50%,transparent 50.4%) }
.about__content { padding:100px clamp(40px,8vw,130px);align-self:center }
.about__content h2 { font-size:clamp(31px,4vw,55px);line-height:1.2;letter-spacing:-.05em;margin:0 0 27px }
.about__content>p:not(.eyebrow) { color:var(--muted);font-size:16px;line-height:2;margin:0 0 30px }
.about__line { height:1px;width:54px;background:var(--accent);margin-bottom:27px }
.news-list { border-top:1px solid var(--line) }
.news-item { display:grid;grid-template-columns:100px 1fr 35px;gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:.25s }
.news-item time { display:flex;flex-direction:column;color:var(--accent);line-height:1 }
.site-footer { background:#1d2929;color:#fff;padding:62px max(30px,calc((100vw - 1180px)/2)) 20px }
.footer__top { display:flex;justify-content:space-between;gap:35px;padding-bottom:60px }
.brand--footer img { filter:brightness(0) invert(1);width:180px }
.site-footer p { color:#aeb8b2;font-size:13px;max-width:350px }
.footer__bottom { border-top:1px solid #ffffff20;padding-top:17px;display:flex;justify-content:space-between;color:#7f8b84;font-size:11px }
.footer__bottom a { color:#aeb8b2 }
.back-top { position:fixed;right:27px;bottom:26px;width:43px;height:43px;background:var(--accent);color:#fff;border:0;opacity:0;visibility:hidden;transition:.25s;z-index:10 }
.back-top.is-visible { opacity:1;visibility:visible }
.archive { padding-top:160px }
.archive-list { border-top:1px solid var(--line) }
.archive-item { display:grid;grid-template-columns:190px 1fr 30px;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center }
.archive-item img { width:190px;height:120px;object-fit:cover }
.archive-item time { font-size:11px;color:var(--accent) }
.archive-item h2 { font-size:23px;font-weight:500;margin:4px 0 }
.archive-item p { color:var(--muted);font-size:13px;margin:0 }
.archive-item>i { font-style:normal;color:var(--accent);font-size:20px }
.pagination { padding:35px 0;color:var(--accent) }
.article-page { padding-top:160px;max-width:900px }
.back-link { color:var(--accent);font-size:12px;letter-spacing:.1em }
.article-page article { margin-top:35px }
.article-page h1 { font-size:clamp(38px,6vw,70px);line-height:1.2;letter-spacing:-.05em;margin:0 0 14px }
.article-meta { font-size:12px;color:var(--muted);margin-bottom:36px }
.article-cover { width:100%;max-height:570px;object-fit:cover;margin-bottom:40px }
.article-content { font-size:17px;line-height:2;color:#32403e }
.article-content img { margin:20px auto }
.error-page { min-height:100vh;display:grid;place-items:center;text-align:center }
.error-page span { font-size:130px;line-height:1;color:#d3dcd5;font-weight:700 }
.error-page h1 { font-size:26px;margin:0 0 28px }
@media(max-width:900px) {
  .site-header__inner { height:72px;padding:0 20px }
  .brand { min-width:0 }
  .brand img { width:160px }
  .header-phone { display:none }
  .menu-toggle { display:block;margin-left:auto }
  .site-menu { position:absolute;top:72px;left:0;right:0;background:#1d2929;max-height:0;overflow:hidden;transition:.3s }
  .site-menu.is-open { max-height:80vh;padding:12px 20px 20px }
  .site-menu>ul { display:block }
  .site-menu>ul>li>a { padding:10px 0 }
  .sub-menu { position:static;display:none;opacity:1;visibility:visible;transform:none;background:#ffffff10;color:#fff;box-shadow:none;padding:4px 15px }
  .has-children:hover .sub-menu,.has-children:focus-within .sub-menu { display:block }
  .section { padding:85px 20px }
  .about { grid-template-columns:1fr;min-height:0 }
  .about__image { height:330px }
  .about__content { padding:65px 25px }
  .footer__top { flex-direction:column }
  .footer__bottom { display:block }
  .footer__bottom>* { display:block;margin-top:10px }
}
@media(max-width:560px) {
  .section__head { display:block }
  .section__head .more-link { display:inline-block;margin-top:18px }
  .news-item { grid-template-columns:55px 1fr 20px;gap:12px }
  .news-item h3 { font-size:16px }
  .news-item p { display:none }
  .archive-item { grid-template-columns:95px 1fr 20px;gap:14px }
  .archive-item img { width:95px;height:75px }
  .archive-item h2 { font-size:17px }
  .archive-item p { display:none }
  .article-page { padding-top:125px }
}
