/* Our Platform v2 (page-platform-v2.php). Builds on home-v5.css tokens. Oct 19 rework. */
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
.v5.pf .pf-i { width:22px; height:22px; }
.v5.pf ul, .v5.pf ol { list-style:none; margin:0; padding:0; }
.v5.pf p { margin:0; }
.v5.pf .pf-mock { flex:0 0 auto; display:inline-block; font-size:11px; line-height:16px; font-weight:700; letter-spacing:.22px; text-transform:uppercase; padding:1px 8px; border-radius:10px; background:#FFF3DC; color:#8A5A00; }
.v5.pf .pf-cta { display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; }
.v5.pf .pf-link { display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--cta); text-decoration:none; }
.v5.pf .pf-link--light { color:#cfe3ff; } .v5.pf .pf-link:hover { text-decoration:underline; }

/* ===== 1. Hero: narrator sidebar + facility scene ===== */
.v5.pf .pfh { position:relative; overflow:hidden; background:radial-gradient(1100px 700px at 68% 50%,#121a33 0,#070A14 72%); color:#cdd6f0; isolation:isolate; }
.v5.pf .pfh__in { display:grid; grid-template-columns:minmax(320px,400px) 1fr; min-height:min(calc(100svh - 76px),880px); max-width:1560px; margin:0 auto; }
/* sidebar narrator */
.v5.pf .pfh__side { position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; gap:28px; padding:48px 28px 48px clamp(20px,3vw,48px); }
.v5.pf .pfh__steps { display:flex; flex-direction:column; gap:6px; }
.v5.pf .pfh__steps li { display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; color:#5f6a8f; transition:color .4s; }
.v5.pf .pfh__steps i { font-style:normal; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1.5px solid #34406a; font-size:13px; color:#8e9ac0; transition:all .4s; }
.v5.pf .pfh.is-dark .s-dark, .v5.pf .pfh.is-lit .s-lit, .v5.pf .pfh.is-flood .s-flood, .v5.pf .pfh.is-done .s-done { color:#fff; }
.v5.pf .pfh.is-dark .s-dark i { background:#1D1D1B; border-color:#8e9ac0; color:#fff; }
.v5.pf .pfh.is-lit .s-lit i { background:#4DAAE8; border-color:#4DAAE8; color:#fff; }
.v5.pf .pfh.is-flood .s-flood i { background:#F7CA50; border-color:#F7CA50; color:#1D1D1B; }
.v5.pf .pfh.is-done .s-done i { background:#98C355; border-color:#98C355; color:#1D1D1B; }
.v5.pf .pfh.is-lit .s-dark i, .v5.pf .pfh.is-flood .s-dark i, .v5.pf .pfh.is-flood .s-lit i, .v5.pf .pfh.is-done .s-dark i, .v5.pf .pfh.is-done .s-lit i, .v5.pf .pfh.is-done .s-flood i { border-color:#98C355; color:#98C355; }
.v5.pf .pfh__say { position:relative; min-height:9.5em; }
.v5.pf .pfh__say p { position:absolute; inset:0 0 auto 0; font-size:clamp(28px,2.5vw,38px); line-height:1.15; font-weight:600; color:#fff; letter-spacing:-.01em; opacity:0; transform:translateY(10px); transition:opacity .7s ease, transform .7s ease; }
.v5.pf .pfh__say p span { display:block; color:#8fb8ff; }
.v5.pf .pfh.is-dark .say-dark, .v5.pf .pfh.is-lit .say-lit, .v5.pf .pfh.is-flood .say-flood { opacity:1; transform:none; }
.v5.pf .pfh.is-done .pfh__say { display:none; }
.v5.pf .pfh__copy { display:none; }
.v5.pf .pfh.is-done .pfh__copy { display:block; animation:pfh-up .7s ease both; }
@keyframes pfh-up { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.v5.pf .pfh h1 { color:#fff; font-size:clamp(34px,3.3vw,50px); line-height:1.05; letter-spacing:-.015em; margin:0 0 18px; }
.v5.pf .pfh h1 span { display:block; background:linear-gradient(90deg,#4DAAE8,#98C355 55%,#F7CA50); -webkit-background-clip:text; background-clip:text; color:transparent; }
.v5.pf p.pfh__lead { font-size:17px; line-height:1.55; color:#cdd6f0; margin-bottom:24px; }
.v5.pf .pfh .pf-cta { flex-direction:column; align-items:flex-start; gap:14px; }
.v5.pf .pfh__replay { align-self:flex-start; background:rgba(255,255,255,.08); color:#cdd6f0; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:10px 16px; min-height:44px; font:600 13px var(--font); cursor:pointer; }
.v5.pf .pfh__replay:hover { background:rgba(255,255,255,.16); } .v5.pf .pfh__replay:focus-visible { outline:2px solid #4DAAE8; outline-offset:2px; }
/* scene */
.v5.pf .pfh__scene { position:relative; z-index:1; min-height:560px; }
.v5.pf .pfh.is-done .pfh__in { grid-template-columns:minmax(440px,520px) 1fr; }
.v5.pf .pfh .v5-btn { white-space:nowrap; }
.v5.pf .pfh__in { transition:grid-template-columns .6s ease; }
.v5.pf .pfh__bld { position:absolute; left:50%; top:50%; width:min(100%,1060px); aspect-ratio:1800/965; transform:translate(-50%,-50%); }
.v5.pf .pfh__img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:opacity 1.1s ease, filter 1.1s ease; -webkit-mask:radial-gradient(closest-side,#000 75%,transparent); mask:radial-gradient(closest-side,#000 75%,transparent); }
.v5.pf .pfh__img--off { opacity:.55; filter:brightness(.5); } .v5.pf .pfh__img--on { opacity:0; }
.v5.pf .pfh:not(.is-dark) .pfh__img--on { opacity:1; } .v5.pf .pfh:not(.is-dark) .pfh__img--off { opacity:0; }
.v5.pf .pfh.is-flood .pfh__img--on { filter:brightness(.8); }
.v5.pf .pfh__flash { position:absolute; inset:10%; border-radius:50%; background:radial-gradient(closest-side,rgba(77,170,232,.55),transparent); opacity:0; }
.v5.pf .pfh.is-lit .pfh__flash { animation:pfh-flash 1.2s ease-out; }
@keyframes pfh-flash { 0% { opacity:0; transform:scale(.6); } 25% { opacity:1; } 100% { opacity:0; transform:scale(1.4); } }
/* hotspots on the real icons */
.v5.pf .pfh-hs { position:absolute; left:calc(var(--x) * 1%); top:calc(var(--y) * 1%); width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:var(--c); box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 14px var(--c); opacity:0; transform:scale(.4); transition:opacity .3s, transform .3s; }
.v5.pf .c-b { --c:#4DAAE8; } .v5.pf .c-g { --c:#98C355; } .v5.pf .c-y { --c:#F7CA50; } .v5.pf .c-r { --c:#DB4B46; }
.v5.pf .pfh-hs.is-on { opacity:1; transform:scale(1); }
/* tags + leader lines (positions set by JS) */
.v5.pf .pfh__lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.v5.pf .pfh__lines line { stroke:rgba(205,214,240,.7); stroke-width:1.2; stroke-dasharray:1 3; stroke-linecap:round; opacity:0; transition:opacity .3s; }
.v5.pf .pfh__lines line.is-on { opacity:1; }
.v5.pf .pfh__tags { position:absolute; inset:0; pointer-events:none; }
.v5.pf .pfh-tag { position:absolute; left:0; top:0; width:136px; padding:7px 10px 7px 12px; background:#fff; border:1px solid #E3E7F2; border-left:3px solid var(--c); border-radius:10px; box-shadow:0 10px 26px rgba(0,0,0,.35); color:#0D1758; opacity:0; transform:translate(var(--tx,0),var(--ty,0)) scale(.85); transition:opacity .35s ease, transform .35s ease; will-change:transform,opacity; }
.v5.pf .pfh-tag.is-on { opacity:1; transform:translate(var(--tx,0),var(--ty,0)); }
.v5.pf .pfh-tag b { display:block; font-size:11.5px; line-height:14px; font-weight:700; color:#0D1758; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v5.pf .pfh-tag__row { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:3px; }
.v5.pf .pfh-tag svg { width:48px; height:16px; flex:0 0 auto; }
.v5.pf .pfh-tag polyline { fill:none; stroke:var(--c); stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; }
.v5.pf .pfh-tag em { font-style:normal; font-size:11.5px; font-weight:700; color:#4E7A1F; font-variant-numeric:tabular-nums; }
/* final: the facility stays softly alive; tags gather into the card */
.v5.pf .pfh.is-done .pfh__img--on { filter:saturate(.85) brightness(.62) blur(1.5px); transition:filter 1.6s ease; }
.v5.pf .pfh.is-done .pfh-hs { opacity:.35; transition:opacity 1.2s; }
.v5.pf .pfh.is-done .pfh__lines line { opacity:0; transition:opacity .5s; }
.v5.pf .pfh-tag.is-gather { opacity:0; transform:translate(var(--gx),var(--gy)) scale(.35); transition:opacity .7s ease calc(var(--k2,0) * 45ms), transform .9s cubic-bezier(.5,0,.2,1) calc(var(--k2,0) * 45ms); }
.v5.pf .pfh-tag.is-ambient { opacity:.28; filter:blur(.4px); transition:opacity 1.2s ease; }
/* left column, final composition */
.v5.pf .pfh.is-done .pfh__steps { display:none; }
.v5.pf .pfh__end { display:flex; align-items:center; gap:14px; }
.v5.pf .pfh__prog { display:none; gap:4px; }
.v5.pf .pfh__prog i { width:18px; height:3px; border-radius:2px; background:#98C355; opacity:.85; }
.v5.pf .pfh__prog i:nth-child(1) { background:#4DAAE8; } .v5.pf .pfh__prog i:nth-child(3) { background:#F7CA50; }
.v5.pf .pfh.is-done .pfh__prog { display:inline-flex; }
.v5.pf .pfh.is-done .pfh__side { gap:0; }
.v5.pf .pfh.is-done .pfh__copy .v5-eyebrow { margin-bottom:22px; }
.v5.pf .pfh.is-done h1 { margin-bottom:22px; }
.v5.pf .pfh.is-done p.pfh__lead { margin-bottom:30px; max-width:30em; }
.v5.pf .pfh.is-done .pfh__end { margin-top:34px; }
.v5.pf .pfh__replay { padding:8px 14px; min-height:40px; font-size:12.5px; color:#aab6d8; }
/* summary card */
.v5.pf .pfh-sum { position:absolute; z-index:4; left:50%; top:50%; width:min(440px,92%); transform:translate(-50%,-46%) scale(.97); background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.7); border-radius:22px; padding:26px 26px 18px; color:#0D1758; box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 2px 6px rgba(7,10,20,.12),0 30px 80px -10px rgba(7,10,20,.55),0 0 0 1px rgba(13,23,88,.04); backdrop-filter:blur(18px) saturate(1.2); -webkit-backdrop-filter:blur(18px) saturate(1.2); opacity:0; visibility:hidden; transition:opacity .8s ease .5s, transform .9s cubic-bezier(.2,.7,.2,1) .5s, visibility 0s 1.4s; }
.v5.pf .pfh.is-done .pfh-sum { opacity:1; visibility:visible; transform:translate(-50%,-50%); transition:opacity .8s ease .5s, transform .9s cubic-bezier(.2,.7,.2,1) .5s; }
.v5.pf .pfh-sum__head { padding-bottom:18px; }
.v5.pf p.pfh-sum__kick { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.v5.pf .pfh-sum__live { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#6B7395; }
.v5.pf .pfh-sum__live i { width:6px; height:6px; border-radius:50%; background:#98C355; box-shadow:0 0 0 3px rgba(152,195,85,.22); animation:pfh-pulse 2.4s ease-in-out infinite; }
@keyframes pfh-pulse { 50% { box-shadow:0 0 0 6px rgba(152,195,85,0); } }
.v5.pf p.pfh-sum__title { font-size:21px; line-height:1.2; font-weight:700; letter-spacing:-.01em; color:#0D1758; }
.v5.pf p.pfh-sum__sub { font-size:13px; color:#8F96B0; margin-top:4px; }
.v5.pf .pfh-acc { border-top:1px solid #ECEFF6; }
.v5.pf .pfh-acc__btn { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; width:100%; padding:18px 2px; background:none; border:0; cursor:pointer; text-align:left; font:inherit; color:#0D1758; border-radius:12px; }
.v5.pf .pfh-acc__btn:focus-visible { outline:2px solid #4DAAE8; outline-offset:2px; }
.v5.pf .pfh-acc__n { min-width:2.1ch; font-size:46px; line-height:1; font-weight:700; letter-spacing:-.03em; font-variant-numeric:tabular-nums lining-nums; font-feature-settings:"tnum" 1,"lnum" 1; }
.v5.pf .pfh-acc--save .pfh-acc__n { color:#5E9B2A; } .v5.pf .pfh-acc--iss .pfh-acc__n { color:#DB4B46; }
.v5.pf .pfh-acc__t { font-size:16px; font-weight:700; color:#0D1758; line-height:1.25; }
.v5.pf .pfh-acc__t small { display:block; font-size:13px; font-weight:600; color:#8F96B0; margin-top:3px; }
.v5.pf .pfh-acc__chev { position:relative; width:32px; height:32px; border-radius:50%; background:#F3F5FA; transition:background .2s, transform .35s cubic-bezier(.2,.7,.2,1); }
.v5.pf .pfh-acc__chev::before { content:""; position:absolute; left:11px; top:9px; width:8px; height:8px; border-right:1.8px solid #6B7395; border-bottom:1.8px solid #6B7395; transform:rotate(45deg); }
.v5.pf .pfh-acc__btn:hover .pfh-acc__chev { background:#E9EDF6; }
.v5.pf .pfh-acc__btn[aria-expanded="true"] .pfh-acc__chev { transform:rotate(180deg); }
.v5.pf .pfh-acc__wrap { display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1), visibility 0s .45s; }
.v5.pf .pfh-acc.is-open .pfh-acc__wrap { grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1); }
.v5.pf .pfh-acc__body { overflow:hidden; min-height:0; }
.v5.pf .pfh-acc__body ol { padding:0 2px 14px; }
.v5.pf .pfh-acc__body li { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:11px 0; border-top:1px solid #F1F3F8; opacity:0; transform:translateY(-4px); transition:opacity .35s, transform .35s; }
.v5.pf .pfh-acc.is-open .pfh-acc__body li { opacity:1; transform:none; }
.v5.pf .pfh-acc.is-open .pfh-acc__body li:nth-child(2) { transition-delay:.05s; } .v5.pf .pfh-acc.is-open .pfh-acc__body li:nth-child(3) { transition-delay:.1s; }
.v5.pf .pfh-acc__body b { display:block; font-size:13.5px; line-height:1.35; font-weight:600; color:#0D1758; }
.v5.pf .pfh-acc__body small { display:block; font-size:12.5px; color:#8F96B0; margin-top:2px; }
.v5.pf .pfh-acc__body em { font-style:normal; text-align:right; font-size:15px; font-weight:700; color:#0D1758; font-variant-numeric:tabular-nums; white-space:nowrap; }
.v5.pf .pfh-acc__body em small { margin-top:0; font-size:11px; font-weight:600; }
.v5.pf .pfh-dotr { flex:0 0 auto; width:8px; height:8px; margin-top:6px; border-radius:50%; background:#DB4B46; } .v5.pf .pfh-dotr--y { background:#F7CA50; }
.v5.pf p.pfh-sum__foot { font-size:11.5px; color:#A3A9C2; padding-top:12px; border-top:1px solid #ECEFF6; }
/* no JS: final state */
html:not(.pf-js) .v5.pf .pfh__say, html:not(.pf-js) .v5.pf .pfh__steps { display:none; } html:not(.pf-js) .v5.pf .pfh__copy { display:block; }
html:not(.pf-js) .v5.pf .pfh-sum { opacity:1; visibility:visible; transform:translate(-50%,-50%); }
html:not(.pf-js) .v5.pf .pfh__img--on { opacity:1; filter:saturate(.85) brightness(.62) blur(1.5px); }
@media (max-width:1023px) {
	.v5.pf .pfh__in, .v5.pf .pfh.is-done .pfh__in { display:flex; flex-direction:column; min-height:0; }
	.v5.pf .pfh__side { display:contents; }
	.v5.pf .pfh__steps { order:1; flex-direction:row; flex-wrap:nowrap; gap:6px; padding:18px 20px 0; }
	.v5.pf .pfh.is-done .pfh__steps { display:flex; }
	.v5.pf .pfh__steps li { font-size:0; gap:0; padding:2px; border-radius:999px; background:rgba(255,255,255,.05); }
	.v5.pf .pfh__steps i { width:22px; height:22px; font-size:11px; }
	.v5.pf .pfh.is-dark .s-dark, .v5.pf .pfh.is-lit .s-lit, .v5.pf .pfh.is-flood .s-flood, .v5.pf .pfh.is-done .s-done { font-size:12px; gap:5px; padding:2px 10px 2px 2px; }
	.v5.pf .pfh__say { order:2; min-height:3.6em; margin:12px 20px 0; }
	.v5.pf .pfh.is-done .pfh__say { display:block; }
	.v5.pf .pfh.is-done .say-done { opacity:1; transform:none; }
	.v5.pf .pfh__say p { font-size:22px; }
	.v5.pf .pfh__scene { order:3; height:400px; min-height:0; }
	.v5.pf .pfh__bld { width:150%; }
	.v5.pf .pfh-sum { width:calc(100% - 32px); padding:20px 20px 14px; }
	.v5.pf .pfh.is-open-acc .pfh__scene { height:auto; min-height:400px; padding:16px; }
	.v5.pf .pfh.is-open-acc .pfh-sum { position:relative; left:auto; top:auto; transform:none; width:100%; }
	.v5.pf .pfh__copy, .v5.pf .pfh.is-done .pfh__copy { display:block; order:4; padding:8px 20px 44px; animation:none; }
	.v5.pf .pfh__end { position:absolute; right:16px; top:14px; margin:0 !important; }
	.v5.pf .pfh__prog { display:none !important; }
	.v5.pf .pfh__replay { min-height:36px; padding:6px 12px; }
	.v5.pf .pfh-acc__n { font-size:38px; }
}
@media (max-width:760px) {
	.v5.pf .pfh-tag--x, .v5.pf .pfh-hs:not(.is-keep) { display:none; }
	.v5.pf .pfh-tag { width:112px; padding:5px 8px 5px 9px; }
	.v5.pf .pfh-tag b { font-size:10.5px; } .v5.pf .pfh-tag svg { width:34px; } .v5.pf .pfh-tag em { font-size:10.5px; }
	.v5.pf .pfh .pf-cta { width:100%; } .v5.pf .pfh .v5-btn { width:100%; justify-content:center; }
	.v5.pf .pfh-acc__btn { gap:14px; }
}
@media (prefers-reduced-motion:reduce) { .v5.pf .pfh *, .v5.pf .pfh { animation:none !important; transition:none !important; } }

/* ===== 2. Real screens ===== */
.v5.pf .pf-tour .v5-head { margin-bottom:clamp(32px,4vw,56px); }
.v5.pf .pf-show { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,4.5vw,72px); align-items:center; padding:clamp(32px,4.5vw,60px) 0; border-top:1px solid var(--line); }
.v5.pf .pf-show--flip { grid-template-columns:1.2fr .8fr; } .v5.pf .pf-show--flip .pf-show__txt { order:2; }
.v5.pf p.pf-show__kick { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#3649A8; margin-bottom:12px; }
.v5.pf .pf-show__kick span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#EEF1FB; letter-spacing:0; font-size:12px; }
.v5.pf .pf-show h3 { font-size:clamp(26px,2.7vw,36px); line-height:1.12; margin:0 0 14px; }
.v5.pf .pf-show__txt > p:not(.pf-show__kick):not(.pf-so) { font-size:17px; line-height:1.6; color:var(--body); }
.v5.pf p.pf-so { margin-top:16px; display:inline-block; font-weight:600; color:#3d6e12; background:#EDF6E2; padding:8px 14px; border-radius:999px; font-size:15px; }
.v5.pf .pf-show__shot { margin:0; }
.v5.pf .pf-show__shot img { display:block; width:100%; height:auto; border-radius:18px; border:1px solid var(--line); background:#E5E5E5; box-shadow:0 40px 80px -40px rgba(13,23,88,.45),0 2px 6px rgba(13,23,88,.06); }
.v5.pf .pf-show__shot figcaption { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:12px; font-size:13px; color:var(--faint); }
html.pf-js .v5.pf [data-pf-reveal] { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }
html.pf-js .v5.pf [data-pf-reveal].is-in { opacity:1; transform:none; }

/* ===== 3. Every facility (dark) ===== */
.v5.pf .pf-any { background:radial-gradient(900px 500px at 50% 0%,#1b2a5c 0,#0E1424 70%); color:#cdd6f0; }
.v5.pf .pf-any h2 { color:#fff; }
.v5.pf .pf-any .v5-head > p:not(.v5-eyebrow) { color:#aab6d8; }
.v5.pf .pf-any__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:12px; }
.v5.pf .pf-any__grid li { padding:24px 22px; border-radius:20px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.v5.pf .pf-any__grid .pf-i { width:40px; height:40px; padding:9px; border-radius:12px; background:rgba(127,182,255,.15); color:#9cc4ff; margin-bottom:14px; }
.v5.pf .pf-any__grid li:nth-child(2) .pf-i { background:rgba(152,195,85,.16); color:#b9dc85; } .v5.pf .pf-any__grid li:nth-child(3) .pf-i { background:rgba(247,202,80,.16); color:#f7d77e; } .v5.pf .pf-any__grid li:nth-child(4) .pf-i { background:rgba(219,75,70,.16); color:#f28b86; }
.v5.pf .pf-any__grid h3 { color:#fff; font-size:19px; margin:0 0 6px; }
.v5.pf .pf-any__grid p { color:#aab6d8; font-size:15px; }
.v5.pf p.pf-any__types { margin-top:32px; text-align:center; font-size:15px; color:#8e9ac0; }

/* ===== 4. Install + animation ===== */
.v5.pf .pfi { position:relative; display:grid; grid-template-columns:1.3fr 1fr; gap:24px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:24px; padding:clamp(18px,3vw,36px); margin-bottom:20px; box-shadow:0 30px 60px -40px rgba(13,23,88,.3); }
.v5.pf .pfi__svg { width:100%; height:auto; display:block; overflow:visible; }
.v5.pf .pfi__wire { fill:none; stroke:#1D1D1B; stroke-width:16; stroke-linecap:round; }
.v5.pf .pfi__wire--core { stroke:#3a3f55; stroke-width:6; }
.v5.pf .pfi__sensor { transform:translateY(-70px); opacity:0; }
.v5.pf .pfi__jaw { transform-box:fill-box; transform-origin:center top; transform:translateY(18px); }
.v5.pf .pfi__led { fill:#6B7395; } .v5.pf .pfi__led-glow { opacity:0; }
.v5.pf .pfi__link { fill:none; stroke:url(#pfi-g); stroke-width:4; stroke-linecap:round; stroke-dasharray:420; stroke-dashoffset:420; }
.v5.pf .pfi__rush rect { offset-path:path('M224 147 C300 147 300 80 400 80 H560'); offset-distance:0%; opacity:0; }
.v5.pf .pfi__hub { opacity:.25; transform-box:fill-box; transform-origin:center; }
.v5.pf .pfi__ans { display:grid; gap:10px; }
.v5.pf .pfi__ans li { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border:1px solid #E3E7F2; border-radius:14px; background:#fff; font-size:14px; color:#3A4170; opacity:0; transform:translateX(14px); box-shadow:0 1px 3px rgba(13,23,88,.05); }
.v5.pf .pfi__ans b { color:#0D1758; font-weight:700; }
.v5.pf .pfi__ans i { width:8px; height:8px; border-radius:50%; margin-top:6px; flex:0 0 auto; }
.v5.pf p.pfi__cap { grid-column:1 / -1; display:flex; gap:10px; justify-content:center; font-size:13px; font-weight:600; color:var(--faint); }
.v5.pf .pfi__cap span { padding:4px 12px; border-radius:999px; background:var(--soft); }
.v5.pf .pfi.is-in .pfi__sensor { animation:pfi-clip 9s ease-in-out infinite; }
.v5.pf .pfi.is-in .pfi__jaw { animation:pfi-jaw 9s ease-in-out infinite; }
.v5.pf .pfi.is-in .pfi__led { animation:pfi-led 9s infinite; } .v5.pf .pfi.is-in .pfi__led-glow { animation:pfi-glow 9s infinite; }
.v5.pf .pfi.is-in .pfi__link { animation:pfi-link 9s ease-in-out infinite; }
.v5.pf .pfi.is-in .pfi__rush rect { animation:pfi-rush 9s linear infinite; animation-delay:var(--d); }
.v5.pf .pfi.is-in .pfi__hub { animation:pfi-hub 9s infinite; }
.v5.pf .pfi.is-in .pfi__ans li { animation:pfi-ans 9s infinite; animation-delay:calc(var(--d) * .35s); }
.v5.pf .pfi.is-in .pfi__cap .s1 { animation:pfi-s1 9s infinite; } .v5.pf .pfi.is-in .pfi__cap .s2 { animation:pfi-s2 9s infinite; } .v5.pf .pfi.is-in .pfi__cap .s3 { animation:pfi-s3 9s infinite; }
@keyframes pfi-clip { 0% { transform:translateY(-70px); opacity:0; } 8% { opacity:1; } 18%,92% { transform:translateY(0); opacity:1; } 100% { transform:translateY(0); opacity:0; } }
@keyframes pfi-jaw { 0%,18% { transform:translateY(18px); } 24%,100% { transform:translateY(0); } }
@keyframes pfi-led { 0%,25% { fill:#6B7395; } 28%,100% { fill:#98C355; } }
@keyframes pfi-glow { 0%,25% { opacity:0; } 30%,92% { opacity:.9; } 100% { opacity:0; } }
@keyframes pfi-link { 0%,28% { stroke-dashoffset:420; } 40%,92% { stroke-dashoffset:0; } 100% { stroke-dashoffset:0; opacity:0; } }
@keyframes pfi-rush { 0%,40% { offset-distance:0%; opacity:0; } 41% { opacity:1; } 52% { offset-distance:100%; opacity:1; } 53%,100% { opacity:0; offset-distance:100%; } }
@keyframes pfi-hub { 0%,48% { opacity:.25; transform:scale(1); } 55% { opacity:1; transform:scale(1.12); } 60%,92% { opacity:1; transform:scale(1); } 100% { opacity:.25; } }
@keyframes pfi-ans { 0%,58% { opacity:0; transform:translateX(14px); } 64%,92% { opacity:1; transform:none; } 100% { opacity:0; } }
@keyframes pfi-s1 { 0%,8% { background:var(--soft); color:var(--faint); } 10%,28% { background:#1D1D1B; color:#fff; } 30%,100% { background:var(--soft); color:var(--faint); } }
@keyframes pfi-s2 { 0%,28% { background:var(--soft); color:var(--faint); } 30%,56% { background:#98C355; color:#1D1D1B; } 58%,100% { background:var(--soft); color:var(--faint); } }
@keyframes pfi-s3 { 0%,58% { background:var(--soft); color:var(--faint); } 62%,92% { background:#1353e9; color:#fff; } 100% { background:var(--soft); color:var(--faint); } }
.v5.pf .pf-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.v5.pf .pf-steps li { background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 24px; }
.v5.pf .pf-steps li > b { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#4DAAE8; color:#fff; margin-bottom:14px; font-size:16px; font-weight:600; }
.v5.pf .pf-steps li:nth-child(2) > b { background:#98C355; } .v5.pf .pf-steps li:nth-child(3) > b { background:#F7CA50; color:#1D1D1B; }
.v5.pf .pf-steps h3 { font-size:19px; margin:0 0 8px; }
.v5.pf .pf-steps p { color:var(--muted); font-size:15.5px; }

/* ===== 5. Offer ===== */
.v5.pf .pf-final__card { position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,64px); align-items:center; background:radial-gradient(700px 400px at 85% 30%,rgba(77,170,232,.22),transparent 70%),linear-gradient(135deg,#0E1424,#16224a); border-radius:28px; padding:clamp(32px,5vw,64px); }
.v5.pf .pf-final h2 { color:#fff; font-size:clamp(30px,3.6vw,46px); line-height:1.1; margin:0 0 14px; }
.v5.pf .pf-final__txt > p:not(.v5-eyebrow):not(.pf-final__under):not(.pf-final__small) { color:#cdd6f0; font-size:18px; margin-bottom:20px; max-width:34rem; }
.v5.pf .pf-gets { display:grid; gap:10px; margin-bottom:26px; }
.v5.pf .pf-gets li { display:flex; gap:10px; align-items:flex-start; color:#cdd6f0; font-size:16px; line-height:1.45; }
.v5.pf .pf-gets b { color:#fff; font-weight:600; }
.v5.pf .pf-gets svg { flex:0 0 auto; width:22px; height:22px; padding:3px; border-radius:50%; background:rgba(152,195,85,.2); color:#b9dc85; stroke-width:2.2; margin-top:1px; }
.v5.pf p.pf-final__under { margin-top:16px; font-size:15px; font-weight:600; color:#fff; }
.v5.pf p.pf-final__small { margin-top:4px; font-size:14px; color:#9aa6c8; }
.v5.pf .pf-pdf { position:relative; max-width:380px; width:100%; justify-self:center; }
.v5.pf .pf-pdf__page { position:relative; aspect-ratio:8.5/11; background:#fff; border-radius:10px; padding:26px 26px 20px; box-shadow:0 40px 80px -30px rgba(0,0,0,.6); transform:rotate(-2.5deg); display:flex; flex-direction:column; color:#0D1758; }
.v5.pf .pf-pdf__page--back { position:absolute; inset:0; transform:rotate(4deg) translate(18px,8px); background:#e9edf7; padding:0; }
.v5.pf p.pf-pdf__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
.v5.pf .pf-pdf__top img { width:96px; height:auto; }
.v5.pf p.pf-pdf__kick { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#3649A8; }
.v5.pf p.pf-pdf__name { font-size:22px; line-height:1.15; font-weight:700; color:#0D1758; margin:6px 0 14px; }
.v5.pf p.pf-pdf__bar { display:flex; gap:4px; margin-bottom:22px; } .v5.pf .pf-pdf__bar i { height:4px; flex:1; border-radius:2px; background:#4DAAE8; } .v5.pf .pf-pdf__bar i:nth-child(2) { background:#98C355; } .v5.pf .pf-pdf__bar i:nth-child(3) { background:#F7CA50; } .v5.pf .pf-pdf__bar i:nth-child(4) { background:#DB4B46; }
.v5.pf p.pf-pdf__k { font-size:12px; color:#6B7395; }
.v5.pf p.pf-pdf__v { font-size:34px; line-height:1.1; font-weight:700; color:#B3342D; margin-bottom:18px; }
.v5.pf .pf-pdf__list { display:grid; gap:10px; }
.v5.pf .pf-pdf__list li { display:grid; gap:4px; font-size:12px; color:#3A4170; }
.v5.pf .pf-pdf__list s { height:6px; border-radius:3px; background:linear-gradient(#DB4B46,#DB4B46) 0 0 / calc(var(--w) * 1%) 100% no-repeat,#F1F3F8; }
.v5.pf .pf-pdf__list li:nth-child(2) s { background:linear-gradient(#F7CA50,#F7CA50) 0 0 / calc(var(--w) * 1%) 100% no-repeat,#F1F3F8; } .v5.pf .pf-pdf__list li:nth-child(3) s { background:linear-gradient(#4DAAE8,#4DAAE8) 0 0 / calc(var(--w) * 1%) 100% no-repeat,#F1F3F8; }
.v5.pf p.pf-pdf__foot { margin-top:auto; display:flex; align-items:center; gap:8px; font-size:11px; color:#8F96B0; padding-top:12px; border-top:1px solid #E3E7F2; }
.v5.pf .pf-pdf__foot span { font-weight:700; color:#fff; background:#DB4B46; border-radius:4px; padding:1px 6px; }

/* ===== Responsive ===== */
@media (max-width:1023px) {
	.v5.pf .pf-any__grid { grid-template-columns:repeat(2,1fr); }
	.v5.pf .pfi { grid-template-columns:1fr; }
}
@media (max-width:760px) {
	.v5.pf .pf-show, .v5.pf .pf-show--flip { grid-template-columns:1fr; gap:22px; }
	.v5.pf .pf-show--flip .pf-show__txt { order:0; }
	.v5.pf .pf-steps { grid-template-columns:1fr; }
	.v5.pf .pf-final__card { grid-template-columns:1fr; }
}
@media (max-width:560px) {
	.v5.pf .pf-any__grid { grid-template-columns:1fr; }
	.v5.pf .pf-pdf { max-width:300px; }
}
@media (prefers-reduced-motion:reduce) {
	html.pf-js .v5.pf [data-pf-reveal] { opacity:1; transform:none; transition:none; }
	.v5.pf .pfi__sensor { transform:none; opacity:1; } .v5.pf .pfi__jaw { transform:none; } .v5.pf .pfi__led { fill:#98C355; } .v5.pf .pfi__led-glow { opacity:.9; }
	.v5.pf .pfi__link { stroke-dashoffset:0; } .v5.pf .pfi__hub { opacity:1; } .v5.pf .pfi__ans li { opacity:1; transform:none; }
}

/* ===== Interactive dashboard tour ===== */
.v5.pf .pf-tour { padding-top:clamp(40px,5vw,64px); padding-bottom:clamp(40px,5vw,64px); }
.v5.pf .pf-tour .v5-head { margin-bottom:28px; }
.v5.pf .pf-tour .v5-head h2 { margin-bottom:8px; }
.v5.pf .pft { display:grid; grid-template-columns:minmax(300px,360px) 1fr; gap:clamp(24px,3.5vw,48px); align-items:start; }
.v5.pf .pft__tabs { display:flex; flex-direction:column; gap:2px; padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:18px; }
.v5.pf .pft__tab { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:40px; padding:7px 12px; border:0; border-radius:12px; background:none; font:600 15px var(--font); color:#6B7395; text-align:left; cursor:pointer; overflow:hidden; transition:background .2s,color .2s; }
.v5.pf .pft__tab:hover { background:#F4F6FB; color:#0D1758; }
.v5.pf .pft__tab[aria-selected="true"] { background:#fff; color:#0D1758; box-shadow:0 1px 2px rgba(13,23,88,.06),0 6px 18px -8px rgba(13,23,88,.18); }
.v5.pf .pft__tab:focus-visible, .v5.pf .pft__step:focus-visible, .v5.pf .pft__play:focus-visible { outline:2px solid #4DAAE8; outline-offset:2px; }
.v5.pf .pft__ic { flex:0 0 auto; display:grid; place-items:center; width:26px; height:26px; border-radius:8px; }
.v5.pf .pft__ic img { width:16px; height:16px; display:block; }
.v5.pf .pft__bar { position:absolute; left:12px; right:12px; bottom:3px; height:2px; border-radius:2px; background:#4DAAE8; transform:scaleX(0); transform-origin:left; opacity:0; }
.v5.pf .pft.is-auto .pft__tab[aria-selected="true"] .pft__bar { opacity:.7; animation:pft-bar var(--pft-d,16s) linear forwards; }
.v5.pf .pft.is-paused .pft__bar { animation-play-state:paused !important; }
@keyframes pft-bar { to { transform:scaleX(1); } }
.v5.pf .pft__panel h3 { font-size:clamp(22px,2vw,27px); line-height:1.15; margin:0 0 14px; }
.v5.pf .pft__steps { list-style:none; padding:0; margin:0 0 14px; display:flex; flex-direction:column; gap:4px; }
.v5.pf .pft__step { display:flex; gap:12px; width:100%; padding:10px 12px; border:1px solid transparent; border-radius:14px; background:none; text-align:left; font:inherit; cursor:pointer; transition:background .25s,border-color .25s; }
.v5.pf .pft__step:hover { background:#F7F8FC; }
.v5.pf .pft__step[aria-current="step"] { background:#fff; border-color:#E3E8F4; box-shadow:0 8px 24px -14px rgba(13,23,88,.3); }
.v5.pf .pft__n { flex:0 0 auto; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#EEF1FB; color:#3649A8; font:700 12px var(--font); margin-top:1px; transition:background .25s,color .25s; }
.v5.pf .pft__step[aria-current="step"] .pft__n { background:#4DAAE8; color:#fff; }
.v5.pf .pft__st b { display:block; font-size:15.5px; line-height:1.3; color:#0D1758; }
.v5.pf .pft__st small { display:grid; grid-template-rows:0fr; font-size:14px; line-height:1.5; color:var(--body); opacity:0; transition:grid-template-rows .4s ease, opacity .4s ease, margin .4s; }
.v5.pf .pft__st small::before { content:none; }
.v5.pf .pft__step[aria-current="step"] small { grid-template-rows:1fr; opacity:1; margin-top:4px; }
.v5.pf .pft__st small { overflow:hidden; }
.v5.pf .pft__st small { display:block; max-height:0; transition:max-height .45s ease, opacity .4s ease, margin .4s; }
.v5.pf .pft__step[aria-current="step"] small { max-height:7em; }
.v5.pf .pft__panel .pf-so { margin:0; padding-left:12px; }
.v5.pf .pft__screen { margin:0; }
.v5.pf .pft__frame { position:relative; aspect-ratio:1600/1000; border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#E9ECF3; box-shadow:0 40px 80px -40px rgba(13,23,88,.45),0 2px 6px rgba(13,23,88,.06); }
.v5.pf .pft__img { position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0; transition:opacity .6s ease; }
.v5.pf .pft__img.is-on { opacity:1; }
.v5.pf .pft__spot { position:absolute; left:calc(var(--x,0) * 1%); top:calc(var(--y,0) * 1%); width:calc(var(--w,100) * 1%); height:calc(var(--h,100) * 1%); border-radius:12px; box-shadow:0 0 0 2px rgba(77,170,232,.95),0 0 0 6px rgba(77,170,232,.18),0 0 0 200vmax rgba(13,23,88,.42); opacity:0; pointer-events:none; transition:opacity .5s ease, left .6s cubic-bezier(.2,.7,.2,1), top .6s cubic-bezier(.2,.7,.2,1), width .6s cubic-bezier(.2,.7,.2,1), height .6s cubic-bezier(.2,.7,.2,1); }
.v5.pf .pft__frame.has-spot .pft__spot { opacity:1; }
.v5.pf .pft__tap { position:absolute; left:calc(var(--tx,0) * 1%); top:calc(var(--ty,0) * 1%); width:22px; height:22px; margin:-11px 0 0 -11px; border-radius:50%; background:rgba(77,170,232,.9); box-shadow:0 0 0 3px #fff; opacity:0; transform:scale(.4); pointer-events:none; }
.v5.pf .pft__frame.has-tap .pft__tap { animation:pft-tap 1.8s ease .5s infinite; }
@keyframes pft-tap { 0% { opacity:0; transform:scale(1.6); } 25% { opacity:1; transform:scale(.8); } 40% { transform:scale(1); box-shadow:0 0 0 3px #fff,0 0 0 0 rgba(77,170,232,.6); } 80% { opacity:1; box-shadow:0 0 0 3px #fff,0 0 0 18px rgba(77,170,232,0); } 100% { opacity:0; } }
.v5.pf .pft__note { position:absolute; right:3%; top:6%; padding:7px 12px; border-radius:999px; background:#0D1758; color:#fff; font:600 13px var(--font); box-shadow:0 10px 24px -10px rgba(13,23,88,.6); opacity:0; transform:translateY(-6px); transition:opacity .4s ease .3s, transform .4s ease .3s; pointer-events:none; }
.v5.pf .pft__note::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#98C355; margin-right:8px; vertical-align:1px; }
.v5.pf .pft__frame.has-note .pft__note { opacity:1; transform:none; }
.v5.pf .pft__screen figcaption { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:12px; font-size:13px; color:var(--faint); }
.v5.pf .pft__play { margin-left:auto; min-height:32px; padding:4px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; font:600 12.5px var(--font); color:#3649A8; cursor:pointer; }
@media (max-width:1023px) {
	.v5.pf .pft { grid-template-columns:1fr; }
	.v5.pf .pft__screen { order:-1; }
	.v5.pf .pft__side { display:contents; }
	.v5.pf .pft__tabs { order:-2; flex-direction:row; overflow-x:auto; gap:6px; padding:2px 2px 12px; margin:0; border:0; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
	.v5.pf .pft__tab { flex:0 0 auto; width:auto; font-size:14px; padding:6px 12px 6px 8px; border:1px solid var(--line); border-radius:999px; }
	.v5.pf .pft__tab[aria-selected="true"] { border-color:#CFE6F8; }
	.v5.pf .pft__bar { display:none; }
	.v5.pf .pft__panel { order:0; }
	.v5.pf .pft__play { display:none; }
}
@media (max-width:760px) {
	.v5.pf .pft__frame { border-radius:12px; }
	.v5.pf .pft__note { font-size:11px; padding:5px 9px; }
	.v5.pf .pft__step small { grid-template-rows:1fr !important; opacity:1 !important; max-height:none !important; margin-top:3px; }
}
@media (prefers-reduced-motion:reduce) { .v5.pf .pft *, .v5.pf .pft__frame * { transition:none !important; animation:none !important; } .v5.pf .pft__frame.has-tap .pft__tap { opacity:1; transform:none; } }
@media (min-width:1024px) {
	.v5.pf .pf-tour { padding-top:40px; padding-bottom:40px; }
	.v5.pf .pf-tour .v5-head { margin-bottom:22px; }
	.v5.pf .pft__tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding-bottom:12px; margin-bottom:14px; }
	.v5.pf .pft__tab { min-height:36px; padding:5px 8px; gap:9px; font-size:14px; }
	.v5.pf .pft__panel h3 { margin-bottom:10px; }
	.v5.pf .pft__step { padding:8px 12px; }
	.v5.pf .pft__steps { margin-bottom:10px; }
}
.v5.pf .pft button:focus:not(:focus-visible) { outline:none; }
.v5.pf .pft__step[aria-current="step"] { border-color:#E3E8F4 !important; }

/* ===== Hero v5: play-to-start, live icons, aggressive data, money-first card ===== */
/* live icons (cropped from the facility art, popped in one by one) */
.v5.pf .pfh-hs { width:calc(var(--s) * 1%); height:auto; aspect-ratio:1; margin:0; border-radius:50%; background:url('../images/pf2/hs-sprite.webp') no-repeat; background-size:2800% 100%; background-position:calc(var(--n) * 100% / 27) 0; box-shadow:0 2px 8px rgba(0,0,0,.35); opacity:0; transform:translate(-50%,-50%) scale(.2); transition:none; }
.v5.pf .pfh-hs::before, .v5.pf .pfh-hs::after { content:""; position:absolute; inset:-2px; border-radius:50%; border:2px solid rgba(120,200,255,.9); opacity:0; pointer-events:none; }
.v5.pf .pfh-hs.is-on { opacity:1; transform:translate(-50%,-50%) scale(1); animation:pfh-pop .55s cubic-bezier(.3,1.6,.5,1) both; }
.v5.pf .pfh-hs.is-on::after { animation:pfh-ripple .9s ease-out both; }
.v5.pf .pfh.is-flood .pfh-hs.is-on::before { animation:pfh-ring 1.6s ease-out calc(var(--n) * -170ms) infinite; }
@keyframes pfh-pop { 0% { opacity:0; transform:translate(-50%,-50%) scale(.2); } 60% { opacity:1; transform:translate(-50%,-50%) scale(1.18); } 100% { opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes pfh-ripple { 0% { opacity:.95; transform:scale(1); } 100% { opacity:0; transform:scale(2.6); } }
@keyframes pfh-ring { 0% { opacity:.8; transform:scale(1); } 100% { opacity:0; transform:scale(2.1); } }
.v5.pf .pfh.is-done .pfh-hs { opacity:.55; transform:translate(-50%,-50%) scale(.92); animation:none; transition:opacity 1s ease; }
.v5.pf .pfh.is-done .pfh-hs::before, .v5.pf .pfh.is-done .pfh-hs::after { animation:none; opacity:0; }
/* aggressive, alive tags */
.v5.pf .pfh-tag { width:156px; }
.v5.pf .pfh-tag svg { width:64px; height:22px; overflow:visible; }
.v5.pf .pfh-tag polyline { stroke-width:2; filter:drop-shadow(0 0 3px var(--c)); }
.v5.pf .pfh-tag circle { fill:var(--c); filter:drop-shadow(0 0 4px var(--c)) drop-shadow(0 0 8px var(--c)); }
.v5.pf .pfh-tag em { font-size:12.5px; transition:color .2s; }
.v5.pf .pfh-tag em.is-up { color:#2F8F2F; } .v5.pf .pfh-tag em.is-dn { color:#B5463F; }
.v5.pf .pfh__lines line.pfh-pulse { stroke:#9fe0ff; stroke-width:2.4; stroke-dasharray:3 70; stroke-linecap:round; filter:drop-shadow(0 0 3px #4DAAE8); animation:pfh-flow 1.1s linear infinite; }
@keyframes pfh-flow { from { stroke-dashoffset:73; } to { stroke-dashoffset:0; } }
/* play to start */
.v5.pf .pfh__play { position:absolute; z-index:6; left:24%; top:50%; transform:translate(-50%,-50%); display:none; align-items:center; gap:12px; padding:10px 22px 10px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(13,23,88,.55); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:#fff; font:700 15px var(--font); cursor:pointer; box-shadow:0 20px 50px -12px rgba(0,0,0,.6); transition:background .2s, transform .2s; }
.v5.pf .pfh__play span { position:relative; width:40px; height:40px; border-radius:50%; background:#4DAAE8; box-shadow:0 0 0 0 rgba(77,170,232,.6); animation:pfh-cta 2.2s ease-out infinite; }
.v5.pf .pfh__play span::after { content:""; position:absolute; left:16px; top:12px; border-left:12px solid #fff; border-top:8px solid transparent; border-bottom:8px solid transparent; }
@keyframes pfh-cta { 70%,100% { box-shadow:0 0 0 14px rgba(77,170,232,0); } }
.v5.pf .pfh__play:hover { background:rgba(28,54,144,.75); transform:translate(-50%,-50%) scale(1.03); }
.v5.pf .pfh__play:focus-visible { outline:2px solid #4DAAE8; outline-offset:3px; }
.v5.pf .pfh.is-idle .pfh__play { display:inline-flex; }
.v5.pf .pfh.is-idle .pfh__prog { display:none; }
html:not(.pf-js) .v5.pf .pfh__play { display:none; }
/* money-first summary card */
.v5.pf .pfh-sum { left:63%; width:min(410px,56%); padding:0; overflow:hidden; background:#fff; border-radius:24px; color:#0D1758; box-shadow:0 2px 6px rgba(0,0,0,.14),0 40px 90px -20px rgba(0,0,0,.65); backdrop-filter:none; }
.v5.pf .pfh-sum__hd { display:flex; align-items:center; gap:12px; padding:18px 24px 16px; }
.v5.pf .pfh-sum__hd img { height:28px; width:auto; display:block; }
.v5.pf .pfh-sum__hd span { font-size:12px; font-weight:600; line-height:1.15; color:#8F96B0; padding-left:12px; border-left:1px solid #E3E7F1; }
.v5.pf .pfh-sum__hd .pf-mock { margin-left:auto; }
.v5.pf .pfh-sum__money { padding:16px 24px 6px; background:linear-gradient(135deg,#F3F9EA,#E5F2D2); border-top:1px solid #DCEBC6; border-bottom:1px solid #DCEBC6; }
.v5.pf p.pfh-sum__k { font-size:13.5px; font-weight:600; color:#5C6B4A; }
.v5.pf p.pfh-sum__m { display:flex; align-items:baseline; gap:8px; margin:2px 0 0; color:#4E8F22; font-variant-numeric:tabular-nums; }
.v5.pf .pfh-sum__m > span { font-size:64px; line-height:1.02; font-weight:700; letter-spacing:-.035em; }
.v5.pf .pfh-sum__m b { font-weight:700; }
.v5.pf .pfh-sum__m small { font-size:20px; font-weight:700; }
.v5.pf .pfh-acc { border-top:0; }
.v5.pf .pfh-acc--save .pfh-acc__btn { padding:8px 0 10px; gap:10px; grid-template-columns:1fr auto; }
.v5.pf .pfh-acc--save .pfh-acc__t { font-size:14.5px; font-weight:600; color:#3F5530; }
.v5.pf .pfh-acc--save .pfh-acc__t b { color:#2F6B14; font-variant-numeric:tabular-nums; }
.v5.pf .pfh-acc--save .pfh-acc__chev { background:rgba(255,255,255,.7); width:28px; height:28px; }
.v5.pf .pfh-acc--save .pfh-acc__chev::before, .v5.pf .pfh-acc--iss .pfh-acc__chev::before { left:10px; top:8px; }
.v5.pf .pfh-acc--save li { border-top-color:rgba(78,143,34,.15); }
.v5.pf .pfh-sum__crit { padding:14px 24px; background:#FDF0EF; border-bottom:1px solid #F6D3D1; }
.v5.pf p.pfh-sum__badge { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#C3362F; }
.v5.pf .pfh-sum__badge i { width:8px; height:8px; border-radius:50%; background:#DB4B46; animation:pfh-crit 1.6s ease-out infinite; }
@keyframes pfh-crit { 0% { box-shadow:0 0 0 0 rgba(219,75,70,.55); } 100% { box-shadow:0 0 0 9px rgba(219,75,70,0); } }
.v5.pf p.pfh-sum__ci { margin-top:6px; font-size:15px; font-weight:700; line-height:1.3; color:#1D1D1B; }
.v5.pf .pfh-sum__ci small { display:block; font-size:13px; font-weight:400; color:#6B7395; margin-top:2px; }
.v5.pf .pfh-sum__in { padding:4px 24px 16px; }
.v5.pf .pfh-acc--iss .pfh-acc__btn { padding:10px 0; gap:12px; }
.v5.pf .pfh-acc--iss .pfh-acc__n { font-size:26px; min-width:1.6ch; color:#DB4B46; }
.v5.pf .pfh-acc--iss .pfh-acc__t { font-size:15px; }
.v5.pf .pfh-acc--iss .pfh-acc__chev { width:28px; height:28px; }
.v5.pf .pfh-sum__cta { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:6px; min-height:48px; border-radius:999px; background:#1C3690; color:#fff; font:700 15px var(--font); text-decoration:none; transition:background .2s; }
.v5.pf .pfh-sum__cta:hover { background:#13277A; color:#fff; }
.v5.pf .pfh-sum__cta .v5-i { width:18px; height:18px; }
.v5.pf p.pfh-sum__foot { border:0; padding-top:10px; text-align:center; font-size:11.5px; color:#A3A9C2; }
@media (max-width:1023px) {
	.v5.pf .pfh-sum { left:50%; width:calc(100% - 32px); }
	.v5.pf .pfh__scene { height:560px; }
	.v5.pf .pfh__play { left:50%; top:auto; bottom:14px; transform:translateX(-50%); padding:7px 16px 7px 7px; font-size:14px; }
	.v5.pf .pfh__play:hover { transform:translateX(-50%); }
	.v5.pf .pfh__play span { width:32px; height:32px; } .v5.pf .pfh__play span::after { left:13px; top:9px; border-left-width:10px; border-top-width:7px; border-bottom-width:7px; }
	.v5.pf .pfh.is-idle .pfh-sum { top:calc(50% - 30px); }
	.v5.pf .pfh-sum__m > span { font-size:54px; }
	.v5.pf .pfh.is-idle .pfh__say { display:none; }
}
.v5.pf .pfh__play { white-space:nowrap; }
.v5.pf .pfh button:focus:not(:focus-visible) { outline:none; }
@media (max-width:1023px) { .v5.pf .pfh.is-idle .pfh__steps { display:none; } .v5.pf .pfh.is-idle .pfh__scene { margin-top:12px; } }

/* ===== Round 3 ===== */
/* hero: smaller pop-ups, benefit icons */
.v5.pf .pfh-tag { width:124px; padding:5px 8px 5px 9px; border-radius:8px; }
.v5.pf .pfh-tag b { font-size:10.5px; line-height:13px; }
.v5.pf .pfh-tag svg { width:50px; height:17px; }
.v5.pf .pfh-tag em { font-size:11px; }
.v5.pf .pfh__ben { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.v5.pf .pfh__ben li { display:flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:#cdd6f0; }
.v5.pf .pfh__ben .pf-i { width:18px; height:18px; padding:5px; box-sizing:content-box; border-radius:8px; }
.v5.pf .pfh__ben li:nth-child(1) .pf-i { color:#4DAAE8; background:rgba(77,170,232,.14); }
.v5.pf .pfh__ben li:nth-child(2) .pf-i { color:#DB4B46; background:rgba(219,75,70,.16); }
.v5.pf .pfh__ben li:nth-child(3) .pf-i { color:#F7CA50; background:rgba(247,202,80,.16); }
.v5.pf .pfh__ben li:nth-child(4) .pf-i { color:#9fb4ff; background:rgba(98,133,251,.16); }
.v5.pf .pfh__ben li:nth-child(5) .pf-i { color:#98C355; background:rgba(152,195,85,.16); }
.v5.pf .pfh.is-done h1 { margin-bottom:18px; } .v5.pf .pfh.is-done p.pfh__lead { margin-bottom:24px; } .v5.pf .pfh.is-done .pfh__end { margin-top:22px; }
/* shared colour chips */
.v5.pf .c-b { --c2:#2A8BD0; --cb:rgba(77,170,232,.13); } .v5.pf .c-g { --c2:#5E9B2A; --cb:rgba(152,195,85,.18); } .v5.pf .c-y { --c2:#B88A0E; --cb:rgba(247,202,80,.22); } .v5.pf .c-r { --c2:#DB4B46; --cb:rgba(219,75,70,.11); } .v5.pf .c-n { --c2:#3649A8; --cb:rgba(54,73,168,.11); }
.v5.pf .pf-five .v5-head, .v5.pf .pf-flow .v5-head, .v5.pf .pf-learn .v5-head { margin-bottom:34px; }
/* A. five steps */
.v5.pf .pf-five__row { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; counter-reset:x; position:relative; }
.v5.pf .pf-five__row::before { content:""; position:absolute; left:6%; right:6%; top:44px; height:2px; background:linear-gradient(90deg,#4DAAE8,#98C355,#F7CA50,#DB4B46,#3649A8); opacity:.35; }
.v5.pf .pf-five__row li { position:relative; display:flex; flex-direction:column; gap:8px; padding:22px 18px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 1px 2px rgba(13,23,88,.04),0 18px 34px -24px rgba(13,23,88,.35); }
.v5.pf .pf-five__n { position:absolute; right:16px; top:16px; font-size:12px; font-weight:700; color:#A3A9C2; }
.v5.pf .pf-five__ic { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--cb); color:var(--c2); }
.v5.pf .pf-five__row h3 { margin:6px 0 0; font-size:20px; }
.v5.pf .pf-five__row p { font-size:14.5px; line-height:1.5; color:var(--body); }
.v5.pf .pf-five__viz { margin-top:auto; padding-top:10px; min-height:44px; display:flex; align-items:flex-end; }
.v5.pf .pf-five__viz svg { width:100%; height:32px; } .v5.pf .pf-five__viz polyline { fill:none; stroke:#4DAAE8; stroke-width:2; stroke-linejoin:round; stroke-dasharray:300; stroke-dashoffset:300; }
.v5.pf .is-in .pf-five__viz polyline { animation:pf-draw 1.6s ease forwards; } @keyframes pf-draw { to { stroke-dashoffset:0; } }
.v5.pf .pf-five__viz--bars { flex-direction:column; align-items:stretch; gap:5px; } .v5.pf .pf-five__viz--bars i { display:block; height:7px; border-radius:4px; width:calc(var(--w) * 1%); background:#98C355; opacity:.85; }
.v5.pf .pf-five__viz--bars i:nth-child(2) { opacity:.6; } .v5.pf .pf-five__viz--bars i:nth-child(3) { opacity:.4; }
.v5.pf .pf-five__viz--flag b { font-size:12.5px; padding:6px 10px; border-radius:999px; background:#FFF6DC; color:#8A6A08; }
.v5.pf .pf-five__viz--rank { gap:6px; } .v5.pf .pf-five__viz--rank i { font-style:normal; display:grid; place-items:center; height:26px; flex:1; border-radius:8px; background:#FDF0EF; color:#C3362F; font-weight:700; font-size:12px; }
.v5.pf .pf-five__viz--rank i:nth-child(1) { flex:2.2; } .v5.pf .pf-five__viz--rank i:nth-child(2) { flex:1.5; opacity:.8; } .v5.pf .pf-five__viz--rank i:nth-child(3) { opacity:.6; }
.v5.pf .pf-five__viz--done { gap:6px; font-size:13px; font-weight:700; color:#3F7A1C; } .v5.pf .pf-five__viz--done .pf-i { width:18px; height:18px; padding:4px; border-radius:50%; background:rgba(152,195,85,.2); }
/* B. flow */
.v5.pf .pf-flow__row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative; }
.v5.pf .pf-flow__row li { display:flex; flex-direction:column; position:relative; }
.v5.pf .pf-flow__row li:not(:last-child)::after { content:""; position:absolute; right:-14px; top:6px; width:12px; height:12px; border-top:2px solid #B8C3E0; border-right:2px solid #B8C3E0; transform:rotate(45deg); }
.v5.pf p.pf-flow__k { font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#3649A8; margin-bottom:8px; }
.v5.pf .pf-flow__row h3 { font-size:20px; margin:0 0 6px; } .v5.pf .pf-flow__row li > p:not(.pf-flow__k) { font-size:14.5px; color:var(--body); line-height:1.5; }
.v5.pf .pf-flow__card { margin-top:auto; position:relative; height:132px; margin-top:18px; padding:16px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 34px -24px rgba(13,23,88,.35); display:flex; flex-direction:column; justify-content:center; gap:8px; overflow:hidden; }
.v5.pf .pf-flow__wave { width:100%; height:70px; } .v5.pf .pf-flow__wave path { fill:none; stroke:#4DAAE8; stroke-width:2; } .v5.pf .pf-flow__wave path.b { stroke:#98C355; opacity:.7; }
.v5.pf .pf-flow__wave { animation:pf-scroll 2.4s linear infinite; } @keyframes pf-scroll { from { transform:translateX(0); } to { transform:translateX(-25%); } }
.v5.pf .pf-flow__wave { width:133%; }
.v5.pf .pf-flow__live { position:absolute; left:14px; top:12px; display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:#3F7A1C; background:#EEF7E3; padding:3px 8px; border-radius:999px; }
.v5.pf .pf-flow__live i { width:6px; height:6px; border-radius:50%; background:#98C355; animation:pfh-pulse 1.6s infinite; }
.v5.pf .pf-flow__bar { display:grid; gap:4px; } .v5.pf .pf-flow__bar b { font-size:12px; color:#0D1758; } .v5.pf .pf-flow__bar i { display:block; height:7px; border-radius:4px; width:calc(var(--w) * 1%); background:linear-gradient(90deg,#4DAAE8,#98C355); }
.v5.pf .pf-flow__card--ins { align-items:flex-start; border-left:3px solid #F7CA50; } .v5.pf .pf-flow__card--ins b { font-size:14px; color:#0D1758; } .v5.pf .pf-flow__card--ins small { font-size:13px; font-weight:700; color:#4E8F22; } .v5.pf .pf-flow__card--ins em { font-style:normal; font-size:12.5px; color:#3649A8; background:#EEF1FB; border-radius:999px; padding:3px 10px; }
.v5.pf .pf-flow__card--ok { align-items:center; text-align:center; } .v5.pf .pf-flow__card--ok .pf-i { width:26px; height:26px; padding:8px; border-radius:50%; background:#98C355; color:#fff; } .v5.pf .pf-flow__card--ok b { font-size:15px; color:#0D1758; } .v5.pf .pf-flow__card--ok small { font-size:12.5px; color:#3F7A1C; font-weight:700; }
.v5.pf .pf-flow__note { display:flex; gap:8px; align-items:center; margin-top:18px; font-size:13px; color:var(--faint); }
/* C. learns */
.v5.pf .pf-learn__row { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative; padding-top:22px; }
.v5.pf .pf-learn__row::before { content:""; position:absolute; left:16px; right:16px; top:7px; height:2px; background:linear-gradient(90deg,#4DAAE8,#98C355); border-radius:2px; }
.v5.pf .pf-learn__row li { position:relative; padding:22px 22px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 18px 34px -24px rgba(13,23,88,.35); }
.v5.pf .pf-learn__dot { position:absolute; left:22px; top:-22px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid #4DAAE8; }
.v5.pf .pf-learn__row li:nth-child(2) .pf-learn__dot { border-color:#7DBB9C; } .v5.pf .pf-learn__row li:nth-child(3) .pf-learn__dot { border-color:#98C355; }
.v5.pf p.pf-learn__k { font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#3649A8; }
.v5.pf .pf-learn__row h3 { font-size:21px; margin:6px 0 6px; } .v5.pf .pf-learn__row li > p:not(.pf-learn__k) { font-size:14.5px; line-height:1.5; color:var(--body); }
.v5.pf .pf-learn__viz { width:100%; height:auto; margin-top:16px; } .v5.pf .pf-learn__viz .band { fill:rgba(152,195,85,.16); } .v5.pf .pf-learn__viz polyline { fill:none; stroke:#3649A8; stroke-width:2; stroke-linejoin:round; } .v5.pf .pf-learn__viz circle { fill:#DB4B46; }
.v5.pf .pf-learn__row li:nth-child(3) polyline { stroke:url(#none); stroke:#3649A8; }
/* D. explanation */
.v5.pf .pf-why__in { display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(32px,5vw,72px); align-items:center; }
.v5.pf .pf-why__steps { display:grid; gap:14px; margin-top:26px; }
.v5.pf .pf-why__steps li { display:flex; align-items:center; gap:14px; font-size:18px; color:var(--body); } .v5.pf .pf-why__steps b { color:#0D1758; }
.v5.pf .pf-why__steps span, .v5.pf .pf-era__list span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border-radius:12px; background:var(--cb); color:var(--c2); }
.v5.pf .pf-why__card { padding:24px; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 40px 80px -40px rgba(13,23,88,.45),0 2px 6px rgba(13,23,88,.06); }
.v5.pf .pf-why__hd { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.v5.pf .pf-why__pill { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700; color:#8A6A08; background:#FFF6DC; border-radius:999px; padding:4px 10px; } .v5.pf .pf-why__pill i { width:7px; height:7px; border-radius:50%; background:#F7CA50; }
.v5.pf p.pf-why__t { font-size:21px; font-weight:700; color:#0D1758; margin-bottom:16px; }
.v5.pf .pf-why__day { position:relative; height:44px; margin-bottom:18px; border-radius:10px; background:#F3F5FA; }
.v5.pf .pf-why__day span { position:absolute; top:8px; height:16px; left:calc(var(--a) * 1%); width:calc(var(--b) * 1%); border-radius:5px; } .v5.pf .pf-why__day .open { background:#98C355; opacity:.75; } .v5.pf .pf-why__day .over { background:repeating-linear-gradient(135deg,#DB4B46 0 6px,#E86B66 6px 12px); }
.v5.pf .pf-why__day em { position:absolute; bottom:3px; left:calc(var(--a) * 1% + 4px); font-style:normal; font-size:10.5px; color:#8F96B0; }
.v5.pf .pf-why__card dl { margin:0; display:grid; } .v5.pf .pf-why__card dl div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:11px 0; border-top:1px solid #EEF1F7; }
.v5.pf .pf-why__card dt { font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8F96B0; } .v5.pf .pf-why__card dd { margin:0; font-size:15px; font-weight:600; color:#0D1758; }
.v5.pf .pf-why__money { color:#4E8F22 !important; font-size:18px !important; font-weight:700 !important; }
/* E. era */
.v5.pf .pf-era__in { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.v5.pf .pf-era__txt > p:not(.v5-eyebrow) { font-size:18px; color:var(--body); margin-top:14px; }
.v5.pf .pf-era__list { display:grid; gap:14px; margin-top:24px; } .v5.pf .pf-era__list li { display:flex; align-items:center; gap:14px; font-size:17px; font-weight:600; color:#0D1758; }
.v5.pf .pf-era__art { position:relative; margin:0; aspect-ratio:16/11; border-radius:24px; background:radial-gradient(80% 70% at 50% 45%,#1E2F6E,#0B1230); overflow:hidden; box-shadow:0 40px 80px -40px rgba(13,23,88,.6); }
.v5.pf .pf-era__bld { position:absolute; left:-4%; top:2%; width:96%; height:auto; opacity:.95; }
.v5.pf .pf-era__dash { position:absolute; right:4%; bottom:6%; width:58%; height:auto; border-radius:12px; border:1px solid rgba(255,255,255,.4); box-shadow:0 30px 60px -20px rgba(0,0,0,.7); transform:translateY(16px); opacity:0; transition:transform .9s cubic-bezier(.2,.7,.2,1) .2s, opacity .9s .2s; }
.v5.pf .pf-era__art.is-in .pf-era__dash { transform:none; opacity:1; }
.v5.pf .pf-era__chip { position:absolute; left:5%; top:6%; display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.92); color:#0D1758; font-size:13px; font-weight:700; } .v5.pf .pf-era__chip i { width:7px; height:7px; border-radius:50%; background:#98C355; animation:pfh-pulse 1.6s infinite; }
@media (max-width:1100px) { .v5.pf .pf-five__row { grid-template-columns:repeat(3,1fr); } .v5.pf .pf-flow__row { grid-template-columns:1fr 1fr; gap:28px 20px; } .v5.pf .pf-flow__row li::after { display:none; } .v5.pf .pf-five__row::before { display:none; } }
@media (max-width:860px) { .v5.pf .pf-why__in, .v5.pf .pf-era__in { grid-template-columns:1fr; } .v5.pf .pf-learn__row { grid-template-columns:1fr; } .v5.pf .pf-learn__row::before { display:none; } .v5.pf .pf-learn__dot { display:none; } .v5.pf .pf-learn__row { padding-top:0; } }
@media (max-width:640px) { .v5.pf .pf-five__row { grid-template-columns:1fr 1fr; } .v5.pf .pf-five__row li:last-child { grid-column:1 / -1; } .v5.pf .pf-flow__row { grid-template-columns:1fr; } .v5.pf .pf-why__card dl div { grid-template-columns:1fr; gap:2px; } .v5.pf .pfh__ben { gap:8px 12px; } .v5.pf .pfh__ben li { font-size:12.5px; } }
.v5.pf .pf-why h2, .v5.pf .pf-era h2 { font-size:clamp(30px,3.3vw,46px); line-height:1.1; margin:0 0 6px; }

/* Tour v2: one row of tabs, one big screen, caption + dots */
.v5.pf .pf-tour .pft.pft--v2 { display:block; max-width:1180px; margin:0 auto; }
.v5.pf .pf-tour .pft.pft--v2 .pft__tabs { display:flex; flex-direction:row; justify-content:center; gap:6px; flex-wrap:nowrap; width:auto; max-width:none; position:static; margin:0 0 18px; padding:0; background:none; border:0; box-shadow:none; grid-template-columns:none; }
.v5.pf .pf-tour .pft.pft--v2 .pft__tab { position:relative; display:flex; align-items:center; gap:9px; padding:9px 14px; border:0; border-radius:12px; background:transparent; font:600 15px/1.2 inherit; color:#5b6275; cursor:pointer; white-space:nowrap; width:auto; }
.v5.pf .pf-tour .pft.pft--v2 .pft__tab:hover { background:#f2f4f8; }
.v5.pf .pf-tour .pft.pft--v2 .pft__tab[aria-selected="true"] { background:#fff; color:#1D1D1B; box-shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.08); }
.v5.pf .pf-tour .pft.pft--v2 .pft__ic { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; flex:none; }
.v5.pf .pf-tour .pft.pft--v2 .pft__bar { display:none; }
.v5.pf .pf-tour .pft.pft--v2 .pft__screen { margin:0; }
.v5.pf .pf-tour .pft.pft--v2 .pft__frame { position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#eef1f6; box-shadow:0 1px 3px rgba(16,24,40,.08),0 24px 60px rgba(16,24,40,.14); border:1px solid #e6e9f0; }
.v5.pf .pf-tour .pft.pft--v2 .pft__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s ease; image-rendering:auto; }
.v5.pf .pf-tour .pft.pft--v2 .pft__img.is-on { opacity:1; }
.v5.pf .pf-tour .pft.pft--v2 .pft__frame.is-contain .pft__img { object-fit:contain; padding:2% 0; }
.v5.pf .pf-tour .pft.pft--v2 .pft__spot { position:absolute; left:calc(var(--x)*1%); top:calc(var(--y)*1%); width:calc(var(--w)*1%); height:calc(var(--h)*1%); border-radius:12px; border:2px solid #4DAAE8; box-shadow:0 0 0 6px rgba(77,170,232,.18); opacity:0; transition:all .45s ease; pointer-events:none; background:none; }
.v5.pf .pf-tour .pft.pft--v2 .pft__frame.has-spot .pft__spot { opacity:1; }
.v5.pf .pf-tour .pft.pft--v2 .pft__panel { display:flex; align-items:center; gap:16px; justify-content:center; margin:18px auto 4px; min-height:28px; text-align:center; }
.v5.pf .pf-tour .pft.pft--v2 .pft__panel[hidden] { display:none; }
.v5.pf .pf-tour .pft.pft--v2 .pft__step { display:none; border:0; background:none; padding:0; font:400 17px/1.4 inherit; color:#5b6275; }
.v5.pf .pf-tour .pft.pft--v2 .pft__step[aria-current="step"] { display:block; }
.v5.pf .pf-tour .pft.pft--v2 .pft__step b { color:#1D1D1B; font-weight:700; }
.v5.pf .pf-tour .pft.pft--v2 .pft__dots { display:flex; gap:6px; }
.v5.pf .pf-tour .pft.pft--v2 .pft__dots i { width:7px; height:7px; border-radius:7px; background:#d4d9e3; transition:all .3s; }
.v5.pf .pf-tour .pft.pft--v2 .pft__dots i.is-on { width:22px; background:#4DAAE8; }
.v5.pf .pf-tour .pft.pft--v2 .pft__dots:has(i:only-child) { display:none; }
.v5.pf .pf-tour .pft.pft--v2 figcaption { display:flex; justify-content:center; align-items:center; gap:10px; margin-top:8px; font-size:13px; color:#8a90a0; }
@media (min-width:1024px) { .v5.pf .pf-tour .v5-head { margin-bottom:20px; } .v5.pf .pf-tour .pft.pft--v2 .pft__frame { width:min(100%,840px); margin:0 auto; } }
@media (max-width:760px) {
 .v5.pf .pf-tour .pft.pft--v2 .pft__tabs { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; margin:0 -20px 14px; padding:4px 20px; }
 .v5.pf .pf-tour .pft.pft--v2 .pft__tab { font-size:14px; padding:8px 11px; }
 .v5.pf .pf-tour .pft.pft--v2 .pft__step { font-size:15px; }
 .v5.pf .pf-tour .pft.pft--v2 .pft__panel { flex-direction:column; gap:10px; }
}

@media (min-width:1024px){ .v5.pf .pf-tour .v5-head p{margin-top:6px} .v5.pf .pf-tour.v5-sec{padding-top:44px;padding-bottom:36px} }

/* ===== Learn v2: visual story ===== */
.v5.pf .pfl { list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; position:relative; }
.v5.pf .pfl::before { content:""; position:absolute; left:8%; right:8%; top:9px; height:3px; border-radius:3px; background:linear-gradient(90deg,#4DAAE8,#98C355,#F7CA50,#DB4B46); transform-origin:left; transform:scaleX(0); transition:transform 2.4s ease; }
.v5.pf .pfl.is-in::before { transform:scaleX(1); }
.v5.pf .pfl__c { position:relative; padding-top:34px; }
.v5.pf .pfl__dot { position:absolute; top:0; left:50%; width:21px; height:21px; margin-left:-10px; border-radius:50%; background:#fff; border:4px solid #4DAAE8; box-shadow:0 0 0 6px rgba(77,170,232,.15); }
.v5.pf .pfl__c--2 .pfl__dot { border-color:#98C355; box-shadow:0 0 0 6px rgba(152,195,85,.18); }
.v5.pf .pfl__c--3 .pfl__dot { border-color:#DB4B46; box-shadow:0 0 0 6px rgba(219,75,70,.15); }
.v5.pf .pfl__c > h3 { margin:2px 0 4px; font-size:22px; }
.v5.pf .pfl__c > p:not(.pf-learn__k) { margin:0 0 14px; color:#5b6275; font-size:15px; min-height:42px; }
.v5.pf .pfl__tiles, .v5.pf .pfl__viz { background:#fff; border:1px solid #E3E7F2; border-radius:18px; box-shadow:0 1px 3px rgba(13,23,88,.06),0 18px 40px -26px rgba(13,23,88,.35); padding:14px; height:250px; box-sizing:border-box; }
.v5.pf .pfl__tiles { list-style:none; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.v5.pf .pfl__tiles li { display:grid; grid-template-columns:32px 1fr; grid-template-rows:auto auto; column-gap:8px; align-items:center; padding:8px; border-radius:12px; background:#F4F6FA; filter:grayscale(1); opacity:.35; transition:all .5s ease; transition-delay:calc(.4s + var(--k) * .35s); }
.v5.pf .pfl__tiles img { grid-row:span 2; width:32px; height:32px; border-radius:50%; }
.v5.pf .pfl__tiles b { font-size:12px; line-height:1.2; color:#1D1D1B; }
.v5.pf .pfl__tiles em { font-style:normal; font-weight:700; font-size:14px; color:#1FAB3D; font-variant-numeric:tabular-nums; }
.v5.pf .pfl.is-in .pfl__tiles li { filter:none; opacity:1; background:#fff; box-shadow:0 0 0 1.5px rgba(152,195,85,.55),0 6px 14px -8px rgba(31,171,61,.5); }
.v5.pf .pfl__eq { display:flex; align-items:center; gap:8px; margin:0 0 4px; font-weight:700; font-size:14px; color:#1D1D1B; }
.v5.pf .pfl__eq img { border-radius:50%; }
.v5.pf .pfl__viz svg { width:100%; height:150px; display:block; overflow:visible; }
.v5.pf .pfl__band { fill:rgba(152,195,85,.22); stroke:rgba(152,195,85,.6); stroke-width:1; opacity:0; transition:opacity 1.2s ease 3.6s; }
.v5.pf .pfl.is-in .pfl__band, .v5.pf .pfl.is-in .pfl__band--on { opacity:1; }
.v5.pf .pfl__band--on { transition-delay:.6s; }
.v5.pf .pfl__d { fill:none; stroke:#4DAAE8; stroke-width:1.6; stroke-opacity:.55; stroke-dasharray:420; stroke-dashoffset:420; }
.v5.pf .pfl.is-in .pfl__d { animation:pfl-draw .9s ease forwards; animation-delay:calc(1s + var(--k) * .45s); }
.v5.pf .pfl__drift { fill:none; stroke:#4DAAE8; stroke-width:2.6; stroke-dasharray:420; stroke-dashoffset:420; }
.v5.pf .pfl.is-in .pfl__drift { animation:pfl-draw 2.2s ease 1.6s forwards, pfl-red .6s ease 3.2s forwards; }
.v5.pf .pfl__ping { fill:#DB4B46; opacity:0; }
.v5.pf .pfl.is-in .pfl__ping { animation:pfl-ping 1.6s ease-out 3.8s infinite; }
@keyframes pfl-draw { to { stroke-dashoffset:0; } }
@keyframes pfl-red { to { stroke:#DB4B46; } }
@keyframes pfl-ping { 0% { opacity:1; r:5; } 100% { opacity:0; r:16; } }
.v5.pf .pfl__days { display:flex; gap:4px; margin:8px 0 0; flex-wrap:nowrap; }
.v5.pf .pfl__days i { font-style:normal; font-size:11px; font-weight:700; padding:3px 6px; border-radius:6px; background:#EEF4FB; color:#3A6FA8; opacity:0; transform:translateY(6px); transition:all .35s ease; transition-delay:calc(1s + var(--k) * .4s); }
.v5.pf .pfl__days i.w { background:#FFF6DC; color:#C08A00; padding:2px 5px; } .v5.pf .pfl__days i.s { background:#EAF5FD; color:#4DAAE8; }
.v5.pf .pfl__days svg { width:14px; height:14px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; } .v5.pf .pfl__days i.w:not(.s) svg circle { fill:currentColor; }
.v5.pf .pfl.is-in .pfl__days i { opacity:1; transform:none; }
.v5.pf .pfl__alert { display:flex; gap:10px; align-items:center; margin-top:2px; padding:10px 12px; border-radius:12px; background:#FDECEB; border:1px solid rgba(219,75,70,.35); opacity:0; transform:translateY(10px) scale(.96); transition:all .5s cubic-bezier(.2,1.4,.4,1) 4s; }
.v5.pf .pfl.is-in .pfl__alert { opacity:1; transform:none; }
.v5.pf .pfl__alert > i { width:10px; height:10px; border-radius:50%; background:#DB4B46; box-shadow:0 0 0 4px rgba(219,75,70,.2); animation:pfh-pulse 1.4s infinite; flex:none; }
.v5.pf .pfl__alert span { display:grid; font-size:13px; color:#8a2b27; flex:1; } .v5.pf .pfl__alert b { color:#1D1D1B; font-size:13px; }
.v5.pf .pfl__alert small { font-size:10px; }

/* ===== Why v2: three visual beats ===== */
.v5.pf .pfw { display:grid; gap:14px; }
.v5.pf .pfw__b { display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center; padding:14px; background:#fff; border:1px solid #E3E7F2; border-radius:20px; box-shadow:0 1px 3px rgba(13,23,88,.06),0 18px 40px -28px rgba(13,23,88,.35); opacity:0; transform:translateX(24px); transition:all .7s cubic-bezier(.2,.8,.2,1); }
.v5.pf .pfw__b--2 { transition-delay:1.4s; } .v5.pf .pfw__b--3 { transition-delay:2.8s; }
.v5.pf .is-in .pfw__b { opacity:1; transform:none; }
.v5.pf .pfw__b p { margin:0; font-size:15px; color:#5b6275; } .v5.pf .pfw__b p b { display:block; color:#1D1D1B; font-size:18px; }
.v5.pf .pfw__night { position:relative; height:104px; border-radius:14px; background:linear-gradient(180deg,#0B1433,#1B2550); overflow:hidden; }
.v5.pf .pfw__moon { position:absolute; right:14px; top:10px; width:22px; height:22px; border-radius:50%; box-shadow:-6px 4px 0 0 #F7E7A6; }
.v5.pf .pfw__star { position:absolute; left:calc(var(--x)*1%); top:calc(var(--y)*1%); width:3px; height:3px; border-radius:50%; background:#fff; opacity:.7; }
.v5.pf .pfw__door { position:absolute; left:10px; bottom:10px; width:30px; height:30px; border-radius:8px; background:rgba(255,255,255,.12); display:grid; place-items:center; }
.v5.pf .pfw__door svg { width:18px; fill:none; stroke:#fff; stroke-width:2; }
.v5.pf .pfw__unit { position:absolute; right:10px; bottom:8px; width:84px; }
.v5.pf .pfw__ahu { width:100%; display:block; filter:drop-shadow(0 0 10px rgba(152,195,85,.0)); }
.v5.pf .is-in .pfw__ahu { animation:pfw-glow 1.6s ease-in-out .6s infinite alternate; }
.v5.pf .is-in .pfw__ahu .fan { animation:pfw-spin 1s linear infinite; transform-box:fill-box; transform-origin:center; }
.v5.pf .pfw__unit em { position:absolute; top:-6px; right:-2px; font-style:normal; font-size:10px; font-weight:800; color:#fff; background:#1FAB3D; border-radius:6px; padding:1px 5px; }
@keyframes pfw-glow { to { filter:drop-shadow(0 0 12px rgba(152,195,85,.95)); } }
@keyframes pfw-spin { to { transform:rotate(360deg); } }
.v5.pf .pfw__clock { width:104px; height:104px; justify-self:center; }
.v5.pf .pfw__clock .open { fill:rgba(152,195,85,.35); } .v5.pf .pfw__clock .over { fill:#DB4B46; opacity:0; transition:opacity .6s ease 2.2s; }
.v5.pf .is-in .pfw__clock .over { opacity:.9; }
.v5.pf .pfw__big { display:block; font-size:30px; font-weight:800; line-height:1; margin-bottom:2px; } .v5.pf .pfw__big--r { color:#DB4B46; }
.v5.pf .pfw__b--3 { grid-template-columns:1fr auto; background:linear-gradient(135deg,#F3F9EA,#fff 70%); border-color:rgba(152,195,85,.5); }
.v5.pf .pfw__money { font-size:20px !important; color:#1D1D1B !important; font-weight:700; }
.v5.pf .pfw__money strong { font-size:56px; line-height:1; color:#1FAB3D; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.02em; margin-right:4px; }
.v5.pf .pfw__money .pf-mock { display:table; margin-bottom:6px; }
.v5.pf .pfw__fix { display:flex; align-items:center; gap:8px; padding:12px 16px; border-radius:12px; background:#1D1D1B; color:#fff !important; font-weight:700; white-space:nowrap; }
.v5.pf .pfw__fix span { width:22px; height:22px; border-radius:50%; background:#98C355; display:grid; place-items:center; } .v5.pf .pfw__fix svg { width:14px; fill:none; stroke:#fff; stroke-width:3; }
.v5.pf .pf-why__steps li { transition:background .4s, box-shadow .4s; border-radius:14px; }
.v5.pf .is-in .pf-why__steps li { animation:pfw-hl 4.2s ease forwards; }
.v5.pf .is-in .pf-why__steps li:nth-child(2) { animation-delay:1.4s; } .v5.pf .is-in .pf-why__steps li:nth-child(3) { animation-delay:2.8s; animation-name:pfw-hl3; }
@keyframes pfw-hl { 0%,100% { background:transparent; } 10%,30% { background:#fff; box-shadow:0 8px 24px -14px rgba(13,23,88,.4); } }
@keyframes pfw-hl3 { 0% { background:transparent; } 10%,100% { background:#fff; box-shadow:0 8px 24px -14px rgba(13,23,88,.4); } }

/* ===== Era v2: before/after sweep ===== */
.v5.pf .pf-era__lead { font-size:20px; font-weight:800; color:#1D1D1B; margin:18px 0 8px; }
.v5.pf .pfe { position:relative; margin:0; aspect-ratio:1.25; }
.v5.pf .pfe__bld { position:absolute; left:0; top:12%; width:78%; aspect-ratio:1800/965; }
.v5.pf .pfe__bld img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.v5.pf .pfe__off { filter:grayscale(1) brightness(.28) contrast(1.1); clip-path:inset(0 0 0 0); transition:clip-path 2.2s cubic-bezier(.6,0,.3,1) .4s; }
.v5.pf .pfe.is-in .pfe__off { clip-path:inset(0 0 0 100%); }
.v5.pf .pfe__sweep { position:absolute; top:-6%; bottom:-6%; left:0; width:3px; background:linear-gradient(180deg,transparent,#4DAAE8,#98C355,#F7CA50,transparent); box-shadow:0 0 24px 6px rgba(77,170,232,.55); opacity:0; }
.v5.pf .pfe.is-in .pfe__sweep { animation:pfe-sweep 2.2s cubic-bezier(.6,0,.3,1) .4s; }
@keyframes pfe-sweep { 0% { left:0; opacity:1; } 92% { opacity:1; } 100% { left:100%; opacity:0; } }
.v5.pf .pfe__hs { position:absolute; left:calc(var(--x)*1%); top:calc(var(--y)*1%); width:4.2%; aspect-ratio:1; border-radius:50%; background:url('../images/pf2/hs-sprite.webp') no-repeat; background-size:2800% 100%; background-position:calc(var(--n) * 100% / 27) 0; transform:translate(-50%,-50%) scale(0); box-shadow:0 2px 8px rgba(0,0,0,.35); }
.v5.pf .pfe__hs::before { content:""; position:absolute; inset:-30%; border-radius:50%; border:2px solid #98C355; opacity:0; }
.v5.pf .pfe__hs em { position:absolute; left:110%; top:50%; transform:translateY(-50%); font-style:normal; font-size:11px; font-weight:800; color:#1FAB3D; background:#fff; padding:2px 6px; border-radius:7px; white-space:nowrap; box-shadow:0 2px 8px rgba(13,23,88,.18); opacity:0; }
.v5.pf .pfe.is-in .pfe__hs { animation:pfe-pop .5s cubic-bezier(.2,1.6,.4,1) forwards; animation-delay:calc(2.4s + var(--k) * .16s); }
.v5.pf .pfe.is-in .pfe__hs::before { animation:pfh-ring 1.8s ease-out infinite; animation-delay:calc(3s + var(--k) * .2s); }
.v5.pf .pfe.is-in .pfe__hs:nth-child(odd) em { animation:pfe-in .4s ease forwards; animation-delay:calc(2.9s + var(--k) * .16s); }
@keyframes pfe-pop { to { transform:translate(-50%,-50%) scale(1); } }
@keyframes pfe-in { to { opacity:1; } }
.v5.pf .pfe__old { position:absolute; left:4%; top:58%; display:flex; gap:12px; transition:all .8s ease 1.2s; }
.v5.pf .pfe.is-in .pfe__old { opacity:0; transform:translateY(20px) scale(.9); }
.v5.pf .pfe__clip { position:relative; width:70px; height:88px; border-radius:8px; background:#C9A57A; padding:18px 10px 0; box-sizing:border-box; transform:rotate(-6deg); box-shadow:0 10px 24px -10px rgba(0,0,0,.6); }
.v5.pf .pfe__clip::before { content:""; position:absolute; top:-6px; left:22px; width:26px; height:12px; border-radius:4px; background:#7D828F; }
.v5.pf .pfe__clip i { display:block; height:4px; border-radius:2px; background:rgba(255,255,255,.75); margin:6px 0; }
.v5.pf .pfe__bill { position:relative; width:96px; height:110px; border-radius:6px; background:#F2F2EE; padding:10px; box-sizing:border-box; transform:rotate(4deg); box-shadow:0 10px 24px -10px rgba(0,0,0,.6); }
.v5.pf .pfe__bill b { font-size:10px; color:#555; } .v5.pf .pfe__bill i { display:block; height:4px; background:#D6D6CF; border-radius:2px; margin:8px 0; }
.v5.pf .pfe__bill strong { position:absolute; right:10px; bottom:4px; font-size:44px; line-height:1; color:#DB4B46; font-weight:800; }
.v5.pf .pfe__flow { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.v5.pf .pfe__flow path { fill:none; stroke:#4DAAE8; stroke-width:.6; stroke-dasharray:2 3; opacity:0; vector-effect:non-scaling-stroke; }
.v5.pf .pfe.is-in .pfe__flow path { animation:pfe-in .4s ease 3.4s forwards, pfe-dash 1s linear 3.4s infinite; stroke-width:2.5; }
@keyframes pfe-dash { to { stroke-dashoffset:-10; } }
.v5.pf .pfe__dash { position:absolute; right:0; top:22%; width:46%; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 2px 6px rgba(13,23,88,.12),0 30px 60px -24px rgba(13,23,88,.45); opacity:0; transform:translateX(30px) scale(.92); clip-path:inset(0 0 100% 0 round 12px); transition:all 1s cubic-bezier(.2,.8,.2,1) 3.6s; }
.v5.pf .pfe.is-in .pfe__dash { opacity:1; transform:none; clip-path:inset(0 0 0 0 round 12px); }
.v5.pf .pfe__dash img { display:block; width:100%; height:auto; }
.v5.pf .pfe__live { position:absolute; top:8px; right:8px; display:flex; align-items:center; gap:5px; font-size:11px; font-weight:800; color:#1FAB3D; background:#fff; padding:3px 8px; border-radius:999px; box-shadow:0 2px 8px rgba(13,23,88,.15); }
.v5.pf .pfe__live i { width:7px; height:7px; border-radius:50%; background:#1FAB3D; animation:pfh-pulse 1.2s infinite; }

/* ===== Install v2: real hardware clip-on ===== */
.v5.pf .pfi { grid-template-columns:1.4fr 1fr; }
.v5.pf .pfi > .pfi__svg, .v5.pf .pfi__clip, .v5.pf .pfi__gw { grid-column:1; grid-row:1; }
.v5.pf .pfi__clip { position:relative; width:31%; aspect-ratio:1; align-self:center; z-index:1; }
.v5.pf .pfi__clip img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border-radius:10px; }
.v5.pf .pfi__p1 { opacity:0; }
.v5.pf .pfi__ct { width:44% !important; height:44% !important; left:28% !important; top:-10% !important; inset:auto; opacity:0; filter:drop-shadow(0 8px 10px rgba(0,0,0,.35)); }
.v5.pf .pfi__ok { position:absolute; right:8%; top:10%; width:14px; height:14px; border-radius:50%; background:#98C355; box-shadow:0 0 0 0 rgba(152,195,85,.6); opacity:0; }
.v5.pf .pfi__gw { width:9%; justify-self:end; align-self:start; margin:2% 2% 0 0; z-index:1; filter:drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.v5.pf .pfi__hub { display:none; }
.v5.pf .pfi.is-in .pfi__ct { animation:pfi-ct 9s ease-in-out infinite; }
.v5.pf .pfi.is-in .pfi__p1 { animation:pfi-p1 9s ease-in-out infinite; }
.v5.pf .pfi.is-in .pfi__ok { animation:pfi-ok 9s ease-in-out infinite; }
@keyframes pfi-ct { 0% { opacity:0; transform:translateY(-30px) scale(1.1); } 8% { opacity:1; transform:translateY(-30px) scale(1.1); } 18% { opacity:1; transform:translateY(40%) scale(.6); } 22%,100% { opacity:0; transform:translateY(40%) scale(.6); } }
@keyframes pfi-p1 { 0%,18% { opacity:0; } 24%,94% { opacity:1; } 100% { opacity:0; } }
@keyframes pfi-ok { 0%,24% { opacity:0; } 28%,94% { opacity:1; box-shadow:0 0 0 8px rgba(152,195,85,0); } 100% { opacity:0; } }
.v5.pf .pfi__ans li.pfi__top { align-items:center; padding:16px; border-color:rgba(219,75,70,.35); background:linear-gradient(135deg,#FDF0EF,#fff 70%); font-size:15px; }
.v5.pf .pfi__top img { width:36px; height:36px; border-radius:50%; flex:none; }
.v5.pf .pfi__top span { flex:1; display:grid; } .v5.pf .pfi__top b { font-size:16px; }
.v5.pf .pfi__top strong { display:grid; text-align:right; font-size:30px; line-height:1; font-weight:800; color:#DB4B46; font-variant-numeric:tabular-nums; }
.v5.pf .pfi__top strong small { font-size:11px; font-weight:600; color:#8a90a0; margin-top:3px; }

@media (max-width:900px) {
 .v5.pf .pfl { grid-template-columns:1fr; } .v5.pf .pfl::before { display:none; } .v5.pf .pfl__dot { left:10px; }
 .v5.pf .pfw__b { grid-template-columns:110px 1fr; } .v5.pf .pfw__b--3 { grid-template-columns:1fr; }
 .v5.pf .pfw__money strong { font-size:44px; }
 .v5.pf .pfe { aspect-ratio:1; }
}
@media (prefers-reduced-motion:reduce) {
 .v5.pf .pfl *, .v5.pf .pfl::before, .v5.pf .pfw *, .v5.pf .pfe *, .v5.pf .pfi * { animation:none !important; transition:none !important; }
 .v5.pf .pfl__d, .v5.pf .pfl__drift { stroke-dashoffset:0; } .v5.pf .pfl__drift { stroke:#DB4B46; }
 .v5.pf .pfe__off, .v5.pf .pfe__old { display:none; } .v5.pf .pfe__hs { transform:translate(-50%,-50%) scale(1); } .v5.pf .pfe__hs em { opacity:1; }
 .v5.pf .pfi__p1, .v5.pf .pfi__ok { opacity:1; }
}

/* ===== Hero v6 ===== */
.v5.pf .pfh.is-dark .pfh__img--off { filter:brightness(.035) contrast(1.2) grayscale(1); opacity:.9; }
.v5.pf .pfh.is-dark .pfh__scene::after { content:""; position:absolute; inset:0; background:radial-gradient(60% 60% at 55% 45%,transparent,#05070f 75%); pointer-events:none; z-index:2; }
.v5.pf .pfh.is-dark .pfh__say p.say-dark { font-size:clamp(30px,2.6vw,40px); }
.v5.pf .pfh__say p { font-size:clamp(28px,2.4vw,38px); line-height:1.15; }
.v5.pf .pfh-room { position:absolute; left:calc(var(--x)*1%); top:calc(var(--y)*1%); width:22%; aspect-ratio:1.6; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(closest-side,rgba(255,226,150,.85),rgba(255,210,120,.25) 55%,transparent); mix-blend-mode:screen; opacity:0; pointer-events:none; z-index:1; }
.v5.pf .pfh.is-lit .pfh-room { animation:pfh-room 2.4s ease-out forwards; animation-delay:calc(var(--r) * .26s); }
@keyframes pfh-room { 0% { opacity:0; } 8% { opacity:.9; } 14% { opacity:.2; } 22% { opacity:1; } 100% { opacity:.18; } }
.v5.pf .pfh.is-lit .pfh__img--on { transition:opacity 2.6s ease .25s, filter 2.6s ease .25s; }
.v5.pf .pfh.is-flood .pfh-tag--x, .v5.pf .pfh.is-flood .pfh-hs { display:block; }
.v5.pf .pfh-msgs { position:absolute; z-index:5; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; gap:14px; width:min(420px,90%); pointer-events:none; }
.v5.pf .pfh-msg { display:flex; align-items:center; gap:14px; margin:0; padding:16px 20px; border-radius:18px; background:#fff; color:#1D1D1B; font-size:20px; font-weight:800; box-shadow:0 30px 70px -20px rgba(0,0,0,.7); opacity:0; transform:scale(.6); }
.v5.pf .pfh-msg span { display:grid; } .v5.pf .pfh-msg small { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.v5.pf .pfh-msg--g small { color:#1FAB3D; } .v5.pf .pfh-msg--r small { color:#DB4B46; }
.v5.pf .pfh-msg i { width:14px; height:14px; border-radius:50%; flex:none; background:#98C355; box-shadow:0 0 0 6px rgba(152,195,85,.22); }
.v5.pf .pfh-msg--r i { background:#DB4B46; box-shadow:0 0 0 6px rgba(219,75,70,.22); animation:pfh-redp 1.2s infinite; }
@keyframes pfh-redp { 50% { box-shadow:0 0 0 11px rgba(219,75,70,0); } }
.v5.pf .pfh.is-dist .pfh-msg { animation:pfh-msg .7s cubic-bezier(.2,1.5,.4,1) forwards; animation-delay:.9s; }
.v5.pf .pfh.is-dist .pfh-msg--r { animation-delay:1.7s; }
@keyframes pfh-msg { to { opacity:1; transform:none; } }
.v5.pf .pfh.is-done .pfh-msgs { opacity:0; transition:opacity .4s; }
.v5.pf .pfh.is-dist .pfh__img--on { opacity:1; filter:saturate(.8) brightness(.5); }
.v5.pf .pfh.is-dist .pfh-hs { opacity:.5; }
.v5.pf .pfh.is-dist .say-dist { opacity:1; transform:none; }
.v5.pf .pfh.is-dist .s-done { opacity:1; }
.v5.pf .pfh.is-done .pfh__img--on, html:not(.pf-js) .v5.pf .pfh__img--on { filter:saturate(.85) brightness(.55) !important; }
.v5.pf .pfh.is-done .pfh__in { min-height:min(calc(100svh - 76px - 112px),760px); }
.v5.pf .pfh.is-done .pfh__scene { min-height:640px; }
/* benefit band */
.v5.pf .pfh > .pfh__ben { position:relative; z-index:3; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; max-width:1320px; margin:0 auto; padding:22px 40px 26px; border-top:1px solid rgba(255,255,255,.1); }
.v5.pf .pfh > .pfh__ben li { flex-direction:row; justify-content:center; gap:14px; font-size:18px; font-weight:700; color:#fff; }
.v5.pf .pfh > .pfh__ben .pf-i { width:28px; height:28px; padding:12px; border-radius:16px; }
@media (max-width:760px) {
 .v5.pf .pfh > .pfh__ben { grid-template-columns:repeat(5,1fr); gap:6px; padding:16px 10px 20px; }
 .v5.pf .pfh > .pfh__ben li { flex-direction:column; gap:6px; font-size:11.5px; text-align:center; }
 .v5.pf .pfh > .pfh__ben .pf-i { width:22px; height:22px; padding:10px; }
 .v5.pf .pfh.is-flood .pfh-tag--x, .v5.pf .pfh.is-flood .pfh-hs:not(.is-keep) { display:none; }
 .v5.pf .pfh.is-done .pfh__scene { min-height:0; }
 .v5.pf .pfh-msg { font-size:16px; padding:12px 14px; }
 .v5.pf .pfh__say p { font-size:22px; }
}
@media (min-width:901px) {
 .v5.pf .pf-era__in { grid-template-columns:.75fr 1.25fr !important; }
 .v5.pf .pfe { aspect-ratio:1.45; }
 .v5.pf .pfe__bld { width:74%; top:8%; }
 .v5.pf .pfe__dash { width:50%; top:26%; }
 .v5.pf .pfi__clip { width:40%; }
 .v5.pf .pfi__gw { width:11%; }
 .v5.pf .pfl__tiles, .v5.pf .pfl__viz { height:270px; }
}
@media (min-width:901px) { .v5.pf .pf-era__in { grid-template-columns:.62fr 1.38fr !important; } .v5.pf .pfe { aspect-ratio:1.5; } .v5.pf .pfe__bld { width:82%; top:4%; } .v5.pf .pfe__dash { width:46%; top:auto; bottom:0; } .v5.pf .pfe__old { top:62%; } }
@media (min-width:1024px){ .v5.pf .pf-tour.v5-sec{padding-top:28px;padding-bottom:20px} .v5.pf .pf-tour .v5-head{margin-bottom:14px} .v5.pf .pf-tour .v5-head h2{margin-bottom:6px} .v5.pf .pf-tour .pft.pft--v2 .pft__tabs{margin-bottom:12px} .v5.pf .pf-tour .pft.pft--v2 .pft__frame{width:min(100%,760px)} .v5.pf .pf-tour .pft.pft--v2 .pft__panel{margin-top:12px} }
@media (max-width:900px) {
 .v5.pf .pfi { grid-template-columns:1fr; }
 .v5.pf .pfi__clip { width:44%; }
 .v5.pf .pfi__gw { width:12%; }
 .v5.pf .pfi__ans { grid-row:2; grid-column:1; }
 .v5.pf .pfi__cap { grid-column:1; }
 .v5.pf .pfe { aspect-ratio:auto; height:auto; display:block; padding-bottom:4px; }
 .v5.pf .pfe__bld { position:relative; left:auto; top:auto; width:100%; }
 .v5.pf .pfe__old { top:30%; left:4%; }
 .v5.pf .pfe__dash { position:relative; right:auto; top:auto; width:78%; margin:-8% 0 0 auto; }
 .v5.pf .pfe__flow { display:none; }
}
