/* Stable public typography. No changes to studio canvases, icon fonts or video animation. */
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main,#xanHeader,.xan-footer) :is(h1,h2,h3,h4,p,small,strong,b,label,li,dt,dd,a,button,input,select,textarea){font-family:"Segoe UI",Arial,sans-serif!important;font-synthesis:none!important;text-rendering:auto!important;-webkit-font-smoothing:auto!important;text-shadow:none!important;letter-spacing:normal!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(p,li,dt,dd){font-size:14px!important;font-weight:400!important;line-height:1.6!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) h1{font-size:clamp(26px,2.4vw,34px)!important;font-weight:600!important;line-height:1.25!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) h2{font-size:clamp(22px,1.9vw,27px)!important;font-weight:600!important;line-height:1.3!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(h3,h4){font-size:17px!important;font-weight:600!important;line-height:1.4!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(strong,b){font-weight:600!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(small,label){font-size:13px!important;font-weight:400!important;line-height:1.5!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(a,button){font-weight:500!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(.xan-btn,.xan-member-primary-v284,.xan-inner-actions-v122 a,.xan-card-info-v132){font-size:13px!important;font-weight:600!important;min-height:44px!important}
html body:has(#xanHeader) #xanHeader .xan-nav a{font-size:13px!important;font-weight:500!important}
html body:has(#xanHeader) .xan-footer :is(a,p,li,button,small){font-size:13px!important;font-weight:400!important;line-height:1.65!important}
html body:has(#xanHeader) .xan-footer h3{font-size:16px!important;font-weight:600!important}
html body:has(#xanHeader) .xan-footer .xan-contact-row{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;margin:0 0 12px!important;padding:0!important;background:transparent!important;border:0!important;text-align:left!important}
html body:has(#xanHeader) .xan-footer .xan-contact-row>:is(a,button,span){font:400 13px/1.65 "Segoe UI",Arial,sans-serif!important;text-align:left!important;color:#183b4b!important;-webkit-text-fill-color:#183b4b!important;background:transparent!important;overflow-wrap:anywhere!important;min-width:0!important}
html body:has(#xanHeader) .xan-footer .xan-contact-row>svg{width:22px!important;height:22px!important;flex:0 0 22px!important;margin-top:2px!important}
/* Keep text on fixed pixel positions; hover changes colour and shadow, not its geometry. */
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(h1,h2,h3,h4,p,label,small,strong){animation:none!important;transition:none!important;filter:none!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(.xan-btn,.xan-strategy-card-v115,.xan-list-card,.xan-project-card,.xan-inner-card-v122,.xan-backoffice-grid-v279 article,.xan-member-models-v284>a):is(:hover,:focus-visible){transform:none!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(.xan-inner-hero-copy-v124,.xan-inner-card-v122,.xan-strategy-card-v115,.xan-backoffice-grid-v279 article,.xan-member-feature-grid-v284 details){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body:has(#xanHeader) #xan-strategy .xan-section-head{background:transparent!important;background-image:none!important;padding:0!important;border:0!important;box-shadow:none!important;max-width:900px!important}
html body:has(#xanHeader) #xan-strategy .xan-section-head :is(h2,p){color:#153b4b!important;-webkit-text-fill-color:#153b4b!important}
html body:has(#xanHeader) #xan-strategy{padding-block:30px!important}
html body:has(#xanHeader) #xan-strategy .xan-strategy-card-v115{padding:20px!important;gap:10px!important;min-height:0!important}
html body:has(#xanHeader) #xan-strategy .xan-strategy-card-v115>strong{font-size:17px!important;line-height:1.35!important}
html body:has(#xanHeader) #xan-strategy .xan-strategy-card-v115>small{font-size:14px!important}
html body:has(#xanHeader) :is(#xan-marketing-main,#main-content) .xan-project-teaser-copy>strong{font-size:28px!important;line-height:1.25!important;font-weight:600!important}
/* Only links classified by the central-management URL receive the Ofis skin. */
html body:has(#xanHeader) :is(#xanHeader,.xan-footer,#xanGlobalMenuPanelV1311060,nav,div) a.xan-office-entry-v283{background:rgba(4,57,72,.78)!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #ffffff88!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;opacity:1!important}
html body:has(#xanHeader) :is(#xanHeader,.xan-footer,#xanGlobalMenuPanelV1311060,nav,div) a.xan-office-entry-v283 :is(span,b,strong){color:#fff!important;-webkit-text-fill-color:#fff!important;background:transparent!important}
html body:has(#xanHeader) :is(#xanHeader,.xan-footer,#xanGlobalMenuPanelV1311060,nav,div) a.xan-office-entry-v283>svg{color:#ffdd00!important;stroke:#ffdd00!important;background:transparent!important}
html body:has(#xanHeader) :is([data-xan-customer-ai].is-floating button.xcai-launch,button.xan-mobile-assistant-cta-v195).xan-assistant-pill-v285{width:auto!important;min-width:116px!important;max-width:calc(100vw - 28px)!important;height:46px!important;min-height:46px!important;padding:9px 14px!important;gap:9px!important;box-sizing:border-box!important;border-radius:23px!important;border:1px solid #ffffff99!important;background:rgba(4,57,72,.88)!important;background-image:none!important;box-shadow:inset 0 1px 0 #ffffff2b,0 4px 14px #0026312b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:0!important;align-items:center!important;justify-content:center!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;right:16px!important;left:auto!important;transform:none!important}
.xan-assistant-pill-v285>:not(.xan-assistant-icon-v285):not(.xan-assistant-label-v285){display:none!important}
html body:has(#xanHeader) .xan-assistant-pill-v285>.xan-assistant-icon-v285{display:block!important;width:25px!important;height:25px!important;flex:0 0 25px!important;fill:none!important;stroke:#ffdd00!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;color:#ffdd00!important;background:transparent!important;pointer-events:none!important}
html body:has(#xanHeader) .xan-assistant-pill-v285>.xan-assistant-label-v285{display:block!important;width:auto!important;height:auto!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;font:500 14px/1.2 "Segoe UI",Arial,sans-serif!important;letter-spacing:normal!important;color:#fff!important;-webkit-text-fill-color:#fff!important;white-space:nowrap!important;opacity:1!important;visibility:visible!important;pointer-events:none!important}
.xan-assistant-pill-v285::before,.xan-assistant-pill-v285::after{content:none!important;display:none!important}
/* Native first-screen and open-dialog visibility applies to the label too. */
html body:has(#xanHeader) .xan-assistant-pill-v285>.xan-assistant-label-v285{visibility:inherit!important}
.xan-assistant-pill-v285:focus-visible{outline:3px solid #ffdd00!important;outline-offset:3px!important}
/* Fit the complete portrait frame; the container narrows rather than adding side bands. */
html body:has(#xanHeader) #xan-marketing-main .xan-secondary-video-frame.xan-video-fitted-v285{width:min(100%,var(--xan-fit-width-v285,100%))!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--xan-fit-ratio-v285,1.7777778)!important;margin-inline:auto!important;background:#043948!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 8px 24px #153b4b12!important}
html body:has(#xanHeader) #xan-marketing-main .xan-secondary-video-frame.xan-video-fitted-v285 .xan-secondary-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;background:transparent!important}
html body:has(#xanHeader) #xan-marketing-main .xan-secondary-video-frame.xan-video-fitted-v285 .xan-secondary-video-backdrop{display:none!important}
@media(max-width:760px){html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) h1{font-size:26px!important}html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) h2{font-size:22px!important}html body:has(#xanHeader) :is(#xan-marketing-main,#main-content,.xan-main) :is(input,select,textarea){font-size:16px!important}html body:has(#xanHeader) .xan-assistant-pill-v285{min-width:108px!important;height:44px!important;min-height:44px!important;padding:8px 12px!important;right:12px!important}}
