:root{
  --navy:#0c2c46;
  --navy-2:#123b5e;
  --blue:#315f86;
  --blue-soft:#dfe9f0;
  --ink:#162536;
  --muted:#607080;
  --cream:#f7f4ef;
  --white:#fff;
  --line:#d8e0e6;
  --shadow:0 28px 70px rgba(13,42,66,.18);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(12,44,70,.08)}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:14px}
.monogram{font-family:var(--serif);font-size:29px;letter-spacing:-3px;color:var(--navy);width:48px;height:48px;border:1px solid var(--navy);display:grid;place-items:center;line-height:1}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{text-transform:uppercase;letter-spacing:.14em;font-size:14px}.brand-copy small{margin-top:6px;color:var(--muted);letter-spacing:.16em;font-size:10px}
.site-nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-nav>a:not(.nav-cta){color:#35475a}.site-nav>a:hover{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;padding:12px 17px;border-radius:999px}
.menu-toggle{display:none;border:0;background:transparent;font:inherit;color:var(--navy);font-weight:700}
.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#faf8f4 0 58%,#eef3f6 58%);padding:74px 0 78px}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(12,44,70,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(12,44,70,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;position:relative}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;color:var(--blue);margin:0 0 20px}.eyebrow.light{color:#b7cad9}
h1,h2,h3{margin-top:0;color:var(--navy)}
h1{font-family:var(--serif);font-size:clamp(48px,6.3vw,82px);line-height:.99;letter-spacing:-.045em;font-weight:500;margin-bottom:28px;max-width:780px}
h1 em{font-style:italic;color:var(--blue)}
.hero-lede{font-size:19px;max-width:690px;color:#506171;margin:0 0 34px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 22px;font-weight:800;font-size:14px;letter-spacing:.02em;border:1px solid transparent;transition:.2s ease}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--blue)}.button.secondary{border-color:#b7c6d0;background:#fff}.button.secondary:hover{border-color:var(--navy)}
.trust-row{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px;color:#667685;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.trust-row span{position:relative}.trust-row span+span:before{content:"";width:4px;height:4px;border-radius:50%;background:#9cadb9;position:absolute;left:-15px;top:.68em}
.portrait-wrap{position:relative;padding:18px 18px 0 34px}.portrait-card{position:relative;z-index:3;background:#fff;padding:10px;box-shadow:var(--shadow);border-radius:190px 190px 20px 20px;overflow:hidden}.portrait-card img{width:100%;height:560px;object-fit:cover;object-position:center top;border-radius:180px 180px 12px 12px}.portrait-caption{position:absolute;left:32px;right:32px;bottom:28px;background:rgba(12,44,70,.91);backdrop-filter:blur(10px);color:#fff;padding:17px 19px;border-radius:10px;display:flex;justify-content:space-between;gap:12px;align-items:center}.portrait-caption strong{font-family:var(--serif);font-size:22px;font-weight:500}.portrait-caption span{font-size:11px;letter-spacing:.16em}.soft-shape{position:absolute;border-radius:50%;filter:blur(1px)}.soft-shape-one{width:170px;height:170px;background:#d8e4eb;right:-40px;top:60px}.soft-shape-two{width:100px;height:100px;border:20px solid #c6d7e3;left:2px;bottom:38px}
.assurance-bar{background:var(--navy);color:#fff}.assurance-grid{display:grid;grid-template-columns:repeat(5,1fr)}.assurance-grid article{display:flex;gap:14px;align-items:center;padding:27px 18px;border-right:1px solid rgba(255,255,255,.14)}.assurance-grid article:last-child{border-right:0}.icon{font-family:var(--serif);font-size:27px;color:#c5d7e3}.assurance-grid strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.assurance-grid small{display:block;margin-top:3px;color:#aabfce;font-size:11px}
.section{padding:110px 0}.two-col{display:grid;grid-template-columns:.86fr 1.14fr;gap:100px}.section-heading h2{font-family:var(--serif);font-weight:500;letter-spacing:-.03em;font-size:clamp(38px,5vw,60px);line-height:1.05;margin-bottom:18px}.section-heading.centered{text-align:center;max-width:820px;margin:0 auto 54px}.section-heading.centered>p:last-child{color:var(--muted);font-size:17px;max-width:690px;margin:0 auto}.copy-stack{font-size:18px;color:#536373}.copy-stack p{margin-top:0;margin-bottom:24px}.credential-note{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.credential-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--serif);font-size:22px}.credential-note strong{color:var(--navy)}.credential-note p{font-size:13px;margin:4px 0 0;color:var(--muted)}
.specialties{background:var(--cream)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#fff;padding:32px 25px 30px;border:1px solid #ebe7df;min-height:250px;transition:.25s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(31,50,67,.09)}.service-card>span{font-family:var(--serif);font-size:13px;color:#7a98ae}.service-card h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.15;margin:46px 0 14px}.service-card p{font-size:14px;color:var(--muted);margin:0}
.approach{background:var(--navy);color:#dce6ed}.approach-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.approach h2,.approach h3{color:#fff}.approach-intro h2{font-family:var(--serif);font-size:clamp(38px,4.8vw,58px);font-weight:500;line-height:1.03;letter-spacing:-.03em}.approach-intro p:not(.eyebrow){color:#b7c7d2;font-size:17px;max-width:500px}.text-link{display:inline-flex;gap:10px;align-items:center;margin-top:18px;font-weight:800;color:#fff;border-bottom:1px solid #6e8ba1;padding-bottom:6px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.method-grid article{border:1px solid rgba(255,255,255,.14);padding:29px;background:rgba(255,255,255,.035);min-height:245px}.method-icon{font-family:var(--serif);font-size:34px;color:#b9cedd}.method-grid h3{font-family:var(--serif);font-weight:500;font-size:24px;margin:34px 0 12px}.method-grid p{font-size:14px;color:#b3c4d0;margin:0}
.fit-section{background:#fff}.fit-grid{align-items:start}.check-list{list-style:none;padding:0;margin:30px 0 0}.check-list li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--line);font-size:15px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.contact{padding-top:70px;background:linear-gradient(#fff 0 34%,#eef3f6 34%)}.contact-card{background:var(--navy-2);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:1fr .9fr;box-shadow:var(--shadow)}.contact-copy{padding:65px}.contact-copy h2{color:#fff;font-family:var(--serif);font-size:clamp(40px,4.5vw,58px);line-height:1.02;font-weight:500}.contact-copy>p:not(.eyebrow){color:#bed0dc;max-width:520px}.contact-links{display:grid;gap:14px;margin-top:34px}.contact-links a{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16);padding-top:13px}.contact-links small{color:#9fb6c6;text-transform:uppercase;letter-spacing:.14em;font-size:10px}.contact-links strong{color:#fff;font-size:16px;margin-top:4px;word-break:break-word}.contact-form{background:#f7f5f0;padding:52px;display:grid;gap:16px}.contact-form label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#435362}.contact-form input,.contact-form textarea{width:100%;margin-top:8px;border:1px solid #cbd4da;background:#fff;border-radius:8px;padding:13px 14px;font:inherit;text-transform:none;letter-spacing:normal;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #86a6bd;outline-offset:1px}.light-button{background:var(--navy);color:#fff;border:0;margin-top:4px}.form-note{font-size:11px;color:#748390;margin:0}
.site-footer{background:#071e30;color:#aebfcb;padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.footer-brand .monogram{border-color:#9db6c8;color:#c4d4df}.footer-brand strong{color:#fff}.site-footer p{font-size:13px}.footer-meta{display:flex;justify-content:flex-end;gap:70px}.footer-meta strong{color:#fff}.legal-row{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:38px;display:flex;justify-content:space-between;gap:20px}.legal-row small{font-size:10px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:980px){.site-nav{position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.08);padding:20px;display:none;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.menu-toggle{display:block}.hero{background:#faf8f4}.hero-grid{grid-template-columns:1fr;gap:45px}.portrait-wrap{max-width:570px}.assurance-grid{grid-template-columns:repeat(2,1fr)}.assurance-grid article{border-bottom:1px solid rgba(255,255,255,.14)}.two-col,.approach-grid{grid-template-columns:1fr;gap:45px}.card-grid{grid-template-columns:repeat(2,1fr)}.contact-card{grid-template-columns:1fr}.footer-meta{justify-content:flex-start}}
@media (max-width:620px){.container{width:min(100% - 28px,1180px)}.nav-wrap{height:74px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:9px}.monogram{width:42px;height:42px;font-size:25px}.hero{padding:52px 0}.hero-lede{font-size:17px}.portrait-wrap{padding:0}.portrait-card img{height:430px}.portrait-caption{left:20px;right:20px;bottom:20px}.trust-row{gap:15px}.trust-row span+span:before{display:none}.assurance-grid{grid-template-columns:1fr}.assurance-grid article{border-right:0}.section{padding:78px 0}.card-grid,.method-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{margin-top:28px}.contact{padding-top:30px}.contact-copy,.contact-form{padding:34px 24px}.footer-grid{grid-template-columns:1fr}.footer-meta{display:grid;gap:5px}.legal-row{flex-direction:column}.hero-actions .button{width:100%}}
