/* Host box + loading state (light DOM, shown until the app mounts) */
.mcf-sp-host{display:block;width:100%;min-height:80vh;background:#fff}
.mcf-sp-host.is-ready{min-height:0}
.mcf-sp-loading{max-width:1180px;margin:0 auto;padding:clamp(48px,8vw,96px) clamp(20px,4vw,48px);background:#10403b;color:#fff;border-radius:8px}
.mcf-sp-loading .mcf-sp-eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#e9a25e}
.mcf-sp-loading .mcf-sp-title{margin:0 0 16px;font-family:"Petrona",Georgia,serif;font-size:clamp(30px,5vw,52px);line-height:1.1;font-weight:600;color:#fff}
.mcf-sp-loading p{max-width:62ch;margin:0 0 12px;color:#e4eeeb}
.mcf-sp-loading .mcf-sp-spin{display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:mcfspin .8s linear infinite}
@keyframes mcfspin{to{transform:rotate(360deg)}}
/* About section (theme-native typography, light structure only) */
.mcf-sp-about{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px)}
.mcf-sp-about h2{margin:0 0 12px}
.mcf-sp-about h3{margin:28px 0 10px}
.mcf-sp-about section{margin:0 0 40px}
.mcf-sp-about .mcf-sp-lead{font-size:1.1em;max-width:70ch}
.mcf-sp-about ol.mcf-sp-camps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:0;margin:16px 0 0;list-style:none;counter-reset:camp}
.mcf-sp-about ol.mcf-sp-camps li{border:1px solid #e3ebe9;border-radius:8px;padding:14px 16px;background:#f7faf9}
.mcf-sp-about ol.mcf-sp-camps li strong{display:block}
.mcf-sp-about .mcf-sp-fams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:16px;align-items:start}
.mcf-sp-about .mcf-sp-fams p{margin:0}
.mcf-sp-about .mcf-sp-fams > div{border:1px solid #e3ebe9;border-radius:8px;padding:16px 18px}
.mcf-sp-about .mcf-sp-fams h3{margin:0 0 8px;font-size:1.05em}
.mcf-sp-about .mcf-sp-fams ul{margin:0;padding-left:18px}
.mcf-sp-about details{border-bottom:1px solid #e3ebe9;padding:14px 0}
.mcf-sp-about details summary{cursor:pointer;font-weight:600;list-style-position:outside}
.mcf-sp-about details p{margin:10px 0 0;max-width:75ch}
.mcf-sp-about .mcf-sp-cta{display:inline-block;margin-top:8px;padding:12px 22px;border-radius:4px;background:#10403b;color:#fff;text-decoration:none;font-weight:600}
.mcf-sp-about .mcf-sp-cta:hover{background:#1a5750;color:#fff}
