/* A connected visual language. All product screens remain supplied originals. */
.site-header{background:#0b1421ed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.reading-progress{position:fixed;z-index:90;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#efa565,#7fd1d2,#efa565);transform:scaleX(0);transform-origin:left;pointer-events:none}
.main-nav{gap:25px}.main-nav>a{white-space:nowrap}.header-inner{gap:32px}
.hero{background:radial-gradient(ellipse at 66% 25%,#13354366,transparent 55%),#080f1b}
.hero:before{content:'';position:absolute;inset:0;z-index:-2;opacity:.09;background-image:radial-gradient(#b4cdd2 .7px,transparent .7px);background-size:29px 29px;mask-image:linear-gradient(90deg,transparent 15%,#000 70%)}
.hero-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2;color:#bce7e5;opacity:.45}
.hero-network .network-path{fill:none;stroke:currentColor;stroke-width:.6;opacity:.22}
.hero-network .network-trace{fill:none;stroke:#f7b678;stroke-width:1.3;stroke-dasharray:35 510;animation:network-flow 18s linear infinite}
.hero-network circle{fill:#a6dadd;opacity:.6}.hero-network .node-halo{fill:none;stroke:#efa565;stroke-width:.7;transform-box:fill-box;transform-origin:center;animation:node-pulse 7s ease-out infinite}
.hero-content h1{font-weight:460;letter-spacing:-.065em}.hero-content h1 span+span{color:#f0ad75}
.hero-content h1,.hero-description,.hero-actions{animation:hero-arrive .75s cubic-bezier(.2,.7,.2,1) both}.hero-description{animation-delay:.12s}.hero-actions{animation-delay:.24s}
.hero .hero-foot{display:flex;align-items:center;gap:13px}.hero-foot:before{content:'';width:28px;height:1px;background:#b49b82}
.hero-screen{box-shadow:0 28px 90px #0007,0 0 38px #5cbcc50c;border-color:#9fc4cf48}
.button{position:relative;isolation:isolate;overflow:hidden}.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#fff3 45%,transparent 70%);transform:translateX(-140%);transition:transform .65s ease}.button:hover:after{transform:translateX(140%)}
.service-card{border-radius:3px;position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}.service-card:before{content:'';position:absolute;top:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,#d59057,#72b6bb);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.service-card:hover:before,.service-card:focus-visible:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #1c29330b}.service-card:hover .line-icon{color:#b27140}
.project-cover{border-radius:4px}.project-cover img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-cover:hover img{transform:scale(1.035)}.project-meta h3 svg{transition:transform .3s}.project-card:hover .project-meta h3 svg{transform:translate(3px,-3px)}
.intro{position:relative}.identity-signature{font-size:10px!important;letter-spacing:.08em;color:#7d512e!important;margin-bottom:20px!important;text-transform:uppercase;font-weight:700}
.innovation-thread{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}.innovation-thread>p{font-size:13px;color:#315357;margin-bottom:20px}.connection-flow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.connection-flow a{font-size:10px;padding:10px 14px;border:1px solid #cfd9d6;border-radius:30px;background:#ffffff75;transition:background .25s,color .25s}.connection-flow a:hover{background:#17434b;color:#fff}.connection-flow>span{font-size:14px;color:#a56c40}
.page-hero{position:relative;background:radial-gradient(ellipse at 85% 20%,#1c44494a,transparent 55%),#0b1320;overflow:hidden}.page-hero:after{content:'';position:absolute;right:10%;top:-120px;width:430px;height:430px;border:1px solid #a9d3cc10;border-radius:50%;pointer-events:none;box-shadow:0 0 0 65px #accbc506,0 0 0 130px #accbc504}
.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:10px;color:#aebfc6;margin-bottom:24px;position:relative;z-index:1}.breadcrumbs a:hover{color:#f0b47f}.breadcrumbs>span{color:#6e858b}.page-hero .container{position:relative;z-index:1}
.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.about-layout h2{font-size:36px}.about-layout .lead{margin-top:26px;font-size:17px}.about-capabilities{list-style:none;padding:0;margin:0}.about-capabilities li{border-bottom:1px solid var(--line)}.about-capabilities a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;padding:18px 0}.about-capabilities svg{width:18px;height:18px;color:#a06940}.faq-section{padding-top:0}.faq-list{max-width:900px;margin-top:38px}.faq-list details{border-top:1px solid var(--line);padding:23px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:18px;cursor:pointer;font-weight:500;letter-spacing:-.025em;list-style:none;display:flex;justify-content:space-between;gap:22px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#a57042}.faq-list details[open] summary:after{content:'−'}.faq-list p{padding:17px 35px 0 0;font-size:14px;line-height:1.9}
.footer-about{margin-top:22px}.footer-about a{font-size:11px;border-bottom:1px solid #81969c50;padding-bottom:5px}
.image-dialog{width:min(1560px,97vw);max-width:97vw;height:min(950px,96dvh);max-height:96dvh;padding:0;border:1px solid #8ba7b94d;border-radius:10px;overflow:hidden;background:#0c1723;box-shadow:0 25px 100px #000b;grid-template-rows:auto minmax(0,1fr) auto auto}
.image-dialog[open]{display:grid}.image-dialog::backdrop{background:#030a12ed;backdrop-filter:blur(16px)}
.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 23px;border-bottom:1px solid #8ba7b91a;min-height:62px}.lightbox-project{font-size:13px;font-weight:600;color:#f4f5f6}.lightbox-count{font-size:10px;color:#a4bbc5;margin-left:18px}.image-dialog .dialog-close{position:static;display:flex;align-items:center;gap:15px;font-size:10px;color:#f0c7a1;padding:5px}.image-dialog .dialog-close span{font-size:24px}
.lightbox-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;padding:20px 70px;overflow:hidden;background:radial-gradient(ellipse at center,#24344044,transparent 80%)}
.lightbox-stage>img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 7px 35px #0003;touch-action:pan-y;user-select:none}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #91adb63b;background:#132b37d9;color:#e8f4f5;width:42px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:26px;transition:background .2s,border-color .2s}.lightbox-arrow:hover{background:#26545a;border-color:#e9b280}.lightbox-prev{left:15px}.lightbox-next{right:15px}
.lightbox-caption{margin:0;text-align:center;font-size:11px;padding:4px 30px 16px;color:#bfd0d5;line-height:1.7;min-height:30px}.lightbox-thumbnails{display:flex;align-items:center;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;padding:12px 20px 16px;border-top:1px solid #8ba7b91a;scrollbar-width:thin;scrollbar-color:#53727c #12202c}.lightbox-thumbnails button{flex:0 0 86px;padding:3px;border:1px solid #7198a333;border-radius:4px;background:#162736;opacity:.52;transition:opacity .2s,border-color .2s}.lightbox-thumbnails button[aria-current=true]{opacity:1;border-color:#efb27c;box-shadow:0 0 0 1px #efb27c44}.lightbox-thumbnails button:hover{opacity:1}.lightbox-thumbnails img{height:48px;width:100%;object-fit:contain;background:#e5e9eb}.lightbox-thumbnails button span{display:block;font-size:8px;color:#b9cbd3;padding-top:3px}
.project-gallery figure{border-radius:5px;overflow:hidden;border:1px solid #223d4510;transition:box-shadow .35s}.project-gallery figure:hover{box-shadow:0 15px 45px #122b3510}.project-image-link .image-expand{border-radius:3px;backdrop-filter:blur(12px)}
.form-status{margin-top:20px;padding:17px 20px;border:1px solid #b8d6cf;background:#e8f3ed;color:#205749;font-size:13px;line-height:1.8;border-radius:4px}.form-status.is-error{border-color:#dfb9aa;background:#fbf0e9;color:#85492f}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-grid form{position:relative}.contact-grid button:disabled{opacity:.65;cursor:wait}.form-direct{display:inline-block;font-size:11px;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:3px}.form-hint{max-width:580px}
.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes network-flow{to{stroke-dashoffset:-1090}}@keyframes node-pulse{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.7;transform:scale(1.4)}}@keyframes hero-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
@media(min-width:1281px){.hero-screen.screen-main{top:15%}.hero-screen.screen-map{top:55%}}
@media(max-width:1200px){.main-nav{gap:18px}.header-inner{gap:24px}.header-cta{font-size:10px}.about-layout{gap:45px}}
@media(max-width:1040px){.main-nav{gap:20px}.about-layout{grid-template-columns:1fr;gap:35px}.hero-network{opacity:.3}}
@media(max-width:760px){.main-nav{gap:3px}.hero-content h1{letter-spacing:-.065em}.hero-network{opacity:.22}.innovation-thread{margin-top:27px;padding-top:22px}.connection-flow{gap:8px}.connection-flow a{font-size:9px;padding:8px 12px}.connection-flow>span{font-size:12px}.breadcrumbs{font-size:9px;gap:7px;margin-bottom:22px}.page-hero:after{right:-50%;width:330px;height:330px}.about-layout h2{font-size:30px}.about-layout .lead{font-size:14px}.about-capabilities a{font-size:12px}.faq-list summary{font-size:16px}.faq-list p{font-size:12px;padding-right:10px}.image-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.lightbox-toolbar{padding:14px;gap:10px}.lightbox-project{font-size:11px}.lightbox-count{display:block;margin:3px 0 0;font-size:9px}.image-dialog .dialog-close{font-size:9px;gap:10px}.lightbox-stage{padding:12px 8px 62px;align-items:center}.lightbox-arrow{top:auto;bottom:6px;transform:none;width:48px;height:40px;font-size:23px}.lightbox-prev{left:calc(50% - 57px)}.lightbox-next{right:calc(50% - 57px)}.lightbox-caption{font-size:10px;padding:6px 16px 12px}.lightbox-thumbnails{padding:10px 12px 13px;gap:7px}.lightbox-thumbnails button{flex-basis:72px}.lightbox-thumbnails img{height:40px}.form-status{font-size:12px}.footer-about{margin-top:18px}.identity-signature{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.hero-network .network-trace,.hero-network .node-halo,.hero-content h1,.hero-description,.hero-actions{animation:none}.motion-ready .reveal{opacity:1;transform:none;transition:none}.reading-progress{display:none}.service-card:hover,.project-cover:hover img{transform:none}.button:after{display:none}}

