.brand-v2 .os-core{position:absolute;right:8px;top:64px;width:270px;height:279px;display:grid;place-items:center;pointer-events:none;filter:drop-shadow(0 26px 35px rgba(42,45,159,.14))}
.brand-v2 .osc-ring{position:absolute;border:1px solid rgba(42,45,159,.25);border-radius:50%;animation:osc-spin 20s linear infinite}
.brand-v2 .osc-ring.r1{width:238px;height:238px}.brand-v2 .osc-ring.r2{width:176px;height:176px;animation-direction:reverse;animation-duration:15s}.brand-v2 .osc-ring.r3{width:112px;height:112px;animation-duration:10s}
.brand-v2 .osc-ring:before,.brand-v2 .osc-ring:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#5658dc;box-shadow:0 0 0 7px rgba(86,88,220,.11)}
.brand-v2 .osc-ring:before{left:50%;top:-4px}.brand-v2 .osc-ring:after{left:50%;bottom:-4px}
.brand-v2 .osc-heart{width:78px;height:78px;border-radius:24px;background:linear-gradient(145deg,#3638bd,#7375ee);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 18px 40px rgba(42,45,159,.28);animation:osc-pulse 3s ease-in-out infinite}
.brand-v2 .osc-heart b{font-size:25px}.brand-v2 .osc-heart span{font:500 7px/1.4 "JetBrains Mono",monospace;letter-spacing:.14em}
.brand-v2 .osc-node{position:absolute;padding:5px 8px;border:1px solid #dfe2f3;border-radius:20px;background:#fff;color:#31345f;font:500 8px "JetBrains Mono",monospace;letter-spacing:.08em}.brand-v2 .osc-node.n1{top:18px}.brand-v2 .osc-node.n2{right:0;top:82px}.brand-v2 .osc-node.n3{right:13px;bottom:45px}.brand-v2 .osc-node.n4{left:17px;bottom:43px}.brand-v2 .osc-node.n5{left:0;top:83px}
@keyframes osc-spin{to{transform:rotate(360deg)}}@keyframes osc-pulse{50%{transform:scale(1.06);box-shadow:0 23px 55px rgba(42,45,159,.38)}}

.v2f{position:absolute;inset:0;z-index:40;overflow:hidden;background:#17198b;color:#fff;opacity:0;visibility:hidden;transform:scale(.98);transition:opacity .45s ease,transform .45s ease,visibility .45s}
.v2f.on{opacity:1;visibility:visible;transform:none}.v2f-stage{position:absolute;inset:0}.v2fs{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;text-align:center;padding:9vw;opacity:0;transform:translateY(22px) scale(.985);transition:opacity .8s ease,transform .8s ease;background:radial-gradient(circle at 50% 50%,rgba(115,117,238,.35),transparent 48%),linear-gradient(145deg,#17198b,#3033ac 60%,#151777)}.v2fs.on{opacity:1;transform:none}
.v2fs small{font:500 10px "JetBrains Mono",monospace;letter-spacing:.28em;color:#aeb0ff;margin-bottom:24px}.v2fs h2{font-size:clamp(28px,4.1vw,70px);line-height:1.06;letter-spacing:-.04em;max-width:1000px}.v2fs h2 em{font-family:Georgia,serif;font-weight:400}.v2fs p{font-size:clamp(14px,1.35vw,22px);color:#d8d9ff;margin-top:22px}
.v2f-close,.v2f-sound{position:absolute;z-index:2;top:24px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff}.v2f-close{right:24px;width:42px;height:42px;border-radius:50%;font-size:25px}.v2f-sound{right:78px;height:42px;border-radius:22px;padding:0 16px;font:500 9px "JetBrains Mono",monospace;letter-spacing:.12em}.v2f-sound.on{background:#fff;color:#232598}.v2f-progress{position:absolute;z-index:2;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.16)}.v2f-progress i{display:block;width:100%;height:100%;background:#fff;transform:scaleX(.125);transform-origin:left;transition:transform .6s ease}
.v2f-fragments{position:relative;width:min(640px,80vw);height:210px;margin-top:35px}.v2f-fragments i{position:absolute;padding:11px 16px;border:1px solid rgba(255,255,255,.3);border-radius:30px;font:500 10px "JetBrains Mono",monospace;letter-spacing:.13em;animation:v2-float 4s ease-in-out infinite}.v2f-fragments i:nth-child(1){left:7%;top:20%}.v2f-fragments i:nth-child(2){right:8%;top:4%;animation-delay:-1s}.v2f-fragments i:nth-child(3){left:40%;top:45%;animation-delay:-2s}.v2f-fragments i:nth-child(4){left:14%;bottom:0;animation-delay:-3s}.v2f-fragments i:nth-child(5){right:9%;bottom:11%;animation-delay:-1.5s}@keyframes v2-float{50%{transform:translateY(-14px)}}
.v2f-core{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:38px}.v2f-core:before,.v2f-core:after,.v2f-core i{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;inset:0;animation:osc-spin 9s linear infinite}.v2f-core:after{inset:28px;animation-direction:reverse}.v2f-core i:nth-of-type(1){inset:58px}.v2f-core i:after{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:#fff}.v2f-core b{position:relative;z-index:1;font-size:42px}
@media(max-width:1100px){.brand-v2 .os-core{display:none}}@media(max-width:760px){.v2fs{padding:70px 24px}.v2fs h2{font-size:31px}.v2f-sound{left:18px;right:auto;top:18px}.v2f-close{right:18px;top:18px}.v2f-fragments{height:250px}}
@media(prefers-reduced-motion:reduce){.brand-v2 .osc-ring,.brand-v2 .osc-heart,.v2f-fragments i,.v2f-core:before,.v2f-core:after,.v2f-core i{animation:none}}

/* hero caption: plain text — no ribbon ends, diamonds or striped background */
/* hero caption: an award-style ribbon badge — a raised band with folded, notched tails on both sides */
.brand-v2 .hg-mini-gem{display:none}
.brand-v2 .hg-cap{position:relative;isolation:isolate;padding:11px 34px 12px;border:0;border-radius:3px;
  background:linear-gradient(180deg,#5b5fe3 0%,#3d41c6 55%,#3236b4 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 26px -12px rgba(8,10,60,.65)}
.brand-v2 .hg-cap span{position:relative;z-index:1}
/* the two tails: tucked behind the band, lower, with a notch cut in the end */
.brand-v2 .hg-cap::before,.brand-v2 .hg-cap::after{content:"";position:absolute;z-index:-1;top:10px;width:46px;height:100%;
  background:linear-gradient(180deg,#2a2d9f,#1d2088)}
.brand-v2 .hg-cap::before{left:-34px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,24% 50%)}
.brand-v2 .hg-cap::after{right:-34px;clip-path:polygon(0 0,100% 0,76% 50%,100% 100%,0 100%)}
/* small dark folds where each tail tucks under the band */
.brand-v2 .hg-legacy,.brand-v2 .hg-cap{overflow:visible}
/* the band grows to fit its text */
.brand-v2 .hg-legacy{max-width:none}
.brand-v2 .hg-cap{width:max-content;white-space:nowrap}
.brand-v2 .hg-cap b{color:#fff}
@media(max-width:760px){.brand-v2 .hg-cap{padding:10px 22px 11px;font-size:14px}.brand-v2 .hg-cap::before,.brand-v2 .hg-cap::after{width:32px}.brand-v2 .hg-cap::before{left:-24px}.brand-v2 .hg-cap::after{right:-24px}}

/* Brand OS: no invented week estimate in the v2 plan card */
.brand-v2 .bld-plan-top b{font-size:13px;color:#5c5e80}.brand-v2 .bld-plan-top b em{font-style:normal;font-size:18px;color:#2a2d9f;margin-right:6px}

/* corner graphics: one size for all — matches the clock mechanism (270 × 279) */
.brand-v2 .bolt{width:270px;height:279px;top:40px}
.brand-v2 .pz{width:270px;height:279px;top:50px}
/* "Another tool on top / Operating model at the core" towers: bigger blocks, labels and stage (desktop) */
@media(min-width:1101px){
.brand-v2 .tw{--s:50px;gap:28px;top:-34px;right:-10px}
.brand-v2 .tw-col{width:150px}
.brand-v2 .tw-sc{width:150px;height:260px}
.brand-v2 .tw-ground{width:130px;height:130px;margin:-65px}
.brand-v2 .tw-col p{font-size:14px;margin-top:10px}
.brand-v2 .tw-col small{font-size:11px}
.brand-v2 .tw-b em{font-size:13.5px}
.brand-v2 .tw-b.ai em{font-size:16px}
/* keep the cards below clear of the taller towers */
.brand-v2 #services .section-heading.has-tw{min-height:300px}
}

/* titles vs corner graphics: give the heading text more room on the left so long title lines
   finish before the graphic starts (title size unchanged); graphics one size, slightly smaller */
@media(min-width:1101px){
  .brand-v2 .section-heading{grid-template-columns:210px 1fr}
  .brand-v2 .os-clock,.brand-v2 .bolt,.brand-v2 .pz{width:240px;height:248px}
  /* the clock reads as large as the towers in section 03 */
  .brand-v2 .os-clock{width:300px;height:310px;top:44px;right:0}
  .brand-v2 .tw{gap:20px}
  .brand-v2 .tw-col,.brand-v2 .tw-sc{width:140px}
}

/* clock: keep the whole graphic (bottom labels and tag) above the capability list */
@media(min-width:1101px){
  .brand-v2 .os-clock{z-index:3}
  .brand-v2 #capabilities .section-heading{min-height:330px}
}

/* corner graphics speak for themselves: no caption tags under them */
.brand-v2 .rr-pill,.brand-v2 .ck-pill,.brand-v2 .dm-pill{display:none}

/* one size and one right edge for the corner graphics; vertical position is set by corner-align.js */
@media(min-width:1101px){
  .brand-v2 .os-clock,.brand-v2 .rr,.brand-v2 .dm{width:300px;height:280px}
  .brand-v2 .os-clock{right:0}
  .brand-v2 .tw{right:0}
  .brand-v2 #capabilities .section-heading,.brand-v2 #services .section-heading.has-tw{min-height:0}
}

/* towers: words stay inside the block faces in 3D */
@media(min-width:1101px){.brand-v2 .tw-b em{font-size:10px;letter-spacing:0}.brand-v2 .tw-b.ai em{font-size:14px}}
