/* ============================================================
   másfollowers — content-pages.css
   Editorial Premium for content-style pages:
     · /faq           (FAQ accordion)
     · /blog          (article index)
     · /blog/{slug}   (article detail)
     · /contact       (form + sidebar)
     · /contact/gracias
   Mobile-first. Tokens from theme_style.css.
   Preserves JS contracts for faq.js, contact.js, blog-scripts.min.js.
   ============================================================ */

.mf-content{
  background:var(--mf-surface);
  color:var(--mf-ink);
  font-family:var(--mf-font);
}
.mf-content *{box-sizing:border-box;}
.mf-content img,.mf-content svg{display:block;max-width:100%;}

.mf-content .mf-container{
  max-width:var(--mf-container);
  margin:0 auto;
  padding-left:var(--mf-pad);
  padding-right:var(--mf-pad);
}

/* =========================================================
   SHARED HERO (FAQ / Blog / Contact)
   ========================================================= */
.mf-content-hero{
  padding:48px 0 32px;
  background:var(--mf-surface);
  border-bottom:1px solid var(--mf-line-soft);
}
@media (min-width:640px){.mf-content-hero{padding:64px 0 48px;}}
@media (min-width:900px){.mf-content-hero{padding:88px 0 64px;}}

.mf-content-hero-inner{
  max-width:var(--mf-container);
  margin:0 auto;
  padding:0 var(--mf-pad);
  display:flex;flex-direction:column;
  gap:14px;
}

.mf-content-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;
  color:var(--mf-ink-muted);
  letter-spacing:-.005em;
}
.mf-content-eyebrow::before{
  content:"";width:24px;height:1px;
  background:var(--mf-line-strong);
}
.mf-content-eyebrow em{
  font-family:var(--mf-font-serif);
  font-style:italic;font-weight:400;font-size:1.12em;
  color:var(--mf-ink);
}

.mf-content-hero h1{
  font-size:clamp(34px, 6vw, 64px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:600;
  color:var(--mf-ink);
  margin:0;
  max-width:18ch;
}
.mf-content-hero h1 em,
.mf-content-hero h1 .ed{
  font-family:var(--mf-font-serif);
  font-style:italic;font-weight:400;
  letter-spacing:-.02em;
}

.mf-content-hero p.lede{
  font-size:16px;line-height:1.55;
  color:var(--mf-ink-soft);
  max-width:54ch;margin:0;
}
@media (min-width:640px){.mf-content-hero p.lede{font-size:17px;}}

/* =========================================================
   /FAQ — search + accordion + sidebar
   Preserves JS (faq.js): #faqSearch, .faq-item, .faq-question, .active
   ========================================================= */
.mf-faq-page{padding:32px 0 64px;}
@media (min-width:900px){.mf-faq-page{padding:48px 0 96px;}}

.mf-faq-search{
  max-width:760px;
  margin:0 auto 32px;
  position:relative;
}
.mf-faq-search .search-icon{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:var(--mf-ink-muted);pointer-events:none;
}
#faqSearch{
  width:100%;
  height:48px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  padding:0 18px 0 46px;
  font:500 15px/1 var(--mf-font);
  color:var(--mf-ink);
  letter-spacing:-.005em;
  transition:border-color .15s ease, box-shadow .15s ease;
  outline:none;
}
#faqSearch::placeholder{color:var(--mf-ink-muted);}
#faqSearch:focus{
  border-color:var(--mf-accent);
  box-shadow:0 0 0 3px var(--mf-accent-glow);
}

.mf-faq-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  max-width:1100px;
  margin:0 auto;
}
@media (min-width:900px){
  .mf-faq-grid{grid-template-columns:1fr 320px;gap:48px;}
}

