/* DigiVista Enterprise v2 — layered over styles.css */
:root{--radius:12px;--shadow:0 12px 32px rgba(7,31,63,.08)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand{font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em}
h1{font-weight:700}h2{font-weight:650}
p{max-width:68ch}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 14px;border-radius:8px;z-index:99}.skip:focus{left:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0b4f94;outline-offset:2px}
/* quieter labels, sharper controls */
.eyebrow{text-transform:none;letter-spacing:.01em;font-size:13px;font-weight:700}
.eyebrow:before{width:8px;height:8px;border-radius:2px;background:var(--teal)}
.btn,.navcta{border-radius:8px;padding:13px 22px}
.btn:hover,.navcta:hover,.card:hover{transform:none}
.card{border-radius:var(--radius);box-shadow:none}.card:hover{box-shadow:var(--shadow)}
.brandmark{border-radius:9px}.tag,.pill{border-radius:6px}
.stepnum{letter-spacing:0;font-size:12px}
.topbar{font-size:12px}
/* nav with service dropdown */
.navlinks{overflow:visible}.hasmenu{position:relative}
.hasmenu>a:after{content:"▾";font-size:10px;margin-left:5px;opacity:.6}
.menu{display:none;position:absolute;left:-24px;top:100%;padding-top:22px;z-index:40}
.menu>div{width:min(640px,90vw);display:grid;grid-template-columns:1fr 1fr;gap:2px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 24px 60px rgba(7,31,63,.16)}
.menu a{display:block;padding:9px 11px;border-radius:8px;font-size:13px;font-weight:600;color:#34405a}
.menu a:hover{background:var(--pale);color:var(--blue)}
.menu .all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:6px;padding-top:14px;border-radius:0;color:var(--blue);font-weight:800}
.hasmenu:hover .menu,.hasmenu:focus-within .menu{display:block}
/* hero */
.hero{background:linear-gradient(135deg,#071f3f 0,#0b2e5c 60%,#0f4a85 100%)}
.hero:after{display:none}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000 70%)}
.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08}
.visualpanel{border-radius:16px}.node{border-radius:10px}
.statbar{border-radius:12px}
/* trust band */
.band{background:#fff;border-bottom:1px solid var(--line)}
.band .container{display:grid;grid-template-columns:repeat(4,1fr)}
.band div{padding:22px 24px;border-left:1px solid var(--line);font-size:13px;color:var(--muted)}
.band div:first-child{border-left:0;padding-left:0}.band b{display:block;color:var(--navy);font-size:14px;margin-bottom:2px}
/* service directory */
.svcgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svcgrid a{display:flex;flex-direction:column;gap:6px;padding:24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .15s}
.svcgrid a:hover{background:var(--pale)}
.svcgrid b{font-family:Sora,Inter,sans-serif;font-size:15px;color:var(--navy);letter-spacing:-.02em}
.svcgrid span{font-size:13px;color:var(--muted);line-height:1.5}
.svcgrid em{font-style:normal;color:var(--blue);font-size:12px;font-weight:800;margin-top:auto;padding-top:8px}
/* scope box replaces decorative mock windows */
.scopebox{background:var(--navy);color:#fff;border-radius:16px;padding:34px}
.scopebox h3{color:#fff;font-size:20px;margin-bottom:6px}.scopebox>p{color:#b9c6e2;font-size:14px}
.scopebox dl{margin:22px 0 0;display:grid;gap:0}
.scopebox dt{font-weight:700;font-size:14px;padding-top:16px;border-top:1px solid #ffffff20}
.scopebox dd{margin:2px 0 16px;color:#aebbd8;font-size:13px}
/* tech list */
.techlist{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 14px;padding:0;list-style:none}
.techlist li{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 16px;font-weight:700;font-size:14px;color:var(--navy)}
.fine{font-size:12px;color:#7a8499}
/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:700;color:var(--navy);font-size:16px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:16px;font-size:24px;color:var(--blue);font-weight:400}
.faq details[open] summary:after{content:"–"}
.faq details p{padding:0 40px 20px 0;margin:0;font-size:15px}
/* page heroes, service pages */
.servicehero{background:linear-gradient(135deg,#071f3f,#0b3c75)}
.sidebox{border-radius:12px;background:var(--pale);border-color:var(--line)}
.formbox{border-radius:14px}
.footer h4{text-transform:none;letter-spacing:0;font-size:14px}
.footer li{font-size:13px}
@media(max-width:960px){.svcgrid{grid-template-columns:repeat(2,1fr)}.band .container{grid-template-columns:1fr 1fr}.band div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:700px){.svcgrid{grid-template-columns:1fr}.band .container{grid-template-columns:1fr}.band div{border-left:0;padding-left:0;border-bottom:1px solid var(--line)}.menu{display:none!important}.hasmenu>a:after{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* --- v2.1: accessible mobile services submenu + form feedback --- */
.submenutoggle{display:none}
.field-error{color:#b3261e;font-size:12px;font-weight:600}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#b3261e}
#form-status{font-size:13px}#form-status:focus{outline:3px solid #0b4f94;outline-offset:2px}
#form-status[data-kind="error"]{background:#fdecea;border-color:#f5c2be;color:#8a1c14}
@media(min-width:701px){.hasmenu .submenutoggle{display:none!important}}
@media(max-width:700px){
 .hasmenu{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
 .hasmenu>a{flex:1}
 .submenutoggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:16px;color:var(--navy);cursor:pointer}
 .submenutoggle[aria-expanded="true"]{transform:none;background:var(--pale)}
 .hasmenu .menu{display:none!important;position:static;padding:0;width:100%;flex-basis:100%}
 .hasmenu.sub-open .menu{display:block!important}
 .hasmenu .menu>div{width:100%;grid-template-columns:1fr;box-shadow:none;border:0;padding:6px 0 0 8px;border-left:2px solid var(--line);border-radius:0}
 .menu a{padding:12px 11px;font-size:14px}
 .navlinks{max-height:calc(100vh - 70px);overflow-y:auto}
 .navlinks a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:960px) and (min-width:701px){.hasmenu .menu{left:auto;right:-80px}}
/* grid children may shrink; long email addresses wrap instead of forcing horizontal scroll */
.split>*,.formgrid>*{min-width:0}
.card h3 a,.footer a[href^="mailto:"]{overflow-wrap:anywhere}
.field input,.field select,.field textarea{width:100%;min-width:0}
/* v2.1 contrast fixes (WCAG 2.x AA 4.5:1 for small text); palette hues unchanged */
.nav .brand small,.fine,.miniwindow label{color:#5b667c}
.sidebox a.btn{color:var(--navy)}
.section.dark .eyebrow{color:#f7a642}
.section.dark .eyebrow:before{background:var(--teal)}
/* --- v3 brand palette: logo navy + logo orange --- */
:root{--orange-hover:#ffa938}
.brand img{display:block;height:46px;width:auto;max-width:100%}
.footer .brand img{height:44px;background:#fff;border-radius:10px;padding:8px 12px;box-sizing:content-box}
.btn,.navcta{background:var(--orange);border-color:var(--orange);color:var(--navy);font-weight:800}
.btn:hover,.navcta:hover{background:var(--orange-hover);border-color:var(--orange-hover);box-shadow:0 10px 24px #f7941d55}
.btn.secondary{background:#fff;color:var(--navy);border-color:#cfd9e8}
.hero .secondary{background:transparent;color:#fff;border-color:#ffffff66}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.cta .btn.light{background:var(--orange);border-color:var(--orange)}
.iconbox{color:var(--orange-ink)}
.card:hover{border-color:#f3c786}
.hero:before{background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px)}
.node.center{background:linear-gradient(135deg,#f7941d,#f7b34d);border-color:#ffd59a;color:var(--navy)}
.node.center span{color:#3a2a0a}
.status{background:#f7941d26;color:#ffc46b}
.topbar{background:var(--navy)}
.navlinks a:hover,.menu a:hover{color:var(--blue)}
.navlinks>a[aria-current="page"]{color:var(--blue)}
.topbar,.footer,.hero,.servicehero,.cta,.section.dark{--focus:#ffc46b}
.hero a:focus-visible,.footer a:focus-visible,.servicehero a:focus-visible,.cta a:focus-visible,.section.dark a:focus-visible{outline-color:#ffc46b}
.btn:focus-visible,.navcta:focus-visible{outline-color:var(--navy);box-shadow:0 0 0 2px #fff}
.cta .btn:focus-visible,.hero .btn:focus-visible{outline-color:#fff}
@media(max-width:700px){.brand img{height:38px}.footer .brand img{height:36px}}
/* light cards placed inside dark sections must not inherit light text (invisible text bug, also in v2) */
.section.dark .card h3{color:var(--navy)}
.section.dark .card p{color:var(--muted)}
/* v4: seven nav items + CTA must fit between 961px and ~1200px */
@media(max-width:1200px) and (min-width:961px){.navlinks{gap:16px}.navcta{padding:11px 14px;font-size:12px}.navinner{gap:16px}.brand img{height:42px}}
/* v4: footer column headings are h2 (valid heading order); touch-target sizing for phone links */
.footer h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.3;font-weight:700;letter-spacing:0;text-transform:none;color:#dbe5fa;margin:0 0 18px}
.card h3 a[href^="tel:"],.footer a[href^="tel:"],.footer a[href^="mailto:"]{display:inline-block;padding:5px 0}
h2.cardtitle{font-size:21px;line-height:1.2;letter-spacing:-.03em;font-weight:650}

/* v5: cinematic enterprise visual direction inspired by the reference, adapted to DigiVista branding */
:root{--dv-night:#050b18;--dv-deep:#07172c;--dv-glow:#154a79;--dv-amber:#f7941d}
body{background:#fff}
.topbar{background:#061226;color:#d6e2f5}
.nav{background:#071326;color:#fff;border-bottom:1px solid #ffffff16}
.nav .brand small{color:#c4d2e6}
.navlinks>a,.navlinks>.hasmenu>a{color:#f4f7fc}
.navlinks>a:hover,.navlinks>.hasmenu>a:hover,.navlinks>a[aria-current="page"]{color:#ffb34d}
.nav .mobiletoggle{color:#fff;border-color:#ffffff40;background:#ffffff0b}
.menu>div{background:#0b1a30;border-color:#263b58}
.menu a{color:#e0e9f7}
.menu a:hover{background:#142b48;color:#ffb34d}
.hero{isolation:isolate;overflow:hidden;min-height:650px;padding:92px 0 76px;background:radial-gradient(ellipse at 76% 44%,#174d79 0%,#0a2746 24%,#07162b 52%,#040914 100%);}
.hero:before{z-index:-1;opacity:.55;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 5%,#000 100%)}
.hero:after{display:block;content:"";position:absolute;z-index:-1;width:min(54vw,760px);height:min(54vw,760px);right:-10%;top:50%;transform:translateY(-50%) rotate(45deg);border:1px solid #8abce533;border-radius:34%;box-shadow:0 0 0 42px #8abce50b,0 0 0 90px #8abce508,0 0 120px #0b4f9430,inset 0 0 90px #0b4f9418;pointer-events:none}
.hero h1{font-size:clamp(42px,5.3vw,76px);line-height:1.02;letter-spacing:-.055em;max-width:760px}
.hero p{color:#c6d5e8;max-width:590px;font-size:17px;line-height:1.75}
.hero .eyebrow{color:#ffbd68}
.hero .eyebrow:before{background:var(--dv-amber)}
.hero-grid{gap:56px}
.visualpanel{background:linear-gradient(145deg,#102a45d9,#071321e8);border:1px solid #a9d0f333;border-radius:22px;box-shadow:0 30px 90px #0007;backdrop-filter:blur(10px)}
.visualpanel:before{background:#287ab033;filter:blur(32px)}
.node{background:#0a1d34;border-color:#8eb6db55}
.node.center{background:linear-gradient(135deg,#f7941d,#ffc56e);border-color:#ffe0ac;color:#071f3f;box-shadow:0 0 42px #f7941d25}
.node.center span{color:#53330d}
.hero .statbar{border-radius:12px;background:#ffffff08;border-color:#ffffff20}
.trustdot{background:#f7941d;box-shadow:0 0 0 5px #f7941d20}
.band{background:#f4f7fc;border-bottom:1px solid #dce5f1}
.band .container{padding-top:6px;padding-bottom:6px}
.section{padding:96px 0}
.sectionhead h2,.split h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;letter-spacing:-.045em}
.sectionhead p{line-height:1.75}
.eyebrow{color:#a85b05;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.eyebrow:before{background:#f7941d}
.btn,.navcta{border-radius:999px;padding:14px 24px;letter-spacing:-.01em}
.btn:hover,.navcta:hover{transform:translateY(-2px)}
.svcgrid{gap:12px;border:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.svcgrid a{position:relative;isolation:isolate;overflow:hidden;min-height:190px;justify-content:flex-end;gap:9px;border:1px solid #ffffff1b;border-radius:14px;padding:24px;background:linear-gradient(145deg,#102b4a,#071326);transition:transform .2s,border-color .2s,box-shadow .2s}
.svcgrid a:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 88% 8%,var(--svc-glow,#1e5d88),transparent 48%),linear-gradient(180deg,#07132600 0%,#050b18dd 100%);opacity:.95}
.svcgrid a:nth-child(4n+1){--svc-glow:#235f89}.svcgrid a:nth-child(4n+2){--svc-glow:#8b5c30}.svcgrid a:nth-child(4n+3){--svc-glow:#4e4d91}.svcgrid a:nth-child(4n){--svc-glow:#247a72}
.svcgrid a:hover{background:linear-gradient(145deg,#153657,#08162b);border-color:#f7941d88;box-shadow:0 16px 40px #071f3f24;transform:translateY(-3px)}
.svcgrid b{font-size:17px;line-height:1.25;color:#fff}
.svcgrid span{font-size:13px;color:#c3d1e4;line-height:1.55}
.svcgrid em{color:#ffb34d;font-size:12px;letter-spacing:.02em}
.section.dark{background:radial-gradient(ellipse at 85% 0%,#12365a 0%,#071a32 48%,#050b18 100%)}
.section.dark .card{background:#0b1c31;border-color:#ffffff1a}
.section.dark .card h3{color:#fff}
.section.dark .card p{color:#c2cee0}
.section.dark .iconbox{background:#f7941d1b;color:#ffb34d;border:1px solid #f7941d30}
.featurevisual{background:radial-gradient(circle at 75% 20%,#d7e7fa,#eef4fc 48%,#d8e4f3);border-radius:18px}
.scopebox{border-radius:18px;background:linear-gradient(145deg,#0a2a4b,#061327);border:1px solid #23415f}
.card{border-radius:14px}
.cta{background:radial-gradient(ellipse at 90% 0%,#1d5680 0%,#0b2e52 45%,#06162b 100%);position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-250px;border:1px solid #ffffff20;border-radius:50%;box-shadow:0 0 0 38px #ffffff08,0 0 0 78px #ffffff05;pointer-events:none}
.footer{background:#030a15}
.pagehero{background:radial-gradient(ellipse at 85% 10%,#e5edf8 0%,#f7f9fc 44%,#fff 78%)}
.servicehero{background:radial-gradient(ellipse at 82% 25%,#164a74 0%,#0a2a4b 35%,#061326 82%);position:relative;overflow:hidden}
.servicehero:after{content:"";position:absolute;right:-90px;top:-160px;width:420px;height:420px;border:1px solid #ffffff18;border-radius:38%;transform:rotate(35deg);box-shadow:0 0 0 48px #ffffff06,0 0 0 100px #ffffff04;pointer-events:none}
.servicehero .container{position:relative;z-index:1}
@media(max-width:960px){.hero{min-height:0;padding:76px 0 64px}.hero:after{right:-28%;width:68vw;height:68vw}.svcgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:76px 0}}
@media(max-width:700px){.topbar{display:none}.nav{background:#071326}.navinner{min-height:72px}.navlinks{background:#071326;border-color:#ffffff20}.navlinks a{color:#f4f7fc}.navlinks .hasmenu{color:#fff}.navlinks .submenutoggle{background:#0c2038;color:#fff;border-color:#ffffff30}.navlinks .menu>div{background:transparent}.menu a{color:#dce7f7}.hero{padding:62px 0 54px}.hero h1{font-size:clamp(38px,10vw,54px)}.hero-grid{gap:30px}.hero:after{right:-42%;top:26%;width:92vw;height:92vw}.visualpanel{min-height:300px}.section{padding:62px 0}.svcgrid{grid-template-columns:1fr}.svcgrid a{min-height:155px;padding:22px}.sectionhead{margin-bottom:30px}.sectionhead h2,.split h2{font-size:clamp(29px,8vw,38px)}.servicehero{padding:56px 0}.servicehero:after{right:-250px}}

/* v6 — image-led cinematic enterprise system using supplied DigiVista imagery */
:root{--dv-orange:#f7941d;--dv-cyan:#5ad7ff;--dv-white:#f7fbff;--dv-black:#030812}
.hero{position:relative;background-image:linear-gradient(90deg,rgba(3,8,18,.96) 0%,rgba(3,8,18,.78) 46%,rgba(3,8,18,.26) 100%),url('images/midnight-portal-over-reflective-waters.webp');background-size:cover;background-position:center;min-height:720px}
.hero:after{display:none}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;min-height:560px}
.hero .visualpanel{min-height:330px;align-self:end;background:linear-gradient(180deg,rgba(3,11,23,.28),rgba(3,11,23,.9)),url('images/futuristic-glass-ribbons-in-blue-space.webp') center/cover;border-color:#ffffff26}
.hero .visualpanel:before{display:none}
.hero .network{opacity:.82}
.hero .paneltop{color:#d9e8f8}
.hero .statbar{backdrop-filter:blur(12px);background:#02071166}
.hero h1{max-width:820px}

/* Image cards */
.svcgrid a{background-size:cover;background-position:center}
.svcgrid a:before{background:linear-gradient(180deg,rgba(2,9,19,.10) 5%,rgba(2,9,19,.88) 78%),linear-gradient(135deg,rgba(7,31,63,.25),rgba(247,148,29,.08))}
.svcgrid a:nth-child(1){background-image:url('images/futuristic-blue-lit-data-centre-aisle.webp')}
.svcgrid a:nth-child(2){background-image:url('images/futuristic-devices-in-blue-and-gold.webp')}
.svcgrid a:nth-child(3){background-image:url('images/neon-glass-cube-orbit.webp')}
.svcgrid a:nth-child(4){background-image:url('images/cinematic-blue-network-operations-center.webp')}
.svcgrid a:nth-child(5){background-image:url('images/neon-blue-server-corridor.webp')}
.svcgrid a:nth-child(6){background-image:url('images/glowing-fiber-optic-wave.webp')}
.svcgrid a:nth-child(7){background-image:url('images/futuristic-cybersecurity-operations-center.webp')}
.svcgrid a:nth-child(8){background-image:url('images/neon-cybersecurity-shield-network.webp')}
.svcgrid a:nth-child(9){background-image:url('images/symmetrical-blue-lit-data-center-corridor.webp')}
.svcgrid a:nth-child(10){background-image:url('images/neon-ai-data-core-network.webp')}
.svcgrid a:nth-child(11){background-image:url('images/collaborative-tech-team-in-a-modern-office.webp')}
.svcgrid a:nth-child(12){background-image:url('images/futuristic-glass-ribbons-in-blue-space.webp')}
.svcgrid a:nth-child(13){background-image:url('images/futuristic-fintech-operations-floor.webp')}
.svcgrid a:nth-child(14){background-image:url('images/futuristic-quantum-network-globe.webp')}
.svcgrid a:nth-child(15){background-image:url('images/futuristic-business-analytics-hub.webp')}
.svcgrid a:nth-child(16){background-image:url('images/modern-conference-room-with-city-view.webp')}

/* Image-led split panels */
.featurevisual{position:relative;overflow:hidden;min-height:460px;background:url('images/collaborative-tech-team-in-a-modern-office.webp') center/cover;border-radius:22px;box-shadow:0 28px 80px rgba(4,20,40,.18)}
.featurevisual:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,31,63,.12),rgba(7,31,63,.76))}
.featurevisual .miniwindow{position:relative;z-index:2}

/* Dark editorial industry cards */
.industry{position:relative;overflow:hidden;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;background-size:cover!important;background-position:center!important;border:1px solid #ffffff1a!important}
.industry:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,20,.08),rgba(3,10,20,.9));z-index:0}
.industry>div,.industry>a{position:relative;z-index:1}
.industry:nth-child(1){background:url('images/modern-hospital-imaging-suite.webp')}
.industry:nth-child(2){background:url('images/automated-warehouse-fulfilment-in-action.webp')}
.industry:nth-child(3){background:url('images/modern-conference-room-with-city-view.webp')}
.industry:nth-child(4){background:url('images/futuristic-fintech-operations-floor.webp')}
.industry:nth-child(5){background:url('images/futuristic-robotic-car-assembly-line.webp')}

/* Cinematic page heroes */
.pagehero{position:relative;overflow:hidden;background-size:cover;background-position:center;min-height:430px;display:flex;align-items:center}
.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,18,.95),rgba(3,8,18,.66) 55%,rgba(3,8,18,.22));}
.pagehero .container{position:relative;z-index:1;color:#fff}
.pagehero h1{color:#fff;max-width:900px}
.pagehero p{color:#d6e3f3;max-width:700px}
.pagehero .breadcrumbs{color:#c6d5e8}
.pagehero .breadcrumbs a{color:#ffbd68}
.pagehero .eyebrow{color:#ffbd68}
.pagehero .eyebrow:before{background:var(--dv-orange)}
.pagehero.about-hero{background-image:url('images/collaborative-tech-team-in-a-modern-office.webp')}
.pagehero.services-hero{background-image:url('images/futuristic-glass-ribbons-in-blue-space.webp')}
.pagehero.industries-hero{background-image:url('images/futuristic-quantum-network-globe.webp')}
.pagehero.resources-hero{background-image:url('images/futuristic-business-analytics-hub.webp')}
.pagehero.pricing-hero{background-image:url('images/futuristic-devices-in-blue-and-gold.webp')}
.pagehero.contact-hero{background-image:url('images/modern-conference-room-with-city-view.webp')}

.servicehero{min-height:520px;display:flex;align-items:center;background-size:cover!important;background-position:center!important}
.servicehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,18,.95),rgba(3,8,18,.62) 55%,rgba(3,8,18,.22));}
.servicehero:after{display:none}
.servicehero .container{width:100%}
.servicehero h1{max-width:900px;font-size:clamp(44px,6vw,76px);letter-spacing:-.055em}
.servicehero p{max-width:700px;color:#d6e3f3;font-size:17px;line-height:1.75}

/* Rich visual blocks inside service pages */
.servicegrid{align-items:start}
.sidebox{position:sticky;top:100px;overflow:hidden}
.sidebox:before{content:"";display:block;height:150px;margin:-24px -24px 22px;background:var(--side-image) center/cover}

/* Editorial image strip */
.visualstrip{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:34px}
.visualstrip>div{min-height:260px;border-radius:18px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.visualstrip>div:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,8,16,.76))}
.visualstrip .caption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-weight:700;font-size:14px}

@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero{min-height:760px}.hero .visualpanel{min-height:290px}.pagehero{min-height:500px}.servicehero{min-height:560px}.sidebox{position:static}.visualstrip{grid-template-columns:1fr}}
@media(max-width:700px){.hero{min-height:0;padding:62px 0}.hero-grid{min-height:0}.hero .visualpanel{min-height:260px}.pagehero{min-height:520px}.pagehero h1{font-size:clamp(38px,10vw,54px)}.servicehero{min-height:540px}.servicehero h1{font-size:clamp(40px,10vw,54px)}.visualstrip>div{min-height:220px}}

/* V9 — Luminous Enterprise Light Theme
   White-first, airy enterprise system with blue/cyan technology accents and restrained DigiVista orange. */
:root{
  --dv-bg:#F7FAFC;
  --dv-surface:#FFFFFF;
  --dv-surface-2:#EEF6FB;
  --dv-surface-3:#E5F2F8;
  --dv-ink:#16344F;
  --dv-ink-strong:#0A2944;
  --dv-muted:#62788C;
  --dv-line:#DCE8F0;
  --dv-blue:#1769A8;
  --dv-blue-deep:#0B426D;
  --dv-cyan:#16B8D4;
  --dv-cyan-soft:#DDF7FB;
  --dv-orange:#F28A28;
  --dv-orange-soft:#FFF0DE;
}
body{background:var(--dv-bg);color:var(--dv-ink)}
.topbar{background:#0B426D;color:#E9F5FB}
.nav{background:rgba(255,255,255,.96);border-bottom:1px solid var(--dv-line);box-shadow:0 6px 22px rgba(15,58,91,.05)}
.nav .brand{color:var(--dv-ink-strong)}
.nav .brand small{color:#71879A}
.navlinks>a,.navlinks>.hasmenu>a{color:#29465F}
.navlinks>a:hover,.navlinks>.hasmenu>a:hover,.navlinks>a[aria-current="page"]{color:var(--dv-blue)}
.mobiletoggle{background:#fff;color:var(--dv-ink);border-color:var(--dv-line)}
.menu>div{background:#fff;border-color:var(--dv-line);box-shadow:0 20px 55px rgba(15,58,91,.14)}
.menu a{color:#34536C}.menu a:hover{background:var(--dv-surface-2);color:var(--dv-blue)}

/* Bright cinematic hero: image remains dominant, but the page no longer feels black. */
.hero{background-image:linear-gradient(90deg,rgba(7,35,59,.86) 0%,rgba(10,58,91,.58) 48%,rgba(12,69,103,.16) 100%),url('images/midnight-portal-over-reflective-waters.webp');background-position:center;background-size:cover;min-height:680px}
.hero:before{opacity:.18}
.hero h1{color:#fff}.hero p{color:#E2F0F7}.hero .eyebrow{color:#8BE8F4}.hero .eyebrow:before{background:var(--dv-cyan)}
.hero .secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff}
.hero .secondary:hover{background:#fff;color:var(--dv-ink-strong)}
.visualpanel{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.38);box-shadow:0 28px 70px rgba(4,25,42,.24);backdrop-filter:blur(14px)}
.node{background:rgba(7,42,68,.88);border-color:rgba(147,225,239,.45)}
.node.center{background:linear-gradient(135deg,var(--dv-cyan),#8BE8F4);color:#08324F;box-shadow:0 0 35px rgba(22,184,212,.24)}
.node.center span{color:#27556C}
.hero .statbar{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26)}

.section{background:var(--dv-bg)}
.section.pale{background:var(--dv-surface-2)}
.section.dark{background:linear-gradient(135deg,#0B426D,#1769A8);color:#fff}
.section.dark h2,.section.dark h3{color:#fff}.section.dark p{color:#DCECF4}
.sectionhead h2,.split h2{color:var(--dv-ink-strong)}
.eyebrow{color:var(--dv-blue);}.eyebrow:before{background:var(--dv-cyan)}
p{color:var(--dv-muted)}
h1,h2,h3{color:var(--dv-ink-strong)}

.btn,.navcta{background:var(--dv-orange);border-color:var(--dv-orange);color:#18344A}
.btn:hover,.navcta:hover{background:#FFA34A;border-color:#FFA34A;box-shadow:0 12px 26px rgba(242,138,40,.25)}
.btn.secondary{background:#fff;border-color:#C9DCE8;color:var(--dv-blue-deep)}
.btn.secondary:hover{border-color:var(--dv-cyan);color:var(--dv-blue)}
.btn.light{background:#fff;color:var(--dv-blue-deep);border-color:#fff}

.card{background:#fff;border-color:var(--dv-line);box-shadow:0 8px 30px rgba(22,52,79,.045)}
.card:hover{border-color:#B7DCE7;box-shadow:0 18px 45px rgba(22,52,79,.10)}
.iconbox{background:var(--dv-cyan-soft);color:var(--dv-blue);border:1px solid #C7EDF3}
.textlink{color:var(--dv-blue)}
.tag{background:#fff;border-color:var(--dv-line);color:#4A6479}

/* Service image cards remain rich, but receive a brighter glass treatment. */
.svcgrid a{border-color:rgba(255,255,255,.65);box-shadow:0 8px 25px rgba(15,58,91,.08)}
.svcgrid a:before{background:linear-gradient(180deg,rgba(5,31,51,.05) 5%,rgba(5,31,51,.78) 78%),linear-gradient(135deg,rgba(22,184,212,.12),rgba(242,138,40,.06))}
.svcgrid a:hover{border-color:var(--dv-cyan);box-shadow:0 18px 42px rgba(15,58,91,.14)}
.svcgrid em{color:#9BEAF3}

.featurevisual{background:linear-gradient(145deg,#E8F5FA,#F7FBFD);border-color:#D5E8F0;box-shadow:0 22px 60px rgba(22,52,79,.10)}
.featurevisual:after{background:linear-gradient(135deg,rgba(10,66,109,.03),rgba(10,66,109,.38))}
.miniwindow{box-shadow:0 16px 38px rgba(22,52,79,.10)!important}
.progress{background:#E3EEF4}.progress i{background:linear-gradient(90deg,var(--dv-blue),var(--dv-cyan))}
.checklist li{color:#4C667A}.checklist li:before{background:var(--dv-orange-soft);color:#C76A12}
.step{border-top-color:#CFE0E9}.stepnum{color:var(--dv-blue)}

.industry{border-color:rgba(255,255,255,.75)!important;box-shadow:0 10px 30px rgba(22,52,79,.08)}
.industry:before{background:linear-gradient(180deg,rgba(5,31,51,.02),rgba(5,31,51,.82))}

.band{background:#fff;border-bottom-color:var(--dv-line)}
.band div{border-left-color:var(--dv-line);color:var(--dv-muted)}
.band b{color:var(--dv-ink-strong)}

.cta{background:linear-gradient(120deg,#0B426D,#1769A8);}
.footer{background:#092A45}
.footer p,.footer li{color:#B9CFDC}.footer h4{color:#EAF5F9}.footer .brand{color:#fff}
.footbottom{border-top-color:rgba(255,255,255,.16);color:#8EAFBF}

.pagehero{background:linear-gradient(135deg,#EAF5FA 0%,#F8FBFD 58%,#fff 100%);border-bottom-color:var(--dv-line);min-height:390px}
.pagehero:before{background:linear-gradient(90deg,rgba(6,44,72,.84),rgba(8,61,94,.42) 55%,rgba(8,61,94,.08))}
.pagehero h1{color:#fff}.pagehero p{color:#E2F0F7}.pagehero .breadcrumbs{color:#D6E8F0}.pagehero .breadcrumbs a{color:#8BE8F4}.pagehero .eyebrow{color:#8BE8F4}

.servicehero{background:linear-gradient(135deg,#0B426D,#1769A8);min-height:500px}
.servicehero:before{background:linear-gradient(90deg,rgba(5,37,61,.82),rgba(12,75,111,.48) 58%,rgba(12,75,111,.08))}
.servicehero h1{color:#fff}.servicehero p{color:#E0EEF5}.servicehero .eyebrow{color:#8BE8F4}.servicehero .eyebrow:before{background:var(--dv-cyan)}
.sidebox{background:#fff;border-color:var(--dv-line);box-shadow:0 10px 30px rgba(22,52,79,.06)}
.sidebox a{color:#536E82;border-bottom-color:var(--dv-line)}
.scopebox{background:linear-gradient(145deg,#0B426D,#1769A8);border-color:#2B78AA}
.scopebox dd{color:#C9E0EB}
.techlist li{background:#fff;border-color:var(--dv-line);color:var(--dv-ink-strong)}

@media(max-width:700px){
  .nav{background:#fff}.navlinks{background:#fff;border-color:var(--dv-line)}.navlinks a{color:#29465F}.navlinks .submenutoggle{background:#F2F8FB;color:var(--dv-ink);border-color:var(--dv-line)}
  .hero{min-height:0;background-image:linear-gradient(180deg,rgba(7,35,59,.76),rgba(7,35,59,.66)),url('images/midnight-portal-over-reflective-waters.webp')}
}

/* V10 final palette lock */
:root{--dv-amber:#F06445;--dv-cyan:#38BDB4}

/* v11 — image placement polish */
.image-frame{position:relative;overflow:hidden;border-radius:18px;min-height:240px;background:#0b2438;border:1px solid rgba(7,31,63,.12);box-shadow:0 18px 48px rgba(7,31,63,.12)}
.image-frame img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover;object-position:center}
.image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,18,.02),rgba(3,8,18,.24));pointer-events:none}
@media(max-width:700px){.image-frame,.image-frame img{min-height:200px}}

/* V12 image visibility + readable typography fixes */
.featurevisual.image-feature,
.featurevisual.people-image{
  background-image:url('images/collaborative-tech-team-in-a-modern-office.webp') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  min-height:500px;
}
.featurevisual.image-feature:after,
.featurevisual.people-image:after{
  background:linear-gradient(180deg,rgba(8,35,55,.04) 0%,rgba(8,35,55,.18) 45%,rgba(8,35,55,.72) 100%) !important;
}

/* Homepage industry cards: image first, text always readable */
.industry-card{
  background-image:linear-gradient(180deg,rgba(5,25,42,.08) 0%,rgba(5,25,42,.18) 32%,rgba(5,25,42,.86) 100%),var(--bg) !important;
  background-size:cover !important;
  background-position:center !important;
  color:#fff !important;
}
.industry-card span,.industry-card h3,.industry-card b{color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.industry-card span{color:#9BEAF3 !important}
.industry-card b{color:#FFD1C5 !important}

/* Industries page: keep the actual photography visible and all copy high contrast. */
.grid .industry{
  background-size:cover !important;
  background-position:center !important;
  color:#fff !important;
  min-height:360px;
  border-color:rgba(255,255,255,.35) !important;
  box-shadow:0 16px 42px rgba(15,48,70,.14);
}
.grid .industry:nth-child(1){background-image:url('images/modern-hospital-imaging-suite.webp') !important}
.grid .industry:nth-child(2){background-image:url('images/automated-warehouse-fulfilment-in-action.webp') !important}
.grid .industry:nth-child(3){background-image:url('images/modern-conference-room-with-city-view.webp') !important}
.grid .industry:nth-child(4){background-image:url('images/futuristic-fintech-operations-floor.webp') !important}
.grid .industry:nth-child(5){background-image:url('images/futuristic-robotic-car-assembly-line.webp') !important}
.grid .industry:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,31,.08),rgba(3,18,31,.82)) !important;z-index:0}
.grid .industry>div,.grid .industry>a{position:relative;z-index:1}
.grid .industry .iconbox{background:rgba(255,255,255,.92);color:#087F7B;border-color:rgba(255,255,255,.75)}
.grid .industry .eyebrow{color:#9BEAF3 !important}
.grid .industry .eyebrow:before{background:#38BDB4 !important}
.grid .industry .cardtitle,.grid .industry h2{color:#fff !important;text-shadow:0 2px 14px rgba(0,0,0,.42)}
.grid .industry p{color:#F0F7FA !important;text-shadow:0 1px 8px rgba(0,0,0,.38)}
.grid .industry .textlink{color:#FFD1C5 !important;text-shadow:0 2px 10px rgba(0,0,0,.35)}

/* Image-backed service cards */
.svcgrid a{background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;color:#fff !important}
.svcgrid a h3,.svcgrid a p,.svcgrid a span,.svcgrid a em{position:relative;z-index:2}

/* Image-backed side panels */
.sidebox:before{background:var(--side-image) center/cover no-repeat !important;opacity:1 !important}

/* Keep typography legible even when Google Fonts are unavailable in local/offline files. */
body{font-family:Inter,Arial,Helvetica,sans-serif}
h1,h2,h3,.brand,.navlinks,.btn,.navcta{font-family:Sora,Inter,Arial,Helvetica,sans-serif}
p,.eyebrow,.navlinks,.btn,.navcta,.industry-card,.svcgrid,.sidebox{font-synthesis:none}

/* Slightly lighter image overlays on the homepage visual panels */
.v10hero .hero-media{background-size:cover !important;background-position:center !important}


/* DigiVista V13 refinement: high-visibility controls, imagery and clearer layouts */
.btn.secondary{background:#fff!important;color:#073b70!important;border:1px solid rgba(255,255,255,.85)!important;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.btn.secondary:hover,.btn.secondary:focus-visible{background:#f7941d!important;color:#08294c!important;border-color:#f7941d!important}
.hub-orbit{width:min(100%,330px);height:330px;margin:0 auto;position:relative}
.hub-pill.p2{right:2%;top:43%;transform:translateY(-50%)}
.hub-pill.p4{left:2%;top:43%;transform:translateY(-50%)}
.hub-pill.p5{right:9%;bottom:19%}
.hero-card{overflow:hidden}
.partner-section{background:#f6f9fd;border-top:1px solid #e4ebf4;border-bottom:1px solid #e4ebf4}
.partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}
.partner-logo{min-height:112px;background:#fff;border:1px solid #e1e8f1;border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;text-align:center}
.partner-logo img{display:block;max-width:150px;width:auto;height:34px;object-fit:contain}
.partner-logo span{font-size:13px;font-weight:750;color:#193957;line-height:1.2}
.partner-note{text-align:center;color:#6c7b8f;font-size:12px;margin:18px auto 0}
.process-section{background:#f2f6fb!important;color:#162d45}
.process-section .sectionhead h2{color:#102e4b}
.process-section .sectionhead p{color:#5e7185}
.process-section .eyebrow{color:#0b6f86!important}
.process-grid{gap:14px}
.process-step{background:#fff;border:1px solid #dce6f0;border-radius:12px;padding:22px 20px 24px;min-height:225px;position:relative;box-shadow:0 10px 26px rgba(20,54,86,.06)}
.process-step span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e4f5f3;color:#087f83;font-size:13px;letter-spacing:0}
.process-step h3{color:#173955;margin-top:18px}
.process-step p{color:#5e7185}
.process-step:not(:last-child):after{content:"→";position:absolute;right:-14px;top:28px;z-index:2;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f7941d;color:#fff;font-weight:900}
.story-card,.story-card.featured{background:#fff!important;color:#19344d!important;border:1px solid #dfe7f0!important;box-shadow:0 10px 26px rgba(20,54,86,.05)}
.story-card h3,.story-card.featured h3{color:#173955!important}
.story-card p,.story-card.featured p{color:#5e7185!important}
.story-card.featured .story-result{border-color:#dfe7f0}
.story-card{min-height:320px}
.sidebox{background:#fff!important;position:relative;overflow:hidden;padding-top:190px!important}
.sidebox:before{content:"";position:absolute;left:0;right:0;top:0;height:158px;background:linear-gradient(90deg,rgba(6,36,65,.2),rgba(6,36,65,.05)),var(--side-image) center/cover no-repeat}
.sidebox>*{position:relative}
.featurevisual{background:linear-gradient(135deg,rgba(7,42,74,.10),rgba(255,255,255,.12)),url("images/modern-conference-room-with-city-view.webp") center/cover!important}
.featurevisual .miniwindow{backdrop-filter:blur(12px);background:rgba(255,255,255,.94)}
/* Business requirements visual on About page */
body:has(.miniwindow) .featurevisual{min-height:410px}
body:has(.miniwindow) .miniwindow.one{left:6%;top:9%;width:76%}
body:has(.miniwindow) .miniwindow.two{right:5%;bottom:7%;width:65%}
/* Contact page: strong but welcoming layout */
.contact-hero{background:linear-gradient(120deg,rgba(7,31,63,.91),rgba(10,75,119,.82)),url("images/collaborative-tech-team-in-a-modern-office.webp") center/cover!important;color:#fff}
.contact-hero h1,.contact-hero p{color:#fff}
.contact-hero .eyebrow{color:#9be8df}
.contact-hero+.section .formbox{border-top:4px solid #f7941d}
.footer .footergrid>div:first-child>p:first-of-type::first-letter{text-transform:uppercase}
@media(max-width:760px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:1fr 1fr}.process-step:not(:last-child):after{display:none}.sidebox{padding-top:170px!important}.sidebox:before{height:140px}}

/* Detail pages: remove serial-number feel and centre the service introduction */
.servicehero>.container{text-align:center}
.servicehero .breadcrumbs{text-align:left}
.servicehero h1,.servicehero .container>p{margin-left:auto;margin-right:auto}
.servicehero .container>p{max-width:760px}
.servicehero .container>.eyebrow{display:inline-flex;justify-content:center}
.servicehero .container>.heroactions,.servicehero .container>.actions{justify-content:center}
.stories-section{background:#fff!important}
.story-card .story-label{color:#087f83}
.story-result strong{color:#173955}
.contact-hero{min-height:390px}
.contact-hero .container{position:relative;z-index:1}

/* V14 homepage refinement: image-only partner marks, legible process cards, FAQ image panel and balanced story cards */
.partner-logo span{display:none!important}
.partner-logo{min-height:104px;padding:18px 22px;gap:0;flex-direction:row;background:#fff;border:1px solid #e4ebf2;box-shadow:0 6px 20px rgba(18,52,82,.035)}
.partner-logo img{max-width:170px;width:100%;height:42px;object-fit:contain}

/* Four clear process cards with stronger hierarchy and visible surfaces */
.process-section{background:linear-gradient(180deg,#f7fafc 0%,#edf4f8 100%)!important;padding-top:84px;padding-bottom:88px}
.process-section .container{position:relative}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;margin-top:34px}
.process-step{background:#fff!important;border:1px solid #d7e4ed!important;border-radius:18px!important;padding:25px 23px 28px!important;min-height:242px!important;box-shadow:0 12px 30px rgba(20,54,86,.09)!important;transition:transform .2s ease,box-shadow .2s ease}
.process-step:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(20,54,86,.13)!important}
.process-step span{background:#e2f4f1!important;color:#087f83!important;box-shadow:inset 0 0 0 1px #c5e8e3}
.process-step h3{color:#173955!important;font-size:22px;margin-top:19px!important}
.process-step p{color:#536a7e!important;line-height:1.65}
.process-step:not(:last-child):after{right:-22px;top:30px;width:28px;height:28px;box-shadow:0 3px 9px rgba(247,148,29,.22)}

/* Keep all three challenge cards visually parallel and transformation text readable */
.stories-section{background:#f5f8fb!important;padding-top:82px;padding-bottom:86px}
.story-grid{align-items:stretch;gap:20px;margin-top:32px}
.story-card,.story-card.featured{background:#fff!important;color:#19344d!important;border:1px solid #dce6ee!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(20,54,86,.07)!important;min-height:345px;padding:27px!important;display:flex;flex-direction:column}
.story-card h3,.story-card.featured h3{color:#173955!important;line-height:1.28}
.story-card p,.story-card.featured p{color:#536a7e!important;line-height:1.65}
.story-card .story-label,.story-card.featured .story-label{display:inline-flex;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#e4f5f1;color:#087f83!important;font-weight:850}
.story-result,.story-card.featured .story-result{border:0!important;border-radius:12px;background:#edf6f7;padding:15px 16px!important;margin-top:auto}
.story-result small,.story-card.featured .story-result small{color:#087f83!important;font-size:10px;font-weight:850;letter-spacing:.12em}
.story-result strong,.story-card.featured .story-result strong{color:#173955!important;font-size:16px;line-height:1.45}

/* FAQ section: image-led left panel and readable FAQ list on the right */
.faq-section{position:relative;isolation:isolate;overflow:hidden;background:#f6f9fc!important;border-top:0!important;padding-top:88px;padding-bottom:88px}
.faq-section:before{content:"";position:absolute;z-index:-1;left:0;top:0;bottom:0;width:48%;background:linear-gradient(90deg,rgba(5,35,62,.88),rgba(7,54,82,.72)),url("images/collaborative-tech-team-in-a-modern-office.webp") center/cover no-repeat}
.faq-section .container.split{gap:58px;align-items:center}
.faq-section .container.split>div:first-child{padding:35px 0;max-width:480px}
.faq-section .container.split>div:first-child .eyebrow{color:#a6eee5!important}
.faq-section .container.split>div:first-child h2,.faq-section .container.split>div:first-child p{color:#fff!important}
.faq-section .container.split>div:first-child h2{font-size:clamp(30px,3.2vw,44px);line-height:1.14}
.faq-section .container.split>div:first-child p{color:rgba(255,255,255,.88)!important}
.faq-section .container.split>div:first-child .textlink{color:#ffb14d!important;font-weight:800}
.faq-list{background:#fff;border:1px solid #e0e8f0;border-radius:18px;padding:8px 24px;box-shadow:0 16px 40px rgba(20,54,86,.10)}
.faqitem{padding:20px 0;border-bottom:1px solid #e6edf3}
.faqitem:last-child{border-bottom:0}
.faqitem h3{color:#173955!important;line-height:1.4}
.faqitem p{color:#5a6f82!important;line-height:1.65;margin-bottom:0}

@media(max-width:960px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step:not(:last-child):after{display:none}.faq-section:before{width:100%;height:42%;bottom:auto}.faq-section .container.split{gap:25px}.faq-section .container.split>div:first-child{padding:24px 0 42px}.faq-list{width:100%}}
@media(max-width:600px){.process-grid,.story-grid{grid-template-columns:1fr}.process-step{min-height:0!important}.story-card,.story-card.featured{min-height:300px}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-logo{min-height:88px;padding:12px}.partner-logo img{height:34px}.faq-section{padding-top:52px;padding-bottom:54px}.faq-section:before{height:360px}.faq-list{padding:5px 18px}}

/* V15: robust image-led Industry Context cards with dependable contrast */
.industries-section .v10-industry{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
.industries-section .industry-card{
  position:relative!important;isolation:isolate!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  min-height:390px!important;padding:26px!important;border-radius:20px!important;overflow:hidden!important;
  background-color:#173955!important;background-image:var(--bg)!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 14px 34px rgba(15,42,66,.16)!important;
  color:#fff!important;text-decoration:none!important;transition:transform .22s ease,box-shadow .22s ease!important;
}
.industries-section .industry-card:before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;background:linear-gradient(180deg,rgba(5,25,42,.18) 0%,rgba(5,25,42,.30) 35%,rgba(5,25,42,.94) 100%)!important;pointer-events:none!important}
.industries-section .industry-card>div,.industries-section .industry-card>b{position:relative!important;z-index:1!important}
.industries-section .industry-card span{display:inline-flex!important;align-items:center!important;padding:8px 11px!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:999px!important;background:rgba(7,31,50,.82)!important;color:#c8fff6!important;font-size:10px!important;font-weight:850!important;letter-spacing:.13em!important}
.industries-section .industry-card h3{color:#fff!important;font-size:clamp(22px,1.8vw,27px)!important;line-height:1.2!important;max-width:270px!important;margin:15px 0 0!important;text-shadow:0 2px 14px rgba(0,0,0,.72)!important}
.industries-section .industry-card>b{display:inline-flex!important;align-self:flex-start!important;align-items:center!important;gap:8px!important;padding:10px 13px!important;border-radius:10px!important;background:#fff!important;color:#123653!important;font-size:12px!important;font-weight:850!important;box-shadow:0 5px 16px rgba(0,0,0,.2)!important;text-shadow:none!important}
.industries-section .industry-card:hover{transform:translateY(-5px)!important;box-shadow:0 22px 42px rgba(15,42,66,.24)!important}
@media(max-width:960px){.industries-section .v10-industry{grid-template-columns:repeat(2,minmax(0,1fr))!important}.industries-section .industry-card{min-height:350px!important}}
@media(max-width:600px){.industries-section .v10-industry{grid-template-columns:1fr!important;gap:14px!important}.industries-section .industry-card{min-height:320px!important;padding:22px!important}.industries-section .industry-card h3{font-size:25px!important}}


/* V16 visual refinement: unique section imagery, compact next-step cards, clean page heroes */
.hero.v10hero { background-image: linear-gradient(110deg, rgba(5,24,49,.88), rgba(5,24,49,.30)), url("images/home-hero-network.jpg") !important; background-size: cover !important; background-position: center !important; }
.people-section .people-image { background-image: linear-gradient(0deg, rgba(6,29,56,.08), rgba(6,29,56,.08)), url("images/home-human-consultation.jpg") !important; background-size: cover !important; background-position: center !important; }
.faq-section .faq-photo { background-image: linear-gradient(0deg, rgba(6,29,56,.06), rgba(6,29,56,.06)), url("images/faq-business-support.jpg") !important; background-size: cover !important; background-position: center !important; }
/* Keep informational page hero areas clean and free from oversized background photography. */
.about-hero, .contact-hero, .industries-hero, .resources-hero { background-image: none !important; background: linear-gradient(135deg, #f5faff 0%, #ffffff 72%) !important; }
/* Service sidebar image should fit the card instead of making the card excessively tall. */
.servicehero .sidebox-image { display:block; width:100%; height:128px; object-fit:cover; object-position:center; border-radius:12px; margin:0 0 16px; }
.servicehero .service-sidebox, .servicehero .sidebox, .servicehero .next-step-card { max-height:none; }
.servicehero .breadcrumbs { display:none !important; }
@media (max-width: 760px) { .servicehero .sidebox-image { height:150px; } .hero.v10hero { background-position:center; } }

/* V17: remove the duplicate pseudo-image on service sidebars. The real image is the single compact banner. */
.servicegrid .sidebox { padding:20px !important; }
.servicegrid .sidebox:before { content:none !important; display:none !important; }
.servicegrid .sidebox .sidebox-image { width:100%; height:118px; object-fit:cover; object-position:center 42%; display:block; border-radius:10px; margin:0 0 14px; }
.servicegrid .sidebox .eyebrow { margin-bottom:8px; }
.servicegrid .sidebox h3 { margin-bottom:10px; }
.servicegrid .sidebox p { line-height:1.55; margin-bottom:10px; }
.servicegrid .sidebox a.btn { margin:8px 0 12px !important; min-height:42px; }
.servicegrid .sidebox h3[style*="margin-top"] { margin-top:14px !important; padding-top:13px; border-top:1px solid var(--dv-line, #dce6ef); }
.servicegrid .sidebox a:not(.btn) { padding:8px 0; }
@media (max-width:760px) { .servicegrid .sidebox .sidebox-image { height:145px; } }


/* V17: homepage industry cards — domain-specific photography with clear contrast */
.home-page .industries-section .industry-card,
.industries-section .v10-industry .industry-card{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  min-height:370px!important;
  position:relative!important;
}
.industries-section .v10-industry .industry-card:after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,24,40,.12) 0%,rgba(7,24,40,.20) 35%,rgba(7,24,40,.88) 100%);
  pointer-events:none;
}
.industries-section .v10-industry .industry-card>div,
.industries-section .v10-industry .industry-card>b{position:relative;z-index:1}
@media(max-width:900px){.industries-section .v10-industry{grid-template-columns:repeat(2,minmax(0,1fr))!important}.industries-section .v10-industry .industry-card{min-height:320px!important}}
@media(max-width:560px){.industries-section .v10-industry{grid-template-columns:1fr!important}.industries-section .v10-industry .industry-card{min-height:280px!important}}


/* V18: ensure industry card photos render beneath the contrast overlay. */
.industries-section .v10-industry .industry-card {
  background-image: linear-gradient(180deg, rgba(5,25,42,.08) 0%, rgba(5,25,42,.20) 32%, rgba(5,25,42,.82) 100%), var(--bg) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.industries-section .v10-industry .industry-card:before {
  background: linear-gradient(180deg, rgba(5,25,42,.06) 0%, rgba(5,25,42,.10) 34%, rgba(5,25,42,.48) 100%) !important;
}
.industries-section .v10-industry .industry-card:after { content: none !important; display: none !important; }


/* V19: homepage Industry Context cards — force the four supplied domain photos to render. */
body .industries-section .industry-grid.v10-industry > a.industry-card { background-color:#173955!important; background-size:cover!important; background-position:center center!important; background-repeat:no-repeat!important; }
body .industries-section .industry-grid.v10-industry > a.industry-card:before { z-index:0!important; }
body .industries-section .industry-grid.v10-industry > a.industry-card > div, body .industries-section .industry-grid.v10-industry > a.industry-card > b { position:relative!important; z-index:2!important; }

/* V20 — Lead-generation homepage system */
.hero-media{transition:opacity .7s ease,transform 1.2s ease,background-image .2s ease; background-size:cover!important;background-position:center!important;}
.hero-media.fade{opacity:.15;transform:scale(1.035)}
.service-explorer-head{align-items:flex-end}
.desktop-service-link{white-space:nowrap}
.service-spotlight{display:grid;grid-template-columns:1.05fr .95fr;min-height:360px;margin:34px 0 26px;border-radius:24px;overflow:hidden;background:#0a243d;color:#fff;box-shadow:0 20px 50px rgba(8,31,52,.12)}
.spotlight-copy{padding:42px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.spotlight-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;opacity:.68}.spotlight-count{margin-top:8px;font-size:.72rem;letter-spacing:.1em;opacity:.48}.spotlight-copy h3{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;margin:12px 0}.spotlight-copy p{max-width:600px;color:rgba(255,255,255,.74);line-height:1.7}.spotlight-copy .btn{margin-top:12px}.spotlight-image{min-height:360px;background:center/cover no-repeat;transition:opacity .35s ease,transform .7s ease}.spotlight-image.changing{opacity:.18;transform:scale(1.02)}
.service-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 22px}.service-filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink);cursor:pointer;transition:.2s ease}.service-filter span{opacity:.45;margin-left:5px}.service-filter:hover,.service-filter.active{background:#0a243d;color:#fff;border-color:#0a243d;transform:translateY(-1px)}
.dynamic-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dynamic-service-card{display:flex;flex-direction:column;min-height:370px;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(10,36,61,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.dynamic-service-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(10,36,61,.13);border-color:rgba(8,127,123,.4)}.dynamic-service-image{height:155px;background-size:cover;background-position:center;transition:transform .6s ease}.dynamic-service-card:hover .dynamic-service-image{transform:scale(1.06)}.dynamic-service-content{padding:19px;display:flex;flex:1;flex-direction:column}.dynamic-service-content>span{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.52}.dynamic-service-content h3{font-size:1.12rem;line-height:1.2;margin:8px 0}.dynamic-service-content p{font-size:.88rem;line-height:1.55;opacity:.72;margin:0}.dynamic-service-content b{margin-top:auto;padding-top:15px;font-size:.82rem}.dynamic-service-content i{font-style:normal;margin-left:4px}
.lead-section{background:linear-gradient(135deg,#eef8f7,#f7fbfd)}.lead-grid{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:center}.lead-copy h2{max-width:650px}.lead-copy>p{max-width:650px;line-height:1.75}.lead-points{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.lead-points span{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:700}.lead-direct{display:flex;gap:20px;flex-wrap:wrap}.lead-direct a{font-weight:800;color:var(--ink)}.lead-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 20px 50px rgba(8,31,52,.1)}.lead-form-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.lead-form-head span{font-size:.75rem;font-weight:900;letter-spacing:.12em}.lead-form-head small,.form-note{opacity:.55;font-size:.72rem}.lead-form label{display:block;font-size:.76rem;font-weight:800;margin:12px 0}.lead-form input,.lead-form select,.lead-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;background:#fff}.lead-form textarea{resize:vertical}.lead-form .btn{margin-top:8px;width:100%}.form-note{display:block;margin-top:11px;text-align:center}
@media(max-width:1050px){.dynamic-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-grid{grid-template-columns:1fr}.lead-copy{max-width:780px}.service-spotlight{grid-template-columns:1fr}.spotlight-image{min-height:280px;order:-1}}
@media(max-width:760px){.service-explorer-head{display:block}.desktop-service-link{display:inline-block;margin-top:8px}.dynamic-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-spotlight{margin-top:22px}.spotlight-copy{padding:30px 24px}.service-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.service-filter{white-space:nowrap}.lead-form{padding:20px}}
@media(max-width:520px){.dynamic-service-grid{grid-template-columns:1fr}.dynamic-service-card{min-height:330px}.dynamic-service-image{height:180px}.spotlight-image{min-height:230px}}

/* V20 — Lead-generation homepage system */
.hero-media{transition:opacity .7s ease,transform 1.2s ease,background-image .2s ease; background-size:cover!important;background-position:center!important;}
.hero-media.fade{opacity:.15;transform:scale(1.035)}
.service-explorer-head{align-items:flex-end}
.desktop-service-link{white-space:nowrap}
.service-spotlight{display:grid;grid-template-columns:1.05fr .95fr;min-height:360px;margin:34px 0 26px;border-radius:24px;overflow:hidden;background:#0a243d;color:#fff;box-shadow:0 20px 50px rgba(8,31,52,.12)}
.spotlight-copy{padding:42px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.spotlight-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;opacity:.68}.spotlight-count{margin-top:8px;font-size:.72rem;letter-spacing:.1em;opacity:.48}.spotlight-copy h3{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;margin:12px 0}.spotlight-copy p{max-width:600px;color:rgba(255,255,255,.74);line-height:1.7}.spotlight-copy .btn{margin-top:12px}.spotlight-image{min-height:360px;background:center/cover no-repeat;transition:opacity .35s ease,transform .7s ease}.spotlight-image.changing{opacity:.18;transform:scale(1.02)}
.service-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 22px}.service-filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink);cursor:pointer;transition:.2s ease}.service-filter span{opacity:.45;margin-left:5px}.service-filter:hover,.service-filter.active{background:#0a243d;color:#fff;border-color:#0a243d;transform:translateY(-1px)}
.dynamic-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dynamic-service-card{display:flex;flex-direction:column;min-height:370px;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(10,36,61,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.dynamic-service-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(10,36,61,.13);border-color:rgba(8,127,123,.4)}.dynamic-service-image{height:155px;background-size:cover;background-position:center;transition:transform .6s ease}.dynamic-service-card:hover .dynamic-service-image{transform:scale(1.06)}.dynamic-service-content{padding:19px;display:flex;flex:1;flex-direction:column}.dynamic-service-content>span{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.52}.dynamic-service-content h3{font-size:1.12rem;line-height:1.2;margin:8px 0}.dynamic-service-content p{font-size:.88rem;line-height:1.55;opacity:.72;margin:0}.dynamic-service-content b{margin-top:auto;padding-top:15px;font-size:.82rem}.dynamic-service-content i{font-style:normal;margin-left:4px}
.lead-section{background:linear-gradient(135deg,#eef8f7,#f7fbfd)}.lead-grid{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:center}.lead-copy h2{max-width:650px}.lead-copy>p{max-width:650px;line-height:1.75}.lead-points{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.lead-points span{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:700}.lead-direct{display:flex;gap:20px;flex-wrap:wrap}.lead-direct a{font-weight:800;color:var(--ink)}.lead-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 20px 50px rgba(8,31,52,.1)}.lead-form-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.lead-form-head span{font-size:.75rem;font-weight:900;letter-spacing:.12em}.lead-form-head small,.form-note{opacity:.55;font-size:.72rem}.lead-form label{display:block;font-size:.76rem;font-weight:800;margin:12px 0}.lead-form input,.lead-form select,.lead-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;background:#fff}.lead-form textarea{resize:vertical}.lead-form .btn{margin-top:8px;width:100%}.form-note{display:block;margin-top:11px;text-align:center}
@media(max-width:1050px){.dynamic-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-grid{grid-template-columns:1fr}.lead-copy{max-width:780px}.service-spotlight{grid-template-columns:1fr}.spotlight-image{min-height:280px;order:-1}}
@media(max-width:760px){.service-explorer-head{display:block}.desktop-service-link{display:inline-block;margin-top:8px}.dynamic-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-spotlight{margin-top:22px}.spotlight-copy{padding:30px 24px}.service-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.service-filter{white-space:nowrap}.lead-form{padding:20px}}
@media(max-width:520px){.dynamic-service-grid{grid-template-columns:1fr}.dynamic-service-card{min-height:330px}.dynamic-service-image{height:180px}.spotlight-image{min-height:230px}}

/* V9 navigation reliability + full hit-area navigation */
.navlinks > a,
.navlinks > .hasmenu > a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 12px;
  border-radius:8px;
  white-space:nowrap;
}
.navlinks > a:hover,
.navlinks > .hasmenu > a:hover { background:rgba(8,127,123,.07); }
.mobiletoggle {
  position:relative;
  z-index:60;
  flex:0 0 48px;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  padding:0 !important;
  display:none;
  align-items:center;
  justify-content:center;
  border:2px solid var(--dv-blue,#087f7b) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#16344f !important;
  font-size:25px !important;
  line-height:1;
  font-weight:800;
  box-shadow:0 4px 14px rgba(15,58,91,.14);
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.mobiletoggle:hover { background:#f2f8fb !important; }
@media(max-width:700px){
  .navinner { min-height:70px; gap:10px; }
  .brand { min-width:0; flex:1 1 auto; }
  .brand img { max-height:44px; width:auto; }
  .mobiletoggle { display:flex !important; }
  .navcta { display:none !important; }
  .navlinks {
    top:70px;
    left:0;
    right:0;
    z-index:55;
    padding:12px 15px 20px !important;
    border-radius:0 0 14px 14px;
    box-shadow:0 14px 30px rgba(15,58,91,.12);
  }
  .navlinks > a,
  .navlinks > .hasmenu > a {
    width:100%;
    min-height:48px;
    padding:10px 12px !important;
  }
  .navlinks > .hasmenu { width:100%; }
  .navlinks > .hasmenu > a { flex:1 1 auto; }
  .navlinks .submenutoggle { flex:0 0 48px; min-width:48px; min-height:48px; }
}


/* V20: premium dynamic navigation + homepage technology hub motion */
.navlinks > a,
.navlinks .hasmenu > a { min-height:44px; display:inline-flex; align-items:center; padding:8px 10px; border-radius:10px; }
.navlinks > a:hover,.navlinks > a:focus-visible,
.navlinks .hasmenu > a:hover,.navlinks .hasmenu > a:focus-visible { background:#f2f7fb; outline:none; }
.navlinks .hasmenu { display:flex; align-items:center; position:relative; }
.navlinks .submenutoggle { min-width:42px; min-height:42px; display:grid; place-items:center; border:0; background:transparent; border-radius:10px; color:inherit; cursor:pointer; }
.navlinks .submenutoggle:hover,.navlinks .submenutoggle:focus-visible { background:#f2f7fb; outline:none; }
.mobiletoggle { width:48px!important; height:48px!important; min-width:48px!important; padding:0!important; display:none; align-items:center; justify-content:center; font-size:22px; line-height:1; font-weight:800; position:relative; z-index:80; box-shadow:0 6px 18px rgba(12,35,58,.10); }
@media(max-width:700px){
  .navinner{position:relative;gap:10px}
  .brand{min-width:0;max-width:calc(100% - 62px)}
  .brand img{height:auto;max-height:48px;width:auto;max-width:190px}
  .navcta{display:none!important}
  .mobiletoggle{display:flex!important;flex:0 0 48px}
  .navlinks{top:70px;left:10px;right:10px;border:1px solid #dbe5ef;border-radius:16px;padding:10px;box-shadow:0 18px 50px rgba(10,36,60,.18);z-index:75;gap:4px;}
  .navlinks > a,.navlinks .hasmenu > a{width:100%;min-height:48px;padding:11px 14px}
  .navlinks .hasmenu{width:100%;display:grid;grid-template-columns:1fr 48px;align-items:center}
  .navlinks .hasmenu > a{grid-column:1}
  .navlinks .hasmenu .submenutoggle{grid-column:2;grid-row:1;justify-self:end}
  .navlinks .menu{grid-column:1/-1;width:100%;position:static;display:none;box-shadow:none;border:0;padding:4px 0 4px 8px}
  .navlinks .hasmenu.sub-open .menu{display:block}
  .navlinks .menu a{min-height:44px;display:flex;align-items:center;padding:10px 12px;border-radius:9px}
}
/* The hub becomes a moving systems diagram rather than a static circle. */
.hub-orbit:before{animation:dvOrbitSpin 18s linear infinite}
.hub-orbit:after{animation:dvOrbitSpinReverse 11s linear infinite}
.hub-pill{animation:dvFloat 3.8s ease-in-out infinite}
.hub-pill.p2{animation-delay:-.8s}.hub-pill.p3{animation-delay:-1.6s}.hub-pill.p4{animation-delay:-2.4s}.hub-pill.p5{animation-delay:-3.2s}
.hub-core{animation:dvCorePulse 3.4s ease-in-out infinite}
@keyframes dvOrbitSpin{to{transform:rotate(360deg)}}
@keyframes dvOrbitSpinReverse{to{transform:rotate(-360deg)}}
@keyframes dvFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes dvCorePulse{0%,100%{transform:scale(1);box-shadow:0 18px 55px rgba(0,0,0,.18)}50%{transform:scale(1.035);box-shadow:0 22px 70px rgba(56,189,180,.18)}}
@media(prefers-reduced-motion:reduce){.hub-orbit:before,.hub-orbit:after,.hub-pill,.hub-core{animation:none!important}}

/* V20: image-led page heroes requested for About, Resources and Pricing. */
.about-hero,.resources-hero,.pricing-hero{color:#fff;position:relative;isolation:isolate;background-size:cover!important;background-position:center!important;border-bottom:0!important;overflow:hidden}
.about-hero{background-image:linear-gradient(90deg,rgba(5,22,41,.90),rgba(5,22,41,.68),rgba(5,22,41,.35)),url("images/about-business-team.jpg")!important}
.resources-hero{background-image:linear-gradient(90deg,rgba(5,22,41,.90),rgba(5,22,41,.68),rgba(5,22,41,.30)),url("images/resources-technology-planning.jpg")!important}
.pricing-hero{background-image:linear-gradient(90deg,rgba(5,22,41,.92),rgba(5,22,41,.67),rgba(5,22,41,.32)),url("images/futuristic-business-analytics-hub.webp")!important}
.about-hero h1,.about-hero p,.resources-hero h1,.resources-hero p,.pricing-hero h1,.pricing-hero p{color:#fff}
.about-hero .breadcrumbs,.resources-hero .breadcrumbs,.pricing-hero .breadcrumbs{color:#d7e4f1}
.about-hero .breadcrumbs a,.resources-hero .breadcrumbs a,.pricing-hero .breadcrumbs a{color:#9be8df}
.about-hero .eyebrow,.resources-hero .eyebrow,.pricing-hero .eyebrow{color:#9be8df}
.about-hero .eyebrow:before,.resources-hero .eyebrow:before,.pricing-hero .eyebrow:before{background:#f7941d}
.contact-hero{min-height:430px;display:flex;align-items:center}

/* About mission/vision/goals: richer visual hierarchy while keeping existing copy. */
.about-hero + .section + .section .grid.three .card{position:relative;overflow:hidden;min-height:270px;padding:30px;background:linear-gradient(145deg,#fff,#f6faff);}
.about-hero + .section + .section .grid.three .card:after{content:"";position:absolute;right:-55px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(11,79,148,.10),transparent 68%);pointer-events:none}
.about-hero + .section + .section .grid.three .iconbox{position:relative;z-index:1;width:54px;height:54px;background:#eaf4fb;border:1px solid #d6e7f3}
.about-hero + .section + .section .grid.three h3{font-size:23px;max-width:300px}

/* Contact hero image is already supplied; make the visual treatment stronger. */
.contact-hero{background-image:linear-gradient(90deg,rgba(5,22,41,.91),rgba(5,22,41,.67),rgba(5,22,41,.28)),url("images/contact-client-meeting.jpg")!important}

/* Lead section stays prominent on every major conversion page. */
.lead-section{position:relative;overflow:hidden}
.lead-section:before{content:"";position:absolute;inset:auto -12% -55% 55%;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(11,79,148,.10),transparent 68%);pointer-events:none}

.pagehero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:999px;color:#e4eef8;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.pagehero-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#56c7bd;box-shadow:0 0 0 5px rgba(86,199,189,.12)}
.hub-live{display:inline-flex;align-items:center;gap:7px}.hub-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#56c7bd;box-shadow:0 0 0 4px rgba(86,199,189,.10);animation:dvLive 1.6s ease-in-out infinite}.hub-live{color:#bfe9e4!important}
@keyframes dvLive{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}

/* V11 refinement: image-led purpose cards and clearer page backgrounds */
.purpose-grid{align-items:stretch}
.purpose-card{padding:0!important;overflow:hidden;border-radius:22px!important;display:flex;flex-direction:column;min-height:100%;background:#fff}
.purpose-card>img{display:block;width:100%;height:205px;object-fit:cover;transition:transform .55s ease}
.purpose-card:hover>img{transform:scale(1.045)}
.purpose-copy{padding:25px 25px 28px;flex:1}
.purpose-copy .eyebrow{margin-bottom:9px}
.purpose-copy h3{margin:4px 0 12px}
.purpose-copy p{margin-bottom:0}
/* Stronger image-backed headers for service and industry discovery */
.pagehero.services-hero{background-image:url('images/futuristic-glass-ribbons-in-blue-space.webp');background-position:center 48%;}
.pagehero.industries-hero{background-image:url('images/industries-digital-operations.jpg');background-position:center 45%;}
.pagehero.services-hero:before,.pagehero.industries-hero:before{background:linear-gradient(90deg,rgba(3,12,27,.94),rgba(3,20,38,.70) 55%,rgba(3,20,38,.26));}
/* Homepage technology hub: each capability is a full clickable, image-backed chip */
.hub-link{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:118px;min-height:58px;padding:9px 12px!important;border:1px solid rgba(255,255,255,.35);border-radius:13px;color:#fff!important;background-image:linear-gradient(100deg,rgba(5,20,42,.84),rgba(5,20,42,.38)),var(--hub-image);background-size:cover;background-position:center;box-shadow:0 8px 22px rgba(0,0,0,.22);font-size:11px;font-weight:850;line-height:1.2;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;z-index:4;text-decoration:none!important}
.hub-link small{font-size:9px;letter-spacing:.05em;color:#bfeef4;font-weight:800}
.hub-link:hover,.hub-link:focus-visible{transform:translateY(-3px) scale(1.035);border-color:#8be8f4;box-shadow:0 12px 28px rgba(0,0,0,.32);outline:2px solid rgba(139,232,244,.65);outline-offset:2px}
@media(max-width:700px){.purpose-card>img{height:185px}.hub-link{min-width:104px;min-height:54px;padding:8px!important;font-size:10px}.hub-link small{font-size:8px}}

/* V12: utility information bar + navigation CTA matching normal nav links */
.utilitybar{background:#0b2340;color:#dfeaf3;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:80}
.utilitybar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;font-weight:700;letter-spacing:.02em}
.utility-brand{color:#8ee4dc;white-space:nowrap}
.utility-ticker{position:relative;min-width:390px;height:34px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}
.utility-item{position:absolute;right:0;opacity:0;transform:translateY(7px);transition:opacity .35s ease,transform .35s ease;white-space:nowrap;color:#dfeaf3}
.utility-item.active{opacity:1;transform:translateY(0)}
.navcta{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--slate,#17324d)!important;padding:8px 12px!important;border-radius:8px!important;font-weight:750!important;font-size:13px!important;white-space:nowrap}
.navcta:hover,.navcta:focus-visible{background:rgba(8,127,123,.07)!important;color:var(--teal,#087f7b)!important;transform:none!important}
.dynamic-service-content{background:#0b2340;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.dynamic-service-content>span{color:#a9eee8!important;opacity:1!important}
.dynamic-service-content h3{color:#fff!important}
.dynamic-service-content p{color:#d6e1eb!important;opacity:1!important}
.dynamic-service-content b{color:#fff!important}
.dynamic-service-content i{color:#8ee4dc!important}
/* Industry page: give the entire discovery area a stronger visual field. */
body:has(.industries-hero){background:#f5f9fc}
@media(max-width:700px){.utilitybar-inner{min-height:36px;justify-content:center}.utility-brand{display:none}.utility-ticker{min-width:0;width:100%;justify-content:center}.utility-item{right:auto;left:50%;transform:translate(-50%,7px);}.utility-item.active{transform:translate(-50%,0)}.navcta{display:flex!important;align-items:center}.hub-orbit{overflow:visible}}
.hub-pill{animation:none!important}
.hub-pill.p1,.hub-pill.p2,.hub-pill.p3,.hub-pill.p4,.hub-pill.p5{top:auto;left:auto;right:auto;bottom:auto;transform:translate(-50%,-50%)}
.hub-link{position:absolute}
@media(max-width:700px){.hub-orbit{height:255px}.hub-link{position:absolute}}

/* V13 visual fix: guarantee spotlight typography and requirement CTA visibility */
.service-spotlight .spotlight-copy{background:#0a243d;color:#fff!important}
.service-spotlight .spotlight-kicker{color:#dce8f7!important;opacity:.9!important}
.service-spotlight .spotlight-count{color:#c9d8ea!important;opacity:.82!important}
.service-spotlight .spotlight-copy h3,
.service-spotlight #spotlight-title{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.16)!important}
.service-spotlight .spotlight-copy p,
.service-spotlight #spotlight-copy{color:#eef5ff!important;opacity:1!important}
.service-spotlight .spotlight-copy .btn,
#spotlight-link{background:#f7941d!important;border-color:#f7941d!important;color:#082642!important;font-weight:850!important;box-shadow:0 10px 25px rgba(247,148,29,.25)!important}
.service-spotlight .spotlight-copy .btn:hover,
#spotlight-link:hover{background:#ffa84a!important;border-color:#ffa84a!important;color:#082642!important}
/* Keep the primary enquiry action visibly orange and pill-shaped in the header. */
header.nav .navcta{display:flex!important;align-items:center;justify-content:center;background:#f7941d!important;border:2px solid #f7941d!important;color:#082642!important;border-radius:999px!important;padding:13px 22px!important;min-height:48px;white-space:nowrap;font-weight:850!important;box-shadow:0 8px 22px rgba(247,148,29,.18)!important;text-decoration:none!important}
header.nav .navcta:hover{background:#ffa84a!important;border-color:#ffa84a!important;color:#082642!important;box-shadow:0 12px 28px rgba(247,148,29,.28)!important;transform:translateY(-1px)}
@media(max-width:960px){header.nav .navcta{display:none!important}}

/* V14: continuous notice-style ticker instead of fading utility messages. */
.utilitybar{overflow:hidden}
.utilitybar-inner{min-height:36px;gap:24px}
.utility-marquee{position:relative;flex:1;min-width:0;overflow:hidden;height:36px;display:flex;align-items:center}
.utility-marquee:before,.utility-marquee:after{content:"";position:absolute;top:0;bottom:0;width:42px;z-index:2;pointer-events:none}
.utility-marquee:before{left:0;background:linear-gradient(90deg,#0b2340,rgba(11,35,64,0))}
.utility-marquee:after{right:0;background:linear-gradient(270deg,#0b2340,rgba(11,35,64,0))}
.utility-marquee-track{display:flex;align-items:center;gap:0;width:max-content;min-width:max-content;animation:dvNoticeMarquee 26s linear infinite;will-change:transform}
.utility-marquee-track span{display:inline-flex;align-items:center;min-height:36px;padding:0 28px;color:#dfeaf3;white-space:nowrap;font-size:10px;font-weight:750;letter-spacing:.025em;position:relative}
.utility-marquee-track span:after{content:"•";position:absolute;right:-2px;color:#8ee4dc;font-size:12px}
@keyframes dvNoticeMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)} }
@media(prefers-reduced-motion:reduce){.utility-marquee-track{animation:none}.utility-marquee-track span:nth-child(n+5){display:none}}

/* V14: make the Industries hero image authoritative so it cannot be overridden by legacy clean-hero rules. */
.pagehero.industries-hero{background-image:linear-gradient(90deg,rgba(3,12,27,.92),rgba(3,20,38,.58) 55%,rgba(3,20,38,.18)),url('images/industries-digital-operations.jpg') !important;background-size:cover!important;background-position:center 45%!important;min-height:460px}
.pagehero.industries-hero:before{background:linear-gradient(90deg,rgba(3,12,27,.20),rgba(3,20,38,.08))!important}

/* V14: intentional contact actions instead of loose phone/WhatsApp text. */
.contact-actions-card{background:linear-gradient(135deg,#f8fbfd,#fff);border:1px solid var(--dv-line,#dbe6ef)}
.contact-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.contact-action-row .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.contact-action-row .whatsapp-btn{background:#087f7b!important;border-color:#087f7b!important;color:#fff!important}
.contact-action-row .whatsapp-btn:hover{background:#0b968f!important;border-color:#0b968f!important}
@media(max-width:700px){.utilitybar-inner{min-height:38px}.utility-brand{font-size:9px}.utility-marquee{height:38px}.utility-marquee-track span{min-height:38px;padding:0 20px;font-size:9px}.contact-action-row{display:grid;grid-template-columns:1fr}.contact-action-row .btn{width:100%}}

/* Direct contact actions: prominent clickable buttons */
.lead-direct{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.lead-direct .btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:12px 20px!important;border-radius:10px!important;text-decoration:none!important;font-weight:850!important;line-height:1.2;white-space:nowrap}
.lead-direct .lead-call-btn{background:#f7941d!important;border:2px solid #f7941d!important;color:#082642!important;box-shadow:0 8px 20px rgba(247,148,29,.22)!important}
.lead-direct .lead-call-btn:hover{background:#ffa84a!important;border-color:#ffa84a!important;color:#082642!important;transform:translateY(-2px)}
.lead-direct .lead-whatsapp-btn{background:#087f7b!important;border:2px solid #087f7b!important;color:#fff!important;box-shadow:0 8px 20px rgba(8,127,123,.20)!important}
.lead-direct .lead-whatsapp-btn:hover{background:#0b968f!important;border-color:#0b968f!important;color:#fff!important;transform:translateY(-2px)}
@media(max-width:700px){.lead-direct{display:grid;grid-template-columns:1fr;gap:10px}.lead-direct .btn{width:100%;min-height:48px}}

/* V16 pricing plans */
.pricing-plans-v16{align-items:stretch}
.pricing-card-v16{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}
.pricing-card-v16.featured{border:2px solid #0b7f7b;box-shadow:0 18px 42px rgba(8,62,91,.14);transform:translateY(-8px)}
.pricing-card-v16.featured:before{content:"MOST POPULAR";position:absolute;top:16px;right:-34px;background:#f7941d;color:#082642;font-size:9px;font-weight:900;letter-spacing:.08em;padding:6px 38px;transform:rotate(38deg)}
.pricing-audience{font-size:13px;line-height:1.5;margin:0 0 8px;color:#536678}
.pricing-price{font-size:32px;font-weight:850;color:var(--navy);margin:7px 0 18px;font-family:Sora,Inter,sans-serif;letter-spacing:-.03em}
.pricing-card-v16 .checklist{margin-bottom:18px}
.pricing-card-v16 .checklist li{margin-bottom:9px}
.pricing-exclusion{margin-top:auto;padding:14px;border:1px solid #dbe6ef;border-radius:12px;background:#f7fafc;color:#566879;font-size:12px;line-height:1.55}
.pricing-exclusion strong{color:#173957}
.pricing-note-v16{margin-top:24px}
@media(max-width:960px){.pricing-card-v16.featured{transform:none}}


/* V17: expanded pricing page */
.pricing-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pricing-hero-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.pricing-hero-actions .btn.secondary{background:#fff!important;color:#0b2340!important;border-color:#fff!important}
.pricing-hero-actions .whatsapp-btn{background:#087f7b!important;border-color:#087f7b!important;color:#fff!important}
.pricing-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pricing-service-card{background:#fff;border:1px solid #dbe6ef;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(8,38,66,.06)}
.pricing-service-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.pricing-service-no{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#0b2340;color:#8ee4dc;font-size:11px;font-weight:900}
.pricing-service-head h3{margin:0 0 5px;color:#0b2340;font-size:19px}
.pricing-service-head p{margin:0;color:#627385;font-size:13px;line-height:1.5}
.pricing-table-wrap{overflow-x:auto;border:1px solid #dbe6ef;border-radius:12px}
.pricing-table{width:100%;border-collapse:collapse;min-width:500px;background:#fff}
.pricing-table th,.pricing-table td{padding:11px 12px;text-align:left;border-bottom:1px solid #e5edf3;font-size:12px;line-height:1.45;vertical-align:top}
.pricing-table th{background:#f2f7fa;color:#173957;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850}
.pricing-table tr:last-child td{border-bottom:0}
.pricing-table td:nth-child(2){font-weight:800;color:#0b2340;white-space:nowrap}
.pricing-table td:nth-child(3){color:#607184;white-space:nowrap}
.pricing-service-note{margin:12px 0 0;color:#5c6e80;font-size:12px;line-height:1.55}
.pricing-service-note strong{color:#173957}
.common-pricing-table-wrap{box-shadow:0 10px 28px rgba(8,38,66,.05)}
.common-pricing-table{min-width:620px}
.pricing-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pricing-steps>div{padding:14px;border:1px solid #dbe6ef;border-radius:12px;background:#fff}
.pricing-steps b{color:#0b2340;font-size:12px}
.pricing-steps p{margin:5px 0 0;color:#627385;font-size:12px;line-height:1.5}
.pricing-no-promises{margin-top:12px;background:#f7fafc}
.custom-pricing-cta{border:1px solid #dbe6ef;border-radius:18px;background:#fff;padding:28px;box-shadow:0 12px 32px rgba(8,38,66,.06)}
.custom-pricing-cta h2{margin-bottom:8px}
.custom-pricing-cta p{max-width:800px}
@media(max-width:960px){.pricing-service-grid{grid-template-columns:1fr}.pricing-steps{grid-template-columns:1fr}}
@media(max-width:700px){.pricing-hero-actions{display:grid;grid-template-columns:1fr}.pricing-hero-actions .btn{width:100%}.pricing-service-card{padding:16px}.pricing-service-head h3{font-size:17px}.pricing-table{min-width:500px}.custom-pricing-cta{padding:20px}}


/* Pricing page lead form */
.pricing-lead-card{max-width:1160px;margin:0 auto}
#pricing-lead-form .btn{border-radius:10px!important;min-height:48px}
#pricing-form-status[data-kind="error"]{background:#fdecea;border-color:#f5c2be;color:#8a1c14}
#pricing-form-status[data-kind="prepared"]{background:#eef8f7;border-color:#b9e2de;color:#175f5b}
#pricing-form-status{margin:10px 0 0;font-size:12px;line-height:1.55}
#pricing-lead-form .field-error{display:block;margin-top:5px}
@media(max-width:700px){#pricing-lead-form .btn{width:100%}}
/* V19: OTP lead flow + redesigned contact page */
.contact-hero-v2{background-image:linear-gradient(90deg,rgba(3,12,27,.95),rgba(3,20,38,.62) 60%,rgba(3,20,38,.28)),url('images/contact-client-meeting.jpg')!important;background-size:cover!important;background-position:center!important;min-height:500px}
.contact-hero-v2 .container{max-width:1050px}.contact-hero-v2 h1{max-width:850px}.contact-hero-v2 p{max-width:760px}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.contact-hero-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px}.contact-hero-actions .secondary{background:#fff!important;color:#0b2340!important;border-color:#fff!important}.contact-hero-actions .whatsapp-btn{background:#087f7b!important;border-color:#087f7b!important;color:#fff!important}
.contact-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-value-grid article{background:#fff;border:1px solid #dbe6ef;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(8,38,66,.05)}.contact-value-grid h2{font-size:22px;margin:8px 0}.contact-value-grid p{margin:0;color:#607184}
.contact-lead-layout-v2{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:start}.contact-side-v2{padding:18px 4px}.contact-side-v2 h2{font-size:34px;margin:8px 0 12px}.contact-direct-v2{display:grid;gap:12px;margin-top:24px}.contact-direct-v2>div{padding:16px 18px;border:1px solid #dbe6ef;border-radius:14px;background:#fff}.contact-direct-v2 .eyebrow{display:block;margin-bottom:5px}.contact-direct-v2 a{font-weight:800;color:#0b2340}.contact-direct-v2 p{margin:0 0 5px;color:#607184}.contact-assurance-v2{display:grid;gap:4px;margin-top:16px;padding:16px 18px;border-radius:14px;background:#0b2340;color:#fff}.contact-assurance-v2 strong{color:#fff}.contact-assurance-v2 span{font-size:12px;color:#d8e5ef;line-height:1.5}
.contact-form-v2{border-top:4px solid #f7941d!important}.contact-form-v2 .lead-form-head h2{font-size:28px;margin:7px 0 0}.otp-phone-row{display:grid;grid-template-columns:1fr auto;gap:8px}.otp-secondary{background:#0b2340!important;border-color:#0b2340!important;color:#fff!important;min-height:44px}.otp-secondary:hover{background:#173957!important;border-color:#173957!important}.otp-wrap[hidden]{display:none!important}.contact-form-v2 [data-final-submit]:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.15)}.notice[data-kind="success"]{border-color:#7bc7b7;background:#effaf7}.notice[data-kind="error"]{border-color:#e2a5a0;background:#fff5f4}.form-note{display:block;color:#647487;font-size:11px;line-height:1.5;margin-top:7px}.contact-faq-v2{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.contact-faq-v2 h2{margin:8px 0}.faq-list-v2{display:grid;gap:10px}.faq-list-v2 details{background:#fff;border:1px solid #dbe6ef;border-radius:14px;padding:15px 18px}.faq-list-v2 summary{cursor:pointer;font-weight:800;color:#173957}.faq-list-v2 p{margin:10px 0 0;color:#607184;font-size:13px;line-height:1.55}
@media(max-width:900px){.contact-value-grid{grid-template-columns:1fr}.contact-lead-layout-v2,.contact-faq-v2{grid-template-columns:1fr}.contact-side-v2{padding:0}.contact-hero-v2{min-height:440px}}
@media(max-width:700px){.contact-hero-actions{display:grid;grid-template-columns:1fr}.contact-hero-actions .btn{width:100%}.otp-phone-row{grid-template-columns:1fr}.contact-form-v2{padding:18px}.contact-hero-v2 h1{font-size:34px}}

/* V20: high-conversion contact page inspired by the information architecture of modern advisory contact pages. */
.contact-lux-hero{position:relative;overflow:hidden;background:#071f3f;color:#fff;padding:74px 0 86px}
.contact-lux-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-230px;top:-180px;border:1px solid rgba(142,228,220,.16);box-shadow:0 0 0 50px rgba(142,228,220,.025),0 0 0 110px rgba(142,228,220,.018);pointer-events:none}
.contact-lux-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;position:relative;z-index:1}
.contact-lux-copy .eyebrow{color:#9be8df}.contact-lux-copy h1{color:#fff;font-size:clamp(42px,5vw,66px);line-height:1.02;letter-spacing:-.045em;max-width:760px;margin:12px 0 20px}.contact-lux-copy>p{color:#d8e6f1;max-width:680px;font-size:17px;line-height:1.7;margin:0}.contact-trust-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:#c9d9e7;font-size:11px;font-weight:750}.contact-trust-row span{display:inline-flex;align-items:center;gap:5px}.contact-lux-visual{position:relative;min-height:490px}.contact-lux-visual>img{width:100%;height:490px;object-fit:cover;border-radius:24px;display:block;box-shadow:0 28px 70px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.12)}.contact-floating-card{position:absolute;left:-34px;bottom:28px;width:min(360px,88%);background:#fff;color:#0b2340;border-radius:18px;padding:20px;box-shadow:0 22px 55px rgba(3,14,28,.30);border:1px solid rgba(219,230,239,.9)}.contact-floating-card .eyebrow{color:#087f7b;display:block;margin-bottom:6px}.contact-floating-card>strong{display:block;font-size:17px;line-height:1.35;margin-bottom:12px}.contact-floating-card a{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #e6edf2;text-decoration:none}.contact-floating-card a span{font-size:11px;color:#708093;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.contact-floating-card a b{font-size:12px;color:#0b2340;text-align:right}
.contact-path-section{background:#f7fafc}.contact-sectionhead{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}.contact-sectionhead>p{max-width:460px;margin:0;color:#657588}.contact-service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-service-tiles button{appearance:none;text-align:left;border:1px solid #dbe6ef;background:#fff;border-radius:16px;padding:20px;min-height:132px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.contact-service-tiles button:hover{transform:translateY(-3px);border-color:#9acfc9;box-shadow:0 14px 30px rgba(8,38,66,.08)}.contact-service-tiles button span{display:block;color:#087f7b;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:15px}.contact-service-tiles button b{display:block;color:#0b2340;font-size:16px;margin-bottom:5px}.contact-service-tiles button small{display:block;color:#718092;font-size:11px;line-height:1.45}
.contact-lux-form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:42px;align-items:start}.contact-form-intro{padding:16px 0}.contact-form-intro h2{font-size:39px;line-height:1.08;letter-spacing:-.025em;margin:10px 0 14px}.contact-form-intro>p{color:#617285;line-height:1.7;max-width:560px}.contact-process-list{display:grid;gap:0;margin-top:28px}.contact-process-list>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px 0;border-top:1px solid #dbe6ef}.contact-process-list>div:last-child{border-bottom:1px solid #dbe6ef}.contact-process-list>div>span{width:36px;height:36px;border-radius:50%;background:#0b2340;color:#8ee4dc;display:grid;place-items:center;font-size:10px;font-weight:900}.contact-process-list b{color:#0b2340;font-size:13px}.contact-process-list p{margin:4px 0 0;color:#718092;font-size:12px;line-height:1.5}.contact-mini-note{display:grid;gap:4px;margin-top:18px;padding:15px 16px;background:#0b2340;border-radius:14px;color:#fff}.contact-mini-note strong{font-size:12px}.contact-mini-note span{font-size:11px;color:#d4e2ed;line-height:1.5}
.contact-lux-formbox{border:1px solid #dbe6ef!important;border-top:4px solid #f7941d!important;border-radius:20px!important;box-shadow:0 18px 45px rgba(8,38,66,.08);padding:28px;background:#fff}.contact-lux-formbox .lead-form-head{margin-bottom:20px}.contact-lux-formbox .lead-form-head h2{font-size:28px}.contact-lux-formbox .contact-submit{width:100%;min-height:50px}.contact-lux-formbox .otp-secondary{font-size:11px;padding-left:18px;padding-right:18px}.contact-lux-formbox input,.contact-lux-formbox select,.contact-lux-formbox textarea{background:#fbfdfe}.contact-lux-formbox textarea{min-height:135px}
.contact-office-section{padding-top:70px}.contact-office-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:38px;align-items:center}.contact-office-image img{display:block;width:100%;height:380px;object-fit:cover;border-radius:22px}.contact-office-copy h2{font-size:38px;margin:10px 0}.contact-office-copy>p{color:#647487;line-height:1.7;max-width:650px}.contact-direct-buttons{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.contact-direct-buttons .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.contact-direct-buttons .secondary{background:#fff!important;color:#0b2340!important;border-color:#b9cbd8!important}.contact-office-details{display:grid;gap:5px;border-top:1px solid #dbe6ef;padding-top:17px;color:#617285;font-size:12px}.contact-office-details b{color:#0b2340;font-size:14px}.contact-office-details a{font-weight:800;color:#087f7b}
.contact-faq-section{background:#f7fafc}.contact-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-faq-grid details{background:#fff;border:1px solid #dbe6ef;border-radius:15px;padding:17px 19px}.contact-faq-grid summary{cursor:pointer;color:#0b2340;font-weight:800;font-size:13px}.contact-faq-grid p{color:#647487;font-size:12px;line-height:1.6;margin:10px 0 0}
@media(max-width:1000px){.contact-lux-hero-grid,.contact-lux-form-grid,.contact-office-grid{grid-template-columns:1fr}.contact-lux-copy h1{max-width:850px}.contact-lux-visual{max-width:720px}.contact-floating-card{left:20px}.contact-service-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.contact-lux-hero{padding:54px 0 62px}.contact-lux-copy h1{font-size:40px}.contact-lux-copy>p{font-size:15px}.contact-hero-actions{display:grid;grid-template-columns:1fr}.contact-hero-actions .btn{width:100%}.contact-lux-visual,.contact-lux-visual>img{min-height:360px;height:360px}.contact-floating-card{position:relative;left:auto;bottom:auto;margin:-70px 16px 0;width:auto;z-index:2}.contact-sectionhead{display:block}.contact-sectionhead>p{margin-top:8px}.contact-service-tiles{grid-template-columns:1fr}.contact-service-tiles button{min-height:110px}.contact-form-intro h2,.contact-office-copy h2{font-size:32px}.contact-lux-formbox{padding:20px}.contact-office-image img{height:300px}.contact-faq-grid{grid-template-columns:1fr}.contact-trust-row{display:grid;gap:7px}.otp-phone-row{grid-template-columns:1fr}}


/* V21 UI FIXES — layout cleanup and contained visual hierarchy */
/* Homepage: keep the systems map out of the photographic hero background. */
.hero-photo-panel{position:relative;min-height:440px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 80px rgba(0,0,0,.24);background:#102b43}
.hero-photo-panel img{display:block;width:100%;height:440px;object-fit:cover;object-position:center}
.hero-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,42,.08),rgba(5,25,42,.70));pointer-events:none}
.hero-photo-caption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;display:grid;gap:5px}
.hero-photo-caption span{font-size:10px;letter-spacing:.14em;font-weight:850;color:#9be8df}
.hero-photo-caption strong{font-size:17px;line-height:1.3}
.technology-hub-section{background:#eef5f8!important;padding-top:64px!important;padding-bottom:72px!important}
.technology-hub-shell{max-width:920px;margin:0 auto;padding:28px 30px 24px;background:linear-gradient(145deg,#102d47,#0a2034);border:1px solid rgba(24,200,255,.24);border-radius:28px;box-shadow:0 28px 70px rgba(7,31,63,.16);color:#fff}
.technology-hub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:8px}
.technology-hub-head h2{color:#fff;margin:8px 0 6px}
.technology-hub-head p{color:#c9d9e6;margin:0;max-width:650px}
.technology-hub-head .eyebrow{color:#9be8df}
.technology-hub-status{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid rgba(142,228,220,.28);border-radius:999px;color:#a9eee8;font-size:10px;font-weight:850;letter-spacing:.08em;white-space:nowrap;background:rgba(56,189,180,.08)}
.technology-hub-shell .hub-orbit{height:340px;width:min(100%,420px);margin:0 auto}
.technology-hub-shell .hero-card-bottom{color:#cfe0e8}
/* Restore readable orbit placement in the new contained shell. */
.technology-hub-shell .hub-pill.p1{top:20px;left:50%;right:auto;bottom:auto}
.technology-hub-shell .hub-pill.p2{right:0;top:50%;left:auto;bottom:auto}
.technology-hub-shell .hub-pill.p3{bottom:18px;left:50%;right:auto;top:auto}
.technology-hub-shell .hub-pill.p4{left:0;top:50%;right:auto;bottom:auto}
.technology-hub-shell .hub-pill.p5{right:8%;bottom:23%;left:auto;top:auto}

/* Contact: Quick Connect becomes a proper information block instead of sitting over the photo. */
.contact-lux-visual{min-height:0;display:flex;flex-direction:column;gap:16px}
.contact-lux-visual>img{height:430px}
.contact-floating-card{position:relative;left:auto;bottom:auto;width:100%;margin:0;box-sizing:border-box}
/* Contact section heads: top-align text and reduce the dead space created by bottom alignment. */
.contact-sectionhead{align-items:flex-start;margin-bottom:20px}
.contact-sectionhead>p{padding-top:8px}
.contact-path-section{padding-top:64px!important;padding-bottom:64px!important}
.contact-faq-section{padding-top:62px!important;padding-bottom:62px!important}

/* Pricing: align the quote copy to the top of the form so the left side does not float in a large empty area. */
.pricing-page .lead-grid,.lead-section .lead-grid{align-items:start!important}
.lead-copy{padding-top:6px}
.pricing-disclaimer-section{padding-top:34px!important;padding-bottom:34px!important;background:#f7fafc}
.pricing-disclaimer-section .container{display:grid;gap:10px}
.pricing-disclaimer-section .notice{margin:0}

/* About: the business-principle cards now live below the image rather than floating across it. */
.about-feature-image{min-height:410px!important;background:linear-gradient(0deg,rgba(6,29,56,.10),rgba(6,29,56,.10)),url("images/modern-conference-room-with-city-view.webp") center/cover!important}
.about-principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.about-principle-card{background:#fff;border:1px solid #dbe6ef;border-radius:18px;padding:22px 24px;box-shadow:0 12px 30px rgba(22,52,79,.06)}
.about-principle-card h3{margin:7px 0 10px;font-size:20px}
.about-principle-card .eyebrow{font-size:10px}
.about-principle-card p{margin:8px 0 0;font-size:12px}
.about-principle-card ul{margin:10px 0 0;padding-left:18px;color:#607187;font-size:13px;line-height:1.9}
.about-principle-card .progress{height:7px;border-radius:99px;background:#e4edf3;overflow:hidden}
.about-principle-card .progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1264b0,#38bdb4)}

/* V25 — site-wide image reveal interaction.
   Descriptive copy lives inside the image boundary and is invisible until hover/focus. */
.dv-hover-media{position:relative;overflow:hidden}
.dv-hover-media img{display:block;transition:transform .48s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.dv-hover-caption{
  position:absolute;
  top:var(--dv-hover-top,0px);
  left:var(--dv-hover-left,0px);
  width:var(--dv-hover-width,100%);
  height:var(--dv-hover-height,100%);
  box-sizing:border-box;
  display:flex;
  align-items:flex-end;
  padding:20px 18px 16px;
  background:linear-gradient(180deg,rgba(7,31,63,0) 36%,rgba(7,31,63,.18) 50%,rgba(7,31,63,.94) 100%);
  color:#fff;
  font-size:12px;
  line-height:1.5;
  font-weight:650;
  letter-spacing:.005em;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
  z-index:8;
}
.dv-hover-media:hover .dv-hover-caption,
.dv-hover-media:focus-within .dv-hover-caption{opacity:1;transform:translateY(0)}
.dv-hover-media:hover img,
.dv-hover-media:focus-within img{transform:scale(1.035);filter:saturate(1.04)}

/* Background-image visuals use the same interaction without changing their layout. */
.dv-bg-hover{position:relative;overflow:hidden;outline:none}
.dv-bg-hover-caption{
  position:absolute;
  inset:0;
  z-index:7;
  display:flex;
  align-items:flex-end;
  padding:22px;
  box-sizing:border-box;
  color:#fff;
  font-size:12px;
  line-height:1.5;
  font-weight:700;
  background:linear-gradient(180deg,rgba(7,31,63,0) 40%,rgba(7,31,63,.92) 100%);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
}
.dv-bg-hover:hover .dv-bg-hover-caption,
.dv-bg-hover:focus .dv-bg-hover-caption,
.dv-bg-hover:focus-within .dv-bg-hover-caption{opacity:1;transform:translateY(0)}

/* Existing image-led cards: keep their title/label, reveal the supporting description on hover. */
.purpose-card .purpose-copy p{opacity:0;max-height:0;overflow:hidden;margin:0;transform:translateY(7px);transition:opacity .28s ease,transform .28s ease,max-height .35s ease}
.purpose-card:hover .purpose-copy p,.purpose-card:focus-within .purpose-copy p{opacity:1;max-height:100px;transform:translateY(0);margin-top:2px}

/* Homepage service cards: the service explanation appears only when the card is engaged. */
.dynamic-service-content p{opacity:0!important;max-height:0;overflow:hidden;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease,max-height .35s ease}
.dynamic-service-card:hover .dynamic-service-content p,.dynamic-service-card:focus-visible .dynamic-service-content p{opacity:.72!important;max-height:120px;transform:translateY(0)}

/* Hero image description: hidden until the image is intentionally engaged. */
.hero-photo-panel{position:relative;overflow:hidden}
.hero-photo-caption{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.hero-photo-panel:hover .hero-photo-caption,.hero-photo-panel:focus-within .hero-photo-caption{opacity:1;transform:translateY(0)}

/* Pricing visual caption follows the same hidden-by-default rule. */
.pricing-quote-visual figcaption{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.pricing-quote-visual:hover figcaption,.pricing-quote-visual:focus-within figcaption{opacity:1;transform:translateY(0)}

@media(max-width:700px){
  .dv-hover-caption{padding:18px 15px 14px;font-size:11px}
  .purpose-card .purpose-copy p{opacity:1;max-height:none;transform:none;margin-top:2px}
  .dynamic-service-content p{opacity:.72!important;max-height:none;transform:none}
  .hero-photo-caption,.pricing-quote-visual figcaption{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .dv-hover-caption,.dv-bg-hover-caption,.dv-hover-media img,.purpose-card .purpose-copy p,.dynamic-service-content p,.hero-photo-caption,.pricing-quote-visual figcaption{transition:none}
}

/* V22 POLISH — pricing lead balance + site-wide image descriptions */
/* Reduce the visual gap in the pricing quote section while using the open area for genuinely useful scope guidance. */
.pricing-page .lead-section,.lead-section{padding-top:58px!important;padding-bottom:58px!important}
.pricing-page .lead-grid,.lead-section .lead-grid{gap:40px!important;align-items:start!important}
.pricing-page .lead-copy{padding-top:2px!important}
.pricing-scope-card{margin-top:24px;padding:18px 18px 16px;border:1px solid #d7e5ec;border-radius:18px;background:linear-gradient(145deg,#ffffff,#f3f8fa);box-shadow:0 10px 26px rgba(12,50,80,.06)}
.pricing-scope-card h3{margin:7px 0 13px;font-size:17px;color:#0b2340}
.pricing-scope-card .eyebrow{font-size:9px;color:#087f7b}
.pricing-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pricing-scope-grid>div{padding:11px 12px;border:1px solid #e1ebf0;border-radius:12px;background:#fff}
.pricing-scope-grid b{display:block;color:#0b2340;font-size:11px;margin-bottom:3px}
.pricing-scope-grid span{display:block;color:#6a7b8d;font-size:11px;line-height:1.45}
/* Hero image descriptions are also quiet until hover/focus, matching the site-wide behaviour. */
.hero-photo-caption{opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;pointer-events:none}
.hero-photo-panel:hover .hero-photo-caption,.hero-photo-panel:focus-within .hero-photo-caption{opacity:1;transform:translateY(0)}
@media(max-width:700px){
  .pricing-page .lead-section,.lead-section{padding-top:42px!important;padding-bottom:46px!important}
  .pricing-scope-grid{grid-template-columns:1fr}
  .pricing-scope-card{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.hero-photo-caption{transition:none}}

/* V23 pricing quote visual — fills the left-column dead space with a useful, image-led scoping cue. */
.pricing-quote-visual{position:relative;margin:16px 0 0;min-height:235px;border-radius:20px;overflow:hidden;border:1px solid rgba(11,35,64,.10);background:#0b2340;box-shadow:0 16px 34px rgba(8,38,66,.10)}
.pricing-quote-visual img{display:block;width:100%;height:235px;object-fit:cover;object-position:center center;transition:transform .55s ease,filter .35s ease}
.pricing-quote-visual:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,rgba(5,24,43,0),rgba(5,24,43,.86));pointer-events:none}
.pricing-quote-visual figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;display:grid;gap:5px}
.pricing-quote-visual figcaption span{font-size:9px;font-weight:900;letter-spacing:.13em;color:#8ee4dc}
.pricing-quote-visual figcaption strong{font-size:15px;line-height:1.35;max-width:470px}
.pricing-quote-visual:hover img,.pricing-quote-visual:focus-within img{transform:scale(1.035);filter:saturate(1.05)}
@media(max-width:1050px){.pricing-quote-visual{max-width:780px}}
@media(max-width:700px){.pricing-quote-visual{min-height:200px;border-radius:16px}.pricing-quote-visual img{height:200px}.pricing-quote-visual figcaption{left:16px;right:16px;bottom:14px}.pricing-quote-visual figcaption strong{font-size:14px}}


/* V24 — Technology Hub: mathematically equal circular spacing */
.technology-hub-shell .hub-orbit{position:relative;overflow:visible}
.technology-hub-shell .hub-pill{position:absolute;z-index:3;white-space:nowrap;transform:translate(-50%,-50%)!important}
.technology-hub-shell .hub-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4}
@media(max-width:700px){
  .technology-hub-shell .hub-pill{max-width:145px;white-space:normal;text-align:center}
}


/* v28 refinement: text-only technology cards and geometrically consistent hub orbit */
.technology-hub-section .hub-orbit{position:relative;width:min(100%,620px);height:clamp(390px,44vw,470px);margin:18px auto 24px;aspect-ratio:4/3;overflow:visible;isolation:isolate}
.technology-hub-section .hub-orbit::before,.technology-hub-section .hub-orbit::after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(102,215,225,.20);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.technology-hub-section .hub-orbit::before{width:56%;aspect-ratio:1}
.technology-hub-section .hub-orbit::after{width:40%;aspect-ratio:1;border-color:rgba(102,215,225,.30)}
.technology-hub-section .hub-pill{position:absolute;left:50%;top:50%;width:148px!important;height:88px!important;min-width:148px;max-width:148px;min-height:88px;max-height:88px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:15px 16px;border-radius:16px;overflow:hidden;transform:translate(-50%,-50%);z-index:2}
.technology-hub-section .hub-pill::before{opacity:.18!important;background-size:cover;background-position:center}
.technology-hub-section .hub-pill small{display:block;line-height:1.2}
.technology-hub-section .hub-core{position:absolute;left:50%;top:50%;width:122px;height:122px;min-width:122px;min-height:122px;max-width:122px;max-height:122px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;z-index:4;padding:12px;line-height:1.15;overflow-wrap:anywhere}
.technology-hub-section .hub-core small{display:block;max-width:86px;margin-top:6px;line-height:1.25}
.technology-hub-section .partner-logo-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.technology-hub-section .partner-logo{min-height:76px;height:76px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;border-radius:13px;background:#fff;color:#102d46;border:1px solid rgba(255,255,255,.22);box-shadow:0 5px 16px rgba(0,0,0,.10);font-weight:700;font-size:13px;line-height:1.25}
.technology-hub-section .partner-logo img{display:none!important}
@media(max-width:900px){.technology-hub-section .partner-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.technology-hub-section .hub-orbit{height:420px}}
@media(max-width:600px){.technology-hub-section .partner-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.technology-hub-section .hub-orbit{height:390px;width:100%}.technology-hub-section .hub-pill{width:126px!important;min-width:126px;max-width:126px;height:78px!important;min-height:78px;max-height:78px;padding:11px;font-size:12px}.technology-hub-section .hub-core{width:104px;height:104px;min-width:104px;min-height:104px;max-width:104px;max-height:104px;font-size:14px}.technology-hub-section .hub-core small{font-size:9px}.technology-hub-section .partner-logo{height:68px;min-height:68px;font-size:12px}}

/* v29 precise behavior: only the five service nodes travel around the orbit.
   The center, orbit rings, heading and surrounding content remain fixed. */
.technology-hub-section .technology-hub-shell .hub-orbit{height:clamp(390px,44vw,470px);width:min(100%,620px);margin:18px auto 24px;position:relative;overflow:visible}
.technology-hub-section .technology-hub-shell .hub-core{left:50%;top:50%;transform:translate(-50%,-50%);animation:none!important}
.technology-hub-section .technology-hub-shell .hub-pill{left:50%;top:50%;width:148px!important;height:88px!important;min-width:148px;max-width:148px;min-height:88px;max-height:88px;box-sizing:border-box;transform:translate(-50%,-50%);animation:hubServiceOrbit 24s linear infinite;will-change:left,top;}
.technology-hub-section .technology-hub-shell .hub-pill.p1{animation-delay:0s}
.technology-hub-section .technology-hub-shell .hub-pill.p2{animation-delay:-4.8s}
.technology-hub-section .technology-hub-shell .hub-pill.p3{animation-delay:-9.6s}
.technology-hub-section .technology-hub-shell .hub-pill.p4{animation-delay:-14.4s}
.technology-hub-section .technology-hub-shell .hub-pill.p5{animation-delay:-19.2s}
@keyframes hubServiceOrbit{
  0%,100%{left:50%;top:18%}
  20%{left:80%;top:38%}
  40%{left:68%;top:79%}
  60%{left:32%;top:79%}
  80%{left:20%;top:38%}
}
.technology-hub-section .technology-hub-shell .hub-pill:hover{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.technology-hub-section .technology-hub-shell .hub-pill{animation:none!important}.technology-hub-section .technology-hub-shell .hub-pill.p1{left:50%;top:18%}.technology-hub-section .technology-hub-shell .hub-pill.p2{left:80%;top:38%}.technology-hub-section .technology-hub-shell .hub-pill.p3{left:68%;top:79%}.technology-hub-section .technology-hub-shell .hub-pill.p4{left:32%;top:79%}.technology-hub-section .technology-hub-shell .hub-pill.p5{left:20%;top:38%}}
@media(max-width:600px){.technology-hub-section .technology-hub-shell .hub-orbit{height:390px}.technology-hub-section .technology-hub-shell .hub-pill{width:126px!important;min-width:126px;max-width:126px;height:78px!important;min-height:78px;max-height:78px;padding:11px;font-size:12px}}

/* v31 requested refinement: remove decorative orbit rings, compact service cards, enlarge partner marks. */
.technology-hub-section .technology-hub-shell .hub-orbit::before,
.technology-hub-section .technology-hub-shell .hub-orbit::after,
.technology-hub-shell .hub-orbit::before,
.technology-hub-shell .hub-orbit::after{display:none!important;content:none!important;border:0!important}
.technology-hub-section .technology-hub-shell .hub-pill,
.technology-hub-shell .hub-orbit .hub-pill{width:124px!important;min-width:124px!important;max-width:124px!important;height:68px!important;min-height:68px!important;max-height:68px!important;padding:8px 10px!important;border-radius:12px!important;font-size:12px;gap:3px}
.technology-hub-section .technology-hub-shell .hub-pill small{font-size:9px!important;line-height:1.1}
.technology-hub-section .technology-hub-shell .hub-core{z-index:4}
.partner-section .partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.partner-section .partner-logo{min-height:112px;height:auto;padding:14px 12px;gap:8px;flex-direction:column;justify-content:center;overflow:hidden}
.partner-section .partner-logo img{display:block!important;width:auto!important;max-width:210px!important;max-height:54px!important;height:48px!important;object-fit:contain}
.partner-section .partner-logo span{display:block!important;font-size:12px;font-weight:750;line-height:1.15;color:#193957}
.partner-section .partner-logo.logo-missing img{display:none!important}
.partner-section .partner-logo.logo-missing span{font-size:15px;font-weight:800}
@media(max-width:900px){.partner-section .partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-section .partner-logo img{max-width:180px!important;height:44px!important}}
@media(max-width:600px){.technology-hub-section .technology-hub-shell .hub-orbit{height:340px!important;min-height:340px!important}.technology-hub-section .technology-hub-shell .hub-pill,.technology-hub-shell .hub-orbit .hub-pill{width:104px!important;min-width:104px!important;max-width:104px!important;height:60px!important;min-height:60px!important;max-height:60px!important;padding:6px!important;font-size:10px!important}.technology-hub-section .technology-hub-shell .hub-pill small{font-size:8px!important}.partner-section .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-section .partner-logo{min-height:94px;padding:10px 8px}.partner-section .partner-logo img{max-width:145px!important;height:38px!important}.partner-section .partner-logo span{font-size:11px}}


/* V33 requested corrections: no orbit rings, smaller upright service cards, larger image-only partner logos. */
.technology-hub-section .technology-hub-shell .hub-orbit::before,
.technology-hub-section .technology-hub-shell .hub-orbit::after,
.technology-hub-shell .hub-orbit::before,
.technology-hub-shell .hub-orbit::after { display:none !important; content:none !important; border:0 !important; }
.technology-hub-section .technology-hub-shell .hub-orbit { height:clamp(360px,40vw,420px) !important; width:min(100%,620px) !important; }
.technology-hub-section .technology-hub-shell .hub-pill,
.technology-hub-shell .hub-orbit .hub-pill { width:112px !important; min-width:112px !important; max-width:112px !important; height:58px !important; min-height:58px !important; max-height:58px !important; padding:7px 8px !important; border-radius:11px !important; font-size:11px !important; line-height:1.15 !important; }
.technology-hub-section .technology-hub-shell .hub-pill small { font-size:9px !important; }
.partner-section .partner-logos { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.partner-section .partner-logo { min-height:132px; height:132px; padding:16px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.partner-section .partner-logo img { display:block !important; width:auto !important; max-width:100% !important; height:auto !important; max-height:82px !important; object-fit:contain !important; }
.partner-section .partner-logo span { display:none !important; }
@media(max-width:900px) { .partner-section .partner-logos { grid-template-columns:repeat(3,minmax(0,1fr)); } .partner-section .partner-logo { height:120px; min-height:120px; } .partner-section .partner-logo img { max-height:72px !important; } }
@media(max-width:600px) { .technology-hub-section .technology-hub-shell .hub-orbit { height:340px !important; min-height:340px !important; } .technology-hub-section .technology-hub-shell .hub-pill, .technology-hub-shell .hub-orbit .hub-pill { width:96px !important; min-width:96px !important; max-width:96px !important; height:52px !important; min-height:52px !important; max-height:52px !important; padding:5px !important; font-size:10px !important; } .technology-hub-section .technology-hub-shell .hub-pill small { font-size:8px !important; } .partner-section .partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .partner-section .partner-logo { height:108px; min-height:108px; padding:10px; } .partner-section .partner-logo img { max-height:66px !important; } }


/* Industries page: retain the shared CTA copy and button, remove its background artwork. */
.industries-cta { background-color: #0b2e52 !important; background-image: none !important; }
.industries-cta::before, .industries-cta::after { background-image: none !important; box-shadow: none !important; display: none !important; }

/* Instagram social icon and accessibility helper */
.instagram-social{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 2px;color:inherit;text-decoration:none}
.instagram-social:hover{opacity:.78}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* October 2026 client-requested industry directory improvements */
.industry-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:2rem;align-items:end;margin-bottom:1.5rem}
.industry-filter label{display:block;font-weight:700;margin-bottom:.45rem}
.industry-filter input{width:100%;min-height:48px;border:1px solid #b8c7d7;border-radius:10px;padding:.8rem 1rem;font:inherit;background:#fff}
.industry-filter p{font-size:.85rem;color:#52657a;margin:.45rem 0 0}
.industry-card{overflow:hidden;display:flex;flex-direction:column}
.industry-card[hidden]{display:none!important}
.industry-card-image{height:220px;overflow:hidden;background:#eaf0f6}
.industry-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.industry-card:hover .industry-card-image img{transform:scale(1.035)}
.industry-card-copy{padding:1.2rem 1.35rem 0;flex:1}
.industry-card>.textlink{padding:1rem 1.35rem 1.35rem}
.industry-selected{outline:3px solid #f4a62a;outline-offset:3px}
.industry-no-results{padding:1.2rem;border:1px dashed #9aafc4;border-radius:12px}
@media(max-width:700px){.industry-tools{grid-template-columns:1fr;gap:1rem}.industry-card-image{height:190px}}

/* Client update: filterable pricing navigation */
.pricing-filter-nav{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 12px;padding:12px;background:#fff;border:1px solid #dce5ef;border-radius:14px;position:relative;z-index:1}.pricing-filter{border:1px solid #d7e1ec;background:#fff;color:#173451;border-radius:7px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;transition:.2s}.pricing-filter:hover,.pricing-filter.active{background:#124f8c;color:#fff;border-color:#124f8c}.pricing-filter-status{margin:0 0 18px;color:#5a6e82;font-size:.95rem}.pricing-service-card[hidden]{display:none!important}.pricing-service-grid{scroll-margin-top:24px}
