/* Fizyka jest ciekawa v2.1 WORK. Local assets and system fonts only. */
:root {
  --navy: #102139; --deep: #0b172a; --ink: #172c45; --muted: #50647a;
  --cyan: #5cd9d1; --blue: #83bcff; --orange: #eeb27a;
  --paper: #ffffff; --pale: #f1f5f9; --line: #d6e0eb;
  --sans: 'Segoe UI', Arial, sans-serif; --serif: Georgia, 'Times New Roman', serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.8 var(--sans); -webkit-font-smoothing: antialiased; }
body.viewer-open { overflow: hidden; }
a { color: inherit; text-underline-offset: 5px; }
button, input, select { font: inherit; }
button { color: inherit; cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
figure, blockquote { margin: 0; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-weight: 600; }
h2 { font-size: clamp(32px,3.6vw,51px); line-height: 1.18; letter-spacing: -1.8px; margin-bottom: 26px; }
h2 em { color: #226f84; font-style: normal; font-weight: 400; }
h3 { font-size: 23px; line-height: 1.35; letter-spacing: -.4px; }
p { margin-bottom: 22px; }
strong { font-weight: 600; }
::selection { background: #b9e9e6; color: #102139; }
[hidden] { display: none !important; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline: 3px solid #a95212; outline-offset: 5px; }
.dark-section a:focus-visible,.dark-section button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible { outline-color: var(--orange); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-160%);background:white;color:var(--ink);padding:12px 20px; }
.skip-link:focus { transform:none; }
.reading-progress { position:fixed;top:0;left:0;height:3px;background:var(--cyan);z-index:120;width:0;pointer-events:none; }
.wrap { width: min(1280px,100%); margin: 0 auto; padding-left: 48px; padding-right: 48px; }
.section { padding-top: 94px; padding-bottom: 94px; }
.eyebrow,.section-label { font-size: 12px; line-height: 1.6; font-weight: 600; letter-spacing: 1.7px; }
.section-label { display:flex;align-items:center;gap:13px;margin-bottom:24px;color:#4d6480; }
.section-label>span { display:grid;place-items:center;min-width:31px;height:31px;border:1px solid #a9c4d7;font-size:12px;letter-spacing:0;color:#246f84; }
.lead { font-size:21px;line-height:1.65; }
.button { display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 21px;min-height:48px;background:var(--navy);border:1px solid var(--navy);border-radius:3px;color:white;text-decoration:none;font-size:14px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s; }
.button>span { font-size:23px;line-height:1; }
.button:hover { background:#244763;transform:translateY(-2px); }
.button-outline { background:transparent;color:var(--ink); }
.button-outline:hover { color:white; }
.text-link { display:inline-flex;gap:25px;align-items:center;min-height:44px;border-bottom:1px solid #9bb4c5;padding:5px 0;text-decoration:none;font-size:14px;font-weight:600; }
.text-link>span { font-size:22px; }
.pale-section { background:var(--pale); }
.dark-section { background:var(--navy);color:#f4f7fc; }
.dark-section p { color:#c4d1e0; }
.dark-section h2 em { color:var(--cyan); }
.dark-section .section-label { color:#b5cde0; }
.dark-section .section-label>span { border-color:#5a778e;color:var(--cyan); }
.dark-section .text-link { color:#d4f4f0;border-color:#5d8893; }
.dark-section .button { background:var(--cyan);color:var(--deep);border-color:var(--cyan); }
.dark-section .button:hover { background:#9ae8e2; }
.section-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { color:var(--muted);font-size:15px;max-width:320px;margin-bottom:3px; }
.section-foot { display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px; }
.section-foot>p { max-width:720px;font-size:14px;line-height:1.8;margin:0;color:var(--muted); }
.section-foot>.text-link { flex-shrink:0; }
.dark-section .section-foot { border-color:#36516d; }
.dark-section .section-foot>p { color:#c4d1e0; }
.source-note { font-size:13px;line-height:1.85;color:var(--muted);padding-top:24px;margin:28px 0 0;border-top:1px solid var(--line); }
.photo-expand { position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;background:#fffffff2;color:var(--navy);display:grid;place-items:center;font-size:23px; }
figure>a { display:block;position:relative;overflow:hidden; }
figcaption { font-size:13px;line-height:1.65;color:var(--muted);margin-top:12px; }

/* Navigation */
.site-header { display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px max(32px,calc((100vw - 1184px)/2));background:var(--deep);color:white;border-bottom:1px solid #314058;position:relative;z-index:40; }
.brand { text-decoration:none;display:flex;align-items:center;gap:13px;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:.3px;flex-shrink:0; }
.brand svg { width:40px;height:40px;fill:none;stroke:var(--cyan);stroke-width:1.1; }
.brand svg circle { fill:var(--cyan);stroke:none; }
.brand small { display:block;margin-top:6px;font-size:10px;letter-spacing:1.2px;color:#b6c8da;font-weight:400; }
.site-header nav { display:flex;align-items:center;gap:25px; }
.site-header nav a { font-size:13px;text-decoration:none;color:#d8e2ee;padding:9px 0;white-space:nowrap;min-height:44px; }
.site-header nav a:hover { color:var(--cyan); }
.menu-toggle { display:none;border:1px solid #617289;border-radius:3px;width:46px;height:46px;background:transparent;padding:11px; }
.menu-toggle>span:not(.sr-only) { width:22px;height:2px;display:block;margin:5px 0;background:#d3edf1; }

/* New opening */
.hero { overflow:hidden;background:var(--deep);color:#f6f9fe;position:relative; }
.hero:before { content:'';position:absolute;inset:0;opacity:.19;background-image:linear-gradient(#6c8caa33 1px,transparent 1px),linear-gradient(90deg,#6c8caa33 1px,transparent 1px);background-size:80px 80px;pointer-events:none; }
.hero-grid { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding-top:77px;padding-bottom:76px;position:relative; }
.hero .eyebrow { color:#b5c8df;font-size:11px;display:flex;align-items:center;gap:11px;margin-bottom:30px; }
.status-dot { width:7px;height:7px;border-radius:50%;background:var(--orange); }
.hero h1 { font-size:clamp(51px,5.9vw,84px);line-height:1.03;letter-spacing:-3.5px;margin-bottom:26px;font-weight:650; }
.hero h1 em { font-style:normal;color:var(--cyan); }
.hero-subtitle { font-size:23px;line-height:1.45;font-weight:400;color:#e9f0fa;margin-bottom:21px; }
.hero-description { font-size:15px;line-height:1.85;color:#b9c9dd;max-width:430px; }
.hero-actions { display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0 31px; }
.hero .button { background:var(--cyan);color:var(--deep);border-color:var(--cyan);font-size:13px;padding:13px 17px;gap:18px; }
.hero .button:hover { background:#9ae8e2; }
.hero .button-ghost { background:transparent;color:#ecf6fc;border-color:#7a8c9f; }
.hero-third { font-size:13px;color:#d6e4f1;min-height:44px;display:inline-flex;align-items:center;gap:9px;text-decoration:none;padding:8px 0; }
.hero-author { font-size:12px;color:#a9bed5;margin-bottom:0; }
.hero-author>span { color:#eef7ff;display:block;font:italic 25px/1.5 var(--serif);margin-bottom:3px; }
.hero-visual { position:relative;min-width:0;padding-top:12px; }
.hero-visual figure { position:relative;z-index:2;background:#142b43;border:1px solid #42677d;box-shadow:20px 20px 0 #1a43514d; }
.hero-visual img { width:100%;aspect-ratio:4/3;object-fit:cover; }
.hero-visual figcaption { padding:14px 17px;margin:0;font-size:12px;color:#d4e4ed;display:flex;justify-content:space-between;gap:15px; }
.hero-visual figcaption>span { color:#b3ccdc; }
.visual-label { position:relative;z-index:3;display:block;width:max-content;max-width:100%;padding:10px 14px;background:#213b50;border-left:3px solid var(--orange);font-size:10px;letter-spacing:1.2px;margin:21px 0 0 28px;color:#d8e7f2; }
.visual-label b { color:var(--cyan);font-weight:400;padding:0 8px; }
.hero-year { position:absolute;right:-40px;top:-75px;font-size:98px;line-height:.9;color:#4c728529;font-weight:650;letter-spacing:-7px;z-index:1; }
.hero-year>span { margin-left:65px; }
.hero-bottom { position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #34475e;padding-top:18px;padding-bottom:18px;color:#b5cadd;font-size:11px;letter-spacing:1px; }
.hero-bottom>a { text-decoration:none;letter-spacing:.1px;font-size:13px; }
.hero-bottom>a>span { margin-left:14px;color:var(--cyan); }
.hero-bottom>span:last-child { letter-spacing:0;color:#ccd9e5; }

/* Story */
.intro-grid { display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:95px; }
.intro-grid>div>p:not(.lead) { color:var(--muted);font-size:16px; }
.archive-quote { border-top:3px solid #258b99;background:var(--pale);padding:33px 31px; }
.archive-quote .eyebrow { font-size:11px;color:#476a80; }
.archive-quote blockquote { font:italic 28px/1.5 var(--serif);margin:26px 0;color:#213d55; }
.archive-quote>p:not(.eyebrow) { font-size:14px;color:var(--muted); }
.archive-quote>a { display:block;font-size:12px;text-decoration:none;border-top:1px solid #bacfda;padding-top:17px; }
.archive-quote>a>span { float:right; }
.classroom-grid { display:grid;grid-template-columns:1.2fr .8fr;gap:35px; }
.classroom-grid img { width:100%; }
.classroom-grid figcaption { color:#b6cddd; }
.classroom-side figure img { aspect-ratio:1.65;object-fit:cover; }
.classroom-side blockquote { font:italic 27px/1.45 var(--serif);color:#b9f0eb;margin:27px 0 15px; }
.classroom-side .text-link { font-size:13px; }
.timeline-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }
.timeline-grid article { border-top:1px solid #9ebccd;padding-top:19px; }
.timeline-year { font-size:65px;letter-spacing:-4px;line-height:1.1;color:#246a82;margin-bottom:28px;font-weight:400; }
.timeline-grid h3 { font-size:23px; }
.timeline-grid p:not(.timeline-year) { color:var(--muted);font-size:15px; }
.timeline-grid a { display:inline-flex;align-items:center;gap:15px;min-height:44px;text-decoration:none;font-size:14px;border-bottom:1px solid #b4c9d6; }
.sonda-section { background:#10253c; }
.sonda-grid { display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center; }
.sonda-grid>.lead { font-size:20px; }
.apparatus-photo { border:1px solid #4c6f87;padding:12px;background:#183047; }
.apparatus-photo img { width:100%; }
.apparatus-photo figcaption { color:#bed0df;font-size:12px; }
.equipment-tabs { display:flex;gap:14px;border-bottom:1px solid #587188;margin:26px 0 20px; }
.equipment-tabs button { min-height:44px;background:transparent;border:0;border-bottom:3px solid transparent;color:#c0d2e1;font-size:14px;padding:8px 10px; }
.equipment-tabs button[aria-pressed=true] { color:var(--cyan);border-color:var(--cyan); }
.equipment-description { min-height:160px; }
.equipment-description h3 { font-size:23px; }
.equipment-description p { font-size:15px; }
.research-flow { list-style:none;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:0 0 32px;counter-reset:research; }
.research-flow li { counter-increment:research;font-size:13px;display:flex;align-items:center;gap:10px; }
.research-flow li:before { content:'0' counter(research);font-size:11px;color:#287087; }
.experiment-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.experiment-card { display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:white;padding:28px 25px;border-top:3px solid #318394;transition:transform .2s; }
.experiment-card:hover { transform:translateY(-4px); }
.experiment-card .eyebrow { font-size:10px;color:#506e88;letter-spacing:1.2px; }
.experiment-card h3 { font-size:24px; }
.experiment-card p:not(.eyebrow) { font-size:14px;color:var(--muted); }
.experiment-card a { margin-top:auto;display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:44px;font-size:14px;text-decoration:none;font-weight:600; }
.lecture-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:88px; }
.lecture-grid>div>p { color:var(--muted); }
.lecture-photo { margin-top:30px; }
.lecture-photo img { width:100%; }
.lecture-grid .text-link { margin-top:12px; }
.events-toolbar { display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9db5c8;gap:15px;padding-bottom:14px; }
.events-toolbar>span { font-size:11px;letter-spacing:1.3px; }
.events-toolbar>div { display:flex;gap:3px; }
.events-toolbar button { border:1px solid transparent;background:transparent;min-height:44px;min-width:57px;font-size:14px; }
.events-toolbar button[aria-pressed=true] { background:var(--navy);color:white; }
.events details { border-bottom:1px solid #c6d4df; }
.events summary { list-style:none;display:flex;align-items:center;gap:19px;min-height:72px;padding:18px 0; }
.events summary::-webkit-details-marker { display:none; }
.events summary time { flex-basis:50px;flex-shrink:0;font-size:18px;color:#26718b; }
.events summary>span:nth-child(2) { flex:1;line-height:1.45;font-size:17px;font-weight:600; }
.events summary small { display:block;font:12px/1.7 var(--sans);color:var(--muted);margin-top:4px; }
.details-plus { font-size:25px;color:#44738b; }
.events details[open] .details-plus { transform:rotate(45deg); }
.events details>p { margin:0 10px 24px 69px;font-size:14px;color:var(--muted); }
.visitor-intro { max-width:390px; }
.visitor-intro p { font-size:15px;color:var(--muted);margin-top:16px;margin-bottom:0; }
.date-chip { display:inline-block;border:1px solid #8daabd;color:#2c6179;font-size:12px;letter-spacing:1px;padding:6px 12px; }
.visitor-photos { display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start; }
.visitor-photos img { width:100%; }
.visitor-photos>figure:last-child { margin-top:45px; }

/* Unified album */
.gallery-controls { display:flex;flex-wrap:wrap;gap:9px;padding:0 0 24px;margin-bottom:29px;border-bottom:1px solid #c5d4e1; }
.gallery-controls button { background:transparent;border:1px solid #a4bbce;padding:10px 13px;min-height:44px;border-radius:3px;font-size:13px;line-height:1.45; }
.gallery-controls button span { margin-left:9px;font-size:11px; }
.gallery-controls button[aria-pressed=true] { background:var(--navy);color:white;border-color:var(--navy); }
.gallery-controls button:hover { border-color:#1c7691; }
.gallery-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px; }
.gallery-card { min-width:0; }
.gallery-card>a { background:#dae3ed;border:1px solid #c9d6e3; }
.gallery-card img { width:100%;aspect-ratio:4/3;object-fit:contain;transition:transform .4s; }
.gallery-card a:hover img { transform:scale(1.025); }
.gallery-card figcaption { color:#213c53;line-height:1.5;font-size:13px; }
.gallery-card small { display:block;color:#50647a;font-size:12px;margin-top:5px; }
.gallery-card .photo-expand { width:30px;height:30px;font-size:18px;right:8px;bottom:8px; }
.gallery-bottom { display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:30px;border-top:1px solid var(--line);padding-top:24px; }
.gallery-bottom>p { font-size:14px;color:var(--muted);margin:0; }
.gallery-bottom>.text-link { font-size:13px; }
.photo-notice { border-left:3px solid #b66b30;padding:13px 20px;background:#fff1df;color:#5d3b22;margin-top:20px;font-size:15px; }
.documents-section { display:grid;grid-template-columns:1fr 1fr;gap:150px;align-items:center; }
.documents-section>div>p { max-width:460px;color:var(--muted); }
.document-preview { display:block;background:#f4f7fb;padding:35px;border:1px solid #b9cddd;border-top:4px solid #438f9e;text-decoration:none;transform:rotate(-2deg); }
.document-preview .eyebrow { color:#496c85;font-size:11px; }
.document-preview h3 { font-size:29px;margin:22px 0; }
.document-preview blockquote { font:italic 25px/1.5 var(--serif);color:#31556b;margin-bottom:25px; }
.document-preview>span:last-child { border-top:1px solid #b1c7d7;padding-top:16px;display:flex;justify-content:space-between;font-size:13px; }
.epilogue-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center; }
.epilogue-grid figure { border:12px solid white;background:white;box-shadow:0 10px 30px #1830470d; }
.epilogue-grid figure img { width:100%; }
.epilogue-grid figcaption { padding:7px 5px 10px;font:italic 20px var(--serif);color:#496b7e; }
.epilogue h2 { font-size:41px; }
.epilogue p { color:var(--muted); }
.epilogue .dedication { font:italic 23px/1.5 var(--serif);color:#335c73;margin:30px 0; }
.signature { font:italic 28px/1.5 var(--serif);color:var(--ink)!important; }
.signature>span { display:block;font:12px/1.7 var(--sans);margin-top:3px;color:var(--muted); }

/* Secondary pages and learning cards */
.inner-header { padding-bottom:34px;border-bottom:1px solid var(--line);margin-bottom:38px; }
.inner-header h1 { font-size:clamp(38px,5vw,65px);line-height:1.13;letter-spacing:-2.4px;margin:21px 0 25px; }
.inner-header h1 em { color:#276e85;font-style:normal;font-weight:400; }
.inner-header .eyebrow { color:#486b84; }
.inner-header .lead { max-width:860px;font-size:19px;color:var(--muted); }
.inner-page .section { padding-top:45px; }
.breadcrumb { display:inline-flex;align-items:center;gap:13px;font-size:14px;margin-bottom:29px;min-height:44px;text-decoration:none;color:#456b83; }
.document-list { display:grid;grid-template-columns:repeat(2,1fr);gap:24px; }
.document-card { display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);background:var(--pale); }
.document-card .eyebrow { font-size:11px;color:#486a82; }
.document-card h2 { font-size:28px;letter-spacing:-.7px;margin:20px 0; }
.document-card>p { color:var(--muted);font-size:15px; }
.document-card a { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:auto;min-height:44px;text-decoration:none;font-size:14px;font-weight:600; }
.archive-explainer { color:var(--muted);font-size:14px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px; }
.document-article { max-width:920px;margin:0 auto;padding:44px 48px 90px; }
.document-article .inner-header h1 { font-size:48px; }
.document-article h2 { font-size:30px;letter-spacing:-.7px;margin-top:38px;margin-bottom:20px; }
.document-article blockquote { padding-left:24px;border-left:3px solid #4898a4;font:21px/1.9 var(--serif);color:#2d4c63; }
.document-article section>p { color:var(--muted); }
.document-source { font-size:13px;line-height:1.9;border-top:1px solid var(--line);padding-top:23px;margin-top:38px;overflow-wrap:anywhere;color:var(--muted); }
.document-tools { display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:27px; }
.document-tools button { background:var(--pale);border:1px solid #8da8bd;padding:10px 16px;min-height:44px;border-radius:3px;font-size:14px; }
.document-tools a { font-size:14px; }
.about-content { max-width:900px; }
.about-content h2 { font-size:30px;letter-spacing:-.6px;margin-top:38px; }
.about-content p { color:var(--muted); }
.version-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:35px 0; }
.version-item { border-top:3px solid #277b90;padding:26px;background:var(--pale); }
.version-item .eyebrow { font-size:12px;color:#40708c; }
.version-item p { margin:0;color:var(--muted);font-size:15px; }
.sonda-intro { display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center; }
.sonda-intro p { color:var(--muted); }
.sonda-intro img { width:100%; }
.method-comparison { display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px; }
.method-comparison article { border-top:1px solid #a3bdcf;padding-top:24px; }
.method-comparison p { color:var(--muted); }
.learning-note { border-left:3px solid #398c9d;padding:18px 22px;background:var(--pale);font-size:15px;color:#3e5a71;margin-bottom:28px; }
.experiment-toolbar { display:flex;flex-wrap:wrap;gap:9px;margin:30px 0; }
.experiment-toolbar button { border:1px solid #9cb4c7;min-height:44px;background:white;padding:9px 16px;border-radius:3px;font-size:14px; }
.experiment-toolbar button[aria-pressed=true] { background:var(--navy);color:white; }
.experiment-detail { display:grid;grid-template-columns:220px minmax(0,1fr);gap:65px;align-items:start; }
.lesson-toc { position:sticky;top:24px;border-top:3px solid #307b8f;padding-top:18px; }
.lesson-toc>p { font-size:12px;letter-spacing:1px;font-weight:600; }
.lesson-toc a { display:block;padding:8px 0;font-size:14px;line-height:1.5;text-decoration:none; }
.lesson-body { min-width:0;max-width:850px; }
.lesson-body section { padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px;scroll-margin-top:25px; }
.lesson-body h2 { font-size:29px;letter-spacing:-.7px;margin:0 0 20px; }
.lesson-body p,.lesson-body li { color:#405a70;font-size:16px; }
.lesson-body li { margin-bottom:10px; }
.lesson-body ul,.lesson-body ol { padding-left:25px; }
.formula { background:var(--pale);border-left:3px solid #3e8a9b;padding:14px 18px;font:20px/1.7 var(--serif);overflow-wrap:anywhere; }
.diagram { width:100%;background:var(--pale);border:1px solid #d5e1ea;padding:12px;margin:25px 0; }
.diagram svg { display:block;max-width:100%;height:auto;width:100%; }
.diagram figcaption { font-size:12px;margin:5px 8px; }
.science-sources { font-size:14px;color:var(--muted);padding-left:23px; }
.science-sources li { margin-bottom:12px;overflow-wrap:anywhere; }
.model { background:var(--navy);color:#e9f4fb;padding:35px;margin-top:55px; }
.model h2 { color:white;font-size:33px;letter-spacing:-1px; }
.model>p { color:#c6d6e5;max-width:800px;font-size:15px; }
.model .eyebrow { color:var(--cyan);font-size:11px; }
.model-grid { display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center; }
.model label { display:block;font-size:15px;margin-bottom:10px; }
.model input[type=range] { width:100%;accent-color:var(--cyan);min-height:35px;margin:0 0 22px; }
.model output { display:block;padding:17px 0;border-top:1px solid #587388;color:var(--cyan);font-size:26px; }
.model svg { display:block;width:100%;height:auto;background:#142b43; }
.model figcaption { color:#ccdeea;font-size:13px; }
.model .model-note { font-size:13px;color:#c4d5e5;margin:22px 0 0; }

/* Footer */
.site-footer { background:var(--deep);color:#edf4fc;padding:48px max(32px,calc((100vw - 1184px)/2)) 28px; }
.footer-main { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:35px;border-bottom:1px solid #334a61; }
.footer-brand { font-size:17px;font-weight:600;text-decoration:none; }
.footer-brand>span { display:block;font:italic 22px/1.6 var(--serif);color:var(--cyan);margin-top:5px; }
.footer-main>div>p { font-size:12px;line-height:1.9;color:#b9cddd;margin:20px 0 0; }
.footer-main h2 { font-size:14px;letter-spacing:0;line-height:1.6;margin:0 0 16px; }
.footer-main>div>a:not(.footer-brand) { display:block;min-height:42px;color:#bfd1e1;font-size:13px;text-decoration:none;padding:7px 0; }
.footer-bottom { display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:25px; }
.footer-bottom>p { font-size:12px;color:#b6cadc;margin:0; }
.footer-bottom>a { font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:25px; }

/* Full-frame viewer */
.lightbox { position:fixed;inset:0;margin:0;padding:0;border:0;max-width:none;max-height:none;width:100%;height:100%;background:#091423fa;color:white;overflow:hidden; }
.lightbox::backdrop { background:#091423; }
.viewer { height:100%;display:flex;flex-direction:column; }
.viewer-toolbar { display:flex;justify-content:space-between;align-items:center;padding:10px 23px;border-bottom:1px solid #3b526b;gap:20px;flex-shrink:0; }
.viewer-toolbar>span { font-size:13px;color:#bcd4e9; }
.viewer-tools { display:flex;align-items:center;gap:13px; }
.viewer-tools>a,.viewer-tools>button { color:#f0f6ff;text-decoration:none;background:transparent;border:0;min-height:44px;padding:8px 10px;font-size:13px; }
.viewer-tools .viewer-close { font-size:29px;line-height:1;min-width:44px; }
.viewer-main { display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:15px;padding:16px 20px;flex:1;min-height:0; }
.viewer-main>button { display:grid;place-items:center;border:1px solid #567088;background:#1b3349;color:#e8f5ff;width:46px;height:46px;font-size:28px;border-radius:50%;justify-self:center; }
.viewer-main>figure { height:100%;min-height:0;display:flex;align-items:center;justify-content:center; }
.viewer-main img { max-width:100%;width:100%;height:100%;object-fit:contain; }
.viewer-caption { padding:5px 25px 17px;text-align:center;max-width:1000px;align-self:center;flex-shrink:0; }
.viewer-caption h2 { font-size:22px;letter-spacing:-.3px;margin-bottom:6px; }
.viewer-caption p { color:#b8d0e3;font-size:13px;line-height:1.6;margin:0; }
.viewer-status { font-size:12px;color:var(--cyan);min-height:18px;display:block; }
.viewer button:focus-visible,.viewer a:focus-visible { outline-color:var(--orange); }

/* Responsive layouts */
@media(max-width:1100px) {
  .wrap { padding-left:34px;padding-right:34px; }
  .site-header { padding:18px 28px; }
  .site-header nav { gap:17px; }
  .site-header nav a { font-size:12px; }
  .brand { font-size:13px;gap:10px; }
  .brand small { font-size:9px; }
  .hero-grid { gap:35px; }
  .hero h1 { font-size:clamp(48px,6vw,66px);letter-spacing:-2.6px; }
  .hero-subtitle { font-size:21px; }
  .hero-actions { gap:10px; }
  .hero .button { font-size:12px;padding:12px 14px; }
  .intro-grid { gap:60px; }
  .archive-quote { padding:28px; }
  .archive-quote blockquote { font-size:25px; }
  .sonda-grid,.lecture-grid { gap:50px; }
  .documents-section { gap:80px; }
  .epilogue-grid { gap:60px; }
  .experiment-detail { grid-template-columns:180px minmax(0,1fr);gap:35px; }
  .experiment-card { padding:24px 20px; }
  .experiment-card h3 { font-size:22px; }
}
@media(max-width:940px) {
  .js .menu-toggle { display:block;flex-shrink:0; }
  .site-header { flex-wrap:wrap; }
  .site-header nav { flex-wrap:wrap; }
  .js .site-header { flex-wrap:nowrap; }
  .js .site-header nav { display:none;position:absolute;left:0;right:0;top:100%;background:var(--deep);padding:20px 28px;border-bottom:1px solid #5c748c;box-shadow:0 12px 25px #08152b33; }
  .js .site-header nav.is-open { display:flex;flex-direction:column;align-items:stretch;gap:5px; }
  .js .site-header nav a { font-size:15px;padding:10px 5px; }
  .section { padding-top:72px;padding-bottom:72px; }
  .hero-grid { padding-top:57px;padding-bottom:58px;gap:26px; }
  .hero h1 { font-size:clamp(41px,5.8vw,55px);letter-spacing:-2px; }
  .hero .eyebrow { font-size:10px;letter-spacing:1px; }
  .hero-description { font-size:14px; }
  .hero-subtitle { font-size:20px; }
  .hero-author { font-size:11px; }
  .hero-visual figcaption { font-size:11px;flex-direction:column;gap:1px; }
  .visual-label { margin-left:0;font-size:9px;padding:10px;letter-spacing:.6px; }
  .visual-label b { padding:0 4px; }
  .hero-bottom>span:first-child { font-size:9px;letter-spacing:.8px; }
  .hero-bottom>span:last-child { font-size:11px; }
  .intro-grid { gap:40px; }
  .intro-grid .lead { font-size:19px; }
  .intro-grid>div>p:not(.lead) { font-size:15px; }
  .archive-quote { padding:26px; }
  .archive-quote blockquote { font-size:24px; }
  .classroom-grid { gap:26px; }
  .classroom-side blockquote { font-size:24px; }
  .section-heading { gap:35px; }
  .section-heading>p { font-size:14px;max-width:240px; }
  .timeline-grid { gap:25px; }
  .timeline-year { font-size:58px; }
  .timeline-grid h3 { font-size:21px; }
  .timeline-grid p:not(.timeline-year) { font-size:14px; }
  .sonda-grid { gap:35px; }
  .equipment-description { min-height:185px; }
  .equipment-tabs { gap:5px; }
  .equipment-tabs button { font-size:13px;padding:7px; }
  .experiment-grid { grid-template-columns:repeat(2,1fr); }
  .research-flow { flex-wrap:wrap;justify-content:flex-start;gap:15px 25px; }
  .lecture-grid { gap:35px; }
  .events-toolbar>span { font-size:10px;letter-spacing:.8px; }
  .events summary { gap:12px; }
  .events summary time { font-size:16px;flex-basis:43px; }
  .events summary>span:nth-child(2) { font-size:16px; }
  .events details>p { margin-left:55px; }
  .gallery-grid { grid-template-columns:repeat(3,1fr);gap:25px 15px; }
  .gallery-controls button { font-size:12px; }
  .documents-section { gap:50px; }
  .document-preview { padding:27px; }
  .document-preview blockquote { font-size:22px; }
  .epilogue-grid { gap:40px; }
  .epilogue h2 { font-size:34px; }
  .footer-main { gap:35px; }
  .lesson-toc { position:static; }
  .experiment-detail { display:block; }
  .lesson-toc { margin-bottom:30px;display:flex;flex-wrap:wrap;gap:3px 20px; }
  .lesson-toc>p { flex-basis:100%;margin-bottom:3px; }
  .lesson-toc a { font-size:13px;min-height:44px; }
}
@media(max-width:760px) {
  .wrap { padding-left:25px;padding-right:25px; }
  .section { padding-top:60px;padding-bottom:60px; }
  h2 { font-size:36px;letter-spacing:-1.3px; }
  .section-label { font-size:11px;letter-spacing:1.2px;gap:11px; }
  .hero-grid { display:block;padding-top:42px;padding-bottom:40px; }
  .hero h1 { font-size:clamp(48px,10vw,75px);letter-spacing:-2.4px; }
  .hero-subtitle { font-size:22px; }
  .hero-description { font-size:15px;max-width:520px; }
  .hero-author { font-size:12px; }
  .hero-visual { max-width:560px;margin:45px auto 0;padding-top:0; }
  .hero-visual figcaption { flex-direction:row;font-size:12px;padding:13px; }
  .visual-label { margin-top:18px;width:max-content;font-size:10px; }
  .hero-year { top:-35px;right:-20px;font-size:76px; }
  .hero-bottom { padding-top:15px;padding-bottom:15px; }
  .hero-bottom>span:first-child { display:none; }
  .hero-bottom>a,.hero-bottom>span:last-child { font-size:11px; }
  .intro-grid { display:block; }
  .intro-grid .lead { font-size:20px; }
  .intro-grid>div>p:not(.lead) { font-size:16px; }
  .archive-quote { margin:38px 0 0;padding:28px; }
  .archive-quote blockquote { font-size:27px; }
  .classroom-grid { display:block; }
  .classroom-side { margin-top:28px; }
  .classroom-side>figure { width:85%;margin-left:auto; }
  .classroom-side blockquote { font-size:27px;margin-top:30px; }
  .section-heading { display:block;margin-bottom:30px; }
  .section-heading>p { margin-top:20px;font-size:15px;max-width:none; }
  .section-heading>p br { display:none; }
  .section-foot { display:block; }
  .section-foot>.text-link { margin-top:15px; }
  .section-foot>p { font-size:14px; }
  .timeline-grid { display:block; }
  .timeline-grid article { padding-top:24px;margin-bottom:35px; }
  .timeline-grid article:last-child { margin-bottom:0; }
  .timeline-year { font-size:55px;margin-bottom:20px; }
  .timeline-grid h3 { font-size:24px; }
  .timeline-grid p:not(.timeline-year) { font-size:15px; }
  .sonda-grid { display:flex;flex-direction:column;gap:40px; }
  .equipment-description { min-height:160px; }
  .equipment-tabs { gap:15px; }
  .equipment-tabs button { font-size:14px;padding:8px 10px; }
  .apparatus-photo { width:100%; }
  .lecture-grid { display:block; }
  .events { margin-top:40px; }
  .events summary>span:nth-child(2) { font-size:17px; }
  .visitor-intro { margin-top:26px;max-width:none; }
  .visitor-photos { display:block; }
  .visitor-photos>figure:last-child { width:85%;margin-top:25px;margin-left:auto; }
  .gallery-grid { grid-template-columns:repeat(2,1fr);gap:25px 14px; }
  .gallery-card figcaption { font-size:12px; }
  .gallery-card small { font-size:11px; }
  .gallery-controls { gap:8px; }
  .gallery-controls button { font-size:12px;max-width:100%; }
  .gallery-bottom { flex-direction:column;align-items:flex-start;gap:17px; }
  .gallery-bottom>p { font-size:13px; }
  .documents-section { display:block; }
  .document-preview { margin:42px 6px 0;max-width:450px; }
  .document-preview blockquote { font-size:25px; }
  .epilogue-grid { display:flex;flex-direction:column-reverse;gap:40px; }
  .epilogue-grid figure { width:93%; }
  .epilogue h2 { font-size:35px; }
  .epilogue .dedication { font-size:23px; }
  .site-footer { padding:37px 25px 25px; }
  .footer-main { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
  .footer-main>div:first-child { grid-column:1/-1; }
  .footer-main h2 { font-size:14px; }
  .footer-main>div>a:not(.footer-brand) { font-size:12px; }
  .footer-bottom { align-items:flex-end;gap:15px; }
  .footer-bottom>p { font-size:11px; }
  .footer-bottom>a { font-size:0; }
  .footer-bottom>a>span { font-size:25px;padding:5px 10px; }
  .inner-page .section { padding-top:30px; }
  .inner-header h1 { font-size:43px;letter-spacing:-1.6px; }
  .inner-header .lead { font-size:18px; }
  .document-list { grid-template-columns:1fr; }
  .document-card { padding:26px; }
  .document-card h2 { font-size:28px; }
  .document-article { padding:30px 25px 60px; }
  .document-article .inner-header h1 { font-size:38px; }
  .document-article blockquote { font-size:20px;padding-left:18px; }
  .version-grid { grid-template-columns:1fr;gap:20px; }
  .sonda-intro { display:block; }
  .sonda-intro figure { margin-top:30px; }
  .method-comparison { grid-template-columns:1fr;gap:25px; }
  .experiment-grid { grid-template-columns:1fr;gap:20px; }
  .experiment-card { padding:26px; }
  .experiment-card h3 { font-size:26px; }
  .experiment-card p:not(.eyebrow) { font-size:15px; }
  .lesson-body h2 { font-size:27px; }
  .lesson-body p,.lesson-body li { font-size:15px; }
  .model { padding:25px 20px;margin-top:38px; }
  .model h2 { font-size:29px; }
  .model-grid { display:block; }
  .model figure { margin-top:25px; }
  .model figure { overflow-x:auto; }
  .model svg { min-width:520px; }
  .diagram { overflow-x:auto; }
  .diagram svg { min-width:480px; }
  .model>p { font-size:14px; }
  .model .model-note { font-size:12px; }
  .viewer-toolbar { padding:7px 10px;gap:8px; }
  .viewer-toolbar>span { font-size:11px;max-width:140px;line-height:1.6; }
  .viewer-tools { gap:0; }
  .viewer-tools>a,.viewer-tools>button { font-size:11px;padding:7px; }
  .viewer-tools .viewer-close { font-size:27px; }
  .viewer-main { display:flex;position:relative;padding:8px 5px; }
  .viewer-main>figure { width:100%; }
  .viewer-main>button { position:absolute;bottom:8px;z-index:2;background:#17324be8;width:44px;height:44px; }
  #viewer-prev { left:12px; }
  #viewer-next { right:12px; }
  .viewer-caption { padding:12px 20px 17px; }
  .viewer-caption h2 { font-size:20px; }
  .viewer-caption p { font-size:12px; }
}
@media(max-width:370px) {
  .wrap { padding-left:20px;padding-right:20px; }
  .site-header { padding:15px 18px;gap:12px; }
  .brand { font-size:11px;gap:8px; }
  .brand svg { width:30px;height:30px; }
  .brand small { font-size:8px;letter-spacing:.6px; }
  .hero h1 { font-size:43px;letter-spacing:-2px; }
  .hero .eyebrow { font-size:9px;letter-spacing:.6px; }
  .hero-subtitle { font-size:20px; }
  .hero-actions .button { font-size:12px;padding:11px 12px;gap:12px; }
  .hero-visual figcaption { font-size:11px; }
  .visual-label { font-size:8px;letter-spacing:.4px; }
  h2,.epilogue h2 { font-size:31px; }
  .section-label { font-size:10px; }
  .research-flow { gap:12px 20px; }
  .research-flow li { font-size:12px; }
  .gallery-controls button { font-size:11px; }
  .gallery-grid { gap:22px 11px; }
  .gallery-card .photo-expand { width:26px;height:26px;font-size:17px; }
  .viewer-toolbar>span { font-size:10px;max-width:95px; }
  .viewer-tools>a,.viewer-tools>button { font-size:10px;padding:7px 5px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important;transition:none!important; } }
@media print {
  body { background:white;color:#111;font-size:11pt; }
  .site-header,.site-footer,.skip-link,.reading-progress,.breadcrumb,.document-tools,.lesson-toc,.lightbox,.experiment-toolbar,.model { display:none!important; }
  .wrap,.section,.document-article { width:100%;max-width:none;padding:0; }
  h1,.document-article .inner-header h1 { font-size:25pt!important; }
  h2,.lesson-body h2 { font-size:16pt; }
  .experiment-detail { display:block; }
  .lesson-body { max-width:none; }
  .lesson-body section { break-inside:avoid; }
  a { color:inherit;text-decoration:none; }
  .formula { background:white;font-size:13pt; }
  .document-article blockquote { font-size:12pt; }
}