/* FAQ list — flat dividers (Linear style) */
.mf-faq-list{
  display:flex;flex-direction:column;
}
.mf-content .faq-item{
  background:transparent;
  border:0;
  border-bottom:1px solid var(--mf-line);
  padding:0;
}
.mf-content .faq-item:first-child{border-top:1px solid var(--mf-line);}
.mf-content .faq-question{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;
  padding:18px 0;
  background:transparent;border:0;cursor:pointer;
  font-family:var(--mf-font);font-weight:500;
  color:var(--mf-ink);
  text-align:left;letter-spacing:-.005em;
}
.mf-content .faq-question:hover{color:var(--mf-accent);}
.mf-content .question-text{
  font-size:15.5px;font-weight:500;
  color:inherit;margin:0;
  line-height:1.4;
}
.mf-content .question-icon{
  flex:none;
  position:relative;
  width:22px;height:22px;
  display:grid;place-items:center;
  color:var(--mf-ink-muted);
}
.mf-content .icon-plus,
.mf-content .icon-minus{
  position:absolute;
  background:currentColor;
  border-radius:1px;
  transition:opacity .2s ease, transform .2s ease;
}
.mf-content .icon-plus{
  width:14px;height:1.5px;
}
.mf-content .icon-minus{
  width:1.5px;height:14px;
}
.mf-content .faq-item.active .question-icon{color:var(--mf-accent);}
.mf-content .faq-item.active .icon-minus{opacity:0;transform:rotate(90deg);}

.mf-content .faq-answer{
  max-height:0;overflow:hidden;
  transition:max-height .25s ease;
}
.mf-content .faq-item.active .faq-answer{max-height:1500px;}
.mf-content .answer-content{
  padding:0 0 22px;
  font-size:14.5px;line-height:1.65;
  color:var(--mf-ink-soft);
}
.mf-content .answer-content p{margin:0 0 12px;}
.mf-content .answer-content :last-child{margin-bottom:0;}
.mf-content .answer-content a{
  color:var(--mf-accent) !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px;text-underline-offset:3px;
}
.mf-content .answer-content strong{color:var(--mf-ink);font-weight:600;}

/* FAQ sidebar */
.mf-faq-sidebar{
  display:flex;flex-direction:column;gap:14px;
}
.mf-faq-side-card{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:22px;
}
.mf-faq-side-card h3{
  font-size:16px;font-weight:600;
  letter-spacing:-.01em;
  margin:0 0 8px;
  color:var(--mf-ink);
}
.mf-faq-side-card p{
  font-size:13.5px;line-height:1.55;
  color:var(--mf-ink-soft);
  margin:0 0 14px;
}
.mf-faq-side-card a{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;
  color:var(--mf-accent) !important;
  text-decoration:none !important;
}
.mf-faq-side-card a:hover{gap:10px;}

/* FAQ CTA strip */
.mf-faq-cta{
  margin-top:48px;
  background:var(--mf-surface-ink);
  color:#fff;
  border-radius:var(--mf-r-xl);
  padding:36px 24px;
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;
  position:relative;overflow:hidden;
}
@media (min-width:640px){
  .mf-faq-cta{padding:44px 36px;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;}
}
.mf-faq-cta::before{
  content:"";
  position:absolute;right:-160px;bottom:-160px;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle at center, rgba(14,92,58,.30), rgba(14,92,58,.06) 35%, transparent 65%);
  filter:blur(20px);pointer-events:none;
}
.mf-faq-cta > *{position:relative;z-index:1;}
.mf-faq-cta-text{display:flex;flex-direction:column;gap:6px;}
.mf-faq-cta-eyebrow{
  font-family:var(--mf-font-mono);
  font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--mf-gold);
}
.mf-faq-cta h2{
  font-size:clamp(22px, 3vw, 28px);
  line-height:1.1;letter-spacing:-.02em;
  font-weight:600;color:#fff;margin:0;
}
.mf-faq-cta h2 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-faq-cta-metrics{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;
  font-size:13px;color:var(--mf-ink-on-dark-soft);
}
.mf-faq-cta-metrics b{
  display:block;
  font-family:var(--mf-font-mono);
  font-size:18px;font-weight:600;color:#fff;
  letter-spacing:-.01em;line-height:1.1;
}

/* =========================================================
   /BLOG (index)
   ========================================================= */
