/* Revision 2: deliberately shared spacing and accessible controls, distinct brand palettes. */
:root{--r2-ink:#152c29;--r2-accent:#275d50;--r2-paper:#f3f4ef;--r2-line:#cbd2ca;--r2-muted:#536861}
body[data-r2=iqm]{--r2-ink:#102d36;--r2-accent:#245b6a;--r2-paper:#eff3f3;--r2-line:#c3d0d2;--r2-muted:#516870}
body[data-r2=iqc]{--r2-ink:#302534;--r2-accent:#754359;--r2-paper:#f6f2ef;--r2-line:#d9cccf;--r2-muted:#715f6c}
body[data-r2=wshp]{--r2-ink:#142b3c;--r2-accent:#285d79;--r2-paper:#f0f4f5;--r2-line:#c6d3da;--r2-muted:#526b7b}
body[data-r2]{background:var(--r2-paper);color:var(--r2-ink);overflow-x:clip}body[data-r2] main{overflow:clip}
body[data-r2] :focus-visible{outline:3px solid var(--r2-accent);outline-offset:5px}
body[data-r2] .hd,body[data-r2] .site-header{background:var(--r2-paper);border-bottom:1px solid var(--r2-line);backdrop-filter:none}
body[data-r2] .ng-wrap{max-width:1440px;padding:0 48px}
body[data-r2] .hd-in,body[data-r2] .header-inner{max-width:1440px}
body[data-r2] .brand-mark{background:var(--r2-ink);border-radius:2px}
body[data-r2] .ng-section,body[data-r2] .section{border-color:var(--r2-line)}
body[data-r2] .ng-section{padding:76px 0}
body[data-r2] .ng-section h2,body[data-r2] .section h2{color:var(--r2-ink);letter-spacing:-.045em;font-weight:500}
body[data-r2] .ng-card{border-radius:2px;background:transparent;border-color:var(--r2-line);box-shadow:none}
body[data-r2] .ng-card h3{color:var(--r2-ink)}body[data-r2] .ng-end{border-radius:2px;background:var(--r2-ink);color:white;padding:48px}
body[data-r2] .ng-end h2,body[data-r2] .ng-end p{color:#f3f5ef}body[data-r2] .ng-end .ng-link{color:#fff}
body[data-r2] .ng-cta,body[data-r2] .button{border-radius:2px;background:var(--r2-ink);color:#fff;border-color:var(--r2-ink);min-height:46px}
body[data-r2] .ng-end .ng-cta{background:white;color:var(--r2-ink)!important}
body[data-r2] .ng-link{color:var(--r2-accent)}body[data-r2] .px-card-img,body[data-r2] .ng-proof img,body[data-r2] .px-band{border-radius:2px}
body[data-r2] .px-band{margin:30px 0}
.r2-hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px;align-items:center;gap:44px;padding:48px 0 60px;position:relative}
.r2-hero-copy{position:relative;z-index:1;padding:28px 0}
.r2-hero-copy h1{font:500 clamp(42px,4.4vw,72px)/1.03 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;letter-spacing:-.055em!important;color:var(--r2-ink)!important;margin:24px 0!important;max-width:10.5em!important}
.r2-hero-copy p{font:400 17px/1.7 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--r2-muted);max-width:44ch;margin-bottom:22px}
.r2-hero-copy .ng-kicker,.r2-eyebrow{font:500 11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--r2-accent)}
.r2-hero-art{margin:0;position:relative;align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:center;background:#dce5e3;overflow:hidden}
.r2-hero-art img{display:block;width:100%;height:600px;object-fit:cover;flex:1;min-height:0}
.r2-hero-art.r2-equipment{background:#e4ebea}.r2-hero-art.r2-equipment img{object-fit:contain}
.r2-hero-art figcaption{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;font:11px/1.5 ui-monospace,monospace;color:var(--r2-muted);background:var(--r2-paper);border-bottom:1px solid var(--r2-line)}
.r2-hero-art figcaption a{color:inherit;text-underline-offset:3px}
.r2-hero-copy .hero-actions{flex-wrap:wrap}.r2-hero-copy .hero-proof{margin-top:28px}
body[data-r2=wshp] .r2-hero{max-width:1440px;margin:auto;padding:48px}
.r2-module{margin:10px 0 54px;border:1px solid var(--r2-line);background:#fff;position:relative;isolation:isolate}
.r2-module-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:34px 36px 28px;border-bottom:1px solid var(--r2-line)}
.r2-module h2{font:500 clamp(25px,3vw,40px)/1.12 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;color:var(--r2-ink);margin:9px 0 0}
.r2-module-header p{font:14px/1.65 system-ui;color:var(--r2-muted);max-width:36ch;margin:0}
.r2-module-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);min-height:450px}
.r2-stage{position:relative;overflow:hidden;background:#e8eeec;display:flex;align-items:center;justify-content:center;min-width:0}
.r2-stage>img{display:block;width:100%;height:500px;object-fit:contain}
.r2-controls{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:20px;background:#fcfcf9}
.r2-controls label{font:500 12px/1.5 system-ui;color:var(--r2-ink)}
.r2-controls select{width:100%;min-height:46px;border:1px solid var(--r2-line);background:#fff;color:var(--r2-ink);font:14px system-ui;padding:10px}
.r2-buttons{display:flex;flex-wrap:wrap;gap:6px}
.r2-module button{font:500 13px/1.4 system-ui;min-height:44px;border:1px solid var(--r2-line);background:#fff;color:var(--r2-ink);padding:10px 14px;cursor:pointer;border-radius:2px}
.r2-module button:hover{border-color:var(--r2-accent)}.r2-module button[aria-pressed=true]{background:var(--r2-ink);border-color:var(--r2-ink);color:#fff}
.r2-controls p{font:14px/1.7 system-ui;color:var(--r2-muted);margin:0}.r2-controls h3{font:500 22px/1.3 system-ui;letter-spacing:-.025em;margin:0;color:var(--r2-ink)}
.r2-controls .r2-caption{font-size:11px;border-top:1px solid var(--r2-line);padding-top:16px}
.r2-module-footer{padding:16px 36px;border-top:1px solid var(--r2-line);font:11px/1.65 ui-monospace,monospace;color:var(--r2-muted);display:flex;justify-content:space-between;gap:20px}
.r2-controls input[type=range]{width:100%;min-height:36px;accent-color:var(--r2-accent)}
.r2-svg{width:100%;height:auto;max-height:520px;display:block}
.r2-svg text{font:13px ui-monospace,monospace;fill:var(--r2-ink)}.r2-svg .minor{font-size:10px;fill:var(--r2-muted)}
.r2-flow{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:2 15;animation:r2flow 3s linear infinite;animation-play-state:paused;stroke:#cf6f42}
.r2-return{stroke:#56849b;animation-direction:reverse}.r2-running .r2-flow{animation-play-state:running}
[data-mode=cooling] .r2-flow{animation-direction:reverse;stroke:#56849b}[data-mode=cooling] .r2-return{animation-direction:normal;stroke:#cf6f42}
@keyframes r2flow{to{stroke-dashoffset:-136}}
.r2-node{opacity:.42;transition:opacity .35s ease,filter .35s ease}.r2-node.is-active{opacity:1;filter:drop-shadow(0 4px 7px #25485222)}
.r2-layer{transition:opacity .5s ease,transform .5s ease;transform-origin:50% 50%;opacity:0;transform:translateY(-14px)}
.r2-layer.is-active{opacity:1;transform:none}
.r2-coat-spark{stroke:#bb8ca1;stroke-width:2;stroke-dasharray:2 9}
body[data-r2] .mq-track{animation:none!important}
body[data-r2] .r2-fade{animation:r2fade .45s ease-out}@keyframes r2fade{from{opacity:.5}to{opacity:1}}
body[data-r2=wshp] .r2-module{max-width:1344px;width:calc(100% - 96px);margin:0 auto 70px}
@media(min-width:1450px){.r2-hero{gap:70px}.r2-hero-copy h1{font-size:72px!important}}
@media(max-width:1000px){body[data-r2] .ng-wrap{padding:0 28px}.r2-hero{gap:28px;min-height:590px}.r2-hero-art img{height:520px}.r2-module-header{align-items:flex-start}.r2-controls{padding:24px}.r2-module-body{grid-template-columns:1.35fr 1fr}.r2-stage>img{height:460px}}
@media(max-width:760px){body[data-r2] .ng-wrap{padding:0 20px}.r2-hero,body[data-r2=wshp] .r2-hero{display:flex;flex-direction:column;align-items:stretch;padding:26px 0 36px;gap:8px;min-height:0}body[data-r2=wshp] .r2-hero{padding:24px 20px 36px}.r2-hero-copy{padding:12px 0 20px}.r2-hero-copy h1{font-size:46px!important;max-width:12em!important;margin:18px 0!important}.r2-hero-copy p{font-size:16px}.r2-hero-art img{height:390px;max-height:390px}.r2-hero-art{align-self:auto}.r2-module-header{display:block;padding:24px}.r2-module-header p{margin-top:16px;max-width:none}.r2-module-body{display:flex;flex-direction:column;min-height:0}.r2-stage>img{height:380px}.r2-stage{min-height:300px}.r2-controls{padding:24px;gap:16px}.r2-module-footer{padding:16px 24px;display:block}.r2-module-footer span{display:block}.r2-module h2{font-size:30px}.r2-module{margin-bottom:38px}.r2-svg{min-height:300px}body[data-r2] .ng-section{padding:44px 0}body[data-r2] .ng-end{padding:28px}body[data-r2=wshp] .r2-module{margin:0 20px 44px;width:calc(100% - 40px)}.r2-hero-copy .hero-proof{font-size:12px}.r2-hero-art figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.r2-flow,.r2-running .r2-flow{animation:none!important}.r2-layer,.r2-node{transition:none}body[data-r2] .r2-fade{animation:none}body[data-r2] *,body[data-r2] *::before,body[data-r2] *::after{scroll-behavior:auto!important}}
/* Earlier explanatory paths remain available as static diagrams. */
body[data-r2] .flow-anim{animation:none}
body[data-r2] .hero-source-link{color:var(--r2-accent)!important}
body[data-r2] .r2-hero-copy .hero-kicker{color:var(--r2-accent)}

/* Keep every static service item reachable after removing the decorative marquee. */
body[data-r2] .mq{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scroll-snap-type:x proximity}
body[data-r2] .mq-track{transform:none}body[data-r2] .mq-card{scroll-snap-align:start}
.r2-arrow{transform-box:fill-box;transform-origin:center}
[data-mode=cooling] .r2-arrow{transform:rotate(180deg);stroke:#56849b}
[data-mode=cooling] .r2-return-arrow{stroke:#cf6f42}
.r2-original-link{font:13px/1.6 system-ui;margin-top:20px}
