*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
:root{--pdlp-font:'Titillium Web',system-ui,-apple-system,'Segoe UI',sans-serif}
.pdlp-body{margin:0;font-family:var(--pdlp-font);-webkit-font-smoothing:antialiased;color:var(--ink,#1E293B);background:var(--paper,#F6F5F7);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}
.pdlp a{color:var(--accent,#EB5A33);text-decoration:none}
.pdlp a:hover{color:var(--accent-d,#d14524)}
.pdlp{background:var(--paper);color:var(--ink);padding-bottom:0;overflow-x:hidden}
.pdlp-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.pdlp-wrap--narrow{max-width:1000px}
.pdlp-wrap--faq{max-width:820px}
/* Titillium Web is narrower and lighter-stemmed than a grotesque, so it wants
   less negative tracking and a touch more leading than the previous face. */
.pdlp h1{font-weight:700;font-size:clamp(32px,5.2vw,56px);line-height:1.12;letter-spacing:-.015em;margin:0 0 20px}
.pdlp h2{font-weight:600;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.01em;line-height:1.2;margin:0 0 14px;text-wrap:balance}
.pdlp h3{font-weight:600;font-size:20px;letter-spacing:-.005em;margin:0 0 8px}
.pdlp-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;color:var(--accent);margin:0 0 10px}
.pdlp-kicker--muted{color:var(--muted);letter-spacing:.12em}
.pdlp-kicker--teal{color:var(--teal)}
.pdlp-muted,.pdlp-lead,.pdlp-stat__label{color:var(--muted)}
.pdlp-center{text-align:center;max-width:44rem;margin:0 auto clamp(28px,4vw,44px)}
.pdlp-lead{font-size:17px;line-height:1.55;margin:0}
.pdlp-section{padding:clamp(40px,6vw,72px) 0}

.pdlp-header{position:sticky;top:0;z-index:40;background:rgba(246,245,247,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s ease;will-change:transform}
.pdlp-header.is-stuck{box-shadow:0 6px 22px rgba(30,41,59,.09)}
.admin-bar .pdlp-header{top:32px}
@media (max-width:782px){.admin-bar .pdlp-header{top:46px}}
.pdlp-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.pdlp a.pdlp-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:-.02em}
.pdlp-brand img{height:40px;width:auto}
.pdlp-mark{width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}
.pdlp-nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
/* The 44px tap-target floor blockifies these links, so they must centre their own
   text or they ride ~11px above the button's label. */
.pdlp-nav a{display:inline-flex;align-items:center;color:var(--ink2)}
.pdlp-nav__phone{font-weight:600}

.pdlp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:999px;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .12s ease,background-color .2s ease,box-shadow .2s ease}
.pdlp-btn:active{transform:scale(.97)}
.pdlp-btn:focus-visible,.pdlp-form :focus-visible,.pdlp-faq summary:focus-visible,.pdlp-sticky a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.pdlp-btn--accent{background:var(--accent);color:#fff!important;box-shadow:0 6px 18px rgba(235,90,51,.32)}
.pdlp-btn--accent:hover{background:var(--accent-d);color:#fff!important}
.pdlp-btn--light{background:#fff;color:var(--ink)!important}
.pdlp-btn--ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff!important}
.pdlp-btn--ink{background:var(--ink);color:#fff!important}
.pdlp-btn--teal{background:var(--teal);color:#fff!important}
.pdlp-btn--block{width:100%;padding:15px;border-radius:12px;font-size:17px;box-shadow:0 10px 24px rgba(235,90,51,.35)}

.pdlp-hero{background:linear-gradient(165deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;position:relative}
.pdlp-hero.has-photo{background-image:linear-gradient(165deg,rgba(30,41,59,.82) 0%,rgba(4,92,180,.74) 100%),var(--pdlp-hero-photo);background-size:cover;background-position:center}
.pdlp-photo{margin:0 0 28px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.pdlp-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pdlp-photo--proof{border-color:var(--line);margin:0 0 36px}
.pdlp-results .pdlp-photo--proof img{aspect-ratio:16/9}
.pdlp-hero__grid{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,56px);align-items:center;padding:clamp(36px,6vw,72px) clamp(16px,4vw,40px)}
.pdlp-hero__copy{flex:1 1 440px;min-width:300px}
.pdlp-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:22px}
.pdlp-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}
.pdlp-hero__sub{font-size:clamp(16px,2.2vw,20px);line-height:1.55;color:var(--dark-text,#CBD5E1);max-width:52ch;margin:0 0 26px}
.pdlp-ticks{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px;max-width:34rem}
.pdlp-ticks li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--dark-text,#CBD5E1)}
.pdlp-hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.pdlp-hero__cta--center{justify-content:center}

.pdlp-form-card{flex:1 1 380px;min-width:300px;max-width:460px;background:var(--card);color:var(--ink);border-radius:20px;padding:clamp(22px,3vw,32px);box-shadow:0 24px 60px rgba(5,20,40,.4)}
.pdlp-form-card h2{font-size:24px;margin:0 0 4px}
.pdlp-form{display:grid;gap:13px;margin-top:16px}
.pdlp-fields{display:grid;gap:13px}
.pdlp-next{display:none}
.pdlp-form__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:13px}
.pdlp-form input,.pdlp-form select,.pdlp-form textarea{flex:1 1 140px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;font-size:16px;font-family:inherit;background:var(--field,#F8FAFC);color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.pdlp-form input:focus,.pdlp-form select:focus,.pdlp-form textarea:focus{outline:0;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(235,90,51,.14)}
.pdlp-form .is-invalid{border-color:#d92d20;background:#fff6f5}
.pdlp-field{flex:1 1 140px;min-width:0;display:flex;flex-direction:column;gap:5px}
/* The generic control rule sets `flex:1 1 140px` for the horizontal row. Inside a
   .pdlp-field the axis is vertical, where that basis becomes a 140px-tall control. */
.pdlp-field input,.pdlp-field select,.pdlp-field textarea{flex:0 0 auto;width:100%}
.pdlp-field__err{display:none;color:var(--error,#b42318);font-size:12.5px;font-weight:600;line-height:1.3}
.has-error>.pdlp-field__err{display:block}
.pdlp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pdlp-check{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.45}
.pdlp-form .pdlp-check input{flex:0 0 auto;width:22px;height:22px;min-height:22px;min-width:22px;padding:0;margin-top:1px;border-radius:6px;accent-color:var(--accent)}
.pdlp-check>span{flex:1 1 200px;min-width:0}
.pdlp-check .pdlp-field__err{flex-basis:100%}
.pdlp-check.has-error{color:var(--error,#b42318)}
.pdlp-fine{margin:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted)}
.pdlp-form-error{color:var(--error,#b42318);font-size:13px;font-weight:600}
.pdlp-thanks{text-align:center;padding:24px 6px}
.pdlp-thanks__icon{width:60px;height:60px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:30px;margin:0 auto 16px}

.pdlp-trust{background:var(--card);border-bottom:1px solid var(--line)}
.pdlp-trust__inner{padding-top:26px;padding-bottom:26px;display:flex;flex-direction:column;align-items:center;gap:16px}
/* Badges arrive at wildly different aspect ratios (square certs next to 5:1
   wordmarks). Equal cells + object-fit give every partner the same optical
   weight instead of letting the widest artwork dominate the row. */
.pdlp-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,2.5vw,28px);width:100%;max-width:820px}
.pdlp-badges img{height:52px;width:140px;object-fit:contain;object-position:center}
.pdlp-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.pdlp-marquee__track{display:flex;align-items:center;gap:40px;width:max-content;animation:pdlp-marquee 32s linear infinite}
.pdlp-marquee img{height:36px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.75}
/* Client artwork is a mix of transparent PNGs and logos baked onto opaque white,
   so a knockout filter would flatten half of them into solid blocks. A white rail
   renders every supplied file correctly on a coloured band. The mask stays on the
   marquee so only the logos fade at the edges, not the rail itself. */
.pdlp-logorail{background:#fff;border-radius:16px;padding:16px 0;margin-bottom:clamp(28px,4vw,40px);box-shadow:0 10px 26px rgba(0,0,0,.10)}
.pdlp-logorail .pdlp-marquee img{filter:grayscale(1);opacity:.85}
@keyframes pdlp-marquee{to{transform:translateX(-50%)}}

.pdlp-stats{padding:clamp(34px,5vw,56px) 0}
.pdlp-stats__grid,.pdlp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(16px,3vw,28px);text-align:center}
.pdlp-stat__value{font-weight:700;font-size:clamp(32px,4.5vw,46px);letter-spacing:-.02em}
.pdlp-stat__value.is-accent{color:var(--accent)}
.pdlp-stat__value.is-teal{color:var(--teal)}
.pdlp-stat__label{font-size:14px;font-weight:500}
.pdlp-metrics .pdlp-stat__value{font-size:30px}

.pdlp-cards{display:grid;gap:clamp(14px,2vw,20px)}
.pdlp-cards--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pdlp-cards--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.pdlp-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;transition:transform .2s,box-shadow .2s}
.pdlp-scroller{scrollbar-width:none;-ms-overflow-style:none}
.pdlp-scroller::-webkit-scrollbar{display:none}
.pdlp-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,41,59,.1)}
.pdlp-card p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.pdlp-step{font-weight:800;font-size:34px;color:var(--line);line-height:1}

.pdlp-why{background:var(--ink);color:#fff;margin-top:clamp(20px,4vw,40px)}
.pdlp-social + .pdlp-why{margin-top:0}
.pdlp-why__grid{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,56px);align-items:center;padding:clamp(40px,6vw,72px) clamp(16px,4vw,40px)}
.pdlp-why__grid>div{flex:1 1 360px;min-width:280px}
.pdlp-why p{color:var(--dark-text,#CBD5E1);font-size:17px;line-height:1.6}
.pdlp-pills{display:flex;flex-wrap:wrap;gap:10px}
.pdlp-pills span{background:rgba(56,139,141,.16);border:1px solid rgba(56,139,141,.4);color:#9ED8D9;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600}
.pdlp-goals{text-align:center;background:var(--accent);color:#fff;font-weight:800;letter-spacing:.02em;padding:14px;border-radius:14px;margin-bottom:14px;font-size:15px}
.pdlp-framework{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pdlp-framework div{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:14px 16px;border-radius:12px;font-size:14px;font-weight:600}
.pdlp-framework span{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}

/* ── Case studies ─────────────────────────────────────────────────────────
   Grey section, white cards. Each case study then reads as one discrete piece
   of proof instead of copy floating on the page, and stacking two of them stays
   legible because the card edge marks where one ends. */
.pdlp-results{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(40px,6vw,72px) 0}
.pdlp-results__row{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,48px);align-items:stretch;margin-bottom:clamp(18px,2.4vw,26px);padding:clamp(22px,3vw,38px);background:var(--card);border:1px solid var(--line);border-radius:20px}
.pdlp-results__row:last-child{margin-bottom:0}
.pdlp-results__row>div{flex:1 1 340px;min-width:280px;display:flex;flex-direction:column}
/* The headline lives in a half-width column, so the global h2 ramp overshoots
   here and throws a short title onto three lines. */
.pdlp-results__row h2{font-size:clamp(23px,2.5vw,31px);margin:0 0 10px}
.pdlp-results p{color:var(--muted);font-size:16.5px;line-height:1.6}

/* Rule-separated strip rather than a centred grid: values of wildly different
   widths ("27%" beside "Full funnel") still read as one set, and short numbers
   stop drifting into the middle of their column. */
.pdlp-results .pdlp-metrics{display:flex;flex-wrap:wrap;gap:14px 0;text-align:left;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.pdlp-results .pdlp-metrics>div{flex:0 1 auto;padding:0 clamp(14px,2vw,26px);border-left:1px solid var(--line)}
.pdlp-results .pdlp-metrics>div:first-child{padding-left:0;border-left:0}
.pdlp-results .pdlp-metrics .pdlp-stat__value{font-size:clamp(21px,2.2vw,27px);line-height:1.15;font-variant-numeric:tabular-nums}
.pdlp-results .pdlp-metrics .pdlp-stat__label{color:var(--muted);font-size:13px;margin-top:2px}

.pdlp-results blockquote{margin:0;flex:1 1 300px;min-width:260px;display:flex;flex-direction:column;justify-content:center;background:var(--paper);border-left:4px solid var(--accent);border-radius:0 16px 16px 0;padding:clamp(22px,2.6vw,30px)}
/* Upright semibold, not italic: Titillium's italic thins out badly at this size. */
.pdlp-results blockquote p{font-size:clamp(17px,1.5vw,20px);line-height:1.5;font-style:normal;font-weight:600;color:var(--ink);margin:0 0 14px;text-wrap:balance}
.pdlp-results footer{font-weight:700;font-size:14px;color:var(--muted)}

.pdlp-more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-weight:700}
/* Pinned to the bottom of the column so the link lines up with the card edge
   however long the excerpt runs. Only inside a case study — elsewhere .pdlp-more
   sits in normal block flow, where auto margins collapse to nothing anyway. */
.pdlp-results .pdlp-more{margin-top:auto;padding-top:18px}
.pdlp-more svg{transition:transform .15s ease}
.pdlp-more:hover svg{transform:translateX(3px)}

.pdlp-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.pdlp-table{width:100%;border-collapse:collapse;min-width:520px;font-size:15px}
.pdlp-table th{padding:18px 20px;color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.pdlp-table th:nth-child(2){background:var(--ink);color:#fff;font-size:16px;text-transform:none;letter-spacing:-.02em}
.pdlp-table td{padding:16px 20px;border-top:1px solid var(--line)}
.pdlp-table td:first-child{font-weight:600}
.pdlp-table td:not(:first-child){text-align:center}
.pdlp-table tbody tr:nth-child(even){background:var(--field,#F8FAFC)}
.pdlp-table .is-yes{color:var(--teal);font-weight:800}

.pdlp-social{background:var(--social,#388B8D);color:#fff;padding:clamp(40px,6vw,72px) 0}
/* The review band is a mid-tone colour, so cards darken it rather than lighten it —
   white body copy needs ~5:1 here and a translucent white wash would drop it to 4:1. */
.pdlp-quote{background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:26px}
.pdlp-stars{color:var(--star,#f5a623);display:flex;gap:2px;margin-bottom:12px}
.pdlp-rating{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 9px;margin:14px 0 0;padding:9px 18px;border-radius:999px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.2);font-size:14.5px;color:rgba(255,255,255,.92)}
.pdlp-rating .pdlp-stars{margin:0}
.pdlp-rating strong{font-size:17px;color:#fff}
.pdlp-social .pdlp-quote p{color:rgba(255,255,255,.95)}
.pdlp-social .pdlp-quote span{color:rgba(255,255,255,.76)}
.pdlp-quote p{font-size:16px;line-height:1.55;margin:0 0 16px;color:var(--dark-text,#CBD5E1)}
.pdlp-quote footer{font-weight:700;font-size:14.5px}
.pdlp-quote span{color:var(--dark-muted,#94A3B8);font-weight:500}

.pdlp-faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 20px;margin-bottom:12px}
.pdlp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-weight:600;font-size:17px}
.pdlp-faq summary::-webkit-details-marker{display:none}
.pdlp-faq summary span{color:var(--accent);font-size:22px;flex:none}
.pdlp-faq details p{margin:0 0 16px;color:var(--muted);font-size:15.5px;line-height:1.6}

.pdlp-cta{background:linear-gradient(135deg,var(--accent) 0%,var(--cta-2,#f2795a) 100%);color:#fff;text-align:center}
.pdlp-cta__inner{padding-top:clamp(44px,6vw,80px);padding-bottom:clamp(44px,6vw,80px)}
.pdlp-cta h2{font-weight:800;font-size:clamp(28px,4.5vw,48px);letter-spacing:-.03em}
.pdlp-cta p{font-size:clamp(16px,2.2vw,20px);line-height:1.5;margin:0 auto 30px;max-width:44ch;color:rgba(255,255,255,.92)}

.pdlp-visit__grid{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,44px);align-items:center}
.pdlp-visit__grid>div{flex:1 1 300px;min-width:260px}
.pdlp-address{color:var(--muted);font-size:16px;line-height:1.6}
.pdlp-map{min-height:280px;border-radius:18px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;overflow:hidden}
.pdlp-map--link a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;min-height:280px;padding:24px;text-align:center;background:linear-gradient(160deg,#F1F5F9,#E2E8F0);color:var(--ink)}
.pdlp-map--link a:hover{background:linear-gradient(160deg,#E9EFF6,#DBE3EC);color:var(--ink)}
.pdlp-map--link .pdlp-icon{color:var(--accent)}
.pdlp-map--link strong{font-size:16px}
.pdlp-map--link span{font-size:14px;color:var(--muted);max-width:28ch;line-height:1.5}
.pdlp-map iframe{width:100%;height:280px;border:0}

.pdlp-footer{background:var(--footer,#1E293B);color:#fff}
.pdlp-footer__grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(32px,4vw,48px)}
.pdlp-footer__logo{height:52px;width:auto;margin-bottom:14px}
.pdlp-footer p{color:var(--dark-muted,#94A3B8);font-size:14.5px;line-height:1.6;max-width:30rem}
.pdlp-footer__cols{display:flex;gap:clamp(32px,6vw,64px);flex-wrap:wrap;font-size:14.5px;line-height:2;color:var(--dark-text,#CBD5E1)}
.pdlp-footer__cols strong{display:block;color:#fff;margin-bottom:6px}
.pdlp-footer__cols a,.pdlp-footer__cols span{display:block;color:var(--dark-text,#CBD5E1)}
.pdlp-legal{border-top:1px solid rgba(255,255,255,.1);padding:18px clamp(16px,4vw,40px);color:var(--dark-muted,#94A3B8);font-size:13px;max-width:1200px;margin:0 auto}

.pdlp-sticky{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(30,41,59,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.12);padding:10px clamp(12px,3vw,20px);display:none;gap:10px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;will-change:transform}
.pdlp-sticky a{flex:1;text-align:center;background:rgba(255,255,255,.12);color:#fff!important;padding:12px;border-radius:11px;font-weight:700;font-size:14px;min-height:44px;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .12s ease}
.pdlp-sticky a:active{transform:scale(.96)}
.pdlp-sticky .is-teal{background:var(--teal)}
.pdlp-sticky .is-accent{flex:1.4;background:var(--accent);box-shadow:0 4px 14px rgba(235,90,51,.4)}
.pdlp-compare-cards{display:none}
.pdlp-btn,.pdlp-nav a,.pdlp-sticky a,.pdlp-faq summary{min-height:44px}
.pdlp-form input,.pdlp-form select,.pdlp-form textarea,.pdlp-form button{min-height:48px}

/* ── App-like layer (progressive enhancement; all scoped to .pdlp-js) ── */
.pdlp-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent;pointer-events:none;display:none}
.pdlp-progress i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--accent),var(--teal))}
.admin-bar .pdlp-progress{top:32px}
.pdlp-js .pdlp-reveal{opacity:0;transform:translateY(16px)}
.pdlp-js .pdlp-reveal.is-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.3,1)}
.pdlp-dots{display:none;justify-content:center;gap:7px;margin-top:16px}
.pdlp-dots b{width:7px;height:7px;border-radius:50%;background:var(--line);transition:width .25s ease,background-color .25s ease}
.pdlp-dots b.is-on{width:20px;background:var(--accent)}
.pdlp-swipe-hint{display:none;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);margin-top:12px}
.pdlp-only-mobile{display:none!important}
.pdlp-hide-mobile{display:inline-flex}
div.pdlp-hide-mobile{display:flex}
.pdlp-btn__short{display:none}
/* Inline SVG icon set. Sized in the markup, colour inherited from the parent. */
.pdlp-icon{display:inline-block;vertical-align:-.15em;flex:none}
.pdlp-tick{color:var(--teal);margin-top:2px}
.pdlp-stars .pdlp-icon{fill:currentColor;stroke-width:1.5;vertical-align:middle}
.pdlp-fine .pdlp-icon,.pdlp-formtrust .pdlp-icon{color:var(--muted)}
.pdlp-thanks__icon .pdlp-icon{stroke-width:3}
/* Belt-and-braces: if anything still injects emoji images, keep them inline-sized. */
.pdlp img.emoji,.pdlp-body img.emoji{display:inline-block!important;width:1em!important;height:1em!important;margin:0 .05em 0 .1em!important;vertical-align:-.1em!important;padding:0!important;border:0!important;box-shadow:none!important}
.pdlp-formtrust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:12px 0 0;padding:0;list-style:none;font-size:12px;font-weight:600;color:var(--muted)}
.pdlp-formtrust li{display:flex;align-items:center;gap:6px}
.pdlp-formsteps{display:none;align-items:center;gap:10px;margin:14px 0 2px}
.pdlp-formsteps__bar{flex:1;height:5px;border-radius:999px;background:var(--line);overflow:hidden}
.pdlp-formsteps__bar i{display:block;height:100%;width:50%;border-radius:999px;background:var(--accent);transition:width .32s cubic-bezier(.4,0,.2,1)}
.pdlp-formsteps__label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;white-space:nowrap}
.pdlp-back{display:none;background:none;border:0;padding:8px 2px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;justify-self:start;text-align:left;min-height:44px;touch-action:manipulation}
.pdlp-back:active{color:var(--ink)}

@media (max-width:800px){
	.pdlp{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
	.pdlp-wrap{padding:0 16px}
	.pdlp-only-mobile{display:flex!important}
	.pdlp-hide-mobile{display:none!important}
	.pdlp-progress{display:block}

	/* Header: compact app chrome that tucks away while reading */
	.pdlp-header{padding-top:env(safe-area-inset-top,0px)}
	.pdlp-header__inner{padding:9px 16px;gap:10px}
	.pdlp-header.is-tucked{transform:translateY(-101%)}
	.admin-bar .pdlp-header.is-tucked{transform:translateY(calc(-101% - 46px))}
	.pdlp-nav a:not(.pdlp-btn):not(.pdlp-nav__call){display:none}
	.pdlp-nav{gap:8px}
	.pdlp-nav a.pdlp-nav__call{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line);font-size:18px;flex:none;padding:0}
	.pdlp-btn{padding:12px 14px;font-size:14px;white-space:nowrap}
	.pdlp-header .pdlp-btn{padding:11px 14px}
	.pdlp-brand{gap:8px;min-width:0}
	.pdlp-brand img{height:30px}
	.pdlp-brand__name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.pdlp-mark{width:30px;height:30px;font-size:16px;border-radius:8px;flex:none}
	.pdlp-btn__long{display:none}
	.pdlp-btn__short{display:inline}

	/* Hero: headline + proof above the fold, form one tap away */
	.pdlp h1{font-size:clamp(28px,8vw,38px);margin-bottom:14px}
	.pdlp h2{font-size:clamp(24px,6.4vw,32px)}
	.pdlp-section{padding:36px 0}
	.pdlp-center{margin-bottom:22px}
	.pdlp-hero__copy,.pdlp-form-card,.pdlp-why__grid>div,.pdlp-results__row>div,.pdlp-visit__grid>div{min-width:0;flex-basis:100%;max-width:none}
	.pdlp-hero__grid,.pdlp-why__grid{padding:20px 16px 30px;gap:22px}
	.pdlp-hero__sub{font-size:16px;margin-bottom:18px}
	.pdlp-chip{max-width:100%;white-space:normal;line-height:1.35;margin-bottom:16px;font-size:12.5px;padding:6px 12px}
	.pdlp-ticks{gap:9px;margin-bottom:22px}
	.pdlp-ticks li{font-size:14.5px;line-height:1.4}
	.pdlp-hero__cta{gap:10px}
	.pdlp-hero__cta .pdlp-btn{flex:1 1 auto;min-width:calc(50% - 5px)}
	.pdlp-hero__cta .pdlp-btn--block{flex-basis:100%}
	.pdlp-photo{margin-bottom:20px;border-radius:14px}

	/* Form: thumb-friendly, one column, stepped */
	.pdlp-form-card{border-radius:18px;padding:20px 16px;box-shadow:0 14px 34px rgba(5,20,40,.28)}
	.pdlp-form-card h2{font-size:21px}
	.pdlp-form__row{flex-direction:column;gap:12px}
	.pdlp-form input,.pdlp-form select,.pdlp-form textarea,.pdlp-field{flex:1 1 auto;width:100%}
	.pdlp-form input,.pdlp-form select,.pdlp-form textarea{padding:14px}
	.pdlp-check{font-size:13px}
	.pdlp-js .pdlp-formsteps{display:flex}
	.pdlp-js .pdlp-form[data-steps] .pdlp-fields[data-pdlp-step="2"]{display:none}
	.pdlp-js .pdlp-form[data-steps].is-step-2 .pdlp-fields[data-pdlp-step="1"]{display:none}
	.pdlp-js .pdlp-form[data-steps].is-step-2 .pdlp-fields[data-pdlp-step="2"]{display:grid;gap:12px;animation:pdlp-slide-in .3s cubic-bezier(.2,.7,.3,1)}
	.pdlp-js .pdlp-form[data-steps].is-step-2 .pdlp-back{display:block}
	.pdlp-js .pdlp-form[data-steps] .pdlp-fields[data-pdlp-step="1"]{display:grid;gap:12px}
	.pdlp-js .pdlp-form[data-steps]:not(.is-step-2) .pdlp-next{display:inline-flex}

	/* Swipeable card decks instead of endless vertical stacks */
	.pdlp-cards--3,.pdlp-cards--4{grid-template-columns:1fr}
	.pdlp-cards--swipe{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:2px 16px 4px;margin:0 -16px;scroll-padding-left:16px}
	.pdlp-cards--swipe>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
	.pdlp-cards--swipe .pdlp-card{padding:20px}
	.pdlp-card:active{transform:scale(.99)}
	.pdlp-card:hover{transform:none;box-shadow:none}
	.pdlp-js .pdlp-cards--swipe+.pdlp-dots{display:flex}
	.pdlp-js .pdlp-swipe-hint{display:flex}
	.pdlp-framework{grid-template-columns:1fr;gap:8px}
	.pdlp-framework div{padding:12px 14px;font-size:13.5px}
	.pdlp-stats__grid,.pdlp-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
	.pdlp-stat__value{font-size:30px}
	.pdlp-stats{padding:28px 0}
	.pdlp-trust__inner{padding-top:44px;padding-bottom:28px}
	.pdlp-badges{gap:16px 10px}
	.pdlp-badges img{height:40px;width:calc(33.333% - 7px)}
	.pdlp-marquee img{height:30px;max-width:104px}

	/* Comparison table → stacked cards */
	.pdlp-table-wrap{display:none}
	.pdlp-compare-cards{display:grid;gap:12px}
	.pdlp-compare-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
	.pdlp-compare-card h3{font-size:16px;margin:0 0 12px}
	.pdlp-compare-card dl{margin:0;display:grid;gap:8px}
	.pdlp-compare-card dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
	.pdlp-compare-card dt{color:var(--muted);font-weight:600}
	.pdlp-compare-card dd{margin:0;font-weight:700;text-align:right}
	.pdlp-compare-card .is-yes{color:var(--teal)}

	.pdlp-results__row{margin-bottom:16px;gap:20px;padding:20px;border-radius:16px}
	.pdlp-results__row h2{font-size:clamp(21px,5.4vw,26px)}
	/* Back to a two-up grid: vertical rules between wrapped rows read as noise. */
	.pdlp-results .pdlp-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:18px;padding-top:16px}
	.pdlp-results .pdlp-metrics>div{padding:0;border-left:0}
	.pdlp-results blockquote{min-width:0;flex-basis:100%;padding:20px;border-radius:0 12px 12px 0}
	.pdlp-results blockquote p{font-size:16.5px}
	.pdlp-results .pdlp-more{padding-top:14px}
	.pdlp-results p{font-size:15.5px}
	.pdlp-faq details{padding:2px 14px;border-radius:12px}
	.pdlp-faq summary{font-size:15.5px;align-items:flex-start;padding:14px 0}
	.pdlp-faq details p{font-size:14.5px}
	.pdlp-cta__inner{padding-top:40px;padding-bottom:40px}
	.pdlp-cta p{font-size:16px;margin-bottom:22px}

	/* Bottom action bar — the app's tab bar */
	.pdlp-sticky{display:flex;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}
	.pdlp-sticky.is-hidden{transform:translateY(120%);opacity:0}
	.pdlp-sticky a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px;font-size:11px;letter-spacing:.02em;border-radius:14px}
	.pdlp-sticky a span{font-size:16px;line-height:1}
	.pdlp-footer__grid{flex-direction:column;gap:22px}
	.pdlp-footer__cols{gap:28px}
	.pdlp-footer__cols a{display:flex;align-items:center;min-height:44px;line-height:1.3}
	.pdlp a.pdlp-brand{min-height:44px}
	.pdlp-more{display:inline-flex;align-items:center;min-height:44px}
	.pdlp-map{min-height:200px}
	.pdlp-map iframe{height:200px}
}

@keyframes pdlp-slide-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

@media (min-width:801px){
	.pdlp{padding-bottom:0}
	.pdlp-sticky{display:none}
	.pdlp-nav a.pdlp-nav__call{display:none}
}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.pdlp-marquee__track{animation:none}
	.pdlp-card,.pdlp-btn,.pdlp-header,.pdlp-sticky{transition:none}
	.pdlp-card:hover,.pdlp-btn:active,.pdlp-card:active{transform:none}
	.pdlp-js .pdlp-reveal{opacity:1;transform:none}
	.pdlp-js .pdlp-form[data-steps].is-step-2 .pdlp-fields[data-pdlp-step="2"]{animation:none}
}
