/* ===========================================================
   Hartigan Software — shared site style
   Matches the FAQ / Help Topics components: navy ink, teal
   accent, card-based layout, plain readable type.
=========================================================== */

:root{
  --hsd-ink: #16233d;
  --hsd-ink-soft: #4b5a75;
  --hsd-bg: #ffffff;
  --hsd-card: #f6f7fa;
  --hsd-line: #dde2ea;
  --hsd-accent: #0f6e5f;
  --hsd-accent-soft: #e4f2ef;
  --hsd-focus: #1c5fd1;
  --hsd-max: 1040px;
}

*, *::before, *::after{ box-sizing: border-box; }

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

body{
  margin: 0;
  padding: 0;
  background: var(--hsd-bg);
  color: var(--hsd-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.6;
}

a{ color: var(--hsd-accent); text-decoration: none; }
a:hover{ text-decoration: underline; }
a:focus-visible, button:focus-visible{
  outline: 2px solid var(--hsd-focus);
  outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6{
  margin: 0 0 12px;
  font-weight: 700;
  color: var(--hsd-ink);
  line-height: 1.25;
}
h1{ font-size: clamp(28px, 4vw, 36px); }
h2{ font-size: 22px; }
h3{ font-size: 19px; margin-top: 32px; }
h4{ font-size: 16px; }

p{ margin: 0 0 14px; color: var(--hsd-ink-soft); max-width: 110ch; }

ul{ margin: 0 0 16px; padding-left: 20px; color: var(--hsd-ink-soft); }
li{ margin-bottom: 6px; }

img{ max-width: 100%; }

/* ---------- site header ---------- */

.hsd-site-header{
  border-bottom: 1px solid var(--hsd-line);
  background: var(--hsd-bg);
}

.hsd-site-header__inner{
  max-width: var(--hsd-max);
  margin: 0 auto;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.hsd-logo{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 18px;
  color: var(--hsd-ink);
}
.hsd-logo:hover{ text-decoration: none; }
.hsd-logo__mark{ width: 28px; height: 28px; border-radius: 6px; }

.hsd-nav{ display: flex; gap: 4px; flex-wrap: wrap; }

.hsd-nav__link{
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--hsd-ink-soft);
}
.hsd-nav__link:hover{ background: var(--hsd-accent-soft); color: var(--hsd-accent); text-decoration: none; }
.hsd-nav__link[aria-current="page"]{ background: var(--hsd-accent-soft); color: var(--hsd-accent); }

/* ---------- hero ---------- */

.hsd-hero{
  background: var(--hsd-card);
  border-bottom: 1px solid var(--hsd-line);
}

.hsd-hero__inner{
  max-width: var(--hsd-max);
  margin: 0 auto;
  padding: 48px 20px;
}

.hsd-hero__eyebrow{
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hsd-accent);
}

.hsd-hero h1{ margin-bottom: 14px; }

.hsd-hero p{ font-size: 16px; max-width: 110ch; }

.hsd-hero__facts{
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--hsd-line);
}

.hsd-hero__fact{ min-width: 140px; }

.hsd-hero__fact strong{
  display: block;
  font-size: 22px;
  color: var(--hsd-ink);
}

.hsd-hero__fact span{
  font-size: 13px;
  color: var(--hsd-ink-soft);
}

/* ---------- sub navigation (related products) ---------- */

.hsd-subnav{
  max-width: var(--hsd-max);
  margin: 0 auto;
  padding: 20px 20px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hsd-subnav__link{
  padding: 8px 16px;
  border: 1px solid var(--hsd-line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--hsd-ink-soft);
}
.hsd-subnav__link:hover{ border-color: var(--hsd-accent); color: var(--hsd-accent); text-decoration: none; }
.hsd-subnav__link[aria-current="page"]{
  background: var(--hsd-accent);
  border-color: var(--hsd-accent);
  color: #ffffff;
}

/* ---------- main content ---------- */

.hsd-page{
  max-width: var(--hsd-max);
  margin: 0 auto;
  padding: 40px 20px 64px;
}

.hsd-page section + section{ margin-top: 8px; }

/* ---------- cards / groups (matches help-topics style) ---------- */

.hsd-card{
  background: var(--hsd-card);
  border: 1px solid var(--hsd-line);
  border-radius: 10px;
  padding: 20px 22px;
  margin-bottom: 20px;
}

.hsd-card h3{ margin-top: 0; }

/* ---------- pricing / data tables ---------- */

.hsd-table-wrap{
  overflow-x: auto;
  margin: 16px 0 28px;
  border: 1px solid var(--hsd-line);
  border-radius: 10px;
}

table.hsd-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  background: var(--hsd-bg);
}

