:root {
  --ink: #123c36;
  --ink-2: #1c4b43;
  --ink-soft: #536762;
  --cream: #f8f4ec;
  --paper: #fffdf8;
  --sand: #eee0cc;
  --sage: #dce9e4;
  --sage-2: #edf3f0;
  --deep: #0e322d;
  --terracotta: #aa5146;
  --terracotta-soft: #e6a38f;
  --gold: #b89d67;
  --line: rgba(18,60,54,.12);
  --white: #fff;
  --max: 1180px;
  --radius: 28px;
  --shadow: 0 18px 50px rgba(18,60,54,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--cream); line-height: 1.65; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
:focus-visible { outline: 3px solid #0b6d60; outline-offset: 3px; }
.container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 100; background: var(--white); color: var(--ink); padding: 10px 14px; border-radius: 9px; transform: translateY(-150%); box-shadow: var(--shadow); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); background: rgba(248,244,236,.9); border-bottom: 1px solid var(--line); }
.nav-wrap { min-height: 74px; display:flex; align-items:center; gap: 24px; }
.brand { display:flex; align-items:center; gap: 10px; min-width: 185px; }
.brand-mark { width: 42px; height: 42px; color: var(--ink); }
.brand-mark svg { width:100%; height:100%; }
.brand strong { display:block; font-family: Georgia, "Times New Roman", serif; font-size: 21px; line-height:1; }
.brand small { display:block; font-size: 11px; color: var(--ink-soft); margin-top: 3px; letter-spacing:.08em; text-transform:uppercase; }
.brand em { display:block; font-style:normal; font-size: 10px; color: var(--ink-soft); margin-top: 5px; letter-spacing:.02em; white-space:nowrap; }
.main-nav { display:flex; justify-content:center; gap: 24px; flex: 1; color: var(--ink-soft); font-size: 13px; }
.main-nav a { padding: 26px 0 22px; border-bottom: 2px solid transparent; }
.main-nav a:hover { color: var(--ink); border-bottom-color: var(--gold); }
.nav-cta { min-height: 44px; display:grid; place-items:center; padding: 0 18px; border-radius: 999px; background: var(--ink); color: var(--white); font-size: 13px; font-weight: 800; }
.menu-toggle { display:none; }

