
:root{--ink:#07111f;--ink-2:#0a1625;--panel:#0e1b2a;--panel-2:#122235;--line:#23374b;--line-soft:rgba(150,180,210,.14);--text:#edf3f8;--muted:#aab8c7;--accent:#6f9fc7;--accent-2:#91b6d5;--white:#fff;--shadow:0 24px 70px rgba(0,0,0,.28);--radius:18px;--container:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:Aptos,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 44px));margin-inline:auto}.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:10px 14px;background:#fff;color:#000;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,17,31,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft)}.nav-wrap{height:78px;display:flex;align-items:center;gap:28px}.brand{width:236px;flex:0 0 236px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.nav-link,.nav-button{position:relative;color:#c7d2dd;font-size:.95rem;font-weight:600;background:none;border:0;padding:10px 0;cursor:pointer}.nav-link:hover,.nav-button:hover,.nav-link.active,.nav-button.active{color:#fff}.nav-link.active:after,.nav-button.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--accent);border-radius:2px}.nav-dropdown{position:relative}.nav-caret{margin-left:5px;color:var(--muted)}.dropdown-panel{position:absolute;top:46px;left:-18px;width:320px;padding:10px;background:#0d1a29;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:none}.dropdown-panel a{display:block;padding:10px 12px;color:#cbd6e0;border-radius:8px;font-size:.91rem}.dropdown-panel a:hover{background:#142438;color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border:1px solid #7fa9ca;background:#7fa9ca;color:#06111d;border-radius:9px;font-weight:700;transition:.18s}.button:hover{background:#96bad6;border-color:#96bad6;transform:translateY(-1px)}.button-small{min-height:40px;padding:0 16px;font-size:.9rem}.button-ghost{background:transparent;color:#dce6ef;border-color:#3a5167}.button-ghost:hover{background:#122236;border-color:#587087;color:#fff}.header-cta{margin-left:8px;white-space:nowrap}.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:9px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:20px;height:1px;background:#fff}.mobile-nav{border-top:1px solid var(--line-soft);background:#081421}.mobile-nav-inner{padding:16px 0 24px;display:grid;gap:4px}.mobile-nav a,.mobile-nav summary{display:block;padding:10px 0;color:#dbe5ee;font-weight:600;cursor:pointer}.mobile-nav details a{padding-left:18px;color:#aebdcb;font-weight:500}.mobile-nav summary{list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.eyebrow{display:inline-block;color:var(--accent-2);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}.kicker{display:block;color:#8fa5b8;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.home-hero{position:relative;min-height:670px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line-soft);background:radial-gradient(circle at 78% 44%,rgba(90,136,176,.11),transparent 34%),linear-gradient(180deg,#06101c,#07111f)}.home-hero:before,.page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120,160,190,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,190,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}.hero-visual{position:absolute;right:-1%;top:50%;width:58%;height:100%;transform:translateY(-50%);background-image:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.4) 28%,rgba(7,17,31,.05) 70%),url('../images/hero-shield-muted.webp');background-size:cover;background-position:center;opacity:.92}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,610px) 1fr;align-items:center}.hero-copy{padding:100px 0 90px}.hero-copy h1{margin:0 0 24px;font-size:clamp(3rem,5.2vw,5.5rem);line-height:1.03;letter-spacing:-.052em;max-width:850px}.hero-copy>p{max-width:620px;color:#c0ccd8;font-size:1.15rem;margin:0 0 30px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:36px;color:#9eb0c0;font-size:.88rem}.hero-proof span{display:flex;align-items:center;gap:8px}.hero-proof span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}.page-hero{position:relative;overflow:hidden;padding:110px 0 88px;background:radial-gradient(circle at 80% 25%,rgba(92,137,175,.12),transparent 30%),linear-gradient(180deg,#07111f,#0a1625);border-bottom:1px solid var(--line-soft)}.page-hero-inner{position:relative;z-index:2}.page-hero-copy{max-width:900px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 22px}.page-hero p{font-size:1.15rem;color:#bdcad6;max-width:820px;margin:0 0 28px}.section{padding:92px 0}.section-alt{background:#0a1624;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.section-narrow .container{max-width:860px}.section-heading{max-width:820px;margin-bottom:44px}.section-heading h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 14px}.section-heading p{color:var(--muted);font-size:1.08rem;margin:0}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.practice-card{display:grid;grid-template-columns:74px 1fr;gap:24px;padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,#101e2e,#0b1725);border-radius:var(--radius);box-shadow:0 14px 40px rgba(0,0,0,.16)}.practice-card h3{font-size:1.65rem;line-height:1.18;margin:0 0 12px}.practice-card p{color:#b3c0cc;margin:0 0 20px}.icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.practice-icon{width:62px;height:62px;padding:14px;border:1px solid #34516a;border-radius:16px;background:#102337}.feature-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:9px}.feature-list li{display:flex;gap:10px;align-items:flex-start;color:#d3dde6}.check-icon{width:16px;height:16px;margin-top:4px;flex:0 0 16px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent-2);font-weight:750;font-size:.94rem}.text-link:hover{color:#fff}.inline-icon{width:17px;height:17px}.cards{display:grid;gap:18px}.cards-2{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.cards-5{grid-template-columns:repeat(5,1fr)}.card{padding:28px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0f1d2c,#0b1724);min-height:100%;transition:.18s}.card:hover{border-color:#3b566f;transform:translateY(-2px)}.card-icon{width:42px;height:42px;padding:9px;border:1px solid #35516b;border-radius:12px;background:#102237;margin-bottom:24px}.card h3{font-size:1.18rem;line-height:1.28;margin:0 0 10px}.card p{color:#aebdca;margin:0 0 20px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.process-step{background:#0c1928;padding:30px;min-height:250px}.step-no{display:block;color:#6f879c;font-size:.8rem;font-weight:800;letter-spacing:.12em;margin-bottom:46px}.process-step h3{font-size:1.22rem;margin:0 0 12px}.process-step p{color:#adbbc8;margin:0}.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.split-panel>div{background:#0d1a29;padding:38px}.split-panel h3{font-size:1.45rem;margin:0 0 12px}.split-panel p{color:#b2c0cc;margin:0}.deliverable-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.deliverable-list>div{background:#0c1928;padding:28px}.deliverable-list h3{margin:0 0 8px;font-size:1.08rem}.deliverable-list p{color:#aebdca;margin:0}.framework-strip{display:flex;flex-wrap:wrap;gap:10px}.framework-strip > span{padding:10px 14px;border:1px solid #2b4258;border-radius:999px;color:#c6d2dc;background:#0c1928;font-size:.9rem}.section-cta{padding-top:30px}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:46px;border:1px solid #35516b;border-radius:18px;background:linear-gradient(125deg,#102237,#0b1724);box-shadow:var(--shadow)}.cta-panel h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;margin:0 0 12px}.cta-panel p{max-width:720px;color:#afbdca;margin:0}.scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.scenario{padding:34px;border:1px solid var(--line);border-radius:16px;background:#0c1928}.scenario-no{color:#6f879c;font-weight:800;letter-spacing:.1em}.scenario h2{font-size:1.5rem;margin:24px 0 12px}.scenario h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#90a6b8;margin:24px 0 6px}.scenario p{color:#b4c1cc;margin:0}.industry-list{display:grid;gap:16px}.industry-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:36px;border:1px solid var(--line);border-radius:16px;background:#0c1928;scroll-margin-top:110px}.industry-row h2{font-size:1.65rem;margin:0 0 10px}.industry-row h3{font-size:.83rem;text-transform:uppercase;letter-spacing:.12em;color:#91a6b8;margin:2px 0 12px}.industry-row p{color:#afbdca;margin:0}.faq-list{max-width:920px}.faq-list details{border-top:1px solid var(--line);padding:4px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:24px 40px 24px 0;font-size:1.08rem;font-weight:700;list-style:none;position:relative}.faq-list summary:after{content:"+";position:absolute;right:2px;color:var(--accent);font-size:1.4rem}.faq-list details[open] summary:after{content:"–"}.faq-list p{color:#afbdca;padding:0 40px 24px 0;margin:0}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px}.contact-details h2{font-size:2.6rem;line-height:1.12;margin:0 0 16px}.contact-details>p{color:#afbdca}.contact-items{margin-top:36px;border-top:1px solid var(--line)}.contact-items>a,.contact-items>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);color:#c5d1db}.contact-items strong{color:#fff}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:34px;border:1px solid var(--line);border-radius:16px;background:#0c1928}.contact-form label{display:grid;gap:7px;color:#c9d4de;font-size:.9rem;font-weight:650}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#081421;color:#fff;border:1px solid #2d455b;border-radius:9px;padding:12px 13px;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#7fa9ca;box-shadow:0 0 0 3px rgba(127,169,202,.12)}.contact-form .full{grid-column:1/-1}.contact-form .consent{display:flex;grid-template-columns:18px 1fr;align-items:start;font-weight:400;color:#aebdca}.contact-form .consent input{width:16px;margin-top:4px}.brand-sheet{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.prose h2{font-size:1.35rem;margin:36px 0 10px}.prose h2:first-child{margin-top:0}.prose p{color:#b2c0cc}.prose a{color:var(--accent-2)}.not-found{min-height:68vh;display:flex;align-items:center;padding:90px 0}.not-found h1{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.06em;margin:0 0 10px}.not-found p{color:#b4c2ce;font-size:1.1rem}.site-footer{margin-top:60px;background:#050d17;border-top:1px solid var(--line-soft)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:60px;padding:70px 0 50px}.footer-brand img{width:230px;margin-bottom:22px}.footer-brand p{max-width:390px;color:#93a5b5}.footer-grid h3{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:#8397a9;margin:0 0 18px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start}.footer-grid a,.footer-grid p{color:#b4c1cc;margin:0 0 10px;font-size:.92rem}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line-soft);padding:20px 0 28px;display:flex;align-items:center;justify-content:space-between;color:#718496;font-size:.82rem}.footer-bottom div{display:flex;gap:18px}
@media(max-width:1080px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex}.home-hero{min-height:620px}.hero-visual{width:62%;right:-15%;opacity:.55}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:650px}.cards-5{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.contact-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:760px){.container{width:min(100% - 30px,var(--container))}.nav-wrap{height:70px}.brand{width:195px;flex-basis:195px}.header-cta{display:none}.home-hero{min-height:auto}.hero-visual{position:absolute;width:100%;right:0;top:0;transform:none;height:100%;opacity:.28;background-image:linear-gradient(180deg,rgba(7,17,31,.45),#07111f 72%),url('../images/hero-shield-muted.webp');background-position:70% top}.hero-copy{padding:90px 0 70px}.hero-copy h1{font-size:clamp(2.75rem,12vw,4.2rem)}.hero-copy>p{font-size:1.03rem}.page-hero{padding:88px 0 70px}.page-hero h1{font-size:clamp(2.55rem,11vw,4rem)}.page-hero p{font-size:1.03rem}.section{padding:70px 0}.section-heading{margin-bottom:32px}.practice-grid,.cards-2,.cards-3,.cards-4,.cards-5,.scenario-grid,.industry-row,.contact-form{grid-template-columns:1fr}.practice-card{grid-template-columns:1fr;padding:28px}.process-grid{grid-template-columns:1fr}.process-step{min-height:auto}.step-no{margin-bottom:28px}.split-panel,.deliverable-list{grid-template-columns:1fr}.cta-panel{align-items:flex-start;flex-direction:column;padding:32px}.industry-row{gap:22px;padding:28px}.contact-grid{gap:32px}.contact-form{padding:24px}.contact-form .full{grid-column:auto}.contact-details h2{font-size:2.15rem}.footer-grid{grid-template-columns:1fr 1fr;gap:36px;padding:55px 0 40px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}.button-row{display:grid;grid-template-columns:1fr}.button-row .button{width:100%}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.section-cta{padding-top:10px}}
@media(max-width:470px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.hero-proof{grid-template-columns:1fr}.practice-card{padding:24px}.section-heading h2{font-size:2rem}.brand{width:178px;flex-basis:178px}}


/* Homepage hero video */
.hero-visual{right:0;width:60%;overflow:hidden;background:none;opacity:1;pointer-events:none}
.hero-visual video{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(.62) brightness(.68) contrast(1.08)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.9) 17%,rgba(7,17,31,.48) 43%,rgba(7,17,31,.12) 78%,rgba(7,17,31,.18) 100%),linear-gradient(180deg,rgba(7,17,31,.08),rgba(7,17,31,.34));pointer-events:none}
.hero-video-toggle{position:absolute;z-index:4;right:28px;bottom:24px;width:40px;height:40px;border:1px solid rgba(184,203,219,.3);border-radius:999px;background:rgba(6,16,28,.72);backdrop-filter:blur(8px);color:#dce6ef;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s}
.hero-video-toggle:hover{border-color:rgba(184,203,219,.65);background:rgba(13,29,46,.9)}
.hero-video-toggle span,.hero-video-toggle span:after{display:block;width:3px;height:13px;border-radius:2px;background:currentColor;content:""}
.hero-video-toggle span{position:relative;transform:translateX(-3px)}
.hero-video-toggle span:after{position:absolute;left:6px;top:0}
.hero-video-toggle.is-paused span{width:0;height:0;background:transparent;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;border-radius:0;transform:translateX(2px)}
.hero-video-toggle.is-paused span:after{display:none}
@media(max-width:1080px){.hero-visual{width:72%;right:-8%;opacity:1}.hero-visual video{filter:saturate(.58) brightness(.6) contrast(1.08)}.hero-visual:after{background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.92) 24%,rgba(7,17,31,.6) 52%,rgba(7,17,31,.2) 100%),linear-gradient(180deg,rgba(7,17,31,.12),rgba(7,17,31,.4))}}
@media(max-width:760px){.hero-visual{position:absolute;width:100%;right:0;top:0;transform:none;height:100%;opacity:1;background:none}.hero-visual video{object-position:58% center;filter:saturate(.48) brightness(.48) contrast(1.08)}.hero-visual:after{background:linear-gradient(180deg,rgba(7,17,31,.46) 0%,rgba(7,17,31,.62) 42%,#07111f 91%),linear-gradient(90deg,rgba(7,17,31,.82),rgba(7,17,31,.22))}.hero-video-toggle{right:16px;bottom:16px;width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.hero-video-toggle{display:none}}


/* Typography and centered homepage hero refinement */
@font-face{font-family:"Aptos Local";src:local("Aptos"),local("Aptos Regular");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Aptos Local";src:local("Aptos SemiBold"),local("Aptos Semibold"),local("Aptos");font-style:normal;font-weight:600;font-display:swap}
body{font-family:"Aptos Local","Aptos","Segoe UI",Arial,sans-serif;font-weight:400}
h1,h2,h3,h4,h5,h6{font-family:"Aptos Local","Aptos","Segoe UI",Arial,sans-serif;font-weight:600}
.home-hero{min-height:700px;text-align:center;background:#07111f}
.home-hero:before{z-index:1;background:linear-gradient(180deg,rgba(5,13,23,.44),rgba(5,13,23,.7)),linear-gradient(90deg,rgba(5,13,23,.45),rgba(5,13,23,.2),rgba(5,13,23,.45));mask-image:none}
.home-hero .hero-visual{inset:0;width:100%;height:100%;transform:none;right:auto;top:auto}
.home-hero .hero-visual video{object-position:center center;filter:saturate(.5) brightness(.5) contrast(1.08)}
.home-hero .hero-visual:after{background:radial-gradient(circle at center,rgba(7,17,31,.18) 0%,rgba(7,17,31,.45) 58%,rgba(7,17,31,.78) 100%),linear-gradient(180deg,rgba(7,17,31,.16),rgba(7,17,31,.62))}
.home-hero .hero-grid{display:flex;justify-content:center;align-items:center;min-height:700px}
.home-hero .hero-copy{width:min(100%,1020px);max-width:1020px;margin-inline:auto;padding:108px 0 96px;display:flex;flex-direction:column;align-items:center}
.home-hero .hero-copy h1{max-width:1020px;margin:0 0 26px;font-size:clamp(2.85rem,4.6vw,5rem);line-height:1.08;letter-spacing:-.038em;text-wrap:balance}
.home-hero .hero-copy h1 span{display:block}
.home-hero .hero-copy h1 span+span{margin-top:.16em}
.home-hero .hero-copy>p{max-width:850px;margin:0 auto 32px;color:#c7d2dc;font-size:clamp(1.04rem,1.45vw,1.22rem);line-height:1.65;text-wrap:balance}
.home-hero .button-row{justify-content:center}
.home-hero .hero-proof{justify-content:center}
.home-hero .hero-video-toggle{right:24px;bottom:22px}
@media(max-width:1080px){.home-hero,.home-hero .hero-grid{min-height:650px}.home-hero .hero-visual{inset:0;width:100%;right:auto}.home-hero .hero-copy{max-width:900px;padding:100px 0 84px}.home-hero .hero-visual video{filter:saturate(.48) brightness(.46) contrast(1.08)}}
@media(max-width:760px){.home-hero,.home-hero .hero-grid{min-height:680px}.home-hero .hero-copy{padding:96px 0 78px}.home-hero .hero-copy h1{font-size:clamp(2.25rem,10vw,3.45rem);line-height:1.12}.home-hero .hero-copy>p{font-size:1rem;line-height:1.58}.home-hero .hero-proof{justify-items:center;text-align:left}.home-hero .hero-visual video{object-position:center center;filter:saturate(.42) brightness(.4) contrast(1.08)}}


/* Global large section-label style — Core Practice Areas treatment */
.eyebrow,
.cp-label,
.contact-label {
  display: inline-block !important;
  margin: 0 0 18px !important;
  color: #9fc2df !important;
  font-family: "Aptos Local", "Aptos", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(1.35rem, 1.75vw, 1.65rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  .eyebrow,
  .cp-label,
  .contact-label {
    margin-bottom: 14px !important;
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
    letter-spacing: .14em !important;
  }
}


/* Version 6.1 — consistent Let's Talk header CTA */
.header-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  min-width: 144px !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  margin-left: 8px !important;
  border: 1px solid #0b63f6 !important;
  border-radius: 9px !important;
  background: #0b63f6 !important;
  color: #ffffff !important;
  font-family: "Aptos Local", "Aptos", "Segoe UI", Arial, sans-serif !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 24px rgba(11, 99, 246, .22) !important;
  transform: none !important;
}

.header-cta .button-arrow {
  display: inline-block !important;
  margin-left: 0 !important;
  font-size: 1.08rem !important;
  line-height: 1 !important;
  transition: transform .18s ease !important;
}

.header-cta:hover,
.header-cta:focus-visible {
  border-color: #1d72ff !important;
  background: #1d72ff !important;
  color: #ffffff !important;
  box-shadow: 0 10px 28px rgba(11, 99, 246, .30) !important;
  transform: translateY(-1px) !important;
}

.header-cta:hover .button-arrow,
.header-cta:focus-visible .button-arrow {
  transform: translateX(3px) !important;
}

@media (max-width: 760px) {
  .header-cta {
    display: none !important;
  }
}


/* Version 6.3 — branded accent rule for section labels. */
.eyebrow,
.cp-label,
.contact-label {
  position: relative !important;
  padding-bottom: 13px !important;
}

.eyebrow::after,
.cp-label::after,
.contact-label::after {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  margin-top: 11px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff4d2f 0 46%, #0b63f6 54% 100%);
  box-shadow: 0 0 12px rgba(11, 99, 246, .22);
}

@media (max-width: 760px) {
  .eyebrow,
  .cp-label,
  .contact-label {
    padding-bottom: 10px !important;
  }
  .eyebrow::after,
  .cp-label::after,
  .contact-label::after {
    width: 38px;
    margin-top: 9px;
  }
}


/* Version 7.0 — content architecture and professional layout refinements */
.home-hero{height:clamp(720px,56.25vw,920px);min-height:720px;width:100%;position:relative}
.home-hero .hero-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;overflow:hidden!important;background:#07111f}
.home-hero .hero-visual video{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;filter:saturate(.88) brightness(.72) contrast(1.12)!important}
.home-hero:before{z-index:1;background:linear-gradient(90deg,rgba(4,12,22,.72) 0%,rgba(4,12,22,.26) 52%,rgba(4,12,22,.18) 100%),linear-gradient(180deg,rgba(4,12,22,.05) 0%,rgba(4,12,22,.16) 64%,rgba(4,12,22,.7) 100%);mask-image:none}
.hero-shell{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:82px;padding-bottom:24px}
.home-hero .hero-copy{display:block!important;align-items:initial!important;width:min(100%,1120px)!important;max-width:1120px!important;margin:0!important;padding:0!important;text-align:left!important}
.home-hero .hero-copy h1{font-size:clamp(2.35rem,3.55vw,4rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:1120px!important;margin:0 0 24px!important;text-shadow:0 2px 10px rgba(0,0,0,.62)}
.home-hero .hero-copy h1 span{display:block!important;white-space:nowrap!important;margin-top:.08em!important}
.home-hero .hero-copy>p{max-width:900px!important;margin:0 0 30px!important;color:#e0e8ef!important;font-size:clamp(1.02rem,1.35vw,1.18rem)!important;text-shadow:0 1px 4px rgba(0,0,0,.75)}
.home-hero .button-row{justify-content:flex-start!important}
.hero-promise{width:100%;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(99,143,190,.42);border-radius:20px;background:rgba(6,18,36,.78);backdrop-filter:blur(12px);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hero-promise>div{padding:24px 28px;min-height:150px}
.hero-promise>div+div{border-left:1px solid rgba(99,143,190,.26)}
.hero-promise h2{font-size:1.55rem;margin:0 0 8px;letter-spacing:-.02em}
.hero-promise>div:nth-child(1) h2{color:#fff}.hero-promise>div:nth-child(2) h2{color:#6598ff}.hero-promise>div:nth-child(3) h2{color:#ff7a24}
.hero-promise p{margin:0;color:#b8c6d6;line-height:1.55}
.practice-showcase{display:grid;gap:36px}.practice-showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.practice-showcase-row-reverse{grid-template-columns:1fr 1fr}.practice-visual{margin:0;min-width:0}.practice-visual img{width:100%;height:auto;display:block;border:0;border-radius:0;box-shadow:none;background:transparent}.practice-summary{padding:34px 0;min-width:0}.practice-summary h3{font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin:0 0 14px}.practice-summary p{font-size:1.08rem;color:#b7c4d0;margin:0 0 20px}.practice-summary-security h3{color:#f3f7fb}.practice-summary-ai h3{color:#ff684d}.practice-separator{height:1px;background:linear-gradient(90deg,transparent,rgba(108,154,198,.3),rgba(255,91,61,.25),transparent)}
.plain-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}.plain-list li{position:relative;padding-left:23px;color:#d5dfe7}.plain-list li:before{content:"✓";position:absolute;left:0;color:#73a8d5;font-weight:800}.practice-summary-ai .plain-list li:before{color:#ff684d}
.outcome-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0c1928}.outcome-band>div{padding:28px;display:grid;gap:8px}.outcome-band>div+div{border-left:1px solid var(--line)}.outcome-band strong{font-size:1.08rem;color:#eef4f9}.outcome-band span{color:#aebdca;line-height:1.5}
.service-architecture{display:grid;gap:28px}.service-architecture>article{padding:36px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0e1b2b,#091522)}.service-architecture>article>h2{font-size:clamp(2rem,3vw,3rem);margin:0 0 12px}.service-architecture>article>p{max-width:860px;color:#b5c2ce;margin:0 0 28px;font-size:1.08rem}
.feature-list>li:not(:has(.check-icon)){position:relative;padding-left:28px;color:#d3dde6}.feature-list>li:not(:has(.check-icon)):before{content:"✓";position:absolute;left:0;color:#7fa9ca}
.contact-form select option{background:#081421;color:#fff}
@media(max-width:1080px){.home-hero{height:auto;min-height:780px}.hero-shell{padding-top:70px}.hero-promise{grid-template-columns:1fr}.hero-promise>div{min-height:auto}.hero-promise>div+div{border-left:0;border-top:1px solid rgba(99,143,190,.26)}.practice-showcase-row,.practice-showcase-row-reverse{grid-template-columns:1fr;gap:24px}.practice-showcase-row-reverse .practice-summary{order:2}.practice-showcase-row-reverse .practice-visual{order:1}.outcome-band{grid-template-columns:repeat(2,1fr)}.outcome-band>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.outcome-band>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:760px){.home-hero{min-height:960px;height:auto}.hero-shell{padding-top:54px;padding-bottom:18px}.home-hero .hero-copy h1{font-size:clamp(1.45rem,6.7vw,2.35rem)!important}.home-hero .hero-copy h1 span{white-space:normal!important}.home-hero .hero-copy>p{font-size:.98rem!important}.hero-promise>div{padding:20px}.hero-promise h2{font-size:1.3rem}.practice-summary{padding:10px 0}.outcome-band{grid-template-columns:1fr}.outcome-band>div+div{border-left:0;border-top:1px solid var(--line)}.service-architecture>article{padding:26px 22px}}


/* Version 7.1 — unified button system and enhanced When to Engage section */
.button,
.button.button-ghost,
a.button,
a.button.button-ghost {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  min-height:44px !important;
  padding:0 22px !important;
  border-radius:10px !important;
  border:1px solid #0b63f6 !important;
  background:linear-gradient(180deg,#0d68ff 0%,#0b63f6 100%) !important;
  color:#ffffff !important;
  font-family:"Aptos Local","Aptos","Segoe UI",Arial,sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  box-shadow:0 10px 26px rgba(11,99,246,.24) !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
}
.button:hover,
.button:focus-visible,
.button.button-ghost:hover,
.button.button-ghost:focus-visible {
  border-color:#1d72ff !important;
  background:linear-gradient(180deg,#1d72ff 0%,#0e66f8 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 30px rgba(11,99,246,.32) !important;
  transform:translateY(-1px) !important;
}
.button .button-arrow,
a.button .button-arrow {
  display:inline-block !important;
  font-size:1.08rem !important;
  line-height:1 !important;
  transition:transform .18s ease !important;
}
.button:hover .button-arrow,
.button:focus-visible .button-arrow,
a.button:hover .button-arrow,
a.button:focus-visible .button-arrow {
  transform:translateX(3px) !important;
}
.button.button-small,
a.button.button-small {
  min-height:44px !important;
  padding:0 20px !important;
  font-size:.92rem !important;
}
.header-cta {
  min-width:126px !important;
}

.engage-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(82,132,210,.18), transparent 26%),
    radial-gradient(circle at 96% 18%, rgba(255,111,78,.08), transparent 18%),
    linear-gradient(180deg,#091422 0%,#081320 100%);
}
.engage-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(99,141,189,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,141,189,.03) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.72), transparent 92%);
  pointer-events:none;
}
.engage-container {
  position:relative;
  z-index:1;
}
.engage-layout {
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px,.95fr);
  gap:40px;
  align-items:start;
  margin-bottom:28px;
}
.engage-heading {
  max-width:900px;
  margin-bottom:0;
}
.engage-heading h2 {
  max-width:860px;
}
.engage-heading p {
  max-width:760px;
}
.engage-orbit {
  position:relative;
  min-height:290px;
  border:1px solid rgba(86,125,168,.26);
  border-radius:24px;
  background:
    radial-gradient(circle at 70% 30%, rgba(62,116,188,.12), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(255,120,66,.09), transparent 22%),
    linear-gradient(145deg, rgba(11,24,40,.7), rgba(8,18,31,.35));
  overflow:hidden;
}
.engage-orbit::before,
.engage-orbit::after {
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(104,150,202,.18);
  pointer-events:none;
}
.engage-orbit::before {
  width:280px;height:280px;right:18px;top:12px;
}
.engage-orbit::after {
  width:360px;height:360px;right:-22px;top:-28px;border-color:rgba(104,150,202,.11);
}
.engage-hub {
  position:absolute;
  top:110px;
  right:132px;
  width:74px;height:74px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#dff2ff;
  background:radial-gradient(circle at 50% 50%, rgba(117,183,255,.42), rgba(20,56,104,.26) 58%, rgba(11,26,44,.18) 100%);
  border:1px solid rgba(120,177,235,.42);
  box-shadow:0 0 0 14px rgba(81,130,202,.08), 0 0 28px rgba(91,157,255,.18);
}
.engage-hub-icon { width:28px; height:28px; }
.engage-node {
  position:absolute;
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(9,24,40,.82);
  border:1px solid rgba(103,144,191,.28);
}
.engage-node .icon,
.engage-step .icon,
.engage-footer-icon { width:22px;height:22px; }
.node-a { top:172px; right:300px; color:#75f0ff; box-shadow:0 0 18px rgba(117,240,255,.14); }
.node-b { top:100px; right:314px; color:#7ec4ff; box-shadow:0 0 18px rgba(126,196,255,.14); }
.node-c { top:74px; right:72px; color:#ffc158; box-shadow:0 0 18px rgba(255,193,88,.14); }
.node-d { top:182px; right:26px; color:#ff7b53; box-shadow:0 0 18px rgba(255,123,83,.14); }
.node-a::after,.node-b::after,.node-c::after,.node-d::after {
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:120px;height:1px;background:linear-gradient(90deg, currentColor, rgba(255,255,255,0));
  opacity:.45;transform-origin:left center;
}
.node-a::after { transform:rotate(-7deg); width:110px; }
.node-b::after { transform:rotate(21deg); width:102px; }
.node-c::after { transform:rotate(145deg); width:92px; }
.node-d::after { transform:rotate(198deg); width:102px; }

.engage-timeline {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  gap:18px;
  margin:6px 0 18px;
  padding:8px 28px 0;
}
.engage-track {
  position:absolute;
  left:28px; right:28px; top:40px;
  height:2px;
  background:linear-gradient(90deg,#68e5ff 0%, #8fc4ff 34%, #f6c15e 68%, #ff6f4d 100%);
  box-shadow:0 0 14px rgba(111,159,199,.22);
}
.engage-step {
  position:relative;
  z-index:1;
  width:68px; height:68px;
  margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(12,27,44,.96), rgba(10,21,35,.96));
  border:1px solid rgba(104,150,198,.32);
  box-shadow:0 0 0 12px rgba(8,19,32,.55);
}
.engage-step.is-a { color:#72f1ff; }
.engage-step.is-b { color:#8bc4ff; }
.engage-step.is-c { color:#f8c55b; }
.engage-step.is-d { color:#ff6f4d; }

.engage-cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.engage-card {
  --card-accent:#8bc4ff;
  position:relative;
  min-height:100%;
  padding:28px;
  border:1px solid rgba(69,95,123,.62);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 100%, rgba(122,175,255,.08), transparent 23%),
    linear-gradient(145deg, rgba(13,28,44,.96), rgba(9,20,33,.98));
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.engage-card::before {
  content:"";
  position:absolute;
  top:0; left:20px; right:20px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--card-accent), transparent);
}
.engage-card::after {
  content:"";
  position:absolute;
  right:-8px; bottom:-8px;
  width:120px; height:72px;
  border-radius:24px 0 16px 0;
  background:
    radial-gradient(circle at 24% 76%, rgba(255,255,255,.08) 0 1px, transparent 1.4px) 0 0/9px 9px,
    linear-gradient(135deg, rgba(255,255,255,0), rgba(255,255,255,.05));
  opacity:.58;
  pointer-events:none;
}
.engage-card:hover {
  transform:translateY(-3px);
  border-color:rgba(104,150,198,.8);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.engage-card.is-a { --card-accent:#72f1ff; }
.engage-card.is-b { --card-accent:#8bc4ff; }
.engage-card.is-c { --card-accent:#f8c55b; }
.engage-card.is-d { --card-accent:#ff6f4d; }
.engage-card .card-icon {
  width:50px; height:50px;
  margin-bottom:22px;
  color:var(--card-accent);
  border-color:rgba(104,150,198,.3);
  background:rgba(10,24,39,.92);
}
.engage-card h3 {
  font-size:clamp(1.2rem,1.55vw,1.42rem);
  line-height:1.18;
  margin:0 0 14px;
}
.engage-card p {
  color:#b9c6d2;
  font-size:1.02rem;
  line-height:1.58;
  margin:0 0 24px;
}
.engage-card .text-link {
  color:var(--card-accent);
  font-size:1.02rem;
}
.engage-card .text-link:hover { color:#ffffff; }
.engage-footer {
  margin-top:18px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid rgba(96,137,181,.24);
  color:#9fb0c0;
}
.engage-footer-icon {
  flex:0 0 22px;
  color:#79b7eb;
}
.engage-footer p { margin:0; }
.engage-footer strong { color:#d9e5ef; font-weight:600; }
.engage-footer span { color:#9fb0c0; }

@media(max-width:1180px){
  .engage-layout { grid-template-columns:1fr; }
  .engage-orbit { min-height:240px; }
  .engage-hub { right:calc(50% - 37px); top:88px; }
  .node-a { left:12%; top:150px; right:auto; }
  .node-b { left:24%; top:64px; right:auto; }
  .node-c { right:22%; top:42px; }
  .node-d { right:10%; top:150px; }
  .engage-cards { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px){
  .engage-layout { gap:24px; }
  .engage-orbit { min-height:210px; }
  .engage-hub { width:64px; height:64px; top:80px; right:calc(50% - 32px); }
  .engage-step { width:58px; height:58px; box-shadow:0 0 0 8px rgba(8,19,32,.6); }
  .engage-timeline { gap:10px; padding:0 8px; margin-bottom:14px; }
  .engage-track { left:8px; right:8px; top:30px; }
  .engage-cards { grid-template-columns:1fr; }
  .engage-footer { align-items:flex-start; }
}

/* ==========================================================
   Version 7.4 — Full-site professional visual refinement
   ========================================================== */

/* Page-specific hero artwork */
body.page-about{--page-art:url('../images/visual-governance-network.webp')}
body.page-services{--page-art:url('../images/visual-dual-practices.webp')}
body.page-information-security{--page-art:url('../images/visual-cyber-network.webp')}
body.page-grc{--page-art:url('../images/visual-secure-operations.webp')}
body.page-cybersecurity-assurance{--page-art:url('../images/visual-cyber-network.webp')}
body.page-ai-governance{--page-art:url('../images/visual-governance-network.webp')}
body.page-ai-security{--page-art:url('../images/visual-dual-practices.webp')}
body.page-business-automation{--page-art:url('../images/visual-delivery-roadmap.webp')}
body.page-solutions{--page-art:url('../images/visual-evidence-dashboard.webp')}
body.page-methodology{--page-art:url('../images/visual-delivery-roadmap.webp')}
body.page-industries{--page-art:url('../images/visual-secure-operations.webp')}
body.page-use-cases{--page-art:url('../images/visual-evidence-dashboard.webp')}
body.page-insights{--page-art:url('../images/visual-evidence-dashboard.webp')}
body.page-careers{--page-art:url('../images/visual-governance-network.webp')}
body.page-contact{--page-art:url('../images/visual-secure-operations.webp')}
body.page-faq{--page-art:url('../images/visual-governance-network.webp')}
body.page-brand{--page-art:url('../images/visual-dual-practices.webp')}

body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero{
  min-height:520px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:linear-gradient(180deg,#07111f,#081523);
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  width:min(58vw,880px);
  background-image:var(--page-art);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  opacity:.66;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 24%,#000 52%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 24%,#000 52%);
  pointer-events:none;
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::before{
  z-index:1;
  background:
    linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.96) 36%,rgba(7,17,31,.54) 67%,rgba(7,17,31,.22) 100%),
    linear-gradient(180deg,rgba(7,17,31,.16),rgba(7,17,31,.62));
  mask-image:none;
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero-inner{
  width:100%;
  position:relative;
  z-index:2;
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero-copy{
  max-width:760px;
  padding-right:20px;
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero h1{
  text-shadow:0 3px 18px rgba(0,0,0,.55);
}
body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero p{
  color:#d0dbe5;
  text-shadow:0 2px 8px rgba(0,0,0,.48);
}

/* Subtle visual field for ordinary sections */
main>.section-refined{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
main>.section-refined>.container{
  position:relative;
  z-index:2;
}
main>.section-refined::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-70px;
  top:46px;
  width:390px;
  height:250px;
  background:
    radial-gradient(circle at 64% 42%,rgba(71,137,211,.16),transparent 24%),
    radial-gradient(circle,rgba(119,174,228,.28) 0 1px,transparent 1.6px) 0 0/20px 20px,
    linear-gradient(135deg,transparent 30%,rgba(80,135,191,.08),transparent 72%);
  opacity:.34;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,transparent 96%);
  mask-image:linear-gradient(90deg,transparent,#000 30%,transparent 96%);
  pointer-events:none;
}
main>.section-refined.section-alt::after{
  background:
    radial-gradient(circle at 64% 42%,rgba(244,125,61,.11),transparent 24%),
    radial-gradient(circle,rgba(112,160,208,.22) 0 1px,transparent 1.6px) 0 0/20px 20px,
    linear-gradient(135deg,transparent 30%,rgba(226,122,58,.06),transparent 72%);
}
.section-heading{
  position:relative;
}
.section-heading::before{
  content:"";
  position:absolute;
  left:-26px;
  top:7px;
  width:3px;
  height:68px;
  border-radius:999px;
  background:linear-gradient(180deg,#0b63f6,#73c7ff 56%,#ff7a24);
  opacity:.72;
  box-shadow:0 0 16px rgba(67,145,255,.2);
}

/* Refined card system */
.cards>.card{
  --card-accent:#76b9f1;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-color:rgba(65,92,121,.72);
  background:
    radial-gradient(circle at 92% 108%,color-mix(in srgb,var(--card-accent) 11%,transparent),transparent 28%),
    linear-gradient(145deg,rgba(15,31,49,.98),rgba(8,19,32,.98));
  box-shadow:0 14px 34px rgba(0,0,0,.13);
}
.cards>.card:nth-child(4n+1){--card-accent:#6fe8f2}
.cards>.card:nth-child(4n+2){--card-accent:#78b8ff}
.cards>.card:nth-child(4n+3){--card-accent:#f2bf58}
.cards>.card:nth-child(4n+4){--card-accent:#ff7652}
.cards>.card::before{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  right:18px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--card-accent),transparent);
  opacity:.82;
}
.cards>.card::after{
  content:"";
  position:absolute;
  right:-15px;
  bottom:-20px;
  width:145px;
  height:100px;
  background:radial-gradient(circle,rgba(255,255,255,.1) 0 1px,transparent 1.5px) 0 0/11px 11px;
  opacity:.25;
  -webkit-mask-image:linear-gradient(135deg,transparent,#000);
  mask-image:linear-gradient(135deg,transparent,#000);
  pointer-events:none;
}
.cards>.card:hover{
  border-color:color-mix(in srgb,var(--card-accent) 54%,#334d67);
  box-shadow:0 18px 42px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--card-accent) 14%,transparent);
}
.cards>.card .card-icon{
  color:var(--card-accent);
  border-color:color-mix(in srgb,var(--card-accent) 35%,#2c465e);
  background:linear-gradient(145deg,rgba(15,36,58,.96),rgba(8,23,38,.88));
  box-shadow:0 0 22px color-mix(in srgb,var(--card-accent) 10%,transparent);
}
.cards>.card .text-link{
  margin-top:auto;
  color:var(--card-accent);
  position:relative;
  z-index:2;
}
.cards>.card .text-link:hover{color:#fff}

/* Process and lifecycle sections */
.process-grid{
  gap:0;
  border-color:rgba(58,85,112,.78);
  background:linear-gradient(90deg,#203d59,#274d6e,#b48748,#b85e43);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.process-step{
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,#0e1d2d,#091522);
}
.process-step::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,#71b9f2,transparent);
  opacity:.7;
}
.process-step:nth-child(3)::before{background:linear-gradient(90deg,transparent,#e7b24f,transparent)}
.process-step:nth-child(4)::before{background:linear-gradient(90deg,transparent,#f07350,transparent)}
.process-step::after{
  content:"";
  position:absolute;
  right:-28px;bottom:-28px;width:130px;height:130px;border-radius:50%;
  border:1px solid rgba(111,159,199,.11);
  box-shadow:0 0 0 20px rgba(111,159,199,.035),0 0 0 42px rgba(111,159,199,.025);
}
.step-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:32px;
  padding:0 10px;
  margin-bottom:34px;
  border:1px solid rgba(103,150,194,.34);
  border-radius:999px;
  color:#bcd7ef;
  background:rgba(12,31,49,.78);
}

/* Split panels, deliverables and outcome bands */
.split-panel{
  border-color:rgba(64,92,120,.75);
  background:linear-gradient(90deg,#31536f,#5f5961);
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}
.split-panel>div{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 100%,rgba(91,151,208,.10),transparent 30%),
    linear-gradient(145deg,#0d1c2c,#091522);
}
.split-panel>div:nth-child(2){
  background:
    radial-gradient(circle at 100% 100%,rgba(240,128,66,.08),transparent 30%),
    linear-gradient(145deg,#111b29,#0a1522);
}
.split-panel>div::after{
  content:"";position:absolute;right:-18px;bottom:-18px;width:120px;height:90px;
  background:radial-gradient(circle,rgba(255,255,255,.08) 0 1px,transparent 1.4px) 0 0/10px 10px;
  opacity:.26;
}
.deliverable-list{
  border-color:rgba(63,91,119,.75);
  background:linear-gradient(90deg,#31536f,#31536f,#a87945,#a87945);
  box-shadow:0 18px 42px rgba(0,0,0,.13);
}
.deliverable-list>div{
  position:relative;
  padding-left:74px;
  background:linear-gradient(145deg,#0d1c2b,#091522);
}
.deliverable-list>div::before{
  content:"✓";
  position:absolute;
  left:28px;
  top:29px;
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  color:#8bc4ff;
  border:1px solid rgba(106,160,212,.32);
  background:#0d2237;
  font-weight:800;
}
.deliverable-list>div:nth-child(4n+3)::before,
.deliverable-list>div:nth-child(4n+4)::before{color:#f3bd59;border-color:rgba(229,170,72,.3);background:#241d14}
.outcome-band{
  border-color:rgba(64,91,120,.75);
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
.outcome-band>div{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#0e1d2d,#091522);
}
.outcome-band>div::before{
  content:"";
  position:absolute;left:24px;right:24px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#76b9f1,transparent);
}
.outcome-band>div:nth-child(3)::before{background:linear-gradient(90deg,transparent,#e9b34f,transparent)}
.outcome-band>div:nth-child(4)::before{background:linear-gradient(90deg,transparent,#f17350,transparent)}

/* Scenario and industry treatments */
.scenario{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 100%,rgba(91,151,208,.09),transparent 28%),
    linear-gradient(145deg,#0d1c2c,#091522);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}
.scenario::before{
  content:"";position:absolute;top:0;left:20px;right:20px;height:2px;
  background:linear-gradient(90deg,transparent,#72b8ef,transparent);
}
.scenario-no{
  display:inline-flex;
  min-width:44px;height:34px;
  align-items:center;justify-content:center;
  border-radius:999px;
  border:1px solid rgba(105,150,193,.34);
  background:#0c2034;
  color:#afd0ed;
}
.industry-row{
  position:relative;
  overflow:hidden;
  border-color:rgba(64,92,119,.72);
  background:
    radial-gradient(circle at 100% 50%,rgba(83,143,203,.10),transparent 30%),
    linear-gradient(145deg,#0d1c2b,#091522);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.industry-row::before{
  content:"";
  position:absolute;
  top:24px;bottom:24px;left:0;width:3px;
  background:linear-gradient(180deg,#62b9ff,#ff8b43);
}

/* Framework chips */
.framework-strip > span{
  position:relative;
  overflow:hidden;
  border-color:rgba(70,103,135,.72);
  background:linear-gradient(145deg,#0d1d2d,#091522);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
  transition:.18s;
}
.framework-strip > span:hover{
  transform:translateY(-1px);
  border-color:#51799b;
  color:#fff;
}

/* FAQ and forms */
.faq-list{
  display:grid;
  gap:12px;
}
.faq-list details{
  border:1px solid rgba(59,87,115,.72);
  border-radius:14px;
  padding:0 22px;
  background:linear-gradient(145deg,#0d1c2c,#091522);
  box-shadow:0 12px 26px rgba(0,0,0,.1);
}
.faq-list details:last-child{border-bottom:1px solid rgba(59,87,115,.72)}
.faq-list details[open]{border-color:#456987;box-shadow:0 16px 32px rgba(0,0,0,.16)}
.faq-list summary{padding:21px 42px 21px 0}
.faq-list p{padding:0 36px 22px 0}
.contact-form{
  position:relative;
  overflow:hidden;
  border-color:rgba(72,105,137,.75);
  background:
    radial-gradient(circle at 100% 0%,rgba(77,144,211,.10),transparent 25%),
    linear-gradient(145deg,#0e1e2e,#091522);
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.contact-form::before{
  content:"";
  position:absolute;top:0;left:32px;right:32px;height:2px;
  background:linear-gradient(90deg,transparent,#5caeff,#ff8845,transparent);
}
.contact-items>a,.contact-items>div{
  transition:.16s;
}
.contact-items>a:hover{
  padding-left:8px;
  color:#fff;
}

/* CTA panels */
.cta-panel{
  position:relative;
  overflow:hidden;
  border-color:rgba(73,111,147,.78);
  background:
    radial-gradient(circle at 90% 50%,rgba(55,125,212,.20),transparent 24%),
    radial-gradient(circle at 98% 70%,rgba(239,121,59,.10),transparent 18%),
    linear-gradient(125deg,#10243a,#091522 74%);
}
.cta-panel::before,
.cta-panel::after{
  content:"";
  position:absolute;
  right:52px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  pointer-events:none;
}
.cta-panel::before{width:210px;height:210px;border:1px solid rgba(96,151,207,.13);box-shadow:0 0 0 30px rgba(96,151,207,.035),0 0 0 62px rgba(96,151,207,.022)}
.cta-panel::after{width:8px;height:8px;background:#78c0ff;box-shadow:0 0 18px #78c0ff}
.cta-panel>*{position:relative;z-index:2}

@media(max-width:1080px){
  body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::after{width:72vw;opacity:.42}
  body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::before{background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.94) 52%,rgba(7,17,31,.48) 100%)}
  .section-heading::before{left:-16px}
}
@media(max-width:760px){
  body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero{min-height:auto}
  body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::after{width:100%;opacity:.22;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
  body:not(.page-home):not(.page-privacy):not(.page-not-found) .page-hero::before{background:linear-gradient(180deg,rgba(7,17,31,.72),#07111f 88%)}
  .section-heading::before{display:none}
  main>.section-refined::after{width:250px;height:180px;opacity:.2}
  .deliverable-list>div{padding-left:64px}
  .deliverable-list>div::before{left:22px}
  .cta-panel::before,.cta-panel::after{display:none}
}



/* ==========================================================
   Version 7.4.1 — heading cleanup, banner refinements, footer update
   ========================================================== */

/* Remove decorative vertical line from section headings */
.section-heading::before{
  display:none !important;
  content:none !important;
}

/* Banner system for homepage feature sections */
.engage-banner,
.section-banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(79,111,144,.42);
  border-radius:28px;
  background:#091422;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  margin-bottom:24px;
}
.engage-banner img,
.section-banner img{
  width:100%;
  display:block;
  aspect-ratio:1440/610;
  object-fit:cover;
  object-position:center top;
}
.engage-banner::after,
.section-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(6,16,28,.94) 0%, rgba(6,16,28,.88) 34%, rgba(6,16,28,.54) 62%, rgba(6,16,28,.20) 100%);
  pointer-events:none;
}
.engage-banner-overlay,
.section-banner-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:54px 56px 36px;
  max-width:min(60%, 760px);
}
.engage-banner-overlay h2,
.section-banner-overlay h2{
  margin:0 0 18px;
  font-size:clamp(2.6rem,4.4vw,4rem);
  line-height:1.04;
  letter-spacing:-.045em;
  color:#f0f5fa;
}
.engage-banner-overlay p,
.section-banner-overlay p{
  margin:0;
  color:#d0dbe5;
  font-size:clamp(1.02rem,1.34vw,1.16rem);
  line-height:1.52;
  max-width:860px;
}
.engage-banner-overlay .eyebrow,
.section-banner-overlay .eyebrow{
  margin-bottom:20px;
}
.engage-cards{margin-top:0;}
.engage-card{display:flex;flex-direction:column;min-height:100%;}
.engage-card .text-link{margin-top:auto;align-self:flex-start;}

/* Outcomes and industries banners */
.section-outcomes .outcome-band{
  margin-top:0;
}
.section-banner.outcomes-banner img{aspect-ratio:1914/822;object-position:center center;}
.section-banner.industries-banner img{aspect-ratio:1672/941;object-position:center center;}
.section-banner.outcomes-banner .section-banner-overlay,
.section-banner.industries-banner .section-banner-overlay{
  padding-bottom:44px;
}

/* Footer logo with taglines */
.footer-brand img{
  width:min(100%, 560px);
  margin-bottom:0;
}
.footer-brand p{display:none !important;}

@media (max-width: 980px){
  .engage-banner img,
  .section-banner img,
  .section-banner.outcomes-banner img,
  .section-banner.industries-banner img{
    aspect-ratio:4/3;
    object-position:68% center;
  }
  .engage-banner-overlay,
  .section-banner-overlay{
    max-width:100%;
    padding:34px 28px 28px;
  }
  .engage-banner-overlay h2,
  .section-banner-overlay h2{
    font-size:clamp(2rem,6vw,3rem);
  }
}
@media (max-width: 760px){
  .engage-banner,
  .section-banner{
    border-radius:22px;
    margin-bottom:20px;
  }
  .engage-banner img,
  .section-banner img,
  .section-banner.outcomes-banner img,
  .section-banner.industries-banner img{
    aspect-ratio:1/1.02;
    object-position:72% center;
  }
  .engage-banner::after,
  .section-banner::after{
    background:linear-gradient(180deg, rgba(6,16,28,.9) 0%, rgba(6,16,28,.84) 44%, rgba(6,16,28,.5) 100%);
  }
  .engage-banner-overlay,
  .section-banner-overlay{
    justify-content:flex-start;
    padding:26px 22px 22px;
  }
  .engage-banner-overlay p,
  .section-banner-overlay p{
    font-size:1rem;
  }
}


/* =============================================
   v7.4.2 homepage banner refinements
   ============================================= */

/* Homepage When to Engage banner update */
.engage-banner img{
  aspect-ratio: 2048 / 682;
  object-position: center center;
}
.engage-banner-overlay{
  max-width:min(54%, 720px);
}

/* Tighter spacing for homepage industries section */
.home-industries-section{
  padding-top:84px;
  padding-bottom:78px;
}
.home-industries-section .section-banner{
  margin-bottom:14px;
}
.home-industries-section .cards{
  margin-top:0;
}

/* Homepage CTA banner */
.section-cta{
  padding-top:24px;
}
.cta-banner-panel{
  position:relative;
  overflow:hidden;
  padding:0;
  min-height:420px;
  border:1px solid rgba(70,102,134,.72);
  border-radius:28px;
  background:#09131f;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.cta-banner-panel > img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center center;
  aspect-ratio:1756 / 895;
}
.cta-banner-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(5,15,28,.90) 0%, rgba(5,15,28,.82) 34%, rgba(5,15,28,.48) 58%, rgba(5,15,28,.12) 100%);
  pointer-events:none;
}
.cta-banner-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  padding:48px 48px 44px;
}
.cta-banner-copy{
  max-width:min(48%, 620px);
}
.cta-banner-copy h2{
  font-size:clamp(2.2rem,4vw,3.6rem);
  line-height:1.07;
  letter-spacing:-.04em;
  margin:0 0 14px;
  color:#f3f7fb;
}
.cta-banner-copy p{
  margin:0;
  color:#cfd8e2;
  font-size:1.08rem;
  max-width:560px;
}
.cta-banner-button{
  margin-top:24px;
  align-self:flex-start;
}

@media (max-width: 980px){
  .engage-banner img{
    aspect-ratio: 4 / 3;
    object-position:68% center;
  }
  .engage-banner-overlay{max-width:100%;}
  .home-industries-section{padding-top:74px;padding-bottom:70px;}
  .cta-banner-panel,
  .cta-banner-panel > img{min-height:460px;}
  .cta-banner-overlay{padding:34px 30px 30px;}
  .cta-banner-copy{max-width:min(70%, 640px);}
}
@media (max-width: 760px){
  .home-industries-section .section-banner{margin-bottom:10px;}
  .cta-banner-panel{min-height:540px;border-radius:22px;}
  .cta-banner-panel > img{min-height:540px;object-position:70% center;}
  .cta-banner-panel::after{background:linear-gradient(180deg, rgba(5,15,28,.90) 0%, rgba(5,15,28,.78) 45%, rgba(5,15,28,.36) 100%);}
  .cta-banner-overlay{padding:28px 22px 24px;}
  .cta-banner-copy{max-width:100%;}
  .cta-banner-copy h2{font-size:clamp(2rem,9vw,3rem);}
  .cta-banner-copy p{font-size:1rem;}
  .cta-banner-button{width:auto;}
}

/* =============================================
   v7.4.3 — remove unused lower area in homepage Industries banner
   ============================================= */
.home-industries-section .industries-banner{
  margin-bottom:12px;
}
.home-industries-section .industries-banner img{
  width:100%;
  height:auto;
  aspect-ratio:1440 / 610;
  object-fit:cover;
  object-position:center center;
}
.home-industries-section .industries-banner .section-banner-overlay{
  padding-top:46px;
  padding-bottom:32px;
}

@media (max-width:980px){
  .home-industries-section .industries-banner img{
    aspect-ratio:16 / 9;
    object-position:66% center;
  }
}
@media (max-width:760px){
  .home-industries-section .industries-banner{
    margin-bottom:10px;
  }
  .home-industries-section .industries-banner img{
    aspect-ratio:1 / 1;
    object-position:70% center;
  }
}


/* ==========================================================
   Version 8.3 — About DTXI banner hero
   ========================================================== */
body.page-about .page-hero.about-banner-hero{
  position:relative;
  min-height:580px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  padding:86px 0 78px;
  background:#06101d;
  border-bottom:1px solid rgba(81,113,146,.28);
}
body.page-about .page-hero.about-banner-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  background-image:url('../images/about-dtxi-banner.png?v=8.7.0');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  opacity:1;
  -webkit-mask-image:none;
  mask-image:none;
  pointer-events:none;
}
body.page-about .page-hero.about-banner-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,
    rgba(4,12,23,.96) 0%,
    rgba(4,12,23,.90) 29%,
    rgba(4,12,23,.68) 48%,
    rgba(4,12,23,.24) 69%,
    rgba(4,12,23,.05) 100%);
  background-size:auto;
  mask-image:none;
  pointer-events:none;
}
body.page-about .about-banner-hero .page-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
}
body.page-about .about-banner-hero .page-hero-copy{
  max-width:720px;
  padding-right:20px;
}
body.page-about .about-banner-hero .eyebrow{
  color:#9ec7e8;
}
body.page-about .about-banner-hero h1{
  max-width:700px;
  margin:0 0 22px;
  font-size:clamp(3rem,5.2vw,5rem);
  line-height:1.04;
  letter-spacing:-.048em;
  color:#f4f7fb;
  text-shadow:0 4px 24px rgba(0,0,0,.6);
}
body.page-about .about-banner-hero p{
  max-width:650px;
  margin:0 0 28px;
  color:#cfdae4;
  font-size:1.1rem;
  line-height:1.65;
  text-shadow:0 2px 12px rgba(0,0,0,.56);
}
body.page-about .about-banner-hero .button-row{
  position:relative;
  z-index:3;
}
@media(max-width:980px){
  body.page-about .page-hero.about-banner-hero{
    min-height:540px;
  }
  body.page-about .page-hero.about-banner-hero::after{
    background-position:62% center;
  }
  body.page-about .page-hero.about-banner-hero::before{
    background:linear-gradient(90deg,
      rgba(4,12,23,.96) 0%,
      rgba(4,12,23,.88) 44%,
      rgba(4,12,23,.40) 76%,
      rgba(4,12,23,.12) 100%);
  }
  body.page-about .about-banner-hero .page-hero-copy{
    max-width:650px;
  }
}
@media(max-width:760px){
  body.page-about .page-hero.about-banner-hero{
    min-height:620px;
    padding:82px 0 64px;
    align-items:flex-start;
  }
  body.page-about .page-hero.about-banner-hero::after{
    background-size:auto 100%;
    background-position:70% center;
  }
  body.page-about .page-hero.about-banner-hero::before{
    background:linear-gradient(180deg,
      rgba(4,12,23,.96) 0%,
      rgba(4,12,23,.88) 49%,
      rgba(4,12,23,.48) 76%,
      rgba(4,12,23,.20) 100%);
  }
  body.page-about .about-banner-hero h1{
    font-size:clamp(2.45rem,11vw,3.7rem);
    max-width:100%;
  }
  body.page-about .about-banner-hero p{
    font-size:1rem;
    max-width:100%;
  }
}


/* ==========================================================
   Version 8.3 — contained service-page hero system
   Matches the approved About DTXI and Methodology hero pattern.
   ========================================================== */
body .page-hero.service-banner-hero{
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:28px 0 0 !important;
  display:block !important;
  background:#07111f !important;
  border-bottom:0 !important;
  overflow:visible !important;
}
body .page-hero.service-banner-hero::before,
body .page-hero.service-banner-hero::after{
  content:none !important;
  display:none !important;
}
body .service-banner-hero .page-hero-inner{
  width:min(var(--container),calc(100% - 44px)) !important;
  min-height:670px !important;
  margin-inline:auto !important;
  padding:3rem !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
  border:1px solid rgba(70,102,134,.72) !important;
  border-radius:28px !important;
  background-image:
    linear-gradient(90deg,rgba(4,12,22,.96) 0%,rgba(4,12,22,.86) 34%,rgba(4,12,22,.50) 61%,rgba(4,12,22,.12) 100%),
    var(--service-hero-image) !important;
  background-size:cover !important;
  background-position:var(--service-hero-position,center right) !important;
  background-repeat:no-repeat !important;
  background-color:#07111f !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
}
body .service-banner-hero .page-hero-copy{
  max-width:760px !important;
  padding:0 !important;
}
body .service-banner-hero h1{
  max-width:740px !important;
  font-size:clamp(3rem,5.2vw,5rem) !important;
  line-height:1.04 !important;
  color:#f4f7fb !important;
  text-shadow:0 4px 24px rgba(0,0,0,.58) !important;
}
body .service-banner-hero p{
  max-width:680px !important;
  color:#cfdae4 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.52) !important;
}
body .service-banner-hero .button-row{
  position:relative !important;
  z-index:3 !important;
}
@media(max-width:980px){
  body .service-banner-hero .page-hero-inner{
    min-height:620px !important;
    background-position:64% center !important;
  }
}
@media(max-width:760px){
  body .page-hero.service-banner-hero{
    padding-top:18px !important;
  }
  body .service-banner-hero .page-hero-inner{
    width:min(100% - 30px,var(--container)) !important;
    min-height:620px !important;
    padding:3rem 1.5rem 2rem !important;
    align-items:flex-start !important;
    border-radius:22px !important;
    background-position:70% center !important;
  }
  body .service-banner-hero h1{
    font-size:clamp(2.45rem,11vw,3.7rem) !important;
  }
}


/* ==========================================================
   Version 8.3 — dedicated hero asset system
   Every non-home page hero references a page-specific JPG in
   assets/images/heroes/ using dark-banner-hero-<pagename>.jpg.
   ========================================================== */
body .page-hero.service-banner-hero .page-hero-inner{
  background-image:
    linear-gradient(90deg,rgba(4,12,22,.96) 0%,rgba(4,12,22,.86) 34%,rgba(4,12,22,.50) 61%,rgba(4,12,22,.12) 100%),
    var(--service-hero-image) !important;
}


/* ==========================================================
   Version 8.3 — reliable explicit hero image rendering
   Each non-home hero contains its own page-specific <img>.
   ========================================================== */
body .page-hero.service-banner-hero .page-hero-inner{
  background:#07111f !important;
  isolation:isolate !important;
}
body .service-banner-hero .page-hero-image{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:var(--service-hero-position,center right) !important;
  opacity:1 !important;
  pointer-events:none !important;
}
body .service-banner-hero .page-hero-shade{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  background:linear-gradient(90deg,
    rgba(4,12,22,.96) 0%,
    rgba(4,12,22,.86) 34%,
    rgba(4,12,22,.50) 61%,
    rgba(4,12,22,.12) 100%) !important;
  pointer-events:none !important;
}
body .service-banner-hero .page-hero-copy{
  position:relative !important;
  z-index:2 !important;
}
@media(max-width:980px){
  body .service-banner-hero .page-hero-image{
    object-position:64% center !important;
  }
  body .service-banner-hero .page-hero-shade{
    background:linear-gradient(90deg,
      rgba(4,12,22,.96) 0%,
      rgba(4,12,22,.88) 44%,
      rgba(4,12,22,.42) 76%,
      rgba(4,12,22,.12) 100%) !important;
  }
}
@media(max-width:760px){
  body .service-banner-hero .page-hero-image{
    object-position:70% center !important;
  }
  body .service-banner-hero .page-hero-shade{
    background:linear-gradient(180deg,
      rgba(4,12,22,.96) 0%,
      rgba(4,12,22,.88) 49%,
      rgba(4,12,22,.48) 76%,
      rgba(4,12,22,.20) 100%) !important;
  }
}


/* ==========================================================
   Version 8.6.0 — CTA consistency, framework links, use-case headings
   ========================================================== */
.cta-banner-bottom-left .cta-banner-overlay{
  justify-content:space-between;
  align-items:flex-start;
}
.cta-banner-bottom-left .cta-banner-button{
  align-self:flex-start;
  margin-top:26px;
}
.cta-banner-bottom-left > img{
  object-position:center center;
}

/* Enhanced use-case number and title treatment */
.scenario-heading{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:20px;
  margin:-4px 0 24px;
  padding:0 0 22px;
  border-bottom:1px solid rgba(82,119,154,.42);
}
.scenario-heading .scenario-no{
  min-width:92px;
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:10px 12px;
  border:1px solid rgba(74,159,232,.62);
  border-radius:16px;
  color:#eaf6ff;
  background:
    radial-gradient(circle at 50% 0%,rgba(42,142,231,.30),transparent 64%),
    linear-gradient(145deg,#10263d,#091827);
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 0 22px rgba(55,151,232,.08);
  letter-spacing:0;
}
.scenario-heading .scenario-no small{
  color:#8eb9dc;
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.scenario-heading .scenario-no strong{
  color:#fff;
  font-size:1.72rem;
  line-height:1;
  letter-spacing:-.03em;
}
.scenario-heading h2{
  margin:0;
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1.18;
  letter-spacing:-.025em;
  color:#f2f7fb;
}

/* Official framework links */
.framework-strip > .framework-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 14px 10px 16px;
  border:1px solid rgba(70,116,155,.74);
  border-radius:999px;
  color:#d6e6f3;
  background:
    radial-gradient(circle at 20% 0%,rgba(67,152,225,.16),transparent 60%),
    linear-gradient(145deg,#0e2134,#091724);
  box-shadow:0 8px 18px rgba(0,0,0,.10);
  font-size:.9rem;
  font-weight:650;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.framework-strip > .framework-link:hover,
.framework-strip > .framework-link:focus-visible{
  transform:translateY(-2px);
  border-color:#79b9eb;
  color:#fff;
  background:linear-gradient(145deg,#14304a,#0b1b2b);
  outline:none;
  box-shadow:0 12px 26px rgba(0,0,0,.18),0 0 0 3px rgba(79,159,223,.10);
}
.framework-strip .framework-link-label,
.framework-strip .framework-link-icon{
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.framework-strip .framework-link-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
  border-radius:50%;
  color:#9bd0f5;
  background:rgba(53,135,202,.14);
  font-size:.9rem;
  line-height:1;
}

@media(max-width:760px){
  .scenario-heading{
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
  }
  .scenario-heading .scenario-no{
    min-width:72px;
    min-height:68px;
    border-radius:14px;
  }
  .scenario-heading .scenario-no strong{font-size:1.45rem;}
  .scenario-heading h2{font-size:1.28rem;}
  .framework-strip > .framework-link{
    width:100%;
    justify-content:space-between;
    border-radius:12px;
  }
}

/* ==========================================================
   Homepage hero video brightness adjustment
   Added after all earlier hero rules so these values take priority.
   ========================================================== */
.home-hero .hero-visual video {
  filter: saturate(.95) brightness(.92) contrast(1.06) !important;
}

/* Reduce the full hero shading overlay while preserving text readability. */
.home-hero::before {
  background:
    linear-gradient(
      90deg,
      rgba(4, 12, 22, .48) 0%,
      rgba(4, 12, 22, .16) 52%,
      rgba(4, 12, 22, .10) 100%
    ),
    linear-gradient(
      180deg,
      rgba(4, 12, 22, .02) 0%,
      rgba(4, 12, 22, .08) 64%,
      rgba(4, 12, 22, .38) 100%
    ) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Reduce the secondary overlay directly above the video. */
.home-hero .hero-visual::after {
  background:
    radial-gradient(
      circle at center,
      rgba(7, 17, 31, .05) 0%,
      rgba(7, 17, 31, .18) 58%,
      rgba(7, 17, 31, .42) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7, 17, 31, .04),
      rgba(7, 17, 31, .28)
    ) !important;
}

/* ==========================================================
   Version 8.6.0 — homepage hero placement and CTA correction
   Baseline: approved Version 8.4 package
   ========================================================== */

/* Move the complete homepage hero message closer to the
   Secure / Modernize / Accelerate panel without crowding it. */
.home-hero .hero-copy {
  transform: translateY(78px) !important;
}

/* Approved homepage hero heading colour hierarchy. */
.home-hero .hero-copy h1 span:nth-child(1) {
  color: #f4f8fb !important;
}
.home-hero .hero-copy h1 span:nth-child(2) {
  color: #69b7ff !important;
}
.home-hero .hero-copy h1 span:nth-child(3) {
  color: #f4f8fb !important;
  background: linear-gradient(90deg, #69b7ff 0%, #f4f8fb 52%, #ff8b4a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Give the Business Automation CTA enough vertical room for
   its longer heading, supporting copy, and bottom-left button. */
body.page-business-automation .cta-banner-panel {
  min-height: 580px !important;
}
body.page-business-automation .cta-banner-panel > img {
  min-height: 580px !important;
  height: 100% !important;
}
body.page-business-automation .cta-banner-panel .cta-banner-overlay {
  padding: 48px 48px 48px !important;
  gap: 34px;
}
body.page-business-automation .cta-banner-panel .cta-banner-copy {
  max-width: min(58%, 720px) !important;
}
body.page-business-automation .cta-banner-panel .cta-banner-button {
  margin-top: auto !important;
  flex: 0 0 auto;
}

@media (max-width: 1080px) {
  .home-hero .hero-copy {
    transform: translateY(36px) !important;
  }
  body.page-business-automation .cta-banner-panel,
  body.page-business-automation .cta-banner-panel > img {
    min-height: 640px !important;
  }
  body.page-business-automation .cta-banner-panel .cta-banner-copy {
    max-width: min(76%, 700px) !important;
  }
}

@media (max-width: 760px) {
  .home-hero .hero-copy {
    transform: translateY(52px) !important;
  }
  body.page-business-automation .cta-banner-panel,
  body.page-business-automation .cta-banner-panel > img {
    min-height: 720px !important;
  }
  body.page-business-automation .cta-banner-panel .cta-banner-overlay {
    padding: 30px 22px 30px !important;
    gap: 28px;
  }
  body.page-business-automation .cta-banner-panel .cta-banner-copy {
    max-width: 100% !important;
  }
}

/* ==========================================================
   Version 8.6.0 — wider Secure / Modernize / Accelerate panel
   ========================================================== */

/* On desktop, extend the three-box panel beyond the standard
   content container so it aligns more closely with the full
   horizontal span of the homepage hero video. */
@media (min-width: 1081px) {
  .home-hero .hero-promise {
    width: calc(100vw - 44px) !important;
    max-width: none !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
  }
}


/* ==========================================================
   Version 8.6.0 — contact enquiry submission feedback
   ========================================================== */
.form-status {
  padding: 15px 17px;
  border: 1px solid rgba(102, 145, 184, .48);
  border-radius: 10px;
  background: rgba(8, 24, 39, .92);
  color: #dce8f2;
  font-weight: 650;
  line-height: 1.5;
}
.form-status[hidden] { display: none !important; }
.form-status.is-processing {
  border-color: rgba(105, 183, 255, .55);
  color: #cfe8ff;
}
.form-status.is-success {
  border-color: rgba(76, 196, 141, .62);
  background: rgba(12, 61, 47, .72);
  color: #d7ffea;
}
.form-status.is-error {
  border-color: rgba(255, 122, 104, .62);
  background: rgba(73, 27, 29, .72);
  color: #ffe1dc;
}
.contact-form[aria-busy="true"] button[type="submit"] {
  cursor: wait;
  opacity: .78;
}


/* ==========================================================
   Version 8.6.0 — structured service navigation and new pages
   ========================================================== */
.nav-dropdown-mega{position:static;}
.nav-dropdown-mega .mega-menu-panel{
  left:50%;
  top:68px;
  width:min(1160px,calc(100vw - 44px));
  padding:22px;
  transform:translate(-50%,-8px);
}
.nav-dropdown-mega:hover .mega-menu-panel,
.nav-dropdown-mega:focus-within .mega-menu-panel{transform:translate(-50%,0);}
.mega-menu-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:14px;}
.mega-menu-column{padding:10px;border-radius:12px;background:linear-gradient(145deg,rgba(18,38,58,.72),rgba(8,20,33,.76));border:1px solid rgba(73,105,135,.36);}
.mega-menu-heading{display:block;padding:7px 9px 11px;color:#87c6f4;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.mega-menu-link{display:grid!important;gap:2px;padding:9px!important;border-radius:9px!important;}
.mega-menu-link strong{font-size:.9rem;color:#e7eef5;line-height:1.25;}
.mega-menu-link small{font-size:.74rem;color:#91a5b7;line-height:1.35;font-weight:500;}
.mega-menu-link:hover strong,.mega-menu-link:focus strong{color:#fff;}
.mobile-nav-group{display:block;padding:16px 0 4px;color:#79b9eb;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.mobile-nav details .mobile-nav-group + a{padding-top:6px;}
.service-pathway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.service-pathway-group{padding:24px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0f1d2c,#0b1724);}
.service-pathway-group a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;color:#d4e0e9;border-top:1px solid rgba(65,92,119,.46);font-weight:650;}
.service-pathway-group a:first-of-type{margin-top:8px;}
.service-pathway-group a:hover{color:#8bc9f7;}
.package-grid{align-items:stretch;}
.package-card{position:relative;overflow:hidden;}
.package-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#68b9f2,#f0ad4c);}
.package-badge{display:inline-flex;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(92,154,207,.38);border-radius:999px;background:rgba(27,74,111,.24);color:#a9d4f3;font-size:.75rem;font-weight:750;}
.section-action{margin-top:26px;}
.related-service-card{display:flex;flex-direction:column;}
.related-service-card .text-link{margin-top:auto;}
.industry-page-link{margin-top:18px;}
.industry-link-card{display:flex;flex-direction:column;}
.industry-link-card .text-link{margin-top:auto;}
.page-service-detail .page-hero-copy,.page-industry-detail .page-hero-copy{max-width:830px;}
.page-service-detail .feature-list,.page-industry-detail .feature-list{max-width:1000px;}
@media(max-width:1100px){
  .mega-menu-grid{grid-template-columns:1fr 1fr;}
  .mega-menu-column:last-child{grid-column:1/-1;}
  .service-pathway-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:980px){.nav-dropdown-mega{position:relative;}.nav-dropdown-mega .mega-menu-panel{display:none;}}
@media(max-width:760px){.service-pathway-grid{grid-template-columns:1fr;}.mega-menu-grid{grid-template-columns:1fr;}}


/* ==========================================================
   Version 8.7.0 — insights, service finder, regional pathways,
   framework library, breadcrumbs and structured conversion paths
   ========================================================== */
.breadcrumb-bar{background:#08131f;border-top:1px solid rgba(68,96,123,.26);border-bottom:1px solid rgba(68,96,123,.34)}
.breadcrumb-inner{display:flex;align-items:center;gap:10px;min-height:44px;color:#7890a5;font-size:.78rem}
.breadcrumb-inner a{color:#a9bdce}.breadcrumb-inner a:hover{color:#84c7f7}.breadcrumb-inner [aria-current="page"]{color:#d5e0e9;font-weight:650}.breadcrumb-inner>span[aria-hidden]{color:#49657c}
.insight-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px;color:#8fa6ba;font-size:.76rem;font-weight:700;letter-spacing:.03em}.insight-meta span:not(:last-child),.insight-meta time{position:relative}.insight-meta span:not(:last-child)::after,.insight-meta time::after{content:"";position:absolute;right:-8px;top:50%;width:3px;height:3px;border-radius:50%;background:#52728b}
.topic-chip{display:inline-flex;width:max-content;padding:6px 9px;border:1px solid rgba(91,154,207,.38);border-radius:999px;background:rgba(26,73,110,.25);color:#aad5f4;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.insight-card{display:flex;flex-direction:column}.insight-card h3 a{color:inherit}.insight-card h3 a:hover{color:#82c6f6}.insight-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:20px}.insight-card-footer .text-link{margin:0}.featured-insight-panel{display:grid;grid-template-columns:1.45fr .8fr;gap:24px;padding:34px;border:1px solid rgba(77,114,146,.46);border-radius:18px;background:linear-gradient(135deg,rgba(14,34,52,.96),rgba(7,20,32,.98));box-shadow:0 18px 50px rgba(0,0,0,.18)}.featured-insight-panel>aside{padding:25px;border-radius:14px;background:rgba(4,14,24,.56);border:1px solid rgba(77,114,146,.34)}
.insight-controls{display:grid;grid-template-columns:1.5fr 1fr auto;gap:14px;align-items:end;margin:0 0 26px;padding:20px;border:1px solid rgba(72,105,134,.38);border-radius:14px;background:rgba(7,20,32,.62)}.insight-controls label,.newsletter-form label,.service-finder-form label{display:grid;gap:8px;color:#b8c9d7;font-size:.8rem;font-weight:700}.insight-controls input,.insight-controls select,.newsletter-form input,.service-finder-form select{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(86,120,149,.5);border-radius:9px;background:#091725;color:#e2ebf2}.insight-results{display:grid;min-width:110px;min-height:48px;align-content:center;padding:0 14px;border-radius:9px;background:rgba(44,108,155,.18);color:#9fcff1}.insight-results strong{font-size:1.1rem}.insight-results span{font-size:.7rem}.insight-empty{padding:24px;text-align:center;border:1px dashed rgba(99,130,155,.48);border-radius:12px;color:#9cb0c0}.newsletter-panel{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;align-items:center}.newsletter-form{display:grid;gap:14px;padding:26px;border:1px solid rgba(76,112,143,.44);border-radius:15px;background:#091725}.newsletter-form .consent{grid-template-columns:auto 1fr;align-items:start}.newsletter-form .consent input{width:auto;min-height:auto;margin-top:3px}.newsletter-form .button{width:max-content}.newsletter-form .form-status{margin-top:2px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:54px;align-items:start}.insight-article{max-width:820px}.article-header{padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid rgba(71,100,126,.42)}.article-lead{font-size:1.18rem;line-height:1.72;color:#c8d7e3}.article-section{padding:0 0 28px}.article-section h2{font-size:1.5rem;margin-bottom:12px}.article-section p{font-size:1.02rem;line-height:1.75}.article-takeaways{margin-top:18px;padding:28px;border:1px solid rgba(74,125,165,.45);border-radius:14px;background:linear-gradient(145deg,rgba(17,44,65,.72),rgba(8,23,37,.82))}.article-aside{display:grid;gap:16px;position:sticky;top:100px}.aside-card{padding:22px;border:1px solid rgba(71,104,132,.42);border-radius:13px;background:#0a1927}.aside-card strong{display:block;margin:8px 0;color:#e5edf3}.aside-card h3{font-size:1.1rem}.aside-card p{font-size:.88rem}
.framework-group{padding:42px 0;border-bottom:1px solid rgba(67,96,122,.34)}.framework-group:first-of-type{padding-top:20px}.framework-group:last-child{border-bottom:0}.framework-group-heading{max-width:780px;margin-bottom:22px}.framework-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.framework-card{display:flex;flex-direction:column;justify-content:space-between;min-height:230px;padding:24px;border:1px solid rgba(75,110,140,.44);border-radius:14px;background:linear-gradient(145deg,#0f1e2d,#091723)}.framework-card h3{margin:14px 0 8px}.framework-official-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:14px;border-top:1px solid rgba(72,104,131,.42);color:#8bcaf7;font-weight:750}.framework-official-link:hover{color:#fff}.library-notice{margin-bottom:24px;padding:20px 22px;border-left:3px solid #5ca8df;border-radius:0 12px 12px 0;background:rgba(19,52,76,.42)}.library-notice strong{color:#dceaf4}.library-notice p{margin:5px 0 0}
.service-finder-panel{padding:32px;border:1px solid rgba(78,115,146,.46);border-radius:18px;background:linear-gradient(135deg,#0e2031,#081522)}.service-finder-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:end}.service-finder-form .button{min-height:48px;white-space:nowrap}.service-finder-result{margin-top:24px;padding:25px;border:1px solid rgba(94,167,220,.52);border-radius:14px;background:rgba(21,64,94,.35)}.service-finder-result h3{font-size:1.45rem;margin:7px 0}.service-finder-result .button-row{margin-top:18px}
.regional-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.regional-contact-card{padding:30px;border:1px solid rgba(77,111,141,.45);border-radius:16px;background:linear-gradient(145deg,#0f1e2c,#091724)}.regional-contact-card h3{font-size:1.7rem;margin:14px 0 8px}.regional-contact-card dl{display:grid;gap:0;margin:22px 0}.regional-contact-card dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 0;border-top:1px solid rgba(66,96,122,.4)}.regional-contact-card dt{color:#839bb0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.regional-contact-card dd{margin:0;color:#d8e3eb}.regional-contact-card dd a{color:#d8e3eb}.two-column-content{display:grid;grid-template-columns:1.4fr .7fr;gap:46px;align-items:start}.scope-note{padding:25px;border:1px solid rgba(83,120,151,.45);border-radius:14px;background:rgba(8,24,38,.78)}.scope-note strong{display:block;margin-bottom:8px;color:#add7f3}.region-card{display:flex;flex-direction:column}.region-card .text-link{margin-top:auto}
@media(max-width:1100px){.framework-library-grid{grid-template-columns:repeat(2,1fr)}.service-finder-form{grid-template-columns:1fr 1fr}.service-finder-form .button{width:max-content}.article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:34px}}
@media(max-width:820px){.featured-insight-panel,.newsletter-panel,.article-layout,.two-column-content{grid-template-columns:1fr}.article-aside{position:static}.insight-controls{grid-template-columns:1fr 1fr}.insight-results{grid-column:1/-1}.service-finder-form{grid-template-columns:1fr}.framework-library-grid,.regional-contact-grid{grid-template-columns:1fr}.newsletter-form{padding:20px}.breadcrumb-inner{overflow-x:auto;white-space:nowrap}.insight-card-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.featured-insight-panel,.service-finder-panel{padding:22px}.insight-controls{grid-template-columns:1fr}.framework-card{min-height:0}.regional-contact-card{padding:22px}.regional-contact-card dl div{grid-template-columns:1fr;gap:4px}}
