/* Inner pages: Platform, Products, Product details, Industries, Solutions.
   Uses the .hp tokens and components from home.css. Classes: pg- (shared), pf- (platform), pc- (products), sc- (sectors). */

/* ---------- shared ---------- */
.pg .hp-hero{padding-bottom:clamp(44px,5vw,72px)}
.pg-jump{position:sticky;top:var(--header-height,88px);z-index:40;background:color-mix(in srgb,var(--hp-bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hp-soft)}
.pg-jump ul{display:flex;gap:6px;margin:0;padding:10px 0;list-style:none;overflow-x:auto;scrollbar-width:none}
.pg-jump ul::-webkit-scrollbar{display:none}
.pg-jump a{display:block;white-space:nowrap;padding:8px 14px;border:1px solid transparent;border-radius:999px;color:var(--hp-text-2);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s,background .2s}
.pg-jump a:hover{color:var(--hp-text);border-color:var(--hp-border)}
.pg-jump a.is-active{color:var(--hp-text);border-color:var(--hp-accent);background:var(--hp-surface)}
.pg-jump a:focus-visible{outline:2px solid var(--hp-accent);outline-offset:2px}
.pg [id]{scroll-margin-top:calc(var(--header-height,88px) + 76px)}
.pg-legend{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px;color:var(--hp-muted);font-size:14px}
.pg-legend li{display:flex;align-items:center;gap:10px}
.pg-legend .hp-badge{margin:0}
.pg-panel dl{margin:0}
.pg-panel dl div{display:flex;gap:20px;padding:14px 20px;border-top:1px solid var(--hp-soft);font-size:14.5px;line-height:1.5}
.pg-panel dl div:first-child{border-top:0}
.pg-panel dt{flex:0 0 96px;color:var(--hp-muted);font-weight:500}
.pg-panel dd{margin:0;color:var(--hp-text)}
.pg-panel a{color:inherit;text-decoration:none}
.pg-panel a:hover{color:var(--hp-accent-ink)}
.pg-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-surface);color:var(--hp-accent-ink);font-size:18px;transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease)}
.pg-back{display:flex;width:fit-content;align-items:center;gap:8px;margin-bottom:22px;color:var(--hp-muted);font-size:14px;font-weight:500;text-decoration:none}
.pg-back:hover{color:var(--hp-text)}
.pg-back i{font-size:12px}

/* ---------- platform: parts of the software ---------- */
.pf-mods{border-top:1px solid var(--hp-border)}
.pf-mod{display:grid;grid-template-columns:104px minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);padding:clamp(28px,3.5vw,44px) 0;border-bottom:1px solid var(--hp-border)}
.pf-mod-aside{display:flex;align-items:flex-start;gap:16px}
.pf-num{padding-top:10px;color:var(--hp-muted);font-size:14px;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.pf-mod:hover .pg-icon{border-color:var(--hp-accent);transform:translateY(-2px)}
.pf-mod-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px}
.pf-mod-head h3{font-size:clamp(21px,2vw,26px)}
.pf-mod-head .hp-badge{margin:0}
.pf-mod-main p{max-width:560px;color:var(--hp-text-2);font-size:16px;line-height:1.7}
.pf-points{align-self:center;margin:0;padding:20px 22px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-surface)}
.pf-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr) auto minmax(0,1fr);gap:20px;align-items:stretch}
.pf-node{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease)}
.pf-node:hover{border-color:rgba(255,121,0,.5);transform:translateY(-3px)}
.pf-node.is-core{border-color:rgba(255,121,0,.55)}
.pf-node h3{font-size:19px}
.pf-node p{color:var(--hp-text-2);font-size:15px;line-height:1.6}
.pf-arrow{align-self:center;color:var(--hp-muted);font-size:14px}
.pf-optional{display:flex;align-items:center;gap:18px;margin-top:20px;padding:22px 26px;border:1px dashed var(--hp-border);border-radius:var(--hp-r-lg);color:var(--hp-text-2);font-size:15px;line-height:1.65}
.pf-optional strong{color:var(--hp-text);font-weight:600}

