/* =========================================================
   RYVANZ-MIA CHARITY — NEWSLETTER POPUP
   Navy #153957 / Orange #F47721 / Teal #19BCC7
   No gradients.
========================================================= */

.rmcn-overlay{
    --rmcn-navy:#153957;
    --rmcn-navy-deep:#0f2d46;
    --rmcn-orange:#F47721;
    --rmcn-teal:#19BCC7;
    --rmcn-teal-dark:#1196a0;
    --rmcn-white:#ffffff;
    --rmcn-bg:#f5f7f8;
    --rmcn-text:#263846;
    --rmcn-muted:#6d7d87;
    --rmcn-border:#dde5e9;
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(9,28,43,.68);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
    font-family:Arial,Helvetica,sans-serif;
}
.rmcn-overlay *,
.rmcn-overlay *::before,
.rmcn-overlay *::after{box-sizing:border-box}
.rmcn-overlay.rmcn-open{opacity:1;visibility:visible;pointer-events:auto}
.rmcn-modal{
    position:relative;
    width:min(940px,100%);
    max-height:min(720px,calc(100vh - 48px));
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.28);
    border-radius:28px;
    background:#fff;
    box-shadow:0 30px 90px rgba(7,25,39,.28);
    transform:translateY(18px) scale(.985);
    transition:transform .28s ease;
}
.rmcn-overlay.rmcn-open .rmcn-modal{transform:translateY(0) scale(1)}
.rmcn-close{
    position:absolute;
    right:14px;
    top:14px;
    z-index:5;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--rmcn-border);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:var(--rmcn-navy);
    font:inherit;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,color .18s ease;
}
.rmcn-close:hover{transform:rotate(4deg);background:var(--rmcn-navy);color:#fff}
.rmcn-visual{
    position:relative;
    display:flex;
    min-height:520px;
    padding:42px 38px;
    background:var(--rmcn-navy);
    color:#fff;
}
.rmcn-visual::after{
    content:"";
    position:absolute;
    right:-60px;
    bottom:-70px;
    width:220px;
    height:220px;
    border:36px solid rgba(25,188,199,.16);
    border-radius:50%;
    pointer-events:none;
}
.rmcn-visual::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:6px;
    height:100%;
    background:var(--rmcn-orange);
}
.rmcn-visual-inner{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:100%;
}
.rmcn-logo{
    width:auto;
    max-width:210px;
    max-height:76px;
    display:block;
    margin:0 0 30px;
    object-fit:contain;
    object-position:left center;
    background:#fff;
    border-radius:10px;
    padding:7px;
}
.rmcn-wordmark{margin-bottom:30px;color:#fff;font-size:22px;font-weight:800}
.rmcn-eyebrow{
    display:block;
    margin-bottom:10px;
    color:var(--rmcn-teal);
    font-size:11px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.rmcn-visual h3{
    max-width:360px;
    margin:0;
    color:#fff;
    font-size:clamp(32px,4vw,46px);
    line-height:1.04;
    letter-spacing:-.035em;
}
.rmcn-visual p{
    max-width:360px;
    margin:15px 0 0;
    color:#dce7ee;
    font-size:14px;
    line-height:1.65;
}
.rmcn-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.rmcn-points span{
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:10px;
    font-weight:700;
}
.rmcn-form-panel{
    display:flex;
    align-items:center;
    min-width:0;
    padding:48px 44px 42px;
    background:#fff;
}
.rmcn-form-state,.rmcn-success-state{width:100%}
.rmcn-mini-label{
    display:inline-block;
    margin-bottom:11px;
    padding:6px 9px;
    border-radius:999px;
    background:#e9f8fa;
    color:#117b84;
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.rmcn-form-panel h2{
    max-width:470px;
    margin:0;
    color:var(--rmcn-navy);
    font-size:clamp(31px,4vw,45px);
    line-height:1.08;
    letter-spacing:-.04em;
}
.rmcn-subheading,.rmcn-success-state p{
    max-width:500px;
    margin:13px 0 0;
    color:var(--rmcn-muted);
    font-size:14px;
    line-height:1.65;
}
.rmcn-form{margin-top:25px}
.rmcn-email-label{display:block;margin-bottom:7px;color:var(--rmcn-navy);font-size:12px;font-weight:800}
.rmcn-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.rmcn-input-row input{
    min-width:0;
    min-height:50px;
    padding:11px 14px;
    border:1px solid var(--rmcn-border);
    border-radius:12px;
    background:#fff;
    color:var(--rmcn-text);
    font:inherit;
    font-size:14px;
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.rmcn-input-row input:focus{border-color:var(--rmcn-teal);box-shadow:0 0 0 3px rgba(25,188,199,.12)}
.rmcn-input-row input::placeholder{color:#9ba7ad}
.rmcn-submit{
    min-height:50px;
    padding:11px 18px;
    border:0;
    border-radius:12px;
    background:var(--rmcn-teal);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease;
}
.rmcn-submit:hover{transform:translateY(-1px);background:var(--rmcn-teal-dark)}
.rmcn-submit:disabled{opacity:.65;cursor:wait;transform:none}
.rmcn-message{
    display:none;
    margin-top:10px;
    padding:9px 11px;
    border-radius:9px;
    font-size:11px;
    font-weight:700;
    line-height:1.45;
}
.rmcn-message.rmcn-message-error{display:block;background:#fff1f1;color:#963a3a}
.rmcn-message.rmcn-message-info{display:block;background:#edf8fa;color:#25656b}
.rmcn-privacy{margin:11px 0 0;color:#8a989f;font-size:10px;line-height:1.55}
.rmcn-later{
    display:inline-block;
    margin-top:15px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--rmcn-navy);
    font:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
    text-decoration:underline;
    text-underline-offset:3px;
}
.rmcn-honeypot{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.rmcn-success-state[hidden]{display:none!important}
.rmcn-success-icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:50%;
    background:var(--rmcn-teal);
    color:#fff;
    font-size:25px;
    font-weight:800;
}
.rmcn-success-link{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:22px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--rmcn-navy);
    color:#fff!important;
    font-size:12px;
    font-weight:800;
    text-decoration:none!important;
}
.rmcn-success-link:hover{background:var(--rmcn-navy-deep);color:#fff!important}
body.rmcn-modal-open{overflow:hidden!important}
@media(max-width:820px){
    .rmcn-modal{grid-template-columns:1fr;max-width:620px;max-height:calc(100vh - 28px);overflow:auto}
    .rmcn-visual{min-height:0;padding:30px 27px}
    .rmcn-logo{max-width:170px;max-height:62px;margin-bottom:20px}
    .rmcn-visual h3{max-width:460px;font-size:33px}
    .rmcn-visual p{max-width:480px}
    .rmcn-points{margin-top:18px}
    .rmcn-form-panel{padding:34px 27px 30px}
}
@media(max-width:560px){
    .rmcn-overlay{align-items:flex-end;padding:10px}
    .rmcn-modal{max-height:calc(100vh - 20px);border-radius:22px}
    .rmcn-close{right:11px;top:11px;width:36px;height:36px}
    .rmcn-visual{padding:25px 20px 23px}
    .rmcn-logo{max-width:150px;max-height:55px;margin-bottom:17px}
    .rmcn-eyebrow{margin-bottom:7px}
    .rmcn-visual h3{padding-right:34px;font-size:29px}
    .rmcn-visual p{margin-top:10px;font-size:12px}
    .rmcn-points{gap:6px;margin-top:14px}
    .rmcn-points span{padding:5px 7px;font-size:9px}
    .rmcn-form-panel{padding:27px 20px 24px}
    .rmcn-form-panel h2{font-size:30px}
    .rmcn-subheading,.rmcn-success-state p{margin-top:10px;font-size:12.5px}
    .rmcn-form{margin-top:19px}
    .rmcn-input-row{grid-template-columns:1fr}
    .rmcn-submit{width:100%}
}
@media(max-width:380px){
    .rmcn-overlay{padding:6px}
    .rmcn-form-panel{padding:23px 17px 21px}
    .rmcn-visual{padding:23px 17px 20px}
    .rmcn-visual h3{font-size:26px}
}
