@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{--primary:#142D3E;--secondary:#54717B;--background:#F5F4EF;--accent:#C7D4D0;--ink:#202C34;--surface:#FFFFFF;--line:#142D3E26;--heading:'DM Sans',sans-serif;--body:Inter,ui-sans-serif,system-ui,sans-serif;--section-space:88px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--background);color:var(--ink);font:16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--secondary);outline-offset:5px}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
h1,h2,h3{font-family:var(--heading);color:var(--primary);font-weight:500;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(30px,3vw,40px);line-height:1.18;margin:0}
h3{font-size:21px;line-height:1.35;margin:0;font-weight:600;letter-spacing:-.025em}
p{margin:0 0 20px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:112px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--heading);font-size:27px;font-weight:600;letter-spacing:-.035em;line-height:1.1;text-decoration:none;color:var(--primary)}
.brand-line{display:block;margin-top:7px;font:500 11px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--secondary)}
nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:500}
nav a{text-decoration:none;color:var(--secondary);padding-block:9px}
nav a:hover{color:var(--primary)}
nav a.nav-contact{padding:11px 17px;background:var(--primary);border-radius:4px;color:var(--surface);font-size:12px}
.nav-contact span{margin-left:16px}
.nav-contact:hover{background:var(--secondary)}
.menu-toggle{display:none}
.hero{padding:82px 0 72px}
.hero-copy{display:grid;grid-template-columns:1.15fr .85fr;column-gap:88px;row-gap:28px}
.hero h1{grid-column:1/-1;margin:0 0 13px;font-size:clamp(42px,4.6vw,66px);font-weight:500;line-height:1.09;letter-spacing:-.04em;text-wrap:initial}
.hero-copy>p.hero-lead{font-size:21px;line-height:1.55;color:var(--ink);margin:0;max-width:570px;letter-spacing:-.025em}
.hero-copy>p:not(.hero-lead){font-size:15px;line-height:1.75;margin:0;color:var(--secondary);max-width:430px}
.hero-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:49px;padding:12px 19px;background:var(--primary);color:var(--surface);border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;transition:background .18s ease}
.button:hover{background:var(--secondary)}
.text-link{display:inline-flex;align-items:center;gap:24px;min-height:46px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--line);font-size:13px;font-weight:500;text-decoration:none;color:var(--primary)}
.text-link:hover{border-color:var(--primary)}
.hero-actions .text-link{padding-inline:15px;border:1px solid var(--line);border-radius:4px;min-height:49px}
.hero-actions .text-link:hover{background:var(--surface)}
.context-section{background:var(--surface);padding-top:48px;border-block:1px solid var(--line)}
.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}
.context-grid h2{font-size:31px;line-height:1.25}
.context-grid p{color:var(--secondary);font-size:15px}
.audiences{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:26px;border-top:1px solid var(--line);padding-block:23px;font-size:12px;font-weight:500;line-height:1.6}
.services{padding-block:var(--section-space)}
.section-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:80px;margin-bottom:42px}
.section-intro>p{max-width:425px;font-size:15px;color:var(--secondary);margin:0}
.service-list{border-top:1px solid var(--primary)}
details{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary:hover h3{color:var(--secondary)}
.expand{width:24px;height:24px;position:relative;flex-shrink:0}
.expand:before,.expand:after{content:'';position:absolute;top:11px;left:5px;width:14px;height:1px;background:var(--primary)}
.expand:after{transform:rotate(90deg)}
details[open] .expand:after{transform:rotate(0)}
.service-body{max-width:720px;padding:0 35px 28px 0;margin-left:28%;color:var(--secondary);font-size:15px}
.service-body p:last-child{margin-bottom:0}
.service-note{font-size:13px}
.approach{background:var(--primary);padding:74px 0 30px;color:var(--surface)}
.approach h2,.approach h3{color:var(--surface)}
.approach .section-intro>p{color:var(--accent)}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:52px 0 44px}
.steps li{border-top:1px solid #C7D4D073;padding-top:20px}
.step-number{font-size:12px;font-variant-numeric:tabular-nums;color:var(--accent)}
.steps h3{font-size:23px;font-weight:500;margin:13px 0 10px}
.steps p{font-size:13px;line-height:1.7;color:var(--accent);margin:0}
.approach-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #C7D4D040;padding-top:21px;color:var(--accent);font-size:12px;line-height:1.7}
.approach-foot p{margin:0}
.planning{display:grid;grid-template-columns:1fr 1fr;gap:88px;padding-block:var(--section-space)}
.planning h2{max-width:400px}
.planning p{font-size:15px;color:var(--secondary)}
.planning .text-link{margin-top:3px}
.focus-band{background:var(--surface);border-block:1px solid var(--line)}
.team-section{background:var(--surface);padding-block:var(--section-space);border-block:1px solid var(--line)}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.person{border-top:1px solid var(--line);padding-top:28px}
.person-portrait{display:block;width:180px;height:180px;object-fit:cover;border-radius:3px;margin:0 0 25px;background:var(--accent)}
.person h3{font-size:28px;font-weight:500}
.person h3 span{font:400 12px var(--body);white-space:nowrap;color:var(--secondary);margin-left:7px;letter-spacing:0}
.person-focus{font-size:12px;font-weight:600;margin:9px 0 22px;line-height:1.6}
.person>p:not(.person-focus){font-size:14px;color:var(--secondary);max-width:490px}
.source-link{font-size:12px;font-weight:500;text-decoration-thickness:1px;color:var(--primary)}
.source-link span{margin-left:8px}
.research-section{padding-block:var(--section-space)}
.research-item{display:grid;grid-template-columns:1fr 1fr;gap:88px;border-top:1px solid var(--line);padding:32px 0}
.research-item:last-child{padding-bottom:0}
.research-year{display:block;font-size:12px;color:var(--secondary);margin-bottom:13px}
.research-item h3{font-size:24px;font-weight:500;max-width:390px}
.research-authors{font-size:12px;color:var(--secondary);margin:15px 0 0;max-width:400px;line-height:1.8}
.research-item>div>p:not(.research-authors){font-size:14px;color:var(--secondary)}
.research-item p.research-relevance{font-size:12px}
.deliverables-section{background:var(--accent);padding:66px 0}
.deliverables-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}
.deliverables-grid>div>p{font-size:14px;max-width:330px;margin-top:23px}
.deliverables-grid dl{margin:0}
.deliverables-grid dl>div{border-top:1px solid #142D3E40;padding:17px 0}
.deliverables-grid dl>div:first-child{border-top:0;padding-top:0}
.deliverables-grid dl>div:last-child{padding-bottom:0}
.deliverables-grid dt{font-size:15px;font-weight:600;margin-bottom:6px}
.deliverables-grid dd{font-size:13px;line-height:1.7;margin:0}
.contact-section{background:var(--surface);padding:var(--section-space) 0 72px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}
.contact-grid h2{font-size:43px;margin-bottom:23px}
.contact-grid>div>p{font-size:15px;color:var(--secondary);max-width:340px}
.contact-note{font-size:13px!important;margin-top:35px}
label{display:block;font-size:12px;font-weight:500;margin-bottom:19px}
input,select,textarea{display:block;width:100%;min-width:0;background:var(--background);border:1px solid var(--secondary);border-radius:3px;padding:11px 12px;margin-top:7px;color:var(--ink);font-size:14px;caret-color:var(--primary)}
input:hover,select:hover,textarea:hover{border-color:var(--primary)}
textarea{resize:vertical}
textarea::placeholder{color:var(--secondary)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-help{font-size:12px;line-height:1.7;color:var(--secondary);margin-bottom:22px}
#form-status{font-size:13px;margin:18px 0 0}
#email-fallback{margin-top:22px}
#copy-email{color:var(--primary);cursor:pointer}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:var(--secondary);padding-block:29px;border-top:1px solid var(--line)}
footer p{margin:0}
.footer-brand{font:500 18px var(--heading);color:var(--primary);text-decoration:none;letter-spacing:-.025em}
.skip{position:fixed;left:16px;top:-80px;z-index:20;padding:10px 20px;background:var(--primary);color:var(--surface)}
.skip:focus{top:12px}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}nav{gap:19px;font-size:12px}.hero-copy,.context-grid,.planning,.research-item,.deliverables-grid,.contact-grid{column-gap:48px}.team-grid{gap:48px}.steps{gap:20px}.hero h1{font-size:clamp(42px,5vw,58px)}}
@media(max-width:760px){:root{--section-space:56px}.wrap{width:calc(100% - 40px)}.site-header{min-height:95px;position:relative}.brand{font-size:25px}.menu-toggle{display:flex;align-items:center;gap:17px;padding:10px 12px;border:1px solid var(--line);background:transparent;border-radius:3px;color:var(--primary);font-size:12px}nav{display:none;position:absolute;top:83px;left:0;right:0;z-index:5;flex-direction:column;align-items:stretch;gap:14px;background:var(--surface);border:1px solid var(--line);padding:22px;border-radius:4px;font-size:14px}nav.is-open{display:flex}.hero{padding:48px 0 49px}.hero-copy{display:block}.hero h1{font-size:clamp(36px,8.5vw,56px);line-height:1.12;margin-bottom:26px;letter-spacing:-.04em}.hero-copy>p.hero-lead{font-size:18px;line-height:1.6;margin-bottom:18px}.hero-copy>p:not(.hero-lead){font-size:14px;line-height:1.75;margin-bottom:27px;max-width:100%}.hero-actions{gap:12px;margin-top:0}.button,.hero-actions .text-link{font-size:12px;min-height:47px;padding:11px 14px;gap:18px}.context-section{padding-top:34px}.context-grid,.planning,.team-grid,.research-item,.deliverables-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.context-grid h2{font-size:28px}.context-grid p{font-size:14px}.audiences{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;font-size:12px;margin-top:17px;padding-block:22px}h2{font-size:30px}.section-intro{display:block;margin-bottom:29px}.section-intro>p{font-size:14px;margin-top:18px;max-width:100%}summary{padding:22px 0;gap:20px}h3{font-size:18px}.service-body{margin-left:0;font-size:14px;padding-right:24px;padding-bottom:24px}.approach{padding:50px 0 26px}.steps{grid-template-columns:1fr;gap:0;margin:32px 0 24px}.steps li{display:grid;grid-template-columns:22px 91px 1fr;gap:12px;align-items:baseline;padding:18px 0}.steps h3{font-size:19px;margin:0}.steps p{font-size:12px}.approach-foot{display:block;font-size:12px}.approach-foot p{margin-top:9px}.planning p{font-size:14px}.planning h2{max-width:100%}.team-grid{gap:32px}.person{padding-top:23px}.person-portrait{width:160px;height:160px;margin-bottom:22px}.person h3{font-size:26px}.person-focus{font-size:12px}.research-item{gap:18px;padding-block:27px}.research-item h3{font-size:23px}.deliverables-section{padding-block:48px}.deliverables-grid>div>p{margin-top:18px}.contact-section{padding-bottom:49px}.contact-grid h2{font-size:36px}.contact-grid>div>p{font-size:14px}.contact-note{margin-top:23px}.form-row{gap:12px}footer{flex-wrap:wrap;gap:14px;padding-block:26px}.copyright{width:100%;font-size:12px}}
@media(max-width:380px){.hero-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:35px}.steps li{grid-template-columns:20px 82px 1fr;gap:9px}.form-row{grid-template-columns:1fr;gap:0}}
.brand img{display:block;width:232px;height:auto}.footer-brand img{display:block;width:184px;height:auto}.site-footer{display:block;padding:0;background:var(--primary);color:var(--accent);border:0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}.site-footer a:focus-visible{outline-color:var(--accent)}
@media(max-width:760px){.brand img{width:190px}.footer-inner{flex-wrap:wrap;gap:20px;padding-block:30px}.footer-brand img{width:174px}.site-footer .copyright{width:100%}}
@media(max-width:380px){.brand img{width:168px}}
@media print{.site-footer{background:var(--primary);print-color-adjust:exact}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.menu-toggle,nav,form,.skip{display:none}.wrap{width:100%}.hero-copy,.planning,.contact-grid{display:block}.hero{padding-block:30px}.hero h1{font-size:40px}.services,.planning,.team-section,.research-section{padding-block:30px}details .service-body{display:block!important}.approach{background:var(--surface);color:var(--ink)}.approach h2,.approach h3,.approach p,.step-number,.approach-foot{color:var(--ink)}.site-header{min-height:80px}}
