/* PERKO public layer — design tokens from the 2026-09 mockup.
   One family (Inter), one accent (Perko blue). The hero report mockup is the
   only loud element; everything else stays quiet. */

:root{--blue:#2F6BF2; --blue-deep:#1E4FD8; --blue-soft:#E9EFFF; --blue-tint:#F3F6FF;
  --navy:#0B1B4B; --ink:#111A33; --body:#3B4763; --muted:#6B7690; --line:#E3E8F2;
  --mist:#F5F7FC; --white:#FFFFFF; --ok:#1B8A5A; --warn:#B45309;
  --r-sm:8px; --r:14px; --r-lg:22px;
  --shadow-card:0 1px 2px rgba(11,27,75,.06), 0 18px 48px rgba(11,27,75,.10);
  --maxw:1080px; --nav-h:66px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}

*{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body.pk{margin:0;font-family:var(--font);color:var(--body);background:var(--white);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}

.pk h1,.pk h2,.pk h3{color:var(--ink);letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em;font-weight:800}

.pk h1{font-size:clamp(38px,6vw,60px);line-height:1.05}

.pk h2{font-size:clamp(28px,3.6vw,38px)}

.pk h3{font-size:20px;font-weight:700;letter-spacing:-.01em}

.pk p{margin:0 0 1em}

.pk a{color:var(--blue);text-decoration:none}

.pk a:hover{text-decoration:underline}

.pk :focus-visible{outline:3px solid #9DB8FF;outline-offset:2px;border-radius:6px}

.pk .pk-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

.pk .pk-narrow{max-width:760px}

.pk .pk-lede{font-size:19px;color:var(--muted);max-width:640px;margin:0 auto 28px}

.pk .pk-center{text-align:center}

.pk .pk-center .pk-lede{margin-left:auto;margin-right:auto}

.pk .pk-muted{color:var(--muted)}

.pk .pk-small{font-size:14px}

.pk .pk-num{font-variant-numeric:tabular-nums}

/* buttons */

.pk .pk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;font-weight:600;font-size:16px;line-height:1;border:1px solid transparent;cursor:pointer;text-decoration:none!important;transition:background .15s,border-color .15s,box-shadow .15s}

.pk .pk-btn-primary{background:var(--blue);color:#fff}

.pk .pk-btn-primary:hover{background:var(--blue-deep)}

.pk .pk-btn-ghost{background:transparent;color:var(--blue);padding-left:8px;padding-right:8px}

.pk .pk-btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}

.pk .pk-btn-outline:hover{border-color:#C9D3E6}

.pk .pk-btn-white{background:#fff;color:var(--blue)}

.pk .pk-btn-white:hover{background:#EEF3FF}

.pk .pk-btn-sm{padding:9px 14px;font-size:14px;border-radius:8px}

/* nav */

.pk .pk-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}

.pk .pk-nav .pk-wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:16px}

.pk .pk-logo{display:inline-flex;align-items:center;gap:8px;color:var(--navy);text-decoration:none!important}

.pk .pk-logo svg{display:block;height:26px;width:auto}

.pk .pk-navlinks{display:flex;align-items:center;gap:22px;font-size:15px;font-weight:500}

.pk .pk-navlinks a{color:var(--body)}

.pk .pk-navlinks a:hover{color:var(--ink);text-decoration:none}

.pk .pk-navlinks .pk-btn{color:#fff}

.pk .pk-navlinks .pk-nav-secondary{display:contents}

@media (max-width:720px){
.pk .pk-navlinks .pk-nav-secondary{display:none}
}

/* disclosure bar (above the fold on any page with card links) */

.pk .pk-disclosure{background:var(--blue-tint);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--body)}

.pk .pk-disclosure .pk-wrap{padding-top:8px;padding-bottom:8px}

/* hero */

.pk .pk-hero{position:relative;overflow:hidden;background:var(--mist);padding:72px 0 40px;text-align:center}

.pk .pk-hero .pk-wrap{position:relative;z-index:1}

.pk .pk-hero h1{margin:0 auto 18px;max-width:20ch}

.pk .pk-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}

.pk .pk-waves{position:absolute;inset:0;z-index:0;pointer-events:none}

.pk .pk-waves svg{position:absolute;width:640px;height:auto;opacity:.55}

.pk .pk-waves .w1{left:-260px;bottom:-80px}

.pk .pk-waves .w2{right:-280px;top:-40px;transform:rotate(180deg)}

/* report mockup (the one loud element) */

.pk .pk-mock{max-width:880px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);text-align:left;display:grid;grid-template-columns:184px 1fr;overflow:hidden}

.pk .pk-mock-side{background:#FAFBFE;border-right:1px solid var(--line);padding:22px 16px}

.pk .pk-mock-side .pk-logo svg{height:20px}

.pk .pk-mock-side ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:4px}

.pk .pk-mock-side li{padding:8px 10px;border-radius:8px;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:9px}