table.hsd-table caption{
  text-align: left;
  font-weight: 700;
  padding: 12px 16px;
  background: var(--hsd-accent-soft);
  color: var(--hsd-ink);
}

table.hsd-table th,
table.hsd-table td{
  padding: 10px 16px;
  border-bottom: 1px solid var(--hsd-line);
  text-align: left;
}

table.hsd-table th{
  background: var(--hsd-card);
  color: var(--hsd-ink);
  font-weight: 700;
}

table.hsd-table td.hsd-num,
table.hsd-table th.hsd-num{ text-align: right; }

table.hsd-table td.hsd-center,
table.hsd-table th.hsd-center{ text-align: center; }

table.hsd-table tbody tr:last-child td{ border-bottom: none; }

table.hsd-table .hsd-yes{ color: var(--hsd-accent); font-weight: 700; }
table.hsd-table .hsd-no{ color: var(--hsd-line); }

/* two pricing tables side by side on wide screens */
.hsd-table-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin: 16px 0 28px;
}
@media (min-width: 720px){
  .hsd-table-grid.hsd-table-grid--2{ grid-template-columns: 1fr 1fr; }
}
.hsd-table-grid .hsd-table-wrap{ margin: 0; }

/* ---------- download / resource lists ---------- */

.hsd-resource-list{
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hsd-resource-list li{ margin: 0; }

.hsd-resource-list a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--hsd-ink);
  font-weight: 600;
  font-size: 14px;
}

.hsd-resource-list a:hover{ background: var(--hsd-accent-soft); color: var(--hsd-accent); text-decoration: none; }

.hsd-resource-list img{ width: 16px; height: 16px; flex-shrink: 0; }

/* ---------- footer ---------- */

.hsd-footer{
  border-top: 1px solid var(--hsd-line);
  background: var(--hsd-card);
}

.hsd-footer__inner{
  max-width: var(--hsd-max);
  margin: 0 auto;
  padding: 24px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: var(--hsd-ink-soft);
}

.hsd-footer__inner img{ border-radius: 4px; }

.hsd-footer nav{ display: flex; flex-wrap: wrap; gap: 4px 14px; }

.hsd-footer nav a{ color: var(--hsd-ink-soft); font-weight: 600; }
.hsd-footer nav a:hover{ color: var(--hsd-accent); }

.hsd-footer__copy{ margin-left: auto; color: var(--hsd-ink-soft); }

@media (max-width: 600px){
  .hsd-footer__copy{ margin-left: 0; width: 100%; }
}

/* ===========================================================
   Support page — FAQ accordion + searchable help topics
=========================================================== */

.hsd-faq{
  padding: 64px 20px;
}

.hsd-faq__inner{
  max-width: 820px;
  margin: 0 auto;
}

.hsd-faq__title{
  margin: 0 0 12px;
  font-size: clamp(24px, 4vw, 30px);
}

.hsd-faq__intro{
  margin: 0 0 28px;
  font-size: 16px;
  max-width: 62ch;
}

.hsd-faq__list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hsd-faq__item{
  background: var(--hsd-card);
  border: 1px solid var(--hsd-line);
  border-radius: 10px;
  overflow: hidden;
}

.hsd-faq__q{ margin: 0; }

.hsd-faq__trigger{
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 18px 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--hsd-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: inherit;
}

.hsd-faq__trigger:hover{ background: var(--hsd-accent-soft); }

