:root{--ink:var(--brand-ink,#15253a);--blue:var(--brand-blue,#29496d);--muted:var(--brand-muted,#596a7d);--line:var(--brand-line,#e3e8ed);--paper:var(--brand-paper,#fff);--wash:var(--brand-wash,#f8fafc)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--brand-font-body,Arial,Helvetica,sans-serif)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}img{display:block;width:100%;object-fit:cover}.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:12px;top:-80px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:12px}.site-header{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:19px;letter-spacing:.16em;font-weight:700}.site-header nav{display:flex;gap:30px;flex-wrap:wrap;font-size:13px}.hero{display:grid;grid-template-columns: .92fr 1.08fr;align-items:center;gap:66px;padding-top:46px;padding-bottom:64px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#5d7797}.hero h1{font:clamp(43px,4.1vw,66px)/1.12 var(--brand-font-display,var(--brand-font-display,Georgia,serif));letter-spacing:-.035em;margin:24px 0}.lead{max-width:520px;font-size:17px;line-height:1.7;color:#405369}.hero-actions{display:flex;align-items:center;gap:26px;margin:26px 0 28px}.primary{display:inline-flex;align-items:center;gap:16px;background:var(--ink);color:white;border-radius:4px;padding:13px 20px;font-size:13px;font-weight:600}.primary:hover{background:#304e70;text-decoration:none}.subtle{border-bottom:1px solid #8b9aab;padding-bottom:5px;font-size:13px}.social{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--blue)}.hero-visual{margin:0}.hero-visual img{height:355px;border-radius:4px}.hero-visual figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#758397;margin-top:9px}.about-strip{background:#fafbfd;border-top:1px solid #f3f5f7;border-bottom:1px solid #f3f5f7}.about-inner{display:grid;grid-template-columns:175px 1fr auto;align-items:center;gap:32px;padding-block:28px}.about-inner p{margin:0}.about-inner p:not(.eyebrow){font-size:14px;color:#52647a;max-width:700px}.about-inner a{font-size:12px;color:var(--blue);white-space:nowrap}.section{padding-block:72px}.section-intro h2,.featured h2,.connect h2{font:clamp(30px,3vw,43px)/1.18 var(--brand-font-display,Georgia,serif);letter-spacing:-.02em;margin:10px 0}.section-intro>p:last-child{max-width:600px;color:var(--muted);font-size:14px}.focus-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:35px;margin-top:44px}.focus-icon{display:block;font:34px var(--brand-font-display,Georgia,serif);color:#3b6089;height:54px}.focus-grid h3{font:17px var(--brand-font-display,Georgia,serif);margin:6px 0 12px}.focus-grid p{font-size:13px;color:var(--muted);line-height:1.55;max-width:170px}.featured{background:var(--wash);padding-block:68px}.featured-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.featured-heading>a{font-size:13px;color:var(--blue)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.feature img{aspect-ratio:1.85;border-radius:4px}.feature .eyebrow{margin:18px 0 7px}.feature h3{font:clamp(20px,2vw,27px)/1.17 var(--brand-font-display,Georgia,serif);margin:0 0 10px;max-width:350px}.feature>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:350px}.read{display:inline-block;margin-top:12px;font-size:12px;color:var(--blue)}.image-note{font-size:11px;color:#7a8796;margin-top:26px}.connect{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:66px}.connect p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:600px}.footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:30px;font-size:11px;color:#617185}.footer strong{display:block;color:var(--ink);letter-spacing:.14em}.footer div>span{display:block;margin-top:4px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}@media(max-width:1050px){.shell{width:min(100% - 60px,1240px)}.hero{gap:35px}.about-inner{grid-template-columns:1fr 3fr}.about-inner a{grid-column:2}.focus-grid{gap:18px}}@media(max-width:740px){.shell{width:calc(100% - 36px)}.site-header{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:20px;gap:12px}.site-header nav{gap:16px}.hero{grid-template-columns:1fr;padding-block:26px 48px}.hero h1{font-size:clamp(38px,10vw,54px)}.hero-visual img{height:260px}.hero-visual figcaption{flex-wrap:wrap}.about-inner{grid-template-columns:1fr;gap:12px}.about-inner a{grid-column:auto}.focus-grid{grid-template-columns:repeat(2,1fr);gap:24px}.feature-grid{grid-template-columns:1fr;gap:40px}.feature img{aspect-ratio:2}.connect{align-items:flex-start;flex-direction:column}.footer{align-items:flex-start;flex-direction:column}.featured-heading{align-items:start}.section{padding-block:54px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.directory-title{font:clamp(43px,5vw,66px)/1.1 var(--brand-font-display,Georgia,serif);letter-spacing:-.03em;margin:16px 0}.directory-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:36px 0 25px}.directory-tools label,.directory-tools a{font-size:13px}.directory-tools select{border:1px solid #d4dce4;border-radius:3px;background:white;padding:11px 14px;color:var(--ink)}.directory-tools a{margin-left:auto;color:var(--blue)}.project-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-item{border:1px solid var(--line);padding:24px;min-width:0}.project-item h3{font:23px var(--brand-font-display,Georgia,serif);text-transform:capitalize;overflow-wrap:anywhere}.project-item p{font-size:12px;color:var(--muted)}.project-item a{font-size:13px;color:var(--blue)}.project-category{font-size:10px;color:#5d7797;letter-spacing:.12em;text-transform:uppercase}@media(max-width:850px){.project-directory{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.project-directory{grid-template-columns:1fr}.directory-tools a{margin-left:0}}
.page-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center;padding-block:75px}.page-hero h1{font:clamp(39px,4.4vw,62px)/1.13 var(--brand-font-display,Georgia,serif);letter-spacing:-.03em;max-width:800px}.page-hero img{max-height:420px;object-fit:cover;border-radius:4px}.narrative{display:grid;grid-template-columns:1fr 3fr;gap:55px;padding-block:65px}.narrative h2,.writing-bottom h2{font:clamp(29px,3vw,42px)/1.18 var(--brand-font-display,Georgia,serif);margin-top:0}.narrative p:not(.eyebrow){max-width:750px;color:var(--muted)}.writing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block:55px}.writing-grid article{border-top:1px solid var(--line);padding-top:24px}.writing-grid h2{font:30px var(--brand-font-display,Georgia,serif)}.writing-grid article>p:not(.eyebrow){font-size:14px;color:var(--muted)}.writing-bottom{border-top:1px solid var(--line);padding-top:45px;margin-top:35px}.writing-bottom p{max-width:680px;color:var(--muted)}.writing-bottom .primary{margin-top:15px}@media(max-width:740px){.page-hero{grid-template-columns:1fr;gap:25px;padding-block:45px}.page-hero img{max-width:420px}.narrative{grid-template-columns:1fr;gap:15px}.writing-grid{grid-template-columns:1fr}}

