.home-page #resources.capacity-screen{position:relative;background:#f3f5f1;padding:130px 0 48px;min-height:100svh;border:0}
.capacity-label{position:absolute;top:60px;left:5%;z-index:6;pointer-events:none;overflow:hidden}
.home-page #resources .capacity-label h2{font:700 24px/1.3 MRS,Arial,sans-serif;text-transform:uppercase;margin:0;white-space:nowrap;opacity:1!important;transform:none!important;transition:none!important}
.capacity-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:0;min-height:calc(100svh - 178px)}
.capacity-media{position:relative;min-height:570px;overflow:hidden;background:var(--mrs-ink)}
.capacity-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% center}
.capacity-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#182c3100 20%,#172b2ac7 100%);pointer-events:none}
.capacity-overlay{position:absolute;inset:auto 6% 7%;z-index:1;color:#fff}
.capacity-kicker{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 22px;color:#dcece5}
.capacity-overlay h3{font:400 clamp(32px,3.15vw,58px)/1.12 MRS,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 32px}
.capacity-link{display:inline-flex;align-items:center;gap:26px;padding:16px 22px;border:1px solid #ffffff80;border-radius:999px;background:#f4f8f0;color:var(--mrs-ink);text-decoration:none;font:400 16px/1.3 MRS,Arial,sans-serif;transition:background 200ms ease}
.capacity-link span{display:grid;place-items:center;border:1px solid #20383240;border-radius:50%;width:32px;height:32px}
.capacity-summary{background:#dfe9e4;padding:clamp(28px,3.5vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.capacity-intro{font-size:clamp(18px,1.5vw,26px);line-height:1.45;margin:0;color:#54766d}
.capacity-fact{display:flex;flex-direction:column;gap:6px;padding-bottom:24px;border-bottom:1px solid #95ada060}
.capacity-fact strong{font:300 clamp(62px,6vw,112px)/1 MRS,Arial,sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.capacity-fact>span{font-size:18px;color:#54766d}
.capacity-types p{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#54766d;margin:0 0 14px}
.capacity-types ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;list-style:none;padding:0;margin:0;font-size:15px;line-height:1.4}
.capacity-types li{padding-left:14px;position:relative}.capacity-types li:before{content:'';position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:#54766d}
@media(hover:hover) and (pointer:fine){.capacity-link:hover{background:#cee3d8}}
.capacity-link:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(min-width:1001px) and (max-height:800px){.capacity-media{min-height:470px}.capacity-summary{gap:16px;padding:28px 40px}.capacity-fact{padding-bottom:18px}.capacity-fact strong{font-size:76px}.capacity-overlay h3{font-size:40px}}
@media(max-width:1000px){.capacity-layout{grid-template-columns:1.2fr 1fr}.capacity-media{min-height:590px}.capacity-summary{padding:28px}.capacity-types ul{grid-template-columns:1fr}.capacity-overlay h3{font-size:34px}.capacity-link{font-size:14px;padding:14px;gap:12px}.capacity-kicker{font-size:11px}}
@media(max-width:650px){.home-page #resources.capacity-screen{padding:96px 0 32px}.home-page #resources .capacity-label h2{font-size:18px}.capacity-layout{grid-template-columns:1fr}.capacity-media{min-height:460px}.capacity-summary{display:grid;grid-template-columns:1fr 1fr;padding:28px 22px;gap:26px 20px}.capacity-intro,.capacity-types{grid-column:1/-1}.capacity-fact strong{font-size:54px}.capacity-fact>span{font-size:14px}.capacity-types ul{grid-template-columns:1fr 1fr}.capacity-overlay h3{font-size:34px}.capacity-overlay{inset:auto 7% 8%}}
@media(prefers-reduced-motion:reduce){.capacity-link{transition:none}}
/* Geography: map surface and project preview remain separate on small screens. */
.home-page .lower-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:999px;padding:18px 26px;min-height:62px;background:var(--mrs-ink);color:#fff;border:1px solid var(--mrs-ink);font:400 16px/1.3 MRS,Arial,sans-serif}
.home-page #projects .customers{position:relative;margin-top:100px;padding-top:48px;border-top:1px solid #ffffff30}
.home-page #projects .customers h3{font:400 clamp(32px,3.6vw,58px)/1.15 MRS,Arial,sans-serif;margin:0 0 34px}
.home-page .customer-tools{position:absolute;right:0;top:42px;margin:0}
.home-page .customer-tools>div{display:flex;gap:10px}
.home-page .customer-tools button{width:70px;height:48px;border:1px solid #c8ddd480;border-radius:999px;background:transparent;color:#fff;font-size:23px;cursor:pointer}
.home-page .customer-rail{gap:18px;padding:0;scroll-snap-type:none;scroll-behavior:auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y}
.home-page .customer-rail>a{position:relative;box-sizing:border-box;flex:0 0 calc((100% - 54px)/4);aspect-ratio:1;min-height:0;border:1px solid transparent;border-radius:24px;padding:28px;background:#f3f5f1;color:var(--mrs-ink);display:grid;grid-template-columns:1fr;align-items:center;cursor:pointer;transition:background 260ms ease,border-color 260ms ease}
.home-page .customer-rail .customer-mark{grid-column:1/-1;height:110px;display:grid;place-items:center}
.customer-mark img{width:100%;height:100px;object-fit:contain;max-width:230px;transition:transform 320ms cubic-bezier(.22,1,.36,1)}
.home-page .customer-rail>a:focus-visible{outline:3px solid #9acbb7;outline-offset:-5px}
@media(hover:hover) and (pointer:fine){.home-page .customer-rail>a:hover{background:#d4e5dc;border-color:#86b39f}.home-page .customer-rail>a:hover img{transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){.customer-mark img,.home-page .customer-rail>a{transition:none}.home-page .customer-rail>a:hover img{transform:none}}
.home-page .customer-rail>a>span:last-child{position:absolute;right:20px;bottom:16px;display:grid;place-items:center;border:1px solid #20383250;border-radius:50%;width:32px;height:32px;font-size:18px}
.home-page .home-news{padding:100px 0;background:#f3f5f1}
.home-news .section-head{align-items:center;margin-bottom:38px}
.home-news .section-head h2{margin:0}
.home-news .news-item{display:grid;grid-template-columns:150px 1fr 52px;align-items:center;gap:35px;padding:32px 0;border-top:1px solid #20383230}
.home-news .news-item h3{font:400 clamp(23px,2vw,34px)/1.35 MRS,Arial,sans-serif;margin:0;max-width:1120px}
.home-news .news-item time{font-size:15px;color:#54766d}
.home-news .news-item>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid #20383250}
.home-page .contact-refined{padding:90px 0;background:#dfe9e4}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8%}
.contact-heading{display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:36px}
.contact-heading h2{font-size:clamp(34px,4vw,64px);line-height:1.13;margin:0}
.contact-channels{display:flex;flex-direction:column;gap:28px;min-width:0}
.home-page .contact-channels .phone{font-size:clamp(28px,3.3vw,58px);margin:0;white-space:nowrap;line-height:1.2}
.contact-email{font-size:clamp(22px,2vw,32px);display:flex;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid #20383230}
.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.contact-bottom address{font-style:normal;font-size:18px;line-height:1.6}
@media(hover:hover){.home-page .customer-tools button:hover{background:#e0eee5;color:var(--mrs-ink)}.home-news .news-item:hover>span{background:var(--mrs-ink);color:#fff}.home-page .lower-pill:hover{background:var(--mrs-ink-hover)}}
@media(max-width:700px){.home-page .customer-rail>a{flex-basis:260px}.home-page .customer-tools button{width:48px}.home-news .news-item{grid-template-columns:1fr 42px;gap:16px;padding:26px 0}.home-news .news-item time{grid-column:1/-1}.home-news .section-head{display:flex;flex-wrap:wrap;gap:24px}.contact-layout{grid-template-columns:1fr;gap:44px}.contact-bottom{align-items:start;flex-direction:column}.home-page .home-news,.home-page .contact-refined{padding:64px 0}.home-page .lower-pill{font-size:14px}}
.home-page #projects .geography-external[hidden]{display:none}
.home-page #projects{padding:110px 0 72px}
.home-page #projects .geography-head{align-items:center;margin:0 0 40px}
.home-page #projects .geography-head h2{margin:0}
.home-page #projects .button{border-radius:999px;padding:15px 24px;min-height:58px;font:400 16px/1.3 MRS,Arial,sans-serif;gap:30px;border:1px solid #bacfc16b;background:transparent;color:#f1f6f2}
.home-page #projects .geography-actions>.button{background:#e0eee5;color:var(--mrs-ink);border-color:transparent;white-space:nowrap}
.geography-actions{display:flex;align-items:stretch;gap:14px;flex-shrink:0}
.project-status{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-width:360px;padding:5px;border:1px solid #bacfc16b;border-radius:999px;min-height:62px}
.project-status-thumb{position:absolute;z-index:-1;inset:5px auto 5px 5px;width:calc((100% - 10px)/2);border-radius:999px;background:#e0eee5;transform:translateX(0);transition:transform 280ms cubic-bezier(.77,0,.175,1)}
.project-status[data-selected=completed] .project-status-thumb{transform:translateX(100%)}
.project-status button{border:0;border-radius:999px;background:transparent;color:#e0eee5;padding:12px 22px;font:400 16px/1.3 MRS,Arial,sans-serif;cursor:pointer;transition:color 200ms ease}
.project-status button[aria-pressed=true]{color:var(--mrs-ink)}.project-status button:active{transform:none}
.geography-completed{padding:30px;background:#e1ebe5;color:var(--mrs-ink)}.geography-completed h3{font-size:27px;margin:0 0 24px}.geography-completed ul{list-style:none;padding:0;margin:0;display:grid;gap:0}.geography-completed a{display:block;padding:15px 0;border-top:1px solid #20383230;font-size:15px;line-height:1.4}.geography-completed[hidden],.geography-feature[hidden]{display:none}
@media(max-width:1300px){.home-page #projects .geography-head{flex-wrap:wrap;gap:26px}.project-status{min-width:330px}}
@media(max-width:650px){.geography-actions{width:100%;flex-wrap:wrap}.project-status{min-width:0;width:100%;min-height:62px}.project-status button{font-size:14px;padding:12px}.home-page #projects .geography-actions>.button{margin:0}.geography-completed{padding:24px}}
@media(prefers-reduced-motion:reduce){.project-status-thumb,.project-status button{transition:none}}
.home-page #projects .button span{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:14px}
.geography-stage{display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid #637b6f70;min-height:490px}
.geography-map{position:relative;min-height:490px;display:grid;place-items:center;background-color:#2c403b;background-image:linear-gradient(#aecbb40a 1px,transparent 1px),linear-gradient(90deg,#aecbb40a 1px,transparent 1px);background-size:70px 70px}
.geography-map-message{text-align:center;padding:36px;max-width:650px}.geography-cross{font:300 64px/1 MRS,Arial,sans-serif;color:#789b8a}.geography-map-message h3{font-size:clamp(24px,2.2vw,36px);margin:24px 0 16px}.geography-map-message p{font-size:15px;color:#b5c9bd;margin:0 0 28px}
.geography-feature{background:#e1ebe5;color:var(--mrs-ink);display:flex;flex-direction:column}.geography-feature>img{width:100%;height:210px;object-fit:cover}.geography-feature-copy{padding:30px;display:flex;flex-direction:column;align-items:start;flex:1;gap:20px}.geography-feature-copy>p{font-size:12px;line-height:1.6;color:#54766d;margin:0}.geography-feature-copy h3{font-size:28px;line-height:1.2;margin:0 0 16px}.home-page #projects .geography-feature .button{margin-top:auto;background:var(--mrs-ink);color:#fff}
.home-page #projects .customers{margin-top:48px}.home-page #projects .customers>.note{display:none}
@media(hover:hover) and (pointer:fine){.home-page #projects .button:hover{background:#4f736c;color:#fff}}
@media(max-width:1000px){.geography-stage{grid-template-columns:minmax(0,1fr) 300px}.geography-feature-copy{padding:24px}.home-page #projects .button{font-size:14px;gap:15px}}
@media(max-width:650px){.home-page #projects{padding:75px 0 45px}.home-page #projects .geography-head{display:flex;flex-direction:column;align-items:start;gap:22px;margin-bottom:26px}.geography-stage{grid-template-columns:1fr}.geography-map{min-height:350px}.geography-map-message{padding:24px}.geography-feature>img{height:190px}.geography-feature-copy h3{font-size:27px}}
/* Selected about concept: photographic surface, editorial text hierarchy. */
.home-page #company.about-immersive{display:block;min-height:100svh;padding:122px 0 32px;background:#dfe9e4}
.home-page #company.about-immersive .section-grid{display:block;width:calc(100% - 64px);max-width:none}
.home-page #company.about-immersive .copy{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 154px);background:var(--mrs-ink)}
.home-page #company.about-immersive .company-photo{position:absolute;inset:0;margin:0;z-index:-2;width:100%;height:100%}
.home-page #company.about-immersive .photo-window{height:100%;width:100%;aspect-ratio:auto}
.home-page #company.about-immersive .company-photo .photo-window img{position:absolute;right:0;left:auto;top:0;width:82%;height:100%;object-fit:cover;object-position:center}
.home-page #company.about-immersive .copy:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#203832f7 0%,#203832e6 27%,#20383290 49%,#20383220 75%),linear-gradient(0deg,#14252240,transparent 65%)}
.home-page #company.about-immersive .company-description{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:calc(100svh - 154px);padding:clamp(42px,6vh,78px) clamp(32px,3.3vw,64px);box-sizing:border-box;color:#f0f5f1;font-size:clamp(18px,1.45vw,26px);line-height:1.5;max-width:100%}
.home-page #company.about-immersive .company-description h2{color:#f0f5f1;font:500 clamp(42px,4vw,76px)/1.1 MRS,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 clamp(38px,6vh,72px);max-width:1000px;opacity:1;transform:none}
.home-page #company.about-immersive .company-description p{max-width:650px;width:44%;margin:0 0 24px}
.home-page #company.about-immersive .company-description .text-link{margin-top:auto;background:#e0ece5;color:var(--mrs-ink);border-color:#e0ece5;padding:20px 30px;font-size:18px;min-height:66px}
.home-page #company.about-immersive .company-description .text-link:hover{background:#fff;border-color:#fff}
@media(max-width:1200px){.home-page #company.about-immersive{padding-top:112px}.home-page #company.about-immersive .company-description p{width:57%}.home-page #company.about-immersive .section-grid>.label{margin-bottom:24px}.home-page #company.about-immersive .company-description h2{font-size:clamp(36px,4.5vw,60px)}}
@media(max-width:700px){.home-page #company.about-immersive{padding:100px 0 20px}.home-page #company.about-immersive .section-grid{width:calc(100% - 32px)}.home-page #company.about-immersive .copy{min-height:680px}.home-page #company.about-immersive .company-description{min-height:680px;padding:38px 24px;font-size:18px}.home-page #company.about-immersive .company-description h2{font-size:36px;margin-bottom:40px}.home-page #company.about-immersive .company-description p{width:100%;max-width:420px}.home-page #company.about-immersive .company-description .text-link{font-size:15px;padding:18px 22px;min-height:58px}.home-page #company.about-immersive .company-photo .photo-window img{width:100%;object-position:45% center}.home-page #company.about-immersive .copy:after{background:linear-gradient(90deg,#203832e8,#20383290),linear-gradient(0deg,#20383260,transparent)}.desktop-break{display:none}}
.home-page #company.about-immersive .section-grid>.copy{display:block!important;grid-template-columns:none!important;width:100%;gap:0}
.home-page #company.about-immersive .copy>.company-description{width:100%;max-width:none;grid-area:auto}
.home-page #company.about-immersive .copy>.company-photo{grid-area:auto;inset:0;width:100%;height:100%}
@media(min-width:701px){.home-page #company.about-immersive{min-height:0}.home-page #company.about-immersive .copy,.home-page #company.about-immersive .company-description{min-height:clamp(620px,calc(100vh - 154px),780px)}.home-page #company.about-immersive .company-photo .photo-window img{width:70%}.home-page #company.about-immersive .company-description{padding-top:clamp(42px,5vh,64px);padding-bottom:48px}}
@media(min-width:701px){.home-page #company.about-immersive .copy:after{background:linear-gradient(90deg,var(--mrs-ink) 0%,var(--mrs-ink) 30%,#203832eb 36%,#20383260 56%,#20383210 80%),linear-gradient(0deg,#14252230,transparent 65%)}.home-page #company.about-immersive .company-description{padding-top:clamp(48px,9vh,100px)}}
/* Continuous outpainted photograph: no solid left panel or reveal mask. */
.home-page #company.about-immersive .company-photo .photo-window img{left:0;right:0;width:100%;height:100%;object-fit:cover;object-position:56% center}
.home-page #company.about-immersive .copy:after{background:linear-gradient(90deg,rgba(20,39,35,.88) 0%,rgba(20,39,35,.74) 25%,rgba(20,39,35,.46) 44%,rgba(20,39,35,.12) 66%,rgba(20,39,35,0) 85%)}
.home-page #company.about-immersive .company-description h2{font-weight:600}
.home-page #company.about-immersive .photo-window{clip-path:none!important;opacity:1;overflow:hidden}
@media(max-width:700px){.home-page #company.about-immersive .company-photo .photo-window img{object-position:54% center}.home-page #company.about-immersive .copy:after{background:linear-gradient(90deg,rgba(20,39,35,.88),rgba(20,39,35,.65))}}
@media(min-width:701px){
  .home-page #company.about-immersive{padding-bottom:30px;background:#dfe9e4}
  .home-page #company.about-immersive .copy,.home-page #company.about-immersive .company-description{min-height:clamp(570px,calc(100vh - 210px),700px)}
}

/* MRS editorial system вЂ” shared across the first-page screens. */
:root{
  --mrs-forest:var(--mrs-ink);
  --mrs-forest-deep:#182d29;
  --mrs-muted:#68827a;
  --mrs-mint:#dfeae4;
  --mrs-paper:#f7f8f5;
  --mrs-line:rgba(32,56,50,.18);
  --mrs-line-light:rgba(223,234,228,.24);
  --mrs-radius:999px;
  --mrs-title:clamp(46px,4.25vw,72px);
  --mrs-subtitle:clamp(24px,2.15vw,36px);
  --mrs-body:clamp(16px,1.12vw,19px);
  --mrs-button:15px;
}
.home-page,.home-page button,.home-page a,.home-page input{font-family:MRS,Arial,sans-serif}
.home-page h1,.home-page h2,.home-page h3,.home-page p{letter-spacing:-.025em}
.home-page section h2{font:400 var(--mrs-title)/1.08 MRS,Arial,sans-serif;color:var(--mrs-ink);letter-spacing:-.045em}
.home-page section h3{font:400 var(--mrs-subtitle)/1.16 MRS,Arial,sans-serif;color:var(--mrs-ink);letter-spacing:-.035em}
.home-page section p,.home-page section li{font-size:var(--mrs-body);line-height:1.5}
.home-page .button,.home-page .lower-pill,.home-page .capacity-link,.home-page #projects .button{
  font:400 var(--mrs-button)/1.2 MRS,Arial,sans-serif;
  letter-spacing:-.01em;
  border-radius:var(--mrs-radius);
  min-height:58px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  transition:background-color 260ms ease,color 260ms ease,border-color 260ms ease,transform 260ms var(--ease-out),box-shadow 260ms ease;
}
.home-page .button span,.home-page .lower-pill span,.home-page .capacity-link span{font:400 13px/1 MRS,Arial,sans-serif}
.home-page .button:hover,.home-page .lower-pill:hover,.home-page .capacity-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,44,38,.12)}
.home-page .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.home-page .section-head h2{margin:0}
.home-page #projects{background:var(--mrs-forest-deep);color:#f4f7f3}
.home-page #projects .geography-head h2,.home-page #projects .customers h3{color:#f4f7f3}
.home-page #projects .geography-head{border-bottom:1px solid var(--mrs-line-light);padding-bottom:34px}
.home-page #projects .geography-stage{border-color:var(--mrs-line-light);border-radius:0;overflow:hidden}
.home-page #projects .geography-map{background-color:#25423a;background-image:linear-gradient(rgba(184,215,202,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(184,215,202,.06) 1px,transparent 1px);background-size:72px 72px}
.home-page #projects .geography-feature{background:var(--mrs-mint)}
.home-page #projects .geography-feature-copy h3{color:var(--mrs-ink)}
.home-page #projects .customers{border-top-color:var(--mrs-line-light)}
.home-page #projects .customer-rail>a{border-radius:18px;background:var(--mrs-paper)}
.home-page #projects .customer-rail>a:hover{border-color:#a5c4b5;background:#e8f0eb;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.home-page .home-news{background:var(--mrs-paper);color:var(--mrs-ink)}
.home-page .home-news .section-head{padding-bottom:34px;border-bottom:1px solid var(--mrs-line)}
.home-page .home-news .news-item{grid-template-columns:130px minmax(0,1fr) 44px;padding:30px 0;border-top:0;border-bottom:1px solid var(--mrs-line)}
.home-page .home-news .news-item h3{font:400 clamp(22px,1.8vw,30px)/1.3 MRS,Arial,sans-serif;color:var(--mrs-ink)}
.home-page .home-news .news-item time{font-size:14px;color:var(--mrs-muted);letter-spacing:.01em}
.home-page .home-news .news-item>span{width:42px;height:42px;border-color:var(--mrs-line);font-size:14px;transition:background-color 260ms ease,color 260ms ease,transform 260ms ease}
.home-page .home-news .news-item:hover>span{transform:translateX(3px);background:var(--mrs-forest);color:#fff}
.home-page .contact-refined{background:var(--mrs-mint);color:var(--mrs-ink)}
.home-page .contact-heading h2{font:400 clamp(42px,4vw,68px)/1.06 MRS,Arial,sans-serif;letter-spacing:-.05em}
.home-page .contact-channels .phone{font:400 clamp(32px,3.3vw,56px)/1.1 MRS,Arial,sans-serif;letter-spacing:-.045em;color:var(--mrs-ink)}
.home-page .contact-email{font-size:clamp(20px,1.6vw,28px);color:var(--mrs-ink);border-bottom-color:var(--mrs-line)}
.home-page .contact-bottom address{font-size:var(--mrs-body);color:var(--mrs-ink)}
.home-page #resources .capacity-label h2{font:700 20px/1.2 MRS,Arial,sans-serif;letter-spacing:.02em}
.home-page #resources .capacity-overlay h3{font:400 clamp(32px,3.2vw,56px)/1.1 MRS,Arial,sans-serif;letter-spacing:-.045em}
.home-page #resources .capacity-summary{background:var(--mrs-mint);color:var(--mrs-ink)}
.home-page #resources .capacity-fact strong{font:300 clamp(58px,5.5vw,100px)/1 MRS,Arial,sans-serif;letter-spacing:-.06em;color:var(--mrs-ink)}
.home-page #resources .capacity-fact>span,.home-page #resources .capacity-intro,.home-page #resources .capacity-types p{color:var(--mrs-muted)}
@media(max-width:700px){
  :root{--mrs-title:38px;--mrs-subtitle:26px;--mrs-body:16px}
  .home-page .section-head{align-items:flex-start;flex-direction:column;gap:20px}
  .home-page .button,.home-page .lower-pill,.home-page .capacity-link,.home-page #projects .button{min-height:54px;padding:0 20px}
  .home-page .home-news .news-item{grid-template-columns:1fr 42px;gap:14px}
  .home-page .home-news .news-item time{grid-column:1/-1}
}

/* Main page composition: a quiet architectural rhythm from hero to footer. */
.home-page .hero{
  background:var(--mrs-forest-deep);
  padding:clamp(140px,15vh,190px) 5% 42px;
  min-height:100svh;
  gap:clamp(70px,10vh,120px);
}
/* Hero typography is defined in the shared typography.css. */
.home-page .hero h1 span{color:#c2e1d5}
.home-page .hero .eyebrow{font-size:13px;letter-spacing:.11em;color:#d5e6de}
.home-page .hero .hero-foot{border-top:1px solid rgba(223,234,228,.38);padding-top:24px}
.home-page .hero .metric strong{font:300 clamp(44px,4vw,68px)/1 MRS,Arial,sans-serif;letter-spacing:-.055em}
.home-page .hero .metric span{font-size:14px;color:#d5e6de}
.home-page #directions{background:var(--mrs-mint);border-top:0;color:var(--mrs-ink)}
.home-page #directions .section-grid{width:min(1500px,90%)}
.home-page #directions .orbit-scene{background:transparent}
.home-page #directions .orbit-ring{border-color:rgba(91,132,116,.46)}
.home-page #directions .orbit-orb{box-shadow:0 14px 28px rgba(20,54,44,.14)}
.home-page #directions .orbit-panel h2{font:400 clamp(34px,3.2vw,56px)/1.08 MRS,Arial,sans-serif;letter-spacing:-.05em;color:var(--mrs-ink)}
.home-page #directions .orbit-description{color:var(--mrs-muted)}
.home-page #directions .orbit-more{background:var(--mrs-forest);border-color:var(--mrs-forest);font-size:var(--mrs-button)}
body.home-page>header .header .logo,
body.home-page>header .header nav,
body.home-page>header .header .menu{transition:background-color 620ms cubic-bezier(.22,1,.36,1),color 620ms cubic-bezier(.22,1,.36,1),border-color 620ms cubic-bezier(.22,1,.36,1),box-shadow 620ms cubic-bezier(.22,1,.36,1)!important}
body.home-page>header .header .brand-name,
body.home-page>header .header nav a,
body.home-page>header .header .menu{transition:color 620ms cubic-bezier(.22,1,.36,1)!important}
.home-page #resources.capacity-screen{background:var(--mrs-paper);border-top:0}
.home-page #resources.capacity-screen .capacity-layout{border:1px solid var(--mrs-line);overflow:hidden}
.home-page #resources.capacity-screen .capacity-media{background:var(--mrs-forest-deep)}
.home-page #resources.capacity-screen .capacity-summary{border-left:1px solid var(--mrs-line)}
.home-page #resources.capacity-screen .capacity-link{background:#e0ece5;color:var(--mrs-ink);border-color:#e0ece5}
.home-page #resources.capacity-screen .capacity-link:hover{background:#fff;color:var(--mrs-ink);border-color:#fff}
@media(max-width:1000px){.home-page .hero{padding-top:130px}.home-page #resources.capacity-screen .capacity-summary{border-left:0;border-top:1px solid var(--mrs-line)}}

/* Keep the two navigation capsules in the same visual layer during MPA navigation. */
@view-transition{navigation:auto}
body>header{view-transition-name:mrs-header}
body>main{view-transition-name:mrs-page}
body>header .header nav a[aria-current="page"]{view-transition-name:mrs-active-nav;position:relative;border-bottom:0!important}
::view-transition-old(mrs-header),::view-transition-new(mrs-header){animation:none}
::view-transition-group(mrs-header){animation:nav-shell-settle 560ms cubic-bezier(.22,1,.36,1)}
::view-transition-old(mrs-page){animation:page-content-out 320ms cubic-bezier(.4,0,1,1) both}
::view-transition-new(mrs-page){animation:page-content-in 620ms cubic-bezier(.22,1,.36,1) both}
::view-transition-old(mrs-active-nav){animation:nav-active-out 260ms ease both}
::view-transition-new(mrs-active-nav){animation:nav-active-in 500ms cubic-bezier(.22,1,.36,1) both}
body>header .header nav a[aria-current="page"]:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:2px;background:currentColor;transform-origin:left center;animation:nav-underline-in 520ms cubic-bezier(.22,1,.36,1) both}
@keyframes nav-shell-settle{from{opacity:.97}to{opacity:1}}
@keyframes page-content-out{to{opacity:0;transform:translateY(-14px)}}
@keyframes page-content-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-active-out{to{opacity:.86}}
@keyframes nav-active-in{from{opacity:.86}to{opacity:1}}
@keyframes nav-underline-in{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.7}}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(mrs-header),::view-transition-old(mrs-page),::view-transition-new(mrs-page),::view-transition-old(mrs-active-nav),::view-transition-new(mrs-active-nav){animation:none}
  body>header .header nav a[aria-current="page"]:after{animation:none}
}

/* Gentle magnetic stops between the primary screens. Proximity keeps the
   long sticky direction scene free for its own scroll-linked animation. */
html:has(body.home-page){
  scroll-snap-type:y proximity;
  scroll-behavior:smooth;
  scroll-padding-top:0;
}
body.home-page main>.hero,
body.home-page main>section{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
body.home-page #directions,
body.home-page #directions .orbit-track{
  scroll-snap-stop:normal;
}
@media(prefers-reduced-motion:reduce){
  html:has(body.home-page){scroll-behavior:auto}
}
/* Мышь/тачпад на широком экране — постраничный переход делает home-snap.js, CSS-магнит выключен.
   На сенсорных экранах магнит остаётся: экраны — верхней гранью, «Заказчики» — нижней. */
@media(pointer:fine) and (min-width:1001px) and (min-height:600px){
  html:has(body.home-page){scroll-snap-type:none}
}
body.home-page #projects .customers{scroll-snap-align:end}
/* A complete geography scene below the persistent header. */
body.home-page #projects{padding-top:115px;scroll-margin-top:0}
body.home-page #projects .geography-head{padding-bottom:0;border:0;margin:0 0 24px;gap:24px;flex-wrap:nowrap}
body.home-page #projects .geography-head h2{font-size:clamp(30px,3.5vw,58px);line-height:1.1}
body.home-page #projects .geography-stage{height:calc(100svh - 245px);min-height:0;grid-template-columns:minmax(0,1fr) minmax(290px,32%);gap:32px;border:0;overflow:visible}
body.home-page #projects .geography-map{height:100%;min-height:0;background:none;display:flex;align-items:center}
.geography-map-link{display:block;width:100%;height:100%}.geography-map-link>img{width:100%;height:100%;object-fit:contain}
body.home-page #projects .geography-feature{min-height:0;padding:12px;border-radius:16px;background:#f5f6f3;overflow:hidden}
body.home-page #projects .geography-feature>img{height:42%;min-height:0;border-radius:10px;object-fit:cover}
body.home-page #projects .geography-feature-copy{padding:20px 14px 10px;gap:14px;min-height:0}
body.home-page #projects .geography-feature-copy h3{font-size:clamp(22px,2.1vw,34px);margin:0;line-height:1.2}
body.home-page #projects .geography-feature-copy>p{font-size:12px}
body.home-page #projects .geography-feature .button{padding:12px 22px;min-height:48px;font-size:14px}
body.home-page #projects .geography-completed{height:100%;overflow:auto;border-radius:16px}
body.home-page #projects .customers{margin-top:65px}
@media(min-width:1001px){body.home-page #projects .project-status{min-width:300px;min-height:58px}body.home-page #projects .project-status button{font-size:14px;padding:12px 20px}body.home-page #projects .geography-actions>.button{min-height:58px;padding:14px 24px;font-size:14px}}
@media(max-width:1000px){body.home-page #projects .geography-head{flex-wrap:wrap;gap:16px}body.home-page #projects .geography-stage{height:calc(100svh - 300px);gap:18px}body.home-page #projects .geography-feature-copy{padding:12px;gap:8px}}
@media(max-width:650px){body.home-page #projects{padding-top:90px}body.home-page #projects .geography-stage{height:auto;grid-template-columns:1fr}body.home-page #projects .geography-map{height:240px}body.home-page #projects .geography-feature{display:grid;grid-template-columns:38% 1fr;gap:8px}body.home-page #projects .geography-feature>img{height:100%;min-height:170px}body.home-page #projects .geography-feature-copy h3{font-size:21px}}

/* Keep hero typography identical before and after entrance motion. */
/* Второй экран («Берём ответственность») занимает весь экран: заголовок следующего раздела не выглядывает снизу */
@media(min-width:701px){.home-page #company.about-immersive{min-height:100svh;box-sizing:border-box}.home-page #company.about-immersive .copy,.home-page #company.about-immersive .company-description{min-height:max(620px,calc(100svh - 154px))}}
.home-page #resources .capacity-overlay h3{color:#dcece5}
.home-page .home-news .news-item>span svg{display:block}
/* Главная, «О компании»: фото-карточка ниже экрана на просвет фона снизу, кнопка поднята (экраны от 760 px в высоту;
   на более низких карточка, как раньше, до низа экрана — иначе не помещается текст).
   Секция по-прежнему во весь экран — следующий заголовок не заглядывает. */
@media(min-width:701px) and (min-height:760px){
  .home-page #company.about-immersive{display:flex;flex-direction:column;height:100svh;min-height:600px;padding-bottom:clamp(48px,7vh,72px)}
  .home-page #company.about-immersive .section-grid{flex:1;min-height:0;display:flex!important;flex-direction:column}
  .home-page #company.about-immersive .section-grid>.copy{flex:1;min-height:0}
  .home-page #company.about-immersive .company-description{min-height:0;height:100%;padding-bottom:clamp(44px,7.5vh,88px)}
}
.home-page #directions .orbit-panel h2 .nowrap{white-space:nowrap}
/* длинное слово через дефис («Проектно-изыскательские») — в одну строку: заголовок не крупнее ширины панели */
.home-page #directions .orbit-panel{container-type:inline-size}
.home-page #directions .orbit-panel h2{font-size:min(clamp(34px,3.2vw,56px),6.9cqi)}
