/* Original UFAT training artwork, paired with an authored mechanism diagram. */
.education-figure { margin:0; min-width:0; }
.education-figure img { display:block; width:100%; height:auto; object-fit:contain; }
.education-caption { display:block; margin-top:18px; color:#685b63; font:12px/1.65 Arial,sans-serif; }
.multipage-home .home-story .education-figure { padding:0; background:#fcf8ef; }
.multipage-home .home-story .education-figure img { padding:0; max-height:none; background:transparent; }
.multipage-home .home-story .education-figure figcaption { padding:0 22px 20px; }
.page-ufat-concept .concept-anatomy { background:#f6f1e9; }
.page-ufat-concept .concept-anatomy-view { background:#fcf8ef; }
.page-ufat-concept .concept-anatomy-top { font:10px/1.5 Arial,sans-serif; color:#685b63; padding:18px 22px; }
.page-ufat-concept .concept-tissue-drawing { padding:0; aspect-ratio:4 / 3; overflow:hidden; }
.page-ufat-concept .concept-tissue-drawing img { display:block; width:100%; height:100%; object-fit:contain; }
.page-ufat-concept .concept-parts { grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.page-ufat-concept .concept-parts button { color:#57424e; font-size:13px; line-height:1.4; padding:15px 8px; min-height:55px; }
.page-ufat-concept .concept-parts button[aria-selected=true] { color:white; background:#470235; }
.page-ufat-concept .concept-part-copy { min-height:180px; }
.page-ufat-concept .concept-schematic-note { font-size:12px; color:#685b63; }
.page-ufat-concept .preparation-illustration { padding:0; margin:30px 0 0; max-width:600px; }
.page-ufat-concept .preparation-illustration img { padding:0; background:#fcf8ef; }
.page-technology .page-intro { grid-template-columns:1.1fr .9fr; }
.chamber-intro-art { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; max-width:530px; margin:0 auto; }
.chamber-intro-art .chamber-portrait { width:100%; height:440px; object-fit:contain; background:white; padding:25px; border-radius:180px 180px 0 0; }
.chamber-intro-art .chamber-intro-note { border-top:1px solid #c8b8bd; padding-top:23px; }
.chamber-intro-note .eyebrow { font-size:10px; }
.chamber-intro-note strong { display:block; font:400 29px/1.18 Georgia,serif; color:#470235; margin:14px 0; letter-spacing:-.6px; }
.chamber-intro-note p:not(.eyebrow) { font:15px/1.75 Arial,sans-serif; }
.chamber-intro-art figcaption { grid-column:1/-1; font-size:12px; margin:0; }
.elastic-section { padding:78px 6%; border-bottom:1px solid #dfd4d9; }
.elastic-introduction { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:end; margin-bottom:42px; }
.elastic-introduction h2 { margin:16px 0 0; font-size:clamp(34px,4vw,54px); max-width:650px; line-height:1.1; }
.elastic-introduction p:not(.eyebrow) { font-size:17px; line-height:1.8; margin:0; max-width:600px; }
.elastic-explorer { display:grid; grid-template-columns:1.1fr .9fr; background:#f3eee7; border:1px solid #e0d7cf; }
.elastic-stage { position:relative; padding:24px 24px 10px; overflow:hidden; }
.elastic-stage-kicker { display:flex; justify-content:space-between; gap:16px; color:#685b63; font:10px/1.5 Arial,sans-serif; letter-spacing:1px; }
.elastic-stage svg { display:block; width:100%; height:auto; max-height:520px; }
.elastic-state { display:none; }
[data-elastic-stage=rest] .elastic-rest,[data-elastic-stage=fill] .elastic-fill,[data-elastic-stage=release] .elastic-release { display:inline; }
.elastic-key { display:grid; grid-template-columns:1fr 1fr; gap:12px 25px; list-style:none; padding:18px 0; margin:0; border-top:1px solid #d9cbc3; }
.elastic-key li { display:flex; gap:9px; align-items:baseline; font:13px/1.5 Arial,sans-serif; color:#57424e; }
.elastic-key span { font-size:11px; color:#9b481e; }
.elastic-controls { padding:38px; background:#fffdf9; display:flex; flex-direction:column; justify-content:center; }
.elastic-tabs { display:flex; border-bottom:1px solid #dacdd1; margin:17px 0 30px; }
.elastic-tabs button { flex:1; padding:16px 6px; min-height:52px; font:14px/1.4 Arial,sans-serif; background:none; color:#685b63; border:0; border-bottom:2px solid transparent; cursor:pointer; }
.elastic-tabs button[aria-selected=true] { color:#470235; border-bottom-color:#bc481b; font-weight:700; }
.elastic-tabs button:focus-visible { outline:2px solid #b54216; outline-offset:-4px; }
.elastic-copy { min-height:215px; }
.elastic-copy h3 { font:400 30px/1.2 Georgia,serif; margin:0 0 17px; color:#470235; }
.elastic-copy p { font:16px/1.85 Arial,sans-serif; margin:0; max-width:43ch; }
.elastic-notes { border-top:1px solid #e0d7d8; padding-top:20px; margin-top:14px; }
.elastic-notes p { font-size:12px; line-height:1.7; margin:0 0 10px; }
.elastic-notes a { font:13px/1.6 Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; display:inline-block; padding:9px 0; }
.system-process-art { margin:0; padding:24px 12px; }
.system-process-art img { display:block; width:100%; height:340px; object-fit:contain; }
.page-technology .process-canvas { background:#fffdf9; }
.page-technology .process-canvas-top { color:#57424e; }
.page-technology .process-canvas-caption p { font-size:15px; line-height:1.6; }
.page-technology .process-diagram[hidden] { display:none!important; }
.page-technology .process-footer>span { max-width:32ch; line-height:1.6; }
.page-technology .process-product-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:35px 0 28px; }
.page-technology .process-product-tabs button { background:transparent; border:1px solid #d4c6cc; color:#57424e; padding:13px 20px; min-height:50px; cursor:pointer; }
.page-technology .process-product-tabs button[aria-selected=true] { background:#470235; color:#fff; border-color:#470235; }
.page-technology .process-product-tabs button:focus-visible,.page-technology .process-step button:focus-visible { outline:2px solid #bc481b; outline-offset:3px; }
.page-technology .process-explainer-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:5%; align-items:start; }
.page-technology .process-canvas { border:1px solid #ded3d5; overflow:hidden; }
.page-technology .process-canvas-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px; border-bottom:1px solid #e5dcdb; font:400 24px/1.3 Georgia,serif; }
.page-technology .process-canvas-top>span:last-child { font:12px/1.5 Arial,sans-serif; }
.page-technology .process-canvas-caption { border-top:1px solid #e5dcdb; padding:18px 22px; }
.page-technology .process-canvas-caption p { margin:0; }
.page-technology .process-format { display:flex; justify-content:space-between; gap:20px; padding-bottom:20px; font-size:13px; border-bottom:1px solid #d8cbd2; }
.page-technology .process-format a { text-decoration:underline; text-underline-offset:4px; }
.page-technology .process-step { border-bottom:1px solid #d8cbd2; }
.page-technology .process-step button { display:grid; grid-template-columns:24px 1fr 20px; gap:16px; align-items:center; width:100%; text-align:left; padding:22px 0; background:transparent; color:#470235; cursor:pointer; }
.page-technology .process-step strong { font:400 25px/1.25 Georgia,serif; letter-spacing:-.4px; }
.page-technology .process-step-number { font:12px Arial,sans-serif; color:#92503b; }
.page-technology .process-step-toggle { font:22px Arial,sans-serif; }
.page-technology .process-step p { margin:0 0 23px 40px; font:15px/1.8 Arial,sans-serif; }
.page-technology .process-links { display:flex; gap:12px 23px; margin-top:22px; }
.page-technology .process-links a { display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:5px; }
.page-technology .process-footer { display:flex; justify-content:space-between; gap:35px; border-top:1px solid #ded3d5; margin-top:32px; padding-top:22px; font:12px/1.7 Arial,sans-serif; color:#685b63; }
.page-technology .process-footer p { max-width:65ch; font-size:13px; margin:0; }
@media(max-width:1000px) {
 .elastic-controls { padding:28px; }
 .chamber-intro-art { gap:16px; }
 .chamber-intro-art .chamber-portrait { padding:15px; height:360px; }
 .chamber-intro-note strong { font-size:25px; }
}
@media(max-width:760px) {
 .chamber-intro-art { margin-top:35px; max-width:460px; gap:23px; }
 .chamber-intro-art .chamber-portrait { height:330px; }
 .chamber-intro-note strong { font-size:28px; }
 .chamber-intro-note p:not(.eyebrow) { font-size:14px; }
 .elastic-section { padding:48px 6%; }
 .elastic-introduction { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
 .elastic-introduction h2 { font-size:35px; }
 .elastic-introduction p:not(.eyebrow) { font-size:16px; }
 .elastic-explorer { display:flex; flex-direction:column; }
 .elastic-controls { display:contents; }
 .elastic-controls>.eyebrow { display:none; }
 .elastic-explorer .elastic-tabs { order:-1; margin:0; padding:0 16px; background:#fffdf9; }
 .elastic-explorer .elastic-copy { min-height:0; padding:26px 20px; background:#fffdf9; }
 .elastic-explorer .elastic-notes { margin:0; padding:20px; background:#fffdf9; }
 .elastic-stage { padding:18px 18px 0; }
 .elastic-stage svg { max-height:405px; }
 .elastic-stage-kicker { font-size:9px; letter-spacing:.5px; }
 .elastic-key { gap:12px; padding-block:20px; }
 .elastic-key li { font-size:12px; }
 .elastic-controls { padding:25px 20px; }
 .elastic-tabs { margin:5px 0 23px; }
 .elastic-tabs button { font-size:13px; }
 .elastic-copy { min-height:215px; }
 .elastic-copy h3 { font-size:27px; }
 .elastic-copy p { font-size:15px; }
 .page-ufat-concept .concept-parts { grid-template-columns:1fr 1fr; }
 .page-ufat-concept .concept-anatomy-view { order:-1; }
 .multipage-home .home-story .education-figure { order:-1; }
 .page-ufat-concept .concept-parts button { min-height:50px; }
 .page-ufat-concept .concept-part-copy { min-height:210px; }
 .page-ufat-concept .concept-anatomy-top { padding:15px; font-size:9px; }
 .page-ufat-concept .preparation-illustration { margin-top:24px; }
 .system-process-art { padding:15px 5px; }
 .system-process-art img { height:255px; }
 .page-technology .process-canvas-caption p { font-size:14px; }
 .page-technology .process-product-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 .page-technology .process-product-tabs button { padding:13px 9px; font-size:13px; }
 .page-technology .process-explainer-grid { grid-template-columns:1fr; gap:28px; }
 .page-technology .process-canvas-top { font-size:23px; padding:18px; }
 .page-technology .process-step strong { font-size:24px; }
 .page-technology .process-step p { margin-left:0; }
 .page-technology .process-footer { flex-direction:column; gap:10px; }
}
@media(max-width:360px) {
 .chamber-intro-art { gap:15px; }
 .chamber-intro-art .chamber-portrait { height:280px; padding:10px; }
 .chamber-intro-note strong { font-size:24px; }
 .elastic-controls { padding:23px 16px; }
}