/* Keep the primary navigation visible while scrolling. */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html{scroll-padding-top:110px}
.footer-home{font-weight:700;letter-spacing:.11em;color:inherit;text-decoration:none}
.footer-home:hover,.footer-home:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){html{scroll-padding-top:90px}}

/* Shared editorial components for research and project pages. */
.project-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}.project-actions a:first-child{font-weight:600}.footer-legal{display:flex;gap:8px;flex-wrap:wrap;font-size:11px}.legal-content h2{font:clamp(23px,2.5vw,31px)/1.25 var(--brand-font-display,Georgia,serif);margin-top:36px}.legal-content p{max-width:72ch}.project-item:focus-within{border-color:var(--blue)}

.article-archive{margin:36px 0 56px}.article-archive h2{font:clamp(28px,3vw,40px)/1.2 var(--brand-font-display,Georgia,serif)}.archive-controls{display:flex;flex-wrap:wrap;gap:16px;margin:25px 0}.archive-controls label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.archive-controls input,.archive-controls select{padding:10px 12px;border:1px solid var(--line);border-radius:var(--brand-radius,4px);background:var(--paper);color:var(--ink);font:inherit;min-width:180px}.archive-item{border-top:1px solid var(--line);padding:23px 0}.archive-item h2{font-size:clamp(22px,2.3vw,30px);margin:8px 0}.archive-item p{margin:8px 0}.archive-item p:last-child{font-size:13px;color:var(--blue)}


/* Writing archive discovery and navigation */
.archive-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:26px 0 12px}
.archive-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.archive-controls input,.archive-controls select{min-height:42px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);padding:9px 12px;font:inherit}
.archive-controls input{min-width:min(310px,80vw)}
.archive-clear{min-height:42px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--blue);padding:9px 14px;cursor:pointer}
.archive-count{font-size:13px;color:var(--muted)}
.article-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.article-tag{border:1px solid #d5e1ec;background:#f3f7fb;color:#29496d;border-radius:99px;padding:5px 11px;font:12px/1.4 Arial,sans-serif;cursor:pointer}
.article-tag:hover,.article-tag:focus-visible{background:#e2edf8;border-color:#8daac6}
.article-navigation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px auto;padding:12px 0;display:flex;gap:18px;flex-wrap:wrap;font:13px/1.5 Arial,sans-serif}
.article-navigation a{color:var(--blue)}
@media(max-width:740px){.archive-controls{align-items:stretch;flex-direction:column}.archive-controls label,.archive-controls input,.archive-controls select,.archive-clear{width:100%}}
