:root{--navy:#12306b;--navy-d:#0b1f47;--orange:#f08a1c;--ink:#1c2333;--muted:#5d6579;--line:#e3e7ef;--bg:#fff;--alt:#f5f7fb;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--navy);text-decoration:none}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.2;color:var(--navy-d);margin:0 0 .5em}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.nav{display:flex;align-items:center;gap:4px}
.nav a.nl,.dd-btn{font:500 15px Inter,sans-serif;color:var(--ink);padding:8px 12px;border-radius:8px;background:none;border:0;cursor:pointer}
.nav a.nl:hover,.dd-btn:hover,.dd.open .dd-btn{background:var(--alt);color:var(--navy)}
.dd{position:relative}.dd-btn i{display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:8px}
.dd-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 18px 40px rgba(18,48,107,.12)}
.dd.open .dd-menu{display:block}.dd-menu a{display:block;padding:8px 12px;border-radius:8px;color:var(--ink);font-size:14.5px}.dd-menu a:hover{background:var(--alt);color:var(--navy)}
@media(hover:hover) and (min-width:901px){.dd:hover .dd-menu{display:block}}
.btn{display:inline-block;background:var(--orange);color:#fff;font:600 15px Inter,sans-serif;padding:13px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:#d97706;transform:translateY(-1px)}.btn-sm{padding:9px 18px;margin-left:8px}
.btn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:#fff4e6}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.2s}
.kicker{font:600 13px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin:0 0 12px}
.lead{font-size:19px;color:var(--muted);max-width:640px;margin:0}
.hero{background:radial-gradient(1000px 500px at 85% -10%,#dce6fb 0,transparent 60%),linear-gradient(180deg,#f5f8ff,#fff);padding:88px 0 72px}
.hero-in{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(38px,5.6vw,66px);letter-spacing:-.02em}.hero h1 em{color:var(--orange);font-style:normal}
.hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.stats{display:grid;gap:14px}.stats div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;box-shadow:0 10px 30px rgba(18,48,107,.06)}
.stats b{display:block;font:600 34px Fraunces,serif;color:var(--navy)}.stats span{color:var(--muted);font-size:14px}
.sec{padding:80px 0}.alt{background:var(--alt)}.shead{margin-bottom:36px}.shead.row{display:flex;justify-content:space-between;align-items:end;gap:16px}
.shead h2,.split h2{font-size:clamp(28px,3.6vw,40px)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc{padding:28px}.svc h3{font-size:24px}.svc p{color:var(--muted);margin:0 0 16px}.svc ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.svc li a{display:block;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px}.svc li a:hover{color:var(--orange);padding-left:4px}
.ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#eaf0fd;color:var(--navy);margin-bottom:18px}.ic svg{width:24px}
.post{display:block;transition:transform .2s,box-shadow .2s}.post:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,48,107,.12)}
.post img{aspect-ratio:3/2;object-fit:cover;width:100%;background:var(--alt)}.post div{padding:20px}.post h3{font-size:19px;margin:6px 0 0}.meta{font-size:13px;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split p{color:var(--muted)}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:14px}.ticks li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 50px;position:relative}
.ticks li:before{content:"";position:absolute;left:18px;top:20px;width:16px;height:9px;border-left:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);transform:rotate(-45deg)}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy)}.link svg{width:18px}.link:hover{color:var(--orange)}
.cta{background:var(--navy-d);color:#fff;padding:56px 0}.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta h2{color:#fff;font-size:30px;margin-bottom:6px}.cta p{margin:0;color:#b9c6e4}
.phead{background:linear-gradient(180deg,#f5f8ff,#fff);padding:56px 0 24px}.phead h1{font-size:clamp(32px,4.4vw,52px);max-width:900px}
.crumbs{padding-top:20px;font-size:14px;color:var(--muted)}.crumbs span{margin:0 8px}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.prose{font-size:17px}.prose h2{font-size:26px;margin:1.8em 0 .5em}.prose h2:first-child,.prose h2.first{margin-top:0}.prose p{margin:0 0 1.1em;color:#2c3448}.prose ul{padding-left:0;list-style:none;margin:0 0 1.4em}
.prose li{position:relative;padding:6px 0 6px 26px}.prose li:before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--orange)}
.rel{position:sticky;top:92px;background:var(--alt);border-radius:var(--r);padding:22px}.rel h3{font-size:18px}.rel a{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);font-size:15px;gap:8px}.rel a:hover{color:var(--orange)}.rel svg{width:16px;flex:none}
.person{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}.person:last-child{border:0}.person img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--alt)}.person h2{font-size:28px}.person p{color:#2c3448}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:56px}.info h3{font:600 13px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:22px 0 4px}.info p{margin:0}
.form{background:var(--alt);border-radius:var(--r);padding:32px;display:grid;gap:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:6px;font-weight:500;font-size:14px}.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1px solid #cdd4e2;border-radius:10px;background:#fff;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--orange);border-color:transparent}.hp{position:absolute;left:-9999px}.fmsg{margin:0;font-weight:500}
.ftr{background:var(--navy-d);color:#b9c6e4;padding:56px 0 24px;font-size:14.5px}.ftr a{color:#dbe4f7}.ftr a:hover{color:var(--orange)}
.ftr-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.ftr h4{color:#fff;font:600 14px Inter;letter-spacing:.1em;text-transform:uppercase}.ftr-top div a{display:block;padding:3px 0}
.ftr-brand img{background:#fff;padding:6px 10px;border-radius:8px;margin-bottom:14px}.ftr-brand p{margin:0 0 12px}.muted{opacity:.7}
.ftr-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px}.disc{opacity:.6;font-size:13px;margin:14px 0 0}
@media(max-width:900px){
.burger{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line);max-height:calc(100vh - 68px);overflow:auto}
.nav.open{display:flex}.dd-menu{position:static;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}.dd-btn{width:100%;text-align:left}.btn-sm{margin:8px 0 0;text-align:center}
.hero{padding:56px 0}.hero-in,.split,.contact,.art-grid,.person{grid-template-columns:1fr;gap:32px}.grid3{grid-template-columns:1fr}.rel{position:static}.sec{padding:56px 0}
.ftr-top{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.person img{max-width:240px}}

/* ---- Typography & spacing refinements ---- */
body{font-size:16.5px;line-height:1.7;text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance}
p,li{text-wrap:pretty}
.wrap{padding:0 clamp(20px,4vw,32px)}
.crumbs{padding-top:24px;padding-bottom:4px;line-height:1.5}
.crumbs span{margin:0 10px;opacity:.5}
.crumbs a:hover{color:var(--orange)}
.phead{padding:40px 0 36px;border-bottom:1px solid var(--line)}
.phead .kicker{margin-bottom:14px}
.phead h1{margin-bottom:16px;line-height:1.15}
.phead .lead{font-size:18px;line-height:1.6;max-width:700px}
.sec{padding:72px 0}
.sec .grid3{gap:28px}
.shead{margin-bottom:40px}
.shead h2{margin-bottom:0}
.art-grid{grid-template-columns:minmax(0,1fr) 300px;gap:64px}
.art-grid.left{grid-template-columns:300px minmax(0,1fr)}
.prose{font-size:17.5px;line-height:1.8;max-width:740px}
.prose h2{font-size:27px;line-height:1.25;margin:2.2em 0 .7em;padding-top:.2em}
.prose h3{font-size:21px;margin:1.8em 0 .5em}
.prose p{margin:0 0 1.3em;color:#2a3246}
.prose ul,.prose ol{margin:0 0 1.6em}
.prose ol{padding-left:1.4em}
.prose li{padding:5px 0 5px 28px;line-height:1.7}
.prose li:before{top:16px}
.prose li+li{margin-top:2px}
.prose strong{color:var(--navy-d)}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(18,48,107,.3)}
.prose a:hover{color:var(--orange);text-decoration-color:currentColor}
.prose img{border-radius:var(--r);margin:1.6em 0;height:auto}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:16px}
.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.rel{padding:24px;top:96px}
.rel h3{font-size:17px;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid var(--orange)}
.rel a{padding:12px 0;line-height:1.4}
.rel h3+a{border-top:0}
.rel a:hover{color:var(--orange)}
.rel.insights-nav a{justify-content:flex-start}
.rel.insights-nav a.all{font-weight:600;color:var(--navy);justify-content:space-between;margin-top:6px;border-top:2px solid var(--line)}
.card{transition:box-shadow .2s}
.post div{padding:22px}
.post h3{line-height:1.3}
.svc{padding:32px}
.svc li a{padding:11px 0}
.split{gap:64px}
.split p{line-height:1.75}
.cta{padding:64px 0}
.cta p{line-height:1.6}
.person{padding:48px 0;gap:48px}
.person p{line-height:1.8;margin:0 0 1.1em}
.contact{gap:64px}
.form{padding:36px;gap:18px}
.ftr{padding:64px 0 28px}
.ftr-top{gap:40px}
.ftr-top div a{padding:4px 0;line-height:1.45}
.ftr h4{margin-bottom:14px}
.ftr-bot{margin-top:44px;padding-top:24px;line-height:1.6}
@media(max-width:900px){
body{font-size:16px}
.phead{padding:28px 0 28px}
.sec{padding:48px 0}
.prose{font-size:17px;line-height:1.75}
.prose h2{font-size:24px;margin-top:1.9em}
.art-grid,.art-grid.left{grid-template-columns:1fr;gap:40px}
.art-grid.left .rel{order:2}
.split,.contact{gap:36px}
.form{padding:24px}
.ftr{padding:48px 0 24px}
}
@media(max-width:560px){.ftr-top{grid-template-columns:1fr}}
.art-grid.ins{grid-template-columns:minmax(0,1fr) 260px;gap:56px}
.art-grid.ins .rel{padding:20px}.art-grid.ins .rel a{font-size:14.5px}
@media(max-width:900px){.art-grid.ins{grid-template-columns:1fr;gap:40px}}
