/* Purpose-built acoustic diagrams: physical zones and conceptual material layers, not packages. */
.rs-acoustic{background:#fff;padding-top:80px}
.rs-acoustic-layout{min-width:0}
.rs-acoustic-heading{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:50px;align-items:end;margin-bottom:36px}
.rs-acoustic-kicker{display:flex;align-items:center;gap:14px;color:#527b96;font-size:10px;letter-spacing:.15em;line-height:1.5;font-weight:500;margin:0 0 22px}
.rs-acoustic-kicker i{display:block;flex:none;width:34px;height:2px;background:#067cd4}
.rp-service .rs-acoustic-heading h2{font-family:PrimeDisplay,'Arial Narrow',sans-serif;font-size:clamp(44px,4.4vw,66px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.12;max-width:900px}
.rs-acoustic-subtitle{font-size:17px;line-height:1.65;color:#41627a;border-left:2px solid #067cd4;padding-left:20px;margin-bottom:4px}
.rs-acoustic-explorer{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:center}
.rs-acoustic-scene{position:relative;margin:0;min-width:0;overflow:hidden;border:1px solid #dbe6ef;border-radius:4px;background:radial-gradient(ellipse at 53% 45%,#fff 0,#eaf3fa 65%,#e4eef7);box-shadow:0 14px 35px -29px #1c4c7880}
.rs-acoustic-scene::before{content:'';position:absolute;inset:50px 0 65px;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 39px,#6c9dc009 40px),repeating-linear-gradient(90deg,transparent 0 39px,#6c9dc009 40px);mask-image:radial-gradient(ellipse,#000,transparent 75%)}
.rs-acoustic-scene-label{position:relative;display:flex;justify-content:space-between;gap:20px;padding:26px 28px 0;font-size:9px;letter-spacing:.12em;color:#507b98;line-height:1.5}
.rs-acoustic .rs-acoustic-scene-label>span{color:inherit;font-weight:500}
.rs-acoustic-car{position:relative;display:block;width:100%;height:auto;overflow:visible;margin:4px 0 0;min-height:0}
.rs-acoustic-scene figcaption{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 28px;padding:20px 0;border-top:1px solid #a1bfd64d;min-height:74px}
.rs-acoustic-scene figcaption>span:first-child{font-size:14px;font-weight:600;line-height:1.5;color:#153c56;max-width:72%}
.rs-acoustic-interaction-hint{display:none;font-size:9px;line-height:1.6;color:#5e8098;text-align:right;max-width:115px}
.rs-acoustic-ready .rs-acoustic-interaction-hint{display:inline}
.rs-car-zone path{fill:#067cd4;fill-opacity:0;stroke:#289bdf;stroke-width:1.3;stroke-opacity:0;transition:fill-opacity .3s,stroke-opacity .3s}
.rs-car-zone.is-active path{fill-opacity:.28;stroke-opacity:1;stroke:#4cc5ff;stroke-width:1.5}
.rs-car-marker{color:#397ea9;opacity:.7;transition:opacity .3s}
.rs-car-marker path{stroke:currentColor;stroke-width:1;stroke-dasharray:3 4}
.rs-car-marker circle:not(.rs-car-dot){fill:#edf6fc;stroke:currentColor;stroke-width:1.2}
.rs-car-marker .rs-car-dot{fill:currentColor}
.rs-car-marker text{fill:currentColor;font-family:PrimeSans,Arial,sans-serif;font-size:11px;font-weight:600}
.rs-car-marker.is-active{color:#037cc9;opacity:1}
.rs-car-marker.is-active circle:not(.rs-car-dot){fill:#087fc9;stroke:#71d9ff;stroke-width:2}
.rs-car-marker.is-active text{fill:#fff}
.rs-acoustic-ready .rs-car-marker{cursor:pointer}
.rs-acoustic-controls{min-width:0}
.rs-acoustic .rs-method-timeline{grid-column:auto;grid-row:auto;padding:0}
.rs-acoustic-list-label{display:block;font-size:9px;line-height:1.6;letter-spacing:.12em;color:#55758d;margin-bottom:20px}
.rs-acoustic-controls ul{padding:0;margin:0;list-style:none;counter-reset:acoustic-zone}
.rs-acoustic-controls li{position:relative;counter-increment:acoustic-zone;border-bottom:1px solid #dce7ef;margin:0;padding:0;line-height:1.6}
.rs-acoustic-controls li:first-child{border-top:1px solid #dce7ef}
.rs-acoustic-controls li::before{content:counter(acoustic-zone,decimal-leading-zero);position:absolute;left:13px;top:50%;transform:translateY(-50%);font-family:PrimeDisplay,Arial,sans-serif;font-size:20px;line-height:1;color:#8aa7bb;pointer-events:none;z-index:1}
.rs-acoustic-controls button{display:block;appearance:none;border:0;background:transparent;width:100%;text-align:left;padding:19px 38px 19px 52px;min-height:64px;font-family:inherit;font-size:14px;line-height:1.65;color:#34546b;transition:background-color .2s,color .2s;cursor:pointer;border-radius:0}
.rs-acoustic-controls button::after{content:'↗';position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:17px;color:#719ab7}
.rs-acoustic-controls button[aria-pressed=true]{background:#eaf5fd;color:#0879c3;font-weight:600;box-shadow:inset 2px 0 #087fcf}
.rs-acoustic-controls button:disabled{opacity:1;cursor:default;-webkit-text-fill-color:currentColor}
.rs-acoustic-controls button:disabled::after{display:none}
.rs-acoustic-controls button:focus-visible{outline:2px solid #067cd4;outline-offset:-3px}
.rs-acoustic-controls li:has(button[aria-pressed=true])::before{color:#087ec7}
.rs-acoustic .rs-acoustic-coverage{position:relative;margin:76px 0 0;padding:0;background:none;border:0;color:inherit;font-weight:400}
.rs-acoustic-coverage>header{margin-bottom:32px;padding-top:44px;border-top:1px solid #dce6ee}
.rp-service .rs-acoustic-coverage h3{font-size:clamp(27px,2.8vw,38px);line-height:1.3;letter-spacing:-.035em;color:#16364b;max-width:850px}
.rs-acoustic-coverage .rs-acoustic-kicker{margin-bottom:18px}
.rs-acoustic-explorer--coverage{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.rs-acoustic-scene--coverage{background:radial-gradient(ellipse at 60% 40%,#163e59,#0c2334 70%);border-color:#23465f}
.rs-acoustic-scene--coverage::before{background:repeating-linear-gradient(0deg,transparent 0 39px,#88c8ed08 40px),repeating-linear-gradient(90deg,transparent 0 39px,#88c8ed08 40px)}
.rs-acoustic-scene--coverage .rs-car-body{opacity:1}
.rs-acoustic-scene--coverage .rs-car-zone path{fill:#36b6f5;fill-opacity:.035;stroke:#58c6ff;stroke-opacity:.16}
.rs-acoustic-scene--coverage .rs-car-zone.is-active path{fill:#39bafa;fill-opacity:.34;stroke:#9ae5ff;stroke-opacity:1}
.rs-acoustic-scene--coverage .rs-acoustic-scene-label{color:#91b6ce}
.rs-acoustic-scene--coverage figcaption{border-color:#b0cce42b}
.rs-acoustic-scene--coverage figcaption{min-height:104px}
.rs-acoustic-scene--coverage figcaption>span:first-child{color:#e1f5ff}
.rs-acoustic-scene--coverage .rs-acoustic-interaction-hint{color:#93b9d2}
.rs-acoustic-scene--coverage .rs-car-marker{color:#75b8dd}
.rs-acoustic-scene--coverage .rs-car-marker circle:not(.rs-car-dot){fill:#0e2c42}
.rs-acoustic-scene--coverage .rs-car-marker.is-active{color:#a8e2ff}
.rs-acoustic-scene--coverage .rs-car-marker.is-active circle:not(.rs-car-dot){fill:#138dcc}
.rs-acoustic-scene--coverage .rs-car-marker text{fill:#a8d7f1}
.rs-acoustic .rs-acoustic-controls span{color:inherit;font-weight:inherit}
.rs-acoustic .rs-acoustic-materials{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:28px;margin-top:32px;padding:30px 32px;background:#eef5fa;border:1px solid #dce9f2;border-radius:3px}
.rs-acoustic .rs-acoustic-materials h4{font-family:PrimeDisplay,Arial,sans-serif;font-size:31px;line-height:1.15;text-transform:uppercase;letter-spacing:0;color:#15364c;margin:0 0 16px}
.rs-acoustic-material-heading>p:last-child{font-size:12px;line-height:1.85;color:#5d7a8f;max-width:280px;margin:0}
.rs-acoustic-materials .rs-acoustic-kicker{font-size:9px;color:#587c96;margin-bottom:14px}
.rs-acoustic-stack{display:block;width:100%;height:auto;max-height:245px}
.rs-acoustic-layer-list{counter-reset:acoustic-layer;list-style:none;padding:0;margin:0}
.rs-acoustic-layer-list li{counter-increment:acoustic-layer;position:relative;padding:11px 0 11px 36px;border-bottom:1px solid #d6e4ef;line-height:1.5}
.rs-acoustic-layer-list li::before{content:counter(acoustic-layer,decimal-leading-zero);position:absolute;left:0;top:15px;font-size:10px;font-weight:600;color:#067cc5}
.rs-acoustic-layer-list li:last-child{border:0}
.rs-acoustic .rs-acoustic-layer-list span{display:block;font-size:13px;font-weight:600;color:#23465e}
.rs-acoustic-layer-list small{display:block;font-size:10px;line-height:1.7;color:#5f7e93;margin-top:3px}
@media(hover:hover){.rs-acoustic-controls button:not(:disabled):hover{background:#f0f7fc;color:#0679c4}}
@media(max-width:1100px){.rs-acoustic-explorer,.rs-acoustic-explorer--coverage{gap:28px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.rs-acoustic-controls button{font-size:13px;padding-block:15px;min-height:58px}.rs-acoustic-scene-label{padding:22px 22px 0}.rs-acoustic-scene figcaption{margin-inline:22px}.rs-acoustic-scene figcaption>span:first-child{font-size:12px}.rs-acoustic-materials{gap:20px}}
@media(max-width:850px){.rs-acoustic{padding-top:60px}.rs-acoustic-heading{grid-template-columns:1fr;gap:20px}.rs-acoustic-subtitle{font-size:15px;max-width:440px}.rs-acoustic-explorer,.rs-acoustic-explorer--coverage{grid-template-columns:1fr;gap:26px}.rs-acoustic-car{max-height:470px}.rs-acoustic-controls ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.rs-acoustic-controls li:nth-child(2){border-top:1px solid #dce7ef}.rs-acoustic .rs-acoustic-materials{grid-template-columns:1fr 1fr;gap:20px;padding:26px}.rs-acoustic-material-heading{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:start}.rs-acoustic-material-heading .rs-acoustic-kicker{grid-column:1 / -1}.rs-acoustic-material-heading>p:last-child{max-width:none}.rs-acoustic-stack{max-height:230px}.rs-acoustic .rs-acoustic-coverage{margin-top:56px}}
@media(max-width:600px){.rs-acoustic-heading{margin-bottom:24px}.rs-acoustic-kicker{font-size:9px;margin-bottom:18px;letter-spacing:.1em}.rp-service .rs-acoustic-heading h2{font-size:clamp(38px,10vw,54px)}.rs-acoustic-scene-label{font-size:8px;padding:18px 16px 0;gap:12px;letter-spacing:.06em}.rs-acoustic-car{margin-top:12px}.rs-acoustic-scene figcaption{margin-inline:16px;gap:14px;padding:15px 0;min-height:65px}.rs-acoustic-scene figcaption>span:first-child{font-size:12px}.rs-acoustic-interaction-hint{font-size:8px;max-width:95px}.rs-acoustic-controls ul{grid-template-columns:1fr;gap:0}.rs-acoustic-controls button{font-size:13px;min-height:56px;padding:15px 32px 15px 44px}.rs-acoustic-controls li::before{left:10px;font-size:18px}.rs-acoustic-controls button::after{right:10px}.rs-acoustic-list-label{font-size:8px;margin-bottom:16px}.rs-acoustic .rs-acoustic-coverage{margin-top:46px}.rs-acoustic-coverage>header{padding-top:32px;margin-bottom:24px}.rp-service .rs-acoustic-coverage h3{font-size:28px}.rs-acoustic .rs-acoustic-materials{grid-template-columns:1fr;padding:24px 20px;gap:24px}.rs-acoustic-material-heading{display:block}.rs-acoustic .rs-acoustic-materials h4{font-size:30px}.rs-acoustic-material-heading>p:last-child{max-width:none}.rs-acoustic-stack{max-height:230px}.rs-acoustic-layer-list li{padding-block:13px}.rs-acoustic-layer-list small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rs-car-zone path,.rs-car-marker,.rs-acoustic-controls button{transition:none}}
@media(max-width:600px){.rs-car-marker text{font-size:24px;dominant-baseline:central;transform:translateY(-4px)}.rs-car-marker circle:not(.rs-car-dot){r:26px;stroke-width:2}.rs-car-marker.is-active circle:not(.rs-car-dot){stroke-width:3}}
@media(max-width:600px){.rs-acoustic-scene--noise figcaption{min-height:90px}.rs-acoustic-scene--coverage figcaption{min-height:124px}}
