/* Kailvex stable visual system v4 — loaded last */
:root{
  --kv4-ink:#07162f;--kv4-muted:#60728b;--kv4-blue:#066ee8;--kv4-cyan:#12a8ff;
  --kv4-line:#dbe7f4;--kv4-soft:#f5f9ff;--kv4-navy:#06142d;--kv4-shadow:0 18px 50px rgba(4,35,88,.08)
}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
main{position:relative;isolation:isolate;overflow:clip}
section{position:relative;clear:both}
[data-reveal]{opacity:1!important;transform:none!important}
.cursor-glow,.cursor-ring,.cursor-dot{display:none!important}
body.cursor-ready,body.cursor-ready a,body.cursor-ready button,body.cursor-ready [data-tilt]{cursor:auto!important}

/* Keep fixed navigation from clipping page introductions. */
.page-hero,.seo-hero,.insights-hero,.article-hero{padding-top:max(126px,8vw)!important}

/* Portfolio cards: predictable height and actions never escape the card. */
.portfolio-grid{align-items:stretch!important}
.portfolio-card{display:flex!important;flex-direction:column!important;transform:none!important;overflow:hidden!important;min-width:0!important}
.portfolio-card:hover{transform:translateY(-5px)!important}
.portfolio-visual{flex:0 0 auto!important}
.portfolio-body{display:flex!important;flex:1!important;flex-direction:column!important;min-width:0!important;padding:26px 28px 28px!important}
.portfolio-body>p{min-height:4.6em}
.portfolio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:auto;padding-top:22px}
.portfolio-actions .portfolio-link,.portfolio-actions .case-study-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:43px!important;margin:0!important;padding:0 15px!important;border-radius:999px!important;font-size:.76rem!important;font-weight:900!important;text-decoration:none!important}
.portfolio-actions .portfolio-link{color:#fff!important;background:linear-gradient(135deg,var(--kv4-blue),var(--kv4-cyan))!important;box-shadow:0 12px 25px rgba(6,110,232,.19)}
.portfolio-actions .case-study-link{position:static!important;color:#075fd6!important;border:1px solid #cfe0f3!important;background:#fff!important}
.portfolio-meta{min-width:0!important}.portfolio-domain{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Home technology block: undo the previous generic .tech-core collision. */
.tech-hub{overflow:hidden!important}
.tech-hub__top{align-items:center!important}
.tech-hub .tech-core{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;min-height:285px!important;display:grid!important;place-items:center!important;transform:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font-size:inherit!important;animation:none!important;overflow:hidden!important}
.tech-hub .tech-core__ring{display:block!important;position:absolute!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:50%!important;background:transparent!important}
.tech-hub .tech-core__ring--one{width:270px!important;height:270px!important}.tech-hub .tech-core__ring--two{width:205px!important;height:205px!important}.tech-hub .tech-core__ring--three{width:128px!important;height:128px!important}
.tech-hub .tech-core__label{position:relative!important;z-index:2!important;width:158px!important;height:158px!important;display:grid!important;place-items:center!important;align-content:center!important;padding:18px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(24,115,235,.72),rgba(5,50,111,.72))!important;box-shadow:0 24px 55px rgba(0,0,0,.25)!important;text-align:center!important;overflow:visible!important}
.tech-hub .tech-core__label strong,.tech-hub .tech-core__label span{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.tech-hub .tech-core__label strong{font-size:1.2rem!important;color:#fff!important}.tech-hub .tech-core__label span{margin-top:8px!important;color:#d3eaff!important;font-size:.7rem!important;line-height:1.45!important}
.tech-hub .tech-marquee{overflow:hidden!important}.tech-hub .tech-chip{white-space:nowrap!important}

/* About-page technology dashboard: grid, no absolute-position collisions. */
.tech-capability-head{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr)!important;gap:50px!important;align-items:center!important}
.tech-capability-head>.tech-architecture{position:relative!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:24px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:30px!important;background:radial-gradient(circle at 86% 12%,rgba(18,168,255,.22),transparent 30%),linear-gradient(145deg,#07142c,#0a2b61)!important;box-shadow:0 28px 70px rgba(0,0,0,.2)!important}
.tech-architecture::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}
.tech-architecture .tech-link,.tech-architecture .tech-core,.tech-architecture .tech-detail{display:none!important}
.tech-architecture .tech-node{position:relative!important;inset:auto!important;width:auto!important;min-height:150px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:20px!important;transform:none!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:22px!important;color:#fff!important;background:rgba(255,255,255,.065)!important;text-align:left!important;overflow:hidden!important}
.tech-architecture .tech-node::before{content:"";position:absolute;right:-34px;top:-34px;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle,rgba(18,168,255,.25),transparent 70%)}
.tech-architecture .tech-node:hover,.tech-architecture .tech-node.is-active{transform:translateY(-4px)!important;border-color:rgba(112,216,255,.5)!important;background:rgba(9,91,184,.26)!important}
.tech-architecture .tech-node b{color:#72d8ff!important;font-size:.68rem!important;letter-spacing:.08em!important}.tech-architecture .tech-node span{margin-top:10px!important;color:#fff!important;font-size:.83rem!important;line-height:1.5!important}

/* Clean FAQ accordion: no hover blocks or cursor artefacts. */
.faq,.faq-list{width:100%!important;max-width:960px!important;margin-inline:auto!important}
.faq-item{position:relative!important;border:0!important;border-bottom:1px solid var(--kv4-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transition:none!important}
.faq-item:hover{border-color:var(--kv4-line)!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.faq-question{min-height:76px!important;padding:22px 2px!important;font-size:clamp(.95rem,1.3vw,1.08rem)!important;line-height:1.45!important}
.faq-question>span:first-child{padding-right:18px}
.faq-question>span:last-child,.faq-icon{position:relative!important;flex:0 0 36px!important;width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border:1px solid #cfe0f3!important;border-radius:50%!important;background:#f7fbff!important;color:transparent!important;font-size:0!important;box-shadow:none!important;transform:none!important}
.faq-question>span:last-child::before,.faq-icon::before{content:"";width:8px;height:8px;border-right:2px solid #0769dc;border-bottom:2px solid #0769dc;transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s ease}
.faq-question[aria-expanded="true"]>span:last-child::before,.faq-question[aria-expanded="true"] .faq-icon::before{transform:rotate(225deg) translate(-1px,-1px)}
.faq-answer p{padding:0 54px 23px 2px!important;color:var(--kv4-muted)!important;line-height:1.75!important}

/* Real cartographic delivery map with readable labels. */
.delivery-map-card{position:relative!important;margin:0!important;padding:16px!important;overflow:hidden!important;border:1px solid rgba(86,187,255,.26)!important;border-radius:32px!important;background:linear-gradient(145deg,#041024,#082b5e)!important;box-shadow:0 28px 70px rgba(4,35,88,.18)!important}
.delivery-map-card::after{content:"";position:absolute;inset:-35%;background:linear-gradient(115deg,transparent 42%,rgba(115,219,255,.09) 49%,transparent 56%);animation:kvMapScan 8s linear infinite;pointer-events:none}
.delivery-map-card img{position:relative;z-index:1;width:100%!important;height:auto!important;display:block!important;aspect-ratio:1.78/1!important;object-fit:contain!important;border-radius:22px!important}
.delivery-map-card figcaption{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 9px 3px;color:#c9def3;font-size:.72rem;line-height:1.55}
.delivery-map-card figcaption strong{color:#fff}.delivery-map-card figcaption span{display:inline-flex;align-items:center;gap:8px}.delivery-map-card figcaption span::before{content:"";width:8px;height:8px;border-radius:50%;background:#43c6ff;box-shadow:0 0 14px #43c6ff}
@keyframes kvMapScan{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
.footprint-grid{align-items:center!important;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr)!important;gap:48px!important}
.footprint-copy h2{font-size:clamp(2.7rem,4.9vw,5.2rem)!important;line-height:.98!important}.footprint-copy p{max-width:650px!important}

/* Insights hub gets an intentional two-column introduction. */
.insights-hero{padding-bottom:70px!important;overflow:hidden!important}
.insights-hero>.container{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr)!important;gap:48px!important;align-items:center!important}
.insights-hero .breadcrumbs{grid-column:1/-1!important;margin-bottom:0!important}
.insights-hero h1{max-width:840px!important;font-size:clamp(3rem,5.7vw,5.8rem)!important;line-height:.95!important}
.insights-hero> .container > p,.insights-hero .editorial-link{max-width:720px!important}
.insights-hub-visual{position:relative;min-height:410px;padding:26px;border:1px solid #d7e6f5;border-radius:32px;background:radial-gradient(circle at 80% 15%,rgba(18,168,255,.18),transparent 30%),linear-gradient(145deg,#f7fbff,#edf6ff);box-shadow:var(--kv4-shadow);overflow:hidden}
.insights-hub-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,93,226,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(7,93,226,.05) 1px,transparent 1px);background-size:42px 42px}
.insights-hub-visual__core{position:absolute;left:50%;top:50%;width:126px;height:126px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:30px;color:#fff;background:linear-gradient(135deg,#0755d9,#12a8ff);box-shadow:0 0 0 18px rgba(7,141,255,.08),0 25px 45px rgba(7,93,226,.22);font-size:1.1rem;font-weight:950;text-align:center;animation:kvFloat 4.5s ease-in-out infinite}
.insights-hub-visual__card{position:absolute;z-index:2;width:155px;padding:15px;border:1px solid #d5e4f2;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(4,35,88,.08);font-size:.72rem;font-weight:850;color:#163658}
.insights-hub-visual__card small{display:block;margin-top:5px;color:#6a7c92;font-size:.61rem;line-height:1.45}.insights-hub-visual__card--a{left:22px;top:42px}.insights-hub-visual__card--b{right:22px;top:72px}.insights-hub-visual__card--c{left:38px;bottom:42px}.insights-hub-visual__card--d{right:34px;bottom:34px}
@keyframes kvFloat{50%{transform:translate(-50%,-55%)}}

/* Insight article hero: constrained copy + visual, never full-width oversized text. */
.article-hero{overflow:hidden!important;padding-bottom:70px!important}
.article-hero>.container{max-width:1280px!important}
.article-hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);gap:48px;align-items:center;margin-top:26px}
.article-hero__copy{min-width:0}.article-hero__copy h1{max-width:900px!important;margin-top:14px!important;font-size:clamp(2.75rem,4.8vw,5.1rem)!important;line-height:.97!important;letter-spacing:-.045em!important}.article-hero__copy .lead{max-width:810px!important;font-size:clamp(.98rem,1.35vw,1.13rem)!important;line-height:1.75!important}.article-meta{display:flex!important;flex-wrap:wrap!important;gap:9px 20px!important}
.article-hero__visual{position:relative;min-height:360px;padding:24px;overflow:hidden;border:1px solid #d8e6f5;border-radius:30px;background:radial-gradient(circle at 82% 14%,rgba(18,168,255,.18),transparent 29%),linear-gradient(145deg,#fff,#edf6ff);box-shadow:var(--kv4-shadow)}
.article-hero__visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,93,226,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(7,93,226,.045) 1px,transparent 1px);background-size:38px 38px}
.article-visual-main{position:absolute;left:50%;top:50%;width:190px;min-height:150px;display:grid;place-items:center;align-content:center;gap:8px;transform:translate(-50%,-50%);padding:20px;border:1px solid rgba(255,255,255,.7);border-radius:28px;color:#fff;background:linear-gradient(145deg,#0755d9,#12a8ff);box-shadow:0 24px 50px rgba(7,93,226,.25);text-align:center;animation:kvArticleFloat 5s ease-in-out infinite}.article-visual-main strong{font-size:1.05rem}.article-visual-main small{color:#dff3ff;font-size:.68rem;line-height:1.45}
.article-visual-chip{position:absolute;z-index:2;padding:11px 14px;border:1px solid #d5e4f2;border-radius:999px;background:#fff;box-shadow:0 12px 28px rgba(4,35,88,.08);color:#1c3e65;font-size:.67rem;font-weight:900}.article-visual-chip--a{left:22px;top:42px}.article-visual-chip--b{right:20px;top:72px}.article-visual-chip--c{left:34px;bottom:35px}.article-visual-chip--d{right:28px;bottom:45px}
@keyframes kvArticleFloat{50%{transform:translate(-50%,-55%)}}
.article-layout{max-width:1280px!important;grid-template-columns:270px minmax(0,1fr)!important;gap:50px!important}.article-content{min-width:0}.article-content h2{font-size:clamp(2rem,3.2vw,3.45rem)!important;line-height:1.05!important}.article-toc{top:110px!important}

/* WhatsApp button: blue Kailvex CTA, clear white WhatsApp mark. */
.kv-contact-float,.kv-contact-float.is-contact-fallback{right:18px!important;bottom:18px!important;min-height:60px!important;padding:9px 18px 9px 9px!important;border:1px solid rgba(255,255,255,.62)!important;color:#fff!important;background:linear-gradient(135deg,#0755d9,#099dff)!important;box-shadow:0 20px 50px rgba(7,93,226,.34)!important}
.kv-contact-float::before{border-color:rgba(7,141,255,.38)!important}.kv-contact-float:hover{transform:translateY(-4px)!important;box-shadow:0 26px 60px rgba(7,93,226,.42)!important}
.kv-contact-float__icon{width:43px!important;height:43px!important;background:#fff!important;color:#075fd6!important}.kv-contact-float__icon svg{width:27px!important;height:27px!important;fill:none!important;stroke:#075fd6!important;stroke-width:2.15!important}.kv-contact-float__text{font-size:.8rem!important;color:#fff!important}

/* Buttons and icons stay legible. */
.btn svg,.portfolio-link svg,.insight-card__link svg{stroke:currentColor!important;fill:none!important}.btn--primary svg,.btn--light-on-blue svg{color:#fff!important;stroke:#fff!important}.nav-product__icon svg,.feature-icon svg,.hw-icon svg{stroke:#fff!important;color:#fff!important;fill:none!important}

/* Payment page resilience. */
.hero-workspace--payment,.hero-workspace--payment *{min-width:0}.hero-workspace--payment .hw-icon{overflow:hidden!important}.hero-workspace--payment .hw-icon svg{display:block!important;max-width:26px!important;max-height:26px!important}.hero-workspace--payment .hw-title{grid-template-columns:52px minmax(0,1fr)!important}.hero-workspace--payment .hw-title>*{min-width:0!important}

/* New maintenance service page. */
.maintenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.maintenance-card{padding:28px;border:1px solid var(--kv4-line);border-radius:25px;background:#fff;box-shadow:0 14px 38px rgba(4,35,88,.055)}.maintenance-card span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--kv4-blue),var(--kv4-cyan));font-weight:950}.maintenance-card h3{margin-top:20px;font-size:1.2rem}.maintenance-card p{margin-top:10px;color:var(--kv4-muted);font-size:.86rem;line-height:1.7}

@media(max-width:1100px){
  .tech-capability-head,.insights-hero>.container,.article-hero__grid,.footprint-grid{grid-template-columns:1fr!important}
  .tech-capability-head>.tech-architecture,.insights-hub-visual,.article-hero__visual,.delivery-map-card{max-width:860px;width:100%;margin-inline:auto}
  .portfolio-body>p{min-height:auto}.maintenance-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .page-hero,.seo-hero,.insights-hero,.article-hero{padding-top:112px!important}
  .portfolio-grid{grid-template-columns:1fr!important}.portfolio-visual{height:260px!important}.portfolio-actions{display:grid!important;grid-template-columns:1fr}.portfolio-actions a{width:100%}
  .tech-hub{padding:26px 18px!important}.tech-hub__top{grid-template-columns:1fr!important}.tech-hub .tech-core{min-height:245px!important}.tech-hub .tech-core__ring--one{width:235px!important;height:235px!important}.tech-hub .tech-core__ring--two{width:178px!important;height:178px!important}
  .tech-capability-head>.tech-architecture{grid-template-columns:1fr!important;padding:16px!important}.tech-architecture .tech-node{min-height:125px!important}
  .delivery-map-card{padding:9px!important;border-radius:24px!important}.delivery-map-card img{aspect-ratio:1.35/1!important;object-fit:cover!important;object-position:60% center!important}.delivery-map-card figcaption{display:grid!important}
  .insights-hub-visual{min-height:360px}.insights-hub-visual__card{width:132px;padding:11px;font-size:.61rem}.insights-hub-visual__card--a{left:10px}.insights-hub-visual__card--b{right:10px}.insights-hub-visual__card--c{left:12px}.insights-hub-visual__card--d{right:12px}
  .article-hero__visual{min-height:310px}.article-visual-chip{font-size:.58rem;padding:8px 10px}.article-visual-chip--a{left:10px}.article-visual-chip--b{right:10px}.article-visual-chip--c{left:12px}.article-visual-chip--d{right:12px}.article-layout{display:block!important}.article-toc{position:relative!important;top:auto!important;margin-bottom:34px!important}
  .faq-answer p{padding-right:4px!important}.maintenance-grid{grid-template-columns:1fr}
  .kv-contact-float{right:12px!important;bottom:12px!important;width:58px!important;height:58px!important;min-height:58px!important;padding:0!important;justify-content:center!important}.kv-contact-float__text{display:none!important}.kv-contact-float__icon{width:42px!important;height:42px!important}
}
@media(prefers-reduced-motion:reduce){.delivery-map-card::after,.insights-hub-visual__core,.article-visual-main{animation:none!important}}

/* Final stability safeguards across all layouts. */
*,*::before,*::after{box-sizing:border-box}
.container,.seo-hero-grid,.section-head,.hero-workspace,.service-hub-card,.insight-card,.case-study-card,.portfolio-card{min-width:0}
img,svg{max-width:100%}
h1,h2,h3,h4,p,a,span{overflow-wrap:break-word}
.btn,.filter-btn,.tool-filter{white-space:normal;text-align:center}
.section-head{align-items:center!important;gap:34px!important}.section-head>p{max-width:620px!important}
.hero-workspace{overflow:hidden!important}.hero-workspace__body>*{min-width:0!important}
@media(max-width:560px){.section{padding-left:0!important;padding-right:0!important}.container{width:min(100% - 30px,1240px)!important}.section-head{display:block!important}.section-head>p{margin-top:16px!important}.portfolio-meta{align-items:flex-start!important}.portfolio-domain{max-width:62%!important}}
