/* v4 */
.hero h1,.hero h1 em,.hero h1 .dot{color:var(--ink)!important;font-style:normal!important;font-weight:500!important}

/* capabilities: full-bleed, sharp edges, wider */
.capmosaic{width:100vw;position:relative;left:50%;transform:translateX(-50%);margin-left:0;gap:10px;padding:0}

.cap-wide{padding:clamp(34px,4vw,70px)}

.cap-head h3{font-size:clamp(28px,2.5vw,40px)}
.pl.omx2{font-family:var(--f-ui);font-weight:800;font-size:21px;letter-spacing:.4px;color:#14294B}
.pl.omx2 .oa{background:linear-gradient(102deg,#14294B 52%,#2BC8C4 52%);-webkit-background-clip:text;background-clip:text;color:transparent}

@media(max-width:880px){.cap-tile,.cap-wide{min-height:560px}}
/* v5 */
.logostrip .pl img{filter:none;opacity:1}
/* capabilities: strict 2-up rows, newsroom gradients */
.cap-wide{grid-column:auto;grid-template-columns:1fr;align-items:start;min-height:700px;padding-bottom:0}
.cap-wide .cap-left{text-align:center;max-width:640px;margin:0 auto}
.cap-wide .cap-left>p{margin-left:auto;margin-right:auto}
.cap-wide .clus{text-align:left}
.cap-wide .cap-right{align-self:end;width:100%}
.cap-wide .cap-right .lapt{width:min(720px,96%)}
.capmosaic>*:nth-child(1){background:linear-gradient(160deg,#f4f1ec 0%,#e9e4da 100%)!important}
.capmosaic>*:nth-child(2){background:linear-gradient(135deg,#cfe0f5 0%,#e6eefb 55%,#f2f0ec 100%)!important}
.capmosaic>*:nth-child(3){background:linear-gradient(135deg,#dcebf7 0%,#cfe0f5 60%,#bcd4ef 100%)!important}

.agstk{display:flex;flex-direction:column}
.agstk .agt{margin-bottom:0}
.agstk .ag-body{padding-bottom:22px}
.agstk .ag-hd{padding-bottom:13px;margin-bottom:14px}
.ag-of .ag-pill{font-size:11.5px;padding:6px 13px;white-space:nowrap}

.ag-t{display:flex;align-items:baseline;gap:10px}
.ag-ms{margin-left:auto;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(27,27,27,.4);font-weight:400;white-space:nowrap}
.ag-hd{display:flex;align-items:center;gap:11px;padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid rgba(27,27,27,.1)}
.ag-av{width:31px;height:31px;border-radius:9px;background:var(--ink);color:var(--parchment);display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto}
.ag-hb{min-width:0;flex:1}
.ag-hb b{display:block;font-family:var(--f-ui);font-size:14.5px;font-weight:560;letter-spacing:-.01em;color:var(--ink)}
.ag-hb span{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(27,27,27,.46);margin-top:2px}
.ag-live{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:rgba(62,155,108,.15);color:#2F7A55;border-radius:999px;padding:5px 11px;white-space:nowrap}
.ag-live i{width:6px;height:6px;border-radius:50%;background:#3E9B6C;animation:agpulse 1.7s ease-in-out infinite}

@keyframes agpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}
.ag-chip.dimc{background:rgba(27,27,27,.05);color:rgba(27,27,27,.5)}
.ag-find{display:inline-block;margin-top:8px;font-family:var(--f-ui);font-size:12.5px;color:#8A5A1E;background:rgba(201,145,47,.17);border-radius:9px;padding:6px 11px}
.ag-find b{font-weight:600}
.ag-out{margin-top:auto;background:rgba(255,255,255,.74);border:1px solid rgba(27,27,27,.08);border-radius:15px;padding:14px 16px;box-shadow:0 14px 34px rgba(27,27,27,.08)}
.ag-oh{display:flex;align-items:center;gap:9px;font-family:var(--f-ui);font-size:13.5px;font-weight:560;color:var(--ink)}
.ag-ok{width:19px;height:19px;border-radius:50%;background:#3E9B6C;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;flex:0 0 auto}
.ag-ot{margin-left:auto;font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(27,27,27,.44);font-weight:400}
.ag-of{display:flex;align-items:center;gap:11px;margin-top:12px;flex-wrap:wrap}
.ag-pill{font-family:var(--f-ui);font-size:12px;font-weight:500;background:var(--ink);color:var(--parchment);border-radius:999px;padding:7px 15px}
.ag-rc{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(27,27,27,.44)}
/* v6 */
.lsec,.sec,.pghero h1,.teamhead h2,.introduo h2,.hero h1,.cap-head h3,.cap-left h3,.scard h3,.seccard h3,.newscard h3,.xtile h3,.tlabel,.cta-band h2{font-family:var(--f-display)!important;font-weight:500!important;letter-spacing:-.01em!important}
.lsec span{font-weight:400!important}
/* capabilities v4: full-bleed edge-to-edge, generous tiles */
.capsx .wrap.wide{max-width:none;width:100%;padding-left:14px;padding-right:14px}
.capsx .lhead{max-width:1380px;margin-left:auto;margin-right:auto;padding:0 12px}
.capmosaic{width:auto;left:auto;transform:none;position:static}
.cap-tile,.cap-wide{border-radius:26px;min-height:680px}
.cap-vis .stk{width:min(640px,94%)}
.lapt{width:min(880px,97%)}
/* intercom: keep its rounded square only, no white plate */
.logostrip .pl svg rect{fill:currentColor}
.logostrip .pl.msft svg rect:nth-child(1){fill:#F25022}
.logostrip .pl.msft svg rect:nth-child(2){fill:#7FBA00}
.logostrip .pl.msft svg rect:nth-child(3){fill:#00A4EF}
.logostrip .pl.msft svg rect:nth-child(4){fill:#FFB900}
.logostrip .pl svg [stroke="#fff"]{stroke:var(--parchment)}
.intwrap{display:flex;flex-direction:column;gap:6px;width:min(560px,94%)}
.intwrap .clus{background:rgba(255,255,255,.28)}
.cap-tile .lapt .scr-in.lt .wfc{transform:scale(.9);transform-origin:top center}
/* v7 */
.intvis{align-items:center;justify-content:center;padding:10px 0 30px}
.intvis .iw-orb{position:relative;width:min(600px,96%)!important;height:auto!important;aspect-ratio:1/1;max-height:560px}
.cap-vis .stk.mdl,.cap-vis .stk[class*="mod"]{width:min(700px,96%)}

/* cap-fit: product panels at native design proportions, scaled to tile */
#capabilities .cap-vis{align-items:flex-end;justify-content:center;overflow:visible}
#capabilities .cap-vis .lapt,#capabilities .cap-vis .scr,#capabilities .cap-vis .scr-in{display:contents}
#capabilities .cap-vis .lapt .base{display:none}

#capabilities .cap-vis .stk{max-height:none!important;flex:0 0 auto;padding:26px 22px 0!important;zoom:1.15}

#capabilities .cap-vis .stk .agt,#capabilities .cap-vis .stk .wfc,#capabilities .cap-vis .stk .mdl{max-width:none;margin-left:-10px;margin-right:-10px}
#capabilities .cap-vis .stk .agt{margin:0;padding:6px 4px 20px}

#capabilities .flyer{display:none!important}
#capabilities .cap-vis .stk .api-code{top:20px!important;bottom:0!important;padding:16px 20px!important}
#capabilities .cap-vis .stk .wfc{margin-top:6px}
#capabilities .cap-right .scr-in.lt .wfc,#capabilities .cap-tile .lapt .scr-in.lt .wfc{transform:none}
/* capabilities: fluid tile sizing */
#capabilities .cap-tile{min-height:0;height:clamp(540px,54vw,730px);position:relative}
#capabilities .cap-vis{position:absolute;left:0;right:0;bottom:0;margin:0;padding-top:0;width:100%;min-height:0;will-change:transform}

#capabilities .cap-vis>.stk.mdlp{max-width:none!important}
#capabilities .cap-tile .cap-head p{min-height:calc(2 * 1.5em)}
/* what's inside v3: two large tiles per row, one consistent ground (deck blue), left-aligned heads */
#capabilities .capmosaic{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(14px,1.4vw,20px)!important}
#capabilities .capmosaic>.cap-tile{background:linear-gradient(150deg,#e7eef9 0%,#dbe7f6 55%,#cfe0f5 100%)!important;box-shadow:none!important;border:1px solid rgba(36,56,78,.08);padding:clamp(30px,2.6vw,40px) clamp(26px,2.2vw,34px) 0!important}
#capabilities .cap-head{display:flex;flex-direction:column;gap:10px}
#capabilities .cap-head h3{font-family:var(--f-display);letter-spacing:-.015em;line-height:1.1;color:#141a2e}
#capabilities .cap-head h3::before{text-transform:uppercase}
#capabilities .cap-head p{min-height:calc(2 * 1.5em)}
#capabilities .cap-tile.dkt .cap-head h3{color:#141a2e}
#capabilities .cap-tile.dkt .cap-head p{color:rgba(20,26,46,.66);opacity:1}
#capabilities .cap-vis{transform-origin:bottom center!important}
#capabilities .cap-vis .stk{margin:0 auto!important;border-radius:20px 20px 0 0!important;box-shadow:0 30px 70px rgba(20,30,45,.18)}
/* panels sit directly on the blue ground: no inner tile frame */
#capabilities .cap-vis .stk{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
#capabilities .cap-vis .stk::after{display:none!important}

#capabilities .cap-vis .stk.chatp .cp-q{background:rgba(20,26,46,.07)!important;color:#141a2e!important}
#capabilities .cap-vis .stk.chatp .txt,#capabilities .cap-vis .stk.chatp .cp-dn{color:#141a2e!important}
#capabilities .cap-vis .stk.chatp .hav svg{color:rgba(20,26,46,.75)!important}
#capabilities .cap-vis .stk.chatp .srcs .sc{background:rgba(255,255,255,.75)!important;color:#2c3a52!important}
#capabilities .cap-vis .stk.chatp .cp-do{background:rgba(255,255,255,.6)!important}
#capabilities .cap-vis .stk.chatp .cp-dr{color:#141a2e!important;border-top-color:rgba(20,26,46,.1)!important}
#capabilities .cap-vis .stk.chatp .cp-dt{color:rgba(20,26,46,.55)!important}
#capabilities .cap-vis .stk.chatp .cp-alt{color:rgba(20,26,46,.6)!important}
#capabilities .cap-vis .stk.chatp .cp-bar{background:transparent!important;border-top:1px solid rgba(20,26,46,.12)!important;padding-left:6px!important;padding-right:6px!important}
#capabilities .cap-vis .stk.chatp .cp-ph{color:rgba(20,26,46,.5)!important}
#capabilities .cap-vis .stk.chatp .cp-plus{border-color:rgba(20,26,46,.28)!important;color:rgba(20,26,46,.75)!important}
#capabilities .cap-vis .stk.chatp .cp-mic{color:rgba(20,26,46,.7)!important}
#capabilities .cap-vis .stk.chatp .cp-chip{background:#fff!important;box-shadow:0 2px 8px rgba(20,30,45,.08)}
#capabilities .cap-vis .stk.chatp .cp-chip.dim2{background:transparent!important;color:rgba(20,26,46,.55)!important;box-shadow:none}
#capabilities .cap-vis .stk.chatp .cp-go,#capabilities .cap-vis .stk.chatp .cp-send{background:#141a2e!important;color:#f4f7fc!important}
#capabilities .cap-vis .stk .api-code{left:0!important;right:0!important;border-radius:14px 14px 0 0!important}
/* proportions: panels use the full tile width, float above the tile floor */
#capabilities .cap-vis{left:clamp(-34px,-2.2vw,-26px);right:clamp(-34px,-2.2vw,-26px);width:auto!important}
#capabilities .cap-head{margin-bottom:clamp(18px,2vw,28px)}
#capabilities .cap-vis .stk{width:400px!important;min-width:400px;max-width:400px!important;height:470px!important;min-height:470px!important}
#capabilities .cap-vis>.stk.mdlp{width:400px!important}
/* chat: give the answer block room, composer sits on the tile floor */
#capabilities .cap-vis .stk.chatp .cp-ans{bottom:104px;left:22px;right:22px}

/* model agnostic: white card + flags are the focus, no composer */
#capabilities .cap-vis .stk.mdlp .mdl-bar{display:none!important}
#capabilities .cap-vis .stk.mdlp .mdl{height:100%}

/* homepage type scale: one headline weight, one subline weight, one body size */
.lsec span{font-weight:420!important}
.sechome .lsec span,#why .lsec span{font-weight:420!important}

#capabilities .cap-head p{font-size:15px!important;line-height:1.5!important}

/* chat, agents and workflows: content starts at the top of the room it has */
#capabilities .cap-vis .stk.chatp .cp-ans{top:58px;bottom:auto}
#capabilities .cap-vis .stk.chatp{padding-top:0!important}
/* model agnostic: flags centred under the white card */
#capabilities .cap-vis .stk.mdlp .mdl-regions{position:static!important;order:9!important;align-self:center!important;margin:20px 0 0!important;justify-content:center!important}
#capabilities .cap-vis .stk.mdlp .mdl{display:flex!important;flex-direction:column!important;align-items:center!important}
#capabilities .cap-vis .stk.mdlp .mdl-pop{order:1}
/* no panel plate or halo behind any product view */
#capabilities .cap-vis .stk,#capabilities .cap-vis .stk::before,#capabilities .cap-vis .stk::after,#capabilities .cap-vis .mdl,#capabilities .cap-vis .agt,#capabilities .cap-vis .wfc{background:transparent!important;box-shadow:none!important;border-color:transparent!important}
/* api: the code frame floats, it does not reach the tile edge */
#capabilities .cap-vis .stk .api-code{top:26px!important;left:18px!important;right:18px!important;bottom:34px!important;border-radius:16px!important;padding:20px 22px!important;box-shadow:none!important}
#capabilities .cap-vis .mdl-pop{box-shadow:0 10px 26px rgba(27,27,27,.09)!important}
/* heads: no numbering, slightly larger titles */
#capabilities .cap-head h3::before{display:none!important}
#capabilities .cap-head h3{font-size:clamp(24px,1.85vw,31px)!important}
/* one flat colour per tile */
#capabilities .capmosaic>.cap-tile:nth-child(1){background:#E8ECF6!important}
#capabilities .capmosaic>.cap-tile:nth-child(2){background:#E9E5DE!important}
#capabilities .capmosaic>.cap-tile:nth-child(3){background:#D2E3F6!important}
#capabilities .capmosaic>.cap-tile:nth-child(4){background:#161F35!important;border-color:transparent}
#capabilities .capmosaic>.cap-tile:nth-child(5){background:#CAD1C8!important}

/* navy tile: light ink */
#capabilities .capmosaic>.cap-tile:nth-child(4) .cap-head h3{color:#F7F5F2!important}
#capabilities .capmosaic>.cap-tile:nth-child(4) .cap-head p{color:rgba(247,245,242,.66)!important}
#capabilities .capmosaic>.cap-tile:nth-child(4) .stk h3{color:#F7F5F2!important}
#capabilities .capmosaic>.cap-tile:nth-child(4) .stk .sub{color:rgba(247,245,242,.62)!important}
#capabilities .capmosaic>.cap-tile:nth-child(4) .stk .go{background:rgba(247,245,242,.14)!important;color:#F7F5F2!important}
/* optical left alignment: display headlines carry a hair of indent so round glyphs line up with the eyebrow */
.lsec,#capabilities .cap-head h3,.sv-tabs .sv-tab b{text-indent:.018em}

@media(max-width:1180px){#capabilities .capmosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important}#capabilities .capmosaic>.cap-tile{height:clamp(560px,48vw,660px)!important}}

@media(min-width:821px) and (max-width:1024px){#capabilities .capmosaic{display:grid!important;overflow-x:visible!important;scroll-snap-type:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}#capabilities .capmosaic>.cap-tile{flex:0 1 auto!important;scroll-snap-align:none!important}}

@media(max-width:820px){#capabilities .capmosaic>.cap-tile{height:clamp(500px,118vw,640px)!important}}
#capabilities .cap-vis .iw-orb,#capabilities .cap-vis .intwrap{width:470px!important;max-width:none!important}

@media(max-width:880px){#capabilities .cap-tile{height:clamp(500px,118vw,680px)}}
/* pe-theme */
/* dark bands -> deep navy gradient with glow */
#why .mstick{background:linear-gradient(150deg,#141a2e 0%,#1d2b44 60%,#24384E 100%)!important;position:relative;overflow:hidden}
#why .mstick::after{content:"";position:absolute;inset:0;background:radial-gradient(50rem 26rem at 82% 0%,rgba(127,151,236,.28),transparent 60%);pointer-events:none}
#why .mbox{position:relative;z-index:1}
.cta-band{background:linear-gradient(150deg,#141a2e 0%,#1d2b44 60%,#24384E 100%)!important;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(50rem 26rem at 82% 0%,rgba(127,151,236,.28),transparent 60%);pointer-events:none}
.cta-band>*{position:relative;z-index:1}
/* solution band -> blue family */
.solband{background:linear-gradient(150deg,#eef2fb 0%,#dde6f8 45%,#cfe0f5 100%)!important}
.scard{background:linear-gradient(150deg,#1B1B1B 0%,#24384E 60%,#4D86C2 100%);border-color:rgba(111,166,220,.25)}
/* explore tiles -> blue family */
.xtile[style*="ld-sage"],.xtile[style*="E3E8DF"]{background:linear-gradient(150deg,#dde6f8 0%,#cfe0f5 70%,#bcd4ef 100%)!important}
.xtile[style*="24384E"]{background:linear-gradient(150deg,#141a2e 0%,#1d2b44 60%,#24384E 100%)!important}
.xtile[style*="ld-card"],.xtile[style*="EDEAE4"]{background:linear-gradient(150deg,#eef2fb 0%,#e3ebf7 100%)!important}
/* capabilities tiles -> blue family */
.capmosaic>*:nth-child(1){background:linear-gradient(150deg,#f2f4f9 0%,#e6ebf5 100%)!important}
.capmosaic>*:nth-child(4){background:linear-gradient(150deg,#141a2e 0%,#1d2b44 60%,#24384E 100%)!important}
.capmosaic>*:nth-child(5){background:linear-gradient(150deg,#aebfcb 0%,#c3d2dc 100%)!important}
.capmosaic>*:nth-child(6){background:linear-gradient(150deg,#dde6f8 0%,#cfe0f5 75%,#bcd4ef 100%)!important}
/* team cards, news thumbs already blue; seccards frosted */
.seccard{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 60px rgba(77,110,180,.14)}
/* subpage heroes -> soft blue clouds */
.pghero{background:radial-gradient(60rem 34rem at 78% -10%,rgba(159,183,240,.5),transparent 60%),radial-gradient(48rem 30rem at 8% 8%,rgba(207,224,245,.8),transparent 58%),linear-gradient(180deg,#eef2fb 0%,var(--parchment) 78%);padding-bottom:clamp(50px,6vw,90px)}
/* pe-theme readability + air */
/* light text on all navy surfaces */
.cta-band h2,.cta-band p{color:#F7F5F2!important}
.scard h3{color:#F7F5F2!important}
.scard p{color:rgba(247,245,242,.78)!important}
.xtile.dk h3,.xtile.dk .xgo{color:#F7F5F2!important}
.xtile.dk p{color:rgba(247,245,242,.72)!important}
.xtile.dk .kicker{color:rgba(247,245,242,.6)!important}
.capmosaic>.cap-tile.onlight .cap-head h3{color:var(--ink)!important}
.capmosaic>.cap-tile.onlight .cap-head p{color:var(--ink)!important;opacity:.62}
.capmosaic>.cap-tile.ondark .cap-head h3{color:#F7F5F2!important}
.capmosaic>.cap-tile.ondark .cap-head p{color:rgba(247,245,242,.75)!important;opacity:1}
#why .mstick .mline .w.k,#why .mstick .mline .w.k.on{color:#F7F5F2!important}
#why .mstick .kicker{color:rgba(247,245,242,.55)!important}
.teamcard.dkc .tlabel{color:#F7F5F2!important}
footer h2,footer h3{color:inherit}
/* more air everywhere */
.section{padding-top:clamp(90px,10vw,150px)!important;padding-bottom:clamp(40px,4.5vw,70px)!important}
.pghero{padding-top:clamp(170px,18vw,240px)!important}

.tilegrid,.newsgrid,.solgrid,.secgrid,.teamgrid{gap:clamp(20px,2.2vw,32px)!important}
/* certification badges, real marks instead of line icons */
.secgrid{grid-template-columns:repeat(4,1fr)!important}
.seccard .sbadge.cert{width:auto;height:auto;background:none!important;border:none!important;box-shadow:none!important;display:inline-flex;padding:0;margin-bottom:4px}
.seccard .certb{width:clamp(46px,3.8vw,58px);height:clamp(46px,3.8vw,58px);display:block;overflow:visible}
.secgrid .seccard{padding:clamp(26px,2.4vw,34px)!important;gap:14px!important;min-height:0!important}

.secgrid .seccard p{max-width:32ch}

@media(max-width:1100px){.secgrid{grid-template-columns:repeat(2,1fr)!important}}

@media(max-width:640px){.secgrid{grid-template-columns:1fr!important}}
.pe-band{padding:clamp(100px,11vw,160px) 0!important}
