/* ═══════════════════════════════════════════════════════════════
   Public-site component layer — the homepage's visual system for the
   public pages built outside it: /pricing/, /voucher-checker.html,
   /resources/, and the public #checker and Ask a CFO (#spotlight) views.

   Every rule is scoped under .pub (the <body> of a static page, or the
   wrapper of a public in-app view) and every class is pub-*, so loading
   this file can never restyle the homepage (.hp-*) or the signed-in
   application. The header is not this file's: every public page uses the
   homepage's, from /public-nav.js and /public-nav.css. The tokens are the homepage's own (--hp-* in index.html),
   repeated with identical values so the static pages, which do not load
   index.html, render with the same palette, type and depth.
   ═══════════════════════════════════════════════════════════════ */
.pub{
  --hp-navy:#061A28;--hp-navy-2:#08283A;--hp-navy-3:#0C3347;
  --hp-ink:#0A2233;--hp-body:#3D5062;--hp-mut:#54687A;
  --hp-ivory:#FFFFFF;--hp-ivory-70:#C6D3DB;--hp-ivory-50:#9FB3BF;--hp-ivory-12:rgba(232,238,242,.12);
  --hp-gold:#D8A64B;--hp-gold-2:#E5BC68;--hp-gold-3:#F3D38D;--hp-gold-dk:#8A6619;
  --hp-cta:#D8A64B;--hp-cta-2:#EAC97A;
  --hp-paper:#F3F5F7;--hp-bluegray:#E8EEF4;--hp-white:#fff;--hp-line:#DCE3E9;--hp-line-2:#E8EDF1;
  --hp-green:#12A66C;--hp-green-bg:#E8F8F0;--hp-amber:#D98C10;--hp-amber-bg:#FFF6E5;--hp-red:#DC4A4A;--hp-red-bg:#FDECEC;
  --hp-teal:#2EB9AE;--hp-teal-dk:#167B72;
  --hp-display:'Fraunces',Georgia,'Times New Roman',serif;
  --hp-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --hp-mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
  --hp-r:18px;--hp-r-sm:12px;--hp-r-lg:22px;
  --hp-shadow:0 1px 2px rgba(6,26,40,.04),0 14px 34px -14px rgba(6,26,40,.16);
  --hp-shadow-hover:0 2px 4px rgba(6,26,40,.05),0 26px 48px -18px rgba(6,26,40,.26);
  font-family:var(--hp-sans);font-size:17px;line-height:1.6;color:var(--hp-body);background:var(--hp-paper);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden
}
:where(.pub) *,:where(.pub) *::before,:where(.pub) *::after{box-sizing:border-box}
:where(.pub) img{max-width:100%;display:block}
:where(.pub) a{color:inherit}
.pub :focus-visible{outline:3px solid var(--hp-gold);outline-offset:3px;border-radius:6px}
.pub .pub-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pub-wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.pub-narrow{max-width:880px}

/* ── Brand (the footer's) ── */
.pub-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex-shrink:0}
.pub-brand img{width:34px;height:34px;border-radius:9px}
.pub-brand b{font-size:18px;font-weight:800;letter-spacing:-.02em}

