/* MiCFO360 - enhancements layered on top of original styles. */
.mcf-price-section{padding:3.5rem 0;background:#fff}
.mcf-price-heading{max-width:760px;margin-bottom:1.5rem}
.mcf-price-heading h3{font:600 clamp(1.5rem,3vw,2.2rem)/1.25 'Playfair Display',Georgia,serif;color:var(--navy,#183047);margin:0 0 .7rem}
.mcf-price-heading p{font:1.06rem/1.7 'Lora',Georgia,serif;color:var(--text-mid,#48535e)}
.mcf-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:1rem}
.mcf-offer{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem;border:1px solid var(--border,#ddd);border-radius:6px;background:var(--cream,#fbf8f1);text-decoration:none!important;color:var(--text,#213547)!important;min-height:252px;transition:box-shadow .15s,transform .15s}
.mcf-offer:hover,.mcf-offer:focus-visible{box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.mcf-offer strong{font:600 1.27rem/1.3 'Playfair Display',Georgia,serif;color:var(--navy,#1a3045)}
.mcf-offer p{font:0.95rem/1.55 'Lora',Georgia,serif;flex:1;margin:0}
.mcf-offer-tag{font:600 .69rem/1.4 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--gold,#9b7e35)}
.mcf-offer-price{font-weight:700;font-size:1rem;color:var(--navy,#1a3045)}
.mcf-offer-link{font-weight:600;font-size:.85rem;color:var(--gold,#9b7e35)}
.mcf-more-cases{text-align:center;margin:2rem 0}
.mcf-blog-tools{margin-bottom:1.7rem}
.mcf-blog-tools label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem;color:var(--navy,#1a3045)}
#mcf-blog-search{width:100%;max-width:580px;padding:.8rem 1rem;border:1px solid var(--border,#ccc);border-radius:5px;background:#fff;color:var(--text,#222);font:1rem/1.4 'DM Sans',sans-serif}
#mcf-blog-search:focus-visible{outline:2px solid var(--gold,#a4823d);outline-offset:2px}
.mcf-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.mcf-filters button{padding:.5rem .85rem;border:1px solid var(--border,#ddd);background:#fff;color:var(--navy,#183047);border-radius:18px;cursor:pointer;font-size:.82rem}
.mcf-filters button[aria-pressed=true]{background:var(--navy,#183047);border-color:var(--navy,#183047);color:white}
.mcf-note{font-size:.84rem;color:var(--text-mid,#555);line-height:1.55;margin:1rem 0}
.mcf-case-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.3rem;margin-bottom:2rem}
.mcf-case-archive{padding:1.6rem;background:var(--cream,#fbf8f1);border:1px solid var(--border,#ddd);border-radius:6px}
.mcf-case-archive h2{font:600 1.75rem 'Playfair Display',serif;color:var(--navy,#183047);margin:.75rem 0}
.mcf-case-archive p{line-height:1.6;margin-bottom:.8rem}
.mcf-case-archive blockquote{font-size:.95rem;color:var(--text-mid,#48535e);border-left:3px solid var(--gold,#ae8b45);padding-left:1rem;margin:1rem 0}
.mcf-tariff-table{width:100%;border-collapse:collapse;margin:1.4rem 0;font:1rem/1.5 'DM Sans',sans-serif}
.mcf-tariff-table th,.mcf-tariff-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border,#ddd)}
.mcf-tariff-table thead th{background:var(--navy,#183047);color:#fff}
.mcf-table-scroll{width:100%;overflow-x:auto}
.editorial-inline-cta{border-left:4px solid var(--gold,#ab8945);background:var(--cream,#fbf8f1);padding:1.25rem;margin:2rem 0}
.editorial-inline-cta p{margin:.4rem 0}
.editorial-inline-cta a{font-weight:700;color:var(--navy,#183047)}
.mcf-related-links{display:grid;gap:.75rem}
.mcf-related-links a{display:block;color:var(--navy,#183047);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.mcf-price-section{padding:2rem 0}.mcf-offer{min-height:0}.mcf-case-list{grid-template-columns:1fr}.mcf-tariff-table td,.mcf-tariff-table th{padding:.65rem .5rem}}
@media(prefers-reduced-motion:reduce){.mcf-offer{transition:none}}

.blog-card[hidden]{display:none!important}
.mcf-more-services{margin:2rem 0;background:var(--cream,#faf7ee);border:1px solid var(--border,#ddd);border-radius:6px;padding:1rem}
.mcf-more-services summary{cursor:pointer;font-weight:600;color:var(--navy,#183047);padding:.4rem}
.mcf-more-services[open] .services-grid{margin-top:1.1rem}

/* Shared interior rhythm; the compact homepage has its own layout. */
body:not(.mcf-compact) main > section,
body:not(.mcf-compact) main > div[style*="padding"]{padding-top:48px!important;padding-bottom:48px!important}
body:not(.mcf-compact) main > section:first-child,
body:not(.mcf-compact) main > div[style*="padding"]:first-child{padding-top:104px!important}
body:not(.mcf-compact) main > .hero{min-height:0!important;height:auto!important}
body:not(.mcf-compact) main > .hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;margin-bottom:24px}
body:not(.mcf-compact) main > .hero .hero-pretag{margin-bottom:20px}
body:not(.mcf-compact) main > .hero .hero-sub{font-size:1.15rem;line-height:1.6}
body:not(.mcf-compact) main :is(.faq-header,.services-header,.section-header){margin-bottom:28px!important}
body:not(.mcf-compact) main .hero-sub{margin-bottom:24px}
body:not(.mcf-compact) main > .internal-links{padding-top:28px!important;padding-bottom:28px!important}
@media(max-width:720px){
 body:not(.mcf-compact) main > section,
 body:not(.mcf-compact) main > div[style*="padding"]{padding-top:32px!important;padding-bottom:32px!important}
 body:not(.mcf-compact) main > section:first-child,
 body:not(.mcf-compact) main > div[style*="padding"]:first-child{padding-top:88px!important}
 body:not(.mcf-compact) main :is(.faq-header,.services-header,.section-header){margin-bottom:20px!important}
}
