/* Shared Visualscapy brand layer. Scientific chart geometry remains in charts.js. */
:root {
  --navy:#0c385b; --ink:#193b51; --teal:#007d86; --accent:#00a2aa;
  --muted:#4e687b; --line:#d9e5ec; --pale:#eff6f9; --focus:#007d86;
  --dark-blue:#0c2e4a; --font-ui:Arial,Helvetica,sans-serif; font-family:var(--font-ui);
}
body { font-family:var(--font-ui); font-size:16px; font-weight:400; font-style:normal; line-height:1.65; }
button,input,textarea,select { font-family:var(--font-ui); }
.wrap { width:min(1280px,calc(100% - 80px)); }
h1,h2,h3,h4,.formula-symbol,.equations { font-family:var(--font-ui); }
h2 { font-size:clamp(28px,2.8vw,36px); letter-spacing:-.8px; }
h3 { font-size:23px; }
section,article { scroll-margin-top:165px; }
.eyebrow { color:var(--teal); font-size:12px; letter-spacing:1.7px; line-height:1.6; }
.section-lead { font-size:16px; line-height:1.6; }
.button {
  min-height:48px; padding:12px 22px; gap:13px; border:1.5px solid transparent;
  border-radius:5px; font-size:14px; font-weight:700; line-height:1.4;
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.button svg,.text-link svg { width:19px; height:19px; flex-shrink:0; }
.button.primary { background:var(--navy); color:#fff; border-color:var(--navy); box-shadow:0 5px 12px #0c385b14; }
.button.primary:hover { background:#14577d; border-color:#14577d; box-shadow:0 8px 17px #0c385b22; transform:translateY(-2px); }
.button.secondary { background:#fff; color:var(--navy); border-color:#88a9be; }
.button.secondary:hover { background:#eef6f9; border-color:var(--navy); transform:translateY(-2px); }
.button.light { background:#fff; color:var(--navy); border-color:#fff; box-shadow:0 5px 14px #00000012; }
.button.light:hover { background:#dff4f4; border-color:#dff4f4; transform:translateY(-2px); }
.button.small { min-height:40px; padding:9px 15px; font-size:13px; }
.text-link { color:var(--teal); font-size:14px; font-weight:700; line-height:1.5; gap:10px; }
.text-link:hover { text-decoration-thickness:1.5px; text-underline-offset:4px; }
.button:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
button:disabled { transform:none!important; box-shadow:none!important; }
.button:active { transform:translateY(0); }
input,textarea,select { border-radius:5px; }

/* White brand masthead and full-width navy navigation. */
.site-header { border:0; background:#fff; box-shadow:0 3px 18px #0c385b0a; }
.header-inner,
.page-home .header-inner,.page-code .header-inner,.page-survey .header-inner,
.page-documentation .header-inner,.page-about .header-inner,.page-platform .header-inner {
  width:min(1280px,calc(100% - 80px)); min-height:96px; gap:30px;
}
.brand { gap:23px; }
.brand img { width:154px; height:91px; object-fit:contain; }
.brand-info { display:flex; font-size:12px; line-height:1.6; max-width:none; letter-spacing:.1px; border-left:1px solid var(--line); padding-left:23px; }
.brand-info strong { font-size:14px; color:var(--navy); font-weight:700; }
.masthead-meta { display:flex; align-items:center; gap:25px; }
.version { margin:0; padding:5px 10px; background:#edf5f7; color:var(--navy); font-size:12px; font-weight:700; border:1px solid #dbe8ed; }
.masthead-meta .text-link { font-size:13px; }
.nav-band { background:var(--dark-blue); }
.navigation-inner { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:24px; position:relative; }
.navigation-inner #main-nav { display:flex; position:static; gap:25px; font-size:14px; font-weight:700; padding:0; color:#fff; background:transparent; border:0; box-shadow:none; }
.navigation-inner #main-nav a { padding:17px 1px 15px; border-bottom:3px solid transparent; line-height:1.5; color:#fff; }
.navigation-inner #main-nav a:hover { color:#b9eaee; }
.navigation-inner #main-nav a.active { color:#fff; border-bottom-color:#39ccd1; }
.navigation-inner #main-nav a:focus-visible,.nav-toggle:focus-visible { outline-color:#91e3e7; }
.button.nav-launch { min-height:39px; padding:8px 15px; background:#fff; color:var(--navy); border-color:#fff; font-size:13px; }
.button.nav-launch:hover { background:#dff4f4; border-color:#dff4f4; }
.nav-toggle { display:none; color:#fff; background:transparent; border:1px solid #7890a2; min-height:40px; padding:8px 12px; gap:10px; font-size:14px; font-weight:700; border-radius:4px; align-items:center; }
.nav-toggle svg { width:21px; height:21px; }
.menu-close-icon { display:none; }
.nav-toggle[aria-expanded="true"] .menu-open-icon { display:none; }
.nav-toggle[aria-expanded="true"] .menu-close-icon { display:block; }

/* Cover-inspired hero; supplied logo and exact charts remain distinct assets. */
.home-hero { position:relative; isolation:isolate; min-height:590px; display:flex; align-items:center; text-align:left; padding-block:48px 55px; }
.home-hero-copy { position:relative; z-index:1; width:49%; max-width:555px; }
.home-hero .eyebrow { margin-bottom:22px; font-size:11px; letter-spacing:1.6px; }
.home-hero h1 { font-size:clamp(38px,3.8vw,50px); line-height:1.16; font-weight:400; letter-spacing:-1px; margin-bottom:25px; }
.home-hero h1 span { color:var(--teal); }
.home-intro { margin:0; font-size:18px; line-height:1.65; color:var(--muted); max-width:430px; }
.home-actions { display:flex; justify-content:flex-start; align-items:center; gap:13px; flex-wrap:wrap; margin-top:28px; }
.hero-signature { color:var(--navy); font-size:13px; font-weight:700; margin:25px 0 0; padding-left:13px; border-left:3px solid var(--accent); }
.hero-artwork { position:absolute; right:-28px; top:0; bottom:0; width:100%; margin:0; z-index:0; }
.hero-artwork img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.hero-artwork::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#fff 0%,#fff 28%,rgba(255,255,255,.96) 40%,rgba(255,255,255,.63) 53%,rgba(255,255,255,0) 73%); }
.hero-artwork figcaption { position:absolute; z-index:1; bottom:18px; right:10px; background:#fffffff0; border:1px solid #e5eef2; border-radius:4px; padding:5px 9px; font-size:10px; color:#4a687b; line-height:1.5; }
.signature-section { background:var(--pale); border-top:1px solid #e0ebf0; border-bottom:1px solid #e0ebf0; padding-block:48px 45px; }
.signature-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:25px; }
.signature-heading .eyebrow { margin-bottom:8px; }
.signature-heading .section-lead { margin-top:10px; }
.signature-heading>.text-link { margin-bottom:5px; white-space:nowrap; }
.signature-visual { margin:0; padding:16px; border:1px solid #d5e3ea; border-radius:12px; background:#fff; box-shadow:0 10px 32px #0c385b08; }
.visual-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:2px 7px 14px; font-size:11px; font-weight:700; color:var(--navy); letter-spacing:1px; }
.badge { font-size:10px; letter-spacing:.6px; padding:5px 8px; }
.signature-visual picture { display:block; }
.signature-visual img { width:100%; height:auto; display:block; }
.signature-visual figcaption { font-size:14px; line-height:1.65; color:var(--muted); text-align:center; padding:14px 12px 2px; }

/* Three routes, distinct visual weight and consistent real action buttons. */
.routes-section { padding-block:58px 68px; }
.routes-heading { text-align:center; margin-bottom:31px; }
.routes-heading .eyebrow { justify-content:center; margin-bottom:8px; }
.routes-heading h2 { font-size:clamp(29px,3vw,36px); }
.routes-heading>p:last-child { font-size:16px; color:var(--muted); margin:12px 0 0; }
.route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.route-card { min-width:0; min-height:374px; display:flex; flex-direction:column; border:1px solid #cbdde7; border-top:4px solid #4d87b1; border-radius:10px; padding:27px 29px 29px; background:#f5f9fc; box-shadow:0 7px 22px #0c385b08; transition:border-color .2s,box-shadow .2s,transform .2s; }
.route-card:hover { border-color:#75a4bf; box-shadow:0 11px 26px #0c385b11; transform:translateY(-3px); }
.route-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
.route-icon { width:61px; height:61px; display:flex; align-items:center; justify-content:center; background:#e4eff6; border:1px solid #cfdfeb; border-radius:9px; color:#236591; flex-shrink:0; margin:0; }
.route-icon svg { width:31px; height:31px; stroke-width:1.5; }
.route-status { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.8px; line-height:1.5; }
.route-card h3 { font-size:24px; line-height:1.28; letter-spacing:-.3px; margin:0 0 16px; }
.route-card h3 span { font-size:29px; }
.route-card>p { font-size:15px; line-height:1.65; color:var(--muted); margin:0 0 23px; max-width:none; }
.route-foot { margin-top:auto; padding-top:20px; border-top:1px solid #d5e3eb; }
.route-meta { display:block; margin-bottom:15px; font-size:11px; color:#536e83; }
.route-foot .button { width:100%; justify-content:space-between; }
.route-card.route-primary { background:var(--navy); color:#fff; border-color:var(--navy); border-top-color:#37c1c8; box-shadow:0 10px 30px #0c385b20; opacity:1; }
.route-card.route-primary:hover,.route-card.route-primary:focus-within { background:var(--navy); color:#fff; border-color:#24939e; box-shadow:0 14px 32px #0c385b2a; }
.route-card.route-primary h3 { color:#fff; }
.route-card.route-primary .route-icon { background:#194b6b; color:#a6e5e9; border-color:#35617d; }
.route-card.route-primary .route-status { color:#a6e5e9; }
.route-card.route-primary>p { color:#d4e5ef; }
.route-card.route-primary .route-foot { border-color:#38617c; }
.route-card.route-primary .route-meta { color:#c7dce9; }
.route-survey { background:#f2f8f8; border-top-color:#75a9a9; }
.route-survey .route-icon { color:#417c82; background:#e3f0f1; border-color:#cbdfe2; }
.development-label { color:#516c7e; background:#e7eff3; border:1px solid #ccdce5; font-size:10px; font-weight:700; line-height:1.5; padding:5px 8px; border-radius:4px; white-space:nowrap; }

/* Readable page typography and workspace controls. */
.page-intro { padding-block:48px 34px; }
.page-title { font-size:clamp(38px,4vw,53px); letter-spacing:-1.4px; }
.page-lead { font-size:17px; line-height:1.7; max-width:780px; }
.page-platform .workspace { padding-top:38px; }
.page-platform .workspace-title { font-size:38px; letter-spacing:-1.2px; line-height:1.18; }
.local-note { font-size:12px; }
.local-note svg { width:17px; height:17px; }
.workspace-toolbar { background:#f2f7fa; padding:17px 21px; }
.dataset-meta { font-size:13px; }
.panel-label { font-size:10px; letter-spacing:.8px; }
.chart-hint { font-size:11px; }
.chart-context { margin-bottom:8px; }
.component-key button { font-size:12px; padding:6px 1px; }
.chart-footnote,.workspace-footnote,.privacy-note { font-size:13px; line-height:1.7; }
.detail-panel { background:#f6f9fb; box-shadow:0 4px 20px #0c385b04; }
.detail-heading .eyebrow { font-size:10px; }
.detail-heading h3 { font-size:26px; }
.select-component-label { font-size:13px; }
.select-component-label select { font-size:14px; padding:8px 25px 8px 12px; }
.effect-metrics span { font-size:12px; }
.effect-metrics strong { font-size:31px; }
.mechanism-badge { font-size:12px; padding:6px 10px; }
.interpretation p,.pathway-row { font-size:13px; line-height:1.7; }
.specific-effects h4 { font-size:14px; }
.data-tabs { gap:8px; }
.data-tabs button { min-height:51px; font-size:14px; padding:15px 18px; }
.settings-main>label:first-child,.checkbox-label { font-size:13px; }
.settings-main input[type=text] { font-size:14px; }
.mediator-settings { font-size:13px; }
.mediator-settings textarea,.csv-editor { font-size:13px; }
.field-hint { font-size:12px; }
.upload-zone { border-color:#95b7ca; background:#f4f9fb; padding-block:35px; }
.upload-zone strong { font-size:17px; }
.upload-zone span,.template-row p,.entry-hint,.manual-heading p { font-size:13px; }
.entry-panel>label { font-size:14px; }
.manual-table th { font-size:12px; line-height:1.4; }
.manual-table input { font-size:13px; min-height:35px; }
.validation { font-size:14px; }
.export-options { width:265px; padding:15px; }
.export-options label,.export-options select,.export-options button { font-size:13px; }
.export-options button { padding:12px 7px; }
.export-options button span { font-size:11px; }
.code-section { padding-bottom:58px; }
.download-card { padding:30px; border-radius:10px; box-shadow:0 7px 22px #0c385b06; }
.download-card h2 { font-size:27px; line-height:1.3; }
.download-card>p:not(.eyebrow),.code-quickstart p { font-size:15px; line-height:1.7; }
.download-hint,.terminal-label,.terminal-output { font-size:12px; }
.code-terminal { border-radius:8px; }
.code-terminal pre { font-size:14px; line-height:1.7; }
.download-icon { width:53px; height:53px; }
.download-icon svg { width:36px; height:36px; }
.code-quickstart h2 { font-size:29px; }
.method-note { border-radius:7px; padding:24px 26px; }
.method-note h3 { font-size:17px; }
.method-note p { font-size:14px; line-height:1.75; }
.page-documentation .docs-section { padding-top:42px; }
.page-documentation .page-title { font-size:39px; }
.docs-grid { gap:24px; }
.doc-block { padding:23px; border:1px solid var(--line); border-top:3px solid #81adbf; border-radius:8px; background:#f8fbfc; }
.doc-block+.doc-block { padding-left:23px; }
.doc-number { font-size:13px; }
.doc-block h3 { font-size:21px; }
.doc-block p,.doc-details,.doc-details>div { font-size:15px; line-height:1.75; }
.equations { font-size:22px; gap:12px; }
.survey-card h3 { font-size:19px; }
.survey-card h3 a { display:inline-flex; align-items:center; gap:9px; }
.survey-card h3 svg { width:19px; height:19px; }
.survey-card p { font-size:14px; }
.companion-tag { font-size:10px; }
.survey-intro { padding-block:43px 48px; gap:50px; }
.survey-intro .page-title { font-size:55px; }
.survey-intro .page-lead { font-size:17px; }
.survey-intro-copy>.eyebrow { font-size:11px; }
.survey-intro-copy>p:not(.eyebrow):not(.page-lead) { font-size:15px; line-height:1.7; }
.prominent.development-label { font-size:12px; }
.survey-illustration { border:1px solid #d7e5eb; border-radius:12px; }
.preview-topline { font-size:10px; letter-spacing:1px; }
.survey-preview-card p { font-size:10px; }
.survey-plan h2 { font-size:30px; }
.survey-feature-grid h3 { font-size:22px; }
.survey-feature-grid p,.survey-status-note p { font-size:15px; line-height:1.75; }
.survey-status-note { border-radius:0 6px 6px 0; }
.page-about .about-section { min-height:560px; padding-block:48px 60px; }
.page-about .page-title { font-size:49px; }
.about-subtitle { font-size:16px!important; }
.about-section p { font-size:15px; line-height:1.75; }
.about-section .authors { font-size:17px; }
.citation-block h3 { font-size:23px; }
.citation-block>p:first-of-type { font-size:16px; line-height:1.75; }
.citation-actions .text-link,.citation-block .doi-note,.citation-block details { font-size:13px; }
.citation-block pre { font-size:12px; }
.toast { font-size:14px; }

/* Academic footer with the two supplied logos, preserved on white surfaces. */
.site-footer { display:block; width:100%; margin:0; padding:0; background:var(--dark-blue); color:#d4e3ed; border-top:4px solid #098a9b; font-size:14px; }
.site-footer a { color:#e0edf5; }
.site-footer a:hover { color:#b5f0f1; text-decoration:underline; text-underline-offset:4px; }
.site-footer a:focus-visible { outline-color:#91e3e7; }
.footer-main { display:grid; grid-template-columns:1.7fr .85fr .95fr 1fr; gap:45px; padding-block:43px 32px; }
.footer-brand>a { display:block; color:#fff; font-size:30px; font-weight:700; letter-spacing:-.5px; line-height:1.2; }
.footer-brand>a span { display:block; margin-top:12px; font-size:10px; font-weight:700; color:#9dcad9; letter-spacing:1.9px; }
.footer-brand p { max-width:325px; font-size:14px; line-height:1.7; margin:19px 0 0; color:#c3d7e4; }
.footer-column h2 { font-size:14px; letter-spacing:.2px; color:#fff; margin:5px 0 16px; }
.footer-column>a { display:block; width:max-content; max-width:100%; font-size:14px; margin-block:9px; line-height:1.5; }
.footer-column p { font-size:13px; line-height:1.9; margin:0; }
.footer-status { display:block; font-size:10px; color:#a9d3dc; line-height:1.5; }
.footer-affiliation { border-top:1px solid #36556d; padding-block:26px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.footer-affiliation p { margin:0; font-size:14px; line-height:1.7; color:#d8e7f0; }
.footer-affiliation .footer-label { color:#9dcad9; font-size:10px; font-weight:700; letter-spacing:1.4px; margin-bottom:8px; }
.institution-logos { display:flex; gap:15px; align-items:center; }
.institution-logo { background:#fff; border-radius:4px; padding:12px 18px; height:87px; display:flex; align-items:center; justify-content:center; }
.institution-logo img { display:block; object-fit:contain; height:100%; width:auto; max-width:100%; }
.university-logo { width:177px; }
.lab-logo { width:287px; }
.footer-base { border-top:1px solid #36556d; display:flex; justify-content:space-between; align-items:center; gap:25px; padding-block:18px 21px; font-size:11px; line-height:1.5; color:#aec6d6; }
.footer-base>a { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.footer-base svg { width:15px; height:15px; }

@media (max-width:1150px) {
  .wrap,.header-inner,.page-home .header-inner,.page-code .header-inner,.page-survey .header-inner,.page-documentation .header-inner,.page-about .header-inner,.page-platform .header-inner { width:calc(100% - 48px); }
  .brand-info { display:flex; }
  .navigation-inner #main-nav { gap:18px; font-size:13px; }
  .home-hero { min-height:550px; }
  .home-hero-copy { width:50%; }
  .home-intro { font-size:17px; max-width:400px; }
  .home-actions { gap:12px; }
  .home-actions .button { padding-inline:16px; font-size:13px; }
  .hero-artwork { right:-16px; width:100%; }
  .route-grid { gap:18px; }
  .route-card { padding:24px; }
  .route-card-top { gap:8px; }
  .route-icon { width:49px; height:49px; }
  .route-status { font-size:8px; }
  .route-card .development-label { font-size:9px; padding:4px 6px; }
  .route-meta { font-size:10px; }
  .footer-main { gap:27px; }
  .footer-affiliation { gap:25px; }
  .institution-logo { height:78px; padding:11px 14px; }
  .university-logo { width:153px; }
  .lab-logo { width:251px; }
}
@media (max-width:940px) {
  .brand-info { display:none; }
  .navigation-inner #main-nav { gap:15px; font-size:12px; }
  .button.nav-launch { font-size:12px; padding-inline:12px; }
  .home-hero { min-height:510px; }
  .home-hero h1 { font-size:40px; }
  .home-intro { font-size:16px; max-width:345px; }
  .home-hero .eyebrow { font-size:9px; letter-spacing:1px; }
  .home-actions { max-width:340px; }
  .hero-artwork figcaption { font-size:9px; max-width:240px; text-align:center; }
  .route-grid { gap:15px; }
  .route-card { padding:22px 20px; }
  .route-card h3 { font-size:21px; }
  .route-card h3 span { font-size:27px; }
  .route-card>p { font-size:14px; }
  .route-card-top { flex-wrap:wrap; gap:11px; }
  .route-card .button { font-size:12px; padding-inline:13px; }
  .footer-main { grid-template-columns:1.4fr 1fr 1fr; gap:30px; }
  .footer-authors { grid-column:1/-1; border-top:1px solid #36556d; padding-top:20px; }
  .footer-affiliation { flex-direction:column; align-items:flex-start; }
}
@media (max-width:850px) {
  .header-inner,.page-home .header-inner,.page-code .header-inner,.page-survey .header-inner,.page-documentation .header-inner,.page-about .header-inner,.page-platform .header-inner { min-height:80px; }
  .brand img { width:126px; height:75px; }
  .masthead-meta { gap:15px; }
  .navigation-inner { min-height:55px; }
  .nav-toggle { display:flex; }
  .navigation-inner #main-nav { display:none; position:absolute; top:100%; left:-24px; right:-24px; background:var(--dark-blue); border-top:1px solid #385d76; border-bottom:2px solid var(--accent); box-shadow:0 13px 18px #0c385b20; padding:12px 24px; font-size:15px; z-index:2; }
  .navigation-inner #main-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .navigation-inner #main-nav a { padding:12px 4px; border-bottom-width:2px; }
  .navigation-inner #main-nav a.active { color:#a5e4e7; border-bottom-color:#466b83; }
  .signature-heading { align-items:flex-start; flex-direction:column; gap:17px; }
  .signature-heading>.text-link { margin:0; }
  .docs-grid { grid-template-columns:1fr; gap:20px; }
  .doc-block+.doc-block { border:1px solid var(--line); border-top:3px solid #81adbf; padding:23px; }
  .doc-block p { max-width:none; }
  .code-quickstart { gap:25px; }
  .survey-feature-grid { gap:22px; }
  .survey-intro .page-title { font-size:48px; }
  .page-about .about-section { min-height:auto; }
  .page-about .about-grid { width:calc(100% - 48px); }
}
@media (max-width:680px) {
  .home-hero { display:grid; min-height:0; padding-block:35px 0; gap:0; }
  .home-hero-copy { width:100%; max-width:600px; }
  .home-hero .eyebrow { font-size:10px; letter-spacing:1px; margin-bottom:15px; }
  .home-hero h1 { font-size:43px; margin-bottom:20px; }
  .home-intro { max-width:470px; font-size:17px; }
  .home-actions { max-width:none; margin-top:23px; }
  .home-actions .button { font-size:13px; }
  .hero-signature { margin-top:20px; font-size:12px; }
  .hero-artwork { position:relative; inset:auto; width:calc(100% + 48px); margin:12px -24px 0; height:auto; aspect-ratio:1672/941; }
  .hero-artwork img { display:block; object-fit:contain; }
  .hero-artwork::after { display:none; }
  .hero-artwork figcaption { right:18px; bottom:12px; max-width:none; font-size:9px; }
  .signature-section { padding-block:32px; }
  .signature-heading h2 { font-size:30px; }
  .signature-heading .section-lead { font-size:15px; }
  .signature-visual { padding:11px; border-radius:9px; }
  .visual-caption { font-size:9px; letter-spacing:.5px; gap:10px; }
  .signature-visual figcaption { font-size:12px; padding:12px 5px 0; }
  .routes-section { padding-block:37px 43px; }
  .routes-heading h2 { font-size:30px; }
  .routes-heading>p:last-child { font-size:15px; }
  .route-grid { grid-template-columns:1fr; gap:20px; }
  .route-card { min-height:0; padding:26px; }
  .route-card-top { flex-wrap:nowrap; margin-bottom:19px; }
  .route-icon { width:58px; height:58px; }
  .route-status { font-size:10px; }
  .route-card .development-label { font-size:10px; }
  .route-card h3 { font-size:24px; }
  .route-card h3 br { display:none; }
  .route-card h3 span { font-size:26px; margin-left:5px; }
  .route-card>p { font-size:15px; margin-bottom:21px; }
  .route-meta { font-size:12px; }
  .route-card .button { font-size:14px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:30px 25px; padding-block:32px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand p { max-width:460px; }
  .footer-authors { grid-column:1/-1; }
  .footer-base { flex-wrap:wrap; gap:13px; }
  .footer-base>span:nth-child(2) { order:3; width:100%; }
  .institution-logos { width:100%; gap:12px; }
  .university-logo { width:36%; }
  .lab-logo { width:64%; }
}
@media (max-width:540px) {
  .wrap,.header-inner,.page-home .header-inner,.page-code .header-inner,.page-survey .header-inner,.page-documentation .header-inner,.page-about .header-inner,.page-platform .header-inner { width:calc(100% - 32px); }
  .header-inner,.page-home .header-inner,.page-code .header-inner,.page-survey .header-inner,.page-documentation .header-inner,.page-about .header-inner,.page-platform .header-inner { min-height:73px; }
  .brand img { width:115px; height:68px; }
  .page-home .brand-info { display:none; }
  .masthead-meta .text-link { display:none; }
  .version { font-size:11px; padding:4px 8px; }
  .navigation-inner #main-nav { left:-16px; right:-16px; padding-inline:16px; }
  .home-hero h1 { font-size:37px; letter-spacing:-.6px; }
  .home-intro { font-size:16px; }
  .hero-artwork { width:calc(100% + 32px); margin-inline:-16px; }
  .home-actions .button { min-height:47px; padding-inline:15px; }
  .home-hero .eyebrow { font-size:9px; }
  .signature-heading h2,.routes-heading h2 { font-size:29px; }
  .visual-caption { flex-direction:column; gap:8px; align-items:flex-start; padding-bottom:12px; }
  .badge { font-size:9px; }
  .signature-visual { padding-inline:5px; }
  .routes-heading .eyebrow { font-size:10px; }
  .route-card h3 { font-size:22px; }
  .route-card h3 span { font-size:25px; }
  .route-card { padding:24px; }
  .page-title { font-size:36px; }
  .page-lead { font-size:16px; }
  .page-intro { padding-block:33px 25px; }
  .page-platform .workspace-title { font-size:30px; }
  .page-platform .workspace { padding-top:29px; }
  .workspace-toolbar { padding:15px; }
  .dataset-meta { font-size:12px; }
  .chart-context { gap:10px; }
  .panel-label { font-size:9px; letter-spacing:.4px; }
  .chart-hint { font-size:10px; }
  .component-key button { font-size:11px; }
  .effect-metrics span { font-size:10px; }
  .effect-metrics strong { font-size:25px; }
  .detail-heading h3 { font-size:24px; }
  .detail-panel { padding:20px 17px; }
  .data-tabs { gap:0; }
  .data-tabs button { font-size:13px; padding-inline:12px; }
  .section-lead { font-size:15px; }
  .upload-zone strong { font-size:15px; }
  .upload-zone span { font-size:12px; }
  .settings-main>label:first-child { font-size:13px; }
  .field-hint { margin-left:0; }
  .code-terminal pre { font-size:12px; }
  .page-documentation .page-title { font-size:31px; }
  .doc-block,.doc-block+.doc-block { padding:21px; }
  .doc-block h3 { font-size:22px; }
  .method-note { padding:20px 18px; }
  .method-note h3 { font-size:16px; }
  .survey-card { padding:20px; }
  .survey-intro .page-title { font-size:47px; }
  .survey-plan h2 { font-size:28px; }
  .page-about .about-grid { width:calc(100% - 32px); }
  .page-about .page-title { font-size:39px; }
  .about-section .authors { font-size:17px; }
  .citation-block>p:first-of-type { font-size:15px; }
  .institution-logo { padding:10px; height:68px; }
  .footer-affiliation { gap:22px; }
  .footer-affiliation p { font-size:13px; }
  .footer-main { gap:28px 22px; }
  .footer-column>a { font-size:13px; }
  section,article { scroll-margin-top:145px; }
}
@media (prefers-reduced-motion:reduce) {
  .button,.route-card { transition:none; }
  .button:hover,.route-card:hover { transform:none; }
}
