:root{--blue:#0a7ee6;--blue-dark:#0c5da8;--green:#27c386;--ink:#15344d;--muted:#5b7080;--line:#dce8ef;--pale:#f4f9fb;--white:#fff;--max:1190px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:14px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:5px}
.skip-link:focus{top:12px}
.section{padding:112px 0}
.eyebrow{margin:0 0 22px;color:var(--blue-dark);font-size:12px;line-height:1.3;font-weight:800;letter-spacing:.17em}
.eyebrow-light{color:#88eac9}
h1,h2,h3,p{overflow-wrap:break-word}
h2{margin:0;font-size:clamp(38px,4.2vw,57px);line-height:1.1;letter-spacing:-.055em;font-weight:750}
.site-header{height:86px;background:#fff;border-bottom:1px solid #edf2f5;position:relative;z-index:10}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;flex:none}
.brand img{width:203px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.desktop-nav a{font-size:13px;font-weight:700;color:#52677a;transition:color .2s}
.desktop-nav a:hover{color:var(--blue)}
.mobile-nav{display:none}
.hero{background:linear-gradient(120deg,#fff 0%,#fff 47%,#eff9fb 100%);position:relative;overflow:hidden}
.hero-glow{position:absolute;right:-210px;top:-310px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(39,195,134,.21),rgba(39,195,134,0) 67%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:64px;padding-top:84px;padding-bottom:74px;min-height:654px}
.kicker{display:flex;align-items:center;gap:12px;color:var(--blue-dark);font-size:11px;font-weight:800;letter-spacing:.13em;margin:0 0 28px}
.kicker-line{display:inline-block;flex:none;width:28px;height:2px;background:var(--green)}
h1{font-size:clamp(56px,6.2vw,84px);line-height:1.01;letter-spacing:-.069em;margin:0;font-weight:770}
h1 em{color:var(--blue);font-style:normal}
.hero-intro{max-width:565px;color:#51697c;font-size:18px;line-height:1.74;margin:28px 0 30px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:21px;min-height:52px;padding:0 23px;border-radius:6px;font-size:14px;font-weight:750;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:19px;font-weight:400;line-height:1}
.button-primary{background:var(--blue);color:white;box-shadow:0 12px 25px rgba(10,126,230,.18)}
.button-primary:hover{background:var(--blue-dark)}
.button-text{padding-inline:0;color:var(--blue-dark)}
.button-text:hover{color:var(--ink)}
.hero-media{position:relative;padding:18px 20px 25px 0}
.hero-media::before{content:"";position:absolute;inset:0 0 48px 22px;border:2px solid var(--green);border-radius:14px;transform:translate(2px,18px);opacity:.8}
.hero-image-frame{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 28px 58px rgba(23,67,93,.17);aspect-ratio:1.16;background:#e0edf4}
.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.media-note{position:absolute;left:-22px;bottom:0;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:5px;background:white;box-shadow:0 10px 30px rgba(20,61,88,.1);color:#49657b;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.media-note-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0 27px;border-top:1px solid #d9e9ee}
.hero-bottom>span{color:var(--blue-dark);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;white-space:nowrap}
.hero-bottom>div{display:flex;gap:28px;align-items:center;flex-wrap:wrap;color:#526a7e;font-size:13px;font-weight:700}
.hero-bottom>div span+span::before{content:"/";display:inline-block;margin-right:28px;color:#a4c8d8;font-weight:400}
.section-header{display:flex;align-items:end;justify-content:space-between;gap:52px;margin-bottom:41px}
.section-header>p{max-width:400px;margin:0 0 5px;color:var(--muted);font-size:16px;line-height:1.74}
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.solution-card{position:relative;display:flex;flex-direction:column;min-height:315px;padding:27px 24px 30px;border:1px solid #dfebf0;border-radius:10px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
.solution-card:hover{transform:translateY(-5px);border-color:#bbdfea;box-shadow:0 18px 35px rgba(20,65,91,.09)}
.card-index{font-size:11px;font-weight:800;color:#a0b4c0;letter-spacing:.1em}
.card-symbol{width:57px;height:57px;display:grid;place-items:center;border-radius:13px;background:#eaf6fc;color:var(--blue);margin:32px 0 22px}
.card-symbol.green{background:#e7f8f0;color:#1fa671}
.card-symbol img{width:31px;height:31px}
.solution-card h3{font-size:19px;line-height:1.25;letter-spacing:-.03em;margin:0 0 13px}
.solution-card p{font-size:14px;line-height:1.66;color:#617588;margin:0}
.approach{background:#103b60;color:#fff;position:relative;overflow:hidden}
.approach::after{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(102,198,229,.16);border-radius:50%;right:-240px;top:-360px;pointer-events:none}
.approach-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}
.approach-copy h2{max-width:430px}
.approach-copy>p:last-child{color:#c3dae6;line-height:1.75;font-size:16px;max-width:460px;margin:24px 0 0}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px 0 26px;border-top:1px solid rgba(255,255,255,.22)}
.process-list li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.process-list li>span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#71ddaf;padding-top:5px}
.process-list h3{font-size:23px;letter-spacing:-.03em;margin:0 0 6px}
.process-list p{color:#c3dae6;font-size:14px;line-height:1.65;margin:0}
.company-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}
.company-media{position:relative}
.company-media img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:9px;box-shadow:0 25px 50px rgba(20,65,91,.13)}
.company-media::before{content:"";position:absolute;inset:21px -18px -20px 18px;border-radius:9px;background:linear-gradient(125deg,#d4f2e8,#d7edfc);z-index:-1}
.company-media span{position:absolute;bottom:19px;left:19px;padding:10px 13px;border-radius:4px;background:rgba(255,255,255,.96);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#315e7a}
.company-copy p:not(.eyebrow){font-size:16px;line-height:1.78;color:#536a7c;margin:23px 0 0}
.inline-link{display:inline-flex;align-items:center;gap:17px;margin-top:27px;padding-bottom:8px;border-bottom:2px solid var(--green);color:var(--blue-dark);font-size:14px;font-weight:800}
.inline-link:hover{color:var(--ink)}
.answers{background:var(--pale);border-top:1px solid #e7f0f3;border-bottom:1px solid #e7f0f3}
.answers-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:100px}
.answers-intro{font-size:16px;line-height:1.7;color:var(--muted);max-width:380px;margin:22px 0 0}
.answer-list{margin:0}
.answer-list>div{padding:22px 0 23px;border-top:1px solid #cbdfe8}
.answer-list>div:last-child{border-bottom:1px solid #cbdfe8}
.answer-list dt{font-size:17px;font-weight:750;letter-spacing:-.02em;margin-bottom:8px}
.answer-list dd{margin:0;color:#5d7284;font-size:14px;line-height:1.7}
.contact{background:linear-gradient(115deg,#0a7ee6 0%,#148fb7 60%,#26bb8a 100%);color:#fff;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-170px;top:-280px}
.contact-grid{position:relative;display:grid;grid-template-columns:1.1fr .7fr;gap:100px;align-items:center}
.contact h2{max-width:670px;font-size:clamp(42px,5vw,65px)}
.contact p:not(.eyebrow){color:#e3f6ff;line-height:1.7;font-size:16px;max-width:580px;margin:22px 0 28px}
.button-white{background:#fff;color:#075ba5;box-shadow:0 12px 25px rgba(4,53,97,.14)}
.button-white:hover{background:#edfaff}
.contact-details{border:1px solid rgba(255,255,255,.42);border-radius:9px;padding:30px 33px;background:rgba(255,255,255,.12);backdrop-filter:blur(7px)}
.contact-details h3{font-size:18px;margin:0 0 24px}
.contact-details>div{border-top:1px solid rgba(255,255,255,.25);padding:17px 0 0;margin-top:17px}
.contact-details>div>span{display:block;color:#d6f6fa;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:7px}
.contact-details a,.contact-details address{font-size:14px;line-height:1.55;font-weight:650;font-style:normal}
.contact-details a:hover{text-decoration:underline}
.site-footer{background:#0a2c49;color:#c0d2dd;padding:29px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}
.footer-inner a:hover{color:#fff}
#solutions,#approach,#company,#answers,#contact{scroll-margin-top:25px}
@media(max-width:1050px){.hero-grid{gap:36px}.solution-grid{grid-template-columns:repeat(2,1fr)}.solution-card{min-height:270px}.company-grid,.approach-grid,.answers-grid{gap:55px}.contact-grid{gap:55px}.hero-bottom>div{gap:15px}.hero-bottom>div span+span::before{margin-right:15px}}
@media(max-width:760px){.container{width:min(calc(100% - 38px),var(--max))}.section{padding:78px 0}.site-header{height:74px}.brand img{width:175px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #d7e6ed;border-radius:5px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{width:18px;height:2px;background:var(--ink)}.mobile-nav nav{position:absolute;right:0;top:47px;display:grid;width:215px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 18px 45px rgba(15,52,76,.18);z-index:15}.mobile-nav nav a{font-size:14px;font-weight:700;padding:11px 12px;border-radius:4px}.mobile-nav nav a:hover{background:#f1f8fb}.hero-grid{grid-template-columns:1fr;gap:30px;min-height:0;padding:70px 0 50px}h1{font-size:clamp(53px,11vw,75px)}.hero-intro{font-size:16px}.hero-media{padding:15px 15px 21px 0}.hero-image-frame{aspect-ratio:1.32}.media-note{left:10px}.hero-bottom{display:block}.hero-bottom>div{margin-top:15px;justify-content:flex-start}.section-header,.approach-grid,.company-grid,.answers-grid,.contact-grid{display:grid;grid-template-columns:1fr;gap:30px}.section-header>p{max-width:650px}.company-media{order:2}.company-copy{order:1}.company-grid{gap:42px}.contact-grid{gap:40px}.contact-details{max-width:530px}h2{font-size:clamp(38px,8vw,53px)}.footer-inner{flex-wrap:wrap}}
@media(max-width:520px){.kicker{font-size:10px;letter-spacing:.07em}h1{font-size:clamp(47px,12vw,64px)}.hero-actions{gap:8px 18px}.button-text{min-height:44px}.hero-image-frame{aspect-ratio:1.05}.hero-bottom>div{gap:8px}.hero-bottom>div span{background:#fff;border-radius:4px;padding:5px 8px}.hero-bottom>div span+span::before{display:none}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:0}.process-list li{grid-template-columns:40px 1fr;gap:12px}.company-media span{font-size:10px}.footer-inner{display:grid;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.solution-card{transition:none}}

/* Brand color treatment */
.site-header{height:91px;border-bottom:0;box-shadow:0 7px 28px rgba(11,64,101,.11)}
.site-header::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0a7ee6 0%,#17a6c4 52%,#27c386 100%)}
.desktop-nav a{color:#31546d}
.desktop-nav a:hover{color:#0a7ee6}
.hero{color:#fff;background:linear-gradient(116deg,#0855a6 0%,#087abb 48%,#12a4ae 75%,#23b98d 100%)}
.hero::before{content:"";position:absolute;width:760px;height:760px;left:-430px;top:-500px;border:1px solid rgba(255,255,255,.19);border-radius:50%;pointer-events:none}
.hero::after{content:"";position:absolute;width:530px;height:530px;right:-230px;bottom:-380px;border:1px solid rgba(255,255,255,.16);border-radius:50%;pointer-events:none}
.hero-glow{width:920px;height:920px;right:-250px;top:-400px;background:radial-gradient(circle,rgba(152,255,215,.25),rgba(152,255,215,0) 64%)}
.hero-grid{grid-template-columns:1fr 1fr;gap:55px;min-height:606px;padding-top:68px;padding-bottom:52px}
.kicker{color:#e0fbf5;letter-spacing:.15em;margin-bottom:26px}
.kicker-line{height:3px;width:31px;background:#8af3c8}
.hero h1{color:#fff;letter-spacing:-.065em;text-shadow:0 3px 19px rgba(0,52,93,.08)}
.hero h1 em{color:#9bf5d0}
.hero-intro{color:#e8f7ff;font-size:18px;max-width:535px;margin:27px 0 29px}
.hero .button-primary{background:#fff;color:#086fb2;box-shadow:0 14px 29px rgba(0,57,110,.19)}
.hero .button-primary:hover{background:#effcf8}
.hero .button-text{color:#fff;border-bottom:1px solid rgba(255,255,255,.7);border-radius:0;min-height:40px}
.hero .button-text:hover{color:#d8ffed;border-color:#d8ffed}
.hero-media{padding:19px 17px 26px 10px}
.hero-media::before{inset:0 0 46px 28px;border:2px solid rgba(255,255,255,.63);transform:translate(4px,15px)}
.hero-image-frame{border:5px solid rgba(255,255,255,.91);border-radius:15px;aspect-ratio:1.23;box-shadow:0 28px 65px rgba(0,54,94,.28)}
.media-note{left:-18px;bottom:3px;border-left:4px solid #60dfaf;color:#27586c;box-shadow:0 13px 28px rgba(0,54,94,.19)}
.media-note-dot{background:#27c386}
.hero-bottom{padding:22px 0 28px;border-top:1px solid rgba(255,255,255,.36)}
.hero-bottom>span{color:#e5fff6}
.hero-bottom>div{gap:9px;color:#fff}
.hero-bottom>div span{display:inline-flex;align-items:center;min-height:29px;padding:5px 11px;border:1px solid rgba(255,255,255,.37);border-radius:99px;background:rgba(255,255,255,.12);backdrop-filter:blur(3px)}
.hero-bottom>div span+span::before{display:none}
.solutions{background:linear-gradient(180deg,#f0f9fc 0%,#fff 86%)}
.solution-card{border-color:#d6eaf1;box-shadow:0 10px 25px rgba(21,82,112,.035)}
.solution-card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;background:linear-gradient(90deg,#0a7ee6,#27c386);border-radius:0 0 5px 5px}
.solution-card:nth-child(2)::before,.solution-card:nth-child(3)::before{background:linear-gradient(90deg,#27c386,#0a7ee6)}
.approach{background:linear-gradient(110deg,#083b76,#0d5d8c 67%,#126f86)}
.approach::before{content:"";position:absolute;width:550px;height:550px;left:-280px;bottom:-350px;border:1px solid rgba(135,236,206,.2);border-radius:50%;pointer-events:none}
.answers{background:linear-gradient(135deg,#f1f9fc,#f5fcf8)}
@media(max-width:1050px){.hero-grid{gap:32px}.hero-bottom>div{gap:7px}}
@media(max-width:760px){.site-header{height:74px}.hero-grid{grid-template-columns:1fr;min-height:0;gap:31px;padding:70px 0 50px}.hero-media{padding:17px 15px 23px 7px}.hero-bottom{display:block}.hero-bottom>div{margin-top:16px;justify-content:flex-start}.hero-image-frame{aspect-ratio:1.32}.media-note{left:5px}}
@media(max-width:520px){.hero-grid{padding:58px 0 45px}.kicker{font-size:9px;letter-spacing:.09em}.hero-intro{font-size:16px}.hero-image-frame{aspect-ratio:1.07}.hero-bottom>div span{padding:5px 9px;font-size:11px}.media-note{font-size:9px;max-width:260px}}

/* Final brand palette: a gentle lift from the original saturated option. */
.hero{background:linear-gradient(116deg,#1267b5 0%,#198cc4 48%,#2aaeb4 75%,#39c498 100%)}
.hero-bottom>div span{background:rgba(0,72,102,.2)}
.approach{background:linear-gradient(110deg,#164e83,#1c7196 67%,#258494)}
.approach-copy>p:last-child,.process-list p{color:#e2f3f8}
.contact{background:linear-gradient(115deg,#248be7 0%,#2ba1c2 60%,#3bc394 100%)}
.contact p:not(.eyebrow){color:#f2fbff}
