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

:root { --teal:#0b5d56; --teal-dark:#063c38; --terra:#e56b3f; --ink:#142221; --paper:#f5f1ea; --mint:#d7e7df; --line:#bfd0c9; --muted:#60716c; --white:#fffdfa; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; --sans:"Manrope",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.58; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid var(--terra); outline-offset:3px; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(245,241,234,.94); backdrop-filter:blur(18px); border-bottom:1px solid rgba(20,34,33,.12); }
.header-inner { max-width:1320px; margin:auto; min-height:78px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--teal-dark); font-weight:800; font-size:23px; letter-spacing:-1.2px; white-space:nowrap; }
.brand-mark { width:30px; height:30px; flex:none; }
.brand-dot { color:var(--terra); }
.site-nav { display:flex; align-items:center; gap:20px; font-size:13px; font-weight:700; }
.site-nav a { color:#41514d; position:relative; padding:8px 0; }
.site-nav a:not(.nav-contact):not(.language-switch)::after { content:""; position:absolute; height:2px; width:0; bottom:2px; left:0; background:var(--terra); transition:width .2s ease; }
.site-nav a:hover::after, .site-nav a.active::after { width:100%; }
.site-nav .nav-contact { color:var(--white); background:var(--teal); border-radius:999px; padding:9px 16px; }
.site-nav .language-switch { color:var(--teal); border-left:1px solid var(--line); padding-left:18px; }
.menu-toggle { display:none; background:none; border:0; font:700 14px var(--sans); color:var(--teal); cursor:pointer; }
.skip-link { position:absolute; left:-999px; top:10px; background:var(--ink); color:white; padding:8px 12px; z-index:40; }
.skip-link:focus { left:10px; }
.hero, .page-hero, .contact-layout { max-width:1320px; margin:0 auto; padding:100px 34px 84px; }
.hero { display:grid; grid-template-columns:minmax(0,960px); gap:0; min-height:560px; align-items:center; }
.eyebrow { margin:0 0 14px; color:var(--teal); font:700 11px/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.045em; line-height:1.04; }
h1 { max-width:900px; margin-bottom:26px; font-size:clamp(42px,6.2vw,82px); font-weight:800; } h2 { font-size:clamp(30px,4vw,52px); } h3 { font-size:22px; }
.hero-lede, .page-hero > p, .contact-layout > div > p { max-width:680px; color:#455450; font-size:20px; line-height:1.6; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:35px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:11px 18px; border:1px solid transparent; border-radius:3px; font-size:14px; font-weight:800; cursor:pointer; transition:transform .2s,background .2s,border-color .2s; }
.button:hover { transform:translateY(-2px); }.button-primary { background:var(--teal); color:white; }.button-primary:hover { background:var(--teal-dark); }.button-secondary { border-color:var(--teal); color:var(--teal); background:transparent; }.button-secondary:hover { background:var(--teal); color:white; }.button-quiet { border-color:var(--line); color:var(--ink); }.button-quiet:hover { border-color:var(--teal); }
.data-label { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-family:var(--mono); font-size:10px; letter-spacing:.08em; }.data-label span { color:var(--muted); }.data-label strong { color:var(--ink); font-weight:700; text-align:right; }
.section { max-width:1320px; margin:0 auto; padding:96px 34px; display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:80px; border-top:1px solid var(--line); }.section-intro p:not(.eyebrow) { max-width:430px; color:#53635f; }.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }.feature-card { background:var(--paper); padding:28px; min-height:230px; display:flex; flex-direction:column; align-items:flex-start; }.feature-card p:last-of-type { color:#50605b; }.feature-card .eyebrow { color:var(--terra); }.section-ink { max-width:none; background:var(--ink); color:var(--paper); padding-left:max(34px,calc((100vw - 1252px)/2)); padding-right:max(34px,calc((100vw - 1252px)/2)); border:0; }.section-ink .eyebrow { color:#9ed5c7; }.section-ink .section-intro p:not(.eyebrow) { color:#c4d1cd; }.signal-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid currentColor; }.signal-strip > div { padding:20px 22px 20px 0; border-right:1px solid currentColor; margin-right:20px; display:grid; gap:6px; }.signal-strip > div:last-child { border-right:0; }.signal-strip strong { font-size:20px; }.signal-strip span { color:inherit; opacity:.72; font-size:13px; }.lab-callout { background:var(--terra); max-width:1320px; margin:0 auto 92px; padding:48px 56px; display:flex; gap:40px; align-items:center; justify-content:space-between; }.lab-callout h2 { max-width:630px; margin-bottom:14px; }.lab-callout p:not(.eyebrow) { max-width:650px; }.lab-callout .eyebrow { color:var(--ink); }.lab-callout .button-secondary { border-color:var(--ink); color:var(--ink); white-space:nowrap; }.lab-callout .button-secondary:hover { color:var(--terra); background:var(--ink); }
.page-hero { padding-bottom:62px; }.page-hero.narrow { max-width:900px; margin-left:max(34px,calc((100vw - 1252px)/2)); padding-left:0; }.page-hero h1 span { color:var(--muted); font-weight:500; }.service-list,.credentials-list,.source-list { max-width:1320px; margin:0 auto; padding:0 34px 100px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); }.service-list .feature-card,.credentials-list .feature-card { min-height:280px; }.three-up { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.three-up > div { background:var(--paper); padding:28px; }.three-up b { color:var(--terra); font-family:var(--mono); }.section-tint { max-width:none; background:#dfe9e4; padding-left:max(34px,calc((100vw - 1252px)/2)); padding-right:max(34px,calc((100vw - 1252px)/2)); border:0; }.process { max-width:1320px; padding:0 34px 100px; margin:0 auto; }.process article { display:grid; grid-template-columns:120px 1fr; gap:30px; border-top:1px solid var(--line); padding:30px 0; }.process article:last-child { border-bottom:1px solid var(--line); }.process article > span { font-family:var(--mono); color:var(--terra); font-weight:700; }.process h2 { margin-bottom:12px; font-size:clamp(26px,3vw,42px); }.process p { max-width:580px; color:#52635e; }.profile-layout { max-width:1320px; padding:0 34px 100px; margin:0 auto; display:grid; grid-template-columns:1.3fr .7fr; gap:70px; }.profile-statement { border-top:2px solid var(--teal); padding-top:26px; }.profile-statement p { max-width:700px; color:#50605b; font-size:18px; }.profile-facts { border-top:1px solid var(--line); }.empty-state { max-width:1180px; margin:0 auto 100px; padding:58px; display:grid; grid-template-columns:200px 1fr; gap:60px; background:var(--mint); }.empty-number { font:800 clamp(76px,11vw,160px)/.8 var(--mono); color:var(--teal); letter-spacing:-.12em; }.empty-state h2 { max-width:600px; }.empty-state p { max-width:640px; color:#43534e; }.lab-manifesto { max-width:1320px; margin:0 auto; padding:60px 34px; display:grid; grid-template-columns:1.1fr .9fr; gap:70px; background:var(--teal); color:white; }.lab-manifesto .eyebrow { color:#a8d9cd; }.lab-manifesto h2 { max-width:650px; }.lab-manifesto ul { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.4); }.lab-manifesto li { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.4); }.lab-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.lab-grid .feature-card { min-height:290px; border:1px solid var(--line); }.card-footer { margin-top:auto; padding-top:20px; width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; }.card-footer a { font-size:13px; font-weight:800; color:var(--teal); }.status { display:inline-block; padding:4px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font:700 10px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.status-live { border-color:var(--teal); color:var(--teal); }.metadata-row { margin-top:38px; display:flex; flex-wrap:wrap; gap:8px; }.metadata-row span { display:grid; gap:5px; padding:10px 13px; border:1px solid var(--line); color:var(--muted); font:700 10px var(--mono); letter-spacing:.07em; }.metadata-row b { color:var(--ink); font-family:var(--sans); letter-spacing:0; }.source-list { grid-template-columns:1fr; background:transparent; gap:0; padding-bottom:0; }.source-list article { display:flex; justify-content:space-between; align-items:end; gap:40px; padding:36px 0; border-top:1px solid var(--line); }.source-list article:last-child { border-bottom:1px solid var(--line); }.source-list h2 { font-size:32px; margin-bottom:12px; }.source-list p:not(.eyebrow) { max-width:780px; color:#52635e; }.text-link { min-width:155px; display:inline-flex; gap:8px; color:var(--teal); font-size:13px; font-weight:800; }.source-check { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.methodology { max-width:1320px; margin:0 auto; padding:96px 34px; }.methodology ol { list-style:none; counter-reset:item; padding:0; max-width:850px; }.methodology li { counter-increment:item; display:grid; grid-template-columns:58px 1fr; gap:15px; padding:20px 0; border-top:1px solid var(--line); font-size:20px; }.methodology li::before { content:"0" counter(item); color:var(--terra); font:700 12px var(--mono); padding-top:7px; }.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }.contact-layout h1 { font-size:clamp(42px,5.2vw,72px); }.contact-note { margin-top:34px; max-width:400px; border-top:1px solid var(--line); }.contact-form { padding:30px; border:1px solid var(--line); background:var(--white); display:grid; gap:17px; }.contact-form label { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid #aebfba; border-radius:2px; background:#fff; padding:11px; color:var(--ink); font:15px var(--sans); }.contact-form textarea { resize:vertical; }.contact-form .check-label { display:flex; align-items:flex-start; line-height:1.45; color:#4b5c57; font-size:12px; font-weight:500; }.check-label input { width:17px; height:17px; margin:1px 9px 0 0; accent-color:var(--teal); }.honeypot { position:absolute !important; left:-10000px !important; opacity:0 !important; }.form-status { min-height:1.4em; margin:0; color:var(--teal); font-size:13px; font-weight:700; }.form-status.error { color:#9b2b19; }.site-footer { max-width:1320px; margin:0 auto; padding:45px 34px; display:grid; grid-template-columns:1fr 1.1fr auto; gap:45px; border-top:1px solid var(--line); color:#50605b; font-size:13px; }.site-footer > div:first-child { display:flex; align-items:center; gap:10px; }.site-footer .brand-mark { color:var(--teal); }.site-footer p { margin:0; }.footer-links { display:flex; flex-direction:column; align-items:flex-end; gap:5px; color:var(--teal); font-weight:700; }.chooser-body { min-height:100vh; background:var(--teal); color:var(--paper); }.language-chooser { max-width:1050px; margin:0 auto; padding:clamp(38px,9vw,110px) 34px; }.language-chooser .brand { color:var(--paper); }.language-chooser .eyebrow { color:#a8d9cd; margin-top:70px; }.language-chooser h1 { max-width:830px; font-size:clamp(48px,8vw,105px); }.language-chooser > p:not(.eyebrow) { max-width:620px; font-size:20px; color:#d4e6df; }.language-cards { margin-top:56px; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.35); }.language-cards a { padding:26px; min-height:178px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; background:var(--teal); transition:background .2s,color .2s; }.language-cards a:hover { background:var(--terra); color:var(--ink); }.language-cards span { font:700 11px var(--mono); color:#a8d9cd; }.language-cards strong { grid-column:1; align-self:center; font-size:28px; letter-spacing:-.04em; }.language-cards small { grid-column:1; color:#d4e6df; }.language-cards b { grid-column:2; grid-row:1/4; align-self:center; font-size:28px; }.not-found { max-width:760px; margin:0 auto; padding:20vh 34px; }.not-found p { max-width:550px; color:#52635e; font-size:18px; }
@media (max-width:900px) { .header-inner { padding:0 22px; min-height:68px; }.menu-toggle { display:inline-flex; gap:8px; }.site-nav { display:none; position:absolute; top:68px; left:0; right:0; padding:22px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:11px; }.site-nav.open { display:flex; }.site-nav .language-switch { border-left:0; padding-left:0; }.hero,.section,.contact-layout { padding-left:22px; padding-right:22px; }.hero { grid-template-columns:1fr; gap:45px; min-height:auto; padding-top:72px; }.section,.profile-layout,.lab-manifesto,.contact-layout { grid-template-columns:1fr; gap:36px; }.section-ink,.section-tint { padding-left:22px; padding-right:22px; }.lab-callout { margin:0 22px 70px; padding:35px 27px; flex-direction:column; align-items:flex-start; }.page-hero { padding:70px 22px 45px; }.page-hero.narrow { margin:0; padding-left:22px; }.service-list,.credentials-list,.source-list,.process,.profile-layout,.methodology { padding-left:22px; padding-right:22px; }.empty-state { margin:0 22px 70px; padding:34px 26px; grid-template-columns:1fr; gap:25px; }.empty-number { font-size:94px; }.site-footer { margin:0; padding:32px 22px; grid-template-columns:1fr; gap:22px; }.footer-links { align-items:flex-start; }.source-list article { align-items:flex-start; flex-direction:column; gap:15px; }.contact-layout { gap:42px; }.contact-layout > div { max-width:650px; } }
@media (max-width:620px) { h1 { font-size:42px; }.hero-lede,.page-hero > p,.contact-layout > div > p { font-size:17px; }.feature-grid,.service-list,.credentials-list,.three-up,.lab-grid,.language-cards { grid-template-columns:1fr; }.signal-strip { grid-template-columns:1fr; }.signal-strip > div { border-right:0; border-bottom:1px solid currentColor; margin-right:0; }.signal-strip > div:last-child { border-bottom:0; }.process article { grid-template-columns:45px 1fr; gap:12px; }.lab-manifesto { padding:42px 22px; }.metadata-row { display:grid; grid-template-columns:1fr; }.hero-actions { align-items:stretch; }.hero-actions .button { width:100%; }.language-chooser { padding:42px 22px; }.language-chooser .eyebrow { margin-top:50px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }

@media (min-width:621px) {
  .feature-grid .feature-card:last-child:nth-child(odd),
  .service-list .feature-card:last-child:nth-child(odd) {
    grid-column:span 2;
    min-height:200px;
  }
}

@media (min-width:621px) {
  .lab-grid .feature-card:only-child {
    grid-column:span 2;
    min-height:200px;
  }
}

.lab-manifesto > div > p:not(.eyebrow) { max-width:570px; color:#d6e5e0; font-size:17px; line-height:1.5; }
.lab-manifesto li { display:grid; gap:4px; }
.lab-manifesto li strong { font-size:15px; letter-spacing:-.01em; }
.lab-manifesto li span { color:#d6e5e0; font-size:13px; line-height:1.4; }
