/* HubSpot Maturity Model · RedPandas brand v1.1 · Direction D "Website band"
   Rules: containers sharp, only buttons rounded. CTA Red #E1241B on buttons only.
   BG Red #E5453C everywhere else. Backgrounds white / beige / charcoal only. */

@font-face{font-family:"Recoleta";src:url("fonts/Recoleta-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Glacial Indifference";src:url("fonts/GlacialIndifference-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Glacial Indifference";src:url("fonts/GlacialIndifference-Bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --rp-red:#E1241B; --rp-bg-red:#E5453C; --rp-charcoal:#222222; --rp-white:#FFFFFF;
  --rp-beige:#FCE9E8; --rp-pale-cyan:#B6FCFF;
  --rp-red-light:#FF5B5B; --rp-red-deep:#9E1A13; --rp-red-darkest:#71130E;
  --rp-grey-100:#E9E9E9; --rp-grey-300:#C8C8C8; --rp-grey-500:#919191; --rp-grey-700:#595959;
  --rp-success:#65BF22; --rp-warning:#FDB900; --rp-danger:#EF3B5F; --rp-info:#1D6EF3;
  --rp-font-heading:"Recoleta",Georgia,"Times New Roman",serif;
  --rp-font-body:"Glacial Indifference",Arial,Helvetica,sans-serif;
  --muted:var(--rp-grey-700);
  --m-in:140ms; --m-out:200ms; --m-press:90ms; --m-ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0}
body.rp{font-family:var(--rp-font-body);line-height:1.4;color:var(--rp-charcoal);background:var(--rp-beige);min-height:100vh;-webkit-font-smoothing:antialiased}
body.rp.pm{background:var(--rp-beige)}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0 0 .8em}
h1,h2,h3,h4{margin:0}
a{color:var(--rp-bg-red)}
a:hover{color:var(--rp-red-deep)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--rp-bg-red);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* ---------- type ---------- */
.eyebrow{font-weight:700;letter-spacing:.25em;text-transform:uppercase;font-size:.8125rem;color:var(--rp-bg-red)}
.h1{font-family:var(--rp-font-heading);font-size:clamp(1.9rem,4vw,2.7rem);line-height:1;margin:.5rem 0 1rem}
.h2{font-family:var(--rp-font-heading);font-size:clamp(1.4rem,2.6vw,1.8rem);line-height:1.05;margin:0 0 .8rem}
.lead{font-size:1.08rem;color:var(--muted);max-width:60ch;line-height:1.45}
.hint{font-size:.875rem;color:var(--muted)}
.muted{color:var(--muted)}

/* ---------- buttons (the only rounded things) ---------- */
.rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;font-family:var(--rp-font-body);font-weight:700;font-size:.82rem;
  border-radius:100px;padding:.85em 1.6em;border:2px solid transparent;cursor:pointer;text-decoration:none;line-height:1;white-space:nowrap;
  transition:transform var(--m-out) var(--m-ease),background-color var(--m-out),color var(--m-out),border-color var(--m-out)}
.rp-btn:hover{transform:translateY(-1px);transition-duration:var(--m-in)}
.rp-btn:active{transform:translateY(1px) scale(.985);transition-duration:var(--m-press)}
.rp-btn--primary{background:var(--rp-red);color:#fff;text-transform:uppercase;letter-spacing:.5em;padding:.95em 1.6em .95em 2.1em}
.rp-btn--primary:hover{background:var(--rp-red-deep);color:#fff}
.rp-btn--primary:disabled,.rp-btn--primary.is-inactive{background:var(--rp-grey-300);cursor:not-allowed;transform:none}
.rp-btn--secondary{background:transparent;color:var(--rp-charcoal);border-color:var(--rp-charcoal);letter-spacing:.06em}
.rp-btn--secondary:hover{background:var(--rp-charcoal);color:#fff}
.rp-btn--secondary:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rp-btn--inverse{background:transparent;color:#fff;border-color:#fff;letter-spacing:.06em}
.rp-btn--inverse:hover{background:#fff;color:var(--rp-charcoal)}
.rp-btn--ghost{background:transparent;border-color:transparent;color:var(--muted)}
.rp-btn--ghost:hover{color:var(--rp-charcoal)}
.rp-btn--small{min-height:36px;padding:.6em 1.1em;font-size:.8rem}
.linkbtn{background:none;border:none;color:var(--rp-bg-red);text-decoration:underline;cursor:pointer;padding:0}
.linkbtn:hover{color:var(--rp-red-deep)}

/* ---------- fields (sharp) ---------- */
.field{display:block;margin:1.1rem 0}
.field>span{display:block;font-weight:700;font-size:.875rem;margin-bottom:.4rem}
.input,select.input,textarea.input{width:100%;font-size:1rem;padding:.75em .9em;border:1px solid var(--rp-grey-300);border-radius:0;background:#fff;
  transition:box-shadow var(--m-in),border-color var(--m-in)}
.input:focus{outline:none;border-color:var(--rp-charcoal);box-shadow:0 0 0 3px rgba(229,69,60,.22)}
textarea.input{line-height:1.4;resize:vertical}
.error{background:#fff;border-left:4px solid var(--rp-danger);padding:10px 14px;margin:1rem 0;font-size:.95rem}
.actions{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-top:2rem;flex-wrap:wrap}

/* ---------- texture (brand grunge, 30% on charcoal, on top of everything) ---------- */
.tex{position:relative}
.tex::after{content:"";position:absolute;inset:0;background:url("img/texture.png") center/480px repeat;opacity:.3;pointer-events:none;z-index:2}

/* ---------- top bar + pill nav (from redpandas.com.au) ---------- */
.top{background:var(--rp-charcoal);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 24px;height:76px}
.top .logo{height:24px;display:block;position:relative;z-index:3}
.pillnav{display:flex;gap:4px;background:var(--rp-grey-700);border-radius:100px;padding:4px;position:absolute;left:50%;transform:translateX(-50%);z-index:3}
.pillnav>*{padding:.5rem 1.05rem;border-radius:100px;font-size:.875rem;color:#fff;white-space:nowrap;text-decoration:none;background:none;border:none;cursor:pointer}
.pillnav>a:hover{color:#fff;background:rgba(34,34,34,.45)}
.pillnav .on{background:var(--rp-charcoal)}
.who{font-size:.9rem;position:relative;z-index:3;display:flex;gap:.8rem;align-items:center}
.who .linkbtn{color:#fff;font-size:.85rem}

/* ---------- band ---------- */
.band{background:var(--rp-charcoal);color:#fff;text-align:center;padding:48px 24px 96px;overflow:hidden}
.band-in{position:relative;z-index:1;max-width:860px;margin:0 auto}
.band .eyebrow{color:var(--rp-beige)}
.band h1{font-family:var(--rp-font-heading);color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1;margin:.6rem auto .9rem;max-width:20ch}
.band p{opacity:.92;max-width:58ch;margin:0 auto;font-size:1.05rem;line-height:1.5}
.band-stk{position:absolute;left:max(24px,calc(50% - 560px));top:24px;width:120px;transform:rotate(-12deg);z-index:0}
.secpills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.spill{border:1px solid var(--rp-grey-500);border-radius:100px;padding:.4rem .9rem;font-size:.875rem;color:#fff;background:none;cursor:pointer}
.spill.done{background:var(--rp-grey-700);border-color:var(--rp-grey-700)}
.spill.cur{background:#fff;color:var(--rp-charcoal);border-color:#fff;font-weight:700;cursor:default}
.spill:disabled{cursor:default}

/* ---------- client body ---------- */
.cbody{position:relative;overflow-x:clip;padding:0 24px 72px}
.cbody>.wrap{position:relative;z-index:3;max-width:760px;margin:-56px auto 0}
.deco{position:absolute;z-index:1;pointer-events:none}
.deco-poly{width:280px;height:280px;right:max(-90px,calc(50% - 720px));top:180px;background:var(--rp-pale-cyan);transform:rotate(14deg);
  -webkit-mask:url("img/shape-01-irregular-polygon.svg") center/contain no-repeat;mask:url("img/shape-01-irregular-polygon.svg") center/contain no-repeat}
.deco-loop{width:150px;left:max(16px,calc(50% - 640px));bottom:80px;transform:rotate(-8deg)}
.card{background:#fff;border:1px solid var(--rp-charcoal);padding:32px}
.card+.card{margin-top:16px}

.client-chip{display:flex;align-items:center;gap:.75rem;padding:14px 16px;border:1px solid var(--rp-charcoal);margin-bottom:1rem}
.mono{width:40px;height:40px;background:var(--rp-charcoal);color:#fff;display:grid;place-items:center;font-family:var(--rp-font-heading);font-size:1.2rem;flex:none}
.client-chip small{display:block;color:var(--muted);font-size:.875rem}

/* name + role */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;margin:.6rem 0 1rem}
.person{border:1px solid var(--rp-grey-300);background:#fff;padding:.8rem .9rem;text-align:left;cursor:pointer;transition:transform 180ms var(--m-ease),border-color var(--m-out)}
.person:hover{transform:translateY(-2px);border-color:var(--rp-charcoal)}
.person small{display:block;color:var(--muted);font-size:.875rem}
.person.on{border-color:var(--rp-charcoal);box-shadow:inset 0 0 0 1px var(--rp-charcoal);background:var(--rp-pale-cyan)}
.person.new{border-style:dashed;color:var(--muted)}
.roles{display:flex;flex-wrap:wrap;gap:.5rem}
.role{border:1px solid var(--rp-grey-300);background:#fff;padding:.6rem 1.05rem;cursor:pointer;border-radius:100px;min-height:40px}
.role.on{background:var(--rp-charcoal);color:#fff;border-color:var(--rp-charcoal)}

/* section picker (calculator style) */
.selbar{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--muted)}
.secgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1rem 0}
.sec{position:relative;border:1px solid var(--rp-grey-300);background:#fff;padding:14px 52px 14px 48px;min-height:84px;cursor:pointer;text-align:left;
  transition:transform 180ms var(--m-ease),border-color var(--m-out)}
.sec:hover{transform:translateY(-2px);border-color:var(--rp-charcoal)}
.sec .num{position:absolute;left:14px;top:14px;font-family:var(--rp-font-heading);color:var(--rp-grey-500)}
.sec b{display:block;font-family:var(--rp-font-heading);font-size:1.08rem;line-height:1.15}
.sec small{display:block;color:var(--muted);margin-top:.35rem;font-size:.875rem;line-height:1.3}
.qtag{display:inline-grid;place-items:center;width:18px;height:18px;background:var(--rp-bg-red);color:#fff;font-style:normal;font-family:var(--rp-font-body);font-size:.75rem;font-weight:700;vertical-align:2px;margin-left:4px}
.tick{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:1.5px solid var(--rp-grey-500)}
.sec.on{border-color:var(--rp-charcoal);box-shadow:inset 0 0 0 1px var(--rp-charcoal)}
.sec.on .num{color:var(--rp-bg-red)}
.sec.on .tick{background:var(--rp-bg-red);border-color:var(--rp-bg-red)}
.sec.on .tick::after{content:"";position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* section page */
.confidence{border-left:4px solid var(--rp-bg-red);background:var(--rp-beige);padding:14px 18px;margin:1.2rem 0;font-size:1.02rem}
.confidence small{display:block;font-weight:700;letter-spacing:.25em;text-transform:uppercase;font-size:.8125rem;color:var(--rp-grey-700);margin-bottom:.3rem}
.criteria{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.criteria li{position:relative;padding-left:1.4rem;line-height:1.45}
.criteria li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--rp-bg-red)}
.rate{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rp-grey-100)}
.rate h3{font-size:1.02rem;font-weight:700;margin-bottom:.9rem}
.stars{display:flex;gap:4px;align-items:flex-end}
.star{background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;width:44px;position:relative}
.star svg{width:38px;height:38px;display:block;transition:transform var(--m-in) var(--m-ease)}
.star svg path{fill:var(--rp-grey-300);transition:fill var(--m-in)}
.star span{font-size:.8125rem;color:var(--muted);font-weight:700}
.star:hover svg{transform:translateY(-2px)}
.star.fill svg path{fill:var(--rp-bg-red)}
.star.zero svg{width:30px;height:30px;margin-bottom:4px}
.star.zero svg circle{fill:none;stroke:var(--rp-grey-300);stroke-width:3}
.star.zero.fill svg circle{stroke:var(--rp-bg-red);fill:var(--rp-bg-red)}
.star.locked{cursor:not-allowed}
.star.locked svg path{fill:var(--rp-grey-100)}
.star.locked svg{transform:none!important}
.star.locked::after{content:"";position:absolute;left:8px;right:8px;top:19px;height:2px;background:var(--rp-grey-500);transform:rotate(-35deg)}
.star.locked span{color:var(--rp-grey-300)}
.scale{display:flex;justify-content:space-between;max-width:528px;font-size:.8125rem;color:var(--muted);margin-top:.4rem;letter-spacing:.06em;text-transform:uppercase}
.tip{font-size:.875rem;color:var(--muted);margin-top:.8rem;display:flex;gap:.5rem;align-items:center}
.tip i{display:inline-grid;place-items:center;width:18px;height:18px;background:var(--rp-pale-cyan);border:1px solid var(--rp-charcoal);font-style:normal;font-size:.75rem;font-weight:700;flex:none}
.reason-saved{margin-top:1rem;padding:12px 14px;border:1px solid var(--rp-grey-300);font-size:.95rem}
.reason-saved b{display:block;font-size:.8125rem;letter-spacing:.25em;text-transform:uppercase;color:var(--rp-grey-700);margin-bottom:.2rem}
.saving{font-size:.8125rem;color:var(--muted);min-height:1.2em}

/* modal */
.modal{position:fixed;inset:0;background:rgba(34,34,34,.6);display:none;align-items:center;justify-content:center;z-index:80;padding:16px}
.modal.show{display:flex}
.dialog{background:#fff;max-width:540px;width:100%;padding:28px;box-shadow:4px 4px 0 0 var(--rp-beige);max-height:calc(100vh - 32px);overflow:auto}
.scorepill{display:inline-block;background:var(--rp-charcoal);color:#fff;font-family:var(--rp-font-heading);font-size:1.4rem;padding:.1em .5em;margin-bottom:.7rem}
.dialog h3{font-family:var(--rp-font-heading);font-size:1.5rem;line-height:1.05;margin-bottom:.4rem}
.dialog textarea{min-height:130px;margin-top:.8rem}
.count{font-size:.8125rem;color:var(--muted);margin-top:.3rem}

/* results */
.bigscore{display:flex;align-items:baseline;gap:.4rem;margin:.5rem 0 1.5rem;flex-wrap:wrap}
.bigscore strong{font-family:var(--rp-font-heading);font-size:clamp(4rem,10vw,6rem);line-height:.9;color:var(--rp-bg-red)}
.bigscore span{font-size:1.3rem;color:var(--muted)}
.mylist{display:grid;gap:.55rem;margin:1rem 0 2rem}
.myrow{display:grid;grid-template-columns:1fr 160px 36px;gap:.8rem;align-items:center;font-size:.95rem}
.bar{height:10px;background:var(--rp-grey-100);position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--rp-bg-red)}
.myrow b{text-align:right;font-family:var(--rp-font-heading)}
.explain{border:1px solid var(--rp-charcoal);padding:22px 24px;margin-top:1.5rem}
.explain h3{font-family:var(--rp-font-heading);font-size:1.25rem;margin-bottom:.6rem}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;font-size:.9rem}
.formula span{background:var(--rp-beige);border:1px solid var(--rp-charcoal);padding:.4rem .65rem}
.formula em{font-style:normal;font-family:var(--rp-font-heading);font-size:1.05rem}
.thanks{text-align:center;padding:40px 32px}
.thanks img{width:90px;margin:0 auto 1rem;display:block}

/* loader */
.loader{position:fixed;inset:0;z-index:95;background:var(--rp-charcoal);color:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.loader.show{display:flex}
.loader img{width:96px;height:96px;position:relative;z-index:3}
.loader p{position:relative;z-index:3;font-size:1.05rem}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--rp-charcoal);color:#fff;padding:12px 18px;z-index:99;font-size:.95rem;max-width:calc(100vw - 32px);box-shadow:4px 4px 0 0 var(--rp-beige);display:none}
.toast.show{display:block}

/* ================= PM ================= */
.pm .top nav.pillnav a.on{background:var(--rp-charcoal)}
.pbody{padding:32px 24px 72px}
.pwrap{max-width:1180px;margin:0 auto}
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.phead .h1{margin:.3rem 0 0}
.crumbs{font-size:.875rem;margin-bottom:.2rem}
.crumbs a{color:var(--muted)}
.btnrow{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.panel{background:#fff;border:1px solid var(--rp-charcoal)}
.panel-pad{padding:20px 22px}
.panel h4,.label{font-size:.8125rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rp-grey-700);font-weight:700;margin:0 0 .8rem}
.scroll-x{overflow-x:auto}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}
.stack{display:grid;gap:16px}

.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.tile{background:#fff;border:1px solid var(--rp-charcoal);padding:18px 20px}
.tile small{display:block;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.8125rem;color:var(--rp-grey-700)}
.tile strong{font-family:var(--rp-font-heading);font-size:2.2rem;line-height:1.1;display:block;margin-top:.3rem}
.tile strong em{font-style:normal;font-size:1rem;color:var(--rp-grey-500);font-family:var(--rp-font-body)}
.tile strong.small{font-size:1.25rem;line-height:1.2}
.delta{display:inline-block;font-size:.8125rem;font-weight:700;padding:.12rem .45rem;margin-top:.3rem;white-space:nowrap}
.delta.up{background:var(--rp-pale-cyan);color:var(--rp-charcoal)}
.delta.down{background:var(--rp-beige);color:var(--rp-red-deep)}
.delta.flat{background:var(--rp-grey-100);color:var(--rp-grey-700)}

table.list{width:100%;border-collapse:collapse;font-size:.95rem}
.list th{text-align:left;font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase;color:var(--rp-grey-700);padding:.8rem 1rem;border-bottom:1px solid var(--rp-grey-300);white-space:nowrap}
.list td{padding:1rem;border-bottom:1px solid var(--rp-grey-100);vertical-align:middle}
.list tr.link{cursor:pointer}
.list tr.link:hover td{background:var(--rp-beige)}
.list .name{font-family:var(--rp-font-heading);font-size:1.1rem}
.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:700}
.status i{width:9px;height:9px;border-radius:50%;display:inline-block}
.status.open i{background:var(--rp-success)}
.status.closed i{background:var(--rp-grey-500)}
.status.draft i{background:var(--rp-warning)}
.tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.1rem .4rem;background:var(--rp-pale-cyan);margin-left:.4rem;vertical-align:2px}
.invite{background:#fff;border:1px solid var(--rp-charcoal);padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.invite code,.code{font-family:var(--rp-font-body);background:var(--rp-beige);padding:.15rem .45rem;border:1px solid var(--rp-grey-300);word-break:break-all}
.irow{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-bottom:.55rem}
.irow .label{margin:0;min-width:140px}
.irow code{font-size:.95rem}
.secret{background:var(--rp-pale-cyan);border:1px solid var(--rp-charcoal);padding:14px 16px;margin:1rem 0}
.secret pre{white-space:pre-wrap;font-family:var(--rp-font-body);margin:.5rem 0 0;font-size:.95rem}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inline{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}
.inline .field{margin:0;flex:1;min-width:160px}
.people-list{display:flex;flex-wrap:wrap;gap:6px}
.people-list span{border:1px solid var(--rp-grey-300);padding:.3rem .6rem;font-size:.875rem;background:#fff}
.people-list small{color:var(--muted)}

/* journey */
.journey{display:grid;grid-template-columns:repeat(var(--n,3),1fr);position:relative}
.journey-line{position:absolute;top:11px;left:calc(50% / var(--n,3));right:calc(50% / var(--n,3));height:3px;background:var(--rp-grey-300)}
.journey-line i{display:block;height:100%;background:var(--rp-bg-red)}
.jr{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 6px;text-decoration:none;color:inherit}
a.jr:hover b{text-decoration:underline}
.dot{width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--rp-grey-300);position:relative;z-index:1}
.jr.done .dot{background:var(--rp-bg-red);border-color:var(--rp-bg-red)}
.jr.cur .dot{background:var(--rp-red-deep);border-color:var(--rp-red-deep);box-shadow:0 0 0 5px #fff,0 0 0 6px var(--rp-red-deep)}
.jr.next .dot{border-style:dashed}
.jr b{font-family:var(--rp-font-heading);font-size:1.05rem;margin-top:4px}
.jr.cur b{color:var(--rp-red-deep)}
.jr small{font-size:.8125rem;color:var(--rp-grey-700)}
.jv{display:flex;gap:14px;font-size:.92rem;margin-top:2px}
.jv strong{font-family:var(--rp-font-heading);font-size:1.25rem}

/* review grid */
.legend{display:flex;gap:1rem;font-size:.8125rem;color:var(--rp-grey-700);padding:10px 14px;border-bottom:1px solid var(--rp-grey-100);flex-wrap:wrap;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:.35rem}
.legend i{display:inline-block;width:14px;height:14px;border:1px solid var(--rp-grey-300)}
table.grid{width:100%;border-collapse:collapse;font-size:.9rem;min-width:900px}
.grid th,.grid td{padding:.6rem .55rem;border-bottom:1px solid var(--rp-grey-100);text-align:center;white-space:nowrap}
.grid th{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-grey-700);font-weight:700;background:#fff}
.grid th small{display:block;letter-spacing:0;text-transform:none;font-weight:400;color:var(--rp-grey-500);font-size:.8125rem}
.grid .secname{text-align:left;white-space:normal;min-width:220px}
.grid td.secname b{font-family:var(--rp-font-heading);color:var(--rp-bg-red);margin-right:.4rem}
.grid tr.row{cursor:pointer}
.grid tr.row:hover td{background:#faf6f6}
.grid tr.row.open td{background:var(--rp-beige)}
.grid tfoot td{font-weight:700;border-bottom:none}
.cell{display:inline-grid;place-items:center;width:30px;height:30px;font-weight:700;border:1px solid transparent;background:none;cursor:pointer;padding:0}
.cell:hover{border-color:var(--rp-charcoal)}
.cell.lo{background:var(--rp-beige)}
.cell.mid{background:#fff;border-color:var(--rp-grey-300)}
.cell.hi{background:var(--rp-pale-cyan)}
.cell.none{color:var(--rp-grey-300);cursor:default;border:none}
.avg{font-family:var(--rp-font-heading);font-size:1.05rem}
.flag{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .4rem;background:var(--rp-warning);color:var(--rp-charcoal);letter-spacing:.05em}
.rpsel{border:1px solid var(--rp-charcoal);padding:.3rem .4rem;background:#fff;font-weight:700;min-height:34px;border-radius:0}
.detail td{background:var(--rp-beige)!important;text-align:left;white-space:normal;padding:0}
.detail .inner{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:18px 20px 22px}
.quote{background:#fff;padding:10px 12px;margin-bottom:.5rem;font-size:.92rem;line-height:1.4}
.quote b{display:block;font-size:.8125rem}
.quote b span{font-weight:400;color:var(--rp-grey-700)}
.detail textarea{min-height:150px;font-size:.95rem}
.popover{position:fixed;z-index:90;background:var(--rp-charcoal);color:#fff;padding:12px 14px;max-width:320px;font-size:.9rem;line-height:1.4;box-shadow:4px 4px 0 0 var(--rp-beige)}
.popover b{display:block;font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase;color:var(--rp-pale-cyan);margin-bottom:.3rem}
.switch{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}
.switch input{width:18px;height:18px;accent-color:var(--rp-bg-red)}

/* login */
.login-card{max-width:440px;margin:-56px auto 0;position:relative;z-index:3}
.pulse-btn{width:100%;min-height:56px;font-size:.9rem}
.pulse-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#fff;margin-left:.15em}
.or{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.875rem;margin:1.4rem 0 1rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rp-grey-100)}
.who-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--rp-grey-700);border-radius:100px;padding:.3rem .8rem .3rem .35rem;font-size:.85rem}
.who-chip i{width:24px;height:24px;border-radius:50%;background:var(--rp-beige);color:var(--rp-charcoal);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.75rem}
.via{font-size:.75rem;opacity:.75}
.managed{background:#fff;border:1px solid var(--rp-charcoal);padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
.managed img{width:44px}
.rolepill{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;background:var(--rp-pale-cyan)}
@media (max-width:720px){.managed{grid-template-columns:1fr}}

/* ================= presentation ================= */
.deck{background:var(--rp-charcoal);min-height:100vh;padding:16px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:14px}
.deckbar{width:100%;max-width:1280px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:.9rem;gap:1rem;flex-wrap:wrap}
.slide{width:100%;max-width:1280px;aspect-ratio:16/9;background:#fff;position:relative;overflow:hidden;container-type:inline-size}
.deck:not(.print) .slide:not(.on){display:none}
.slide .pad{position:absolute;inset:0;padding:5cqw 6cqw}
.sl-eyebrow{font-weight:700;letter-spacing:.25em;text-transform:uppercase;font-size:1.1cqw;color:var(--rp-bg-red)}
.slide h2{font-family:var(--rp-font-heading);font-size:4.2cqw;line-height:1;margin:.8cqw 0 2cqw}
.slide .logo{position:absolute;right:4cqw;bottom:3.2cqw;height:2cqw}
.slide .pg{position:absolute;left:6cqw;bottom:3.4cqw;font-size:1cqw;color:var(--rp-grey-500);letter-spacing:.2em}
.s-title{background:var(--rp-beige)}
.s-title .pad{display:flex;flex-direction:column;justify-content:center;z-index:1}
.s-title h2{font-size:7cqw;max-width:14ch}
.s-title p{font-size:1.8cqw;color:var(--rp-grey-700);max-width:56%}
.s-title .stk{position:absolute;right:8cqw;top:7cqw;width:14cqw;transform:rotate(-12deg);z-index:1}
.s-title .poly{position:absolute;right:-5cqw;bottom:-9cqw;width:28cqw;height:28cqw;background:var(--rp-pale-cyan);transform:rotate(14deg);
  -webkit-mask:url("img/shape-01-irregular-polygon.svg") center/contain no-repeat;mask:url("img/shape-01-irregular-polygon.svg") center/contain no-repeat}
.s-title .logo{left:6cqw;right:auto;top:4cqw;bottom:auto;height:2.4cqw}
.ov{display:grid;grid-template-columns:1fr 24cqw;gap:4cqw;height:72%}
.ovrows{display:grid;gap:.55cqw;align-content:start}
.ovrow{display:grid;grid-template-columns:24cqw 1fr 3.5cqw;gap:1cqw;align-items:center;font-size:1.05cqw;white-space:nowrap}
.ovrow span:first-child{overflow:hidden;text-overflow:ellipsis}
.ovtrack{height:1.5cqw;background:var(--rp-grey-100);position:relative}
.ovtrack .t{position:absolute;left:0;top:0;bottom:0;background:var(--rp-bg-red)}
.ovtrack .l{position:absolute;top:-.35cqw;bottom:-.35cqw;width:.3cqw;background:var(--rp-grey-500)}
.ovtrack .r{position:absolute;top:50%;width:1.1cqw;height:1.1cqw;background:var(--rp-charcoal);transform:translate(-50%,-50%) rotate(45deg)}
.ovrow b{font-family:var(--rp-font-heading);text-align:right}
.ovkey{display:flex;gap:2cqw;font-size:1cqw;color:var(--rp-grey-700);margin-top:1.4cqw}
.ovkey span{display:inline-flex;align-items:center;gap:.5cqw}
.k-t{width:1.6cqw;height:.9cqw;background:var(--rp-bg-red);display:inline-block}
.k-r{width:.9cqw;height:.9cqw;background:var(--rp-charcoal);transform:rotate(45deg);display:inline-block}
.k-l{width:.3cqw;height:1.4cqw;background:var(--rp-grey-500);display:inline-block}
.ovtotal{background:var(--rp-beige);padding:2.4cqw;display:flex;flex-direction:column;gap:1.6cqw}
.ovtotal small{font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.9cqw;color:var(--rp-grey-700)}
.ovtotal strong{font-family:var(--rp-font-heading);font-size:5.4cqw;line-height:.9;display:block}
.ovtotal strong em{font-style:normal;font-size:1.6cqw;color:var(--rp-grey-500);font-family:var(--rp-font-body)}
.ovtotal .delta{font-size:1.05cqw}
.ssec{display:grid;grid-template-columns:22cqw 1fr;gap:4cqw;height:70%}
.sstat{display:grid;gap:1.1cqw;align-content:start}
.sstat div{border-bottom:1px solid var(--rp-grey-100);padding-bottom:.9cqw}
.sstat small{display:block;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85cqw;color:var(--rp-grey-700)}
.sstat strong{font-family:var(--rp-font-heading);font-size:3.8cqw;line-height:1}
.sstat strong.red{color:var(--rp-bg-red)}
.svoices .q{border-left:.35cqw solid var(--rp-bg-red);padding:.5cqw 1.2cqw;margin-bottom:.9cqw;font-size:1.2cqw;line-height:1.35}
.svoices .q span{display:block;font-size:.95cqw;color:var(--rp-grey-700);margin-top:.3cqw}
.srec{background:var(--rp-charcoal);color:#fff;padding:1.5cqw 2cqw;margin-top:1.4cqw;font-size:1.25cqw;line-height:1.4}
.srec small{display:block;color:var(--rp-pale-cyan);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85cqw;margin-bottom:.5cqw}
.ssum{font-size:1.7cqw;line-height:1.45;max-width:62ch;white-space:pre-wrap}
.empty-slide{color:var(--rp-grey-500);font-size:1.4cqw}

@media print{
  @page{size:1280px 720px;margin:0}
  body.rp{background:#fff}
  .deckbar,.toast{display:none!important}
  .deck{padding:0;background:#fff;display:block}
  .slide{display:block!important;max-width:none;width:1280px;height:720px;aspect-ratio:auto;break-after:page;page-break-after:always}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ================= responsive ================= */
@media (max-width:900px){
  .pillnav{position:static;transform:none}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:1fr}
  .detail .inner{grid-template-columns:1fr}
}
@media (max-width:720px){
  .top{padding:0 16px;height:64px}
  .client-top .pillnav,.deco{display:none}
  .band{padding:32px 16px 80px}
  .band-stk{display:none}
  .cbody{padding:0 16px 48px}
  .card{padding:22px}
  .secgrid{grid-template-columns:1fr}
  .myrow{grid-template-columns:1fr 90px 30px}
  .stars{gap:1px}
  .star{width:26px}.star svg{width:25px;height:25px}.star.zero svg{width:20px;height:20px}
  .star.locked::after{left:3px;right:3px;top:12px}
  .scale{max-width:none}
  .actions{flex-direction:column-reverse;align-items:stretch}
  .actions .rp-btn{width:100%}
  .pbody{padding:24px 16px 48px}
  .formrow{grid-template-columns:1fr}
  .invite{grid-template-columns:1fr}
  .pm .top{height:auto;flex-wrap:wrap;padding:12px 16px}
  .pm .top .pillnav{order:3;width:100%;justify-content:center}
}
