@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap");
:root{--navy:#061a2d;--blue:#1676d2;--text:#10263d;--muted:#687b8f;--line:#d9e4ed;--pale:#f1f7fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}
.header{height:100px;padding:0 5.8vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #edf1f5;position:sticky;top:0;z-index:10}.brand{display:flex;flex-direction:column;line-height:.82}.wordmark{font:600 45px Georgia,serif;letter-spacing:-4px;color:var(--navy)}.wordmark span{color:var(--blue)}.brand>span:nth-child(2){font-size:10px;letter-spacing:4px;margin-top:9px}.brand small{font-size:6px;letter-spacing:1.8px;color:var(--blue);margin-top:8px}.header nav{display:flex;align-items:center;gap:23px;font-size:12px}.header nav a{color:#23384e}.header .talk{background:var(--blue);color:#fff;padding:14px 20px;border-radius:3px}.header .talk b{margin-left:8px}.menu{display:none}
.hero{min-height:560px;display:grid;grid-template-columns:1.04fr .96fr;background:var(--navy);color:#fff}.hero-content{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700;color:var(--blue);margin-bottom:20px}.hero .eyebrow{color:#59a7ef}.hero h1{font-size:clamp(50px,5.3vw,77px);line-height:1.02;letter-spacing:-3px;margin:0}.hero h1 em{font-family:"Playfair Display",serif;color:#3194e7}.hero-content>p{max-width:610px;font-size:17px;line-height:1.65;color:#d2dfeb;margin:26px 0}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-block;background:var(--blue);border:1px solid var(--blue);color:#fff;padding:15px 24px;border-radius:3px;font:600 13px "DM Sans";cursor:pointer}.hero .button{background:transparent;border-color:#fff}.hero-link{font-size:13px;font-weight:600;color:#54a8ef}.hero-link span{margin-left:8px}.hero-visual{position:relative;overflow:hidden;background:linear-gradient(110deg,#09213a,#123b5d 42%,#8b9ba5)}.office{position:absolute;inset:0;background:linear-gradient(90deg,#061a2dcc 0%,transparent 55%),linear-gradient(180deg,transparent 45%,#071a2d88),radial-gradient(circle at 62% 38%,#dceaf3 0 10%,#88a4b8 11% 27%,#213c52 28% 55%,#091b2e 56%);opacity:.9}.hero-visual:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 80px,#ffffff15 81px 83px),linear-gradient(#ffffff10 1px,transparent 1px);background-size:auto,auto 90px}.visual-copy{position:absolute;z-index:2;right:8%;top:20%;display:flex;flex-direction:column;gap:10px;color:#fff;font-size:16px;letter-spacing:3px}.visual-copy i{height:2px;background:#2990df;width:38px;margin:15px 0}.visual-copy small{font-size:8px;letter-spacing:2px;color:#c5d7e7}
.partners{min-height:105px;padding:0 7vw;display:grid;grid-template-columns:.75fr 1.35fr .8fr 1.8fr;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.partner{font-size:26px;font-weight:700;color:#0871c9;padding:0 30px;border-right:1px solid var(--line)}.sap{font-style:italic}.sf strong{font-weight:700}.sf span{color:#f1a400;font-size:31px;margin-left:5px}.workday{font-weight:500}.partner-message{text-align:center;font-size:11px;letter-spacing:3px;color:#284461}.partner-message small{display:block;font-size:8px;letter-spacing:3px;margin-top:10px}
.services{padding:90px 7vw;background:#f4f8fb}.service-heading{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:start;margin-bottom:55px}.service-heading h2,.expertise h2,.approach h2,.about h2,.contact h2{font-size:clamp(38px,4vw,57px);line-height:1.07;letter-spacing:-2px;color:var(--navy);margin:0}.service-heading h2{font-family:"Playfair Display",serif;font-weight:600}.service-heading>p{font-size:15px;line-height:1.75;color:var(--muted);margin-top:30px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article{background:#fff;border:1px solid #e2eaf1;border-radius:5px;padding:25px 23px;min-height:285px;box-shadow:0 10px 35px #12324d08}.icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#edf4fa;color:var(--navy);font-size:27px}.cards h3{font-size:17px;line-height:1.25;margin:20px 0 12px}.cards p{font-size:12px;line-height:1.65;color:var(--muted)}.cards a{display:block;color:var(--blue);font-size:11px;font-weight:700;margin-top:23px}
.expertise{padding:100px 7vw;display:grid;grid-template-columns:.52fr 1fr;column-gap:65px;background:#fff}.expertise>.eyebrow{grid-column:1;grid-row:1}.expertise-heading{grid-column:2}.expertise-heading h2{font-size:clamp(38px,4vw,57px);line-height:1.07;letter-spacing:-2px;color:var(--navy);margin:0}.expertise-heading h2 em{font-family:"Playfair Display",serif;color:var(--blue)}.expertise-heading p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.75;margin:24px 0 0}.platform-cards{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px}.platform-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:27px 24px;background:#f7fafc;border:1px solid #dce6ee;border-radius:5px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.platform-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #12324d12;border-color:#b9d3e7}.platform-card.featured{background:#06243d;color:#fff;border-color:#06243d}.platform-top{display:flex;justify-content:space-between;align-items:center}.platform-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e8f2f9;color:var(--navy);font-size:11px;font-weight:800;letter-spacing:1px}.featured .platform-mark{background:#174b70;color:#fff}.platform-top>b{font-size:9px;letter-spacing:2px;color:#7b90a2}.featured .platform-top>b{color:#7fb8e1}.platform-card h3{font-size:23px;margin:30px 0 10px;letter-spacing:-.5px}.platform-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.featured p{color:#bfd0dd}.platform-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}.platform-tags span{font-size:9px;letter-spacing:.7px;padding:6px 8px;border:1px solid #d8e4ec;border-radius:20px;color:#587086}.featured .platform-tags span{border-color:#35627f;color:#b8d5e8}.platform-link{margin-top:auto;padding-top:25px;color:var(--blue);font-size:10px;letter-spacing:.3px}.platform-link span{font-size:15px;margin-left:5px}.featured .platform-link{color:#64b1ed}
.approach{padding:95px 7vw;background:var(--pale)}.approach h2{max-width:700px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps>div{border-top:1px solid #a8c6df;padding-top:20px}.steps span{font-size:10px;letter-spacing:2px;color:var(--blue)}.steps h3{margin:25px 0 8px;font-size:19px}.steps p{font-size:12px;color:var(--muted);line-height:1.7}
.about{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:100px}.about>div:nth-child(2){padding-top:35px}.about p{color:var(--muted);font-size:15px;line-height:1.8}
.contact{padding:95px 14vw;display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--navy);color:#fff}.contact h2{color:#fff}.contact p{color:#abc0d3;line-height:1.7}.contact .eyebrow{color:#59a7ef}.contact form{display:grid;gap:16px}label{font-size:10px;letter-spacing:1px;color:#b9cad9}input,textarea{width:100%;display:block;margin-top:7px;padding:14px;border:1px solid #ffffff2c;border-radius:3px;background:#ffffff0b;color:#fff;font:13px "DM Sans"}.contact .button{background:#fff;color:var(--navy);border-color:#fff;margin-top:5px;justify-self:start}
footer{background:#04111f;color:#9fb3c7;padding:38px 7vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:10px;letter-spacing:2px}.footer-brand{color:#fff}.footer-brand .wordmark{font-size:33px;color:#fff}.footer-brand>span:nth-child(2){font-size:7px}.footer-brand small{display:none}footer>div:nth-child(2){text-align:center}footer small{text-align:right;font-size:8px;letter-spacing:0}
@media(max-width:1050px){.header{height:88px}.header nav{display:none}.menu{display:block;font-size:23px;background:none;border:0;color:var(--navy)}.hero{grid-template-columns:1fr}.hero-visual{min-height:410px}.partners{grid-template-columns:1fr 1fr;padding:25px 7vw;gap:15px}.partner{border:0;padding:12px}.partner-message{grid-column:1/-1}.service-heading,.expertise,.about,.contact{grid-template-columns:1fr;gap:35px}.expertise h2,.platform-grid{grid-column:1}.expertise>.eyebrow{grid-column:1}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.contact{padding:80px 9vw}footer{grid-template-columns:1fr;gap:20px;text-align:center}footer>div:nth-child(2),footer small{text-align:center}.footer-brand{margin:auto}}
@media(max-width:620px){.header{padding:0 6vw}.wordmark{font-size:37px}.hero-content{padding:65px 7vw}.hero h1{font-size:48px;letter-spacing:-2px}.hero-content>p{font-size:15px}.actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-visual{min-height:360px}.visual-copy{right:10%;top:16%;font-size:14px}.partners{grid-template-columns:1fr}.partner{border-bottom:1px solid var(--line);text-align:center}.service-heading h2,.expertise h2,.approach h2,.about h2,.contact h2{letter-spacing:-1px}.services,.expertise,.approach,.about{padding:75px 7vw}.cards,.steps{grid-template-columns:1fr}.cards article{min-height:0}.platform-grid>div{grid-template-columns:1fr 25px}.platform-grid span{grid-column:1;margin-top:5px}.platform-grid b{grid-column:2;grid-row:1}.contact{padding:75px 7vw}}

.brand-logo{display:block;width:210px;height:auto;max-width:210px;object-fit:contain;object-position:left center;border:0;box-shadow:none}.footer-brand .brand-logo{width:175px;max-width:175px;height:auto;border:0;box-shadow:none}
@media(max-width:620px){.brand-logo{width:155px;max-width:155px}.footer-brand .brand-logo{width:155px;max-width:155px}}

/* V14: consistent exact-logo treatment */
footer{background:#fff;color:#52677b;border-top:1px solid #d9e4ed;padding:34px 7vw}footer .footer-brand{display:flex;align-items:flex-start;width:max-content;padding:0;background:#fff}footer .footer-brand .brand-logo{display:block;width:175px;height:auto}footer>div:nth-child(2){color:#53687b}footer small{color:#708398}@media(max-width:1050px){footer{padding:30px 7vw}}@media(max-width:620px){footer{padding:28px 7vw}footer .footer-brand .brand-logo{width:155px}}

/* V15 payroll page */
.page-hero{min-height:520px;display:grid;grid-template-columns:1fr .62fr;background:var(--navy);color:#fff}
.page-hero>div:first-child{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}
.page-hero h1{font-size:clamp(48px,5vw,72px);line-height:1.03;letter-spacing:-3px;margin:0;max-width:800px}
.page-hero h1 em,.payroll-intro h2 em,.payroll-outcomes h2 em{font-family:"Playfair Display",serif;color:#4ea2e9}
.page-hero p{max-width:680px;color:#c9d9e7;line-height:1.7;font-size:16px;margin:24px 0 30px}
.page-hero-panel{position:relative;overflow:hidden;padding:55px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#0c3354,#0b2035)}
.page-hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 48%,#ffffff08 49% 50%,transparent 51%),linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:auto,46px 46px,46px 46px;opacity:.35}
.page-hero-panel span,.page-hero-panel small{font-size:10px;letter-spacing:2.5px;color:#7fc1f1;position:relative;z-index:1}
.page-hero-panel strong{font-size:46px;line-height:1.03;letter-spacing:-2px;position:relative;z-index:1}
.payroll-intro{padding:95px 7vw;display:grid;grid-template-columns:1fr .65fr;gap:90px;align-items:start}
.payroll-intro p{color:var(--muted);line-height:1.8;margin-top:35px;font-size:15px}
.payroll-grid{padding:0 7vw 100px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:#f4f8fb}
.payroll-grid article{background:#fff;border:1px solid #e0e8ef;border-radius:5px;padding:28px 24px;min-height:245px}
.payroll-grid article span{font-size:10px;letter-spacing:2px;color:var(--blue)}
.payroll-grid h3{font-size:18px;margin:30px 0 12px}
.payroll-grid p{color:var(--muted);font-size:12px;line-height:1.7}
.payroll-outcomes{padding:100px 7vw;background:#fff}
.payroll-outcomes h2{max-width:760px}
.outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:60px}
.outcomes>div{border-top:1px solid var(--line);padding-top:20px}
.outcomes b{display:block;color:var(--blue);font-size:10px;letter-spacing:2px;margin-bottom:25px}
.outcomes strong{display:block;font-size:18px;margin-bottom:8px}
.outcomes p{color:var(--muted);font-size:12px;line-height:1.7}
.payroll-cta{padding:95px 14vw;background:var(--pale)}
.payroll-cta h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-2px;max-width:780px;margin:0 0 18px;color:var(--navy)}
.payroll-cta p{color:var(--muted);line-height:1.7;max-width:600px;margin-bottom:28px}
@media(max-width:1050px){.page-hero{grid-template-columns:1fr}.payroll-intro{grid-template-columns:1fr;gap:30px}.payroll-grid{grid-template-columns:1fr 1fr}.outcomes{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.page-hero>div:first-child,.page-hero-panel{padding:65px 7vw}.page-hero h1{letter-spacing:-2px;font-size:47px}.payroll-grid,.outcomes{grid-template-columns:1fr}.payroll-intro,.payroll-outcomes,.payroll-cta{padding:75px 7vw}.payroll-grid{padding:0 7vw 75px}.payroll-grid article{min-height:0}}

/* V16 clean exact logo */
.brand-logo{display:block!important;width:220px!important;height:auto!important;max-width:220px!important;object-fit:contain!important;object-position:left center!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important}
.header .brand{width:220px!important;height:auto!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;overflow:hidden!important;background:transparent!important}
footer .footer-brand{width:170px!important;background:#fff!important;overflow:hidden!important}
footer .footer-brand .brand-logo{width:170px!important;max-width:170px!important}
@media(max-width:620px){.header .brand,.brand-logo{width:165px!important;max-width:165px!important}.header .brand{height:auto!important}footer .footer-brand,.footer .footer-brand .brand-logo{width:155px!important;max-width:155px!important}}

/* V17: Payroll page visual alignment */
.payroll-page{font-family:inherit;color:var(--navy);overflow-x:hidden}
.payroll-page .payroll-hero{background:var(--navy);color:#fff;padding:100px 7vw 110px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px;align-items:center}
.payroll-page .eyebrow{font-size:10px;letter-spacing:3px;color:#4ea2e9;font-weight:700;margin-bottom:22px}
.payroll-page h1{font-size:clamp(48px,5.2vw,76px);line-height:1.02;letter-spacing:-3px;margin:0;max-width:820px}
.payroll-page h1 em,.payroll-page h2 em{font-family:"Playfair Display",serif;color:#4ea2e9}
.payroll-page .lead{color:#c9d9e7;line-height:1.75;max-width:700px;font-size:16px;margin:24px 0 30px}
.payroll-page .payroll-panel{border-left:1px solid #ffffff2b;padding-left:42px;min-height:260px;display:flex;flex-direction:column;justify-content:center}
.payroll-page .payroll-panel strong{font-size:42px;line-height:1.02;letter-spacing:-2px}
.payroll-page .payroll-panel small{margin-top:24px;color:#7fc1f1;letter-spacing:2.5px;font-size:9px}
.payroll-page .payroll-intro{padding:90px 7vw;display:grid;grid-template-columns:1fr .75fr;gap:90px;align-items:start}
.payroll-page .payroll-intro h2,.payroll-page .payroll-outcomes h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-2px;margin:0;max-width:800px}
.payroll-page .payroll-intro p{color:var(--muted);line-height:1.8;font-size:15px;margin:35px 0 0}
.payroll-page .payroll-grid{background:#f4f8fb;padding:85px 7vw 100px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.payroll-page .payroll-grid article{background:#fff;border:1px solid #dfe8ef;border-radius:4px;padding:28px 24px;min-height:230px}
.payroll-page .payroll-grid article span{font-size:10px;letter-spacing:2px;color:var(--blue)}
.payroll-page .payroll-grid h3{font-size:18px;line-height:1.25;margin:28px 0 12px}
.payroll-page .payroll-grid p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.payroll-page .payroll-outcomes{padding:95px 7vw;background:#fff}
.payroll-page .outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin-top:58px}
.payroll-page .outcomes>div{border-top:1px solid var(--line);padding-top:20px}
.payroll-page .outcomes b{display:block;color:var(--blue);font-size:10px;letter-spacing:2px;margin-bottom:22px}
.payroll-page .outcomes strong{display:block;font-size:18px;margin-bottom:8px}
.payroll-page .outcomes p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}
.payroll-page .payroll-cta{padding:90px 14vw;background:var(--pale)}
.payroll-page .payroll-cta h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-2px;margin:0 0 18px;max-width:780px}
.payroll-page .payroll-cta p{color:var(--muted);line-height:1.7;max-width:600px;margin-bottom:28px}
@media(max-width:1050px){
  .payroll-page .payroll-hero{grid-template-columns:1fr;padding:75px 7vw}
  .payroll-page .payroll-panel{border-left:0;border-top:1px solid #ffffff2b;padding:30px 0 0;min-height:0}
  .payroll-page .payroll-intro{grid-template-columns:1fr;gap:20px}
  .payroll-page .payroll-grid{grid-template-columns:1fr 1fr}
  .payroll-page .outcomes{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .payroll-page .payroll-hero{padding:65px 7vw}
  .payroll-page h1{font-size:46px;letter-spacing:-2px}
  .payroll-page .payroll-intro,.payroll-page .payroll-outcomes,.payroll-page .payroll-cta{padding:70px 7vw}
  .payroll-page .payroll-grid{padding:0 7vw 70px;grid-template-columns:1fr}
  .payroll-page .outcomes{grid-template-columns:1fr}
}

@media(max-width:1050px){.platform-cards{grid-template-columns:1fr 1fr}.expertise-heading{grid-column:2}}
@media(max-width:700px){.expertise{grid-template-columns:1fr;padding:75px 7vw}.expertise>.eyebrow,.expertise-heading,.platform-cards{grid-column:1}.platform-cards{grid-template-columns:1fr;margin-top:38px}.platform-card{min-height:280px}}
