.hero{padding:clamp(20px,1.625vw,28px) 16px 20px}.hero-content{--hero-h1:clamp(2.75rem,3.6vw,3.875rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,29.5%);grid-template-areas:"kicker summary" "title summary" "photo photo";grid-template-rows:auto 1fr auto;column-gap:5%;align-items:start}.hero-directions{grid-area:kicker;display:flex;flex-wrap:wrap;gap:.55em 1em;margin:0 0 1em;padding:0;list-style:none;color:var(--ds-ink);font-family:var(--ds-font-display);font-size:calc(var(--hero-h1) * .48);line-height:1.2;letter-spacing:-.025em}.hero-directions li{display:inline-flex;align-items:center;gap:.35em;margin:0}.hero-directions li::before{content:'';flex:none;width:1em;height:1em;background:url(/wp-content/themes/construction/assets/icons/ruler-measure.svg) center/contain no-repeat}.hero-directions li:nth-child(3n+2)::before{background-image:url(/wp-content/themes/construction/assets/icons/map-search.svg)}.hero-directions li:nth-child(3n)::before{background-image:url(/wp-content/themes/construction/assets/icons/building.svg)}.hero-title{grid-area:title;margin:0;font-size:var(--hero-h1);font-weight:400;line-height:1.02;letter-spacing:-.048em}.hero-summary{grid-area:summary;padding:clamp(7px,.755vw,13px) 28px 0 0}.hero-summary>*,.hero-summary .wp-block-group__inner-container>*{margin:0}.hero-lead{margin:0;font-size:clamp(1.125rem,1.35vw,1.4375rem);line-height:1.22;letter-spacing:-.026em}.hero .hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:24px;margin-top:22px}.hero .hero-link{display:flex;width:auto;margin:0}.hero .hero-link .wp-block-button__link{display:flex;flex:1;width:100%;min-height:clamp(32px,2.55vw,44px);margin:0;padding:0 0 8px;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid #818181;border-radius:0;background:none;color:var(--ds-ink);font-family:var(--ds-font-body);font-size:clamp(1rem,1.1vw,1.1875rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-align:left;text-decoration:none;box-shadow:none;transition:color 160ms ease,border-color 160ms ease}.hero .hero-link .wp-block-button__link::after{content:'';flex:none;width:24px;height:24px;background:url(/wp-content/themes/construction/assets/icons/arrow-right.svg) center/contain no-repeat}.hero .hero-link .wp-block-button__link:hover{color:var(--ds-accent);border-color:var(--ds-accent)}.hero .hero-link .wp-block-button__link:focus-visible{outline:2px solid var(--ds-accent);outline-offset:6px}.hero .hero-photo{grid-area:photo;position:relative;overflow:hidden;margin-top:clamp(36px,3.5vw,60px);aspect-ratio:2.38;border-radius:var(--ds-radius-media)}.hero .hero-photo img{position:absolute;inset:0;height:100%!important;object-fit:cover;object-position:center}@media (min-width:1800px){.hero .hero-photo{margin-top:70px}}@media (max-width:900px){.hero{padding:24px 16px 16px}.hero-content{--hero-h1:clamp(2.75rem,6.8vw,4rem);grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker" "title" "summary" "photo";grid-template-rows:auto}.hero-title{max-width:760px}.hero-summary{max-width:500px;margin-top:30px;padding:0}.hero-lead{font-size:1.25rem}.hero .hero-link .wp-block-button__link{font-size:1.125rem}.hero .hero-photo{margin-top:36px;aspect-ratio:1.65;border-radius:20px}}@media (max-width:540px){.hero{padding:24px 12px 12px}.hero-content{--hero-h1:min(clamp(2.5rem,9.2vw,3.125rem),calc((100vw - 24px) / 10.4))}.hero-title{letter-spacing:-.045em;overflow-wrap:break-word}.hero-summary{margin-top:26px}.hero-lead{max-width:390px;font-size:1.125rem;line-height:1.35}.hero .hero-actions{gap:12px;margin-top:20px}.hero .hero-link .wp-block-button__link{min-height:44px}.hero .hero-photo{margin-top:28px;aspect-ratio:.95;border-radius:16px}.hero .hero-photo img{object-position:48% center}}@media (prefers-reduced-motion:reduce){.hero .hero-link .wp-block-button__link{transition:none}}.about-section{padding:var(--ds-section-y) 16px}.about-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto auto 1fr;column-gap:6%}.about-layout>*{grid-column:1}.about-layout .section-title{max-width:none}.about-layout .about-text{max-width:660px;margin:0;font-size:1.125rem;line-height:1.4;letter-spacing:-.015em}.about-layout .about-text+.about-text{margin-top:22px}.about-layout .section-title+.about-text{margin-top:36px}.about-section .about-photo{grid-column:2;grid-row:2 / -1;position:relative;min-height:520px;overflow:hidden;border-radius:var(--ds-radius-media)}.about-section .about-photo img{position:absolute;inset:0;height:100%!important;object-fit:cover;object-position:65% center}.about-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:64px;align-items:start}.stat-card{overflow:hidden;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:#fff;font-family:var(--ds-font-display)}.stat-face{display:flex;width:100%;flex-direction:column;align-items:flex-start;aspect-ratio:1;margin:0;padding:clamp(16px,1.5vw,28px);position:relative;isolation:isolate;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left}button.stat-face{cursor:pointer}.stat-face::before,.stat-modal-media::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--stat-image) right bottom / 80% auto no-repeat;transform-origin:right bottom;transition:transform 600ms var(--ds-ease)}.stat-face:hover::before{transform:scale(1.06)}.card-particles{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}.stat-card--1{--stat-image:url(/wp-content/themes/construction/assets/img/stat-hardhat-shadow.webp)}.stat-card--2{--stat-image:url(/wp-content/themes/construction/assets/img/stat-structure-shadow.webp);background:var(--ds-dark);color:#fff;border-color:var(--ds-dark)}.stat-card--3{--stat-image:url(/wp-content/themes/construction/assets/img/stat-blueprints-shadow.webp);background:var(--ds-accent);color:#fff;border-color:var(--ds-accent)}.stat-card--4{--stat-image:url(/wp-content/themes/construction/assets/img/stat-building-shadow.webp)}.stat-face:focus-visible{outline:2px solid var(--ds-accent);outline-offset:8px}.stat-value{display:block;color:var(--ds-accent);font-size:clamp(1.5rem,2.5vw,3rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}.stat-label{display:block;margin-top:16px;font-size:1.125rem;line-height:1.3}.stat-hint{display:inline-block;margin-top:auto;padding-top:24px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--ds-muted);transition:color 300ms ease}.stat-face:hover .stat-hint{color:var(--ds-accent)}.stat-card--2 .stat-value,.stat-card--3 .stat-value,.stat-card--2 .stat-hint,.stat-card--3 .stat-hint,.stat-card--2 .stat-face:hover .stat-hint,.stat-card--3 .stat-face:hover .stat-hint{color:#fff}.stat-modal{width:min(1040px,100% - 48px)}.stat-modal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}.stat-modal-media{position:relative;isolation:isolate;display:flex;min-height:min(460px,100dvh - 80px);margin:16px;padding:clamp(24px,3vw,40px);flex-direction:column;overflow:hidden;border-radius:var(--ds-radius-card);font-family:var(--ds-font-display)}.stat-modal-media.stat-card--1,.stat-modal-media.stat-card--4{border:1px solid var(--ds-line);background:#fff}.stat-modal-media .stat-value{font-size:clamp(2.75rem,5vw,4.5rem)}.stat-modal-media .stat-label{font-size:clamp(1.125rem,1.6vw,1.5rem)}.stat-modal-info{display:flex;min-width:0;max-height:calc(100dvh - 48px);flex-direction:column;justify-content:center;padding:clamp(32px,4vw,56px) clamp(24px,4vw,56px) clamp(28px,3vw,48px) clamp(12px,2vw,24px);overflow-y:auto;overscroll-behavior:contain}.stat-modal-info .section-label{margin-bottom:22px}.stat-modal-title{margin:0;padding-right:48px;font-size:clamp(1.75rem,2.6vw,2.625rem);font-weight:400;line-height:1.08;letter-spacing:-.04em}.stat-modal-title strong{color:var(--ds-accent);font-weight:inherit}.stat-modal-lead{margin:20px 0 0;font-size:1.125rem;line-height:1.45;letter-spacing:-.01em}.stat-modal-text{margin-top:18px;color:var(--ds-text-soft);font-size:1rem;line-height:1.55}.stat-modal-text p{margin:0}.stat-modal-text p+p{margin-top:.8em}@media (max-width:900px){.about-layout{grid-template-columns:1fr;grid-template-rows:none}.about-layout .section-title{max-width:760px;font-size:clamp(2rem,5vw,3rem)}.about-section .about-photo{grid-column:1;grid-row:auto;min-height:0;margin-top:32px;aspect-ratio:1.5}.about-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.stat-modal{width:100%}.stat-modal-body{display:block}.stat-modal-media{min-height:0;aspect-ratio:1.1;margin:12px}.stat-modal-info{max-height:none;padding:20px 16px 32px;overflow:visible}.stat-modal-title{padding-right:0}}@media (max-width:540px){.about-section{padding:48px 12px}.about-layout .section-title+.about-text{margin-top:28px}.about-section .about-photo{aspect-ratio:1.1;border-radius:18px}.about-stats{grid-template-columns:1fr;gap:16px}.stat-value{font-size:clamp(2rem,9vw,3rem)}.stat-label{font-size:1rem}}.services-section{padding:var(--ds-section-y) 16px}.services-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6%;align-items:start}.services-head{display:contents}.services-layout .section-label{grid-column:1;grid-row:1}.services-layout .section-title{grid-column:1;grid-row:2;position:sticky;top:calc(var(--ds-header-h) + 24px)}.admin-bar .services-layout .section-title{top:calc(var(--ds-header-h) + 56px)}.services-list{grid-column:2;grid-row:2;display:grid;gap:clamp(28px,3vw,48px);overflow-anchor:none}.service-item summary{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--ds-rule);list-style:none;cursor:pointer;font-family:var(--ds-font-display);font-size:clamp(1.375rem,2vw,2.125rem);line-height:1.15;letter-spacing:-.03em;transition:color 160ms ease,border-color 160ms ease}.service-item summary::-webkit-details-marker{display:none}.service-item summary:hover,.services-list:not(.is-enhanced) .service-item[open] summary,.service-item.is-expanded summary{border-color:var(--ds-accent)}.service-item summary:hover .service-name{color:var(--ds-accent)}.service-item summary:focus-visible{outline:2px solid var(--ds-accent);outline-offset:6px}.service-number{flex:none;color:var(--ds-accent);font-variant-numeric:tabular-nums}.service-body{display:grid;grid-template-rows:1fr;max-width:540px;transition:grid-template-rows 380ms cubic-bezier(.33,0,.2,1),opacity 380ms ease}.service-item.is-collapsed .service-body{grid-template-rows:0fr;opacity:0}.service-body-inner{min-height:0;overflow:hidden}.service-body p{margin:20px 0 0;color:var(--ds-text-soft);font-size:1.125rem;line-height:1.4;letter-spacing:-.015em}.service-codes{display:inline-block;margin-top:16px;padding:6px 14px;border:1px solid var(--ds-pill);border-radius:var(--ds-radius-pill);font-size:.875rem;line-height:1.3;font-variant-numeric:tabular-nums}@media (max-width:900px){.services-layout{grid-template-columns:1fr}.services-layout .section-title{position:static;max-width:760px;font-size:clamp(2rem,5vw,3rem)}.services-list{grid-column:1;grid-row:3;margin-top:40px}}@media (max-width:540px){.services-section{padding:48px 12px}.service-body p{font-size:1rem}.service-codes{border-radius:14px}}@media (prefers-reduced-motion:reduce){.service-item summary,.service-body,.stat-face::before,.stat-hint{transition:none}}.portfolio-section{padding:var(--ds-section-y) 0;overflow:hidden}.portfolio-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,29.5%);gap:5%;align-items:end;margin-bottom:clamp(32px,3.5vw,56px);padding-inline:16px}.portfolio-intro p{margin:0 0 24px;font-size:1.125rem;line-height:1.4;letter-spacing:-.015em}.portfolio-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.portfolio-section:not(.is-enhanced) .portfolio-controls{display:none}.portfolio-tabs{display:inline-flex;padding:4px;border:1px solid var(--ds-pill);border-radius:var(--ds-radius-pill)}.portfolio-tab{padding:10px 18px;border:0;border-radius:var(--ds-radius-pill);background:#fff0;color:var(--ds-ink);font:inherit;font-size:.9375rem;line-height:1.2;cursor:pointer;transition:background-color 250ms ease,color 250ms ease}.portfolio-tab[aria-selected="true"]{background:var(--ds-ink);color:#fff}.portfolio-tab[aria-selected="false"]:hover{color:var(--ds-accent)}.portfolio-arrows{display:flex;gap:8px}.portfolio-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--ds-pill);border-radius:50%;background:#fff0;color:var(--ds-ink);cursor:pointer;transition:background-color 250ms ease,border-color 250ms ease,color 250ms ease,opacity 250ms ease}.portfolio-arrow:hover:not(:disabled){border-color:var(--ds-ink);background:var(--ds-ink);color:#fff}.portfolio-arrow:disabled{opacity:.35;cursor:default}.portfolio-arrow svg{width:20px;height:20px}.portfolio-tab:focus-visible,.portfolio-arrow:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.portfolio-panel+.portfolio-panel{margin-top:48px}.portfolio-section.is-enhanced .portfolio-panel+.portfolio-panel{margin-top:0}.portfolio-panel.is-entering{animation:portfolio-enter 500ms var(--ds-ease) both}@keyframes portfolio-enter{from{opacity:0;transform:translateY(16px)}}.portfolio-track{margin:0;padding:0 16px 8px;list-style:none}.portfolio-track .swiper-wrapper{margin:0;padding:0;list-style:none}.portfolio-section.is-enhanced .portfolio-track{cursor:grab}.portfolio-section.is-enhanced .portfolio-track:active{cursor:grabbing}.project-card{width:clamp(280px,34vw,600px);height:auto}.portfolio-section:not(.is-enhanced) .portfolio-track{overflow:visible}.portfolio-section:not(.is-enhanced) .swiper-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;transform:none}.portfolio-section:not(.is-enhanced) .project-card{width:auto}.project-media{overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--ds-radius-card);background:var(--ds-line)}.project-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ds-ease)}.project-card:hover .project-media img{transform:scale(1.04)}.project-media.is-fact{display:flex;align-items:flex-end;padding:clamp(20px,2vw,32px);font-family:var(--ds-font-display)}.project-media.is-dark{background:var(--ds-dark);color:#fff}.project-media.is-accent{background:var(--ds-accent);color:#fff}.project-media.is-light{border:1px solid var(--ds-line);background:#fff;color:var(--ds-ink)}.project-fact{display:grid;gap:12px;transform-origin:left bottom;transition:transform 700ms var(--ds-ease)}.project-card:hover .project-fact{transform:scale(1.04)}.fact-value{font-size:clamp(2.5rem,4.4vw,5rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.is-light .fact-value{color:var(--ds-accent)}.fact-caption{font-size:clamp(1rem,1.3vw,1.375rem);line-height:1.25}.project-body{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:20px;margin-top:22px}.project-number,.project-body h3{font-family:var(--ds-font-display);font-size:clamp(1.375rem,1.9vw,2rem);line-height:1.15;letter-spacing:-.03em}.project-number{color:var(--ds-accent);font-variant-numeric:tabular-nums}.project-body h3{margin:0;font-weight:400}.project-client{display:inline-block;margin-top:14px;padding:6px 14px;border:1px solid var(--ds-pill);border-radius:var(--ds-radius-pill);font-size:.875rem;line-height:1.3}.project-body p{max-width:460px;margin:12px 0 0;color:var(--ds-text-soft);font-size:1rem;line-height:1.45}.project-body .project-credit{margin-top:10px;color:#7a7a7a;font-size:.75rem;line-height:1.4}.project-credit a{color:inherit;text-underline-offset:2px}.project-credit a:hover{color:var(--ds-accent)}.project-card{position:relative}.project-open{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:0 0 4px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--ds-ink);font:inherit;font-size:.9375rem;line-height:1.2;cursor:pointer;transition:color 250ms ease}.project-open svg{width:18px;height:18px;transition:transform 300ms var(--ds-ease)}button.project-open::after{content:'';position:absolute;inset:0;z-index:1;border-radius:var(--ds-radius-card)}.project-card:hover .project-open{color:var(--ds-accent)}.project-card:hover .project-open svg{transform:translateX(4px)}.project-open:focus-visible{outline:none}.project-open:focus-visible::after{outline:2px solid var(--ds-accent);outline-offset:4px}.project-body .project-credit{position:relative;z-index:2}@media (max-width:900px){.portfolio-head{grid-template-columns:1fr;gap:24px;align-items:start}.portfolio-intro p{max-width:560px}.project-card{width:62vw}}@media (max-width:540px){.portfolio-section{padding:48px 0}.portfolio-head{padding-inline:12px}.portfolio-tabs{width:100%}.portfolio-tab{flex:1;padding-inline:8px;font-size:.875rem;white-space:nowrap}.portfolio-track{padding-inline:12px}.project-card{width:84vw}.project-media{border-radius:16px}.project-body{column-gap:14px}}@media (prefers-reduced-motion:reduce){.portfolio-tab,.portfolio-arrow,.project-media img,.project-fact,.project-open,.project-open svg{transition:none}.portfolio-panel.is-entering{animation:none}}.project-modal:has(.project-modal-media.is-empty){width:min(760px,100% - 48px)}.project-modal-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start}.project-modal-media{display:grid;gap:10px;min-width:0;padding:16px}.project-modal-media.is-empty{display:none}.project-modal-body:has(.is-empty){grid-template-columns:minmax(0,1fr)}.project-gallery{position:relative;width:100%;max-height:calc(100dvh - 48px - 32px - 82px);aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--ds-radius-card);background:var(--ds-line)}.project-modal-media:not(:has(.project-thumbs)) .project-gallery{max-height:calc(100dvh - 48px - 32px)}.project-gallery .swiper-wrapper,.project-thumbs .swiper-wrapper{margin:0;padding:0;list-style:none}.project-gallery .swiper-slide{height:100%}.project-gallery img{display:block;width:100%;height:100%;object-fit:cover}.project-gallery-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin-top:-24px;padding:0;border:0;border-radius:50%;background:rgb(250 249 247 / .88);color:var(--ds-ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color 250ms ease,color 250ms ease,opacity 250ms ease}.project-gallery-arrow:hover:not(:disabled){background:var(--ds-ink);color:#fff}.project-gallery-arrow:disabled{opacity:0;pointer-events:none}.project-gallery-arrow svg{width:20px;height:20px}.project-gallery-arrow:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.project-gallery-arrow.is-prev{left:14px}.project-gallery-arrow.is-next{right:14px}.project-gallery-count{position:absolute;bottom:14px;left:14px;z-index:2;margin:0;padding:6px 12px;border-radius:var(--ds-radius-pill);background:rgb(17 17 17 / .62);color:#fff;font-family:var(--ds-font-display);font-size:.8125rem;font-variant-numeric:tabular-nums;line-height:1.2}.project-thumbs{width:100%;margin:0}.project-thumbs .swiper-slide{width:96px;height:72px;overflow:hidden;border-radius:10px;opacity:.5;cursor:pointer;transition:opacity 250ms ease}.project-thumbs .swiper-slide:hover,.project-thumbs .swiper-slide-thumb-active{opacity:1}.project-thumbs .swiper-slide-thumb-active{box-shadow:inset 0 0 0 2px var(--ds-accent)}.project-thumbs img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.project-thumbs .swiper-slide-thumb-active img{padding:2px;border-radius:10px}.project-gallery:not(.swiper-initialized) .swiper-wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.project-gallery:not(.swiper-initialized) .swiper-slide{flex:0 0 100%;scroll-snap-align:start}.project-gallery:not(.swiper-initialized) .project-gallery-arrow,.project-gallery:not(.swiper-initialized) .project-gallery-count,.project-thumbs:not(.swiper-initialized){display:none}.project-modal-media.is-fact{display:flex;min-height:min(440px,60vh);margin:16px;padding:clamp(24px,3vw,48px);align-items:flex-end;border-radius:var(--ds-radius-card);font-family:var(--ds-font-display)}.project-modal-media.is-accent{background:var(--ds-accent);color:#fff}.project-modal-media.is-dark{background:var(--ds-dark);color:#fff}.project-modal-media.is-light{border:1px solid var(--ds-line);background:#fff;color:var(--ds-ink)}.project-modal-media .fact-value{font-size:clamp(3rem,6vw,6rem)}.project-modal-info{display:flex;min-width:0;max-height:calc(100dvh - 48px);flex-direction:column;padding:clamp(28px,3vw,48px) clamp(24px,3vw,48px) clamp(28px,3vw,40px);overflow-y:auto;overscroll-behavior:contain}.project-modal-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-right:56px}.project-modal-kicker .project-number{font-size:clamp(1.375rem,1.9vw,2rem);line-height:1}.project-modal-kicker .project-client{margin:0}.project-modal-title{margin:22px 0 0;font-size:clamp(1.75rem,2.4vw,2.5rem);font-weight:400;line-height:1.08;letter-spacing:-.04em}.project-modal-lead{margin:18px 0 0;font-size:1.125rem;line-height:1.45;letter-spacing:-.01em}.project-modal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 24px;margin:24px 0 0;padding:18px 0;border-block:1px solid var(--ds-rule)}.project-modal-facts dt{color:var(--ds-muted);font-size:.8125rem;line-height:1.3}.project-modal-facts dd{margin:4px 0 0;font-size:1rem;line-height:1.35}.project-modal-text{margin-top:22px;color:var(--ds-text-soft);font-size:1rem;line-height:1.55}.project-modal-text p{margin:0}.project-modal-text p+p{margin-top:.8em}.project-modal-subtitle{margin:28px 0 0;font-size:1.125rem;font-weight:500;line-height:1.2;letter-spacing:-.02em}.project-modal-works{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.project-modal-works li{position:relative;padding-left:22px;font-size:1rem;line-height:1.4}.project-modal-works li::before{content:'';position:absolute;top:.45em;left:0;width:8px;height:8px;border-radius:2px;background:var(--ds-accent)}.project-modal-info .project-credit{margin:22px 0 0;color:#7a7a7a;font-size:.75rem;line-height:1.4}@media (max-width:900px){.project-modal:has(.project-modal-media.is-empty){width:100%}.project-modal-body{display:block}.project-modal-media{padding:12px}.project-gallery{max-height:none}.project-modal-media:not(:has(.project-thumbs)) .project-gallery{max-height:none}.project-modal-media.is-fact{min-height:300px;margin:12px}.project-modal-media.is-empty+.project-modal-info{padding-top:76px}.project-modal-info{max-height:none;padding:16px 16px 32px;overflow:visible}.project-modal-kicker{padding-right:0}.project-thumbs .swiper-slide{width:72px;height:54px}}@media (max-width:540px){.project-gallery-arrow{width:40px;height:40px;margin-top:-20px}.project-gallery-arrow.is-prev{left:10px}.project-gallery-arrow.is-next{right:10px}}@media (prefers-reduced-motion:reduce){.project-gallery-arrow,.project-thumbs .swiper-slide{transition:none}}.documents-section{padding:var(--ds-section-y) 16px}.docs-table{width:100%;border-collapse:collapse}.docs-table th,.docs-table td{padding:24px 16px;border-bottom:1px solid var(--ds-rule);font-weight:400;text-align:left;vertical-align:baseline}.docs-table th:first-child,.docs-table td:first-child{padding-left:0}.docs-table th:last-child,.docs-table td:last-child{padding-right:0;text-align:right}.docs-table thead th{padding-top:0;padding-bottom:14px;border-bottom-color:#818181;color:var(--ds-muted);font-family:var(--ds-font-body);font-size:.875rem}.docs-table tbody tr{transition:background-color 250ms ease}.docs-table tbody tr:hover{background-color:rgb(24 90 219 / .045)}.doc-number,.doc-name{font-family:var(--ds-font-display);font-size:clamp(1.25rem,1.6vw,1.75rem);line-height:1.2;letter-spacing:-.03em}.doc-number{width:1%;color:var(--ds-accent);font-variant-numeric:tabular-nums}.doc-issuer,.doc-date{font-size:1rem;line-height:1.4}.doc-date{white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:900px){.docs-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.docs-table,.docs-table tbody,.docs-table th,.docs-table td{display:block}.docs-table tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:8px;padding:20px 0;border-bottom:1px solid var(--ds-rule)}.docs-table tbody th,.docs-table tbody td{padding:0;border:0;text-align:left}.docs-table tbody td:last-child{text-align:left}.docs-table tbody tr>:not(.doc-number){grid-column:2}.docs-table td[data-label]::before{content:attr(data-label) ": ";color:var(--ds-muted)}.doc-file{margin-top:6px}}@media (max-width:540px){.documents-section{padding:48px 12px}}@media (prefers-reduced-motion:reduce){.docs-table tbody tr{transition:none}}.partners-section{padding:var(--ds-section-y) 16px}.partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.1vw,16px);margin:0;padding:0;list-style:none}.partner{display:flex}.partner-card{position:relative;isolation:isolate;display:flex;width:100%;min-height:clamp(250px,20vw,300px);flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden;padding:clamp(20px,2.2vw,32px);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:#fff;color:var(--ds-ink);text-decoration:none;transition:border-color 300ms ease}.partner-card::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgb(24 90 219 / .09),transparent 65%);opacity:0;transition:opacity 400ms ease}a.partner-card:hover,a.partner-card:focus-visible{border-color:#cfc8c0}a.partner-card:hover::before,a.partner-card:focus-visible::before{opacity:1}a.partner-card:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.partner-logo{display:block;width:min(var(--logo-w,120px),100%);max-width:calc(100% - 56px);background-color:#a39c94;-webkit-mask:var(--logo) left center / contain no-repeat;mask:var(--logo) left center / contain no-repeat;transition:background-color 400ms ease}a.partner-card:hover .partner-logo,a.partner-card:focus-visible .partner-logo{background-color:var(--ds-ink)}.partner-arrow{position:absolute;top:clamp(16px,1.8vw,24px);right:clamp(16px,1.8vw,24px);display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--ds-line);border-radius:50%;color:var(--ds-ink);transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease,transform 500ms var(--ds-ease)}.partner-arrow svg{width:18px;height:18px}a.partner-card:hover .partner-arrow,a.partner-card:focus-visible .partner-arrow{border-color:var(--ds-accent);background:var(--ds-accent);color:#fff;transform:translate(2px,-2px)}.partner-body{display:grid}.partner-name{font-family:var(--ds-font-display);font-size:clamp(1.125rem,1.5vw,1.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto}.partner-name.is-exact-case{text-transform:none}.partner-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows 500ms var(--ds-ease)}.partner-more-inner{display:flex;min-height:0;flex-direction:column;gap:6px;overflow:hidden;opacity:0;transition:opacity 300ms ease}.partner-more-inner>:first-child{margin-top:12px}a.partner-card:hover .partner-more,a.partner-card:focus-visible .partner-more{grid-template-rows:1fr}a.partner-card:hover .partner-more-inner,a.partner-card:focus-visible .partner-more-inner{opacity:1;transition-delay:100ms}.partner-legal{color:var(--ds-muted);font-size:.8125rem;line-height:1.35}.partner-desc{color:var(--ds-text-soft);font-size:.9375rem;line-height:1.4}.partner-link{color:var(--ds-accent);font-size:.875rem;line-height:1.3}@media (hover:none){.partner-more{grid-template-rows:1fr}.partner-more-inner{opacity:1}.partner-logo{background-color:var(--ds-ink)}}@media (max-width:1000px){.partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.partners-section{padding:48px 12px}.partners-grid{grid-template-columns:1fr}.partner-card{min-height:0;gap:16px;padding:18px 18px 20px;border-radius:16px}.partner-logo{width:min(calc(var(--logo-w,120px) * .8),100%)}.partner-arrow{top:14px;right:14px;width:36px;height:36px}.partner-more-inner>:first-child{margin-top:8px}}@media (prefers-reduced-motion:reduce){.partner-card,.partner-card::before,.partner-logo,.partner-arrow,.partner-more,.partner-more-inner{transition:none}}.contacts-section{padding:var(--ds-section-y) 16px}.contacts-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:stretch}.contacts-layout.has-no-map{grid-template-columns:minmax(0,1fr)}.contacts-main{display:grid;align-content:start;gap:clamp(24px,3vw,40px)}.contacts-list{display:grid;margin:0}.contacts-list>div{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--ds-rule)}.contacts-list>div:first-child{padding-top:0}.contacts-list dt{color:var(--ds-muted);font-size:.9375rem;line-height:1.5}.contacts-list dd{margin:0;font-size:1.125rem;line-height:1.4}.contacts-list address{font-style:normal}.contacts-list a{color:var(--ds-ink);font-family:var(--ds-font-display);font-size:clamp(1.25rem,1.8vw,1.75rem);letter-spacing:-.02em;text-decoration:none;overflow-wrap:anywhere;transition:color 250ms ease}.contacts-list a:hover{color:var(--ds-accent)}.contacts-list a:focus-visible{outline:2px solid var(--ds-accent);outline-offset:4px}.contacts-map{overflow:hidden;min-height:420px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:var(--ds-line)}.contacts-map iframe{display:block;width:100%;height:100%;border:0}.contact-form{display:grid;gap:18px;padding:clamp(20px,2.5vw,40px);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:#fff}.contact-form h3,.requisites-head h3{margin:0;font-size:clamp(1.5rem,2.2vw,2.25rem);font-weight:400;line-height:1.1;letter-spacing:-.03em}.contact-form .wpcf7{position:relative}.contact-form-body{display:grid;gap:18px}.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}.wpcf7 .hidden-fields-container{display:none}.form-placeholder{margin:0;color:var(--ds-text-soft);line-height:1.5}.form-placeholder a{color:var(--ds-ink)}.wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--ds-error);font-size:.8125rem;line-height:1.35}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{display:grid;align-content:start;gap:8px;color:var(--ds-muted);font-size:.875rem}.form-field em{color:var(--ds-accent);font-style:normal}.form-field input{width:100%;min-height:50px;padding:12px 16px;border:1px solid #c9c4bd;border-radius:12px;background:var(--ds-paper);color:var(--ds-ink);font:inherit;font-size:1rem;transition:border-color 200ms ease,box-shadow 200ms ease,background-color 200ms ease}.form-field input:hover{border-color:#8a8a8a}.form-field input:focus{outline:none;border-color:var(--ds-accent);background:#fff;box-shadow:0 0 0 3px rgb(24 90 219 / .15)}.form-field input[aria-invalid="true"]{border-color:var(--ds-error)}.form-file .wpcf7-form-control-wrap,.form-consent .wpcf7-form-control-wrap,.form-consent .wpcf7-form-control,.form-consent .wpcf7-list-item{display:contents}.form-file .wpcf7-not-valid-tip,.form-consent .wpcf7-not-valid-tip{flex-basis:100%;order:3;margin-top:0}.form-file{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px;border:1px dashed var(--ds-pill);border-radius:12px;cursor:pointer;transition:border-color 250ms ease,background-color 250ms ease}.form-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.form-file:hover,.form-file:focus-within,.form-file.has-file{border-color:var(--ds-accent);background:var(--ds-tint)}.form-file:focus-within{outline:2px solid var(--ds-accent);outline-offset:3px}.form-file.is-invalid,.form-file:has(.wpcf7-not-valid){border-color:var(--ds-error)}.form-file-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--ds-radius-pill);background:var(--ds-ink);color:#fff;font-size:.9375rem;line-height:1.25}.form-file-button::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3l6.5 -6.5a3 3 0 0 0 -6 -6l-6.5 6.5a4.5 4.5 0 0 0 9 9l6.5 -6.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3l6.5 -6.5a3 3 0 0 0 -6 -6l-6.5 6.5a4.5 4.5 0 0 0 9 9l6.5 -6.5'/%3E%3C/svg%3E") center/contain no-repeat}.form-file-name{color:var(--ds-muted);font-size:.875rem;overflow-wrap:anywhere}.form-file.has-file .form-file-name{color:var(--ds-ink)}.form-file.is-invalid .form-file-name{color:var(--ds-error)}.form-consent{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 10px;color:var(--ds-text-soft);font-size:.875rem;line-height:1.4;cursor:pointer}.form-consent>span:last-child{flex:1 1 0%;min-width:0}.form-consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--ds-accent)}.form-consent .wpcf7-not-valid input,.form-consent input[aria-invalid="true"]{outline:2px solid var(--ds-error);outline-offset:2px}.form-actions{display:flex;align-items:center;gap:16px}.form-submit{min-height:52px;padding:0 28px;border:0;border-radius:var(--ds-radius-pill);background:var(--ds-accent);color:#fff;font:inherit;font-size:1rem;cursor:pointer;transition:background-color 250ms ease,opacity 250ms ease}.form-submit:hover{background:var(--ds-accent-hover)}.form-submit:disabled,.contact-form-body.submitting .form-submit{opacity:.6;cursor:progress}.form-submit:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.wpcf7-spinner{flex:none;visibility:hidden;width:22px;height:22px;border:2px solid var(--ds-line);border-top-color:var(--ds-accent);border-radius:50%;animation:ds-form-spin 800ms linear infinite}.contact-form-body.submitting .wpcf7-spinner{visibility:visible}@keyframes ds-form-spin{to{transform:rotate(360deg)}}.wpcf7-response-output{margin:0;font-size:.9375rem;line-height:1.4}.wpcf7-response-output:empty,.contact-form-body.init .wpcf7-response-output,.contact-form-body.submitting .wpcf7-response-output,.contact-form-body.resetting .wpcf7-response-output{display:none}.contact-form-body.sent .wpcf7-response-output{color:var(--ds-success)}.contact-form-body:is(.invalid,.unaccepted,.spam,.failed,.aborted,.payment-required) .wpcf7-response-output{color:var(--ds-error)}.grecaptcha-badge{visibility:hidden}.form-note{margin:0;color:var(--ds-muted);font-size:.8125rem;line-height:1.45}.form-note a{color:inherit;text-underline-offset:2px}.form-note a:hover{color:var(--ds-accent)}.requisites{margin-top:clamp(32px,4vw,64px);padding:clamp(20px,2.5vw,40px);border:1px solid var(--ds-line);border-radius:var(--ds-radius-card);background:#fff}.requisites-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.requisites-actions{display:flex;flex-wrap:wrap;gap:10px}.requisites-copy{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--ds-ink);border-radius:var(--ds-radius-pill);background:#fff0;color:var(--ds-ink);font:inherit;font-size:.9375rem;line-height:1.2;cursor:pointer;transition:background-color 250ms ease,color 250ms ease}.requisites-copy:hover{background:var(--ds-ink);color:#fff}.requisites-copy:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.requisites-copy svg{width:18px;height:18px}.requisites-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;margin:0}.requisites-list>div{padding:16px 0;border-top:1px solid var(--ds-line)}.requisites-list dt{color:var(--ds-muted);font-size:.8125rem;line-height:1.4}.requisites-list dd{margin:6px 0 0;font-family:var(--ds-font-display);font-size:clamp(1rem,1.3vw,1.25rem);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}@media (max-width:1100px){.requisites-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.contacts-layout{grid-template-columns:1fr}.contacts-map{min-height:0;aspect-ratio:16 / 10}}@media (max-width:540px){.contacts-section{padding:48px 12px}.contacts-list>div{grid-template-columns:1fr;gap:4px}.contacts-map{min-height:0;aspect-ratio:4 / 3;border-radius:16px}.form-grid,.requisites-list{grid-template-columns:1fr}.contact-form,.requisites{border-radius:16px}.form-submit{flex:1}}@media (prefers-reduced-motion:reduce){.contacts-list a,.form-field input,.form-file,.form-submit,.requisites-copy{transition:none}.wpcf7-spinner{animation-duration:2400ms}}.error404 main{display:flex;flex-direction:column}.page-404{display:flex;flex:1;align-items:center;padding:var(--ds-section-y) 16px}.page-404-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,5vw,96px);width:100%}.page-404-lead{max-width:520px;margin-top:24px;color:var(--ds-text-soft);font-size:1.125rem;line-height:1.5}.page-404-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.page-404-btn{display:inline-flex;min-height:52px;align-items:center;padding:0 28px;border:1px solid var(--ds-accent);border-radius:var(--ds-radius-pill);background:var(--ds-accent);color:#fff;font-size:1rem;text-decoration:none;transition:background-color 250ms ease,border-color 250ms ease,color 250ms ease}.page-404-btn:hover{border-color:var(--ds-accent-hover);background:var(--ds-accent-hover)}.page-404-btn.is-outline{border-color:var(--ds-ink);background:#fff0;color:var(--ds-ink)}.page-404-btn.is-outline:hover{background:var(--ds-ink);color:#fff}.page-404-btn:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.page-404-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:36px;padding-top:24px;border-top:1px solid var(--ds-rule)}.page-404-links a{color:var(--ds-muted);font-size:.9375rem;text-decoration:none;transition:color 200ms ease}.page-404-links a:hover{color:var(--ds-accent)}.page-404-links a:focus-visible{outline:2px solid var(--ds-accent);outline-offset:3px}.page-404-scene{position:relative;width:100%;max-width:640px;justify-self:end}.p404{display:block;width:100%;height:auto;overflow:visible}.p404-frame{fill:none;stroke:var(--ds-ink);stroke-width:2;stroke-linejoin:round}.p404-lattice{stroke:var(--ds-muted);stroke-width:1.2}.p404-tie{stroke:var(--ds-pill);stroke-width:1.2}.p404-ground{stroke:var(--ds-rule);stroke-width:2;stroke-dasharray:6 6}.p404-solid{fill:var(--ds-ink)}.p404-stripe{fill:var(--ds-accent)}.p404-block{fill:url(#p404-stripes);stroke:var(--ds-ink);stroke-width:2}.p404-cable{fill:var(--ds-ink)}.p404-hook-shape{fill:none;stroke:var(--ds-ink);stroke-width:3;stroke-linecap:round}.p404-sling{stroke:var(--ds-ink);stroke-width:1.5}.p404-digit{fill:var(--ds-ink);font-family:var(--ds-font-display);font-size:150px;text-anchor:middle}.p404-digit.is-zero{fill:var(--ds-accent)}.p404-light{fill:var(--ds-accent);animation:p404-blink 1.6s steps(1,end) infinite}.p404-hook{transform-box:view-box;transform-origin:300px 82px;animation:p404-swing 2.8s ease-in-out infinite alternate}.p404-load{animation:p404-lift 7s ease-in-out infinite}.p404-cable{transform-box:view-box;transform-origin:300px 82px;animation:p404-cable 7s ease-in-out infinite}@keyframes p404-swing{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}@keyframes p404-lift{0%,100%{transform:translateY(-70px)}45%,62%{transform:translateY(0)}}@keyframes p404-cable{0%,100%{transform:scaleY(.407)}45%,62%{transform:scaleY(1)}}@keyframes p404-blink{0%{opacity:1}50%{opacity:.15}}@media (max-width:900px){.page-404-inner{grid-template-columns:1fr}.page-404-scene{order:-1;max-width:520px;justify-self:center}}@media (max-width:540px){.page-404{padding:40px 12px}.page-404-actions .page-404-btn{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.p404-hook,.p404-load,.p404-cable,.p404-light{animation:none}.page-404-btn,.page-404-links a{transition:none}}