/* Dynamic CMS public additions */
.cms-blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cms-blog-card{padding:28px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(29,53,82,.06)}.cms-blog-card h2{font-size:25px;line-height:1.2;margin:9px 0 12px;color:#0e1b2e}.cms-blog-card p{color:#617188}.cms-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cms-case-card{overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:0 18px 50px rgba(0,0,0,.14)}.content-section.light .cms-case-card,.cms-portfolio-preview .cms-case-card{background:#fff;border-color:#e2e8f0}.cms-case-card>img,.cms-case-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.cms-case-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#18365a,#315f9c);color:#a9d8ff;font-weight:800;letter-spacing:.12em}.cms-case-card>div:last-child{padding:24px}.cms-case-card h2,.cms-case-card h3{color:#001d6a;margin:8px 0 10px;line-height:1.2}.cms-case-card p{color:#8ea0b6}.content-section.light .cms-case-card p,.cms-portfolio-preview .cms-case-card p{color:#617188}.cms-client-logo{min-height:100px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.04);display:grid;place-items:center;padding:18px;gap:8px}.cms-client-logo img{max-width:150px;max-height:64px;object-fit:contain}.cms-client-logo span{font-size:11px;color:#8fa3ba}.cms-testimonial{padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04)}.cms-testimonial blockquote{margin:0 0 20px;font-size:17px;line-height:1.7}.cms-testimonial>div{display:flex;align-items:center;gap:12px}.cms-testimonial img{width:48px;height:48px;border-radius:50%;object-fit:cover}.cms-testimonial p{display:grid;margin:0}.cms-testimonial span{font-size:12px;color:#8093a9}.cms-empty-public{text-align:center;padding:60px 24px;border:1px dashed rgba(255,255,255,.16);border-radius:24px}.case-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cms-rich{color:#9caec1;white-space:normal}.cms-case-quote{margin:0;padding:42px;border-radius:28px;background:linear-gradient(135deg,#16335c,#274f89);font-size:26px;line-height:1.5}.cms-case-quote footer{margin-top:18px;font-size:14px;color:#a9c5e8}.hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-note.show{display:block}.form-note.error{color:#ff8b8b}
@media(max-width:900px){.cms-case-grid{grid-template-columns:1fr 1fr}.cms-blog-grid{grid-template-columns:1fr}.case-detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.cms-case-grid{grid-template-columns:1fr}.cms-case-quote{font-size:20px;padding:28px}}
.cms-article-feature{padding:60px 0 0;background:#f5f8fc}.cms-article-feature img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:26px;box-shadow:0 20px 55px rgba(31,55,86,.12)}.cms-article-body{max-width:900px!important;color:#33465d;font-size:17px}.cms-article-body h2{font-size:34px;line-height:1.2;color:#102039;margin:42px 0 14px}.cms-article-body h3{font-size:25px;color:#142842;margin:32px 0 12px}.cms-article-body p,.cms-article-body li{line-height:1.8}.cms-article-body a{color:#2468d8;text-decoration:underline}.cms-article-body img{border-radius:18px;margin:24px 0}


/* V15 accessibility and responsive refinements */
.cms-client-logo span,.cms-testimonial span{color:#a8b8ca}
.cms-case-card a,.cms-blog-card a{min-height:44px;display:inline-flex;align-items:center}
.cms-case-card>img,.cms-article-feature img{height:auto}
@media(max-width:420px){.cms-blog-card,.cms-case-card>div:last-child{padding:20px}.cms-article-body h2{font-size:29px}.cms-article-body h3{font-size:23px}.cms-case-quote{font-size:19px;padding:24px}}


/* V17.9 dynamic social/testimonial/video modules */
/* Social footer layout is defined in styles.css (V17.9.1). */.cms-testimonial.is-featured{border-color:rgba(89,201,255,.38);box-shadow:0 18px 48px rgba(0,0,0,.16)}.cms-testimonial-rating{margin-bottom:12px;letter-spacing:.12em;font-size:14px;color:#f4c95d}.cms-testimonial-rating span{color:#5e7086}.cms-testimonial-attribution{display:flex;align-items:center;gap:12px}.cms-testimonial-company-logo{margin-left:auto!important;width:auto!important;max-width:92px!important;height:38px!important;border-radius:0!important;object-fit:contain!important;background:#fff;padding:4px;border-radius:7px!important}.software-video-section{content-visibility:auto;contain-intrinsic-size:auto 760px}.software-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.software-video-card{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:0 18px 50px rgba(0,0,0,.14)}.software-video-media{position:relative;aspect-ratio:16/9;background:#071426;overflow:hidden}.software-video-media>img,.software-video-frame{width:100%;height:100%;display:block;border:0;object-fit:cover}.software-video-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:8px;background:radial-gradient(circle at 50% 40%,#245795,#0b1b31 70%);color:#d9efff}.software-video-placeholder span{font-size:44px}.software-video-placeholder small{letter-spacing:.12em;font-weight:800}.software-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(7,20,38,.88);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(10px)}.software-video-play:hover{background:#163c69}.software-video-copy{padding:22px}.software-video-copy h3{margin:8px 0 10px}.software-video-copy p{color:#9fb0c4}.software-video-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}@media(max-width:980px){.software-video-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.software-video-grid{grid-template-columns:1fr}.cms-testimonial-company-logo{max-width:72px!important}}


/* V17.9.5 restrained visual explanation system */
.product-visual-grid{align-items:stretch}.product-visual-card{overflow:hidden}.product-card-visual{margin:-1px -1px 22px;border-radius:22px 22px 16px 16px;overflow:hidden}.product-card-visual--shot{position:relative;aspect-ratio:16/8;background:#0b1b31}.product-card-visual--shot img{width:100%;height:100%;object-fit:cover;display:block}.product-card-visual--shot>span{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(7,20,38,.86);color:#cceaff;font-size:10px;font-weight:800;letter-spacing:.09em}.workflow-visual-section,.service-visual-section{content-visibility:auto;contain-intrinsic-size:auto 520px}.workflow-visual{padding:30px;border-radius:26px;background:linear-gradient(135deg,#0d203a,#173b65);box-shadow:0 18px 50px rgba(0,0,0,.12);display:grid;grid-template-columns:minmax(220px,.8fr) 1.4fr;gap:28px;align-items:center}.workflow-visual h2{margin:7px 0 10px;color:#fff;font-size:30px;line-height:1.15}.workflow-visual p{margin:0;color:#a9bbcf;line-height:1.6}.workflow-steps{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:8px}.workflow-steps li{position:relative;flex:1;min-width:0;padding:18px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055);display:grid;gap:8px}.workflow-steps li:not(:last-child):after{content:'â†’';position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:2;color:#63c7ff;font-weight:900}.workflow-steps span{font-size:10px;color:#68cafc;font-weight:900;letter-spacing:.1em}.workflow-steps strong{font-size:13px;color:#fff;line-height:1.3}.product-card-visual--flow .workflow-visual{padding:18px;display:block;border-radius:18px}.product-card-visual--flow .workflow-visual-copy p{display:none}.product-card-visual--flow .workflow-visual h2{font-size:17px;margin:5px 0 14px}.product-card-visual--flow .workflow-steps{gap:5px}.product-card-visual--flow .workflow-steps li{padding:10px 7px}.product-card-visual--flow .workflow-steps strong{font-size:10px}.product-card-visual--flow .workflow-steps li:not(:last-child):after{right:-7px}.service-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-flow-card{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))}.content-section.light .service-flow-card{border-color:#dbe5f0;background:#fff}.service-flow-line{margin-top:16px;display:flex;gap:7px}.service-flow-line span{position:relative;flex:1;min-width:0;padding:12px 8px;border-radius:13px;background:#102846;color:#e9f6ff;font-size:11px;font-weight:700;text-align:center}.service-flow-line span:not(:last-child):after{content:'â€º';position:absolute;right:-7px;top:50%;transform:translateY(-50%);z-index:1;color:#52c5ff;font-size:18px}.service-flow-line b{display:block;color:#6bd0ff;font-size:9px;margin-bottom:4px}.indexing-control-card{border-left:4px solid #f2b84b}
@media(max-width:900px){.workflow-visual{grid-template-columns:1fr}.service-flow-grid{grid-template-columns:1fr}.workflow-steps{flex-wrap:wrap}.workflow-steps li{flex:1 1 140px}.workflow-steps li:not(:last-child):after{display:none}}
@media(max-width:560px){.workflow-visual{padding:22px}.workflow-steps{display:grid;grid-template-columns:1fr 1fr}.workflow-steps li{min-height:74px}.service-flow-line{display:grid;grid-template-columns:1fr 1fr}.service-flow-line span:not(:last-child):after{display:none}.product-card-visual--flow .workflow-steps{grid-template-columns:1fr 1fr}}


/* V17.9.7 footer office location â€” lightweight directions + optional click-to-load map */
.footer-location{margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035);max-width:360px}.footer-location-head{display:flex;gap:10px;align-items:flex-start}.footer-location-pin{width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:9px;background:rgba(78,199,255,.11);color:#74d4ff;font-size:18px}.footer-location strong{display:block;color:#f2f8ff;font-size:12px;letter-spacing:.03em}.footer-location address{margin-top:4px;color:#91a7bd;font-style:normal;font-size:11px;line-height:1.55}.footer-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.footer-location-actions a,.footer-location-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid rgba(104,205,255,.22);border-radius:10px;background:rgba(75,188,245,.08);color:#bceaff;font:inherit;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none}.footer-location-actions a:hover,.footer-location-actions button:hover,.footer-location-actions a:focus-visible,.footer-location-actions button:focus-visible{background:rgba(75,188,245,.15);color:#fff;outline:none}.footer-map-shell{margin-top:12px;border-radius:12px;overflow:hidden;background:#0d1b2e;aspect-ratio:16/10}.footer-map-shell iframe{width:100%;height:100%;border:0;display:block}@media(max-width:680px){.footer-location{max-width:100%}}

/* V17.9.8: authenticated preview banner for hidden/draft CMS content. */
.cms-admin-preview-banner{position:sticky;top:0;z-index:9999;padding:.7rem 1rem;text-align:center;background:#fff3cd;color:#5b4300;border-bottom:1px solid #e4c96f;font:600 14px/1.4 system-ui,sans-serif}