:root{--ip-blue:#0878ff;--ip-dark:#020713;--ip-text:#111827;--ip-muted:#657083;--ip-line:#e8ebf2;--ip-bg:#f8f9fc}
.inner-page{background:var(--ip-bg);color:var(--ip-text)}.inner-page main{overflow:visible}.ip-dark{color:#fff;background:radial-gradient(circle at 72% 38%,rgba(8,106,255,.19),transparent 31%),var(--ip-dark)}
.article-page header{background:#020713;border-bottom:1px solid rgba(255,255,255,.06)}
.not-found-page{display:grid;min-height:70vh;padding:9rem 0 4rem;place-items:center;text-align:center;background:radial-gradient(circle at 50% 38%,rgba(8,106,255,.16),transparent 31%),var(--ip-dark)}.not-found-content h1{margin:.75rem 0;color:#fff;font-size:clamp(2.5rem,6vw,5rem)}.not-found-content p{margin-bottom:1.75rem;color:#aab3c4}.not-found-content .btn-primary{display:inline-flex}
.ip-breadcrumb{display:flex;gap:.75rem;align-items:center;color:#8c96a8;font-size:.75rem}.ip-breadcrumb a:hover,.ip-breadcrumb span:last-child{color:var(--ip-blue)}
.service-hero{padding:140px 0 100px;min-height:760px}.service-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:530px}.service-copy{position:relative;z-index:2}.ip-pill,.ip-kicker{display:inline-block;color:#2b79e8;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ip-pill{margin-bottom:1.25rem;padding:.35rem .65rem;border:1px solid rgba(39,119,239,.4);border-radius:5px;background:rgba(17,86,210,.08)}
.service-copy h1{font-size:clamp(2.5rem,3.5vw,3.3rem);line-height:1.17;letter-spacing:-.045em}.accent{color:var(--ip-blue)}.service-copy>p{max-width:590px;margin-top:1.25rem;color:#aab3c4;line-height:1.8}.ip-actions{display:flex;gap:1rem;margin-top:1.8rem}.ip-actions a{min-height:52px}.service-art{position:relative;min-height:520px;animation:ip-float 6s ease-in-out infinite}.service-art:before{content:"";position:absolute;inset:20%;border-radius:50%;background:#086dff;filter:blur(90px);opacity:.24}.service-art img{position:absolute;z-index:1;top:50%;left:50%;width:115%;max-width:none;transform:translate(-50%,-50%);filter:drop-shadow(0 20px 38px rgba(0,83,255,.17))}.service-features{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-features article{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:rgba(5,13,29,.72)}.feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;color:#3285ff;background:rgba(22,91,212,.12)}.service-features strong,.service-features span{display:block}.service-features strong{font-size:.8rem}.service-features span{margin-top:.25rem;color:#8490a5;font-size:.67rem}
.trusted{padding:2.1rem 0;border-bottom:1px solid var(--ip-line);background:#fff}.trusted p{text-align:center;color:#2c70c6;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.logo-row{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;margin-top:1.4rem;color:#7d8491;font:600 1.05rem var(--font-heading);text-align:center}
.ip-section{padding:100px 0}.ip-split{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:4rem}.ip-intro h2{margin:.95rem 0 1.15rem;font-size:clamp(1.85rem,2.7vw,2.7rem);line-height:1.25;letter-spacing:-.04em}.ip-intro p{max-width:450px;color:var(--ip-muted);font-size:.9rem;line-height:1.8}.text-link{display:inline-flex;gap:.75rem;margin-top:2rem;color:#126bcf;font-weight:700}.ip-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.ip-card{min-height:220px;padding:1.55rem;border:1px solid #edf0f5;border-radius:14px;background:#fff;box-shadow:0 9px 28px rgba(35,51,89,.055);transition:.3s}.ip-card:hover,.industry-grid article:hover,.blog-card:hover{transform:translateY(-7px);box-shadow:0 18px 36px rgba(35,51,89,.13)}.ip-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1rem;border-radius:9px;color:#0b72e8;background:#eef5ff;font-size:1.45rem}.ip-card h3{margin-bottom:.65rem;font-size:1.05rem}.ip-card p{color:var(--ip-muted);font-size:.8rem;line-height:1.7}
.benefits{padding:100px 0}.benefit-layout{display:grid;grid-template-columns:.65fr 1.35fr;align-items:center;gap:3rem}.benefit-layout .ip-intro p{color:#909bad}.benefit-grid{display:grid;grid-template-columns:repeat(5,1fr)}.benefit-grid article{min-height:170px;padding:.7rem 1rem;border-left:1px solid rgba(255,255,255,.08)}.benefit-grid h3{margin:.7rem 0;font-size:.82rem}.benefit-grid p{color:#8993a6;font-size:.68rem;line-height:1.6}.benefit-grid .ip-icon{border:1px solid rgba(32,116,255,.3);border-radius:50%;background:rgba(20,84,196,.1)}
.process-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;align-items:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}.steps article{position:relative}.steps article:not(:last-child):after{content:"";position:absolute;top:38px;left:70%;width:65%;border-top:1px dashed #2777cc}.step-icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:1.1rem;border-radius:50%;color:#1371dd;background:#edf4ff;font-size:1.7rem}.steps b{color:#1670ce}.steps h3{margin:.6rem 0;font-size:.9rem}.steps p{color:var(--ip-muted);font-size:.68rem;line-height:1.65}.industry-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:3rem;align-items:center}.industry-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem}.industry-grid article{display:grid;place-items:center;min-height:145px;padding:1rem .4rem;border:1px solid #edf0f5;border-radius:11px;background:#fff;transition:.3s;text-align:center}.industry-grid .ip-icon{margin:0;background:transparent}.industry-grid h3{font-size:.75rem}.strip-cta{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.3rem 1.8rem;border-radius:14px;color:#fff;background:radial-gradient(circle at 85%,#0a2a73,transparent 30%),#04102c}.strip-cta h2{font-size:1.45rem}.strip-cta p{margin-top:.35rem;color:#aeb8ca;font-size:.8rem}
@keyframes ip-float{50%{transform:translateY(-10px)}}

/* Contact */
.contact-hero{position:relative;padding:140px 0 100px;min-height:520px}.contact-hero>.container{position:relative;z-index:2}.contact-hero-art{position:absolute;z-index:1;right:2%;top:65px;width:58%;height:360px;animation:ip-float 6s ease-in-out infinite}.contact-hero-art img{width:100%;height:100%;object-fit:contain}.contact-copy{position:relative;z-index:2;width:48%;padding-top:1rem}.contact-copy h1{margin:.55rem 0;font-size:clamp(2.4rem,3.4vw,3.2rem);line-height:1.25}.contact-copy p{max-width:530px;color:#abb4c4;line-height:1.7}.contact-points{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.2rem}.contact-points article{font-size:.72rem}.contact-points .ip-icon{border-radius:50%;background:rgba(14,78,202,.16)}.contact-points span{display:block;color:#8e99ab;margin-top:.2rem}.contact-main{padding:100px 0}.contact-main h2,.contact-main h3{color:var(--ip-text)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem}.touch-card{display:flex;gap:1rem;align-items:center;margin-top:1rem;padding:1.1rem;border:1px solid var(--ip-line);border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(25,42,80,.04)}.touch-card .ip-icon{margin:0}.touch-card p{font-size:.78rem;color:var(--ip-muted)}.contact-form{position:relative;z-index:3;margin-top:-230px;padding:2rem;border:1px solid var(--ip-line);border-radius:14px;background:#fff;box-shadow:0 12px 38px rgba(22,38,74,.1)}.contact-form h2{font-size:1.7rem}.contact-form>p{margin:.4rem 0 1.4rem;color:var(--ip-muted);font-size:.8rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form select,.contact-form textarea,.newsletter-wide input,.blog-search{width:100%;padding:1rem;border:1px solid #dde2eb;border-radius:8px;background:#fff;font:inherit}.contact-form select,.contact-form textarea,.contact-form label,.contact-form button{grid-column:1/-1}.contact-form textarea{min-height:140px;resize:vertical}.contact-form label{font-size:.75rem;color:var(--ip-muted)}.contact-form button{border:0}.office-card{margin-top:1rem;padding:1.7rem;border-radius:12px;color:#fff;background:radial-gradient(circle at 80%,#0c2c68,transparent 34%),#03102a}.office-card h2{color:#fff}.office-card p{margin:.7rem 0;color:#b1bbca;line-height:1.7}.map-card{position:relative;height:260px;margin-top:2rem;overflow:hidden;border-radius:13px;background:linear-gradient(25deg,#e9eef3,#f7f5ea)}.map-copy{position:absolute;z-index:1;top:clamp(4.25rem,8%,5rem);left:clamp(1rem,2.2%,1.5rem);width:min(29%,220px);max-height:calc(100% - clamp(5.25rem,11%,6rem));padding:clamp(.95rem,1.5vw,1.15rem);overflow:auto;border-radius:10px;background:#fff}.map-copy h2{font-size:clamp(1.15rem,1.7vw,1.4rem)}.map-copy p{margin-top:.35rem;color:var(--ip-muted);font-size:clamp(.72rem,.9vw,.8rem);line-height:1.55}.map-copy .text-link{margin-top:.75rem;font-size:clamp(.7rem,.85vw,.78rem)}.stats-bar,.newsletter-wide{display:flex;align-items:center;justify-content:space-around;gap:2rem;margin-top:1.5rem;padding:1.4rem;border-radius:13px}.stats-bar{color:#fff;background:#04102a}.stats-bar b{display:block;color:#ffffff;font-size:1.5rem}.stats-bar span{font-size:.7rem;color:#ffffff}.newsletter-wide{background:#edf3ff}.newsletter-wide form{display:flex;gap:.8rem;min-width:42%}

/* Blogs */
.blogs-hero{padding:140px 0 100px;min-height:390px}.blogs-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}.blogs-hero h1{font-size:3rem}.blogs-hero p{max-width:560px;margin-top:1rem;color:#aab4c5;line-height:1.7}.blog-illustration{position:relative;height:250px}.blog-sheet{position:absolute;left:40%;top:20px;width:190px;height:220px;padding:1.5rem;border:1px solid #1d65d9;border-radius:14px;color:#55a1ff;background:linear-gradient(145deg,#0b255c,#06112b);box-shadow:0 0 45px rgba(0,104,255,.3);transform:rotate(9deg);animation:ip-float 5s ease-in-out infinite}.blog-sheet:before{content:"BLOG";font-weight:800}.blog-sheet i{display:block;height:8px;margin-top:18px;background:#216dcc;box-shadow:0 25px #164a95,0 50px #164a95,0 75px #164a95}.filters{display:flex;gap:1rem;align-items:center;padding:1.5rem 0}.filter-btn{padding:.8rem 1.2rem;border:1px solid var(--ip-line);border-radius:9px;background:#fff}.filter-btn.active{color:#fff;background:var(--ip-blue)}.filters .blog-search{margin-left:auto;max-width:320px}.blog-layout{display:grid;grid-template-columns:1fr 290px;gap:2rem;padding-bottom:3rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.blog-card{overflow:hidden;border:1px solid var(--ip-line);border-radius:12px;background:#fff;transition:.3s}.blog-thumb{position:relative;height:150px;background:radial-gradient(circle,#0c51bd,#03102b 70%);overflow:hidden}.blog-thumb:after{content:attr(data-symbol);position:absolute;inset:0;display:grid;place-items:center;color:#48a2ff;font:800 3.8rem var(--font-heading);text-shadow:0 0 25px #1684ff}.blog-category{position:absolute;z-index:1;left:.7rem;bottom:.5rem;padding:.3rem .5rem;border-radius:4px;color:#fff;background:#0878ff;font-size:.6rem}.blog-card-body{padding:1rem}.blog-meta{color:#7c8594;font-size:.62rem}.blog-card h2{margin:.75rem 0;font-size:1rem;line-height:1.35}.blog-card p{color:var(--ip-muted);font-size:.75rem;line-height:1.6}.blog-card a{display:inline-block;margin-top:1rem;color:#0a6ed5;font-size:.75rem;font-weight:700}.sidebar-box{margin-bottom:1rem;padding:1.3rem;border:1px solid var(--ip-line);border-radius:12px;background:#fff}.sidebar-box h2{margin-bottom:1rem;font-size:1.1rem}.category-list li{display:flex;justify-content:space-between;padding:.45rem 0;color:#465064;font-size:.78rem}.popular-item{display:grid;grid-template-columns:75px 1fr;gap:.7rem;margin-top:.8rem}.popular-thumb{height:52px;border-radius:6px;background:radial-gradient(circle,#1062d3,#03102b)}.popular-item h3{font-size:.7rem;line-height:1.35}.popular-item span{color:#8a93a2;font-size:.6rem}.sidebar-newsletter{color:#fff;background:radial-gradient(circle at 80%,#10367b,transparent),#041331}.sidebar-newsletter p{color:#c2cad7;font-size:.75rem;line-height:1.6}.sidebar-newsletter input{width:100%;margin:1rem 0;padding:.85rem;border:0;border-radius:7px}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:1.8rem}.pagination a{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#fff}.pagination a.active{color:#fff;background:var(--ip-blue)}
.article-shell{padding:140px 0 100px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:3rem;margin-top:2rem}.article-header{position:static}.article-header h1{max-width:850px;margin:.8rem 0;color:var(--ip-text);font-size:clamp(2.2rem,3.5vw,3.5rem);line-height:1.17}.article-lead{color:var(--ip-muted);font-size:1rem}.article-meta{display:flex;gap:1.5rem;margin:1.2rem 0;color:#647084;font-size:.75rem}.article-feature{display:grid;place-items:center;height:420px;margin:1.5rem 0;border-radius:12px;color:#44a1ff;background:radial-gradient(circle,#0c58c7,#02091b 65%);font:800 8rem var(--font-heading);text-shadow:0 0 35px #137fff}.article-content p{margin:1rem 0;color:#444f62;line-height:1.8}.article-content h2{margin-top:1.5rem;color:var(--ip-text);font-size:1.35rem}.takeaway{display:flex;gap:1rem;margin:1rem 0;padding:1.2rem;border-radius:10px;background:#edf5ff}.article-content ul{padding-left:1.2rem}.article-content li{margin:.45rem 0}.article-content table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.75rem}.article-content th,.article-content td{padding:.65rem;border:1px solid #dfe3e9;text-align:left}.related{padding:0 0 3rem}.related .container>h2{color:var(--ip-text)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.related .blog-card h2{font-size:.8rem}
@media(max-width:991px){.service-hero-grid,.ip-split,.benefit-layout,.process-grid,.industry-layout,.contact-grid,.blog-layout,.article-layout{grid-template-columns:1fr;gap:1.5rem}.service-art{min-height:420px}.contact-copy{width:100%}.contact-hero-art{opacity:.42;width:80%}.contact-form{margin-top:0}.blog-grid{grid-template-columns:repeat(2,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.benefit-grid{grid-template-columns:repeat(3,1fr)}.industry-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.service-hero,.contact-hero,.blogs-hero,.article-shell{padding:90px 0 32px;min-height:0}.ip-section,.benefits,.contact-main,.site-cta-section{padding:36px 0}.service-hero-grid,.blogs-hero-grid{grid-template-columns:1fr}.service-copy h1{font-size:2.15rem}.service-art{min-height:280px;margin:0 -2rem}.service-features,.ip-card-grid,.benefit-grid,.steps,.form-grid,.blog-grid,.sidebar,.related-grid{grid-template-columns:1fr}.logo-row{grid-template-columns:repeat(2,1fr)}.steps article:after{display:none}.industry-grid{grid-template-columns:repeat(2,1fr)}.ip-actions,.strip-cta,.newsletter-wide,.newsletter-wide form,.filters,.contact-points,.stats-bar{flex-direction:column;align-items:stretch}.ip-actions a,.strip-cta a,.newsletter-wide button{width:100%;justify-content:center}.contact-points{display:grid;grid-template-columns:1fr 1fr}.contact-hero-art{top:90px;width:100%;opacity:.28}.contact-copy{padding-bottom:1.5rem}.filters .blog-search{margin:0;max-width:none}.blogs-hero h1{font-size:2.4rem}.article-feature{height:220px;font-size:4rem}.article-meta{flex-wrap:wrap}.blog-illustration{height:200px}.blog-sheet{left:25%}}
@media(prefers-reduced-motion:reduce){.service-art,.contact-hero-art,.blog-sheet{animation:none}}

/* Cross-page safeguards for the shared shell and narrow viewports. */
.inner-page header{z-index:9999}
.service-hero-grid>*{min-width:0}
.contact-form input[type=checkbox]{width:auto;padding:0;margin-right:.4rem}
.blog-card h2,.sidebar-box h2,.popular-item h3{color:var(--ip-text)}
.sidebar-newsletter h2{color:#fff}
@media(max-width:700px){
  .inner-page .container{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  .service-hero-grid,.blogs-hero-grid{grid-template-columns:minmax(0,1fr)}
  .service-copy,.service-copy h1,.service-copy>p,.blogs-hero-grid>*{width:100%;max-width:calc(100vw - 36px);min-width:0;white-space:normal;overflow-wrap:anywhere}
  .service-art{margin:0;animation:none}.service-art img{width:120%;filter:none}
  .ip-actions a,.strip-cta a,.newsletter-wide button{max-width:100%}
}

/* Light-section typography and shared SVG icon system. */
.ip-section,.contact-main,.related{color:var(--ip-text)}
.ip-section h2,.ip-section h3,.ip-intro h2,.ip-card h3,.steps h3,.industry-grid h3{color:var(--ip-text)}
.benefits .ip-intro h2{color:#fff}
.ip-icon svg,.feature-icon svg,.step-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-icon svg{width:21px;height:21px}.step-icon svg{width:31px;height:31px}
.benefit-grid .ip-icon svg{width:24px;height:24px}
.industry-grid .ip-icon svg{width:31px;height:31px}
.ip-card h3,.steps h3,.industry-grid h3{visibility:visible;opacity:1}
.site-cta-section{padding:80px 0;background:var(--ip-bg)}
.site-cta-section .cta-wrapper{border-radius:14px;padding:1.4rem 1.8rem}
.site-cta-section .cta-title{font-size:1.45rem}.site-cta-section .cta-desc{font-size:.82rem}
.site-cta-section .cta-icon-badge{width:62px;height:62px}.site-cta-section .cta-left{gap:1.25rem}
.site-cta-section .btn-primary{white-space:nowrap}
.map-card>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact-left,.contact-right{min-width:0}.contact-form h2{color:var(--ip-text)}
@media(max-width:700px){.site-cta-section .cta-wrapper,.site-cta-section .cta-left{flex-direction:column;align-items:flex-start}.site-cta-section .cta-right,.site-cta-section .btn-primary{width:100%;justify-content:center}.site-cta-section .btn-primary{white-space:normal}}
@media(max-width:700px){.map-copy{top:clamp(3.75rem,16%,4.35rem);left:clamp(.75rem,4%,1rem);width:74%;max-height:calc(100% - clamp(4.5rem,20%,5.25rem));padding:clamp(.75rem,3.5vw,.95rem)}.map-copy h2{font-size:clamp(1rem,5vw,1.25rem)}.map-copy p{font-size:clamp(.66rem,3vw,.76rem);line-height:1.5}.map-copy .text-link{margin-top:.6rem;font-size:clamp(.64rem,2.8vw,.73rem)}}
@media(hover:hover) and (pointer:fine){.map-copy{left:clamp(3.5rem,8%,5rem);width:min(52%,220px);max-height:none;overflow:visible;transform:scale(.88);transform-origin:top left}}

/* Reusable Horizontal Card Grid / Swipe Carousel */
.tech-carousel-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 2rem;
    outline: none;
}

.tech-carousel-viewport {
    overflow: hidden;
    width: 100%;
    padding: 15px 5px;
    margin: -15px -5px;
}

.tech-carousel-viewport .tech-cards-row {
    display: flex !important;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 2rem !important;
    width: 100%;
    align-items: stretch !important;
    will-change: transform;
}

.tech-carousel-viewport .tech-cards-row > * {
    flex: 0 0 calc((100% - 4 * 2rem) / 5) !important;
    width: calc((100% - 4 * 2rem) / 5) !important;
    box-sizing: border-box !important;
    height: auto !important;
}

@media (max-width: 1199px) {
    .tech-carousel-viewport .tech-cards-row {
        gap: 1.5rem !important;
    }
    .tech-carousel-viewport .tech-cards-row > * {
        flex: 0 0 calc((100% - 3 * 1.5rem) / 4) !important;
        width: calc((100% - 3 * 1.5rem) / 4) !important;
    }
}

@media (max-width: 1023px) {
    .tech-carousel-viewport .tech-cards-row > * {
        flex: 0 0 calc((100% - 2 * 1.5rem) / 3) !important;
        width: calc((100% - 2 * 1.5rem) / 3) !important;
    }
}

@media (max-width: 767px) {
    .tech-carousel-viewport .tech-cards-row {
        gap: 1rem !important;
    }
    .tech-carousel-viewport .tech-cards-row > * {
        flex: 0 0 calc((100% - 1 * 1rem) / 2) !important;
        width: calc((100% - 1 * 1rem) / 2) !important;
    }
}

@media (max-width: 479px) {
    .tech-carousel-viewport .tech-cards-row > * {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}

.tech-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
}

.tech-carousel-arrow:hover {
    background: var(--ip-blue, #0878ff);
    color: #ffffff;
    border-color: var(--ip-blue, #0878ff);
    box-shadow: 0 6px 16px rgba(8, 120, 255, 0.25);
}

.tech-carousel-arrow.prev {
    left: -22px;
}

.tech-carousel-arrow.next {
    right: -22px;
}

.tech-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.tech-carousel-dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cbd5e1;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.tech-carousel-dots button.active {
    background: var(--ip-blue, #0878ff);
    transform: scale(1.2);
}

/* Reusable Technology Stats Component */
.tech-stats-grid {
    display: flex !important;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 2rem !important;
    width: 100%;
    align-items: stretch !important;
    will-change: transform;
}

.tech-carousel-viewport .tech-stats-grid > * {
    flex: 0 0 calc((100% - 5 * 2rem) / 6) !important;
    width: calc((100% - 5 * 2rem) / 6) !important;
    box-sizing: border-box !important;
    height: auto !important;
}

@media (max-width: 1199px) {
    .tech-carousel-viewport .tech-stats-grid {
        gap: 1.5rem !important;
    }
    .tech-carousel-viewport .tech-stats-grid > * {
        flex: 0 0 calc((100% - 3 * 1.5rem) / 4) !important;
        width: calc((100% - 3 * 1.5rem) / 4) !important;
    }
}

@media (max-width: 1023px) {
    .tech-carousel-viewport .tech-stats-grid > * {
        flex: 0 0 calc((100% - 2 * 1.5rem) / 3) !important;
        width: calc((100% - 2 * 1.5rem) / 3) !important;
    }
}

@media (max-width: 767px) {
    .tech-carousel-viewport .tech-stats-grid {
        gap: 1rem !important;
    }
    .tech-carousel-viewport .tech-stats-grid > * {
        flex: 0 0 calc((100% - 1 * 1rem) / 2) !important;
        width: calc((100% - 1 * 1rem) / 2) !important;
    }
}

@media (max-width: 479px) {
    .tech-carousel-viewport .tech-stats-grid > * {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}

.tech-stat-card {
    border-radius: 16px !important;
    padding: 2.2rem 1.5rem !important;
    text-align: center !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.tech-stat-card:hover {
    transform: translateY(-5px) !important;
}

.tech-stat-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    margin: 0 auto 1.5rem !important;
}

.tech-stat-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
}

.tech-stat-number {
    font-size: 2rem !important;
    font-weight: 800 !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.2 !important;
}

.tech-stat-label {
    font-size: 0.78rem !important;
    opacity: 0.8 !important;
    line-height: 1.4 !important;
}

/* Business Locations Section */
.business-locations {
    margin-top: 1.5rem;
    padding: 2.2rem;
    border: 1px solid var(--ip-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(25,42,80,.04);
}

.business-locations h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 1.8rem;
    color: var(--ip-text);
}

.locations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.location-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.2rem;
    border: 1px solid var(--ip-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(25, 42, 80, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(35, 51, 89, 0.1);
}

.location-image-wrapper {
    flex-shrink: 0;
    width: 85px;
    height: 85px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--ip-line);
}

.location-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.location-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.location-city-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.location-city-row h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: var(--ip-text);
}

.location-pin-icon {
    width: 16px;
    height: 16px;
    fill: var(--ip-blue);
    flex-shrink: 0;
}

.location-address {
    margin: 0;
    font-size: 0.8rem;
    color: var(--ip-muted);
    line-height: 1.45;
}

/* Responsiveness breakpoints matching inner-pages.css standard */
@media (max-width: 991px) {
    .locations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .locations-grid {
        grid-template-columns: 1fr;
    }
    .business-locations {
        padding: 1.5rem;
    }
}
