/* MICEP FOOD PLAN HOMEPAGE
   This stylesheet is loaded AFTER the shared head stylesheet.
   All homepage selectors use the mfp- prefix to prevent old CSS conflicts. */

:root{
    --mfp-green:#087a46;
    --mfp-green-dark:#065f36;
    --mfp-green-deep:#064b2d;
    --mfp-green-soft:#eaf7ed;
    --mfp-bg:#f5faf7;
    --mfp-text:#10213d;
    --mfp-body:#526a61;
    --mfp-border:#dce9e0;
    --mfp-shadow:0 12px 32px rgba(16,43,34,.08);
}

.mfp-container{
    width:min(calc(100% - 32px),1180px);
    margin-inline:auto;
}

.mfp-section{padding:76px 0}

.mfp-eyebrow{
    margin:0 0 10px;
    color:var(--mfp-green)!important;
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.mfp-hero{
    position:relative;
    overflow:hidden;
    padding:76px 0 68px;
    background:
        radial-gradient(circle at 91% 15%,rgba(66,173,79,.17),transparent 30%),
        linear-gradient(120deg,#fff 0%,#f8fcf9 52%,#e7f5ea 100%);
}

.mfp-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
    align-items:center;
    gap:58px;
}

.mfp-hero__content{min-width:0}

.mfp-hero h1{
    max-width:770px;
    margin:0 0 20px;
    color:var(--mfp-text)!important;
    font-size:clamp(2.75rem,5.3vw,4.5rem);
    line-height:1.03;
    letter-spacing:-.05em;
}

.mfp-hero h1 span{
    display:block;
    color:var(--mfp-green)!important;
}

.mfp-hero__lead{
    max-width:700px;
    margin:0 0 28px;
    color:#5a7183!important;
    font-size:1.03rem;
    line-height:1.72;
}

.mfp-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:22px;
}

.mfp-btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:10px 18px;
    border:1px solid transparent;
    border-radius:8px;
    font-weight:750;
    line-height:1.2;
    text-decoration:none!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.mfp-btn:hover{transform:translateY(-1px);text-decoration:none!important}

.mfp-btn--primary{
    color:#fff!important;
    background:var(--mfp-green)!important;
    border-color:var(--mfp-green)!important;
}

.mfp-btn--primary:hover{
    color:#fff!important;
    background:var(--mfp-green-dark)!important;
    border-color:var(--mfp-green-dark)!important;
}

.mfp-btn--outline{
    color:var(--mfp-green)!important;
    background:#fff!important;
    border-color:var(--mfp-green)!important;
}

.mfp-btn--outline:hover{
    color:var(--mfp-green-dark)!important;
    background:var(--mfp-green-soft)!important;
}

.mfp-highlights{
    display:flex;
    flex-wrap:wrap;
    gap:16px 24px;
}

.mfp-highlights>div{
    display:grid;
    grid-template-columns:auto auto;
    column-gap:7px;
    align-items:center;
}

.mfp-highlights>div>span{
    grid-row:span 2;
    color:var(--mfp-green);
}

.mfp-highlights strong{
    color:#102b22;
    font-size:.88rem;
    line-height:1.1;
}

.mfp-highlights small{
    color:var(--mfp-body);
    font-size:.74rem;
    line-height:1.2;
}

.mfp-hero__visual{
    min-height:405px;
    display:grid;
    place-items:center;
    padding:30px;
    background:#fff;
    border:1px solid #d7e7dc;
    border-radius:30px 30px 30px 82px;
    box-shadow:0 18px 45px rgba(16,43,34,.12);
}

.mfp-image-placeholder{
    width:100%;
    min-height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    gap:6px;
    text-align:center;
}

.mfp-image-placeholder strong{
    color:var(--mfp-text);
    font-size:1.2rem;
}

.mfp-image-placeholder span{color:#64778a}

.mfp-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:30px;
}

.mfp-section-heading h2{
    margin:0 0 9px;
    color:var(--mfp-text)!important;
    font-size:clamp(1.85rem,3vw,2.5rem);
    line-height:1.13;
    letter-spacing:-.03em;
}

