.mswf {
    --mswf-bg:#f4f7fb; --mswf-navy:#091c32; --mswf-intro-text:#fff;
    --mswf-card:#fff; --mswf-ink:#10283f; --mswf-muted:#4c6275; --mswf-accent:#f1cb10;
    padding:clamp(48px,7vw,92px) clamp(20px,4vw,48px);
    background:var(--mswf-bg); font-family:Inter,system-ui,sans-serif;
}
.mswf *, .mswf *::before { box-sizing:border-box; }
.mswf-wrap { max-width:1200px; margin:auto; }
.mswf-intro {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);
    column-gap:clamp(20px,5vw,70px); padding:clamp(24px,4vw,54px); border-radius:20px;
    color:var(--mswf-intro-text);
    background:radial-gradient(ellipse at 100% 10%,#234b65,transparent 65%),var(--mswf-navy);
}
.mswf .mswf-kicker { color:var(--mswf-accent); margin:0 0 10px; font-size:.75rem; font-weight:750; letter-spacing:.12em; }
.mswf h2 { grid-column:1; color:inherit; margin:0; font-size:clamp(1.95rem,4vw,3.45rem); line-height:1.08; letter-spacing:-.04em; text-wrap:balance; }
.mswf-description { grid-column:1; margin:14px 0 0; max-width:55ch; line-height:1.6; }
.mswf-actions { grid-area:1 / 2 / span 3; justify-self:end; align-self:center; display:flex; flex-wrap:wrap; gap:9px; }
.mswf .mswf-actions a { display:inline-flex; align-items:center; padding:10px 15px; min-height:44px; border-radius:8px; font-weight:700; font-size:.88rem; text-decoration:none; }
.mswf .mswf-primary { background:var(--mswf-accent); color:#10243b; }
.mswf .mswf-secondary { border:1px solid #9db8cc7a; color:var(--mswf-intro-text); }
.mswf .mswf-grid { position:relative; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:0; margin:clamp(22px,4vw,44px) 0 0; }
.mswf-grid::before { content:''; position:absolute; inset:17px 12.5% auto; height:1px; background:#cbd9e6; }
.mswf-step { position:relative; display:flex; flex-direction:column; min-width:0; margin:0; }
.mswf-step-number {
    display:grid; place-items:center; align-self:center; width:35px; height:35px; margin-bottom:13px;
    border-radius:50%; background:var(--mswf-navy); color:var(--mswf-intro-text); font-weight:750;
}
.mswf .mswf-card { display:block; position:relative; flex:1; padding:20px; border:1px solid #dce6ee; border-radius:14px; color:var(--mswf-ink); background:var(--mswf-card); text-decoration:none; overflow-wrap:anywhere; }
.mswf-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; color:#6e5200; background:#fff1bd; }
.mswf-icon svg { width:23px; height:23px; }
.mswf h3 { color:inherit; margin:13px 0 6px; font-size:1.05rem; line-height:1.3; }
.mswf-card-description { margin:0; color:var(--mswf-muted); font-size:.9rem; line-height:1.55; }
.mswf-arrow { position:absolute; top:20px; inset-inline-end:20px; }
.mswf a:focus-visible { outline:2px solid #9e7700; outline-offset:3px; }
.mswf-hover .mswf-card:is(:hover,:focus-within) { border-color:#b69739; box-shadow:0 10px 25px #10283f13; }
.mswf-hover .mswf-actions a:hover { filter:brightness(1.12); }
@media (max-width:900px) {
    .mswf .mswf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mswf-grid::before { display:none; }
}
@media (max-width:700px) { .mswf-intro { display:block; } .mswf-actions { margin-top:20px; } }
@media (max-width:520px) {
    .mswf .mswf-grid { grid-template-columns:1fr; }
    .mswf-step { flex-direction:row; align-items:flex-start; gap:10px; }
    .mswf-step-number { align-self:flex-start; flex:none; margin:14px 0 0; }
}
@media (prefers-reduced-motion:no-preference) {
    .mswf-entrance .mswf-intro.mswf-in-view, .mswf-scroll .mswf-step.mswf-in-view { animation:mswf-reveal .55s ease-out both; }
    .mswf-scroll .mswf-step.mswf-in-view:nth-child(even) { animation-delay:.08s; }
    .mswf-hover .mswf-card { transition:translate .2s ease,border-color .2s ease,box-shadow .2s ease; }
    .mswf-hover .mswf-card:is(:hover,:focus-within) { translate:0 -3px; }
    @keyframes mswf-reveal { from { opacity:.4; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
}

.mswf {
    background:linear-gradient(180deg,#ffffff85,transparent 75%),var(--mswf-bg);
}
.mswf-intro {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid #28475f;
    box-shadow:0 14px 35px #091c321c;
    background:
        radial-gradient(ellipse at 95% 20%,#23485d,transparent 60%),
        var(--mswf-navy);
}
.mswf-intro::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(#c5e7ff12 1px,transparent 1px),
               linear-gradient(90deg,#c5e7ff12 1px,transparent 1px);
    background-size:32px 32px;
    mask-image:linear-gradient(90deg,transparent 25%,#000);
}
.mswf .mswf-kicker { display:flex; align-items:center; gap:9px; }
.mswf-kicker::before { content:""; width:16px; height:2px; background:currentColor; }
.mswf-actions { justify-content:flex-end; }
.mswf .mswf-secondary { background:#091c3255; }
.mswf .mswf-grid { gap:clamp(12px,1.6vw,22px); }
.mswf-grid::before {
    inset-block-start:19px;
    background:linear-gradient(90deg,#c4d4e4,#b99c48,#c4d4e4);
}
.mswf-step-number {
    width:39px;
    height:39px;
    margin-bottom:16px;
    color:var(--mswf-ink);
    background:var(--mswf-card);
    border:1px solid #c5d2df;
    box-shadow:0 0 0 5px var(--mswf-bg);
    font-variant-numeric:tabular-nums;
}
.mswf .mswf-card {
    padding:clamp(17px,2vw,25px);
    border-radius:16px;
    box-shadow:0 4px 14px #10283f08;
}
.mswf-icon { width:44px; height:44px; border:1px solid #e9d58b; border-radius:11px; }
.mswf h3 { margin:15px 0 7px; }
.mswf-hover .mswf-card:is(:hover,:focus-within) { box-shadow:0 10px 25px #10283f18; }
.mswf-hover .mswf-step:is(:hover,:focus-within) .mswf-step-number { border-color:var(--mswf-accent); }
@media (max-width:700px) {
    .mswf-actions { justify-content:flex-start; }
}
@media (max-width:520px) {
    .mswf-step-number { width:32px; height:32px; margin:13px 0 0; box-shadow:none; }
}

.mswf-intro {
    display:block; padding:0; border:0; border-radius:0;
    background:none; box-shadow:none; color:var(--mswf-ink);
}
.mswf-intro::before, .mswf-grid::before { display:none; }
.mswf .mswf-kicker { color:#765900; }
.mswf .mswf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mswf-step { flex-direction:column; align-items:stretch; }
.mswf-cta {
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
    gap:24px; margin-top:clamp(22px,4vw,44px); padding:clamp(22px,4vw,46px);
    border-radius:18px; color:var(--mswf-intro-text);
    background:radial-gradient(ellipse at 100% 0%,#274f67,transparent 65%),var(--mswf-navy);
}
.mswf-cta h3 { font-size:clamp(1.35rem,2.7vw,2rem); margin:0; }
.mswf-cta p { margin:8px 0 0; }
.mswf-actions { margin:0; }
@media (max-width:900px) { .mswf .mswf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .mswf .mswf-grid { grid-template-columns:1fr; } }