/* ---------- products ---------- */
.pc-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow);overflow:hidden;transition:border-color var(--hp-t),box-shadow var(--hp-t) var(--hp-ease),transform var(--hp-t) var(--hp-ease)}
.pc-row+.pc-row{margin-top:24px}
.pc-row:hover{border-color:rgba(255,121,0,.5);box-shadow:var(--hp-shadow-hover);transform:translateY(-3px)}
.pc-row .hp-vis{height:auto;min-height:260px;border-bottom:0;border-right:1px solid var(--hp-border)}
.pc-row:hover .hp-vis svg{transform:scale(1.04)}
.pc-body{padding:clamp(26px,3vw,40px)}
.pc-body h3{font-size:clamp(23px,2.2vw,28px)}
.pc-tag{margin-top:6px;color:var(--hp-accent-ink);font-size:15px;font-weight:600}
.pc-desc{margin-top:14px;max-width:620px;color:var(--hp-text-2);font-size:16px;line-height:1.7}
.pc-body .hp-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:22px 0}
.pc-status{padding-top:18px;border-top:1px solid var(--hp-soft);color:var(--hp-muted);font-size:14px;line-height:1.6}
.pc-status strong{color:var(--hp-text-2);font-weight:600}
.pc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:20px}
.pc-table-wrap{overflow-x:auto;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface)}
.pc-table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
.pc-table th,.pc-table td{padding:16px 22px;text-align:left;vertical-align:top;border-top:1px solid var(--hp-soft);line-height:1.55}
.pc-table thead th{border-top:0;background:var(--hp-surface-2);color:var(--hp-text);font-size:15px;font-weight:600}
.pc-table tbody th{width:150px;color:var(--hp-muted);font-weight:500}
.pc-table td{color:var(--hp-text-2)}
.pc-pick{display:flex;flex-direction:column}
.pc-pick a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--hp-soft);color:var(--hp-text);font-size:15px;text-decoration:none;transition:background .2s}
.pc-pick a:first-child{border-top:0}
.pc-pick a:hover{background:var(--hp-surface-2)}
.pc-pick small{display:block;color:var(--hp-muted);font-size:13px}
.pc-pick i{color:var(--hp-accent-ink);font-size:12px}

