:root{--navy:#0a2e57;--navy-deep:#062444;--green:#07824b;--lime:#8ccf18;--ink:#10263d;--muted:#536577;--paper:#f7f9f8;--mist:#edf3f0;--white:#fff;--line:#d8e1dd;--max:1240px;--shadow:0 24px 70px rgba(6,36,68,.14);--type-display:clamp(44px,4vw,58px);--type-lead:20px;--type-body:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--white);font-size:var(--type-body);-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;border-radius:6px}.skip-link:focus{top:14px}
.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:10px 30px;background:#fff}.brand{display:block;width:310px;text-decoration:none}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{text-decoration:none;font-size:var(--type-body);font-weight:700;transition:color .2s ease}.site-header nav a:hover{color:var(--green)}.nav-cta{border:1.5px solid var(--navy)!important;padding:12px 19px;border-radius:7px;color:var(--navy)!important}.nav-cta:hover{background:var(--navy);color:#fff!important}.menu{display:none;background:none;border:0;color:var(--navy);font:700 var(--type-body) "DM Sans"}
.hero{max-width:var(--max);margin:auto;padding:70px 30px 88px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px}.eyebrow{font-size:var(--type-body);line-height:1.35;font-weight:800;letter-spacing:.13em;color:var(--green);margin:0 0 20px}.hero h1,.section-heading h2,.pm-section h2,.process h2,.about h2,.contact h2{font:800 var(--type-display)/1.06 "Manrope";letter-spacing:-.045em;margin:0;color:var(--navy-deep)}.hero h1 em{display:block;white-space:nowrap;font-style:normal;color:var(--green)}.lead{font-size:var(--type-lead);line-height:1.67;color:var(--muted);max-width:620px;margin:28px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:15px 23px;border-radius:7px;text-decoration:none;font-size:var(--type-body);font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:#fff;box-shadow:0 10px 25px rgba(10,46,87,.16)}.primary:hover{background:var(--green)}.secondary{border:1px solid var(--line);background:#fff;color:var(--navy)}.trust-row{display:flex;gap:16px;flex-wrap:nowrap;white-space:nowrap;margin-top:34px;font-size:var(--type-body);font-weight:700;color:var(--navy)}.trust-row span:before{content:"✓";color:var(--green);font-weight:800;margin-right:7px}
.hero-visual{aspect-ratio:1586/992;margin:0;overflow:hidden;border-radius:16px;background:var(--mist);box-shadow:var(--shadow)}.hero-visual>img{width:100%;height:100%;object-fit:contain;object-position:center}
.client-strip{background:var(--navy);color:#fff;padding:25px max(30px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:34px}.client-strip p{margin:0;color:#bcd0df;font-size:var(--type-body);font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.client-strip div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1}.client-strip span{font-size:var(--type-body);font-weight:700;padding:0 20px;border-left:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;text-align:center}
.section-heading{max-width:var(--max);margin:auto;padding:112px 30px 54px;display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:end}.section-heading>p{font-size:var(--type-lead);line-height:1.7;color:var(--muted);margin:0}
.service-grid{max-width:var(--max);margin:auto;padding:0 30px 120px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{min-height:345px;padding:31px 27px;border:1px solid var(--line);display:flex;flex-direction:column;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service:before{content:"";width:42px;height:4px;background:var(--green);margin-bottom:31px}.service:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(10,46,87,.11);border-color:#b5c9bf}.service h3{font:700 var(--type-lead)/1.3 "Manrope";margin:0 0 16px;color:var(--navy)}.service p{font-size:var(--type-body);line-height:1.62;color:var(--muted);margin:0}.service a{margin-top:auto;padding-top:28px;font-size:var(--type-body);font-weight:800;text-decoration:none;color:var(--green)}.service a span{margin-left:5px}
.pm-section{background:var(--mist);padding:115px max(30px,calc((100% - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:72px}.pm-intro .eyebrow{white-space:nowrap}.pm-intro>p:not(.eyebrow){font-size:var(--type-lead);line-height:1.7;color:var(--muted);max-width:480px}.text-link{display:inline-block;margin-top:12px;color:var(--green);font-size:var(--type-body);font-weight:800;text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:4px}.pm-benefits{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c7d4ce;border-left:1px solid #c7d4ce}.pm-benefits article{padding:32px;border-right:1px solid #c7d4ce;border-bottom:1px solid #c7d4ce;min-height:205px;background:rgba(255,255,255,.45)}.pm-benefits h3{font:700 var(--type-lead) "Manrope";color:var(--navy);margin:0 0 12px}.pm-benefits p{font-size:var(--type-body);line-height:1.65;color:var(--muted);margin:0}
.process{padding:115px max(30px,calc((100% - 1180px)/2));display:grid;grid-template-columns:.82fr 1.18fr;gap:115px}.process-heading>p:last-child{font-size:var(--type-lead);color:var(--muted);line-height:1.7;max-width:420px}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:105px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:27px 0}.process li>span{color:var(--green);font-size:var(--type-body);font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding-top:5px}.process h3{font:700 var(--type-lead) "Manrope";color:var(--navy);margin:0 0 8px}.process li p{font-size:var(--type-body);margin:0;color:var(--muted);line-height:1.6}
.about{background:var(--navy);color:#fff;padding:115px max(30px,calc((100% - 1180px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:105px}.about .eyebrow{color:var(--lime)}.about h2{color:#fff}.about-panel>p:last-child{color:#d2dee8;font-size:var(--type-lead);line-height:1.7;max-width:510px}.proof-grid{display:grid;gap:14px}.proof-grid article{padding:26px 28px;border:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:85px 1fr 1.2fr;gap:20px;align-items:start}.proof-grid strong{font-size:var(--type-body);color:var(--lime);letter-spacing:.1em;text-transform:uppercase}.proof-grid h3{font:700 var(--type-lead)/1.35 "Manrope";margin:0}.proof-grid p{font-size:var(--type-body);line-height:1.6;color:#cbd9e4;margin:0}
.contact{max-width:1180px;margin:90px auto;background:var(--green);color:#fff;padding:72px;display:grid;grid-template-columns:1fr .72fr;gap:85px;border-radius:16px;overflow:hidden}.contact>*{min-width:0}.contact .eyebrow{color:#e1ff9a}.contact h2{color:#fff;overflow-wrap:break-word}.contact>div>p:last-child{font-size:var(--type-lead);line-height:1.7;color:#e4f2eb;max-width:570px}.contact-card{min-width:0;max-width:100%;background:#fff;color:var(--ink);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 45px rgba(3,60,36,.2)}.contact-card label{font-size:var(--type-body);font-weight:800;color:var(--navy)}.contact-card select{display:block;width:100%;min-width:0;max-width:100%;padding:15px;border:1px solid var(--line);border-radius:5px;background:#fff;font:var(--type-body) "DM Sans"}.full{width:100%;max-width:100%;touch-action:manipulation}.contact-email{display:block;max-width:100%;font-size:var(--type-body);text-align:center;overflow-wrap:anywhere;word-break:break-word;color:var(--navy);touch-action:manipulation}.contact-card small{text-align:center;color:var(--muted);font-size:var(--type-body)}
footer{background:var(--paper);color:var(--navy);padding:42px max(30px,calc((100% - 1180px)/2));display:grid;grid-template-columns:280px 1fr;gap:52px;align-items:center;border-top:1px solid var(--line)}.footer-brand{width:280px;padding:0;display:block}.footer-copy{display:flex;justify-content:flex-end;align-items:center;gap:36px;margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.5}.footer-copy>span{white-space:nowrap}
@media(max-width:1050px){.brand{width:270px}.site-header nav{gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:36px}.client-strip span{padding:0 18px}.proof-grid article{grid-template-columns:70px 1fr}.proof-grid p{grid-column:2}.contact{margin-left:24px;margin-right:24px}.footer-copy{flex-direction:column;align-items:flex-end;gap:5px}}
@media(max-width:850px){.site-header{min-height:96px}.brand{width:250px}.site-header nav{display:none;position:absolute;z-index:20;top:90px;left:18px;right:18px;background:#fff;padding:24px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:42px;gap:48px}.section-heading,.pm-section,.process,.about,.contact{grid-template-columns:1fr;gap:52px}.section-heading{padding-top:88px}.pm-benefits{max-width:680px}.client-strip{align-items:flex-start}.client-strip div{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.client-strip span{min-height:34px}.contact{padding:55px 40px}footer{grid-template-columns:1fr}.footer-copy{align-items:flex-start}}
@media(max-width:600px){:root{--type-display:40px;--type-lead:18px;--type-body:16px}.site-header{padding:8px 18px}.brand{width:220px}.hero{padding:34px 18px 64px}.hero-visual{border-radius:12px}.trust-row{gap:12px 18px;flex-wrap:wrap;white-space:normal}.client-strip{padding:24px 18px;display:block}.client-strip p{margin-bottom:15px}.client-strip div{display:grid;grid-template-columns:1fr 1fr}.client-strip span{padding:9px 10px;border-left:2px solid var(--green);justify-content:flex-start;text-align:left}.section-heading{padding:78px 18px 38px;gap:28px}.service-grid{grid-template-columns:1fr;padding:0 18px 78px}.service{min-height:330px}.pm-section,.process,.about{padding:78px 18px}.pm-intro .eyebrow{white-space:normal}.pm-benefits{grid-template-columns:1fr}.process li{grid-template-columns:78px 1fr}.proof-grid article{grid-template-columns:1fr;gap:8px}.proof-grid p{grid-column:auto}.contact{width:auto;max-width:calc(100% - 36px);margin:18px 18px 50px;padding:42px 22px;gap:36px}.contact-card{width:100%;padding:24px 18px}.contact h2{font-size:clamp(34px,10vw,40px)}.hero-actions .button{width:100%}footer{padding:40px 18px;gap:24px}.footer-brand{width:260px;max-width:100%}.footer-copy>span{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service{transition:none}}
.contact-phone{display:block;max-width:100%;font-size:var(--type-body);text-align:center;color:var(--navy);font-weight:800;text-decoration:none;touch-action:manipulation}
.footer-copy{flex-direction:column;align-items:flex-end;gap:7px}
.footer-copy a{color:var(--navy)}
@media(max-width:850px){.footer-copy{align-items:flex-start}}
.compact-cta{min-height:46px;padding:11px 18px}
.inner-page{max-width:var(--max);margin:auto;padding:0 30px 100px}
.inner-hero{padding:82px 0 58px;max-width:900px}
.inner-hero h1,.policy-page h1,.not-found h1{font:800 var(--type-display)/1.06 "Manrope";letter-spacing:-.045em;margin:0;color:var(--navy-deep)}
.inner-hero h1 em{font-style:normal;color:var(--green)}
.inner-hero>p:last-child{font-size:var(--type-lead);line-height:1.7;color:var(--muted);max-width:760px;margin:28px 0 0}
.service-jump{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:55px}
.service-jump a{color:var(--navy);font-weight:700;text-decoration:none;background:var(--mist);padding:10px 14px;border-radius:5px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.detail-grid article{scroll-margin-top:24px;border:1px solid var(--line);padding:34px;background:#fff}
.detail-label{font-size:14px;line-height:1.4;font-weight:800;letter-spacing:.09em;color:var(--green);margin:0 0 14px}
.detail-grid h2,.inner-contact h2,.policy-page h2{font-family:"Manrope";color:var(--navy);margin:0 0 15px}
.detail-grid h2{font-size:25px;line-height:1.25}
.detail-grid article>p:not(.detail-label),.detail-grid li{line-height:1.65;color:var(--muted)}
.detail-grid ul{padding-left:21px;margin:18px 0 0}
.scope-note{border-left:3px solid var(--lime);padding-left:15px;font-size:14px}
.inner-contact{margin-top:70px;background:var(--green);color:#fff;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-radius:12px}
.inner-contact .eyebrow{color:#e1ff9a}.inner-contact h2{color:#fff;font-size:34px}.inner-contact p:last-child{color:#e4f2eb;margin-bottom:0}
.inner-contact>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.inner-contact .secondary{color:var(--navy)}
.policy-page{max-width:860px;margin:0 auto;padding:82px 30px 110px}
.policy-page h1{margin-bottom:12px}.policy-date{color:var(--muted);margin-bottom:48px}
.policy-page h2{font-size:23px;margin-top:34px}.policy-page p{font-size:17px;line-height:1.75;color:var(--muted)}.policy-page a{color:var(--navy)}
.not-found{max-width:700px;margin:12vh auto;padding:30px;text-align:center}.not-found img{width:300px;margin:0 auto 55px}.not-found p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted);margin:20px auto 28px}
@media(max-width:760px){.compact-cta{font-size:14px;min-height:42px;padding:10px 13px}.inner-page{padding:0 18px 70px}.inner-hero{padding:55px 0 40px}.detail-grid{grid-template-columns:1fr}.detail-grid article{padding:27px 22px}.service-jump{margin-bottom:36px}.inner-contact{padding:34px 24px;display:block}.inner-contact>div:last-child{margin-top:26px}.inner-contact .button{width:100%}.policy-page{padding:55px 20px 80px}.not-found{margin-top:7vh}.not-found img{max-width:75%}}
@media(max-width:380px){.inner-header .brand{width:155px}.inner-header .compact-cta{font-size:13px;padding:9px 10px}}
