/* --- inline critical CSS first seen in: about/index.html --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:#fff;color:#1a2a3a;font-size:18px;line-height:1.62;overflow-x:hidden}
#nav{position:fixed;top:0;left:0;right:0;z-index:200;background:#fff;border-bottom:1px solid #e2e6ec;box-shadow:0 1px 3px rgba(0,0,0,.06);height:68px}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1160px;margin:0 auto;padding:0 28px}
.hero{padding:148px 0 88px;background:#0f1f3d;position:relative;overflow:hidden}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
h1{font-family:'Syne',sans-serif;font-size:clamp(1.7rem,3.6vw,2.75rem);font-weight:700;color:#0f1f3d;line-height:1.2}
.hero h1{color:#fff}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,.85);margin:18px 0 32px;max-width:560px;line-height:1.85}
.btn{display:inline-flex;align-items:center;gap:7px;padding:12px 26px;border-radius:4px;font-size:15px;font-weight:600;font-family:inherit;border:none;white-space:nowrap;cursor:pointer;min-height:44px}
.btn-gold{background:#c97d1a;color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(10,124,101,.2);border:1px solid rgba(10,124,101,.4);padding:5px 13px;border-radius:100px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#6ee7c7}
/* --- inline critical CSS first seen in: index.html --- */
@keyframes marquee {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .marquee-track:hover { animation-play-state: paused; }
    .marquee-track img:hover { opacity: 1 !important; filter: none !important; }
/* --- inline critical CSS first seen in: resources/assessments/index.html --- */
.assess-card {
      background: #fff;
      border: 1.5px solid var(--gray-200);
      border-radius: 14px;
      padding: 28px;
      display: flex;
      flex-direction: column;
      gap: 0;
      transition: border-color .2s, box-shadow .2s, transform .2s;
      text-decoration: none;
      color: inherit;
    }
    .assess-card:hover {
      border-color: var(--teal);
      box-shadow: 0 8px 28px rgba(10,124,101,.1);
      transform: translateY(-2px);
    }
    .assess-card-icon {
      font-size: 28px;
      margin-bottom: 14px;
      line-height: 1;
    }
    .assess-card-tag {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 3px 8px;
      border-radius: 100px;
      display: inline-block;
      margin-bottom: 10px;
      align-self: flex-start;
    }
    .tag-systems { background: var(--teal-light); color: var(--teal); border: 1px solid var(--teal-line); }
    .tag-intake  { background: var(--amber-light); color: var(--amber); border: 1px solid var(--amber-line); }
    .tag-web     { background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; }
    .tag-billing { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
    .tag-ops     { background: var(--navy-xlight); color: var(--navy); border: 1px solid rgba(15,31,61,.12); }
    .tag-staff   { background: #faf5ff; color: #7c3aed; border: 1px solid #e9d5ff; }

    .assess-card h3 {
      font-size: 1.05rem;
      margin-bottom: 8px;
      color: var(--navy);
    }
    .assess-card p {
      font-size: 14px;
      color: var(--gray-600);
      line-height: 1.6;
      flex: 1;
      margin-bottom: 20px;
    }
    .assess-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 12px;
      color: var(--gray-400);
      border-top: 1px solid var(--gray-100);
      padding-top: 14px;
      margin-top: auto;
    }
    .assess-meta span { font-weight: 500; }
    .assess-meta .cta-arrow {
      color: var(--teal);
      font-weight: 600;
      font-size: 13px;
    }

    .featured-card {
      background: var(--navy);
      border: none;
      border-radius: 14px;
      padding: 32px;
      display: flex;
      flex-direction: column;
      gap: 0;
      transition: box-shadow .2s, transform .2s;
      text-decoration: none;
      color: inherit;
      grid-column: 1 / -1;
    }
    .featured-card:hover {
      box-shadow: 0 12px 40px rgba(15,31,61,.3);
      transform: translateY(-2px);
    }
    .featured-inner {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 32px;
      align-items: center;
    }
    .featured-card h3 {
      font-family: 'Syne', sans-serif;
      font-size: 1.35rem;
      font-weight: 700;
      color: #fff;
      margin-bottom: 10px;
    }
    .featured-card p {
      font-size: 15px;
      color: rgba(255,255,255,.8);
      line-height: 1.65;
      max-width: 560px;
    }
    .featured-pillars {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 16px;
    }
    .pillar-chip {
      font-size: 11px;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 100px;
      background: rgba(255,255,255,.1);
      color: rgba(255,255,255,.85);
      border: 1px solid rgba(255,255,255,.15);
    }

    @media(max-width: 768px) {
      .featured-inner { grid-template-columns: 1fr; }
      .featured-card .btn { width: 100%; justify-content: center; }
    }
/* --- inline critical CSS first seen in: resources/billing-audit/index.html --- */
.progress-bar-wrap{background:var(--gray-200);border-radius:100px;height:6px;margin-bottom:36px;overflow:hidden}
    .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:100px;transition:width .5s cubic-bezier(.4,0,.2,1);width:0%}
    .step-counter{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
    .q-card{display:none;animation:fadeUp .35s ease both}.q-card.active{display:block}
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
    .q-headline{font-family:'Syne',sans-serif;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:10px}
    .q-sub{font-size:15px;color:var(--gray-500);line-height:1.65;margin-bottom:28px;max-width:560px}
    .options{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
    .opt{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1.5px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s;text-align:left;width:100%;font-family:'Inter',system-ui,sans-serif}
    .opt:hover{border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,124,101,.08)}
    .opt.selected{border-color:var(--teal);background:var(--teal-light);box-shadow:0 0 0 3px rgba(10,124,101,.12)}
    .opt.selected .opt-check{background:var(--teal);border-color:var(--teal);color:#fff}
    .opt-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--gray-300);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:all .15s;margin-top:1px}
    .opt-text{flex:1}.opt-label{font-size:15px;font-weight:500;color:var(--navy);line-height:1.4}
    .opt-hint{font-size:12.5px;color:var(--gray-500);margin-top:3px;line-height:1.45}
    .opt-score{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;flex-shrink:0;margin-top:2px}
    .score-good{background:#dcfce7;color:#166534}.score-warn{background:#fef3c7;color:#92400e}.score-bad{background:#fee2e2;color:#991b1b}
    .q-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
    .btn-back{background:none;border:1.5px solid var(--gray-200);color:var(--gray-500);font-size:14px;font-weight:500;padding:10px 18px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:border-color .15s,color .15s}
    .btn-back:hover{border-color:var(--gray-400);color:var(--navy)}
    .btn-next{background:var(--amber);color:#fff;border:none;font-size:15px;font-weight:600;padding:12px 28px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:background .2s;opacity:.4;pointer-events:none}
    .btn-next.ready{opacity:1;pointer-events:auto}.btn-next.ready:hover{background:var(--amber-2)}
    .insight{display:none;background:var(--navy);border-radius:10px;padding:16px 20px;margin-bottom:28px;animation:fadeUp .3s ease}
    .insight.show{display:block}.insight-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--teal-mid);font-weight:600;margin-bottom:6px}
    .insight p{font-size:14px;color:rgba(255,255,255,.88);line-height:1.65;margin:0}
    #results-screen{display:none}
    .score-dial{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0 auto 24px;border:6px solid var(--teal)}
    .score-number{font-family:'Syne',sans-serif;font-size:2.4rem;font-weight:800;line-height:1;color:var(--teal)}
    .result-band{padding:20px 24px;border-radius:12px;margin-bottom:20px;text-align:center}
    .band-critical{background:#fee2e2;border:1px solid #fca5a5}.band-needs-work{background:#fef3c7;border:1px solid #fcd34d}.band-solid{background:var(--teal-light);border:1px solid var(--teal-line)}
    .finding-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
    .finding-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--gray-700);line-height:1.55;background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:12px 14px}
    .finding-list li span.fi{font-size:16px;flex-shrink:0}
    .contact-form-wrap{background:var(--navy);border-radius:16px;padding:32px;margin-top:32px}
    .contact-form-wrap h3{color:#fff;margin-bottom:6px}.contact-form-wrap>p{color:rgba(255,255,255,.8);font-size:15px;margin-bottom:24px}
    .contact-form-wrap .fg label{color:rgba(255,255,255,.75)}
    .contact-form-wrap .fg input,.contact-form-wrap .fg textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
    .contact-form-wrap .fg input::placeholder,.contact-form-wrap .fg textarea::placeholder{color:rgba(255,255,255,.35)}
    .contact-form-wrap .fg input:focus,.contact-form-wrap .fg textarea:focus{border-color:var(--teal-mid);background:rgba(255,255,255,.1)}
    .assess-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;max-width:1000px;margin:0 auto;padding:0 28px;align-items:start}
    .assess-sidebar{position:sticky;top:calc(var(--nh) + 24px)}
    .sidebar-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:20px}
    .sidebar-card h4{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:16px;font-family:'Inter',system-ui,sans-serif}
    .sidebar-answers{list-style:none;display:flex;flex-direction:column;gap:10px}
    .sidebar-answers li{font-size:12.5px;color:var(--gray-600);line-height:1.4;padding-bottom:10px;border-bottom:1px solid var(--gray-100)}
    .sidebar-answers li:last-child{border-bottom:none;padding-bottom:0}
    .sidebar-answers li strong{display:block;font-size:11px;color:var(--gray-400);font-weight:500;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
    .form-success{display:none;text-align:center;padding:32px 20px}
    .form-success h3{color:#fff;margin-bottom:10px}.form-success p{color:rgba(255,255,255,.8);font-size:15px}
    @media(max-width:768px){.assess-layout{grid-template-columns:1fr}.assess-sidebar{display:none}.contact-form-wrap{padding:24px 20px}}
/* --- inline critical CSS first seen in: resources/clio-assessment/index.html --- */
.assess-wrap{max-width:680px;margin:0 auto;padding:0 24px}
    .progress-bar-wrap{background:var(--gray-200);border-radius:100px;height:6px;margin-bottom:36px;overflow:hidden}
    .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:100px;transition:width .5s cubic-bezier(.4,0,.2,1);width:0%}
    .step-counter{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
    .q-card{display:none;animation:fadeUp .35s ease both}
    .q-card.active{display:block}
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
    .q-headline{font-family:'Syne',sans-serif;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:10px}
    .q-sub{font-size:15px;color:var(--gray-500);line-height:1.65;margin-bottom:28px;max-width:560px}
    .options{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
    .opt{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1.5px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s;text-align:left;width:100%;font-family:'Inter',system-ui,sans-serif}
    .opt:hover{border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,124,101,.08)}
    .opt.selected{border-color:var(--teal);background:var(--teal-light);box-shadow:0 0 0 3px rgba(10,124,101,.12)}
    .opt.selected .opt-check{background:var(--teal);border-color:var(--teal);color:#fff}
    .opt-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--gray-300);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:all .15s;margin-top:1px}
    .opt-text{flex:1}
    .opt-label{font-size:15px;font-weight:500;color:var(--navy);line-height:1.4}
    .opt-hint{font-size:12.5px;color:var(--gray-500);margin-top:3px;line-height:1.45}
    .opt-score{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;flex-shrink:0;margin-top:2px}
    .score-good{background:#dcfce7;color:#166534}
    .score-warn{background:#fef3c7;color:#92400e}
    .score-bad{background:#fee2e2;color:#991b1b}
    .q-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
    .btn-back{background:none;border:1.5px solid var(--gray-200);color:var(--gray-500);font-size:14px;font-weight:500;padding:10px 18px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:border-color .15s,color .15s}
    .btn-back:hover{border-color:var(--gray-400);color:var(--navy)}
    .btn-next{background:var(--amber);color:#fff;border:none;font-size:15px;font-weight:600;padding:12px 28px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:background .2s;opacity:.4;pointer-events:none}
    .btn-next.ready{opacity:1;pointer-events:auto}
    .btn-next.ready:hover{background:var(--amber-2)}
    .insight{display:none;background:var(--navy);border-radius:10px;padding:16px 20px;margin-bottom:28px;animation:fadeUp .3s ease}
    .insight.show{display:block}
    .insight-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--teal-mid);font-weight:600;margin-bottom:6px}
    .insight p{font-size:14px;color:rgba(255,255,255,.88);line-height:1.65;margin:0}
    .insight strong{color:#fff}
    #results-screen{display:none}
    .score-dial{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0 auto 24px;border:6px solid var(--teal)}
    .score-number{font-family:'Syne',sans-serif;font-size:2.4rem;font-weight:800;line-height:1}
    .score-label-sm{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
    .result-band{padding:20px 24px;border-radius:12px;margin-bottom:20px;text-align:center}
    .band-critical{background:#fee2e2;border:1px solid #fca5a5}
    .band-needs-work{background:#fef3c7;border:1px solid #fcd34d}
    .band-solid{background:var(--teal-light);border:1px solid var(--teal-line)}
    .finding-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
    .finding-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--gray-700);line-height:1.55;background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:12px 14px}
    .finding-list li span.fi{font-size:16px;flex-shrink:0}
    .contact-form-wrap{background:var(--navy);border-radius:16px;padding:32px;margin-top:32px}
    .contact-form-wrap h3{color:#fff;margin-bottom:6px}
    .contact-form-wrap>p{color:rgba(255,255,255,.8);font-size:15px;margin-bottom:24px}
    .contact-form-wrap .fg label{color:rgba(255,255,255,.75)}
    .contact-form-wrap .fg input,.contact-form-wrap .fg textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
    .contact-form-wrap .fg input::placeholder,.contact-form-wrap .fg textarea::placeholder{color:rgba(255,255,255,.35)}
    .contact-form-wrap .fg input:focus,.contact-form-wrap .fg textarea:focus{border-color:var(--teal-mid);background:rgba(255,255,255,.1)}
    .assess-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;max-width:1000px;margin:0 auto;padding:0 28px;align-items:start}
    .assess-sidebar{position:sticky;top:calc(var(--nh) + 24px)}
    .sidebar-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:20px}
    .sidebar-card h4{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:16px;font-family:'Inter',system-ui,sans-serif}
    .sidebar-answers{list-style:none;display:flex;flex-direction:column;gap:10px}
    .sidebar-answers li{font-size:12.5px;color:var(--gray-600);line-height:1.4;padding-bottom:10px;border-bottom:1px solid var(--gray-100)}
    .sidebar-answers li:last-child{border-bottom:none;padding-bottom:0}
    .sidebar-answers li strong{display:block;font-size:11px;color:var(--gray-400);font-weight:500;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
    .form-success{display:none;text-align:center;padding:32px 20px}
    .form-success .success-icon{font-size:48px;margin-bottom:16px}
    .form-success h3{color:#fff;margin-bottom:10px}
    .form-success p{color:rgba(255,255,255,.8);font-size:15px}
    @media(max-width:768px){.assess-layout{grid-template-columns:1fr}.assess-sidebar{display:none}.contact-form-wrap{padding:24px 20px}}
/* --- inline critical CSS first seen in: resources/lawmatics-assessment/index.html --- */
.progress-bar-wrap{background:var(--gray-200);border-radius:100px;height:6px;margin-bottom:36px;overflow:hidden}
    .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:100px;transition:width .5s cubic-bezier(.4,0,.2,1);width:0%}
    .step-counter{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
    .q-card{display:none;animation:fadeUp .35s ease both}
    .q-card.active{display:block}
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
    .q-headline{font-family:'Syne',sans-serif;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:10px}
    .q-sub{font-size:15px;color:var(--gray-500);line-height:1.65;margin-bottom:28px;max-width:560px}
    .options{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
    .opt{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1.5px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s;text-align:left;width:100%;font-family:'Inter',system-ui,sans-serif}
    .opt:hover{border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,124,101,.08)}
    .opt.selected{border-color:var(--teal);background:var(--teal-light);box-shadow:0 0 0 3px rgba(10,124,101,.12)}
    .opt.selected .opt-check{background:var(--teal);border-color:var(--teal);color:#fff}
    .opt-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--gray-300);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:all .15s;margin-top:1px}
    .opt-text{flex:1}
    .opt-label{font-size:15px;font-weight:500;color:var(--navy);line-height:1.4}
    .opt-hint{font-size:12.5px;color:var(--gray-500);margin-top:3px;line-height:1.45}
    .opt-score{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;flex-shrink:0;margin-top:2px}
    .score-good{background:#dcfce7;color:#166534}
    .score-warn{background:#fef3c7;color:#92400e}
    .score-bad{background:#fee2e2;color:#991b1b}
    .q-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
    .btn-back{background:none;border:1.5px solid var(--gray-200);color:var(--gray-500);font-size:14px;font-weight:500;padding:10px 18px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:border-color .15s,color .15s}
    .btn-back:hover{border-color:var(--gray-400);color:var(--navy)}
    .btn-next{background:var(--amber);color:#fff;border:none;font-size:15px;font-weight:600;padding:12px 28px;border-radius:var(--r);cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:background .2s;opacity:.4;pointer-events:none}
    .btn-next.ready{opacity:1;pointer-events:auto}
    .btn-next.ready:hover{background:var(--amber-2)}
    .insight{display:none;background:var(--navy);border-radius:10px;padding:16px 20px;margin-bottom:28px;animation:fadeUp .3s ease}
    .insight.show{display:block}
    .insight-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--teal-mid);font-weight:600;margin-bottom:6px}
    .insight p{font-size:14px;color:rgba(255,255,255,.88);line-height:1.65;margin:0}
    #results-screen{display:none}
    .score-dial{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0 auto 24px;border:6px solid var(--teal)}
    .score-number{font-family:'Syne',sans-serif;font-size:2.4rem;font-weight:800;line-height:1}
    .score-label-sm{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
    .result-band{padding:20px 24px;border-radius:12px;margin-bottom:20px;text-align:center}
    .band-critical{background:#fee2e2;border:1px solid #fca5a5}
    .band-needs-work{background:#fef3c7;border:1px solid #fcd34d}
    .band-solid{background:var(--teal-light);border:1px solid var(--teal-line)}
    .finding-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
    .finding-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--gray-700);line-height:1.55;background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:12px 14px}
    .finding-list li span.fi{font-size:16px;flex-shrink:0}
    .contact-form-wrap{background:var(--navy);border-radius:16px;padding:32px;margin-top:32px}
    .contact-form-wrap h3{color:#fff;margin-bottom:6px}
    .contact-form-wrap>p{color:rgba(255,255,255,.8);font-size:15px;margin-bottom:24px}
    .contact-form-wrap .fg label{color:rgba(255,255,255,.75)}
    .contact-form-wrap .fg input,.contact-form-wrap .fg textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
    .contact-form-wrap .fg input::placeholder,.contact-form-wrap .fg textarea::placeholder{color:rgba(255,255,255,.35)}
    .contact-form-wrap .fg input:focus,.contact-form-wrap .fg textarea:focus{border-color:var(--teal-mid);background:rgba(255,255,255,.1)}
    .assess-layout{display:grid;grid-template-columns:1fr 260px;gap:40px;max-width:1000px;margin:0 auto;padding:0 28px;align-items:start}
    .assess-sidebar{position:sticky;top:calc(var(--nh) + 24px)}
    .sidebar-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:20px}
    .sidebar-card h4{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:16px;font-family:'Inter',system-ui,sans-serif}
    .sidebar-answers{list-style:none;display:flex;flex-direction:column;gap:10px}
    .sidebar-answers li{font-size:12.5px;color:var(--gray-600);line-height:1.4;padding-bottom:10px;border-bottom:1px solid var(--gray-100)}
    .sidebar-answers li:last-child{border-bottom:none;padding-bottom:0}
    .sidebar-answers li strong{display:block;font-size:11px;color:var(--gray-400);font-weight:500;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
    .form-success{display:none;text-align:center;padding:32px 20px}
    .form-success .success-icon{font-size:48px;margin-bottom:16px}
    .form-success h3{color:#fff;margin-bottom:10px}
    .form-success p{color:rgba(255,255,255,.8);font-size:15px}
    @media(max-width:768px){.assess-layout{grid-template-columns:1fr}.assess-sidebar{display:none}.contact-form-wrap{padding:24px 20px}}
/* --- inline critical CSS first seen in: resources/website-assessment/index.html --- */
/* ── Assessment-specific styles ── */
    .assess-wrap {
      max-width: 680px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* Progress bar */
    .progress-bar-wrap {
      background: var(--gray-200);
      border-radius: 100px;
      height: 6px;
      margin-bottom: 36px;
      overflow: hidden;
    }
    .progress-bar-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--teal), var(--amber));
      border-radius: 100px;
      transition: width .5s cubic-bezier(.4,0,.2,1);
      width: 0%;
    }

    /* Step counter */
    .step-counter {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 10px;
    }

    /* Question card */
    .q-card {
      display: none;
      animation: fadeUp .35s ease both;
    }
    .q-card.active {
      display: block;
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .q-headline {
      font-family: 'Syne', sans-serif;
      font-size: clamp(1.25rem, 2.5vw, 1.65rem);
      font-weight: 700;
      color: var(--navy);
      line-height: 1.25;
      margin-bottom: 10px;
    }
    .q-sub {
      font-size: 15px;
      color: var(--gray-500);
      line-height: 1.65;
      margin-bottom: 28px;
      max-width: 560px;
    }

    /* Answer options */
    .options {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 32px;
    }
    .opt {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 16px 18px;
      background: #fff;
      border: 1.5px solid var(--gray-200);
      border-radius: 10px;
      cursor: pointer;
      transition: border-color .18s, box-shadow .18s, background .18s;
      text-align: left;
      width: 100%;
      font-family: 'Inter', system-ui, sans-serif;
    }
    .opt:hover {
      border-color: var(--teal);
      box-shadow: 0 0 0 3px rgba(10,124,101,.08);
    }
    .opt.selected {
      border-color: var(--teal);
      background: var(--teal-light);
      box-shadow: 0 0 0 3px rgba(10,124,101,.12);
    }
    .opt.selected .opt-check {
      background: var(--teal);
      border-color: var(--teal);
      color: #fff;
    }
    .opt-check {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 2px solid var(--gray-300);
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700;
      transition: all .15s;
      margin-top: 1px;
    }
    .opt-text {
      flex: 1;
    }
    .opt-label {
      font-size: 15px;
      font-weight: 500;
      color: var(--navy);
      line-height: 1.4;
    }
    .opt-hint {
      font-size: 12.5px;
      color: var(--gray-500);
      margin-top: 3px;
      line-height: 1.45;
    }

    /* Score indicator on option */
    .opt-score {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 2px 7px;
      border-radius: 100px;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .score-good  { background: #dcfce7; color: #166534; }
    .score-warn  { background: #fef3c7; color: #92400e; }
    .score-bad   { background: #fee2e2; color: #991b1b; }

    /* Navigation buttons */
    .q-nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }
    .btn-back {
      background: none;
      border: 1.5px solid var(--gray-200);
      color: var(--gray-500);
      font-size: 14px;
      font-weight: 500;
      padding: 10px 18px;
      border-radius: var(--r);
      cursor: pointer;
      font-family: 'Inter', system-ui, sans-serif;
      transition: border-color .15s, color .15s;
    }
    .btn-back:hover { border-color: var(--gray-400); color: var(--navy); }
    .btn-next {
      background: var(--amber);
      color: #fff;
      border: none;
      font-size: 15px;
      font-weight: 600;
      padding: 12px 28px;
      border-radius: var(--r);
      cursor: pointer;
      font-family: 'Inter', system-ui, sans-serif;
      transition: background .2s;
      opacity: .4;
      pointer-events: none;
    }
    .btn-next.ready {
      opacity: 1;
      pointer-events: auto;
    }
    .btn-next.ready:hover { background: var(--amber-2); }

    /* Insight callout that appears after selection */
    .insight {
      display: none;
      background: var(--navy);
      border-radius: 10px;
      padding: 16px 20px;
      margin-bottom: 28px;
      animation: fadeUp .3s ease;
    }
    .insight.show { display: block; }
    .insight-label {
      font-size: 9.5px;
      text-transform: uppercase;
      letter-spacing: .14em;
      color: var(--teal-mid);
      font-weight: 600;
      margin-bottom: 6px;
    }
    .insight p {
      font-size: 14px;
      color: rgba(255,255,255,.88);
      line-height: 1.65;
      margin: 0;
    }
    .insight strong { color: #fff; }

    /* Results screen */
    #results-screen { display: none; }
    .score-dial {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      margin: 0 auto 24px;
      position: relative;
    }
    .score-number {
      font-family: 'Syne', sans-serif;
      font-size: 2.4rem;
      font-weight: 800;
      line-height: 1;
    }
    .score-label-sm {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      margin-top: 4px;
    }

    .result-band {
      padding: 20px 24px;
      border-radius: 12px;
      margin-bottom: 20px;
      text-align: center;
    }
    .band-critical { background: #fee2e2; border: 1px solid #fca5a5; }
    .band-needs-work { background: #fef3c7; border: 1px solid #fcd34d; }
    .band-solid { background: var(--teal-light); border: 1px solid var(--teal-line); }

    .finding-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 28px;
    }
    .finding-list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      font-size: 15px;
      color: var(--gray-700);
      line-height: 1.55;
      background: #fff;
      border: 1px solid var(--gray-200);
      border-radius: 8px;
      padding: 12px 14px;
    }
    .finding-list li span.fi { font-size: 16px; flex-shrink: 0; }

    /* Contact form */
    .contact-form-wrap {
      background: var(--navy);
      border-radius: 16px;
      padding: 32px;
      margin-top: 32px;
    }
    .contact-form-wrap h3 {
      color: #fff;
      margin-bottom: 6px;
    }
    .contact-form-wrap > p {
      color: rgba(255,255,255,.8);
      font-size: 15px;
      margin-bottom: 24px;
    }
    .contact-form-wrap .fg label { color: rgba(255,255,255,.75); }
    .contact-form-wrap .fg input,
    .contact-form-wrap .fg textarea {
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.15);
      color: #fff;
    }
    .contact-form-wrap .fg input::placeholder,
    .contact-form-wrap .fg textarea::placeholder { color: rgba(255,255,255,.35); }
    .contact-form-wrap .fg input:focus,
    .contact-form-wrap .fg textarea:focus {
      border-color: var(--teal-mid);
      background: rgba(255,255,255,.1);
    }

    /* Sidebar score summary (desktop) */
    .assess-layout {
      display: grid;
      grid-template-columns: 1fr 260px;
      gap: 40px;
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 28px;
      align-items: start;
    }
    .assess-sidebar {
      position: sticky;
      top: calc(var(--nh) + 24px);
    }
    .sidebar-card {
      background: #fff;
      border: 1px solid var(--gray-200);
      border-radius: 12px;
      padding: 20px;
    }
    .sidebar-card h4 {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray-500);
      margin-bottom: 16px;
      font-family: 'Inter', system-ui, sans-serif;
    }
    .sidebar-answers { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .sidebar-answers li {
      font-size: 12.5px;
      color: var(--gray-600);
      line-height: 1.4;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--gray-100);
    }
    .sidebar-answers li:last-child { border-bottom: none; padding-bottom: 0; }
    .sidebar-answers li strong { display: block; font-size: 11px; color: var(--gray-400); font-weight: 500; margin-bottom: 2px; text-transform: uppercase; letter-spacing: .05em; }

    @media(max-width: 768px) {
      .assess-layout { grid-template-columns: 1fr; }
      .assess-sidebar { display: none; }
      .contact-form-wrap { padding: 24px 20px; }
    }

    /* Submission state */
    .form-success { display: none; text-align: center; padding: 32px 20px; }
    .form-success .success-icon { font-size: 48px; margin-bottom: 16px; }
    .form-success h3 { color: #fff; margin-bottom: 10px; }
    .form-success p { color: rgba(255,255,255,.8); font-size: 15px; }
/* --- inline critical CSS first seen in: thank-you/index.html --- */
.ty-wrap{
      min-height:100vh;
      display:flex;align-items:center;justify-content:center;
      padding:40px 24px;
      background:linear-gradient(135deg,#0f1f3d 0%,#1a3158 100%);
    }
    .ty-card{
      background:#fff;border-radius:20px;
      padding:52px 44px;max-width:520px;width:100%;
      text-align:center;
      box-shadow:0 32px 80px rgba(0,0,0,.4);
    }
    @keyframes xDraw{to{stroke-dashoffset:0}}
    @media(max-width:480px){.ty-card{padding:36px 24px}}

/* ---- Mobile viewport safety + text wrapping (assessment/all pages) ---- */
@media (max-width:768px){
  html, body { overflow-x:hidden !important; max-width:100% !important; }
  .assess-layout { grid-template-columns:1fr !important; max-width:100% !important; }
  .assess-layout > *, #quiz-screen, #results-screen, .q-card,
  .options, .opt, .contact-form-wrap, .finding-list, .finding-list li, .sec .wrap { min-width:0 !important; max-width:100% !important; }
  /* flex children must be allowed to shrink (default min-width:auto causes overflow) */
  .opt-text, .opt-label, .opt-hint { min-width:0 !important; max-width:100% !important; }
  .btn, .btn-full, .opt, .faq-q, .btn-next, .btn-back { white-space:normal !important; }
  .btn, .opt, .opt-text, .opt-label, .opt-hint, .q-headline, .q-sub, .faq-q, .faq-a,
  .finding-list li, p, li, h1, h2, h3 { overflow-wrap:break-word; word-break:break-word; }
}

/* ---- Remove Hello Elementor reset.css reddish button hover/focus (site-wide) ---- */
button:hover, button:focus, button:active,
input[type="button"]:hover, input[type="button"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
input[type="reset"]:hover, input[type="reset"]:focus { background-color: transparent; }
/* keep quiz option cards white on hover (they use the teal border/shadow, not a bg) */
.opt:hover, .opt:focus { background:#fff !important; }

