/* ---- p_21_sv-proposal.css ---- */
/* =====================================================================
   PROPOSAL DESIGN  (.sk-pp) - studio pitch deck: nền trắng ngà, mực đen, cam, đào
   Chất liệu: slide viền mực, giấy ghi chú chanh, thước kẻ + lưới 12 cột,
   khung chọn kiểu công cụ thiết kế. Slide dùng đơn vị cqw nên co giãn theo khung.
   ===================================================================== */
.sk-pp{--bg:#f5f4f1;--bg2:#ebeae6;--card:#fff;--ink:#0a0a0c;--mut:#5d5d65;--ln:rgba(10,10,12,.14);
  --ac:#ff6a13;--ac2:#ff8c42;--aci:#fff;
  --r:16px;--bw:1.5px;--sh:0 1px 0 rgba(10,10,12,.05),0 24px 46px -28px rgba(10,10,12,.35);--hfw:800;--hls:-.04em;
  --lime:#ffc9a3;--lav:#ece9e3;--wf:#dcdad5}
.sk-pp :focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.sk-pp dl,.sk-pp dt,.sk-pp dd{margin:0}
.sk-pp .btn-f:hover{background:var(--ink);color:#fff}
.sk-pp .s-cta.inv .btn-f{background:var(--ink);color:#fff}
.sk-pp .s-cta.inv .btn-f:hover{background:#fff;color:var(--ink)}

/* ---------- khối nút tròn dùng chung (trước / sau) ---------- */
.pp-fb{width:46px;height:46px;border-radius:50%;border:var(--bw) solid var(--ink);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .25s,color .25s,transform .35s cubic-bezier(.34,1.56,.64,1)}
.pp-fb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pp-fb--p svg{transform:scaleX(-1)}
.pp-fb:hover{background:var(--ink);color:#fff}
.pp-fb:active{transform:scale(.9)}

/* =====================  SLIDE (khung dùng chung)  ===================== */
.pp-sl{position:relative;aspect-ratio:16/10;container-type:inline-size;background:#fff;color:var(--ink);overflow:hidden;border-radius:6px}
.pp-si{position:absolute;inset:0;padding:5.5cqw 6cqw;font-size:3cqw;line-height:1.35}
.pp-si h3,.pp-si h4{margin:0;line-height:1.05}

/* =====================  HERO  ===================== */
.pp-hero{padding-top:clamp(122px,11.4vw,152px);padding-bottom:clamp(44px,5vw,72px)}
.pp-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(78px + env(safe-area-inset-top,0px));background:var(--ink);z-index:-1}
.pp-ruler{position:absolute;left:0;right:0;top:78px;height:26px;z-index:-1;border-bottom:1px solid var(--ln);
  background:repeating-linear-gradient(90deg,rgba(10,10,12,.42) 0 1px,transparent 1px 100px) left bottom/100% 13px no-repeat,
             repeating-linear-gradient(90deg,rgba(10,10,12,.26) 0 1px,transparent 1px 10px) left bottom/100% 6px no-repeat}
.pp-guides{position:absolute;top:104px;bottom:0;left:50%;width:min(100% - 56px,1184px);transform:translateX(-50%);z-index:-1;border-right:1px solid rgba(255,106,19,.12);
  background:repeating-linear-gradient(90deg,rgba(255,106,19,.12) 0 1px,transparent 1px calc(100% / 12))}
.pp-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center}
.pp-title{display:inline-block;position:relative;font-size:clamp(54px,8.2vw,124px);line-height:.92;margin:10px 0 0;padding:0}
.pp-title::before{content:"";position:absolute;inset:-.02em -.17em -.17em;border:1.5px solid var(--ac);pointer-events:none}
.pp-title::after{content:"";position:absolute;inset:calc(-.02em - 4px) calc(-.17em - 4px) calc(-.17em - 4px);pointer-events:none;
  background:linear-gradient(var(--ac),var(--ac)) 0 0/8px 8px no-repeat,linear-gradient(var(--ac),var(--ac)) 50% 0/8px 8px no-repeat,linear-gradient(var(--ac),var(--ac)) 100% 0/8px 8px no-repeat,
             linear-gradient(var(--ac),var(--ac)) 0 50%/8px 8px no-repeat,linear-gradient(var(--ac),var(--ac)) 100% 50%/8px 8px no-repeat,
             linear-gradient(var(--ac),var(--ac)) 0 100%/8px 8px no-repeat,linear-gradient(var(--ac),var(--ac)) 50% 100%/8px 8px no-repeat,linear-gradient(var(--ac),var(--ac)) 100% 100%/8px 8px no-repeat}
.pp-dim{position:absolute;right:calc(-.17em - 4px);top:calc(-.02em - 36px);background:var(--ac);color:#fff;font:600 11px/1 var(--ff);letter-spacing:0;padding:5px 7px;border-radius:3px;white-space:nowrap;text-transform:none}
.pp-dim:empty{display:none}
.pp-hero .s-crumb{margin-bottom:clamp(44px,4.2vw,56px)}
.sk-pp .pp-sub{color:var(--mut);margin-top:clamp(40px,3.6vw,52px)}
.pp-btns .btn{min-height:46px}

/* quạt slide */
.pp-fan{position:relative;isolation:isolate;justify-self:end;width:min(100%,660px)}
.pp-disc{position:absolute;z-index:-1;left:50%;top:6%;width:52%;aspect-ratio:1;margin-left:-26%;border-radius:50%;background:var(--lime)}
.pp-ring{position:absolute;z-index:-1;left:50%;top:-6%;width:76%;aspect-ratio:1;margin-left:-38%;border-radius:50%;border:1.5px solid rgba(10,10,12,.5)}
.pp-fan-st{position:relative;aspect-ratio:16/11.4;perspective:1400px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;border-radius:12px}
.pp-drag .pp-fan-st{cursor:grabbing}
.pp-fan-st:focus-visible{outline-offset:8px}
.pp-hs{position:absolute;left:22%;top:13%;width:56%;transform-origin:50% 150%;
  transform:translate3d(calc(var(--x,0)*100%),calc(var(--y,0)*100%),0) rotate(var(--rz,0deg)) rotateY(var(--ry,0deg)) scale(var(--s,1));
  opacity:var(--op,1);border-radius:8px;box-shadow:0 0 0 1.5px var(--ink),0 28px 40px -22px rgba(10,10,12,.6);will-change:transform}
.pp-fan-ctl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:clamp(10px,1.6vw,20px)}
.pp-fan-cap{font:600 14px var(--fb);color:var(--mut);min-width:150px;text-align:center}
.pp-fan-cap b{font:800 20px var(--ff);color:var(--ink);letter-spacing:-.02em}
.pp-stk{position:absolute;left:1%;top:1%;z-index:70;background:var(--lime);color:var(--ink);font:700 12px/1 var(--ff);padding:7px 12px;border-radius:99px;border:1.5px solid var(--ink);transform:rotate(-6deg)}

/* con trỏ cộng tác */
.pp-cur{position:absolute;z-index:60;display:flex;align-items:flex-start;pointer-events:none}
.pp-cur svg{width:20px;height:26px;flex:none;fill:var(--c);stroke:#fff;stroke-width:1.5;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(10,10,12,.3))}
.pp-cur em{font:700 12px/1 var(--ff);font-style:normal;background:var(--c);color:var(--ci);padding:6px 10px;border-radius:99px 99px 99px 3px;margin:15px 0 0 -3px;white-space:nowrap;border:1.5px solid var(--ink)}
.pp-cur--a{--c:var(--lime);--ci:var(--ink);left:66%;top:42%}
.pp-cur--b{--c:var(--ac);--ci:#fff;left:8%;top:54%}

/* ----- 5 slide hero (đã thiết kế) ----- */
.pp-c1{background:var(--ac);color:#fff}
.pp-c1-top{display:flex;justify-content:space-between;align-items:baseline;font-size:2.6cqw}
.pp-c1-top b{font:800 3.6cqw var(--ff);letter-spacing:-.02em}
.pp-c1-top span{opacity:.85}
.pp-c1-h{font-size:9.4cqw;font-weight:800;letter-spacing:-.045em;margin-top:8.5cqw!important;line-height:1}
.sk-pp .pp-c1-p{font-size:2.8cqw;max-width:52%;margin-top:3.4cqw;opacity:.9}
.pp-c1-o1{position:absolute;right:-9cqw;bottom:-12cqw;width:42cqw;aspect-ratio:1;border-radius:50%;background:var(--lime)}
.pp-c1-o2{position:absolute;right:12cqw;bottom:9cqw;width:19cqw;aspect-ratio:1;border-radius:50%;border:2.2cqw solid #fff}
.pp-c2{background:#fff}
.pp-c2-k{font:700 2.6cqw var(--ff);color:var(--ac);display:inline-block;border:.3cqw solid var(--ac);padding:.5cqw 1.8cqw;border-radius:99px}
.pp-c2-h{font-size:8.6cqw;letter-spacing:-.045em;margin-top:4.5cqw!important;line-height:1}
.pp-c2-h mark{background:linear-gradient(transparent 58%,var(--lime) 58% 92%,transparent 92%);color:inherit;padding:0 .4cqw}
.pp-c2-m{position:absolute;right:6cqw;top:6cqw;display:flex;gap:1.4cqw}
.pp-c2-m i{width:6cqw;height:6cqw;border-radius:1.4cqw}
.pp-c2-m i:nth-child(1){background:var(--ac)}.pp-c2-m i:nth-child(2){background:var(--lime);border:.3cqw solid var(--ink)}.pp-c2-m i:nth-child(3){background:var(--ink)}
.pp-c2-w{position:absolute;left:6cqw;bottom:5.5cqw;display:flex;gap:1.6cqw}
.pp-c2-w li{font:700 2.6cqw var(--ff);padding:1cqw 2.6cqw;border-radius:99px;background:var(--lav)}
.pp-c3{background:#0a0a0c;color:#fff}
.pp-c3-h{font-size:6.4cqw;letter-spacing:-.04em;max-width:70%}
.pp-c3-t{position:absolute;left:6cqw;right:6cqw;bottom:9cqw;display:grid;grid-template-columns:repeat(5,1fr);gap:1cqw}
.pp-c3-t::before{content:"";position:absolute;left:1.2cqw;right:1.2cqw;top:6.9cqw;height:.4cqw;background:rgba(255,255,255,.28)}
.pp-c3-t li{position:relative;display:grid;gap:1.2cqw;justify-items:start}
.pp-c3-t b{font:800 3.1cqw var(--ff);color:var(--lime);letter-spacing:-.01em}
.pp-c3-t i{width:2.8cqw;height:2.8cqw;border-radius:50%;background:var(--lime);border:.5cqw solid #0a0a0c;box-shadow:0 0 0 .35cqw var(--lime);margin-top:2cqw}
.pp-c3-t span{font-size:2.4cqw;opacity:.88}
.pp-c3-t .pp-key i{transform:scale(1.8);transform-origin:0 50%;background:#0a0a0c;border:.55cqw solid var(--lime);box-shadow:none}
.pp-c3-t .pp-key span{font-weight:700;opacity:1;color:var(--lime);margin-top:1cqw}
.pp-c4{background:#fff}
.pp-c4-h{font-size:5.6cqw;letter-spacing:-.04em}
.pp-c4-t{margin-top:3.6cqw;border-top:.35cqw solid var(--ink)}
.pp-c4-t div{display:flex;justify-content:space-between;align-items:baseline;padding:1.5cqw 0;border-bottom:.2cqw solid var(--ln);font-size:2.9cqw}
.pp-c4-t dd{font:800 3.3cqw var(--ff);font-variant-numeric:tabular-nums}
.pp-c4-s{position:absolute;left:6cqw;right:6cqw;bottom:5cqw;display:flex;justify-content:space-between;align-items:center;font-size:2.3cqw;color:var(--mut)}
.pp-c4-s b{font:800 4cqw var(--ff);color:var(--ink);background:var(--lime);padding:.8cqw 3cqw;border-radius:99px;border:.3cqw solid var(--ink);letter-spacing:-.02em}
.pp-c5{background:var(--lime)}
.pp-c5-h{font-size:6.4cqw;letter-spacing:-.04em}
.pp-c5-l{display:grid;gap:1.7cqw;margin-top:3.8cqw}
.pp-c5-l li{position:relative;padding-left:5.4cqw;font:600 2.9cqw var(--fb)}
.pp-c5-l li::before{content:"";position:absolute;left:0;top:.1cqw;width:3.4cqw;height:3.4cqw;border-radius:.8cqw;border:.35cqw solid var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7ff3a' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.pp-c5-sg{position:absolute;right:6cqw;bottom:5cqw;width:22cqw;border-top:.3cqw solid var(--ink);padding-top:.8cqw;font-size:2.2cqw;text-align:center}

/* =====================  GIẢI PHẪU (trình xem 8 slide)  ===================== */
.pp-an{border:var(--bw) solid var(--ink);border-radius:20px;background:var(--card);box-shadow:12px 12px 0 0 var(--lime),0 0 0 0 transparent}
.pp-an-top{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:var(--bw) solid var(--ink);background:var(--bg2);border-radius:18px 18px 0 0}
.pp-dots{display:flex;gap:7px}
.pp-dots i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink)}
.pp-dots i:nth-child(1){background:var(--lime)}.pp-dots i:nth-child(2){background:var(--ac)}.pp-dots i:nth-child(3){background:var(--ink)}
.pp-an-file{font:600 13px var(--ff);color:var(--mut);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-sw{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--ink);font:600 14px var(--fb);cursor:pointer;min-height:40px;padding:0 4px}
.pp-sw i{width:44px;height:26px;border-radius:99px;border:1.5px solid var(--ink);background:var(--card);position:relative;transition:background .3s}
.pp-sw i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s}
.pp-sw[aria-checked=true] i{background:var(--lime)}
.pp-sw[aria-checked=true] i::after{transform:translateX(18px)}
.pp-an-body{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,.68fr)}
.pp-an-th{position:relative;border-right:1px solid var(--ln);min-height:0}
.pp-an-thl{position:absolute;inset:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px 14px;scrollbar-width:thin}
.pp-th{flex:none;border:0;background:none;padding:0;cursor:pointer;text-align:left;display:grid;gap:5px;color:var(--mut);font:600 12px var(--fb);position:relative}
.pp-th .pp-sl{border-radius:4px;box-shadow:0 0 0 1.5px var(--ln);transition:box-shadow .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.pp-th:hover .pp-sl{transform:translateY(-2px)}
.pp-th.on .pp-sl{box-shadow:0 0 0 2.5px var(--ac),0 10px 18px -10px rgba(255,106,19,.6)}
.pp-th.on{color:var(--ink)}
.pp-th-l{display:flex;gap:6px;align-items:baseline;line-height:1.2}
.pp-th-l b{font:800 12px var(--ff);color:var(--ac)}
.pp-an-main{min-width:0}
.pp-an-cv{padding:clamp(14px,2.2vw,28px);background:radial-gradient(circle,rgba(10,10,12,.2) 1px,transparent 1.5px) 0 0/18px 18px,var(--bg)}
.pp-an-st{position:relative;aspect-ratio:16/10;border-radius:6px;box-shadow:0 0 0 1.5px var(--ink),0 22px 36px -22px rgba(10,10,12,.55);background:#fff;touch-action:pan-y}
.pp-an-st .pp-sl{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;opacity:0;visibility:hidden;transform:translateX(var(--dx,0));pointer-events:none}
.kx-js .pp-an-st .pp-sl{transition:opacity .5s,transform .7s cubic-bezier(.16,1,.3,1),visibility 0s .7s}
.pp-an-st .pp-sl.on{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.pp-an-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(14px,2.2vw,28px) 16px;border-top:1px solid var(--ln)}
.pp-an-cap{font:600 14px var(--fb);color:var(--mut)}
.pp-an-cap b{font:800 20px var(--ff);color:var(--ink);letter-spacing:-.02em}
.pp-an-nav{display:flex;gap:10px}
.pp-an-notes{display:grid;align-content:start;padding:clamp(18px,2.2vw,28px);border-left:1px solid var(--ln);min-width:0}
.pp-nt{grid-area:1/1;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .35s,transform .5s cubic-bezier(.16,1,.3,1),visibility 0s .5s;min-width:0}
.pp-nt.on{visibility:visible;opacity:1;transform:none;transition-delay:.12s,.12s,0s}
.pp-nt h3{font-size:clamp(22px,2.2vw,30px);line-height:1.05}
.sk-pp .pp-nt-q{margin-top:10px;font:italic 500 15px/1.5 var(--fb);color:var(--mut)}
.sk-pp .pp-nt-k{margin-top:18px;font:800 14px var(--ff);letter-spacing:-.01em}
.pp-nt ul{display:grid;gap:8px;margin-top:10px}
.pp-hb{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:12px;padding:8px 8px;font:500 14.5px/1.45 var(--fb);color:var(--ink);cursor:pointer;transition:background .25s,border-color .25s}
.pp-hb::before{content:attr(data-h);width:26px;height:26px;border-radius:50%;background:var(--ac);color:#fff;font:700 13px/26px var(--ff);text-align:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pp-hb:hover{background:var(--bg)}
.pp-hb.pp-act{background:var(--lav);border-color:var(--ac)}
.pp-hb.pp-act::before{transform:scale(1.18)}
.sk-pp .pp-why{position:relative;margin-top:22px;background:var(--lime);padding:16px 16px 18px;border-radius:4px;transform:rotate(-1.2deg);font-size:14px;line-height:1.55;box-shadow:0 12px 18px -14px rgba(10,10,12,.6)}
.pp-why::before{content:"";position:absolute;left:50%;top:-9px;width:60px;height:18px;margin-left:-30px;background:rgba(255,255,255,.62);transform:rotate(3deg);box-shadow:0 1px 2px rgba(10,10,12,.18)}
.pp-why b{display:block;font:800 15px var(--ff);margin-bottom:4px}

/* ghim + vùng chú thích trên wireframe */
.pp-an-st [data-h]{position:relative;outline:.28cqw dashed rgba(255,106,19,.6);outline-offset:.9cqw;border-radius:1cqw;transition:opacity .35s,background-color .35s,outline-color .3s}
.pp-an-st [data-h]::before{content:attr(data-h);position:absolute;z-index:3;left:-2.1cqw;top:-2.1cqw;width:3.9cqw;height:3.9cqw;border-radius:50%;background:var(--ac);color:#fff;font:700 2.3cqw/3.9cqw var(--ff);text-align:center;box-shadow:0 0 0 .4cqw #fff}
.pp-an-st .pp-sl:not(.on) [data-h]::before{animation:none}
.kx-js .pp-an-st .pp-sl.on [data-h]::before{animation:ppPin .55s cubic-bezier(.34,1.56,.64,1) backwards}
.kx-js .pp-an-st .pp-sl.on [data-h="2"]::before{animation-delay:.14s}
.kx-js .pp-an-st .pp-sl.on [data-h="3"]::before{animation-delay:.28s}
@keyframes ppPin{from{transform:scale(0)}}
.pp-an.pp-noann .pp-an-st [data-h]{outline-color:transparent}
.pp-an.pp-noann .pp-an-st [data-h]::before{display:none}
.pp-an-st .pp-hlx [data-h]:not(.pp-act){opacity:.3}
.pp-an-st [data-h].pp-act{outline:.5cqw solid var(--ac);background-color:rgba(255,106,19,.07)}
.pp-th [data-h]{outline:none!important;background:none!important;opacity:1!important}
.pp-th [data-h]::before{display:none!important}

/* ----- wireframe ----- */
.pp-wf .pp-si{display:grid}
.pp-wl{display:block;height:1.3cqw;border-radius:1cqw;background:var(--wf);width:var(--w,100%)}
.pp-wl--s{height:.95cqw}
.pp-wl--d{background:#1a1a33}
.pp-wh{display:block;height:3.5cqw;border-radius:.9cqw;background:#0a0a0c;width:var(--w,100%)}
.pp-wp{display:block;height:2.5cqw;border-radius:99px;background:var(--lime);border:.28cqw solid #0a0a0c;width:var(--w,16%)}
.pp-wa{display:block;background:var(--ac);border-radius:1cqw}
.pp-wd{display:block;background:#0a0a0c;border-radius:1cqw}
.pp-wc{display:block;width:5cqw;height:5cqw;border-radius:50%;background:#ebeae6;border:.28cqw solid #0a0a0c;flex:none}
.pp-wi{border-radius:1.2cqw;background:linear-gradient(to top right,transparent calc(50% - .12cqw),rgba(10,10,12,.22) calc(50% - .12cqw) calc(50% + .12cqw),transparent calc(50% + .12cqw)),linear-gradient(to bottom right,transparent calc(50% - .12cqw),rgba(10,10,12,.22) calc(50% - .12cqw) calc(50% + .12cqw),transparent calc(50% + .12cqw)),#ebeae6;border:.28cqw solid #0a0a0c}
.pp-hi{background:var(--lime)!important;border:.28cqw solid #0a0a0c}

.pp-w1 .pp-si{grid-template-columns:1.12fr .88fr;gap:6cqw}
.pp-w1-l{display:flex;flex-direction:column;justify-content:center;gap:2.6cqw}
.pp-w1-t{display:grid;gap:1.3cqw;margin:1cqw 0 .5cqw}
.pp-w1-m{display:grid;gap:1cqw;margin-top:3.6cqw}
.pp-w1-i{min-height:0;margin:1cqw 0}

.pp-w2 .pp-si{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr auto;gap:4.5cqw 5cqw}
.pp-w2-l{display:flex;flex-direction:column;gap:1.8cqw;justify-content:center}
.pp-w2-h{display:grid;gap:1.2cqw;margin-bottom:2cqw}
.pp-w2-n{display:grid;gap:2cqw;align-content:center}
.pp-w2-n div{display:grid;gap:1.2cqw;padding:1.6cqw 2cqw;border:.28cqw solid #0a0a0c;border-radius:1.2cqw}
.pp-w2-b{grid-column:1/-1;display:flex;align-items:center;gap:3cqw;padding:2cqw 2.4cqw;border:.28cqw dashed #0a0a0c;border-radius:1.4cqw;background:#fff}
.pp-w2-b .pp-wl{flex:1}

.pp-w3 .pp-si{grid-template-columns:1fr 1.15fr;grid-template-rows:1fr auto;gap:4.5cqw 5cqw}
.pp-w3-q{display:grid;gap:1.5cqw;align-content:center;padding:3cqw;background:#ebeae6;border-radius:1.4cqw;border:.28cqw solid #0a0a0c}
.pp-w3-q b{font:800 12cqw/.7 var(--ff);color:var(--ac);height:5cqw}
.pp-w3-i{display:grid;gap:2.4cqw;align-content:center}
.pp-w3-i div{display:flex;gap:2.4cqw;align-items:center}
.pp-w3-i span{display:grid;gap:1cqw;flex:1}
.pp-w3-a{grid-column:1/-1;display:flex;gap:3cqw;align-items:center;padding:2cqw 2.4cqw;border:.28cqw dashed #0a0a0c;border-radius:1.4cqw}

.pp-w4 .pp-si{grid-template-columns:1.1fr 1fr;gap:5cqw}
.pp-w4-i{position:relative;margin:.5cqw 0;overflow:visible}
.pp-w4-c{position:absolute;right:-3cqw;bottom:-3cqw;width:14cqw;height:14cqw;border-radius:50%;background:var(--lime);border:.28cqw solid #0a0a0c}
.pp-w4-r{display:flex;flex-direction:column;justify-content:center;gap:5cqw}
.pp-w4-t{display:grid;gap:1.4cqw}
.pp-w4-s{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;align-items:center}
.pp-w4-s .pp-wa,.pp-w4-s .pp-wd{height:5cqw}
.pp-w4-s .pp-wp{width:100%}
.pp-w4-s .pp-wl{grid-column:1/-1}

.pp-w5 .pp-si{grid-template-rows:auto 1fr auto;gap:4cqw}
.pp-w5-t{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1.6cqw;align-content:center}
.pp-w5-t::before{content:"";position:absolute;left:0;right:0;top:5.2cqw;height:.4cqw;background:#0a0a0c}
.pp-w5-t>div{position:relative;display:grid;gap:1.2cqw;align-content:start;padding:0 .4cqw}
.pp-w5-t b{display:block;width:3cqw;height:3cqw;border-radius:50%;background:#fff;border:.45cqw solid #0a0a0c;margin:1.2cqw 0 1.4cqw}
.pp-w5-t .pp-w5-k b{background:var(--lime);transform:scale(1.4);transform-origin:0 50%}
.pp-w5-t .pp-w5-k{padding:1.4cqw 1.4cqw 1.8cqw;margin:-1.4cqw -1.4cqw 0;background:var(--lime);border-radius:1.4cqw;border:.28cqw solid #0a0a0c}
.pp-w5-t .pp-w5-k b{background:#fff}
.pp-w5-b{display:flex;gap:2.4cqw;align-items:center;padding:1.8cqw 2.4cqw;border:.28cqw dashed #0a0a0c;border-radius:1.4cqw}
.pp-w5-b .pp-wp{flex:none}

.pp-w6 .pp-si{grid-template-columns:1.25fr 1fr;gap:5cqw}
.pp-w6-f{position:relative;border:.28cqw solid #0a0a0c;border-radius:1.2cqw;background:#f5f4f1;overflow:visible}
.pp-w6-s{position:absolute;left:18%;right:18%;top:7%;height:17%;background:var(--ac);border-radius:1cqw}
.pp-w6-g{position:absolute;left:8%;right:8%;top:36%;bottom:16%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:12%;align-items:center;justify-items:center}
.pp-w6-g i{width:70%;aspect-ratio:1;border-radius:50%;background:#fff;border:.28cqw solid #0a0a0c}
.pp-w6-x{position:absolute;left:40%;right:40%;bottom:4%;height:8%;background:#0a0a0c;border-radius:.8cqw}
.pp-w6-r{display:flex;flex-direction:column;justify-content:center;gap:4.5cqw}
.pp-w6-m{display:grid;gap:2.4cqw}
.pp-w6-m div{display:flex;gap:2.2cqw;align-items:center}
.pp-w6-m span{display:grid;gap:1cqw;flex:1}
.pp-w6-c{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw}

.pp-w7 .pp-si{grid-template-rows:auto 1fr auto;gap:3.6cqw}
.pp-w7-o{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw;width:62%}
.pp-w7-o i{height:4.6cqw;border-radius:99px;border:.28cqw solid #0a0a0c;background:#fff}
.pp-w7-t{display:grid;grid-template-rows:auto repeat(4,1fr);border:.28cqw solid #0a0a0c;border-radius:1.2cqw;overflow:visible}
.pp-w7-t>div{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.2fr;gap:2cqw;align-items:center;padding:1.7cqw 2.4cqw;border-top:.2cqw solid var(--wf)}
.pp-w7-t>div:first-child{border-top:0;background:#0a0a0c;border-radius:.9cqw .9cqw 0 0}
.pp-w7-t .pp-w7-hd .pp-wl{background:#fff;opacity:.85}
.pp-w7-f{display:grid;grid-template-columns:1fr 24%;gap:4cqw;align-items:center}
.pp-w7-f span{display:grid;gap:1cqw}
.pp-w7-f .pp-wp{height:4.2cqw}

.pp-w8 .pp-si{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr auto;gap:4.5cqw 5cqw}
.pp-w8-g{display:grid;gap:2cqw;align-content:center}
.pp-w8-g div{display:grid;grid-template-columns:22% 1fr;gap:2cqw;align-items:center}
.pp-w8-g span{position:relative;height:3cqw;background:repeating-linear-gradient(90deg,var(--wf) 0 .25cqw,transparent .25cqw 14%);border-radius:.8cqw}
.pp-w8-g b{position:absolute;top:.4cqw;bottom:.4cqw;left:var(--a);width:var(--b);border-radius:99px;background:#0a0a0c}
.pp-w8-l{display:grid;gap:2.2cqw;align-content:center}
.pp-w8-l div{display:flex;align-items:center;gap:2cqw}
.pp-w8-l i{flex:none;width:3.4cqw;height:3.4cqw;border-radius:.8cqw;border:.3cqw solid #0a0a0c;background:#fff}
.pp-w8-l span{flex:1}
.pp-w8-c{grid-column:1/-1;display:flex;align-items:center;gap:3cqw;padding:2.2cqw 2.6cqw;border-radius:1.4cqw;background:var(--ac)}
.pp-w8-c .pp-wl{background:rgba(255,255,255,.75)}
.pp-w8-c .pp-wp{margin-left:auto}

/* =====================  SORTER (người đọc)  ===================== */
.pp-so-bar{display:flex;flex-wrap:wrap;gap:10px}
.pp-rb{border:var(--bw) solid var(--ink);background:transparent;color:var(--ink);padding:0 18px;min-height:44px;border-radius:99px;font:600 14.5px var(--fb);cursor:pointer;transition:background .3s,color .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.pp-rb:hover{background:var(--card)}
.pp-rb:active{transform:scale(.95)}
.pp-rb.on{background:var(--ink);color:#fff}
.sk-pp .pp-so-q{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 clamp(20px,3vw,34px);padding:16px 20px;background:var(--lime);border:var(--bw) solid var(--ink);border-radius:18px 18px 18px 4px;font:600 clamp(15px,1.5vw,18px)/1.45 var(--fb);min-height:68px}
.pp-so-q b{flex:none;font:800 15px var(--ff);background:var(--ink);color:var(--lime);padding:6px 12px;border-radius:99px;white-space:nowrap}
.pp-so-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.pp-so-grid>li{display:block;min-width:0}
.pp-tile{position:relative;display:grid;align-content:space-between;aspect-ratio:16/11;padding:14px 16px;background:var(--card);border:var(--bw) solid var(--ink);border-radius:14px;transition:opacity .5s,filter .5s,transform .6s cubic-bezier(.16,1,.3,1),box-shadow .4s,background .4s}
.pp-tile-n{position:absolute;right:12px;top:10px;font:800 13px var(--ff);color:var(--mut)}
.pp-tile-i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--lav);color:var(--ac)}
.pp-tile-i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pp-tile b{font:800 clamp(15px,1.4vw,18px)/1.15 var(--ff);letter-spacing:-.02em}
.pp-tile small{font-size:12px;color:var(--mut);margin-top:3px;display:block}
.pp-tile.pp-hit{box-shadow:5px 5px 0 0 var(--ac);background:#fff;transform:translateY(-4px)}
.pp-tile.pp-hit .pp-tile-i{background:var(--ac);color:#fff}
.pp-tile.pp-dim{opacity:.32;filter:grayscale(1);transform:scale(.96)}

/* =====================  NĂM NGUYÊN TẮC (thẻ chồng khi cuộn)  ===================== */
.pp-stack{display:block;padding-bottom:30px}
.pp-pc{--cv:0;position:sticky;margin-bottom:clamp(14px,1.6vw,20px);top:calc(92px + var(--k)*16px);border:var(--bw) solid var(--ink);border-radius:24px;background:var(--card);box-shadow:0 22px 30px -26px rgba(10,10,12,.55)}
.pp-pc-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(18px,3vw,44px);align-items:center;padding:clamp(18px,2vw,24px) clamp(22px,3vw,40px);transform-origin:50% 0;transform:scale(calc(1 - var(--cv)*.05));opacity:calc(1 - var(--cv)*.35)}
.pp-pc--2{background:var(--lime)}
.pp-pc--3{background:var(--ac);color:#fff}
.pp-pc--4{background:var(--ink);color:#fff}
.pp-pc--5{background:var(--lav)}
.pp-pc--3 .pp-pc-tx .pp-pc-do,.pp-pc--4 .pp-pc-tx .pp-pc-do{color:rgba(255,255,255,.8)}
.pp-pc h3{font-size:clamp(25px,2.7vw,38px);line-height:1.02}
.pp-pc-tx p{margin-top:12px;font-size:clamp(14.5px,1.2vw,16px);line-height:1.55;max-width:46ch}
.pp-pc-tx .pp-pc-do{font-size:13.5px;color:var(--mut);padding-left:14px;border-left:3px solid currentColor;margin-top:14px}
.pp-pc-fig{position:relative;aspect-ratio:2/1;border-radius:14px;background:#fff;color:var(--ink);border:var(--bw) solid var(--ink);overflow:hidden;container-type:inline-size}
/* d1 */
.pp-d1{display:grid;grid-template-columns:1fr 1fr}
.pp-d1-a,.pp-d1-b{position:relative}
.pp-d1-b{border-left:1.5px dashed var(--ink)}
.pp-d1 em{position:absolute;left:8cqw;bottom:4cqw;font:700 3.2cqw var(--ff);font-style:normal}
.pp-d1-a i{position:absolute;border-radius:1cqw;background:var(--wf);border:.3cqw solid var(--ink)}
.pp-d1-a i:nth-child(1){left:6cqw;top:6cqw;width:18cqw;height:7cqw;background:var(--ink)}
.pp-d1-a i:nth-child(2){left:26cqw;top:11cqw;width:14cqw;height:12cqw;background:var(--lime)}
.pp-d1-a i:nth-child(3){left:8cqw;top:17cqw;width:15cqw;height:10cqw}
.pp-d1-a i:nth-child(4){left:5cqw;top:31cqw;width:20cqw;height:5cqw;background:var(--ac)}
.pp-d1-a i:nth-child(5){left:28cqw;top:27cqw;width:12cqw;height:12cqw;border-radius:50%}
.pp-d1-a i:nth-child(6){left:14cqw;top:40cqw;width:16cqw;height:4cqw}
.pp-d1-a i:nth-child(7){left:33cqw;top:5cqw;width:9cqw;height:4cqw;background:var(--ac)}
.pp-d1-a i:nth-child(8){left:4cqw;top:12cqw;width:8cqw;height:3cqw;background:var(--ink)}
.pp-d1-big{position:absolute;left:8cqw;top:10cqw;width:34cqw;height:16cqw;border-radius:1.4cqw;background:var(--ac)}
.pp-d1-sm{position:absolute;left:8cqw;top:30cqw;width:22cqw;height:3cqw;border-radius:99px;background:var(--wf)}
/* d2 */
.pp-d2{display:grid;align-content:center}
.pp-d2 p{display:flex;align-items:baseline;gap:3cqw;line-height:1.1;border-bottom:.3cqw dashed var(--ln);padding-bottom:2cqw;margin:2cqw 7cqw}
.pp-d2 span{font:700 3cqw var(--ff);color:var(--ac);width:6cqw;flex:none}
.pp-d2-1{font:800 8.6cqw var(--ff);letter-spacing:-.04em}
.pp-d2-2{font:600 4.6cqw var(--fb)}
.pp-d2-3{font:400 3cqw var(--fb);color:var(--mut)}
/* d3 */
.pp-d3{display:grid;place-items:center;background:var(--bg)}
.pp-d3-s{position:relative;width:78%;aspect-ratio:16/10;background:#fff;border:.3cqw solid var(--ink)}
.pp-d3-c{position:absolute;inset:6% 6%;display:grid;gap:5%;align-content:center;outline:.3cqw dashed var(--ac)}
.pp-d3-c i{display:block;height:20%;border-radius:.8cqw;background:var(--wf)}
.pp-d3-c i:first-child{width:62%;background:var(--ink);height:26%}
.pp-d3-c i:last-child{width:40%}
.pp-d3-l,.pp-d3-t{position:absolute;font:700 2.6cqw var(--ff);color:var(--ac);background:var(--lime);padding:.3cqw 1.2cqw;border-radius:99px;border:.25cqw solid var(--ink)}
.pp-d3-l{left:-1cqw;top:50%;transform:translate(-50%,-50%)}
.pp-d3-t{left:50%;top:-1cqw;transform:translate(-50%,-50%)}
/* d4 */
.pp-d4{display:flex;flex-direction:column;justify-content:center}
.pp-d4>*{margin-left:10cqw;margin-right:10cqw}
.pp-d4 b{font:800 21cqw/.9 var(--ff);letter-spacing:-.06em;color:var(--ac)}
.pp-d4 em{font-style:normal;font-variant-numeric:tabular-nums}
.pp-d4 span{font:700 4.4cqw var(--ff)}
.pp-d4-bar{display:block;height:3.4cqw;border-radius:99px;background:var(--wf);margin-top:3cqw;overflow:hidden}
.pp-d4-bar u{display:block;height:100%;width:76%;background:var(--ink);border-radius:99px;transform-origin:0 50%}
.pp-d4 small{font-size:2.6cqw;color:var(--mut)}
/* d5 */
.pp-d5{display:grid;grid-template-rows:1fr auto auto}
.pp-d5-g{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:1.4cqw;margin:5cqw 6cqw 0}
.pp-d5-g i{background:rgba(255,106,19,.16);border-radius:.6cqw}
.pp-d5-g u{position:absolute;border-radius:1cqw}
.pp-d5-a{left:0;top:12%;width:calc(50% - .7cqw);height:34%;background:var(--ink)}
.pp-d5-b{right:0;top:12%;width:calc(25% - .7cqw);height:34%;background:var(--lime);border:.3cqw solid var(--ink)}
.pp-d5-sw{display:flex;gap:2cqw;margin:3cqw 6cqw 0}
.pp-d5-sw i{width:7cqw;height:7cqw;border-radius:50%;border:.3cqw solid var(--ink)}
.pp-d5-sw i:nth-child(1){background:var(--ink)}.pp-d5-sw i:nth-child(2){background:var(--ac)}.pp-d5-sw i:nth-child(3){background:var(--lime)}.pp-d5-sw i:nth-child(4){background:var(--lav)}
.pp-d5-f{font:500 3cqw var(--fb);color:var(--mut);margin:3cqw 6cqw 5cqw}
.pp-d5-f b{font:800 4cqw var(--ff);color:var(--ink)}

/* =====================  TRƯỚC / SAU  ===================== */
.pp-cp{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.pp-cmp{--x:50%;position:relative;aspect-ratio:16/10;border:var(--bw) solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:12px 12px 0 0 var(--lime);touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;background:#fff}
.pp-cmp .pp-sl{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.pp-cmp-b{clip-path:inset(0 0 0 var(--x))}
.pp-cl{position:absolute;z-index:5;bottom:12px;font:700 12px/1 var(--ff);padding:7px 12px;border-radius:99px;border:1.5px solid var(--ink);pointer-events:none;transition:opacity .3s}
.pp-cl--a{left:12px;background:#fff}
.pp-cl--b{right:12px;background:var(--lime)}
.pp-kn{position:absolute;z-index:6;top:0;bottom:0;left:var(--x);width:44px;margin-left:-22px;cursor:ew-resize;outline-offset:-4px}
.pp-kn::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--ink)}
.pp-kn-b{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--ac);border:2px solid var(--ink);display:grid;place-items:center;box-shadow:0 8px 16px -6px rgba(10,10,12,.55);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pp-kn-b svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pp-kn:focus-visible .pp-kn-b,.pp-cmp:active .pp-kn-b{transform:scale(1.14)}
.pp-kn:focus-visible{outline:none}
.pp-kn:focus-visible .pp-kn-b{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--ac)}
.pp-cp-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,2.6vw,30px)}
.pp-cb{border:var(--bw) solid var(--ink);background:var(--card);color:var(--ink);padding:0 18px;min-height:44px;border-radius:99px;font:600 14.5px var(--fb);cursor:pointer;transition:background .3s,color .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.pp-cb:hover{background:var(--ink);color:#fff}
.pp-cb:active{transform:scale(.95)}
.pp-cp-leg{display:grid;gap:10px}
.sk-pp .pp-cp-k{font:700 14px var(--ff);color:var(--mut);margin-bottom:2px}
.pp-lg{display:grid;gap:4px;text-align:left;width:100%;background:var(--card);border:var(--bw) solid var(--ink);border-radius:14px;padding:14px 16px;cursor:pointer;color:var(--ink);transition:background .3s,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.pp-lg b{font:800 17px var(--ff);letter-spacing:-.02em}
.pp-lg span{font:400 14px/1.5 var(--fb);color:var(--mut)}
.pp-lg:hover{transform:translateX(4px)}
.pp-lg[aria-pressed=true]{background:var(--lime);box-shadow:5px 5px 0 0 var(--ink);transform:translate(-2px,-2px)}
.pp-lg[aria-pressed=true] span{color:var(--ink)}
/* làm nổi khi chọn mục so sánh */
.pp-cp [data-k]{transition:outline-color .3s}
.pp-cp[data-hl=title] [data-k=title],.pp-cp[data-hl=hier] [data-k=hier],.pp-cp[data-hl=num] [data-k=num],.pp-cp[data-hl=vis] [data-k=vis]{outline:.55cqw solid var(--ac);outline-offset:.9cqw;animation:ppGlow 1.2s ease-in-out infinite alternate}
@keyframes ppGlow{from{outline-color:var(--ac)}to{outline-color:rgba(255,106,19,.25)}}

/* --- slide "bản thường" --- */
.pp-bad{background:#fff;color:#222;font-family:'Be Vietnam Pro',Arial,sans-serif}
.pp-bad .pp-si{padding:3.2cqw 4cqw;font-size:2cqw;line-height:1.4}
.pp-bd-top{display:flex;gap:1.2cqw;align-items:center;font-size:1.55cqw;color:#666;border-bottom:.3cqw solid #ff6a13;padding-bottom:.9cqw;margin-bottom:1.6cqw}
.pp-bd-logo{font-style:normal;color:#9a9aa2;font-size:3.4cqw;line-height:1}
.pp-bd-h{font:700 3.2cqw/1.2 Georgia,'Times New Roman',serif!important;letter-spacing:0!important;color:#ff6a13;text-decoration:underline;text-transform:uppercase;margin-bottom:1.4cqw!important}
.pp-bd-img{float:right;width:22cqw;height:14cqw;margin:.4cqw 0 1cqw 2.4cqw;border:.3cqw solid #999;display:grid;place-items:center;color:#888;font-size:1.6cqw;background:#eee}
.sk-pp .pp-bd-p{text-align:justify;margin-bottom:1.2cqw;font-size:1.95cqw}
.pp-bd-ul{clear:none;padding-left:2.8cqw;list-style:square;font-size:1.85cqw;display:block}
.pp-bd-ul li{margin-bottom:.4cqw}
.pp-bd-ul li:nth-child(2n){color:#0a4aa8}
.pp-bd-ul li:nth-child(3n){color:#ff6a13}
.pp-bd-foot{position:absolute;right:4cqw;bottom:2cqw;font-size:1.5cqw;color:#777}
/* --- slide "bản đã thiết kế" --- */
.pp-good{background:#fff}
.pp-good .pp-si{display:grid;grid-template-columns:1.05fr .95fr;gap:4cqw;padding:5.5cqw 5.6cqw;font-size:2.4cqw}
.pp-gd-l{display:flex;flex-direction:column}
.pp-gd-h{font-size:6.4cqw!important;line-height:1.02!important;letter-spacing:-.045em}
.sk-pp .pp-gd-p{color:var(--mut);margin-top:2cqw;font-size:2.4cqw}
.pp-gd-ic{display:grid;gap:1.6cqw;margin-top:auto}
.pp-gd-ic li{display:flex;gap:1.8cqw;align-items:center;font:600 2.5cqw var(--fb)}
.pp-gd-ic i{display:grid;place-items:center;width:5cqw;height:5cqw;border-radius:1.3cqw;background:var(--ac);flex:none}
.pp-gd-ic svg{width:60%;height:60%;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pp-gd-r{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr;gap:1.6cqw}
.pp-gd-n{border:.3cqw solid var(--ink);border-radius:1.6cqw;padding:1.6cqw 2cqw}
.pp-gd-n b{display:block;font:800 5.2cqw/1 var(--ff);letter-spacing:-.045em}
.pp-gd-n small{font-size:2cqw;color:var(--mut);display:block;margin-top:.6cqw}
.pp-gd-n--hi{grid-column:1/-1;background:var(--lime)}
.pp-gd-n--hi small{color:var(--ink)}
.pp-gd-v{grid-column:1/-1;position:relative;border-radius:1.6cqw;background:var(--ac);overflow:hidden;min-height:0}
.pp-gd-v i{position:absolute;border-radius:50%}
.pp-gd-v i:nth-child(1){width:16cqw;height:16cqw;right:-3cqw;bottom:-6cqw;background:var(--lime)}
.pp-gd-v i:nth-child(2){width:9cqw;height:9cqw;left:4cqw;top:3cqw;border:1cqw solid #fff}
.pp-gd-v i:nth-child(3){width:5cqw;height:5cqw;left:16cqw;bottom:3cqw;background:#fff}

/* =====================  GIẤY GHI CHÚ (lỗi hay gặp)  ===================== */
.pp-nb-sec{background:radial-gradient(circle,rgba(10,10,12,.16) 1px,transparent 1.5px) 0 0/22px 22px,var(--bg)}
.pp-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px) clamp(18px,2.6vw,34px);padding:10px 0}
.pp-nw{perspective:1000px}
.pp-no{position:relative;display:block;width:100%;aspect-ratio:1/.64;border:0;padding:0;background:none;cursor:pointer;color:var(--ink);text-align:left;transform-style:preserve-3d;transform:rotate(var(--rot,0deg));transition:transform .9s cubic-bezier(.16,1,.3,1)}
.pp-no:hover{transform:rotate(0deg) translateY(-6px)}
.pp-no[aria-pressed=true]{transform:rotate(var(--rot,0deg)) rotateY(180deg)}
.pp-no[aria-pressed=true]:hover{transform:rotate(0deg) rotateY(180deg) translateY(-6px)}
.pp-no-f,.pp-no-b{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(20px,2.4vw,30px) clamp(18px,2.2vw,28px);backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1.5px solid var(--ink);border-radius:6px;font:400 clamp(14px,1.2vw,16px)/1.5 var(--fb);box-shadow:0 18px 24px -18px rgba(10,10,12,.55)}
.pp-no-f::before,.pp-no-b::before{content:"";position:absolute;left:50%;top:-12px;width:70px;height:22px;margin-left:-35px;background:rgba(255,255,255,.7);border:1px solid rgba(10,10,12,.12);transform:rotate(-3deg)}
.pp-no-b{transform:rotateY(180deg);background:#fff}
.pp-no--lime .pp-no-f{background:var(--lime)}
.pp-no--paper .pp-no-f{background:#fff}
.pp-no--lav .pp-no-f{background:var(--lav)}
.pp-no small{font:700 12px/1 var(--ff);padding:5px 9px;border-radius:99px;border:1.5px solid var(--ink);align-self:flex-start;background:#fff;margin-bottom:14px}
.pp-no-b small{background:var(--lime)}
.pp-no b{display:block;font:800 clamp(19px,1.9vw,26px)/1.12 var(--ff);letter-spacing:-.03em;margin-bottom:10px}
.pp-no-f em{margin-top:auto;font:600 13px var(--fb);font-style:normal;color:var(--mut);display:flex;align-items:center;gap:8px}
.pp-no-f em::before{content:"";width:16px;height:16px;border-radius:50%;border:1.5px solid currentColor;background:linear-gradient(currentColor,currentColor) center/8px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 8px no-repeat}
.sk-pp .pp-nb-ct{margin-top:clamp(14px,2vw,24px);font:600 15px var(--fb);color:var(--mut)}
.pp-nb-ct b{font:800 22px var(--ff);color:var(--ink)}

/* ---------- FAQ ---------- */
.pp-faq{align-items:start}
.pp-faq>div:first-child{position:sticky;top:110px}
.sk-pp .fq-q::after{background-color:var(--lime);border-color:var(--ink)}

/* =====================  chuyển động vào trang (chỉ khi motion bật)  ===================== */
.kx-js .pp-hs{animation:ppFan 1.5s cubic-bezier(.16,1,.3,1) calc(.5s + var(--e,0)*.11s) backwards;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .5s}
.kx-js .pp-drag .pp-hs{transition:none}
@keyframes ppFan{from{transform:translate3d(0,10%,0) rotate(calc((var(--k) - 2)*1.6deg)) scale(.86);opacity:0}}
.kx-js .pp-title::before{animation:ppFrame 1.1s .9s cubic-bezier(.16,1,.3,1) backwards}
.kx-js .pp-title::after{animation:ppHandles .6s 1.5s cubic-bezier(.34,1.56,.64,1) backwards}
.kx-js .pp-dim{animation:ppFade .6s 1.9s ease-out backwards}
@keyframes ppFrame{from{clip-path:inset(0 100% 100% 0)}to{clip-path:inset(-10px)}}
@keyframes ppHandles{from{opacity:0;transform:scale(.92)}}
@keyframes ppFade{from{opacity:0;transform:translateY(-6px)}}
.kx-js .pp-disc{animation:ppDisc 1.3s .3s cubic-bezier(.16,1,.3,1) backwards}
.kx-js .pp-ring{animation:ppDisc 1.6s .5s cubic-bezier(.16,1,.3,1) backwards}
@keyframes ppDisc{from{transform:scale(.2);opacity:0}}
.kx-js .pp-ruler{animation:ppRuler 1.2s .1s cubic-bezier(.16,1,.3,1) backwards}
@keyframes ppRuler{from{clip-path:inset(0 100% 0 0)}}
.kx-js .pp-cur--a{animation:ppCurA 9s 2s ease-in-out infinite alternate,ppFade .5s 1.8s backwards}
.kx-js .pp-cur--b{animation:ppCurB 11s 2.4s ease-in-out infinite alternate,ppFade .5s 2.2s backwards}
@keyframes ppCurA{0%{transform:translate(0,0)}35%{transform:translate(-9vw,6vw)}70%{transform:translate(2vw,-4vw)}100%{transform:translate(-3vw,5vw)}}
@keyframes ppCurB{0%{transform:translate(0,0)}40%{transform:translate(5vw,-6vw)}75%{transform:translate(8vw,3vw)}100%{transform:translate(2vw,-2vw)}}
.pp-hero.pp-off .pp-cur{animation-play-state:paused!important}
.kx-js .pp-stk{animation:ppStk .7s 1.6s cubic-bezier(.34,1.56,.64,1) backwards}
@keyframes ppStk{from{transform:rotate(-6deg) scale(2.6);opacity:0}}
/* đếm / vẽ trong thẻ nguyên tắc: chỉ chạy khi thẻ hiện */
.kx-js .pp-d4-bar u{transform:scaleX(0);transition:transform 1.4s .4s cubic-bezier(.16,1,.3,1)}
.kx-js .pp-d4.kx-in .pp-d4-bar u{transform:none}
.kx-js .pp-d3-c{transition:inset 1.1s .2s cubic-bezier(.16,1,.3,1)}
.kx-js .pp-d3:not(.kx-in) .pp-d3-c{inset:1.5% 1.5%}
.kx-js .pp-d1-a i{transition:transform 1s .3s cubic-bezier(.16,1,.3,1)}
.kx-js .pp-d1:not(.kx-in) .pp-d1-a i:nth-child(odd){transform:translate(3cqw,-2cqw) rotate(8deg)}
.kx-js .pp-d1:not(.kx-in) .pp-d1-a i:nth-child(even){transform:translate(-2cqw,3cqw) rotate(-9deg)}
.kx-js .pp-d5-a,.kx-js .pp-d5-b{transition:transform .9s .3s cubic-bezier(.16,1,.3,1)}
.kx-js .pp-d5:not(.kx-in) .pp-d5-a{transform:translate(1.3cqw,3cqw) rotate(-2deg)}
.kx-js .pp-d5:not(.kx-in) .pp-d5-b{transform:translate(-2cqw,-2cqw) rotate(4deg)}
@media(prefers-reduced-motion:reduce){.pp-cur,.pp-cp [data-k]{animation:none!important}}

/* =====================  iPad (<=1024)  ===================== */
@media(max-width:1024px){
  .pp-an-body{grid-template-columns:minmax(0,1fr)}
  .pp-an-th{position:static;border-right:0;border-bottom:1px solid var(--ln)}
  .pp-an-thl{position:static;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:12px 16px}
  .pp-th{width:118px}
  .pp-an-notes{border-left:0;border-top:1px solid var(--ln)}
  .pp-nt ul{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .pp-hb{grid-template-columns:1fr;font-size:14px}
  .pp-so-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pp-cp{grid-template-columns:minmax(0,1fr)}
  .pp-cp-leg{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-cp-k{grid-column:1/-1}
  .pp-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-faq>div:first-child{position:static}
}
@media(max-width:900px){
  .pp-grid{grid-template-columns:minmax(0,1fr);gap:clamp(30px,5vw,48px)}
  .pp-title{font-size:clamp(64px,12.5vw,118px)}
  .pp-fan{justify-self:center;width:min(100%,640px)}
}
@media(max-width:860px){
  .pp-so-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* thẻ nguyên tắc: khung cuộn ngang thay cho thẻ chồng */
  .pp-stack{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,500px);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin-inline:-28px;padding:6px 28px 24px;scroll-padding-inline:28px;scrollbar-width:none;align-items:stretch}
  .pp-stack::-webkit-scrollbar{display:none}
  .pp-pc{position:relative;top:0;margin-bottom:0;scroll-snap-align:start}
  .pp-pc-in{grid-template-columns:minmax(0,1fr);align-content:start;transform:none!important;opacity:1!important;gap:16px}
  .kx-js .pp-pc-fig{transform:none}
}
/* =====================  Mobile (<=640)  ===================== */
@media(max-width:640px){
  .pp-hero{padding-top:112px;padding-bottom:44px}
  .pp-guides{background:repeating-linear-gradient(90deg,rgba(255,106,19,.12) 0 1px,transparent 1px 25%)}
  .pp-title{font-size:clamp(52px,17.5vw,84px)}
  .pp-hero .s-crumb{margin-bottom:44px}
  .sk-pp .pp-sub{margin-top:40px}
  .pp-fan{margin-top:6px}
  .pp-fan-st{aspect-ratio:16/12.5}
  .pp-hs{left:19%;width:62%;top:12%}
  .pp-fan-ctl{margin-top:4px}
  .pp-stk{font-size:11px;padding:6px 10px}
  .pp-cur em{font-size:11px;padding:5px 8px}
  .pp-an{box-shadow:6px 6px 0 0 var(--lime);border-radius:16px}
  .pp-an-top{padding:10px 12px;gap:10px;border-radius:14px 14px 0 0}
  .pp-an-file{font-size:11.5px}
  .pp-sw-t{display:none}
  .pp-an-cv{padding:10px}
  .pp-an-bar{padding:10px 12px 12px}
  .pp-th{width:96px}
  .pp-nt ul{grid-template-columns:1fr}
  .pp-hb{grid-template-columns:28px 1fr}
  .sk-pp .pp-so-q{flex-direction:column;align-items:flex-start;gap:10px}
  .pp-so-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pp-tile{padding:12px 12px;aspect-ratio:auto;min-height:118px;gap:10px}
  .pp-stack{grid-auto-columns:86%;margin-inline:-20px;padding:6px 20px 24px;scroll-padding-inline:20px;gap:14px}
  .pp-pc-in{padding:20px}
  .pp-pc h3{font-size:28px}
  .pp-cmp{box-shadow:6px 6px 0 0 var(--lime)}
  .pp-cl{bottom:8px;font-size:11px;padding:6px 10px}
  .pp-cp-leg{grid-template-columns:1fr}
  .pp-cp-btns .pp-cb{flex:1 1 auto}
  .pp-board{grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:18px 20px 22px;scroll-padding-inline:20px;scrollbar-width:none}
  .pp-board::-webkit-scrollbar{display:none}
  .pp-nw{scroll-snap-align:start}
  .pp-no{aspect-ratio:1/.8}
  .kx-js .pp-pc-fig{transform:none}
  .kx-js .pp-board>[data-r]{opacity:1;transform:none}
}

/* nhịp dọc gọn hơn cho các khối của trang */
.pp-an-sec,.pp-so-sec,.pp-pr-sec,.pp-cp-sec,.pp-nb-sec{padding:clamp(48px,5.2vw,76px) 0}
.pp-an-sec .s-head,.pp-so-sec .s-head,.pp-pr-sec .s-head,.pp-cp-sec .s-head,.pp-nb-sec .s-head{margin-bottom:clamp(22px,3vw,40px)}

.kx-js .pp-pc-fig{opacity:0;transform:translateX(34px) scale(.97);transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}
.kx-js .pp-pc-fig.kx-in{opacity:1;transform:none}
/* khối FAQ + sorter gọn hơn */
.pp-fq-sec{padding:clamp(48px,5.2vw,76px) 0}
.sk-pp .s-cta{padding:clamp(52px,6vw,84px) 0}
.sk-pp .s-relw{padding:clamp(34px,4vw,54px) 0}
.pp-tile{aspect-ratio:16/10}
.pp-board{gap:clamp(18px,2.4vw,30px)}

