/* A single, explicit reading hierarchy; no compounded heading multipliers. */
/* Blue-gray palette from the supplied reference. Light grays are surfaces,
   not small text; both text colors maintain strong contrast on the paper. */
:root {
  --navy: #2c3e50;
  --slate: #34495e;
  --gray: #7f8c8d;
  --silver: #bdc3c7;
  --cloud: #ecf0f1;
  --text-title: clamp(1.5rem, 2.15vw, 1.875rem);
  --text-section: clamp(1.25rem, 1.65vw, 1.375rem);
  --text-subhead: 1.0625rem;
  --text-lead: 1.0625rem;
  --text-body: 1rem;
  --text-card: .9375rem;
  --text-small: .875rem;
  --text-caption: .8125rem;
  --text-label: .75rem;
  --ink: var(--navy);
  --muted: var(--slate);
  --paper: var(--cloud);
  --line: var(--silver);
  --wash: #dce2e4; /* One-third silver, two-thirds cloud. */
  --accent: var(--slate);
  --control-line: var(--gray);
  --serif: var(--font-chivo);
  --sans: var(--font-chivo);
  color-scheme: light;
}
::selection { background: var(--slate); color: var(--cloud); }
.media-row{display:flex;gap:15px;align-items:flex-start;width:100%}
.media-row>figure{flex:var(--media-ratio,1) 1 0;min-width:0}
.media-row img,.media-row video{width:100%;height:auto}
@media(max-width:560px){.media-row{gap:10px}.media-row[data-items="4"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-body)/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}img,video{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin:0 0 1rem}h1,h2,h3{line-height:1.14;font-weight:400}h1{font-family:var(--serif);font-size:var(--text-title);letter-spacing:-.045em}h2{font-family:var(--serif);font-size:var(--text-section);letter-spacing:-.025em}h3{font-size:var(--text-subhead);line-height:1.35}h4{font-size:var(--text-subhead)}h5{font-size:var(--text-subhead)}h6{font-size:var(--text-subhead)}ul,ol{padding-left:1.3em}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--slate);outline-offset:5px}.container{max-width:1392px;padding:0 48px;margin:0 auto}.skip-link{position:fixed;top:-100px;left:16px;background:var(--ink);color:var(--cloud);padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--slate);background:var(--navy);color:var(--cloud);position:sticky;top:0;z-index:20}.header-inner{max-width:1488px;padding:22px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:1.08rem;white-space:nowrap}.monogram{display:grid;place-items:center;border:1px solid var(--silver);background:var(--cloud);color:var(--navy);width:34px;height:34px;font:17px var(--serif);letter-spacing:-2px;padding-right:2px}.site-header nav{display:flex;gap:25px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a[aria-current]{border-bottom:1px solid var(--silver)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:5px 12px}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.eyebrow span{margin-left:16px}.lead{max-width:760px;font-size:var(--text-lead);line-height:1.6;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:13px 22px;text-decoration:none;border-radius:3px;font-size:14px}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--cloud)}.button.secondary{background:none;color:var(--ink);border-color:var(--control-line)}.button.secondary:hover{background:var(--wash);border-color:var(--ink)}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}.home-hero{padding:75px 0 85px;display:grid;grid-template-columns:minmax(0,3fr) minmax(170px,1fr);gap:8%;align-items:end}.home-hero h1{max-width:860px;margin:28px 0}.home-hero .lead{max-width:620px}.hero-index{padding-bottom:9px}.hero-index a{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:18px 0;text-decoration:none;font-size:17px}.hero-index a span:first-child{font-size:11px;color:var(--muted)}.hero-index a span:last-child{margin-left:auto}.section-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;margin:24px 0 28px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:10px}.section-heading>a{white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}.project-link{text-decoration:none;display:block}.project-image{aspect-ratio:3/2;overflow:hidden;background:var(--wash);border-radius:3px;margin-bottom:18px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-link:hover .project-image img{transform:scale(1.025)}.project-card .eyebrow{display:flex;justify-content:space-between;margin-bottom:9px}.project-card h3{font:var(--text-card)/1.25 var(--serif);letter-spacing:-.015em;margin-bottom:11px}.card-summary{font-size:14px;line-height:1.6;color:var(--muted);max-width:600px;margin-bottom:0}.text-cover{padding:20px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:var(--wash)}.text-cover span{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.text-cover strong{font:var(--text-subhead)/1.25 var(--serif);max-width:90%}.home-about{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding:65px 0;margin-top:80px;border-block:1px solid var(--line)}.home-about h2{max-width:710px}.home-about p:not(.eyebrow){max-width:660px;color:var(--muted)}.page-heading{padding:65px 0 50px}.page-heading h1{margin:20px 0}.page-heading .lead{max-width:890px}.browse-tools{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:25px;padding:24px 0;border-block:1px solid var(--line);margin-bottom:15px}.search-field{display:block;flex:1;min-width:min(300px,100%);max-width:420px}.search-field span{display:block;font-size:12px;margin-bottom:8px;color:var(--muted)}.search-field input{width:100%;color:var(--ink);border:1px solid var(--control-line);border-radius:3px;padding:10px 13px;background:transparent;font-size:14px;appearance:none}.filter-group{display:flex;flex-wrap:wrap;gap:5px}.filter-group button{border:1px solid transparent;background:transparent;padding:7px 12px;font-size:13px;border-radius:3px}.filter-group button[aria-pressed=true]{background:var(--slate);color:var(--cloud)}.filter-group button:hover{border-color:var(--ink)}.result-count{font-size:12px;color:var(--muted);margin:18px 0 26px}.empty-state{padding:45px;background:var(--wash);margin:30px 0;border:1px solid var(--line)}.page-top{display:flex;justify-content:space-between;align-items:center;padding-top:40px}.page-top p{margin:0}.back-link{font-size:13px;text-decoration:none}.project-heading{padding:28px 0 20px;max-width:1000px}.project-heading h1{font-size:var(--text-title);margin-bottom:16px}.project-hero{margin-bottom:50px;background:var(--wash)}.project-hero img{width:100%;max-height:560px;object-fit:contain}.image-trigger{border:0;background:none;width:100%;padding:0;display:block;cursor:zoom-in;text-align:left}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:65px;margin-bottom:85px}.project-body{min-width:0}.prose{overflow-wrap:anywhere}.prose p,.prose li{max-width:780px}.prose p{margin-bottom:1.35em}.prose h2{font-size:var(--text-section);margin-top:1.5em}.prose h3{font-size:var(--text-subhead);margin-top:1.4em}.prose img{max-height:850px;width:auto}.project-details{font-size:var(--text-small);border-top:1px solid var(--line);padding-top:20px}.project-details dl{margin-top:0}.project-details dt{color:var(--muted);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.1em;margin-top:18px}.project-details dd{margin:5px 0 16px}.project-details h2{font:400 var(--text-small)/1.4 var(--sans);margin:28px 0 10px}.project-details ul{list-style:none;padding:0;margin:0}.project-details li{margin-bottom:12px}.project-details a{overflow-wrap:anywhere}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{font-size:11px;border:1px solid var(--line);padding:4px 9px;border-radius:2px}.content-block{margin-top:42px}.content-block h2{font-size:var(--text-section);margin-bottom:22px}.gallery{display:grid;gap:15px;align-items:start}.gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-one{grid-template-columns:1fr}.gallery img{width:100%;height:auto}.caption,figcaption{font-size:var(--text-caption);color:var(--muted);margin-top:9px;line-height:1.6}figcaption span{display:block}.video-frame{position:relative;aspect-ratio:16/9;background:var(--wash)}.video-frame iframe{width:100%;height:100%;border:0}.content-block video{width:100%}blockquote{font:1.4rem/1.4 var(--serif);border-left:2px solid var(--accent);padding-left:24px;margin:30px 0}blockquote cite{display:block;font:12px var(--sans);margin-top:15px}.publication{display:grid;grid-template-columns:85px minmax(0,1fr);gap:32px;border-top:1px solid var(--line);padding:30px 0}.publication-year{font:1.4rem var(--serif)}.publication h2{font-size:var(--text-subhead);line-height:1.3;margin-bottom:12px}.publication-authors{font-size:14px;margin-bottom:7px}.publication-venue{font-size:14px;color:var(--muted);font-style:italic;margin-bottom:10px}.publication-links{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:12px}.publication-links details{display:contents}.publication-links summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.publication-links details[open]>.prose,.publication-links details[open]>.citation{flex-basis:100%;width:100%;padding:22px;background:var(--wash);font-size:14px;order:1}.citation pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:100%}.citation button{background:var(--paper);padding:6px 12px;border:1px solid var(--line);font-size:12px}.citation [role=status]{margin-left:12px}.news-row{display:grid;grid-template-columns:150px minmax(0,1fr) 30px;gap:25px;border-top:1px solid var(--line);padding:30px 0}.news-row time{font-size:13px;color:var(--muted)}.news-row h2{font-size:var(--text-section)}.news-row h2 a{text-decoration:none}.news-row p{max-width:760px}.reading-width{max-width:850px;margin:auto}.about-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:8%}.about-portrait img{width:100%;height:410px;object-fit:cover;object-position:center 30%;margin-bottom:30px}.about-portrait h2{font-size:var(--text-section)}.chinese-name{font:var(--text-small) var(--sans);margin-left:6px}.about-portrait p{font-size:14px}.about-content h2{font-size:var(--text-section);margin-top:45px}.social-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:13px;margin-top:28px}.timeline{padding:0;list-style:none}.timeline li{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:30px}.principle-grid article{border-top:1px solid var(--line);padding-top:20px}.principle-grid h3{margin:12px 0;font:var(--text-subhead)/1.25 var(--serif)}.principle-grid p{font-size:14px;color:var(--muted)}.section{margin:65px 0}.course-list{display:grid;gap:25px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-list article{background:var(--wash);padding:25px}.course-list h3{font:var(--text-subhead)/1.3 var(--serif)}.course-list p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12%;padding-bottom:40px}.contact-email{font:clamp(1.4rem,2.5vw,2.3rem)/1.3 var(--serif);display:inline-block;margin:5px 0 30px;overflow-wrap:anywhere}.contact-grid aside{border-left:1px solid var(--line);padding-left:35px}.contact-grid h2{font-size:var(--text-section)}.contact-grid aside p{font-size:14px;color:var(--muted);margin-bottom:30px}.contact-form{width:100%;height:780px;border:1px solid var(--line)}.art-gallery{columns:4;column-gap:25px}.art-gallery figure{break-inside:avoid;margin-bottom:30px}.art-gallery img{width:100%}.site-footer{border-top:1px solid var(--line);padding-top:35px;padding-bottom:30px;margin-top:100px;display:flex;align-items:start;justify-content:space-between;gap:25px;font-size:12px}.site-footer strong{font-size:14px;font-weight:400}.site-footer p{color:var(--muted);margin:8px 0 0}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-links span{color:var(--muted)}dialog{border:none;background:var(--navy);color:var(--cloud);max-width:95vw;max-height:96vh;width:1200px;padding:55px 25px 20px;border-radius:4px}dialog::backdrop{background:rgba(44,62,80,.92)}dialog>img{max-height:70vh;max-width:100%;object-fit:contain;margin:auto}dialog>p{font-size:13px;margin:12px 0;text-align:center}.dialog-close{position:absolute;right:18px;top:14px;background:transparent;border:0;color:var(--cloud);font-size:14px}.dialog-controls{display:flex;align-items:center;justify-content:center;gap:22px;font-size:12px}.dialog-controls button{background:transparent;border:1px solid var(--gray);color:var(--cloud);padding:5px 14px}.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.admin-panel{padding:30px;border:1px solid var(--line);background:var(--wash)}.admin-panel h2{font-size:var(--text-section)}.admin-panel li{margin-bottom:15px}.admin-panel p,.admin-panel li{font-size:14px}.admin-help{margin-top:45px;max-width:950px}.admin-help details{border-top:1px solid var(--line);padding:20px 0}.admin-help summary{cursor:pointer;font-size:17px}.admin-help details p{margin:16px 0;font-size:14px}.admin-table{width:100%;border-collapse:collapse;font-size:14px;margin:22px 0}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 12px}.admin-table th{font-weight:400;color:var(--muted)}.notice{border-left:3px solid var(--accent);padding:15px 20px;background:var(--wash);font-size:14px;margin:24px 0}
@media(max-width:1100px){.header-inner,.container{padding-left:32px;padding-right:32px}.site-header nav{gap:16px;font-size:13px}.home-hero{gap:6%;grid-template-columns:3fr 1fr}.project-layout{gap:35px;grid-template-columns:minmax(0,1fr) 215px}.project-grid{gap:35px 22px}.about-grid{grid-template-columns:280px minmax(0,1fr);gap:6%}.course-list{gap:15px}.contact-grid{gap:7%}}
@media(max-width:800px){.header-inner{padding-top:16px;padding-bottom:16px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 32px;background:var(--navy);border-bottom:1px solid var(--slate);grid-template-columns:repeat(2,1fr);gap:20px;font-size:16px}.site-header nav.is-open{display:grid}.home-hero{grid-template-columns:1fr;gap:45px;padding:55px 0}.hero-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hero-index a{font-size:14px;gap:10px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-about{gap:6%;grid-template-columns:1fr 2fr;padding:40px 0;margin-top:60px}.page-heading{padding:45px 0 35px}.project-layout{grid-template-columns:1fr}.project-details{columns:2;column-gap:30px}.project-details>*{break-inside:avoid}.project-hero{margin-bottom:35px}.about-grid{grid-template-columns:240px minmax(0,1fr);gap:30px}.about-portrait img{height:300px}.principle-grid{gap:22px}.course-list{grid-template-columns:1fr}.art-gallery{columns:2}.contact-grid{gap:35px}.admin-layout{grid-template-columns:1fr}.news-row{grid-template-columns:110px minmax(0,1fr) 20px}.site-footer{margin-top:70px}}
@media(max-width:560px){.container,.header-inner{padding-left:22px;padding-right:22px}.brand{font-size:16px}.home-hero{padding-top:38px}.home-hero .eyebrow span{display:block;margin:7px 0 0}.home-hero h1{font-size:var(--text-title);margin:23px 0}.home-hero .lead{font-size:var(--text-lead)}.hero-index{gap:14px}.hero-index a{font-size:12px;gap:7px}.hero-index a span:first-child{font-size:9px}.section-heading{align-items:start}.section-heading h2{font-size:var(--text-section)}.section-heading .eyebrow{max-width:220px;font-size:9px}.section-heading>a{font-size:11px;padding-top:8px}.project-grid,.selected-grid{grid-template-columns:1fr;gap:35px}.project-image{margin-bottom:15px}.home-about{grid-template-columns:1fr;gap:10px;margin-top:50px}.home-about h2{font-size:var(--text-section)}.page-heading h1{font-size:var(--text-title)}.browse-tools{gap:17px;padding-top:18px}.search-field{max-width:none;width:100%}.filter-group button{padding:7px 10px;font-size:12px}.project-heading h1{font-size:var(--text-title)}.project-heading{padding:28px 0}.project-heading .lead{font-size:var(--text-lead)}.project-details{columns:1}.gallery-three{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{gap:10px}.gallery-one{grid-template-columns:1fr}.project-layout{margin-bottom:55px}.publication{grid-template-columns:1fr;gap:10px;padding:25px 0}.publication-year{font-size:1.4rem}.publication h2{font-size:var(--text-subhead)}.publication-links{gap:13px 20px}.publication-links details[open]>.citation,.publication-links details[open]>.prose{padding:16px}.news-row{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.news-row time{grid-column:1/-1}.news-row h2{font-size:var(--text-section)}.about-grid{grid-template-columns:1fr;gap:40px}.about-portrait{max-width:390px}.about-portrait img{height:auto;max-height:440px}.principle-grid{grid-template-columns:1fr;gap:20px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-grid aside{padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-email{font-size:1.6rem}.art-gallery{columns:1}.site-footer{flex-direction:column;margin-top:60px;padding-top:28px;gap:25px}.footer-links{gap:20px}.empty-state{padding:25px}.admin-panel{padding:24px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:12px 6px}.actions{gap:18px}.button{padding:11px 18px;font-size:13px}dialog{padding:50px 12px 15px}.dialog-controls{gap:12px}.dialog-controls button{padding:5px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.search-field select{width:100%;padding:10px;border:1px solid var(--control-line);background:var(--paper);font:14px var(--sans);color:var(--ink)}.preview-stage{background:var(--wash);padding:20px 0;overflow:auto;margin-bottom:20px}.preview-stage iframe{display:block;width:100%;max-width:100%;height:850px;border:1px solid var(--line);margin:0 auto;background:var(--paper)}


.project-hero-carousel{margin-bottom:50px}.hero-carousel-viewport{position:relative;overflow:hidden;background:var(--wash);border-radius:3px}.hero-carousel-track{display:flex;transition:transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform}.hero-carousel-slide{flex:0 0 100%;min-width:0;margin:0}.hero-carousel-slide .image-trigger{aspect-ratio:3/2;overflow:hidden;background:var(--wash)}.hero-carousel-slide img{width:100%;height:100%;object-fit:cover}.hero-carousel-slide figcaption{padding:10px 2px 0;background:var(--paper);min-height:31px}.hero-carousel-nav{position:absolute;top:calc(50% - 18px);transform:translateY(-50%);z-index:3;width:42px;height:42px;border:1px solid rgba(236,240,241,.72);border-radius:50%;background:rgba(44,62,80,.84);color:var(--cloud);display:grid;place-items:center;font-size:18px;line-height:1;backdrop-filter:blur(5px);transition:background .2s,opacity .2s}.hero-carousel-nav:hover{background:rgba(44,62,80,.96)}.hero-carousel-prev{left:18px}.hero-carousel-next{right:18px}.hero-carousel-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px}.hero-carousel-dots{display:flex;gap:7px}.hero-carousel-dots button{width:22px;height:3px;border:0;padding:0;background:var(--gray);border-radius:0}.hero-carousel-dots button[aria-current=true]{background:var(--ink)}.hero-carousel-status{font-size:11px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:800px){.project-hero-carousel{margin-bottom:35px}.hero-carousel-nav{width:38px;height:38px}.hero-carousel-prev{left:12px}.hero-carousel-next{right:12px}}
@media(max-width:560px){.hero-carousel-slide .image-trigger{aspect-ratio:4/3}.hero-carousel-nav{width:34px;height:34px;font-size:16px}.hero-carousel-prev{left:8px}.hero-carousel-next{right:8px}.hero-carousel-dots button{width:17px}}
@media(prefers-reduced-motion:reduce){.hero-carousel-track{transition:none}}
.project-hero-carousel[data-carousel-fit="contain"] .hero-carousel-slide img{object-fit:contain}

.hero-carousel-controls{display:flex;align-items:center;gap:16px}.hero-carousel-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:3px;padding:5px 10px;font:inherit;font-size:11px;cursor:pointer}.hero-carousel-toggle:hover,.hero-carousel-toggle:focus-visible{border-color:var(--ink);color:var(--ink)}.hero-carousel-dots{flex-wrap:wrap}

/* Navigation and interaction colors share the same five-color palette. */
.site-header a:hover { color: var(--silver); }
.site-header :focus-visible,
.hero-carousel-nav:focus-visible,
dialog :focus-visible { outline-color: var(--cloud); }
.menu-toggle:hover,
.menu-toggle[aria-expanded="true"] { background: var(--slate); }
.search-field input::placeholder { color: var(--muted); opacity: 1; }
.project-link:hover h2,
.project-link:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.tag-list span { background: var(--wash); }
.dialog-controls button:hover,
.dialog-close:hover { background: var(--slate); }

.skip-link:hover { color: var(--cloud); }

/* Light display type, regular reading text, and the supplied true bold/italic faces. */
h1, h2 { font-weight: 300; }
strong, b { font-weight: inherit; }
.publication-venue, blockquote cite { font-weight: 300; }

/* Preserve source proportions and equal media heights within the text column. */
.media-row-equal-height>figure{overflow:hidden}
.media-row-equal-height img,.media-row-equal-height video,.media-row-equal-height .video-frame{width:100%;aspect-ratio:var(--media-ratio,1);height:auto;object-fit:contain}

/* Materiality framework: compact introductions and question-led catalogues. */
.home-index-heading h1 { max-width: 760px; }
.home-focus { max-width: 1000px; }
.catalog-heading { padding: 32px 0 20px; }
.catalog-heading h1 { margin: 0 0 16px; }
.catalog-statement { max-width: 1080px; font-size: var(--text-body); line-height: 1.65; color: var(--muted); margin: 0; }
.catalog-nav { display: flex; flex-wrap: wrap; gap: 9px 22px; padding: 16px 0; border-block: 1px solid var(--line); margin-bottom: 28px; font-size: 13px; }
.catalog-nav a { text-decoration: none; border-bottom: 1px solid transparent; }
.catalog-nav a:hover { border-color: currentColor; }
.catalog-group { margin: 0 0 38px; scroll-margin-top: 105px; }
.catalog-group-heading { margin: 0 0 18px; }
.catalog-group-heading h2 { margin: 0 0 8px; }
.catalog-group-heading p { margin: 0; font-size: 14px; color: var(--muted); max-width: 980px; }
.catalog-group .project-grid { gap: 26px 24px; }
.catalog-group .project-card h3 { margin-bottom: 0; }
.project-heading .lead { max-width: 1100px; }
.project-evidence-summary { font-size: 14px; line-height: 1.6; color: var(--muted); margin: 0 0 24px; }
.legacy-anchor { display: block; height: 0; scroll-margin-top: 105px; }
@media (max-width: 700px) {
  .catalog-heading { padding-top: 26px; }
  .catalog-nav { gap: 9px 16px; font-size: 12px; }
  .catalog-group { margin-bottom: 30px; }
  .catalog-group .project-grid { gap: 24px 16px; }
}

/* Keep the expanded navigation clear before switching to the compact menu. */
@media (min-width:801px) and (max-width:1180px) {
  .header-inner { flex-wrap: wrap; gap: 14px; }
  .site-header nav { flex-basis: 100%; justify-content: space-between; gap: 12px; }
}
.tools-heading { padding: 32px 0 26px; }
.tools-heading h1 { margin: 0 0 14px; }
.tool-card .tool-actions { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:16px; }
.tool-card .tool-actions a { font-size:13px; }
.tool-archive { margin-top:38px; }
.tool-archive .catalog-group-heading { margin-bottom:20px; }
.tool-role { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