.hero { position:relative; min-height: 690px; display:flex; align-items:center; overflow:hidden; color:var(--white); background:#173932; }
.hero-photo { position:absolute; inset:0; background: url("cerro-lake.png") center 53% / cover no-repeat; }
.hero-wash { position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,36,31,.82) 0%, rgba(8,36,31,.48) 44%, rgba(8,36,31,.08) 82%), linear-gradient(0deg, rgba(8,36,31,.28), rgba(8,36,31,.02)); }
.hero-content { position:relative; z-index:2; padding: 116px 0 128px; }
.hero-text { max-width: 720px; }
.eyebrow { margin:0 0 12px; font-size: 11px; text-transform:uppercase; letter-spacing:.18em; font-weight:900; color:var(--terracotta); }
.eyebrow.light { color:#f0c9bd; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; letter-spacing:-.03em; line-height:1.06; }
h1 { font-size: clamp(54px, 6vw, 86px); margin:0 0 24px; }
h1 span { color:#ffd7c8; }
h2 { font-size: clamp(38px, 4.4vw, 61px); margin:0 0 18px; }
h2 em { color:var(--terracotta); font-style:normal; }
.hero-sub { max-width: 620px; font-size: 19px; color:#eef4f2; margin:0 0 31px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { min-height:48px; padding:0 18px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-size:13px; font-weight:900; border:1px solid transparent; }
.button-light { background:var(--white); color:var(--ink); }
.button-outline-light { background:rgba(12,51,45,.18); border-color:rgba(255,255,255,.7); color:var(--white); }
.play { font-size: 9px; border:1px solid currentColor; width:21px; height:21px; border-radius:50%; display:grid; place-items:center; padding-left:1px; }
.hero-location { position:absolute; left: 50%; bottom:20px; transform:translateX(-50%); z-index:3; color:#f3f8f6; font-size:11px; letter-spacing:.08em; text-transform:uppercase; text-align:center; white-space:nowrap; }

.paradox-section { background:var(--paper); padding: 40px 0 50px; }
.paradox-grid { display:grid; grid-template-columns: .82fr 1.18fr; gap:60px; align-items:center; }
.paradox-copy p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; max-width:520px; }
.text-link { display:inline-flex; gap:9px; margin-top: 18px; color:var(--terracotta); font-weight:900; border-bottom:1px solid rgba(170,81,70,.35); padding-bottom:3px; }
.kinetics-card { background:var(--deep); color:var(--white); border-radius:30px; padding:26px 28px 20px; box-shadow:var(--shadow); }
.kinetics-title-row { display:grid; grid-template-columns:116px 1fr 96px; gap:12px; align-items:end; margin-bottom:14px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:#b9cdc7; }
.kinetics-title-row strong { color:#f4d5c8; font-size:11px; text-align:center; }
.kinetics-title-row span:last-child { text-align:right; }
.kinetics-row { padding:17px 0; }
.kinetics-row + .kinetics-row { border-top:1px solid rgba(255,255,255,.11); }
.row-label { font-size:13px; text-transform:uppercase; letter-spacing:.1em; font-weight:900; color:#f4eee4; margin-bottom:9px; }
.row-label span { display:block; color:#e2a396; font-size:9px; margin-top:3px; letter-spacing:.17em; }
.row-visual { display:grid; grid-template-columns:1fr 138px; gap:14px; align-items:center; }
.kinetics-visual { min-width:0; }
.capillary-diagram { position:relative; height:74px; border-radius:38px; background:linear-gradient(180deg, rgba(247,150,130,.28), rgba(247,150,130,.10)); border:1px solid rgba(255,208,194,.28); overflow:hidden; }
.capillary-lumen { position:absolute; inset:10px 12px; border-radius:30px; background:linear-gradient(180deg, rgba(255,208,194,.18), rgba(255,170,145,.07)); border:1px solid rgba(255,214,202,.17); }
.flow-line { position:absolute; left:26px; right:28px; top:50%; height:4px; transform:translateY(-50%); background:rgba(255,198,183,.43); border-radius:999px; }
.rbc-dot { position:absolute; top:21px; width:55px; height:33px; border-radius:52% 48% 52% 48%; transform:rotate(-6deg); background:radial-gradient(circle at 35% 30%, #f5a497 0%, #d86d60 42%, #8f3e3a 100%); border:1px solid #f4b0a3; box-shadow:inset 0 -6px 0 rgba(80,20,22,.15), 0 0 0 4px rgba(228,147,131,.08); display:grid; place-items:center; z-index:2; }
.rbc-label { color:#fff7f3; font-size:8px; font-weight:900; letter-spacing:.06em; }
.rbc-dot i { position:absolute; width:5px; height:5px; border-radius:50%; background:#ffd36a; box-shadow:0 0 0 2px rgba(255,211,106,.16); }
.rbc-dot i:nth-child(2) { top:6px; right:9px; }
.rbc-dot i:nth-child(3) { bottom:6px; right:12px; }
.rbc-dot i:nth-child(4) { left:11px; bottom:7px; }
.r1 { left:11%; }
.r2 { left:30%; top:30px; }
.cms-rbc-dot { width:47px; height:29px; top:22px; }
.cms .r2 { left:27%; top:18px; }
.cms .r3 { left:44%; top:29px; }
.cms .r4 { left:62%; top:19px; }
.cms-rbc-dot i:nth-child(4) { display:none; }
.o2-bubble { position:absolute; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:#ffd36a; color:#6f3a21; font-size:8px; font-weight:900; box-shadow:0 0 0 4px rgba(255,211,106,.10); z-index:3; }
.normal .n1{left:22%; top:10px}.normal .n2{left:33%; top:54px}.normal .n3{left:45%; top:12px}.normal .n4{left:57%; top:53px}.normal .n5{left:70%; top:11px}.normal .n6{left:81%; top:53px}
.cms .s1{left:48%; top:9px}.cms .s2{left:62%; top:53px}.cms .s3{left:76%; top:12px}
.capillary-arrow { position:absolute; right:7px; top:28px; font-size:17px; color:#f7ddd3; font-weight:700; z-index:4; }
.tissue-wrap { display:flex; align-items:center; gap:7px; }
.tissue-svg { width:62px; flex:0 0 auto; }
.tissue-wrap strong { display:block; font-family:Georgia,serif; font-size:18px; }
.tissue-wrap span { display:block; color:#bed0ca; font-size:9px; line-height:1.3; max-width:78px; }
.cms .tissue-wrap span { color:#efb3a7; }
.kinetics-legend { display:flex; flex-wrap:wrap; gap:16px 22px; justify-content:flex-end; margin-top:4px; font-size:9px; color:#bfd0cb; text-transform:uppercase; letter-spacing:.07em; }
.kinetics-legend span { display:flex; gap:7px; align-items:center; }
.legend-oxygen,.legend-progress { width:9px; height:9px; border-radius:50%; display:inline-block; }
.legend-oxygen { background:#ffd36a; }
.legend-progress { background:#e0c3b8; box-shadow:7px 0 0 -1px #8b9089, 14px 0 0 -1px #6d776f; width:3px; }
.section { padding:40px 0; }
.place-section { background: var(--cream); }
.place-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:55px; align-items:center; }
.place-copy p:not(.eyebrow), .sign-copy p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; }
.place-image, .sign-row figure, .collaboration-photo, .photo-card, .capacity-photo, .team-lead-photo { margin:0; }
.place-image img { height:410px; object-fit:cover; border-radius:30px; box-shadow:var(--shadow); }
figcaption { margin-top:9px; font-size:11px; color:var(--ink-soft); }
.sign-row { margin-top:45px; display:grid; grid-template-columns:1fr .78fr; gap:35px; align-items:center; }
.sign-row figure img { height:270px; object-fit:cover; border-radius:28px; }

.science-section { background: var(--sage-2); }
.science-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:65px; align-items:center; }
.science-copy > p:not(.eyebrow) { color:var(--ink-soft); font-size:18px; max-width:700px; }
.science-points { margin-top:35px; display:grid; gap:18px; }
.science-points > div { display:grid; grid-template-columns:38px 95px 1fr; gap:16px; align-items:start; padding-top:17px; border-top:1px solid var(--line); }
.science-points span { font-size:20px; font-weight:900; color:var(--terracotta); letter-spacing:.1em; }
.science-points strong { font-family:Georgia,serif; font-size:22px; }
.science-points p { color:var(--ink-soft); margin:0; }
.science-callout { background:var(--deep); color:var(--white); border-radius:30px; padding:30px 32px 28px; box-shadow:var(--shadow); }
.callout-kicker { display:block; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#f0c5b9; font-weight:900; }
.science-callout > p { font:27px/1.2 Georgia,serif; margin:18px 0 0; }
.callout-arrow { display:block; width:100%; margin:20px 0 16px; text-align:center; font:46px/.8 Georgia,serif; font-weight:300; color:#e6a18f; }
.callout-foot { display:block; max-width:360px; margin:0 auto; text-align:center; font-size:12px; line-height:1.5; color:#bed0ca; }


/* URICA feature */
.urica-section { background:#f3eee4; }
.urica-layout { display:grid; grid-template-columns:1.02fr .98fr; gap:60px; align-items:center; }
.urica-copy { max-width:650px; }
.urica-copy p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; line-height:1.7; }
.urica-copy .text-link { margin-top:15px; }
.urica-card { background:var(--deep); color:var(--white); border-radius:30px; padding:30px 30px 28px; box-shadow:var(--shadow); }
.urica-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:12px; align-items:stretch; margin-top:22px; }
.urica-step { background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11); border-radius:20px; padding:18px 16px; min-height:150px; display:flex; flex-direction:column; justify-content:flex-start; }
.urica-step strong { font:22px/1.08 Georgia,serif; margin-top:18px; }
.urica-step small { color:#bfd0cb; font-size:12px; line-height:1.5; margin-top:10px; }
.urica-number { color:#e6a18f; font-size:15px; font-weight:900; letter-spacing:.12em; }
.urica-connector { display:grid; place-items:center; color:#e6a18f; font:700 24px Georgia,serif; }
.urica-highlight { background:#ead1c3; color:#4c2b26; border-color:transparent; }
.urica-highlight small { color:#6f4d46; }
.urica-highlight .urica-number { color:#8b3f36; }

/* Collaboration feature layout */
.collaboration-section { background:var(--paper); }
.collaboration-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:42px 55px; align-items:center; }
.collab-feature-copy { max-width:470px; }
.collab-feature-copy h2 { margin-bottom:20px; }
.collab-feature-copy > p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; line-height:1.7; }
.collab-country-strip { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin:5px 0 24px; }
.collab-country { display:inline-flex; align-items:center; gap:9px; font-weight:800; color:var(--ink); }
.flag-small { width:38px; height:25px; border-radius:6px; }
.collab-arrow { font:700 24px Georgia,serif; color:var(--terracotta); }
.collab-feature-copy .button { margin-top:10px; }
.collab-feature-photo { margin:0; }
.collab-feature-photo img { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:auto; object-fit:contain; object-position:center; border-radius:26px; box-shadow:var(--shadow); }
.collab-feature-photo figcaption { margin-top:10px; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.collab-support-grid { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:34px 28px; align-items:center; margin-top:10px; }
.collab-support-media { margin:0; }
.collab-support-media img { display:block; width:100%; height:280px; object-fit:cover; border-radius:22px; box-shadow:var(--shadow); }
.collab-support-copy { padding:5px 18px 5px 8px; }
.collab-support-copy h3 { font-size:34px; line-height:1.08; margin:10px 0 12px; }
.collab-support-copy p:not(.eyebrow) { color:var(--ink-soft); font-size:16px; line-height:1.7; margin:0; }

.partnership-section { background:var(--sand); }
.partnership-layout { display:grid; gap:35px; }
.partnership-intro { max-width:750px; }
.partnership-intro p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; }
.partnership-map { display:grid; grid-template-columns:1fr 190px 1fr; gap:18px; align-items:stretch; }
.country-card { background:var(--white); border:1px solid var(--line); border-radius:30px; padding:30px; box-shadow:var(--shadow); }
.uk-card { background:#eef4f1; }
.country-heading { display:flex; gap:13px; align-items:center; }
.country-heading h3 { font-size:34px; margin:0; }
.flag { width:48px; height:34px; display:block; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.1); flex:0 0 auto; }
.flag svg { display:block; width:100%; height:100%; }
.country-card ul { margin:24px 0 0; padding-left:20px; color:var(--ink-soft); }
.country-card li { margin:11px 0; }
.bridge-words { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; color:var(--ink); font-size:16px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.bridge-words span { display:flex; align-items:center; gap:10px; width:100%; justify-content:center; }
.bridge-words span::before,.bridge-words span::after { content:""; width:26px; height:1px; background:#bfae8a; }
.collaboration-photo img { height:360px; object-fit:cover; border-radius:32px; box-shadow:var(--shadow); }

.section-deep { background:var(--deep); color:var(--white); }
.split-light { display:grid; grid-template-columns:1fr .85fr; gap:65px; align-items:end; }
.section-intro.light { color:#c8d7d2; font-size:17px; }
.impact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:45px; }
.impact-card { padding:28px; min-height:300px; border-radius:28px; }
.impact-card h3 { font-size:31px; margin:48px 0 12px; }
.impact-card p { font-size:15px; margin:0 0 22px; }
.impact-number { font-size:22px; font-weight:900; letter-spacing:.13em; }
.light-card { background:#f6f0e4; color:var(--ink); }
.warm-card { background:#eed0c0; color:#4c2b26; }
.outline-card { border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.045); color:#f1f5f3; }
.impact-line { font-size:11px; font-weight:900; letter-spacing:.03em; }

.human-section { background:var(--paper); }
.human-header { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:end; margin-bottom:35px; }
.human-header > p { color:var(--ink-soft); font-size:17px; margin:0 0 8px; }
.photo-grid { display:grid; grid-template-columns:1fr 1fr 1fr; grid-template-rows:auto; gap:16px; }
.photo-card { position:relative; overflow:hidden; border-radius:26px; background:#e4e0d8; }
.photo-card img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.photo-card:hover img { transform:scale(1.015); }
.photo-card figcaption { position:absolute; left:14px; right:14px; bottom:14px; margin:0; background:rgba(255,253,248,.93); color:var(--ink); padding:8px 10px; border-radius:10px; font-size:12px; font-weight:800; }
.photo-wide { grid-column:1 / -1; grid-row:auto; height:auto; }
.photo-wide img { height:auto; width:100%; object-fit:contain; display:block; }
.photo-tall { grid-column:auto; grid-row:auto; }
.photo-lab { grid-column:auto; grid-row:auto; }

.capacity-section { background:#eae0d1; }
.capacity-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; }
.capacity-photo img { height:430px; object-fit:cover; border-radius:30px; box-shadow:var(--shadow); }
.capacity-copy p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; }

.team-section { background:var(--paper); }
.team-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:54px; align-items:stretch; }
.team-lead-photo { display:flex; flex-direction:column; height:100%; margin:0; }
.team-lead-photo img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:3 / 2; object-fit:cover; object-position:center; border-radius:30px; box-shadow:var(--shadow); flex:1 1 auto; min-height:0; }
.team-lead-photo p { color:var(--ink-soft); font-size:11px; line-height:1.45; margin:10px 0 0; }
.team-layout > div:last-child { display:flex; flex-direction:column; justify-content:flex-start; }
.team-intro { color:var(--ink-soft); font-size:17px; line-height:1.65; margin:18px 0 0; max-width:760px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; }
.team-card { background:var(--cream); border:1px solid var(--line); border-radius:22px; padding:20px; min-height:240px; height:100%; }
.initials { width:48px; height:48px; border-radius:15px; background:var(--sage); display:grid; place-items:center; font:700 17px Georgia,serif; }
.team-card h3 { font-size:22px; margin:25px 0 5px; }
.team-card p { color:var(--ink-soft); font-size:13px; margin:0 0 12px; }
.team-card span { font-size:11px; color:var(--terracotta); font-weight:900; }

.story-teaser-section { background:#f1ebe0; }
.story-teaser { display:grid; grid-template-columns:1.05fr .95fr; gap:65px; align-items:center; }
.story-teaser-image { margin:0; }
.story-teaser-image img { width:100%; height:390px; object-fit:cover; border-radius:30px; box-shadow:var(--shadow); }
.story-teaser-copy > p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; max-width:560px; }
.teaser-label { display:inline-flex; align-items:center; gap:9px; margin-top:18px; padding:10px 14px; border:1px solid rgba(18,60,54,.18); border-radius:999px; color:var(--ink); font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; background:rgba(255,255,255,.55); }
.teaser-label span { color:var(--terracotta); font-size:12px; }
.video-box { min-height:330px; border-radius:30px; background:linear-gradient(135deg,#1d493f,#102d29); color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; box-shadow:var(--shadow); }
.video-box > span { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65); padding-left:3px; }
.video-box strong { font:25px Georgia,serif; }
.video-box small { color:#bdd0ca; }

.closing-section { background:var(--deep); color:var(--white); padding:112px 0 105px; }
.closing-inner { max-width:900px; text-align:center; }
.closing-inner h2 { font-size:clamp(50px,6vw,82px); }
.closing-inner h2 span { color:#f2c6b8; }
.closing-inner > p:not(.eyebrow) { color:#c7d7d2; font-size:18px; max-width:750px; margin:0 auto; }
.closing-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:32px; }

.site-footer { background:#0a211d; color:#dae7e2; padding:48px 0 22px; }
.footer-top { display:grid; grid-template-columns:1.1fr 1fr .9fr; gap:45px; align-items:start; }
.funding { display:flex; align-items:center; gap:18px; }
.wellcome-logo { width:108px; height:auto; object-fit:contain; background:#fff; border-radius:12px; padding:10px; box-sizing:border-box; }
.footer-kicker { margin:0 0 7px; color:#e2b2a4; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:900; }
.funding strong { font:22px Georgia,serif; color:white; }
.funding p:last-child,.footer-context p:not(.footer-kicker) { color:#a9bbb5; font-size:12px; }
.footer-institutions { border-left:1px solid rgba(255,255,255,.13); border-right:1px solid rgba(255,255,255,.13); padding:0 35px; }
.institution-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.institution-pair span { font:16px Georgia,serif; color:#eff5f2; }
.footer-context a { color:#edc1b3; font-size:12px; font-weight:800; }

.industry-partner { margin-top:34px; padding-top:28px; border-top:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:space-between; gap:32px; }
.industry-partner-copy { max-width:620px; }
.industry-partner-copy strong { display:block; font:22px Georgia,serif; color:white; margin-bottom:4px; }
.industry-partner-copy p:last-child { margin:0; color:#a9bbb5; font-size:12px; }
.industry-partner a { display:block; flex:0 0 auto; background:#fff; border-radius:12px; padding:9px 14px; }
.camtech-logo { width:170px; height:auto; object-fit:contain; }

.footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; color:#879d96; font-size:10px; }

@media (max-width: 980px) {
  .main-nav { display:none; position:absolute; left:0; right:0; top:74px; padding:18px 24px 22px; background:rgba(248,244,236,.98); border-bottom:1px solid var(--line); flex-direction:column; gap:4px; }
  .main-nav.is-open { display:flex; }
  .main-nav a { padding:11px 0; }
  .menu-toggle { display:block; margin-left:auto; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:999px; padding:9px 14px; font-weight:900; }
  .nav-cta { display:none; }
  .paradox-grid,.place-layout,.science-layout,.split-light,.human-header,.capacity-layout,.team-layout,.story-teaser { grid-template-columns:1fr; }
  .collaboration-layout { grid-template-columns:1fr; }
  .collab-feature-copy { max-width:720px; }
  .urica-layout { grid-template-columns:1fr; }
  .urica-copy { max-width:720px; }
  .urica-flow { grid-template-columns:1fr; gap:8px; }
  .urica-connector { transform:rotate(90deg); min-height:24px; }
  .collab-support-grid { grid-template-columns:1fr 1fr; }
  .collab-support-copy { padding:5px 0; }
  .bridge-words span::before,.bridge-words span::after { display:none; }
  .impact-cards,.team-grid { grid-template-columns:1fr; }
  .photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .photo-wide { grid-row:auto; grid-column:1 / -1; height:auto; }
  .photo-wide img { height:auto; }
  .photo-tall,.photo-lab { grid-column:auto; grid-row:auto; }
  .footer-top { grid-template-columns:1fr; }
  .footer-institutions { border-left:0; border-right:0; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); padding:25px 0; }
}

@media (max-width: 680px) {
  .container { width:min(var(--max), calc(100% - 30px)); }
  .hero { min-height: 650px; }
  .hero-content { padding: 90px 0 110px; }
  h1 { font-size: clamp(44px, 12vw, 64px); }
  .hero-sub { font-size:17px; }
  .hero-location { font-size:9px; width:90%; white-space:normal; }
  .section,.paradox-section { padding:75px 0; }
  .row-visual { grid-template-columns:1fr; gap:10px; }
  .capillary-diagram { height:78px; }
  .tissue-wrap { justify-content:flex-end; margin-top:2px; }
  .tissue-wrap span { max-width:150px; }
  .kinetics-title-row { grid-template-columns:66px 1fr 60px; font-size:8px; }
  .kinetics-title-row strong { font-size:8px; }
  .kinetics-card { padding:22px 18px 16px; }
  .kinetics-legend { justify-content:flex-start; flex-wrap:wrap; }
  .sign-row { grid-template-columns:1fr; }
  .collab-support-grid { grid-template-columns:1fr; gap:22px; }
  .collab-feature-photo img { width:100%; height:auto; }
  .collab-support-media img { height:260px; }
  .science-points > div { grid-template-columns:32px 75px 1fr; gap:11px; }
  .photo-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .photo-wide { grid-row:auto; grid-column:auto; height:auto; }
  .photo-wide img { height:auto; }
  .photo-card { height:260px; }
  .place-image img,.capacity-photo img,.team-lead-photo img,.collaboration-photo img { height:300px; }
  .institution-pair { grid-template-columns:1fr; }
  .industry-partner { flex-direction:column; align-items:flex-start; }
  .camtech-logo { width:150px; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .photo-card img { transition:none; }
}
