/* Shared interior system: the homepage's typography, mint, ink and sunshine. */
:root { --fgm-ink:#132a22; --fgm-muted:#5e716a; --fgm-green:#117a5b; --fgm-line:#dde7e2; --fgm-paper:#f5f8f6; --fgm-mint:#ddf4e9; --fgm-gold:#ffd75e; }
body.fgm-interior { color:var(--fgm-ink); background:var(--fgm-paper); }
.fgm-page { width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:38px 0 90px; }
.fgm-page * { box-sizing:border-box; }
.fgm-crumbs { display:flex; flex-wrap:wrap; gap:10px; color:var(--fgm-muted); font-size:.875rem; margin-bottom:36px; }
.fgm-crumbs a { color:var(--fgm-muted); text-decoration:none; }
.fgm-crumbs a:hover { color:var(--fgm-green); text-decoration:underline; }
.fgm-page .fgm-kicker { margin:0 0 14px; color:var(--fgm-green); font-size:.875rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.fgm-page .fgm-heading { margin:0; max-width:900px; color:var(--fgm-ink); font-size:clamp(2.35rem,5.4vw,4.5rem); font-weight:850; letter-spacing:-.055em; line-height:1.06; text-align:left; text-wrap:balance; overflow-wrap:anywhere; }
.fgm-page .fgm-lede { max-width:740px; margin:22px 0 0; color:var(--fgm-muted); font-size:1.125rem; line-height:1.75; }
.fgm-page .fgm-hero { padding:0 0 32px; margin-bottom:28px; border-bottom:1px solid var(--fgm-line); }
.fgm-page .fgm-actions { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; }
.fgm-page .fgm-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; padding:12px 20px; border:1px solid var(--fgm-green); border-radius:9px; background:var(--fgm-green); color:white; font:inherit; font-size:.9375rem; font-weight:750; line-height:1.45; text-decoration:none; transition:background .18s,transform .18s; }
.fgm-page .fgm-button:hover { background:#0b5b44; color:white; transform:translateY(-1px); }
.fgm-page .fgm-button.secondary { border-color:var(--fgm-line); background:white; color:var(--fgm-green); }
.fgm-page .fgm-button.secondary:hover { background:var(--fgm-mint); }
.fgm-page a:focus-visible,.fgm-page button:focus-visible,.fgm-page input:focus-visible,.fgm-page select:focus-visible { outline:3px solid #117a5b; outline-offset:4px; }
.fgm-page .fgm-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin:0 0 24px; color:var(--fgm-muted); font-size:.9375rem; }
.fgm-page .fgm-toolbar strong { color:var(--fgm-ink); }
.fgm-page .fgm-chips { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 0; padding:0; list-style:none; }
.fgm-page .fgm-chips a { display:block; padding:9px 14px; background:white; border:1px solid var(--fgm-line); border-radius:999px; font-size:.875rem; color:var(--fgm-green); }
.fgm-page .fgm-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fgm-page .fgm-study-card { display:flex; flex-direction:column; min-width:0; min-height:290px; padding:25px; background:white; border:1px solid var(--fgm-line); border-radius:16px; box-shadow:0 6px 24px #132a2205; color:var(--fgm-ink); text-decoration:none; transition:border-color .2s,transform .2s,box-shadow .2s; }
.fgm-page .fgm-study-card:hover { transform:translateY(-4px); border-color:#91bca9; box-shadow:0 14px 30px #132a2210; }
.fgm-page .fgm-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:22px; }
.fgm-page .fgm-tag { display:inline-block; width:fit-content; padding:6px 10px; border-radius:6px; background:#eef6f2; color:#27634e; font-size:.8125rem; font-weight:700; line-height:1.4; }
.fgm-page .fgm-card-pay { max-width:55%; padding:3px 0; font-size:1.25rem; font-weight:850; line-height:1.25; letter-spacing:-.035em; color:#0b674a; text-align:right; overflow-wrap:anywhere; }
.fgm-page .fgm-card-pay.unknown { font-size:.8125rem; letter-spacing:0; font-weight:600; color:var(--fgm-muted); }
.fgm-page .fgm-study-card h2 { margin:0 0 14px; color:var(--fgm-ink); font-size:1.1875rem; font-weight:750; letter-spacing:-.025em; line-height:1.4; text-align:left; overflow-wrap:anywhere; }
.fgm-page .fgm-card-meta { margin:0 0 22px; color:var(--fgm-muted); font-size:.875rem; line-height:1.7; }
.fgm-page .fgm-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #eaf0ec; padding-top:16px; margin-top:auto; color:var(--fgm-green); font-size:.875rem; font-weight:700; }
.fgm-page .fgm-card-source { font-weight:500; color:var(--fgm-muted); font-size:.8125rem; }
.fgm-page .fgm-empty { padding:48px 32px; background:white; border:1px solid var(--fgm-line); border-radius:16px; text-align:left; }
.fgm-page .fgm-empty h2 { margin:0 0 14px; font-size:1.65rem; font-weight:800; letter-spacing:-.04em; text-align:left; }
.fgm-page .fgm-empty p { color:var(--fgm-muted); line-height:1.75; max-width:650px; }
.fgm-page .fgm-note { margin:32px 0 0; padding:22px 26px; background:#eaf3ee; border:1px solid #d4e6da; border-radius:12px; color:#4e6b5e; font-size:.9375rem; line-height:1.75; }
.fgm-page .fgm-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:42px; }
.fgm-page .fgm-detail-copy { min-width:0; }
.fgm-page .fgm-detail-copy h2 { margin:34px 0 16px; text-align:left; font-size:1.6rem; letter-spacing:-.035em; }
.fgm-page .fgm-detail-copy h2:first-child { margin-top:0; }
.fgm-page .fgm-description { color:#40594e; font-size:1.0625rem; line-height:1.9; overflow-wrap:anywhere; white-space:normal; }
.fgm-page .fgm-facts { position:sticky; top:95px; background:white; border:1px solid var(--fgm-line); border-radius:16px; padding:28px; box-shadow:0 10px 32px #132a2208; }
.fgm-page .fgm-pay-label { margin:0 0 8px; color:var(--fgm-muted); font-size:.875rem; font-weight:650; }
.fgm-page .fgm-payout { margin:0 0 6px; font-size:2.5rem; font-weight:850; letter-spacing:-.055em; color:var(--fgm-green); line-height:1.1; }
.fgm-page .fgm-payout-text { color:var(--fgm-muted); font-size:.875rem; line-height:1.6; margin:8px 0 22px; overflow-wrap:anywhere; }
.fgm-page .fgm-facts dl { margin:24px 0; }
.fgm-page .fgm-facts dl div { display:grid; grid-template-columns:90px 1fr; gap:14px; padding:13px 0; border-top:1px solid #eaf0ec; font-size:.875rem; }
.fgm-page .fgm-facts dt { color:var(--fgm-muted); }
.fgm-page .fgm-facts dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.fgm-page .fgm-facts .fgm-button { width:100%; }
.fgm-page .fgm-smallprint { margin:14px 0 0; font-size:.8125rem; line-height:1.65; color:var(--fgm-muted); }
.fgm-page .fgm-status { display:inline-flex; gap:7px; align-items:center; padding:7px 11px; border-radius:999px; color:#27634e; background:var(--fgm-mint); font-size:.875rem; font-weight:650; }
.fgm-page .fgm-provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.fgm-page .fgm-provider { background:white; padding:26px; border:1px solid var(--fgm-line); border-radius:14px; display:flex; flex-direction:column; gap:16px; }
.fgm-page .fgm-provider h2, .fgm-page .fgm-provider h3 { margin:0; font-size:1.25rem; font-weight:750; text-align:left; line-height:1.35; letter-spacing:-.025em; }
.fgm-page .fgm-provider p { font-size:.9375rem; color:var(--fgm-muted); margin:0; line-height:1.7; }
.fgm-page .fgm-provider a { margin-top:auto; font-size:.9375rem; font-weight:750; }
/* Legacy editorial pages keep their content, with a genuinely new reading layout. */
body.fgm-article .grid-post { width:min(1180px,calc(100% - 56px)); max-width:none; padding:42px 0 90px; display:grid; grid-template-columns:minmax(0,1fr) 275px; gap:48px; align-items:start; overflow:visible; }
body.fgm-article .grid-post article { min-width:0; margin:0; padding:0; background:transparent; border:0; }
body.fgm-article .grid-post article h1 { color:var(--fgm-ink); font-size:clamp(2.3rem,4.7vw,3.9rem); font-weight:850; letter-spacing:-.055em; line-height:1.09; text-align:left; margin:0 0 26px; }
body.fgm-article article h1 b { font-weight:inherit; }
body.fgm-article .grid-post article h2,body.fgm-article .grid-post article h3 { margin:38px 0 16px; color:var(--fgm-ink); font-size:1.5rem; font-weight:750; line-height:1.3; letter-spacing:-.03em; text-align:left; }
body.fgm-article .grid-post article p,body.fgm-article .grid-post article li { color:#40594e; font-size:1.0625rem; line-height:1.9; text-align:left; }
body.fgm-article article p { margin:0 0 22px; }
body.fgm-article article ul,body.fgm-article article ol { padding-left:24px; margin:16px 0 26px; list-style:revert; }
body.fgm-article article li { padding:4px 0; }
body.fgm-article article a { color:var(--fgm-green); text-decoration:underline; text-underline-offset:3px; }
body.fgm-article .grid-post article > img { width:100% !important; max-height:360px; aspect-ratio:16/8; object-fit:cover; border-radius:16px; margin:0 0 22px; }
body.fgm-article .grid-post .box { width:100%; gap:18px; position:sticky; top:100px; }
body.fgm-article .box .card { width:100%; margin:0; padding:25px; background:white; border:1px solid var(--fgm-line); border-radius:14px; box-shadow:none; text-align:left; }
body.fgm-article .box .card h3 { font-size:1.25rem; letter-spacing:-.025em; }
body.fgm-article .box .card p { font-size:.9375rem; line-height:1.7; color:var(--fgm-muted); }
body.fgm-article .box .btn { font-size:.9375rem; padding:11px 17px; }
body.fgm-article .blog-author { padding:0 0 22px; border:0; margin:0 0 20px; background:transparent; }
body.fgm-article .blog-author-bio { padding:24px; border:1px solid #d4e6da; border-radius:14px; background:#eaf3ee; margin-top:40px; }
body.fgm-article .blog-author-bio h3 { margin-top:0; }
body.fgm-article .socialshare { margin:0 0 28px; }
/* Browse hubs and search share the same comfortable content width and rhythm. */
body.fgm-interior .settlements-main { padding:44px 0 90px; }
body.fgm-interior .settlements-main .container > br { display:none; }
body.fgm-interior .settlements-main .container > h1 { margin:14px 0 20px; font-size:clamp(2.35rem,5vw,4rem); text-align:left; letter-spacing:-.055em; line-height:1.07; }
body.fgm-interior .settlements-main .container > h4 { font-size:.875rem; color:var(--fgm-muted); font-weight:500; margin:0 0 18px; }
body.fgm-interior .settlements-main .container > h4 i { font-style:normal; }
body.fgm-interior .settlements-main .container > p { max-width:760px; font-size:1.0625rem; line-height:1.75; }
body.fgm-interior .settlements-main .container.grid { margin-top:28px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body.fgm-interior .settlement-card { padding:0; overflow:hidden; border-radius:15px; border:1px solid var(--fgm-line); box-shadow:0 6px 24px #132a2205; width:100%; text-align:left; }
body.fgm-interior .settlement-card .settlement-image { height:175px; border-radius:0; object-fit:cover; }
body.fgm-interior .settlement-card .settlement-card-title { margin:20px 24px 10px; padding:0; font-size:1.25rem; line-height:1.4; font-weight:750; letter-spacing:-.025em; text-align:left; }
body.fgm-interior .settlement-card .settlement-amount { padding:0; margin:0 24px 24px; font-size:.9375rem; line-height:1.7; text-align:left; color:var(--fgm-muted); }
body.fgm-interior .settlement-card .btn-settlement { margin:0; padding:15px 24px; background:#edf6f1; color:var(--fgm-green); text-align:left; font-size:.875rem; border-top:1px solid #dfece5; }
body.fgm-interior .sr-wrap { padding-top:45px; }
body.fgm-interior .sr-title { font-size:clamp(2.35rem,5vw,3.8rem); }
body.fgm-interior .sr-box { background:#fff; padding:18px; border:1px solid var(--fgm-line); border-radius:14px; }
body.fgm-interior .sr-sub { font-size:.875rem; }
.fgm-legal .fgm-legal-copy { max-width:800px; font-size:1.0625rem; line-height:1.9; color:#40594e; }
.fgm-legal .fgm-legal-copy h2 { text-align:left; font-size:1.5rem; margin:34px 0 14px; letter-spacing:-.025em; }
.fgm-legal .fgm-legal-copy ul { list-style:disc; padding-left:24px; }
.fgm-page.fgm-blog-head { padding-bottom:0; }
.fgm-page .fgm-guide { margin-top:44px; }
.fgm-page .fgm-guide > h2 { margin:0 0 8px; font-size:1.5rem; font-weight:800; letter-spacing:-.035em; text-align:left; }
.fgm-page .fgm-guide-intro { margin:0 0 20px; color:var(--fgm-muted); line-height:1.7; }
.fgm-page .fgm-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:16px; }
.fgm-page .fgm-guide-grid > div { background:white; padding:24px; border:1px solid var(--fgm-line); border-radius:14px; }
.fgm-page .fgm-guide-grid h3 { margin:0 0 8px; font-size:1.05rem; font-weight:750; text-align:left; }
.fgm-page .fgm-guide-grid p { margin:0; color:var(--fgm-muted); line-height:1.75; }
.fgm-page .fgm-question-group { scroll-margin-top:90px; padding:28px; background:white; border:1px solid var(--fgm-line); border-radius:16px; }
.fgm-page .fgm-question-list { margin:0; padding-left:1.4em; display:grid; gap:10px; line-height:1.6; }
.fgm-page .fgm-question-list li::marker { color:var(--fgm-green); font-weight:750; }
.fgm-page .fgm-question-tip { margin:20px 0 0; padding:14px 16px; background:var(--fgm-mint); border-radius:10px; line-height:1.65; }
.fgm-page .fgm-faq { display:grid; gap:10px; margin-top:16px; }
.fgm-page .fgm-faq details { background:white; border:1px solid var(--fgm-line); border-radius:12px; padding:16px 20px; }
.fgm-page .fgm-faq summary { cursor:pointer; font-weight:750; }
.fgm-page .fgm-faq details p { margin:12px 0 0; color:var(--fgm-muted); line-height:1.75; }
.fgm-page [hidden] { display:none !important; }
.fgm-page .fgm-cal { margin-top:8px; padding:24px; background:white; border:1px solid var(--fgm-line); border-radius:16px; }
.fgm-page .fgm-cal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fgm-page .fgm-cal-head h2 { margin:0; font-size:1.5rem; font-weight:850; letter-spacing:-.035em; text-align:center; }
.fgm-page .fgm-cal-nav { min-width:72px; padding:8px 12px; border:1px solid var(--fgm-line); border-radius:9px; color:var(--fgm-green); font-weight:750; text-align:center; text-decoration:none; }
.fgm-page .fgm-cal-nav.is-disabled { color:#c3d0ca; }
.fgm-page .fgm-cal-filters { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; scroll-margin-top:90px; }
.fgm-page .fgm-cal-filters button { flex:none; width:auto; height:auto; min-height:0; margin:0; white-space:nowrap; line-height:1.3; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid var(--fgm-line); border-radius:999px; background:white; color:var(--fgm-ink); font:inherit; font-size:.875rem; font-weight:650; cursor:pointer; }
.fgm-page .fgm-cal-filters button span { color:var(--fgm-muted); font-weight:600; }
.fgm-page .fgm-cal-filters button.is-active { border-color:var(--fgm-green); background:var(--fgm-mint); }
.fgm-page .fgm-dot { display:inline-block; width:8px; height:8px; border-radius:50%; flex:none; }
.fgm-page .fgm-dot.session, .fgm-page .fgm-kind.session { background:#117a5b; }
.fgm-page .fgm-dot.closes, .fgm-page .fgm-kind.closes { background:#c77700; }
.fgm-page .fgm-dot.posted, .fgm-page .fgm-kind.posted { background:#5b7fb0; }
.fgm-page .fgm-cal-row, .fgm-page .fgm-cal-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.fgm-page .fgm-cal-dow { padding:4px 0 8px; color:var(--fgm-muted); font-size:.75rem; font-weight:750; text-align:center; text-transform:uppercase; letter-spacing:.06em; }
.fgm-page .fgm-cal-day { min-height:92px; display:flex; flex-direction:column; gap:4px; padding:8px; border:1px solid #eaf0ec; border-radius:10px; background:var(--fgm-paper); color:var(--fgm-ink); text-decoration:none; }
.fgm-page .fgm-cal-day.is-blank { background:transparent; border-color:transparent; }
.fgm-page .fgm-cal-day.has-studies { background:white; border-color:var(--fgm-line); }
.fgm-page a.fgm-cal-day:hover { border-color:#a9cdbe; box-shadow:0 6px 16px rgba(22,54,43,.08); }
.fgm-page .fgm-cal-day.is-past { opacity:.6; }
.fgm-page .fgm-cal-day.is-today { border-color:var(--fgm-green); box-shadow:inset 0 0 0 1px var(--fgm-green); opacity:1; }
.fgm-page .fgm-cal-day.is-filtered { opacity:.3; }
.fgm-page .fgm-cal-num { font-size:.875rem; font-weight:750; }
.fgm-page .fgm-cal-counts { display:flex; flex-direction:column; gap:2px; }
.fgm-page .fgm-cal-count { display:flex; align-items:center; gap:5px; font-size:.75rem; color:var(--fgm-muted); white-space:nowrap; }
.fgm-page .fgm-cal-count b { color:var(--fgm-ink); }
.fgm-page .fgm-cal-count em { font-style:normal; }
.fgm-page .fgm-agenda { margin-top:40px; }
.fgm-page .fgm-agenda > h2 { margin:0 0 16px; font-size:1.5rem; font-weight:800; letter-spacing:-.035em; text-align:left; }
.fgm-page .fgm-agenda-day { margin-bottom:18px; padding:20px 22px; background:white; border:1px solid var(--fgm-line); border-radius:14px; scroll-margin-top:90px; }
.fgm-page .fgm-agenda-day.is-past h3 { color:var(--fgm-muted); }
.fgm-page .fgm-agenda-day:target { border-color:var(--fgm-green); box-shadow:0 0 0 2px var(--fgm-mint); }
.fgm-page .fgm-agenda-day h3 { margin:0 0 12px; font-size:1.05rem; font-weight:800; text-align:left; }
.fgm-page .fgm-today { margin-left:6px; padding:2px 8px; border-radius:999px; background:var(--fgm-gold); font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; vertical-align:middle; }
.fgm-page .fgm-agenda-day ul { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.fgm-page .fgm-agenda-day li { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:10px; align-items:baseline; }
.fgm-page .fgm-kind { padding:2px 8px; border-radius:999px; color:white; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.fgm-page .fgm-agenda-day li a { font-weight:700; color:var(--fgm-ink); }
.fgm-page .fgm-agenda-day li a:hover { color:var(--fgm-green); }
.fgm-page .fgm-earlier { margin-top:26px; }
.fgm-page .fgm-earlier summary { margin-bottom:14px; cursor:pointer; font-weight:750; color:var(--fgm-green); }
.fgm-page .fgm-earlier summary span { color:var(--fgm-muted); font-weight:500; }
.fgm-page .fgm-agenda-meta { grid-column:2; color:var(--fgm-muted); font-size:.85rem; }
@media(max-width:1000px) { .fgm-page .fgm-catalog,.fgm-page .fgm-provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .fgm-page .fgm-detail-grid { grid-template-columns:minmax(0,1fr) 310px; gap:28px; } body.fgm-article .grid-post { grid-template-columns:minmax(0,1fr); max-width:850px; } body.fgm-article .grid-post .box { position:static; display:grid; grid-template-columns:1fr 1fr; } }
@media(max-width:720px) { .fgm-page { width:calc(100% - 36px); padding-top:28px; } .fgm-crumbs { margin-bottom:25px; } .fgm-page .fgm-detail-grid { grid-template-columns:1fr; gap:32px; } .fgm-page .fgm-facts { position:static; grid-row:1; } .fgm-page .fgm-catalog,.fgm-page .fgm-provider-grid { grid-template-columns:1fr; } .fgm-page .fgm-study-card { min-height:250px; } .fgm-page .fgm-hero { margin-bottom:24px; } body.fgm-interior .settlements-main .container.grid { grid-template-columns:1fr; } body.fgm-article .grid-post { width:calc(100% - 36px); padding-top:28px; } body.fgm-article .grid-post .box { grid-template-columns:1fr; } .fgm-page .fgm-empty { padding:32px 24px; } .fgm-page .fgm-guide-grid { grid-template-columns:1fr; } .fgm-page .fgm-question-group { padding:22px 18px; } .fgm-page .fgm-cal { padding:14px 10px; } .fgm-page .fgm-cal-head h2 { font-size:1.2rem; } .fgm-page .fgm-cal-nav { min-width:0; padding:6px 10px; white-space:nowrap; } .fgm-page .fgm-cal-row, .fgm-page .fgm-cal-days { gap:3px; } .fgm-page .fgm-cal-day { min-height:54px; padding:5px 3px; align-items:center; } .fgm-page .fgm-cal-count em { display:none; } .fgm-page .fgm-cal-count { font-size:.68rem; gap:3px; } .fgm-page .fgm-cal-dow { font-size:.65rem; letter-spacing:0; } .fgm-page .fgm-agenda-day { padding:16px; } }
@media(prefers-reduced-motion:reduce) { .fgm-page * { scroll-behavior:auto!important; transition:none!important; transform:none!important; } }
