@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap');
/* Inspired Compliance — shared styles
   Brand: Healthcare Inspired teal + red (iC logo palette).
   Direction: restrained, editorial, flat surfaces, tight radii. */
:root{
  /* Healthcare Inspired brand (from HCi logo): teal #357583, red #c8222b */
  --brand-50:#eef4f6; --brand-100:#d9e7eb; --brand-200:#b3cfd6; --brand-300:#84b0bb;
  --brand-400:#57929f; --brand-500:#357583; --brand-600:#357583; --brand-700:#2a6370;
  --brand-800:#303649; --brand-900:#262b3b;
  --accent-50:#fcefef; --accent-100:#f8dadb; --accent-200:#efb2b5; --accent-300:#e3808a; --accent-400:#d64c55;
  --accent-500:#c8222b; --accent-600:#ae1d25; --accent-700:#91181f;
  --slate-50:#f7f7f8; --slate-100:#efeff1; --slate-200:#e2e2e5; --slate-300:#cbcbcf;
  --slate-400:#9b9a9b; --slate-500:#6d6d72; --slate-600:#4e4e53; --slate-700:#3b3b40;
  --slate-800:#2e2e33; --slate-900:#232327;
  --line:#e2e2e5;
  --r:8px; --r-sm:6px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;font-feature-settings:'tnum' 0;background:#fff;color:var(--slate-800);-webkit-font-smoothing:antialiased;font-size:16px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:var(--r-sm);font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap;line-height:1.2}
.btn-lg{padding:.75rem 1.3rem;font-size:.95rem}
.btn-block{width:100%}
.btn-primary{background:var(--brand-500);color:#fff}
.btn-primary:hover{background:var(--brand-700)}
.btn-accent{background:var(--accent-500);color:#fff}
.btn-accent:hover{background:var(--accent-600)}
.btn-secondary{background:var(--slate-100);color:var(--slate-700);border-color:var(--slate-200)}
.btn-outline{background:#fff;border-color:var(--slate-300);color:var(--slate-800)}
.btn-outline:hover{border-color:var(--slate-500)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.link{color:var(--brand-500);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}
.link:hover{text-decoration:underline;text-underline-offset:3px}

/* Form fields */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.85rem;font-weight:600;color:var(--slate-700)}
.field label .req{color:var(--accent-600)}
.field .hint{font-size:.78rem;color:var(--slate-500);line-height:1.45}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],select,textarea{
  width:100%;border:1px solid var(--slate-300);border-radius:var(--r-sm);padding:.6rem .75rem;font-size:.9rem;font-family:inherit;color:var(--slate-800);background:#fff}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}

/* Nav */
.nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.nav-logo img{height:38px;width:auto}
.nav-links{display:flex;gap:28px;font-size:.9rem;font-weight:500;color:var(--slate-600);white-space:nowrap}
.nav-links a:hover,.nav-links a.on{color:var(--slate-900)}
.nav-links a.on{box-shadow:inset 0 -2px 0 var(--accent-500);padding-bottom:4px}
.nav-ctas{display:flex;gap:8px;align-items:center}
.nav-signin{font-size:.875rem;font-weight:600;color:var(--slate-700);padding:0 8px}
.nav-signin:hover{color:var(--brand-700)}

/* Type helpers */
.pill,.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.75rem!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--brand-500);margin-bottom:14px;background:none;padding:0;border-radius:0}
.pill::before,.eyebrow::before{content:"";width:18px;height:2px;background:var(--accent-500);flex-shrink:0}
.grad{color:var(--brand-500)}

/* Badges — dot only, no background */
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:0;border-radius:0;font-size:.85rem;font-weight:500;white-space:nowrap;background:none!important;box-shadow:none!important;color:var(--slate-700)!important}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.b-teal{color:var(--brand-500)!important}.b-teal::before{background:var(--brand-500)}
.b-red{color:var(--accent-600)!important}.b-red::before{background:var(--accent-500)}
.b-amber{color:#92400e!important}.b-amber::before{background:#d29a2a}
.b-green{color:#276642!important}.b-green::before{background:#3f8f5a}
.b-slate{color:var(--slate-500)!important}.b-slate::before{background:var(--slate-400)}

/* Icon tile */
.ico{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.ico-teal{background:var(--brand-50);color:var(--brand-700)}
.ico-red{background:var(--accent-50);color:var(--accent-600)}

/* Sections */
.sec{padding:96px 0}
.sec-alt{background:var(--slate-50);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:46rem;margin:0 0 48px}
.sec-head h2{font-size:2.1rem;font-weight:600;color:var(--slate-900);margin-bottom:14px;letter-spacing:-.015em;line-height:1.2}
.sec-head p{color:var(--slate-600);line-height:1.65;font-size:1.02rem}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.lift{transition:border-color .15s}
.lift:hover{border-color:var(--slate-400)}

/* Footer */
.foot-bot{border-top:1px solid var(--line);background:#fff}
.foot-bot .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}
.foot-bot .l{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--slate-500)}
.foot-bot .l img{height:22px;width:auto}
.foot-bot .r{display:flex;gap:22px;font-size:.85rem;color:var(--slate-600)}
.foot-bot .r a:hover{color:var(--slate-900)}

/* Service cards */
.svc-band{background:var(--brand-50);border-top:1px solid var(--brand-100);border-bottom:1px solid var(--brand-100)}
.svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.svc-top .sec-head{margin:0}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.svc-card:hover{border-color:var(--brand-300);box-shadow:0 6px 20px -12px rgba(38,43,59,.25)}
.svc-card .si{width:40px;height:40px;border-radius:var(--r-sm);background:var(--brand-50);color:var(--brand-500);display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:18px}
.svc-card:nth-child(even) .si{background:var(--accent-50);color:var(--accent-500)}
.svc-card h3{font-size:1.05rem;font-weight:700;color:var(--slate-900);margin-bottom:8px}
.svc-card p{font-size:.88rem;color:var(--slate-600);line-height:1.6;flex:1}
.svc-card .tags{display:flex;gap:6px;margin-top:16px}

/* Hinri assistant button */
.hinri-fab{position:fixed;bottom:1.25rem;right:1.25rem;z-index:90;display:flex;align-items:center;gap:.45rem;background:#fff;color:var(--slate-700);border:1px solid var(--slate-300);border-radius:var(--r-sm);padding:.45rem .8rem;font-size:.85rem;font-weight:600;font-family:inherit;box-shadow:0 2px 8px rgba(38,43,59,.1);cursor:pointer}
.hinri-fab i{color:var(--brand-500)}
.hinri-fab:hover{border-color:var(--slate-500)}

/* Toast */
.ic-toast{position:fixed;top:1rem;right:1rem;z-index:120;padding:.75rem 1.1rem;border-radius:var(--r-sm);background:var(--slate-900);color:#fff;font-size:.86rem;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.15);display:none;align-items:center;gap:8px}
.ic-toast.on{display:flex;animation:ic-tin .2s ease-out}
@keyframes ic-tin{from{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}

@media (max-width:860px){.nav-links{display:none}.svc-cards{grid-template-columns:1fr 1fr}.svc-top{flex-direction:column;align-items:flex-start}}
@media (max-width:680px){
  .wrap{padding:0 20px}
  .nav-ctas .btn-outline,.nav-ctas .nav-signin{display:none}
  .foot-bot .wrap{flex-direction:column}
  .sec{padding:64px 0}
  .svc-cards{grid-template-columns:1fr}
}
