
:root{
  /* Approved FDL fallbacks. Module 0 remains authoritative. */
  --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-white:#FFFFFF;
  --fsw-radius-lg:20px;
  --fsw-shadow-sm:0 2px 8px rgba(27,67,50,.08);
  --fsw-content:1180px;
}

html{max-width:100%;overflow-x:hidden}
body.fsw-public-shell-active{max-width:100%;overflow-x:hidden;background:var(--fsw-warm-ivory,var(--fsw-color-ivory))}
.fsw-public-main,.fsw-site-header,.fsw-site-footer{max-width:100%}
.fsw-container{min-width:0}
.fsw-container{width:min(calc(100% - 40px),var(--fsw-content));margin-inline:auto}
.fsw-skip-link{position:fixed;left:16px;top:-120px;z-index:10000;background:#fff;color:var(--fsw-primary-forest,var(--fsw-color-forest));padding:11px 16px;border-radius:12px;box-shadow:var(--fsw-shadow-sm)}
.fsw-skip-link:focus{top:16px}


/* Structural logo fallback keeps the shell usable even before Module 0 loads. */
.fsw-site-header .fswds-logo,
.fsw-site-footer .fswds-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:220px;
  color:inherit;
  text-decoration:none;
}
.fsw-site-header .fswds-logo__mark,
.fsw-site-footer .fswds-logo__mark{
  display:block;
  flex:0 0 72px;
  width:72px;
  height:42px;
  overflow:hidden;
}
.fsw-site-header .fswds-logo__mark svg,
.fsw-site-footer .fswds-logo__mark svg{
  display:block;
  width:100%;
  height:100%;
}
.fsw-site-header .fswds-logo__wordmark,
.fsw-site-footer .fswds-logo__wordmark{
  display:grid;
  line-height:1;
}
.fsw-site-header .fswds-logo__wordmark strong,
.fsw-site-footer .fswds-logo__wordmark strong{
  font-size:.9rem;
}
.fsw-site-header .fswds-logo__wordmark small,
.fsw-site-footer .fswds-logo__wordmark small{
  margin-top:3px;
  font-size:.58rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* One shared public header. */
.fsw-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);border-bottom:1px solid #D5DED8;backdrop-filter:blur(12px)}
.admin-bar .fsw-site-header{top:32px}
.fsw-site-header__inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.fsw-site-header__brand{flex:0 0 auto}
.fsw-primary-nav{margin-left:auto}
.fsw-primary-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.fsw-primary-nav a{display:flex;align-items:center;min-height:44px;padding:9px 11px;border-radius:12px;text-decoration:none;white-space:nowrap}
.fsw-primary-nav a[aria-current="page"]{background:var(--fsw-warm-ivory,var(--fsw-color-ivory));color:var(--fsw-primary-forest,var(--fsw-color-forest))}
.fsw-header-action{border:1px solid #B8C8BE!important;border-radius:999px!important;padding-inline:18px!important;margin-left:8px}
.fsw-nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;border:1px solid #D5DED8;border-radius:999px;background:#fff;color:var(--fsw-primary-forest,var(--fsw-color-forest));padding:9px 13px;font-weight:750}
.fsw-nav-toggle__icon{width:18px;height:13px;position:relative;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.fsw-nav-toggle__icon:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}

/* Shared footer. */
.fsw-site-footer{background:var(--fsw-primary-forest,var(--fsw-color-forest));color:#DCE8E0;padding:64px 0 22px}
.fsw-site-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,.7fr);gap:48px}
.fsw-site-footer__grid>*{min-width:0}
.fsw-site-footer__group a,.fsw-site-footer__identity p,.fsw-site-footer__trust>*{overflow-wrap:anywhere;word-break:normal}
.fsw-site-footer__identity p{max-width:520px;color:#C9D9CF}
.fsw-site-footer h2{margin:0 0 14px;font-size:.78rem!important;letter-spacing:.11em!important;text-transform:uppercase;color:#BFE0C9!important}
.fsw-site-footer a{display:block;color:#fff!important;text-decoration:none;margin:9px 0}
.fsw-site-footer a:hover{text-decoration:underline}
.fsw-site-footer__trust{display:flex;gap:14px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;color:#DCE8E0}
.fsw-site-footer__trust strong{color:#fff;white-space:normal}
.fsw-site-footer__bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.14);margin-top:20px;padding-top:20px;color:#B9CDC0;font-size:.86rem}

/* Shared page spacing. */
.fsw-public-main{overflow:hidden}
.fsw-home-hero,.fsw-section-hero{padding:82px 0 68px;background:linear-gradient(135deg,#fff 0%,var(--fsw-warm-ivory,var(--fsw-color-ivory)) 100%)}
.fsw-home-hero__grid,.fsw-section-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.fsw-home-hero__content h1,.fsw-section-hero h1{margin:0;max-width:18ch}
.fsw-home-hero__trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;color:var(--fsw-color-muted)}
.fsw-home-hero__trust span{display:flex;align-items:center;gap:7px;font-weight:700}
.fsw-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.fsw-public-section{padding:72px 0;background:var(--fsw-warm-ivory,var(--fsw-color-ivory))}
.fsw-public-section--white{background:#fff}
.fsw-public-section--deep{background:var(--fsw-primary-forest,var(--fsw-color-forest));color:#DCE8E0}
.fsw-public-section--deep h2{color:#fff!important}
.fsw-public-section--deep .fsw-kicker{color:#BFE0C9!important}
.fsw-public-section--deep p{color:#DCE8E0}
.fsw-section-heading{max-width:760px;margin-bottom:30px}
.fsw-section-heading--split{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:end}
.fsw-section-heading h2{margin:0}
.fsw-section-heading p:not(.fsw-kicker){color:var(--fsw-color-muted)}
.fsw-public-cta{display:flex;align-items:center;justify-content:space-between;gap:42px}

/* Hero people and icon visuals. */
.fsw-home-hero__visual{min-height:470px;display:grid;place-items:center}
.fsw-avatar-orbit{position:relative;width:min(100%,480px);aspect-ratio:1;background:radial-gradient(circle at center,rgba(82,183,136,.14) 0 36%,transparent 37%);border-radius:50%}
.fsw-avatar-orbit__item{position:absolute;filter:drop-shadow(0 12px 22px rgba(27,67,50,.11))}
.fsw-avatar-orbit__item.is-primary{left:5%;top:27%}
.fsw-avatar-orbit__item.is-secondary{right:4%;top:8%}
.fsw-avatar-orbit__item.is-tertiary{right:2%;bottom:7%}
.fsw-avatar-orbit__item.is-small{left:19%;bottom:1%}
.fsw-avatar-orbit__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;gap:7px;text-align:center;background:#fff;border:1px solid #D5DED8;border-radius:50%;width:145px;height:145px;box-shadow:var(--fsw-shadow-sm)}
.fsw-avatar-orbit__center strong{font-size:.9rem;color:var(--fsw-primary-forest,var(--fsw-color-forest))}
.fsw-section-hero__visual{min-height:340px;display:grid;place-items:center}
.fsw-section-people{display:flex;align-items:end;justify-content:center}
.fsw-section-people>*{margin-left:-24px;filter:drop-shadow(0 12px 22px rgba(27,67,50,.09))}
.fsw-section-people>*:first-child{margin-left:0}
.fsw-section-icon-cluster{display:grid;grid-template-columns:repeat(2,100px);gap:14px;place-items:center}
.fsw-section-icon-cluster>*{display:grid;place-items:center;width:100px;height:100px;background:#fff;border:1px solid #D5DED8;border-radius:24px;box-shadow:var(--fsw-shadow-sm)}
.fsw-section-icon-cluster>*:first-child{grid-column:1/3;width:130px;height:130px}

/* Condition snapshot remains compatible with Module 3 and Module 4 hydration. */
.fsw-condition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fsw-condition-card{display:flex;align-items:center;gap:12px;padding:16px;min-height:108px;min-width:0;background:#fff;border:1px solid #D5DED8;border-radius:18px;box-shadow:var(--fsw-shadow-sm)}
.fsw-condition-card__icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;background:var(--fsw-warm-ivory,var(--fsw-color-ivory));border-radius:14px}
.fsw-condition-card__content{min-width:0;flex:1}
.fsw-condition-card h3{margin:0 0 3px;font-size:1rem!important}
.fsw-condition-card__value{display:block;color:var(--fsw-color-muted);font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}

/* Shared public cards. */
.fsw-path-grid,.fsw-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fsw-path-card{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center;padding:22px;text-decoration:none;color:inherit;background:#fff;border:1px solid #D5DED8;border-radius:20px;box-shadow:var(--fsw-shadow-sm)}
.fsw-path-card:hover{transform:translateY(-2px)}
.fsw-path-card h3{margin:0 0 6px}
.fsw-path-card p:not(.fsw-kicker){margin:0 0 10px;color:var(--fsw-color-muted)}
.fsw-path-card>div:last-child>span{font-weight:750;color:var(--fsw-primary-forest,var(--fsw-color-forest))}
.fsw-feature-card{padding:24px;background:#fff;border:1px solid #D5DED8;border-radius:20px;box-shadow:var(--fsw-shadow-sm)}
.fsw-feature-card__icon{width:68px;height:68px;display:grid;place-items:center;background:var(--fsw-warm-ivory,var(--fsw-color-ivory));border-radius:18px;margin-bottom:18px}
.fsw-feature-card h2,.fsw-feature-card h3{margin:0 0 8px}
.fsw-feature-card p{margin:0;color:var(--fsw-color-muted)}

.fsw-my-forest-cta{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;padding:38px;background:linear-gradient(135deg,var(--fsw-warm-ivory,var(--fsw-color-ivory)),rgba(149,184,161,.22));border:1px solid #D5DED8;border-radius:28px}
.fsw-my-forest-cta__people{display:flex;align-items:end;justify-content:center}
.fsw-my-forest-cta__people>*{margin-left:-24px}
.fsw-my-forest-cta__people>*:first-child{margin-left:0}
.fsw-my-forest-cta h2{margin:0 0 10px}
.fsw-my-forest-cta p:not(.fsw-kicker){color:var(--fsw-color-muted)}

@media(max-width:1080px){
  .fsw-nav-toggle{display:inline-flex}
  .fsw-primary-nav{position:absolute;left:20px;right:20px;top:72px;display:none;margin:0;background:#fff;border:1px solid #D5DED8;border-radius:20px;padding:10px;box-shadow:0 14px 36px rgba(27,67,50,.14)}
  .fsw-primary-nav.is-open{display:block}
  .fsw-primary-nav ul{display:block}
  .fsw-primary-nav a{width:100%;padding:11px 13px}
  .fsw-header-action{margin:6px 0 0!important;justify-content:center}
  .fsw-home-hero__grid,.fsw-section-hero__grid{grid-template-columns:1fr}
  .fsw-home-hero__visual{min-height:400px}
  .fsw-path-grid,.fsw-feature-grid{grid-template-columns:1fr}
  .fsw-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fsw-site-footer__grid{grid-template-columns:1.3fr repeat(2,.7fr)}
  .fsw-site-footer__grid>div:last-child{grid-column:2/4}
}

@media(max-width:782px){
  .admin-bar .fsw-site-header{top:46px}
}

@media(max-width:720px){
  .fsw-container{width:min(calc(100% - 28px),var(--fsw-content))}
  .fsw-site-header__inner{min-height:72px}
  .fsw-home-hero,.fsw-section-hero{padding:48px 0}
  .fsw-home-hero__grid,.fsw-section-hero__grid{gap:28px}
  .fsw-home-hero__visual{min-height:300px}
  .fsw-section-hero__visual{min-height:190px}
  .fsw-section-icon-cluster{grid-template-columns:repeat(2,78px);gap:10px}
  .fsw-section-icon-cluster>*{width:78px;height:78px;border-radius:19px}
  .fsw-section-icon-cluster>*:first-child{width:104px;height:104px}
  .fsw-avatar-orbit__item.is-primary{left:0}
  .fsw-avatar-orbit__item.is-secondary{right:0}
  .fsw-public-section{padding:48px 0}
  .fsw-section-heading--split{grid-template-columns:1fr;gap:6px}
  .fsw-condition-grid{grid-template-columns:1fr}
  .fsw-path-card{grid-template-columns:86px 1fr;padding:18px}
  .fsw-my-forest-cta{grid-template-columns:1fr;padding:24px;gap:28px}
  .fsw-my-forest-cta__people{overflow:hidden}
  .fsw-public-cta{display:block}
  .fsw-public-cta .fsw-button{margin-top:20px}

  .fsw-site-footer{padding:38px 0 18px}
  .fsw-site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
  .fsw-site-footer__identity{grid-column:1/-1}
  .fsw-site-footer__identity p{margin:10px 0 0;max-width:42rem}
  .fsw-site-footer__identity .fswds-logo{max-width:190px}
  .fsw-site-footer h2{margin-bottom:9px}
  .fsw-site-footer a{margin:6px 0}
  .fsw-site-footer__group--company{grid-column:1/-1;display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap}
  .fsw-site-footer__group--company h2{flex:0 0 100%;margin-bottom:2px}
  .fsw-site-footer__group--company a{display:inline-block;margin:0}
  .fsw-site-footer__trust{display:block;margin-top:26px;padding-top:16px}
  .fsw-site-footer__trust strong,.fsw-site-footer__trust span{display:block;max-width:100%}
  .fsw-site-footer__trust span{margin-top:5px}
  .fsw-site-footer__bottom{display:block;margin-top:16px;padding-top:16px}
  .fsw-site-footer__bottom span{display:block;margin-top:5px}
}


@media(max-width:480px){
  .fsw-site-footer__grid{grid-template-columns:1fr;gap:20px}
  .fsw-site-footer__identity,
  .fsw-site-footer__group--company{grid-column:auto}
  .fsw-site-footer__group--company{display:block}
  .fsw-site-footer__group--company h2{margin-bottom:9px}
  .fsw-site-footer__group--company a{display:block;margin:6px 0}
  .fsw-site-footer h2{line-height:1.35!important;overflow-wrap:normal}
}

@media(prefers-reduced-motion:reduce){
  .fsw-path-card{transition:none!important}
  .fsw-path-card:hover{transform:none}
}

@media(max-width:390px){
  .fsw-site-footer__grid{gap:20px 14px}
  .fsw-site-footer__group a{font-size:.94rem}
  .fsw-condition-card{padding:14px}
}


/* v1.0.3: reduced top-level navigation with accessible Residential and Employer submenus. */
.fsw-primary-nav>ul>li{position:relative}
.fsw-primary-nav__row{display:flex;align-items:center}
.fsw-subnav-toggle{display:grid;place-items:center;width:32px;height:32px;margin-left:-5px;border:0;border-radius:9px;background:transparent;color:var(--fsw-primary-forest,var(--fsw-color-forest));cursor:pointer}
.fsw-subnav-toggle span{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px)}
.fsw-subnav-toggle[aria-expanded="true"] span{transform:rotate(225deg) translate(-1px,-1px)}
.fsw-subnav{position:absolute;left:0;top:calc(100% + 8px);z-index:1001;display:none!important;min-width:230px;padding:8px!important;border:1px solid #D5DED8;border-radius:16px;background:#fff;box-shadow:0 14px 36px rgba(27,67,50,.14)}
.fsw-primary-nav__item--has-children:hover>.fsw-subnav,
.fsw-primary-nav__item--has-children:focus-within>.fsw-subnav,
.fsw-primary-nav__item--has-children.is-subnav-open>.fsw-subnav{display:block!important}
.fsw-subnav li{display:block}
.fsw-subnav a{width:100%;min-height:42px!important;padding:9px 11px!important;white-space:normal!important}

/* Footer body text is deliberately compact and protected from inherited page heading rules. */
.fsw-site-footer,
.fsw-site-footer p,
.fsw-site-footer a,
.fsw-site-footer span,
.fsw-site-footer strong{font-size:15px!important;line-height:1.55!important}
.fsw-site-footer h2{font-size:12px!important;line-height:1.35!important}
.fsw-site-footer__identity p{font-size:15px!important;line-height:1.6!important;margin-top:14px}
.fsw-site-footer__bottom,
.fsw-site-footer__bottom span{font-size:13px!important}
.fsw-site-footer__trust strong,
.fsw-site-footer__trust span{font-size:14px!important}

@media(max-width:1080px){
  .fsw-primary-nav__row{width:100%}
  .fsw-primary-nav__row>a{flex:1}
  .fsw-subnav-toggle{flex:0 0 44px;width:44px;height:44px;margin:0}
  .fsw-subnav{position:static;display:none!important;min-width:0;margin:2px 0 7px 14px!important;padding:4px 0 4px 10px!important;border:0;border-left:2px solid #D5DED8;border-radius:0;background:transparent;box-shadow:none}
  .fsw-primary-nav__item--has-children:hover>.fsw-subnav,
  .fsw-primary-nav__item--has-children:focus-within>.fsw-subnav{display:none!important}
  .fsw-primary-nav__item--has-children.is-subnav-open>.fsw-subnav{display:block!important}
  .fsw-subnav a{min-height:44px!important}
}

@media(max-width:480px){
  .fsw-site-footer,
  .fsw-site-footer p,
  .fsw-site-footer a,
  .fsw-site-footer span,
  .fsw-site-footer strong{font-size:14px!important}
  .fsw-site-footer h2{font-size:11px!important}
}
