:root {
  --durham-purple: #68246d;
  --durham-purple-dark: #4d1852;
  --ink: #102a38;
  --ink-soft: #425763;
  --paper: #fffdf8;
  --surface: #f3f0ec;
  --line: #d9dedf;
  --white: #ffffff;
  --synthetic: #a93169;
  --process: #b56a16;
  --flow: #087f78;
  --automation: #2667a6;
  --max-width: 1200px;
  --shadow: 0 24px 60px rgba(16,42,56,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible, button:focus-visible { outline: 3px solid #ffbf47; outline-offset: 4px; }
.container { width: min(calc(100% - 2rem), var(--max-width)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; background: var(--ink); color: white; padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }
.institutional-bar { background: var(--white); border-bottom: 1px solid var(--line); }
.institutional-bar__inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.institutional-logo img { width: 210px; height: auto; }
.department-link { color: var(--ink-soft); font-weight: 650; text-decoration: none; }
.navigation-bar { position: sticky; top: 0; z-index: 50; background: rgba(255,253,248,.96); border-bottom: 1px solid rgba(16,42,56,.12); backdrop-filter: blur(16px); }
.navigation-bar__inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.group-brand { display: grid; text-decoration: none; min-width: 230px; }
.group-brand__name { text-transform: uppercase; letter-spacing: .13em; font-family: Georgia, serif; font-weight: 700; }
.group-brand__tagline { color: var(--ink-soft); font-size: .73rem; }
.primary-navigation { display: flex; align-items: center; gap: clamp(.7rem, 1.5vw, 1.4rem); font-size: .92rem; font-weight: 650; }
.primary-navigation a { text-decoration: none; white-space: nowrap; }
.primary-navigation a:hover { color: var(--durham-purple); }
.nav-action { color: white !important; background: var(--durham-purple); padding: .7rem .95rem; border-radius: 999px; }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--ink); font: inherit; font-weight: 700; padding: .6rem; }
.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 75% 30%, rgba(8,127,120,.16), transparent 28%), linear-gradient(135deg, #fffdf8 0%, #f4edf4 100%); padding: clamp(4rem, 8vw, 8rem) 0; }
.hero::before { content: ""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(104,36,109,.14); border-radius: 50%; right: -160px; top: -180px; }
.hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.eyebrow, .status-label, .topic-label, .status-kicker, .pathway__label { margin: 0 0 1rem; color: var(--durham-purple); font-weight: 800; font-size: .78rem; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.1; margin-top: 0; }
h1 { font-size: clamp(3.25rem, 7vw, 6.7rem); letter-spacing: -.055em; max-width: 11ch; margin-bottom: 1.6rem; }
h1 span { color: var(--durham-purple); }
h2 { font-size: clamp(2.35rem, 4vw, 4.25rem); letter-spacing: -.04em; }
h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); letter-spacing: -.02em; }
.hero__lead { max-width: 64ch; font-size: clamp(1.05rem, 1.7vw, 1.28rem); color: var(--ink-soft); }
.button-group { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; margin: 2rem 0 1.4rem; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .75rem 1.15rem; border-radius: 999px; text-decoration: none; font-weight: 750; }
.button--primary { background: var(--durham-purple); color: white; }
.button--primary:hover { background: var(--durham-purple-dark); }
.button--secondary { border: 1px solid var(--ink); background: white; }
.button--light { background: white; color: var(--ink); }
.button--text { color: var(--durham-purple); }
.text-link { font-weight: 760; color: var(--durham-purple); text-decoration: none; }
.hero__visual { min-height: 520px; position: relative; display: grid; align-content: center; }
.process-orbit { position: absolute; inset: 2rem 1rem auto auto; width: 330px; height: 330px; display: grid; place-items: center; }
.process-orbit__core { z-index: 2; display: grid; place-items: center; width: 152px; height: 152px; border-radius: 50%; color: white; background: var(--ink); text-align: center; font-family: Georgia, serif; font-size: 1.25rem; line-height: 1.25; box-shadow: var(--shadow); }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(104,36,109,.35); }
.orbit--one { inset: 35px; }
.orbit--two { inset: 0; border-style: dashed; }
.hero-steps { position: relative; z-index: 3; list-style: none; padding: 0; margin: 205px 0 0; display: grid; gap: .9rem; }
.hero-steps li { display: grid; grid-template-columns: 42px 1fr; column-gap: 1rem; background: rgba(255,255,255,.92); padding: 1rem 1.2rem; border-left: 4px solid var(--durham-purple); box-shadow: 0 12px 35px rgba(16,42,56,.08); }
.hero-steps span { grid-row: 1 / 3; color: var(--durham-purple); font-weight: 800; }
.hero-steps strong { font-family: Georgia, serif; font-size: 1.13rem; }
.hero-steps small { color: var(--ink-soft); }
.programme-status { background: var(--ink); color: white; padding: 3rem 0; }
.programme-status__inner { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; align-items: start; }
.programme-status h2 { margin-bottom: 0; font-size: clamp(2rem, 3.5vw, 3.4rem); }
.programme-status .status-label { color: #d9aadd; }
.programme-status p { color: #dce5e8; margin-top: 0; }
.inline-links { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.inline-links a { color: white; font-weight: 750; }
.section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.section--tint { background: var(--surface); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2 { margin-bottom: 0; max-width: 15ch; }
.section-heading > p { color: var(--ink-soft); font-size: 1.12rem; margin-bottom: .5rem; }
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.pillar { min-height: 350px; padding: 1.5rem; border-top: 5px solid; background: white; box-shadow: 0 15px 40px rgba(16,42,56,.07); display: flex; flex-direction: column; }
.pillar--synthetic { border-color: var(--synthetic); }.pillar--process { border-color: var(--process); }.pillar--flow { border-color: var(--flow); }.pillar--automation { border-color: var(--automation); }
.pillar__number { color: var(--ink-soft); font-weight: 800; letter-spacing: .1em; }
.pillar h3 { margin: 2rem 0 1rem; }
.pillar p { color: var(--ink-soft); }
.pillar a { margin-top: auto; color: var(--durham-purple); font-weight: 760; text-decoration: none; }
.featured-contribution { display: grid; grid-template-columns: 1.15fr .85fr; background: white; box-shadow: var(--shadow); }
.featured-contribution__image { min-height: 430px; display: grid; place-items: center; padding: 2rem; background: #eef1ef; overflow: hidden; }
.featured-contribution__image img { width: 100%; object-fit: contain; image-rendering: auto; }
.featured-contribution__body { padding: clamp(2rem, 5vw, 4rem); align-self: center; }
.featured-contribution__body .citation { color: var(--ink-soft); font-size: .9rem; }
.contribution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.contribution-grid article { padding: 1.8rem; background: var(--ink); color: white; }
.contribution-grid span { color: #d9aadd; text-transform: uppercase; font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.contribution-grid p { color: #dce5e8; }
.split-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; align-items: start; }
.capability-list { display: flex; flex-wrap: wrap; gap: .7rem; }
.capability-list span { padding: .72rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: white; font-weight: 680; }
.future-section { background: var(--durham-purple-dark); color: white; }
.section-heading--light > p { color: #eaddea; }.section-heading--light .eyebrow { color: #d9aadd; }
.status-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.status-grid article { padding: 2rem; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.status-grid p { color: #eaddea; }.status-grid .status-kicker { color: white; }
.status-dot { display: block; width: 13px; height: 13px; border-radius: 50%; margin-bottom: 1.5rem; }
.status-dot--established { background: #61d3c9; }.status-dot--developing { background: #f6b65c; }.status-dot--seeking { background: #d9aadd; }
.network-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.large-copy { font-size: 1.2rem; color: var(--ink-soft); }
.network-statements { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.network-statements div { background: white; padding: 1.4rem; display: grid; gap: .25rem; }
.network-statements strong { font-family: Georgia, serif; font-size: 1.35rem; }
.network-statements span { color: var(--ink-soft); }
.pathways { background: var(--surface); }
.pathway-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pathway { padding: clamp(2rem, 5vw, 4rem); min-height: 380px; display: flex; flex-direction: column; align-items: start; }
.pathway p { max-width: 58ch; }.pathway .button { margin-top: auto; }
.pathway--collaborate { background: var(--ink); color: white; }.pathway--collaborate p { color: #dce5e8; }.pathway--collaborate .pathway__label { color: #61d3c9; }
.pathway--funding { background: white; border: 1px solid var(--line); }
.site-footer { background: #081c27; color: white; padding: 4rem 0 2rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 3rem; }
.footer-title { font-family: Georgia, serif; font-size: 1.8rem; margin-top: 0; }.footer-heading { font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.footer-links { list-style: none; padding: 0; margin: 0; }.footer-links li { margin: .45rem 0; }.footer-links a { color: #dce5e8; }
.footer-legal { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.18); margin-top: 3rem; padding-top: 1.5rem; color: #bfd0d6; font-size: .88rem; }
@media (max-width: 1050px) {
  .menu-toggle { display: inline-flex; gap: .7rem; align-items: center; }
  .menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after { width: 22px; height: 2px; background: currentColor; display: block; content: ""; }
  .menu-toggle__icon { position: relative; }.menu-toggle__icon::before { position: absolute; top: -7px; }.menu-toggle__icon::after { position: absolute; top: 7px; }
  .primary-navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 1rem; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; }
  .primary-navigation[data-open="true"] { display: flex; }
  .primary-navigation a { padding: .6rem; }
  .hero__grid, .section-heading, .split-heading, .network-grid { grid-template-columns: 1fr; }
  .hero__visual { min-height: 490px; }.pillar-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .institutional-bar__inner { min-height: 72px; }.institutional-logo img { width: 160px; }.department-link { display: none; }
  .group-brand__tagline { display: none; }.navigation-bar__inner { min-height: 70px; }
  .hero { padding-top: 3.5rem; }.hero__visual { min-height: 560px; }.process-orbit { right: 50%; transform: translateX(50%); width: 280px; height: 280px; }
  .hero-steps { margin-top: 265px; }.programme-status__inner, .featured-contribution, .pathway-grid { grid-template-columns: 1fr; gap: 2rem; }
  .pillar-grid, .contribution-grid, .status-grid, .footer-grid { grid-template-columns: 1fr; }
  .pillar { min-height: 290px; }.featured-contribution__image { min-height: 250px; }.footer-legal { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
