@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17202b;--blue:#2849ed;--muted:#59636f;--line:#dce1e8;--light:#f2f5f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:1rem/1.75 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #f09521;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1,h2{letter-spacing:-.055em;line-height:1.08;font-weight:600}h1{font-size:clamp(3.2rem,5.7vw,5.5rem)}h2{font-size:clamp(2.4rem,4vw,3.8rem)}h3{font-size:1.45rem;line-height:1.35;letter-spacing:-.025em}em{font-style:normal;color:var(--blue)}p+p{margin-top:1.1rem}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:26px 5%;gap:25px;border-bottom:1px solid var(--line)}.brand{font:700 1.25rem Manrope,Arial,sans-serif;letter-spacing:-.04em}.brand span{display:block;font:400 .875rem/1.6 'DM Sans',Arial;letter-spacing:0;color:var(--muted);margin-top:4px}nav{display:flex;align-items:center;gap:30px;font-size:.9rem}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid var(--line);padding:10px 18px;border-radius:5px}.nav-contact span{margin-left:16px}.wrap{max-width:1240px;margin:auto;width:90%}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:7%;align-items:center;padding-top:64px;padding-bottom:70px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;line-height:1.6;margin-bottom:25px;color:var(--blue)}.hero .eyebrow{font-size:.74rem}.hero .lead{font-size:1.3rem;line-height:1.5;color:var(--ink);max-width:510px;margin-top:28px}.hero-copy>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:520px;margin-top:18px}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:30px}.button{background:var(--blue);color:white;padding:15px 20px;border-radius:5px;font-weight:600;font-size:.9rem;transition:background .2s}.button:hover{background:#1834bd}.button span{margin-left:15px}.text-link{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.portrait{position:relative;align-self:stretch;min-height:580px;background:#dfe2e5;border-radius:8px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:53% 32%;position:absolute}.portrait-caption{position:absolute;bottom:20px;left:20px;right:20px;padding:18px 22px;background:#ffffffed;display:flex;align-items:center;justify-content:space-between;gap:15px;border-radius:4px}.portrait-caption strong{font-size:1.02rem}.portrait-caption span{font-size:.8rem;line-height:1.5;color:var(--muted)}.scope-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scope-strip>.wrap{display:flex;justify-content:space-between;padding:22px 0;font-size:.75rem;letter-spacing:.18em;color:var(--muted);font-weight:600;gap:16px}.section{padding-top:105px;padding-bottom:105px}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.intro-copy{padding-top:42px;color:var(--muted)}.large{font-size:1.4rem;line-height:1.6;color:var(--ink)}.principle{border-left:3px solid var(--blue);padding:6px 0 6px 24px;margin-top:28px;color:var(--ink);font-size:1.12rem}.services{background:var(--light)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:50px}.section-top>p{max-width:390px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column}.number{color:var(--blue);font-size:.875rem;font-weight:600;margin-bottom:22px}.service-grid h3{margin-bottom:20px}.service-grid p{font-size:.97rem;color:var(--muted)}.detail{font-size:.78rem;line-height:1.65;margin-top:auto;padding-top:28px;color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.steps article{border-top:2px solid var(--blue);padding-top:22px}.steps span{font-size:.75rem;letter-spacing:.1em;color:var(--blue)}.steps h3{font-size:1.18rem;margin:15px 0}.steps p{color:var(--muted);font-size:.96rem}.about{background:#eef2f7}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.credentials{margin-top:50px}.credentials>div{padding:20px 0;border-bottom:1px solid #ced6e0}.credentials strong{font-family:Manrope,Arial;font-size:2rem;font-weight:600;display:block}.credentials span{font-size:.9rem;color:var(--muted)}.about-copy{color:var(--muted)}.about-copy h3{color:var(--ink);margin:32px 0 18px}.learning{margin-top:30px;padding-top:24px;border-top:1px solid #ced6e0}.learning strong{color:var(--ink)}.learning p{margin-top:8px}.contact{background:#15233b;color:#fff;padding-bottom:25px}.contact .eyebrow{color:#a8b8ff}.contact em{color:#a8b8ff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact-grid p{margin-top:26px;color:#bac4d3}.contact-links a{display:block;border-bottom:1px solid #43516a;padding:20px 0;font-size:clamp(1.1rem,2.1vw,1.8rem);letter-spacing:-.03em;overflow-wrap:anywhere}.contact-links a:hover{color:#a8b8ff}.contact-links small{display:block;color:#bac4d3;font-size:.73rem;letter-spacing:.13em;margin-bottom:5px}.contact-links span{float:right}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #43516a;margin-top:80px;padding-top:25px;font-size:.85rem;color:#bac4d3}.skip{position:absolute;top:-100px;padding:15px;background:white;z-index:10}.skip:focus{top:0}
@media(min-width:1450px){.hero{gap:90px}}@media(max-width:1000px){nav{gap:18px}.hero{gap:5%}.portrait{min-height:520px}.portrait-caption{display:block}.portrait-caption span{display:block;margin-top:4px}.service-grid{grid-template-columns:repeat(2,1fr)}.intro,.about-grid{gap:6%}.steps{grid-template-columns:repeat(2,1fr);row-gap:35px}.contact-grid{gap:6%}}@media(max-width:700px){header{padding:20px 5%}.brand{font-size:1.1rem}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:.8rem;padding:9px 12px}.nav-contact span{display:none}.brand span{font-size:.75rem}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px;padding-bottom:40px}h1{font-size:3.5rem}.hero .lead{font-size:1.2rem}.portrait{min-height:460px}.portrait img{object-position:center 28%}.portrait-caption{display:flex}.portrait-caption span{margin:0}.scope-strip>.wrap{flex-wrap:wrap;justify-content:center;font-size:.7rem;column-gap:24px;row-gap:8px}.section{padding-top:65px;padding-bottom:65px}.intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.intro-copy{padding-top:0}.large{font-size:1.2rem}.section-top{display:block;margin-bottom:30px}.section-top p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:27px}.steps{grid-template-columns:1fr;gap:30px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.contact-links a{font-size:1.25rem}footer{margin-top:45px;flex-wrap:wrap;gap:10px 25px}.contact{padding-bottom:25px}.actions{gap:20px}h2{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Persistent navigation with every section available on small screens. */
header{position:sticky;top:0;z-index:100;background:#fffffff5;backdrop-filter:blur(14px);max-width:none;box-shadow:0 3px 18px #17202b08}nav{gap:22px}nav a{white-space:nowrap}html{scroll-padding-top:130px}.steps p+p{margin-top:.75rem}
@media(max-width:1000px){header{flex-wrap:wrap;gap:14px;padding-top:15px;padding-bottom:15px}nav{width:100%;justify-content:space-between;gap:12px}html{scroll-padding-top:180px}}
@media(max-width:700px){nav>a:not(.nav-contact){display:block}nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 18px;font-size:.875rem}.nav-contact{border:0;padding:0;font-size:.875rem}header{gap:12px}.brand span{display:none}html{scroll-padding-top:160px}}

/* Approved section layouts and typography. */
.hero{grid-template-columns:1.45fr 1fr;gap:5%}.hero h1{font-size:clamp(2.8rem,4.05vw,4.2rem);letter-spacing:-.045em}.hero .lead,.hero-copy>p:not(.eyebrow):not(.lead){max-width:none}.hero .lead{font-weight:500}.intro-copy{padding-top:0}.intro-copy .large{font-weight:500}.section-top{display:block}.section-top>p{max-width:850px;margin-top:24px}.service-grid article{padding:30px 28px}.service-grid h3{max-width:300px}.service-grid p{font-size:1rem}.detail{font-size:.875rem}.steps p{font-size:1.05rem}.steps h3{font-size:1.35rem}.steps span{font-size:.875rem}.about h2{font-size:clamp(2.3rem,3.4vw,3.4rem);max-width:1100px}.about-main{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:38px}.about-photo{border-radius:8px;overflow:hidden;background:#e1e6ee}.about-photo img{display:block;width:100%;height:auto;max-height:660px;object-fit:cover;object-position:center 50%}.about-copy h3{margin:0 0 18px}.about-copy p{font-size:1.05rem}.about-supplement{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:36px;padding-top:28px;border-top:1px solid #ced6e0}.about-supplement h3{font-size:1.1rem;color:var(--blue);margin-bottom:10px}.about-supplement p{font-size:.9rem;line-height:1.65;color:var(--muted)}.contact-grid p{max-width:490px;font-size:1.15rem}.portrait{min-height:560px}
@media(max-width:1000px){.hero{grid-template-columns:1.2fr 1fr}.hero h1{font-size:2.8rem}.about-main{gap:28px}.about-photo img{max-height:none}.about-copy p{font-size:1rem}}
@media(max-width:700px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(2.25rem,7.5vw,3.2rem)}.portrait{min-height:460px}.about-main{grid-template-columns:1fr;gap:28px}.about-photo{max-width:460px;width:100%;margin:auto}.about-photo img{max-height:560px;object-fit:cover;object-position:center 48%}.about-supplement{grid-template-columns:1fr;gap:24px}.about-supplement p{font-size:.9rem}.service-grid article{padding:26px}.section-top h2{font-size:2.3rem}}

/* Compact anchor landing positions and consistent primary navigation action. */
:root{--header-height:110px;--section-top-space:105px}
nav .nav-contact{background:var(--blue);border:1px solid var(--blue);color:#fff;padding:10px 18px;font-weight:600;transition:background .2s}
nav .nav-contact:hover{background:#1834bd;border-color:#1834bd;color:#fff}
.hero{padding-top:16px}
.section[id]{scroll-margin-top:calc(0px - var(--section-top-space))}
.contact{min-height:calc(100svh - var(--header-height) - 24px + var(--section-top-space))}
.portrait-caption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;text-align:left}
.portrait-caption span{display:block;margin:0}
.about h2{max-width:none;font-size:clamp(2rem,2.8vw,2.9rem)}
.about h2 em{display:block}
@media(max-width:700px){:root{--section-top-space:65px}nav .nav-contact{padding:8px 12px}.hero{padding-top:16px}.about h2{font-size:clamp(1.8rem,5.8vw,2.5rem)}}

/* Mobile: contact button alongside the name, section links below. */
@media (max-width:700px){
  header{column-gap:0;row-gap:12px}
  header .brand{display:flex;align-items:center;min-height:40px;padding-right:136px;font-size:clamp(.9rem,4.2vw,1.1rem);white-space:nowrap}
  header nav{width:100%;column-gap:clamp(10px,3.6vw,18px);row-gap:8px;font-size:clamp(.72rem,3.25vw,.875rem)}
  header nav .nav-contact{position:absolute;top:15px;right:5%;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;font-size:.8rem;line-height:1.4}
}

/* Center mobile section navigation and the footer return link. */
@media (max-width:700px){
  header nav{justify-content:center}
  footer>a[href="#"]{flex:0 0 100%;text-align:center}
}