/* product detail */
.pd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pd-grid li{padding:18px 20px 18px 46px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-surface);color:var(--hp-text-2);font-size:15px;line-height:1.6}
.pd-grid li::before{left:20px;top:1.5em}
.pd-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);overflow:hidden}
.pd-facts div{padding:22px 26px;border-top:1px solid var(--hp-soft)}
.pd-facts div:nth-child(-n+2){border-top:0}
.pd-facts div:nth-child(even){border-left:1px solid var(--hp-soft)}
.pd-facts dt{margin-bottom:6px;color:var(--hp-muted);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.pd-facts dd{margin:0;color:var(--hp-text);font-size:15px;line-height:1.6}
.pd-limits li{border-left:3px solid var(--hp-warn)}
.pd-limits li::before{border-color:var(--hp-warn)}
.pd-vis{display:grid;place-items:center;min-height:260px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);box-shadow:var(--hp-shadow);color:var(--hp-text-2)}
.pd-vis svg{width:78%;max-width:340px;height:auto}
.pd-vis .s-line{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.pd-vis .s-tile{fill:var(--hp-surface);stroke:currentColor;stroke-width:1.4;opacity:.9}
.pd-vis .s-acc{fill:none;stroke:var(--hp-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pd-vis .s-dot{fill:var(--hp-accent)}
.pd-vis .s-txt{fill:currentColor;font:600 11px Inter,system-ui,sans-serif;letter-spacing:.08em}

/* ---------- sectors (industries and solutions) ---------- */
.sc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sc-card{position:relative;display:flex;flex-direction:column;padding:26px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease),box-shadow var(--hp-t)}
.sc-card:hover,.sc-card:focus-within{border-color:rgba(255,121,0,.5);transform:translateY(-3px);box-shadow:var(--hp-shadow-hover)}
.sc-card .pg-icon{margin-bottom:20px}
.sc-card:hover .pg-icon{border-color:var(--hp-accent)}
.sc-card h3{font-size:19px}
.sc-card p{margin-top:10px;color:var(--hp-text-2);font-size:15px;line-height:1.65}
.sc-card .hp-badge{margin:18px 0 0}
.sc-card .hp-link{margin-top:auto;padding-top:20px}
.sc-card .hp-link::after{content:"";position:absolute;inset:0}
.sc-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sc-status a{position:relative;display:block;padding:24px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);color:inherit;text-decoration:none;transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease)}
.sc-status a:hover{border-color:rgba(255,121,0,.5);transform:translateY(-3px)}
.sc-status h3{font-size:17px}
.sc-status p{margin-top:8px;color:var(--hp-text-2);font-size:14.5px;line-height:1.6}
.sc-status span:not(.pg-icon){display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--hp-accent-ink);font-size:14px;font-weight:600}
.sc-status span:not(.pg-icon) i{font-size:11px;transition:transform var(--hp-t) var(--hp-ease)}
.sc-status a:hover span i{transform:translateX(4px)}
.sc-built{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:start}
.sc-built p{color:var(--hp-text-2);font-size:17px;line-height:1.75}
.sc-built .hp-list{margin-top:24px}
.sc-note{margin-top:22px;padding:16px 18px;border:1px solid var(--hp-border);border-left:3px solid var(--hp-warn);border-radius:var(--hp-r-sm);background:var(--hp-surface);color:var(--hp-text-2);font-size:14.5px;line-height:1.65}
.sc-focus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sc-focus article{padding:24px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);transition:border-color var(--hp-t)}
.sc-focus article:hover{border-color:rgba(255,121,0,.5)}
.sc-focus b{display:block;margin-bottom:14px;color:var(--hp-accent-ink);font-size:13px;font-weight:700;letter-spacing:.08em}
.sc-focus p{color:var(--hp-text);font-size:15px;line-height:1.6}
.sc-trial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:t}
.sc-trial li{counter-increment:t;padding:24px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface)}
.sc-trial li::before{content:counter(t);display:grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border:1px solid var(--hp-border);border-radius:50%;color:var(--hp-text);font-weight:600}
.sc-trial h3{font-size:17px}
.sc-trial p{margin-top:8px;color:var(--hp-text-2);font-size:15px;line-height:1.65}

