/* White + fiber optic blue. Global visual theme. */
:root,html[data-theme=light]{--navy:#0878be;--platinum:#e3f4ff;--blue:#007fc8;--paper:#fff;--ink:#161a20;--muted:#58616d;--surface:#fff;--line:#e2e9ef;--soft:#f5faff;--shadow:0 8px 28px #0878be0b;--fiber:#39d7ff;color-scheme:light}
html[data-theme=dark]{--navy:#0878be;--blue:#50c9ff;--paper:#101b27;--ink:#f4f8fc;--muted:#bbcad7;--surface:#172534;--line:#314352;--soft:#203445;--fiber:#39d7ff;color-scheme:dark}
.site-header,.site-header.scrolled{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 3px 16px #162f4506}
.brand small{color:var(--muted)}.brand-mark{background:#effaff;border-color:#d5efff;color:#008fe8}.desktop-nav>a,.nav-dropdown>a{color:var(--muted)}.desktop-nav a.active,.desktop-nav a:hover,.dropdown-toggle{color:var(--blue)}.desktop-nav>a.active:after{background:var(--blue)}.icon-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.mobile-menu{background:var(--surface);border-color:var(--line);color:var(--ink)}
.button-blue,.button-platinum{background:#007fc8;color:#fff;border-color:#007fc8;box-shadow:0 5px 15px #008fe818}.button-outline{background:var(--surface);color:var(--blue);border-color:#9dd7f7}.button:hover{box-shadow:0 8px 20px #008fe820}.button-blue:hover,.button-platinum:hover{background:#006cab}.button-outline:hover{background:var(--soft)}.text-link,html[data-theme=dark] .text-link{color:var(--blue)}
.service-cinema{padding:20px 0 10px;background:var(--paper);overflow:visible}.service-cinema .cinema-shell{width:min(1200px,calc(100% - 48px));max-width:1200px;border:1px solid #dbeeff;border-radius:26px;overflow:hidden;box-shadow:0 9px 28px #008fe80c;isolation:isolate}.cinema-slide[data-cinema-slide]{--banner-paper:#f0f9ff;--banner-accent:#007fc8;background:linear-gradient(115deg,#e0f3ff,#f6fbff 62%,#fff)}.cinema-slide[data-cinema-slide='1']{--banner-paper:#ecfaff}.cinema-slide[data-cinema-slide='2']{--banner-paper:#f3faff}.cinema-slide[data-cinema-slide='3']{--banner-paper:#edf8ff}.cinema-image-card{background:transparent}.cinema-image-card img{object-fit:contain;top:0;left:0;width:55%;height:100%;mask-image:linear-gradient(90deg,#000 65%,transparent 99%);-webkit-mask-image:linear-gradient(90deg,#000 65%,transparent 99%);mix-blend-mode:multiply}.cinema-image-card:after{background:linear-gradient(90deg,transparent 35%,var(--banner-paper) 61%,#ffffffd9);opacity:.5}.service-cinema .cinema-title,.service-cinema .cinema-title .cinema-accent{color:#151c26}.service-cinema .cinema-highlight{color:#18232e}.service-cinema .cinema-description{color:#384754}.cinema-service-button.is-active:before{background:#008fe8}.cinema-service-button:before{background:#92bfd6}.cinema-slide-link:focus-visible{outline-color:#008fe8}.cinema-eyebrow{color:#007fc8;background:#ffffffb3;border-color:#cbeaff}
.expertise-strip{background:var(--paper);border:0}.expertise-strip .container{padding-block:20px}.expertise-strip .icon{color:#008fe8}.section{padding:60px 0}.section-soft{background:var(--soft)}.section-heading .eyebrow,.split-section .eyebrow,.page-intro .eyebrow{color:var(--blue)}.metal-icon,.metal-icon.large{background:linear-gradient(135deg,#fff,#e3f6ff);border:1px solid #d0efff;color:#008fe8;box-shadow:0 6px 18px #008fe810}
.service-card{position:relative;isolation:isolate;overflow:hidden;min-height:245px;padding:28px 28px 28px 35%;background:linear-gradient(120deg,#e4f5ff,#f5fbff 48%,#fff);border-color:#d5ebf9;border-radius:22px}.service-card:before{content:'';position:absolute;z-index:-1;left:0;top:0;bottom:0;width:48%;background:var(--service-art) center/contain no-repeat;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,#000 65%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 65%,transparent);opacity:.95}.service-card-head{gap:10px}.service-card-head .metal-icon{width:34px;height:34px;border-radius:10px;box-shadow:none}.service-card-head .metal-icon .icon{width:21px;height:21px}.service-card h3{font-size:25px;line-height:1.6}.service-card p{margin:10px 0 17px;color:#52616e;font-size:16px}.service-card .text-link{font-size:16px;color:#0079be}.service-card:hover{border-color:#91d7ff;transform:translateY(-3px)}
.service-detail{background:linear-gradient(120deg,var(--soft),var(--surface) 65%);border-color:var(--line)}.system-visual{background:linear-gradient(130deg,#ecf8ff,#fff);border:1px solid #cfeafb;color:#172a37;box-shadow:var(--shadow)}.system-visual .system-header,.system-line span{color:#536b7b}.system-line{background:#ffffffbc;border-color:#d4eafb}.system-line .icon{color:#008fe8}.system-line:before{background:#39d7ff}.cta{background:linear-gradient(120deg,#e6f6ff,#f8fcff);color:#141d27;border:1px solid #cfeafb}.cta p{color:#53616e}.project-art{background:linear-gradient(140deg,#ecfaff,#dbefff)}.project-art:before{border-color:#93d8ff}.filter-button[aria-pressed=true]{background:#007fc8;color:#fff}.step .step-number{color:#008fe8}.site-footer{background:var(--soft);color:var(--ink);border-top:1px solid var(--line)}.footer-grid h3{color:var(--ink)}.footer-grid p,.footer-grid>div>a:not(.brand),.footer-bottom{color:var(--muted)}.footer-bottom{border-color:var(--line)}.chat-launcher{background:var(--surface);color:#008fe8;border-color:#cfeaff;box-shadow:0 5px 20px #008fe81f}.chat-bubble.user{background:#007fc8;color:white}.mobile-bottom-nav{background:var(--surface);border-color:var(--line)}.mobile-bottom-nav a[aria-current=page]{background:#e8f7ff;color:#007fc8}.mobile-bottom-nav .mobile-contact{background:transparent;color:var(--muted)}
@media(max-width:767px){.service-cinema{padding:12px 0 4px}.service-cinema .cinema-shell{width:calc(100% - 24px);border-radius:20px}.service-cinema .cinema-copy{width:77%;right:17px;top:46%}.cinema-image-card img{left:-20%;width:85%;height:100%;mask-image:linear-gradient(90deg,#000 36%,transparent 95%);-webkit-mask-image:linear-gradient(90deg,#000 36%,transparent 95%)}.cinema-image-card:after{background:linear-gradient(90deg,transparent,var(--banner-paper) 70%);opacity:.64}.service-cinema .cinema-copy>*{text-shadow:0 1px 9px #fff,0 0 17px #fff}.expertise-strip{display:block}.expertise-strip .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:13px 0 7px}.expertise-strip span{font-size:11px;line-height:1.6;text-align:center;flex-direction:column;gap:5px;min-width:0}.expertise-strip .icon{width:26px;height:26px}.section{padding:32px 0}.section-heading{margin-bottom:20px;gap:14px}.section-heading h2{font-size:29px}.section-heading p{font-size:15px}.section-heading .eyebrow{font-size:13px;margin-bottom:9px}.section-heading>.text-link{font-size:13px}.service-grid{gap:14px}.service-card{padding:20px 17px 20px 32%;min-height:205px}.service-card h3{font-size:21px;line-height:1.65}.service-card p{font-size:14px;line-height:1.85;margin-bottom:12px}.service-card .text-link{font-size:13px;gap:5px}.service-card:before{width:49%}.service-card-head{display:block}.service-card-head .metal-icon{display:none}.cta{padding:25px}.cta h2{font-size:28px}.site-footer{padding-top:35px}.page-intro{padding:32px 0 25px}.page-intro p{font-size:17px}.service-detail{padding:24px}.contact-form,.contact-aside{padding:23px}.mobile-bottom-nav a{font-size:11px}.chat-launcher{border-radius:50%}}
@media(max-width:360px){.service-cinema .cinema-copy{right:14px;width:80%}.service-card{padding-left:28%}.service-card h3{font-size:20px}}
html[data-theme=dark] .service-card,html[data-theme=dark] .system-visual,html[data-theme=dark] .cta{background:var(--surface);color:var(--ink)}html[data-theme=dark] .service-card h3,html[data-theme=dark] .cta h2{color:var(--ink)}html[data-theme=dark] .service-card p,html[data-theme=dark] .cta p{color:var(--muted)}
.service-detail-art{width:180px;height:160px;object-fit:contain;mix-blend-mode:multiply}.service-detail-title{gap:18px}.service-detail h2{font-size:27px;line-height:1.65}@media(max-width:767px){.service-detail-title{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:12px}.service-detail-art{grid-column:2;grid-row:1;width:90px;height:90px}.service-detail-title h2{grid-column:1;grid-row:1;font-size:24px}}
/* Clearer image colors and stronger cinematic movement. */
.service-cinema .cinema-image-card img{opacity:1;filter:saturate(1.2) contrast(1.04);mask-image:linear-gradient(90deg,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 78%,transparent 100%);transform-origin:30% 55%}
.service-cinema .cinema-image-card:after{background:linear-gradient(90deg,transparent 47%,var(--banner-paper) 82%);opacity:.2}
.service-cinema .cinema-slide.is-active .cinema-image-card img{animation:fiber-camera 7.5s ease-in-out both}
@keyframes fiber-camera{0%{opacity:1;transform:scale(1.01) translate(-12px,5px)}50%{opacity:1;transform:scale(1.1) translate(2px,-5px)}100%{opacity:1;transform:scale(1.16) translate(13px,-8px)}}
@media(max-width:767px){.service-cinema .cinema-image-card img{left:-16%;width:87%;mask-image:linear-gradient(90deg,#000 55%,transparent 95%);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 95%)}.service-cinema .cinema-image-card:after{background:linear-gradient(90deg,transparent 40%,var(--banner-paper) 88%);opacity:.22}.service-cinema .cinema-copy>*{text-shadow:0 1px 3px #ffffff9c}.service-cinema .cinema-slide.is-active .cinema-image-card img{animation-name:fiber-mobile-camera}}
@keyframes fiber-mobile-camera{0%{opacity:1;transform:scale(1.01) translate(-8px,5px)}50%{opacity:1;transform:scale(1.1) translate(2px,-4px)}100%{opacity:1;transform:scale(1.15) translate(10px,-7px)}}
@media(prefers-reduced-motion:reduce){.service-cinema .cinema-slide.is-active .cinema-image-card img{animation:none!important;transform:none!important;opacity:1}}
@media(max-width:767px){.service-cinema .cinema-image-card img{left:-29%}.service-cinema .cinema-copy>*{text-shadow:0 1px 3px #ffffffc9}}

.service-cinema .cinema-description{font-family:var(--font);font-weight:400}

/* Whole-card navigation and single mobile consultation action. */
a.service-card,a.project-card,a.service-detail-title{color:inherit;text-decoration:none}
a.service-card{display:block;cursor:pointer}
a.service-card:focus-visible,a.project-card:focus-visible,a.service-detail-title:focus-visible{outline:3px solid #007fc8;outline-offset:4px}
.mobile-consultation-bar{display:none}
@media(max-width:1023px){
.mobile-bottom-nav.mobile-consultation-bar{display:grid;grid-template-columns:1fr;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#ffffff;border-top:1px solid #e2e9ef;box-shadow:0 -4px 18px #0878be0d}
.mobile-bottom-nav.mobile-consultation-bar .mobile-consultation-link{display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #007fc8;border-radius:14px;background:#007fc8;color:#fff;font-family:var(--font,Lalezar,Tahoma,sans-serif);font-size:20px;line-height:1.4;font-weight:400;text-decoration:none;box-shadow:0 4px 12px #007fc822}
.mobile-consultation-link:focus-visible{outline:3px solid #39d7ff;outline-offset:3px}
body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
}

.eyebrow.eyebrow-no-line::before,.eyebrow.eyebrow-no-line::after{display:none;content:none}

.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.site-footer .footer-grid-compact{grid-template-columns:minmax(240px,1fr) minmax(300px,1.2fr);gap:48px;align-items:center}
.site-footer .footer-logo{display:block;width:min(100%,340px);height:auto;margin-inline:auto}
.site-footer .footer-brand a{display:block;margin:0}
.site-footer .footer-services a{display:block;padding:5px 0;line-height:1.8}
.site-footer .footer-bottom{justify-content:center;text-align:center}
@media(max-width:700px){.site-footer .footer-grid-compact{grid-template-columns:1fr;gap:22px}.site-footer .footer-logo{width:270px;max-width:100%}.site-footer .footer-services{text-align:right}.site-footer .footer-bottom{line-height:1.9}}

/* Background motion starts mid-cycle and advances in one direction for the entire slide. */
.service-cinema .cinema-slide.is-active .cinema-image-card img{animation-name:fiber-forward-camera;animation-duration:12s;animation-delay:-1.875s;animation-timing-function:linear;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:both;will-change:transform}
@media(max-width:767px){.service-cinema .cinema-slide.is-active .cinema-image-card img{animation-name:fiber-mobile-camera}}
@media(prefers-reduced-motion:reduce){.service-cinema .cinema-slide.is-active .cinema-image-card img{animation:none!important;transform:none!important;will-change:auto}}

@keyframes fiber-forward-camera{from{transform:scale(1.01) translate(-12px,5px)}to{transform:scale(1.49) translate(68px,-36px)}}
@keyframes fiber-mobile-forward-camera{from{transform:scale(1.01) translate(-8px,5px)}to{transform:scale(1.458) translate(49.6px,-33.4px)}}

@media(max-width:767px){.service-cinema .cinema-slide.is-active .cinema-image-card img{animation-name:fiber-mobile-forward-camera}}

/* A distinct footer surface with accessible service navigation. */
.site-footer{width:calc(100% - 40px);max-width:1240px;margin:40px auto 24px;padding:32px 0 0;background:var(--surface);border:1px solid var(--line);border-top:4px solid #0099eb;border-radius:28px;box-shadow:0 12px 38px #008fe810;overflow:hidden}
.site-footer .footer-grid-compact{width:calc(100% - 64px);grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);gap:40px;align-items:center}
.site-footer .footer-logo{width:280px;max-width:100%;border-radius:16px}
.site-footer .footer-services{display:grid;gap:9px;min-width:0}
.site-footer .footer-services h3{font-size:22px;margin:0 0 7px;line-height:1.6}
.site-footer .footer-services a.footer-service-link{display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink);font-size:16px;line-height:1.7;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s}
.site-footer .footer-service-icon{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--surface);color:#008fe8;border:1px solid var(--line)}
.site-footer .footer-service-icon .icon{width:22px;height:22px}
.site-footer .footer-services a.footer-service-link:hover{border-color:#66c7fb;box-shadow:0 3px 12px #008fe810}
.site-footer .footer-services a.footer-service-link:focus-visible{outline:3px solid #008fe8;outline-offset:3px}
.site-footer .footer-bottom{width:100%;max-width:none;margin:26px 0 0;padding:18px 24px;background:var(--soft);border-top:1px solid var(--line);font-size:14px;line-height:1.8}
@media(max-width:700px){.site-footer{width:calc(100% - 24px);margin:28px auto 18px;padding-top:20px;border-radius:22px}.site-footer .footer-grid-compact{width:calc(100% - 32px);grid-template-columns:1fr;gap:18px}.site-footer .footer-logo{width:220px}.site-footer .footer-services h3{font-size:20px;margin-bottom:3px}.site-footer .footer-services a.footer-service-link{font-size:15px;padding:10px 11px;gap:10px;min-height:56px}.site-footer .footer-bottom{margin-top:20px;padding:15px 16px;font-size:13px}}

body.service-page-no-bar{padding-bottom:0!important}

.service-cinema .cinema-slide.is-active .cinema-image-card img{animation-iteration-count:infinite;animation-direction:normal;animation-play-state:running}
