/* =========================================================
   MemoHoney — Base
   ========================================================= */
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--mh-font-body);
  color:var(--mh-ink);
  background:var(--mh-honey-50);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.mh-display{
  font-family:var(--mh-font-display);
  color:var(--mh-navy-900);
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.14;
}
h1{ font-size:clamp(2.1rem,5vw,3.4rem); }
h2{ font-size:clamp(1.6rem,3.4vw,2.4rem); }
h3{ font-size:clamp(1.2rem,2.4vw,1.5rem); }
p{ margin-bottom:1rem; }
a{ color:var(--mh-gold-700); text-decoration:none; transition:color .2s var(--mh-ease); }
a:hover{ color:var(--mh-navy-700); }
img{ max-width:100%; height:auto; display:block; }
.mh-container{ max-width:var(--mh-container-max); margin:0 auto; padding:0 20px; }
section{ position:relative; }
::selection{ background:var(--mh-gold-400); color:var(--mh-navy-900); }

/* ---- STANDING RULE: images/sections always centred ---- */
.mh-centered-img, .mh-section img, .mh-card img, figure img{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.text-center-force{ text-align:center !important; }

/* Focus visibility for accessibility */
a:focus-visible, button:focus-visible, .mh-btn:focus-visible{
  outline:3px solid var(--mh-gold-400);
  outline-offset:2px;
}

/* Kicker / eyebrow labels */
.mh-kicker{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--mh-gold-700);
  margin-bottom:14px;
}
.mh-kicker::before{ content:""; width:22px; height:2px; background:var(--mh-gold-600); border-radius:2px; }
.mh-kicker.on-dark{ color:var(--mh-gold-300); }

.mh-lede{ font-size:1.12rem; color:var(--mh-ink-soft); max-width:62ch; margin:0 auto 1.2rem; }
.mh-eyebrow-line{ width:60px;height:3px;background:var(--mh-grad-gold);border-radius:3px;margin:14px auto 0; }

/* Buttons */
.mh-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-weight:800; font-size:1rem; padding:16px 34px; border-radius:var(--mh-radius-pill);
  border:2px solid transparent; cursor:pointer; transition:transform .22s var(--mh-ease), box-shadow .22s var(--mh-ease), background .22s;
  white-space:nowrap;
}
.mh-btn-gold{
  background:var(--mh-grad-gold); color:var(--mh-navy-900); box-shadow:var(--mh-shadow-gold);
}
.mh-btn-gold:hover{ transform:translateY(-3px); color:var(--mh-navy-900); box-shadow:0 18px 34px rgba(169,120,28,.36); }
.mh-btn-outline{ background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
.mh-btn-outline:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }
.mh-btn-navy{ background:var(--mh-navy-800); color:#fff; }
.mh-btn-navy:hover{ background:var(--mh-navy-900); color:#fff; transform:translateY(-3px); }
.mh-btn-sm{ padding:11px 22px; font-size:.9rem; }
.mh-btn-block{ width:100%; }

/* Badges / pills */
.mh-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--mh-honey-100); border:1px solid var(--mh-line);
  color:var(--mh-navy-800); font-weight:700; font-size:.82rem;
  padding:7px 14px; border-radius:var(--mh-radius-pill);
}

/* Skip link */
.mh-skip-link{
  position:absolute; left:-999px; top:0; background:var(--mh-navy-900); color:#fff;
  padding:12px 18px; z-index:2000; border-radius:0 0 10px 0;
}
.mh-skip-link:focus{ left:0; }

hr.mh-rule{ border:0; border-top:1px solid var(--mh-line); margin:2.4rem 0; }
