/* PackForge v278 - "How it works" animations for every product page (8 s loop, 4 steps). Scoped to body.pf-isx .pfv */
body.pf-isx .pfv .pv g,body.pf-isx .pfv .pv path,body.pf-isx .pfv .pv rect,body.pf-isx .pfv .pv circle,body.pf-isx .pfv .pv ellipse{animation-duration:8s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
body.pf-isx .pfv.pfv-paused .pv *{animation-play-state:paused!important}
body.pf-isx .pfv .pv .pv-tag,body.pf-isx .pfv .pv .pv-done{animation-name:pvTag}
body.pf-isx .pfv .pv .pv-done{animation-name:pvDone}
@keyframes pvTag{0%,22%{opacity:0}28%,72%{opacity:1}78%,100%{opacity:0}}
@keyframes pvDone{0%,80%{opacity:0}86%,97%{opacity:1}100%{opacity:0}}
@keyframes pvGlow{0%,48%{opacity:0}54%,72%{opacity:1}78%,100%{opacity:0}}
@keyframes pvSpin{to{transform:rotate(360deg)}}
@keyframes pvBlink{0%,48%{fill:#5b1a16}52%,74%{fill:#ff3b2f}78%,100%{fill:#5b1a16}}
.pv .pv-glow{animation-name:pvGlow;opacity:0}
.pv .pv-led{animation-name:pvBlink}
/* press sealers (hand, table, foot, hot bar, pneumatic) */
.pv-press .pv-bag{animation-name:pvBagIn}
@keyframes pvBagIn{0%,20%{opacity:0;transform:translateY(-30px)}34%,96%{opacity:1;transform:none}100%{opacity:0}}
.pv-press .pv-arm{animation-name:pvArm;transform-box:view-box;transform-origin:470px 123px}
@keyframes pvArm{0%,44%{transform:rotate(-12deg)}52%,78%{transform:rotate(0)}88%,100%{transform:rotate(-12deg)}}
.pv-press .pv-seal{opacity:0;animation-name:pvSeal}
@keyframes pvSeal{0%,74%{opacity:0}80%,96%{opacity:1}100%{opacity:0}}
.pv-press .pv-pedal{animation-name:pvPedal;transform-box:fill-box;transform-origin:0 50%}
@keyframes pvPedal{0%,44%{transform:rotate(-10deg)}52%,78%{transform:rotate(0)}88%,100%{transform:rotate(-10deg)}}
.pv-press .pv-foot{animation-name:pvFoot}
@keyframes pvFoot{0%,44%{transform:translateY(-16px)}52%,78%{transform:none}88%,100%{transform:translateY(-16px)}}
.pv-press .pv-air{animation-name:pvGlow;opacity:0}
/* cup sealer */
.pv-cup .pv-cup{animation-name:pvBagIn}
.pv-cup .pv-head{animation-name:pvDown}
@keyframes pvDown{0%,44%{transform:translateY(-6px)}52%,78%{transform:translateY(22px)}88%,100%{transform:translateY(-6px)}}
.pv-cup .pv-lever{animation-name:pvLever;transform-box:view-box;transform-origin:292px 75px}
@keyframes pvLever{0%,44%{transform:rotate(-14deg)}52%,78%{transform:rotate(6deg)}88%,100%{transform:rotate(-14deg)}}
.pv-cup .pv-film{animation-name:pvSeal;opacity:0}
/* band sealer */
.pv-band .pv-pouch{animation-name:pvTravel;animation-timing-function:linear}
@keyframes pvTravel{0%{transform:translateX(30px)}96%{transform:translateX(470px)}100%{transform:translateX(470px);opacity:0}}
.pv-band .pv-seal{opacity:0;animation-name:pvSealB}
@keyframes pvSealB{0%,38%{opacity:0}46%,100%{opacity:1}}
.pv-band .pv-glow{animation-name:pvOn}
@keyframes pvOn{0%,100%{opacity:.85}50%{opacity:.55}}
.pv-band .pv-wheel{animation-name:pvSpin;animation-timing-function:linear;transform-box:fill-box;transform-origin:center;animation-duration:2s}
.pv-band .pv-belt{animation-name:pvOn}
.pv-band .pv-gas,.pv-band .pv-cool{animation-name:pvOn}
/* blister / skin / cling */
.pv-blister .pv-turn{animation-name:pvDash;animation-timing-function:linear}
@keyframes pvDash{to{stroke-dashoffset:-240}}
.pv-blister .pv-card{animation-name:pvSlide}
@keyframes pvSlide{0%,20%{transform:translateX(-80px);opacity:0}30%,44%{transform:translateX(0);opacity:1}54%,80%{transform:translateX(110px)}94%,100%{transform:translateX(230px);opacity:0}}
.pv-blister .pv-plate{animation-name:pvPlate}
@keyframes pvPlate{0%,52%{transform:translateY(0)}58%,74%{transform:translateY(40px)}80%,100%{transform:translateY(0)}}
.pv-skin .pv-frame{animation-name:pvFrame}
@keyframes pvFrame{0%,24%{transform:translateY(0)}48%,100%{transform:translateY(96px)}}
.pv-skin .pv-skin{opacity:0;animation-name:pvSkin}
@keyframes pvSkin{0%,50%{opacity:0}58%,96%{opacity:1}100%{opacity:0}}
.pv-skin .pv-vac{animation-name:pvGlow;opacity:0}
.pv-cling .pv-tray{animation-name:pvTray}
@keyframes pvTray{0%{transform:translate(-120px,150px)}24%,40%{transform:translate(170px,150px)}62%,100%{transform:translate(170px,136px)}}
.pv-cling .pv-film{opacity:0;animation-name:pvFilm}
@keyframes pvFilm{0%,30%{opacity:0}40%,96%{opacity:1}100%{opacity:0}}
/* strapping */
.pv-strap .pv-box{animation-name:pvBoxIn}
@keyframes pvBoxIn{0%{transform:translateX(-180px);opacity:0}20%,96%{transform:none;opacity:1}100%{opacity:0}}
.pv-strap .pv-strap{opacity:0;animation-name:pvStrap}
@keyframes pvStrap{0%,26%{opacity:0;transform:scaleY(.2)}40%,96%{opacity:1;transform:none}100%{opacity:0}}
.pv-strap .pv-strap{transform-box:fill-box;transform-origin:50% 100%}
.pv-strap .pv-tight{animation-name:pvGlow;opacity:0}
.pv-strap .pv-tool{animation-name:pvToolIn}
@keyframes pvToolIn{0%,24%{transform:translateY(-40px);opacity:0}36%,90%{transform:none;opacity:1}100%{opacity:0}}
.pv-strap .pv-roll{animation-name:pvSpin;animation-timing-function:linear;transform-box:fill-box;transform-origin:center;animation-duration:4s}
/* carton sealer */
.pv-carton .pv-box{animation-name:pvCart;animation-timing-function:linear}
@keyframes pvCart{0%{transform:translateX(-160px)}100%{transform:translateX(560px)}}
.pv-carton .pv-tape,.pv-carton .pv-tape2{animation-name:pvTape;transform-box:fill-box;transform-origin:0 0}
@keyframes pvTape{0%,40%{transform:scaleX(0)}60%,100%{transform:scaleX(1)}}
.pv-carton .pv-head{animation-name:pvHead}
@keyframes pvHead{0%,36%,70%,100%{transform:none}44%,62%{transform:translateY(6px)}}
.pv-carton .pv-rollers{animation-name:pvOn}
/* stretch wrapping */
.pv-stretch .pv-turn{animation-name:pvDash;animation-timing-function:linear}
.pv-stretch .pv-carr{animation-name:pvCarr}
@keyframes pvCarr{0%,20%{transform:translateY(0)}60%{transform:translateY(-120px)}96%,100%{transform:translateY(0)}}
.pv-stretch .pv-wrap{animation-name:pvWrap;transform-box:fill-box;transform-origin:50% 100%}
@keyframes pvWrap{0%,20%{transform:scaleY(.3);opacity:0}30%{opacity:1}60%,96%{transform:scaleY(10.5);opacity:1}100%{opacity:0}}
.pv-stretch .pv-press{animation-name:pvPresser}
@keyframes pvPresser{0%,10%{transform:translateY(-10px)}22%,90%{transform:translateY(10px)}100%{transform:translateY(-10px)}}
/* shrink */
.pv-shrink .pv-pack{animation-name:pvShr;animation-timing-function:linear}
@keyframes pvShr{0%{transform:translateX(30px)}24%,40%{transform:translateX(90px)}100%{transform:translateX(560px)}}
.pv-shrink .pv-film{animation-name:pvShrF;transform-box:fill-box;transform-origin:center}
@keyframes pvShrF{0%,55%{transform:none;opacity:.9}70%,100%{transform:scale(.9,.88);opacity:.6}}
.pv-shrink .pv-sl{animation-name:pvShrF;transform-box:fill-box;transform-origin:center}
.pv-shrink .pv-jaw{animation-name:pvJaw}
@keyframes pvJaw{0%,24%,40%,100%{transform:none}30%,36%{transform:translateY(14px)}}
.pv-shrink .pv-glow{animation-name:pvOn}
/* vacuum */
.pv-vacuum .pv-lid{animation-name:pvLid;transform-box:view-box;transform-origin:140px 150px}
@keyframes pvLid{0%,20%{transform:rotate(-24deg)}30%,80%{transform:none}90%,100%{transform:rotate(-24deg)}}
.pv-vacuum .pv-pouch{animation-name:pvFlat;transform-box:fill-box;transform-origin:50% 100%}
@keyframes pvFlat{0%,30%{transform:none}56%,100%{transform:scaleY(.62)}}
.pv-vacuum .pv-air{animation-name:pvAir;opacity:0}
@keyframes pvAir{0%,30%{opacity:0;transform:none}40%{opacity:1}54%{opacity:0;transform:translateY(-40px)}100%{opacity:0}}
/* filling */
.pv-fill .pv-cont{animation-name:pvCont}
@keyframes pvCont{0%{transform:translateX(-260px)}20%,80%{transform:none}100%{transform:translateX(260px)}}
.pv-fill .pv-lvl{animation-name:pvLvl;transform-box:fill-box;transform-origin:50% 100%}
@keyframes pvLvl{0%,26%{transform:scaleY(0)}64%,100%{transform:scaleY(1)}}
.pv-fill .pv-drip{opacity:0;animation-name:pvDrip}
@keyframes pvDrip{0%,24%{opacity:0}28%,62%{opacity:1}66%,100%{opacity:0}}
.pv-fill .pv-seal{opacity:0;animation-name:pvSeal}
/* capping / induction / can / tube */
.pv-cap .pv-cont{animation-name:pvCont}
.pv-cap .pv-capg{animation-name:pvCapIn}
@keyframes pvCapIn{0%,24%{transform:translateY(-30px);opacity:0}32%,80%{transform:translateY(22px);opacity:1}100%{transform:translate(260px,22px)}}
.pv-cap .pv-head{animation-name:pvDown}
.pv-cap .pv-twist,.pv-cap .pv-waves{opacity:0;animation-name:pvGlow}
.pv-cap .pv-spin{animation-name:pvSpin;animation-timing-function:linear;transform-box:fill-box;transform-origin:center;animation-duration:1s}
.pv-cap .pv-jawl{animation-name:pvJL}.pv-cap .pv-jawr{animation-name:pvJR}
@keyframes pvJL{0%,44%,80%,100%{transform:none}52%,74%{transform:translateX(24px)}}
@keyframes pvJR{0%,44%,80%,100%{transform:none}52%,74%{transform:translateX(-24px)}}
/* labelling, printer, ink */
.pv-label .pv-cont{animation-name:pvLab;animation-timing-function:linear}
@keyframes pvLab{0%{transform:translateX(-60px)}100%{transform:translateX(560px)}}
.pv-label .pv-lab{opacity:0;animation-name:pvLabOn;transform-box:fill-box;transform-origin:100% 50%}
@keyframes pvLabOn{0%,50%{opacity:0;transform:scaleX(0)}60%,100%{opacity:1;transform:none}}
.pv-printer .pv-paper{animation-name:pvPaper}
@keyframes pvPaper{0%,24%{transform:translateY(110px)}70%,94%{transform:none}100%{transform:translateY(110px)}}
.pv-printer .pv-bt{animation-name:pvGlow;opacity:0}
.pv-ink .pv-pack{animation-name:pvLab;animation-timing-function:linear}
.pv-ink .pv-code{opacity:0;animation-name:pvLabOn}
.pv-ink .pv-dots{animation-name:pvGlow;opacity:0}
/* material handling */
.pv-pallet .pv-truck{animation-name:pvTruck}
@keyframes pvTruck{0%,10%{transform:translateX(-140px)}30%,60%{transform:none}96%,100%{transform:translateX(160px)}}
.pv-pallet .pv-load{animation-name:pvLift}
@keyframes pvLift{0%,34%{transform:none}46%,100%{transform:translateY(-10px)}}
.pv-stacker .pv-fork{animation-name:pvFork}
@keyframes pvFork{0%,24%{transform:none}64%,84%{transform:translateY(-104px)}100%{transform:none}}
.pv-drum .pv-frame{animation-name:pvTruck}
.pv-drum .pv-drum{animation-name:pvDrumL;transform-box:fill-box;transform-origin:50% 100%}
@keyframes pvDrumL{0%,34%{transform:none}50%,84%{transform:translateY(-20px)}100%{transform:none}}
.pv-drum .pv-pour{opacity:0;animation-name:pvGlow}
.pv-trolley .pv-trol{animation-name:pvTruck}
.pv-table .pv-tab{animation-name:pvTabUp}
@keyframes pvTabUp{0%,24%{transform:translateY(60px)}60%,86%{transform:none}100%{transform:translateY(60px)}}
.pv-table .pv-sc{animation-name:pvScis;transform-box:fill-box;transform-origin:50% 100%}
@keyframes pvScis{0%,24%{transform:scaleY(.35)}60%,86%{transform:none}100%{transform:scaleY(.35)}}
.pv-conveyor .pv-box{animation-name:pvConv;animation-timing-function:linear}
.pv-conveyor .pv-b2{animation-delay:-4s}
@keyframes pvConv{0%{transform:translate(10px,160px)}100%{transform:translate(470px,92px)}}
.pv-conveyor .pv-beltd{animation-name:pvDash;animation-timing-function:linear}
/* agriculture */
.pv-brush .pv-blade,.pv-weeder .pv-tine,.pv-auger .pv-bit{animation-name:pvSpin;animation-timing-function:linear;transform-box:fill-box;transform-origin:center;animation-duration:.6s}
.pv-auger .pv-bit{animation-name:none}
.pv-brush .pv-op{animation-name:pvSwing;transform-box:view-box;transform-origin:330px 90px}
@keyframes pvSwing{0%,24%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}76%{transform:rotate(-8deg)}100%{transform:rotate(-8deg)}}
.pv-brush .pv-bits{opacity:0;animation-name:pvGlow}
.pv-weeder .pv-mach{animation-name:pvMove;animation-timing-function:linear}
@keyframes pvMove{0%{transform:translateX(-120px)}100%{transform:translateX(160px)}}
.pv-weeder .pv-clods{animation-name:pvGlow;opacity:0}
.pv-chaff .pv-wheel{animation-name:pvSpin;animation-timing-function:linear;transform-box:fill-box;transform-origin:center;animation-duration:1s}
.pv-chaff .pv-fod{animation-name:pvFeed}
@keyframes pvFeed{0%,20%{transform:translateX(-60px);opacity:0}30%{opacity:1}70%,100%{transform:translateX(150px);opacity:0}}
.pv-chaff .pv-chop{opacity:0;animation-name:pvChop}
@keyframes pvChop{0%,46%{opacity:0;transform:translateY(-14px)}56%,96%{opacity:1;transform:none}100%{opacity:0}}
.pv-chaff .pv-beltd{animation-name:pvDash;animation-timing-function:linear}
.pv-spray .pv-mist{opacity:0;animation-name:pvMist}
@keyframes pvMist{0%,46%{opacity:0;transform:none}54%,80%{opacity:1}96%,100%{opacity:0;transform:translateX(-30px)}}
.pv-pump .pv-flow{opacity:0;animation-name:pvMist}
.pv-pump .pv-wave{animation-name:pvOn}
.pv-saw .pv-op{animation-name:pvSaw}
@keyframes pvSaw{0%,30%{transform:translateY(-40px)}70%,90%{transform:translateY(30px)}100%{transform:translateY(-40px)}}
.pv-saw .pv-bar{animation-name:pvOn}
.pv-saw .pv-dust{opacity:0;animation-name:pvGlow}
.pv-auger .pv-drill{animation-name:pvDrill}
@keyframes pvDrill{0%,30%{transform:translateY(-40px)}76%,88%{transform:translateY(20px)}100%{transform:translateY(-40px)}}
.pv-auger .pv-hole{opacity:0;animation-name:pvSkin}
.pv-seeder .pv-mach,.pv-transplant .pv-mach{animation-name:pvMove;animation-timing-function:linear}
.pv-seeder .pv-seeds,.pv-transplant .pv-seedl{opacity:0;animation-name:pvSkin}
@media (prefers-reduced-motion:reduce){body.pf-isx .pfv .pv *{animation:none!important}body.pf-isx .pfv .pv .pv-done,body.pf-isx .pfv .pv .pv-tag{opacity:1}}
body.pf-isx .pfv .isx-vid-steps li b{transition:color .3s}
body.pf-isx .pfv-price .pfx-pc .v.pfv-sm{font-size:17px}
@media (max-width:640px){body.pf-isx .pfv-price .pfx-pc .v.pfv-sm{font-size:15px}}
/* product design block on catalogue product pages (same look as the 12 inch page) */
body.pf-isx .pfv-what .isx-what-media .isx-hero-in img{object-fit:contain;background:#fff}
body.pf-isx #prodPage .pd-mid .pfv{margin-top:16px}
body.pf-isx .pfv-price{scroll-margin-top:110px}

/* pfn layout rules (same as the 12 inch page) */
.pfn{--pfnw:1180px}
.pfn-w,.pfn .pfn-w{max-width:1236px}
.pfn-hero .hlp-lede{max-width:900px}
.pfn-body{padding:30px 0 56px}
.pfn-body .hlp-main{max-width:1180px}
.pfn-body .hlp-main>p{max-width:900px}
.pfn-body .hlp-sec>p,.pfn-body .hlp-sec>ul,.pfn-body .hlp-sec>ol{max-width:900px}
.pfn-t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13.6px;margin:8px 0 14px}
.pfn-t th,.pfn-t td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}
.pfn-t th{background:var(--pri-soft);color:var(--dark);font-weight:650}
.pfn-t td:first-child{font-weight:600;color:var(--dark);background:#FAFBFD}
.pfn-t tr:last-child td{border-bottom:0}
.pfn-t a{color:var(--pri);font-weight:600}
.pfn-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pfn-tw .pfn-t{min-width:560px}
.pfn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 14px}
.pfn-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.pfn-grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pfn-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:13.6px;line-height:1.55;color:#3E4854}
.pfn-card b{display:block;color:var(--dark);font-size:14.2px;margin-bottom:3px}
.pfn-card.no b{color:#B3261E}.pfn-card a{color:var(--pri);font-weight:600}
.pfn-card .pfn-pr{display:block;margin-top:6px;font-weight:700;color:var(--dark)}
.pfn-qa{background:var(--acc-soft);border-left:4px solid var(--acc);border-radius:0 10px 10px 0;padding:14px 18px;font-size:15px;line-height:1.65;color:#3E4854;max-width:980px}
.pfn-qa b{color:var(--pri-d)}
.pfn-ck{display:flex;flex-direction:column;gap:8px;margin:6px 0 14px;max-width:940px}
.pfn-ck li{position:relative;padding-left:24px;color:#3E4854}
.pfn-ck li:before{content:"\2713";position:absolute;left:3px;top:0;color:var(--ok);font-weight:700}
.pfn-ol{margin:6px 0 14px 20px;list-style:decimal;max-width:900px}.pfn-ol li{margin:0 0 7px;color:#3E4854;padding-left:4px}
.pfn-ban{background:var(--pri);color:#fff;border-radius:14px;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:26px 0 4px}
.pfn-ban h2{color:#fff!important;margin:0 0 4px!important;font-size:20px}.pfn-ban p{margin:0!important;color:#E6EEF9!important;max-width:760px}
.pfn-ban .btn{flex:none}
.pfn-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.pfn-author{margin-top:26px;padding-top:12px;border-top:1px solid var(--line);font-size:12.6px;color:var(--mut)}
.pfn-note{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:13.2px;color:#4A545F;margin:10px 0 14px;max-width:940px}
/* product hero */
.pfn-ph{padding:18px 0 30px;background:linear-gradient(180deg,var(--pri-soft),#fff 70%)}
.pfn-pgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:start;margin-top:12px}
.pfn-ph h1{font-size:32px;line-height:1.18;font-weight:700;color:var(--dark);margin:10px 0 12px;letter-spacing:-.4px}
.pfn-sd{background:#fff;border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:8px;padding:11px 14px;margin:0 0 14px}
.pfn-sd h3{margin:0 0 4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut)}
.pfn-sd p{margin:0 0 6px;font-size:14.2px;line-height:1.62;color:#3E4854}.pfn-sd .pfn-coo{margin:0;font-size:13.4px}.pfn-sd .pfn-coo b{color:var(--dark)}
.pfn-buy{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--sh)}
.pfn-ver{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pfn-ver1{grid-template-columns:auto 1fr;align-items:center}.pfn-vl{font-size:13px;color:var(--mut);font-weight:600}
.pfn-up{font-size:13.2px;margin:8px 0 0;padding:8px 11px;border-radius:8px;background:#fff7ec;border:1px dashed #f0b56b}.pfn-up a{font-weight:600}
.pfn-ver a{display:block;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13.4px;color:var(--txt)}
.pfn-ver a b{display:block;color:var(--dark);font-size:13.8px}
.pfn-ver a.on{border:2px solid var(--pri);background:var(--pri-soft)}
.pfn-sz{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;align-items:center;font-size:12.5px;color:var(--mut)}
.pfn-sz a{border:1px solid #CFDDEE;border-radius:7px;padding:4px 10px;font-weight:600;color:var(--pri);background:#fff;font-size:12.8px}
.pfn-sz a.on{background:var(--pri);color:#fff;border-color:var(--pri)}
.pfn-ids{font-size:12.6px;color:var(--mut);margin:10px 0 0}.pfn-ids b{color:var(--dark);font-weight:600}
.pfn-prow{display:flex;align-items:center;gap:16px;margin:12px 0;flex-wrap:wrap}
.pfn .qtyrow.pfn-qty{display:flex;justify-content:flex-start;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;height:42px;padding:0}
.pfn .pfn-qty button{width:40px;height:40px;border:0;border-radius:0;font-size:18px;color:var(--dark);background:#F7F9FC}
.pfn .pfn-qty input{width:52px;height:40px;border:0;border-radius:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-weight:700;font-size:15px;-moz-appearance:textfield}
.pfn-qty input::-webkit-outer-spin-button,.pfn-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pfn-price b{font-size:30px;color:var(--dark);line-height:1;display:block}
.pfn-price small{display:block;font-size:12.6px;color:var(--mut);margin-top:4px}.pfn-price s{color:var(--mut)}
.pfn-price em{display:block;font-style:normal;color:#9A6200;font-weight:700;font-size:12.6px;margin-top:3px}
.pfn-off{color:var(--ok);font-weight:700}
.pfn-btns{display:flex;gap:10px;flex-wrap:wrap}.pfn-btns .btn{flex:1;min-width:140px;padding:12px 18px}
.pfn-dd{margin-top:12px}
.pfn-ret{font-size:13px;color:#3E4854;margin:10px 0 0}.pfn-ret b{color:var(--dark)}.pfn-ret a{color:var(--pri);font-weight:600}
.pfn-pay{font-size:12.4px;color:var(--mut);margin:6px 0 0}.pfn-pay a{color:var(--pri)}
.pfn-links{display:flex;gap:16px;flex-wrap:wrap;font-weight:600;font-size:13.6px;margin:12px 0 8px}.pfn-links a{color:var(--pri)}
.pfn-badges{display:flex;flex-wrap:wrap;gap:7px}.pfn-badges span{border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 9px;font-size:12.4px;font-weight:600;color:var(--dark)}
.pfn-badges span:before{content:"\2713 ";color:var(--ok)}
.pfn-photo{background:#fff;border-radius:16px;padding:12px;box-shadow:var(--sh-lg);margin-top:40px}
.pfn-photo img{width:100%;height:auto;border-radius:10px}
.pfn-photo figcaption{font-size:12.4px;color:var(--mut);margin-top:8px;text-align:center}
.pfn-sec{padding:30px 0}.pfn-sec.alt{background:var(--soft)}
.pfn-sec h2{font-size:23px;line-height:1.28;color:var(--dark);font-weight:700;margin:0 0 12px;letter-spacing:-.2px}
.pfn-sec h3{font-size:16px;color:var(--dark);margin:16px 0 8px;font-weight:650}
.pfn-sec p{color:#3E4854;margin:0 0 11px;line-height:1.7;max-width:980px;font-size:14.4px}
.pfn-sec p a,.pfn-ck a,.pfn-ol a,.hlp-sec a:not(.btn),.pfn-qa a{color:var(--pri);font-weight:600}
/* selector + forms */
.pfn-sel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:10px 0 14px}
.pfn-sel label{display:block;font-size:12.6px;font-weight:650;color:var(--dark);margin-bottom:5px}
.pfn-sel input,.pfn-sel select{width:100%;height:40px;border:1px solid #CBD4DF;border-radius:8px;padding:0 10px;background:#fff;font-size:14px}
.pfn-in2{display:flex;gap:6px}.pfn-in2 input{flex:1;min-width:0}.pfn-in2 select{width:84px;flex:none}
.pfn-res{grid-column:1/-1;background:#EAF7F1;border:1px solid #C4E5D3;border-radius:9px;padding:11px 14px;font-size:14px;color:#24443A}
.pfn-res b{color:var(--dark)}.pfn-res a,.pfn-res button.pfn-lk{color:var(--pri);font-weight:650;background:none;border:0;padding:0;cursor:pointer;font-size:14px}
.pfn-res.warn{background:var(--acc-soft);border-color:#F3D9A6;color:#5C4712}
.pfn-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin:12px 0 16px;max-width:860px}
.pfn-form h3{font-size:17px;color:var(--dark);margin:0 0 12px}
.pfn-fg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pfn-f span{display:block;font-size:12.6px;font-weight:650;color:var(--dark);margin-bottom:4px}.pfn-f i{color:#C0392B;font-style:normal}
.pfn-f input,.pfn-f select,.pfn-f textarea{width:100%;border:1px solid #CBD4DF;border-radius:8px;padding:9px 10px;background:#fff;font-size:14px}
.pfn-f textarea{resize:vertical}.pfn-full{grid-column:1/-1}
.pfn-form .btn{margin-top:14px}.pfn-ferr{color:#B3261E;font-size:13px;margin-top:10px}
.pfn-fnote{font-size:12.4px;color:var(--mut);margin-top:10px}
.pfn-ok{background:#EAF7F1;border:1px solid #C4E5D3;border-radius:10px;padding:14px;color:#24443A}
.pfn-kit{display:none}.pfn-kit.on{display:block}
.pfn-toc{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.pfn-toc a{background:#fff;border:1px solid #CFDDEE;border-radius:18px;padding:5px 12px;font-size:12.6px;color:var(--pri);font-weight:600}
.pfn-steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 14px}
.pfn-steps div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:13.6px;color:#3E4854;position:relative;padding-top:38px}
.pfn-steps div:before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:10px;width:22px;height:22px;border-radius:50%;background:var(--pri);color:#fff;font-weight:700;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.pfn-steps b{display:block;color:var(--dark);margin-bottom:3px}
.pfn-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.pfn-kpi div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.pfn-kpi b{display:block;font-size:21px;color:var(--pri);line-height:1.2}.pfn-kpi span{font-size:12.6px;color:var(--mut)}
@media(max-width:1000px){.pfn-pgrid,.pfn-two{grid-template-columns:1fr;gap:20px}.pfn-photo{margin-top:0}
.pfn-grid,.pfn-grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.pfn-steps,.pfn-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
.pfn-sel{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pfn-ph h1{font-size:24px}.pfn-sec h2{font-size:20px}.pfn-grid,.pfn-grid.g2,.pfn-grid.g4{grid-template-columns:1fr}
.pfn-sel,.pfn-fg{grid-template-columns:1fr}.pfn-ban{flex-direction:column;align-items:flex-start;padding:18px}
.pfn-price b{font-size:26px}.pfn-t{font-size:13px}.pfn-t th,.pfn-t td{padding:8px 9px}.pfn-steps,.pfn-kpi{grid-template-columns:1fr}}