/* ── Buttons ── */
.pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 22px;border-radius:12px;font:700 16px/1.1 var(--hp-sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}
.pub-btn:hover{transform:translateY(-1px)}
.pub-btn-gold{color:var(--hp-navy);background:linear-gradient(180deg,var(--hp-cta-2),var(--hp-cta));box-shadow:0 10px 24px -10px rgba(216,166,75,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.pub-btn-gold:hover{box-shadow:0 16px 30px -12px rgba(216,166,75,.85),inset 0 1px 0 rgba(255,255,255,.4)}
.pub-btn-navy{color:#fff;background:var(--hp-navy);box-shadow:0 10px 22px -12px rgba(6,26,40,.6)}
.pub-btn-line{color:var(--hp-ink);background:#fff;border-color:var(--hp-line)}
.pub-btn-line:hover{border-color:var(--hp-ink)}
.pub-btn-ghost{color:#fff;background:rgba(232,238,242,.04);border-color:rgba(232,238,242,.24)}
.pub-btn-ghost:hover{border-color:rgba(232,238,242,.5)}
.pub-btn-sm{min-height:40px;padding:9px 16px;font-size:14.5px;border-radius:10px}
.pub-btn-lg{min-height:56px;padding:17px 30px;font-size:18px}
.pub-btn-block{display:flex;width:100%}
.pub-btn[disabled]{opacity:.55;cursor:default;transform:none}
.pub-arrow{display:inline-block;transition:transform .15s}
.pub-btn:hover .pub-arrow{transform:translateX(3px)}
.pub-textlink{font-weight:700;color:var(--hp-teal-dk);text-decoration:underline;text-decoration-color:rgba(22,123,114,.35);text-underline-offset:4px}
.pub-textlink:hover{text-decoration-color:var(--hp-teal-dk)}

/* ── Type ── */
.pub-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hp-gold-dk);margin:0 0 14px}
.pub-dark .pub-eyebrow,.pub-hero .pub-eyebrow{color:var(--hp-gold)}
.pub-h1{font-family:var(--hp-sans);font-weight:800;font-size:clamp(36px,4.4vw,56px);line-height:1.04;letter-spacing:-.035em;color:var(--hp-ink);margin:0 0 20px;text-wrap:balance}
.pub-h1 em{font-style:normal;color:var(--hp-gold-2)}
.pub-hero .pub-h1{color:#fff}
.pub-h2{font-family:var(--hp-display);font-weight:500;font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.018em;color:var(--hp-ink);margin:0;text-wrap:balance;font-variation-settings:"opsz" 144}
.pub-dark .pub-h2{color:#fff}
.pub-h3{font-family:var(--hp-sans);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--hp-ink);margin:0 0 6px}
.pub-dark .pub-h3{color:#fff}
.pub-lede{font-size:19px;line-height:1.65;color:var(--hp-body);margin:16px 0 0;max-width:64ch}
.pub-hero .pub-lede,.pub-dark .pub-lede{color:var(--hp-ivory-70)}
.pub-fine{font-size:14.5px;line-height:1.6;color:var(--hp-mut);margin:14px 0 0}
.pub-hero .pub-fine,.pub-dark .pub-fine{color:var(--hp-ivory-50)}
.pub-prose{max-width:76ch}
.pub-prose p,.pub-prose li{font-size:16.5px;line-height:1.72;color:var(--hp-body)}
.pub-prose p{margin:0 0 14px}
.pub-prose strong{color:var(--hp-ink)}
.pub-prose a{color:var(--hp-teal-dk);font-weight:650;text-decoration:underline;text-underline-offset:3px}

/* ── Sections ── */
.pub-hero{position:relative;overflow:hidden;color:var(--hp-ivory-70);background:radial-gradient(900px 520px at 85% -10%,rgba(46,185,174,.16),transparent 62%),radial-gradient(700px 460px at 0% 110%,rgba(216,166,75,.14),transparent 60%),linear-gradient(180deg,var(--hp-navy-2),var(--hp-navy));padding:88px 0 92px}
.pub-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(232,238,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(232,238,242,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 85%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 85%);pointer-events:none}
.pub-hero>.pub-wrap{position:relative;z-index:1}
.pub-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center}
.pub-crumb{font-size:13.5px;color:var(--hp-ivory-50);margin:0 0 18px}
.pub-crumb a{color:var(--hp-ivory-70);text-decoration:underline;text-decoration-color:rgba(232,238,242,.3);text-underline-offset:3px}
.pub-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.pub-section{padding:88px 0}
.pub-section-tight{padding:64px 0}
.pub-section-white{background:#fff}
.pub-section-blue{background:linear-gradient(180deg,#F5F8FB,var(--hp-bluegray))}
.pub-dark{background:var(--hp-navy);color:var(--hp-ivory-70)}
.pub-head{max-width:780px;margin:0 0 40px}
.pub-head-center{margin-left:auto;margin-right:auto;text-align:center}
.pub-head .pub-lede{font-size:18px}

/* ── Trust pills / micro statements ── */
.pub-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding:0;list-style:none}
.pub-points li{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:500;color:#fff}
.pub-points li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--hp-gold);color:var(--hp-navy);font-size:12px;font-weight:900;flex-shrink:0}
.pub-points.on-light li{color:var(--hp-ink)}
.pub-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--hp-green-bg);color:#0C7A4E;border:1px solid #BFE9D3;white-space:nowrap}
.pub-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pub-pill.gold{background:#FFF6E2;color:var(--hp-gold-dk);border-color:#F1DDB0}
.pub-pill.navy{background:rgba(232,238,242,.08);color:var(--hp-gold-2);border-color:rgba(232,238,242,.16)}

/* ── Cards & grids ── */
.pub-grid{display:grid;gap:22px}
.pub-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pub-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pub-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pub-card{position:relative;background:#fff;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);padding:28px;box-shadow:var(--hp-shadow);transition:box-shadow .2s,transform .2s,border-color .2s}
a.pub-card{display:block;text-decoration:none;color:inherit}
a.pub-card:hover{box-shadow:var(--hp-shadow-hover);transform:translateY(-2px);border-color:var(--hp-line)}
.pub-card p{margin:0;font-size:15.5px;line-height:1.65;color:var(--hp-body)}
.pub-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.pub-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(180deg,var(--hp-navy-3),var(--hp-navy));color:var(--hp-gold-2);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -12px rgba(6,26,40,.7);flex-shrink:0}
.pub-icon svg{width:24px;height:24px}
.pub-card-title{font-family:var(--hp-display);font-weight:500;font-size:26px;line-height:1.15;letter-spacing:-.012em;color:var(--hp-ink);margin:0 0 10px}
.pub-card-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;font-size:15px;color:var(--hp-ink)}
.pub-card-feature{padding:30px 30px 26px}
.pub-mini{background:var(--hp-paper);border:1px solid var(--hp-line-2);border-radius:14px;padding:16px 18px}
.pub-mini h3{font-size:16px;font-weight:700;color:var(--hp-ink);margin:0 0 4px}
.pub-mini p{font-size:14.5px;line-height:1.6;color:var(--hp-body);margin:0}
.pub-list{list-style:none;margin:0;padding:0}
.pub-list li{position:relative;padding:11px 0 11px 30px;border-top:1px solid var(--hp-line-2);font-size:15.5px;line-height:1.6;color:var(--hp-body)}
.pub-list li:first-child{border-top:0}
.pub-list li::before{content:"✓";position:absolute;left:0;top:12px;width:20px;height:20px;border-radius:50%;background:var(--hp-green-bg);color:var(--hp-green);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.pub-list li strong{color:var(--hp-ink)}
.pub-callout{display:flex;gap:14px;align-items:flex-start;background:#FBF7EE;border:1px solid #EFE1BF;border-radius:var(--hp-r);padding:18px 20px;color:#4F4320;font-size:15px;line-height:1.65}
.pub-callout b,.pub-callout strong{color:var(--hp-ink)}
.pub-callout a{color:var(--hp-teal-dk);font-weight:700}
.pub-callout-ic{flex-shrink:0;width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid #EFE1BF;display:flex;align-items:center;justify-content:center;color:var(--hp-gold-dk);font-weight:900}

/* ── Status chips (the homepage's validated / needs review / problem) ── */
.pub-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.pub-chip.ok{background:var(--hp-green-bg);color:#0C7A4E}
.pub-chip.warn{background:var(--hp-amber-bg);color:#A35F00}
.pub-chip.err{background:var(--hp-red-bg);color:#B42323}
.pub-chip.info{background:var(--hp-bluegray);color:#3D5062}
.pub-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.pub-dot.ok{background:var(--hp-green)}.pub-dot.warn{background:var(--hp-amber)}.pub-dot.err{background:var(--hp-red)}

/* ── Support-depth badges (each funder page states its own) ── */
.pub-depth{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:800;border:1px solid var(--hp-line);background:#fff;white-space:nowrap}
.pub-depth.native{background:#E6F7F3;color:#0C675F;border-color:#B9E4DC}
.pub-depth.template{background:#FFF4E2;color:#8A5604;border-color:#F4D9AE}
.pub-depth.rules{background:#EEF3FF;color:#34539D;border-color:#D2DEFA}
.pub-depth.custom{background:#F0F2F4;color:#4A5A64;border-color:#DCE3E9}

/* ── Product shell — the homepage's fintech panel ── */
.pub-product{position:relative;border-radius:26px;padding:12px;background:linear-gradient(180deg,rgba(232,238,242,.10),rgba(232,238,242,.04));border:1px solid rgba(232,238,242,.16);box-shadow:0 40px 90px -40px rgba(0,0,0,.75),0 0 110px -36px rgba(216,166,75,.35)}
.pub-product-in{border-radius:18px;background:linear-gradient(180deg,#0B2C40,#082233);border:1px solid rgba(232,238,242,.10);padding:22px;color:var(--hp-ivory-70)}
.pub-product-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.pub-product-title{font-size:16px;font-weight:700;color:#fff}
.pub-product-tag{font-size:11.5px;color:var(--hp-ivory-50);border:1px solid rgba(232,238,242,.18);border-radius:6px;padding:2px 8px}
.pub-field{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(232,238,242,.14);background:rgba(232,238,242,.04);border-radius:12px;padding:12px 14px;font-size:14.5px;color:#fff;margin-bottom:12px}
.pub-field small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-ivory-50);font-weight:700;margin-bottom:2px}
.pub-drop-mini{border:1.5px dashed rgba(216,166,75,.55);border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px;background:rgba(216,166,75,.06);margin-bottom:16px}
.pub-file-ic{width:40px;height:46px;border-radius:8px;background:linear-gradient(180deg,#2E7D5B,#1E5E43);color:#fff;font:800 10px/1 var(--hp-sans);display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px;flex-shrink:0}
.pub-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-top:1px solid rgba(232,238,242,.08);font-size:14.5px;color:#fff}
.pub-result-row:first-of-type{border-top:0}
.pub-result-row span:first-child{display:flex;align-items:center;gap:10px}
.pub-result-row small{display:block;color:var(--hp-ivory-50);font-size:12.5px}
.pub-product-foot{font-size:12px;color:var(--hp-ivory-50);text-align:right;margin-top:12px}

/* ── Steps ── */
.pub-steps{counter-reset:pubstep;display:grid;gap:18px}
.pub-step{position:relative;background:#fff;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);box-shadow:var(--hp-shadow);padding:26px 28px 26px 84px}
.pub-step::before{counter-increment:pubstep;content:counter(pubstep);position:absolute;left:26px;top:24px;width:38px;height:38px;border-radius:50%;background:var(--hp-navy);color:var(--hp-gold-2);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center}
.pub-step-label{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-gold-dk);margin:0 0 4px}
.pub-step-title{font-size:21px;font-weight:800;letter-spacing:-.015em;color:var(--hp-ink);margin:0 0 14px}
.pub-select{width:100%;min-height:52px;border:1px solid var(--hp-line);border-radius:12px;background:#fff;padding:12px 44px 12px 16px;font:500 16px var(--hp-sans);color:var(--hp-ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230A2233' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.pub-select:hover{border-color:#B8C6D0}
.pub-input{width:100%;min-height:52px;border:1px solid var(--hp-line);border-radius:12px;background:#fff;padding:12px 16px;font:500 16px var(--hp-sans);color:var(--hp-ink)}
.pub-input::placeholder{color:#64768A}
.pub-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:200px;padding:32px 24px;border:2px dashed #C5D1DA;border-radius:18px;background:linear-gradient(180deg,#FBFCFD,#F3F6F8);cursor:pointer;transition:border-color .2s,background .2s}
.pub-dropzone:hover{border-color:var(--hp-gold);background:#FFFBF2}
.pub-dropzone-ic{width:58px;height:58px;border-radius:16px;background:var(--hp-navy);color:var(--hp-gold-2);display:flex;align-items:center;justify-content:center;margin-bottom:8px;box-shadow:0 12px 24px -14px rgba(6,26,40,.8)}
.pub-dropzone-ic svg{width:26px;height:26px}
.pub-dropzone-t{font-size:17px;font-weight:700;color:var(--hp-ink)}
.pub-dropzone-s{font-size:14px;color:var(--hp-mut)}
.pub-err{font-size:14.5px;color:#B42323;background:var(--hp-red-bg);border-radius:10px;padding:10px 14px;margin:14px 0 0}

/* ── Findings (the review result) ── */
.pub-findings-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.pub-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.pub-sum{border-radius:16px;padding:16px 18px;border:1px solid var(--hp-line-2);background:#fff}
.pub-sum b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.pub-sum span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pub-sum.err b,.pub-sum.err span{color:#B42323}.pub-sum.err{background:linear-gradient(180deg,#fff,#FFF5F5)}
.pub-sum.warn b,.pub-sum.warn span{color:#A35F00}.pub-sum.warn{background:linear-gradient(180deg,#fff,#FFFAF0)}
.pub-sum.ok b,.pub-sum.ok span{color:#0C7A4E}.pub-sum.ok{background:linear-gradient(180deg,#fff,#F3FBF7)}
.pub-sum.info b,.pub-sum.info span{color:#3D5062}
.pub-group{margin:0 0 22px}
.pub-group-h{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-ink);margin:0 0 12px}
.pub-finding{display:grid;grid-template-columns:auto 1fr;gap:14px;background:#fff;border:1px solid var(--hp-line-2);border-radius:16px;padding:16px 18px;margin-bottom:10px;box-shadow:0 1px 2px rgba(6,26,40,.04)}
.pub-finding .pub-dot{margin-top:8px}
.pub-finding-t{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.pub-finding-t b{font-size:16px;color:var(--hp-ink)}
.pub-finding-where{font-family:var(--hp-mono);font-size:12px;color:var(--hp-mut);background:var(--hp-paper);border-radius:6px;padding:2px 7px}
.pub-finding p{margin:4px 0 0;font-size:14.5px;line-height:1.6;color:var(--hp-body)}
.pub-finding.note .pub-dot{background:#9AAAB6}
.pub-clean{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,#F3FBF7,#E8F8F0);border:1px solid #BFE9D3;border-radius:18px;padding:20px 22px;margin:0 0 18px}
.pub-clean b{display:block;font-size:17px;color:#0C6B45;margin-bottom:4px}
.pub-clean p{margin:0;font-size:15px;line-height:1.6;color:#245E46}
.pub-clean-ic{width:36px;height:36px;border-radius:50%;background:var(--hp-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}

/* ── Segmented control ── */
.pub-seg{display:inline-flex;gap:4px;padding:5px;border-radius:14px;background:#fff;border:1px solid var(--hp-line);box-shadow:var(--hp-shadow)}
.pub-seg button{border:0;background:transparent;border-radius:10px;padding:10px 18px;font:700 15px var(--hp-sans);color:var(--hp-mut);cursor:pointer;min-height:42px}
.pub-seg button.on{background:var(--hp-navy);color:#fff;box-shadow:0 8px 18px -10px rgba(6,26,40,.7)}
.pub-seg button:not(.on):hover{color:var(--hp-ink)}

/* ── Pricing ── */
.pub-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:28px}
.pub-price{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);padding:30px 26px 26px;box-shadow:var(--hp-shadow)}
.pub-price.featured{border:2px solid var(--hp-teal);box-shadow:0 24px 50px -24px rgba(46,185,174,.45),0 0 0 6px rgba(46,185,174,.07)}
.pub-price-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--hp-teal);color:#06302C;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap}
.pub-price .priceName{font-size:19px;font-weight:800;color:var(--hp-ink);letter-spacing:-.01em}
.pub-price .priceAmt{font-size:46px;font-weight:800;letter-spacing:-.04em;color:var(--hp-ink);line-height:1;margin:18px 0 6px}
.pub-price .priceAmt small{font-size:15px;font-weight:600;letter-spacing:0;color:var(--hp-mut);margin-left:2px}
.pub-price .priceSub{font-size:14px;color:var(--hp-mut);min-height:42px}
.pub-price .checklist{list-style:none;margin:16px 0 24px;padding:16px 0 0;border-top:1px solid var(--hp-line-2);flex:1}
.pub-price .checklist li{position:relative;padding:6px 0 6px 26px;font-size:15px;line-height:1.5;color:var(--hp-body)}
.pub-price .checklist li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--hp-green);font-weight:900}
.pub-price .pub-btn{width:100%}
.pub-table-wrap{overflow-x:auto;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);background:#fff;box-shadow:var(--hp-shadow)}
.pub-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}
.pub-table th,.pub-table td{padding:16px 20px;text-align:center;font-size:15px;border-bottom:1px solid var(--hp-line-2)}
.pub-table th:first-child,.pub-table td:first-child{text-align:left;color:var(--hp-ink);font-weight:600}
.pub-table thead th{position:sticky;top:0;background:#F7F9FB;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-mut);z-index:1}
.pub-table thead th.featured{color:var(--hp-teal-dk)}
.pub-table td.featured{background:rgba(46,185,174,.045)}
.pub-table tbody tr:last-child td{border-bottom:0}
.pub-table tbody tr:hover td{background:#FAFBFC}
.pub-table .yes{color:var(--hp-green);font-weight:900}
.pub-table .no{color:#64768A}
.pub-calc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-radius:26px;overflow:hidden;border:1px solid var(--hp-line-2);box-shadow:var(--hp-shadow);background:#fff}
.pub-calc-form{padding:34px;display:grid;gap:18px}
.pub-calc-form label{display:grid;gap:7px;font-size:14.5px;font-weight:600;color:var(--hp-ink)}
.pub-calc-form input,.pub-calc-form select{width:100%;min-height:50px;border:1px solid var(--hp-line);border-radius:12px;padding:12px 14px;font:500 16px var(--hp-sans);color:var(--hp-ink);background:#fff}
.pub-calc-result{position:relative;padding:34px;background:radial-gradient(500px 300px at 100% 0,rgba(216,166,75,.18),transparent 65%),linear-gradient(180deg,var(--hp-navy-2),var(--hp-navy));color:var(--hp-ivory-70)}
.pub-calc-result .pub-pill{margin-bottom:16px}
.pub-calc-result .big{font-size:clamp(44px,5vw,64px);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1}
.pub-calc-result .metric{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid rgba(232,238,242,.12);font-size:15px}
.pub-calc-result .metric span:last-child{color:#fff;font-weight:700;font-family:var(--hp-mono)}
.pub-calc-result .legal{font-size:13px;line-height:1.6;color:var(--hp-ivory-50);margin:16px 0 0}

/* ── Directory, search and filters (Resource Center) ── */
.pub-search{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 26px}
.pub-search-box{position:relative;flex:1 1 320px}
.pub-search-box svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--hp-mut)}
.pub-search-box .pub-input{padding-left:46px;box-shadow:var(--hp-shadow)}
.pub-filters{display:flex;flex-wrap:wrap;gap:8px}
.pub-filter{border:1px solid var(--hp-line);background:#fff;border-radius:999px;padding:8px 14px;min-height:40px;font:700 14px var(--hp-sans);color:var(--hp-body);cursor:pointer}
.pub-filter[aria-pressed="true"]{background:var(--hp-navy);border-color:var(--hp-navy);color:#fff}
.pub-filter:hover{border-color:var(--hp-ink)}
.pub-count{font-size:14px;color:var(--hp-mut);margin:0 0 8px}
.pub-group-title{display:flex;align-items:baseline;gap:12px;margin:34px 0 14px;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-ink)}
.pub-group-title span{font-weight:600;letter-spacing:0;text-transform:none;color:var(--hp-mut)}
.pub-dir{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pub-tile{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;background:#fff;border:1px solid var(--hp-line-2);border-radius:16px;padding:16px 16px 16px 16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .2s,transform .15s}
.pub-tile:hover{border-color:#C9D5DD;box-shadow:var(--hp-shadow);transform:translateY(-1px)}
.pub-tile-abbr{width:52px;height:52px;border-radius:13px;background:var(--hp-paper);border:1px solid var(--hp-line-2);display:flex;align-items:center;justify-content:center;font:700 12px/1.05 var(--hp-mono);color:var(--hp-ink);text-align:center;padding:4px;word-break:break-word}
.pub-tile-name{font-size:15.5px;font-weight:700;color:var(--hp-ink);line-height:1.3}
.pub-tile-full{font-size:13px;color:var(--hp-mut);margin:2px 0 8px}
.pub-tile-d{font-size:14px;line-height:1.55;color:var(--hp-body);margin:8px 0 0}
.pub-tile-arrow{color:var(--hp-mut);font-size:18px;line-height:1;margin-top:2px}
.pub-tile:hover .pub-tile-arrow{color:var(--hp-ink)}
.pub-res{display:block;background:#fff;border:1px solid var(--hp-line-2);border-radius:16px;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .2s}
.pub-res:hover{border-color:#C9D5DD;box-shadow:var(--hp-shadow)}
.pub-res-f{font-family:var(--hp-mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-gold-dk)}
.pub-res-t{font-size:16px;font-weight:700;color:var(--hp-ink);margin:6px 0 4px;line-height:1.35}
.pub-res-d{font-size:14px;line-height:1.55;color:var(--hp-body)}
.pub-empty{display:none;text-align:center;padding:36px 20px;border:1px dashed var(--hp-line);border-radius:18px;color:var(--hp-mut);background:#fff}
.pub [hidden]{display:none!important}

/* ── Ask a CFO ── */
.pub-chat{background:#fff;border:1px solid var(--hp-line-2);border-radius:26px;box-shadow:0 30px 70px -36px rgba(6,26,40,.45),0 0 0 1px rgba(255,255,255,.6) inset;overflow:hidden}
.pub-chat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--hp-line-2);background:linear-gradient(180deg,#FBFCFD,#F5F8FA)}
.pub-chat-title{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--hp-ink);font-size:16px}
.pub-chat-title .pub-icon{width:36px;height:36px;border-radius:10px}
.pub-chat-title .pub-icon svg{width:18px;height:18px}
.pub-context{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--hp-mut);background:#fff;border:1px solid var(--hp-line);border-radius:999px;padding:5px 11px}
.pub-chat-body{padding:24px 22px;min-height:200px;display:flex;flex-direction:column;gap:16px}
.pub-chat-empty{text-align:center;color:var(--hp-mut);font-size:15px;line-height:1.6;padding:8px 10px 0}
.pub-chat-empty b{display:block;color:var(--hp-ink);font-size:17px;margin-bottom:4px}
.pub-anatomy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pub-anatomy div{border:1px dashed var(--hp-line);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--hp-body);background:#FBFCFD}
.pub-anatomy b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-gold-dk);margin-bottom:3px}
.pub-chat-form{display:flex;gap:10px;padding:16px 18px;border-top:1px solid var(--hp-line-2);background:#FBFCFD}
.pub-chat-form .pub-input{flex:1}
.pub-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.pub-chipq{border:1px solid rgba(232,238,242,.2);background:rgba(232,238,242,.05);color:#fff;border-radius:999px;padding:9px 14px;min-height:40px;font:600 14px var(--hp-sans);cursor:pointer;text-align:left}
.pub-chipq:hover{border-color:var(--hp-gold);color:var(--hp-gold-3)}
.pub-gate{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 16px;border-radius:14px;background:#FBF7EE;border:1px solid #EFE1BF;color:#4F4320;font-size:14.5px;line-height:1.55}
.pub-gate .pub-ctas{margin:0}

/* ── FAQ ── */
.pub-faq{display:grid;gap:12px}
.pub-faq details{background:#fff;border:1px solid var(--hp-line-2);border-radius:16px;padding:0 22px;box-shadow:0 1px 2px rgba(6,26,40,.04)}
.pub-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:17px;font-weight:700;color:var(--hp-ink)}
.pub-faq summary::-webkit-details-marker{display:none}
.pub-faq summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--hp-paper);color:var(--hp-ink);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}
.pub-faq details[open] summary::after{content:"–"}
.pub-faq details p{margin:0;padding:0 0 18px;font-size:15.5px;line-height:1.7;color:var(--hp-body)}
.pub-faq summary h3{font:inherit;margin:0;color:inherit;letter-spacing:-.005em}

/* ── Closing CTA + footer ── */
.pub-cta{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:46px 48px;border-radius:26px;color:var(--hp-ivory-70);background:radial-gradient(600px 300px at 100% 0,rgba(216,166,75,.2),transparent 60%),linear-gradient(180deg,var(--hp-navy-2),var(--hp-navy));box-shadow:0 40px 80px -40px rgba(6,26,40,.7)}
.pub-cta h2{font-family:var(--hp-display);font-weight:500;font-size:clamp(28px,3vw,38px);line-height:1.12;color:#fff;margin:0 0 8px;letter-spacing:-.015em}
.pub-cta p{margin:0;max-width:60ch;font-size:16.5px;line-height:1.6}
.pub-cta .pub-ctas{margin:0}
.pub-footer{background:var(--hp-navy);color:var(--hp-ivory-50);padding:64px 0 34px;border-top:1px solid rgba(232,238,242,.06)}
.pub-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.pub-footer .pub-brand b{font-size:18px}
.pub-footer p{font-size:15px;line-height:1.6;margin:14px 0 0;max-width:36ch}
.pub-footer h4{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.pub-footer a.f{display:block;color:var(--hp-ivory-70);text-decoration:none;font-size:15px;padding:5px 0}
.pub-footer a.f:hover{color:#fff}
.pub-footer small{display:block;margin-top:40px;padding-top:22px;border-top:1px solid rgba(232,238,242,.1);font-size:13px;line-height:1.6}

/* ── Monthly checklist (/monthly-checklist/) ── */
.pub-glance{background:#fff;border-radius:var(--hp-r-lg);box-shadow:0 40px 90px -40px rgba(0,0,0,.75),0 0 110px -36px rgba(216,166,75,.35);padding:22px;color:var(--hp-body)}
.pub-glance-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-gold-dk)}
.pub-glance ol{list-style:none;margin:0;padding:0}
.pub-glance a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:56px;padding:9px 10px;border-radius:14px;text-decoration:none;color:inherit;transition:background .15s}
.pub-glance a:hover{background:var(--hp-paper)}
.pub-glance li+li a{border-top:1px solid var(--hp-line-2);border-radius:0 0 14px 14px}
.pub-glance-n{width:36px;height:36px;border-radius:11px;background:var(--hp-navy);color:var(--hp-gold-2);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.pub-glance b{display:block;font-size:16px;color:var(--hp-ink)}
.pub-glance small{display:block;font-size:13.5px;color:var(--hp-mut);line-height:1.4}
.pub-glance .pub-arrow{color:var(--hp-mut)}
.pub-todo{list-style:none;margin:0;padding:0}
.pub-todo li{position:relative;padding:8px 0 8px 32px;font-size:15.5px;line-height:1.55;color:var(--hp-body)}
.pub-todo li::before{content:"";position:absolute;left:0;top:10px;width:19px;height:19px;border:2px solid #A9B8C3;border-radius:6px;background:#fff}
.pub-todo li strong{color:var(--hp-ink)}
.pub-todo li small{display:block;font-size:14px;color:var(--hp-mut);margin-top:2px}
.pub-todo-2{columns:2;column-gap:28px}
.pub-todo-2 li{break-inside:avoid}
.pub-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px;padding:0}
.pub-tags li{font-size:13px;font-weight:600;color:var(--hp-ink);background:#fff;border:1px solid var(--hp-line);border-radius:999px;padding:4px 10px;line-height:1.3}
.pub-tags li::before{display:none}
.pub-setup{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;align-items:start;background:#fff;border:2px dashed #C3D0D9;border-radius:28px;padding:38px}
.pub-setup .pub-todo>li{padding-top:11px;padding-bottom:11px;border-top:1px solid var(--hp-line-2)}
.pub-setup .pub-todo>li:first-child{border-top:0}
.pub-setup .pub-todo>li::before{top:13px}
.pub-alloc{background:var(--hp-paper);border:1px solid var(--hp-line-2);border-radius:20px;padding:22px}
.pub-alloc-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 4px}
.pub-alloc-h b{font-size:17px;color:var(--hp-ink)}
.pub-alloc-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--hp-line);font-size:15.5px;color:var(--hp-body)}
.pub-alloc-row span:last-child{font-family:var(--hp-mono);font-weight:600;color:var(--hp-ink)}
.pub-alloc-row.total{border-top:2px solid var(--hp-ink);font-weight:800;color:var(--hp-ink)}
.pub-alloc-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;margin:12px 0 6px;background:var(--hp-line)}
.pub-alloc-bar i{display:block}
.pub-months{display:grid;gap:24px}
.pub-mstep{background:#fff;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);box-shadow:var(--hp-shadow);padding:32px;scroll-margin-top:96px}
.pub-mstep-head{display:flex;align-items:flex-start;gap:18px;margin:0 0 22px}
.pub-mstep-n{width:56px;height:56px;border-radius:17px;background:linear-gradient(180deg,var(--hp-navy-3),var(--hp-navy));color:var(--hp-gold-2);font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 12px 24px -14px rgba(6,26,40,.8)}
.pub-mstep-head h3{font-size:clamp(22px,2.2vw,27px);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--hp-ink);margin:2px 0 4px}
.pub-mstep-head p{margin:0;font-size:16px;line-height:1.55;color:var(--hp-body)}
.pub-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pub-col{border-radius:18px;padding:20px 22px}
.pub-col h4{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;color:var(--hp-ink)}
.pub-col-team{background:var(--hp-paper);border:1px solid var(--hp-line-2)}
.pub-col-pif{background:linear-gradient(180deg,#F5FBF8,#EBF7F1);border:1px solid #CDEBDB}
.pub-col-pif h4{color:#0C6B45}
.pub-col .pub-list li{border-top:0;padding:7px 0 7px 30px}
.pub-col .pub-list li::before{top:9px;background:#fff}
.pub-col p{margin:0;font-size:15px;line-height:1.6;color:var(--hp-body)}
.pub-flag{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:15px;line-height:1.5;color:var(--hp-body)}
.pub-flag .pub-chip{margin-top:1px}
.pub-note{display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border-radius:14px;background:#FBF7EE;border:1px solid #EFE1BF;font-size:15.5px;line-height:1.55;color:var(--hp-ink);font-weight:600}
.pub-note::before{content:"→";color:var(--hp-gold-dk);font-weight:800}
.pub-note.strong{background:var(--hp-navy);border-color:var(--hp-navy);color:#fff}
.pub-note.strong::before{content:"!";width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--hp-gold);color:var(--hp-navy);display:flex;align-items:center;justify-content:center;font-size:14px}
.pub-money{display:flex;align-items:stretch;gap:0;margin:20px 0 0;border:1px solid var(--hp-line-2);border-radius:20px;overflow:hidden;background:#fff}
.pub-money>div{flex:1 1 0;min-width:0;padding:16px 18px;border-left:1px solid var(--hp-line-2)}
.pub-money>div:first-child{border-left:0}
.pub-money small{display:block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-mut)}
.pub-money b{display:block;font-family:var(--hp-mono);font-size:clamp(19px,2vw,24px);font-weight:700;color:var(--hp-ink);margin-top:4px;white-space:nowrap}
.pub-money .out{background:linear-gradient(180deg,#fff,#FFFAF0)}
.pub-money .out b{color:#A35F00}
.pub-neq{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:clamp(18px,2vw,22px);font-weight:800;color:var(--hp-ink);letter-spacing:-.01em}
.pub-neq span:nth-child(even){color:var(--hp-gold-dk);font-weight:700}
.pub-keep{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.pub-keep li{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:rgba(232,238,242,.05);border:1px solid rgba(232,238,242,.12);color:#fff;font-size:16.5px;font-weight:600}
.pub-keep li::before{content:"✓";flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--hp-gold);color:var(--hp-navy);font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.pub-flow{counter-reset:pubflow;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}
.pub-flow li{position:relative;text-align:center;padding:0 10px;counter-increment:pubflow}
.pub-flow li::before{content:counter(pubflow);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--hp-navy);color:var(--hp-gold-2);font-size:21px;font-weight:800;box-shadow:0 0 0 6px var(--hp-paper),0 14px 26px -14px rgba(6,26,40,.8)}
.pub-flow li::after{content:"";position:absolute;top:27px;left:50%;width:100%;height:2px;background:linear-gradient(90deg,var(--hp-gold),#C3D0D9)}
.pub-flow li:last-child::after{display:none}
.pub-flow b{display:block;font-size:16.5px;color:var(--hp-ink);line-height:1.3}
.pub-flow small{display:block;font-size:13.5px;color:var(--hp-mut);margin-top:4px;line-height:1.45}
.pub-flow a{display:block;min-height:44px;padding:2px 0;text-decoration:none;color:inherit}
.pub-cta .pub-textlink{display:inline-flex;align-items:center;min-height:44px}
.pub-flow a:hover b{text-decoration:underline;text-underline-offset:3px}

/* ── Pilot request (the #pilot view) ── */
.pub-flow.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.pub-flow small{max-width:24ch;margin-left:auto;margin-right:auto}
.pub-pilot-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;align-items:start}
.pub-aside{display:grid;gap:18px}
.pub-form{background:#fff;border:1px solid var(--hp-line-2);border-radius:var(--hp-r-lg);box-shadow:var(--hp-shadow);padding:32px;scroll-margin-top:96px}
.pub-form-head{margin:0 0 24px}
.pub-form-head h2{font-family:var(--hp-display);font-weight:500;font-size:clamp(26px,2.6vw,32px);line-height:1.15;letter-spacing:-.015em;color:var(--hp-ink);margin:0}
.pub-form-head p{margin:8px 0 0;font-size:15.5px;line-height:1.6;color:var(--hp-body)}
.pub-form-sec{border:0;margin:0;padding:0;min-width:0}
.pub-form-sec+.pub-form-sec{margin-top:24px;padding-top:24px;border-top:1px solid var(--hp-line-2)}
/* A floated legend lays out like an ordinary block inside its fieldset. */
.pub-legend{float:left;width:100%;display:flex;align-items:center;gap:10px;padding:0;margin:0 0 16px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-ink)}
.pub-legend span{width:26px;height:26px;border-radius:8px;background:var(--hp-navy);color:var(--hp-gold-2);display:inline-flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:0}
.pub-legend+*{clear:both}
.pub-legend small{font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--hp-mut)}
.pub-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.pub-field-full{grid-column:1/-1}
.pub-label{display:block;font-size:14.5px;font-weight:700;color:var(--hp-ink);margin:0 0 7px}
.pub-req{color:#B42323;margin-left:2px}
.pub-help{display:block;font-size:13.5px;line-height:1.5;color:var(--hp-mut);margin:7px 0 0}
.pub-textarea{width:100%;min-height:104px;border:1px solid var(--hp-line);border-radius:12px;background:#fff;padding:12px 16px;font:500 16px/1.55 var(--hp-sans);color:var(--hp-ink);resize:vertical}
.pub-textarea::placeholder{color:#64768A}
.pub-input:focus,.pub-select:focus,.pub-textarea:focus{outline:none;border-color:var(--hp-ink);box-shadow:0 0 0 3px rgba(216,166,75,.55)}
.pub-input:focus-visible,.pub-select:focus-visible,.pub-textarea:focus-visible{outline:none}
.pub [aria-invalid="true"]{border-color:#DC4A4A;box-shadow:0 0 0 3px rgba(220,74,74,.14)}
.pub-chipset{display:flex;flex-wrap:wrap;gap:8px}
.pub-chipset[aria-invalid="true"]{border-radius:14px;padding:8px;box-shadow:0 0 0 2px rgba(220,74,74,.35)}
.pub-chipset .pub-filter{min-height:40px}
.pub-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:24px;padding-top:22px;border-top:1px solid var(--hp-line-2)}
.pub-form-foot .pub-fine{margin:0}
.pub-form .pub-err{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;line-height:1.55}
.pub-form .pub-err::before{content:"!";flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#B42323;color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.pub-form .pub-err a{color:#8E1B1B;font-weight:700}
.pub-success{border-top:4px solid var(--hp-green)}
.pub-success-ic{width:48px;height:48px;border-radius:50%;background:var(--hp-green);color:#fff;font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 0 16px}
.pub-olist{list-style:none;counter-reset:pubol;margin:0;padding:0}
.pub-olist li{counter-increment:pubol;position:relative;padding:10px 0 10px 40px;font-size:15px;line-height:1.55;color:var(--hp-body);border-top:1px solid var(--hp-line-2)}
.pub-olist li:first-child{border-top:0}
.pub-olist li::before{content:counter(pubol);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:8px;background:var(--hp-navy);color:var(--hp-gold-2);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pub-olist li strong{color:var(--hp-ink)}

/* ── Responsive ── */
@media (max-width:1180px){
  .pub-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .pub-wrap{padding:0 28px}
  .pub-hero-grid{grid-template-columns:1fr;gap:44px}
  .pub-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub-grid-3,.pub-dir{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub-calc{grid-template-columns:1fr}
  .pub-setup{grid-template-columns:1fr;gap:26px}
  .pub-keep{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub-flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}
  .pub-pilot-grid{grid-template-columns:1fr}
  .pub-flow.five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pub-flow li:nth-child(3)::after{display:none}
  .pub-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .pub{font-size:16px}
  .pub-wrap{padding:0 20px}
  .pub-hero{padding:56px 0 64px}
  .pub-section{padding:64px 0}
  .pub-grid-2,.pub-grid-3,.pub-grid-4,.pub-dir,.pub-prices,.pub-anatomy{grid-template-columns:1fr}
  .pub-summary{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .pub-sum{padding:12px}
  .pub-sum b{font-size:24px}
  .pub-sum span{font-size:11px}
  .pub-card,.pub-card-feature{padding:22px}
  .pub-step{padding:22px 20px 22px 20px}
  .pub-step::before{position:static;margin-bottom:12px}
  .pub-cta{padding:32px 24px}
  .pub-calc-form,.pub-calc-result{padding:24px}
  .pub-chat-form{flex-direction:column}
  .pub-cols,.pub-keep{grid-template-columns:1fr}
  .pub-fields{grid-template-columns:1fr}
  .pub-flow.five{grid-template-columns:1fr}
  .pub-flow small{max-width:none;margin:4px 0 0}
  .pub-form{padding:24px 20px}
  .pub-form-foot .pub-btn{width:100%}
  .pub-todo-2{columns:1}
  .pub-setup{padding:24px 20px;border-radius:22px}
  .pub-mstep{padding:24px 20px}
  .pub-mstep-head{gap:14px}
  .pub-mstep-n{width:46px;height:46px;font-size:20px;border-radius:14px}
  .pub-money{flex-wrap:wrap}
  .pub-money>div{flex:1 1 50%;border-left:0;border-top:1px solid var(--hp-line-2)}
  .pub-money>div:nth-child(-n+2){border-top:0}
  .pub-money>div:nth-child(even){border-left:1px solid var(--hp-line-2)}
  .pub-flow{grid-template-columns:1fr;row-gap:0}
  .pub-flow li{display:grid;grid-template-columns:54px 1fr;column-gap:16px;align-items:center;text-align:left;padding:0 0 22px}
  .pub-flow li::before{margin:0}
  .pub-flow li::after,.pub-flow li:nth-child(3)::after{display:block;top:54px;left:26px;width:2px;height:calc(100% - 54px);background:linear-gradient(180deg,var(--hp-gold),#C3D0D9)}
  .pub-flow li:last-child::after{display:none}
  .pub-flow a{display:flex;align-items:center}
  .pub-chat-form .pub-btn{width:100%}
  .pub-footer-grid{grid-template-columns:1fr}
  .pub-btn-lg{width:100%}
  .pub-ctas .pub-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  .pub *{transition:none!important;animation:none!important}
  .pub-btn:hover,a.pub-card:hover,.pub-tile:hover{transform:none}
}
