/* Exact brand blue, independent image layers, and complete pinned sequences. */
:root{--blue:#003e93;--petrol:#003e93}
.manifesto,.image-chapter,.journey,.about-home{overflow-anchor:none}
body::after{opacity:.11;filter:contrast(1.8);background-size:160px 160px}
.nav-cta:hover,.cut-button:hover{background:#003e93;box-shadow:inset 0 0 0 1px #ffffff66}
.nav-cta,.cut-button{transition:box-shadow .3s ease,translate .5s var(--ease)}
.round-link{background:#003e93;color:#fff;border-color:#003e93}
.text-link:hover,.footer-information .footer-primary a:hover,.footer-information .footer-solutions a:hover{color:inherit;text-decoration-color:#003e93}
.text-link span[aria-hidden=true]{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#003e93;color:#fff;font-size:1.25rem}
.solutions-intro h2 em,.faq-heading h2 em,.footer-message em,.image-caption h3 em{color:#fff;text-decoration:underline;text-decoration-color:#003e93;text-decoration-thickness:3px;text-underline-offset:.14em}
.footer-contact .text-link,.faq-item[open] summary,.faq-item summary:hover{color:#fff}
.footer-about>p:first-child,.footer-solutions h2{color:#bcbcbc}
.faq-item .toggle-icon{color:#fff;background:#003e93}
.image-caption .round-link,.footer .round-link{color:#fff;background:#003e93}
.solution-item .text-link:hover,.journey .text-link:hover,.difference .text-link:hover{color:#003e93}

.manifesto-stage,.motion-ready .manifesto-stage{height:100svh;min-height:610px;padding-block:105px 65px}
.motion-ready .manifesto{min-height:0}
.word-reveal .word:last-child.lit{color:inherit}
.motion-ready .word-reveal .word,.motion-ready .word-reveal .word.lit,.motion-ready .word-reveal .word:last-child.lit{background:linear-gradient(90deg,#fff 0%,#fff var(--word-fill,0%),#ffffff38 var(--word-fill,0%),#ffffff38 100%);background-clip:text;-webkit-background-clip:text;color:transparent;transition:none}

.image-stage{position:relative;height:100svh;min-height:660px;isolation:isolate}
.motion-ready .image-stage{position:sticky;top:0}
.image-chapter,.motion-ready .image-chapter{min-height:0}
.image-stage .image-frame,.motion-ready .image-stage .image-frame{position:absolute;inset:0;height:100%;min-height:0;transform:scale(var(--image-scale,1));transform-origin:center;overflow:hidden;z-index:-1}
.image-stage .image-frame>img{height:100%;width:100%;object-fit:cover;transform:none!important}
.image-stage .image-caption{transform:none!important;opacity:1;z-index:1}
.image-static-copy{transform:none!important;opacity:1!important}

.motion-wide .journey-stage{height:100svh;min-height:620px;padding-top:100px;padding-bottom:30px}
.motion-wide .journey-heading h2{font-size:clamp(2.3rem,min(4.1vw,7.1svh),5.4rem)}
.motion-wide .journey-track-window{margin-top:24px;padding-bottom:12px}
.motion-wide .step-number{font-size:clamp(2.8rem,7svh,5.5rem);margin-bottom:18px}
.motion-wide .journey-step h3{font-size:clamp(1.7rem,min(2.55vw,4.7svh),3.2rem)}
.motion-wide .journey-step p{margin-top:16px}
.journey-step[data-active=true] h3{color:#003e93}
.journey-step h3{transition:color .2s ease}
.motion-ready:not(.motion-wide) .journey-steps{grid-template-columns:1fr}
.motion-ready:not(.motion-wide) .journey-step{opacity:var(--step-opacity,1)}

.about-home,.motion-ready .about-home{min-height:0}
.about-stage,.motion-ready .about-stage{height:100svh;min-height:670px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:110px;padding-bottom:60px;gap:28px;text-align:center}
.about-statement,.motion-ready .about-statement{width:100%;margin:0;line-height:1.15;font-size:clamp(2.5rem,min(6.4vw,9.8svh),8rem)}
.statement-line,.motion-ready .statement-line{color:#fff;text-align:center!important;transform-origin:center center}
.statement-line:nth-child(2){color:#fff}
.about-copy{max-width:60ch;margin:0 auto;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.8;color:#bcbcbc;text-align:center}
.motion-ready .about-copy{opacity:var(--about-copy-opacity,0);transform:translateY(var(--about-copy-y,18px));filter:blur(var(--about-copy-blur,3px));will-change:opacity,transform}
.about-bottom{width:100%;display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #ffffff35;padding-top:26px}
.about-bottom .text-link{color:#fff}
.about-bottom .text-link span[aria-hidden=true]{display:inline;width:auto;height:auto;background:none;border-radius:0;color:#003e93;font-size:1.5rem}

.contact-form{border-radius:16px;border:1px solid #ffffff20;padding:clamp(30px,3.7vw,58px);opacity:1!important}
.form-heading{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #ffffff2e}
.form-heading h3{font-size:clamp(1.7rem,2.3vw,2.5rem);font-weight:400;letter-spacing:-.035em;line-height:1.15;color:white}
.form-heading p{font-size:.9375rem;line-height:1.65;color:#ffffffbf;margin-top:12px;max-width:40ch}
.contact-form .form-grid{gap:24px 22px}
.contact-form .form-field label{font-size:.875rem;font-weight:500;margin-bottom:8px;line-height:1.5}
.contact-form .form-field label>span:not(.optional){color:#fff}
.contact-form .optional{color:#ffffffb3;font-size:.8125rem;font-weight:400}
.contact-form .form-field input,.contact-form .form-field select,.contact-form .form-field textarea{background:#00000016;border:1px solid #ffffff40;border-radius:7px;padding:14px 15px;min-height:54px;color:#fff;line-height:1.4;transition:border-color .2s,background .2s}
.contact-form .form-field input::placeholder,.contact-form .form-field textarea::placeholder{color:#ffffff9e}
.contact-form .form-field input:hover,.contact-form .form-field select:hover,.contact-form .form-field textarea:hover{border-color:#ffffff88}
.contact-form .form-field input:focus,.contact-form .form-field select:focus,.contact-form .form-field textarea:focus{border-color:#fff;box-shadow:0 0 0 1px white;background:#00000025;outline:none}
.contact-form .form-field select{padding-right:30px;color-scheme:dark}
.contact-form .form-field select option{color:#151515;background:#fff}
.contact-form .form-field textarea{min-height:124px}
.contact-form .form-field [aria-invalid=true]{border-color:#ffcfbd}
.contact-form .consent-label{font-size:.8125rem;line-height:1.7;margin-top:25px;color:#ffffffd6}
.contact-form .consent-label input{width:19px;height:19px;margin-top:2px}
.contact-form .form-actions{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin-top:27px}
.contact-form .form-submit{max-width:none;width:100%;border-radius:7px;min-height:60px;flex:auto;padding:18px 22px}
.contact-form .form-submit:hover{background:#f1f1f1}
.contact-form .form-required{font-size:.75rem;max-width:none;text-align:right;color:#ffffffb3}
.contact-form .form-demo-note{margin-top:18px;padding-top:18px;border-top:1px solid #ffffff2e;font-size:.8125rem;line-height:1.6;max-width:none;color:#ffffffbf}
.contact-form .form-status:not(:empty){border-radius:6px;background:#00000020;padding:15px 17px}
@media(max-width:700px){.manifesto-stage,.motion-ready .manifesto-stage{min-height:600px;padding-top:100px;padding-bottom:60px}.image-stage{height:100svh;min-height:620px}.image-stage .image-caption{top:12%;bottom:10%}.about-stage,.motion-ready .about-stage{min-height:640px;padding-top:100px;padding-bottom:45px;gap:28px}.about-statement,.motion-ready .about-statement{font-size:clamp(1.7rem,7.5vw,3.1rem);line-height:1.23}.about-copy{font-size:1rem;line-height:1.75;max-width:37ch}.contact-form{border-radius:13px;padding:30px 24px}.form-heading{padding-bottom:24px;margin-bottom:24px}.form-heading h3{font-size:1.9rem}.contact-form .form-grid{gap:22px}.contact-form .form-field input,.contact-form .form-field select,.contact-form .form-field textarea{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.manifesto-stage,.motion-ready .manifesto-stage,.about-stage,.motion-ready .about-stage{height:auto;min-height:0;padding-block:95px}.image-stage,.motion-ready .image-stage{position:relative}.image-stage .image-frame,.motion-ready .image-stage .image-frame{transform:none}.word-reveal .word,.motion-ready .word-reveal .word{background:none;color:#fff}.about-copy,.motion-ready .about-copy{opacity:1;filter:none;transform:none}.journey-step{opacity:1!important}}
@media(max-width:700px){.about-bottom{justify-content:flex-start;align-items:flex-start}}

/* Continuous motion and balanced editorial spacing. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){.card-three{left:50%;right:auto;translate:-50% 0}}
.card-two .card-picture>img{object-position:center}
.header{transition:height .5s var(--ease),background .5s,opacity .5s ease,translate .5s ease,visibility 0s linear 0s}
.header.at-footer{opacity:0;translate:0 -12px;visibility:hidden;pointer-events:none;transition:height .5s var(--ease),background .5s,opacity .5s ease,translate .5s ease,visibility 0s linear .5s}
h1,h2,h3,p,summary,.text-link{ text-wrap:balance }
.manifesto-foot{justify-content:center;gap:0}
.image-caption-bottom p{max-width:43ch}
.journey-step,.journey-step:nth-child(n){transition:none}
.journey-step h3,.journey-step[data-active=true] h3{color:color-mix(in srgb,#003e93 calc(var(--step-focus,0)*100%),#151515);transition:none}
.about-stage,.motion-ready .about-stage{justify-content:flex-start;padding-bottom:30px;gap:0}
.about-content{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding-block:20px 48px}
.statement-line:nth-child(2),.motion-ready .statement-line:nth-child(2){color:#003e93}
.about-copy,.motion-ready .about-copy{opacity:1;transform:none;filter:none;will-change:auto}
.copy-word{display:inline-block;white-space:nowrap}
.motion-ready .copy-letter{opacity:var(--letter-opacity,0)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.about-bottom{flex-shrink:0;padding-top:20px}
.contact-form{padding:28px}
.form-heading{padding-bottom:16px;margin-bottom:16px}
.form-heading h3{font-size:1.9rem}
.form-heading p{margin-top:8px;line-height:1.45;max-width:none}
.contact-form .form-grid{grid-template-columns:1fr 1fr;gap:14px 18px}
.contact-form .form-field label{margin-bottom:5px;line-height:1.35}
.contact-form .form-field input,.contact-form .form-field select,.contact-form .form-field textarea{min-height:44px;padding:10px 12px;font-size:1rem}
.contact-form .form-field textarea{min-height:68px;height:68px;resize:vertical}
.contact-form .consent-label{margin-top:14px;line-height:1.45}
.contact-form .form-actions{flex-direction:row;align-items:center;gap:16px;margin-top:16px}
.contact-form .form-submit{min-height:46px;padding:12px 18px;width:auto;flex:1}
.contact-form .form-required{flex:0 0 auto;text-align:right}
.contact-form .form-demo-note{margin-top:12px;padding-top:12px;line-height:1.45}
@media(min-width:901px) and (max-height:800px){.contact-form{padding:22px}.form-heading{padding-bottom:12px;margin-bottom:12px}.form-heading p{display:none}.contact-form .form-grid{gap:12px 16px}.contact-form .consent-label{margin-top:12px}.contact-form .form-actions{margin-top:12px}.contact-form .form-demo-note{margin-top:10px;padding-top:10px}}
@media(max-width:1100px) and (min-width:901px){.contact-layout{grid-template-columns:.7fr 1.3fr;gap:28px}}
@media(max-width:700px){.about-stage,.motion-ready .about-stage{padding-bottom:25px;gap:0}.about-content{gap:24px;padding-bottom:40px}.contact-form{padding:24px}.form-heading h3{font-size:1.7rem}}
@media(max-width:540px){.contact-form .form-grid{grid-template-columns:1fr}.contact-form .form-actions{flex-wrap:wrap}.contact-form .form-required{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.motion-ready .copy-letter{opacity:1}.about-content{flex:auto;padding-bottom:40px}.journey-step h3{color:#151515}}

.footer-information .footer-primary{justify-content:space-between;width:100%}
@media(max-width:700px){.footer-information .footer-primary{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.footer-information .footer-primary a:nth-of-type(even){justify-self:start}}

/* Restrained brand signature with generous surrounding space. */
.footer .footer-signature{margin:0 auto;padding:55px 0 65px;width:min(42vw,520px);max-width:calc(100% - 2 * var(--pad));overflow:visible}
.footer .footer-signature img{width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.footer .footer-signature{width:min(58vw,260px);padding:40px 0 45px}}
