:root{--navy:#123650;--navy-deep:#0c2a40;--blue:#1f6589;--ink:#19364a;--muted:#607281;--paper:#f7f9f8;--line:#dce5e9;--white:#fff;--mint:#cbe8df;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);background:var(--white);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}em{font-style:normal;color:var(--blue)}.container{width:min(100% - 64px,1180px);margin-inline:auto}.section{padding:112px 0}.eyebrow{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.16em;color:var(--blue);margin-bottom:24px}.eyebrow-light{color:#b8dbe7}.eyebrow-line{display:block;width:28px;height:1px;background:var(--blue)}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 25px;border:1px solid transparent;border-radius:7px;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;line-height:1.2;transition:transform 160ms var(--ease),background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}.button span{font-size:18px;font-weight:400}.button:active{transform:scale(.97)}.button-primary{color:#fff;background:var(--navy);box-shadow:0 8px 20px #12365018}.button-primary:hover{background:#1b4b68;box-shadow:0 10px 24px #12365022}.button-light{color:var(--navy);background:#fff}.button-light:hover{background:#e9f4f4}.button-small{min-height:43px;padding:11px 17px;font-size:12px;gap:14px}.skip-link{position:absolute;z-index:1000;top:-50px;left:16px;padding:9px 15px;background:#fff;border:2px solid var(--blue)}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #64a5c2;outline-offset:3px}
.site-header{height:82px;position:sticky;top:0;z-index:100;background:#ffffffef;border-bottom:1px solid #e9eeef;backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{width:205px;flex:none}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:34px;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:700;color:#486171;transition:color 160ms ease}.desktop-nav a:hover{color:var(--blue)}.header-cta{margin-left:14px}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;overflow:hidden;padding:92px 0 102px;background:linear-gradient(110deg,#fff 0%,#fff 50%,#f5f9f9 100%)}.hero::before{content:"";position:absolute;right:-250px;top:-270px;width:800px;height:800px;background:radial-gradient(circle,#dce9ed70 0%,transparent 65%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:58px}.hero-content h1{font-size:clamp(43px,4.1vw,62px);line-height:1.13;letter-spacing:-.055em;font-weight:800;max-width:640px;margin-bottom:26px}.hero-content h1 em{display:inline-block}.hero-lead{color:#607481;font-size:17px;line-height:1.75;max-width:560px;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid #839da9;padding:6px 0}.text-link span{margin-left:7px;color:var(--blue)}.hero-trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:54px;border-top:1px solid var(--line);padding-top:23px}.hero-trust>span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#536d7c}.check-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e1f2ed;color:#347560;font-size:11px;font-weight:800}
.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.hero-visual::before{content:"";position:absolute;width:445px;height:445px;border-radius:50%;background:#e8f2f2;filter:blur(3px)}.hero-visual-grid{position:absolute;inset:12px;background-image:linear-gradient(#bad5db33 1px,transparent 1px),linear-gradient(90deg,#bad5db33 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,#000 0%,transparent 69%)}.workflow-card{position:relative;z-index:2;width:min(100%,474px);padding:28px;background:#fff;border:1px solid #e3ebee;border-radius:16px;box-shadow:0 30px 75px #1236501c,0 8px 23px #12365010;transform:rotate(-2deg)}.workflow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:19px;border-bottom:1px solid #e8eef0}.overline{font-size:10px;font-weight:800;color:#718c9a;letter-spacing:.17em}.workflow-header h2{font-size:20px;line-height:1.3;letter-spacing:-.035em;margin:8px 0 0}.workflow-symbol{width:39px;height:39px;display:grid;place-items:center;border-radius:8px;background:var(--navy)}.workflow-symbol img{height:27px;width:auto}.workflow-subtitle{font-size:12px;color:#758895;margin:19px 0 10px}.workflow-item{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #edf1f2}.workflow-item>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.workflow-item strong{font:800 13px Manrope;letter-spacing:-.02em}.workflow-item small{font-size:11px;color:#7b8d97}.workflow-icon{display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:9px;background:#eaf2f4;color:#285b72;font:800 11px Manrope}.status-pill{padding:6px 8px;border-radius:99px;background:#e7f4ed;color:#347957;font-size:10px;font-weight:800;white-space:nowrap}.workflow-footer{display:flex;align-items:center;gap:8px;font-size:11px;color:#6d8792;padding-top:18px}.pulse{width:7px;height:7px;border-radius:50%;background:#65af8d;box-shadow:0 0 0 4px #e1f1e9}.floating-tag{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff;border:1px solid #e0e9ea;border-radius:8px;box-shadow:0 12px 28px #12365015;color:#3d6675;font-size:11px;font-weight:800}.tag-top{top:32px;right:-16px;transform:rotate(3deg)}.tag-bottom{left:-18px;bottom:41px;transform:rotate(2deg)}.tag-spark{font-size:19px;color:#6bafac}.mini-bars{height:19px;display:flex;align-items:end;gap:3px}.mini-bars i{display:block;width:4px;background:#60a5a3;border-radius:2px}.mini-bars i:nth-child(1){height:8px}.mini-bars i:nth-child(2){height:13px}.mini-bars i:nth-child(3){height:18px}
.proof-strip{background:var(--navy);color:#dfeef1}.proof-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.proof-inner p{font-size:15px;margin:0}.proof-inner strong{color:#fff}.proof-chips{display:flex;gap:13px;flex-wrap:wrap}.proof-chips span{border:1px solid #ffffff40;padding:9px 13px;border-radius:99px;font-size:11px;font-weight:800;color:#e5f1f3}
.section-services{background:var(--paper)}.section-heading{margin-bottom:46px}.split-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:72px;align-items:end}.section-heading h2,.process-intro h2,.value-copy h2,.faq-grid h2,.contact-intro h2{font-size:clamp(34px,3.4vw,48px);line-height:1.17;letter-spacing:-.047em;font-weight:800;margin:0}.split-heading h2{max-width:690px}.split-heading>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:360px;margin:0 0 5px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{min-height:275px;padding:26px;background:#fff;border:1px solid #e6ebec;border-radius:10px;transition:transform 200ms var(--ease),box-shadow 200ms ease,border-color 200ms ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 13px 31px #1236500e;border-color:#c5d7de}.service-number{font-size:10px;letter-spacing:.13em;font-weight:800;color:#8aa0a9}.service-icon{width:45px;height:45px;display:grid;place-items:center;margin:20px 0 22px;border-radius:10px;background:#eaf3f4}.service-icon svg{width:25px;height:25px;fill:none;stroke:#25607a;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:17px;letter-spacing:-.025em;margin-bottom:9px}.service-card p{font-size:13px;line-height:1.68;color:#657b88;margin:0}.service-card-featured{background:#eaf4f1;border-color:#d6e7e1}.service-card-featured .service-icon{background:#d9eae3}
.section-process{background:var(--navy-deep);color:#fff}.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:120px}.process-intro{padding-top:7px}.process-intro h2{max-width:430px}.process-intro>p:not(.eyebrow){max-width:420px;margin:23px 0 33px;color:#b9cbd4;font-size:15px;line-height:1.75}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:22px 0;border-top:1px solid #ffffff2b}.process-list li:last-child{border-bottom:1px solid #ffffff2b}.process-step{font:800 12px Manrope;color:#a1d6cf;margin-top:5px}.process-list h3{font-size:17px;letter-spacing:-.025em;margin-bottom:8px}.process-list p{font-size:13px;line-height:1.7;color:#aebfca;margin-bottom:0;max-width:435px}
.value-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:center}.value-visual{height:530px;position:relative;display:flex;flex-direction:column;justify-content:end;overflow:hidden;padding:50px;background:#e8f0ef;border-radius:11px}.value-outline{position:absolute;width:410px;height:410px;border:1px solid #b5cfd3;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-62%);box-shadow:0 0 0 70px #e8f0ef,0 0 0 71px #cbdfe0,0 0 0 140px #e8f0ef,0 0 0 141px #cbdfe0}.value-mark{position:absolute;top:28%;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:140px;height:140px;border-radius:28px;background:var(--navy);color:#fff;font:800 90px Manrope;box-shadow:0 18px 35px #12365025}.value-quote{position:relative;z-index:2;font:800 26px/1.35 Manrope;letter-spacing:-.04em;color:var(--navy);max-width:390px}.value-quote em{color:#428486}.value-gridlines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 97%,#fff8 100%);background-size:43px 43px;opacity:.45}.value-copy h2{margin-bottom:22px}.value-lead{font-size:15px;line-height:1.8;color:var(--muted);max-width:510px}.value-points{margin-top:30px}.value-points>div{display:flex;gap:17px;padding:17px 0;border-top:1px solid var(--line)}.value-points>div:last-child{border-bottom:1px solid var(--line)}.point-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;background:#e7f0f0;border-radius:7px;color:#2c7081;font-size:18px}.value-points h3{font-size:14px;letter-spacing:-.015em;margin:0 0 5px}.value-points p{color:#718593;font-size:12px;line-height:1.65;margin:0}
.section-segments{background:#f4f8f8}.centered{text-align:center;max-width:760px;margin:0 auto 35px}.centered .eyebrow{justify-content:center}.centered h2{margin-bottom:18px}.centered>p:last-child{color:var(--muted);font-size:15px;line-height:1.75;max-width:650px;margin:0 auto}.segment-list{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;max-width:970px;margin:auto}.segment-list span{display:inline-flex;align-items:center;gap:11px;background:#fff;border:1px solid #dce8e9;border-radius:6px;padding:15px 21px;font-size:13px;font-weight:800;color:#365969}.segment-list span::before{content:"";width:6px;height:6px;background:#69a6a2;border-radius:50%}.segments-footnote{text-align:center;font-size:12px;color:#748b97;margin:30px 0 0}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:110px}.faq-grid>div:first-child>p:last-child{font-size:15px;line-height:1.75;color:var(--muted);max-width:340px;margin:20px 0 0}.faq-items{border-top:1px solid var(--line)}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:22px 4px;font:800 15px/1.5 Manrope;cursor:pointer}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid #bed1d9;border-radius:50%;font:400 20px DM Sans;line-height:1;transition:transform 180ms var(--ease)}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details p{padding:0 45px 21px 4px;margin:0;font-size:13px;line-height:1.75;color:#667e8a}
.section-contact{background:linear-gradient(115deg,#0e3049,#174661);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .82fr;gap:100px;align-items:center}.contact-intro h2{max-width:620px}.contact-intro>p:not(.eyebrow){color:#c3d7df;font-size:15px;line-height:1.8;max-width:510px;margin:26px 0 34px}.contact-location{display:flex;align-items:center;gap:11px;font-size:13px;color:#d4e6eb;font-weight:700}.contact-location span{font-size:25px;color:#9bd1ca}.contact-panel{background:#fff;color:var(--ink);border-radius:12px;padding:35px;box-shadow:0 23px 55px #071d2d38}.contact-panel h3{font-size:22px;letter-spacing:-.035em;margin-bottom:7px}.contact-panel>p{font-size:13px;color:#6b808d;margin-bottom:25px}.contact-panel form{display:flex;flex-direction:column;gap:8px}.contact-panel label{font-size:11px;font-weight:800;margin-top:8px;color:#345366}.contact-panel input,.contact-panel select{width:100%;height:47px;padding:0 13px;background:#fbfdfd;border:1px solid #d6e3e7;border-radius:5px;color:var(--ink);outline:none}.contact-panel input::placeholder{color:#9aabb4}.contact-panel input:focus,.contact-panel select:focus{border-color:#5d9cb6}.form-button{width:100%;margin-top:17px}.form-feedback{font-size:12px;line-height:1.5;color:#287058;margin:5px 0 0;min-height:0}.form-feedback:empty{display:none}.contact-placeholder{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px;font-size:11px;color:#6f8490}.contact-placeholder strong{color:#536c78;font-size:11px}.contact-placeholder small{font-size:10px;color:#879aa4}
.site-footer{background:#09283d;color:#bed1db}.footer-top{display:grid;grid-template-columns:220px 1fr auto;gap:35px;align-items:center;padding-top:45px;padding-bottom:40px}.footer-brand{width:185px}.footer-brand img{width:100%;height:auto}.footer-top p{font-size:13px;line-height:1.6;max-width:290px;margin:0}.footer-top-link{color:#e7f3f6;font-size:12px;font-weight:800}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:23px;border-top:1px solid #ffffff27;font-size:11px;color:#8eabba}
.value-mark img{height:105px;width:auto}
@media(max-width:1100px){.desktop-nav{gap:19px}.header-inner{gap:17px}.header-cta{margin-left:0}.hero-grid{gap:25px}.tag-top{right:0}.tag-bottom{left:0}.process-grid,.faq-grid{gap:65px}.value-grid,.contact-grid{gap:65px}}
@media(max-width:900px){.container{width:min(100% - 42px,1180px)}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:transparent;padding:9px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);transition:transform 180ms ease,opacity 180ms ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:11px 21px 21px;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 20px #12365010}.mobile-nav a{padding:12px 5px;font-weight:700;font-size:14px}.mobile-nav a:last-child{color:var(--blue)}.hero-grid{grid-template-columns:1fr}.hero{padding:76px 0 50px}.hero-content h1{max-width:700px}.hero-lead{max-width:610px}.hero-trust{margin-top:36px}.hero-visual{min-height:470px;max-width:620px;width:100%;margin:auto}.proof-inner{flex-wrap:wrap;padding:23px 0}.split-heading{grid-template-columns:1fr;gap:20px}.split-heading>p{max-width:610px}.services-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr;gap:42px}.process-intro h2,.process-intro>p:not(.eyebrow){max-width:650px}.value-grid{grid-template-columns:1fr;gap:55px}.value-visual{height:430px}.value-copy{max-width:680px}.faq-grid{grid-template-columns:1fr;gap:40px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-intro{max-width:680px}.contact-panel{max-width:610px}}
@media(max-width:600px){html{scroll-padding-top:70px}.container{width:min(100% - 36px,1180px)}.section{padding:73px 0}.site-header{height:68px}.brand{width:155px}.hero{padding:62px 0 37px}.hero-content h1{font-size:42px;line-height:1.15}.hero-lead{font-size:15px;line-height:1.7}.hero-actions{gap:14px}.hero-actions .button{width:100%}.text-link{margin:4px 0}.hero-trust{gap:12px 18px}.hero-trust>span{font-size:11px}.hero-visual{min-height:365px;margin-top:10px}.hero-visual::before{width:290px;height:290px}.workflow-card{padding:20px;transform:rotate(-1deg)}.workflow-header h2{font-size:15px}.workflow-subtitle{font-size:11px}.workflow-item{gap:8px}.workflow-item strong{font-size:10px}.workflow-item small{font-size:9px}.workflow-icon{width:31px;height:31px;font-size:9px}.status-pill{font-size:8px;padding:5px 6px}.floating-tag{padding:7px 9px;font-size:8px}.tag-top{top:2px;right:0}.tag-bottom{bottom:8px;left:0}.proof-inner{gap:17px}.proof-inner p{font-size:13px}.proof-chips span{font-size:10px;padding:7px 10px}.section-heading h2,.process-intro h2,.value-copy h2,.faq-grid h2,.contact-intro h2{font-size:35px}.services-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:0;padding:23px}.service-icon{margin:18px 0}.process-list li{grid-template-columns:38px 1fr;gap:13px}.value-visual{height:360px;padding:30px}.value-outline{width:270px;height:270px}.value-mark{width:100px;height:100px;font-size:66px}.value-quote{font-size:21px}.segment-list{justify-content:start;gap:9px}.segment-list span{padding:11px 13px;font-size:11px}.faq-items summary{font-size:13px}.contact-panel{padding:23px}.footer-top{grid-template-columns:1fr;gap:17px}.footer-brand{width:175px}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.menu-toggle span,.faq-items summary span{transition:none}}

/* Motion and pacing: the content stays usable before JavaScript starts. */
.page-progress{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;pointer-events:none}
.page-progress>span{display:block;width:100%;height:100%;background:#69b5b2;transform:scaleX(0);transform-origin:left center}
.section-services{padding-block:102px 96px}
.section-services .section-heading{margin-bottom:37px}
.service-card{position:relative;min-height:285px;overflow:hidden;padding:31px}
.service-card .service-icon{margin:31px 0 27px;width:52px;height:52px}
.service-card h3{font-size:21px;margin-bottom:11px}
.service-card p{font-size:14px;line-height:1.65;max-width:310px}
.service-card .card-index{position:absolute;right:23px;bottom:5px;color:#154b61;opacity:.075;font:800 74px/1 Manrope;letter-spacing:-.08em;pointer-events:none}
.services-note{margin:27px 0 0;text-align:center;color:#6b818e;font-size:13px;line-height:1.6}
.services-note strong{color:var(--navy)}
.process-track{position:relative}
.process-track::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#ffffff29}
.process-progress{position:absolute;z-index:1;left:0;top:0;bottom:0;width:2px;background:#9fded8;transform:scaleY(0);transform-origin:center top}
.process-list{padding-left:27px}
.process-list li{min-height:126px;align-items:start;padding-block:26px;transition:border-color 200ms ease}
.process-step{transition:color 180ms ease,transform 180ms var(--ease)}
.process-list li.is-current .process-step{color:#e1fff9;transform:translateX(3px)}
.process-list li.is-current h3{color:#e8fffc}
.process-intro{position:sticky;top:122px;align-self:start}
.value-visual{isolation:isolate}
.value-mark{z-index:1}
.value-quote{z-index:2}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity 520ms var(--ease),transform 520ms var(--ease)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .service-card.is-visible{transition:opacity 520ms var(--ease),transform 200ms var(--ease),border-color 200ms ease}
.button>span{display:inline-block;transition:transform 170ms var(--ease)}
.text-link>span{display:inline-block;transition:transform 170ms var(--ease)}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 210ms var(--ease)}
.segment-list span{transition:transform 190ms var(--ease),border-color 190ms ease,background-color 190ms ease}
.faq-items summary{transition:color 170ms ease}

@media(hover:hover) and (pointer:fine){
  .button:hover>span{transform:translate3d(3px,-3px,0)}
  .text-link:hover>span{transform:translate3d(0,3px,0)}
  .desktop-nav a:hover::after{transform:scaleX(1)}
  .service-card:hover,.motion-ready .service-card.is-visible:hover{transform:translate3d(0,-5px,0)}
  .service-card:hover .service-icon{transform:translate3d(0,-3px,0)}
  .segment-list span:hover{transform:translate3d(0,-3px,0);border-color:#a8c9cc;background:#fbffff}
  .faq-items summary:hover{color:var(--blue)}
}
.service-icon{transition:transform 200ms var(--ease)}
.button{transition:transform 150ms var(--ease),background-color 180ms ease,border-color 180ms ease}
.service-card{transition:transform 200ms var(--ease),border-color 200ms ease}
@media(hover:none){
  a,button,summary{-webkit-tap-highlight-color:transparent}
  .service-card:hover{transform:none;box-shadow:none;border-color:#e6ebec}
  .service-card-featured:hover{border-color:#d6e7e1}
  .button-primary:hover{background:var(--navy);box-shadow:0 8px 20px #12365018}
  .button-light:hover{background:#fff}
}
@media(max-width:900px){.process-intro{position:static}.service-card{min-height:260px}.motion-ready [data-reveal]{transform:none}}
@media(max-width:600px){.section-services{padding-block:73px}.services-grid{grid-template-columns:1fr}.service-card{min-height:225px;padding:24px}.service-card .service-icon{margin:18px 0 17px;width:45px;height:45px}.service-card h3{font-size:18px}.service-card p{font-size:13px}.service-card .card-index{font-size:59px}.process-list{padding-left:17px}.process-list li{min-height:110px}.process-grid{gap:30px}}
@media(prefers-reduced-motion:reduce){
  .page-progress,.process-track::before,.process-progress{display:none}
  .motion-ready [data-reveal],.motion-ready [data-reveal].is-visible{opacity:1;transform:none;transition:none}
  .button>span,.text-link>span,.desktop-nav a::after,.segment-list span,.service-icon,.process-step,.faq-items summary{transition:none}
  .service-card:hover,.motion-ready .service-card.is-visible:hover,.segment-list span:hover,.service-card:hover .service-icon{transform:none}
}

/* A continuous scroll choreography, with a calm reading zone in each section. */
.hero{isolation:isolate}
.hero-watermark{position:absolute;z-index:0;right:-.045em;bottom:-.14em;color:transparent;-webkit-text-stroke:1px #77a7b5;font:800 clamp(160px,25vw,390px)/1 Manrope,sans-serif;letter-spacing:-.105em;opacity:.13;white-space:nowrap;pointer-events:none}
.hero-grid{z-index:1}
.scroll-band{height:152px;display:flex;align-items:center;overflow:hidden;background:#eaf2f2;border-top:1px solid #d7e5e6;border-bottom:1px solid #d7e5e6;pointer-events:none}
.scroll-band-track{width:max-content;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #86acb7;font:800 clamp(72px,8vw,116px)/1 Manrope,sans-serif;letter-spacing:-.075em;transform:translate3d(0,0,0)}
.scroll-band-track span{color:#4f9697;-webkit-text-stroke:0;margin-inline:.18em}
.scroll-scrub [data-reveal]{transition:none;transform:none}
.scroll-scrub .service-card{transition:border-color 200ms ease,box-shadow 200ms ease}
.scroll-scrub .process-list li{transition:border-color 200ms ease}
.section-process{overflow:clip}
.value-visual{transform-origin:50% 55%}
@media(min-width:901px){
  .hero{min-height:min(770px,calc(100svh - 82px));display:flex;align-items:center}
  .hero-content,.hero-visual,.hero-watermark,.hero-visual-grid,.workflow-card,.floating-tag,.value-visual,.value-outline,.value-mark,.value-quote{backface-visibility:hidden}
}
@media(max-width:900px){
  .scroll-band{height:98px}
  .scroll-band-track{font-size:67px}
  .hero-watermark{font-size:clamp(120px,29vw,240px);bottom:2%}
}
@media(max-width:600px){
  .scroll-band{height:78px}
  .scroll-band-track{font-size:53px}
  .hero-watermark{right:-.2em;bottom:5%;font-size:125px}
}
@media(prefers-reduced-motion:reduce){
  .scroll-band-track,.hero-content,.hero-visual,.hero-watermark,.hero-visual-grid,.workflow-card,.floating-tag,.value-visual,.value-outline,.value-mark,.value-quote,.scroll-scrub [data-reveal]{translate:none!important;scale:none!important;opacity:1!important;transition:none!important}
  .scroll-band-track{transform:none!important}
}

/* A smaller brand ribbon keeps the motion while matching the site's typography. */
.scroll-band{height:92px;background:#eaf2f2}
.scroll-band-track{color:#24546a;-webkit-text-stroke:0;font-size:clamp(34px,3.6vw,51px);font-weight:800;letter-spacing:-.055em;opacity:.78}
.scroll-band-track span{color:#59a19d;font-size:.56em;vertical-align:.12em;margin-inline:.55em}

/* The six markets unfold sideways as the visitor scrolls down. */
.section-segments{height:1950px;padding:0;position:relative;overflow:clip;background:#eff5f4}
.segments-stage{position:sticky;top:82px;height:calc(100svh - 82px);min-height:690px;display:flex;flex-direction:column;justify-content:center;padding-block:30px}
.segments-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end;margin-bottom:20px}
.segments-heading h2{font-size:clamp(34px,3.35vw,48px);line-height:1.16;letter-spacing:-.047em;max-width:720px;margin:0}
.segments-heading>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:365px;margin:0 0 4px}
.segments-heading .eyebrow{margin-bottom:18px}
.segments-progress{display:flex;align-items:center;gap:20px;margin:12px 0 18px;color:#2a6376;font:800 12px Manrope,sans-serif;letter-spacing:.09em}
.segments-progress-divider{color:#a6bec6;margin-inline:3px}
.segments-progress-track{height:2px;flex:1;background:#cbdde0;overflow:hidden}
.segments-progress-track>span{display:block;height:100%;width:100%;background:#3c858d;transform:scaleX(0);transform-origin:left}
.segments-progress-hint{font:700 11px 'DM Sans',sans-serif;letter-spacing:0;color:#708995;white-space:nowrap}
.segments-progress-hint span{font-size:17px;margin-left:5px}
.segments-viewport{overflow:hidden;margin-inline:calc((min(100vw - 64px, 1180px) - 100vw)/2);padding-inline:max(32px,calc((100vw - 1180px)/2));}
.segments-track{display:flex;gap:18px;width:max-content;transform:translate3d(0,0,0)}
.segment-card{flex:none;width:clamp(290px,32vw,410px);margin:0;padding:9px 9px 0;background:#fff;border:1px solid #dce7e8;border-radius:13px;box-shadow:0 18px 48px #12365012;overflow:hidden;transform-origin:center center}
.segment-card img{width:100%;height:clamp(280px,34vh,330px);object-fit:cover;border-radius:7px;background:#dce8e9}
.segment-card figcaption{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:95px;padding:12px 15px 16px}
.segment-card figcaption span{font:800 10px Manrope,sans-serif;letter-spacing:.13em;color:#58939b}
.segment-card h3{font-size:19px;line-height:1.25;letter-spacing:-.025em;margin:0;color:var(--navy)}
.segments-footnote{text-align:left;margin:16px 0 0;font-size:11px;color:#748b97}
.segments-footnote span{margin-left:5px}

/* Numbered, linked steps and a changing detail panel follow the reference interaction. */
.section-process{padding:0;background:#0c2a40;overflow:clip}
.process-story-head{text-align:center;padding-top:94px;padding-bottom:35px}
.process-story-head .eyebrow{justify-content:center;margin-bottom:18px}
.process-story-head h2{font-size:clamp(36px,3.7vw,52px);line-height:1.13;letter-spacing:-.05em;margin:0 0 18px}
.process-story-head>p:last-child{max-width:620px;margin:auto;color:#bed1d9;font-size:15px;line-height:1.7}
.process-story{height:2100px;position:relative}
.process-stage{position:sticky;top:82px;height:calc(100svh - 82px);min-height:625px;display:flex;flex-direction:column;justify-content:center;gap:17px;padding-block:18px}
.process-tabs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:#102f46;border:1px solid #2e5164;border-radius:17px;padding:24px 20px 20px;isolation:isolate}
.process-tabs-line{position:absolute;z-index:-1;top:47px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:2px;background:#456577}
.process-tabs-line>span{display:block;width:100%;height:100%;background:#8cd5c7;transform:scaleX(0);transform-origin:left}
.process-tab{appearance:none;border:0;background:transparent;color:#a7bbc6;min-width:0;display:flex;align-items:center;flex-direction:column;gap:7px;padding:0 8px 0;transition:color 190ms ease}
.process-tab-number{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#163a51;border:2px solid #527186;box-shadow:0 0 0 4px #102f46;font:800 13px Manrope,sans-serif;transition:background-color 190ms ease,border-color 190ms ease,box-shadow 190ms ease,transform 190ms var(--ease)}
.process-tab strong{color:#d4e2e7;font:800 13px Manrope,sans-serif}
.process-tab small{font:800 9px Manrope,sans-serif;letter-spacing:.1em;color:#809dab}
.process-tab.is-active .process-tab-number{background:#77c5b9;color:#092d3d;border-color:#b8ebe1;box-shadow:0 0 0 4px #1d5c63,0 0 23px #77c5b966;transform:scale(1.1)}
.process-tab.is-active strong{color:#fff}
.process-tab.is-active small{color:#98ddd1}
.process-tab:hover .process-tab-number{border-color:#a3d9d3}
.process-panel{min-height:355px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:39px 50px;background:radial-gradient(circle at 80% 35%,#1e5970 0%,#10364d 42%,#102e44 100%);border:1px solid #315469;border-radius:17px;overflow:hidden;animation:process-panel-in 420ms var(--ease) both}
.process-panel[hidden]{display:none}
.process-panel-copy{position:relative;z-index:2}
.process-panel-label{display:inline-flex;border:1px solid #5e9b9b;border-radius:99px;padding:7px 12px;color:#9cddd1;font:800 10px Manrope,sans-serif;letter-spacing:.11em}
.process-panel h3{font-size:clamp(25px,2.7vw,36px);line-height:1.17;letter-spacing:-.04em;margin:22px 0 14px;color:#fff}
.process-panel p{font-size:16px;line-height:1.7;max-width:480px;color:#c9d9df;margin:0 0 28px}
.process-panel-note{font-size:12px;color:#96d2c8;border-left:2px solid #6dc0b4;padding-left:13px}
.process-art{height:260px;position:relative;display:grid;place-items:center}
.process-art-orbit{position:absolute;width:245px;height:245px;border:1px solid #77b4b461;border-radius:50%;box-shadow:0 0 0 42px #ffffff07,0 0 0 43px #77b4b42b}
.process-art-core{position:relative;z-index:1;width:105px;height:105px;display:grid;place-items:center;background:#d5f0e7;color:#134b5a;border-radius:25px;box-shadow:0 18px 40px #041e2e61;font:800 45px Manrope,sans-serif;letter-spacing:-.08em}
.process-art-chip{position:absolute;z-index:2;padding:10px 15px;background:#f7fcfb;color:#16445a;border:1px solid #d5e9e6;border-radius:8px;box-shadow:0 9px 25px #09263836;font:800 11px Manrope,sans-serif;white-space:nowrap}
.process-art-chip.chip-a{top:6px;left:10px;transform:rotate(-4deg)}
.process-art-chip.chip-b{top:36px;right:5px;transform:rotate(4deg)}
.process-art-chip.chip-c{bottom:10px;left:27%;transform:rotate(-2deg)}
.process-cta{display:inline-flex;align-self:center;gap:18px;align-items:center;color:#dff5f1;border-bottom:1px solid #84b9b2;padding:8px 2px;font:800 13px Manrope,sans-serif}
.process-cta span{font-size:19px;transition:transform 170ms var(--ease)}
.process-cta:hover span{transform:translate3d(3px,-3px,0)}
@keyframes process-panel-in{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

@media(max-width:900px){
  .scroll-band{height:72px}.scroll-band-track{font-size:37px}
  .section-segments{height:auto;overflow:hidden;padding:74px 0 66px}
  .segments-stage{position:static;height:auto;min-height:0;padding:0}
  .segments-heading{grid-template-columns:1fr;gap:15px}
  .segments-heading h2{max-width:650px}
  .segments-heading>p{max-width:600px}
  .segments-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;margin-inline:-21px;padding-inline:21px}
  .segments-viewport::-webkit-scrollbar{display:none}
  .segments-track{transform:none!important;padding-block:6px 14px}
  .segment-card{scroll-snap-align:center;opacity:1!important;scale:1!important}
  .segments-progress-hint{font-size:0}.segments-progress-hint span{font-size:16px}
  .process-story-head{padding-top:76px;padding-bottom:23px}
  .process-story{height:auto}
  .process-stage{position:static;height:auto;min-height:0;padding-bottom:77px}
  .process-tabs{padding-inline:9px}.process-tab{padding-inline:3px}.process-tab strong{font-size:11px}.process-tab small{font-size:8px}
  .process-panel{min-height:350px;padding:30px;grid-template-columns:1fr .8fr}
}
@media(max-width:600px){
  .scroll-band{height:65px}.scroll-band-track{font-size:29px}
  .segments-heading h2{font-size:35px}.segments-heading>p{font-size:14px}
  .segments-viewport{margin-inline:-18px;padding-inline:18px}
  .segment-card{width:min(78vw,340px)}.segment-card img{height:270px}.segment-card figcaption{min-height:80px}
  .segments-progress{gap:12px}.segments-progress-hint{display:none}
  .process-story-head h2{font-size:36px}
  .process-tabs{border-radius:11px;padding:18px 4px 16px}
  .process-tabs-line{top:38px;left:12.5%;right:12.5%}
  .process-tab-number{width:39px;height:39px;font-size:11px}
  .process-tab strong{font-size:10px}.process-tab small{font-size:7px;line-height:1.3}
  .process-panel{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:26px 23px;min-height:0}
  .process-panel h3{font-size:27px}.process-panel p{font-size:14px;margin-bottom:16px}
  .process-art{height:205px;margin-top:10px}.process-art-orbit{width:155px;height:155px;box-shadow:0 0 0 28px #ffffff07,0 0 0 29px #77b4b42b}
  .process-art-core{width:77px;height:77px;border-radius:18px;font-size:34px}
  .process-art-chip{font-size:9px;padding:8px 9px}.process-art-chip.chip-a{left:0}.process-art-chip.chip-b{right:0}
}
@media(prefers-reduced-motion:reduce){
  .section-segments{height:auto!important;overflow:hidden;padding:74px 0 66px}
  .segments-stage{position:static;height:auto;min-height:0;padding:0}
  .segments-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .segments-track{transform:none!important}
  .process-story{height:auto!important}
  .process-stage{position:static;height:auto;min-height:0;padding-bottom:76px}
  .process-panel{animation:none}
  .process-tab-number,.process-cta span{transition:none}
  .segment-card{transform:none!important;scale:1!important;opacity:1!important}
}

/* Compact brand ribbon: a quiet transition, not another headline. */
.scroll-band{height:47px!important;background:#edf4f4}
.scroll-band-track{color:#477388;font:700 clamp(16px,1.65vw,21px)/1 Manrope,sans-serif;letter-spacing:-.025em;opacity:.72}
.scroll-band-track span{font-size:.65em;vertical-align:.08em;margin-inline:.85em;color:#77aaa8}

/* Services appear as an organized operating system rather than generic cards. */
.section-services{padding-block:94px 88px}
.section-services .section-heading{margin-bottom:39px}
.services-grid{gap:0;border-top:1px solid #cddfe2;border-bottom:1px solid #cddfe2}
.service-card,.service-card-featured{min-height:304px;padding:31px 30px 36px;border:0;border-right:1px solid #cddfe2;border-radius:0;background:transparent;box-shadow:none!important;transform:none;transition:background-color 240ms ease}
.service-card:last-child{border-right:0}
.service-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:#64ada8;transform:scaleX(0);transform-origin:left;transition:transform 420ms var(--ease)}
.service-card .service-icon,.service-card-featured .service-icon{width:60px;height:60px;margin:31px 0 30px;background:#e2eeee;border:1px solid #cfdfdf;border-radius:50%;transition:transform 350ms var(--ease),background-color 240ms ease}
.service-card .service-icon svg{width:27px;height:27px}
.service-card h3{font-size:20px}
.service-card p{max-width:290px}
.service-card .card-index{right:25px;bottom:17px;font-size:59px;opacity:.055}
.section-services.is-in-view .section-heading{animation:service-arrive 700ms var(--ease) both}
.section-services.is-in-view .service-card{animation:service-arrive 740ms var(--ease) both}
.section-services.is-in-view .service-card:nth-child(2){animation-delay:120ms}
.section-services.is-in-view .service-card:nth-child(3){animation-delay:240ms}
.section-services.is-in-view .services-note{animation:service-arrive 650ms var(--ease) 300ms both}
@keyframes service-arrive{from{opacity:.15;translate:0 28px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){
  .service-card:hover,.motion-ready .service-card.is-visible:hover{transform:none;background:#eaf3f2;border-color:#cddfe2}
  .service-card:hover::before{transform:scaleX(1)}
  .service-card:hover .service-icon{transform:translateY(-5px) rotate(-8deg);background:#d5eae7}
}

/* The timeline changes only through interaction. Its illustration keeps moving. */
.process-story{height:auto!important}
.process-stage{position:static;height:auto;min-height:0;gap:18px;padding-block:20px 92px}
.process-story-head{padding-top:88px;padding-bottom:20px}
.process-panel{min-height:340px}
.process-tab{touch-action:manipulation}
.process-tab:active .process-tab-number{transform:scale(.96)}
.process-panel.is-active .process-art-orbit{border-style:dashed;border-width:2px}
.section-process.is-in-view .process-panel.is-active .process-art-orbit{animation:process-orbit 16s linear infinite}
.section-process.is-in-view .process-panel.is-active .process-art-core{animation:process-heartbeat 2.2s ease-in-out infinite}
.section-process.is-in-view .process-panel.is-active .process-art-chip{animation:process-float 3s ease-in-out infinite}
.process-panel.is-active .process-art-chip.chip-b{animation-delay:-1s}
.process-panel.is-active .process-art-chip.chip-c{animation-delay:-2s}
.process-art::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,transparent 36%,#a8e9e70d 50%,transparent 64%);background-size:240% 100%;pointer-events:none}
.section-process.is-in-view .process-panel.is-active .process-art::after{animation:process-sheen 4.4s linear infinite}
@keyframes process-orbit{to{transform:rotate(360deg)}}
@keyframes process-heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.065)}}
@keyframes process-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes process-sheen{to{background-position:-240% 0}}

/* A working rhythm makes the promise of organization tangible. */
.value-visual{height:500px;padding:30px;background:linear-gradient(145deg,#e6f0ef,#d8e9e7);justify-content:space-between;border:1px solid #d1e2e0}
.value-visual::before{content:"";position:absolute;width:420px;height:420px;right:-180px;top:-175px;border:1px solid #b8d6d6;border-radius:50%;box-shadow:0 0 0 60px #e6f0ef77,0 0 0 61px #b8d6d688,0 0 0 120px #e6f0ef55,0 0 0 121px #b8d6d855;pointer-events:none}
.value-demo{position:relative;z-index:1;width:100%;padding:0 23px 17px;background:#fff;border:1px solid #d3e3e4;border-radius:10px;box-shadow:0 22px 50px #12365013}
.value-demo-head{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e8eeee;color:#5e8292;font:800 10px Manrope,sans-serif;letter-spacing:.12em}
.value-demo-live{display:flex;align-items:center;gap:7px;color:#398178;font-size:9px;white-space:nowrap;letter-spacing:.06em}
.value-demo-live i{width:7px;height:7px;border-radius:50%;background:#64b39e;box-shadow:0 0 0 4px #e7f4ef}
.value-demo-row{display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:12px;min-height:59px;border-bottom:1px solid #ecf1f1;color:#264b5d;font-size:12px;font-weight:700}
.value-demo-index{font:800 10px Manrope,sans-serif;color:#8aa9b3}
.value-demo-check{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e4f3eb;color:#37886d;font-size:12px;font-weight:800}
.value-demo-progress{height:3px;background:#e2efec;margin:17px 0 13px;overflow:hidden}
.value-demo-progress span{display:block;width:100%;height:100%;background:#5daea5;transform:scaleX(0);transform-origin:left}
.value-demo-footer{display:flex;align-items:center;justify-content:space-between;color:#728c98;font-size:10px;font-weight:700}
.value-demo-footer span:last-child{font-size:18px;color:#4b8d8b}
.value-quote{font-size:23px;line-height:1.32;max-width:390px}
.section-value.is-in-view .value-demo-progress span{animation:value-progress 6s linear infinite}
.section-value.is-in-view .value-demo-row{animation:value-row 6s linear infinite}
.section-value.is-in-view .value-demo-row:nth-child(2){animation-delay:-4s}
.section-value.is-in-view .value-demo-row:nth-child(3){animation-delay:-2s}
.section-value.is-in-view .value-demo-live i{animation:process-heartbeat 2s ease-in-out infinite}
.section-value.is-in-view .value-copy{animation:service-arrive 700ms var(--ease) both}
@keyframes value-progress{0%{transform:scaleX(0)}84%,100%{transform:scaleX(1)}}
@keyframes value-row{0%,18%,100%{background:transparent}8%{background:#eaf5f2}}

@media(max-width:900px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .service-card:nth-child(2){border-right:0}
  .service-card:last-child{grid-column:1/-1;border-top:1px solid #cddfe2}
  .value-visual{height:465px}
}
@media(max-width:600px){
  .scroll-band{height:42px!important}.scroll-band-track{font-size:15px}
  .services-grid{grid-template-columns:1fr}
  .service-card,.service-card-featured{min-height:0;padding:27px 20px 31px;border-right:0;border-top:1px solid #cddfe2}
  .service-card:first-child{border-top:0}
  .service-card:last-child{grid-column:auto}
  .service-card .service-icon{margin:18px 0 19px;width:49px;height:49px}
  .service-card h3{font-size:18px}
  .service-card .card-index{font-size:51px}
  .process-stage{padding-bottom:74px}
  .process-panel{min-height:0}
  .value-visual{height:410px;padding:18px}
  .value-demo{padding-inline:15px}
  .value-demo-head{min-height:54px;font-size:9px}
  .value-demo-live{font-size:7px}
  .value-demo-row{gap:7px;min-height:52px;font-size:11px}
  .value-quote{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .section-services.is-in-view .section-heading,.section-services.is-in-view .service-card,.section-services.is-in-view .services-note,.section-value.is-in-view .value-copy,.process-panel.is-active .process-art-orbit,.process-panel.is-active .process-art-core,.process-panel.is-active .process-art-chip,.section-process.is-in-view .process-panel.is-active .process-art::after,.section-value.is-in-view .value-demo-progress span,.section-value.is-in-view .value-demo-row,.section-value.is-in-view .value-demo-live i{animation:none}
  .value-demo-progress span{transform:scaleX(1)}
}

/* Restore the previous ribbon scale and keep the scroll direction readable. */
.scroll-band{height:92px!important}
.scroll-band-track{color:#24546a;font-size:clamp(34px,3.6vw,51px);font-weight:800;letter-spacing:-.055em;opacity:.78}
.scroll-band-track span{font-size:.56em;vertical-align:.12em;margin-inline:.55em;color:#59a19d}

/* A simpler sequence: information, verification, delivery, and the outcome. */
.value-visual{height:500px;justify-content:space-between;padding:35px;background:#e1efed}
.value-visual::before{opacity:.55}
.value-flow-eyebrow{position:relative;z-index:1;color:#4c7d86;font:800 10px/1.4 Manrope,sans-serif;letter-spacing:.15em}
.value-flow{position:relative;z-index:1;display:flex;flex-direction:column;gap:21px;width:100%;margin:16px 0}
.value-flow-line{position:absolute;z-index:0;left:24px;top:25px;bottom:25px;width:2px;background:#bfd8d8;overflow:hidden}
.value-flow-line i{display:block;width:100%;height:100%;background:#4b9b91;transform:scaleY(0);transform-origin:top}
.value-flow-step{position:relative;z-index:1;display:grid;grid-template-columns:49px 1fr;gap:17px;align-items:center;min-height:57px}
.value-flow-node{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#fff;border:1px solid #b8d3d2;color:#35747c;box-shadow:0 7px 16px #143c5210;font:800 12px Manrope,sans-serif}
.value-flow-step strong,.value-flow-step small,.value-flow-result strong,.value-flow-result small{display:block}
.value-flow-step strong{color:#173c50;font:800 16px Manrope,sans-serif;letter-spacing:-.03em}
.value-flow-step small{margin-top:3px;color:#67818c;font-size:11px;line-height:1.4}
.value-flow-result{position:relative;z-index:1;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:15px;min-height:86px;padding:15px 20px;border-radius:9px;background:#123d53;color:#fff;box-shadow:0 15px 30px #11395120}
.value-flow-check{display:grid;place-items:center;width:39px;height:39px;background:#a9ddd2;color:#123d53;border-radius:50%;font-size:23px;font-weight:800}
.value-flow-result strong{font:800 17px Manrope,sans-serif;letter-spacing:-.03em}
.value-flow-result small{color:#c7dee2;font-size:11px;line-height:1.4;margin-top:3px}
.section-value.is-in-view .value-flow-line i{animation:value-flow-fill 6s linear infinite}
.section-value.is-in-view .value-flow-node{animation:value-flow-pulse 6s ease-in-out infinite}
.section-value.is-in-view .value-flow-step:nth-of-type(2) .value-flow-node{animation-delay:2s}
.section-value.is-in-view .value-flow-step:nth-of-type(3) .value-flow-node{animation-delay:4s}
.section-value.is-in-view .value-flow-check{animation:process-heartbeat 2.2s ease-in-out infinite}
@keyframes value-flow-fill{0%{transform:scaleY(0)}78%,100%{transform:scaleY(1)}}
@keyframes value-flow-pulse{0%,22%,100%{transform:scale(1)}10%{transform:scale(1.12)}}

/* Scroll controlled entry and exit supersede one-time reveal keyframes. */
.section-services.is-in-view .section-heading,.section-services.is-in-view .service-card,.section-services.is-in-view .services-note,.section-value.is-in-view .value-copy{animation:none}
.scroll-scrub [data-reveal]{transition:none}

@media(max-width:900px){.scroll-band{height:72px!important}.scroll-band-track{font-size:37px}}
@media(max-width:600px){
  .scroll-band{height:65px!important}.scroll-band-track{font-size:29px}
  .value-visual{height:445px;padding:23px}
  .value-flow{gap:15px;margin:12px 0}
  .value-flow-step{min-height:53px}
  .value-flow-result{min-height:82px;padding:13px 15px}
}
@media(prefers-reduced-motion:reduce){
  .section-value.is-in-view .value-flow-line i,.section-value.is-in-view .value-flow-node,.section-value.is-in-view .value-flow-check{animation:none}
  .value-flow-line i{transform:scaleY(1)}
}
