/* Page-specific styles, loaded only on the food-security page. */
.fs-hero { background:#eef0e6; padding:50px 0 0; }
.fs-hero>.container { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:35px 60px; align-items:center; }
.fs-hero .display-title { font-size:clamp(38px,4.4vw,66px); max-width:17ch; margin:18px 0 25px; }
.fs-hero .page-intro { font-size:17px; margin-bottom:25px; }
.fs-hero .figure-note { margin-top:18px; }
.fs-hero-photo { min-width:0; }
.fs-hero-photo img { width:100%; height:auto; border-radius:45% 45% 3px 3px; aspect-ratio:1/1.05; object-fit:cover; }
.fs-hero-photo figcaption { font-size:12px; }
.fs-takeaway { grid-column:1/-1; display:flex; gap:20px; align-items:center; background:var(--forest); color:var(--paper); padding:27px 35px; border-radius:3px 3px 0 0; }
.fs-takeaway .icon { width:35px; height:35px; flex:none; color:#dce9b6; }
.fs-takeaway p { max-width:870px; font-size:19px; margin:0; }
.fs-jump { display:flex; flex-wrap:wrap; gap:10px 25px; padding-block:23px; border-bottom:1px solid var(--line); }
.fs-jump a { font-size:13px; text-decoration:underline; text-underline-offset:4px; min-height:32px; display:flex; align-items:center; }
.fs-page .section-title,.fs-knowledge>h3 { white-space:pre-line; }
.fs-page section[id],.fs-stage,.fs-pressure { scroll-margin-top:105px; }
.fs-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin:35px 0 25px; }
.fs-pillars article { border-top:1px solid #bdc8b6; padding-top:20px; }
.fs-number { display:block; font:36px Georgia,serif; color:#687744; margin-bottom:25px; }
.fs-pillars h3 { font-size:24px; line-height:1.25; margin:10px 0 15px; }
.fs-pillars p { font-size:15px; }
.fs-source-links { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:12px; }
.fs-source-links li { padding-left:13px; border-left:2px solid #bdc8b6; font-size:12px; line-height:1.6; }
.fs-source-links a { display:block; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.fs-source-links .icon { width:13px; height:13px; display:inline; vertical-align:middle; }
.fs-evidence-label { display:block; color:#455a42; font-size:11px; letter-spacing:.025em; margin-bottom:4px; }
.fs-safety { border:1px solid #bdc8b6; padding:25px 30px; margin-top:35px; background:#f4f3ed; }
.fs-safety h3 { font-size:24px; margin-bottom:12px; }
.fs-safety p { max-width:900px; font-size:15px; margin:0; }
.fs-pathway { background:#e7eddf; }
.fs-stage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:30px; }
.fs-stage { background:var(--paper); padding:30px; border:1px solid #bdc8b6; border-radius:4px; }
.fs-stage:last-child { grid-column:1/-1; }
.fs-stage-grid:has(.fs-stage[hidden]) { grid-template-columns:1fr; }
.fs-stage-title { display:flex; gap:20px; align-items:center; margin-bottom:20px; }
.fs-stage-icon { background:#e8eddf; padding:12px; border-radius:50%; color:var(--forest); }
.fs-stage-icon>.icon,.fs-stage-icon>.fs-icon { width:30px; height:30px; }
.fs-stage h3 { font-size:29px; margin:0; }
.fs-stage>p { font-size:17px; max-width:850px; }
.fs-stage details { margin-top:18px; padding-top:18px; border-top:1px solid #bdc8b6; }
.fs-stage summary { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.fs-stage details p { font-size:14px; padding-top:15px; }
.fs-community { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:65px; align-items:start; }
.fs-community h3 { margin-top:30px; margin-bottom:15px; font-size:28px; }
.fs-income-routes { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
.fs-income-routes article { border-left:3px solid #879665; padding-left:18px; }
.fs-income-routes h4 { font-size:17px; font-weight:600; margin-bottom:12px; }
.fs-income-routes p { font-size:15px; }
.fs-community-aside { display:grid; gap:30px; }
.fs-inventory { background:#e8eddf; padding:30px; }
.fs-inventory h3 { margin-top:0; font-size:26px; }
.fs-inventory .fs-inventory-value { font:90px/1 Georgia,serif; margin:25px 0 8px; }
.fs-inventory .fs-inventory-label { font-size:14px; font-weight:600; }
.fs-inventory p { font-size:15px; }
.fs-pressure-controls { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.fs-pressure { background:var(--paper); padding:30px; border:1px solid #bdc8b6; border-radius:4px; margin-top:20px; }
.fs-pressure>h3 { font-size:29px; margin-bottom:25px; }
.fs-pressure-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:0; }
.fs-pressure-sequence h4 { font-size:16px; font-weight:600; margin-bottom:15px; }
.fs-pressure-sequence h4>span { display:block; color:#687744; font:30px Georgia,serif; margin-bottom:13px; }
.fs-pressure-sequence p { font-size:15px; }
.fs-research-question { background:#eef1e7; padding:20px; font-size:14px; }
.fs-research-question strong { display:block; margin-bottom:8px; }
.fs-version { max-width:900px; margin-top:25px; }
.fs-management { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin:35px 0; }
.fs-management h3 { font-size:25px; margin-bottom:17px; }
.fs-management p { font-size:15px; }
.fs-knowledge { display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; margin-top:50px; padding:35px; background:#f0f1e7; }
.fs-knowledge>h3,.fs-knowledge>.figure-note { grid-column:1/-1; }
.fs-knowledge>h3 { font:35px/1.25 Georgia,'Noto Serif','Songti SC',serif; }
.fs-knowledge h4 { font-size:18px; font-weight:600; margin-bottom:18px; }
.fs-knowledge ul { padding-left:20px; font-size:15px; }
.fs-knowledge li { padding-left:5px; margin:10px 0; }
.fs-summary { background:#e8eddf; }
.fs-summary-takeaway { font:25px/1.45 Georgia,'Noto Serif','Songti SC',serif; max-width:900px; border-left:3px solid #879665; padding-left:25px; margin:30px 0; }
.fs-summary-points { max-width:900px; padding-left:25px; }
.fs-summary-points li { margin:12px 0; padding-left:8px; }
.fs-summary-actions,.fs-reference-actions { display:flex; flex-wrap:wrap; gap:15px 25px; align-items:center; margin:25px 0; }
.fs-summary-references { border-top:1px solid #bdc8b6; padding-top:20px; }
.fs-summary-references>summary { text-decoration:underline; text-underline-offset:4px; }
.fs-summary-references>p { font-size:13px; overflow-wrap:anywhere; margin-top:15px; }
.fs-summary-references .icon { width:15px; height:15px; display:inline; }
.fs-action-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:65px; }
.fs-actions { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:30px; }
.fs-actions h3 { font-size:24px; margin-bottom:15px; }
.fs-actions p { font-size:15px; }
.fs-actions .text-link { font-size:13px; }
.fs-references { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:30px; }
.fs-reference { border:1px solid #bdc8b6; background:var(--paper); padding:28px; overflow-wrap:anywhere; }
.fs-reference h3 { font-size:23px; margin:15px 0; }
.fs-reference p { font-size:14px; }
.fs-reference .figure-note { font-size:12px; }
.fs-reference-actions a,.fs-reference-actions button { font-size:12px; }
.fs-teaser { background:#eef1e7; }
@media(max-width:1000px) { .fs-hero>.container { gap:30px; } .fs-community { gap:35px; } .fs-action-layout { gap:35px; } .fs-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); } .fs-pressure-sequence { gap:20px; } }
@media(max-width:760px) { .fs-hero { padding-top:30px; } .fs-hero>.container,.fs-community,.fs-action-layout { grid-template-columns:1fr; } .fs-hero .display-title { max-width:20ch; } .fs-hero-photo { max-width:600px; } .fs-hero-photo img { aspect-ratio:4/3; border-radius:5px; } .fs-hero .page-intro { font-size:16px; } .fs-takeaway { padding:23px; gap:15px; } .fs-takeaway p { font-size:17px; } .fs-stage-grid,.fs-pressure-sequence,.fs-management,.fs-knowledge,.fs-references { grid-template-columns:1fr; } .fs-stage,.fs-pressure,.fs-knowledge,.fs-reference { padding:24px; } .fs-knowledge>h3 { font-size:29px; } .fs-safety { padding:23px; } .fs-management { gap:20px; } .fs-summary-takeaway { font-size:22px; } .fs-summary-actions .button { white-space:normal; text-align:left; } }
@media(max-width:400px) { .fs-pillars,.fs-income-routes,.fs-actions { grid-template-columns:1fr; } .fs-takeaway { align-items:flex-start; } .fs-takeaway .icon { width:25px; height:25px; } }
@layer base { @media print { [data-food-stage-panel][hidden],[data-food-pressure-panel][hidden] { display:block!important; } } }
@media print { .fs-jump,.fs-stage-controls,.fs-pressure-controls,.fs-status,.fs-summary-actions,.fs-reference-actions { display:none!important; } .fs-hero { background:white; padding:20px 0; } .fs-hero>.container,.fs-stage-grid,.fs-community,.fs-management,.fs-knowledge,.fs-action-layout,.fs-references { display:block; } .fs-hero .display-title { font-size:27pt; max-width:none; } .fs-hero .page-intro { font-size:11pt; } .fs-hero-photo { max-width:90mm; margin:20px 0; } .fs-hero-photo img { border-radius:0; aspect-ratio:auto; } .fs-takeaway { background:white; color:black; padding:15px 0; } .fs-takeaway p { font-size:12pt; } .fs-stage,.fs-pressure,.fs-reference { margin:15px 0; padding:15px; break-inside:auto; } .fs-pressure-sequence { display:block; } .fs-pillars { grid-template-columns:1fr 1fr; } .fs-page h3,.fs-page h4 { break-after:avoid; } .fs-page .fs-source-links a[href]::after { content:' (' attr(href) ')'; font-size:8pt; overflow-wrap:anywhere; } .fs-summary-references { break-inside:auto; } body[data-print-food=summary] .fs-page>:not(#food-summary) { display:none!important; } body[data-print-food=summary] #food-summary { background:white; padding:0; } .fs-page .fs-summary-references p { font-size:9pt; } }

.fs-print-title { display:none; }
@media print { .fs-print-title { display:block; font-size:18pt; font-weight:600; margin-bottom:20px; } }

.fs-explore-instruction { max-width:780px; font-size:15px; margin-top:25px; }
.fs-scene-tools { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin:25px 0 20px; }
.fs-infographic { border:1px solid #aabdad; border-radius:8px; overflow:hidden; background:#f6f5e9; margin-top:25px; }
.fs-scene-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding:20px 25px; border-bottom:1px solid #c0cebb; }
.fs-scene-heading strong { font:22px/1.4 Georgia,'Songti SC',serif; }
.fs-scene-heading>span { font-size:12px; align-self:center; }
.fs-scene { position:relative; aspect-ratio:1200/590; }
.fs-scene-art { display:block; width:100%; height:100%; }
.fs-scene-nodes { list-style:none; padding:0; margin:0; position:absolute; inset:0; }
.fs-node { position:absolute; width:16%; transform:translate(-50%,-50%); }
.fs-node-habitat { left:13%; top:83%; }
.fs-node-marine-life { left:27%; top:64%; }
.fs-node-fishing { left:43%; top:34%; }
.fs-node-food-retained { left:66%; top:32%; }
.fs-node-food-income { left:66%; top:83%; }
.fs-node-household { left:89%; top:61%; }
.fs-node-control { display:grid; grid-template-columns:26px 1fr; gap:3px 8px; align-items:center; width:100%; min-height:84px; padding:12px; border:1px solid #829e8a; border-radius:6px; background:#faf9f5; color:var(--forest); text-align:left; line-height:1.35; box-shadow:0 3px 0 #294b3612; text-decoration:none; }
.fs-node-control:hover { background:#f0f5e9; border-color:var(--forest); }
.fs-node-control:focus-visible { outline:3px solid #143e38; outline-offset:4px; }
.fs-node-control[aria-pressed=true] { background:var(--forest); color:white; border-color:var(--forest); }
.fs-node-number { font:23px/1 Georgia,serif; grid-row:1/3; }
.fs-node-label { font-size:14px; font-weight:600; }
.fs-node-icon { display:none; }
.fs-node-scope { grid-column:2; padding:3px 6px; border-radius:3px; font-size:10px; width:fit-content; }
.fs-scope-local { background:#dae4ce; color:#294938; }
.fs-scope-wider { background:#d9e8e1; color:#25564c; }
.fs-scope-example { background:#eadcc1; color:#664518; }
.fs-scope-framework { background:#dce3f0; color:#354b6c; }
.fs-infographic.is-enhanced .fs-node-link { display:none; }
.fs-connectors path { transition:stroke .15s; }
.fs-connectors .is-active { stroke:#143e38; stroke-dasharray:7 4; }
.fs-pressure-mark { display:none; grid-column:1/-1; background:#f0dfbf; color:#604310; padding:3px 6px; font-size:10px; margin-top:4px; border-radius:3px; }
.fs-infographic:not([data-food-lens=none]) :is(.fs-node-habitat,.fs-node-marine-life) .fs-pressure-mark { display:block; }
.fs-infographic:not([data-food-lens=none]) :is(.fs-node-habitat,.fs-node-marine-life) .fs-node-control { outline:2px dashed #80602d; outline-offset:3px; }
.fs-infographic:not([data-food-lens=none]) .fs-node-control:focus-visible { outline:3px solid #143e38; }
.fs-scene-legend { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; padding:22px 25px 0; font-size:12px; }
.fs-scene-legend strong { font-weight:600; }
.fs-legend-item { display:flex; gap:7px; align-items:center; }
.fs-legend-key { width:12px; height:12px; border:1px solid currentColor; border-radius:2px; }
.fs-branch-note { font-size:14px; max-width:950px; padding:0 25px; margin:18px 0 12px; }
.fs-infographic figcaption { font-size:12px; padding:0 25px 23px; max-width:1050px; line-height:1.7; }
.fs-guided-controls { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; padding:20px 0; border-bottom:1px solid #aabdad; }
.fs-guided-controls>button { min-height:44px; display:inline-flex; align-items:center; gap:8px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.fs-guided-controls>button:disabled { opacity:.5; cursor:default; text-decoration:none; }
.fs-guided-controls>span { font-size:13px; }
.fs-guided-controls .icon { width:16px; height:16px; }
.fs-guided-controls [data-food-previous] .icon { transform:rotate(180deg); }
.fs-guided-controls .fs-reset { margin-left:auto; }
.fs-lens-controls { margin-top:25px; }
.fs-lens-label { font-size:16px; font-weight:600; }
.fs-lens-controls .fs-pressure-controls { margin:15px 0; }
.fs-lens-context { margin-top:20px; padding:24px; background:#f7f2e6; border:1px solid #c4b28e; border-radius:5px; scroll-margin-top:110px; }
.fs-lens-context h3 { font-size:25px; margin-bottom:12px; }
.fs-lens-context p { font-size:15px; max-width:850px; }
.fs-lens-context .text-link { font-size:13px; }
.fs-detail-step { font-size:11px; margin:0 0 7px; letter-spacing:.04em; }
.fs-why { padding:18px 20px; border-left:2px solid #879665; background:#edf0e4; }
.fs-stage .fs-why { font-size:15px; }
.fs-why strong { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.fs-household-questions>p { font-size:13px; font-weight:600; }
.fs-household-questions ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:15px 0 25px; }
.fs-household-questions a { font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.fs-pressure-return { margin:20px 0; }
@media screen and (max-width:900px) {
 .fs-scene { aspect-ratio:auto; padding:25px; background:linear-gradient(135deg,#d6e7dc,#f1edd8); }
 .fs-scene-art { display:none; }
 .fs-scene-nodes { position:relative; display:grid; gap:22px; }
 .fs-node { position:relative; width:100%; transform:none; inset:auto; }
 .fs-node-control { min-height:88px; grid-template-columns:32px 1fr 38px; gap:5px 12px; padding:16px; }
 .fs-node-label { font-size:16px; }
 .fs-node-number { font-size:28px; }
 .fs-node-scope { font-size:11px; }
 .fs-node-icon { display:block; grid-column:3; grid-row:1/3; }
 .fs-node-icon .icon,.fs-node-icon .fs-icon { width:35px; height:35px; }
 .fs-node:is(.fs-node-habitat,.fs-node-marine-life)::after { content:''; position:absolute; left:31px; top:100%; height:22px; border-left:1px solid #54755e; }
 .fs-node-food-retained,.fs-node-food-income { margin-left:24px; width:calc(100% - 24px); }
 .fs-node-food-retained::before,.fs-node-food-income::before { content:''; position:absolute; left:-18px; width:18px; top:50%; border-top:1px solid #54755e; }
 .fs-node-food-retained::after { content:''; position:absolute; left:-18px; top:-22px; height:calc(150% + 44px); border-left:1px solid #54755e; }
 .fs-guided-controls .fs-reset { margin-left:0; }
 .fs-scene-heading { padding:18px 22px; }
 .fs-scene-heading strong { font-size:20px; }
 .fs-scene-legend { padding:20px 22px 0; gap:12px 16px; }
 .fs-branch-note { padding-inline:22px; }
 .fs-infographic figcaption { padding:0 22px 20px; }
}
@media screen and (max-width:400px) {
 .fs-scene { padding:20px 15px; }
 .fs-node-control { grid-template-columns:25px 1fr 28px; gap:5px 8px; padding:13px 10px; }
 .fs-node-label { font-size:14px; }
 .fs-node-number { font-size:24px; }
 .fs-node-icon .icon,.fs-node-icon .fs-icon { width:27px; height:27px; }
 .fs-household-questions ul { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .fs-connectors path { transition:none; } }
@media print {
 .fs-scene-tools,.fs-guided-controls,.fs-lens-controls,.fs-explore-instruction,.fs-pressure-return,.fs-scene-nodes [data-food-controls] { display:none!important; }
 .fs-infographic .fs-node-link { display:grid!important; }
 .fs-infographic { break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; margin:15px 0; }
 .fs-scene-heading { padding:10px 15px; }
 .fs-scene-heading strong { font-size:13pt; }
 .fs-scene-heading>span { font-size:8pt; }
 .fs-node-control { padding:5px; gap:2px 4px; min-height:54px; grid-template-columns:16px 1fr; }
 .fs-node-number { font-size:13pt; }
 .fs-node-label { font-size:8pt; }
 .fs-node-scope { font-size:6.5pt; padding:2px; }
 .fs-scene-legend { font-size:8pt; padding:10px 15px 0; gap:7px 12px; }
 .fs-branch-note { font-size:9pt; padding:0 15px; margin:10px 0; }
 .fs-infographic figcaption { font-size:8pt; padding:0 15px 12px; }
 .fs-pressure-mark { display:none!important; }
 .fs-infographic .fs-node-control { outline:0!important; box-shadow:none; }
 .fs-connectors .is-active { stroke:#476353; stroke-dasharray:none; }
 .fs-why { padding:10px; }
 body[data-print-food=infographic] .fs-page>:not(#food-pathway):not(#food-references) { display:none!important; }
 body[data-print-food=infographic] #food-pathway { background:white; padding-top:0; }
}
