/* The source website's spatial-response exhibition, adapted as one clear
   software workspace. Both the volume and its matching section stay visible. */
.geology-software { --section-pad:80px;background:#fff;--geology-muted:#626970;--geology-blue:#0071e3; }
.geology-software-heading { margin-bottom:44px; }
.geology-software-heading .eyebrow { color:var(--geology-blue);font-size:.9375rem; }
.geology-software-heading h2 { font-size:clamp(34px,4vw,54px);line-height:1.25;letter-spacing:-.04em; }
.geology-software-heading>p:last-child { max-width:680px;margin-top:24px;font-size:1.125rem;line-height:1.8;color:var(--geology-muted); }
.geology-workspace { background:#f5f7f8;border:1px solid #e3e8ec;border-radius:28px;overflow:hidden; }
.geology-workspace-head { display:flex;justify-content:space-between;align-items:center;gap:28px;padding:28px 34px 24px; }
.geology-workspace-head h3 { font-size:1.25rem;line-height:1.4;font-weight:600; }
.geology-workspace-head p { color:var(--geology-muted);font-size:.875rem;line-height:1.6;margin-top:7px; }
.geology-reset { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;color:#335c78;font-size:.875rem;background:transparent;white-space:nowrap;border-radius:9px; }
.geology-reset svg { width:19px;height:19px; }
.geology-reset:not(:disabled):hover { background:#e7edf2; }
.geology-reset:disabled { opacity:.5;cursor:default; }
.geology-views { display:grid;grid-template-columns:1.5fr 1fr;gap:0;min-width:0; }
.geology-volume,.geology-section { margin:0;min-width:0; }
.geology-volume { border-right:1px solid #dfe6ea; }
.geology-view-label { display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:13px 32px 0; }
.geology-view-label>span { color:#34444f;font-size:.8125rem;font-weight:600;white-space:nowrap; }
.geology-view-label>small { color:#6d7680;font-size:.6875rem;text-align:right; }
.geology-stage { height:390px;position:relative;cursor:grab;touch-action:pan-y;outline-offset:-5px; }
.geology-stage.is-dragging { cursor:grabbing; }
.geology-stage>canvas { display:block;width:100%;height:100%; }
.geology-stage:focus-visible { outline:3px solid #0071e3;border-radius:12px; }
.geology-loading,.geology-fallback { position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:35px;color:#657480;font-size:.875rem;line-height:1.8; }
.geology-loading[hidden],.geology-fallback[hidden] { display:none; }
.geology-section { display:flex;flex-direction:column;justify-content:center;padding-bottom:24px;background:#f4f7f7; }
.geology-section .geology-view-label { margin-bottom:20px; }
.geology-section>canvas { display:block;width:100%;height:auto;aspect-ratio:1.5625; }
.geology-section figcaption { padding:5px 30px 0;text-align:center;font-size:.8125rem;line-height:1.65;color:var(--geology-muted); }
.geology-controls { display:grid;grid-template-columns:135px 1fr auto;gap:30px;align-items:center;border-top:1px solid #dfe6ea;background:#fff;padding:22px 34px; }
.geology-controls>label { display:flex;align-items:baseline;gap:10px;font-size:.875rem;font-weight:600;white-space:nowrap; }
.geology-controls output { font-size:.8125rem;font-weight:400;color:#59778c;font-variant-numeric:tabular-nums; }
.geology-range { display:flex;align-items:center;gap:15px;min-width:0; }
.geology-range>span { color:#6c7580;font-size:.75rem;flex:none; }
.geology-range input { display:block;width:100%;min-width:0;height:28px;accent-color:var(--geology-blue);cursor:ew-resize; }
.geology-controls>p { color:#6d7680;font-size:.75rem; }
.geology-model-note { font-size:.6875rem;line-height:1.7;color:#787f86;margin-top:16px; }
.geology-software-uses { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:42px; }
.geology-software-uses h3 { font-size:1.125rem;margin-bottom:12px;line-height:1.5; }
.geology-software-uses p { color:var(--geology-muted);font-size:.9375rem;line-height:1.8; }
.geology-software-links { display:flex;gap:16px 32px;flex-wrap:wrap;margin-top:30px; }
.geology-software-links .text-link { font-size:.9375rem;min-height:36px; }
@media(max-width:1000px){
 .geology-views { grid-template-columns:1.3fr 1fr; }
 .geology-stage { height:340px; }
 .geology-workspace-head { padding-inline:26px; }
 .geology-view-label { padding-inline:24px; }
 .geology-controls { grid-template-columns:120px 1fr;gap:20px;padding-inline:26px; }
 .geology-controls>p { grid-column:2;margin-top:-10px; }
 .geology-software-uses { gap:30px; }
}
@media(max-width:700px){
 .geology-software { --section-pad:58px; }
 .geology-software-heading { margin-bottom:30px; }
 .geology-software-heading h2 { font-size:34px; }
 .geology-software-heading>p:last-child { font-size:1rem;line-height:1.75;margin-top:20px; }
 .geology-workspace { border-radius:22px; }
 .geology-workspace-head { padding:23px 22px 13px;gap:10px;align-items:flex-start; }
 .geology-workspace-head h3 { font-size:1.0625rem; }
 .geology-workspace-head p { font-size:.8125rem; }
 .geology-reset { width:40px;height:40px;padding:10px;min-height:40px;flex:none; }
 .geology-reset span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
 .geology-views { grid-template-columns:1fr; }
 .geology-volume { border-right:0; }
 .geology-view-label { padding:12px 22px 0; }
 .geology-stage { height:270px; }
 .geology-section { border-top:1px solid #dfe6ea;padding-bottom:15px; }
 .geology-section .geology-view-label { margin-bottom:5px; }
 .geology-section>canvas { max-width:440px;width:100%;margin:auto; }
 .geology-section figcaption { font-size:.75rem;padding:0 22px; }
 .geology-section figcaption br { display:none; }
 .geology-controls { grid-template-columns:1fr;gap:8px;padding:18px 22px; }
 .geology-controls>label { justify-content:space-between; }
 .geology-controls>p { grid-column:auto;margin:0;font-size:.6875rem; }
 .geology-model-note { font-size:.625rem;line-height:1.7; }
 .geology-software-uses { grid-template-columns:1fr;gap:20px;margin-top:30px; }
 .geology-software-uses article { display:grid;grid-template-columns:98px 1fr;gap:14px; }
 .geology-software-uses h3 { font-size:.9375rem;line-height:1.75;margin:0; }
 .geology-software-uses p { font-size:.875rem;line-height:1.75; }
 .geology-software-links { margin-top:22px;gap:6px 20px; }
 .geology-software-links .text-link { font-size:.875rem;min-height:40px; }
}
@media(prefers-reduced-motion:reduce){.geology-stage{scroll-behavior:auto;}}
