/* ---- Peak Fit Check · Overview page styles ----
   Everything lives under .pfc. Mona Sans (4 weights) is bundled in ../fonts/. */
@font-face{font-family:"PFC Mona Sans";src:url(../fonts/mona-sans-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"PFC Mona Sans";src:url(../fonts/mona-sans-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"PFC Mona Sans";src:url(../fonts/mona-sans-semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"PFC Mona Sans";src:url(../fonts/mona-sans-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
.pfc.pfc :where(h1,h2,h3,p,ul,ol,li,figure,form,label,small,b,em,strong,i,span,article,section,header,footer,nav,main){margin:0;padding:0;border:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;background:none;box-shadow:none}
.pfc.pfc :where(ul,ol){list-style:none}
.pfc.pfc :where(button,input){margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;line-height:normal;min-height:0;width:auto;max-width:none;background:none;border:0;border-radius:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.pfc.pfc :where(img,svg){max-width:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;vertical-align:middle}
.pfc.pfc :where(a){text-decoration:none;box-shadow:none}
/* no blue tap flash on phones, no outline on mouse clicks; keyboard users still get the pink focus ring */
.pfc,.pfc *{-webkit-tap-highlight-color:transparent}
.pfc.pfc :where(a,button,input,[tabindex]):focus:not(:focus-visible){outline:none}
.pfc{
  --r:clamp(13px,.8333vw,18px);
  --navy:#2B2449;--purple2:#8D77F7;--purple3:#BCACF8;--purple4:#DED6FC;
  --pink:#FC4482;--pink2:#FF87AF;--pink3:#FFC7DA;
  --cream:#F1ECE3;--wg4:#6E6259;--wg5:#F9F6F2;
  --gutter:40px;--ease:cubic-bezier(.16,1,.3,1);
}
.pfc,.pfc *{box-sizing:border-box;margin:0;padding:0}
.pfc{font-family:"PFC Mona Sans","Mona Sans";font-synthesis:style;font-size:16px;line-height:1.4;letter-spacing:normal;text-align:left;color:var(--navy);background:var(--navy);-webkit-font-smoothing:antialiased;overflow-x:clip}
.pfc img,.pfc svg{display:block}
.pfc a{color:inherit}
.pfc .pfc-container{width:min(calc(80*var(--r)),100% - var(--gutter)*2);margin-inline:auto}
.pfc .pfc-ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* scroll reveal (same feel as GEMA: fade up 1.25r, .9s ease-out-expo, staggered via --d) */
.pfc.pfc-js-rv .pfc-rv{opacity:0;transform:translateY(calc(1.25*var(--r)));transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.pfc.pfc-js-rv .pfc-rv.pfc-in{opacity:1;transform:none}

/* ---------- nav ---------- */
.pfc .pfc-nav{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:50;background:var(--navy);height:72px}
.pfc .pfc-nav .pfc-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pfc .pfc-nav__logo img{height:40px;width:auto}
.pfc .pfc-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;cursor:pointer;font-weight:700;white-space:nowrap;transition:transform .15s ease,filter .15s ease}
.pfc .pfc-btn:hover{filter:brightness(1.05)}
.pfc .pfc-btn:active{transform:scale(.97)}
.pfc .pfc-btn--lilac{height:44px;padding:0 22px;background:var(--purple3);color:var(--navy);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.pfc .pfc-btn--pink{height:max(calc(3*var(--r)),44px);padding:0 calc(1.5*var(--r));gap:8px;background:var(--pink);color:#000;font-size:max(var(--r),15px)}
.pfc .pfc-btn--pink .pfc-ic{width:18px;height:18px;stroke-width:2.2;transition:transform .2s var(--ease)}
.pfc .pfc-btn--pink:hover .pfc-ic{transform:translateX(3px)}
.pfc .pfc-form-card .pfc-btn--pink{box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.pfc .pfc-form-card .pfc-scan-bar{box-shadow:0 10px 28px rgba(43,36,73,.08)}
.pfc .pfc-btn:focus-visible,.pfc a:focus-visible{outline:3px solid var(--pink2);outline-offset:3px}
.pfc .pfc-nav__logo{display:block;border-radius:2px}
.pfc .pfc-nav__logo:focus-visible{outline:none;box-shadow:0 6px 0 -4px var(--pink2)} /* no ring around the logo, just a thin pink line under it for keyboard users */

/* ---------- hero ---------- */
.pfc .pfc-hero{position:relative;overflow:hidden;padding:calc(6.5*var(--r)) 0 calc(7*var(--r));color:#fff;background:var(--navy)}
.pfc .pfc-hero::before{content:"";position:absolute;left:-20%;top:-30%;width:calc(68.75*var(--r));height:calc(56.25*var(--r));background:radial-gradient(closest-side,rgba(252,68,130,.34),transparent);pointer-events:none}
.pfc .pfc-glow{position:absolute;border-radius:50%;pointer-events:none}
.pfc .pfc-glow--purple{left:calc(61.5% - 13.75*var(--r));top:calc(-26.25*var(--r));width:calc(90*var(--r));height:calc(72.5*var(--r));background:radial-gradient(closest-side,rgba(141,119,247,.85),rgba(141,119,247,.4) 50%,rgba(141,119,247,0))}
.pfc .pfc-glow--pink{left:calc(51% - 12.5*var(--r));top:calc(7.5*var(--r));width:calc(81.25*var(--r));height:calc(63.75*var(--r));background:radial-gradient(closest-side,rgba(252,68,130,.26),rgba(252,68,130,.1) 55%,rgba(252,68,130,0))}
.pfc .pfc-hero__fade{position:absolute;left:0;right:0;bottom:0;height:calc(11.25*var(--r));background:linear-gradient(180deg,rgba(43,36,73,0) 0%,rgba(43,36,73,.92) 75%,var(--navy) 100%);pointer-events:none}
.pfc .pfc-hero .pfc-container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(min-content,calc(40*var(--r))) minmax(0,calc(37.5*var(--r)));gap:calc(2.5*var(--r));align-items:center;justify-content:space-between}
.pfc .pfc-h1{font-size:calc(4.5*var(--r));line-height:calc(4.75*var(--r));font-weight:600;letter-spacing:-.02em}
.pfc .pfc-h1 .pfc-accent{color:var(--pink2)}
.pfc .pfc-hero__sub{margin-top:calc(2*var(--r));max-width:calc(33.75*var(--r));font-size:max(calc(1.125*var(--r)),14px);line-height:max(calc(1.75*var(--r)),22px);color:var(--purple4)}
.pfc .pfc-fit-form{position:relative;width:min(calc(36*var(--r)),100%)}
.pfc .pfc-hero .pfc-fit-form{margin-top:calc(2*var(--r))}
.pfc .pfc-fit-form__label{display:block;font-size:max(calc(.9375*var(--r)),14px);line-height:1.5;font-weight:500;margin-bottom:calc(.75*var(--r))}
.pfc .pfc-hero .pfc-fit-form__label{color:var(--purple4)}
.pfc .pfc-scan-bar{position:relative;display:flex;align-items:center;gap:8px;height:max(calc(4*var(--r)),56px);padding:6px 6px 6px calc(1.25*var(--r));background:#fff;border:1px solid rgba(43,36,73,.12);border-radius:999px;box-shadow:0 6px 18px rgba(20,14,48,.08);transition:border-color .2s ease,box-shadow .2s ease,transform .25s ease}
.pfc .pfc-scan-bar input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:max(var(--r),15px);color:var(--navy)}
.pfc .pfc-scan-bar input::placeholder{color:var(--wg4);opacity:1;transition:opacity .05s}
.pfc .pfc-scan-bar:focus-within,.pfc .pfc-scan-bar.pfc-is-focus{border-color:rgba(252,68,130,.7);box-shadow:0 0 0 4px rgba(252,68,130,.18),0 6px 18px rgba(20,14,48,.08)}
.pfc .pfc-scan-bar.pfc-is-focus{transform:none}
.pfc .pfc-scan-bar .pfc-btn--pink{flex:none;transition:transform .18s ease}
.pfc .pfc-scan-bar .pfc-btn--pink.pfc-is-press{transform:scale(.97)}
.pfc .pfc-demo-url{position:absolute;left:calc(1.25*var(--r) + 1px);top:50%;max-width:calc(100% - 15*var(--r) - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translate(-6px,-50%);font-size:max(var(--r),15px);font-weight:500;color:var(--navy);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .5s var(--ease)}
.pfc .pfc-is-pasted .pfc-demo-url{opacity:1;transform:translate(0,-50%)}
.pfc .pfc-is-pasted input::placeholder{opacity:0}
.pfc .pfc-demo-tip{position:absolute;left:calc(9.375*var(--r));top:calc(max(calc(.9375*var(--r)),14px)*1.5 + .75*var(--r) + (max(calc(4*var(--r)),56px) - 30px)/2);display:flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 10px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:700;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .4s ease-out;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.pfc .pfc-demo-tip .pfc-ic{width:14px;height:14px;stroke-width:2}
.pfc .pfc-demo-tip.pfc-is-on{opacity:1;transform:none}
.pfc .pfc-demo-cursor{position:absolute;left:0;top:0;width:34px;height:34px;opacity:0;pointer-events:none;transition:opacity .4s ease;will-change:transform}
.pfc .pfc-demo-cursor svg{width:100%;height:100%;transition:transform .08s ease-out}
.pfc .pfc-demo-cursor.pfc-is-click svg{transform:scale(.9)}
.pfc .pfc-trust-note{margin-top:calc(2*var(--r));display:flex;align-items:center;gap:8px;font-size:max(calc(.875*var(--r)),13px);line-height:1.5}
.pfc .pfc-trust-note .pfc-ic{width:18px;height:18px;color:var(--pink2);stroke-width:2.2}

/* hero visual: authored at 600×466 and scaled to its column */
.pfc .pfc-visual{position:relative;width:calc(37.5*var(--r));max-width:100%;aspect-ratio:600/466;justify-self:end}
.pfc .pfc-stage{position:absolute;left:0;top:0;width:600px;height:466px;transform-origin:0 0;transform:scale(var(--s,1));contain:layout style}
/* the demo is paused (hero off screen / tab hidden / loop finished): freeze anything still spinning */
.pfc .pfc-stage.pfc-is-paused *{animation-play-state:paused!important}
.pfc .pfc-blob{position:absolute;left:-20px;top:-30px;width:640px;height:520px;background:radial-gradient(closest-side,rgba(141,119,247,.34),rgba(141,119,247,.12) 55%,rgba(141,119,247,0));pointer-events:none}
.pfc .pfc-card{position:absolute;isolation:isolate;color:var(--navy);background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.88) 100%);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 48px rgba(20,14,48,.28),inset 0 1px 0 #fff;}
.pfc .pfc-card::before{content:"";position:absolute;z-index:-1;inset:0 0 auto 0;height:42%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));pointer-events:none}
.pfc .pfc-mcard{display:none} /* phones only, see the 640px block */
.pfc .pfc-product{left:32px;top:63px;width:240px;height:283px;border-radius:17px;padding:11px;transform:translateX(148px);transition:transform .9s cubic-bezier(.45,0,.25,1)}
.pfc .pfc-is-side .pfc-product{transform:none}
.pfc .pfc-product__img{position:relative;width:216px;height:258px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#FFC7DA,#DED6FC)}
.pfc .pfc-product__img img{width:100%;height:100%;object-fit:cover}
.pfc .pfc-beam{position:absolute;left:0;right:0;top:-76px;height:76px;opacity:0;background:linear-gradient(180deg,rgba(255,135,175,0),rgba(255,135,175,.22));border-bottom:3px solid rgba(255,135,175,.85)}
.pfc .pfc-is-scanning .pfc-beam{animation:pfc-beam 2.6s cubic-bezier(.45,0,.55,1) forwards}
@keyframes pfc-beam{0%{opacity:0;transform:translateY(0)}6%{opacity:1}92%{opacity:1}100%{opacity:0;transform:translateY(334px)}}
.pfc .pfc-scan{left:296px;top:116px;width:276px;border-radius:17px;padding:18px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .7s var(--ease)}
.pfc .pfc-scan.pfc-is-on{opacity:1;transform:none}
.pfc .pfc-scan.pfc-is-off{opacity:0;transform:scale(.98);transition:opacity .4s ease-in,transform .4s ease-in}
.pfc .pfc-scan__head{display:flex;align-items:center;gap:10px}
.pfc .pfc-ichip{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#FFD9E6,var(--pink3));box-shadow:inset 0 1px 0 rgba(255,255,255,.7);flex:none}
.pfc .pfc-spinner{width:17px;height:17px;border-radius:50%;border:2.4px solid #fff;border-top-color:var(--pink);border-right-color:var(--pink)}
.pfc .pfc-scan.pfc-is-on:not(.pfc-is-off) .pfc-spinner{animation:pfc-spin 1.4s linear infinite} /* stops once the card fades out */
@keyframes pfc-spin{to{transform:rotate(-360deg)}}
.pfc .pfc-scan__title{font-size:17px;font-weight:600}
.pfc .pfc-scan__msg{margin-top:11px;height:17px;font-size:12px;font-weight:500;color:var(--wg4);transition:opacity .25s ease}
.pfc .pfc-scan__msg.pfc-is-swap{opacity:0}
.pfc .pfc-track{margin-top:11px;height:6px;border-radius:3px;background:var(--cream);overflow:hidden}
.pfc .pfc-track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--pink2),var(--pink));transform:scaleX(0);transform-origin:0 50%;transition:transform 3.2s cubic-bezier(.45,0,.55,1)}
.pfc .pfc-scan.pfc-is-on .pfc-track i{transform:none}
.pfc .pfc-free-chip{position:absolute;left:296px;top:246px;display:flex;align-items:center;gap:8px;height:35px;padding:0 14px 0 8px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(20,14,48,.25);color:var(--wg5);font-size:16px;font-weight:500;opacity:0;transform:translateX(-8px);transition:opacity .5s ease,transform .7s var(--ease)}
.pfc .pfc-free-chip .pfc-ichip{width:22px;height:22px}
.pfc .pfc-free-chip .pfc-ic{width:12px;height:12px;stroke-width:3;color:var(--navy)}
.pfc .pfc-free-chip.pfc-is-on{opacity:1;transform:none}
.pfc .pfc-results{left:296px;top:40px;width:271px;border-radius:19px;padding:19px;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .6s ease,transform .9s var(--ease)}
.pfc .pfc-results.pfc-is-on{opacity:1;transform:none}
.pfc .pfc-results.pfc-is-off{opacity:0;transform:translateY(-6px);transition:opacity .6s ease-in,transform .6s ease-in}
.pfc .pfc-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--wg4);text-transform:uppercase}
.pfc .pfc-eyebrow--sm{margin-top:12px;font-size:10px}
.pfc .pfc-sprite{position:absolute;width:0;height:0;overflow:hidden}
.pfc .pfc-results__overall{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.pfc .pfc-results__label{font-size:13px;line-height:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.pfc .pfc-results__scale{margin-top:9px;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--wg4)}
.pfc .pfc-fair{display:block;font-size:24px;line-height:28px;font-weight:700;color:var(--pink);opacity:0;transform:translateY(4px);transition:opacity .8s ease-out,transform 1s var(--ease)}
.pfc .pfc-donut{position:relative;width:96px;height:96px}
.pfc .pfc-donut svg{width:96px;height:96px;transform:rotate(-90deg)}
.pfc .pfc-donut .pfc-arc{stroke-dasharray:0 100;transition:stroke-dasharray 1.7s var(--ease)}
.pfc .pfc-donut b{position:absolute;inset:0;display:grid;place-items:center;font-size:26px;font-weight:700}
.pfc .pfc-donut b.pfc-pop{animation:pfc-pop .5s ease-out}
@keyframes pfc-pop{from{transform:scale(1.06)}to{transform:none}}
.pfc .pfc-fixes{margin-top:12px;display:grid;gap:6px}
.pfc .pfc-fix{display:flex;align-items:center;gap:8px;height:38px;padding:0 7px;border-radius:10px;background:linear-gradient(180deg,#fff,var(--wg5));border:1px solid rgba(43,36,73,.05);box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(43,36,73,.04);font-size:13px;font-weight:500;opacity:0;transform:translateX(10px);transition:opacity .8s ease-out,transform 1s var(--ease)}
.pfc .pfc-fix span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#FFD9E6,var(--pink3));box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font-size:12px;font-weight:600;flex:none}
.pfc .pfc-results.pfc-is-done .pfc-fair,.pfc .pfc-results.pfc-is-done .pfc-fix{opacity:1;transform:none}
.pfc .pfc-results.pfc-is-done .pfc-fair{transition-delay:0s}
.pfc .pfc-results.pfc-is-done .pfc-fix:nth-child(1){transition-delay:.45s}
.pfc .pfc-results.pfc-is-done .pfc-fix:nth-child(2){transition-delay:.95s}
.pfc .pfc-results.pfc-is-done .pfc-fix:nth-child(3){transition-delay:1.45s}
.pfc .pfc-progress{position:absolute;left:32px;top:394px;width:536px;height:34px}
.pfc .pfc-progress__labels{position:relative;height:22px;font-size:15px;line-height:22px;font-weight:500}
.pfc .pfc-progress__labels span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transition:opacity .45s ease}
.pfc .pfc-progress__labels span.pfc-is-on{opacity:1}
.pfc .pfc-progress__steps{position:absolute;right:0;top:9px;display:flex;gap:8px}
.pfc .pfc-progress__steps i{width:24px;height:4px;border-radius:2px;background:var(--pink2);opacity:.3;transition:opacity .45s ease}
.pfc .pfc-progress__steps i.pfc-is-on{opacity:1}
.pfc .pfc-progress__track{position:absolute;left:0;top:32px;width:100%;height:2px;border-radius:1px;background:rgba(255,255,255,.15)}
.pfc .pfc-progress__track i{display:block;height:100%;border-radius:1px;background:var(--pink2);transform:scaleX(0);transform-origin:0 50%;transition:transform 3s cubic-bezier(.45,0,.55,1)}
.pfc .pfc-caption{position:absolute;left:32px;top:446px;width:536px;font-size:14px;line-height:20px;font-weight:500;color:rgba(255,255,255,.6)}

/* ---------- waves ---------- */
.pfc .pfc-wave{display:block;width:100%;height:calc(8.75*var(--r))}
.pfc .pfc-wave--hero{background:#fff;margin-top:-1px}
.pfc .pfc-wave--arc{background:linear-gradient(180deg,#fff 0 40%,var(--navy) 40%);height:calc(9.25*var(--r));margin-top:-1px;margin-bottom:-1px;position:relative}
.pfc .pfc-wave--swell{background:var(--purple4)}

/* ---------- section type (GEMA scale) ---------- */
.pfc .pfc-h2{font-size:calc(3.25*var(--r));line-height:calc(3.5*var(--r));font-weight:600;letter-spacing:-.015em}
.pfc .pfc-lead{max-width:calc(55*var(--r));margin:calc(1.5*var(--r)) auto 0;font-size:max(calc(1.125*var(--r)),14px);line-height:max(calc(1.75*var(--r)),22px)}

/* ---------- fits ---------- */
.pfc .pfc-fits{position:relative;isolation:isolate;overflow:hidden;margin-top:-1px;background:#fff;padding:calc(3.5*var(--r)) 0 calc(7.5*var(--r));text-align:center}
.pfc .pfc-fits::before{content:"";position:absolute;z-index:-1;left:50%;top:34%;width:calc(84*var(--r));height:calc(24*var(--r));transform:translateX(-50%);background:radial-gradient(closest-side,rgba(188,172,248,.32),rgba(188,172,248,0));pointer-events:none}
.pfc .pfc-fits .pfc-h2 .pfc-accent{display:block;color:var(--pink)}
.pfc .pfc-fits .pfc-lead{color:var(--wg4)}
.pfc .pfc-cards,.pfc .pfc-steps{margin-top:calc(3.5*var(--r));display:grid;grid-template-columns:repeat(4,1fr);gap:calc(3.5*var(--r));text-align:left;list-style:none}
.pfc .pfc-fcard{position:relative;display:flex;flex-direction:column;padding:calc(1.75*var(--r));border-radius:calc(1.25*var(--r));background:linear-gradient(180deg,#fff 0%,#FBFAFF 100%);border:1px solid rgba(43,36,73,.07);box-shadow:0 18px 40px rgba(43,36,73,.08),inset 0 1px 0 #fff;transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease}
.pfc .pfc-fcard:hover{transform:translateY(-4px);border-color:rgba(252,68,130,.22);box-shadow:0 26px 52px rgba(43,36,73,.12),inset 0 1px 0 #fff}
.pfc .pfc-fcard__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(180deg,#F6F3FF,#E9E3FE);border:1px solid rgba(43,36,73,.06);box-shadow:inset 0 1px 0 #fff}
.pfc .pfc-fcard__ic .pfc-ic{width:22px;height:22px;color:var(--navy);stroke-width:1.75}
/* fine dashed line across each gap at the cards' vertical centre; dashes drift slowly left → right */
.pfc .pfc-fcard + .pfc-fcard::before,.pfc .pfc-step + .pfc-step::before{content:"";position:absolute;left:calc(-3.5*var(--r));top:50%;width:calc(3.5*var(--r));height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,var(--dash) 0 6px,transparent 6px 12px);background-size:12px 2px;animation:pfc-dash 1.6s linear infinite;pointer-events:none}
.pfc .pfc-fcard{--dash:rgba(252,68,130,.55)}
.pfc .pfc-step{--dash:rgba(255,135,175,.6)}
@keyframes pfc-dash{to{background-position:12px 0}}
@keyframes pfc-dashV{to{background-position:0 8px}}
.pfc .pfc-fcard h3,.pfc .pfc-step h3{margin-top:calc(1.5*var(--r));font-size:max(calc(1.25*var(--r)),17px);line-height:1.4;font-weight:700}
.pfc .pfc-fcard p,.pfc .pfc-step p{margin-top:calc(.875*var(--r));font-size:max(var(--r),15px);line-height:1.625;color:var(--wg4)}

/* ---------- how it works ---------- */
.pfc .pfc-how{position:relative;overflow:hidden;isolation:isolate;margin-bottom:-1px;background:var(--navy);color:#fff;padding:calc(2.5*var(--r)) 0 calc(7.5*var(--r));text-align:center}
.pfc .pfc-how .pfc-h2 span{display:block;color:var(--purple3)}
.pfc .pfc-how .pfc-lead{color:var(--purple4)}
.pfc .pfc-how::before{content:"";position:absolute;z-index:-1;left:50%;bottom:4%;width:calc(80*var(--r));height:calc(26*var(--r));transform:translateX(-50%);background:radial-gradient(closest-side,rgba(141,119,247,.28),rgba(141,119,247,0));pointer-events:none}
.pfc .pfc-step{position:relative;padding:calc(1.75*var(--r));border-radius:calc(1.25*var(--r));background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 56px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10);transition:transform .35s var(--ease),border-color .35s ease,background .35s ease}
.pfc .pfc-step:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04))}
.pfc .pfc-step__top{display:flex;align-items:center;gap:14px}
.pfc .pfc-step__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;flex:none;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.pfc .pfc-step__ic .pfc-ic{width:22px;height:22px;color:#fff;stroke-width:1.75}
.pfc .pfc-step__top small{font-size:max(calc(.8125*var(--r)),12px);line-height:1.5;font-weight:700;letter-spacing:.1em;color:var(--pink3);text-transform:uppercase}
.pfc .pfc-step h3{margin-top:calc(1.5*var(--r))}
.pfc .pfc-step p{margin-top:calc(.875*var(--r));color:var(--purple4)}

/* ---------- closing CTA ---------- */
.pfc .pfc-cta{position:relative;overflow:hidden;isolation:isolate;margin-top:-1px;background:var(--purple4);padding:calc(5*var(--r)) 0 calc(7.5*var(--r))}
.pfc .pfc-cta__glow{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.pfc .pfc-cta__glow--pink{right:6%;top:8%;width:calc(52*var(--r));height:calc(40*var(--r));background:radial-gradient(closest-side,rgba(141,119,247,.32),rgba(141,119,247,0))}
.pfc .pfc-cta__glow--purple{left:-10%;top:12%;width:calc(60*var(--r));height:calc(42*var(--r));background:radial-gradient(closest-side,rgba(141,119,247,.45),rgba(141,119,247,0))}
.pfc .pfc-cta__glow--cream{left:18%;bottom:-38%;width:calc(56*var(--r));height:calc(36*var(--r));background:radial-gradient(closest-side,rgba(255,255,255,.7),rgba(255,255,255,0))}
.pfc .pfc-cta .pfc-container{display:grid;grid-template-columns:minmax(0,calc(35*var(--r))) minmax(0,calc(42.5*var(--r)));justify-content:space-between;align-items:center;gap:calc(2.5*var(--r))}
.pfc .pfc-cta__sub{margin-top:calc(1.75*var(--r));max-width:calc(32.5*var(--r));font-size:max(calc(1.125*var(--r)),14px);line-height:max(calc(1.75*var(--r)),22px)}
.pfc .pfc-label{margin-top:calc(1.75*var(--r));font-size:max(calc(.8125*var(--r)),12px);line-height:1.25;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.pfc .pfc-checks{margin-top:calc(.875*var(--r));display:grid;gap:calc(.875*var(--r));list-style:none}
.pfc .pfc-checks li{display:flex;align-items:flex-start;gap:12px;font-size:max(var(--r),15px);line-height:1.5;font-weight:500}
.pfc .pfc-checks .pfc-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));border:1px solid rgba(255,255,255,.9);box-shadow:0 3px 8px rgba(43,36,73,.08);flex:none}
.pfc .pfc-checks .pfc-dot .pfc-ic{width:13px;height:13px;stroke-width:2.6;color:var(--navy)}
.pfc .pfc-chips{margin-top:calc(.875*var(--r));display:flex;flex-wrap:wrap;gap:12px;list-style:none}
.pfc .pfc-chips li{display:flex;align-items:center;gap:10px;height:calc(3*var(--r));padding:0 18px 0 8px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(43,36,73,.08);font-size:max(calc(.9375*var(--r)),14px);font-weight:600}
.pfc .pfc-chips .pfc-ring{display:grid;place-items:center;width:calc(2*var(--r));height:calc(2*var(--r));border-radius:50%;background:linear-gradient(135deg,var(--purple3),var(--purple2));color:#fff}
.pfc .pfc-chips .pfc-ring .pfc-ic{width:16px;height:16px;stroke-width:2}
.pfc .pfc-form-card{position:relative;overflow:hidden;padding:calc(3*var(--r)) calc(3*var(--r)) calc(2.75*var(--r));border-radius:calc(1.5*var(--r));background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.74));border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 56px rgba(43,36,73,.16),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}
.pfc .pfc-form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));pointer-events:none}
.pfc .pfc-form-card > *{position:relative}
.pfc .pfc-tag{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 14px 0 12px;border-radius:999px;background:var(--purple4);font-size:13px;font-weight:600}
.pfc .pfc-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--purple2)}
.pfc .pfc-form-card h3{margin-top:calc(1.5*var(--r));font-size:calc(2.25*var(--r));line-height:calc(2.625*var(--r));font-weight:600;letter-spacing:-.01em}
.pfc .pfc-form-card > p{margin-top:calc(.75*var(--r));font-size:max(var(--r),15px);line-height:1.5;opacity:.85}
.pfc .pfc-form-card .pfc-fit-form{margin-top:calc(1.5*var(--r));width:100%}
.pfc .pfc-form-card .pfc-fit-form__label{font-size:max(calc(.875*var(--r)),13px);font-weight:600;margin-bottom:calc(.75*var(--r))}
.pfc .pfc-trust-row{margin-top:calc(1.5*var(--r));display:flex;flex-wrap:wrap;gap:20px;list-style:none}
.pfc .pfc-trust-row li{display:flex;align-items:center;gap:6px;font-size:max(calc(.875*var(--r)),13px);line-height:1.4;font-weight:500}
.pfc .pfc-trust-row .pfc-ic{width:18px;height:18px;color:var(--navy);stroke-width:2.2}
.pfc .pfc-privacy{margin-top:calc(1.5*var(--r));font-size:12px;line-height:16px;opacity:.7}
.pfc .pfc-privacy a{text-decoration:underline}

/* ---------- footer ---------- */
.pfc .pfc-footer{background:var(--navy);color:#fff;padding:calc(4.5*var(--r)) 0 calc(3*var(--r))}
.pfc .pfc-footer__top{display:flex;align-items:center;gap:40px}
.pfc .pfc-footer__top img{height:calc(3.375*var(--r));width:auto}
.pfc .pfc-footer__note{flex:1;font-size:max(calc(.875*var(--r)),13px);line-height:1.4;font-style:italic;opacity:.85}
.pfc .pfc-footer__links{display:flex;gap:32px;list-style:none}
.pfc .pfc-footer__links a{font-size:max(calc(.9375*var(--r)),14px);text-decoration:underline;text-underline-offset:4px}
.pfc .pfc-footer__bottom{margin-top:calc(2*var(--r));padding-top:calc(1.5*var(--r));border-top:1px solid rgba(255,255,255,.15);font-size:13px;opacity:.75}

/* ---------- responsive (GEMA breakpoints: 1099 / 640 / 480) ---------- */
@media (max-width:1099px){
  .pfc{--r:16px}
  .pfc .pfc-hero{padding:calc(4.5*var(--r)) 0 calc(5*var(--r))}
  .pfc .pfc-hero .pfc-container,.pfc .pfc-cta .pfc-container{grid-template-columns:minmax(0,1fr);gap:calc(3.5*var(--r))}
  .pfc .pfc-h1{font-size:calc(3*var(--r));line-height:calc(3.25*var(--r));letter-spacing:-.96px}
  .pfc .pfc-h2{font-size:calc(2.375*var(--r));line-height:calc(2.75*var(--r))}
  .pfc .pfc-visual{justify-self:center}
  .pfc .pfc-cards,.pfc .pfc-steps{grid-template-columns:repeat(2,1fr);gap:24px}
  .pfc .pfc-fcard + .pfc-fcard::before,.pfc .pfc-step + .pfc-step::before{display:none}
  .pfc .pfc-step:hover,.pfc .pfc-fcard:hover{transform:none}
  .pfc .pfc-fcard,.pfc .pfc-step{min-height:0}
  .pfc .pfc-wave{height:calc(5*var(--r))}
  .pfc .pfc-how{padding:calc(2*var(--r)) 0 calc(5*var(--r))}
  .pfc .pfc-fits{padding-bottom:calc(5*var(--r))}
  .pfc .pfc-cta{padding:calc(4.5*var(--r)) 0 calc(5*var(--r))}
  .pfc .pfc-footer__top{flex-wrap:wrap}
  /* closing CTA on tablets/phones: headline → paragraph → what you'll get → form */
  .pfc .pfc-cta .pfc-container{gap:0}
  .pfc .pfc-cta__copy{display:contents}
  .pfc .pfc-cta .pfc-h2{order:1}
  .pfc .pfc-cta__sub{order:2}
  .pfc .pfc-cta__lists{order:3;margin-top:calc(1.75*var(--r))}
  .pfc .pfc-form-card{order:4;margin-top:calc(2*var(--r))}
  .pfc .pfc-form-card{-webkit-backdrop-filter:none;backdrop-filter:none} /* no glass blur on tablets and phones: cheaper scrolling */
}
/* tablet: hero stacks, so centre the copy and the form above the visual */
@media (min-width:641px) and (max-width:1099px){
  .pfc .pfc-hero__copy{display:flex;flex-direction:column;align-items:center;text-align:center}
  .pfc .pfc-h1{max-width:calc(40*var(--r))}
  .pfc .pfc-hero__sub{margin-inline:auto}
  .pfc .pfc-hero .pfc-fit-form{margin-inline:auto}
  .pfc .pfc-trust-note{justify-content:center}
  /* step label + progress line on top (as on phones), cards below, caption last: 600x421 */
  .pfc .pfc-visual{aspect-ratio:600/421}
  .pfc .pfc-stage{height:421px}
  .pfc .pfc-blob{top:-18px}
  .pfc .pfc-progress{top:0}
  .pfc .pfc-progress__steps{display:none}
  .pfc .pfc-results{top:52px}
  .pfc .pfc-product{top:75px} /* centred on the results card */
  .pfc .pfc-scan{top:128px}
  .pfc .pfc-free-chip{top:258px}
  .pfc .pfc-caption{top:401px}
}
@media (max-width:640px){
  .pfc{--gutter:16px}
  .pfc .pfc-nav .pfc-container{gap:12px}
  .pfc .pfc-btn--lilac{height:40px;padding:0 14px;font-size:13px}
  .pfc .pfc-nav__logo img{height:34px}
  .pfc .pfc-hero__sub{font-size:16px;line-height:26px}
  .pfc .pfc-scan-bar{height:56px;padding-left:18px}
  .pfc .pfc-scan-bar .pfc-btn--pink{height:44px;padding:0 16px;font-size:15px}
  .pfc .pfc-demo-url{left:19px;font-size:14px;max-width:calc(100% - 200px)}
  .pfc .pfc-cards,.pfc .pfc-steps{grid-template-columns:1fr}
  /* steps as a compact vertical timeline: icon left, text right, dashed line linking the icons */
  .pfc .pfc-steps{gap:14px;margin-top:28px}
  .pfc .pfc-step{display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start;padding:18px 18px 20px;border-radius:16px}
  .pfc .pfc-step__top{display:contents}
  .pfc .pfc-step__ic{grid-column:1;grid-row:1 / span 3;width:44px;height:44px}
  .pfc .pfc-step__top small{grid-column:2;grid-row:1;align-self:center;line-height:20px}
  .pfc .pfc-step h3{grid-column:2;grid-row:2;margin-top:2px;font-size:17px;line-height:1.35}
  .pfc .pfc-step p{grid-column:2;grid-row:3;margin-top:6px;font-size:15px;line-height:1.55}
  .pfc .pfc-step + .pfc-step::before{display:block;left:39px;top:-15px;width:2px;height:16px;margin-top:0;background:repeating-linear-gradient(180deg,var(--dash) 0 4px,transparent 4px 8px);background-size:2px 8px;animation:pfc-dashV 1.6s linear infinite}
  .pfc .pfc-wave{height:calc(3*var(--r))}
  .pfc .pfc-fits{padding:calc(2.5*var(--r)) 0 calc(4*var(--r))}
  .pfc .pfc-how{padding:calc(1.5*var(--r)) 0 calc(4*var(--r))}
  .pfc .pfc-cta{padding:calc(3.5*var(--r)) 0 calc(4*var(--r))}
  .pfc .pfc-form-card{padding:28px 20px}
  .pfc .pfc-cta__sub{font-size:16px;line-height:26px;margin-top:16px}
  .pfc .pfc-cta .pfc-label{margin-top:24px}
  .pfc .pfc-cta__lists .pfc-label:first-child{margin-top:0}
  .pfc .pfc-checks{gap:10px}
  .pfc .pfc-checks li{font-size:15px;line-height:1.45;gap:10px}
  .pfc .pfc-checks .pfc-dot{width:22px;height:22px;margin-top:1px}
  .pfc .pfc-chips{gap:8px}
  .pfc .pfc-chips li{height:40px;padding:0 14px 0 6px;gap:8px;font-size:14px}
  .pfc .pfc-chips .pfc-ring{width:28px;height:28px}
  .pfc .pfc-chips .pfc-ring .pfc-ic{width:14px;height:14px}
  .pfc .pfc-form-card h3{font-size:28px;line-height:34px}
  .pfc .pfc-form-card .pfc-scan-bar{padding-left:16px}
  .pfc .pfc-form-card .pfc-scan-bar input{font-size:14px}
  .pfc .pfc-form-card .pfc-scan-bar .pfc-btn--pink{padding:0 14px;font-size:15px}
  .pfc .pfc-footer__links{flex-wrap:wrap;gap:16px 24px}

  /* phones: the URL bar, product photo and result share one card (360x368, scaled ~0.95).
     The photo stays big while the scan runs, then shrinks to a thumbnail beside the score;
     the scan card and "Free" chip are replaced by the bar's own scan row */
  .pfc .pfc-visual{width:100%;aspect-ratio:360/368}
  .pfc .pfc-stage{width:360px;height:368px}
  .pfc .pfc-blob{left:-140px;top:-10px;height:420px} /* kept inside the hero so its glow is not cut off at the wave */
  .pfc .pfc-progress{left:0;top:0;width:360px}
  .pfc .pfc-progress__steps{display:none} /* the longer step label needs the full width; the track still shows progress */
  .pfc .pfc-caption{left:0;top:328px;width:360px}
  .pfc .pfc-scan,.pfc .pfc-free-chip{display:none}
  .pfc .pfc-mcard{display:block;left:0;top:52px;width:360px;height:262px;border-radius:18px}
  .pfc .pfc-mbar{position:absolute;left:14px;top:14px;width:332px;height:36px;border-radius:10px;background:#F4F0EC;overflow:hidden;font-size:13px;font-weight:500}
  .pfc .pfc-mbar__url,.pfc .pfc-mbar__scan{position:absolute;inset:0 12px;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;transition:opacity .4s ease}
  .pfc .pfc-mbar .pfc-ic{width:16px;height:16px;stroke-width:2;color:var(--wg4)}
  .pfc .pfc-mbar__ph{color:var(--wg4)}
  .pfc .pfc-mbar.pfc-has-url .pfc-mbar__ph{display:none}
  .pfc .pfc-mbar__val{overflow:hidden;text-overflow:ellipsis}
  .pfc .pfc-mbar__scan{opacity:0;font-size:12px;color:var(--wg4)}
  .pfc .pfc-mbar__scan .pfc-spinner{width:13px;height:13px;flex:none}
  .pfc .pfc-mbar__msg{transition:opacity .25s ease}
  .pfc .pfc-mbar__msg.pfc-is-swap{opacity:0}
  .pfc .pfc-is-scanning:not(.pfc-is-res) .pfc-mbar__url{opacity:0}
  .pfc .pfc-is-scanning:not(.pfc-is-res) .pfc-mbar__scan{opacity:1}
  .pfc .pfc-is-scanning:not(.pfc-is-res) .pfc-mbar__scan .pfc-spinner{animation:pfc-spin 1.4s linear infinite}
  .pfc .pfc-mbar__track{position:absolute;left:0;bottom:0;width:100%;height:2px;background:linear-gradient(90deg,var(--pink2),var(--pink));transform:scaleX(0);transform-origin:0 50%;transition:transform 3.2s cubic-bezier(.45,0,.55,1),opacity .4s ease}
  .pfc .pfc-is-scanning .pfc-mbar__track{transform:none}
  .pfc .pfc-is-res .pfc-mbar__track{opacity:0}
  .pfc .pfc-product,.pfc .pfc-is-side .pfc-product{left:14px;top:112px;width:332px;height:188px;padding:0;border:0;border-radius:12px;background:none;box-shadow:none;overflow:hidden;transform:none;transition:width .9s cubic-bezier(.45,0,.25,1),height .9s cubic-bezier(.45,0,.25,1),border-radius .9s ease}
  .pfc .pfc-product::before{display:none}
  .pfc .pfc-product__img{width:100%;height:100%;border-radius:inherit}
  .pfc .pfc-product__img img{object-position:50% 18%}
  .pfc .pfc-is-res .pfc-product{width:64px;height:76px;border-radius:10px}
  .pfc .pfc-results{left:14px;top:112px;width:332px;padding:0 0 0 78px;border:0;border-radius:0;background:none;box-shadow:none}
  .pfc .pfc-results::before{display:none}
  .pfc .pfc-results.pfc-is-on{transition-delay:.5s} /* wait for the photo to shrink out of the way */
  .pfc .pfc-results .pfc-eyebrow{font-size:10px}
  .pfc .pfc-results__overall{margin-top:3px}
  .pfc .pfc-results__label{font-size:13px;line-height:16px;letter-spacing:0;text-transform:none}
  .pfc .pfc-results__label br{display:none}
  .pfc .pfc-results__scale,.pfc .pfc-results .pfc-eyebrow--sm{display:none}
  .pfc .pfc-fair{margin-top:2px;font-size:20px;line-height:24px}
  .pfc .pfc-donut,.pfc .pfc-donut svg{width:60px;height:60px}
  .pfc .pfc-donut b{font-size:16px}
  .pfc .pfc-fixes{margin:14px 0 0 -78px;gap:5px}
  .pfc .pfc-fix{height:30px;padding:0 6px;border-radius:9px;font-size:12.5px}
  .pfc .pfc-fix span{width:20px;height:20px;font-size:11px}
}
@media (max-width:480px){
  .pfc .pfc-scan-bar .pfc-btn--pink .pfc-ic{display:none}
  .pfc .pfc-h1{font-size:calc(2.5*var(--r));line-height:calc(2.75*var(--r))}
  .pfc .pfc-h2{font-size:calc(2*var(--r));line-height:calc(2.375*var(--r))}
}
@media (prefers-reduced-motion:reduce){ .pfc *,.pfc *::before,.pfc *::after{transition:none!important;animation:none!important} }

/* ---- performance ---- */
/* the drifting dashed lines only animate while their section is on screen */
.pfc .pfc-fits:not(.pfc-inview) .pfc-fcard::before,.pfc .pfc-how:not(.pfc-inview) .pfc-step::before{animation-play-state:paused}

/* add class "pfc--no-sticky" to the wrapper if the theme already has a sticky header */
.pfc.pfc--no-sticky .pfc-nav{position:relative;top:auto}
a.pfc-btn{text-decoration:none}
/* "wrong kind of link" warning under the URL fields + disabled submit (js/pfc.js, js/pfc-url-check.js) */
.pfc .pfc-url-warn{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 16px;border-radius:14px;font-size:max(calc(.875*var(--r)),14px);line-height:1.45;font-weight:500;background:#FFF0F5;color:var(--navy);border:1px solid var(--pink2);box-shadow:0 6px 18px rgba(20,14,48,.12)}
.pfc .pfc-url-warn[hidden]{display:none}
.pfc .pfc-url-warn .pfc-ic{flex:none;width:20px;height:20px;margin-top:1px;color:var(--pink);stroke-width:2.2}
.pfc .pfc-scan-bar:has(input[aria-invalid="true"]){border-color:var(--pink)}
.pfc .pfc-scan-bar .pfc-btn--pink:disabled{background:var(--pink3);color:rgba(43,36,73,.55);cursor:not-allowed;filter:none;transform:none;box-shadow:none}
.pfc .pfc-scan-bar .pfc-btn--pink:disabled .pfc-ic{transform:none}
