*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f4f4;color:#111827}.page{max-width:1050px;margin:0 auto;padding:24px 16px}.hero,.form-card,.result-card{background:#fff;padding:24px;border:1px solid #c7c7c7;margin-bottom:20px}.hero h1{margin-top:0}.note{background:#eef6ff;border-left:4px solid #2563eb;padding:10px}h2{margin-top:0}h3{text-align:center;margin-top:28px;margin-bottom:10px;font-size:22px}.question-table{width:100%;border:1px solid #9f9f9f;margin-bottom:24px}.table-header,.table-row{display:grid;grid-template-columns:2fr 1fr}.table-header{background:#d1d1d1;font-weight:bold}.table-header div,.table-row div{padding:9px 10px;border-right:1px solid #b8b8b8;border-bottom:1px solid #c7c7c7}.table-header div:last-child,.table-row div:last-child{border-right:none}.table-row:last-child div{border-bottom:none}.question,.answer{background:#fff}.radio-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center}input[type=number],input[type=date],select{width:100%;max-width:280px;padding:6px 8px;border:1px solid #999;border-radius:3px;font-size:14px}input[type=radio]{margin-right:5px}.submit-btn{display:block;width:100%;padding:14px;background:#2563eb;color:#fff;border:none;font-size:17px;font-weight:bold;cursor:pointer;margin-top:20px}.submit-btn:hover{background:#1d4ed8}.hidden{display:none}.result-card{border-left:6px solid #2563eb}.result-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #d1d5db;padding-bottom:12px;margin-bottom:16px}.result-header h2{margin:0}.result-badge{display:inline-block;padding:8px 14px;border-radius:999px;font-weight:bold;background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.result-badge.possible{background:#fff7ed;color:#9a3412;border-color:#fb923c}.result-badge.not-affected{background:#ecfdf5;color:#065f46;border-color:#10b981}.result-badge.more-info{background:#eef2ff;color:#3730a3;border-color:#6366f1}.result-section{border:1px solid #d1d5db;padding:14px 16px;margin:14px 0;background:#fafafa}.result-section h3{text-align:left;margin:0 0 8px 0;font-size:18px}#reasonList{margin:0;padding-left:22px}#reasonList li{margin:6px 0}.rules-list{display:flex;flex-wrap:wrap;gap:8px}.rule-pill{background:#e5e7eb;border:1px solid #9ca3af;padding:6px 10px;border-radius:999px;font-size:14px}.debug-section{margin-top:16px}pre{background:#111827;color:#e5e7eb;padding:16px;overflow-x:auto}@media(max-width:700px){.table-header,.table-row{grid-template-columns:1fr}.table-header div,.table-row div{border-right:none}.table-header div:nth-child(2){display:none}h3{font-size:19px}.result-header{align-items:flex-start;flex-direction:column}}


/* Add this to the bottom of styles.css */

.rules-table{
    width:100%;
    border-collapse:collapse;
    margin-top:10px;
}

.rules-table th,
.rules-table td{
    border:1px solid #c7cdd4;
    padding:10px;
    text-align:left;
    vertical-align:top;
}

.rules-table th{
    font-weight:bold;
    background:#eee;
}

/* =============================================
   Assessment Complete Banner
============================================= */

