:root {
  --fs-navy: #072546;
  --fs-primary: #583e94;
  --fs-violet: #6b198d;
  --fs-blue: #1974c8;
  --fs-accent: #f6c94c;
  --fs-orange: #ff6b22;
  --fs-text: #17324d;
  --fs-muted: #52677d;
  --fs-line: #dfe7ef;
  --fs-soft: #f7f7ff;
}
.fs-page { color: var(--fs-text); background: #fff; }
.fs-page h1, .fs-page h2, .fs-page h3 { font-family: 'Space Grotesk', sans-serif; letter-spacing: 0; }
.fs-container { width: min(100% - 2rem, 1160px); margin-inline: auto; }
.fs-breadcrumb { padding: 1rem 0; color: var(--fs-muted); font-size: .9rem; }
.fs-breadcrumb a { color: var(--fs-primary); }
.fs-hero { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 6.5rem) 0 4rem; color: #fff; background: linear-gradient(135deg, #583e94 0%, #7a5ba8 58%, #315f88 100%); }
.fs-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 46%); pointer-events: none; }
.fs-hero .fs-container { position: relative; z-index: 1; }
.fs-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.fs-eyebrow { margin: 0 0 1rem; color: var(--fs-accent); font-weight: 700; text-transform: uppercase; font-size: .85rem; }
.fs-hero h1 { margin: 0 0 1.25rem; max-width: 780px; font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: 1.06; }
.fs-lead { margin: 0 0 1.25rem; max-width: 760px; color: #e9f0f7; font-size: clamp(1.05rem, 1.7vw, 1.25rem); line-height: 1.75; }
.fs-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.fs-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .75rem 1.15rem; border: 1px solid transparent; border-radius: 7px; text-decoration: none; font-weight: 600; }
.fs-button-primary { color: var(--fs-primary); background: var(--fs-accent); border-color: #e2b943; }
.fs-button-secondary { color: #fff; border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.08); }
.fs-button:hover, .fs-button:focus-visible { transform: translateY(-1px); }
.fs-hero-image { overflow: hidden; border: 2px solid rgba(255,255,255,.38); border-radius: 8px; background: #fff; box-shadow: 0 18px 42px rgba(45,28,80,.24); }
.fs-hero-image img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; object-position: center; background: #fff; }
.fs-hero-image figcaption { padding: .7rem .9rem; background: #fff; color: var(--fs-muted); font-size: .82rem; }
.fs-section { padding: clamp(3.5rem, 6vw, 5.5rem) 0; }
.fs-section-alt { background: linear-gradient(180deg, #fbfbff 0%, var(--fs-soft) 100%); }
.fs-section h2 { margin: 0 0 1rem; color: var(--fs-navy); font-size: clamp(1.8rem, 3.3vw, 2.65rem); line-height: 1.16; }
.fs-section-intro { max-width: 850px; margin: 0 0 2rem; color: var(--fs-muted); font-size: 1.08rem; line-height: 1.8; }
.fs-prose { max-width: 900px; }
.fs-prose p, .fs-prose li { color: var(--fs-muted); line-height: 1.8; }
.fs-prose h3 { margin-top: 2rem; color: var(--fs-primary); }
.fs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fs-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fs-card { padding: 1.35rem; border: 1px solid #e4dff0; border-left: 4px solid var(--fs-primary); border-radius: 8px; background: #fff; box-shadow: 0 6px 18px rgba(88,62,148,.06); }
.fs-card h3 { margin: 0 0 .6rem; color: var(--fs-primary); font-size: 1.12rem; }
.fs-card p { margin: 0; color: var(--fs-muted); line-height: 1.7; }
.fs-steps { counter-reset: step; display: grid; gap: 1rem; }
.fs-step { position: relative; padding: 1.25rem 1.25rem 1.25rem 4.4rem; border: 1px solid #e4dff0; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(88,62,148,.05); }
.fs-step::before { counter-increment: step; content: counter(step); position: absolute; left: 1.1rem; top: 1.15rem; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: #fff; background: var(--fs-primary); font-weight: 700; }
.fs-step h3 { margin: 0 0 .4rem; color: var(--fs-navy); }
.fs-step p { margin: 0; color: var(--fs-muted); line-height: 1.7; }
.fs-table-wrap { overflow-x: auto; border: 1px solid var(--fs-line); border-radius: 8px; }
.fs-table { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
.fs-table th, .fs-table td { padding: .9rem 1rem; border-bottom: 1px solid var(--fs-line); text-align: left; vertical-align: top; line-height: 1.55; }
.fs-table th { color: var(--fs-primary); background: #f1eef9; }
.fs-table td { color: var(--fs-muted); }
.fs-callout { padding: 2rem; border-left: 5px solid var(--fs-accent); border-radius: 8px; color: #fff; background: linear-gradient(135deg, var(--fs-primary), #7a5ba8); box-shadow: 0 12px 30px rgba(88,62,148,.18); }
.fs-callout h2 { color: #fff; }
.fs-callout p { color: #f2effa; line-height: 1.75; }
.fs-faq { display: grid; gap: .8rem; }
.fs-faq details { padding: 1rem 1.15rem; border: 1px solid var(--fs-line); border-radius: 8px; background: #fff; }
.fs-faq summary { cursor: pointer; color: var(--fs-navy); font-weight: 700; }
.fs-faq p { color: var(--fs-muted); line-height: 1.75; }
.fs-related { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.fs-related a { padding: 1rem; border: 1px solid var(--fs-line); border-radius: 7px; color: var(--fs-primary); background: #fff; text-decoration: none; font-weight: 600; }
@media (max-width: 900px) {
  .fs-hero-grid, .fs-grid, .fs-grid-2, .fs-related { grid-template-columns: 1fr; }
  .fs-hero-image { max-width: 680px; }
}
@media (max-width: 520px) {
  .fs-container { width: min(100% - 1.25rem, 1160px); }
  .fs-actions { flex-direction: column; }
  .fs-button { width: 100%; }
  .fs-callout { padding: 1.35rem; }
}