/* Direct introduction and an always-visible service overview. */
.home-page,.services-page{--paper:#fff;--ink:#090909;--muted:#626262;--line:#d7d7d7}
.build-hero{background:#090909;color:#fff;padding:0 var(--pad);overflow:hidden}
.build-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5%;padding:54px 0 44px;align-items:center}
.build-hero-copy{min-width:0;padding:10px 0}
.build-kicker{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.06em;line-height:1.6;margin:0 0 46px;color:#c0c0c0}
.build-dot{height:6px;width:6px;flex-shrink:0;background:#fff;display:inline-block}
.build-hero h1{font-size:clamp(58px,6.3vw,112px);line-height:1.025;letter-spacing:-.065em;font-weight:500;margin:0}
.build-claim{font-size:clamp(31px,3.7vw,63px);font-weight:400;line-height:1.1;letter-spacing:-.05em;margin:18px 0 30px;color:#b4b4b4}
.build-intro{font-size:18px;line-height:1.6;max-width:440px;color:#d1d1d1;margin:0 0 34px;letter-spacing:-.015em}
.build-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.build-primary,.build-secondary{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:52px;font-size:14px}
.build-primary{background:#fff;color:#090909;padding:15px 20px;transition:background .2s}
.build-primary:hover{background:#d9d9d9}.build-secondary{border-bottom:1px solid #777;min-height:45px;gap:18px}
.build-primary span,.build-secondary span{font-size:24px;line-height:1;transition:transform .3s}.build-primary:hover span{transform:translate(2px,2px)}.build-secondary:hover span{transform:translate(2px,-2px)}
.build-proof{font-size:11px;letter-spacing:.04em;color:#888;line-height:1.6;margin:39px 0 0}
.build-hero-project{display:block;min-width:0}.build-photo{position:relative;overflow:hidden;background:#222;aspect-ratio:.98}
.build-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 55%;filter:grayscale(1);transition:transform 1.2s var(--ease);animation:build-photo-in 1.2s var(--ease) both}
.build-hero-project:hover img{transform:scale(1.025)}
.build-image-label{position:absolute;top:20px;left:20px;padding:9px 11px;background:#fff;color:#090909;font-size:10px;letter-spacing:.06em;line-height:1.3}
.build-image-mark{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:46px;height:46px;background:#fff;color:#090909;font-size:27px;transition:transform .3s}.build-hero-project:hover .build-image-mark{transform:translate(2px,-2px)}
.build-project-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:18px;font-size:12px;line-height:1.5}.build-project-caption strong{font-weight:400;letter-spacing:.06em}.build-project-caption small{display:block;font-size:10px;letter-spacing:.04em;color:#999;margin-top:4px}.build-project-caption>span:last-child{color:#aaa;white-space:nowrap}
.build-chain{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;border-top:1px solid #444}
.build-chain li{position:relative;padding:24px 0 27px;display:flex;align-items:center;gap:24px;font-size:16px;overflow:hidden}
.build-chain li>span{font-size:11px;color:#999}.build-chain li:before{content:'';position:absolute;top:0;left:0;right:30px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;animation:build-line 10s ease infinite}.build-chain li:nth-child(2):before{animation-delay:1.2s}.build-chain li:nth-child(3):before{animation-delay:2.4s}.build-chain li:nth-child(4):before{animation-delay:3.6s}
@keyframes build-line{0%,8%{transform:scaleX(0)}30%,72%{transform:scaleX(1)}94%,100%{transform:scaleX(0);transform-origin:right}}
@keyframes build-photo-in{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.home-page .clients{padding-top:43px;padding-bottom:47px}.home-page .clients>p{margin-bottom:25px}
.home-page .intro{padding-top:100px;padding-bottom:100px}
.capabilities{background:#090909;color:#fff;padding-top:92px;padding-bottom:38px}
.capabilities-heading{display:grid;grid-template-columns:1fr 2.1fr;gap:30px;align-items:start;margin-bottom:65px}
.capabilities-heading>.section-label{color:#aaa;padding-top:8px}.capabilities-heading h2{font-size:clamp(43px,4.8vw,77px);letter-spacing:-.055em;line-height:1.03;margin:0;font-weight:400}.capabilities-heading>div>p{font-size:18px;line-height:1.6;letter-spacing:-.02em;margin:24px 0 0;color:#aaa}
.capabilities-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #494949}
.capability{min-width:0;display:flex;flex-direction:column;padding:31px 7% 39px 0;border-bottom:1px solid #494949}
.capability:nth-child(even){border-left:1px solid #494949;padding-left:7%;padding-right:0}
.capability-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em;color:#999;margin-bottom:31px}.capability-meta>span:first-child{color:#fff}
.capability-top h3{font-size:clamp(34px,3.5vw,53px);font-weight:400;letter-spacing:-.047em;line-height:1.07;margin:0 0 23px}
.capability-top>p{font-size:17px;line-height:1.6;color:#b2b2b2;max-width:475px;margin:0;min-height:82px}
.capability-art{width:100%;height:235px;display:flex;align-items:center;justify-content:center;margin:24px 0 17px}
.capability-art svg{width:100%;height:100%;max-width:440px;display:block;color:#fff;overflow:visible}
.capability-list{display:flex;gap:8px 20px;flex-wrap:wrap;list-style:none;padding:0 0 22px;margin:auto 0 0;border-bottom:1px solid #333;line-height:1.5;font-size:12px;color:#aaa}
.capability-list li{display:flex;gap:9px;align-items:center}.capability-list li:before{content:'';height:3px;width:3px;background:#777}
.capability-link{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;margin-top:21px;min-height:30px}.capability-link>span{font-size:27px;line-height:1;transition:transform .3s}.capability-link:hover>span{transform:translate(3px,-3px)}.capability-link:hover{text-decoration:underline;text-underline-offset:6px}
.capabilities-end{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:31px}.capabilities-end>p{font-size:16px;line-height:1.6;margin:0}.capabilities-end>p>span{color:#999;font-size:14px}.capabilities-end>a{font-size:14px;display:flex;align-items:center;gap:25px;padding:12px 0;border-bottom:1px solid #888}.capabilities-end>a>span{font-size:23px}
.services-page .page-hero{padding-bottom:72px}.services-page .next-services{border-top:0}
@media(min-width:1650px){.build-hero-grid{gap:7%;grid-template-columns:1.1fr 1fr}.build-photo{aspect-ratio:1.13}.build-hero h1{font-size:clamp(112px,6.1vw,145px)}}
@media(max-width:1100px){.build-hero-grid{gap:4%;padding-top:44px;padding-bottom:39px;grid-template-columns:1.12fr 1fr}.build-hero h1{font-size:6.5vw}.build-kicker{font-size:11px;margin-bottom:32px}.build-claim{font-size:4vw;margin-bottom:23px}.build-intro{font-size:16px;margin-bottom:25px}.build-actions{gap:15px}.build-primary,.build-secondary{font-size:12px;gap:15px}.build-primary{padding:12px 15px;min-height:47px}.build-proof{font-size:10px;margin-top:25px}.build-photo{aspect-ratio:.85}.build-project-caption>span:last-child{display:none}.capability-top>p{font-size:16px;min-height:103px}.capability-art{height:210px}.capability-list{gap:8px 15px}}
@media(max-width:760px){.build-hero-grid{grid-template-columns:1fr;gap:35px;padding-top:32px;padding-bottom:28px}.build-hero-copy{padding:0}.build-kicker{font-size:11px;letter-spacing:.04em;margin:0 0 30px}.build-hero h1{font-size:clamp(46px,10.4vw,79px);line-height:1.04;letter-spacing:-.06em}.build-claim{font-size:clamp(30px,6.8vw,48px);margin:15px 0 23px}.build-intro{font-size:16px;line-height:1.6;max-width:470px;margin-bottom:27px}.build-actions{gap:24px}.build-primary,.build-secondary{font-size:13px;gap:19px}.build-primary{min-height:49px;padding:13px 16px}.build-proof{display:none}.build-photo{aspect-ratio:1.2;max-height:480px}.build-image-label{top:14px;left:14px;font-size:10px}.build-image-mark{width:36px;height:36px;right:12px;bottom:12px;font-size:24px}.build-project-caption{padding-top:13px;font-size:11px}.build-project-caption>span:last-child{display:block;font-size:11px}.build-project-caption small{font-size:10px}.build-chain li{gap:11px;font-size:12px;padding:20px 0}.build-chain li>span{font-size:10px}.build-chain li:before{right:15px}.home-page .clients{padding-top:34px;padding-bottom:35px}.home-page .clients>p{font-size:10px;letter-spacing:.03em;margin-bottom:18px}.home-page .client-names{row-gap:8px}.home-page .intro{padding-top:58px;padding-bottom:60px}.capabilities{padding-top:56px;padding-bottom:30px}.capabilities-heading{display:block;margin-bottom:35px}.capabilities-heading>.section-label{font-size:11px;padding:0;margin-bottom:25px}.capabilities-heading h2{font-size:44px;line-height:1.06}.capabilities-heading>div>p{font-size:16px;margin-top:22px}.capabilities-grid{grid-template-columns:1fr}.capability,.capability:nth-child(even){padding:25px 0 30px;border-left:0}.capability-meta{font-size:11px;margin-bottom:25px}.capability-top h3{font-size:37px;line-height:1.07;margin-bottom:21px}.capability-top>p{font-size:16px;min-height:0;max-width:500px}.capability-art{height:220px;margin:20px 0 16px}.capability-list{font-size:12px;gap:8px 18px;padding-bottom:20px}.capability-link{font-size:14px;margin-top:18px}.capabilities-end{display:block;padding-top:27px}.capabilities-end>p{font-size:16px}.capabilities-end>p>span{font-size:14px;display:inline-block;margin-top:5px}.capabilities-end>a{display:inline-flex;margin-top:19px}.services-page .page-hero{padding-bottom:48px}}
@media(max-width:370px){.build-hero h1{font-size:43px}.build-claim{font-size:30px}.build-actions{gap:15px}.build-primary,.build-secondary{font-size:12px;gap:12px}.build-chain li{font-size:11px;gap:7px}.build-project-caption>span:last-child{font-size:10px}.capabilities-heading h2{font-size:39px}.capability-top h3{font-size:33px}.capability-art{height:190px}}
.motion-paused .build-photo img{animation:none;opacity:1;transform:none}.motion-paused .build-chain li:before{animation:none;transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.build-photo img{animation:none;transform:none}.build-chain li:before{animation:none;transform:scaleX(1)}}
/* Scoped monochrome architectural illustration system. */
.svc-visual{display:block;width:100%;height:auto;overflow:visible}
.svc-visual .svc-ground{stroke-opacity:.2}
.svc-visual .svc-wall,.svc-visual .svc-portal,.svc-visual .svc-counter,.svc-visual .svc-stage,.svc-visual .svc-event-entry,.svc-visual .svc-banner,.svc-visual .svc-brand-wall{transform-box:fill-box;transform-origin:center;animation:svc-assemble 7s cubic-bezier(.22,.7,.2,1) infinite both}
.svc-visual .svc-wall--two{animation-delay:.22s}
.svc-visual .svc-portal{animation-delay:.4s}
.svc-visual .svc-counter{animation-name:svc-place;animation-delay:.65s}
.svc-visual .svc-event-entry{animation-delay:.3s}
.svc-visual .svc-stage{animation-name:svc-place}
.svc-visual .svc-brand-wall{animation-delay:.3s}
.svc-visual .svc-banner{animation-name:svc-banner;transform-origin:center top}
.svc-visual .svc-light-line{animation:svc-light 7s ease-in-out infinite}
.svc-visual .svc-light-pool{animation:svc-light-pool 7s ease-in-out infinite}
.svc-visual .svc-guide{stroke-dasharray:260;stroke-dashoffset:0;animation:svc-guide 7s ease-in-out infinite}
.svc-visual .svc-guide-arrow{animation:svc-arrival 7s ease-in-out infinite}
@keyframes svc-assemble{0%,4%{opacity:0;transform:translateY(-9px)}20%,89%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-9px)}}
@keyframes svc-place{0%,9%{opacity:0;transform:translateY(8px)}25%,89%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(8px)}}
@keyframes svc-banner{0%,6%{opacity:0;transform:scaleY(.9)}24%,90%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(.9)}}
@keyframes svc-light{0%,15%,100%{opacity:.3}29%,83%{opacity:1}}
@keyframes svc-light-pool{0%,17%,100%{opacity:0}32%,81%{opacity:1}}
@keyframes svc-guide{0%,8%{stroke-dashoffset:260;opacity:0}12%{opacity:1}40%,86%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes svc-arrival{0%,36%,100%{opacity:0}45%,86%{opacity:1}}
.motion-paused .svc-visual *, .svc-visual.svc-static *{animation:none!important;opacity:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.svc-visual *{animation:none!important;opacity:1;stroke-dashoffset:0}}

@media(max-width:760px){.build-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.build-primary{width:100%;justify-content:space-between}.build-secondary{min-height:43px}}
