/* Current feedback only. Approved typography, colour and hero entry stay authoritative. */
.zf-ecosystem .eyebrow-row{align-items:end}.zf-ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.zf-ecosystem-card{position:relative;display:flex;flex-direction:column;border:1px solid #ffffff1b;border-radius:20px;padding:25px;min-height:280px;color:#fff;text-decoration:none;background:linear-gradient(145deg,#16212c,#0d131c);transition:border-color .25s,background-color .25s}.zf-ecosystem-card:hover{border-color:#0093c4;background:#122632}.zf-ecosystem-card:focus-visible{outline:3px solid #0093c4;outline-offset:5px}.zf-ecosystem-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.zf-ecosystem-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#0093c418;color:#53c3e8;border:1px solid #0093c435}.zf-ecosystem-icon svg{width:25px;height:25px}.zf-ecosystem-number{color:#6f8799;font:500 11px 'Space Grotesk',sans-serif}.zf-ecosystem-card h3{font:500 26px/1.15 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:#fff;margin:10px 0 14px}.zf-ecosystem-card p{font-size:13px;line-height:1.8;color:#a9bfce;margin:0 0 25px;max-width:33ch}.zf-ecosystem-go{margin-top:auto;font:600 11px Manrope,sans-serif;color:#70cce9;display:flex;align-items:center;gap:10px}.zf-ecosystem-go svg{width:16px;height:16px}
.zf-impact-section{padding:36px 0!important}.zf-impact-section .impact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#f5f8fa;border:1px solid #dfe8ed;border-radius:20px;overflow:hidden}.zf-impact-section .impact-stats .st{min-width:0;padding:26px 24px;border-left:0;border-right:1px solid #dfe8ed}.zf-impact-section .impact-stats .st:last-child{border-right:0}.zf-impact-section .st>b{display:flex;align-items:baseline;gap:5px;font:500 clamp(34px,3.6vw,52px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.055em;white-space:nowrap;color:#0b0f15}.zf-impact-section .st>b>span{font:inherit;display:inline;white-space:nowrap;line-height:inherit;letter-spacing:inherit}.zf-impact-section .st>b>i{font-style:normal;font-size:.55em;color:#0093c4;line-height:1;display:inline}.zf-impact-section .st>span{display:block;color:#617481;font:400 12px/1.65 Manrope,sans-serif;margin-top:12px;max-width:24ch}.zf-impact-section+.section{padding-top:66px}
.zf-presence .offices{gap:18px}.zf-presence .office{padding:25px;border:1px solid #e0e8ed;border-radius:17px;background:#f8fafb}.zf-presence .office>span{font-size:13px;line-height:1.8;margin-top:10px;color:#667886}
.zf-frameworks .eyebrow-row>div{max-width:650px}.zf-frameworks .eyebrow-row>.lead{max-width:360px}.zf-framework-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.zf-framework-card{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid #dfe8ed;border-radius:17px;padding:22px 18px}.zf-framework-card>span{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#edf7fb;color:#0093c4;border-radius:12px;font:700 10px Manrope,sans-serif}.zf-framework-card h3{font:600 15px/1.4 'Space Grotesk',sans-serif;color:#0b0f15;letter-spacing:-.02em;margin:0 0 5px}.zf-framework-card p{font-size:11px;color:#667886;line-height:1.6;margin:0}
.cax-approach{padding:30px 22px!important;border:1px solid #dce6ec;border-radius:20px;background:#fff;gap:16px!important}.cax-approach .cax-astep h4{color:#243846!important;font:600 13px/1.55 Manrope,sans-serif;margin:0}.cax-approach .cax-astep .n{background:#ecf7fb;color:#0086b3;border:1px solid #bcdfea;box-shadow:none}.cax-approach .cax-astep::after{background:#d1e7ef}
.zf-iso-hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}.zf-iso-logo{font:600 26px 'Space Grotesk',sans-serif;letter-spacing:-.05em;color:#fff}.zf-ai-tag{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border:1px solid #0093c448;background:#0093c415;color:#71d4f1;padding:7px 10px;border-radius:7px;font:600 9px Manrope,sans-serif}.zf-ai-tag svg{width:14px;height:14px}.zf-iso-tabs{display:flex;gap:6px;padding:5px;border:1px solid #ffffff17;border-radius:12px;background:#080f16;margin:0 0 20px}.zf-iso-tabs button{appearance:none;flex:1;min-height:44px;border:0;border-radius:8px;background:none;color:#95aebf;font:600 11px Manrope,sans-serif;cursor:pointer}.zf-iso-tabs button[aria-pressed=true]{background:#0093c4;color:#fff}.zf-iso-tabs button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.zf-iso-panel{border:1px solid #0093c435;border-radius:15px;padding:21px;background:linear-gradient(145deg,#0093c414,#0093c403);min-height:300px}.zf-iso-panel-heading{display:flex;align-items:center;gap:13px}.zf-iso-module-icon{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;border:1px solid #0093c44a;background:#0093c421;border-radius:12px;color:#62cbea}.zf-iso-module-icon svg{width:23px;height:23px}.zf-iso-panel h3{font:500 23px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:#fff;margin:6px 0 0}.zf-iso-panel>p{font-size:12px;line-height:1.85;color:#a4bfce;margin:18px 0 21px}.zf-iso-panel ul{list-style:none;display:grid;gap:9px;padding:0;margin:0}.zf-iso-panel li{display:flex;align-items:center;gap:10px;background:#ffffff04;border:1px solid #ffffff0a;border-radius:8px;padding:11px 12px;color:#c5dae7;font:500 11px Manrope,sans-serif}.zf-iso-panel li>span{color:#698ba2;font-size:8px}.zf-iso-panel li>i{font-style:normal;color:#0093c4;margin-left:auto}.zf-iso-console .wh-workspace-foot{font-size:9px}
html.zf-dot-ready .nav-links a.active::after,html.zf-dot-ready .brand.active::after{visibility:hidden!important}.zf-nav-dot{position:fixed;z-index:1100;width:5px;height:5px;border-radius:50%;background:#0093c4;pointer-events:none;box-shadow:0 0 0 3px #0093c410;left:0;top:0}.zf-nav-dot[hidden]{display:none!important}
.zf-iso-tabs[hidden]{display:none}
@media(max-width:1100px){.zf-framework-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-impact-section .impact-stats .st{padding:24px 18px}.zf-ecosystem-card{padding:23px}.zf-iso-hero .wrap{gap:30px}.zf-iso-panel{padding:18px}.zf-iso-panel h3{font-size:21px}}
@media(max-width:850px){.zf-ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-impact-section .impact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.zf-impact-section .impact-stats .st{border-right:1px solid #dfe8ed;border-bottom:1px solid #dfe8ed}.zf-impact-section .impact-stats .st:nth-child(even){border-right:0}.zf-impact-section .impact-stats .st:nth-last-child(-n+2){border-bottom:0}.zf-impact-section+.section{padding-top:45px}.zf-iso-hero .wrap{grid-template-columns:1fr}.zf-frameworks .eyebrow-row{align-items:start}.zf-frameworks .eyebrow-row>.lead{max-width:48ch}}
@media(max-width:600px){.zf-ecosystem-grid{grid-template-columns:1fr;gap:14px}.zf-ecosystem-card{min-height:246px;padding:24px}.zf-ecosystem-card-top{margin-bottom:20px}.zf-ecosystem-card h3{font-size:27px}.zf-impact-section{padding:28px 0!important}.zf-impact-section .impact-stats .st{padding:22px 17px}.zf-impact-section .st>b{font-size:34px}.zf-impact-section .st>span{font-size:11px;margin-top:10px}.zf-presence .office{padding:23px}.zf-framework-grid{grid-template-columns:1fr}.zf-framework-card{padding:21px}.cax-approach{padding:25px 17px!important;gap:25px 12px!important}.cax-approach .cax-astep h4{font-size:12px}.zf-iso-panel{padding:18px 15px;min-height:330px}.zf-iso-panel h3{font-size:21px}.zf-iso-panel>p{font-size:12px}.zf-iso-tabs button{font-size:10px}.zf-iso-console .wh-workspace-foot{padding-right:17px}.zf-iso-console .wh-workspace-foot>a{font-size:10px}.zf-iso-hero .wrap{gap:28px}}
@media(max-width:350px){.coe-pillar[data-offerings]{font-size:11px;gap:6px}.zf-impact-section .impact-stats .st{padding:20px 13px}.zf-impact-section .st>b{font-size:29px}.zf-impact-section .st>span{font-size:10px}.zf-iso-panel h3{font-size:19px}.zf-ai-tag{font-size:8px;padding:7px}.zf-iso-panel{min-height:350px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-copy *,.zf-ecosystem-card,.zf-iso-console *,.coe-pillar[data-offerings]{transition:none!important;animation:none!important}}

/* Phone opening: complete hero copy and the original decorative circle. */
@media(max-width:600px){
 .hero:has(.hero-copy){padding-block:104px 36px;min-height:0}
 .hero:has(.hero-copy) .hero-inner{padding-block:0;gap:28px}
 .hero-copy .kicker{font-size:10px;letter-spacing:.12em;margin-bottom:18px}
 .hero-copy .display{font-size:clamp(38px,10.8vw,48px);line-height:1.05;letter-spacing:-.045em}
 .hero-copy .lead{font-size:15px;line-height:1.65;margin-top:20px;max-width:38ch}
 .hero-copy .hero-actions{gap:10px;margin-top:24px}
 .hero-copy .hero-actions .btn{font-size:12px;padding:13px 16px;min-height:44px;white-space:nowrap}
 .hero:has(.hero-copy) .coe{width:76%;max-width:250px;margin:14px auto 12px;order:0}
 .hero:has(.hero-copy) .coe-area{display:flex;width:10px;font-size:0;line-height:0;gap:0;pointer-events:none}
 .hero:has(.hero-copy) .coe-area>span{width:7px;height:7px;border:1px solid #bfefff88;box-shadow:0 0 9px #0093c499;animation:home-capability-pulse 4s ease-in-out infinite}
 .hero:has(.hero-copy) .coe-area:nth-of-type(3n)>span{animation-delay:-1.3s}
 .hero:has(.hero-copy) .coe-area:nth-of-type(3n + 1)>span{animation-delay:-2.6s}
 .hero:has(.hero-copy) .coe-core{inset:27%;padding:5%}
 .hero:has(.hero-copy) .coe-kick{font-size:8px;letter-spacing:.08em}
 .hero:has(.hero-copy) .coe-pillar{font-size:12px;padding:8px 0;background:none;border:0;box-shadow:none;backdrop-filter:none}
 .hero:has(.hero-copy) .coe-pillar::before{width:5px;height:5px;margin-right:2px}
 .hero:has(.hero-copy) .coe-pillar.p2{left:12%;top:91%}
 .hero:has(.hero-copy) .coe-pillar.p3{left:84%;top:91%}
 .zf-ecosystem-grid{gap:12px}
 .zf-ecosystem-card{min-height:0;padding:21px}
 .zf-ecosystem-card-top{margin-bottom:13px}
 .zf-ecosystem-card h3{margin:7px 0 10px}
 .zf-ecosystem-card p{margin-bottom:18px}
}

/* Keep the long expertise catalogue within easy reach on a phone. */
.xp-mobile-choice{display:none}
/* Wrapped footer labels need one continuous click target, including the gap
   between text lines. Their list layout and typography stay unchanged. */
.footer-grid .fcol a{display:block;max-width:100%}
/* At the stacked tablet breakpoint the explanation precedes the grid. A hover
   there used to change its height and move the controls under the pointer. */
@media(max-width:880px){
 .xp-mobile-choice{display:grid;gap:10px;min-width:0;font:600 .85rem/1.5 var(--font-body);color:var(--ink-soft)}
 .xp-mobile-choice select{appearance:auto;width:100%;max-width:100%;min-width:0;min-height:52px;padding:13px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:500 1rem/1.4 var(--font-body)}
 .xp-mobile-choice select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 .xp:has(.xp-mobile-choice) .xp-grid{display:none}
 .xp:has(.xp-mobile-choice) .xp-detail{order:0}
}
@media(max-width:600px){
 body[data-page="expertise"] .indb .indb-vis{min-height:76px}
 body[data-page="expertise"] .indb .indb-vis .iv-ic svg{width:38px;height:38px}
 body[data-page="expertise"] .indb .indb-vis .iv-no{top:24px;font-size:.8rem}
 body[data-page="expertise"] .indb .indb-txt{padding:24px}
 body[data-page="expertise"] .ppt-row{grid-template-columns:1fr}
 body[data-page="expertise"] .ppt-label{justify-content:flex-start;padding:12px 24px;background:#0093c41a}
 body[data-page="expertise"] .ppt-label span{writing-mode:horizontal-tb;transform:none;letter-spacing:.12em;color:#66cdeb}
 body[data-page="expertise"] .ppt-main{padding:24px}
 body[data-page="expertise"] .ppt-head{flex-direction:row;gap:16px}
 body[data-page="expertise"] .ppt-icon{width:40px;height:40px}
 body[data-page="expertise"] .ppt-icon svg{width:22px;height:22px}
 body[data-page="expertise"] .ppt-tags{gap:8px}
 body[data-page="expertise"] .ppt-tags span{font-size:.8rem;padding:7px 10px}
}

/* Homepage keeps the regional caption without a decorative scrolling prompt. */
.hero:has(.hero-copy) .hero-foot{justify-content:flex-end}

/* Original ring/glow timing is inherited from the homepage. Restore its brand cycle. */
body[data-page="index"] .coe-core .cb{display:block;opacity:0;transform:translateY(6px);animation:coeSwap 7s ease-in-out infinite}
body[data-page="index"] .coe-core .cb-2{animation-delay:3.5s}
@media(prefers-reduced-motion:reduce){
 body[data-page="index"] .coe-ring,body[data-page="index"] .coe-glow{animation:none!important}
 body[data-page="index"] .coe-core .cb{animation:none!important;transform:none}
 body[data-page="index"] .coe-core .cb-1{opacity:1}
 body[data-page="index"] .coe-core .cb-2{display:none}
}

@keyframes home-capability-pulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.hero .coe-area>span{animation:none!important;opacity:1;transform:none}}
