/* Concrete and roofing interaction pass */
.tcx-cure{position:relative;min-height:850px;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;padding:7vw 6vw;background:#10110f;color:#f4f1e8;isolation:isolate}
.tcx-cure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);animation:tcxCureDrift 18s ease-in-out infinite alternate}
.tcx-cure:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,8,6,.9) 0,rgba(7,8,6,.58) 48%,rgba(7,8,6,.12) 100%),linear-gradient(0deg,rgba(7,8,6,.8),transparent 60%)}
.tcx-cure:after{content:"";position:absolute;left:-20%;top:0;width:12%;height:100%;background:linear-gradient(90deg,transparent,rgba(184,255,0,.2),transparent);transform:skewX(-18deg);animation:tcxScan 8s ease-in-out infinite;pointer-events:none}
.tcx-cure-copy{max-width:720px}.tcx-cure-copy h2{font-size:clamp(68px,7.2vw,126px);margin:22px 0;max-width:850px}.tcx-cure-copy p{max-width:560px;color:#d1d0c8;font:16px/1.8 Arial,sans-serif}.tcx-cure-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:rgba(255,255,255,.25)}
.tcx-cure-stages span{padding:18px;background:rgba(12,13,11,.78);color:#a9aaa2;font-size:10px;line-height:1.5;text-transform:uppercase}.tcx-cure-stages b{display:block;margin-bottom:8px;color:#b8ff00;font:700 19px 'Barlow Condensed',sans-serif}
.tcx-strength{justify-self:end;width:min(390px,100%);padding:34px;background:rgba(12,13,11,.85);border:1px solid rgba(184,255,0,.65);backdrop-filter:blur(14px);box-shadow:18px 18px 0 rgba(184,255,0,.14)}
.tcx-strength>span{display:block;color:#b8ff00;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.tcx-strength>b{display:block;margin-top:20px;font:700 clamp(70px,7vw,112px)/.8 'Barlow Condensed',sans-serif}.tcx-strength>i{display:block;margin:14px 0 35px;color:#bebfb7;font-style:normal;letter-spacing:.16em}.tcx-strength em{position:relative;display:block;padding:13px 0 10px;color:#d9dad2;font-style:normal;font-size:10px;text-transform:uppercase;border-bottom:2px solid #45463f;overflow:hidden}.tcx-strength em:after{content:"";position:absolute;left:0;bottom:-2px;width:var(--p);height:2px;background:#b8ff00;transform-origin:left;animation:tcxLoad 2.2s ease both}
.tcx-control li,.tcx-ledger .tcx-row,.tcx-numbers article{transition:transform .25s ease,background .25s ease,color .25s ease}.tcx-control li:hover{transform:translateX(12px);background:rgba(184,255,0,.06)}.tcx-ledger .tcx-row:hover{transform:translateX(-8px);background:#fff}.tcx-numbers article:hover{background:#0b0b0b;color:#b8ff00;transform:translateY(-8px)}
@keyframes tcxCureDrift{to{transform:scale(1.035) translateX(-.8%)}}@keyframes tcxScan{0%,20%{left:-20%;opacity:0}45%{opacity:1}75%,100%{left:115%;opacity:0}}@keyframes tcxLoad{from{transform:scaleX(0)}}

.rrx{--mx:50%;--my:20%;overflow:clip}.rrx-response{position:relative;overflow:hidden;isolation:isolate}.rrx-response>img{transition:transform .8s cubic-bezier(.2,.8,.2,1);animation:rrxStormBreath 14s ease-in-out infinite alternate}.rrx-response:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;background:repeating-linear-gradient(112deg,transparent 0 32px,rgba(255,255,255,.28) 33px,transparent 35px);background-size:180% 100%;animation:rrxWeather 9s linear infinite}.rrx-response-copy{position:relative;z-index:3}.rrx-response-path span{transition:transform .3s ease,background .3s ease}.rrx-response-path span:hover{transform:translateY(-10px);background:#ff561f;color:#fff}
.rrx-services{position:relative;isolation:isolate}.rrx-services:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,86,31,.18),transparent 30%)}.rrx-services article{position:relative;overflow:hidden;will-change:transform;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.rrx-services article:before{content:"";position:absolute;inset:-2px;background:linear-gradient(125deg,transparent 28%,rgba(255,255,255,.1) 50%,transparent 72%);transform:translateX(-120%);transition:transform .7s ease}.rrx-services article:hover{border-color:#ff7c50;box-shadow:0 28px 60px rgba(0,0,0,.32)}.rrx-services article:hover:before{transform:translateX(120%)}.rrx-services article i{filter:drop-shadow(0 0 14px rgba(255,86,31,.5));animation:rrxIconPulse 2.4s ease-in-out infinite}
.rrx-case{overflow:hidden}.rrx-compare{position:relative;display:block;min-height:650px;overflow:hidden;background:#061c36;--reveal:58%}.rrx-compare figure{position:absolute;inset:0}.rrx-compare img{width:100%;height:100%;min-height:650px;object-fit:cover}.rrx-compare .rrx-after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.rrx-compare .rrx-before span{right:18px;left:auto}.rrx-compare-line{position:absolute;left:var(--reveal);top:0;bottom:0;width:3px;background:#ff561f;transform:translateX(-50%);box-shadow:0 0 28px rgba(255,86,31,.7);pointer-events:none}.rrx-compare-line:after{content:"↔";position:absolute;left:50%;top:50%;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#ff561f;color:#fff;font:700 22px Arial;transform:translate(-50%,-50%);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.rrx-compare label{position:absolute;left:50%;bottom:26px;z-index:4;width:min(420px,72%);padding:12px 16px;background:rgba(2,13,25,.84);color:#fff;text-align:center;text-transform:uppercase;font-size:10px;letter-spacing:.12em;transform:translateX(-50%);backdrop-filter:blur(12px)}.rrx-compare input{display:block;width:100%;margin-top:10px;accent-color:#ff561f;cursor:ew-resize}
.rrx-claim{position:relative;overflow:hidden}.rrx-claim:after{content:"";position:absolute;inset:-40%;pointer-events:none;background:repeating-linear-gradient(118deg,transparent 0 70px,rgba(255,255,255,.08) 71px 73px,transparent 74px 145px);animation:rrxClaimSweep 16s linear infinite}.rrx-claim>div,.rrx-claim>ul{position:relative;z-index:1}.rrx-claim li{transition:padding .25s ease,background .25s ease}.rrx-claim li:hover{padding-left:22px;background:rgba(6,28,54,.11)}
.rrx-proof article{position:relative;overflow:hidden;transition:background .3s ease,transform .3s ease}.rrx-proof article:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:#ff561f;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.rrx-proof article:hover{background:#092746;transform:translateY(-10px)}.rrx-proof article:hover:after{transform:scaleX(1)}.rrx-radar-map{filter:saturate(1.18)}.rrx-radar li{transition:transform .25s ease,color .25s ease}.rrx-radar li:hover{transform:translateX(14px);color:#fff}
.rrx [data-roof-reveal]{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.rrx [data-roof-reveal].is-visible{opacity:1;transform:none}
@keyframes rrxStormBreath{to{transform:scale(1.045) translateX(1%)}}@keyframes rrxWeather{to{background-position:-180% 0}}@keyframes rrxIconPulse{50%{transform:translateY(-5px);filter:drop-shadow(0 0 25px rgba(255,86,31,.85))}}@keyframes rrxClaimSweep{to{transform:translateX(18%)}} 
@media(max-width:800px){.tcx-cure{min-height:980px;grid-template-columns:1fr;align-content:end;gap:28px;padding:70px 18px}.tcx-cure:before{background:linear-gradient(0deg,rgba(7,8,6,.96) 0,rgba(7,8,6,.72) 65%,rgba(7,8,6,.14) 100%)}.tcx-cure>img{object-position:64% center}.tcx-cure-copy h2{font-size:clamp(56px,16vw,78px)}.tcx-cure-stages{grid-template-columns:1fr}.tcx-strength{justify-self:start;box-shadow:8px 8px 0 rgba(184,255,0,.14)}.rrx-compare{min-height:440px}.rrx-compare img{min-height:440px}.rrx-compare label{width:82%;bottom:18px}.rrx-response:before{opacity:.1}}
@media(prefers-reduced-motion:reduce){.tcx-cure>img,.tcx-cure:after,.tcx-strength em:after,.rrx-response>img,.rrx-response:before,.rrx-services article i,.rrx-claim:after{animation:none!important}.rrx [data-roof-reveal]{opacity:1;transform:none}}
