/* Photographic chapters, bold type and a branded moving service ribbon. */
.landing-page{--dark:#161b19;background:#fff}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.landing-page .header{position:fixed;left:28px;right:28px;top:22px;border:0;border-radius:14px;box-shadow:0 8px 35px #09100b13;transition:top .35s,box-shadow .35s;max-width:1660px;margin:auto}
.landing-page .header-inner{height:82px;padding-inline:28px;max-width:none}
.landing-page .brand,.landing-page .brand img{width:225px}
.landing-page .nav .nav-contact{border-radius:7px;background:var(--orange);color:var(--ink);padding:14px 22px}
.landing-page .nav .nav-contact:hover{background:#ff9343}
.landing-page .header.is-scrolled{top:10px;box-shadow:0 5px 30px #09100b24}
.cinema{position:relative;isolation:isolate;background:#161b19;color:#fff;min-height:max(800px,100svh);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.cinema-visuals{position:absolute;inset:0;z-index:-3;overflow:hidden}
.cinema-scene{position:absolute;inset:0;margin:0;visibility:hidden;overflow:hidden}
.cinema-scene.is-active,.cinema-scene.is-outgoing{visibility:visible}
.cinema-scene.is-active{z-index:2}
.cinema-scene.is-outgoing{z-index:1}
.cinema-scene img{height:100%;width:100%;object-fit:cover;object-position:58% 45%}
.cinema-scene:nth-child(2) img{object-position:53% 50%}
.cinema-scene:nth-child(3) img{object-position:65% 45%}
.cinema-scene:nth-child(4) img{object-position:58% 43%}
.cinema-sweep{position:absolute;inset:0;z-index:-2;background:var(--orange);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);pointer-events:none}
.cinema-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07120e0d,#07120e10 30%,#07120ebd),linear-gradient(90deg,#07120ec4,#07120e73 57%,#07120e26)}
.cinema-content{position:relative;padding-top:175px;padding-bottom:195px;width:100%;max-width:1550px}
.cinema .eyebrow{font-size:.8rem;letter-spacing:.17em;margin-bottom:34px;color:#fafcf8}
.cinema .eyebrow:before{width:36px}
.cinema h1{font-size:clamp(3.8rem,7.5vw,8rem);font-weight:400;line-height:1.12;letter-spacing:-.065em;max-width:1380px;margin-left:-.055em}
.headline-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em;transform:translate3d(var(--heading-shift,0px),0,0);will-change:transform}
.headline-line>span{display:block}
.headline-accent{margin-left:10%;color:#ff923f;font-style:italic;font-weight:600;transform:translate3d(calc(var(--heading-shift,0px) * -1),0,0)}
.cinema-intro{display:flex;align-items:center;gap:45px;margin-top:40px;margin-left:10%}
.cinema-intro p{font-size:1rem;line-height:1.65;color:#fff;max-width:385px}
.cinema .button{border-radius:4px;min-height:54px;white-space:nowrap}
.cinema-bottom{position:absolute;left:0;right:0;bottom:30px;display:flex;align-items:end;justify-content:space-between;gap:30px;max-width:1550px}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:.8rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;min-height:48px}
.scroll-cue:hover{color:var(--orange)}
.scroll-track{display:block;width:2px;height:44px;background:#ffffff35;position:relative;overflow:hidden}
.scroll-track>span{position:absolute;top:0;height:18px;width:2px;background:var(--orange)}
.motion-ready .scroll-track>span{animation:scroll-signal 2.2s ease-in-out infinite}
.scene-controls{display:flex;align-items:end;gap:22px;visibility:hidden}
.motion-ready .scene-controls{visibility:visible}
.scene-caption{font-size:.875rem;color:#f3f7f0;text-align:right;max-width:145px;align-self:center}
.scene-buttons{display:flex;gap:12px}
.scene-selector{position:relative;display:block;width:78px;min-height:74px;padding:0 0 6px;background:none;border:0;color:#fff;text-align:left}
.scene-thumb{display:block;overflow:hidden;opacity:.45;transition:opacity .3s,transform .3s;outline:1px solid #ffffff80;outline-offset:-1px}
.scene-thumb img{display:block;aspect-ratio:1.7;width:100%;height:auto;object-fit:cover}
.scene-index{position:absolute;left:6px;top:27px;font-size:.75rem;font-weight:600;text-shadow:0 1px 5px #000}
.scene-selector:after,.scene-selector i{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;background:#ffffff40}
.scene-selector i{background:var(--orange);z-index:1;transform:scaleX(0);transform-origin:left}
.scene-selector.is-selected .scene-thumb,.scene-selector:hover .scene-thumb{opacity:1;transform:translateY(-6px)}
.scene-selector.is-selected i{transform:scaleX(var(--scene-progress,0))}
.scene-selector:focus-visible,.motion-toggle:focus-visible{outline:3px solid #ffad6d;outline-offset:5px}
.motion-toggle{display:flex;align-items:center;justify-content:center;gap:9px;background:#111a14a8;border:1px solid #ffffff60;color:white;border-radius:50px;padding:11px 14px;font-size:.8rem;min-height:44px;white-space:nowrap;margin-bottom:5px}
.motion-toggle:hover{background:#29352be0}
.motion-symbol{width:10px;height:11px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.motion-paused .motion-symbol{border:0;clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor}
.expertise-ribbon{background:var(--orange);color:#171c19;overflow:hidden;padding:24px 0}
.ribbon-track{display:flex;width:max-content;transform:translateX(0)}
.ribbon-track>span{display:block;flex-shrink:0;font-size:clamp(1.4rem,2.6vw,2.8rem);font-weight:500;line-height:1.15;letter-spacing:-.04em;white-space:nowrap}
.ribbon-track b{font-size:.65em;margin-inline:30px;font-weight:400;vertical-align:middle}
.motion-ready .ribbon-track{animation:service-ribbon 35s linear infinite}
.landing-page .service-strip{background:#161b19;border-top:0}
.landing-page .service-strip .wrap{padding-block:26px}
.landing-introduction{padding-block:110px 90px;overflow:hidden}
.landing-introduction h2{font-size:clamp(2.7rem,4.7vw,4.8rem)}
.introduction-images{display:grid;grid-template-columns:1.6fr 1fr;align-items:start;gap:35px;margin-top:60px}
.introduction-images figure{margin:0;translate:0 var(--photo-shift,0px)}
.introduction-images figure:nth-child(2){padding-top:90px}
.introduction-images img{aspect-ratio:1.65;object-fit:cover;clip-path:inset(0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1)}
.introduction-images figure:nth-child(2) img{aspect-ratio:1.3}
.introduction-images figcaption{font-size:.875rem;color:var(--muted);margin-top:15px}
.landing-page .section-heading h2{font-size:clamp(2.4rem,4.3vw,4.4rem)}
.landing-page .service-card{position:relative;background:transparent;transition:background .35s,transform .35s}
.landing-page .service-card:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.landing-page .service-card:hover:before{transform:scaleX(1)}
.landing-page .service-card:hover{background:white;transform:translateY(-4px)}
.landing-page .feature{overflow:hidden}
.landing-page .feature-content h2{font-size:clamp(2.3rem,4.2vw,4rem)}
.landing-page .sector-card{min-height:470px}
.landing-page .cta h2{font-size:clamp(2.4rem,4.4vw,4.4rem)}
.landing-page .cta{padding-block:80px}
.motion-ready .cinema .eyebrow{animation:soft-arrive .8s .15s both}
.motion-ready .cinema-intro{animation:soft-arrive 1s .55s both}
.motion-ready .cinema-bottom{animation:soft-arrive 1s .8s both}
.scroll-reveal{opacity:1;transform:none}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(55px);transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .scroll-reveal.is-visible{opacity:1;transform:none}
.motion-ready .introduction-images .scroll-reveal img{clip-path:inset(0 0 100% 0)}
.motion-ready .introduction-images .scroll-reveal.is-visible img{clip-path:inset(0)}
.motion-paused .scroll-reveal{opacity:1;transform:none;transition:none}
.motion-paused .introduction-images figure{translate:none}.motion-paused .introduction-images img{transform:none;clip-path:inset(0)!important}
.motion-paused .headline-line{transform:none}
.motion-paused .cinema *,.motion-paused .ribbon-track,.page-hidden .ribbon-track,.scene-halted .scroll-track>span{animation-play-state:paused!important}
@keyframes soft-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes scroll-signal{0%{transform:translateY(-20px)}70%,100%{transform:translateY(48px)}}
@keyframes service-ribbon{to{transform:translateX(-50%)}}
@media(min-width:1800px){.cinema h1{font-size:9rem}}
@media(max-width:1100px){.landing-page .header{left:18px;right:18px;top:18px}.landing-page .header-inner{padding-inline:23px;height:76px}.landing-page .brand,.landing-page .brand img{width:200px}.landing-page .nav{gap:22px}.cinema-content{padding-top:180px;padding-bottom:215px}.cinema-intro{gap:28px}.scene-caption{display:none}.scene-controls{gap:18px}.scene-selector{width:67px;min-height:64px}.scene-index{top:21px}.introduction-images{gap:24px}.landing-page .sector-card{min-height:400px}}
@media(max-width:800px){.landing-page .header{border-radius:12px;top:14px;left:14px;right:14px}.landing-page .header-inner{height:70px;padding-inline:20px}.landing-page .brand,.landing-page .brand img{width:203px}.landing-page .menu-toggle{border-radius:6px;min-height:43px}.landing-page .nav{top:70px;border-radius:0 0 12px 12px;border:0;box-shadow:0 18px 25px #0d180d18;padding:20px 25px}.landing-page .nav .nav-contact{margin-top:6px}.cinema{min-height:max(810px,100svh)}.cinema-content{padding-top:175px;padding-bottom:230px}.cinema h1{font-size:clamp(3.2rem,7.5vw,5rem);line-height:1.12}.headline-accent{margin-left:6%}.cinema-intro{margin-left:6%;gap:24px;align-items:flex-start;flex-direction:column;margin-top:32px}.cinema-intro p{font-size:1rem}.cinema-bottom{bottom:24px;display:grid;grid-template-columns:1fr;gap:15px}.scene-controls{justify-content:space-between;order:0}.scene-buttons{gap:12px}.scene-selector{width:72px;min-height:68px}.scene-index{top:24px}.scroll-cue{font-size:.75rem;gap:10px;order:1;min-height:30px}.scroll-track{height:28px}.cinema-scene img{object-position:66% 50%}.cinema-scene:nth-child(3) img{object-position:68% center}.cinema-shade{background:linear-gradient(180deg,#06120c15,#06120c28 30%,#06120cc4),linear-gradient(90deg,#06120cae,#06120c50)}.landing-introduction{padding-block:70px}.introduction-images{margin-top:40px;gap:20px}.introduction-images figure:nth-child(2){padding-top:45px}.introduction-images img{aspect-ratio:1.15}.introduction-images figure:nth-child(2) img{aspect-ratio:1}.introduction-images figcaption{font-size:.875rem;line-height:1.5}.landing-page .sector-card{min-height:360px}.expertise-ribbon{padding-block:20px}}
@media(max-width:520px){.landing-page .header-inner{gap:12px;padding-inline:16px;height:66px}.landing-page .brand,.landing-page .brand img{width:177px}.landing-page .nav{top:66px}.landing-page .menu-toggle{font-size:.875rem;padding:9px 12px}.cinema{min-height:max(790px,100svh)}.cinema-content{padding-top:165px;padding-bottom:235px}.cinema h1{font-size:clamp(2rem,7.8vw,3.9rem);letter-spacing:-.06em;line-height:1.25}.headline-accent{margin-left:5%}.cinema .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:30px;gap:9px}.cinema .eyebrow:before{width:20px}.cinema-intro{margin-left:5%;margin-top:28px}.cinema .button{font-size:.875rem;padding:15px 22px}.scene-controls{align-items:center;gap:12px}.scene-buttons{gap:9px}.scene-selector{width:44px;min-height:48px}.scene-index{font-size:.75rem;top:7px;left:4px}.motion-toggle{font-size:.75rem;padding:10px 12px;margin-bottom:6px}.scene-selector.is-selected .scene-thumb,.scene-selector:hover .scene-thumb{transform:translateY(-4px)}.cinema-scene:first-child img{object-position:63% 50%}.cinema-scene:nth-child(2) img{object-position:52% center}.cinema-scene:nth-child(4) img{object-position:53% center}.landing-page .service-strip .wrap{padding-block:23px}.introduction-images{grid-template-columns:1fr;gap:28px}.introduction-images figure:nth-child(2){padding-top:0;max-width:87%;margin-left:auto}.introduction-images img{aspect-ratio:1.6}.introduction-images figure:nth-child(2) img{aspect-ratio:1.5}.landing-page .cta{padding-block:60px}.ribbon-track b{margin-inline:20px}}
@media(max-width:360px){.landing-page .brand,.landing-page .brand img{width:153px}.cinema .eyebrow{font-size:.7rem}.scene-buttons{gap:6px}.scene-selector{width:36px}.motion-toggle{padding:10px;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.landing-page *,.landing-page *:before,.landing-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.headline-line,.introduction-images img{transform:none!important}.introduction-images figure{translate:none!important}.scroll-reveal,.motion-ready .scroll-reveal{opacity:1;transform:none}.motion-ready .introduction-images .scroll-reveal img{clip-path:inset(0)}}