.mfp-section-heading h2 span{color:var(--mfp-green)!important}

.mfp-section-heading p:not(.mfp-eyebrow){
    max-width:760px;
    margin:0;
    color:var(--mfp-body)!important;
}

.mfp-section-heading--center{
    display:block;
    text-align:center;
}

.mfp-section-heading--center p:not(.mfp-eyebrow){margin-inline:auto}

.mfp-packages{background:#fff}

.mfp-package-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.mfp-card{
    background:#fff;
    border:1px solid var(--mfp-border);
    border-radius:15px;
    box-shadow:0 4px 16px rgba(16,43,34,.06);
}

.mfp-package-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    min-width:0;
}

.mfp-package-card__image{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    background:#edf7ef;
}

.mfp-placeholder{
    display:grid;
    place-items:center;
    color:var(--mfp-green);
    font-weight:750;
}

.mfp-package-card__body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:21px;
}

.mfp-package-card__body h3{
    margin:0 0 8px;
    color:var(--mfp-text)!important;
    font-size:1.12rem;
}

.mfp-price{
    margin:0 0 4px;
    color:var(--mfp-body)!important;
}

.mfp-price strong{color:var(--mfp-green)!important}

.mfp-frequency{
    margin:0 0 10px;
    color:#496457!important;
    font-size:.9rem;
    font-weight:750;
}

.mfp-package-description{
    margin:0 0 18px;
    color:var(--mfp-body)!important;
    font-size:.91rem;
    line-height:1.6;
}

.mfp-package-button{
    margin-top:auto;
    align-self:flex-start;
}

.mfp-empty{
    padding:30px;
    text-align:center;
}

.mfp-empty h3{margin-top:0;color:var(--mfp-text)}

.mfp-how{background:var(--mfp-bg)}

.mfp-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.mfp-steps article{
    padding:22px 13px;
    text-align:center;
}

.mfp-step-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 14px;
    color:var(--mfp-green);
    background:var(--mfp-green-soft);
    border:1px solid #c9e5d0;
    border-radius:50%;
    font-size:1.2rem;
    font-weight:850;
}

.mfp-steps h3{
    margin:0 0 7px;
    color:var(--mfp-text)!important;
    font-size:1rem;
}

.mfp-steps p{
    max-width:230px;
    margin:0 auto;
    color:var(--mfp-body)!important;
    font-size:.86rem;
}

.mfp-why{background:#fff}

.mfp-benefits{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.mfp-benefits article{
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:21px;
    background:var(--mfp-bg);
    border:1px solid var(--mfp-border);
    border-radius:13px;
}

.mfp-benefits article>span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    color:var(--mfp-green);
    background:var(--mfp-green-soft);
    border-radius:12px;
    font-weight:850;
}

.mfp-benefits h3{
    margin:0 0 5px;
    color:var(--mfp-text)!important;
    font-size:1rem;
}

.mfp-benefits p{
    margin:0;
    color:var(--mfp-body)!important;
    font-size:.9rem;
}

.mfp-story{background:var(--mfp-bg)}

.mfp-story__grid{
    display:grid;
    grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);
    align-items:center;
    gap:56px;
}

.mfp-story__image{
    min-height:340px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--mfp-border);
    border-radius:28px 28px 80px 28px;
    box-shadow:var(--mfp-shadow);
}

.mfp-story__content h2{
    margin:0 0 16px;
    color:var(--mfp-text)!important;
    font-size:clamp(2rem,3.5vw,3rem);
    line-height:1.1;
    letter-spacing:-.035em;
}

.mfp-story__content h2 span{
    display:block;
    color:var(--mfp-green)!important;
}

.mfp-story__content>p:not(.mfp-eyebrow){
    max-width:650px;
    color:var(--mfp-body)!important;
}

.mfp-cta{padding-top:64px;padding-bottom:64px}

.mfp-cta__box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:31px 34px;
    background:linear-gradient(110deg,#eaf8ed,#f6fcf7);
    border:1px solid #cde7d3;
    border-radius:20px;
}

