/* PluginPip 2027 / sculptural, URL-aware hero scenes. No orbit or circle animation. */
.pp-folio:has(.pp-subject-art) .pp-folio-hero{background:linear-gradient(118deg,#170b2f 6%,#230e43 60%,#30134c 100%);}
.pp-folio:has(.pp-subject-art) .pp-folio-hero::before{content:none!important;display:none!important}
.pp-folio:has(.pp-subject-art) .pp-folio-hero::after{content:none!important;display:none!important}
.pp-folio:has(.pp-subject-art) .pp-folio-hero__inner{grid-template-columns:minmax(0,1fr) minmax(330px,.98fr);gap:clamp(1.2rem,3vw,3.7rem)}
.pp-subject-art{--scene-lime:#c9f53d;position:relative;isolation:isolate;width:100%;min-height:445px;display:flex;align-items:center;justify-content:center;overflow:visible}
.pp-subject-art *{box-sizing:border-box}
.pp-subject-art__grid{position:absolute;inset:4% -5% 1% 6%;opacity:.36;background:linear-gradient(90deg,transparent 97%,rgba(213,191,255,.22) 98%),linear-gradient(0deg,transparent 97%,rgba(213,191,255,.15) 98%);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black 28%,black 76%,transparent);transform:skewY(-10deg);pointer-events:none}
.pp-subject-art__beam{position:absolute;width:130%;height:2px;left:-10%;background:linear-gradient(90deg,transparent,rgba(189,142,255,.75),transparent);transform:rotate(-28deg);pointer-events:none}
.pp-subject-art__beam--one{top:28%}.pp-subject-art__beam--two{bottom:20%;opacity:.42;transform:rotate(-28deg) translateY(95px)}
.pp-subject-art__watermark{position:absolute;top:5%;left:-5%;max-width:110%;font-size:clamp(4rem,7.3vw,8.3rem);line-height:.82;font-weight:950;letter-spacing:-.09em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(214,185,255,.18);opacity:.8;white-space:nowrap;overflow:hidden;pointer-events:none}
.pp-subject-art__coordinate{position:absolute;top:9%;right:2%;color:#d6bfef;font-size:.58rem;letter-spacing:.17em;font-weight:800;writing-mode:vertical-rl}
.pp-subject-art__scene{position:relative;width:min(100%,570px);height:390px;isolation:isolate;perspective:950px}
.pp-subject-art__backplate{position:absolute;left:13%;top:19%;width:76%;height:65%;transform:skewY(-17deg) rotate(-3deg);border-top:2px solid rgba(198,163,255,.5);border-left:2px solid rgba(198,163,255,.24);background:repeating-linear-gradient(90deg,transparent 0 57px,rgba(191,163,240,.14) 58px 59px),linear-gradient(145deg,rgba(113,61,180,.12),rgba(67,26,119,.05));clip-path:polygon(0 0,100% 0,100% 76%,78% 100%,0 100%);filter:drop-shadow(0 28px 50px rgba(15,2,32,.34))}
.pp-subject-art__backplate span{position:absolute;left:8%;height:2px;background:linear-gradient(90deg,rgba(201,245,61,.7),transparent);width:80%}
.pp-subject-art__backplate span:nth-child(1){top:24%}.pp-subject-art__backplate span:nth-child(2){top:44%;width:45%}.pp-subject-art__backplate span:nth-child(3){top:65%;width:64%}.pp-subject-art__backplate span:nth-child(4){top:83%;width:32%}
.pp-subject-art__visual{position:absolute;z-index:2;inset:3% 6% 5% 6%;display:flex;flex-direction:column;justify-content:space-between;filter:drop-shadow(0 28px 22px rgba(16,5,37,.32));transform:perspective(1100px) rotateY(-9deg) rotateX(4deg) translateY(0);transition:transform .55s cubic-bezier(.2,.85,.25,1)}
.pp-subject-art:hover .pp-subject-art__visual{transform:perspective(1100px) rotateY(-4deg) rotateX(1deg) translateY(-8px)}
.pp-subject-art__visual-id{align-self:flex-start;padding-left:.9rem;border-left:4px solid var(--scene-lime);color:#f3eaff;font-size:.67rem;font-weight:850;letter-spacing:.19em;text-transform:uppercase;text-shadow:0 2px 12px rgba(11,5,30,.75)}
.pp-subject-art__visual svg{display:block;flex:1;width:100%;height:285px;max-height:315px;overflow:visible}
.pp-subject-art__drawing{stroke:#f1dbff;stroke-width:5.5;fill:rgba(111,67,177,.1);stroke-linecap:square;stroke-linejoin:bevel;filter:drop-shadow(0 0 13px rgba(199,144,252,.4))}
.pp-subject-art__drawing .hi{stroke:var(--scene-lime);stroke-width:7;fill:none;filter:drop-shadow(0 0 7px rgba(201,245,61,.25))}
.pp-subject-art__visual-caption{align-self:flex-end;max-width:75%;color:var(--scene-lime);font-size:.64rem;font-weight:850;letter-spacing:.14em;text-align:right}
.pp-subject-art__floating-spec{position:absolute;z-index:3;right:-1%;top:31%;display:flex;flex-direction:column;gap:9px;align-items:flex-end;padding:.8rem 0 .8rem .9rem;border-right:3px solid var(--scene-lime);background:linear-gradient(90deg,transparent,rgba(39,17,71,.75));color:#ede2fb;letter-spacing:.08em;font-size:.53rem;font-weight:780;transform:translateY(0);transition:transform .45s ease}
.pp-subject-art:hover .pp-subject-art__floating-spec{transform:translateY(7px)}
.pp-subject-art__floating-spec i{display:block;width:86px;height:11px;background:linear-gradient(90deg,var(--scene-lime) 0 32%,rgba(201,245,61,.24) 32% 67%,rgba(201,245,61,.1) 67%);transform:skewX(-22deg)}
.pp-subject-art__floating-spec b{font-size:.53rem;font-weight:740;color:#d8c3e8}
.pp-subject-art__accent-rule{position:absolute;z-index:2;left:8%;bottom:13%;width:65%;height:4px;transform:skewX(-30deg);background:linear-gradient(90deg,var(--scene-lime) 0 46%,rgba(224,202,255,.45) 46% 75%,transparent 75%)}
.pp-subject-art__footer{position:absolute;left:3%;bottom:0;right:3%;display:flex;justify-content:space-between;gap:1rem;align-items:end;color:#dcc9f2;letter-spacing:.11em;font-size:.6rem;font-weight:800;line-height:1.4;text-transform:uppercase}
.pp-subject-art__footer span:first-child{max-width:65%;overflow-wrap:anywhere}.pp-subject-art__footer span:last-child{white-space:nowrap;color:var(--scene-lime)}
.pp-subject-art--search{--scene-lime:#c9f53d}.pp-subject-art--commerce{--scene-lime:#c9f53d}.pp-subject-art--security{--scene-lime:#b9f4a5}
.pp-subject-art--cloud .pp-subject-art__visual svg{transform:translateY(-8px) scale(1.06)}
.pp-subject-art--code .pp-subject-art__visual svg,.pp-subject-art--integration .pp-subject-art__visual svg{transform:scale(1.05)}
/* Older theme contains generic circular texture; remove it only for contextual pages. */
.pp-folio:has(.pp-subject-art) .pp-folio-art__orbit,.pp-folio:has(.pp-subject-art) .pp-folio-art__spark{display:none!important}
@media(max-width:1050px){.pp-folio:has(.pp-subject-art) .pp-folio-hero__inner{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:1.5rem}.pp-subject-art{min-height:375px}.pp-subject-art__scene{height:340px}.pp-subject-art__watermark{font-size:5rem}}
@media(max-width:780px){.pp-folio:has(.pp-subject-art) .pp-folio-hero__inner{grid-template-columns:1fr}.pp-subject-art{width:min(100%,550px);min-height:370px;margin:auto}.pp-subject-art__scene{height:355px}.pp-subject-art__watermark{font-size:clamp(4rem,12vw,6rem)}}
@media(max-width:520px){.pp-subject-art{min-height:300px}.pp-subject-art__scene{height:285px}.pp-subject-art__visual{inset:7% 7% 8%}.pp-subject-art__visual svg{height:210px;max-height:230px}.pp-subject-art__floating-spec{right:0;top:38%;font-size:.49rem}.pp-subject-art__floating-spec i{width:50px}.pp-subject-art__floating-spec b{display:none}.pp-subject-art__footer{font-size:.52rem}.pp-subject-art__watermark{top:8%;font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){.pp-subject-art__visual,.pp-subject-art__floating-spec{transition:none!important}.pp-subject-art:hover .pp-subject-art__visual,.pp-subject-art:hover .pp-subject-art__floating-spec{transform:none!important}}


/* Complete-site extension: distinct landing pages and WordPress templates. */
.pp-stage:has(> .pp-subject-art),.pp-stage:has(.pp-stage__inner > .pp-subject-art),.pp-service-detail-hero:has(> .pp-subject-art),.pp-has-context-scene{position:relative;isolation:isolate;background:linear-gradient(115deg,#180b30,#23103e 64%,#321449);overflow:hidden}
.pp-stage:has(> .pp-subject-art) > .pp-subject-art,
.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-subject-art,
.pp-service-detail-hero > .pp-subject-art,
.pp-has-context-scene > .pp-subject-art{
 position:absolute;z-index:1;right:clamp(1rem,4vw,6rem);left:auto;top:50%;width:min(46%,680px);max-width:680px;transform:translateY(-44%);pointer-events:none
}
.pp-stage:has(> .pp-subject-art) .pp-stage__inner,
.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner,
.pp-service-detail-hero:has(> .pp-subject-art) > .container,
.pp-has-context-scene > .container{position:relative;z-index:2}
.pp-stage:has(> .pp-subject-art) .pp-stage__inner > .pp-stage__headline,
.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-stage__headline{
 max-width:60%;font-size:clamp(4rem,7.5vw,9rem);line-height:.98;overflow-wrap:anywhere
}
.pp-stage:has(> .pp-subject-art) .pp-stage__inner > .pp-stage__headline span,
.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-stage__headline span{max-width:100%}
.pp-stage:has(> .pp-subject-art) .pp-stage__aside,
.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__aside{position:relative;z-index:4;max-width:min(45%,480px)}
.pp-stage:has(.pp-subject-art) .pp-legacy-hero-visual{display:none!important}
.pp-stage--about:has(.pp-subject-art) .pp-stage__field{display:none}
.pp-stage--about:has(.pp-subject-art) .pp-about-headline__highlight{box-shadow:none;transform:none}
.pp-stage--about:has(.pp-subject-art) .pp-about-headline{margin:3rem 0 1.5rem}
.pp-stage--journal:has(.pp-subject-art) .pp-journal-headline{margin:3rem 0}
.pp-stage--work:has(.pp-subject-art) .pp-work-headline{margin:3rem 0 2rem}
.pp-stage--contact:has(.pp-subject-art) .pp-contact-headline{margin:3rem 0}
.pp-stage--services:has(.pp-subject-art) .pp-services-hero__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:clamp(1rem,2.6vw,3.5rem);align-items:center}
.pp-stage--services:has(.pp-subject-art) .pp-services-hero__copy{min-width:0;position:relative;z-index:3}
.pp-stage--services:has(.pp-subject-art) .pp-services-hero__visual.pp-legacy-hero-visual{display:none!important}
.pp-stage--services:has(.pp-subject-art) .pp-services-hero__layout > .pp-subject-art{position:relative;inset:auto;width:100%;max-width:650px;transform:none;min-width:0}
.pp-stage--services:has(.pp-subject-art) .pp-services-headline{font-size:clamp(3.7rem,6.6vw,8rem);max-width:100%}
.pp-service-detail-hero:has(> .pp-subject-art) > .container h1{max-width:61%;font-size:clamp(4rem,7.5vw,9.5rem);margin-bottom:2rem}
.pp-service-detail-hero:has(> .pp-subject-art) .pp-service-detail-hero__bottom{max-width:57%}
.pp-service-detail-hero:has(> .pp-subject-art) .pp-service-detail-hero__symbol{display:none!important}
.pp-service-detail-hero:has(> .pp-subject-art) .pp-service-detail-hero__bottom p{max-width:100%}
.pp-has-context-scene{min-height:710px}
.pp-has-context-scene > .container h1{position:relative;z-index:2;max-width:60%;font-size:clamp(4rem,7.5vw,9.5rem)}
.pp-has-context-scene > .container .pp-post__intro,
.pp-has-context-scene > .container > p,
.pp-has-context-scene > .container > .pp-case-detail__chips{position:relative;z-index:3;max-width:60%}
.pp-has-context-scene > .container .pp-post__intro{flex-wrap:wrap}
.pp-has-context-scene > .container .pp-post__intro span{white-space:normal}
.pp-archive-hero.pp-has-context-scene > .container h1{max-width:60%}
@media(max-width:950px){
 .pp-stage:has(> .pp-subject-art) > .pp-subject-art,.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-subject-art,.pp-service-detail-hero > .pp-subject-art,.pp-has-context-scene > .pp-subject-art{right:0;width:48%}
 .pp-stage:has(> .pp-subject-art) .pp-stage__inner > .pp-stage__headline,.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-stage__headline{font-size:clamp(3.4rem,7.2vw,7rem)}
 .pp-stage--services:has(.pp-subject-art) .pp-services-hero__layout{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr)}
}
@media(max-width:720px){
 .pp-stage:has(> .pp-subject-art),.pp-stage:has(.pp-stage__inner > .pp-subject-art){padding-top:145px;padding-bottom:60px;min-height:0}
 .pp-stage:has(> .pp-subject-art) > .pp-subject-art,
 .pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-subject-art,
 .pp-service-detail-hero > .pp-subject-art,.pp-has-context-scene > .pp-subject-art{position:relative;top:auto;right:auto;left:auto;transform:none;width:100%;max-width:520px;min-height:290px;margin:1rem auto 1.5rem}
 .pp-stage:has(> .pp-subject-art) > .pp-subject-art,.pp-service-detail-hero > .pp-subject-art,.pp-has-context-scene > .pp-subject-art{order:2}
 .pp-stage:has(> .pp-subject-art) .pp-stage__inner,.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner{min-height:0}
 .pp-stage:has(> .pp-subject-art) .pp-stage__inner > .pp-stage__headline,
 .pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__inner > .pp-stage__headline{max-width:100%;font-size:clamp(3.35rem,11vw,6.5rem);margin:2rem 0 1rem}
 .pp-stage:has(> .pp-subject-art) .pp-stage__aside,.pp-stage:has(.pp-stage__inner > .pp-subject-art) .pp-stage__aside{max-width:100%}
 .pp-stage--services:has(.pp-subject-art) .pp-services-hero__layout{grid-template-columns:1fr}
 .pp-stage--services:has(.pp-subject-art) .pp-services-headline{font-size:clamp(3.2rem,10vw,6.2rem)}
 .pp-service-detail-hero:has(> .pp-subject-art){display:flex;flex-direction:column;padding:150px 0 3rem;min-height:0}
 .pp-service-detail-hero:has(> .pp-subject-art) > .container{order:1}
 .pp-service-detail-hero:has(> .pp-subject-art) > .container h1{max-width:100%;font-size:clamp(3.6rem,9vw,6.5rem)}
 .pp-service-detail-hero:has(> .pp-subject-art) .pp-service-detail-hero__bottom{max-width:100%}
 .pp-has-context-scene{display:flex;flex-direction:column;padding:150px 0 3rem;min-height:0}
 .pp-has-context-scene > .container{order:1}
 .pp-has-context-scene > .container h1,.pp-has-context-scene > .container .pp-post__intro,.pp-has-context-scene > .container > p,.pp-has-context-scene > .container > .pp-case-detail__chips{max-width:100%}
 .pp-has-context-scene > .container h1{font-size:clamp(3.3rem,9vw,6.2rem);margin:2rem 0}
}
@media(max-width:480px){
 .pp-stage:has(.pp-subject-art) .pp-stage__eyebrow{font-size:.62rem}
 .pp-stage--about:has(.pp-subject-art) .pp-about-headline__highlight{width:auto}
 .pp-stage--services:has(.pp-subject-art) .pp-service-morph{display:none!important}
}

/* Final responsive safeguard for landing pages with an external scene sibling. */
@media(max-width:720px){
 .pp-stage:has(> .pp-subject-art){flex-direction:column;align-items:stretch}
 .pp-stage:has(> .pp-subject-art) > .container{width:100%}
 .pp-stage:has(> .pp-subject-art) > .pp-subject-art{flex:none;align-self:center}
}
@media(min-width:721px){
 .pp-stage--about:has(.pp-subject-art) .pp-about-headline{font-size:clamp(4rem,6.6vw,8.3rem);max-width:53%}
 .pp-stage--about:has(.pp-subject-art) .pp-about-headline>span{width:auto;max-width:100%}
}
