.fs-page {
    --fs-ink: #17221f;
    --fs-muted: #5b6b66;
    --fs-green: #173f3a;
    --fs-green-2: #1e625b;
    --fs-mint: #d8eee6;
    --fs-gold: #d3aa45;
    --fs-line: #dce5e0;
    background: #f5f7f4;
    color: var(--fs-ink);
    font-size: 16px;
    line-height: 1.65;
}

.fs-page *, .fs-page *::before, .fs-page *::after { box-sizing: border-box; }
.fs-page h1, .fs-page h2, .fs-page h3, .fs-page p { overflow-wrap: break-word; }
.fs-container { width: min(1140px, calc(100% - 40px)); margin-inline: auto; }
.fs-section { padding: clamp(64px, 8vw, 104px) 0; scroll-margin-top: 24px; }
.fs-section-white { background: #fff; }
.fs-section-dark { background: var(--fs-green); color: #fff; }

.fs-kicker {
    margin: 0 0 12px;
    color: #bde4d7;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fs-kicker-dark { color: #246f66; }
.fs-heading { max-width: 700px; margin: 0 0 36px; }
.fs-heading-wide { max-width: 820px; }
.fs-heading h2, .fs-documents h2, .fs-contact h2 {
    margin: 0 0 14px;
    color: var(--fs-ink);
    font-size: clamp(32px, 4.2vw, 50px);
    line-height: 1.08;
    letter-spacing: -.038em;
}
.fs-heading p, .fs-documents p, .fs-contact p { margin: 0; color: var(--fs-muted); font-size: 17px; }
.fs-heading-light h2 { color: #fff; }
.fs-heading-light p { color: #d6e7e2; }

.fs-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(72px, 9vw, 124px) 0;
    background: var(--fs-green);
    color: #fff;
}
.fs-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url('/images/parallax12.jpg') center / cover no-repeat;
    opacity: .13;
}
.fs-hero::after {
    content: "";
    position: absolute;
    right: -190px;
    bottom: -370px;
    z-index: -1;
    width: 650px;
    height: 650px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
}
.fs-hero-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: clamp(40px, 7vw, 90px); align-items: end; }
.fs-hero h1 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(42px, 6.6vw, 76px); line-height: 1; letter-spacing: -.048em; }
.fs-hero-copy { max-width: 720px; margin: 24px 0 0; color: #e1eee9; font-size: clamp(18px, 2vw, 21px); line-height: 1.6; }
.fs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.fs-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--fs-gold);
    color: #14221e !important;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.fs-button:hover, .fs-button:focus-visible { background: #e3bd5a; transform: translateY(-1px); }
.fs-button-secondary { border-color: rgba(255,255,255,.5); background: transparent; color: #fff !important; }
.fs-button-secondary:hover, .fs-button-secondary:focus-visible { border-color: #fff; background: rgba(255,255,255,.08); }
.fs-button-dark { background: var(--fs-green-2); color: #fff !important; }
.fs-button-dark:hover, .fs-button-dark:focus-visible { background: var(--fs-green); }
.fs-status { display: flex; width: fit-content; align-items: center; gap: 9px; margin: 24px 0 0; color: #d9e9e4; font-size: 13px; }
.fs-status span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--fs-gold); }

.fs-hero-summary { padding: 28px; border: 1px solid rgba(255,255,255,.18); background: rgba(10,42,37,.62); }
.fs-summary-label { margin: 0 0 18px; color: #bde4d7; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fs-hero-summary dl { margin: 0; }
.fs-hero-summary dl div { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.16); }
.fs-hero-summary dt { color: #fff; font-size: 24px; font-weight: 800; line-height: 1.2; }
.fs-hero-summary dd { margin: 4px 0 0; color: #cfe1dc; font-size: 14px; }
.fs-hero-summary > p:last-child { margin: 18px 0 0; color: #cfe1dc; font-size: 13px; line-height: 1.55; }

.fs-section-nav { position: relative; z-index: 3; border-bottom: 1px solid var(--fs-line); background: #fff; }
.fs-section-nav .fs-container { display: flex; gap: 6px; overflow-x: auto; padding-top: 14px; padding-bottom: 14px; scrollbar-width: thin; }
.fs-section-nav a { flex: 0 0 auto; padding: 8px 12px; border-bottom: 2px solid transparent; color: #31514b; font-size: 14px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.fs-section-nav a:hover, .fs-section-nav a:focus-visible { border-color: var(--fs-gold); color: var(--fs-green); }

.fs-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.fs-card { padding: 28px; border: 1px solid var(--fs-line); background: #fff; box-shadow: 0 16px 46px rgba(31,58,50,.055); }
.fs-card-number { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 20px; background: #e9f3ef; color: var(--fs-green-2); font-weight: 900; }
.fs-card h3 { margin: 0 0 8px; color: var(--fs-ink); font-size: 21px; line-height: 1.3; }
.fs-card p { margin: 0; color: var(--fs-muted); }

.fs-process { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(42px, 7vw, 90px); align-items: start; }
.fs-sticky-heading { position: sticky; top: 28px; }
.fs-process-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.fs-process-list li { position: relative; min-height: 92px; padding: 18px 20px 20px 74px; border-bottom: 1px solid var(--fs-line); counter-increment: steps; }
.fs-process-list li:first-child { border-top: 1px solid var(--fs-line); }
.fs-process-list li::before { content: counter(steps, decimal-leading-zero); position: absolute; top: 20px; left: 10px; color: var(--fs-green-2); font-size: 17px; font-weight: 900; }
.fs-process-list li::after { content: ""; position: absolute; top: 22px; left: 48px; width: 1px; height: 47px; background: #cbd8d3; }
.fs-process-list strong { display: block; margin-bottom: 3px; color: var(--fs-ink); font-size: 18px; }
.fs-process-list span { color: var(--fs-muted); }

.fs-community-callout { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(30px, 6vw, 78px); padding: clamp(32px, 5vw, 58px); background: var(--fs-green); color: #fff; }
.fs-community-callout h2 { max-width: 530px; margin: 0; color: #fff; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.05; letter-spacing: -.04em; }
.fs-community-callout > div:last-child > p { margin: 0; color: #d6e7e2; font-size: 18px; }
.fs-community-callout .fs-callout-emphasis { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 20px; font-weight: 800; }
.fs-notice { margin-top: 24px; padding: 18px 20px; border-left: 4px solid var(--fs-gold); background: #fff7e2; color: #4f3b12; }
.fs-notice p { margin: 0; }

.fs-table-wrap { overflow-x: auto; border: 1px solid var(--fs-line); background: #fff; }
.fs-table { width: 100%; min-width: 760px; margin: 0; border-collapse: collapse; }
.fs-table th, .fs-table td { padding: 20px; border-bottom: 1px solid var(--fs-line); color: #3d4c48; text-align: left; vertical-align: top; }
.fs-table thead th { background: var(--fs-green); color: #fff; font-size: 13px; letter-spacing: .045em; text-transform: uppercase; }
.fs-table tbody th { width: 22%; color: var(--fs-ink); font-size: 16px; }
.fs-table td strong { color: var(--fs-green-2); font-size: 21px; }
.fs-table tbody tr:last-child th, .fs-table tbody tr:last-child td { border-bottom: 0; }
.fs-info-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 18px; border: 1px solid var(--fs-line); background: #fff; }
.fs-info-strip div { padding: 22px; }
.fs-info-strip div + div { border-left: 1px solid var(--fs-line); }
.fs-info-strip strong, .fs-info-strip span { display: block; }
.fs-info-strip strong { margin-bottom: 5px; color: var(--fs-green); font-size: 17px; }
.fs-info-strip span { color: var(--fs-muted); font-size: 14px; }
.fs-caption { margin: 16px 0 0; color: #687772; font-size: 13px; }

.fs-two-column { display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,.82fr); gap: clamp(42px, 8vw, 96px); align-items: start; }
.fs-check-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fs-check-list li { position: relative; padding: 0 0 0 32px; color: #40504b; }
.fs-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--fs-green-2); font-weight: 900; }
.fs-period-card { padding: clamp(30px, 5vw, 50px); background: #edf4f0; }
.fs-period-number { display: block; color: var(--fs-green); font-size: clamp(76px, 10vw, 112px); font-weight: 850; line-height: .82; letter-spacing: -.06em; }
.fs-period-unit { margin: 12px 0 28px; color: var(--fs-green-2); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.fs-period-card h3 { margin: 0 0 12px; color: var(--fs-ink); font-size: 25px; line-height: 1.25; }
.fs-period-card > p:not(.fs-period-unit) { color: var(--fs-muted); }
.fs-period-card ul { margin: 22px 0 0; padding: 20px 0 0 20px; border-top: 1px solid #cdded7; color: #40504b; }
.fs-period-card li + li { margin-top: 10px; }

.fs-limit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.fs-limit-card { display: flex; min-height: 250px; flex-direction: column; padding: 26px; border: 1px solid var(--fs-line); background: #fff; }
.fs-limit-card p { margin: 0 0 auto; color: #53645f; font-weight: 700; }
.fs-limit-card strong { display: block; margin: 28px 0 10px; color: var(--fs-green); font-size: clamp(25px, 2.5vw, 34px); line-height: 1.08; letter-spacing: -.03em; }
.fs-limit-card span { color: var(--fs-muted); font-size: 14px; }
.fs-limit-card-primary { background: var(--fs-green); }
.fs-limit-card-primary p, .fs-limit-card-primary strong { color: #fff; }
.fs-limit-card-primary span { color: #d6e7e2; }
.fs-limit-card-wide { grid-column: span 2; }
.fs-important { display: grid; grid-template-columns: minmax(180px,.4fr) minmax(0,1.6fr); gap: 30px; margin-top: 22px; padding: 28px; border-top: 3px solid var(--fs-gold); background: #fff7e2; }
.fs-important h3 { margin: 0; color: #4f3b12; font-size: 20px; }
.fs-important p { margin: 0; color: #5c4a24; }

.fs-safeguard-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.fs-safeguard-grid article { min-height: 230px; padding: 28px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.fs-safeguard-grid span { color: var(--fs-gold); font-size: 13px; font-weight: 900; }
.fs-safeguard-grid h3 { margin: 32px 0 9px; color: #fff; font-size: 20px; line-height: 1.25; }
.fs-safeguard-grid p { margin: 0; color: #cfe1dc; font-size: 15px; }

.fs-faq-layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(42px, 8vw, 96px); align-items: start; }
.fs-faq { border-top: 1px solid var(--fs-line); }
.fs-faq details { border-bottom: 1px solid var(--fs-line); }
.fs-faq summary { position: relative; padding: 22px 52px 22px 0; color: var(--fs-ink); font-size: 18px; font-weight: 800; cursor: pointer; list-style: none; }
.fs-faq summary::-webkit-details-marker { display: none; }
.fs-faq summary::after { content: "+"; position: absolute; top: 17px; right: 4px; color: var(--fs-green-2); font-size: 28px; font-weight: 400; }
.fs-faq details[open] summary::after { content: "–"; }
.fs-faq details p { max-width: 700px; margin: 0; padding: 0 50px 24px 0; color: var(--fs-muted); }

.fs-documents { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(230px,.7fr); gap: 50px; align-items: end; padding: clamp(30px, 5vw, 54px); border: 1px solid var(--fs-line); background: #fff; }
.fs-documents h2 { font-size: clamp(30px, 4vw, 44px); }
.fs-text-link { display: inline-flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--fs-green); border-bottom: 1px solid var(--fs-green); color: var(--fs-green) !important; font-weight: 800; text-decoration: none !important; }
.fs-text-link:hover, .fs-text-link:focus-visible { color: var(--fs-green-2) !important; border-color: var(--fs-gold); }

.fs-contact { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(30px,5vw,52px); border: 1px solid var(--fs-line); background: #fff; box-shadow: 0 16px 46px rgba(31,58,50,.05); }
.fs-contact > div:first-child { max-width: 720px; }
.fs-contact address { margin: 20px 0 0; color: #697873; font-size: 13px; font-style: normal; }
.fs-contact-actions { display: grid; flex: 0 0 auto; gap: 13px; text-align: center; }
.fs-contact-phone { color: var(--fs-green) !important; font-weight: 800; text-decoration: none !important; }

@media (max-width: 980px) {
    .fs-hero-layout { grid-template-columns: 1fr; align-items: start; }
    .fs-hero-summary { display: grid; grid-template-columns: 150px 1fr; gap: 20px; }
    .fs-hero-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .fs-hero-summary dl div { padding: 12px; border-top: 0; border-left: 1px solid rgba(255,255,255,.16); }
    .fs-hero-summary > p:last-child { grid-column: 2; margin: 0 12px; }
    .fs-process, .fs-two-column, .fs-faq-layout { grid-template-columns: 1fr; }
    .fs-sticky-heading { position: static; }
    .fs-limit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-safeguard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
    .fs-container { width: min(100% - 28px, 1140px); }
    .fs-card-grid, .fs-info-strip, .fs-community-callout, .fs-documents { grid-template-columns: 1fr; }
    .fs-info-strip div + div { border-top: 1px solid var(--fs-line); border-left: 0; }
    .fs-community-callout { gap: 26px; }
    .fs-documents { gap: 30px; align-items: start; }
    .fs-contact { align-items: flex-start; flex-direction: column; }
    .fs-contact-actions { width: 100%; }
    .fs-contact .fs-button { width: 100%; }
    .fs-important { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 560px) {
    .fs-section { padding: 58px 0; }
    .fs-hero { padding: 62px 0; }
    .fs-hero h1 { font-size: clamp(39px, 12vw, 54px); }
    .fs-actions { display: grid; }
    .fs-button { width: 100%; }
    .fs-hero-summary { display: block; padding: 24px; }
    .fs-hero-summary dl { display: block; }
    .fs-hero-summary dl div { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
    .fs-hero-summary > p:last-child { margin: 16px 0 0; }
    .fs-card { padding: 23px; }
    .fs-limit-grid, .fs-safeguard-grid { grid-template-columns: 1fr; }
    .fs-limit-card-wide { grid-column: auto; }
    .fs-limit-card { min-height: 220px; }
    .fs-period-card { padding: 30px 24px; }
    .fs-safeguard-grid article { min-height: auto; }
    .fs-faq summary { padding-right: 42px; font-size: 17px; }
    .fs-faq details p { padding-right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .fs-button { transition: none; }
}
