@charset "UTF-8";
/* V5: native material surfaces, room-response interaction and precise touch targets. */
.industrial-study { overflow:visible; }
.industrial-study .study-top { gap:10px; font-size:10px; letter-spacing:1px; }
.industrial-study .study-instruction { margin:14px 0 6px; font-size:13px; color:#C0CAD6; }
.study-workbench { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(145px,1fr); gap:15px; align-items:center; }
.industrial-study .study-svg { width:100%; max-height:300px; margin:20px 0; overflow:visible; touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:transparent; }
.industrial-study .study-layer { cursor:pointer; transform-box:fill-box; transform-origin:center; transition:transform .28s var(--ease-out),opacity .25s; }
.industrial-study .study-layer .study-face { pointer-events:all; stroke-width:1; transition:stroke .25s,stroke-width .25s; }
.industrial-study .study-edge { pointer-events:none; }
.industrial-study .study-layer.is-active { transform:translateY(-3px) scale(1.02); }
.industrial-study .study-layer.is-active .study-face { stroke:#F0D59A; stroke-width:1.5; }
.study-nodes { display:grid; gap:8px; }
.study-node { display:block; width:100%; padding:11px 12px; min-height:76px; border:1px solid #ffffff16; border-radius:7px; text-align:left; background:#0A1019; transition:background .25s,border-color .25s,box-shadow .25s; }
.study-node small { display:block; color:#B7C3D1; font-size:12px; }
.study-node strong { display:block; font:25px/1.4 var(--serif); color:#D7DBE2; margin-block:3px; }
.study-node strong>span { font:13px/1.4 var(--sans); }
.study-node .node-hint { display:block; font-size:12px; line-height:1.6; color:#AFBDCD; }
.study-node.is-active { border-color:#D1AE6D99; background:linear-gradient(120deg,#C5A0591F,#C5A05906); box-shadow:inset 2px 0 #D1AE6D; }
.study-node.is-active strong,.study-node.is-active small { color:#E8CD9A; }
.industrial-study .study-note { margin:18px 0 0; padding-top:15px; border-top:1px solid #C5A05926; min-height:65px; font-size:14px; line-height:1.8; color:#E1D0AE; }
.industrial-study .study-caption { display:block; margin-top:10px; color:#AAB8C8; font-size:12px; line-height:1.8; }
.reverb-lab { margin:22px 0 25px; padding:18px; border:1px solid #C5A05933; border-radius:10px; background:linear-gradient(135deg,#0B111C,#141B24); }
.reverb-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.reverb-heading>div>span { color:#B7A077; font-size:10px; letter-spacing:1px; }
.reverb-heading h3 { font-size:17px; font-weight:500; color:#F4F4F6; margin-top:5px; line-height:1.65; }
.reverb-status-dot { width:5px; height:5px; flex-shrink:0; border-radius:50%; background:#D7B779; box-shadow:0 0 13px #C5A05966; transition:background .3s,box-shadow .3s; }
.reverb-options { display:grid; grid-template-columns:1fr 1fr; padding:4px; gap:5px; margin-top:17px; background:#080D15; border:1px solid #ffffff0E; border-radius:8px; }
.reverb-options button { display:flex; align-items:center; gap:10px; text-align:left; min-height:58px; padding:8px 11px; border:1px solid transparent; border-radius:5px; color:#B5C2D3; transition:background .25s,border-color .25s; }
.reverb-options button>b { font:17px var(--serif); color:#C5A059; }
.reverb-options button>span { font-size:14px; line-height:1.5; }.reverb-options small { display:block; font-size:12px; }
.reverb-options [aria-checked="true"] { border-color:#C5A05977; background:#C5A05917; color:#F4F4F6; }
.reverb-display { margin-top:14px; }
.reverb-graphic { display:block; width:100%; height:88px; overflow:hidden; border-bottom:1px solid #ffffff09; }
.reverb-baseline { stroke:#8D9BAE; stroke-width:.8; opacity:.2; transition:opacity .3s,stroke .3s; }
.reverb-envelope { transform-box:view-box; transform-origin:50% 50%; transform:scaleY(1); opacity:1; transition:transform 300ms var(--ease-out),opacity 300ms; }
.reverb-motion { transform-box:view-box; transform-origin:50% 50%; animation:room-standing 1.4s ease-in-out infinite; animation-play-state:paused; }
.reverb-motion path { fill:none; stroke:#D8B779; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.reverb-motion-2 { opacity:.45; animation-duration:1.7s; animation-delay:-.4s; }.reverb-motion-2 path { stroke:#A8B7CB; stroke-width:1; }
.reverb-motion-3 { opacity:.35; animation-duration:1.9s; animation-delay:-.8s; }.reverb-motion-3 path { stroke:#CF9D58; stroke-width:1; }
.reverb-lab.is-in-view[data-state="raw"] .reverb-motion { animation-play-state:running; }
.reverb-lab[data-state="treated"] .reverb-envelope { transform:scaleY(.025); opacity:.22; }
.reverb-lab[data-state="treated"] .reverb-baseline { opacity:.9; stroke:#91D2B7; }
.reverb-lab[data-state="treated"] .reverb-status-dot { background:#91D2B7; box-shadow:0 0 13px #91D2B733; }
.reverb-readout { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:12px; padding-top:12px; }
.reverb-readout>span:first-child { font-size:13px; color:#CBD5E1; }
.reverb-readout>span:first-child small { font-size:11px; color:#B7A077; margin-left:5px; }
.reverb-readout strong { grid-column:2; grid-row:1/3; font:30px/1.3 var(--serif); color:#E5CAA0; white-space:nowrap; }
.reverb-readout strong small { font:14px var(--sans); color:#CBD5E1; margin-left:5px; }
#reverb-description { font-size:13px; color:#B7C5D6; margin-top:3px; }
.reverb-lab[data-state="treated"] #reverb-description { color:#9CD8BF; }
.reverb-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:11px; }
.reverb-footer>span { font-size:12px; color:#AFBDCD; }
#reverb-audio { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex-shrink:0; padding:7px 10px; min-height:44px; border:1px solid #ffffff1A; border-radius:6px; font-size:12px; color:#CBD5E1; }
#reverb-audio[aria-pressed="true"] { color:#E5CAA0; border-color:#C5A05966; background:#C5A0590A; }
.standard-body .reverb-note { margin:9px 0 0; color:#A6B5C8; font-size:12px; line-height:1.8; }
.border-beam { display:block; position:absolute; inset:0; padding:1px; border-radius:inherit; overflow:hidden; pointer-events:none; z-index:4; opacity:.85; }
.border-beam::before { content:""; display:none; position:absolute; inset:-220%; background:conic-gradient(from 0deg,transparent 0deg 230deg,#C5A05922 268deg,#FCE5A9 298deg,#D4AD61 314deg,transparent 340deg); animation:industrial-beam-orbit 4s linear infinite; animation-play-state:paused; }
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
  .border-beam { -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; animation:industrial-beam-breathe 4s ease-in-out infinite; animation-play-state:paused; }
  .border-beam::before { display:block; }
}
.button>.border-beam,.button:hover>.border-beam { transform:none; transition:none; }
.beam-target.is-beam-visible>.border-beam,.beam-target.is-beam-visible>.border-beam::before { animation-play-state:running; }
.inquiry-bar:not(.is-visible)>.border-beam,.inquiry-bar:not(.is-visible)>.border-beam::before { animation-play-state:paused; }
.page-is-hidden .border-beam,.page-is-hidden .border-beam::before,.page-is-hidden .reverb-motion { animation-play-state:paused!important; }
@keyframes industrial-beam-orbit { to { transform:rotate(360deg); } }
@keyframes industrial-beam-breathe { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@keyframes room-standing { 0%,100% { transform:scaleY(.55); } 25% { transform:scaleY(1); } 50% { transform:scaleY(.05); } 75% { transform:scaleY(-.85); } }
@media(max-width:1279px) {
  .study-workbench { display:block; }.industrial-study .study-svg { max-height:235px; margin:16px 0; }.study-nodes { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.study-node { padding:10px 8px; }.study-node strong>span { display:block; font-size:12px; }.study-node .node-hint { display:none; }.study-node strong { font-size:24px; }.study-node small { font-size:11px; }.industrial-study .study-note { min-height:0; }
}
@media(max-width:700px) {
  :root { --touch-target:44px; }
  .choice-chip,.tier-button,.reverb-options button,.study-node { min-height:var(--touch-target); touch-action:manipulation; }
  .stepper { min-height:48px; padding:2px; }
  .stepper button { width:44px; min-width:44px; min-height:44px; flex-shrink:0; }
  .stepper input { min-height:44px; min-width:0; }
  .choice-chips { gap:10px; }.area-tiers { gap:6px; }
  .industrial-study .study-top { font-size:9px; letter-spacing:.5px; }
  .industrial-study .study-instruction { font-size:13px; }.industrial-study .study-svg { max-height:205px; margin:10px 0 15px; }
  .study-node { min-height:95px; padding:10px 6px; }.study-node strong { font-size:24px; }.study-node small { font-size:11px; }.study-node strong>span { font-size:12px; }
  .industrial-study .study-note { font-size:14px; margin-top:15px; padding-top:13px; min-height:78px; }.industrial-study .study-caption { font-size:12px; }
  .reverb-lab { padding:14px; margin-top:20px; }.reverb-heading h3 { font-size:16px; }.reverb-heading>div>span { font-size:9px; }
  .reverb-options button { padding:9px; gap:8px; min-height:60px; }.reverb-options button>span { font-size:14px; }
  .reverb-graphic { height:84px; }.reverb-readout strong { font-size:29px; }.reverb-readout>span:first-child { font-size:12px; }.reverb-readout>span:first-child small { margin-left:3px; font-size:10px; }
  .reverb-footer>span { font-size:11px; }#reverb-audio { padding-inline:8px; min-width:94px; min-height:44px; }
}
@media(max-width:370px) { .study-node small { font-size:10px; }.study-node strong>span { font-size:11px; }.reverb-lab { padding:12px; }.reverb-options button { padding:8px 7px; }.reverb-footer { flex-wrap:wrap; }.reverb-footer>span { flex:1; min-width:130px; }.reverb-heading h3 { font-size:15px; } }
@media(prefers-reduced-motion:reduce) {
  .industrial-study .study-layer,.reverb-envelope { transition:none; }.industrial-study .study-layer.is-active { transform:none; }
  .reverb-motion,.border-beam,.border-beam::before { animation:none!important; }
}