/* ---------- features, integrations, about, NOP Lab ---------- */
.sc-status.ft-details{grid-template-columns:repeat(4,minmax(0,1fr))}
.sc-focus a.hp-link{display:inline;font-size:inherit}
.pg-panel dt.ig-dt{flex:1 1 auto}
.pg-panel dt.ig-dt a{color:var(--hp-text)}
.pg-panel dt.ig-dt a:hover{color:var(--hp-accent-ink)}
.pg-panel dt.ig-dt+dd{flex:0 0 auto}
.sc-card .ig-points{margin-top:16px;gap:8px}
.sc-card .ig-points li{font-size:14.5px}
.ab-contacts{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}
.ab-contacts li{display:flex;justify-content:space-between;gap:16px;padding-top:10px;border-top:1px solid var(--hp-soft);font-size:15px}
.ab-contacts li:first-child{padding-top:0;border-top:0}
.ab-contacts span{color:var(--hp-muted)}
.ab-contacts a{color:var(--hp-text);text-decoration:none;font-weight:500}
.ab-contacts a:hover{color:var(--hp-accent-ink)}
.ab-status article .hp-badge{margin:0 0 14px}
.ab-offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ab-office-actions{margin-top:20px}
.nl-points{margin-top:24px}
.nl-card{align-self:start}
.nl-card-body{padding:22px 24px 8px}
.nl-card-body p{color:var(--hp-text-2);font-size:15px;line-height:1.6;margin-bottom:16px}
.nl-card label{display:block;margin-bottom:8px;color:var(--hp-muted);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nl-card input[type=text]{width:100%;padding:14px 16px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-bg);color:var(--hp-text);font:600 18px ui-monospace,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}
.nl-card input[type=text]:focus{outline:2px solid var(--hp-accent);outline-offset:1px;border-color:var(--hp-accent)}
.nl-card button{width:100%;justify-content:center;margin-top:14px}
.nl-err{margin-bottom:14px;padding:11px 14px;border:1px solid rgba(239,68,68,.45);border-radius:var(--hp-r-sm);background:rgba(239,68,68,.1);color:#ff9a94;font-size:14px}
.nl-help{padding:14px 24px 22px;color:var(--hp-muted);font-size:14px;line-height:1.6}
.nl-help a{color:var(--hp-accent-ink);text-decoration:none}

/* ---------- book a demo (contact) ---------- */
.ct-hero-grid{align-items:start}
.ct-points{margin-top:24px}
.ct-direct{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ct-direct a{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-surface);color:var(--hp-text);text-decoration:none;transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease)}
.ct-direct a:hover{border-color:var(--hp-accent);transform:translateY(-2px)}
.ct-direct i{color:var(--hp-accent-ink);font-size:16px}
.ct-direct span{display:flex;flex-direction:column;color:var(--hp-muted);font-size:13px}
.ct-direct b{color:var(--hp-text);font-size:15px;font-weight:600}
.ct-form{scroll-margin-top:calc(var(--header-height,88px) + 20px)}
.ct-form-body{padding:20px 24px 24px}
.ct-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ct-field{margin-top:14px}
.ct-field label{display:block;margin-bottom:6px;color:var(--hp-text-2);font-size:13.5px;font-weight:600}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:12px 14px;border:1px solid var(--hp-border);border-radius:var(--hp-r-sm);background:var(--hp-bg);color:var(--hp-text);font:inherit;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:var(--hp-accent);box-shadow:0 0 0 3px rgba(255,121,0,.14)}
.ct-field textarea{min-height:120px;resize:vertical}
.ct-err{margin:6px 0 0;min-height:0;font-size:13px;line-height:1.4;color:#ff9a94}
.ct-err:empty{display:none}
.ct-err::before{content:"!";display:inline-block;width:15px;height:15px;margin-right:6px;border-radius:50%;background:currentColor;color:inherit;font-size:11px;font-weight:800;line-height:15px;text-align:center;vertical-align:1px;-webkit-text-fill-color:var(--hp-bg,#000)}
.ct-field.is-bad input,.ct-field.is-bad select,.ct-field.is-bad textarea{border-color:rgba(239,68,68,.75);box-shadow:0 0 0 3px rgba(239,68,68,.14)}
.ct-field.is-bad .ct-err{animation:ct-shake .3s ease-out}
@keyframes ct-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.ct-field.is-bad .ct-err{animation:none}}
.ct-req{color:var(--hp-accent-ink)}
.ct-submit{width:100%;justify-content:center;margin-top:18px}
.ct-small{margin-top:12px;color:var(--hp-muted);font-size:13px;line-height:1.55}
.ct-alert{margin-bottom:6px;padding:13px 15px;border-radius:var(--hp-r-sm);font-size:14.5px;line-height:1.55}
.ct-alert.is-ok{border:1px solid rgba(34,197,94,.4);background:rgba(34,197,94,.1);color:#6ee09a}
.ct-alert.is-err{border:1px solid rgba(239,68,68,.45);background:rgba(239,68,68,.1);color:#ff9a94}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ct-contacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);overflow:hidden}
.ct-contacts div{display:flex;flex-direction:column;gap:4px;padding:18px 22px;border-left:1px solid var(--hp-soft)}
.ct-contacts div:first-child{border-left:0}
.ct-contacts span{color:var(--hp-muted);font-size:13px}
.ct-contacts a{color:var(--hp-text);font-size:15px;font-weight:500;text-decoration:none}
.ct-contacts a:hover{color:var(--hp-accent-ink)}
@media(max-width:1100px){.ct-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-contacts div:nth-child(3){border-left:0}.ct-contacts div:nth-child(n+3){border-top:1px solid var(--hp-soft)}}
@media(max-width:620px){.ct-row,.ct-contacts{grid-template-columns:1fr}.ct-contacts div{border-left:0;border-top:1px solid var(--hp-soft)}.ct-contacts div:first-child{border-top:0}}

/* About: office map (click to load) */
.ab-map{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0;margin-top:20px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);overflow:hidden}
.ab-map-copy{padding:clamp(24px,3vw,36px)}
.ab-map-copy .pg-icon{margin-bottom:18px}
.ab-map-copy h3{font-size:clamp(20px,2vw,24px)}
.ab-map-copy address{margin:12px 0;color:var(--hp-text);font-style:normal;font-size:16px;line-height:1.65}
.ab-map-copy p{color:var(--hp-text-2);font-size:15px;line-height:1.65}
.ab-map-frame{position:relative;min-height:380px;border-left:1px solid var(--hp-border);background:var(--hp-surface-2)}
.ab-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ab-map-idle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background-image:linear-gradient(var(--hp-soft) 1px,transparent 1px),linear-gradient(90deg,var(--hp-soft) 1px,transparent 1px);background-size:44px 44px}
.ab-map-idle>i{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--hp-border);border-radius:50%;background:var(--hp-surface);color:var(--hp-accent-ink);font-size:22px}
.ab-map-idle p{max-width:300px;color:var(--hp-muted);font-size:13.5px;line-height:1.55}
@media(max-width:900px){.ab-map{grid-template-columns:1fr}.ab-map-frame{border-left:0;border-top:1px solid var(--hp-border);min-height:340px}}

/* status pages and custom work (includes/status-page.php) */
.pg-panel dt.st-dt{flex:1 1 auto}
.pg-panel dt.st-dt a{color:var(--hp-text)}
.pg-panel dt.st-dt a:hover{color:var(--hp-accent-ink)}
.pg-panel dt.st-dt+dd{flex:0 0 auto;font-weight:600}
.st .sc-note{max-width:640px}
.st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.st-card{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface);transition:border-color var(--hp-t),transform var(--hp-t) var(--hp-ease)}
.st-card:hover{border-color:rgba(255,121,0,.5);transform:translateY(-3px)}
.st-card .hp-badge{margin:0 0 14px}
.st-card h3{font-size:19px}
.st-card p{margin-top:10px;color:var(--hp-text-2);font-size:15px;line-height:1.65}
.st-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:clamp(24px,3vw,36px);border:1px solid var(--hp-border);border-radius:var(--hp-r-lg);background:var(--hp-surface)}
.st-next h2{font-size:clamp(22px,2.4vw,28px)}
.st-next p{max-width:560px;margin-top:8px;color:var(--hp-text-2);font-size:16px;line-height:1.65}

