/* hero */
.h-hero{position:relative;min-height:max(720px,100svh);padding-top:calc(var(--nav-height) + 56px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--iron-900)}
.h-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1200ms var(--ease-standard)}
.h-hero-scrim{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.8) 0,rgba(0,0,0,.55) 20%,rgba(0,0,0,.6) 60%,#000 96%)}
.h-hero .ng-k{color:var(--smoke)}
.h-hero-c{position:relative;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.h-hero-c .ng-h1 span{display:block}
.h-hero-c .ng-h1 span+span{color:var(--line-light)}
.h-hero-side{display:flex;align-items:center;gap:16px;text-align:right}
.h-hero-bar{position:relative}
@media (max-width:820px){.h-hero-c{grid-template-columns:1fr}.h-hero-side{justify-content:space-between;text-align:left}}
/* capability */
.h-cap-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:end;padding:120px 0 80px}
.h-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.h-fact .v{color:var(--gold-300);font-family:var(--font-display);font-size:var(--fs-section);line-height:1;text-transform:uppercase}
.h-fact .l{margin-top:10px;font-size:var(--fs-caption);color:var(--ash)}
.h-cap-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--charcoal)}
.h-cap{padding:28px 24px 40px 0;border-top:1px solid transparent;margin-top:-1px;transition:border-color var(--dur-fast) var(--ease-standard)}
.h-cap:hover{border-top-color:var(--gold-500)}
.h-cap .t{font-family:var(--font-display);font-size:var(--fs-feature);line-height:1.15;text-transform:uppercase;margin:16px 0 12px}
@media (max-width:1000px){.h-cap-top{grid-template-columns:1fr;gap:40px}.h-cap-row{grid-template-columns:1fr 1fr}.h-cap{border-bottom:1px solid var(--charcoal)}}
@media (max-width:560px){.h-cap-row{grid-template-columns:1fr}.h-facts{grid-template-columns:1fr 1fr 1fr;gap:12px}.h-fact .v{font-size:36px}}
/* coordination (light) */
.h-light{background:var(--near-white);color:var(--black)}
.h-light .ng-k{color:var(--slate)}.h-light .ng-k b{color:var(--black)}
.h-light .ng-p{color:var(--graphite)}
.h-co-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:80px}
.h-co-head .ng-h2 em{font-style:normal;color:var(--slate)}
.h-eco{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1.25fr) 48px minmax(0,1.2fr) 48px minmax(0,1fr);align-items:stretch}
.h-node{padding:28px 24px 32px;border:1px solid var(--line-light);background:var(--white);display:flex;flex-direction:column;gap:14px;min-height:340px}
.h-node.core{background:var(--black);color:var(--white);border-color:var(--black)}
.h-node.core .ng-p{color:var(--steel)}
.h-node .t{font-family:var(--font-display);font-size:var(--fs-subsection);line-height:1;text-transform:uppercase}
.h-node ul{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column}
.h-node li{padding:9px 0;border-top:1px solid var(--line-light);font-size:var(--fs-caption);color:var(--graphite)}
.h-node.core li{border-top-color:var(--shadow-gray);color:var(--smoke)}
.h-link{display:flex;align-items:center;justify-content:center;position:relative;color:var(--slate)}
.h-link:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--steel)}
.h-link span{position:relative;background:var(--near-white);padding:4px;display:flex}
@media (max-width:1100px){.h-eco{grid-template-columns:1fr}.h-link{height:48px}.h-link:before{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid var(--steel)}.h-link span{transform:rotate(90deg)}.h-node{min-height:0}.h-co-head{grid-template-columns:1fr;gap:24px}}
/* services */
.h-sv{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.h-sv-g{padding-top:40px}
.h-sv-g+.h-sv-g{margin-top:24px}
.h-sv-gh{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding-bottom:16px}
.h-sv-gh .ng-p{font-size:var(--fs-caption);text-align:right;max-width:300px}
.h-srow{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--charcoal);color:var(--steel);cursor:pointer;padding:22px 0;font-family:var(--font-body);transition:color var(--dur-fast) var(--ease-standard)}
.h-srow .r{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:16px;align-items:center}
.h-srow .n{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--ash)}
.h-srow .t{font-family:var(--font-display);font-size:clamp(26px,2.6vw,36px);line-height:1.1;text-transform:uppercase}
.h-srow .d{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard);padding-left:64px}
.h-srow .d>div{overflow:hidden}
.h-srow .d p{margin:12px 0 4px;color:var(--ash);max-width:520px}
.h-srow.on{color:var(--white)}.h-srow.on .n{color:var(--gold-300)}.h-srow.on .ic{color:var(--gold-300)}
.h-srow.on .d{grid-template-rows:1fr;opacity:1}
.h-srow .ic{opacity:0;transition:opacity var(--dur-fast)}
.h-srow.on .ic{opacity:1}
.h-sv-media{position:sticky;top:calc(var(--nav-height) + 32px)}
.h-sv-frame{position:relative;aspect-ratio:4/5;background:var(--iron-900);overflow:hidden}
.h-sv-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--dur-slow) var(--ease-standard)}
.h-sv-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#000)}
.h-sv-cap{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;display:flex;justify-content:space-between;align-items:end;gap:16px}
@media (max-width:960px){.h-sv{grid-template-columns:1fr}.h-sv-media{display:none}.h-srow .d{padding-left:64px}}
@media (max-width:560px){.h-srow .r{grid-template-columns:36px minmax(0,1fr) 20px}.h-srow .d{padding-left:52px}.h-sv-gh .ng-p{display:none}}
/* process */
.h-pr-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:80px}
.h-pr-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.h-pr-line{position:absolute;left:0;right:0;top:11px}.h-pr-line [role=progressbar]>div{background:var(--gold-500)!important}
.h-pr-st{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;background:none;border:0;padding:0 16px 0 0;text-align:left;cursor:pointer;color:var(--ash);font-family:var(--font-body);position:relative;transition:color var(--dur-fast)}
.h-pr-st .dot{width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.h-pr-st .dot i{width:9px;height:9px;background:var(--graphite);transform:rotate(45deg);transition:background var(--dur-fast)}
.h-pr-st.done .dot i{background:var(--gold-700)}
.h-pr-st.on{color:var(--white)}
.h-pr-st.on .dot i{background:var(--gold-500);box-shadow:0 0 0 6px var(--black),0 0 0 7px var(--gold-500)}
.h-pr-st .v{font-family:var(--font-display);font-size:var(--fs-feature);text-transform:uppercase;line-height:1.1}
.h-pr-st .s{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;margin-top:6px}
.h-pr-panel{margin-top:64px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:end;border-top:1px solid var(--charcoal);padding-top:48px;min-height:280px}
.h-pr-big{font-family:var(--font-display);font-size:clamp(120px,16vw,240px);line-height:.8;color:var(--gold-700)}
.h-pr-list{display:none}
@media (max-width:900px){.h-pr-head{grid-template-columns:1fr;gap:24px}.h-pr-track,.h-pr-panel{display:none}.h-pr-list{display:block;list-style:none;margin:0;padding:0;border-left:1px solid var(--graphite);margin-left:5px}
.h-pr-list li{position:relative;padding:0 0 40px 32px}.h-pr-list li:before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;background:var(--white);transform:rotate(45deg)}}
/* reach */
.h-re{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.h-map{width:100%;height:auto;display:block}
.h-map .rt{fill:none;stroke:var(--gold-500);stroke-width:1;stroke-opacity:.6;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 2200ms var(--ease-standard)}
.h-map.in .rt{stroke-dashoffset:0}
.h-map .intl{fill:none;stroke:var(--gold-300);stroke-width:1;stroke-dasharray:3 6}
.h-map text{font-family:var(--font-body);font-size:11px;letter-spacing:.6px;text-transform:uppercase;fill:var(--ash)}
.h-map .hub{fill:var(--gold-500)}.h-map .ring{fill:none;stroke:var(--gold-500);stroke-opacity:.6}.h-map .il{fill:var(--gold-300)}
.h-map .ct{fill:var(--white)}
.h-map g.c:hover text{fill:var(--white)}
.h-re-legend{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;border-top:1px solid var(--charcoal);padding-top:24px}
@media (max-width:960px){.h-re{grid-template-columns:1fr}}
/* specialized */
.h-sp{position:relative;background:var(--iron-900);overflow:hidden}
.h-sp>img{position:absolute;left:0;right:0;top:-30%;width:100%;height:130%;object-fit:cover;object-position:center top}
.h-sp-scrim{position:absolute;inset:0;background:linear-gradient(var(--black) 0,var(--black) 30%,rgba(0,0,0,.72) 44%,rgba(0,0,0,.6) 54%,rgba(0,0,0,.85) 66%,var(--black) 82%)}
.h-sp-c{position:relative;padding-top:200px}
.h-sp-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:120px;border-top:1px solid var(--shadow-gray)}
.h-sp-i{padding:32px 32px 48px 0;border-bottom:1px solid var(--charcoal);display:flex;flex-direction:column;gap:12px}
.h-sp-i .t{font-family:var(--font-display);font-size:var(--fs-card-title);text-transform:uppercase;line-height:1.2}
@media (max-width:900px){.h-sp-g{grid-template-columns:1fr 1fr}.h-sp-c{padding-top:140px}}
.h-hero .ng-h1{font-size:clamp(48px,min(9vw,12.5vh),var(--fs-hero))}
@media (max-width:560px){.h-sp-g{grid-template-columns:1fr}}
/* cases */
.h-cs-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:80px}
.h-cs{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start}
.h-cs+.h-cs{margin-top:140px}
.h-cs.flip{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.h-cs.flip .h-cs-m{order:2;margin-top:120px}
.h-cs-m{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--iron-900)}
.h-cs-m img{width:100%;height:100%;object-fit:cover;display:block}
.h-cs-route{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:var(--fs-feature);text-transform:uppercase;color:var(--steel);margin:20px 0 32px}
.h-cs dl{margin:0;display:grid;grid-template-columns:130px minmax(0,1fr);border-top:1px solid var(--charcoal)}
.h-cs dt,.h-cs dd{padding:14px 0;border-bottom:1px solid var(--charcoal);margin:0}
.h-cs dt{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ash);padding-top:17px}
.h-cs dd{color:var(--graphite);font-style:normal}
@media (max-width:900px){.h-cs,.h-cs.flip{grid-template-columns:1fr;gap:32px}.h-cs.flip .h-cs-m{order:0;margin-top:0}.h-cs+.h-cs{margin-top:96px}}
/* why */
.h-why{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.h-why-l{position:sticky;top:calc(var(--nav-height) + 48px)}
.h-why-sec{background:var(--iron-900)}
.h-why-r>div{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:36px 0;border-top:1px solid var(--shadow-gray);align-items:baseline;transition:border-color var(--dur-fast) var(--ease-standard)}.h-why-r>div:hover{border-top-color:var(--gold-500)}.h-why-r .num{font-family:var(--font-display);font-size:var(--fs-subsection);line-height:1;color:var(--gold-300)}
.h-why-r>div:last-child{border-bottom:1px solid var(--shadow-gray)}
@media (max-width:900px){.h-why{grid-template-columns:1fr}.h-why-l{position:static}.h-why-r>div{grid-template-columns:56px minmax(0,1fr)}.h-why-r .num{font-size:var(--fs-feature)}.h-why-r>div .ng-p{grid-column:2}}
/* testimonial */
.h-tm{background:var(--iron-900);padding:140px 0}
.h-tm blockquote{margin:0;font-family:var(--font-display);font-size:clamp(32px,4.4vw,var(--fs-section));line-height:1.15;text-transform:uppercase;color:var(--graphite);max-width:1100px;text-wrap:balance}
/* insights */
.h-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.h-in>article:first-child{grid-row:span 1}
@media (max-width:960px){.h-in{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.h-in{grid-template-columns:1fr}}
/* cta */
.h-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
@media (max-width:960px){.h-cta{grid-template-columns:1fr;gap:48px}}
