/* ============================================================
   MedBridge Access — shared design system
   Loaded site-wide via header.php. Use these classes on every
   page so the whole site stays visually consistent.
   ============================================================ */

:root{
  --mb-white:#ffffff;
  --mb-sand:#FBFAF6;       /* page background (warm near-white) */
  --mb-sand-2:#F4F1E9;     /* alt section background */
  --mb-tint:#EEF3F1;       /* soft teal tint section background */
  --mb-brand:#0E4D45;      /* primary deep teal */
  --mb-brand-dark:#0B3C36;
  --mb-accent:#C2832E;     /* warm amber accent (use sparingly) */
  --mb-ink:#1C2724;        /* primary text */
  --mb-ink-soft:#56635F;   /* secondary text */
  --mb-line:#E7E3DA;       /* hairline borders */
}

/* ---- Base ---- */
body{
  font-family:'Hanken Grotesk',ui-sans-serif,system-ui,-apple-system,sans-serif;
  color:var(--mb-ink);
  background:var(--mb-sand);
  -webkit-font-smoothing:antialiased;
}
.mb-serif{font-family:'Fraunces',Georgia,'Times New Roman',serif;}

/* ---- Layout ---- */
.mb-container{max-width:1140px;margin:0 auto;padding-left:24px;padding-right:24px;}
.mb-narrow{max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px;}
.mb-section{padding-top:clamp(48px,7vw,92px);padding-bottom:clamp(48px,7vw,92px);}
.mb-section-sm{padding-top:clamp(36px,5vw,60px);padding-bottom:clamp(36px,5vw,60px);}
.mb-bg-tint{background:var(--mb-tint);}
.mb-bg-sand2{background:var(--mb-sand-2);}
.mb-bg-brand{background:var(--mb-brand);color:#fff;}

/* ---- Typography ---- */
.mb-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mb-accent);margin:0 0 16px;}
.mb-kicker{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mb-brand);margin:0 0 14px;}
.mb-h1{font-weight:480;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.06;letter-spacing:-.015em;margin:0 0 20px;color:var(--mb-ink);}
.mb-h1 em{font-style:italic;color:var(--mb-brand);}
.mb-h2{font-weight:480;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.12;letter-spacing:-.01em;margin:0 0 16px;color:var(--mb-ink);}
.mb-h3{font-weight:600;font-size:1.2rem;line-height:1.3;margin:0 0 10px;color:var(--mb-ink);}
.mb-lead{font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.65;color:var(--mb-ink-soft);margin:0;}
.mb-prose{color:var(--mb-ink-soft);line-height:1.72;font-size:1.04rem;}
.mb-prose p{margin:0 0 1.1em;}
.mb-prose h2{font-family:'Fraunces',serif;font-weight:480;font-size:clamp(1.5rem,2.8vw,2rem);color:var(--mb-ink);margin:1.8em 0 .6em;line-height:1.15;}
.mb-prose h3{font-weight:600;font-size:1.2rem;color:var(--mb-ink);margin:1.5em 0 .5em;}
.mb-prose ul{margin:0 0 1.1em;padding-left:0;list-style:none;}
.mb-prose ul li{position:relative;padding-left:30px;margin-bottom:.7em;line-height:1.6;}
.mb-prose ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--mb-brand);font-weight:700;}
.mb-prose strong{color:var(--mb-ink);font-weight:600;}
.mb-intro{max-width:680px;margin-bottom:44px;}
.mb-intro.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---- Buttons ---- */
.mb-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;padding:.82rem 1.5rem;border-radius:12px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;font-family:inherit;}
.mb-btn-primary{background:var(--mb-brand);color:#fff;box-shadow:0 6px 18px -8px rgba(14,77,69,.7);}
.mb-btn-primary:hover{background:var(--mb-brand-dark);color:#fff;transform:translateY(-2px);}
.mb-btn-ghost{background:transparent;color:var(--mb-brand);border:1.5px solid var(--mb-brand);}
.mb-btn-ghost:hover{background:var(--mb-brand);color:#fff;transform:translateY(-2px);}
.mb-btn-block{width:100%;justify-content:center;}

/* ---- Cards ---- */
.mb-card{background:var(--mb-white);border:1px solid var(--mb-line);border-radius:18px;padding:30px 28px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-decoration:none;display:block;color:inherit;}
.mb-card-hover:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(28,39,36,.4);border-color:#d8d2c4;}
.mb-card p{color:var(--mb-ink-soft);line-height:1.62;margin:0;}
.mb-ico{width:48px;height:48px;border-radius:12px;background:var(--mb-tint);display:flex;align-items:center;justify-content:center;color:var(--mb-brand);font-size:1.25rem;margin-bottom:18px;}

/* ---- Grids ---- */
.mb-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.mb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

/* ---- Forms ---- */
.mb-form-card{background:var(--mb-white);border:1px solid var(--mb-line);border-radius:20px;padding:clamp(28px,4vw,44px);box-shadow:0 24px 60px -40px rgba(28,39,36,.35);}
.mb-field{margin-bottom:20px;}
.mb-field label{display:block;font-weight:600;font-size:.92rem;color:var(--mb-ink);margin-bottom:8px;}
.mb-input,.mb-form-card input[type=text],.mb-form-card input[type=email],.mb-form-card input[type=tel],.mb-form-card input[type=password],.mb-form-card input[type=number],.mb-form-card input[type=date],.mb-form-card input[type=file],.mb-form-card select,.mb-form-card textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--mb-ink);
  background:var(--mb-white);border:1px solid var(--mb-line);border-radius:11px;
  padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease;
}
.mb-form-card input:focus,.mb-form-card select:focus,.mb-form-card textarea:focus{
  outline:none;border-color:var(--mb-brand);box-shadow:0 0 0 3px rgba(14,77,69,.12);
}
.mb-form-card textarea{min-height:130px;resize:vertical;}
.mb-form-card label{font-weight:600;font-size:.92rem;color:var(--mb-ink);}

/* ---- Misc ---- */
.mb-divider{border:none;border-top:1px solid var(--mb-line);margin:28px 0;}
.mb-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--mb-line);background:
  radial-gradient(1100px 520px at 88% -10%,rgba(14,77,69,.07),transparent 60%),
  radial-gradient(700px 400px at -5% 110%,rgba(194,131,46,.06),transparent 60%),
  var(--mb-sand);}

/* ---- Entrance animation ---- */
@keyframes mbFade{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.mb-anim{opacity:0;animation:mbFade .7s ease forwards;}
.mb-d1{animation-delay:.05s;}.mb-d2{animation-delay:.15s;}.mb-d3{animation-delay:.25s;}

/* ---- Responsive ---- */
@media (max-width:900px){
  .mb-grid-3{grid-template-columns:1fr;}
  .mb-grid-4{grid-template-columns:repeat(2,1fr);}
  .mb-grid-2{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .mb-grid-4{grid-template-columns:1fr;}
}