.mf-blog-index{
  padding:32px 0 64px;
}
@media (min-width:900px){.mf-blog-index{padding:48px 0 96px;}}

.mf-blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  max-width:var(--mf-container);
  margin:0 auto;
  padding:0 var(--mf-pad);
}
@media (min-width:640px){.mf-blog-grid{grid-template-columns:repeat(2,1fr);gap:22px;}}
@media (min-width:1100px){.mf-blog-grid{grid-template-columns:repeat(3,1fr);}}

.mf-blog-card{
  display:flex;flex-direction:column;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  overflow:hidden;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mf-blog-card:hover{
  transform:translateY(-3px);
  border-color:var(--mf-line-strong);
  box-shadow:var(--mf-shadow-3);
}
.mf-blog-card .card-link{
  display:flex;flex-direction:column;flex:1;
  text-decoration:none !important;
  color:inherit;
}
.mf-blog-card .card-image-wrapper{
  position:relative;
  aspect-ratio:16/9;
  background:var(--mf-surface);
  overflow:hidden;
}
.mf-blog-card .card-image-wrapper img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .3s ease;
}
.mf-blog-card:hover .card-image-wrapper img{transform:scale(1.04);}
.mf-blog-card .card-category-badge{
  position:absolute;top:14px;left:14px;
  display:inline-flex;align-items:center;
  background:var(--mf-ink);color:#fff;
  padding:5px 11px;border-radius:var(--mf-r-pill);
  font:600 10.5px/1 var(--mf-font-mono);
  letter-spacing:.06em;text-transform:uppercase;
}
.mf-blog-card .card-overlay{display:none;}
.mf-blog-card .card-content{
  display:flex;flex-direction:column;flex:1;
  padding:20px 22px 22px;
  gap:8px;
}
.mf-blog-card .card-title{
  font-size:17px;font-weight:600;
  color:var(--mf-ink);
  margin:0;
  letter-spacing:-.015em;
  line-height:1.3;
}
.mf-blog-card .card-excerpt{
  font-size:13.5px;line-height:1.55;
  color:var(--mf-ink-soft);
  margin:0;
  flex:1;
}
.mf-blog-card .card-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;
  margin-top:6px;
  border-top:1px solid var(--mf-line-soft);
  font-size:12.5px;
  color:var(--mf-ink-muted);
  font-weight:500;
}
.mf-blog-card time{
  font-family:var(--mf-font-mono);
  letter-spacing:0;
}
.mf-blog-card .read-more-link{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--mf-accent);
  font-weight:600;
  transition:gap .15s ease;
}
.mf-blog-card:hover .read-more-link{gap:8px;}

