.msws {
    --msws-accent:#f1cb10; --msws-bg:#fbf8ee; --msws-navy:#07172b; --msws-card:#fff;
    --msws-ink:#10263b; --msws-muted:#4a6073; --msws-intro-text:#f5f8fb;
    padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px);
    background:radial-gradient(ellipse at 0% 0%,#e8c65a26,transparent 58%),var(--msws-bg); border-block:1px solid #dbc99552; font-family:Inter,system-ui,sans-serif;
}
.msws *, .msws *::before { box-sizing:border-box; }
.msws-wrap {
    width:min(100%,1200px); margin-inline:auto; display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(18px,3vw,42px); align-items:stretch;
}
.msws-intro {
    padding:clamp(26px,3.4vw,49px); border-radius:22px;
    display:flex; flex-direction:column; justify-content:center;
    background:radial-gradient(ellipse at 92% 3%,#203c53,transparent 62%),var(--msws-navy);
    color:var(--msws-intro-text);
}
.msws .msws-kicker { margin:0 0 17px; color:var(--msws-accent); font-size:.76rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.msws h2 { margin:0; color:inherit; font-size:clamp(2rem,3.3vw,3.1rem); line-height:1.06; letter-spacing:-.045em; overflow-wrap:anywhere; text-wrap:balance; }
.msws-description { margin:20px 0 0; line-height:1.65; }
.msws-actions { display:flex; align-items:flex-start; flex-direction:column; gap:10px; margin-top:27px; }
.msws .msws-actions a { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; border-radius:8px; font-weight:700; text-decoration:none; }
.msws .msws-primary { background:var(--msws-accent); color:#102035; }
.msws .msws-secondary { color:inherit; border:1px solid #ffffff45; }
.msws-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.msws .msws-card {
    position:relative; display:block; min-width:0; padding:22px 28px 22px 20px;
    border:1px solid #e9e0cc; border-radius:15px; background:var(--msws-card); box-shadow:0 3px 12px #46350008;
    color:var(--msws-ink); text-decoration:none; overflow-wrap:anywhere;
}
.msws-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; color:#745700; background:#fff4c5; }
.msws-icon svg { width:24px; height:24px; }
.msws h3 { margin:13px 0 6px; color:inherit; font-size:1.05rem; line-height:1.3; }
.msws-card-description { margin:0; color:var(--msws-muted); font-size:.9rem; line-height:1.55; }
.msws-arrow { position:absolute; top:21px; right:18px; font-size:1.2rem; }
.msws a:focus-visible { outline:2px solid #ad7800; outline-offset:3px; }
.msws-hover a.msws-card:is(:hover,:focus-visible) { border-color:var(--msws-accent); box-shadow:0 10px 28px #10263b12; }
.msws-hover .msws-actions a:hover { filter:brightness(1.12); }
@media (max-width:900px) { .msws-wrap { grid-template-columns:1fr; } .msws-actions { flex-direction:row; flex-wrap:wrap; } }
@media (max-width:520px) { .msws-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:no-preference) {
    .msws-entrance .msws-intro.msws-in-view { animation:msws-intro-in .68s cubic-bezier(.2,.75,.25,1) both; }
    .msws-scroll .msws-card.msws-in-view { animation:msws-card-in .55s cubic-bezier(.2,.75,.25,1) both; }
    .msws-scroll .msws-card.msws-in-view:nth-child(even) { animation-delay:.075s; }
    .msws-hover .msws-card { transition:translate .22s ease,border-color .22s ease,box-shadow .22s ease; }
    .msws-hover .msws-icon, .msws-hover .msws-arrow { transition:background-color .22s ease,translate .22s ease; }
    .msws-hover a.msws-card:is(:hover,:focus-visible) { translate:0 -4px; box-shadow:0 14px 30px #46350016; }
    .msws-hover a.msws-card:is(:hover,:focus-visible) .msws-icon { background:var(--msws-accent); }
    .msws-hover a.msws-card:is(:hover,:focus-visible) .msws-arrow { translate:2px -2px; }
    @keyframes msws-intro-in { from { opacity:.25; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
    @keyframes msws-card-in { from { opacity:.35; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
}

/* The introduction spans the section. The card grid establishes service priority. */
.msws {
    background:var(--msws-bg);
    border-block:0;
}
.msws-wrap { display:block; }
.msws-intro {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);
    column-gap:clamp(24px,5vw,72px);
    padding:clamp(26px,4.8vw,64px);
}
.msws-intro::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    pointer-events:none;
    background:radial-gradient(ellipse at 98% 8%,#d7b94b24,transparent 47%);
}
.msws .msws-kicker { grid-column:1; }
.msws h2 { grid-column:1; max-width:19ch; text-wrap:pretty; }
.msws-description { grid-column:1; max-width:58ch; }
.msws-actions { grid-column:2; grid-row:1 / span 3; align-self:center; margin:0; }
.msws-grid { margin-top:20px; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.msws .msws-card {
    grid-column:span 2;
    border-radius:12px;
    padding:19px 36px 19px 19px;
    box-shadow:none;
}
.msws .msws-card-featured {
    grid-column:span 3;
    padding:25px 40px 25px 24px;
    border-top:3px solid var(--msws-accent);
}
.msws-card-featured h3 { font-size:1.3rem; }
.msws-card-featured .msws-card-description { max-width:42ch; }
.msws .msws-card:not(.msws-card-featured) .msws-icon { width:34px; height:34px; border-radius:8px; }
.msws .msws-card:not(.msws-card-featured) .msws-icon svg { width:19px; height:19px; }
@media (max-width:760px) {
    .msws-intro { display:block; }
    .msws-actions { margin-top:20px; }
    .msws-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .msws .msws-card, .msws .msws-card-featured { grid-column:auto; }
}
@media (max-width:520px) {
    .msws-grid { grid-template-columns:1fr; }
}

.msws { --msws-bg:#f1f5f9; }
.msws-intro {
    border:1px solid #254159;
    background:radial-gradient(ellipse at 92% 3%,#193951,transparent 64%),var(--msws-navy);
}
.msws-intro::after {
    background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:linear-gradient(90deg,transparent 24%,#000);
}
.msws .msws-card { border-color:#dce5ee; }
.msws .msws-card-featured { border-top-color:var(--msws-accent); }
@media (min-width:761px) {
    .msws-grid:has(> :nth-child(6):last-child) .msws-card:not(.msws-card-featured) { grid-column:span 3; }
}

.msws { --msws-bg:#edf3f8; }
.msws-intro {
    border-radius:20px;
    border-color:#203b52;
    box-shadow:0 12px 32px #07172b19;
    background:
        radial-gradient(ellipse at 86% 16%,#224a61 0%,transparent 60%),
        var(--msws-navy);
}
.msws-intro::after {
    background:
        repeating-radial-gradient(circle at 90% 50%,#c3e6ff17 0 1px,transparent 1px 44px);
    mask-image:linear-gradient(90deg,transparent 38%,#000);
}
.msws h2 { max-width:22ch; }
.msws-description { max-width:53ch; }
.msws-actions { align-items:stretch; justify-self:end; width:min(100%,230px); }
.msws .msws-actions a { justify-content:center; text-align:center; }
.msws .msws-secondary { background:#091c2d65; border-color:#a5c6df60; }
.msws-grid { margin-top:clamp(18px,2.4vw,30px); }
.msws .msws-card { border-radius:15px; }
.msws .msws-card-featured {
    background:linear-gradient(125deg,#fff 45%,#fdf9e8);
    border:1px solid #d9e3ec;
    border-top:3px solid var(--msws-accent);
    box-shadow:0 5px 18px #10263b08;
}
.msws-card-featured .msws-icon {
    width:48px;
    height:48px;
    background:#112e47;
    color:#ffe48a;
}
.msws .msws-card-featured .msws-arrow { color:#775900; }
.msws-hover a.msws-card-featured:is(:hover,:focus-visible) .msws-icon {
    background:#224865;
    color:#fff0b8;
}
@media (max-width:760px) {
    .msws-actions { width:auto; }
    .msws .msws-actions a { min-width:min(100%,160px); }
}
