/* ===== Ruah Freedom Center — homepage welcome modal (index.php) ===== */
.fcm-overlay{
    position:fixed; inset:0; z-index:99999;
    background:rgba(10,11,13,.92);
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; visibility:hidden;
    transition:opacity .35s ease, visibility 0s linear .35s;
}
.fcm-overlay.is-visible{
    opacity:1; visibility:visible;
    transition:opacity .35s ease, visibility 0s linear 0s;
}
.fcm-card{
    position:relative;
    background:#1c1f24;
    overflow:hidden;
    display:flex;
    width:100%; max-width:1500px;
    max-height:96vh;
    box-shadow:0 40px 90px -20px rgba(0,0,0,.6);
    transform:translateY(24px) scale(.97);
    transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.fcm-overlay.is-visible .fcm-card{ transform:translateY(0) scale(1); }
.fcm-close{
    position:absolute; top:14px; right:14px; z-index:2;
    width:38px; height:38px; border-radius:50%; border:none;
    background:rgba(255,255,255,.14); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:16px; cursor:pointer;
    backdrop-filter:blur(6px);
    transition:background .2s ease;
}
.fcm-close:hover{ background:rgba(255,255,255,.28); }
.fcm-media{
    flex:0 0 50%;
    min-height:420px;
}
.fcm-media img{
    width:100%; height:100%; object-fit:cover; display:block;
}
.fcm-body{
    flex:1;
    padding:64px 64px 64px 56px;
    display:flex; flex-direction:column; justify-content:center;
    overflow-y:auto;
}
.fcm-eyebrow{
    display:inline-flex; align-items:center; gap:10px; align-self:flex-start;
    font-family:var(--alt-font); font-weight:700; text-transform:uppercase;
    letter-spacing:3px; font-size:14px; color:#f2a23a; margin-bottom:20px;
}
.fcm-eyebrow .dot{
    width:9px; height:9px; border-radius:50%; background:#ed6b1f;
}
.fcm-title{
    font-family:var(--alt-font); font-weight:700; color:#fff;
    font-size:clamp(2.1rem,3.4vw,3rem); line-height:1.1; letter-spacing:-1px;
    margin:0 0 20px;
}
.fcm-title em{ font-style:normal; color:#f2a23a; }
.fcm-text{
    color:rgba(255,255,255,.72); font-size:1.15rem; line-height:1.65;
    margin:0 0 32px; max-width:50ch;
}
.fcm-pillars{
    list-style:none; padding:0; margin:0 0 36px; display:flex; flex-wrap:wrap; gap:16px 30px;
}
.fcm-pillars li{
    display:flex; align-items:center; gap:13px; color:#fff;
    font-family:var(--alt-font); font-weight:600; font-size:1.02rem;
}
.fcm-pillars i{
    width:44px; height:44px; border-radius:11px; display:grid; place-items:center;
    background:linear-gradient(140deg,#f2a23a,#ed6b1f); color:#fff; font-size:16px; flex-shrink:0;
}
.fcm-cta{
    display:inline-flex; align-items:center; gap:12px; text-decoration:none;
    align-self:flex-start;
    font-family:var(--alt-font); font-weight:700; font-size:18px; color:#fff !important;
    padding:19px 40px; border-radius:100px;
    background:linear-gradient(135deg,#f2a23a,#ed6b1f);
    box-shadow:0 16px 34px -14px rgba(237,107,31,.8);
    transition:transform .25s ease, box-shadow .25s ease;
}
.fcm-cta:hover{ transform:translateY(-2px); box-shadow:0 22px 44px -14px rgba(237,107,31,.95); }
.fcm-cta:focus-visible{ outline:3px solid #fff; outline-offset:3px; }

@media (max-width:991px){
    .fcm-body{ padding:40px 40px 40px 36px; }
    .fcm-text{ max-width:none; }
}

@media (max-width:767px){
    .fcm-overlay{ padding:16px; }
    .fcm-card{ flex-direction:column; max-height:calc(100vh - 32px); width:100%; max-width:none; }
    .fcm-media{ flex:0 0 auto; height:200px; }
    .fcm-body{ padding:26px 24px 30px; }
    .fcm-title{ font-size:clamp(1.5rem,6vw,2rem); margin-bottom:14px; }
    .fcm-eyebrow{ margin-bottom:12px; }
    .fcm-text{ font-size:1rem; margin-bottom:22px; }
    .fcm-pillars{ gap:10px 18px; margin-bottom:24px; }
    .fcm-pillars li{ font-size:.92rem; }
    .fcm-pillars i{ width:38px; height:38px; font-size:14px; }
    .fcm-cta{ font-size:16px; padding:16px 32px; width:100%; justify-content:center; }
}

@media (max-width:380px){
    .fcm-media{ height:160px; }
    .fcm-pillars li{ font-size:.86rem; }
}

@media (prefers-reduced-motion:reduce){
    .fcm-overlay, .fcm-card, .fcm-cta{ transition:none; }
}