/* pricing */
.pr-sub{margin:30px 0 12px;font-size:18px}
.pr-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.pr-steps li{position:relative;counter-increment:s;padding:18px 20px 18px 62px;border:1px solid var(--hp-border);border-radius:var(--hp-r);background:var(--hp-surface);color:var(--hp-text-2);font-size:15px;line-height:1.6}
.pr-steps li::before{content:counter(s);position:absolute;left:18px;top:16px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--hp-border);border-radius:50%;color:var(--hp-text);font-weight:600;font-size:14px}
.pr-fine{margin-top:14px;color:var(--hp-cta-muted,var(--hp-muted));font-size:13px}
.pr-calc .pr-form{padding:6px 24px 4px}
.pr-out{padding:6px 24px 24px}
.pr-hint{color:var(--hp-muted);font-size:15px}
.pr-res-t{margin:14px 0 10px;font-size:17px}
.pr-rows{margin:0 0 6px;padding:0;list-style:none}
.pr-rows li,.pr-total{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--hp-soft);color:var(--hp-text-2);font-size:15px}
.pr-rows b,.pr-total b{color:var(--hp-text);font-weight:650;white-space:nowrap}
.pr-total{border-top:1px solid var(--hp-border);color:var(--hp-text);font-size:17px;font-weight:600}
.pr-total b{font-size:20px;color:var(--hp-accent-ink)}
.pr-hand{margin-top:10px;padding:12px 14px;border:1px solid var(--hp-border);border-left:3px solid var(--hp-warn);border-radius:var(--hp-r-sm);color:var(--hp-text-2);font-size:14.5px;line-height:1.55}
.pr-note{margin-top:14px;color:var(--hp-muted);font-size:13.5px;line-height:1.6}
.pr-go{margin-top:14px}
.pr .pc-table th[scope=row]{width:34%}

