/* VideoMedico — pagina Radiologia domiciliare */
.rx-team>*,.rx-faq>*,.rx-call>*,.rx-report>*{min-width:0}

/* ---------- HERO: lastra radiografica 3D ---------- */
.rx-hero .panel{align-items:center}
.rx-hero .side{justify-items:stretch}
.xr-stage{position:relative;width:100%;max-width:440px;margin-inline:auto;aspect-ratio:1/1.12;perspective:1300px}
.xr-tilt{position:absolute;inset:6% 12% 6% 12%;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .9s var(--ease-out)}
.xr-rig{position:absolute;inset:0;transform-style:preserve-3d;animation:xr-turn 12s var(--ease-io) infinite alternate}
@keyframes xr-turn{0%{transform:rotateX(12deg) rotateY(-26deg) rotateZ(-2deg)}100%{transform:rotateX(6deg) rotateY(22deg) rotateZ(2deg)}}
.xr-plate{position:absolute;inset:0;border-radius:22px;transform-style:preserve-3d}
.xr-back{transform:translateZ(-70px);background:linear-gradient(160deg,rgba(80,144,192,.35),rgba(14,40,67,.6));border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px rgba(0,0,0,.35)}
.xr-back .grid{position:absolute;inset:0;border-radius:inherit;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:22px 22px}
.xr-film{overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,#173A5E 0%,#0B1F35 70%);border:1px solid rgba(174,204,228,.3);box-shadow:inset 0 0 60px rgba(0,0,0,.55),0 30px 60px rgba(0,0,0,.3)}
.xr-film .bones{position:absolute;left:8%;top:5%;width:84%;height:90%;stroke-width:2.2}
.xr-film .bones.dim{color:rgba(174,204,228,.22);--lung:rgba(126,169,209,.05)}
.xr-film .dev{position:absolute;inset:0;clip-path:inset(0 0 100% 0);animation:xr-dev 4.4s linear infinite}
.xr-film .bones.lit{color:#E6F1FB;--lung:rgba(156,195,230,.16);filter:drop-shadow(0 0 6px rgba(156,195,230,.75))}
.lung{fill:var(--lung,none);stroke-width:1.4}
.sp{stroke-width:3}
@keyframes xr-dev{0%{clip-path:inset(0 0 100% 0);opacity:1}70%{clip-path:inset(0 0 0% 0);opacity:1}100%{clip-path:inset(0 0 0% 0);opacity:0}}
.xr-film .beam{position:absolute;left:0;right:0;top:0;height:100%;transform:translateY(-100%);animation:xr-beam 4.4s linear infinite;pointer-events:none}
.xr-film .beam::before{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(156,195,230,0),rgba(156,195,230,.32))}
.xr-film .beam::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-1px;height:3px;border-radius:3px;background:#fff;box-shadow:0 0 18px 4px rgba(156,195,230,.9),0 0 40px 10px rgba(82,155,205,.5)}
@keyframes xr-beam{0%{transform:translateY(-100%);opacity:1}70%{transform:translateY(0);opacity:1}78%,100%{transform:translateY(0);opacity:0}}
.xr-glass{transform:translateZ(64px);background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 45%,rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.22)}
.xr-glass .cn{position:absolute;width:26px;height:26px;border:2.5px solid #BCD2EA;opacity:.9}
.xr-glass .tl{left:14px;top:14px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.xr-glass .tr{right:14px;top:14px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.xr-glass .bl{left:14px;bottom:14px;border-right:0;border-top:0;border-radius:0 0 0 8px}
.xr-glass .br{right:14px;bottom:14px;border-left:0;border-top:0;border-radius:0 0 8px 0}
.xr-glass .hud{position:absolute;left:50%;top:18px;transform:translateX(-50%) translateZ(10px);display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:rgba(14,40,67,.6);border:1px solid rgba(255,255,255,.2);font-size:11.5px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.xr-glass .hud i{width:7px;height:7px;border-radius:50%;background:#5CE1A0;animation:blink 1.4s ease-in-out infinite}
.xr-glass .ruler{position:absolute;right:10px;top:22%;bottom:22%;width:8px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 1.5px,transparent 1.5px 12px)}
.xr-stage .fcard{animation:xr-float 7s ease-in-out infinite}
.xr-f1{right:-4%;bottom:14%}
.xr-f2{left:-6%;top:12%;animation-delay:-3.5s!important}
@keyframes xr-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
@media (max-width:860px){.xr-stage{max-width:380px;margin-top:10px}}
@media (max-width:520px){.xr-f1{right:-2%;bottom:6%}.xr-f2{left:-2%;top:4%}.xr-tilt{inset:8% 10%}}

/* ---------- TEAM ---------- */
.rx-team{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
.rx-role{grid-template-columns:auto 1fr;column-gap:22px}
.rx-role .rx-ic{grid-row:span 3;margin:0}
.rx-mission{grid-column:2;grid-row:1/span 2}
.rx-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 14px 26px rgba(32,80,128,.3);margin-bottom:10px}
.rx-ic svg{width:28px;height:28px}
.rx-mission{position:relative;display:grid;gap:18px;align-content:start;padding:clamp(24px,3vw,36px);border-radius:var(--r-xl);background:var(--mist);border:1px solid var(--mist-2);overflow:hidden}
.rx-quote{font-size:clamp(22px,2.1vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ink);text-wrap:balance}
.rx-pillars{list-style:none;margin:0;padding:0;display:grid;gap:0}
.rx-pillars li{position:relative;display:grid;gap:2px;padding:12px 0 12px 22px;border-top:1px solid var(--mist-2)}
.rx-pillars li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;border-radius:3px;background:var(--grad);transform:rotate(45deg);animation:rx-pulse 3.6s var(--ease-io) infinite}
.rx-pillars li:nth-child(2)::before{animation-delay:1.2s}.rx-pillars li:nth-child(3)::before{animation-delay:2.4s}
@keyframes rx-pulse{0%,30%,100%{transform:rotate(45deg) scale(1)}15%{transform:rotate(225deg) scale(1.35)}}
.rx-pillars b{font-size:17px;color:var(--b700)}
.rx-pillars span{font-size:15px;color:var(--ink-soft)}
@media (max-width:900px){.rx-team{grid-template-columns:1fr}.rx-mission{grid-column:auto;grid-row:auto}}
@media (max-width:520px){.rx-role{grid-template-columns:1fr}.rx-role .rx-ic{grid-row:auto;margin-bottom:6px}}

/* ---------- TELEMEDICINA: referto 3D ---------- */
.rx-report{position:relative;perspective:1400px;display:grid;place-items:center;min-height:420px}
.rx-doc{position:relative;width:min(340px,100%);background:#fff;color:var(--ink);border-radius:22px;padding:18px;display:grid;gap:12px;box-shadow:0 50px 100px rgba(0,0,0,.35);transform:rotateY(-16deg) rotateX(8deg) rotateZ(2deg);animation:rx-doc 9s ease-in-out infinite alternate}
@keyframes rx-doc{0%{transform:rotateY(-18deg) rotateX(10deg) rotateZ(2deg)}100%{transform:rotateY(-4deg) rotateX(4deg) rotateZ(-1deg) translateY(-8px)}}
.rx-doc .h{display:flex;align-items:center;gap:12px}
.rx-doc .h i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--mist-2);color:var(--b700);flex:none}
.rx-doc .h svg{width:20px;height:20px}
.rx-doc .h b{display:block;font-size:15px}
.rx-doc .h small{font-size:12.5px;color:var(--muted)}
.rx-doc .thumb{height:150px;border-radius:14px;background:radial-gradient(120% 90% at 50% 40%,#173A5E,#0B1F35 75%);display:grid;place-items:center;overflow:hidden}
.rx-doc .thumb svg{height:88%;width:auto;color:#D5E6F6;stroke-width:2.4;--lung:rgba(156,195,230,.14)}
.rx-doc .lines{display:grid;gap:8px}
.rx-doc .lines span{height:7px;border-radius:4px;background:var(--line);transform-origin:left;animation:rx-line 4.5s var(--ease-out) infinite}
.rx-doc .lines .m{width:82%;animation-delay:.15s}.rx-doc .lines .s{width:55%;animation-delay:.45s}.rx-doc .lines span:nth-child(3){animation-delay:.3s}
@keyframes rx-line{0%{transform:scaleX(0)}25%,100%{transform:scaleX(1)}}
.rx-doc .fmt{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;font-weight:700}
.rx-doc .fmt span{flex:1;text-align:center;padding:7px 8px;border-radius:999px;color:var(--muted);animation:rx-fmt 6s steps(1) infinite}
.rx-doc .fmt span+span{animation-delay:-3s}
@keyframes rx-fmt{0%{background:var(--b700);color:#fff}50%{background:transparent;color:var(--muted)}}
.rx-doc .share{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:12px;background:var(--b700);color:#fff;font-size:13.5px;font-weight:700}
.rx-doc .share svg{width:16px;height:16px}
.rx-clock{position:absolute;right:2%;top:2%;z-index:2;width:128px;height:128px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);box-shadow:0 20px 40px rgba(0,0,0,.25);animation:xr-float 6s ease-in-out infinite}
.rx-clock svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);transform:rotate(-90deg)}
.rx-clock circle{fill:none;stroke-width:6}
.rx-clock .trk{stroke:rgba(255,255,255,.14)}
.rx-clock .arc{stroke:#BCD2EA;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100;animation:rx-arc 6s var(--ease-io) infinite}
@keyframes rx-arc{0%{stroke-dashoffset:100}70%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
.rx-clock .v{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.rx-clock b{font-size:40px;letter-spacing:-.04em}
.rx-clock span{font-size:12.5px;font-weight:600;color:#BCD2EA;margin-top:2px}
@media (max-width:960px){.rx-report{min-height:0;padding:30px 0 10px}}
@media (max-width:520px){.rx-clock{width:100px;height:100px;right:-2%;top:0}.rx-clock b{font-size:30px}}

/* ---------- DOMANDE: elenco + risposta affiancati ---------- */
.rx-faq{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(20px,4vw,56px);align-items:stretch}
.rx-q{display:grid;gap:8px;align-content:start}
.rx-q button{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;width:100%;text-align:left;padding:14px 20px;border-radius:18px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:17px;color:var(--ink-soft);transition:color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .5s var(--ease-out)}
.rx-q .k{font-size:13px;font-weight:700;color:var(--line-strong);letter-spacing:.06em;transition:color .3s ease;flex:none}
.rx-q button::after{content:"";margin-left:auto;flex:none;width:10px;height:10px;border-right:2.5px solid currentColor;border-top:2.5px solid currentColor;transform:rotate(45deg);opacity:0;transition:opacity .3s ease,transform .4s var(--ease-out)}
.rx-q button[aria-selected="true"]{color:var(--ink);border-color:var(--b400);box-shadow:var(--sh-m);transform:translateX(8px)}
.rx-q button[aria-selected="true"] .k{color:var(--b600)}
.rx-q button[aria-selected="true"]::after{opacity:1;color:var(--b600)}
@media (hover:hover) and (pointer:fine){.rx-q button:hover{border-color:var(--b300);color:var(--ink)}}
.rx-a{position:relative;display:grid;border-radius:var(--r-2xl);background:var(--panel);color:#fff;overflow:hidden;isolation:isolate;min-height:400px;box-shadow:var(--sh-l)}
.rx-a::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(70% 70% at 80% 20%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 80% 20%,#000,transparent 75%)}
.ans{grid-area:1/1;display:grid;gap:16px;align-content:end;padding:clamp(26px,4vw,48px)}
.ans{visibility:hidden;transition:visibility 0s .4s}
.ans.on{visibility:visible;transition:none}
.ans>*{opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .6s var(--ease-out)}
.ans.on>*{opacity:1;transform:none}
.ans.on>*:nth-child(3){transition-delay:.07s}.ans.on>*:nth-child(4){transition-delay:.14s}
.ans .big{position:absolute;right:clamp(18px,3vw,36px);top:clamp(6px,2vw,18px);font-size:clamp(80px,10vw,140px);font-weight:700;letter-spacing:-.06em;line-height:1;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));-webkit-background-clip:text;background-clip:text;color:transparent}
.ans h3{font-size:clamp(26px,2.8vw,38px);color:#fff}
.ans p{font-size:18px;color:#D8E6F4;max-width:46ch}
.rx-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.1)}
.rx-prog i{display:block;height:100%;background:linear-gradient(90deg,#AECCE4,#fff);transform:scaleX(0);transform-origin:left}
.rx-faq.auto .rx-prog i{animation:rx-prog 7s linear forwards}
@keyframes rx-prog{to{transform:scaleX(1)}}
@media (max-width:860px){
  .rx-faq{grid-template-columns:1fr}
  .rx-q button[aria-selected="true"]{transform:none}
  .rx-a{min-height:300px}
}

/* ---------- PRENOTA ---------- */
.rx-book .panel{align-items:center}
.rx-call{display:grid;gap:18px;justify-items:start}
.rx-phone{display:flex;align-items:center;gap:18px;padding:16px 28px 16px 16px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--sh-l);max-width:100%;transition:transform .2s var(--ease-out)}
.rx-phone:active{transform:scale(.98)}
.rx-phone .ring{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--b700);color:#fff;flex:none}
.rx-phone .ring::before,.rx-phone .ring::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--b400);animation:ring 2.4s var(--ease-out) infinite}
.rx-phone .ring::after{animation-delay:1.2s}
.rx-phone .ring svg{width:28px;height:28px;animation:wiggle 2.4s ease-in-out infinite}
.rx-phone small{display:block;font-size:13.5px;font-weight:600;color:var(--muted)}
.rx-phone b{display:block;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.rx-alt{display:flex;flex-wrap:wrap;gap:12px}
@media (hover:hover) and (pointer:fine){.rx-phone:hover{transform:translateY(-3px)}}
@media (max-width:520px){.rx-phone{padding:12px 18px 12px 12px;gap:12px;width:100%}.rx-phone .ring{width:52px;height:52px}.rx-alt .btn{flex:1 1 100%}.rx-hero .hero-ctas .btn{flex:1 1 100%}}
