/* Sky Innovation / infrastructure drawn in motion. */
.line-art{display:block;width:100%;height:auto;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;overflow:visible;pointer-events:none}
.line-art .draw-line{vector-effect:non-scaling-stroke}
.page-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;transform:scaleX(var(--page-progress,0));transform-origin:left;background:var(--blue);pointer-events:none;z-index:101}
.is-cinematic .page-progress{background:#86aaff}
.hero-blueprint{position:absolute;right:7%;bottom:20%;width:190px;height:190px;z-index:1;color:#fff;opacity:.26;translate:var(--diagram-x,0px) var(--diagram-y,0px);transition:translate .6s var(--ease);pointer-events:none;border:1px solid #ffffff28;display:grid;place-items:center;transform:rotate(-8deg)}
.hero-drawing{width:118px;stroke-width:1.25}
.blueprint-cross{position:absolute;width:18px;height:18px}
.blueprint-cross::before,.blueprint-cross::after{content:"";position:absolute;background:currentColor}
.blueprint-cross::before{left:0;top:8px;width:18px;height:1px}.blueprint-cross::after{left:8px;top:0;width:1px;height:18px}
.blueprint-cross--one{top:-9px;left:-9px}.blueprint-cross--two{bottom:-9px;right:-9px}
.motion-ready .hero-frame.is-active .hero-drawing .draw-line{stroke-dasharray:1;animation:infrastructure-draw 2.1s var(--ease) .5s both}
.hero-frame.is-active .hero-drawing .draw-line:nth-child(2){animation-delay:.75s}
.brand-ribbon{position:relative;display:block;overflow:hidden;padding:25px 0 39px;isolation:isolate}
.ribbon-track{display:flex;width:max-content;will-change:auto}
.ribbon-group{display:flex;align-items:center;gap:54px;padding-right:54px;flex-shrink:0}
.ribbon-group>span:not(.ribbon-spark){font:700 clamp(52px,7.3vw,126px)/1 Arial,sans-serif;letter-spacing:-.06em;white-space:nowrap}
.ribbon-outline{color:transparent;-webkit-text-stroke:1px #ffffffb3}
.ribbon-spark{font:400 clamp(28px,3.1vw,48px)/1 Arial,sans-serif;color:#b8cdff}
.brand-ribbon .ribbon-note{display:block;position:absolute;bottom:10px;right:var(--gutter);font-size:9px;margin:0;letter-spacing:.15em}
.effects-ready .ribbon-track{animation:infrastructure-marquee 32s linear infinite;animation-play-state:paused}
.effects-ready .brand-ribbon.is-in-view .ribbon-track{animation-play-state:running}
.brand-ribbon:hover .ribbon-track,.menu-is-open .ribbon-track{animation-play-state:paused!important}
.infrastructure-art{margin-top:52px;margin-bottom:-26px;max-width:1320px;color:var(--blue)}
.line-art--landscape{stroke-width:1.45}
.art-guides{stroke:#174dea24;stroke-width:1}
.art-bridge{stroke:#174dea9c}
.art-water{stroke:#174dea75}.art-flow{stroke-dasharray:.012 .026}
.art-lane{stroke-dasharray:.015 .019!important;stroke:#174dea80}
.art-crane,.art-excavator{stroke:#174deac9}
.art-truck{fill:#174dea14;stroke:#174dea;transform-origin:590px 155px}
.effects-ready [data-line-scene]:not(.is-in-view) .draw-line{stroke-dasharray:1;stroke-dashoffset:1}
.effects-ready [data-line-scene].is-in-view .draw-line{stroke-dasharray:1;animation:infrastructure-draw 1.8s var(--ease) both}
.effects-ready [data-line-scene].is-in-view .art-bridge .draw-line:nth-child(2n){animation-delay:.14s}
.effects-ready [data-line-scene].is-in-view .art-crane .draw-line{animation-delay:.32s}
.effects-ready [data-line-scene].is-in-view .art-water .draw-line{animation-delay:.48s}
.effects-ready [data-line-scene].is-in-view .art-excavator .draw-line{animation-delay:.62s}
.effects-ready [data-line-scene].is-in-view .art-flow{animation:infrastructure-water 14s linear infinite}
.effects-ready [data-line-scene].is-in-view .art-truck{animation:infrastructure-truck 8s ease-in-out infinite alternate}
.effects-ready [data-line-scene].is-in-view .art-hook{animation:infrastructure-hook 3.5s ease-in-out infinite alternate;transform-origin:242px 89px}
.menu-is-open [data-line-scene] .art-flow,.menu-is-open [data-line-scene] .art-truck,.menu-is-open [data-line-scene] .art-hook{animation-play-state:paused!important}
.business-row{grid-template-columns:40px 1fr 24px}
.business-number{display:flex;flex-direction:column;gap:15px}
.business-icon{width:34px;color:#8ba9d0;stroke-width:1.25;transition:color .35s,translate .5s var(--ease)}
.business-row:hover .business-icon,.business-row:focus-visible .business-icon{color:#a8c3ff;translate:0 -3px}
.motion-ready .business-row:hover .business-icon .draw-line,.motion-ready .business-row:focus-visible .business-icon .draw-line{stroke-dasharray:1;animation:infrastructure-draw .8s var(--ease) both}
.service-mark{width:58px;margin-bottom:22px;color:var(--blue)}
.service-mark .line-art{stroke-width:1.2}
.motion-ready .service-detail.is-in-view .service-mark .draw-line{stroke-dasharray:1;animation:infrastructure-draw 1.4s var(--ease) .15s both}
.menu-content{position:relative;isolation:isolate}
.menu-drawing{position:absolute;right:0;bottom:0;width:100%;max-width:660px;opacity:.11;z-index:-1;pointer-events:none;overflow:hidden}
.menu-drawing .line-art{color:#fff}.menu-drawing :is(.art-bridge,.art-water,.art-crane,.art-excavator,.art-truck){stroke:#fff}.menu-drawing .art-guides{stroke:#ffffff65}
.menu-ready .menu-drawing .draw-line{stroke-dasharray:1;stroke-dashoffset:1}
.motion-ready .menu-ready.is-open .menu-drawing .draw-line{animation:infrastructure-draw 1.8s var(--ease) .4s both}
.contact-band{position:relative;isolation:isolate;overflow:hidden}
.contact-band-inner{position:relative;z-index:1}
.contact-schematic{position:absolute;left:43%;top:50%;translate:0 -50%;width:300px;color:#ffffff10;transform:rotate(-10deg);pointer-events:none}
.contact-schematic .line-art{stroke-width:.8}
.effects-ready .motion-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.effects-ready .motion-reveal.is-visible{opacity:1;transform:none}
.effects-ready .depth-image{scale:1.08;translate:0 var(--depth-y,0px);transition:translate .2s linear}
.hero-discover-icon,.hero-arrow,.menu-link-arrow{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .35s var(--ease),background .25s,border-color .25s,transform .45s var(--ease),color .25s}
.motion-ready .hero-count>[data-hero-count].count-arriving{animation:infrastructure-number .55s var(--ease) both}
.motion-control{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;background:none;color:#b9c0ce;font-size:12px;line-height:1.4}
.motion-control[hidden]{display:none}.motion-control:disabled{cursor:default;opacity:.7}
.hero-pause:disabled{cursor:default;opacity:.45}
.motion-control>i{display:block;width:8px;height:10px;border-inline:2px solid currentColor}
.motion-control[aria-pressed=true]>i{width:0;height:0;border:0;border-left:7px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.effects-paused :is(.ribbon-track,.art-flow,.art-truck,.art-hook,.hero-photo){animation-play-state:paused!important}
.effects-paused :is(.draw-line,.hero-frame,.hero-title-line>span,.count-arriving){animation:none!important}
.effects-paused .hero-frame{clip-path:none!important}
.effects-paused .line-art .draw-line{stroke-dashoffset:0!important}
.effects-paused :is(.hero-copy,.hero-blueprint,.menu-panel,.menu-visual,.menu-photo,.menu-link,.menu-heading,.menu-footer,.menu-visual-copy,.menu-visual-rule){transition:none!important}
.effects-paused .motion-reveal{opacity:1;transform:none;transition:none!important}.effects-paused .depth-image{translate:none;scale:1}
.effects-paused .reveal-image,.effects-paused .reveal-image img{transition:none!important;clip-path:none!important}
.page-is-hidden :is(.ribbon-track,.art-flow,.art-truck,.art-hook){animation-play-state:paused!important}
@keyframes infrastructure-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes infrastructure-marquee{to{transform:translateX(-50%)}}
@keyframes infrastructure-water{to{stroke-dashoffset:-1}}
@keyframes infrastructure-truck{from{transform:translate(-48px,12px)}to{transform:translate(48px,-12px)}}
@keyframes infrastructure-hook{from{transform:translateY(0)}to{transform:translateY(8px)}}
@keyframes infrastructure-number{from{opacity:.1;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-blueprint{width:240px;height:240px;right:8%}.hero-drawing{width:145px}}
@media(max-width:960px){.hero-blueprint{right:7%;width:150px;height:150px;bottom:23%}.hero-drawing{width:95px}.infrastructure-art{margin-top:38px}}
@media(max-width:760px){
 .hero-blueprint{display:none}.brand-ribbon{padding:22px 0 32px}.ribbon-group{gap:28px;padding-right:28px}.ribbon-group>span:not(.ribbon-spark){font-size:58px}.ribbon-spark{font-size:28px}.brand-ribbon .ribbon-note{font-size:8px;bottom:8px}
 .infrastructure-art{margin-top:30px;margin-bottom:-8px;padding-inline:12px}.line-art--landscape{stroke-width:1.3}.art-guides{opacity:.65}
 .business-icon{display:none}.business-number{display:block}.business-row{grid-template-columns:20px minmax(0,1fr) 76px 18px}
 .service-mark{width:44px;margin-bottom:17px}.menu-drawing{width:100%;right:0;bottom:12px;opacity:.085}.contact-schematic{width:220px;left:auto;right:-50px;top:37%}
 .effects-ready .motion-reveal{transform:translateY(16px)}.effects-ready .depth-image{scale:1.06}
}
@media(max-width:380px){.business-row{grid-template-columns:18px minmax(0,1fr) 64px 16px}.ribbon-group>span:not(.ribbon-spark){font-size:52px}}
@media(prefers-reduced-motion:reduce){
 .ribbon-track,.line-art *,.hero-drawing .draw-line,.count-arriving{animation:none!important}
 .line-art .draw-line{stroke-dashoffset:0!important}.hero-blueprint{translate:none}.effects-ready .motion-reveal{opacity:1;transform:none;transition:none}
 .effects-ready .depth-image{translate:none;scale:1}.hero-discover-icon,.hero-arrow,.menu-link-arrow{translate:none;transition:none}
 .menu-drawing .draw-line{stroke-dashoffset:0!important}
}
@media print{.hero-blueprint,.infrastructure-art,.menu-drawing,.contact-schematic,.page-progress{display:none}.ribbon-track{animation:none!important;transform:none}.ribbon-group:nth-child(2){display:none}.effects-ready .motion-reveal{opacity:1;transform:none}.depth-image{translate:none;scale:1}}