.assessment-complete-banner {
    margin-bottom: 24px;
    padding: 18px 0;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.assessment-complete-banner h2 {
    margin: 0 0 14px;
    font-size: 30px;
    color: #111827;
    font-weight: 700;
}

.assessment-complete-banner p {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
    color: #111827;
}

/* =============================================
   HilmayDigital page branding
============================================= */

:root {
  --hd-navy: #031b3c;
  --hd-blue: #0f67e9;
  --hd-white: #ffffff;
  --hd-border: #dce4ee;
  --hd-muted: #c8d5e6;
}

body {
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.site-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.site-header {
  background: var(--hd-navy);
  color: var(--hd-white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.header-inner {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--hd-white);
  text-decoration: none;
}

.brand-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 2px solid #3d92ff;
  border-radius: 7px;
  color: var(--hd-white);
  font-size: 1.45rem;
  font-weight: 800;
}

.brand-name {
  display: block;
  color: var(--hd-white);
  font-size: 1.85rem;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.brand-name span {
  color: var(--hd-blue);
}

.brand small {
  display: block;
  margin-top: 2px;
  color: var(--hd-white);
  font-size: 0.7rem;
}

.home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 17px;
  border: 1px solid #a9c8f2;
  border-radius: 7px;
  color: var(--hd-white);
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}

.home-button:hover,
.home-button:focus-visible {
  background: rgba(255, 255, 255, 0.1);
}

.site-footer {
  margin-top: 36px;
  padding: 34px 0 26px;
  background: var(--hd-navy);
  color: var(--hd-white);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr;
  gap: 52px;
}

.footer-brand .brand-mark {
  width: 40px;
  height: 40px;
  font-size: 1rem;
}

.footer-brand .brand-name {
  font-size: 1.35rem;
}

.site-footer p {
  margin: 14px 0;
  color: #eef4fb;
  font-size: 0.88rem;
}

.site-footer small {
  color: var(--hd-muted);
}

.footer-links h3 {
  margin: 0 0 12px;
  color: var(--hd-white);
  text-align: left;
  font-size: 0.92rem;
}

.footer-links a {
  display: block;
  margin: 8px 0;
  color: var(--hd-white);
  text-decoration: none;
  font-size: 0.84rem;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: #72adff;
  text-decoration: underline;
}

.footer-trust {
  font-weight: 600;
}

@media (max-width: 820px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .site-container {
    width: min(100% - 24px, 1180px);
  }

  .header-inner {
    min-height: 76px;
    gap: 14px;
  }

  .brand-mark {
    width: 43px;
    height: 43px;
    font-size: 1rem;
  }

  .brand-name {
    font-size: 1.25rem;
  }

  .brand small {
    display: none;
  }

  .home-button {
    padding: 9px 11px;
    font-size: 0.8rem;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

/* Landing-page header and footer on assessment page */
:root{--navy:#031b3c;--blue:#0f67e9;--text:#0e1b33;--muted:#59667a;--border:#dce4ee;--white:#fff}
[hidden]{display:none!important}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{background:var(--navy);color:#fff}
.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-header .brand,.site-footer .brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.site-header .brand-mark,.site-footer .brand-mark{width:54px;height:54px;display:grid;place-items:center;border:2px solid #3d92ff;border-radius:7px;color:#fff;font-size:1.45rem;font-weight:800}
.site-header .brand-name,.site-footer .brand-name{display:block;color:#fff;font-size:1.85rem;letter-spacing:-.04em}
.site-header .brand-name span,.site-footer .brand-name span{color:var(--blue)}
.site-header .brand small{display:block;margin-top:-2px;color:#fff;font-size:.7rem}
.sign-in-button{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;border:1px solid #a9c8f2;border-radius:7px;color:#fff;text-decoration:none;font-weight:700}
.account-area{position:relative;margin-left:auto}.signed-in-account{position:relative}
.profile-button{display:inline-flex;align-items:center;gap:9px;padding:7px 11px 7px 8px;border:1px solid #a9c8f2;border-radius:7px;background:transparent;color:#fff;font-weight:700;cursor:pointer}
.profile-button:hover,.profile-button:focus-visible{background:rgba(255,255,255,.08)}
.profile-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--navy);font-size:.82rem;font-weight:800}
.profile-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-chevron{font-size:1rem;transition:transform .2s ease}.profile-button[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}
.profile-dropdown{position:absolute;right:0;top:calc(100% + 12px);z-index:80;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);box-shadow:0 22px 55px rgba(3,27,60,.24)}
.profile-dropdown:before{content:"";position:absolute;right:22px;top:-8px;width:14px;height:14px;transform:rotate(45deg);border-left:1px solid var(--border);border-top:1px solid var(--border);background:#fff}
.profile-summary{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--border)}
.profile-large-avatar{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;background:#e7f1ff;color:var(--blue);font-weight:800}
.profile-summary strong,.profile-summary span{display:block}.profile-summary strong{color:var(--navy)}.profile-summary span{margin-top:2px;color:var(--muted);font-size:.82rem}
.profile-section{padding:16px 18px 10px}.profile-section-title{margin:0 0 10px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.assessment-list{display:grid;gap:10px}.assessment-item{padding:13px;border:1px solid var(--border);border-radius:9px;background:#fbfdff}
.assessment-name{display:inline-block;color:var(--navy);font-weight:800;text-decoration:none}.assessment-balance{display:block;margin-top:3px;color:var(--muted);font-size:.8rem}
.assessment-link{display:inline-flex;align-items:center;gap:5px;margin-top:9px;color:var(--blue);font-size:.82rem;font-weight:800;text-decoration:none}
.profile-actions{display:grid;padding:8px 0;border-top:1px solid var(--border)}
.profile-actions a,.profile-actions button{display:block;width:100%;padding:11px 18px;border:0;background:#fff;color:var(--navy);text-align:left;text-decoration:none;font-weight:700;cursor:pointer}
.profile-actions a:hover,.profile-actions button:hover{background:#f1f6fc;color:var(--blue)}
.site-footer{margin-top:36px;padding:34px 0 24px;background:var(--navy);color:#fff}
.site-footer .footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1fr;gap:58px}
.site-footer .footer-brand .brand-mark{width:40px;height:40px;font-size:1rem}.site-footer .footer-brand .brand-name{font-size:1.35rem}
.site-footer .social-row{display:flex;gap:9px;margin:14px 0 10px}.site-footer .social-row a{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;text-decoration:none;font-size:.72rem;font-weight:800}
.site-footer h3{margin:0 0 10px;color:#fff;text-align:left;font-size:.9rem}.site-footer a,.site-footer .footer-link{display:block;margin:7px 0;padding:0;border:0;background:none;color:#fff;text-decoration:none;font-size:.84rem;cursor:pointer;text-align:left}
.site-footer .footer-trust strong{color:#3b93ff}
.modal{position:fixed;inset:0;display:none;z-index:100}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(3,18,39,.72)}
.modal-dialog{position:relative;width:min(900px,calc(100% - 32px));margin:7vh auto;background:#fff;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.modal-close{position:absolute;right:18px;top:12px;z-index:2;border:0;background:none;color:var(--text);font-size:2rem;cursor:pointer}
.legal-dialog{height:min(86vh,850px);display:flex;flex-direction:column;overflow:hidden}.legal-header{padding:20px 24px;border-bottom:1px solid var(--border)}.legal-header h2{margin:0;color:var(--navy)}
.legal-tabs{display:flex;gap:8px;padding:12px 20px;overflow-x:auto;border-bottom:1px solid var(--border)}.legal-tabs button{padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy);font-weight:700;cursor:pointer;white-space:nowrap}
.legal-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.legal-content{overflow-y:auto;padding:26px}.legal-content section{display:none}.legal-content section.active{display:block}.legal-content h3,.legal-content h4{color:var(--navy);text-align:left}
body.modal-open{overflow:hidden}

/* =========================================
   Trial Funnel Purchase Options
========================================= */

.funnel-purchase-options {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
}

.funnel-purchase-options.hidden {
    display: none;
}

.funnel-purchase-heading {
    text-align: center;
    margin-bottom: 35px;
}

.funnel-purchase-heading h2 {
    margin-bottom: 10px;
}

.funnel-purchase-heading p {
    max-width: 700px;
    margin: 0 auto;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

.price-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 28px;
    text-align: center;
}

.price-card.featured {
    border: 2px solid #2457d6;
}

.price-card ul {
    text-align: left;
    margin: 20px 0;
}

.price {
    font-size: 32px;
    font-weight: 800;
    margin: 10px 0;
}


.popular-label {
    font-weight: 700;
    margin: 10px 0;
}

.get-started {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 7px;
    background: #2457d6;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
}

/* October Special badge */
.october-special-card .offer-badge {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);

  background: #f6cf69;
  color: #b45309;

  padding: 6px 18px;
  border-radius: 20px;

  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;

  width: auto;
  right: auto;
}

/* October Special original price */
.october-special-card .original-price {
  margin-top: 18px;
  text-align: center;

  color: #ef2f2f;
  font-size: 2rem;
  font-weight: 600;

  text-decoration-line: line-through;
  text-decoration-thickness: 3px;
  text-decoration-color: #ef2f2f;
}

.october-special-card {
  background: #fff9e6;
}

/* Keep footer at bottom on short pages */
html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

.site-footer {
  margin-top: auto;
}

@media (max-width: 800px) {
    .pricing-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:960px){.site-footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.container{width:min(100% - 24px,1180px)}.site-header .brand-name{font-size:1.35rem}.site-header .brand-mark{width:44px;height:44px}.site-header .brand small{display:none}.sign-in-button{padding:9px 11px;font-size:.82rem}.profile-name{max-width:88px}.profile-dropdown{position:fixed;left:12px;right:12px;top:76px;width:auto}.profile-dropdown:before{right:26px}.site-footer .footer-grid{grid-template-columns:1fr}
.question-help {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}}







/* Mandatory-question validation: visible on desktop and mobile */
#assessmentForm .table-row.mandatory-question-missing {
  outline: 3px solid #d32f2f !important;
  outline-offset: -3px;
  background: #fff1f0 !important;
  border-radius: 4px;
}
#assessmentForm .table-row.mandatory-question-missing > .question,
#assessmentForm .table-row.mandatory-question-missing > .answer {
  background: #fff1f0 !important;
}
#assessmentForm .mandatory-question-error {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 4px 0;
  color: #b42318 !important;
  font-size: 14px;
  font-weight: 700;
}