.pk .pk-mock-side li.on{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}

.pk .pk-mock-side li i{width:8px;height:8px;border-radius:2px;background:currentColor;opacity:.7;display:inline-block}

.pk .pk-mock-main{padding:22px 24px 24px}

.pk .pk-mock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}

.pk .pk-mock-head strong{font-size:16px;color:var(--ink)}

.pk .pk-mock-head span{display:block;font-size:12.5px;color:var(--muted)}

.pk .pk-chips{display:flex;gap:6px;flex-wrap:wrap}

.pk .pk-chip{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#fff}

.pk .pk-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}

.pk .pk-finalists{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-bottom:14px}

.pk .pk-fin{border-radius:var(--r);padding:16px 18px;border:1px solid var(--line);background:#fff}

.pk .pk-fin.lead{background:var(--blue);border-color:var(--blue);color:#fff}

.pk .pk-fin .k{font-size:12px;font-weight:600;letter-spacing:.01em;opacity:.85;margin-bottom:6px}

.pk .pk-fin .n{font-size:15px;font-weight:700;line-height:1.25;margin-bottom:10px}

.pk .pk-fin.lead .n{color:#fff}
.pk .pk-fin .n{color:var(--ink)}

.pk .pk-fin .v{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-bottom:6px;font-variant-numeric:tabular-nums}

.pk .pk-fin .d{font-size:12.5px;opacity:.9;line-height:1.4}

.pk .pk-fin:not(.lead) .v{color:var(--ink);font-size:16px;font-weight:700}

.pk .pk-fin:not(.lead) .d{color:var(--muted)}

.pk .pk-mock-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.pk .pk-mock-box{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}

.pk .pk-mock-box .t{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:10px}

.pk .pk-bars{display:grid;gap:7px}

.pk .pk-bar{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px;font-size:12px;color:var(--muted)}

.pk .pk-bar b{display:block;height:8px;border-radius:4px;background:var(--blue-soft);position:relative;overflow:hidden}

.pk .pk-bar b i{position:absolute;left:0;top:0;bottom:0;background:var(--blue);border-radius:4px}

.pk .pk-seq{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:12.5px;color:var(--body)}

.pk .pk-seq li{display:flex;gap:9px;align-items:flex-start}

.pk .pk-seq li em{font-style:normal;flex:0 0 18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}

.pk .pk-seq li.wait em{background:#fff;color:var(--muted);border:1px dashed #B8C4DB}

.pk .pk-mock-note{margin:26px auto 0;font-size:13px;color:var(--muted);max-width:640px}

@media (max-width:720px){
.pk .pk-mock{grid-template-columns:1fr}
.pk .pk-mock-side{display:none}
.pk .pk-finalists,.pk .pk-mock-row{grid-template-columns:1fr}
}

/* sections */

.pk .pk-section{padding:72px 0}

.pk .pk-section.mist{background:var(--mist)}

.pk .pk-section h2{margin-bottom:12px}

.pk .pk-section .pk-lede{margin-bottom:40px}

.pk .pk-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0}

.pk .pk-trio > div{padding:8px 28px;border-left:1px solid var(--line);text-align:center}

.pk .pk-trio > div:first-child{border-left:0}

.pk .pk-trio svg{width:44px;height:44px;color:var(--blue);margin-bottom:12px}

.pk .pk-trio h3{font-size:17px;margin-bottom:6px}

.pk .pk-trio p{font-size:15px;color:var(--muted);margin:0;max-width:30ch;margin-inline:auto}

@media (max-width:720px){
.pk .pk-trio{grid-template-columns:1fr;gap:28px}
.pk .pk-trio > div{border-left:0;padding:0}
}

/* how it works — a real sequence, hence the numbers */

.pk .pk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:step;position:relative}

.pk .pk-steps::before{content:"";position:absolute;left:16.6%;right:16.6%;top:16px;border-top:2px dotted #B8C9F5}

.pk .pk-steps li{text-align:center;position:relative;padding-top:0}

.pk .pk-steps li::before{counter-increment:step;content:counter(step);display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;align-items:center;justify-content:center;margin-bottom:14px;position:relative;z-index:1;box-shadow:0 0 0 6px var(--mist)}

.pk .pk-steps h3{font-size:17px;margin-bottom:6px}

.pk .pk-steps p{font-size:15px;color:var(--muted);margin:0;max-width:32ch;margin-inline:auto}

@media (max-width:720px){
.pk .pk-steps{grid-template-columns:1fr}
.pk .pk-steps::before{display:none}
}

/* facts — every number here is computed live or is a policy we run */

.pk .pk-facts{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}

.pk .pk-facts > div{padding:12px 20px;border-left:1px solid var(--line)}

.pk .pk-facts > div:first-child{border-left:0}

.pk .pk-facts strong{display:block;font-size:40px;font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}

.pk .pk-facts span{color:var(--muted);font-size:15px}

@media (max-width:720px){
.pk .pk-facts{grid-template-columns:1fr;gap:22px}
.pk .pk-facts > div{border-left:0}
}

/* two doors */

.pk .pk-doors{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.pk .pk-door{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}

.pk .pk-door.accent{border-color:#C9D8FF;background:linear-gradient(180deg,#F7F9FF,#fff)}

.pk .pk-door .price{font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:4px 0 2px}

.pk .pk-door .price small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}

.pk .pk-door ul{padding-left:18px;margin:14px 0 20px;color:var(--body);font-size:15.5px}

.pk .pk-door li{margin-bottom:6px}

@media (max-width:720px){
.pk .pk-doors{grid-template-columns:1fr}
}

/* integrity block */

.pk .pk-integrity{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.pk .pk-integrity > div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}

.pk .pk-integrity h3{font-size:16px;margin-bottom:6px}

.pk .pk-integrity p{font-size:15px;color:var(--muted);margin:0}

@media (max-width:720px){
.pk .pk-integrity{grid-template-columns:1fr}
}

/* CTA band */

.pk .pk-band{position:relative;overflow:hidden;background:linear-gradient(135deg,#2F6BF2 0%,#1E4FD8 60%,#1A44BE 100%);color:#fff;text-align:center;padding:72px 0}

.pk .pk-band h2{color:#fff}

.pk .pk-band p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 24px}

.pk .pk-band .pk-waves svg{opacity:.28}

.pk .pk-band .pk-wrap{position:relative;z-index:1}

/* footer */

.pk .pk-footer{background:var(--navy);color:#B9C4E4;padding:44px 0 28px;font-size:14px}

.pk .pk-footer .pk-logo{color:#fff}

.pk .pk-footer .row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

.pk .pk-footer nav{display:flex;gap:20px;flex-wrap:wrap}

.pk .pk-footer a{color:#D5DDF5}

.pk .pk-footer .legal{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#8F9CC7}

/* content pages */

.pk .pk-page{padding:56px 0 72px}

.pk .pk-page h1{font-size:clamp(32px,4.5vw,44px);margin-bottom:8px}

.pk .pk-page .pk-lede{margin-left:0;margin-bottom:32px}

.pk .pk-prose{max-width:720px;font-size:17px}

.pk .pk-prose h2{font-size:24px;margin-top:40px}

.pk .pk-prose h3{margin-top:26px}

.pk .pk-prose ul,.pk .pk-prose ol{padding-left:22px}

.pk .pk-prose li{margin-bottom:8px}

.pk .pk-callout{background:var(--blue-tint);border:1px solid #D6E0FA;border-radius:var(--r);padding:18px 20px;margin:24px 0}

.pk .pk-callout.warn{background:#FFF8EB;border-color:#F3DFAF}

.pk .pk-kv{display:grid;grid-template-columns:180px 1fr;gap:10px 18px;margin:18px 0 26px;font-size:16px}

.pk .pk-kv dt{color:var(--muted);margin:0}

.pk .pk-kv dd{margin:0;color:var(--ink)}

@media (max-width:600px){
.pk .pk-kv{grid-template-columns:1fr;gap:2px 0}
.pk .pk-kv dt{margin-top:10px}
}

/* card pages (data-first, text only, no card art) */

.pk .pk-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px}

.pk .pk-verified{font-size:14px;color:var(--muted)}

.pk .pk-verified.fresh{color:var(--ok)}

.pk .pk-cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}

.pk .pk-cardgrid > div{border:1px solid var(--line);border-radius:var(--r);padding:16px}

.pk .pk-cardgrid span{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}

.pk .pk-cardgrid strong{font-size:20px;color:var(--ink);font-weight:700}

@media (max-width:720px){
.pk .pk-cardgrid{grid-template-columns:1fr}
}

.pk .pk-offer{border:1px solid #C9D8FF;background:var(--blue-tint);border-radius:var(--r);padding:20px 22px;margin:8px 0 24px}

.pk .pk-offer.stale{background:var(--mist);border-color:var(--line)}

.pk .pk-offer h2{font-size:20px;margin:0 0 8px}

.pk .pk-offer .big{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.02em}

.pk .pk-terms{font-size:13.5px;color:var(--muted);margin-top:10px}

.pk .pk-cardlist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}

.pk .pk-cardlist li{display:grid;grid-template-columns:1fr 120px 200px 150px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}

.pk .pk-cardlist li > span{color:var(--muted)}

.pk .pk-cardlist li a{font-weight:600;color:var(--ink)}

.pk .pk-cardlist .head{font-size:13px;color:var(--muted);font-weight:500;padding:8px 0}

@media (max-width:720px){
.pk .pk-cardlist li{grid-template-columns:1fr 1fr}
.pk .pk-cardlist li > span:nth-child(3){display:none}
}

@media (prefers-reduced-motion:reduce){
.pk *{transition:none!important}
}

