/* Paddle Ledger v2 — WordPress snippet styles. Everything is scoped under .pl so the theme is not affected.
   Layout: forest-green bands frame each page; white cards on slate-grey paper; orange is reserved for buy buttons. */
.pl{--pl-forest:#064E3B;--pl-forest-2:#053B2D;--pl-emerald:#059669;--pl-mint:#ECFDF5;--pl-mint-2:#A7F3D0;--pl-gold:#FF9900;--pl-gold-2:#E68A00;--pl-gold-soft:#FFF4E0;--pl-ink:#0F172A;--pl-muted:#475569;--pl-soft:#64748B;--pl-line:#E2E8F0;--pl-bg:#F8FAFC;--pl-white:#FFFFFF;--pl-red:#B91C1C;--pl-red-soft:#FEF2F2;
--pl-display:"Archivo","Arial Narrow",Arial,sans-serif;--pl-body:"Source Sans 3","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--pl-data:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
--pl-r:10px;--pl-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px -12px rgba(15,23,42,.18);
background:var(--pl-bg);color:var(--pl-ink);font-family:var(--pl-body);font-size:17px;line-height:1.65;width:100%;max-width:100vw;overflow-x:clip;-webkit-text-size-adjust:100%;text-align:left}
.pl *,.pl *::before,.pl *::after{box-sizing:border-box}
.pl :where(h1,h2,h3,h4,p,ul,ol,figure,table,blockquote){margin:0;padding:0}
.pl :where(ul,ol){padding-left:1.3em}
.pl h1,.pl h2,.pl h3,.pl h4{font-family:var(--pl-display);font-stretch:112%;color:inherit;line-height:1.12;letter-spacing:-.015em;text-wrap:balance;text-transform:none}
.pl h1{font-size:clamp(2.05rem,1.3rem + 3.2vw,3.4rem);font-weight:800}
.pl h2{font-size:clamp(1.55rem,1.25rem + 1.1vw,2.1rem);font-weight:800}
.pl h3{font-size:1.2rem;font-weight:700}
.pl a{color:var(--pl-emerald);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.pl a:hover{color:var(--pl-forest);text-decoration-thickness:2px}
.pl a:focus-visible,.pl summary:focus-visible{outline:3px solid var(--pl-gold);outline-offset:2px;border-radius:4px}
.pl img,.pl svg{max-width:100%;height:auto}
.pl strong{font-weight:700}
.pl-wrap{max-width:1200px;margin-inline:auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.pl-eyebrow{font-family:var(--pl-data);font-size:.76rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--pl-emerald)}
.pl-lede{font-size:1.2rem;line-height:1.55;color:var(--pl-muted);max-width:62ch}
.pl-num{font-family:var(--pl-data);font-variant-numeric:tabular-nums}
.pl-skip{position:absolute;left:12px;top:-60px;background:var(--pl-gold);color:var(--pl-ink)!important;padding:8px 14px;font-weight:700;z-index:50}
.pl-skip:focus{top:12px}

/* top disclosure bar + header */
.pl-topbar{background:var(--pl-forest-2);color:#C9E7DA;font-size:.84rem}
.pl-topbar .pl-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;padding-block:7px}
.pl-topbar a{color:#fff}
.pl-topbar span{display:inline-flex;align-items:center;gap:6px}
.pl-topbar svg{width:15px;height:15px;flex:none;color:#6EE7B7}
.pl-masthead{background:var(--pl-white);border-bottom:1px solid var(--pl-line);position:relative;z-index:5}
.pl-masthead .pl-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-block:14px}
.pl-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none!important;color:var(--pl-ink)!important;margin-right:auto}
.pl-brand svg{width:38px;height:38px;flex:none}
.pl-brand b{display:block;font-family:var(--pl-display);font-stretch:118%;font-weight:800;font-size:1.25rem;line-height:1.1;letter-spacing:-.01em}
.pl-brand small{display:block;font-family:var(--pl-data);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;color:var(--pl-soft)}
.pl-nav{min-width:0}
.pl-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.pl-nav ul::-webkit-scrollbar{display:none}
.pl-nav a{display:block;padding:9px 13px;border-radius:8px;color:var(--pl-ink)!important;text-decoration:none!important;font-weight:600;white-space:nowrap;font-size:.98rem}
.pl-nav a:hover{background:var(--pl-mint);color:var(--pl-forest)!important}
.pl-nav a[aria-current="page"]{background:var(--pl-mint);color:var(--pl-forest)!important;box-shadow:inset 0 -2px 0 var(--pl-emerald)}
.pl-headcta{display:inline-flex}
@media (max-width:860px){.pl-nav{order:3;flex-basis:100%;margin-inline:-8px}.pl-nav ul{padding-right:26px;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}.pl-nav a{padding:7px 10px;font-size:.94rem}.pl-topbar .pl-hide-sm{display:none}}
@media (max-width:420px){.pl-headcta{display:none}}

/* buttons, pills */
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:9px;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none!important;border:2px solid transparent;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;cursor:pointer;font-family:var(--pl-body)}
.pl-btn:hover{transform:translateY(-1px)}
.pl-btn svg{width:18px;height:18px;flex:none}
.pl-btn-amz{background:var(--pl-gold);color:var(--pl-ink)!important;box-shadow:0 6px 16px -8px rgba(230,138,0,.9)}
.pl-btn-amz:hover{background:var(--pl-gold-2);color:var(--pl-ink)!important}
.pl-btn-green{background:var(--pl-emerald);color:#fff!important}
.pl-btn-green:hover{background:var(--pl-forest);color:#fff!important}
.pl-btn-ghost{border-color:rgba(255,255,255,.55);color:#fff!important}
.pl-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff!important}
.pl-btn-outline{border-color:var(--pl-forest);color:var(--pl-forest)!important;background:transparent}
.pl-btn-outline:hover{background:var(--pl-mint);color:var(--pl-forest)!important}
.pl-btn-sm{padding:9px 15px;font-size:.92rem}
.pl-btn-block{width:100%}
.pl-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--pl-data);font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid var(--pl-line);color:var(--pl-muted);background:var(--pl-white);line-height:1.3}
.pl-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pl-pill-live,.pl-pill-tested{color:var(--pl-forest);background:var(--pl-mint);border-color:var(--pl-mint-2)}
.pl-pill-researched{color:#1E40AF;background:#EFF6FF;border-color:#BFDBFE}
.pl-pill-planned{color:var(--pl-soft)}
.pl-pill-planned::before{background:transparent;border:1.5px solid currentColor}
.pl-pill-gold{color:#7A4A00;background:var(--pl-gold-soft);border-color:#FFD699}

/* home hero */
.pl-hero{background:var(--pl-forest);color:#fff;position:relative;overflow:hidden}
.pl-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 85% 10%,rgba(5,150,105,.45),transparent 60%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.04) 119px 120px);pointer-events:none}
.pl-hero .pl-wrap{position:relative;display:grid;gap:40px;align-items:center;padding-block:clamp(44px,6vw,84px)}
@media (min-width:960px){.pl-hero .pl-wrap{grid-template-columns:1.05fr .95fr;gap:56px}}
.pl-hero .pl-eyebrow{color:var(--pl-mint-2)}
.pl-hero h1{font-stretch:125%;margin-top:14px;color:#fff}
.pl-hero h1 em{font-style:normal;color:var(--pl-gold)}
.pl-hero .pl-lede{color:#D1FAE5;margin-top:18px}
.pl-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pl-checks{list-style:none!important;padding:0!important;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px!important;font-size:.95rem;color:#D1FAE5}
.pl-checks li{display:inline-flex;align-items:center;gap:8px;margin:0}
.pl-checks svg{width:18px;height:18px;flex:none;color:var(--pl-gold)}
.pl-courtcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px;backdrop-filter:blur(2px);min-width:0}
.pl-courtcard figcaption{font-family:var(--pl-data);font-size:.74rem;color:#A7F3D0;margin-top:12px;letter-spacing:.04em}
.pl-court-surface{fill:rgba(255,255,255,.07)}
.pl-court-kitchen{fill:rgba(5,150,105,.75)}
.pl-court-line{stroke:#fff;stroke-width:2.5;fill:none}
.pl-court-net{stroke:#fff;stroke-width:4}
.pl-court-label{fill:#A7F3D0;font-family:var(--pl-data);font-size:11px;letter-spacing:.08em}
.pl-court-label-strong{fill:#fff}
.pl-court-arc{stroke:var(--pl-gold);stroke-width:2.2;fill:none;stroke-dasharray:5 6}
.pl-court{display:block;width:100%;height:auto;aspect-ratio:520/290}
.pl-kitchen-flash{fill:#6EE7B7}
.pl-net-flash{stroke:#FFD48A;stroke-width:5;stroke-linecap:round}
.pl-trail-glow{fill:none;stroke:#FF9900;stroke-width:7;stroke-linecap:round}
.pl-trail-core{fill:none;stroke:#FFE2B3;stroke-width:2.6;stroke-linecap:round}
.pl-impact-ring{fill:none;stroke:#FFB547;stroke-width:2.5}
.pl-ball-glow{fill:#FF9900}
.pl-ball-static{display:none}
@media (prefers-reduced-motion:reduce){.pl-flight,.pl-kitchen-flash,.pl-net-flash{display:none}.pl-ball-static{display:inline}}
@media (prefers-reduced-motion:no-preference){.pl-court-arc{animation:pl-arc 1.6s ease-out .3s both}.pl-court-ball{animation:pl-ball .5s ease-out 1.7s both;transform-box:fill-box;transform-origin:center}@keyframes pl-arc{from{stroke-dashoffset:260;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes pl-ball{from{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}}
.pl-courtstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.pl-courtstats div{background:rgba(0,0,0,.18);border-radius:10px;padding:10px 12px}
.pl-courtstats b{display:block;font-family:var(--pl-data);font-weight:500;font-size:1.05rem;color:#fff}
.pl-courtstats span{font-size:.78rem;color:#A7F3D0;line-height:1.3;display:block}

/* trust bar */
.pl-trustbar{background:var(--pl-white);border-bottom:1px solid var(--pl-line)}
.pl-trustbar ul{list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0}
.pl-trustbar li{display:flex;gap:12px;align-items:flex-start;padding:18px 14px;margin:0;border-right:1px solid var(--pl-line)}
.pl-trustbar li:last-child{border-right:0}
.pl-trustbar svg{width:26px;height:26px;flex:none;color:var(--pl-emerald)}
.pl-trustbar b{display:block;font-size:.98rem;line-height:1.3}
.pl-trustbar span{font-size:.86rem;color:var(--pl-muted);line-height:1.4;display:block}
@media (max-width:700px){.pl-trustbar li{border-right:0;border-bottom:1px solid var(--pl-line);padding:14px 4px}.pl-trustbar li:last-child{border-bottom:0}}

/* sections */
.pl-section{padding-block:clamp(48px,6vw,84px)}
.pl-section-white{background:var(--pl-white);border-block:1px solid var(--pl-line)}
.pl-section-head{display:grid;gap:10px;max-width:64ch;margin-bottom:32px}
.pl-section-head p{color:var(--pl-muted)}
.pl-section-head.pl-row{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media (max-width:700px){.pl-section-head.pl-row{grid-template-columns:1fr}}
.pl-grid3{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.pl-card{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);padding:24px;box-shadow:var(--pl-shadow);display:grid;gap:12px;align-content:start;min-width:0}
.pl-card-link{text-decoration:none!important;color:var(--pl-ink)!important;transition:transform .15s ease,border-color .15s ease}
.pl-card-link:hover{transform:translateY(-3px);border-color:var(--pl-emerald)}
.pl-card p{color:var(--pl-muted)}
.pl-card .pl-go{color:var(--pl-emerald);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.pl-card .pl-go::after{content:"→";transition:transform .15s}
.pl-card-link:hover .pl-go::after{transform:translateX(3px)}
.pl-level-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pl-rating{font-family:var(--pl-data);font-size:.8rem;color:var(--pl-forest);background:var(--pl-mint);padding:4px 10px;border-radius:6px}
.pl-icon{width:46px;height:46px;border-radius:12px;background:var(--pl-mint);color:var(--pl-forest);display:grid;place-items:center}
.pl-icon svg{width:24px;height:24px}
.pl-ticks{list-style:none!important;padding:0!important;display:grid;gap:6px}
.pl-ticks li{position:relative;padding-left:24px;color:var(--pl-muted);margin:0}
.pl-ticks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--pl-emerald);border-bottom:2.5px solid var(--pl-emerald);transform:rotate(-45deg)}
.pl-chips{display:flex;flex-wrap:wrap;gap:10px}
.pl-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--pl-white);border:1px solid var(--pl-line);color:var(--pl-ink)!important;text-decoration:none!important;font-weight:600;box-shadow:var(--pl-shadow)}
.pl-chip:hover{border-color:var(--pl-emerald);color:var(--pl-forest)!important}
.pl-chip small{font-family:var(--pl-data);font-size:.72rem;color:var(--pl-soft);font-weight:500}

/* stats band */
.pl-band{background:var(--pl-forest);color:#fff}
.pl-band .pl-wrap{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-block:38px}
.pl-band div div{display:grid;gap:4px}
.pl-band b{font-family:var(--pl-display);font-stretch:118%;font-size:2.1rem;font-weight:800;line-height:1;color:#fff}
.pl-band span{color:#A7F3D0;font-size:.92rem;line-height:1.4}
.pl-band small{font-family:var(--pl-data);font-size:.68rem;color:#6EE7B7;letter-spacing:.05em}

/* tables */
.pl-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--pl-r);border:1px solid var(--pl-line);background:var(--pl-white);box-shadow:var(--pl-shadow)}
.pl-table-wrap table{width:100%;border-collapse:collapse;font-size:.97rem;margin:0;border:0}
.pl-table-wrap th,.pl-table-wrap td{text-align:left;vertical-align:top;padding:13px 16px;border:0;border-bottom:1px solid var(--pl-line)}
.pl-table-wrap thead th{background:var(--pl-forest);color:#fff;font-family:var(--pl-data);font-weight:500;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.pl-table-wrap tbody tr:nth-child(even){background:#F8FAFC}
.pl-table-wrap tbody th{font-weight:700;color:var(--pl-ink)}
.pl-table-wrap tr:last-child td,.pl-table-wrap tr:last-child th{border-bottom:0}
.pl-table-wrap td.pl-unit,.pl-table-wrap td.pl-num{font-family:var(--pl-data);font-size:.9rem;white-space:nowrap}

/* promises */
.pl-promises{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.pl-promise{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px;border-radius:var(--pl-r);background:var(--pl-white);border:1px solid var(--pl-line)}
.pl-promise .pl-icon{width:44px;height:44px}
.pl-promise strong{display:block;font-family:var(--pl-display);font-stretch:110%;font-size:1.05rem;margin-bottom:4px}
.pl-promise span{color:var(--pl-muted);font-size:.96rem}

/* timeline (a real sequence: day 0 to month 6) */
.pl-timeline{list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.pl-timeline::before{content:"";position:absolute;left:0;right:0;top:17px;height:3px;background:linear-gradient(90deg,var(--pl-emerald),var(--pl-gold));border-radius:3px}
.pl-timeline li{position:relative;padding:46px 16px 0 0;display:grid;gap:6px;align-content:start;margin:0}
.pl-timeline li::before{content:"";position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;background:var(--pl-white);border:4px solid var(--pl-emerald)}
.pl-timeline li:last-child::before{border-color:var(--pl-gold)}
.pl-timeline .pl-when{font-family:var(--pl-data);font-size:.8rem;color:var(--pl-emerald)}
.pl-timeline strong{font-family:var(--pl-display);font-stretch:110%;font-size:1.08rem}
.pl-timeline p{color:var(--pl-muted);font-size:.96rem}
@media (max-width:760px){.pl-timeline{grid-template-columns:1fr}.pl-timeline::before{left:10px;right:auto;top:0;bottom:0;width:3px;height:auto;background:linear-gradient(180deg,var(--pl-emerald),var(--pl-gold))}.pl-timeline li{padding:0 0 24px 42px}.pl-timeline li::before{top:2px}}

/* author */
.pl-author{display:grid;gap:22px;align-items:center;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:16px;padding:28px;box-shadow:var(--pl-shadow)}
@media (min-width:780px){.pl-author{grid-template-columns:auto minmax(0,1fr) auto}}
.pl-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--pl-forest);color:#fff;font-family:var(--pl-display);font-stretch:120%;font-weight:800;font-size:1.6rem;box-shadow:0 0 0 4px var(--pl-mint),0 0 0 6px var(--pl-emerald)}
.pl-author p{color:var(--pl-muted)}
.pl-author h2{font-size:1.5rem}

/* inner page hero */
.pl-pagehero{background:var(--pl-forest);color:#fff;position:relative;overflow:hidden}
.pl-pagehero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 90% 0%,rgba(5,150,105,.45),transparent 60%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 119px 120px);pointer-events:none}
.pl-pagehero .pl-wrap{position:relative;padding-block:26px clamp(36px,5vw,58px)}
.pl-pagehead{display:grid;gap:14px;max-width:62rem}
.pl-pagehead h1{color:#fff}
.pl-pagehead .pl-eyebrow{color:var(--pl-mint-2)}
.pl-pagehead .pl-lede{color:#D1FAE5}
.pl-crumbs{margin-bottom:22px}
.pl-crumbs ol{list-style:none!important;padding:0!important;margin:0;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--pl-data);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:#A7F3D0}
.pl-crumbs li{margin:0}
.pl-crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.pl-crumbs a{color:#fff!important;text-decoration:none!important;opacity:.85}
.pl-crumbs a:hover{opacity:1;text-decoration:underline!important}
.pl-byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:8px;font-size:.94rem;color:#D1FAE5}
.pl-byline a{color:#fff!important;font-weight:600}
.pl-byline .pl-who{display:inline-flex;align-items:center;gap:10px}
.pl-byline .pl-mini{width:34px;height:34px;border-radius:50%;background:var(--pl-emerald);color:#fff;display:grid;place-items:center;font-family:var(--pl-display);font-weight:800;font-size:.8rem}
.pl-byline .pl-pill{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}

/* article layout */
.pl-layout{display:grid;gap:40px;padding-block:44px 80px}
@media (min-width:1040px){.pl-layout.pl-has-side{grid-template-columns:minmax(0,1fr) 300px;gap:56px}}
.pl-prose{min-width:0;max-width:72ch;display:grid;gap:1.15rem}
.pl-prose>h2{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--pl-line);scroll-margin-top:24px}
.pl-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.pl-prose ul,.pl-prose ol{display:grid;gap:.45rem}
.pl-prose li{margin:0}
.pl-prose li::marker{color:var(--pl-emerald)}
.pl-side{display:grid;gap:18px;align-content:start}
@media (min-width:1040px){.pl-side{position:sticky;top:24px;order:2}}
.pl-toc{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);box-shadow:var(--pl-shadow)}
.pl-toc summary{cursor:pointer;padding:14px 18px;list-style:none;font-family:var(--pl-data);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--pl-forest);display:flex;justify-content:space-between}
.pl-toc summary::-webkit-details-marker{display:none}
.pl-toc summary::after{content:"+"}
.pl-toc[open] summary::after{content:"–"}
.pl-toc ol{list-style:none!important;padding:0 18px 14px!important;margin:0;display:grid;gap:0;counter-reset:pltoc}
.pl-toc li{margin:0;counter-increment:pltoc;border-top:1px solid var(--pl-line)}
.pl-toc a{display:flex;gap:10px;padding:8px 0;color:var(--pl-ink)!important;text-decoration:none!important;font-size:.94rem;line-height:1.35}
.pl-toc a::before{content:counter(pltoc,decimal-leading-zero);font-family:var(--pl-data);font-size:.72rem;color:var(--pl-emerald);padding-top:2px}
.pl-toc a:hover{color:var(--pl-emerald)!important}
.pl-sidecard{border-radius:var(--pl-r);padding:20px;display:grid;gap:10px}
.pl-sidecard p{font-size:.94rem}
.pl-sidecard-green{background:var(--pl-forest);color:#fff}
.pl-sidecard-green p{color:#D1FAE5}
.pl-sidecard-green h3{color:#fff;font-size:1.1rem}
.pl-sidecard-soft{background:var(--pl-gold-soft);border:1px solid #FFD699}
.pl-sidecard-soft p{color:#5B3B00}

/* answer + callouts */
.pl-answer{background:var(--pl-mint);border:1px solid var(--pl-mint-2);border-radius:var(--pl-r);padding:22px 24px;display:grid;gap:10px;position:relative}
.pl-answer .pl-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pl-forest)}
.pl-answer .pl-eyebrow::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--pl-emerald) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.pl-answer p,.pl-answer li{font-size:1.07rem;color:var(--pl-ink)}
.pl-answer a{color:var(--pl-forest)}
.pl-callout{border-radius:var(--pl-r);padding:16px 20px;display:grid;gap:6px;background:var(--pl-gold-soft);border:1px solid #FFD699}
.pl-callout strong{font-family:var(--pl-display);font-stretch:110%}
.pl-disclose{font-size:.88rem;color:var(--pl-muted);background:var(--pl-white);border:1px solid var(--pl-line);border-radius:8px;padding:10px 14px;display:flex;gap:10px;align-items:flex-start}
.pl-disclose::before{content:"i";flex:none;width:20px;height:20px;border-radius:50%;background:var(--pl-gold);color:var(--pl-ink);display:grid;place-items:center;font-weight:700;font-size:.78rem;font-family:var(--pl-data)}
.pl-steps{counter-reset:plstep;list-style:none!important;padding:0!important;display:grid;gap:12px}
.pl-steps li{counter-increment:plstep;display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:14px;padding:16px 18px;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);margin:0}
.pl-steps li::before{content:counter(plstep);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--pl-emerald);color:#fff;font-family:var(--pl-data);font-weight:500}
.pl-faq{display:grid;gap:10px}
.pl-faq details{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);transition:border-color .15s}
.pl-faq details[open]{border-color:var(--pl-emerald)}
.pl-faq summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.pl-faq summary::-webkit-details-marker{display:none}
.pl-faq summary::after{content:"";flex:none;width:10px;height:10px;border-right:2.5px solid var(--pl-emerald);border-bottom:2.5px solid var(--pl-emerald);transform:rotate(45deg);transition:transform .2s}
.pl-faq details[open] summary::after{transform:rotate(-135deg)}
.pl-faq details>div{padding:0 20px 18px;color:var(--pl-muted)}
.pl-sources ol{display:grid;gap:6px;font-size:.95rem}
.pl-sources li{overflow-wrap:anywhere}
.pl-authorbox{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);padding:20px;margin-top:1rem}
.pl-authorbox .pl-avatar{width:56px;height:56px;font-size:1.05rem;box-shadow:0 0 0 3px var(--pl-mint)}
.pl-authorbox p{color:var(--pl-muted);font-size:.96rem}

/* hub guide list */
.pl-guides{list-style:none!important;padding:0!important;display:grid;gap:12px}
.pl-guides li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;padding:16px 20px;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-r);margin:0}
.pl-guides .pl-t{font-weight:700;color:var(--pl-ink)}
.pl-guides a.pl-t{color:var(--pl-forest)!important}
.pl-guides .pl-d{grid-column:1/-1;color:var(--pl-muted);font-size:.95rem}
@media (max-width:520px){.pl-guides li{grid-template-columns:1fr}.pl-guides .pl-pill{justify-self:start;grid-row:1}}

/* product / conversion blocks */
.pl-verdict{display:grid;gap:18px;padding:24px;border-radius:14px;background:var(--pl-white);border:2px solid var(--pl-emerald);box-shadow:var(--pl-shadow)}
@media (min-width:720px){.pl-verdict{grid-template-columns:minmax(0,1fr) 220px;align-items:center}}
.pl-scorebox{display:grid;gap:10px;justify-items:center;text-align:center}
.pl-score{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pl-emerald) 0 var(--pl-pct,84%),var(--pl-line) var(--pl-pct,84%) 100%);position:relative}
.pl-score::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--pl-white)}
.pl-score span{position:relative;font-family:var(--pl-display);font-stretch:115%;font-weight:800;font-size:1.9rem;line-height:1}
.pl-score small{display:block;font-size:.7rem;font-family:var(--pl-data);color:var(--pl-soft);font-weight:500}
.pl-proscons{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.pl-proscons>div{padding:18px 20px;border-radius:var(--pl-r);border:1px solid var(--pl-line);background:var(--pl-white)}
.pl-proscons .pl-pro{background:var(--pl-mint);border-color:var(--pl-mint-2)}
.pl-proscons .pl-con{background:var(--pl-red-soft);border-color:#FECACA}
.pl-proscons h3{font-size:1rem;margin-bottom:8px}
.pl-proscons .pl-pro h3{color:var(--pl-forest)}
.pl-proscons .pl-con h3{color:var(--pl-red)}
.pl-picks{display:grid;gap:14px}
.pl-pickrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 18px;align-items:center;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:12px;padding:16px 18px;box-shadow:var(--pl-shadow);position:relative}
.pl-pickrow:first-child{border:2px solid var(--pl-gold)}
.pl-rank{width:40px;height:40px;border-radius:10px;background:var(--pl-forest);color:#fff;display:grid;place-items:center;font-family:var(--pl-data);font-weight:500}
.pl-pickrow:first-child .pl-rank{background:var(--pl-gold);color:var(--pl-ink)}
.pl-pickrow b{display:block}
.pl-pickrow span{color:var(--pl-muted);font-size:.93rem}
@media (max-width:600px){.pl-pickrow{grid-template-columns:auto minmax(0,1fr)}.pl-pickrow .pl-btn{grid-column:1/-1}}
.pl-pick{display:grid;gap:14px;padding:24px;border-radius:14px;background:var(--pl-white);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow);margin-top:1.4rem}
.pl-pickmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pl-pickactions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pl-stickybuy{display:none}
@media (max-width:760px){.pl-stickybuy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:12px;align-items:center;justify-content:space-between;background:var(--pl-white);border-top:1px solid var(--pl-line);box-shadow:0 -8px 24px -12px rgba(15,23,42,.35);padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}.pl-stickybuy b{font-size:.92rem;line-height:1.25}.pl-stickybuy small{display:block;color:var(--pl-soft);font-size:.74rem}.pl-has-sticky{padding-bottom:84px}}
.pl-todo{background:var(--pl-gold-soft);outline:1.5px dashed var(--pl-gold);border-radius:4px;padding:0 5px;font-family:var(--pl-data);font-size:.86em;color:var(--pl-ink)}

/* footer */
.pl-foot{background:var(--pl-forest-2);color:#A7C4B8}
.pl-foot .pl-wrap{display:grid;gap:34px;padding-block:56px 30px}
.pl-footcta{display:grid;gap:16px;align-items:center;background:var(--pl-forest);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px}
@media (min-width:760px){.pl-footcta{grid-template-columns:minmax(0,1fr) auto}}
.pl-footcta h2,.pl-footcta .pl-footcta-title{color:#fff;font-family:var(--pl-display);font-weight:800;font-size:1.5rem;line-height:1.2;margin:0}
.pl-footcta p{color:#D1FAE5}
.pl-footgrid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.pl-footgrid h2,.pl-footgrid .pl-foothead{margin-top:0;line-height:1.3;font-family:var(--pl-data);font-stretch:100%;font-weight:500;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#6EE7B7;margin-bottom:12px}
.pl-footgrid ul{list-style:none!important;padding:0!important;display:grid;gap:7px}
.pl-footgrid li{margin:0}
.pl-foot a{color:#fff!important;text-decoration:none!important}
.pl-foot a:hover{text-decoration:underline!important}
.pl-footbrand{display:grid;gap:12px;max-width:34ch}
.pl-footbrand .pl-brand{color:#fff!important}
.pl-footbrand .pl-brand small{color:#A7C4B8}
.pl-legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:.86rem;display:grid;gap:6px}
@media (prefers-reduced-motion:reduce){.pl *,.pl *::before,.pl *::after{animation:none!important;transition:none!important}}
.pl-chip svg{width:20px;height:20px;flex:none;color:var(--pl-emerald)}
.pl-chip small{white-space:nowrap}
@media (max-width:640px){.pl-headcta{display:none}}
@media (max-width:1039px){.pl-sidecard{display:none}.pl-toc ol{max-height:260px;overflow-y:auto}}
/* research components */
.pl-grid4{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pl-evidence{display:grid;gap:14px;padding:18px 20px;border-radius:12px;background:var(--pl-white);border:1.5px dashed var(--pl-emerald)}
.pl-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.pl-evidence-grid div{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:var(--pl-mint)}
.pl-evidence-grid b{font-family:var(--pl-display);font-stretch:115%;font-size:1.45rem;font-weight:800;line-height:1.1;color:var(--pl-forest)}
.pl-evidence-grid span{font-size:.82rem;color:var(--pl-muted);line-height:1.3}
.pl-evidence>p{font-size:.92rem;color:var(--pl-muted)}
.pl-src{font-family:var(--pl-data);font-size:.78rem;white-space:nowrap}
.pl-conf{display:inline-flex;align-items:center;gap:3px;font-family:var(--pl-data);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--pl-muted);white-space:nowrap}
.pl-conf i{display:inline-block;width:6px;height:12px;border-radius:2px;background:var(--pl-line);margin-right:1px}
.pl-conf i:last-of-type{margin-right:6px}
.pl-conf-high i{background:var(--pl-emerald)}
.pl-conf-med i:nth-of-type(-n+2){background:var(--pl-gold)}
.pl-conf-low i:first-of-type{background:var(--pl-soft)}
/* conversion: recommendation box */
.pl-reco{display:grid;gap:16px;padding:22px 24px;border-radius:14px;background:var(--pl-white);border:2px solid var(--pl-gold);box-shadow:0 10px 28px -16px rgba(230,138,0,.6);margin-block:.6rem}
@media (min-width:760px){.pl-reco{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
.pl-reco h3{font-size:1.2rem}
.pl-reco p{color:var(--pl-muted)}
.pl-reco .pl-eyebrow{color:#9A5B00}
.pl-reco-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (min-width:760px){.pl-reco-actions{flex-direction:column;align-items:stretch}}
.pl-fit{list-style:none!important;padding:0!important;display:grid;gap:10px}
.pl-fit li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 16px;border-radius:var(--pl-r);background:var(--pl-white);border:1px solid var(--pl-line);margin:0}
.pl-fit li span{color:var(--pl-muted);font-size:.95rem}
.pl-fit li b{display:block;color:var(--pl-ink)}
@media (max-width:560px){.pl-fit li{grid-template-columns:1fr}}
.pl-reco>div:first-child{display:grid;gap:6px}
@media (min-width:1040px){.pl-side{align-self:start}}
.pl-reco .pl-reco-title{font-family:var(--pl-display);font-stretch:112%;font-size:1.2rem;font-weight:700;line-height:1.12;letter-spacing:-.015em;color:var(--pl-ink,#0F172A);text-wrap:balance}
.pl-sidecard .pl-sidecard-title{font-family:var(--pl-display);font-stretch:112%;font-size:1.2rem;font-weight:700;line-height:1.12;letter-spacing:-.015em;color:#fff}
/* Hero rally: two paddles trade a dink, pure CSS, 4s loop. Without animation (reduced motion) the ball rests on the left paddle. */
.pl-rally-flash{fill:#6EE7B7;opacity:0}
.pl-rally-net{stroke:#FFD48A;stroke-width:5;stroke-linecap:round;opacity:0}
.pl-rally-ring{fill:none;stroke:#FFB547;stroke-width:2.2;opacity:0}
.pl-rally-shadow{fill:rgba(2,24,18,.45)}
.pl-rally-glow{fill:#FF9900;opacity:.32}
.pl-ghost-dot{fill:#FFB547}
.pl-ghost{opacity:0}
.pl-rx{transform:translateX(210px)}
.pl-ry{transform:translateY(137px)}
.pl-rx,.pl-ry,.pl-rspin,.pl-paddle,.pl-rally-ring,.pl-rally-shadow{will-change:transform}
@media (prefers-reduced-motion:no-preference){
 .pl-rx{animation:pl-rally-x 4s infinite}
 .pl-ry{animation:pl-rally-y 4s infinite}
 .pl-rspin{animation:pl-rally-spin 4s infinite}
 .pl-rally-shadow{animation:pl-rally-shadow 4s infinite}
 .pl-ghost{opacity:1}
 .pl-ghost-1{opacity:.32}.pl-ghost-2{opacity:.16}
 .pl-ghost-1,.pl-ghost-1 .pl-ry{animation-delay:-3.93s}
 .pl-ghost-2,.pl-ghost-2 .pl-ry{animation-delay:-3.86s}
 .pl-paddle-l{animation:pl-rally-pad-l 4s cubic-bezier(.42,0,.58,1) infinite}
 .pl-paddle-r{animation:pl-rally-pad-r 4s cubic-bezier(.42,0,.58,1) infinite}
 .pl-rally-flash-r{animation:pl-rally-flash-r 4s ease-out infinite}
 .pl-rally-flash-l{animation:pl-rally-flash-l 4s ease-out infinite}
 .pl-rally-net{animation:pl-rally-net 4s ease-out infinite}
 .pl-rally-ring-r{animation:pl-rally-ring-r 4s ease-out infinite}
 .pl-rally-ring-l{animation:pl-rally-ring-l 4s ease-out infinite}
 .pl-rally-glow{animation:pl-rally-glow .7s ease-in-out infinite alternate}
}
@keyframes pl-rally-x{
 0%{transform:translateX(210px);animation-timing-function:cubic-bezier(.36,.18,.64,.82)}
 35%{transform:translateX(292px);animation-timing-function:cubic-bezier(.25,.5,.5,1)}
 50%{transform:translateX(310px);animation-timing-function:cubic-bezier(.36,.18,.64,.82)}
 85%{transform:translateX(228px);animation-timing-function:cubic-bezier(.25,.5,.5,1)}
 100%{transform:translateX(210px)}}
@keyframes pl-rally-y{
 0%{transform:translateY(137px);animation-timing-function:cubic-bezier(.3,.62,.62,1)}
 17.5%{transform:translateY(68px);animation-timing-function:cubic-bezier(.38,0,.7,.38)}
 35%{transform:translateY(164px);animation-timing-function:cubic-bezier(.25,.6,.5,1)}
 50%{transform:translateY(137px);animation-timing-function:cubic-bezier(.3,.62,.62,1)}
 67.5%{transform:translateY(68px);animation-timing-function:cubic-bezier(.38,0,.7,.38)}
 85%{transform:translateY(164px);animation-timing-function:cubic-bezier(.25,.6,.5,1)}
 100%{transform:translateY(137px)}}
@keyframes pl-rally-spin{
 0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}
 50%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}
 100%{transform:rotate(0deg)}}
@keyframes pl-rally-shadow{
 0%{transform:scale(.85);opacity:.8;animation-timing-function:cubic-bezier(.3,.62,.62,1)}
 17.5%{transform:scale(.45);opacity:.35;animation-timing-function:cubic-bezier(.38,0,.7,.38)}
 35%{transform:scale(1.1);opacity:1;animation-timing-function:cubic-bezier(.25,.6,.5,1)}
 50%{transform:scale(.85);opacity:.8;animation-timing-function:cubic-bezier(.3,.62,.62,1)}
 67.5%{transform:scale(.45);opacity:.35;animation-timing-function:cubic-bezier(.38,0,.7,.38)}
 85%{transform:scale(1.1);opacity:1;animation-timing-function:cubic-bezier(.25,.6,.5,1)}
 100%{transform:scale(.85);opacity:.8}}
@keyframes pl-rally-pad-l{0%{transform:rotate(5deg)}9%{transform:rotate(0deg)}91%{transform:rotate(0deg)}100%{transform:rotate(5deg)}}
@keyframes pl-rally-pad-r{0%,41%{transform:rotate(0deg)}50%{transform:rotate(-5deg)}59%,100%{transform:rotate(0deg)}}
@keyframes pl-rally-flash-r{0%,34.5%{opacity:0}36%{opacity:.4}48%,100%{opacity:0}}
@keyframes pl-rally-flash-l{0%,84.5%{opacity:0}86%{opacity:.4}98%,100%{opacity:0}}
@keyframes pl-rally-net{0%,19%{opacity:0}20.5%{opacity:.9}28%,69%{opacity:0}70.5%{opacity:.9}78%,100%{opacity:0}}
@keyframes pl-rally-ring-r{0%,34.9%{transform:scale(.1);opacity:0}35%{transform:scale(.1);opacity:.9}46%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes pl-rally-ring-l{0%,84.9%{transform:scale(.1);opacity:0}85%{transform:scale(.1);opacity:.9}96%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes pl-rally-glow{from{opacity:.38;transform:scale(.85)}to{opacity:.12;transform:scale(1.25)}}

/* v1.0.20: compliance + conversion micro-copy */
.pl-disclose-hero{margin-top:18px;max-width:760px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#D1FAE5}
.pl-disclose-hero a{color:#fff!important;font-weight:600}
.pl-disclose-hero strong{color:#fff}
.pl-ctanote{display:block;font-size:.78rem;line-height:1.35;color:#A7F3D0}
.pl-tablenote{font-size:.84rem;color:var(--pl-soft);margin-top:8px}

/* v1.0.22 blog posts */
.pl-figure{margin:0 0 28px}
.pl-figure img{display:block;width:100%;height:auto;max-width:100%;border-radius:14px;aspect-ratio:16/9;object-fit:cover;background:#E2E8F0}
.pl-figure figcaption{margin-top:8px;font-size:13px;color:#64748B}
.pl-figure figcaption a{color:inherit}
.pl-prose>figure:not(.pl-figure){margin:24px 0}
.pl-prose>figure img{max-width:100%;height:auto;border-radius:12px}

/* ===== Motion layer: pure CSS, transform + opacity only, off when the visitor prefers reduced motion ===== */
@property --pl-pct{syntax:"<percentage>";inherits:false;initial-value:0%}
@media (prefers-reduced-motion:no-preference){
/* load-in: headline and copy rise in (starts at near-0 opacity so it still counts as painted for LCP) */
@keyframes pl-rise{from{opacity:.01;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes pl-fade{from{opacity:.01}to{opacity:1}}
@keyframes pl-pop{from{opacity:.01;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.pl-hero .pl-eyebrow,.pl-hero h1,.pl-hero .pl-lede,.pl-hero-actions,.pl-checks,.pl-pagehead>*,.pl-crumbs{animation:pl-rise .5s cubic-bezier(.2,.7,.2,1) both}
.pl-hero h1,.pl-pagehead>:nth-child(2){animation-delay:.06s}
.pl-hero .pl-lede,.pl-pagehead>:nth-child(3){animation-delay:.14s}
.pl-hero-actions,.pl-pagehead>:nth-child(4){animation-delay:.22s}
.pl-checks{animation-delay:.3s}
.pl-courtcard{animation:pl-rise .5s .18s cubic-bezier(.2,.7,.2,1) both}
.pl-courtstats div{animation:pl-rise .4s cubic-bezier(.2,.7,.2,1) both;contain:layout paint}
.pl-courtstats div:nth-child(1){animation-delay:.35s}.pl-courtstats div:nth-child(2){animation-delay:.42s}.pl-courtstats div:nth-child(3){animation-delay:.49s}

/* primary CTA: soft pulsing ring (a pseudo-element, so it never shifts layout) */
.pl-btn-amz{position:relative;isolation:isolate;overflow:hidden}
.pl-btn-pulse{animation:pl-pulse 2.4s 1.2s ease-out infinite}
@keyframes pl-pulse{0%{box-shadow:0 0 0 0 rgba(255,153,0,.6)}70%{box-shadow:0 0 0 12px rgba(255,153,0,0)}100%{box-shadow:0 0 0 0 rgba(255,153,0,0)}}
.pl-btn-pulse:hover{animation-play-state:paused}

/* buy buttons: light sheen sweeps across on hover */
.pl-btn-amz::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg) translateX(0);opacity:0;pointer-events:none}
.pl-btn-amz:hover::before{animation:pl-sheen .5s ease-out}
@keyframes pl-sheen{from{opacity:1;transform:skewX(-18deg) translateX(0)}to{opacity:1;transform:skewX(-18deg) translateX(420%)}}
.pl-btn{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease,border-color .2s ease}
.pl-btn:hover{transform:translateY(-2px)}
.pl-btn:active{transform:translateY(0) scale(.98)}
.pl-btn svg{transition:transform .25s ease}
.pl-btn:hover svg:last-child{transform:translateX(3px)}
.pl-btn-amz:hover{box-shadow:0 10px 22px -10px rgba(230,138,0,.95)}

/* trust badges: hero ticks float in, trust bar gets a one-time sheen and icons lift on hover */
.pl-checks li{animation:pl-rise .4s cubic-bezier(.2,.7,.2,1) both}
.pl-checks li:nth-child(1){animation-delay:.34s}.pl-checks li:nth-child(2){animation-delay:.42s}.pl-checks li:nth-child(3){animation-delay:.5s}
.pl-checks svg{animation:pl-pop .35s cubic-bezier(.3,1.6,.5,1) both;animation-delay:inherit}
.pl-trustbar li{position:relative;overflow:hidden;transition:background-color .25s ease}
.pl-trustbar li::after{content:"";position:absolute;inset:0 auto 0 -50%;width:40%;background:linear-gradient(100deg,transparent,rgba(5,150,105,.12),transparent);transform:skewX(-18deg);animation:pl-trustsheen .5s ease-out both;pointer-events:none}
.pl-trustbar li:nth-child(1)::after{animation-delay:.7s}.pl-trustbar li:nth-child(2)::after{animation-delay:.8s}.pl-trustbar li:nth-child(3)::after{animation-delay:.9s}.pl-trustbar li:nth-child(4)::after{animation-delay:1s}
@keyframes pl-trustsheen{from{transform:skewX(-18deg) translateX(0)}to{transform:skewX(-18deg) translateX(450%)}}
.pl-trustbar li:hover{background:var(--pl-mint)}
.pl-trustbar svg{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.pl-trustbar li:hover svg{transform:translateY(-3px) rotate(-6deg)}

/* nav: underline grows from the center */
.pl-nav a{position:relative;transition:background-color .2s ease,color .2s ease}
.pl-nav a::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;border-radius:2px;background:var(--pl-emerald);transform:scaleX(0);transition:transform .25s ease}
.pl-nav a:hover::after{transform:scaleX(1)}
.pl-nav a[aria-current="page"]::after{display:none}
.pl-brand svg{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.pl-brand:hover svg{transform:rotate(-8deg) scale(1.05)}

/* cards, chips, promises: lift and glow */
.pl-card,.pl-promise,.pl-chip,.pl-guides li,.pl-pickrow,.pl-pick{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pl-card-link:hover,.pl-promise:hover,.pl-guides li:hover,.pl-pickrow:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(6,78,59,.45);border-color:var(--pl-emerald)}
.pl-chip:hover{transform:translateY(-2px)}
.pl-icon{transition:transform .3s cubic-bezier(.3,1.6,.5,1),background-color .25s ease,color .25s ease}
.pl-card-link:hover .pl-icon,.pl-promise:hover .pl-icon{transform:rotate(-8deg) scale(1.08);background:var(--pl-emerald);color:#fff}
.pl-chip svg{transition:transform .3s ease}
.pl-chip:hover svg{transform:rotate(-12deg) scale(1.1)}
.pl-ticks li::before{transition:transform .2s ease}
.pl-card-link:hover .pl-ticks li::before{transform:rotate(-45deg) scale(1.15)}

/* tables and lists */
.pl-table-wrap tbody tr{transition:background-color .2s ease}
.pl-table-wrap tbody tr:hover{background:var(--pl-mint)}
.pl-toc a{transition:color .2s ease,transform .2s ease}
.pl-toc a:hover{transform:translateX(4px)}
.pl-steps li{transition:border-color .2s ease,transform .25s ease}
.pl-steps li:hover{border-color:var(--pl-emerald);transform:translateX(4px)}
.pl-steps li::before{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.pl-steps li:hover::before{transform:scale(1.1)}
.pl-footgrid a{display:inline-block;transition:transform .2s ease}
.pl-footgrid a:hover{transform:translateX(3px)}

/* quick-answer tick pops in; FAQ answers slide open */
.pl-answer .pl-eyebrow::before{animation:pl-pop .4s .35s cubic-bezier(.3,1.6,.5,1) both}
.pl-faq summary{transition:color .2s ease}
.pl-faq summary:hover{color:var(--pl-forest)}
.pl-faq details[open]>div{animation:pl-open .3s ease-out both}
@keyframes pl-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* durability timeline dots pop in one after another */
.pl-timeline li::before{animation:pl-pop .35s cubic-bezier(.3,1.6,.5,1) both}
.pl-timeline li:nth-child(2)::before{animation-delay:.1s}.pl-timeline li:nth-child(3)::before{animation-delay:.2s}.pl-timeline li:nth-child(4)::before{animation-delay:.3s}

/* review score ring fills up; sticky buy bar slides in */
.pl-score{transition:--pl-pct .5s}
.pl-score{animation:pl-ring .5s .2s ease-out both}
@keyframes pl-ring{from{--pl-pct:0%}}
.pl-stickybuy{animation:pl-up .4s .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes pl-up{from{transform:translateY(100%)}to{transform:none}}
.pl-pickrow:first-child{animation:pl-goldglow 2.4s 1s ease-in-out 2}
@keyframes pl-goldglow{50%{box-shadow:0 0 0 4px rgba(255,153,0,.22),var(--pl-shadow)}}

/* gentle reveal while scrolling (Chrome, Edge, Safari 26+). Other browsers simply show the content. */
@supports (animation-timeline:view()){
 .pl-section .pl-card,.pl-promise,.pl-guides li,.pl-pick,.pl-proscons>div,.pl-author,.pl-footcta{animation:pl-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
 @keyframes pl-reveal{from{opacity:.25;translate:0 22px}to{opacity:1;translate:0 0}}
}
}

body.pl-page{margin:0;background:#F8FAFC}
