@import "tailwindcss";

:root { --ink:#112f34; --muted:#5e7778; --paper:#f7f6f1; --mint:#dbe9e2; --line:#cbd9d3; --coral:#e76f51; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; } a { color:inherit; text-decoration:none; } p { line-height:1.65; } .hero { min-height:735px; overflow:hidden; position:relative; padding:28px max(6vw,32px) 70px; background:var(--mint); } nav { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; }.brand { font-size:27px; font-weight:800; letter-spacing:-2px; }.brand span { color:var(--coral); }.nav-contact { border-bottom:1px solid var(--ink); font-size:14px; padding-bottom:4px; }.hero-grid { position:relative; z-index:1; max-width:1180px; margin:105px auto 0; display:grid; grid-template-columns:1.55fr .75fr; align-items:end; gap:72px; }.eyebrow { margin:0 0 18px; color:#487175; font-size:11px; font-weight:700; letter-spacing:1.45px; text-transform:uppercase; }.hero h1 { max-width:760px; margin:0; font-size:clamp(46px,6.6vw,88px); letter-spacing:-.07em; line-height:.96; }.hero h1 em { color:#396c68; font-family:Georgia, serif; font-weight:400; }.lede { max-width:615px; margin:34px 0 30px; color:#3e5f62; font-size:18px; }.actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; gap:18px; font-size:14px; font-weight:700; padding:15px 20px; }.primary { background:var(--ink); color:white; }.text-link { border-bottom:1px solid var(--ink); padding:15px 0; }.credential-card { background:rgba(255,255,255,.76); padding:34px; box-shadow:0 15px 34px rgba(33,77,72,.1); }.card-kicker { margin:0; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }.credential-card strong { display:block; margin:14px 0 5px; font-size:62px; letter-spacing:-.07em; }.credential-card p { color:#476568; font-size:14px; line-height:1.5; }.card-rule { height:1px; background:var(--line); margin:24px 0; }.card-foot { font-size:12px!important; }.orb { position:absolute; border-radius:100%; border:1px solid rgba(38,90,82,.12); }.orb-one { width:650px; height:650px; right:-240px; top:-195px; }.orb-two { width:350px; height:350px; right:120px; bottom:-225px; }.section { max-width:1180px; margin:0 auto; padding:130px max(6vw,32px); }.intro-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:12%; }.intro h2, .expertise h2, .contact h2 { margin:0; font-size:clamp(34px,4.2vw,58px); letter-spacing:-.055em; line-height:1.03; }.intro-grid > div p { margin:0 0 20px; color:var(--muted); font-size:17px; }.services { padding-top:15px; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }.section-heading > p:last-child { max-width:400px; color:var(--muted); margin:0; }.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.service { min-height:290px; padding:27px 24px 20px; border-right:1px solid var(--line); }.service:first-child { padding-left:0; }.service:last-child { border:0; }.service span { color:var(--coral); font-size:13px; font-weight:700; }.service h3 { font-size:21px; letter-spacing:-.04em; margin:72px 0 12px; }.service p { color:var(--muted); font-size:14px; }.expertise { background:var(--ink); color:#f6f7f3; }.expertise-inner { max-width:1180px; margin:0 auto; padding:112px max(6vw,32px); }.expertise .eyebrow { color:#99bab3; }.expertise h2 { max-width:720px; }.tag-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:48px; }.tag-list span { border:1px solid #507672; padding:10px 13px; color:#d8e8e2; font-size:13px; }.formation { padding-bottom:125px; }.formation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }.formation-grid > div { border-top:1px solid var(--line); padding-top:24px; }.dash { color:var(--coral); font-size:22px; }.formation h3 { margin:26px 0 10px; font-size:21px; letter-spacing:-.04em; }.formation p { color:var(--muted); font-size:15px; }.contact { display:flex; justify-content:space-between; align-items:end; gap:45px; padding:95px max(6vw,32px); background:#e3a08f; }.contact h2 { max-width:750px; }.light { background:var(--paper); flex:none; }.contact .eyebrow { color:#744032; } footer { display:flex; gap:25px; padding:25px max(6vw,32px); background:#e3a08f; border-top:1px solid rgba(32,62,59,.2); font-size:12px; } footer p { margin:0 auto 0 0; } footer a { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:760px) { .hero { min-height:auto; padding-bottom:65px; }.hero-grid,.intro-grid { grid-template-columns:1fr; gap:44px; margin-top:72px; }.credential-card { max-width:420px; }.service-grid,.formation-grid { grid-template-columns:1fr; }.service { min-height:auto; border-right:0; border-bottom:1px solid var(--line); padding:25px 0; }.service h3 { margin:28px 0 8px; }.section-heading,.contact { display:block; }.section-heading > p:last-child { margin-top:20px; }.section { padding-top:82px; padding-bottom:82px; }.expertise-inner { padding-top:80px; padding-bottom:80px; }.contact { padding-top:75px; padding-bottom:75px; }.contact .button { margin-top:35px; } footer { flex-wrap:wrap; } footer p { width:100%; }.orb-one { right:-440px; }.lede { font-size:16px; } }