/* Featured services strip in /blog index */
.mf-blog-featured-services{
  max-width:var(--mf-container);
  margin:32px auto 0;
  padding:24px var(--mf-pad);
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
}
.mf-blog-featured-services h3{
  font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--mf-ink-muted);
  margin:0 0 14px;
}
.mf-blog-featured-list{
  display:flex;flex-wrap:wrap;gap:8px;
  list-style:none;padding:0;margin:0;
}
.mf-blog-featured-list a{
  display:inline-flex;align-items:center;
  padding:8px 14px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  font:500 13px/1 var(--mf-font);
  color:var(--mf-ink) !important;
  text-decoration:none !important;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.mf-blog-featured-list a:hover{
  border-color:var(--mf-accent);
  color:var(--mf-accent) !important;
  background:var(--mf-accent-soft);
}

/* Pagination */
.mf-pagination{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:48px auto 0;
  max-width:var(--mf-container);
  padding:0 var(--mf-pad);
}
.mf-pagination .pagination-btn,
.mf-pagination .pagination-number{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 10px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
  font:500 13px/1 var(--mf-font-mono);
  color:var(--mf-ink-soft);
  text-decoration:none !important;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.mf-pagination a:hover{
  border-color:var(--mf-line-strong);
  color:var(--mf-ink);
}
.mf-pagination .pagination-number.active{
  background:var(--mf-ink);
  border-color:var(--mf-ink);
  color:#fff;
}
.mf-pagination .pagination-numbers{display:flex;align-items:center;gap:4px;}
.mf-pagination .pagination-dots{
  padding:0 6px;color:var(--mf-ink-muted);font-family:var(--mf-font-mono);
}

/* Blog CTA panel */
.mf-blog-cta-final{
  margin:64px auto 0;
  max-width:var(--mf-container);
  padding:0 var(--mf-pad);
}
.mf-blog-cta-card{
  background:var(--mf-surface-ink);
  color:#fff;
  border-radius:var(--mf-r-xl);
  padding:40px 28px;
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  position:relative;overflow:hidden;
}
@media (min-width:900px){
  .mf-blog-cta-card{grid-template-columns:1.4fr 1fr;padding:64px 48px;}
}
.mf-blog-cta-card::before{
  content:"";
  position:absolute;right:-180px;bottom:-180px;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle at center, rgba(14,92,58,.30), rgba(14,92,58,.06) 35%, transparent 65%);
  filter:blur(20px);pointer-events:none;
}
.mf-blog-cta-card > *{position:relative;z-index:1;}
.mf-blog-cta-card h2{
  font-size:clamp(24px, 3.4vw, 36px);
  line-height:1.1;letter-spacing:-.02em;
  font-weight:600;color:#fff;
  margin:0 0 12px;
}
.mf-blog-cta-card h2 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-blog-cta-card p{
  color:var(--mf-ink-on-dark-soft);
  font-size:15px;line-height:1.55;
  margin:0 0 18px;
  max-width:46ch;
}
.mf-blog-cta-features{
  display:flex;flex-wrap:wrap;gap:8px 16px;
  list-style:none;padding:0;margin:0 0 22px;
  font-size:13px;color:var(--mf-ink-on-dark-soft);
}
.mf-blog-cta-features li{display:inline-flex;align-items:center;gap:6px;}
.mf-blog-cta-features svg{color:var(--mf-accent);flex:none;}
.mf-blog-cta-buttons{display:flex;flex-wrap:wrap;gap:10px;}

.mf-blog-cta-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  align-self:center;
}
.mf-blog-cta-stat{
  background:rgba(255,255,255,.04);
  border:1px solid var(--mf-line-on-dark);
  border-radius:var(--mf-r);
  padding:18px 16px;
  text-align:center;
}
.mf-blog-cta-stat .num{
  font-family:var(--mf-font-mono);
  font-feature-settings:"tnum";
  font-size:20px;font-weight:600;color:#fff;
  letter-spacing:-.01em;line-height:1;
  display:block;margin-bottom:6px;
}
.mf-blog-cta-stat .lbl{
  font-size:11.5px;color:var(--mf-ink-on-dark-soft);
  letter-spacing:.02em;line-height:1.3;
}

/* =========================================================
   /BLOG/{slug} — article detail
   ========================================================= */
.mf-article{
  padding:32px 0 64px;
}
@media (min-width:900px){.mf-article{padding:48px 0 96px;}}

.mf-article-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  max-width:var(--mf-container);
  margin:0 auto;
  padding:0 var(--mf-pad);
}
@media (min-width:1100px){
  .mf-article-grid{grid-template-columns:minmax(0,1fr) 320px;gap:56px;}
}

/* Hero image */
.mf-article-hero{
  position:relative;
  border-radius:var(--mf-r-xl);
  overflow:hidden;
  margin-bottom:28px;
}
.mf-article-hero img{
  width:100%;height:auto;display:block;
  aspect-ratio:16/9;object-fit:cover;
}
.mf-article-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(16,20,17,.82) 100%);
  display:flex;align-items:flex-end;
  padding:32px 24px;
}
@media (min-width:640px){.mf-article-hero-overlay{padding:48px 36px;}}
.mf-article-hero h1{
  font-size:clamp(26px, 4vw, 44px);
  line-height:1.1;letter-spacing:-.025em;
  font-weight:600;color:#fff;
  margin:0;max-width:22ch;
}
.mf-article-hero h1 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}

