/* Shared full-screen presentation for public service pages. Enhanced only after JS initializes. */
html.presentation-root{height:100%;overflow:hidden;scroll-behavior:auto;scrollbar-width:none}
.site-presentation{--presentation-header:76px;--presentation-footer:110px;--presentation-controls:56px;--presentation-background:#eef5fb;height:100svh;overflow:hidden;overscroll-behavior:none;background:var(--presentation-background)}
.site-presentation *{scrollbar-width:none}
.presentation-root::-webkit-scrollbar,.site-presentation ::-webkit-scrollbar{display:none;width:0;height:0}
/* clip prevents native fragment navigation from scrolling the animated deck itself. */
.site-presentation main{position:fixed;inset:var(--presentation-header) 0 0;padding:0;overflow:clip;isolation:isolate;background:var(--presentation-background)}
.site-presentation .public-site-header{background:var(--presentation-background);border:0}
.site-presentation .presentation-screen{position:absolute;inset:0 0 var(--presentation-controls);overflow:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%);transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s ease,visibility 0s .7s;background:var(--presentation-background);scroll-margin:0}
.site-presentation .presentation-screen.is-before{transform:translateY(-100%)}
.site-presentation .presentation-screen.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.site-presentation .presentation-screen:focus-visible{outline:0}
.site-presentation .presentation-screen>section{min-height:100%;margin-block:0;padding-block:clamp(24px,5vh,60px);align-content:center;border:0;border-radius:0;background:var(--presentation-background)}
.site-presentation .presentation-screen>.company-hero,.site-presentation .presentation-screen>.solution-band,.site-presentation .presentation-screen>.company-process-section{display:flex;align-items:center}
.site-presentation .solution-band>.solution-section{padding-block:0}
.site-presentation .company-wrap{width:min(1200px,calc(100% - 112px))}
.site-presentation .presentation-screen>.company-contact{width:100%;padding-inline:max(56px,calc((100vw - 1200px)/2));border:0;align-items:center}
.site-presentation .company-section-heading{margin-bottom:20px}
.site-presentation .company-region{padding-block:14px}
.site-presentation .company-region-description p{line-height:1.65}
.site-presentation .company-timing-note{margin-top:14px}
.site-presentation .company-process{margin-top:24px}
.site-presentation .solution-details li{padding-block:16px}
.site-presentation .solution-intro h2{margin-top:16px}
.site-presentation .company-button{border-radius:999px}
.site-presentation .public-site-footer{position:fixed;inset:auto 0 0;z-index:35;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%);transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s .7s}
.site-presentation.presentation-final .public-site-footer{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.site-presentation.presentation-final .presentation-screen{bottom:var(--presentation-footer)}
.presentation-rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:0}
.presentation-rail a{position:relative;display:grid;place-items:center;width:32px;height:34px;color:#667085;text-decoration:none}
.presentation-rail a::after{content:"";width:6px;height:6px;border-radius:50%;background:#a7b4c8;transition:background .2s,transform .2s}
.presentation-rail a[aria-current]::after{background:#1476c9;transform:scale(1.4)}
.presentation-rail span{position:absolute;right:32px;white-space:nowrap;font-size:12px;background:#fff;padding:4px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s}
.presentation-rail a:hover span,.presentation-rail a:focus-visible span{opacity:1}
.presentation-controls{position:fixed;inset:auto 0 0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--presentation-controls);padding:4px 24px;background:var(--presentation-background)}
.presentation-final .presentation-controls{display:none}
.presentation-position{display:flex;gap:14px;margin:0;font-size:11px;color:#667085;font-variant-numeric:tabular-nums}
.presentation-position [data-position]{color:#252936}.presentation-arrows{display:flex;gap:8px}
.presentation-arrows button{display:grid;place-items:center;border:0;width:44px;height:44px;border-radius:50%;background:transparent;color:#526377;cursor:pointer;transition:background .2s}
.presentation-arrows button:hover{background:#e5eaf3}.presentation-arrows button:disabled{opacity:.3;cursor:default}.presentation-arrows svg{width:22px;height:22px}.presentation-arrows .is-return svg{transform:rotate(180deg)}
@media(max-width:899px){.site-presentation{--presentation-header:64px}.site-presentation .company-wrap{width:calc(100% - 64px)}.site-presentation .company-hero-grid{gap:24px}.site-presentation .company-hero h1{font-size:38px}.site-presentation .company-brief{padding:18px 22px}.site-presentation .company-brief li{padding-top:12px}.presentation-rail{right:2px}.presentation-rail a{width:24px;height:32px}.site-presentation .presentation-screen>.company-contact{padding-inline:32px;justify-content:center}.presentation-controls{padding-inline:20px}}
@media(max-width:700px){.site-presentation .presentation-screen>section{padding-block:28px}.site-presentation .company-wrap{width:calc(100% - 48px)}.site-presentation .solution-section{gap:22px}.site-presentation .solution-intro h2{margin:12px 0;font-size:28px}.site-presentation .solution-intro p{margin-bottom:16px;font-size:14px;line-height:1.75}.site-presentation .solution-details li{padding-block:12px}.site-presentation .solution-details strong{font-size:16px}.site-presentation .solution-details p{font-size:13px;line-height:1.7}.site-presentation .solution-platforms{margin-bottom:14px}.site-presentation .company-hero h1{font-size:32px}.site-presentation .company-hero-copy>p,.site-presentation .solutions-hero p{font-size:14px}.site-presentation .company-actions{margin-top:20px}.site-presentation .company-process{gap:22px 0}.site-presentation .company-process-number{margin-bottom:10px}.site-presentation .company-preparation{gap:22px}.site-presentation .presentation-screen>.company-contact{padding-inline:24px}.presentation-position{gap:9px}.presentation-controls{padding-inline:16px}.presentation-rail{right:0}.presentation-rail a{width:20px}.presentation-rail span{display:none}}
@media(prefers-reduced-motion:reduce){.site-presentation *{scroll-behavior:auto!important;transition:none!important}}
