/* Self-contained footer — no Tailwind/Lucide dependency, so it renders the same on the
   bespoke homepage and the Tailwind inner pages. Mirrors the original footer.php look. */
.cf { background:#f5f5f7; padding:64px 0; border-top:1px solid #e5e7eb; font-family:'Inter',system-ui,-apple-system,sans-serif; color:#1d1d1f; box-sizing:border-box; }
.cf *, .cf *::before, .cf *::after { box-sizing:border-box; }
.cf a { color:inherit; text-decoration:none; }
.cf-wrap { max-width:80rem; margin:0 auto; padding:0 24px; }

/* buttons: force white text — beats the `.cf a{color:inherit}` above on specificity */
.cf a.cf-btn, .cf a.cf-btn-green, .cf a.cf-btn-black { color:#fff; }
.cf-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 24px; border-radius:999px; font-size:14px; font-weight:600; white-space:nowrap; transition:transform .2s ease, box-shadow .2s ease, filter .2s ease; will-change:transform; }
.cf-btn-sm { padding:9px 20px; }
.cf-btn-green { background:linear-gradient(135deg,#15803d,#25a35a); color:#fff; box-shadow:0 8px 22px rgba(21,128,61,.28); }
.cf-btn-green:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(21,128,61,.40); filter:brightness(1.05); }
.cf-btn-black { background:linear-gradient(135deg,#20242b,#000); color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.24); }
.cf-btn-black:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,0,0,.34); }
.cf-btn:active { transform:translateY(0); }
.cf-arrow { font-size:15px; line-height:1; transition:transform .2s ease; }
.cf-btn:hover .cf-arrow { transform:translateX(3px); }

.cf-ohp { margin-bottom:24px; padding:24px; border-radius:16px; background:linear-gradient(90deg,#f0fdf4,#f0fdfa); border:1px solid rgba(187,247,208,.6); box-shadow:0 1px 2px rgba(0,0,0,.04); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.cf-ohp-l { display:flex; align-items:center; gap:16px; }
.cf-ohp-ico { width:40px; height:40px; flex:0 0 auto; background:#dcfce7; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#15803d; }
.cf-ohp-h { color:#14532d; font-weight:600; font-size:16px; margin:0; }
.cf-ohp-p { color:#15803d; font-size:14px; margin:2px 0 0; }

.cf-consult { margin-bottom:64px; padding:32px; border-radius:16px; background:#fff; border:1px solid #e5e7eb; box-shadow:0 1px 2px rgba(0,0,0,.04); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.cf-consult-h { color:#111827; font-weight:600; font-size:18px; margin:0 0 8px; }
.cf-consult-p { color:#4b5563; font-size:15px; line-height:1.6; margin:0; max-width:42rem; }

.cf-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; font-size:14px; margin-bottom:48px; }
@media (min-width:768px){ .cf-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
.cf-brand-name { font-weight:600; font-size:18px; letter-spacing:-.01em; margin-bottom:16px; display:block; color:#111827; }
.cf-brand-lede { color:#4b5563; line-height:1.6; margin:0 0 12px; }
.cf-brand-sub { color:#6b7280; font-size:12px; margin:0; }
.cf-col-h { color:#111827; font-weight:600; margin:0 0 16px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.cf-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.cf-col a { color:#4b5563; transition:color .15s ease; }
.cf-col a:hover { color:#000; }
.cf-hot { color:#0f766e !important; font-weight:600; }
.cf-contact { color:#4b5563; margin:0 0 8px; }
.cf-contact a:hover { color:#000; }
.cf-mb { margin-bottom:24px; }

.cf-bottom { padding-top:32px; border-top:1px solid #e5e7eb; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; color:#6b7280; font-size:12px; }
.cf-copy { display:flex; align-items:center; gap:16px; }
.cf-3d { color:#6b7280; display:inline-flex; transition:opacity .15s ease; }
.cf-3d:hover { opacity:.7; }
.cf-social { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.cf-social a:hover { color:#000; }
.cf-badge { max-width:100%; height:auto; }
@media (max-width:520px){ .cf-bottom { justify-content:center; text-align:center; } }
