/* Apto: editorial pacing, restrained blue, and scroll-driven depth. */
body::after{content:'';position:fixed;inset:0;z-index:90;background:url('assets/grain.svg') repeat;opacity:.045;pointer-events:none}
.nav-cta,.cut-button{background:var(--blue);color:#fff}.nav-cta:hover,.cut-button:hover{background:#003e93}
.button-arrow{border-color:#ffffff30}.reading-progress{background:#003e93}
.round-link{border-color:#003e93;color:#003e93}.round-link:hover{background:var(--blue);color:white;border-color:var(--blue)}
.text-link>span{color:#003e93}.text-link:hover{color:#003e93}
.vision-heading h2 em{color:var(--blue)}.card-copy h3:after{width:40px;height:3px}
.manifesto{padding:0;max-width:none}.manifesto-stage{padding:110px var(--pad) 95px;min-height:78svh;display:flex;flex-direction:column;justify-content:center;align-items:center}
.word-reveal{margin:0 auto}.word-reveal .word{transition:color .65s ease}.word-reveal .word:last-child.lit{color:#003e93}
.motion-ready .manifesto{height:145svh;min-height:1050px}.motion-ready .manifesto-stage{position:sticky;top:0;min-height:90svh}
.image-chapter{overflow:visible}.image-frame{position:relative;inset:auto;height:100svh;min-height:660px;clip-path:none;transform-origin:center}
.motion-ready .image-chapter{height:178svh;min-height:1280px}.motion-ready .image-frame{position:sticky;top:0;transform:scale(var(--image-scale,.7));will-change:transform}
.image-caption h3{margin-top:0}.image-caption h3 em{color:#003e93}

/* Solutions occupy a succession of overlapping editorial panels. */
.solutions{padding-block:110px 120px}.solutions-layout{grid-template-columns:.9fr 1.1fr;gap:clamp(45px,7vw,120px)}
.solutions-intro{top:160px}.solutions-intro .home-title{font-size:clamp(2.8rem,5.25vw,6.4rem)}.solutions-intro h2 em{color:#003e93}
.solution-list{border:0;padding-top:20px}.solution-item{position:relative;background:#f5f5f3;color:#151515;border:1px solid #d4d4d4;border-top:3px solid #003e93;padding:clamp(28px,3.4vw,55px);margin-bottom:36px;min-height:430px;scroll-margin-top:120px;transform-origin:50% 0;box-shadow:0 25px 60px #0003}
.solution-anchor{display:block;height:0;scroll-margin-top:125px}
.solution-item:nth-child(2){background:#fff}.solution-item:nth-child(3){background:#ededeb}.solution-item:nth-child(4){background:#fff}
.solution-item h3{font-size:clamp(2rem,3.2vw,4rem);font-weight:400;letter-spacing:-.045em;line-height:1.08;max-width:12ch;margin-bottom:28px}
.solution-body{padding:0}.solution-body>p{color:#595959;font-size:1rem;line-height:1.75}.solution-tags{margin-block:28px}.solution-tags span{background:#003e93;color:#fff;border-color:#003e93;padding:8px 14px;font-size:.875rem}
.solution-item .text-link{color:#151515;font-size:.875rem}.solution-item .text-link>span{color:#003e93}.solution-item .text-link:hover{color:#003e93}
.motion-wide .solution-item{position:sticky;top:125px;margin-bottom:100px;transform:scale(var(--panel-scale,1)) rotate(var(--panel-angle,0deg));opacity:var(--panel-opacity,1);will-change:transform}
.motion-wide .solution-item:focus-within{transform:none!important;opacity:1!important;z-index:8}
.solutions-note{position:relative;z-index:2;background:#151515;padding-top:25px;margin-top:0}

/* The journey unfolds sideways on large screens, vertically on small screens. */
.journey{padding-block:100px;background:#efefed}.journey-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:end}
.journey-heading h2{font-size:clamp(2.6rem,4.1vw,5.4rem)}.journey-heading h2 em{color:#003e93}.journey-heading .home-copy{max-width:28ch;font-size:1rem}
.journey-track-window{margin-top:65px}.journey-steps{margin:0;gap:38px;grid-template-columns:repeat(2,1fr)}.journey-steps:before,.journey-steps:after{display:none}
.journey-step{padding:0 0 0 26px;border-left:1px solid #b9b9b9}.step-number{font-size:clamp(3.5rem,5.5vw,6rem);line-height:1;font-weight:300;letter-spacing:-.07em;color:#003e93;margin-bottom:25px}
.journey-step h3{font-size:clamp(1.8rem,2.55vw,3.2rem);line-height:1.1;letter-spacing:-.045em}.journey-step p{max-width:38ch;margin-top:22px}
.journey-bottom{margin-top:40px;padding-top:24px}.journey .text-link:hover{color:#003e93}
.motion-wide .journey{padding:0}.motion-wide .journey-stage{position:sticky;top:0;height:100svh;min-height:740px;padding-top:110px;padding-bottom:38px;display:flex;flex-direction:column;justify-content:space-between;overflow:clip}
.motion-wide .journey-track-window{overflow:clip;margin-top:35px;padding-block:8px 20px;flex-shrink:0}
.motion-wide .journey-steps{display:flex;width:max-content;gap:50px;transform:translate3d(var(--journey-x,0px),0,0);will-change:transform}
.motion-wide .journey-step{width:clamp(310px,35vw,530px);flex:0 0 auto;opacity:var(--step-opacity,1);transform:scale(var(--step-scale,1));transform-origin:left center}
.motion-wide .journey-step p{font-size:1rem}.motion-wide .journey-bottom{margin-top:10px}

/* One statement takes focus at a time; the other two recede in depth. */
.about-home{padding:0;overflow:visible}.about-stage{padding-block:100px}.about-top{gap:50px}.about-top .home-copy{font-size:1rem;max-width:47ch}.about-top .plain-label{color:#003e93}
.about-statement{font-size:clamp(2.6rem,min(6.6vw,10.5svh),8.5rem);line-height:1.13;margin-block:70px;letter-spacing:-.06em}
.statement-line{white-space:normal;transform:none;text-align:left!important}.statement-line:nth-child(2){color:#003e93}
.motion-ready .about-home{height:240svh;min-height:1750px}.motion-ready .about-stage{position:sticky;top:0;height:100svh;min-height:700px;padding-top:120px;padding-bottom:55px;display:flex;flex-direction:column;justify-content:space-between}
.motion-ready .about-statement{margin-block:35px;perspective:1200px}
.motion-ready .statement-line{opacity:var(--line-opacity,1);filter:blur(var(--line-blur,0px));transform:translate3d(var(--line-x,0px),0,var(--line-z,0px)) scale(var(--line-scale,1))!important;transform-origin:left center;will-change:transform,filter}
.about-bottom{padding-top:26px}.about-bottom p{font-size:.9375rem}

/* Differentials are staggered full-width typographic spreads. */
.difference{padding-block:120px}.difference-layout{display:block}.difference-heading{position:static;display:grid;grid-template-columns:1.2fr 1fr;gap:24px 80px}
.difference-heading h2{grid-row:1/3}.difference-heading h2 em{color:#003e93}.difference-heading .home-copy{margin-top:0;max-width:36ch}.difference-heading .text-link{margin-top:0;grid-column:2}
.difference-list{margin-top:85px}.difference-item,.difference-item:last-child{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;border-bottom:1px solid #bfbfbf;padding:65px 0;margin:0;transform:translate3d(0,var(--difference-y,0px),0);opacity:var(--difference-opacity,1)}
.difference-item:nth-child(2){margin-left:7%}.difference-item:nth-child(3){margin-left:14%}.difference-item h3{font-size:clamp(2.2rem,4.1vw,5rem);line-height:1.04;color:var(--difference-color,#151515);transition:color .5s ease;max-width:13ch}
.difference-item p{margin:0;max-width:37ch}.difference-line{position:absolute;top:30px;left:0;width:34px;height:2px;margin:0}

/* FAQ changes both surface and scale, while retaining native disclosures. */
.faq{background:#121212;color:white;padding-block:120px}.faq>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.faq-heading{position:sticky;top:155px;display:block;margin:0}.faq-heading h2{font-size:clamp(2.6rem,4.7vw,5.7rem);line-height:1.08}.faq-heading h2 em{color:#003e93}.faq-heading .home-copy{color:#aaa;margin-top:35px}
.faq-list{border-color:#ffffff30}.faq-item{border-color:#ffffff30;opacity:var(--faq-opacity,1);transform:translateX(var(--faq-x,0px))}
.faq-item summary{font-size:clamp(1.125rem,1.5vw,1.6rem);line-height:1.45;padding-block:29px;letter-spacing:-.02em}.faq-item summary:hover,.faq-item[open] summary{color:#003e93}
.faq-item .toggle-icon{border:0;border-radius:0;color:#003e93}.faq-item[open] .toggle-icon{background:#003e93;color:#fff}
.faq-answer{padding:0 15px 30px 0}.faq-answer p{color:#b8b8b8}.faq-answer .text-link{color:white}.faq-answer .text-link>span{color:#003e93}

/* Only the contact panel uses blue across a large surface. */
.contact{background:#eeeeec;padding-block:120px}.contact-layout{grid-template-columns:.85fr 1.3fr;gap:clamp(40px,6vw,110px);align-items:center;perspective:1400px}
.contact-intro h2{font-size:clamp(2.9rem,5.25vw,6.6rem)}.contact-intro h2 em{color:#003e93}.contact-intro .home-copy{max-width:29ch}.contact-detail{margin-top:45px}
.contact-form{background:#003e93;color:#fff;padding:clamp(30px,4vw,65px);border-radius:2px;box-shadow:0 35px 65px #0000001a;transform-origin:center 80%;transform:translate3d(0,var(--contact-y,0px),0) rotateX(var(--contact-angle,0deg));opacity:var(--contact-opacity,1);border-top:1px solid #003e93}
.contact-form:focus-within{transform:none!important;opacity:1!important}.contact-form .form-grid{grid-template-columns:1fr 1fr;gap:26px 22px}
.contact-form .form-field label{color:#fff}.contact-form .form-field label>span:not(.optional){color:#fff}.contact-form .optional{color:#ffffffb3}
.contact-form .form-field input,.contact-form .form-field select,.contact-form .form-field textarea{color:white;border-color:#ffffff66;font-size:1rem}.contact-form .form-field select option{background:white;color:#151515}
.contact-form .form-field input::placeholder,.contact-form .form-field textarea::placeholder{color:#ffffffb3}
.contact-form .form-field input:focus,.contact-form .form-field select:focus,.contact-form .form-field textarea:focus{border-color:white;box-shadow:0 1px 0 white}
.contact-form .form-field [aria-invalid=true]{border-color:#ffcfbd}.contact-form .field-error{color:#ffe0d3}.contact-form .consent-label{color:#ffffffdb}.contact-form .consent-label input{accent-color:white}
.contact-form .form-submit{background:#fff;color:#003e93;clip-path:none;min-height:66px;flex:1;max-width:320px}.contact-form .form-submit:hover{background:#f1f1f1}
.contact-form .form-actions{flex-direction:row;align-items:center}.contact-form .form-required,.contact-form .form-demo-note{color:#ffffffc4}.contact-form .form-status:not(:empty){background:#ffffff12;border-color:#fff;color:#fff}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible,.contact-form button:focus-visible{outline:2px solid white;outline-offset:5px}

/* Footer information becomes a hierarchy of horizontal bands, above the full logo. */
.footer{padding-top:110px}.footer-message{font-size:clamp(2.5rem,5.3vw,6.2rem);max-width:21ch}.footer-message em{color:#003e93}.footer-top .round-link{transform:rotate(var(--footer-arrow,0deg))}
.footer-information{display:block;margin-top:60px;padding-bottom:0}.footer-about{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:0 45px}
.footer-about>p:first-child{font-size:1rem;color:#003e93;margin-bottom:0}.footer-about>p:last-child{max-width:44ch;font-size:.9375rem}
.footer-information .footer-primary{display:flex;flex-flow:row wrap;gap:14px 38px;padding-block:32px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}
.footer-primary h2{display:none}.footer-information .footer-primary a{font-size:clamp(1.45rem,2.4vw,2.8rem);line-height:1.25;color:white;letter-spacing:-.04em;padding-block:8px;transition:color .3s,transform .4s}
.footer-information .footer-primary a:hover{color:#003e93;transform:translateY(-4px)}
.footer-information .footer-solutions{display:grid;grid-template-columns:1fr repeat(4,1fr);gap:28px;padding-block:32px;border-bottom:1px solid #ffffff30;align-items:start}
.footer-solutions h2{margin:8px 0;color:#003e93}.footer-information .footer-solutions a{font-size:.9375rem;color:#b9b9b9;padding-block:7px;max-width:20ch}.footer-information .footer-solutions a:hover{color:#003e93}
.footer-contact{display:grid;grid-template-columns:1fr 1.1fr auto;gap:35px;align-items:center;padding-block:35px}.footer-contact h2{display:none}.footer-contact p{font-size:.9375rem}.footer-contact .text-link{color:#003e93;font-size:clamp(1.4rem,2.3vw,2.5rem);letter-spacing:-.04em;margin:0;gap:45px}.footer-contact .text-link>span{font-size:2rem}
.footer-contact .privacy-trigger{margin:0;font-size:.875rem}.footer-reveal{opacity:var(--footer-opacity,1);transform:translateY(var(--footer-shift,0px))}
.footer-signature{padding:35px 0 80px;margin:0 4vw;overflow:visible}.footer-signature img{transform:translate3d(0,var(--signature-y,0px),0) scale(var(--signature-scale,1));opacity:var(--signature-opacity,1);transform-origin:center;will-change:transform}
.footer-bottom{border-top-color:#ffffff20}

@media(max-width:1100px){.solutions-layout{gap:40px}.solution-item{padding:30px}.difference-heading{gap:25px 50px}.difference-item{gap:45px}.faq>.wrap{gap:45px}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:35px}.contact-form .form-grid{grid-template-columns:1fr}.contact-form .form-actions{align-items:flex-start;flex-direction:column}.contact-form .form-submit{width:100%;max-width:none}.footer-information .footer-solutions{grid-template-columns:1fr 1fr 1fr}.footer-solutions h2{grid-column:1/-1;margin:0}.footer-contact{grid-template-columns:1fr 1.1fr}.footer-contact .privacy-trigger{grid-column:1/-1}}
@media(max-width:900px){.solutions-layout{grid-template-columns:1fr}.solutions-intro{position:static;max-width:650px}.solution-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.solution-item{margin:0;min-height:0;box-shadow:0 15px 40px #0002}.solutions-note{grid-column:1/-1;padding-top:10px}.solution-item h3{font-size:2rem;max-width:13ch}.solution-body>p{line-height:1.65}.journey-heading{display:block}.journey-heading .home-copy{margin-top:25px;max-width:42ch}.journey-steps{gap:42px}.difference-heading{display:block}.difference-heading .home-copy{margin-top:25px}.difference-heading .text-link{margin-top:20px}.difference-list{margin-top:45px}.difference-item,.difference-item:last-child{gap:30px;padding-block:50px}.difference-item h3{font-size:2.5rem}.difference-line{top:22px}.faq>.wrap{grid-template-columns:1fr;gap:45px}.faq-heading{position:static}.faq-heading .home-copy{margin-top:22px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-intro{max-width:600px}.contact-form .form-grid{grid-template-columns:1fr 1fr}.contact-form .form-actions{flex-direction:row;align-items:center}.contact-form .form-submit{max-width:320px}.footer-contact .text-link{gap:24px}}
@media(max-width:700px){.manifesto-stage{padding:95px var(--pad) 70px;min-height:80svh}.motion-ready .manifesto{height:140svh;min-height:920px}.motion-ready .manifesto-stage{min-height:85svh}.motion-ready .image-chapter{height:163svh;min-height:1100px}.image-frame{height:88svh;min-height:620px}.image-caption h3{font-size:2.8rem}.solutions,.journey,.difference,.faq,.contact{padding-block:75px}.solutions-intro .home-title{font-size:3rem}.solution-list{grid-template-columns:1fr;gap:30px}.solution-item{padding:30px 26px;transform:translateY(var(--mobile-panel-y,0px));opacity:var(--mobile-panel-opacity,1)}.solution-item h3{font-size:2.3rem;margin-bottom:22px}.solution-tags{margin-block:24px}.journey-track-window{margin-top:45px}.journey-steps{grid-template-columns:1fr;gap:40px;padding:0}.journey-step{padding-left:24px}.step-number{font-size:3.5rem;margin-bottom:22px}.journey-step h3{font-size:2.15rem}.journey-step p{margin-top:16px}.journey-bottom{margin-top:35px}.about-stage{padding-block:75px}.about-top{grid-template-columns:1fr;gap:15px}.about-top .home-copy{font-size:.9375rem}.about-statement{font-size:clamp(1.9rem,7.7vw,3.2rem);margin-block:48px;line-height:1.25}.motion-ready .about-home{height:235svh;min-height:1580px}.motion-ready .about-stage{height:100svh;min-height:660px;padding-top:105px;padding-bottom:35px}.motion-ready .about-statement{margin-block:35px}.about-bottom{align-items:flex-start;gap:18px;padding-top:20px}.about-bottom p{font-size:.875rem}.about-bottom .text-link{font-size:.875rem}.difference-item,.difference-item:last-child{grid-template-columns:1fr;gap:22px;margin-left:0;padding-block:45px}.difference-item h3{font-size:2.8rem;max-width:12ch}.difference-item p{max-width:40ch}.difference-line{top:18px}.faq-heading h2{font-size:2.8rem}.faq-item summary{font-size:1.125rem;padding-block:25px}.contact-intro h2{font-size:3.2rem}.contact-form{padding:30px 24px}.contact-form .form-grid{grid-template-columns:1fr;gap:23px}.contact-form .form-actions{align-items:flex-start;flex-direction:column}.contact-form .form-submit{max-width:none;width:100%}.contact-form .form-required{max-width:none}.contact-form .consent-label{font-size:.875rem}.contact-detail{margin-top:25px}.footer{padding-top:75px}.footer-message{font-size:2.5rem}.footer-top{gap:18px}.footer-information{margin-top:40px}.footer-about{grid-template-columns:1fr;gap:22px;padding-bottom:30px}.footer-information .footer-primary{gap:8px 25px;padding-block:25px}.footer-information .footer-primary a{font-size:1.5rem}.footer-information .footer-solutions{grid-template-columns:1fr 1fr;gap:10px 24px;padding-block:25px}.footer-solutions h2{margin-bottom:10px}.footer-information .footer-solutions a{font-size:.875rem}.footer-contact{grid-template-columns:1fr;gap:20px;padding-block:28px}.footer-contact .text-link{font-size:1.8rem}.footer-contact .privacy-trigger{grid-column:auto}.footer-signature{padding:20px 0 55px;margin-inline:var(--pad)}}
@media(max-width:900px){.solution-list{display:block}.solution-item{margin-bottom:30px}.solutions-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.motion-ready .manifesto,.motion-ready .image-chapter,.motion-ready .about-home,.motion-wide .journey{height:auto!important;min-height:0}.manifesto-stage,.motion-ready .manifesto-stage,.motion-ready .about-stage,.motion-wide .journey-stage{position:relative;height:auto;min-height:0}.motion-ready .image-frame{position:relative;transform:none}.word-reveal .word{color:white}.statement-line,.motion-ready .statement-line{filter:none!important;opacity:1!important;transform:none!important}.solution-item,.difference-item,.faq-item,.contact-form,.footer-reveal,.footer-signature img{transform:none!important;opacity:1!important}.journey-steps{transform:none!important}.journey-step{opacity:1!important;transform:none!important}}
