:root{
  --navy:#12344d;
  --navy-2:#1c4c68;
  --ink:#173046;
  --muted:#687d8f;
  --teal:#4f91a8;
  --teal-light:#eaf4f6;
  --sand:#f5f2ec;
  --off:#f7f9fb;
  --white:#fff;
  --line:#dce5eb;
  --red:#c8102e;
  --shadow:0 22px 55px rgba(18,52,77,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white)}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px max(4vw,34px);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand img{width:68px;height:68px;object-fit:contain;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.brand-line{font-weight:900;font-size:clamp(27px,2vw,35px);letter-spacing:-.045em;line-height:1;white-space:nowrap}
.brand-main{color:var(--navy)}
.brand-accent{color:var(--red);margin-left:6px}
.brand-tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8091a0;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:13px;margin-left:22px}
.site-header nav a:not(.btn){font-weight:700;color:var(--ink);padding:9px 10px;border-radius:9px}
.site-header nav a:not(.btn):hover{background:var(--off)}
.menu{display:none;border:0;background:transparent;font-size:29px;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:15px 22px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff!important;box-shadow:0 10px 26px rgba(18,52,77,.14)}
.btn-primary:hover{background:#0d2b41;transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--navy)!important;border-color:#ccd8df}
.btn-secondary:hover{background:var(--off)}
.btn-small{padding:12px 18px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding:94px max(6vw,58px) 74px;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%)}
.eyebrow{margin:0 0 17px;padding-top:2px;font-size:13px;font-weight:900;line-height:1.35;letter-spacing:.22em;color:var(--teal);text-transform:uppercase}
.eyebrow.dark{color:var(--navy-2)}
.hero h1,.section h2{margin:0;line-height:1.1;letter-spacing:-.045em;color:var(--navy)}
.hero h1{font-size:clamp(46px,5.6vw,80px);max-width:780px}
.lead{margin:24px 0 0;max-width:720px;font-size:21px;line-height:1.65;color:var(--muted)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:31px}
.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:31px;padding-top:23px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.45;font-weight:700}
.hero-image-wrap{display:flex;flex-direction:column;gap:18px}
.hero-image-wrap>img{width:100%;border-radius:28px;box-shadow:var(--shadow);object-fit:cover}
.hero-image-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.floating-card{padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.97);border:1px solid var(--line);box-shadow:0 15px 35px rgba(18,52,77,.10)}
.floating-card strong,.floating-card span{display:block}
.floating-card strong{color:var(--navy);margin-bottom:4px}
.floating-card span{font-size:13px;line-height:1.5;color:var(--muted)}
.impact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:24px max(6vw,58px);background:var(--navy);color:#fff}
.impact-strip div{padding-left:16px;border-left:3px solid rgba(255,255,255,.23)}
.impact-strip strong,.impact-strip span{display:block}
.impact-strip span{font-size:14px;margin-top:5px;color:rgba(255,255,255,.7)}
.section{padding:94px max(7vw,64px);scroll-margin-top:110px}
.story-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;background:var(--white)}
.story-section.reverse{background:var(--sand)}
.story-section.reverse .story-image{order:2}
.story-section.reverse .story-copy{order:1}
.story-image img{width:100%;border-radius:24px;box-shadow:var(--shadow);object-fit:cover;aspect-ratio:4/3}
.story-copy h2{font-size:clamp(36px,4vw,58px);margin-bottom:22px}
.story-copy p{font-size:18px;line-height:1.72;color:var(--muted)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.check-grid span{position:relative;padding:14px 16px 14px 39px;border:1px solid var(--line);border-radius:14px;background:var(--off);font-weight:700;color:var(--navy)}
.check-grid span:before{content:'✓';position:absolute;left:15px;color:var(--teal);font-weight:900}
.text-link{display:inline-block;margin-top:8px;font-weight:900;color:var(--navy-2)}
.text-link:hover{text-decoration:underline}
.light{background:#fff}
.services-grid-section{background:#f8fafb}
.section-heading{max-width:850px}
.section-heading h2{font-size:clamp(36px,4vw,58px)}
.section-heading p:not(.eyebrow){font-size:19px;line-height:1.7;color:var(--muted)}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}
.service-cards article{padding:31px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.service-number{font-size:13px;font-weight:900;letter-spacing:.13em;color:var(--teal)}
.service-cards h3{font-size:24px;color:var(--navy);margin:15px 0 10px}
.service-cards p{color:var(--muted);line-height:1.68}
.approach-list{display:grid;gap:14px;margin-top:25px}
.approach-list div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid rgba(18,52,77,.11)}
.approach-list b{color:var(--navy);font-size:17px}
.approach-list span{color:var(--muted);line-height:1.55}
.who-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--navy);color:#fff}
.who-section h2{color:#fff;font-size:clamp(36px,4vw,56px)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.who-grid div{padding:17px 18px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-weight:750;color:rgba(255,255,255,.93)}
.pricing-section{background:#fff}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.pricing article{position:relative;display:flex;flex-direction:column;padding:34px 31px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.pricing article.featured{outline:2px solid rgba(79,145,168,.32);transform:translateY(-7px)}
.popular{position:absolute;top:-14px;left:22px;padding:7px 12px;border-radius:999px;background:var(--teal);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}
.pricing h3{margin:0 0 10px;font-size:28px;color:var(--navy)}
.price{font-size:45px;font-weight:900;color:var(--navy)}
.price span{margin-left:5px;font-size:14px;font-weight:600;color:var(--muted)}
.pricing p,.pricing li{color:var(--muted);line-height:1.62}
.pricing ul{padding-left:21px;min-height:170px}
.pricing .btn{margin-top:auto}
.future-proof-note{display:none}
.contact-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;background:#f7f9fb;scroll-margin-top:110px}
.contact-copy h2{font-size:clamp(36px,4vw,58px)}
.contact-copy p{font-size:18px;line-height:1.7;color:var(--muted)}
.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.contact-details a{font-size:21px;font-weight:900;color:var(--navy)}
.contact-details span{color:var(--muted)}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:29px;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
label{font-size:14px;font-weight:700;color:var(--ink)}
input,select,textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #ccd8df;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(79,145,168,.18);border-color:var(--teal)}
.full{grid-column:1/-1}
.form-note{margin:0;font-size:12px;color:var(--muted)}
.site-footer{padding:52px max(7vw,64px) 24px;background:#f7f4ef;border-top:1px solid #e5ded4;color:var(--ink)}
.footer-grid{display:grid;grid-template-columns:1.2fr .65fr .95fr;gap:48px;align-items:start}
.footer-lockup img{width:65px;height:65px}
.footer-lockup .brand-line{font-size:clamp(27px,2vw,33px)}
.footer-lockup .brand-tag{color:#7c8a95}
.footer-brand p{max-width:460px;color:var(--muted);line-height:1.65;margin-top:16px}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px}
.site-footer h4{margin:7px 0 8px;font-size:18px;color:var(--navy)}
.footer-links a{color:#526b7d}
.footer-links a:hover{color:var(--navy)}
.footer-contact{padding:22px;border:1px solid #ddd7ce;border-radius:20px;background:rgba(255,255,255,.58)}
.footer-contact p{margin:0;color:var(--muted);line-height:1.6}
.footer-email{font-weight:900;color:var(--navy)}
.footer-contact span{color:var(--muted)}
.copyright{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:34px;padding-top:18px;padding-bottom:8px;border-top:1px solid #ded8cf;color:#768694;font-size:13px;line-height:1.5}
.footer-descriptor{text-align:left}
.footer-tagline{text-align:center;font-weight:800;color:var(--navy);letter-spacing:.015em}
.footer-copy{text-align:right}
@media(max-width:1120px){
  .hero,.story-section,.who-section,.contact-section{grid-template-columns:1fr}
  .story-section.reverse .story-image,.story-section.reverse .story-copy{order:initial}
  .service-cards,.pricing{grid-template-columns:1fr 1fr}
  .impact-strip{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:880px){
  .menu{display:block}
  .site-header{padding:13px 18px}
  .brand img{width:57px;height:57px}
  .brand-line{font-size:27px}
  .brand-tag{font-size:10px;letter-spacing:.13em}
  .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(18,52,77,.08);flex-direction:column;align-items:flex-start;margin-left:0}
  .site-header nav.open{display:flex}
  .floating-card{position:static;margin-top:12px;max-width:none}
}
@media(max-width:640px){
  .brand img{width:47px;height:47px}
  .brand-line{font-size:23px}
  .brand-tag{display:none}
  .hero{padding:66px 22px 56px}
  .hero h1{font-size:42px}
  .lead{font-size:18px}
  .actions{flex-direction:column;align-items:stretch}
  .impact-strip,.service-cards,.pricing,.who-grid,.check-grid,.hero-image-notes{grid-template-columns:1fr}
  .section{padding:70px 22px}
  .approach-list div{grid-template-columns:1fr;gap:6px}
  form{grid-template-columns:1fr;padding:22px}
  .full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .site-footer{padding:42px 22px 22px}
}

@media(max-width:760px){.copyright{grid-template-columns:1fr;text-align:center;gap:8px}.footer-descriptor,.footer-tagline,.footer-copy{text-align:center}}