.mfp-cta__box h2{
    margin:0 0 7px;
    color:var(--mfp-text)!important;
    font-size:clamp(1.6rem,3vw,2.2rem);
}

.mfp-cta__box>div>p:last-child{
    margin:0;
    color:var(--mfp-body)!important;
}

.mfp-news{background:#fff}

.mfp-news-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.mfp-news-card{overflow:hidden}

.mfp-news-card__image{
    width:100%;
    aspect-ratio:16/9;
    background:#edf7ef;
}

.mfp-news-card__body{padding:19px}

.mfp-news-card__body small{
    color:var(--mfp-green);
    font-weight:750;
}

.mfp-news-card__body h3{
    margin:7px 0;
    color:var(--mfp-text)!important;
    font-size:1.05rem;
}

.mfp-news-card__body p{
    margin:0 0 12px;
    color:var(--mfp-body)!important;
    font-size:.9rem;
}

.mfp-news-card__body a{font-weight:750;color:var(--mfp-green)!important}

@media(max-width:1050px){
    .mfp-hero__grid{gap:35px}
    .mfp-package-grid,.mfp-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:850px){
    .mfp-hero{padding:56px 0 52px}
    .mfp-hero__grid,.mfp-story__grid{grid-template-columns:1fr}
    .mfp-hero__content{text-align:center}
    .mfp-hero__lead{margin-inline:auto}
    .mfp-actions,.mfp-highlights{justify-content:center}
    .mfp-hero__visual{min-height:320px;border-radius:26px}
    .mfp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mfp-benefits{grid-template-columns:1fr}
    .mfp-section-heading{align-items:flex-start}
    .mfp-cta__box{align-items:flex-start;flex-direction:column}
    .mfp-story__image{min-height:300px}
}

@media(max-width:560px){
    .mfp-container{width:min(calc(100% - 24px),1180px)}
    .mfp-section{padding:54px 0}
    .mfp-hero{padding:44px 0 40px}
    .mfp-hero h1{font-size:clamp(2.25rem,12vw,3.2rem)}
    .mfp-desktop-break{display:none}
    .mfp-actions{flex-direction:column;align-items:stretch}
    .mfp-actions .mfp-btn{width:100%}
    .mfp-highlights{display:grid;grid-template-columns:1fr;justify-items:start;width:max-content;max-width:100%;margin-inline:auto}
    .mfp-hero__visual{min-height:255px;padding:22px;border-radius:22px}
    .mfp-section-heading h2{font-size:1.8rem}
    .mfp-package-grid,.mfp-news-grid,.mfp-steps{grid-template-columns:1fr}
    .mfp-story__image{min-height:245px;border-radius:22px}
    .mfp-cta__box{padding:25px 21px}
    .mfp-cta__box .mfp-btn{width:100%}
}

/* =========================================================
   MICEP FOOD PLAN — FOOTER ONLY
   Existing homepage layout is intentionally untouched.
   ========================================================= */

.site-footer.mfp-footer{
    background:#064b2d !important;
    color:#dcefe3 !important;
}

.site-footer.mfp-footer h2,
.site-footer.mfp-footer h3{
    color:#ffffff !important;
}

.site-footer.mfp-footer p{
    color:#c9e3d3 !important;
}

.site-footer.mfp-footer a{
    color:#ffffff !important;
}

.site-footer.mfp-footer a:hover{
    color:#bde7c7 !important;
}

.site-footer.mfp-footer__bottom{
    color:#b8d4c3 !important;
    border-top-color:rgba(255,255,255,.18) !important;
}


/* MICEP Food Plan hero image */
.mfp-hero__image{
    display:block;
    width:100%;
    height:100%;
    min-height:345px;
    object-fit:cover;
    border-radius:22px 22px 22px 64px;
}

@media (max-width:900px){
    .mfp-hero__image{min-height:280px;border-radius:20px 20px 20px 52px}
}

@media (max-width:700px){
    .mfp-hero__image{min-height:225px;border-radius:18px 18px 18px 42px}
}
