@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Manrope:wght@400;500;600;700&display=swap";:root{--navy-950:#061226;--navy-900:#0b2545;--navy-800:#143263;--navy-700:#1e4079;--teal-700:#0f766e;--teal-600:#0d9488;--teal-500:#14b8a6;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-900:#0f172a;--white:#fff;--text-primary:var(--slate-900);--text-secondary:var(--slate-700);--text-muted:var(--slate-500);--accent:var(--teal-600);--accent-hover:var(--teal-700);--border:var(--slate-200);--border-strong:var(--slate-300);--font-display:"Fraunces", Georgia, serif;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--container-max:1280px;--container-px:clamp(1.25rem, 4vw, 4rem);--section-py:clamp(4rem, 7vw, 7rem);--radius-sm:4px;--radius-lg:10px;--shadow-sm:0 1px 2px #0b25450a;--shadow-md:0 4px 14px #0b25450f;--shadow-lg:0 14px 40px #0b254514;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.22s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--text-secondary);background:var(--white);font-size:16px;line-height:1.65}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--duration) var(--ease);text-decoration:none}button{cursor:pointer;background:0 0;border:0;font-family:inherit}ul{list-style:none}.skip-link{background:var(--navy-900);color:#fff;z-index:200;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:1rem;left:1rem}.display-1,.display-2,.heading-3{font-family:var(--font-display);color:var(--text-primary);text-wrap:balance}.display-1{letter-spacing:-.025em;font-variation-settings:"opsz" 144;font-size:clamp(2.5rem,5.4vw,4.25rem);font-weight:400;line-height:1.05}.display-2{letter-spacing:-.02em;font-variation-settings:"opsz" 144;font-size:clamp(2rem,4vw,3.125rem);font-weight:400;line-height:1.1}.heading-3{letter-spacing:-.015em;font-variation-settings:"opsz" 60;font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:500;line-height:1.2}.heading-4{color:var(--text-primary);font-size:1.1875rem;font-weight:600;line-height:1.35}.body-lg{font-size:1.125rem;line-height:1.6}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600;display:block}.on-dark .eyebrow{color:var(--teal-500)}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-px);padding-right:var(--container-px);margin:0 auto}.section{padding:var(--section-py) 0}.section-soft{background:var(--slate-50)}.section-dark{background:var(--navy-900);color:#fff}.section-dark .display-2,.section-dark .heading-3{color:#fff}.section-dark p{color:#ffffffb8}.section-intro{max-width:680px;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-intro.center{text-align:center;margin-left:auto;margin-right:auto}.section-intro .eyebrow,.section-intro .display-2{margin-bottom:1rem}.section-intro p{color:var(--slate-600);font-size:1.0625rem}.btn{border-radius:var(--radius-sm);white-space:nowrap;transition:all var(--duration) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.625rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--navy-900);color:#fff}.btn-primary:hover{background:var(--navy-800);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--navy-900);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{border-color:var(--navy-900);background:var(--slate-50)}.btn-light{color:var(--navy-900);background:#fff}.btn-light:hover{background:var(--slate-100);transform:translateY(-1px)}.btn-text{color:var(--accent);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-text:after{content:"→";transition:transform var(--duration) var(--ease)}.btn-text:hover{color:var(--accent-hover)}.btn-text:hover:after{transform:translate(4px)}.site-header{z-index:100;backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:2rem;height:80px;display:flex}.brand{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--font-display);color:var(--navy-900);letter-spacing:-.01em;font-size:1.0625rem;font-weight:500}.brand-tagline{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:3px;font-size:.6875rem;font-weight:500}.nav-links{align-items:center;gap:2.25rem;display:flex}.nav-links a{color:var(--slate-700);border-bottom:2px solid #0000;padding:.25rem 0;font-size:.9375rem;font-weight:500}.nav-links a:hover{color:var(--navy-900)}.nav-links a[aria-current=page]{color:var(--navy-900);border-bottom-color:var(--accent)}.nav-right{align-items:center;gap:1rem;display:flex}.nav-toggle{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--navy-900);justify-content:center;align-items:center;display:none}.nav-toggle span{width:22px;height:2px;transition:transform var(--duration) var(--ease);background:currentColor;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";width:22px;height:2px;transition:all var(--duration) var(--ease);background:currentColor;position:absolute;left:0}.nav-toggle span:before{top:-7px}.nav-toggle span:after{top:7px}.nav-toggle[aria-expanded=true] span{background:0 0}.nav-toggle[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}.mobile-menu{border-top:1px solid var(--border);background:#fff;display:none}.mobile-menu[data-open=true]{display:block}.mobile-menu a{padding:1rem var(--container-px);color:var(--slate-700);border-bottom:1px solid var(--border);font-weight:500;display:block}.mobile-menu a[aria-current=page]{color:var(--navy-900);border-left:3px solid var(--accent)}.mobile-menu a.btn{margin:1rem var(--container-px);color:#fff;border-bottom:0;display:inline-flex}.logo-cell img{max-height:64px}@media (width<=960px){.nav-links,.nav-right .btn{display:none}.nav-toggle{display:inline-flex}}.hero{background:var(--slate-50);align-items:center;min-height:clamp(520px,62vh,720px);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:62% 50%;width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(90deg,#f8fafcfa 0%,#f8fafcf5 34%,#f8fafcb8 50%,#f8fafc00 72%);position:absolute;inset:0}.hero .container{z-index:1;padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(3rem,7vw,5.5rem);position:relative}.hero-content{max-width:600px}.hero-rule{background:var(--accent);width:48px;height:2px;margin:1.5rem 0}.hero-sub{color:var(--slate-600);max-width:34em;margin-bottom:2.25rem;font-size:clamp(1.0625rem,1.4vw,1.1875rem)}.hero-ctas{flex-wrap:wrap;gap:.875rem;display:flex}.hero-compact{min-height:0}.hero-compact .container{padding-top:clamp(3rem,6vw,4.5rem);padding-bottom:clamp(3rem,6vw,4.5rem)}.hero-compact .hero-bg:after{background:linear-gradient(90deg,#f8fafcfa 0%,#f8fafcf0 45%,#f8fafc99 70%,#f8fafc40 100%)}@media (width<=760px){.hero-bg:after,.hero-compact .hero-bg:after{background:linear-gradient(#f8fafcf5 0%,#f8fafceb 70%,#f8fafcbf 100%)}}.grid-2{grid-template-columns:1fr 1fr;gap:1.75rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=880px){.grid-2,.grid-3{grid-template-columns:1fr}}.card{border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease);background:#fff;flex-direction:column;padding:clamp(1.75rem,3vw,2.75rem);display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--accent);transform-origin:0;width:100%;height:3px;transition:transform .4s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card:hover:before{transform:scaleX(1)}.card .eyebrow{margin-bottom:1.25rem}.card .heading-3{margin-bottom:.625rem}.card .audience{color:var(--slate-500);margin-bottom:1.75rem;font-size:.9375rem;font-weight:500}.card .marker{font-family:var(--font-display);color:var(--accent);margin-bottom:1rem;font-size:.875rem;font-weight:600}.card .heading-4{margin-bottom:.75rem}.card p.body{color:var(--slate-600);flex-grow:1;font-size:.9375rem}.service-list{flex-grow:1;margin-bottom:2.25rem}.service-list li{border-top:1px solid var(--border);color:var(--slate-700);gap:.875rem;padding:.75rem 0;font-size:.9375rem;line-height:1.5;display:flex}.service-list li:last-child{border-bottom:1px solid var(--border)}.service-list .marker{flex-shrink:0;min-width:1.5rem;margin:0}.card-featured{grid-column:1/-1}.research-points{grid-template-columns:1fr 1fr;gap:1rem 2rem;margin-top:1.5rem;display:grid}.research-points li{color:var(--slate-600);border-left:2px solid var(--teal-100);padding-left:1rem;font-size:.9375rem;line-height:1.6}.research-points li strong{color:var(--navy-900);font-weight:600}@media (width<=760px){.research-points{grid-template-columns:1fr}}.partners{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--slate-50);padding:clamp(3rem,5vw,4.5rem) 0}.partners-label{letter-spacing:.2em;text-transform:uppercase;color:var(--slate-500);text-align:center;margin-bottom:2rem;font-size:.6875rem;font-weight:600}.logo-row{grid-template-columns:repeat(6,1fr);gap:1rem;display:grid}.logo-cell{border:1px solid var(--border);border-radius:var(--radius-sm);height:100px;transition:all var(--duration) var(--ease);background:#fff;justify-content:center;align-items:center;padding:.875rem 1.125rem;display:flex}.logo-cell:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.logo-cell img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:56px}.logo-cell img.tall{max-height:76px}@media (width<=1024px){.logo-row{grid-template-columns:repeat(3,1fr)}}@media (width<=540px){.logo-row{grid-template-columns:repeat(2,1fr)}}.metrics{position:relative;overflow:hidden}.metrics:before{content:"";pointer-events:none;background:radial-gradient(at 0 0,#14b8a614,#0000 60%),radial-gradient(at 100% 100%,#2e549166,#0000 60%);position:absolute;inset:0}.metrics .container{position:relative}.metric-row{border-top:1px solid #ffffff1f;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:2.5rem;display:grid}.metric-value{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-variation-settings:"opsz" 144;margin-bottom:.625rem;font-size:clamp(2.25rem,3.5vw,3rem);line-height:1}.metric-label{color:#ffffffa6;max-width:16em;font-size:.875rem}@media (width<=880px){.metric-row{grid-template-columns:repeat(2,1fr)}}.research-list{grid-template-columns:repeat(2,1fr);gap:0 3rem;display:grid}.research-item{border-top:1px solid var(--border);padding:1.5rem 0}.research-item .heading-4{margin-bottom:.375rem}.research-item p{color:var(--slate-600);font-size:.9375rem}@media (width<=760px){.research-list{grid-template-columns:1fr}}.bio-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.bio-portrait{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--navy-900);max-width:440px;box-shadow:var(--shadow-md);overflow:hidden}.bio-portrait img{object-fit:cover;width:100%;height:100%}.bio-content .eyebrow{margin-bottom:1rem}.bio-content .display-2{margin-bottom:1.5rem}.bio-content p{color:var(--slate-600);margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.7}.credentials{flex-wrap:wrap;gap:.625rem;margin-top:1.5rem;display:flex}.credential{background:var(--slate-50);border:1px solid var(--border);color:var(--slate-700);border-radius:100px;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;display:inline-flex}@media (width<=880px){.bio-grid{grid-template-columns:1fr}}.case{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:clamp(1.75rem,3vw,2.5rem)}.case-meta{color:var(--slate-500);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;font-size:.8125rem;display:flex}.case-meta .track{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.case .heading-3{margin-bottom:1.25rem}.case dl{grid-template-columns:7rem 1fr;gap:.75rem 1rem;font-size:.9375rem;display:grid}.case dt{color:var(--navy-900);letter-spacing:.12em;text-transform:uppercase;padding-top:.2rem;font-size:.75rem;font-weight:600}.case dd{color:var(--slate-600)}@media (width<=540px){.case dl{grid-template-columns:1fr;gap:.25rem}.case dd{margin-bottom:.75rem}}.work-list{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.work-item{border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease);background:#fff;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.work-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.work-item .heading-4{margin:0}.work-item .client{color:var(--slate-500);font-size:.875rem}.work-item .outcome{color:var(--slate-600);font-size:.9375rem}@media (width<=760px){.work-list{grid-template-columns:1fr}}.skills{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.skill{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--navy-900);background:#fff;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;font-weight:500;display:flex}.skill:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (width<=880px){.skills{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.skills{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,5rem);display:grid}.form{gap:1.125rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1.125rem;display:grid}.field{flex-direction:column;gap:.375rem;display:flex}.field label{color:var(--navy-900);font-size:.8125rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--duration) var(--ease);background:#fff;padding:.75rem .875rem;font-family:inherit;font-size:.9375rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0d948826}.form-status{min-height:1.5em;margin-top:.25rem;font-size:.9375rem}.form-status.ok{color:var(--teal-700);font-weight:500}.form-status.err{color:#b42318;font-weight:500}.btn:disabled{opacity:.6;cursor:default;transform:none}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.contact-info .heading-4{margin-bottom:.25rem}.contact-info a{color:var(--navy-900);font-weight:500}.contact-info a:hover{color:var(--accent)}.contact-info p{color:var(--slate-600);font-size:.9375rem}@media (width<=880px){.contact-grid{grid-template-columns:1fr}}@media (width<=540px){.form-row{grid-template-columns:1fr}}.post-meta{color:var(--slate-500);align-items:center;gap:.875rem;margin-bottom:.75rem;font-size:.8125rem;display:flex}.post-meta .tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.post-list{gap:1.25rem;max-width:860px;display:grid}.post-item{border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease);background:#fff;padding:clamp(1.5rem,3vw,2.25rem);display:block}.post-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.post-item .heading-3{margin-bottom:.625rem}.post-item p{color:var(--slate-600);margin-bottom:1rem;font-size:1rem}.post-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;max-width:1280px;display:grid}.post-grid:has(.post-card:only-child){max-width:760px}.post-card{border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration) var(--ease);background:#fff;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.post-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.post-card .post-meta{margin-bottom:.25rem}.post-card .heading-4{margin:0}.post-card p{color:var(--slate-600);font-size:.9375rem}@media (width<=880px){.post-grid{grid-template-columns:1fr}}.post{padding:clamp(3rem,6vw,5rem) 0}.post-container{max-width:760px}.post .display-2{margin:.5rem 0 1.25rem}.post-summary{color:var(--slate-600);border-bottom:1px solid var(--border);margin-bottom:1.75rem;padding-bottom:1.75rem;font-size:1.1875rem;line-height:1.55}.post-body{color:var(--slate-700);font-size:1.0625rem;line-height:1.75}.post-body p{margin-bottom:1.25rem}.post-body strong{color:var(--navy-900)}.post-body h2{font-family:var(--font-display);color:var(--text-primary);margin:2rem 0 .75rem;font-size:1.5rem;font-weight:500}.post-body ul,.post-body ol{margin:0 0 1.25rem 1.25rem;list-style:outside}.post-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.post-sources{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.5rem}.post-sources .eyebrow{margin-bottom:.75rem}.post-sources li{padding:.25rem 0;font-size:.9375rem}.post-sources a{color:var(--navy-900);text-underline-offset:2px;text-decoration:underline}.post-sources a:hover{color:var(--accent)}.post-footer{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2.5rem;display:flex}.closing{background:var(--slate-50);border-top:1px solid var(--border);padding:clamp(3rem,5vw,4.5rem) 0}.closing-grid{grid-template-columns:1.1fr 1fr 1.2fr;align-items:center;gap:2.5rem;display:grid}.closing-rule{background:var(--accent);width:32px;height:2px;margin-bottom:1rem}.closing .heading-3{margin:0}.closing-lead{color:var(--slate-600);font-size:.9375rem}.closing-contacts{flex-wrap:wrap;gap:1.25rem 2rem;font-size:.9375rem;display:flex}.closing-contacts a,.closing-contacts span{color:var(--navy-900);align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.closing-contacts a:hover{color:var(--accent)}.closing-contacts svg{width:18px;height:18px;color:var(--accent)}@media (width<=960px){.closing-grid{grid-template-columns:1fr;gap:1.5rem}}.cta-band{text-align:center}.cta-band .display-2{margin-bottom:1rem}.cta-band p{max-width:36em;margin:0 auto 2rem}.site-footer{background:var(--navy-950);color:#ffffffb3;padding:clamp(3.5rem,6vw,5rem) 0 2.5rem}.footer-top{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem;padding-bottom:3rem;display:grid}.footer-brand .brand-name{color:#fff;margin-bottom:.75rem;font-size:1.125rem;display:block}.footer-brand p{color:#ffffff8c;max-width:28em;font-size:.9375rem}.footer-col h4{letter-spacing:.16em;text-transform:uppercase;color:var(--teal-500);margin-bottom:1.25rem;font-size:.75rem;font-weight:600}.footer-col li{padding:.375rem 0;font-size:.9375rem}.footer-col a:hover{color:#fff}.footer-bottom{color:#ffffff73;justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}@media (width<=880px){.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:1rem}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}