/* Article body */
.mf-article-body{
  font-size:16.5px;line-height:1.75;
  color:var(--mf-ink);
  letter-spacing:-.005em;
  max-width:72ch;
}
.mf-article-body h2{
  font-size:clamp(22px, 2.8vw, 28px);
  font-weight:600;letter-spacing:-.02em;line-height:1.2;
  color:var(--mf-ink);
  margin:42px 0 14px;
}
.mf-article-body h3{
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:600;letter-spacing:-.015em;line-height:1.25;
  color:var(--mf-ink);
  margin:32px 0 12px;
}
.mf-article-body p{margin:0 0 18px;}
.mf-article-body a{
  color:var(--mf-accent) !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px;text-underline-offset:3px;
}
.mf-article-body a:hover{color:var(--mf-accent-deep) !important;}
.mf-article-body strong{color:var(--mf-ink);font-weight:600;}
.mf-article-body em{
  font-family:var(--mf-font-serif);font-style:italic;
}
.mf-article-body ul,
.mf-article-body ol{
  margin:0 0 18px;padding-left:22px;
}
.mf-article-body li{margin-bottom:6px;}
.mf-article-body img{
  width:100%;height:auto;
  border-radius:var(--mf-r);
  margin:24px 0;
}
.mf-article-body blockquote{
  margin:24px 0;padding:18px 24px;
  border-left:3px solid var(--mf-accent);
  background:var(--mf-surface-2);
  border-radius:0 var(--mf-r) var(--mf-r) 0;
  font-style:italic;
  color:var(--mf-ink-soft);
}
.mf-article-body code{
  font-family:var(--mf-font-mono);
  font-size:.92em;
  padding:1px 6px;
  background:var(--mf-surface-2);
  border-radius:4px;
}
.mf-article-body .table-wrapper{
  overflow-x:auto;
  margin:24px 0;
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
}
.mf-article-body table{
  width:100%;border-collapse:collapse;font-size:14px;
}
.mf-article-body th,
.mf-article-body td{
  padding:10px 14px;
  text-align:left;
  border-bottom:1px solid var(--mf-line);
}
.mf-article-body th{
  background:var(--mf-surface-2);
  font-weight:600;letter-spacing:-.005em;
}

/* Categories tags */
.mf-article-categories{
  margin:36px 0 0;
  padding-top:24px;
  border-top:1px solid var(--mf-line);
}
.mf-article-categories h3{
  font-size:13px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;
  color:var(--mf-ink-muted);
  margin:0 0 10px;
}
.mf-article-categories .categories-list{
  display:flex;flex-wrap:wrap;gap:6px;
}
.mf-article-categories .category-tag{
  display:inline-flex;align-items:center;
  padding:6px 12px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  font:500 12px/1 var(--mf-font);
  color:var(--mf-ink-soft) !important;
  text-decoration:none !important;
  transition:border-color .15s ease, color .15s ease;
}
.mf-article-categories .category-tag:hover{
  border-color:var(--mf-accent);
  color:var(--mf-accent) !important;
}

/* Author box */
.mf-article-author{
  display:flex;align-items:center;gap:16px;
  margin:32px 0 0;
  padding:20px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
}
.mf-article-author .author-avatar img{
  width:56px;height:56px;border-radius:50%;
  object-fit:cover;
}
.mf-article-author h4{
  font-size:14px;font-weight:600;letter-spacing:-.005em;
  margin:0 0 4px;color:var(--mf-ink);
}
.mf-article-author p{
  font-size:13px;line-height:1.55;
  color:var(--mf-ink-soft);margin:0;
}

