/* ============ MemoHoney (Build 2) — Base ============ */
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--cw-font-body);
  color:var(--cw-ink);
  background:var(--cw-cream);
  line-height:1.7;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-bottom:0;
}
h1,h2,h3,h4,.cw-display{
  font-family:var(--cw-font-head);
  color:var(--cw-teal-900);
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1.16;
}
h1{ font-size:clamp(2.15rem,5vw,3.6rem); }
h2{ font-size:clamp(1.55rem,3.2vw,2.3rem); }
h3{ font-size:clamp(1.1rem,2.2vw,1.35rem); }
p{ margin-bottom:1rem; color:var(--cw-ink-soft); }
a{ color:var(--cw-coral-700); text-decoration:none; transition:color .2s var(--cw-ease); }
a:hover{ color:var(--cw-teal-700); }
img{ max-width:100%; height:auto; display:block; }
.cw-container{ max-width:var(--cw-max); margin:0 auto; padding:0 22px; }
::selection{ background:var(--cw-coral-500); color:#fff; }

.cw-centered-img, .cw-section img, .cw-card img, figure img{
  display:block !important; margin-left:auto !important; margin-right:auto !important;
}

a:focus-visible, button:focus-visible, .cw-btn:focus-visible{
  outline:3px solid var(--cw-coral-500); outline-offset:2px;
}

.cw-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--cw-mint-100); color:var(--cw-teal-700);
  font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:7px 16px; border-radius:var(--cw-r-pill); margin-bottom:16px;
}
.cw-eyebrow.on-dark{ background:rgba(255,255,255,.12); color:var(--cw-mint-200); }
.cw-eyebrow .dot{ width:7px;height:7px;border-radius:50%; background:var(--cw-coral-600); }

.cw-lede{ font-size:1.12rem; color:var(--cw-ink-soft); max-width:60ch; margin:0 auto 1.2rem; }

.cw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-weight:700; font-size:1rem; padding:16px 32px; border-radius:var(--cw-r-pill);
  border:2px solid transparent; cursor:pointer; transition:transform .22s var(--cw-ease), box-shadow .22s var(--cw-ease);
  white-space:nowrap; font-family:var(--cw-font-head);
}
.cw-btn-coral{ background:var(--cw-grad-coral); color:#fff; box-shadow:var(--cw-shadow-coral); }
.cw-btn-coral:hover{ transform:translateY(-3px); color:#fff; box-shadow:0 20px 36px rgba(224,96,63,.4); }
.cw-btn-outline{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.cw-btn-outline:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }
.cw-btn-teal{ background:var(--cw-teal-800); color:#fff; }
.cw-btn-teal:hover{ background:var(--cw-teal-900); color:#fff; transform:translateY(-3px); }
.cw-btn-sm{ padding:11px 22px; font-size:.88rem; }
.cw-btn-block{ width:100%; }

.cw-pill{
  display:inline-flex; align-items:center; gap:6px; background:var(--cw-mint-100);
  border:1px solid var(--cw-line); color:var(--cw-teal-800); font-weight:700; font-size:.8rem;
  padding:7px 14px; border-radius:var(--cw-r-pill);
}
.cw-skip-link{
  position:absolute; left:-999px; top:0; background:var(--cw-teal-900); color:#fff;
  padding:12px 18px; z-index:2000; border-radius:0 0 10px 0;
}
.cw-skip-link:focus{ left:0; }
hr.cw-rule{ border:0; border-top:1px solid var(--cw-line); margin:2.4rem 0; }
