/* AISMISR · Connected Intelligence. Shared public-site design system. */
:root {
 --cyan:#20e5df;--cyan-dark:#12bcb9;--cyan-light:#8cfff6;--cyan-glow:rgba(32,229,223,.12);
 --bg-primary:#031019;--bg-secondary:#071823;--bg-card:#0a1c28;--bg-card-hover:#102a37;--bg-nav:rgba(3,16,25,.94);
 --text-primary:#f2fbff;--text-secondary:#b4ccd6;--text-muted:#8aabbc;--border:rgba(130,201,219,.16);--border-hover:rgba(32,229,223,.5);
 --container-max:1360px;--section-py:clamp(64px,7vw,112px);--radius-sm:7px;--radius-md:12px;--radius-lg:18px;--radius-xl:22px;
 --violet:#20e5df;--violet-glow:rgba(32,229,223,.1);--shadow-cyan:rgba(32,229,223,.12);
}
[data-theme="light"] {--cyan:#087c80;--cyan-dark:#066369;--cyan-light:#10a3a3;--bg-primary:#f4f9fa;--bg-secondary:#e9f2f4;--bg-card:#fff;--bg-card-hover:#eef7f8;--bg-nav:rgba(244,249,250,.96);--text-primary:#092331;--text-secondary:#385563;--text-muted:#506c79;--border:rgba(19,74,91,.17);--border-hover:#087c80;}
html {scroll-padding-top:100px;}
body {background:var(--bg-primary);background-image:none;overflow-x:clip;letter-spacing:0;}
body::before,body::after {display:none;}
.container {width:min(100% - 80px,var(--container-max));max-width:var(--container-max);padding-inline:0;}
a,button,input,textarea,select {-webkit-tap-highlight-color:transparent;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline:2px solid var(--cyan);outline-offset:5px;}
.btn {border-radius:8px;min-height:48px;padding:12px 25px;font-weight:700;box-shadow:none;letter-spacing:0;transition:background .2s,transform .2s,border-color .2s;}
.btn::before,.btn::after {display:none;}
.btn-primary {background:var(--cyan);color:#03202b;border:1px solid var(--cyan);box-shadow:none;}
.btn-primary:hover {background:var(--cyan-light);color:#03202b;transform:translateY(-2px);box-shadow:0 8px 26px var(--shadow-cyan);}
[data-theme="light"] .btn-primary {color:#fff;}
.btn-outline {background:transparent;border:1px solid var(--border-hover);color:var(--text-primary);}
.btn-outline:hover {background:var(--bg-card-hover);border-color:var(--cyan);}
.site-header {position:fixed;inset:0 0 auto;z-index:1000;}
.navbar,.navbar.scrolled {background:var(--bg-nav);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);box-shadow:none;min-height:84px;}
.nav-container {min-height:84px;gap:30px;}
.nav-logo {gap:9px;flex-shrink:0;}
.nav-logo .logo-img {width:55px;height:40px;object-fit:contain;}
.logo-text {font-size:24px;font-weight:800;letter-spacing:1px;background:none;-webkit-text-fill-color:var(--text-primary);color:var(--text-primary);}
.nav-links {gap:22px;}
.nav-link {font-size:14px;padding:10px 0;color:var(--text-secondary);}
.nav-link:hover,.nav-link.active {color:var(--cyan);}
.nav-ico {display:none;}
.nav-actions {gap:14px;}
.nav-actions .nav-cta {font-size:13px;min-height:42px;padding:9px 16px;}
.theme-toggle {width:36px;height:36px;border:1px solid var(--border);background:transparent;border-radius:50%;}
.nav-actions-lang .lang-switch {background:none;border:0;padding:5px;font-size:13px;}
/* A spatial hero: semantic copy and links remain independent of WebGL. */
.digital-hero {position:relative;isolation:isolate;overflow:hidden;min-height:820px;height:min(100svh,1100px);padding-top:84px;background:#031019;color:#f2fbff;}
.digital-stage {position:absolute;inset:72px auto 40px -4%;width:65%;z-index:-1;pointer-events:none;}
.digital-stage canvas {display:block;width:100%;height:100%;opacity:0;transition:opacity 1s;}
.digital-fallback {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 1s;}
.digital-stage.is-ready canvas {opacity:1;}
.digital-stage.is-ready .digital-fallback {opacity:.12;}
.digital-hero-layout {height:calc(100% - 92px);min-height:650px;display:grid;grid-template-columns:46% 54%;align-items:center;position:relative;}
.digital-copy {position:relative;z-index:2;padding-block:45px 90px;}
.digital-eyebrow {font-family:Arial,sans-serif;font-size:10px;letter-spacing:.23em;color:#73b2c4;margin-bottom:28px;text-align:start;}
[dir="rtl"] .digital-eyebrow {text-align:right;}
.digital-copy h1 {font-size:clamp(46px,4.5vw,76px);line-height:1.4;font-weight:800;letter-spacing:-.035em;color:#f2fbff;margin:0 0 28px;}
.digital-copy h1 span {color:#20e5df;}
.digital-lead {font-size:clamp(18px,1.5vw,23px);line-height:1.9;color:#d2e4eb;max-width:31em;margin:0 0 35px;}
.digital-actions {display:flex;gap:14px;flex-wrap:wrap;}
.digital-actions .btn {min-height:54px;padding:13px 25px;font-size:16px;}
.digital-actions .btn-primary {background:#20e5df;color:#03202b;border-color:#20e5df;}
.digital-actions .btn-outline {border-color:#88a9b7;color:#f2fbff;background:rgba(3,16,25,.5);}
.digital-location {font-size:12px;color:#88aeba;margin-top:24px;}
.digital-nodes {position:relative;height:100%;min-height:620px;direction:ltr;}
.digital-node {position:absolute;display:flex;align-items:center;gap:10px;color:#e8fbff;font-size:14px;font-weight:700;text-decoration:none;border:1px solid rgba(74,222,225,.3);border-radius:7px;padding:9px 13px;background:rgba(3,16,25,.76);backdrop-filter:blur(10px);transition:border-color .2s,transform .2s,background .2s;}
.digital-node:hover,.digital-node:focus-visible {border-color:#20e5df;background:#123544;transform:translateY(-4px);}
.node-index {font:11px monospace;color:#20e5df;}
.node-software {left:9%;top:19%;}
.node-network {left:1%;top:54%;}
.node-security {left:42%;bottom:12%;}
.digital-hero-bottom {position:absolute;bottom:30px;inset-inline:0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#89acb9;}
.digital-motion {font:inherit;color:#a6c4ce;background:rgba(3,16,25,.6);border:1px solid #365866;border-radius:5px;padding:8px 12px;min-height:36px;cursor:pointer;}
.digital-motion[hidden] {display:none;}
.digital-scroll {color:#cfedf1;font-size:13px;text-decoration:none;border-bottom:1px solid #367080;padding-block:10px;}
.digital-coordinate {font:10px Arial,sans-serif;letter-spacing:.12em;}
[dir="ltr"] .digital-stage {left:auto;right:-4%;}
[dir="ltr"] .digital-copy h1 {font-size:clamp(45px,4vw,68px);line-height:1.18;letter-spacing:-.045em;}
[dir="ltr"] .node-software {left:auto;right:8%;}
[dir="ltr"] .node-network {left:auto;right:0;}
[dir="ltr"] .node-security {left:auto;right:42%;}
/* Shared editorial system across home, services, projects, articles and forms. */
.section {padding-block:var(--section-py);}
.section-header {max-width:820px;margin:0 auto 46px;}
.section-tag {background:none;border:0;padding:0;margin-bottom:14px;color:var(--cyan);letter-spacing:.03em;font-size:13px;font-weight:700;}
.section-title {font-size:clamp(28px,3vw,46px);line-height:1.5;letter-spacing:-.025em;}
.gradient-text {background:none;color:var(--cyan);-webkit-text-fill-color:var(--cyan);}
.section-desc {font-size:16px;line-height:1.95;color:var(--text-secondary);max-width:700px;}
.clients-section {background:var(--bg-secondary);border-block:1px solid var(--border);padding:21px 0;}
.clients-section::before,.clients-section::after {display:none;}
.ticker-item {font-size:13px;color:var(--text-secondary);}
.ticker-sep {color:var(--cyan);}
.about,.services,.projects,.team,.testimonials,.contact,.why-us,.blog-section,.sp-related {background:var(--bg-primary);}
.about-grid {gap:70px;}
.about-visual {border-radius:18px;border:1px solid var(--border);background:var(--bg-secondary);box-shadow:none;}
.about-visual::before,.about-visual::after {display:none;}
.about-card {background:var(--bg-card);border:1px solid var(--border);box-shadow:none;}
.about-content p {color:var(--text-secondary);line-height:2;}
.services-grid,.projects-grid,.blog-grid {gap:24px;}
.service-card,.service-product-card,.project-card,.blog-card,.case-study-card,.team-card,.testimonial-card,.why-card {border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:none;overflow:hidden;}
.service-card::before,.service-card::after,.project-card::before,.team-card::before,.why-card::before {display:none;}
.service-card:hover,.project-card:hover,.blog-card:hover,.case-study-card:hover {background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:0 12px 36px rgba(0,0,0,.16);transform:translateY(-5px);}
.service-card .service-card-image {height:210px;}
.service-card .service-card-image img {object-fit:cover;filter:saturate(.8);transition:transform .5s,filter .5s;}
.service-card:hover .service-card-image img {filter:saturate(1);transform:scale(1.035);}
.service-card .service-card-body {padding:25px;}
.service-card .service-title {font-size:21px;line-height:1.6;}
.service-card .service-desc {font-size:14px;line-height:1.9;color:var(--text-secondary);}
.service-card-kicker {font-size:10px;letter-spacing:.06em;color:var(--text-muted);}
.service-card-kicker>span {display:none;}
.service-card .featured-badge {background:#0b3b46;color:#8cfff6;border:1px solid #246b73;font-size:10px;box-shadow:none;}
.service-card-actions {border-top:1px solid var(--border);padding-top:18px;}
.service-start-btn {min-height:38px;font-size:12px;padding:7px 15px;}
.project-image,.project-image-sm {border-radius:0;background:var(--bg-secondary);}
.project-body,.blog-card-body {padding:25px;}
.project-title,.blog-card-title {font-size:20px;line-height:1.7;}
.project-tag,.project-type,.blog-card-cat {border-radius:4px;font-size:11px;background:var(--bg-secondary);color:var(--cyan);border-color:var(--border);}
.project-desc,.blog-card-excerpt {font-size:14px;line-height:1.9;color:var(--text-secondary);}
.why-icon,.sp-feature-icon,.contact-icon {display:none;}
.why-card {padding:30px;}
.why-card h3 {font-size:20px;margin-bottom:15px;}
.why-card p {color:var(--text-secondary);line-height:1.9;}
.team-card {padding:30px;}
.team-photo {border-radius:50%;border:2px solid var(--border);}
.contact-form,.contact-info,.contact-card,.booking-modal-content,.sp-sidebar-card,.sp-cta-card {background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:none;}
.contact-card {padding:22px;}
.contact-card p {color:var(--text-secondary);}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select {background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:7px;}
input::placeholder,textarea::placeholder {color:var(--text-muted);}
/* Internal-page introductions carry the same visual world without a second WebGL workload. */
.page-hero,.service-page-hero,.project-hero,.case-study-hero {position:relative;isolation:isolate;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding-top:150px;padding-bottom:66px;overflow:hidden;}
.page-hero::before,.service-page-hero::before {content:"";position:absolute;inset:0;z-index:-1;background:url('../assets/digital-core-fallback.webp') left center / auto 135% no-repeat;opacity:.15;pointer-events:none;}
.page-hero::after,.service-page-hero::after {display:none;}
.page-hero h1,.service-page-hero h1,.project-hero h1,.case-study-hero h1 {font-size:clamp(30px,3.5vw,52px);line-height:1.55;max-width:1000px;}
.page-hero .section-desc {margin-inline:auto;}
.sp-section,.article-body-card,.article-services-panel {background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:none;}
.sp-feature-card {background:var(--bg-secondary);border:1px solid var(--border);border-radius:9px;box-shadow:none;padding:24px;}
.sp-feature-card h3 {font-size:18px;}
.sp-features-grid {gap:16px;}
.sp-section h2,.article-content h2 {color:var(--text-primary);font-size:26px;}
.article-page {background:var(--bg-primary);padding-top:120px;}
.article-title {font-size:clamp(28px,3vw,44px);line-height:1.65;}
.article-content {font-size:17px;line-height:2.1;color:var(--text-secondary);}
.article-featured {border:1px solid var(--border);border-radius:14px;}
.article-services-panel::before {display:none;}
.topic-nav a {background:var(--bg-secondary);border-color:var(--border);border-radius:6px;font-size:13px;}
.topic-nav a[aria-current="page"],.topic-nav a:hover {background:var(--cyan);color:#03202b;border-color:var(--cyan);}
.blog-pagination a {border-radius:6px;}
.footer {background:var(--bg-secondary);border-top:1px solid var(--border);}
.footer .footer-aurora,.footer .footer-orbs,.footer::before,.footer::after {display:none;}
.footer .footer-cta {background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:36px 0 48px;box-shadow:none;}
.footer .footer-cta::before,.footer .footer-cta::after {display:none;}
.footer .footer-cta-copy h3 {font-size:clamp(23px,2.4vw,36px);line-height:1.6;}
.footer .footer-heading-icon,.footer .footer-link-icon {display:none;}
.footer .footer-chip {background:transparent;border:1px solid var(--border);border-radius:6px;}
.footer .footer-article {background:none;border:0;border-radius:0;border-bottom:1px solid var(--border);box-shadow:none;}
.footer .footer-grid {gap:36px;}
.footer a {color:var(--text-secondary);}
.footer a:hover {color:var(--cyan);}
.footer .footer-cta-btn.btn-primary {color:#03202b;}
[data-theme="light"] .page-hero::before,[data-theme="light"] .service-page-hero::before {opacity:.07;}
[data-theme="light"] .digital-hero {--cyan:#20e5df;--text-primary:#f2fbff;}
/* No entrance effects may make meaningful text unavailable. */
.digital-copy,.digital-node {opacity:1;visibility:visible;}
@media(min-width:1101px){.nav-mobile-only {display:none;}}
@media(max-width:1200px){.nav-links{gap:15px;}.nav-link{font-size:13px;}.nav-container{gap:18px;}.digital-coordinate{display:none;}.digital-copy h1{font-size:54px;}.digital-actions .btn{font-size:14px;padding:13px 18px;}}
@media(max-width:1100px){
 .container{width:calc(100% - 48px);}.nav-container{min-height:76px;}.navbar{min-height:76px;}
 .digital-hero{min-height:760px;padding-top:76px;}.digital-hero-layout{grid-template-columns:48% 52%;min-height:620px;}.digital-copy h1{font-size:46px;}.digital-lead{font-size:18px;}.digital-node{font-size:12px;padding:8px;}.digital-stage{width:64%;left:-9%;}
 .nav-links{background:var(--bg-primary);}.nav-links .nav-link{font-size:17px;}.nav-links.active{border-color:var(--border);}
 .about-grid{gap:35px;}
}
@media(max-width:767px){
 .container{width:calc(100% - 36px);}.nav-container{gap:10px;min-height:70px;}.navbar,.navbar.scrolled{min-height:70px;}
 .nav-logo .logo-img{width:38px;height:32px;}.logo-text{font-size:20px;}.nav-actions{gap:9px;}.theme-toggle{width:32px;height:32px;}
 .digital-hero{height:auto;min-height:0;padding:100px 0 85px;}
 .digital-hero-layout{display:flex;flex-direction:column;min-height:0;height:auto;}
 .digital-copy{padding:0;text-align:center;width:100%;}
 .digital-eyebrow,[dir="rtl"] .digital-eyebrow{text-align:center;font-size:8px;letter-spacing:.2em;margin-bottom:18px;}
 .digital-copy h1,[dir="ltr"] .digital-copy h1{font-size:clamp(36px,8.5vw,52px);line-height:1.45;letter-spacing:-.025em;margin-bottom:17px;}
 .digital-lead{font-size:16px;line-height:1.95;margin:0 auto 22px;max-width:29em;}
 .digital-actions{justify-content:center;gap:10px;}.digital-actions .btn{font-size:13px;padding:11px 15px;min-height:47px;}
 .digital-location{font-size:11px;margin-top:18px;}
 .digital-stage,[dir="ltr"] .digital-stage{width:100%;height:420px;inset:auto 0 53px;}
 .digital-nodes{height:350px;min-height:350px;width:100%;margin-top:10px;}
 .node-software,[dir="ltr"] .node-software{left:0;right:auto;top:17%;}.node-network,[dir="ltr"] .node-network{left:auto;right:0;top:49%;}.node-security,[dir="ltr"] .node-security{left:22%;right:auto;bottom:6%;}
 .digital-node{font-size:11px;padding:7px 9px;gap:7px;}.node-index{font-size:9px;}
 .digital-hero-bottom{bottom:18px;gap:12px;}.digital-scroll{font-size:10px;}.digital-motion{font-size:10px;padding:7px 9px;}
 .section-header{margin-bottom:30px;}.section-title{font-size:29px;}.section-desc{font-size:15px;}
 .services-grid,.projects-grid,.blog-grid{gap:18px;}.service-card .service-card-image{height:200px;}
 .page-hero,.service-page-hero,.project-hero,.case-study-hero{padding-top:115px;padding-bottom:40px;}.page-hero h1,.service-page-hero h1{font-size:30px;}
 .article-page{padding-top:95px;}.article-title{font-size:29px;}.article-content{font-size:16px;}.article-body-card{padding:22px;}
 .footer .footer-grid{gap:30px;}.footer .footer-cta{padding-block:30px;}.contact-card{padding:18px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}.reveal-ready{opacity:1!important;transform:none!important;}}

/* Fidelity corrections after desktop/mobile comparison. */
.site-header .navbar {margin:0;border-radius:0;width:100%;}
.site-header .nav-logo {flex-direction:row;align-items:center;}
.site-header .nav-link.active {background:none;}
.digital-hero .digital-lead {max-width:26em;}
.digital-stage.is-ready .digital-fallback {opacity:0;}
.digital-hero .digital-actions .btn {width:auto;flex:0 1 auto;}
@media(max-width:767px){.digital-hero .digital-actions .btn{padding-inline:14px;}.digital-hero .digital-stage{height:390px;}.digital-nodes{height:330px;min-height:330px;}.digital-copy h1{font-weight:700;}}

.digital-stage canvas {position:absolute;inset:0;mix-blend-mode:screen;}
.services-catalog-hero>.container,.service-page-hero>.container {display:flex;flex-direction:column;}
.services-hero-copy,.service-page-hero .sp-hero-content {order:-1;width:100%;max-width:1000px;margin:0 auto 36px;padding:0;background:none;border:0;box-shadow:none;}
.service-page-hero .sp-hero-icon {display:none;}
.page-hero-bg,.page-hero-overlay,.sp-hero-bg,.sp-hero-overlay {display:none;}
.service-page-hero::before {display:block;}
.services-hero-copy .services-hero-details {max-width:800px;margin:24px auto 0;}
.services-hero-copy .section-title {font-size:clamp(30px,3.5vw,48px);}
.services-hero-stage {border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:none;}
.services-hero-stage::before,.services-hero-stage::after {display:none;}
.services-hero-stage .services-hero-viewport {height:360px;}
.services-hero-card .services-hero-card-media {height:135px;}
.services-hero-card .services-hero-card-body {padding:16px;}
.services-hero-card .services-hero-card-title {font-size:18px;line-height:1.6;}
.services-hero-card .services-hero-card-body p {display:none;}
.services-hero-card {background:var(--bg-secondary);border-radius:10px;box-shadow:none;}
.float-actions .float-action {width:42px;height:42px;background:var(--bg-secondary);border:1px solid var(--border-hover);box-shadow:none;}
.float-action::before,.float-action::after,.float-action-gem,.float-action-pulse {display:none!important;}
.float-actions .float-action-icon {width:20px;height:20px;color:var(--cyan);filter:none;}
@media(max-width:767px){.services-hero-stage .services-hero-viewport{height:330px;}.services-hero-copy,.service-page-hero .sp-hero-content{padding:0;margin-bottom:28px;}.services-hero-copy .section-title{font-size:28px;}.service-page-hero .sp-hero-title{font-size:29px;}.sp-hero-actions{flex-wrap:wrap;}.services-hero-copy .services-hero-details{text-align:start;}.services-hero-copy .services-hero-details p{font-size:14px;}}
.digital-stage {mix-blend-mode:screen;}
.modal-dialog {background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 25px 100px rgba(0,0,0,.55);}
.modal-dialog .modal-title {font-size:30px;}

/* Reset the former floating-toolbar gutter on narrow service layouts. */
@media(max-width:1024px){html[dir] .service-page-hero>.container,html[dir] .sp-main>.container,html[dir] .sp-related>.container,html[dir] .sp-faq>.container,html[dir] .page-form-section>.container,html[dir] .school-guides>.container{padding-inline:0;}}
