/* v9: poster-series heroes. Same frame, different composition. */
.pz.v4-hero{display:block;min-height:0;padding:0;border-bottom:1px solid var(--line)}
.pz .sheet{position:relative;height:max(640px,calc(100svh - 73px));container-type:size;overflow:hidden;background:var(--paper)}
.pz .cr{position:absolute;top:var(--pad);display:grid;gap:2px;font:10px/1.35 RTCRoman,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;z-index:5}
.pz .ctl{left:var(--pad)}.pz .ctr{right:var(--pad);text-align:right}
.pz .note{position:absolute;margin:0;width:min(230px,44cqw);font:12px/1.45 RTCRoman,Arial,sans-serif;z-index:5}
.pz .lock{position:absolute;left:var(--pad);bottom:var(--pad);font:700 clamp(15px,1.6cqw,22px)/1 RTC,Arial,sans-serif;letter-spacing:-.01em;z-index:5}
.pz .t9{font-family:RTC,Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.02em;line-height:.86;margin:0}
.pz .t9 span{display:block;white-space:nowrap}
.pz .t9{position:relative;font-size:inherit}
.pz .sheet h1.ts,.pz .sheet h1.tc,.pz .sheet h1.tr,.pz .sheet h1.tl{position:absolute}
.pz .ts,.pz .tc,.pz .tr,.pz .tl,.pz .rp{position:absolute;z-index:3}
/* motion */
.pz .k{position:absolute;display:block;transition:transform .9s var(--ease) var(--d),opacity .5s ease var(--d)}
.pz .dot{width:var(--s);height:var(--s);margin:calc(var(--s)/-2) 0 0 calc(var(--s)/-2);border-radius:50%;background:var(--c);transform:scale(0);z-index:2}
.pz .dot.top{z-index:4}
.pz .px{width:2.3cqmin;height:2.3cqmin;margin-left:-1.15cqmin;background:var(--c);opacity:0;transform:translateY(-1cqmin)}
.pz.in .k{transform:none;opacity:1}
/* 1 social */
.pz1 .ts{left:50%;top:50%;transform:translate(-50%,-50%);font-size:min(16cqh,15cqw);text-align:center}
.pz1 .ts span{transform:translateX(var(--o))}
.pz1 .note{left:var(--pad);top:46%}
/* 2 ai */
.pz2 .tc{left:50%;top:50%;transform:translate(-50%,-50%);font-size:min(12.5cqh,12cqw);text-align:center}
.pz2 .note{right:var(--pad);bottom:var(--pad)}
/* 3 maps */
.pz3 .tr{right:var(--pad);bottom:calc(var(--pad) + 6cqh);font-size:min(13cqh,12cqw);text-align:right}
.pz3 .note{left:var(--pad);bottom:calc(var(--pad) + 44px)}
.pz3 .ln{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.pz3 .ln polyline{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 2.2s var(--ease) .2s}
.pz3.in .ln polyline{stroke-dashoffset:0}
/* 4 ads */
.pz4 .rp{left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + 40px);line-height:.8}
.pz4 .rp .t9{line-height:.8}
.pz4 .rp span{display:inline;margin-right:.22em}.pz4 .rp span:last-child{margin-right:0}
.pz4 .rp div.t9{opacity:0;transform:translateY(.15em);transition:opacity .6s ease var(--d),transform .9s var(--ease) var(--d)}
.pz4.in .rp div.t9{opacity:1;transform:none}
.pz4 .rp>*{white-space:nowrap}
.pz4 .note{right:var(--pad);top:calc(var(--pad) + 52px)}
/* 5 seo */
.pz5 .row{position:absolute;left:var(--pad);top:66%;width:50cqw;display:flex;align-items:flex-end;transform:translateY(-100%);z-index:2}
.pz5 .br{position:relative;display:block}
.pz5 .br::before{content:"";position:absolute;inset:0;background:var(--c);transform:scaleY(0);transform-origin:bottom;transition:transform .9s var(--ease) var(--d)}
.pz5.in .br::before{transform:none}
.pz5 .lk{position:absolute;left:0;bottom:calc(100% + 8px);font:700 clamp(15px,1.6cqw,22px)/1 RTC,Arial,sans-serif;white-space:nowrap}
.pz5 .tl{left:var(--pad);top:calc(66% + 14px)}
.pz5 .tl span{display:inline}.pz5 .tl span+span{margin-left:.24em}
.pz5 .note{right:var(--pad);bottom:var(--pad)}
/* 6 website */
.pz6 .rot{position:absolute;left:50%;top:50%;width:260cqmax;height:260cqmax;margin:-130cqmax 0 0 -130cqmax;transform:rotate(-28deg);z-index:1}
.pz6 .sg{position:absolute;height:3cqmin;margin-top:-1.5cqmin;background:var(--c);transform:translateX(-40cqmin);opacity:0;transition:transform 1.2s var(--ease) var(--d),opacity .4s ease var(--d)}
.pz6.in .sg{transform:none;opacity:1}
.pz6 .t3{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:6.6cqmin;white-space:nowrap}
.pz6 .t3 .t9{line-height:.92}
.pz6 .cr,.pz6 .note,.pz6 .lock{background:var(--paper);padding:5px 7px;margin:-5px -7px}
.pz6 .ctr{transform:rotate(-28deg);transform-origin:100% 0}
.pz6 .note{left:calc(var(--pad) + 2cqw);bottom:calc(var(--pad) + 13cqh);transform:rotate(-28deg);transform-origin:0 100%}
@media(max-width:700px){
 .pz .sheet{height:175vw;min-height:560px}
 .pz .note{width:48cqw;font-size:11px}
 .pz1 .note{left:auto;right:var(--pad);top:auto;bottom:var(--pad)}
 .pz2 .tc{font-size:11cqw}
 .pz3 .tr{bottom:calc(var(--pad) + 22cqh);font-size:14cqw}
 .pz5 .row{width:calc(100cqw - 2*var(--pad));top:62%}
 .pz5 .tl{top:calc(62% + 10px)}.pz5 .tl span{display:block}.pz5 .tl span+span{margin-left:0}
 .pz4 .rp span{display:block;width:fit-content;margin:0}
 .pz6 .t3{font-size:5.4cqmin}
 .pz5 .lk{font-size:13px}
 .pz6 .note{bottom:calc(var(--pad) + 9cqh)}
}
@media(prefers-reduced-motion:reduce){.pz .k,.pz .sg,.pz4 .rp div.t9,.pz5 .br::before{transition:none!important;transform:none!important;opacity:1!important}.pz3 .ln polyline{transition:none;stroke-dashoffset:0}}
@media(max-width:1100px){.pz1 .note{left:auto;right:var(--pad);top:auto;bottom:var(--pad)}}
/* ---- v9 living motion (homepage-style) ---- */
.pz3 .ln polyline{transition:stroke-dashoffset 1.8s var(--ease) .2s}
.pz3.live .ln polyline{transition:none}
@keyframes p9pulse{0%,100%{scale:1}50%{scale:1.28}}
.pz3.live .dot{animation:p9pulse 2.8s ease-in-out infinite;animation-delay:calc(var(--d) * 2)}
.pz5 .br::before{scale:1 var(--h,1);transform-origin:bottom}
.pz6 .sg,.pz .dot,.pz .px,.pz4 .rp>.t9{will-change:transform}
/* first frame: hide pieces that JS must size */
.pz3 .ln{visibility:hidden}.pz3 .ln.ok{visibility:visible}
.pz .fit{visibility:hidden}.pz .fit.ok{visibility:visible}
/* lower sections: homepage reveal (fade up, staggered) */
.ads8 .v5-row,.ads8 .v4-faq details,.ads8 .v5-list .v4-meta,.ads8 .v4-faq .v4-meta,.ads8 .a8-contact>*{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .9s var(--ease)}
.ads8 .rv.in9{opacity:1;transform:none}
.ads8 .v5-row:nth-child(2),.ads8 details:nth-of-type(2),.ads8 .a8-contact>*:nth-child(2){transition-delay:.08s}
.ads8 .v5-row:nth-child(3){transition-delay:.16s}.ads8 .v5-row:nth-child(4){transition-delay:.24s}
.ads8 .v5-row h2 i{transform:scale(0);transition:transform .6s var(--ease) .35s}.ads8 .v5-row.in9 h2 i{transform:none}
@media(prefers-reduced-motion:reduce){.ads8 .v5-row,.ads8 details,.ads8 .v4-meta,.ads8 .a8-contact>*,.ads8 .v5-row h2 i{opacity:1!important;transform:none!important;transition:none!important}.pz3 .dot{animation:none!important}.pz3 .ln polyline{stroke-dashoffset:0!important}}