/* 404 */
.nf-hero{text-align:center}
.nf-hero .hp-lead{margin-left:auto;margin-right:auto}
.nf-hero .hp-actions{justify-content:center}
.nf-code{margin:0;color:var(--hp-accent-ink);font-size:clamp(72px,14vw,140px);font-weight:700;line-height:1;letter-spacing:-.04em}
.nf-go .pg-icon{margin-bottom:16px}
.nf-small{margin-top:28px;color:var(--hp-text-2);font-size:15px;text-align:center}
.nf-small a{color:var(--hp-accent-ink);text-decoration:none;font-weight:600}
.nf button.btn{font-family:inherit;cursor:pointer}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .pf-mod{grid-template-columns:84px minmax(0,1fr)}
  .pf-points{grid-column:2}
  .pf-mod-aside{flex-direction:column;gap:12px}
  .pc-row{grid-template-columns:1fr}
  .pc-row .hp-vis{min-height:200px;border-right:0;border-bottom:1px solid var(--hp-border)}
  .sc-grid,.sc-status,.sc-trial,.sc-status.ft-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-grid,.pr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-focus{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-built{grid-template-columns:1fr}
}
@media(max-width:900px){
  .pf-flow{grid-template-columns:1fr;gap:12px}
  .pf-arrow{justify-self:center;transform:rotate(90deg)}
}
@media(max-width:700px){
  .pc-body .hp-list{grid-template-columns:1fr}
  .sc-grid,.sc-status,.sc-trial,.sc-focus,.pd-grid,.pd-facts,.sc-status.ft-details,.ab-offices,.st-grid,.pr-steps{grid-template-columns:1fr}
  .pd-facts div:nth-child(2){border-top:1px solid var(--hp-soft)}
  .pd-facts div:nth-child(even){border-left:0}
}
@media(max-width:620px){
  .pf-mod{grid-template-columns:1fr;gap:16px}
  .pf-mod-aside{flex-direction:row;align-items:center}
  .pf-num{padding-top:0}
  .pf-points{grid-column:1}
  .pg-panel dl div{flex-direction:column;gap:2px}
  .pf-optional{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .pg-icon,.pf-node,.pg-jump a,.pc-row,.sc-card,.sc-status a,.sc-status span:not(.pg-icon) i{transition:none}
  .pf-mod:hover .pg-icon,.pf-node:hover,.pc-row:hover,.sc-card:hover,.sc-card:focus-within,.sc-status a:hover{transform:none}
  .pc-row:hover .hp-vis svg{transform:none}
}