/* Share */
.mf-article-share{
  display:flex;align-items:center;gap:12px;
  margin:24px 0 0;
  padding-top:24px;
  border-top:1px solid var(--mf-line);
  font-size:13px;color:var(--mf-ink-muted);
}
.mf-article-share .share-buttons{
  display:flex;gap:8px;
}
.mf-article-share .share-btn{
  display:grid;place-items:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  color:var(--mf-ink-soft) !important;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.mf-article-share .share-btn:hover{
  background:var(--mf-ink);
  color:#fff !important;
  border-color:var(--mf-ink);
}

/* Article sidebar */
.mf-article-sidebar{
  display:flex;flex-direction:column;gap:18px;
}
.mf-sidebar-cta{
  background:var(--mf-surface-ink);
  color:#fff;
  border-radius:var(--mf-r-lg);
  padding:24px;
  position:relative;overflow:hidden;
}
.mf-sidebar-cta::before{
  content:"";position:absolute;
  right:-100px;bottom:-100px;
  width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle at center, rgba(14,92,58,.32), transparent 70%);
  filter:blur(16px);pointer-events:none;
}
.mf-sidebar-cta > *{position:relative;z-index:1;}
.mf-sidebar-cta h3{
  font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.25;
  color:#fff;margin:0 0 10px;
}
.mf-sidebar-cta p{
  font-size:13.5px;color:var(--mf-ink-on-dark-soft);
  margin:0 0 16px;line-height:1.55;
}
.mf-sidebar-cta a{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 16px;
  background:var(--mf-accent) !important;
  color:#fff !important;
  border-radius:var(--mf-r);
  font:600 13px/1 var(--mf-font);
  text-decoration:none !important;
  transition:background .15s ease;
}
.mf-sidebar-cta a:hover{background:var(--mf-accent-deep) !important;}

.mf-sidebar-widget{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:22px;
}
.mf-sidebar-widget h3{
  font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--mf-ink-muted);
  margin:0 0 14px;
}
.mf-sidebar-widget .popular-posts{
  display:flex;flex-direction:column;gap:14px;
}
.mf-sidebar-widget .popular-post-item{
  display:flex;align-items:center;gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid var(--mf-line-soft);
}
.mf-sidebar-widget .popular-post-item:last-child{padding-bottom:0;border-bottom:0;}
.mf-sidebar-widget .popular-post-thumb img{
  width:60px;height:60px;border-radius:8px;
  object-fit:cover;
}
.mf-sidebar-widget .popular-post-info h4{
  font-size:13px;font-weight:500;letter-spacing:-.005em;line-height:1.35;
  margin:0 0 4px;
}
.mf-sidebar-widget .popular-post-info h4 a{
  color:var(--mf-ink) !important;
  text-decoration:none !important;
}
.mf-sidebar-widget .popular-post-info h4 a:hover{color:var(--mf-accent) !important;}
.mf-sidebar-widget .popular-post-date{
  font-family:var(--mf-font-mono);
  font-size:11px;color:var(--mf-ink-muted);
}

.mf-sidebar-widget .categories-widget{
  display:flex;flex-wrap:wrap;gap:6px;
}
.mf-sidebar-widget .category-link{
  display:inline-flex;align-items:center;
  padding:6px 12px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  font:500 12px/1 var(--mf-font);
  color:var(--mf-ink-soft) !important;
  text-decoration:none !important;
  transition:border-color .15s ease, color .15s ease;
}
.mf-sidebar-widget .category-link:hover{
  border-color:var(--mf-accent);
  color:var(--mf-accent) !important;
}

/* Related services strip below article */
.mf-article-related-services{
  max-width:var(--mf-container);
  margin:48px auto 0;
  padding:0 var(--mf-pad);
}
.mf-article-related-services h3{
  font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--mf-ink-muted);
  margin:0 0 14px;
}
.mf-article-related-services-grid{
  display:grid;
  grid-template-columns:1fr;gap:8px;
}
@media (min-width:520px){.mf-article-related-services-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:900px){.mf-article-related-services-grid{grid-template-columns:repeat(4,1fr);}}
.mf-article-related-services-grid a{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
  text-decoration:none !important;
  color:var(--mf-ink) !important;
  transition:border-color .15s ease, transform .15s ease;
}
.mf-article-related-services-grid a:hover{
  border-color:var(--mf-accent);
  transform:translateY(-1px);
}
.mf-article-related-services-grid img{
  width:28px;height:28px;border-radius:7px;object-fit:contain;
  background:var(--mf-surface);
}
.mf-article-related-services-grid span{
  font-size:13px;font-weight:500;letter-spacing:-.005em;
}

