/* Shared resource pages and the Solutions disclosure menu. */
.teb-solutions-menu { position:relative; }
.teb-solutions-menu > summary { display:flex; align-items:center; gap:8px; padding:10px 0; color:#40566a; font-size:.9rem; font-weight:700; cursor:pointer; list-style:none; }
.teb-solutions-menu > summary::-webkit-details-marker { display:none; }
.teb-solutions-menu > summary::after { content:''; width:7px; height:7px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin-top:-4px; }
.teb-solutions-menu[open] > summary::after { transform:rotate(225deg); margin-top:4px; }
.teb-solutions-links { position:absolute; top:calc(100% + 12px); left:-18px; width:250px; padding:12px; border:1px solid #dce5eb; border-radius:8px; background:#fff; box-shadow:0 18px 40px rgba(6,27,48,.14); }
.site-header .teb-solutions-links a { display:block; padding:11px 12px; color:#183044; border-radius:4px; }
.site-header .teb-solutions-links a:hover, .site-header .teb-solutions-links a[aria-current=page] { background:#edf7fb; color:#0f5f88; }
.teb-solutions-links small { display:block; padding:14px 12px 4px; color:#647487; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-top:1px solid #e4edf2; }
.teb-solutions-menu > summary:focus-visible, .teb-solutions-links a:focus-visible { outline:2px solid #0f5f88; outline-offset:4px; }
.site-header .nav[data-mobile-open] .teb-solutions-menu { width:100%; }
.site-header .nav[data-mobile-open] .teb-solutions-menu > summary { padding:12px 8px; }
.site-header .nav[data-mobile-open] .teb-solutions-links { position:static; width:100%; margin-bottom:8px; box-shadow:none; background:#f5f9fc; }

.benefits-page { background:#fff; color:#183044; }
.benefits-page .display { font-family:Manrope,Arial,sans-serif; font-weight:700; letter-spacing:-.04em; line-height:1.08; }
.benefits-page .brand { flex-shrink:0; }
.benefits-page .benefits-main { padding-top:84px; }
.benefits-main section { padding:74px 0; scroll-margin-top:100px; }
.benefits-page .benefits-hero { position:relative; overflow:hidden; padding:66px 0 76px; background:linear-gradient(115deg,#061b30,#0b2943 65%,#0f4b68); color:#fff; }
.benefits-hero::after { content:''; position:absolute; width:560px; height:560px; right:-170px; top:-290px; border:1px solid rgba(103,216,238,.18); border-radius:50%; pointer-events:none; }
.benefits-hero .container { position:relative; z-index:1; }
.benefits-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:35px; color:#c4dce9; font-size:.82rem; }
.benefits-breadcrumb a:hover { color:#fff; text-decoration:underline; }
.benefits-hero .eyebrow { color:#67d8ee; }
.benefits-hero h1 { max-width:880px; margin:16px 0 23px; font-size:clamp(2.8rem,5.5vw,4.8rem); }
.benefits-hero h1 span { color:#67d8ee; }
.benefits-hero p { max-width:740px; color:#d3e3ee; font-size:1.06rem; line-height:1.75; }
.benefits-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.benefits-hero .btn { border-radius:6px; }
.benefits-hero .btn-primary { background:#67d8ee; color:#061b30; box-shadow:none; }
.benefits-hero .btn-ghost { background:transparent; border-color:#6f8da4; color:#fff; }
.benefits-topic-nav { border-bottom:1px solid #dce5eb; background:#f5f9fc; }
.benefits-topic-nav .container { display:flex; flex-wrap:wrap; gap:8px 24px; padding-block:16px; }
.benefits-topic-nav a { padding:6px 0; font-size:.86rem; font-weight:700; color:#40566a; }
.benefits-topic-nav a[aria-current=page] { color:#0f5f88; border-bottom:2px solid #0f5f88; }
.benefits-section-title { max-width:820px; margin-bottom:30px; }
.benefits-section-title .eyebrow { color:#0f5f88; }
.benefits-section-title h2 { margin:10px 0 14px; color:#061b30; font-size:clamp(1.9rem,3.2vw,2.8rem); }
.benefits-section-title p { color:#596f80; max-width:760px; }
.benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.benefits-card { min-width:0; padding:30px; border:1px solid #dce5eb; border-radius:8px; background:#fff; }
.benefits-card .benefits-label { display:block; margin-bottom:28px; color:#0f5f88; font-size:.8rem; font-weight:800; letter-spacing:.08em; }
.benefits-card h3 { font-size:1.2rem; color:#061b30; margin-bottom:12px; }
.benefits-card p, .benefits-card li { color:#596f80; font-size:.95rem; line-height:1.75; }
.benefits-card ul { padding-left:19px; }
.benefits-card a.benefits-text-link { display:inline-flex; margin-top:22px; padding-block:5px; font-size:.9rem; font-weight:800; color:#0f5f88; text-decoration:underline; text-underline-offset:4px; }
.benefits-muted { background:#f5f9fc; }
.benefits-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.benefits-checklist { padding-left:22px; color:#40566a; }
.benefits-checklist li { margin-bottom:16px; padding-left:8px; }
.benefits-checklist strong { color:#061b30; }
.benefits-callout { border-left:3px solid #2aa8d8; background:#edf7fb; padding:22px 24px; margin-top:30px; color:#40566a; font-size:.93rem; }
.benefits-faq { max-width:940px; }
.benefits-faq details { border-bottom:1px solid #dce5eb; }
.benefits-faq summary { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:22px 0; cursor:pointer; color:#061b30; font-weight:700; list-style:none; }
.benefits-faq summary::-webkit-details-marker { display:none; }
.benefits-faq summary::after { content:'+'; flex-shrink:0; font-size:1.3rem; color:#0f5f88; }
.benefits-faq details[open] summary::after { content:'−'; }
.benefits-faq details > div { padding:0 35px 24px 0; color:#536b7c; line-height:1.8; }
.benefits-faq a, .benefits-callout a { color:#0f5f88; text-decoration:underline; text-underline-offset:3px; }
.benefits-source-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.benefits-source-list a { display:block; padding:22px; border:1px solid #dce5eb; border-radius:6px; color:#0f5f88; font-weight:700; background:white; }
.benefits-source-list a span { display:block; margin-top:7px; color:#647487; font-size:.85rem; font-weight:400; }
.benefits-source-list a:hover { border-color:#0f5f88; }
.benefits-review { margin-top:25px; color:#647487; font-size:.8rem; }
.benefits-support { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:35px; border-radius:8px; background:#061b30; color:#fff; }
.benefits-support h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px; }
.benefits-support p { max-width:650px; color:#c7dce9; }
.benefits-support .btn { flex-shrink:0; border-radius:6px; background:#67d8ee; color:#061b30; }
.benefits-table-wrap { max-width:100%; overflow-x:auto; }
.benefits-table { width:100%; min-width:540px; border-collapse:collapse; text-align:left; font-size:.95rem; }
.benefits-table caption { text-align:left; margin-bottom:20px; color:#647487; }
.benefits-table th, .benefits-table td { padding:18px 20px; border-bottom:1px solid #dce5eb; vertical-align:top; }
.benefits-table thead { background:#061b30; color:white; }
.benefits-table tbody th { color:#061b30; width:25%; }
.benefits-table a { color:#0f5f88; text-decoration:underline; }
.benefits-skip { position:fixed; top:8px; left:8px; transform:translateY(-180%); z-index:100; padding:12px 18px; color:#fff; background:#061b30; }
.benefits-skip:focus { transform:none; }
.benefits-main a:focus-visible, .benefits-main summary:focus-visible, .benefits-topic-nav a:focus-visible { outline:2px solid #0f5f88; outline-offset:5px; }
@media(max-width:1080px) {
  .benefits-page .nav { display:none; }
  .benefits-page .menu-btn { display:grid; place-items:center; }
  .benefits-split { grid-template-columns:1fr; gap:16px; }
  .benefits-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .benefits-page .benefits-main { padding-top:74px; }
  .benefits-page .benefits-hero { padding:38px 0 48px; }
  .benefits-main section { padding:48px 0; scroll-margin-top:90px; }
  .benefits-breadcrumb { margin-bottom:27px; }
  .benefits-hero h1 { font-size:clamp(2.5rem,10vw,3.4rem); }
  .benefits-hero-actions { flex-direction:column; }
  .benefits-source-list { grid-template-columns:1fr; }
  .benefits-support { align-items:stretch; flex-direction:column; padding:26px; }
  .benefits-support .btn { width:100%; }
  .benefits-card { padding:26px; }
}
@media(prefers-reduced-motion:reduce) {
  .benefits-page { scroll-behavior:auto; }
  .benefits-page .btn { transition:none; }
}

/* Combined FSA/HSA resource structure. */
.benefits-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.benefits-account-nav { display:flex; flex-wrap:wrap; gap:10px 24px; padding-block:18px; font-size:.86rem; font-weight:700; color:#0f5f88; }
.benefits-account-nav a { padding-block:6px; }
.benefits-account-nav a:hover { text-decoration:underline; }
.benefits-faq-heading { color:#061b30; font-size:1.35rem; margin:36px 0 8px; }
#fsa-faq, #hsa-faq { scroll-margin-top:110px; }
@media(max-width:700px) { .benefits-topic-grid { grid-template-columns:1fr; } }

/* Match the homepage footer grid on resource pages only. */
.benefits-page .site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 45px;
}
@media (max-width: 1050px) {
  .benefits-page .site-footer .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .benefits-page .site-footer .footer-grid { grid-template-columns: 1fr; }
}

/* Document-based administration and participant guides. */
.benefits-document-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:center; }
.benefits-document-hero-copy { min-width:0; }
.benefits-document-hero-copy h1 { font-size:clamp(2.7rem,4.6vw,4.5rem); }
.benefits-document-hero-image { margin:0; min-width:0; }
.benefits-document-hero-image img { display:block; width:100%; height:auto; border-radius:8px; border:1px solid rgba(255,255,255,.2); }
.benefits-document-hero-image figcaption { margin-top:12px; color:#c7dce9; font-size:.8rem; line-height:1.6; }
.benefits-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.benefits-portal-entry { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:28px; border:1px solid #c4dce9; border-radius:8px; background:#fff; }
.benefits-portal-entry h3 { margin-bottom:10px; color:#061b30; font-size:1.25rem; }
.benefits-portal-entry p { max-width:680px; color:#536b7c; }
.benefits-portal-entry .btn { flex-shrink:0; border-radius:6px; }
.benefits-portal-figure { min-width:0; margin:0; padding:18px; border:1px solid #dce5eb; border-radius:8px; background:#fff; }
.benefits-portal-figure > a { display:block; }
.benefits-portal-figure img { display:block; width:100%; height:auto; }
.benefits-portal-figure figcaption { padding-top:15px; color:#647487; font-size:.82rem; line-height:1.7; }
.benefits-portal-figure figcaption a { color:#0f5f88; text-decoration:underline; text-underline-offset:3px; }
.benefits-portal-actions { margin-top:28px; }
.benefits-portal-quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:28px 0 48px; }
.benefits-portal-quick-links > div { padding-top:18px; border-top:2px solid #2aa8d8; }
.benefits-portal-quick-links h3 { color:#061b30; font-size:1rem; margin-bottom:8px; }
.benefits-portal-quick-links p { color:#536b7c; font-size:.9rem; }
.benefits-portal-walkthrough { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:42px; }
.benefits-portal-walkthrough > div > h3 { color:#061b30; font-size:1.45rem; margin-bottom:12px; }
.benefits-portal-walkthrough > div > p { color:#536b7c; margin-bottom:22px; }
@media(max-width:1080px) {
  .benefits-document-hero-grid { grid-template-columns:1fr; gap:32px; }
  .benefits-document-hero-image { max-width:680px; }
  .benefits-portal-walkthrough { grid-template-columns:1fr; gap:28px; }
  .benefits-portal-quick-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .benefits-service-grid, .benefits-portal-quick-links { grid-template-columns:1fr; }
  .benefits-portal-entry { flex-direction:column; align-items:stretch; padding:24px; }
  .benefits-portal-figure { padding:12px; }
}
