:root{
 --fsw-color-forest:#1B4332;--fsw-color-pine:#2D6A4F;--fsw-color-leaf:#52B788;--fsw-color-sage:#95B8A1;--fsw-color-ivory:#F7F3EA;--fsw-color-sand:#E8DDC8;--fsw-color-sky:#74C0FC;--fsw-color-smoke:#DEE2E6;--fsw-color-charcoal:#24312A;--fsw-color-muted:#64736B;--fsw-color-safe:#2A9D8F;--fsw-color-watch:#E9C46A;--fsw-color-warning:#F4A261;--fsw-color-danger:#E76F51;--fsw-color-critical:#B42318;--fsw-color-white:#fff;
 --fsw-space-1:4px;--fsw-space-2:8px;--fsw-space-3:12px;--fsw-space-4:16px;--fsw-space-6:24px;--fsw-space-8:32px;--fsw-space-12:48px;--fsw-space-16:64px;--fsw-space-24:96px;
 --fsw-radius-sm:8px;--fsw-radius-md:12px;--fsw-radius-lg:20px;--fsw-radius-pill:999px;--fsw-shadow-sm:0 2px 8px rgba(27,67,50,.08);--fsw-shadow-md:0 8px 24px rgba(27,67,50,.12);--fsw-font-body:Inter,Arial,sans-serif;--fsw-font-display:Poppins,Inter,Arial,sans-serif;--fsw-font-data:"Roboto Mono",monospace;--fsw-content:1180px
}
.fsw-fdl-enabled,.fsw-fdl-admin-wrap{font-family:var(--fsw-font-body);color:var(--fsw-color-charcoal)}
.fsw-shell{width:min(calc(100% - 32px),var(--fsw-content));margin-inline:auto}.fsw-section{margin-block:var(--fsw-space-12)}.fsw-section>h2,.fsw-process>h2{font-family:var(--fsw-font-display);color:var(--fsw-color-forest);font-size:clamp(1.45rem,2vw,2rem)}
.fsw-grid{display:grid;gap:var(--fsw-space-6)}.fsw-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.fsw-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fsw-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fsw-eyebrow{font-size:.78rem;letter-spacing:.12em;font-weight:800;color:var(--fsw-color-pine);margin:0 0 8px;text-transform:uppercase}
.fsw-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:clamp(28px,5vw,64px);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-color-ivory),#fff);border:1px solid var(--fsw-color-sand);box-shadow:var(--fsw-shadow-sm)}.fsw-hero h1{font-family:var(--fsw-font-display);font-size:clamp(2rem,5vw,4.5rem);line-height:1.05;color:var(--fsw-color-forest);margin:.15em 0}.fsw-hero p{font-size:clamp(1rem,1.4vw,1.25rem);max-width:760px}.fsw-hero--compact{padding:32px}.fsw-hero__mark{font-size:clamp(4rem,10vw,8rem)}
.fsw-card{background:#fff;border:1px solid var(--fsw-color-smoke);border-radius:var(--fsw-radius-lg);box-shadow:var(--fsw-shadow-sm);padding:var(--fsw-space-6);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.fsw-card:hover{transform:translateY(-2px);box-shadow:var(--fsw-shadow-md)}.fsw-card--safe{border-top:5px solid var(--fsw-color-safe)}.fsw-card--warning{border-top:5px solid var(--fsw-color-warning)}.fsw-card--danger{border-top:5px solid var(--fsw-color-danger)}.fsw-card--care{background:linear-gradient(145deg,#fff,var(--fsw-color-ivory))}.fsw-card--employer{background:linear-gradient(145deg,#fff,#eef6fa)}.fsw-card__header{display:flex;align-items:center;gap:12px}.fsw-card__header h3{margin:0;font-family:var(--fsw-font-display);font-size:1.2rem;color:var(--fsw-color-forest)}.fsw-card__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--fsw-color-ivory);font-size:1.35rem}.fsw-card__value{font-family:var(--fsw-font-data);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:var(--fsw-color-charcoal);margin-top:18px}.fsw-card__status{font-weight:800;color:var(--fsw-color-pine);margin-top:2px}.fsw-card__body{color:var(--fsw-color-muted);margin-top:12px;line-height:1.65}.fsw-card__footer{margin-top:20px}
.fsw-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:14px;font-weight:800;text-decoration:none!important;border:2px solid transparent;transition:transform .15s ease,background .15s ease;line-height:1.2}.fsw-button:hover{transform:translateY(-1px)}.fsw-button:focus-visible{outline:3px solid var(--fsw-color-sky);outline-offset:3px}.fsw-button--primary{background:var(--fsw-color-forest);color:#fff!important}.fsw-button--primary:hover{background:var(--fsw-color-pine)}.fsw-button--secondary{background:#fff;color:var(--fsw-color-forest)!important;border-color:var(--fsw-color-forest)}.fsw-button--ghost{background:transparent;color:var(--fsw-color-forest)!important}.fsw-button--danger{background:var(--fsw-color-critical);color:#fff!important}
.fsw-alert{display:flex;gap:14px;align-items:flex-start;border-left:6px solid currentColor;border-radius:var(--fsw-radius-md);padding:16px 18px;background:#fff;box-shadow:var(--fsw-shadow-sm);margin:14px 0}.fsw-alert__icon{font-size:1.2rem}.fsw-alert strong{display:block;margin-bottom:4px}.fsw-alert--info{color:#245b78;background:#f1f8fc}.fsw-alert--safe{color:#176e65;background:#edf9f7}.fsw-alert--warning{color:#855311;background:#fff8e8}.fsw-alert--danger{color:#8c3e2e;background:#fff2ef}.fsw-alert--critical{color:var(--fsw-color-critical);background:#fff0f0}
.fsw-status{display:inline-flex;gap:7px;align-items:center;padding:6px 10px;border-radius:var(--fsw-radius-pill);font-size:.84rem;font-weight:800;background:#f4f5f4}.fsw-status__dot{width:9px;height:9px;border-radius:50%;background:currentColor}.fsw-status--safe{color:var(--fsw-color-safe)}.fsw-status--watch{color:#7d6511}.fsw-status--warning{color:#9a5a12}.fsw-status--danger{color:#9a4231}.fsw-status--critical{color:var(--fsw-color-critical)}.fsw-status--neutral{color:var(--fsw-color-muted)}
.fsw-audience-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.fsw-audience-card{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:clamp(24px,4vw,42px);border-radius:var(--fsw-radius-lg);border:1px solid var(--fsw-color-smoke);box-shadow:var(--fsw-shadow-sm)}.fsw-audience-card--resident{background:linear-gradient(145deg,var(--fsw-color-ivory),#fff)}.fsw-audience-card--employer{background:linear-gradient(145deg,#edf6fa,#fff)}.fsw-audience-card__icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#fff;font-size:2rem;box-shadow:var(--fsw-shadow-sm)}.fsw-audience-card h3{font-family:var(--fsw-font-display);color:var(--fsw-color-forest);font-size:clamp(1.35rem,2.5vw,2rem);margin:0 0 10px}.fsw-audience-card p:not(.fsw-eyebrow){color:var(--fsw-color-muted);line-height:1.6}
.fsw-process__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;list-style:none;padding:0;margin:0}.fsw-process__step{position:relative;text-align:center;padding:22px 14px;background:#fff;border:1px solid var(--fsw-color-smoke);border-radius:var(--fsw-radius-lg);box-shadow:var(--fsw-shadow-sm)}.fsw-process__step:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--fsw-color-sage);font-size:1.4rem;font-weight:800}.fsw-process__number{width:38px;height:38px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--fsw-color-forest);color:#fff;font-weight:800}.fsw-process__step p{margin:0;font-weight:700;color:var(--fsw-color-charcoal)}
.fsw-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.fsw-token{display:grid;grid-template-columns:38px 1fr;gap:4px 10px;align-items:center;background:#fff;border:1px solid var(--fsw-color-smoke);border-radius:12px;padding:10px}.fsw-token span{grid-row:1/3;width:38px;height:38px;border-radius:10px}.fsw-token code{font-size:.72rem;color:var(--fsw-color-muted)}.fsw-fdl-admin-wrap pre{padding:20px;border-radius:12px;background:#18241e;color:#f1f7f3;overflow:auto}.fsw-fdl-admin-wrap table code{white-space:normal}
@media(max-width:900px){.fsw-grid--3,.fsw-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.fsw-audience-paths{grid-template-columns:1fr}.fsw-process__step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-20px;transform:translateX(-50%)}}
@media(max-width:620px){.fsw-shell{width:min(calc(100% - 20px),var(--fsw-content))}.fsw-grid--2,.fsw-grid--3,.fsw-grid--4{grid-template-columns:1fr}.fsw-hero{grid-template-columns:1fr}.fsw-hero__mark{display:none}.fsw-audience-card{grid-template-columns:1fr}.fsw-button{width:100%}.fsw-process__list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fsw-card,.fsw-button{transition:none}.fsw-card:hover,.fsw-button:hover{transform:none}}