.hsd-faq__icon{
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
}
.hsd-faq__icon::before,
.hsd-faq__icon::after{
  content: "";
  position: absolute;
  background: var(--hsd-accent);
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.hsd-faq__icon::before{ top: 9px; left: 2px; width: 16px; height: 2px; }
.hsd-faq__icon::after{ top: 2px; left: 9px; width: 2px; height: 16px; }
.hsd-faq__trigger[aria-expanded="true"] .hsd-faq__icon::after{ transform: rotate(90deg); opacity: 0; }

.hsd-faq__a{ padding: 0 20px 20px; }
.hsd-faq__a p{ margin: 0; font-size: 15px; max-width: 110ch; }

/* ---- searchable help topics ---- */

.hsd-help__search{ position: relative; margin-bottom: 8px; }

.hsd-help__search-icon{
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--hsd-ink-soft);
  pointer-events: none;
}

.hsd-help__search-input{
  width: 100%;
  box-sizing: border-box;
  padding: 14px 16px 14px 46px;
  font-size: 16px;
  font-family: inherit;
  border: 1px solid var(--hsd-line);
  border-radius: 10px;
  background: var(--hsd-card);
  color: var(--hsd-ink);
}
.hsd-help__search-input:focus-visible{ outline: 2px solid var(--hsd-focus); outline-offset: 1px; }

.hsd-help__count{ margin: 0 0 32px; font-size: 13px; color: var(--hsd-ink-soft); }

.hsd-help__group + .hsd-help__group{ margin-top: 36px; }

.hsd-help__group-title{
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 700;
  color: var(--hsd-accent);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--hsd-line);
}

.hsd-help__topics{ display: flex; flex-direction: column; gap: 10px; }

.hsd-help__topic{
  background: var(--hsd-card);
  border: 1px solid var(--hsd-line);
  border-radius: 10px;
  padding: 16px 18px;
}

.hsd-help__topic-title{ margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.hsd-help__topic-title mark{ background: #ffe8a3; color: inherit; border-radius: 3px; padding: 0 2px; }
.hsd-help__topic-body{ margin: 0; font-size: 14px; max-width: 110ch; }

.hsd-help__empty{ margin-top: 28px; font-size: 15px; color: var(--hsd-ink-soft); text-align: center; }
/*--EXTRA--*/
Table.DataEntry {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    vertical-align: top;
    width: 600px;
    color: var(--hsd-ink-soft);
}
Table.DataEntry2 {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
Table.DataEntryNoWidth {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataCol1 {
    text-decoration: none;
    width: 200px;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataCol2 {
    width: 400px;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataCol1Alt {
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataCol2Alt {
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataCol {
    font-weight: normal;
    text-align: center;
    width: 600px;
    color: var(--hsd-ink-soft);
}
.BodyErr {color: red;}
.Buttons {text-align: center; padding-top:5px;}
.ErrMsg {color: red; font-style: italic;}
Table.details {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.detailsHdr {
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.detailsHdrL {
    text-align: left;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.detailsHdrR {
    text-align: right;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.detailsHdrC {
    text-align: center;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
td.DataColNP {
    text-align: left;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}

td.DataColCntrNP {
    text-align: center;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}

td.DataColRghtNP {
    text-align: right;
    text-decoration: none;
    vertical-align: top;
    color: var(--hsd-ink-soft);
}
input[type="text"], textarea, input[type="password"], input[type="email"], select,option {
    color: var(--hsd-ink-soft);
    border: 1px solid #808080;
    border-radius: 4px;
    -moz-border-radius: 4px;
}
.readOnly {
    background-color: var(--hsd-card);
    color: var(--hsd-ink-soft);
}
input[type="button"], input[type="submit"] {
    color: var(--hsd-ink-soft);
    border: 1px solid #808080;
    border-radius: 4px;
    -moz-border-radius: 4px;
    background-color: var(--hsd-card);
}
input[type="button"]:hover, input[type="submit"]:hover {
    background-color: #fafafa;
}
input[type="button"]:active, input[type="submit"]:active {
    background-color: #f5f5f5;
}
input[type="button"]:active, input[type="submit"]:active {
    background-color: #f5f5f5;
}
    input[type="submit"]:disabled,
    input[type="submit"][disabled] {
        border: 1px solid #999999;
        background-color: #f0f0f0;
        color: #607090;
    }

Span.Bold {
    font-weight: 700;
}