/* Listo premium layer for every inner page (30 Oct 2026). Loaded after theme-rv.css; scoped to body.pm. */
body.pm{background:#0B1B2B;color:#C9DAEA}
body.pm main{background:#0B1B2B}
body.pm #lm3d{display:none!important}
body.pm h1,body.pm h2,body.pm h3,body.pm h4{color:#fff}
body.pm a{color:#9CC8EE}
body.pm .btn,body.pm .rv-btn{color:#fff}

/* ---- hero: cinematic ---- */
body.pm .sub-hero .sh-img{overflow:hidden}
body.pm .sub-hero .sh-img img{transform:scale(1.14) translate3d(0,var(--pm-py,0px),0) scaleX(var(--pm-flip,1));animation:pmKen 14s cubic-bezier(.2,.6,.2,1) forwards;will-change:transform}
@keyframes pmKen{from{transform:scale(1.14) translate3d(0,var(--pm-py,0px),0) scaleX(var(--pm-flip,1))}to{transform:scale(1.03) translate3d(0,var(--pm-py,0px),0) scaleX(var(--pm-flip,1))}}
body.pm .sub-hero.pm-flip .sh-img img{--pm-flip:-1}
body.pm .sub-hero .sh-img:after{background:linear-gradient(90deg,rgba(11,27,43,.94) 0%,rgba(11,27,43,.72) 45%,rgba(11,27,43,.25) 100%),linear-gradient(0deg,#0B1B2B 0%,rgba(11,27,43,0) 28%)}
body.pm .sub-hero .sh-txt>*{opacity:0;transform:translate3d(0,26px,0);animation:pmUp .9s cubic-bezier(.2,.75,.2,1) forwards}
body.pm .sub-hero .sh-txt>*:nth-child(1){animation-delay:.1s}body.pm .sub-hero .sh-txt>*:nth-child(2){animation-delay:.2s}
body.pm .sub-hero .sh-txt>*:nth-child(3){animation-delay:.32s}body.pm .sub-hero .sh-txt>*:nth-child(4){animation-delay:.46s}
body.pm .sub-hero .sh-txt>*:nth-child(5){animation-delay:.6s}body.pm .sub-hero .sh-txt>*:nth-child(6){animation-delay:.72s}
@keyframes pmUp{to{opacity:1;transform:none}}
body.pm .sub-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#9CC8EE}
body.pm .sub-hero .eyebrow:before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,#4C9FE0)}
body.pm .sub-hero h1{letter-spacing:-.01em;line-height:1.03;text-wrap:balance}
body.pm .pm-scroll{position:absolute;left:50%;bottom:26px;width:22px;height:34px;margin-left:-11px;border:2px solid rgba(255,255,255,.5);border-radius:12px;z-index:2}
body.pm .pm-scroll:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:pmDot 1.6s infinite}
@keyframes pmDot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

/* ---- body ---- */
body.pm .rv-body{position:relative;color:#C9DAEA}
body.pm .rv-body:before{content:"";position:absolute;left:-30vw;right:-30vw;top:0;height:520px;pointer-events:none;z-index:-1;
  background:radial-gradient(40% 60% at 15% 10%,rgba(76,159,224,.12),transparent 70%)}
body.pm .rv-body>h2{color:#fff;letter-spacing:-.01em;line-height:1.08}
body.pm .rv-body>h2:before{width:56px;height:3px;background:linear-gradient(90deg,#4C9FE0,#9CC8EE);box-shadow:0 0 16px rgba(76,159,224,.6);border-radius:2px}
body.pm .rv-body>h3{color:#fff}
body.pm .rv-body p,body.pm .rv-body li{color:#B9CCDE;line-height:1.7}
body.pm .rv-body strong{color:#fff}
body.pm .fine{color:#7F9BB5!important}
body.pm table{background:rgba(255,255,255,.03)!important;border:1px solid rgba(156,200,238,.16)!important;border-radius:18px!important;overflow:hidden;border-collapse:separate;border-spacing:0;box-shadow:0 20px 50px rgba(0,0,0,.25)}
body.pm th{background:rgba(76,159,224,.1)!important;color:#9CC8EE!important;border-color:rgba(156,200,238,.14)!important;letter-spacing:.12em}
body.pm td{color:#DCE8F3!important;border-color:rgba(156,200,238,.1)!important;transition:background .25s}
body.pm tr:hover td{background:rgba(76,159,224,.07)}
body.pm td.p{color:#fff!important;font-weight:700;font-family:var(--rv-display);font-size:1.08rem}
body.pm .box,body.pm .grid>div{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02))!important;border:1px solid rgba(156,200,238,.16)!important;border-radius:18px!important;color:#C9DAEA}
body.pm .box.hi{border-left:3px solid #4C9FE0!important;box-shadow:inset 10px 0 30px -18px rgba(76,159,224,.6)}
body.pm details{background:rgba(255,255,255,.03)!important;border:1px solid rgba(156,200,238,.14)!important;border-radius:16px!important;margin:10px 0;transition:border-color .3s,background .3s}
body.pm details[open]{background:rgba(76,159,224,.07)!important;border-color:rgba(76,159,224,.45)!important;box-shadow:0 18px 40px rgba(0,0,0,.25)}
body.pm summary{color:#fff!important}
body.pm summary:after,body.pm summary::marker{color:#4C9FE0}
body.pm details p{color:#B9CCDE}
body.pm .areas span{background:rgba(255,255,255,.04)!important;border:1px solid rgba(156,200,238,.2)!important;border-radius:999px!important;color:#DCE8F3!important;transition:border-color .3s,background .3s,transform .3s}
body.pm .areas span:hover{border-color:#4C9FE0!important;background:rgba(76,159,224,.14)!important;transform:translateY(-2px)}
body.pm .avail{background:rgba(255,255,255,.05)!important;border-color:rgba(156,200,238,.2)!important;color:#DCE8F3!important}
body.pm .crumb a{color:#AFC0D0}

/* sticky side panel (desktop) */
body.pm .pm-aside{display:none}
@media (min-width:1180px){
  body.pm .rv-body:has(.pm-aside)>*:not(.pm-aside){max-width:min(50rem,calc(100% - 380px))!important}
  body.pm .pm-aside{display:block;position:absolute;top:clamp(48px,6vw,80px);right:clamp(16px,4vw,40px);bottom:40px;width:330px}
  body.pm .pm-card{position:sticky;top:104px;border-radius:24px;overflow:hidden;border:1px solid rgba(156,200,238,.18);background:#0E2236;box-shadow:0 30px 70px rgba(0,0,0,.4)}
  body.pm .pm-card .ph{position:relative;aspect-ratio:4/5;overflow:hidden}
  body.pm .pm-card .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s cubic-bezier(.2,.75,.2,1)}
  body.pm .pm-card:hover .ph img{transform:scale(1.14)}
  body.pm .pm-card .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,34,54,0) 45%,#0E2236 100%)}
  body.pm .pm-card .in{padding:0 22px 22px;margin-top:-52px;position:relative}
  body.pm .pm-card .eyebrow{color:#9CC8EE;font-size:.72rem;margin:0 0 8px}
  body.pm .pm-card b{display:block;color:#fff;font-family:var(--rv-display);font-size:1.3rem;line-height:1.2;margin-bottom:16px}
  body.pm .pm-card .btn{width:100%;justify-content:center}
  body.pm .pm-card small{display:block;margin-top:12px;color:#7F9BB5;font-size:.8rem;text-align:center}
}

/* final CTA: photo band */
body.pm .rv-final{position:relative;overflow:hidden;isolation:isolate;background:#0B1B2B!important;background-image:none!important}
body.pm .rv-final:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--pm-bg) center/cover no-repeat;transform:scale(1.08);filter:saturate(.9)}
body.pm .rv-final:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 50% 50%,rgba(11,27,43,.72),rgba(11,27,43,.95)),linear-gradient(180deg,#0B1B2B 0%,rgba(11,27,43,0) 25%,rgba(11,27,43,0) 75%,#0B1B2B 100%)}
body.pm .rv-final h2{font-size:clamp(2.4rem,5vw,4rem)}
body.pm .rv-final .btn-wa{box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:pmPulse 2.6s infinite}
@keyframes pmPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* bands (other services, reformas sections) */
body.pm .rv-band,body.pm .rv-light,body.pm .rv-grey{background:#0B1B2B!important;color:#C9DAEA}
body.pm .rv-band.rv-grey,body.pm .rv-more-sec{background:linear-gradient(180deg,#0B1B2B,#0E2236)!important}
body.pm .rv-eb{color:#9CC8EE!important}
body.pm .rv-hd h2{color:#fff}
body.pm .rv-lk,body.pm .rv-why-i,body.pm .rv-who-i,body.pm .rv-proj,body.pm .plan-step,body.pm .card,body.pm .hc-opt{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015))!important;border:1px solid rgba(156,200,238,.16)!important;border-radius:20px!important;color:#C9DAEA!important;overflow:hidden}
body.pm .rv-lk{transition:border-color .35s,transform .35s,background .35s,box-shadow .35s}
body.pm .rv-lk:hover{border-color:rgba(76,159,224,.7)!important;transform:translateY(-5px);background:linear-gradient(160deg,rgba(76,159,224,.16),rgba(255,255,255,.03))!important;box-shadow:0 24px 50px rgba(0,0,0,.35)}
body.pm .rv-lk h3,body.pm .rv-why-i h3,body.pm .rv-who-i h3,body.pm .rv-proj h3{color:#fff}
body.pm .rv-lk p,body.pm .rv-why-i p,body.pm .rv-who-i p,body.pm .rv-proj p{color:#A9C2DA!important}
body.pm .rv-ic{background:rgba(76,159,224,.14)!important;border:1px solid rgba(76,159,224,.3);border-radius:12px;color:#9CC8EE!important}
body.pm .rv-go{color:#9CC8EE!important}
body.pm .rv-lang a{color:#9CC8EE}
body.pm .rv-num{color:#4C9FE0!important}

/* legal / plain pages */
body.pm main>.wrap>h1,body.pm main>.wrap>h2{color:#fff}
body.pm main>.wrap p,body.pm main>.wrap li{color:#B9CCDE}

/* scroll reveal (complements motion.js) */
body.pm .pm-rv{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.75,.2,1)}
body.pm .pm-rv.pm-in{opacity:1;transform:none}

@media (max-width:760px){
  body.pm .sub-hero{min-height:92svh!important;align-items:flex-end!important;padding:96px 0 40px!important}
  body.pm .sub-hero .sh-img:after{background:linear-gradient(180deg,rgba(11,27,43,.35) 0%,rgba(11,27,43,.15) 22%,rgba(11,27,43,.7) 50%,rgba(11,27,43,.95) 72%,#0B1B2B 100%)}
  body.pm .sub-hero .crumb{display:none}
  body.pm .pm-scroll{display:none}
  body.pm table{border-radius:14px!important}
}
@media (prefers-reduced-motion:reduce){
  body.pm .sub-hero .sh-img img,body.pm .sub-hero .sh-txt>*,body.pm .rv-final .btn-wa{animation:none!important;opacity:1!important;transform:none!important}
  body.pm .pm-rv{opacity:1;transform:none;transition:none}
}
/* every text colour the light theme set, re-mapped for the dark layer */
body.pm main :is(p,li,dd,dt,small,em,figcaption,blockquote,address,label){color:#B9CCDE}
body.pm main :is(strong,b,dt){color:#fff}
body.pm main :is(.rv-proj-b,.rv-why-i,.rv-who-i,.rv-lk) :is(p,li,span,small){color:#A9C2DA}
body.pm main :is(.rv-proj-b,.rv-why-i,.rv-who-i,.rv-lk) :is(h3,h4,b,strong){color:#fff}
body.pm main .btn :is(span,b),body.pm main .rv-btn :is(span,b){color:inherit}
body.pm main a:not(.btn):not(.rv-btn):not(.rv-lk) span{color:inherit}
body.pm main .rv-accent{color:#4C9FE0}
/* "Other services" cards: photo backgrounds */
body.pm .rv-lk{position:relative;isolation:isolate;justify-content:flex-end;min-height:300px;padding:24px!important}
body.pm .rv-lk>.rv-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}
body.pm .rv-lk:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,27,43,.2) 0%,rgba(11,27,43,.62) 38%,rgba(11,27,43,.97) 100%);transition:opacity .4s}
body.pm .rv-lk:hover>.rv-bg{transform:scale(1.12)}
body.pm .rv-lk .rv-ic{display:none}
body.pm .rv-lk h3,body.pm .rv-lk h3 span{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.55)}
body.pm .rv-lk p{color:#C9DAEA!important;flex:0 0 auto}
body.pm .rv-lk:hover{background:none!important}