/* =========================================================
   /CONTACT — form + sidebar
   Preserves JS contract (contact.js)
   ========================================================= */
.mf-contact{padding:32px 0 64px;}
@media (min-width:900px){.mf-contact{padding:48px 0 96px;}}

.mf-contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  max-width:var(--mf-container);
  margin:0 auto;
  padding:0 var(--mf-pad);
}
@media (min-width:900px){
  .mf-contact-grid{grid-template-columns:minmax(0,1.5fr) 320px;gap:48px;}
}

.mf-contact-form-card{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-xl);
  padding:24px;
}
@media (min-width:640px){.mf-contact-form-card{padding:32px;}}
@media (min-width:900px){.mf-contact-form-card{padding:40px;}}

.mf-contact-form-card .contact-form-title{
  font-size:22px;font-weight:600;letter-spacing:-.02em;
  margin:0 0 8px;color:var(--mf-ink);
}
.mf-contact-form-card .contact-form-title em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-contact-form-card .contact-form-description{
  font-size:14px;color:var(--mf-ink-soft);
  margin:0 0 24px;line-height:1.55;
}

#alert-message:not(:empty){
  margin-bottom:18px;
  padding:12px 14px;
  background:var(--mf-accent-soft);
  border:1px solid rgba(14,92,58,.20);
  border-radius:var(--mf-r);
  font-size:13.5px;color:var(--mf-ink);
}
.alert-success{
  background:var(--mf-accent-soft) !important;
  border-color:rgba(14,92,58,.20) !important;
  color:var(--mf-accent) !important;
}

.form-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
}
@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr);}}
.form-grid .full-width{grid-column:1 / -1;}

