/* The premium illustrations inherit the existing light NUTRILOGIA identity. */
.precision-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.precision-ready .precision-canvas{opacity:1;transition:opacity .65s ease}
.theme-scene.precision-ready .scene-canvas,.theme-scene.precision-ready .scene-floor,.theme-scene.precision-ready .scene-halo{visibility:hidden}
.theme-scene .scene-camera,.theme-scene .scene-camera *{animation:none!important}
.theme-scene .scene-window{background:radial-gradient(ellipse at 50% 66%,#e5eadb80 0%,#f6f7ef30 53%,transparent 75%)}
.lab-motion,.scene-toggle{min-width:44px;min-height:44px;background:#fcfcf4cc;backdrop-filter:blur(12px);border-color:#7c916431;box-shadow:0 4px 16px #40513207;color:#456042}
.lab-motion:hover,.scene-toggle:hover{background:#fffdf3;border-color:#7c916477}
.lab-motion:focus-visible,.scene-toggle:focus-visible{outline:2px solid #44623c;outline-offset:3px}
.theme-scene figcaption{padding-top:9px}
@media(prefers-reduced-motion:reduce){.precision-ready .precision-canvas,.formula-lab.precision-ready .lab-visual canvas{transition:none}}

/* Molecular and animal exhibits: calm, precise, useful at every size. */
.analytical-scene{background:linear-gradient(155deg,#fffef9c9,#f2f5eb80);border:1px solid #dce3d4;border-radius:26px;box-shadow:0 24px 65px -45px #405c4a70;overflow:hidden;padding:0 20px 19px}
.analytical-scene .scene-window{aspect-ratio:1.35;min-height:260px;max-height:420px;border-radius:0;background:radial-gradient(ellipse at 50% 60%,#e1ead733,transparent 72%)}
.analytical-scene .scene-halo,.analytical-scene .scene-floor{display:none}
.analysis-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.precision-ready .analysis-fallback{visibility:hidden}
.molecule-fallback [data-hydrogen=true]{display:none}
.analytical-scene figcaption{padding:0 0 12px;gap:15px}
.analytical-scene figcaption>span{font-size:16px;line-height:1.5;color:#324f40}
.analytical-scene figcaption small{font-size:10px;color:#596757;margin-top:4px}
.scene-window,.lab-visual{touch-action:pan-y}
.precision-ready .scene-window,.precision-ready .lab-visual{cursor:grab}
.scene-window.is-dragging,.lab-visual.is-dragging{cursor:grabbing}
.scene-window:focus-visible,.lab-visual:focus-visible{outline:2px solid #64805b;outline-offset:-4px}
.scene-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;padding:10px 0 14px;border-top:1px solid #72826422}
.scene-actions .scene-gesture{flex:1 1 100%;font-size:10px;color:#5c6954;line-height:1.6}
.scene-actions>button{border:0;background:transparent;color:#46623e;font:inherit;font-size:11px;min-height:36px;padding:5px 0}
.scene-actions>button:hover{text-decoration:underline;text-underline-offset:4px}
.scene-actions>button:disabled{opacity:.4;text-decoration:none;cursor:default}
.scene-actions>label{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:10px;color:#657358}
.scene-actions input[type=range]{width:80px;height:32px;accent-color:#64805b;margin:0;padding:0}
.analysis-switch{display:flex;gap:4px;border:1px solid #dce4d3;border-radius:10px;padding:4px;background:#eaf0e24d;margin-bottom:17px}
.analysis-switch button{flex:1;min-height:38px;border-radius:7px;background:transparent;color:#56674e;font:inherit;font-size:11px;border:0;padding:7px 10px;cursor:pointer}
.analysis-switch button[aria-pressed=true]{background:#fffef6;color:#36543e;box-shadow:0 3px 10px #3a53320c;font-weight:600}
.analysis-switch button:focus-visible,.molecule-elements button:focus-visible{outline:2px solid #597b4a;outline-offset:2px}
.molecule-elements{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}
.molecule-elements button{display:flex;gap:6px;align-items:center;border:1px solid transparent;border-radius:9px;padding:8px 3px;background:transparent;color:#4e6650;text-align:left;font:inherit;cursor:pointer}
.molecule-elements i{flex:none;display:grid;place-items:center;width:27px;height:27px;background:var(--element);border-radius:50%;font:500 12px var(--font);color:white;box-shadow:inset -3px -3px 7px #263b421c,inset 2px 2px 5px #ffffff66}
.molecule-elements button[data-pick="element:H"] i{color:#4d604b}
.molecule-elements span{font-size:9px;line-height:1.4}
.molecule-elements small{display:block;color:#5e6955;font-size:8px;white-space:nowrap;margin-top:4px}
.molecule-elements button[aria-pressed=true]{background:#e7efdf;border-color:#a4bb90}
.molecule-hydrogens{display:flex;align-items:center;gap:8px;font-size:11px;color:#526b4c;min-height:44px;margin:10px 0 2px}
.molecule-hydrogens input{width:16px;height:16px;accent-color:#5c794d}
.analysis-source{font-size:10px;line-height:1.8;color:#79816e;margin:9px 0 0}
.analysis-source a{text-decoration:underline;text-underline-offset:3px}
.scene-inspect{font-size:11px;line-height:1.7;color:#4c6544;background:#e7eddc55;border-radius:9px;padding:10px 12px;margin:12px 0 0;min-height:54px}
.precision-dialog{width:min(1100px,96vw);max-width:1100px;max-height:94dvh;border:1px solid #d4dfca;border-radius:25px;padding:24px;background:#f8f9f1;color:#33533e;overflow:auto;box-shadow:0 40px 120px #13251940}
.precision-dialog::backdrop{background:#192b256e;backdrop-filter:blur(9px)}
.precision-dialog-close{display:block;margin:0 0 12px auto;font:inherit;font-size:13px;border:1px solid #bfccb4;background:#fffdf6;border-radius:22px;padding:9px 16px;min-height:44px;color:#3c5b3b;cursor:pointer}
.precision-dialog .theme-scene,.precision-dialog .formula-lab{width:100%;max-width:none;margin:0}
.precision-dialog .scene-window,.precision-dialog .lab-visual{height:min(52dvh,530px);max-height:none;min-height:280px;aspect-ratio:auto}
.precision-dialog .analysis-controls{max-width:660px;margin-inline:auto}
.precision-dialog-open{overflow:hidden}
@media(min-width:1000px){.analysis-feature .analytical-scene .scene-window{height:370px}.scene-molecule .scene-window{min-height:320px}}
@media(max-width:760px){.analysis-feature{grid-template-columns:1fr;gap:25px}.analysis-feature>div>p{max-width:100%}.analytical-scene{padding:0 14px 15px}.analytical-scene .scene-window{min-height:240px}.molecule-elements{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.molecule-elements button{padding:7px 8px;min-height:42px}.molecule-elements span{font-size:11px}.molecule-elements small{font-size:9px;margin-top:2px}.economic-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.economic-legend button{padding:7px 8px}.economic-legend span{font-size:10px}.economic-controls{gap:12px}.scene-actions{gap:3px 13px}.scene-actions .scene-gesture{font-size:9px}.formula-lab>.scene-actions{margin:0 16px}.precision-dialog{padding:12px;border-radius:18px}.precision-dialog .scene-window,.precision-dialog .lab-visual{min-height:240px;height:40dvh}}

/* Animal sculptures share the light molecular gallery, without changing site CSS. */
.animal-exhibit>.section-heading p{max-width:440px;line-height:1.8;color:#60735b}
.animal-molecule-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start}
.animal-molecule-grid .scene-window{height:360px;max-height:none;min-height:0;aspect-ratio:auto}
.scene-animal .scene-window{background:radial-gradient(ellipse at 50% 65%,#dce6d65c,transparent 70%)}
.animal-fallback{object-fit:contain}
.scene-animal .analysis-source{margin-top:16px}
.scene-animal [data-animal-name]{display:inline}
.scene-animal .analysis-switch:last-of-type{margin-bottom:8px}
@media(max-width:760px){.animal-molecule-grid{grid-template-columns:1fr;gap:22px}.animal-molecule-grid .scene-window{height:290px}.animal-exhibit>.section-heading{display:block}.animal-exhibit>.section-heading p{margin-top:20px}.animal-exhibit .scene-actions>button{min-height:44px}}
