/* Final presentation layer. Keeps the data-driven structure while unifying the site. */
:root{
  --page:#f5f7f7;
  --paper:#fff;
  --ink:#0b2732;
  --muted:#5b6d73;
  --line:#d8e0e2;
  --blue:#1686a9;
  --orange:#f4732f;
  --navy:#082f3d;
}

body{background:var(--page);font-size:16px;line-height:1.55}
.container{width:min(1240px,calc(100% - 64px))}
.header{background:rgba(255,255,255,.97);border-color:rgba(8,47,61,.12)}
.header__inner,.header .inner{height:76px}
.brand{min-width:250px;gap:12px;font-size:21px}
.brand img{width:72px;height:40px;padding:0;background:transparent}
.brand small,.brandtext small{margin-top:1px;font-family:var(--sans);font-size:9px;letter-spacing:.11em}
.nav{gap:24px}
.nav a{padding:27px 0 24px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
.nav a:before,.nav a b{display:none!important}
.header-cta,.mini{padding:14px 19px;font-size:12px;letter-spacing:0;text-transform:none}
.project-progress{display:none}

.section{padding:88px 0}
.section-title{grid-template-columns:190px minmax(0,820px);gap:48px;margin-bottom:42px}
.section-title>p,.case-code,.case-section-label,.kicker,.eyebrow{font-family:var(--sans);font-size:12px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.section-title h2,.engineer h2,.lead-section h2{font-size:clamp(40px,4.2vw,58px);line-height:1.02;letter-spacing:-.045em}
.section-lead{max-width:760px;margin-top:18px;color:var(--muted);font-size:17px;line-height:1.55}

/* Home hero */
.hero{padding:58px 0 34px;background:linear-gradient(112deg,#f8faf9 0,#edf4f5 100%)}
.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.hero h1{max-width:100%;font-size:clamp(54px,4.7vw,68px);line-height:.97}
.hero__statement{font-size:17px}
.materialize.project-reveal{height:570px;box-shadow:0 22px 55px rgba(8,47,61,.13)}
.project-reveal__controls{box-shadow:none;border:1px solid rgba(8,47,61,.12)}
.story-line{opacity:.62}

/* Cases become an editorial three-card portfolio, not three full landing pages. */
.home-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-projects .project-card{display:flex;flex-direction:column;border:0;box-shadow:0 10px 35px rgba(8,47,61,.08)}
.home-projects .project-card__media{min-height:260px}
.home-projects .project-card__body{height:100%;padding:26px}
.home-projects .project-card h3{margin:10px 0 18px;font-size:29px;line-height:1.05}
.home-projects .case-metrics{grid-template-columns:1fr;border:0;border-top:1px solid var(--line)}
.home-projects .case-metrics>div{grid-template-columns:max-content minmax(0,1fr);column-gap:22px;align-items:center;min-height:0;padding:11px 0;border-right:0;border-bottom:1px solid var(--line)}
.case-metrics strong{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.home-projects .case-metrics strong{font-size:17px}
.home-projects .case-metrics span{margin:0;font-size:11px}
.home-projects .project-card__proof{display:block;margin:19px 0}
.home-projects .project-card__proof p{font-size:13px;line-height:1.5}
.home-projects .project-card__proof p+ p{display:none}
.projects-all{margin-top:26px}
.secondary-proof{margin-top:34px}

/* Process, services and supporting proof. */
.engineer{padding:88px 0}
.engineer__grid{gap:70px;align-items:start}
.engineer__copy>p:not(.section-kicker){font-size:17px}
.engineer__copy blockquote{margin-top:28px;padding:24px;font-size:20px}
.engineering-axis{gap:10px}
.engineering-axis li>div{padding:15px 18px;background:#fff}
.engineering-axis strong{font-size:16px}

.services{background:#fff}
.service-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-feature,.service-feature--reverse{display:flex;min-height:0;flex-direction:column;border:1px solid var(--line);background:var(--paper)}
.service-feature img,.service-feature--reverse img{order:1;width:100%;height:230px;object-fit:cover}
.service-feature>div,.service-feature--reverse>div{order:2;min-height:285px;padding:26px}
.service-feature h3{margin:12px 0 24px;font-size:25px;line-height:1.15}
.service-feature b{margin-top:auto}
.service-feature:nth-child(4),.service-feature:nth-child(5){grid-column:span 1}
.more-services{margin-top:18px}

.risks{background:var(--page)}
.risk-grid{box-shadow:0 10px 35px rgba(8,47,61,.06)}
.risk-grid article{min-height:270px;padding:30px;background:#fff}
.cycle{padding:82px 0}
.cycle-line li{min-height:155px;padding:24px 18px}
.communication{padding:82px 0}
.communication-compare{box-shadow:0 10px 35px rgba(8,47,61,.07)}
.communication-compare article{padding:30px}
.team{padding:82px 0;background:#fff}
.team-board{grid-template-columns:repeat(3,1fr);border:0;gap:1px;background:var(--line)}
.team-board article,.team-board .team-lead{min-height:190px!important;padding:28px!important;border:0!important;background:#fff}
.team-board h3,.team-board .team-lead h3{margin:0 0 12px;font-size:24px}
.team-board .team-lead span{margin-bottom:14px}
.team-note{margin-top:22px}
.proof-panel__inner>div{min-height:130px}
.lead-section{padding:88px 0}
.lead-grid{gap:58px}
.simple-form{box-shadow:0 18px 55px rgba(8,47,61,.1)}
.final-scene{min-height:600px}

/* Project listing and detail pages: fix the absolute-position bug and simplify rhythm. */
.projects-hero.blueprint-grid,.case-hero.blueprint-grid{
  position:relative;
  inset:auto;
  overflow:hidden;
  background-color:#edf3f4;
  background-image:linear-gradient(rgba(22,134,169,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(22,134,169,.055) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:none;
}
.projects-hero{padding:145px 0 75px}
.projects-hero h1{max-width:1000px;font-size:clamp(54px,6vw,78px)}
.project-listing{padding:72px 0 88px}
.project-grid{gap:18px}
.project-grid .project-card{border:0;box-shadow:0 10px 35px rgba(8,47,61,.08)}
.project-grid .project-card__media{min-height:250px}
.project-grid .project-card__body{padding:25px}
.project-grid>.project-card:last-child:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.35fr)}
.project-grid>.project-card:last-child:nth-child(3n+1) .project-card__media{min-height:470px}
.project-grid>.project-card:last-child:nth-child(3n+1) .project-card__body{padding:34px 38px}
.project-grid>.project-card:last-child:nth-child(3n+1) h3{font-size:36px}
.project-grid .case-metrics--compact{grid-template-columns:1fr}
.project-grid .case-metrics--compact>div{grid-template-columns:max-content minmax(0,1fr);column-gap:22px;align-items:center;min-height:0;padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}
.project-grid .case-metrics--compact>div:last-child{border-bottom:0}
.project-grid .case-metrics--compact span{margin:0}
.secondary-proof:not(:has(article)){display:none}

.case-hero{padding:125px 0 66px}
.case-hero__grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:52px;align-items:center}
.case-hero__grid>div{min-width:0}
.case-back{margin-bottom:20px;font-family:var(--sans);font-size:12px;text-transform:none}
.case-hero h1{max-width:100%;margin:22px 0 20px;font-size:clamp(50px,4.8vw,66px);overflow-wrap:break-word}
.case-hero__lead{font-size:17px}
.case-hero__media{height:560px;box-shadow:0 22px 55px rgba(8,47,61,.14)}
.case-detail>.section{position:relative;padding:78px 0}
.case-two-col{grid-template-columns:155px minmax(0,1fr);gap:44px}
.case-section-heading{grid-template-columns:155px minmax(0,850px);gap:44px;margin-bottom:38px}
.case-two-col h2,.case-section-heading h2,.case-cta h2{font-size:clamp(38px,4vw,54px)}
.case-big-copy{margin:20px 0 32px;font-size:26px}
.case-task-pair article{padding:25px}
.case-metrics--large>div{min-height:125px;padding:24px}
.zone-list{margin-top:26px}
.decision-list article{padding:25px 0}
.case-gallery{gap:12px}
.case-gallery figure{min-height:360px}
.case-cta{padding:76px 0}

/* Older service pages use the same visual language. */
.service-hero{padding:132px 0 70px;background:linear-gradient(112deg,#f8faf9 0,#edf4f5 100%)}
.service-hero .grid2{gap:54px;align-items:center}
.service-hero h1{font-size:clamp(50px,5.5vw,72px)}
.service-hero .hero-img{height:560px;box-shadow:0 22px 55px rgba(8,47,61,.13)}
.trustbar{background:var(--navy)}
.trustbox{border:0}
.trustbox div{min-height:125px;border-color:rgba(255,255,255,.12)}
.service-cases{background:#fff}
.service-case-card{min-width:0;min-height:340px;border:0;box-shadow:0 10px 35px rgba(8,47,61,.07)}
.service-case-card>div{min-width:0;padding:28px}
.formbox{gap:48px}

@media(max-width:1100px){
  .home-projects,.service-catalog{grid-template-columns:1fr 1fr}
  .hero__grid,.case-hero__grid{grid-template-columns:1fr}
  .hero h1{max-width:820px}
  .materialize.project-reveal,.case-hero__media{height:520px}
}

@media(max-width:720px){
  body{font-size:16px}
  .container{width:calc(100% - 28px)}
  h1,h2,h3,.quote,.fact b{min-width:0;overflow-wrap:anywhere;word-break:normal}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header__inner,.header .inner{height:70px}
  .brand{min-width:0;font-size:17px;gap:9px}
  .brand img{width:60px;height:32px}
  .brand small,.brandtext small{font-size:7px}
  .section,.engineer,.lead-section,.case-detail>.section{padding:64px 0}
  .section-title{display:block;margin-bottom:30px}
  .section-title>p{margin-bottom:14px}
  .section-title h2,.engineer h2,.lead-section h2{font-size:36px}
  .hero{padding:104px 0 28px}
  .hero h1{font-size:44px}
  .materialize.project-reveal{height:420px}
  .home-projects,.service-catalog,.project-grid{grid-template-columns:1fr}
  .project-card h3,.project-card h3 a{min-width:0;overflow-wrap:anywhere;word-break:normal}
  .service-case-card h3{overflow-wrap:anywhere;word-break:normal}
  .project-grid>.project-card:last-child:nth-child(3n+1){grid-column:auto;display:flex}
  .project-grid>.project-card:last-child:nth-child(3n+1) .project-card__media{min-height:265px}
  .project-grid>.project-card:last-child:nth-child(3n+1) .project-card__body{padding:21px}
  .project-grid>.project-card:last-child:nth-child(3n+1) h3{font-size:26px}
  .home-projects .project-card__media{min-height:250px}
  .service-feature>div,.service-feature--reverse>div{min-height:0}
  .secondary-proof{display:none}
  .engineer__grid{gap:32px}
  .team-board{grid-template-columns:1fr}
  .team-board article,.team-board .team-lead{min-height:0!important}
  .final-scene{min-height:520px}
  .projects-hero{padding:112px 0 55px}
  .projects-hero h1{font-size:43px}
  .case-hero{padding:104px 0 45px}
  .case-hero h1{font-size:43px}
  .case-hero__media{height:360px}
  .case-two-col,.case-section-heading{display:block}
  .case-section-label{margin-bottom:15px}
  .case-big-copy{font-size:21px}
  .case-gallery figure{min-height:280px}
  .service-hero{padding:104px 0 48px}
  .service-hero .hero-img{height:390px}
}
.project-card__media img[src*="torgovoe-zdanie-livny"],
.case-hero__media img[src*="torgovoe-zdanie-livny"],
.case-gallery img[src*="facade"],
.case-gallery img[src*="plan"],
.case-gallery img[src*="section"] {
  object-fit: contain;
  background: #fff;
}