.form-group{display:flex;flex-direction:column;gap:6px;}
.form-label{
  font-size:12.5px;font-weight:600;letter-spacing:-.005em;
  color:var(--mf-ink);
}
.form-label .required{color:#B91C1C;}
.input-wrapper{position:relative;}
.input-wrapper .input-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--mf-ink-muted);
  pointer-events:none;
  width:16px;height:16px;
}
.form-input,
.form-textarea{
  width:100%;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
  padding:0 14px 0 38px;
  font:500 14px/1 var(--mf-font);
  color:var(--mf-ink);
  letter-spacing:-.005em;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
  height:42px;
}
.form-input::placeholder,
.form-textarea::placeholder{color:var(--mf-ink-muted);}
.form-input:focus,
.form-textarea:focus{
  border-color:var(--mf-accent);
  box-shadow:0 0 0 3px var(--mf-accent-glow);
}
select.form-input{
  appearance:none;-webkit-appearance:none;
  padding-right:36px;
  background:var(--mf-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%237A7F77' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;
}
.form-textarea{
  height:auto;
  min-height:120px;
  padding:12px 14px 12px 14px;
  line-height:1.55;
  resize:vertical;
}
.form-hint{
  font-size:11.5px;color:var(--mf-ink-muted);
  margin:6px 0 0;line-height:1.5;
}
.form-hint a{color:var(--mf-accent) !important;}

.recaptcha-container{margin-top:18px;}

.terms-container{margin:18px 0 8px;}
.terms-label{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13px;color:var(--mf-ink-soft);line-height:1.5;cursor:pointer;
}
.terms-checkbox{
  margin:2px 0 0;flex:none;accent-color:var(--mf-accent);
}
.terms-text a{color:var(--mf-accent) !important;text-decoration:underline !important;}
.terms-text .required{color:#B91C1C;}

.submit-container{margin-top:18px;}
.submit-button{
  display:inline-flex;align-items:center;gap:8px;
  width:100%;
  padding:14px 22px;
  background:var(--mf-accent) !important;
  color:#fff !important;
  border:0;border-radius:var(--mf-r);
  font:600 15px/1 var(--mf-font);
  cursor:pointer;
  transition:background .15s ease, transform .12s ease;
  justify-content:center;
}
.submit-button:hover{
  background:var(--mf-accent-deep) !important;
  transform:translateY(-1px);
}
.submit-button:disabled{
  opacity:.65;cursor:not-allowed;transform:none;
}
.button-icon{width:16px;height:16px;}

.d-none{display:none !important;}

/* Contact sidebar */
.mf-contact-sidebar{
  display:flex;flex-direction:column;gap:14px;
}
.info-card{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:20px 22px;
  transition:border-color .15s ease;
}
.info-card:hover{border-color:var(--mf-line-strong);}
.info-card-icon{
  width:36px;height:36px;border-radius:9px;
  background:var(--mf-accent-soft);
  display:grid;place-items:center;
  color:var(--mf-accent);
  margin-bottom:14px;
}
.info-card-icon svg{width:18px;height:18px;}
.info-card-title{
  font-size:15px;font-weight:600;letter-spacing:-.01em;
  margin:0 0 6px;color:var(--mf-ink);
}
.info-card-text{
  font-size:13px;color:var(--mf-ink-soft);
  margin:0 0 12px;line-height:1.55;
}
.info-card-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;
  color:var(--mf-accent) !important;
  text-decoration:none !important;
}
.info-card-link:hover{gap:10px;}
.info-card-link svg{width:14px;height:14px;}

/* Contact CTA "How we help" */
.mf-contact-cta{
  margin:48px var(--mf-pad) 0;
  max-width:var(--mf-container);
  margin-left:auto;margin-right:auto;
  padding:0 var(--mf-pad);
}
.mf-contact-cta-inner{
  background:var(--mf-surface-2);
  border-radius:var(--mf-r-xl);
  padding:36px 24px;
}
@media (min-width:640px){.mf-contact-cta-inner{padding:48px 36px;}}
.mf-contact-cta-header{
  text-align:left;max-width:560px;margin:0 0 28px;
}
.mf-contact-cta-header h2{
  font-size:clamp(22px, 3vw, 30px);
  font-weight:600;letter-spacing:-.02em;line-height:1.1;
  color:var(--mf-ink);margin:0 0 8px;
}
.mf-contact-cta-header h2 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-contact-cta-header p{
  font-size:14.5px;color:var(--mf-ink-soft);margin:0;line-height:1.55;
}
.steps-grid{
  display:grid;grid-template-columns:1fr;gap:24px;
}
@media (min-width:640px){.steps-grid{grid-template-columns:repeat(3,1fr);gap:18px;}}

.step-card{
  display:flex;flex-direction:column;gap:8px;
}
.step-card .step-number{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:var(--mf-ink);color:#fff;
  font-family:var(--mf-font-mono);font-size:12px;font-weight:600;
  margin-bottom:8px;
}
.step-card .step-title{
  font-size:16px;font-weight:600;letter-spacing:-.01em;
  margin:0;color:var(--mf-ink);
}
.step-card .step-description{
  font-size:14px;line-height:1.55;
  color:var(--mf-ink-soft);margin:0;max-width:34ch;
}

/* =========================================================
   /CONTACT/GRACIAS — confirmation page
   ========================================================= */
.mf-thanks{
  display:flex;align-items:center;justify-content:center;
  min-height:60vh;padding:64px var(--mf-pad);
  text-align:center;
}
.mf-thanks-card{
  max-width:520px;
}
.mf-thanks-icon{
  width:64px;height:64px;border-radius:50%;
  background:var(--mf-accent-soft);
  display:grid;place-items:center;
  color:var(--mf-accent);
  margin:0 auto 22px;
}
.mf-thanks-icon svg{width:32px;height:32px;}
.mf-thanks h1{
  font-size:clamp(28px, 4vw, 40px);
  line-height:1.1;letter-spacing:-.025em;
  font-weight:600;
  color:var(--mf-ink);margin:0 0 12px;
}
.mf-thanks h1 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-thanks p{
  font-size:15.5px;line-height:1.6;
  color:var(--mf-ink-soft);
  margin:0 0 28px;
  max-width:46ch;margin-inline:auto;
}
.mf-thanks-actions{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
}
