{"id":12677,"date":"2026-05-05T00:32:41","date_gmt":"2026-05-05T00:32:41","guid":{"rendered":"https:\/\/findyourlifeline.org\/?page_id=12677"},"modified":"2026-05-24T20:43:53","modified_gmt":"2026-05-24T20:43:53","slug":"lifeline","status":"publish","type":"page","link":"https:\/\/findyourlifeline.org\/es\/lifeline\/","title":{"rendered":"L\u00ednea de vida"},"content":{"rendered":"\n<div class=\"nfd-py-md nfd-gap-2xl wp-block-group alignfull has-background is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-4178e437 wp-block-group-is-layout-flex wp-container-3 is-position-sticky\" style=\"background:linear-gradient(135deg,rgb(234,244,251) 0%,rgb(212,230,247) 55%,rgb(233,242,238) 100%)\">\n<div class=\"nfd-gap-0 wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-b935a859 wp-block-group-is-layout-flex\"><h1 style=\"color:#2f5d7c\" class=\"has-text-align-left has-link-color nfd-text-lg nfd-text-contrast wp-elements-7b7db939c99d0a53665d5263db9a2832 wp-block-site-title has-text-color has-large-font-size wp-container-content-9cfa9a5a\"><a href=\"https:\/\/findyourlifeline.org\/es\" target=\"_self\" rel=\"home\">Find Your Lifeline<\/a><\/h1>\n\n<\/div>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);height:100px;width:938px\" aria-hidden=\"true\" class=\"wp-block-spacer wp-container-content-7fadbe8e\"><\/div>\n\n\n\n<div class=\"nfd-gap-2xl wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-9dc0771c wp-block-group-is-layout-flex wp-container-2 is-position-sticky\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem);\">\n<div class=\"md:nfd-hidden nfd-weight-inherit wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\"><\/div>\n\n\n<nav style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem);color: #2f5d7c\" class=\"has-text-color is-responsive items-justified-right no-wrap nfd-gap-lg wp-block-navigation has-mulish-font-family is-content-justification-right is-nowrap is-layout-flex wp-container-core-navigation-is-layout-618cf3e7 wp-block-navigation-is-layout-flex\" aria-label=\"Navigation\" \n\t\t data-wp-interactive=\"core\/navigation\" data-wp-context='{\"overlayOpenedBy\":{\"click\":false,\"hover\":false,\"focus\":false},\"type\":\"overlay\",\"roleAttribute\":\"\",\"ariaLabel\":\"Men\\u00fa\"}'><button aria-haspopup=\"dialog\" aria-label=\"Abrir el men\u00fa\" class=\"wp-block-navigation__responsive-container-open\" \n\t\t\t\tdata-wp-on--click=\"actions.openMenuOnClick\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t><svg width=\"24\" height=\"24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M5 5v1.5h14V5H5z\"><\/path><path d=\"M5 12.8h14v-1.5H5v1.5z\"><\/path><path d=\"M5 19h14v-1.5H5V19z\"><\/path><\/svg><\/button>\n\t\t\t\t<div class=\"wp-block-navigation__responsive-container has-text-color\" style=\"color: #3f6f95\" id=\"modal-1\" \n\t\t\t\tdata-wp-class--has-modal-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-class--is-menu-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-watch=\"callbacks.initMenu\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t\tdata-wp-on--focusout=\"actions.handleMenuFocusout\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t>\n\t\t\t\t\t<div class=\"wp-block-navigation__responsive-close\" tabindex=\"-1\">\n\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-dialog\" \n\t\t\t\tdata-wp-bind--aria-modal=\"state.ariaModal\"\n\t\t\t\tdata-wp-bind--aria-label=\"state.ariaLabel\"\n\t\t\t\tdata-wp-bind--role=\"state.roleAttribute\"\n\t\t\t>\n\t\t\t\t\t\t\t<button aria-label=\"Cerrar el men\u00fa\" class=\"wp-block-navigation__responsive-container-close\" \n\t\t\t\tdata-wp-on--click=\"actions.closeMenuOnClick\"\n\t\t\t><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"><\/path><\/svg><\/button>\n\t\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-container-content\" \n\t\t\t\tdata-wp-watch=\"callbacks.focusFirstElement\"\n\t\t\t id=\"modal-1-content\">\n\t\t\t\t\t\t\t\t<ul style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem);color: #2f5d7c\" class=\"wp-block-navigation__container has-text-color is-responsive items-justified-right no-wrap nfd-gap-lg wp-block-navigation has-mulish-font-family\"><li data-wp-context=\"{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot;, &quot;modal&quot;: null, &quot;previousFocus&quot;: null }\" data-wp-interactive=\"core\/navigation\" data-wp-on--focusout=\"actions.handleMenuFocusout\" data-wp-on--keydown=\"actions.handleMenuKeydown\" data-wp-on--pointerenter=\"actions.openMenuOnHover\" data-wp-on--pointerleave=\"actions.closeMenuOnHover\" data-wp-watch=\"callbacks.initMenu\" tabindex=\"-1\" style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu\"><a class=\"wp-block-navigation-item__content\" href=\"https:\/\/findyourlifeline.org\/es\/lifeline\/\"><span class=\"wp-block-navigation-item__label\"><strong>Lifeline<\/strong><\/span><\/a><button data-wp-bind--aria-expanded=\"state.isMenuOpen\" data-wp-on--click=\"actions.toggleMenuOnClick\" aria-label=\"Submen\u00fa de Lifeline\" class=\"wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.50002 4L6.00002 8L10.5 4\" stroke-width=\"1.5\"><\/path><\/svg><\/button><ul data-wp-on--focus=\"actions.openMenuOnFocus\" style=\"color:#3f6f95\" class=\"wp-block-navigation__submenu-container has-text-color wp-block-navigation-submenu\"><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/es\/regulation\/\"><span class=\"wp-block-navigation-item__label\">Regulation<\/span><\/a><\/li><\/ul><\/li><li data-wp-context=\"{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot;, &quot;modal&quot;: null, &quot;previousFocus&quot;: null }\" data-wp-interactive=\"core\/navigation\" data-wp-on--focusout=\"actions.handleMenuFocusout\" data-wp-on--keydown=\"actions.handleMenuKeydown\" data-wp-on--pointerenter=\"actions.openMenuOnHover\" data-wp-on--pointerleave=\"actions.closeMenuOnHover\" data-wp-watch=\"callbacks.initMenu\" tabindex=\"-1\" style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu\"><a class=\"wp-block-navigation-item__content\" href=\"https:\/\/findyourlifeline.org\/inspiration\/\"><span class=\"wp-block-navigation-item__label\"><strong>Inspiration<\/strong><\/span><\/a><button data-wp-bind--aria-expanded=\"state.isMenuOpen\" data-wp-on--click=\"actions.toggleMenuOnClick\" aria-label=\"Submen\u00fa de Inspiration\" class=\"wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.50002 4L6.00002 8L10.5 4\" stroke-width=\"1.5\"><\/path><\/svg><\/button><ul data-wp-on--focus=\"actions.openMenuOnFocus\" style=\"color:#3f6f95\" class=\"wp-block-navigation__submenu-container has-text-color wp-block-navigation-submenu\"><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/inspiration\/lifeletter\/\"><span class=\"wp-block-navigation-item__label\">Life Letter<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/inspiration\/wholesome\/\"><span class=\"wp-block-navigation-item__label\">Wholesome<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/laugh\/\"><span class=\"wp-block-navigation-item__label\">Comedy Clinic<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/es\/perspectives\/\"><span class=\"wp-block-navigation-item__label\">Perspectives<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/nature\/\"><span class=\"wp-block-navigation-item__label\">Nature\u2019s Masterpiece<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/quotes\/\"><span class=\"wp-block-navigation-item__label\">Quotes<\/span><\/a><\/li><\/ul><\/li><li data-wp-context=\"{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot;, &quot;modal&quot;: null, &quot;previousFocus&quot;: null }\" data-wp-interactive=\"core\/navigation\" data-wp-on--focusout=\"actions.handleMenuFocusout\" data-wp-on--keydown=\"actions.handleMenuKeydown\" data-wp-on--pointerenter=\"actions.openMenuOnHover\" data-wp-on--pointerleave=\"actions.closeMenuOnHover\" data-wp-watch=\"callbacks.initMenu\" tabindex=\"-1\" style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu\"><a class=\"wp-block-navigation-item__content\" href=\"https:\/\/findyourlifeline.org\/education\/\"><span class=\"wp-block-navigation-item__label\"><strong>Education<\/strong><\/span><\/a><button data-wp-bind--aria-expanded=\"state.isMenuOpen\" data-wp-on--click=\"actions.toggleMenuOnClick\" aria-label=\"Submen\u00fa de Education\" class=\"wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.50002 4L6.00002 8L10.5 4\" stroke-width=\"1.5\"><\/path><\/svg><\/button><ul data-wp-on--focus=\"actions.openMenuOnFocus\" style=\"color:#3f6f95\" class=\"wp-block-navigation__submenu-container has-text-color wp-block-navigation-submenu\"><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/education\/mental-health\/\"><span class=\"wp-block-navigation-item__label\">Mental Health<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/self-harm\/\"><span class=\"wp-block-navigation-item__label\">Self-Harm<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/addiction\/\"><span class=\"wp-block-navigation-item__label\">Addiction<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/therapy\/\"><span class=\"wp-block-navigation-item__label\">Therapy<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/medications\/\"><span class=\"wp-block-navigation-item__label\">Medications<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/abuse\/\"><span class=\"wp-block-navigation-item__label\">Abuse &amp; Harm<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/safety-plan\/\"><span class=\"wp-block-navigation-item__label\">Safety Planning<\/span><\/a><\/li><\/ul><\/li><li data-wp-context=\"{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot;, &quot;modal&quot;: null, &quot;previousFocus&quot;: null }\" data-wp-interactive=\"core\/navigation\" data-wp-on--focusout=\"actions.handleMenuFocusout\" data-wp-on--keydown=\"actions.handleMenuKeydown\" data-wp-on--pointerenter=\"actions.openMenuOnHover\" data-wp-on--pointerleave=\"actions.closeMenuOnHover\" data-wp-watch=\"callbacks.initMenu\" tabindex=\"-1\" style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu\"><a class=\"wp-block-navigation-item__content\" href=\"https:\/\/findyourlifeline.org\/resources\/\"><span class=\"wp-block-navigation-item__label\"><strong>Resources<\/strong><\/span><\/a><button data-wp-bind--aria-expanded=\"state.isMenuOpen\" data-wp-on--click=\"actions.toggleMenuOnClick\" aria-label=\"Submen\u00fa de Resources\" class=\"wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.50002 4L6.00002 8L10.5 4\" stroke-width=\"1.5\"><\/path><\/svg><\/button><ul data-wp-on--focus=\"actions.openMenuOnFocus\" style=\"color:#3f6f95\" class=\"wp-block-navigation__submenu-container has-text-color wp-block-navigation-submenu\"><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/resources\/resource-masterlist\/\"><span class=\"wp-block-navigation-item__label\">Resource Masterlist<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/mindfulness\/\"><span class=\"wp-block-navigation-item__label\">Mindfulness on Demand<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/reading\/\"><span class=\"wp-block-navigation-item__label\">Recommended Reading<\/span><\/a><\/li><\/ul><\/li><li data-wp-context=\"{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot;, &quot;modal&quot;: null, &quot;previousFocus&quot;: null }\" data-wp-interactive=\"core\/navigation\" data-wp-on--focusout=\"actions.handleMenuFocusout\" data-wp-on--keydown=\"actions.handleMenuKeydown\" data-wp-on--pointerenter=\"actions.openMenuOnHover\" data-wp-on--pointerleave=\"actions.closeMenuOnHover\" data-wp-watch=\"callbacks.initMenu\" tabindex=\"-1\" style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu\"><a class=\"wp-block-navigation-item__content\" href=\"https:\/\/findyourlifeline.org\/distractions\/\"><span class=\"wp-block-navigation-item__label\"><strong>Distractions<\/strong><\/span><\/a><button data-wp-bind--aria-expanded=\"state.isMenuOpen\" data-wp-on--click=\"actions.toggleMenuOnClick\" aria-label=\"Submen\u00fa de Distractions\" class=\"wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.50002 4L6.00002 8L10.5 4\" stroke-width=\"1.5\"><\/path><\/svg><\/button><ul data-wp-on--focus=\"actions.openMenuOnFocus\" style=\"color:#3f6f95\" class=\"wp-block-navigation__submenu-container has-text-color wp-block-navigation-submenu\"><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/distractions\/positivity\/\"><span class=\"wp-block-navigation-item__label\">Positive News<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/distractions\/music-apps\/\"><span class=\"wp-block-navigation-item__label\">Music &amp; Apps<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/resources\/podcasts\/\"><span class=\"wp-block-navigation-item__label\">Podcasts<\/span><\/a><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link has-small-font-size\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/stay-alive\/\"><span class=\"wp-block-navigation-item__label\">Reasons to Stay Alive<\/span><\/a><\/li><\/ul><\/li><li style=\"font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.351), 1.2rem)\" class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/findyourlifeline.org\/contact-2\/\"><span class=\"wp-block-navigation-item__label\"><strong>Contact<\/strong><\/span><\/a><\/li><\/ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/nav><\/div>\n<\/div>\n\n\n\n<div class=\"nfd-container wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-color has-link-color has-text-align-center has-huge-font-size wp-elements-d30817e769f00be87355ad622238cc22 wp-block-paragraph\" style=\"color:#2f6fa3\"><strong>A Lifeline to Hold Onto<\/strong><\/p>\n\n\n\n<hr class=\"is-style-dots wp-block-separator has-text-color has-alpha-channel-opacity has-background\" style=\"background-color:#6fa9d6;color:#6fa9d6\"\/>\n\n\n\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<div id=\"fyl-lifeline-hub\">\n  <style>\n    html, body {\n      overflow-x: hidden !important;\n      scroll-behavior: smooth;\n    }\n\n    #fyl-lifeline-hub {\n      --fyl-bg: #f7fbff;\n      --fyl-card: rgba(255,255,255,.94);\n      --fyl-blue: #4868aa;\n      --fyl-blue-2: #5f82cb;\n      --fyl-sky: #77bdd7;\n      --fyl-teal: #2f8fbe;\n      --fyl-deep: #284f6f;\n      --fyl-text: #42506b;\n      --fyl-soft: #687792;\n      --fyl-muted: #60708a;\n      --fyl-line: rgba(110,140,190,.14);\n      --fyl-line-strong: rgba(114,176,204,.22);\n      --fyl-shadow: 0 14px 34px rgba(40,90,120,.09);\n      --fyl-soft-shadow: 0 8px 18px rgba(68,102,155,.055);\n      --fyl-danger: #9b4f44;\n      --fyl-danger-2: #c95d52;\n      --fyl-green: #2f8a68;\n      font-family: Mulish, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      color: var(--fyl-text);\n      background:\n        radial-gradient(circle at top right, rgba(123,199,217,.15), transparent 34%),\n        linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);\n      width: 100%;\n      max-width: none;\n      margin: 0 auto;\n      padding: clamp(.8rem, 2vw, 1.25rem) 0 3rem;\n      line-height: 1.56;\n      font-size: 17px;\n      overflow-x: hidden;\n      box-sizing: border-box;\n    }\n\n    #fyl-lifeline-hub *,\n    #fyl-lifeline-hub *::before,\n    #fyl-lifeline-hub *::after {\n      box-sizing: border-box;\n    }\n\n    #fyl-lifeline-hub .fyl-wrap {\n      width: min(100%, 1120px);\n      max-width: 1120px;\n      margin: 0 auto;\n      padding: 0 clamp(.75rem, 2.5vw, 1.25rem);\n    }\n\n    #fyl-lifeline-hub .fyl-hero,\n    #fyl-lifeline-hub .fyl-card,\n    #fyl-lifeline-hub .fyl-panel,\n    #fyl-lifeline-hub .fyl-soft-note,\n\n    \/* Safety plan form readability + spaciousness *\/\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      padding: 1.2rem 1.1rem !important;\n      min-height: 112px;\n      background: rgba(255,255,255,0.95);\n      border: 1px solid rgba(120,190,210,0.22);\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      color: #2f3a4a !important;\n      padding: .95rem !important;\n      font-size: 1rem;\n      min-height: 54px;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #9aa6b2 !important;\n    }\n\n    #fyl-lifeline-hub .fyl-support-card {\n      width: 100%;\n      border-radius: 28px;\n      background: rgba(255,255,255,.94);\n      border: 1px solid var(--fyl-line);\n      box-shadow: var(--fyl-shadow);\n    }\n\n    #fyl-lifeline-hub .fyl-hero {\n      margin: 0 0 1rem;\n      padding: clamp(1.35rem, 3vw, 2.25rem);\n      text-align: center;\n      background:\n        radial-gradient(circle at top right, rgba(123,199,217,.22), transparent 42%),\n        linear-gradient(135deg, rgba(238,246,255,.98), rgba(255,255,255,.96));\n    }\n\n    #fyl-lifeline-hub .fyl-kicker {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: .65rem;\n      padding: .38rem .82rem;\n      border-radius: 999px;\n      background: rgba(238,246,255,.96);\n      color: var(--fyl-teal);\n      font-size: .78rem;\n      font-weight: 700;\n      letter-spacing: .11em;\n      text-transform: uppercase;\n    }\n\n    #fyl-lifeline-hub h1,\n    #fyl-lifeline-hub h2,\n    #fyl-lifeline-hub h3 {\n      margin-top: 0;\n      letter-spacing: -.02em;\n    }\n\n    #fyl-lifeline-hub h1 {\n      margin-bottom: .38rem;\n      color: #4563a3;\n      font-size: clamp(2rem, 6vw, 3.35rem);\n      line-height: 1.06;\n      font-weight: 700;\n    }\n\n    #fyl-lifeline-hub h2 {\n      margin-bottom: .45rem;\n      color: var(--fyl-deep);\n      font-size: clamp(1.38rem, 3vw, 2rem);\n      line-height: 1.18;\n      font-weight: 650;\n      text-align: center;\n    }\n\n    #fyl-lifeline-hub h3 {\n      margin-bottom: .35rem;\n      color: var(--fyl-deep);\n      font-size: 1.16rem;\n      line-height: 1.25;\n      font-weight: 650;\n    }\n\n    #fyl-lifeline-hub p {\n      margin: 0;\n      color: var(--fyl-soft);\n      font-size: 1rem;\n      line-height: 1.65;\n      font-weight: 500;\n    }\n\n    #fyl-lifeline-hub .fyl-hero p,\n    #fyl-lifeline-hub .fyl-center-copy {\n      max-width: 760px;\n      margin: 0 auto;\n      text-align: center;\n    }\n\n    #fyl-lifeline-hub .fyl-card,\n    #fyl-lifeline-hub .fyl-panel,\n\n    \/* Safety plan form readability + spaciousness *\/\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      padding: 1.2rem 1.1rem !important;\n      min-height: 112px;\n      background: rgba(255,255,255,0.95);\n      border: 1px solid rgba(120,190,210,0.22);\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      color: #2f3a4a !important;\n      padding: .95rem !important;\n      font-size: 1rem;\n      min-height: 54px;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #9aa6b2 !important;\n    }\n\n    #fyl-lifeline-hub .fyl-support-card {\n      margin: 1rem 0;\n      padding: clamp(1rem, 2.4vw, 1.55rem);\n      background:\n        radial-gradient(circle at top left, rgba(255,255,255,.9), transparent 34%),\n        linear-gradient(135deg, #edf8ff 0%, #f8fcff 54%, #eef8f7 100%);\n      border-color: rgba(114,176,204,.2);\n      overflow: hidden;\n    }\n\n    #fyl-lifeline-hub .fyl-card::before,\n    #fyl-lifeline-hub .fyl-panel::before,\n    #fyl-lifeline-hub .fyl-support-card::before {\n      content: \"\";\n      display: block;\n      height: 1px;\n      width: 100%;\n      background: linear-gradient(90deg, transparent, rgba(110,140,190,.16), transparent);\n      margin: -.15rem 0 1rem;\n    }\n#fyl-lifeline-hub .fyl-router-grid,\n    #fyl-lifeline-hub .fyl-state-grid,\n    #fyl-lifeline-hub .fyl-tool-grid,\n    #fyl-lifeline-hub .fyl-mode-grid,\n    #fyl-lifeline-hub .fyl-two-grid {\n      display: grid;\n      gap: .82rem;\n      margin-top: 1rem;\n    }\n\n    #fyl-lifeline-hub .fyl-router-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    #fyl-lifeline-hub .fyl-state-grid,\n    #fyl-lifeline-hub .fyl-tool-grid,\n    #fyl-lifeline-hub .fyl-mode-grid,\n    #fyl-lifeline-hub .fyl-two-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    #fyl-lifeline-hub button,\n    #fyl-lifeline-hub a,\n    #fyl-lifeline-hub textarea,\n    #fyl-lifeline-hub input {\n      font-family: inherit;\n      -webkit-tap-highlight-color: transparent;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn,\n    #fyl-lifeline-hub .fyl-choice-btn,\n    #fyl-lifeline-hub .fyl-mode-btn,\n    #fyl-lifeline-hub .fyl-tool-card,\n    #fyl-lifeline-hub .fyl-action-btn,\n    #fyl-lifeline-hub .fyl-chip,\n    #fyl-lifeline-hub .fyl-small-btn,\n    #fyl-lifeline-hub .fyl-time-btn,\n    #fyl-lifeline-hub .fyl-control-btn {\n      appearance: none;\n      -webkit-appearance: none;\n      border: 1px solid rgba(110,140,190,.14);\n      background: rgba(255,255,255,.94);\n      color: var(--fyl-blue);\n      box-shadow: var(--fyl-soft-shadow);\n      cursor: pointer;\n      text-decoration: none !important;\n      min-width: 0;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn,\n    #fyl-lifeline-hub .fyl-choice-btn,\n    #fyl-lifeline-hub .fyl-mode-btn,\n    #fyl-lifeline-hub .fyl-tool-card {\n      display: block;\n      width: 100%;\n      min-height: 122px;\n      border-radius: 24px;\n      padding: 1rem;\n      text-align: left;\n      background: linear-gradient(135deg, #eef8ff, #ffffff);\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn strong,\n    #fyl-lifeline-hub .fyl-choice-btn strong,\n    #fyl-lifeline-hub .fyl-mode-btn strong,\n    #fyl-lifeline-hub .fyl-tool-card strong {\n      display: block;\n      color: var(--fyl-blue);\n      font-size: 1.05rem;\n      line-height: 1.22;\n      font-weight: 700;\n      margin-bottom: .25rem;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn span,\n    #fyl-lifeline-hub .fyl-choice-btn span,\n    #fyl-lifeline-hub .fyl-mode-btn span,\n    #fyl-lifeline-hub .fyl-tool-card span {\n      display: block;\n      color: var(--fyl-soft);\n      font-size: .93rem;\n      line-height: 1.42;\n      font-weight: 500;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn.primary,\n    #fyl-lifeline-hub .fyl-choice-btn.active,\n    #fyl-lifeline-hub .fyl-mode-btn.active,\n    #fyl-lifeline-hub .fyl-tool-card.active,\n    #fyl-lifeline-hub .fyl-chip.active,\n    #fyl-lifeline-hub .fyl-time-btn.active,\n    #fyl-lifeline-hub .fyl-control-btn.primary {\n      background: linear-gradient(135deg, var(--fyl-blue-2), var(--fyl-sky));\n      border-color: transparent;\n      color: #fff;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn.primary strong,\n    #fyl-lifeline-hub .fyl-route-btn.primary span,\n    #fyl-lifeline-hub .fyl-choice-btn.active strong,\n    #fyl-lifeline-hub .fyl-choice-btn.active span,\n    #fyl-lifeline-hub .fyl-mode-btn.active strong,\n    #fyl-lifeline-hub .fyl-mode-btn.active span,\n    #fyl-lifeline-hub .fyl-tool-card.active strong,\n    #fyl-lifeline-hub .fyl-tool-card.active span {\n      color: #fff;\n    }\n\n    #fyl-lifeline-hub .fyl-route-btn:hover,\n    #fyl-lifeline-hub .fyl-choice-btn:hover,\n    #fyl-lifeline-hub .fyl-mode-btn:hover,\n    #fyl-lifeline-hub .fyl-tool-card:hover {\n      transform: translateY(-1px);\n      box-shadow: 0 12px 24px rgba(68,102,155,.09);\n    }\n\n    #fyl-lifeline-hub .fyl-soft-intro,\n    #fyl-lifeline-hub .fyl-soft-note,\n    #fyl-lifeline-hub .fyl-instruction-box,\n    #fyl-lifeline-hub .fyl-prompt-box,\n    #fyl-lifeline-hub .fyl-reflection-box,\n    #fyl-lifeline-hub .fyl-mini-panel {\n      margin: .9rem auto 0;\n      padding: .95rem;\n      border-radius: 22px;\n      background: rgba(255,255,255,.88);\n      border: 1px solid rgba(114,176,204,.16);\n      color: #5b7080;\n      font-size: .98rem;\n      line-height: 1.62;\n      font-weight: 500;\n    }\n\n    #fyl-lifeline-hub .fyl-soft-intro,\n    #fyl-lifeline-hub .fyl-soft-note,\n    #fyl-lifeline-hub .fyl-instruction-box {\n      text-align: center;\n    }\n\n    #fyl-lifeline-hub .fyl-divider {\n      height: 10px;\n      width: 100%;\n      max-width: 680px;\n      margin: 1.05rem auto .75rem;\n      border-radius: 999px;\n      background: linear-gradient(90deg, transparent, rgba(120,190,210,.24), transparent);\n      filter: blur(.35px);\n      opacity: .78;\n    }\n\n    #fyl-lifeline-hub .fyl-lifeline-section {\n      display: none;\n    }\n\n    #fyl-lifeline-hub .fyl-lifeline-section.active,\n    #fyl-lifeline-hub .fyl-lifeline-section.keep-open {\n      display: block;\n      animation: fylFadeUp .25s ease both;\n    }\n\n    @keyframes fylFadeUp {\n      from { opacity: 0; transform: translateY(8px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    #fyl-lifeline-hub .fyl-layer-toggle {\n      margin-top: 1rem;\n      border: 0;\n      background: transparent;\n      color: var(--fyl-blue);\n      font-weight: 650;\n      font-size: .96rem;\n      cursor: pointer;\n      text-decoration: underline;\n      text-underline-offset: 4px;\n    }\n\n    #fyl-lifeline-hub .fyl-layer {\n      display: none;\n      margin-top: .85rem;\n    }\n\n    #fyl-lifeline-hub .fyl-layer.open {\n      display: block;\n      animation: fylFadeUp .24s ease both;\n    }\n\n    #fyl-lifeline-hub details {\n      background: rgba(255,255,255,.92);\n      border: 1px solid rgba(114,176,204,.16);\n      border-radius: 22px;\n      margin-top: .7rem;\n      overflow: hidden;\n      box-shadow: 0 8px 20px rgba(40,90,120,.055);\n    }\n\n    #fyl-lifeline-hub summary {\n      cursor: pointer;\n      list-style: none !important;\n      list-style-type: none !important;\n      padding: .95rem 1rem;\n      color: #315f7e;\n      font-size: 1rem;\n      font-weight: 650;\n      display: flex;\n      justify-content: space-between;\n      gap: 1rem;\n    }\n\n    #fyl-lifeline-hub summary::-webkit-details-marker {\n      display: none !important;\n    }\n\n    #fyl-lifeline-hub summary::marker {\n      content: \"\" !important;\n      font-size: 0 !important;\n    }\n\n    #fyl-lifeline-hub details > summary {\n      list-style-image: none !important;\n    }\n\n    #fyl-lifeline-hub summary::after {\n      content: \"+\";\n      color: #6faac4;\n      font-weight: 700;\n      font-size: 1.24rem;\n      flex-shrink: 0;\n    }\n\n    #fyl-lifeline-hub details[open] summary::after {\n      content: \"\u2013\";\n    }\n\n    #fyl-lifeline-hub .fyl-detail-body {\n      padding: 0 1rem 1rem;\n      color: #5b7080;\n      font-size: .98rem;\n      line-height: 1.62;\n      font-weight: 500;\n    }\n\n    #fyl-lifeline-hub .fyl-detail-body ul,\n    #fyl-lifeline-hub .fyl-steps-box ul,\n    #fyl-lifeline-hub .fyl-steps-box ol,\n    #fyl-lifeline-hub .fyl-prompt-list {\n      margin: .35rem 0 0 1.25rem;\n      padding: 0;\n      color: #4d6475;\n      font-size: .98rem;\n      line-height: 1.62;\n      font-weight: 500;\n    }\n\n    #fyl-lifeline-hub li {\n      margin: .42rem 0;\n    }\n\n    #fyl-lifeline-hub .fyl-steps-box {\n      margin-top: .9rem;\n      padding: 1rem;\n      border-radius: 22px;\n      background: rgba(238,246,255,.92);\n      border: 1px solid rgba(110,140,190,.12);\n      text-align: left;\n    }\n\n    #fyl-lifeline-hub .fyl-steps-box strong,\n    #fyl-lifeline-hub .fyl-prompt-box strong,\n    #fyl-lifeline-hub .fyl-reflection-box strong {\n      color: #315f7e;\n      font-weight: 700;\n    }\n\n    #fyl-lifeline-hub .fyl-action-stack,\n    #fyl-lifeline-hub .fyl-button-stack {\n      display: grid;\n      grid-template-columns: 1fr;\n      gap: .65rem;\n      margin-top: .9rem;\n    }\n\n    #fyl-lifeline-hub .fyl-action-btn,\n    #fyl-lifeline-hub .fyl-small-btn,\n    #fyl-lifeline-hub .fyl-time-btn,\n    #fyl-lifeline-hub .fyl-control-btn {\n      display: block;\n      width: 100%;\n      padding: .92rem 1rem;\n      border-radius: 999px;\n      text-align: center;\n      font-weight: 650;\n      font-size: .98rem;\n    }\n\n    #fyl-lifeline-hub .fyl-action-btn.primary,\n    #fyl-lifeline-hub .fyl-small-btn.primary {\n      background: linear-gradient(135deg, var(--fyl-blue-2), var(--fyl-sky));\n      color: #fff !important;\n      border-color: transparent;\n    }\n\n    #fyl-lifeline-hub .fyl-action-btn.quiet,\n    #fyl-lifeline-hub .fyl-small-btn.quiet {\n      background: #eef6ff;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-stage {\n      margin: 1rem auto .75rem;\n      min-height: 250px;\n      display: grid;\n      place-items: center;\n      position: relative;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-circle-wrap {\n      position: relative;\n      width: 220px;\n      height: 220px;\n      display: grid;\n      place-items: center;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-ring {\n      position: absolute;\n      inset: 0;\n      border-radius: 999px;\n      background: radial-gradient(circle, rgba(255,255,255,.65) 0%, rgba(223,243,251,.5) 52%, rgba(185,212,245,.38) 100%);\n      box-shadow: 0 18px 44px rgba(91,127,199,.15);\n      transform: scale(.72);\n      transition-property: transform;\n      transition-timing-function: ease-in-out;\n      transition-duration: 1200ms;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-ring::after {\n      content: \"\";\n      position: absolute;\n      inset: 13px;\n      border-radius: 999px;\n      border: 1px solid rgba(255,255,255,.76);\n      box-shadow: inset 0 0 24px rgba(255,255,255,.52);\n    }\n\n    #fyl-lifeline-hub .fyl-breath-core {\n      position: relative;\n      width: 122px;\n      height: 122px;\n      border-radius: 999px;\n      background: radial-gradient(circle, #ffffff 38%, #e5f6fc 68%, #bfdcf6);\n      box-shadow: inset 0 0 18px rgba(255,255,255,.75), 0 12px 26px rgba(91,127,199,.13);\n      display: grid;\n      place-items: center;\n      text-align: center;\n      padding: .7rem;\n      color: #4563a3;\n      font-weight: 700;\n      line-height: 1.18;\n      transition-property: transform;\n      transition-timing-function: ease-in-out;\n      transition-duration: 1200ms;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-core span {\n      display: block;\n      font-size: .88rem;\n      color: #60708a;\n      font-weight: 500;\n      margin-top: .2rem;\n    }\n\n    #fyl-lifeline-hub .fyl-breath-ring.rest,\n    #fyl-lifeline-hub .fyl-breath-core.rest { transform: scale(.72); }\n    #fyl-lifeline-hub .fyl-breath-ring.inhale,\n    #fyl-lifeline-hub .fyl-breath-core.inhale { transform: scale(1.06); }\n    #fyl-lifeline-hub .fyl-breath-ring.hold-high,\n    #fyl-lifeline-hub .fyl-breath-core.hold-high { transform: scale(1.06); }\n    #fyl-lifeline-hub .fyl-breath-ring.exhale,\n    #fyl-lifeline-hub .fyl-breath-core.exhale { transform: scale(.68); }\n    #fyl-lifeline-hub .fyl-breath-ring.hold-low,\n    #fyl-lifeline-hub .fyl-breath-core.hold-low { transform: scale(.68); }\n    #fyl-lifeline-hub .fyl-breath-ring.sip,\n    #fyl-lifeline-hub .fyl-breath-core.sip { transform: scale(.9); }\n\n    #fyl-lifeline-hub .fyl-phase {\n      text-align: center;\n      color: #4563a3;\n      font-size: 1.42rem;\n      line-height: 1.2;\n      font-weight: 700;\n      margin-top: .2rem;\n    }\n\n    #fyl-lifeline-hub .fyl-counter {\n      text-align: center;\n      color: var(--fyl-soft);\n      font-size: .98rem;\n      margin-top: .2rem;\n    }\n\n    #fyl-lifeline-hub .fyl-phase-count {\n      text-align: center;\n      margin-top: .35rem;\n      color: #315f7e;\n      font-size: 1.08rem;\n      font-weight: 650;\n    }\n\n    #fyl-lifeline-hub .fyl-control-grid,\n    #fyl-lifeline-hub .fyl-time-grid,\n    #fyl-lifeline-hub .fyl-guide-actions {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: .7rem;\n      margin-top: .85rem;\n    }\n\n    #fyl-lifeline-hub .fyl-guide-top {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      gap: .75rem;\n      margin-bottom: .8rem;\n    }\n\n    #fyl-lifeline-hub .fyl-progress-label {\n      color: var(--fyl-soft);\n      font-size: .86rem;\n      font-weight: 650;\n    }\n\n    #fyl-lifeline-hub .fyl-progress-dots {\n      display: flex;\n      gap: .35rem;\n    }\n\n    #fyl-lifeline-hub .fyl-dot {\n      width: 8px;\n      height: 8px;\n      border-radius: 999px;\n      background: rgba(95,130,203,.22);\n    }\n\n    #fyl-lifeline-hub .fyl-dot.active {\n      background: #5f82cb;\n    }\n\n    #fyl-lifeline-hub .fyl-step-number {\n      display: inline-flex;\n      width: 38px;\n      height: 38px;\n      align-items: center;\n      justify-content: center;\n      border-radius: 999px;\n      background: linear-gradient(135deg, var(--fyl-blue-2), var(--fyl-sky));\n      color: #fff;\n      font-weight: 700;\n      margin-bottom: .55rem;\n    }\n\n    #fyl-lifeline-hub .fyl-chip-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: .55rem;\n      justify-content: center;\n      margin-top: .8rem;\n    }\n\n    #fyl-lifeline-hub .fyl-chip {\n      border-radius: 999px;\n      padding: .72rem .9rem;\n      background: #eef6ff;\n      color: #5b6f95;\n      font-weight: 650;\n      font-size: .94rem;\n    }\n\n    #fyl-lifeline-hub textarea,\n    #fyl-lifeline-hub input[type=\"text\"] {\n      width: 100%;\n      border-radius: 22px;\n      border: 1px solid rgba(110,140,190,.18);\n      padding: 1rem;\n      font-size: 1rem;\n      line-height: 1.6;\n      color: var(--fyl-text);\n      background: #fff;\n      outline: none;\n    }\n\n    #fyl-lifeline-hub textarea {\n      min-height: 220px;\n      resize: vertical;\n      margin-top: .85rem;\n    }\n\n    #fyl-lifeline-hub textarea:focus,\n    #fyl-lifeline-hub input[type=\"text\"]:focus {\n      border-color: rgba(96,130,196,.45);\n      box-shadow: 0 0 0 4px rgba(96,130,196,.1);\n    }\n\n\n    \/* Safety plan form readability + spaciousness *\/\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      padding: 1.2rem 1.1rem !important;\n      min-height: 112px;\n      background: rgba(255,255,255,0.95);\n      border: 1px solid rgba(120,190,210,0.22);\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      color: #2f3a4a !important;\n      padding: .95rem !important;\n      font-size: 1rem;\n      min-height: 54px;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #9aa6b2 !important;\n    }\n\n    #fyl-lifeline-hub .fyl-support-card {\n      background:\n        radial-gradient(circle at top right, rgba(255,244,220,.55), transparent 38%),\n        radial-gradient(circle at bottom left, rgba(120,190,210,.12), transparent 42%),\n        linear-gradient(135deg, #ffffff 0%, #ffffff 68%, #f8fcff 100%);\n      border-color: rgba(120,190,210,.18);\n      box-shadow: 0 14px 34px rgba(40,90,120,.07);\n    }\n\n    #fyl-lifeline-hub .fyl-support-card h2 {\n      color: var(--fyl-deep);\n    }\n\n    #fyl-lifeline-hub .fyl-urgent-links,\n    #fyl-lifeline-hub .fyl-resource-grid {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: .7rem;\n      margin-top: .9rem;\n    }\n\n    #fyl-lifeline-hub .fyl-urgent-links a,\n    #fyl-lifeline-hub .fyl-resource-grid a {\n      display: block;\n      border-radius: 999px;\n      padding: .92rem .8rem;\n      text-align: center;\n      text-decoration: none !important;\n      font-weight: 650;\n      border: 1px solid rgba(120,190,210,.22);\n      background: #fff;\n      color: #315f7e;\n      box-shadow: var(--fyl-soft-shadow);\n    }\n\n    #fyl-lifeline-hub .fyl-urgent-links a.danger {\n      background: linear-gradient(135deg, #c95d52, #df7b68);\n      color: #fff;\n      border-color: transparent;\n    }\n\n    #fyl-lifeline-hub .fyl-quick-reset {\n      position: sticky;\n      bottom: 12px;\n      z-index: 20;\n      margin: 1.25rem auto 0;\n      width: min(100%, 720px);\n      display: none;\n      gap: .55rem;\n      padding: .55rem;\n      border-radius: 999px;\n      background: rgba(255,255,255,.92);\n      border: 1px solid rgba(110,140,190,.16);\n      box-shadow: 0 10px 26px rgba(40,90,120,.12);\n      backdrop-filter: blur(10px);\n    }\n\n    #fyl-lifeline-hub.routed .fyl-quick-reset {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n    }\n\n    @media (min-width: 900px) {\n      #fyl-lifeline-hub .fyl-section-layout {\n        display: grid;\n        grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);\n        gap: 1rem;\n        align-items: start;\n      }\n\n      #fyl-lifeline-hub .fyl-section-layout .fyl-panel {\n        margin-top: 0;\n      }\n\n      #fyl-lifeline-hub .fyl-lifeline-section > .fyl-card,\n      #fyl-lifeline-hub .fyl-lifeline-section > .fyl-panel,\n  \n    \/* Safety plan form readability + spaciousness *\/\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      padding: 1.2rem 1.1rem !important;\n      min-height: 112px;\n      background: rgba(255,255,255,0.95);\n      border: 1px solid rgba(120,190,210,0.22);\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      color: #2f3a4a !important;\n      padding: .95rem !important;\n      font-size: 1rem;\n      min-height: 54px;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #9aa6b2 !important;\n    }\n\n    #fyl-lifeline-hub .fyl-support-card {\n        padding-left: clamp(1.25rem, 2vw, 1.75rem);\n        padding-right: clamp(1.25rem, 2vw, 1.75rem);\n      }\n    }\n\n    @media (max-width: 899px) {\n      #fyl-lifeline-hub .fyl-router-grid {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n      }\n    }\n\n    @media (max-width: 620px) {\n      #fyl-lifeline-hub .fyl-router-grid,\n      #fyl-lifeline-hub .fyl-state-grid,\n      #fyl-lifeline-hub .fyl-tool-grid,\n      #fyl-lifeline-hub .fyl-mode-grid,\n      #fyl-lifeline-hub .fyl-two-grid,\n      #fyl-lifeline-hub .fyl-control-grid,\n      #fyl-lifeline-hub .fyl-time-grid,\n      #fyl-lifeline-hub .fyl-guide-actions,\n      #fyl-lifeline-hub .fyl-urgent-links,\n      #fyl-lifeline-hub .fyl-resource-grid,\n      #fyl-lifeline-hub.routed .fyl-quick-reset {\n        grid-template-columns: 1fr;\n      }\n\n      #fyl-lifeline-hub .fyl-hero,\n      #fyl-lifeline-hub .fyl-card,\n      #fyl-lifeline-hub .fyl-panel,\n  \n    \/* Safety plan form readability + spaciousness *\/\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      padding: 1.2rem 1.1rem !important;\n      min-height: 112px;\n      background: rgba(255,255,255,0.95);\n      border: 1px solid rgba(120,190,210,0.22);\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      color: #2f3a4a !important;\n      padding: .95rem !important;\n      font-size: 1rem;\n      min-height: 54px;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #9aa6b2 !important;\n    }\n\n    #fyl-lifeline-hub .fyl-support-card {\n        border-radius: 24px;\n      }\n\n      #fyl-lifeline-hub .fyl-breath-stage {\n        min-height: 226px;\n      }\n\n      #fyl-lifeline-hub .fyl-breath-circle-wrap {\n        width: 198px;\n        height: 198px;\n      }\n    }\n\n    \/* FINAL SAFETY SECTION OVERRIDES \u2014 sea-glass\/ocean, no gold *\/\n    #fyl-lifeline-hub #safety-section .fyl-support-card {\n      background:\n        radial-gradient(circle at top right, rgba(120,190,210,.18), transparent 42%),\n        radial-gradient(circle at bottom left, rgba(95,130,203,.08), transparent 44%),\n        linear-gradient(135deg, #ffffff 0%, #f8fcff 58%, #eef9fb 100%) !important;\n      border-color: rgba(120,190,210,.24) !important;\n      box-shadow: 0 14px 34px rgba(40,90,120,.07) !important;\n    }\n\n    #fyl-lifeline-hub #safety-section .fyl-support-card h2 {\n      color: var(--fyl-deep) !important;\n    }\n\n    #fyl-lifeline-hub #safety-section .fyl-urgent-links a {\n      background: rgba(255,255,255,.96) !important;\n      color: #315f7e !important;\n      border: 1px solid rgba(120,190,210,.26) !important;\n      box-shadow: 0 8px 18px rgba(68,102,155,.055) !important;\n    }\n\n    #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger {\n      background: linear-gradient(135deg, #5f82cb, #77bdd7) !important;\n      color: #ffffff !important;\n      border-color: transparent !important;\n      box-shadow: 0 10px 22px rgba(68,102,155,.12) !important;\n    }\n\n    #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:visited,\n    #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:hover,\n    #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:active {\n      color: #ffffff !important;\n    }\n\n    #fyl-lifeline-hub #safety-section .fyl-resource-grid a {\n      background: rgba(255,255,255,.96) !important;\n      color: #315f7e !important;\n      border: 1px solid rgba(120,190,210,.26) !important;\n      box-shadow: 0 8px 18px rgba(68,102,155,.055) !important;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer .fyl-two-grid {\n      gap: 1.05rem !important;\n      grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;\n      align-items: stretch !important;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer .fyl-mini-panel {\n      display: block !important;\n      width: 100% !important;\n      min-height: 132px !important;\n      padding: 1.25rem 1.15rem !important;\n      background: rgba(255,255,255,.96) !important;\n      border: 1px solid rgba(120,190,210,.24) !important;\n      box-shadow: 0 8px 18px rgba(68,102,155,.045) !important;\n      color: #315f7e !important;\n      font-weight: 700 !important;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input,\n    #fyl-lifeline-hub #safety-plan-layer textarea {\n      display: block !important;\n      width: 100% !important;\n      min-height: 60px !important;\n      margin-top: .65rem !important;\n      padding: 1rem !important;\n      border-radius: 20px !important;\n      color: #2f3a4a !important;\n      background: #ffffff !important;\n      border: 1px solid rgba(120,190,210,.24) !important;\n      font-size: 1rem !important;\n      line-height: 1.5 !important;\n      box-shadow: none !important;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer input::placeholder,\n    #fyl-lifeline-hub #safety-plan-layer textarea::placeholder {\n      color: #8d9baa !important;\n      opacity: 1 !important;\n    }\n\n    #fyl-lifeline-hub #safety-plan-layer .fyl-action-btn.primary {\n      background: linear-gradient(135deg, #5f82cb, #77bdd7) !important;\n      color: #ffffff !important;\n      border-color: transparent !important;\n    }\n\n    @media (max-width: 720px) {\n      #fyl-lifeline-hub #safety-plan-layer .fyl-two-grid {\n        grid-template-columns: 1fr !important;\n      }\n    }\n\n\n  \/* \u2b07\ufe0f SAFETY SECTION \u2014 FINAL POLISH *\/\n  \/* =========================\n     SAFETY SECTION \u2014 FINAL POLISH\n     ========================= *\/\n\n  #fyl-lifeline-hub #safety-section .fyl-support-card {\n    background:\n      radial-gradient(circle at top right, rgba(120,190,210,.18), transparent 40%),\n      linear-gradient(135deg, #f2fbff, #ffffff 60%, #edf8ff) !important;\n    border-color: rgba(120,190,210,.22) !important;\n  }\n\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger,\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:link,\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:visited,\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:active {\n    background:\n      radial-gradient(circle at top left, rgba(255,255,255,.25), transparent 40%),\n      linear-gradient(135deg, #6faac4, #77bdd7, #9fd3e4) !important;\n\n    color: #ffffff !important;\n    -webkit-text-fill-color: #ffffff !important;\n\n    border-color: rgba(255,255,255,.3) !important;\n\n    box-shadow:\n      0 10px 22px rgba(68,102,155,.10),\n      0 0 0 rgba(120,190,210,0);\n\n    transition: all .25s ease;\n  }\n\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger * {\n    color: #ffffff !important;\n    -webkit-text-fill-color: #ffffff !important;\n  }\n\n  #fyl-lifeline-hub #safety-section .fyl-urgent-links a.danger:hover {\n    transform: translateY(-1px);\n    filter: brightness(1.03);\n\n    box-shadow:\n      0 12px 26px rgba(68,102,155,.12),\n      0 0 20px rgba(120,190,210,.35);\n  }\n\n  #fyl-lifeline-hub #safety-section .fyl-two-grid {\n    gap: 1rem;\n  }\n\n  #fyl-lifeline-hub #safety-section .fyl-mini-panel {\n    padding: 1.2rem;\n    border-radius: 20px;\n    font-size: 1rem;\n  }\n\n  #fyl-lifeline-hub #safety-section.safety-arrived .fyl-support-card {\n    animation: fylSafetyPulse 3s ease-out 1;\n  }\n\n  @keyframes fylSafetyPulse {\n    0% { box-shadow: 0 14px 34px rgba(40,90,120,.07), 0 0 0 0 rgba(120,190,210,0); }\n    25% { box-shadow: 0 14px 34px rgba(40,90,120,.07), 0 0 0 6px rgba(120,190,210,.12), 0 0 24px rgba(120,190,210,.18); }\n    60% { box-shadow: 0 14px 34px rgba(40,90,120,.07), 0 0 0 2px rgba(120,190,210,.06), 0 0 18px rgba(120,190,210,.12); }\n    100% { box-shadow: 0 14px 34px rgba(40,90,120,.07), 0 0 0 0 rgba(120,190,210,0); }\n  }\n\n\n    \/* RELATIONSHIP LAYER \u2014 wider fields + remove focus line *\/\n    #fyl-lifeline-hub #relationship-layer .fyl-two-grid {\n      display: grid !important;\n      grid-template-columns: repeat(2, minmax(360px, 1fr)) !important;\n      gap: 1.15rem !important;\n      align-items: stretch !important;\n    }\n\n    #fyl-lifeline-hub #relationship-layer .fyl-mini-panel {\n      width: 100% !important;\n      max-width: none !important;\n      margin: .9rem 0 0 !important;\n      padding: 1.15rem !important;\n    }\n\n    #fyl-lifeline-hub #relationship-layer input {\n      width: 100% !important;\n      min-width: 0 !important;\n      min-height: 56px !important;\n      padding: 1rem !important;\n      font-size: 1rem !important;\n    }\n\n    #fyl-lifeline-hub #relationship-layer summary,\n    #fyl-lifeline-hub #relationship-layer summary:focus,\n    #fyl-lifeline-hub #relationship-layer summary:focus-visible,\n    #fyl-lifeline-hub #relationship-layer details,\n    #fyl-lifeline-hub #relationship-layer details:focus,\n    #fyl-lifeline-hub #relationship-layer details:focus-within {\n      outline: none !important;\n      box-shadow: none !important;\n    }\n\n    @media (max-width: 760px) {\n      #fyl-lifeline-hub #relationship-layer .fyl-two-grid {\n        grid-template-columns: 1fr !important;\n      }\n    }\n\n#fyl-lifeline-hub .fyl-soft-landing {\n  margin: 3.5rem auto;\n  padding: 1.8rem;\n  border-radius: 26px;\n  background:\n    linear-gradient(\n      180deg,\n      rgba(236,244,255,.9),\n      rgba(248,251,255,.94)\n    );\n  border: 1px solid rgba(151,180,222,.18);\n  box-shadow: 0 12px 34px rgba(74,105,160,.07);\n  max-width: 880px;\n  text-align: center;\n}\n\n#fyl-lifeline-hub .fyl-soft-landing h3 {\n  margin-bottom: .9rem;\n  font-size: 1.18rem;\n  color: #476287;\n}\n\n#fyl-lifeline-hub .fyl-soft-landing p {\n  color: #5d6f8f;\n  line-height: 1.75;\n  margin: .7rem auto;\n  max-width: 700px;\n}\n\n#fyl-lifeline-hub .fyl-soft-options {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: .7rem;\n  margin-top: 1.3rem;\n}\n\n#fyl-lifeline-hub .fyl-soft-options span {\n  padding: .72rem 1rem;\n  border-radius: 999px;\n  background: rgba(219,233,251,.6);\n  color: #54709a;\n  font-size: .95rem;\n}\n\n\n    \/* BREATH DIVIDER \u2014 soft visual pause between heavier sections *\/\n    #fyl-lifeline-hub .fyl-breath-divider {\n      height: 1px;\n      width: min(140px, 34%);\n      margin: 3.2rem auto;\n      background:\n        linear-gradient(\n          90deg,\n          rgba(130,160,210,0),\n          rgba(130,160,210,.24),\n          rgba(130,160,210,0)\n        );\n    }\n\n\n    \/* PATHWAY LINKS \u2014 subtle cross-guidance between supports *\/\n    #fyl-lifeline-hub .fyl-pathway {\n      margin-top: 1.25rem;\n      font-size: .96rem;\n      line-height: 1.7;\n      color: #6a7f9d;\n      text-align: center;\n    }\n\n    #fyl-lifeline-hub .fyl-pathway button {\n      border: none;\n      background: none;\n      box-shadow: none;\n      color: #6b89b7;\n      font: inherit;\n      font-weight: 650;\n      cursor: pointer;\n      padding: 0;\n      text-decoration: underline;\n      text-decoration-color: rgba(107,137,183,.35);\n      text-underline-offset: 3px;\n    }\n\n<\/style>\n  \n\n  <div class=\"fyl-wrap\">\n    <section class=\"fyl-hero\" id=\"lifeline-top\">\n      <h1>Start here.<\/h1>\n      <p>When everything feels heavy, you do not have to figure it out all at once.<br>Choose what feels closest, and this page will take you to one next step.<\/p>\n\n      <div class=\"fyl-router-grid\" aria-label=\"Choose what is happening right now\">\n        <button class=\"fyl-route-btn primary\" type=\"button\" data-route=\"unsure\">\n          <strong>I can\u2019t choose<\/strong>\n          <span>Give me one tiny step.<\/span>\n        <\/button>\n        <button class=\"fyl-route-btn\" type=\"button\" data-route=\"panic\">\n          <strong>I\u2019m panicking \/ activated<\/strong>\n          <span>Racing, tense, restless, keyed up.<\/span>\n        <\/button>\n        <button class=\"fyl-route-btn\" type=\"button\" data-route=\"dissociated\">\n          <strong>I feel unreal \/ far away<\/strong>\n          <span>Numb, foggy, frozen, disconnected.<\/span>\n        <\/button>\n        <button class=\"fyl-route-btn\" type=\"button\" data-route=\"thoughts\">\n          <strong>My thoughts won\u2019t stop<\/strong>\n          <span>Spiraling, looping, overthinking.<\/span>\n        <\/button>\n        <button class=\"fyl-route-btn\" type=\"button\" data-route=\"express\">\n          <strong>I need to get it out<\/strong>\n          <span>Vent, name, release, understand.<\/span>\n        <\/button>\n        <button class=\"fyl-route-btn\" type=\"button\" data-route=\"unsafe\">\n          <strong>I feel unsafe<\/strong>\n          <span>Skip tools and find support now.<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"fyl-soft-intro\">You can also scroll and explore everything. The routing buttons simply reduce the amount you have to choose.<\/div>\n    <\/section>\n\n    <section class=\"fyl-card\" id=\"guided-support\">\n      <h2>Guided Support<\/h2>\n      <p class=\"fyl-center-copy\">Start with the closest state. Lifeline will suggest a tiny step and open the matching support below.<\/p>\n\n      <div class=\"fyl-state-grid\">\n        <button class=\"fyl-choice-btn active\" type=\"button\" data-guided=\"unsure\">\n          <strong>I can\u2019t choose<\/strong>\n          <span>Everything feels like too much.<\/span>\n        <\/button>\n        <button class=\"fyl-choice-btn\" type=\"button\" data-guided=\"panic\">\n          <strong>Activated<\/strong>\n          <span>Panic, tension, racing energy.<\/span>\n        <\/button>\n        <button class=\"fyl-choice-btn\" type=\"button\" data-guided=\"dissociated\">\n          <strong>Far away<\/strong>\n          <span>Numb, unreal, frozen, foggy.<\/span>\n        <\/button>\n        <button class=\"fyl-choice-btn\" type=\"button\" data-guided=\"express\">\n          <strong>Needs words<\/strong>\n          <span>Feelings, thoughts, pressure, release.<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"fyl-panel\" id=\"guided-result\" aria-live=\"polite\">\n        <div class=\"fyl-kicker\">One tiny step<\/div>\n        <h2 id=\"guided-title\">Do less first.<\/h2>\n        <p class=\"fyl-center-copy\" id=\"guided-copy\">When choosing feels impossible, you don&#8217;t have to pick perfectly.<br>You only have to reduce the demand.<\/p>\n        <div class=\"fyl-steps-box\">\n          <ol id=\"guided-steps\">\n            <li><strong>Look around.<\/strong> Name one thing that is not dangerous.<\/li>\n            <li><strong>Exhale once.<\/strong> Do not force a deep inhale.<\/li>\n            <li><strong>Touch one object.<\/strong> Notice temperature, texture, or weight.<\/li>\n            <li><strong>Choose the smallest support.<\/strong> Try Calm, Grounding, or Journal below.<\/li>\n          <\/ol>\n        <\/div>\n        <div class=\"fyl-action-stack\" id=\"guided-actions\">\n          <button class=\"fyl-action-btn primary\" type=\"button\" data-route=\"panic\">Take one guided breath<\/button>\n          <button class=\"fyl-action-btn quiet\" type=\"button\" data-route=\"dissociated\">Ground instead<\/button>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <div class=\"fyl-divider\"><\/div>\n\n    <section class=\"fyl-lifeline-section keep-open\" id=\"calm-section\" data-section=\"calm\">\n      <div class=\"fyl-card\">\n        <h2>Calm my body<\/h2>\n        <p class=\"fyl-center-copy\">Use a timed breathing circle when your body needs a steadier rhythm.<br>The circle expands, holds, and contracts with the exact pattern you choose.<\/p><br>\n\n        <div class=\"fyl-section-layout\">\n          <div class=\"fyl-panel\">\n            <div class=\"fyl-breath-stage\" aria-live=\"polite\">\n              <div class=\"fyl-breath-circle-wrap\" aria-hidden=\"true\">\n                <div class=\"fyl-breath-ring rest\" id=\"fylBreathRing\"><\/div>\n                <div class=\"fyl-breath-core rest\" id=\"fylBreathCore\">Ready<span id=\"fylBreathCoreSub\">choose a rhythm<\/span><\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"fyl-phase\" id=\"fylPhaseText\">Ready<\/div>\n            <p class=\"fyl-counter\" id=\"fylCounterText\">Choose a technique, then press start.<\/p>\n            <div class=\"fyl-phase-count\" id=\"fylPhaseCount\">\u2014<\/div>\n\n            <div class=\"fyl-control-grid\">\n              <button class=\"fyl-control-btn primary\" type=\"button\" id=\"fylStartBreath\">Start<\/button>\n              <button class=\"fyl-control-btn\" type=\"button\" id=\"fylPauseBreath\">Pause<\/button>\n            <\/div>\n\n            <div class=\"fyl-time-grid\">\n              <button class=\"fyl-time-btn active\" type=\"button\" data-duration=\"30\">30 sec<\/button>\n              <button class=\"fyl-time-btn\" type=\"button\" data-duration=\"120\">2 min<\/button>\n              <button class=\"fyl-time-btn\" type=\"button\" data-duration=\"300\">5 min<\/button>\n              <button class=\"fyl-time-btn\" type=\"button\" data-duration=\"0\">Open<\/button>\n            <\/div>\n\n            <div class=\"fyl-instruction-box\" id=\"fylBreathInstruction\">Slow breathing: inhale for 4, exhale for 6.<br>Let the exhale be a little longer than the inhale.<\/div>\n          <\/div>\n\n          <div class=\"fyl-panel\">\n            <h3>Choose a breathing technique<\/h3>\n            <p>Each option changes the timing of the circle so you can follow visually.<\/p>\n\n            <div class=\"fyl-mode-grid\">\n              <button class=\"fyl-mode-btn active\" type=\"button\" data-breath=\"slow\">\n                <strong>Slow Breathing<\/strong>\n                <span>4 in, 6 out.<br>Gentle and beginner-friendly.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"coherence\">\n                <strong>Coherence<\/strong>\n                <span>5 in, 5 out.<br>Even and steady.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"exhale\">\n                <strong>Extended Exhale<\/strong>\n                <span>4 in, 8 out.<br>Helpful for anxiety.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"box\">\n                <strong>Box Breathing<\/strong>\n                <span>4 in, hold 4,<br>4 out, hold 4.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"478\">\n                <strong>4\u20137\u20138<\/strong>\n                <span>4 in, hold 7, 8 out. Slower rhythm.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"sigh\">\n                <strong>Physiological Sigh<\/strong>\n                <span>Small inhale, sip more air, long exhale.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"voo\">\n                <strong>Voo \/ Humming<\/strong>\n                <span>4 in, 8 out with sound<br>or vibration.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-breath=\"custom\">\n                <strong>Custom Rhythm<\/strong>\n                <span>Use your own inhale, hold, and exhale count.<\/span>\n              <\/button>\n            <\/div>\n\n            <div class=\"fyl-layer\" id=\"customBreathLayer\">\n              <div class=\"fyl-two-grid\">\n                <label class=\"fyl-mini-panel\">Inhale seconds<br><input id=\"customInhale\" type=\"text\" inputmode=\"numeric\" value=\"4\"><\/label>\n                <label class=\"fyl-mini-panel\">Hold after inhale<br><input id=\"customHoldHigh\" type=\"text\" inputmode=\"numeric\" value=\"0\"><\/label>\n                <label class=\"fyl-mini-panel\">Exhale seconds<br><input id=\"customExhale\" type=\"text\" inputmode=\"numeric\" value=\"6\"><\/label>\n                <label class=\"fyl-mini-panel\">Hold after exhale<br><input id=\"customHoldLow\" type=\"text\" inputmode=\"numeric\" value=\"0\"><\/label>\n              <\/div>\n              <button class=\"fyl-action-btn primary\" type=\"button\" id=\"applyCustomBreath\">Apply custom rhythm<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <button class=\"fyl-layer-toggle\" type=\"button\" data-layer=\"calm-more\">Show more calm support<\/button>\n        <div class=\"fyl-layer\" id=\"calm-more\">\n          <details>\n            <summary>When to choose each rhythm<\/summary>\n            <div class=\"fyl-detail-body\">\n              <ul>\n                <li><strong>Slow breathing:<\/strong> when you need simple, steady support.<\/li>\n                <li><strong>Extended exhale:<\/strong> when anxiety or activation is high.<\/li>\n                <li><strong>Coherence:<\/strong> when you want balance without long holds.<\/li>\n                <li><strong>Box breathing:<\/strong> when structure helps you feel contained.<\/li>\n                <li><strong>4\u20137\u20138:<\/strong> when you want a slower, deeper practice and holds feel safe.<\/li>\n                <li><strong>Physiological sigh:<\/strong> when you need a quick reset.<\/li>\n              <\/ul>\n            <\/div>\n          <\/details>\n          <details>\n            <summary>Gentler alternatives if breath feels hard<\/summary>\n            <div class=\"fyl-detail-body\">\n              <ul>\n                <li>Watch the circle without changing your breath.<\/li>\n                <li>Only lengthen the exhale by one second.<\/li>\n                <li>Hum very quietly on the exhale.<\/li>\n                <li>Skip holds if they feel uncomfortable.<\/li>\n                <li>Pause and switch to grounding if breathwork increases panic.<\/li>\n              <\/ul>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <div class=\"fyl-divider\"><\/div>\n\n    <section class=\"fyl-lifeline-section keep-open\" id=\"grounding-section\" data-section=\"grounding\">\n      <div class=\"fyl-card\">\n        <h2>Ground me<\/h2>\n        <p class=\"fyl-center-copy\">If your body feels scared, unreal, overwhelmed, or far away, come back one small cue at a time.<\/p>\n\n        <div class=\"fyl-soft-note\"><strong>You are here, right now.<\/strong><br>Look around slowly. You do not have to force calm. Just notice what is real and present.<\/div>\n\n        <div class=\"fyl-section-layout\">\n          <div class=\"fyl-panel\">\n            <h3>What kind of grounding do you need?<\/h3>\n            <div class=\"fyl-tool-grid\">\n              <button class=\"fyl-tool-card active\" type=\"button\" data-ground=\"room\">\n                <strong>Come back to the room<\/strong>\n                <span>Use your senses to reconnect with now.<\/span>\n              <\/button>\n              <button class=\"fyl-tool-card\" type=\"button\" data-ground=\"body\">\n                <strong>Feel my body again<\/strong>\n                <span>Use contact, pressure, and movement.<\/span>\n              <\/button>\n              <button class=\"fyl-tool-card\" type=\"button\" data-ground=\"thoughts\">\n                <strong>Orient my thoughts<\/strong>\n                <span>Remind your brain where and when you are.<\/span>\n              <\/button>\n              <button class=\"fyl-tool-card\" type=\"button\" data-ground=\"unsure\">\n                <strong>I don\u2019t know<\/strong>\n                <span>Use the simplest grounding path.<\/span>\n              <\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"fyl-panel\" aria-live=\"polite\">\n            <div class=\"fyl-guide-top\">\n              <span class=\"fyl-progress-label\" id=\"groundProgress\">Step 1 of 5<\/span>\n              <span class=\"fyl-progress-dots\" id=\"groundDots\" aria-hidden=\"true\"><\/span>\n            <\/div>\n            <span class=\"fyl-step-number\" id=\"groundStepNumber\">1<\/span>\n            <h3 id=\"groundTitle\">Name five things you can see.<\/h3>\n            <p id=\"groundCopy\">Let your eyes land on ordinary things. You are not searching for anything special.<\/p>\n            <ul class=\"fyl-prompt-list\" id=\"groundPrompts\">\n              <li>Name one color.<\/li>\n              <li>Name one shape.<\/li>\n              <li>Name one neutral object.<\/li>\n            <\/ul>\n            <div class=\"fyl-guide-actions\">\n              <button class=\"fyl-small-btn\" type=\"button\" id=\"groundBack\">Back<\/button>\n              <button class=\"fyl-small-btn primary\" type=\"button\" id=\"groundNext\">Next step<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <button class=\"fyl-layer-toggle\" type=\"button\" data-layer=\"grounding-more\">Show more grounding tools<\/button>\n        <div class=\"fyl-layer\" id=\"grounding-more\">\n          <details>\n            <summary>Body-based reset tools<\/summary>\n            <div class=\"fyl-detail-body\">\n              <ul>\n                <li>Press your feet gently into the floor.<\/li>\n                <li>Change temperature with cool water, a warm mug, or fresh air.<\/li>\n                <li>Look for exits and name that you can leave or shift position.<\/li>\n                <li>Open your hands slowly and notice your palms.<\/li>\n              <\/ul>\n            <\/div>\n          <\/details>\n          <details>\n            <summary>Present-time phrases<\/summary>\n            <div class=\"fyl-detail-body\">\n              <ul>\n                <li>This is now, not then.<\/li>\n                <li>This feeling is real, and it&#8217;s not the whole reality.<\/li>\n                <li>I can come back one small piece at a time.<\/li>\n                <li>Presence is enough for this moment.<\/li>\n<li>Right now is not forever.<\/li>\n              <\/ul>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <div class=\"fyl-divider\"><\/div>\n\n    <section class=\"fyl-lifeline-section keep-open\" id=\"journal-section\" data-section=\"journal\">\n      <div class=\"fyl-card\">\n        <h2>Let it land somewhere<\/h2>\n        <p class=\"fyl-center-copy\">You do not need the perfect words. A sentence, a feeling, or \u201cI don\u2019t know\u201d is enough.<\/p><br>\n\n        <div class=\"fyl-section-layout\">\n          <div class=\"fyl-panel\">\n            <h3>What kind of journaling would help?<\/h3>\n            <div class=\"fyl-mode-grid\">\n              <button class=\"fyl-mode-btn active\" type=\"button\" data-journal=\"vent\">\n                <strong>Vent<\/strong>\n                <span>Let the pressure out without editing.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-journal=\"understand\">\n                <strong>Understand<\/strong>\n                <span>Find what may be underneath.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-journal=\"calm\">\n                <strong>Calm down<\/strong>\n                <span>Write in a way that helps the body feel safer.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-journal=\"release\">\n                <strong>Release<\/strong>\n                <span>Let go of something you do not want to carry.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-journal=\"hope\">\n                <strong>Find hope<\/strong>\n                <span>Look for one small light or reason to continue.<\/span>\n              <\/button>\n              <button class=\"fyl-mode-btn\" type=\"button\" data-journal=\"unsure\">\n                <strong>I don\u2019t know<\/strong>\n                <span>Start from confusion, numbness, or no words.<\/span>\n              <\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"fyl-panel\">\n            <div class=\"fyl-prompt-box\" id=\"journalPrompt\"><strong>Prompt:<\/strong><br>What feels too loud inside right now?<\/div>\n            <div class=\"fyl-chip-row\" id=\"feelingChips\"><\/div>\n            <div class=\"fyl-chip-row\" id=\"bodyChips\"><\/div>\n            <textarea id=\"journalText\" placeholder=\"Start anywhere. I feel... I notice... I need... I don\u2019t know...\"><\/textarea>\n            <div class=\"fyl-button-stack\">\n              <button class=\"fyl-action-btn primary\" type=\"button\" id=\"newJournalPrompt\">Give me another prompt<\/button>\n              <button class=\"fyl-action-btn quiet\" type=\"button\" id=\"reflectJournal\">Reflect back gently<\/button>\n              <button class=\"fyl-action-btn quiet\" type=\"button\" id=\"copyJournal\">Copy entry<\/button>\n              <button class=\"fyl-action-btn\" type=\"button\" id=\"clearJournal\">Clear writing box<\/button>\n            <\/div>\n            <div class=\"fyl-reflection-box\" id=\"journalReflection\"><strong>Gentle reflection:<\/strong><br>Write a little or tap a few words, then choose \u201cReflect back gently.\u201d<\/div>\n          <\/div>\n        <\/div>\n\n        <button class=\"fyl-layer-toggle\" type=\"button\" data-layer=\"journal-more\">Show more journaling support<\/button>\n        <div class=\"fyl-layer\" id=\"journal-more\">\n          <details>\n            <summary>Privacy note<\/summary>\n            <div class=\"fyl-detail-body\">This public page does not save entries. Use \u201cCopy entry\u201d if you want to keep what you wrote.<\/div>\n          <\/details>\n          <details>\n            <summary>When journaling feels like too much<\/summary>\n            <div class=\"fyl-detail-body\">\n              <ul>\n                <li>Write only three words.<\/li>\n                <li>Start with \u201cI don\u2019t know, but\u2026\u201d<\/li>\n                <li>Use feeling chips instead of sentences.<\/li>\n                <li>Switch to grounding if writing pulls you deeper into distress.<\/li>\n              <\/ul>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <div class=\"fyl-divider\"><\/div>\n\n    <section class=\"fyl-lifeline-section keep-open\" id=\"therapeutic-tools-section\" data-section=\"tools\">\n      <div class=\"fyl-card\">\n        <h2>Skills that help you cope<\/h2>\n        <p class=\"fyl-center-copy\">\n          These are small therapeutic-style tools for moments when you need support, but do not want a long explanation.\n          Choose one thing. That is enough.\n        <\/p>\n\n       <div class=\"fyl-tool-grid\">\n  <button class=\"fyl-tool-card active\" type=\"button\" data-tool-pick=\"harm\">\n    <strong>Reduce harm &amp; stay safe<\/strong>\n    <span>For urges, overwhelm, impulsivity, or moments when stopping completely feels impossible right now.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"body\">\n    <strong>Calm my body<\/strong>\n    <span>For panic, activation, tension, or overwhelm.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"sensorimotor\">\n    <strong>Complete the response<\/strong>\n    <span>For freeze, shutdown, trapped activation, or responses your body never got to complete.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"parts\">\n    <strong>Work with parts<\/strong>\n    <span>For inner conflict, shame, protection, or younger parts.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"thoughts\">\n    <strong>Shift my thoughts &amp; get unstuck<\/strong>\n    <span>For spiraling, overthinking, catastrophizing, or feeling mentally trapped.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"recovery\">\n    <strong>Return to recovery<\/strong>\n    <span>For urges, restriction, shame, body distress, or old patterns.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"values\">\n    <strong>Take values-based action<\/strong>\n    <span>For shutdown, avoidance, low motivation, or feeling stuck.<\/span>\n  <\/button>\n\n  <button class=\"fyl-tool-card\" type=\"button\" data-tool-pick=\"motivation\">\n    <strong>Find my why<\/strong>\n    <span>For ambivalence, resistance, or not knowing if you want to try.<\/span>\n  <\/button>\n<\/div>\n\n        <div class=\"fyl-panel\" id=\"tool-result\" aria-live=\"polite\">\n          <div class=\"fyl-kicker\">Try this<\/div>\n          <h2 id=\"tool-title\">Make this moment safer.<\/h2>\n          <p class=\"fyl-center-copy\" id=\"tool-copy\">\n            When stopping completely feels impossible, aim for less danger, more delay, and one safer choice.\n          <\/p>\n\n          <div class=\"fyl-steps-box\">\n            <ul id=\"tool-steps\">\n              <li>Name the urge or risk as plainly as you can: \u201cSomething in me wants to ___.\u201d<\/li>\n              <li>Delay the next step by two minutes. You are not promising forever.<\/li>\n              <li>Move anything dangerous farther away, out of reach, or into another room.<\/li>\n              <li>Choose the least harmful next option available: water, warmth, grounding, texting someone, or changing rooms.<\/li>\n              <li>If you might not stay safe, use direct support now: 988, emergency services, or a trusted person nearby.<\/li>\n            <\/ul>\n          <\/div>\n\n          <div class=\"fyl-action-stack\">\n            <button class=\"fyl-action-btn primary\" type=\"button\" id=\"pickAnotherTool\">Pick one for me<\/button>\n          <\/div>\n          <div class=\"fyl-pathway\" id=\"toolPathwayHint\">\n            If this feels connected to a relationship, open\n            <button type=\"button\" data-layer-target=\"relationship-layer\">When it involves someone else<\/button>.\n            If your body feels frozen or trapped, try\n            <button type=\"button\" data-tool-pick=\"sensorimotor\">Complete the response<\/button>.\n          <\/div>\n\n        <\/div>\n\n<div class=\"fyl-breath-divider\"><\/div>\n\n<div class=\"fyl-soft-landing\">\n  <h3>When nothing helps<\/h3>\n\n  <p>\n    If nothing feels helpful right now, you are still allowed to stay.\n  <\/p>\n\n  <p>\n    Sometimes the nervous system needs less input, not more.\n    You do not have to force insight, positivity, or progress to deserve care.\n  <\/p>\n\n  <p>\n    Choose the smallest possible thing:\n  <\/p>\n\n  <div class=\"fyl-soft-options\">\n    <span>drink water<\/span>\n    <span>sit down<\/span>\n    <span>hold something warm<\/span>\n    <span>look at one steady thing<\/span>\n    <span>step outside<\/span>\n    <span>rest your eyes<\/span>\n    <span>put on music<\/span>\n    <span>stay for two more minutes<\/span>\n  <\/div>\n<\/div>\n\n<div class=\"fyl-breath-divider\"><\/div>\n\n       <button class=\"fyl-layer-toggle\" type=\"button\" data-layer=\"relationship-layer\">\n  When it involves someone else\n<\/button>\n\n<div class=\"fyl-layer\" id=\"relationship-layer\">\n  <div class=\"fyl-panel\">\n    <h2>When it involves someone else<\/h2>\n    <p class=\"fyl-center-copy\">\n      Relationships can activate the nervous system deeply. You do not have to solve the relationship immediately.\n      Start with your nervous system first.\n    <\/p>\n\n    <details open>\n      <summary>Slow the spiral first<\/summary>\n      <div class=\"fyl-detail-body\">\n        <p>\n          When connection feels uncertain, urgency can feel like truth. Pause before interpreting, texting, apologizing,\n          explaining, or trying to fix everything at once.\n        <\/p>\n        <ul>\n          <li>What am I afraid this means?<\/li>\n          <li>What story am I telling myself?<\/li>\n          <li>Is this urgency, fear, shame, grief, or loneliness?<\/li>\n          <li>What does my body need before I respond?<\/li>\n          <li>Can I wait two minutes before doing anything?<\/li>\n        <\/ul>\n        <div class=\"fyl-soft-note\">\n          A delayed reply is not immediate proof of abandonment.<br>\n          Needing reassurance does not make you too much.<br>\n          Panic is not always intuition.\n        <\/div>\n\n        <p class=\"fyl-pathway\">\n          If your body feels too activated to reflect, return to\n          <button type=\"button\" data-tool-pick=\"body\">Calm my body<\/button>\n          or\n          <button type=\"button\" data-tool-pick=\"harm\">Reduce harm &amp; stay safe<\/button>.\n        <\/p>\n\n      <\/div>\n    <\/details>\n\n    <details>\n      <summary>Understand what hurts<\/summary>\n      <div class=\"fyl-detail-body\">\n        <p>Sometimes the nervous system reacts before the words become clear.<\/p>\n\n        <div class=\"fyl-two-grid\">\n          <label class=\"fyl-mini-panel\">\n            What happened?<br>\n            <input id=\"nvcObservation\" type=\"text\" placeholder=\"Just what you saw or heard.\">\n          <\/label>\n\n          <label class=\"fyl-mini-panel\">\n            What are you feeling?<br>\n            <input id=\"nvcFeeling\" type=\"text\" placeholder=\"hurt, anxious, sad, overwhelmed...\">\n          <\/label>\n\n          <label class=\"fyl-mini-panel\">\n            What might you be needing?<br>\n            <input id=\"nvcNeed\" type=\"text\" placeholder=\"space, reassurance, clarity, understanding...\">\n          <\/label>\n\n          <label class=\"fyl-mini-panel\">\n            What might help?<br>\n            <input id=\"nvcRequest\" type=\"text\" placeholder=\"a conversation, a pause, support, repair...\">\n          <\/label>\n        <\/div>\n\n        <div class=\"fyl-button-stack\">\n          <button class=\"fyl-action-btn primary\" type=\"button\" id=\"buildNvcReflection\">Create gentle reflection<\/button>\n          <button class=\"fyl-action-btn\" type=\"button\" id=\"clearNvcReflection\">Clear gentle reflection<\/button>\n        <\/div>\n\n        <div class=\"fyl-reflection-box\" id=\"nvcReflection\">\n          <strong>Gentle reflection:<\/strong><br>\n          When this happened, I felt\u2026 I think what I needed was\u2026 It might help if\u2026\n        <\/div>\n      <\/div>\n    <\/details>\n\n    <details>\n      <summary>Let it out safely<\/summary>\n      <div class=\"fyl-detail-body\">\n        <p>\n          Not every feeling needs immediate action. Some feelings only need somewhere safe to land first.\n        <\/p>\n\n        <textarea id=\"unsentText\" placeholder=\"Write what you need to say here. You do not have to send it.\"><\/textarea>\n\n        <div class=\"fyl-button-stack\">\n          <button class=\"fyl-action-btn quiet\" type=\"button\" id=\"copyUnsent\">Copy writing<\/button>\n          <button class=\"fyl-action-btn\" type=\"button\" id=\"clearUnsent\">Clear writing box<\/button>\n        <\/div>\n      <\/div>\n    <\/details>\n\n    <details>\n      <summary>Reach toward connection<\/summary>\n      <div class=\"fyl-detail-body\">\n        <p>\n          You do not have to communicate perfectly to deserve connection. Start gently.\n        <\/p>\n\n        <div class=\"fyl-steps-box\">\n          <p id=\"messageBuilderText\">\n            Hey, I\u2019ve been sitting with something and wanted to share.\n            When ___ happened, I felt ___.\n            I think I needed ___.\n            Would you be open to ___?\n          <\/p>\n        <\/div>\n\n        <div class=\"fyl-button-stack\">\n          <button class=\"fyl-action-btn primary\" type=\"button\" id=\"buildMessageText\">Build from reflection<\/button>\n          <button class=\"fyl-action-btn quiet\" type=\"button\" id=\"copyMessageText\">Copy message<\/button>\n        <\/div>\n      <\/div>\n    <\/details>\n  <\/div>\n<\/div>\n<br>\n<br>\n    <div class=\"fyl-divider\"><\/div>\n<br>\n    <section class=\"fyl-lifeline-section keep-open\" id=\"safety-section\" data-section=\"safety\">\n      <div class=\"fyl-support-card\">\n        <h2>Need more support?<\/h2>\n        <p class=\"fyl-center-copy\">If this moment feels unsafe, too intense, or bigger than a coping tool can hold, use direct support. You do not have to handle this alone.<\/p>\n\n        <div class=\"fyl-urgent-links\">\n          <a class=\"danger\" href=\"tel:911\">Call 911<\/a>\n          <a class=\"danger\" href=\"tel:988\">Call 988<\/a>\n          <a href=\"sms:988\">Text 988<\/a>\n          <a href=\"sms:741741\">Text HOME to 741741<span style=\"display:block;font-size:.8rem;opacity:.72;\">Crisis Text Line<\/span><\/a>\n        <\/div>\n\n        <button class=\"fyl-layer-toggle\" type=\"button\" data-layer=\"safety-plan-layer\">Show interactive safety plan<\/button>\n        <div class=\"fyl-layer\" id=\"safety-plan-layer\">\n          <div class=\"fyl-panel\">\n            <h3>Build a tiny safety plan<\/h3>\n            <p>\n              This is not about doing everything perfectly. It is a short plan for the next few minutes: what to notice, what to reduce, who to contact, and what helps you stay safer.\n            <\/p>\n\n            <div class=\"fyl-two-grid\">\n              <label class=\"fyl-mini-panel\">\n                Warning signs I\u2019m in the wave<br>\n                <input id=\"safetySigns\" type=\"text\" placeholder=\"racing thoughts, urges, numbness, panic, hopelessness...\">\n              <\/label>\n\n              <label class=\"fyl-mini-panel\">\n                One thing I can move away from<br>\n                <input id=\"safetyDistance\" type=\"text\" placeholder=\"sharp objects, isolation, certain apps, the bathroom, the scale...\">\n              <\/label>\n\n              <label class=\"fyl-mini-panel\">\n                One place or position that is safer<br>\n                <input id=\"safetyPlace\" type=\"text\" placeholder=\"couch, bed with door open, near another person, outside, porch...\">\n              <\/label>\n\n              <label class=\"fyl-mini-panel\">\n                One person or support I can contact<br>\n                <input id=\"safetyPerson\" type=\"text\" placeholder=\"friend, therapist, crisis line, family member, neighbor...\">\n              <\/label>\n\n              <label class=\"fyl-mini-panel\">\n                One grounding tool I can use<br>\n                <input id=\"safetyTool\" type=\"text\" placeholder=\"cold water, feet on floor, 5-4-3-2-1, blanket, breathing circle...\">\n              <\/label>\n\n              <label class=\"fyl-mini-panel\">\n                One reason to stay with this moment<br>\n                <input id=\"safetyReason\" type=\"text\" placeholder=\"my pet, tomorrow, someone I love, one future possibility...\">\n              <\/label>\n            <\/div>\n\n            <div class=\"fyl-button-stack\">\n              <button class=\"fyl-action-btn primary\" type=\"button\" id=\"buildSafetyPlan\">Create my tiny plan<\/button>\n              <button class=\"fyl-action-btn quiet\" type=\"button\" id=\"copySafetyPlan\">Copy safety plan<\/button>\n              <button class=\"fyl-action-btn\" type=\"button\" id=\"clearSafetyPlan\">Clear safety plan<\/button>\n            <\/div>\n\n            <div class=\"fyl-reflection-box\" id=\"safetyPlanOutput\">\n              <strong>My tiny safety plan:<\/strong><br>\n              1. Notice the wave.<br>\n              2. Move away from one risky thing.<br>\n              3. Move toward one safer place or person.<br>\n              4. Use one grounding tool.<br>\n              5. Stay with the next ten minutes only.\n            <\/div>\n          <\/div>\n\n          <div class=\"fyl-two-grid\">\n            <div class=\"fyl-panel\">\n              <h3>One step for the next 10 minutes<\/h3>\n              <div class=\"fyl-steps-box\">\n                <ul>\n                  <li>Move away from anything you could use to hurt yourself.<\/li>\n                  <li>Call, text, or sit near another person if possible.<\/li>\n                  <li>Choose one grounding or calm tool above.<\/li>\n                  <li>Do not make long-term decisions while the wave is high.<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n            <div class=\"fyl-panel\">\n              <h3>Quick reminders<\/h3>\n              <div class=\"fyl-steps-box\">\n                <ul>\n                  <li>This is a wave, not a command.<\/li>\n                  <li>Safety first. Meaning can come later.<\/li>\n                  <li>I only need the next ten minutes.<\/li>\n                  <li>I am allowed to use direct support.<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"fyl-resource-grid\">\n          <a href=\"https:\/\/findyourlifeline.org\/resources\/\" target=\"_blank\" rel=\"noopener noreferrer\">Open resources \u2197<\/a>\n          <a href=\"https:\/\/findyourlifeline.org\/regulation\/\" target=\"_blank\" rel=\"noopener noreferrer\">Open regulation support \u2197<\/a>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <div class=\"fyl-quick-reset\" aria-label=\"Lifeline quick navigation\">\n      <button class=\"fyl-small-btn quiet\" type=\"button\" data-route=\"top\">Help me choose again<\/button>\n      <button class=\"fyl-small-btn primary\" type=\"button\" data-route=\"unsafe\">I need support<\/button>\n    <\/div>\n  <\/div>\n\n  <script>\n\n    function showButtonFeedback(button, message) {\n      if (!button) return;\n\n      const originalText = button.dataset.originalText || button.textContent;\n      button.dataset.originalText = originalText;\n      button.textContent = message;\n\n      window.setTimeout(() => {\n        button.textContent = originalText;\n      }, 1400);\n    }\n\n\n    (function () {\n       root = document.getElementById('fyl-lifeline-hub');\n      if (!root) return;\n\n      const routes = {\n        top: { section: 'lifeline-top' },\n        unsure: { guided: 'unsure', section: 'guided-support' },\n        panic: { guided: 'panic', section: 'calm-section', breath: 'exhale' },\n        dissociated: { guided: 'dissociated', section: 'grounding-section', ground: 'room' },\n        thoughts: { guided: 'thoughts', section: 'grounding-section', ground: 'thoughts' },\n        express: { guided: 'express', section: 'journal-section', journal: 'vent' },\n        unsafe: { guided: 'unsafe', section: 'safety-section' }\n      };\n\n      function scrollToId(id) {\n        const el = document.getElementById(id);\n        if (!el) return;\n        el.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      }\n\n      function setActiveRoute(routeName) {\n        const route = routes[routeName];\n        if (!route) return;\n        root.classList.add('routed');\n\n        root.querySelectorAll('.fyl-route-btn[data-route]').forEach((btn) => {\n          btn.classList.toggle('primary', btn.getAttribute('data-route') === routeName);\n        });\n\n        if (route.guided) selectGuided(route.guided, false);\n        if (route.breath) selectBreathMode(route.breath, false);\n        if (route.ground) selectGroundPath(route.ground);\n        if (route.journal) selectJournalMode(route.journal);\n\n        scrollToId(route.section);\nif (routeName === 'unsafe' || route.section === 'safety-section') {\n  const safety = document.getElementById('safety-section');\n  if (safety) {\n    safety.classList.remove('safety-arrived');\n    void safety.offsetWidth;\n    safety.classList.add('safety-arrived');\n  }\n}\n      }\n\n      root.querySelectorAll('[data-route]').forEach((btn) => {\n        btn.addEventListener('click', () => setActiveRoute(btn.getAttribute('data-route')));\n      });\n\n      const guidedData = {\n        unsure: {\n          title: 'Do less first.',\n          copy: 'When choosing feels impossible, your first job is not to pick perfectly. Your first job is to reduce the demand.',\n          steps: [\n            ['Look around.', 'Name one thing that is not dangerous.'],\n            ['Exhale once.', 'Do not force a deep inhale.'],\n            ['Touch one object.', 'Notice temperature, texture, or weight.'],\n            ['Choose the smallest support.', 'Try Calm, Grounding, or Journal below.']\n          ],\n          actions: [['Take one guided breath', 'panic'], ['Ground instead', 'dissociated']]\n        },\n        panic: {\n          title: 'Give your body a slower signal.',\n          copy: 'Activation does not mean you are failing. Your body may be trying to protect you. Start with rhythm, pressure, and a longer exhale.',\n          steps: [\n            ['Unclench one place.', 'Try jaw, hands, shoulders, or belly.'],\n            ['Lengthen the exhale.', 'Let the out-breath be longer than the in-breath.'],\n            ['Press down.', 'Feel your feet, thighs, or back supported.'],\n            ['Use Calm.', 'Start with 30 seconds only.']\n          ],\n          actions: [['Open Calm', 'panic'], ['Ground first', 'dissociated']]\n        },\n        dissociated: {\n          title: 'Come back gently.',\n          copy: 'Numbness and fog often need orientation, not pressure. You do not have to feel everything right now. Just reconnect with one real thing.',\n          steps: [\n            ['Open your eyes softly.', 'Let them land on the edges of the room.'],\n            ['Name where you are.', 'Say the date, place, or one neutral fact.'],\n            ['Add texture.', 'Touch fabric, a mug, a wall, or a small object.'],\n            ['Use Grounding.', 'Let it walk you back slowly.']\n          ],\n          actions: [['Open Grounding', 'dissociated'], ['Write one line', 'express']]\n        },\n        thoughts: {\n          title: 'Orient before analyzing.',\n          copy: 'When thoughts are looping, the goal is not to win the argument in your mind. The goal is to interrupt the loop gently and return to now.',\n          steps: [\n            ['Name the loop.', '\u201cMy thoughts are spiraling.\u201d'],\n            ['Shrink the timeline.', 'Only the next ten minutes matter.'],\n            ['Name one choice.', 'Sit, stand, water, blanket, text, breathe.'],\n            ['Use grounding.', 'Let your senses interrupt the spiral.']\n          ],\n          actions: [['Orient my thoughts', 'thoughts'], ['Journal it out', 'express']]\n        },\n        express: {\n          title: 'Let the pressure have somewhere to go.',\n          copy: 'If the feeling wants language, you can give it one sentence at a time. You do not have to explain everything.',\n          steps: [\n            ['Start with \u201cI notice\u2026\u201d', 'No need to make it beautiful.'],\n            ['Name one body clue.', 'Heavy, tight, hot, cold, shaky, numb, buzzing, restless.'],\n            ['Name one need.', 'Space, reassurance, movement, food, rest, support, quiet.'],\n            ['Use Journal.', 'Let it reflect gently back to you.']\n          ],\n          actions: [['Open Journal', 'express'], ['Calm first', 'panic']]\n        },\n        unsafe: {\n          title: 'Use direct support now.',\n          copy: 'If this moment feels unsafe or you might hurt yourself or someone else, coping tools are not the first step. Connection and immediate support come first.',\n          steps: [\n            ['Move toward safety.', 'Put distance between you and anything harmful.'],\n            ['Contact support.', 'Call or text someone, 988, or emergency services.'],\n            ['Stay near another person if possible.', 'You do not have to handle the wave alone.'],\n            ['Return to tools later.', 'Calm and grounding can help after immediate safety is supported.']\n          ],\n          actions: [['Open support', 'unsafe'], ['Help me choose again', 'unsure']]\n        }\n      };\n\n      const guidedTitle = root.querySelector('#guided-title');\n      const guidedCopy = root.querySelector('#guided-copy');\n      const guidedSteps = root.querySelector('#guided-steps');\n      const guidedActions = root.querySelector('#guided-actions');\n\n      function selectGuided(key, shouldScroll) {\n        const data = guidedData[key];\n        if (!data) return;\n\n        root.querySelectorAll('[data-guided]').forEach((btn) => {\n          btn.classList.toggle('active', btn.getAttribute('data-guided') === key);\n        });\n\n        guidedTitle.textContent = data.title;\n        guidedCopy.textContent = data.copy;\n        guidedSteps.innerHTML = data.steps.map((item) => '<li><strong>' + item[0] + '<\/strong> ' + item[1] + '<\/li>').join('');\n        guidedActions.innerHTML = data.actions.map((action, index) => '<button class=\"fyl-action-btn ' + (index === 0 ? 'primary' : 'quiet') + '\" type=\"button\" data-route=\"' + action[1] + '\">' + action[0] + '<\/button>').join('');\n\n        guidedActions.querySelectorAll('[data-route]').forEach((btn) => {\n          btn.addEventListener('click', () => setActiveRoute(btn.getAttribute('data-route')));\n        });\n\n        if (shouldScroll) scrollToId('guided-support');\n      }\n\n      root.querySelectorAll('[data-guided]').forEach((btn) => {\n        btn.addEventListener('click', () => selectGuided(btn.getAttribute('data-guided'), false));\n      });\n\n      const breathModes = {\n        slow: {\n          instruction: 'Slow breathing: inhale for 4, exhale for 6. Let the exhale be a little longer than the inhale.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Exhale', sub: '6 seconds', cls: 'exhale', seconds: 6 }\n          ]\n        },\n        coherence: {\n          instruction: 'Coherence breathing: inhale for 5, exhale for 5. Even and steady.',\n          steps: [\n            { label: 'Inhale', sub: '5 seconds', cls: 'inhale', seconds: 5 },\n            { label: 'Exhale', sub: '5 seconds', cls: 'exhale', seconds: 5 }\n          ]\n        },\n        exhale: {\n          instruction: 'Extended exhale: inhale for 4, exhale for 8. Helpful when anxiety feels high.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Exhale slowly', sub: '8 seconds', cls: 'exhale', seconds: 8 }\n          ]\n        },\n        box: {\n          instruction: 'Box breathing: inhale 4, hold 4, exhale 4, hold 4. Structured and contained.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Hold', sub: '4 seconds', cls: 'hold-high', seconds: 4 },\n            { label: 'Exhale', sub: '4 seconds', cls: 'exhale', seconds: 4 },\n            { label: 'Hold', sub: '4 seconds', cls: 'hold-low', seconds: 4 }\n          ]\n        },\n        '478': {\n          instruction: '4\u20137\u20138 breathing: inhale 4, hold 7, exhale 8. Skip or shorten the hold if it feels uncomfortable.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Hold', sub: '7 seconds', cls: 'hold-high', seconds: 7 },\n            { label: 'Exhale slowly', sub: '8 seconds', cls: 'exhale', seconds: 8 }\n          ]\n        },\n        sigh: {\n          instruction: 'Physiological sigh: small inhale, sip in a little more air, then long exhale.',\n          steps: [\n            { label: 'Small inhale', sub: '2 seconds', cls: 'sip', seconds: 2 },\n            { label: 'Sip more air', sub: '1 second', cls: 'inhale', seconds: 1 },\n            { label: 'Long exhale', sub: '6 seconds', cls: 'exhale', seconds: 6 }\n          ]\n        },\n        voo: {\n          instruction: 'Voo or humming: inhale for 4, exhale with a low hum or voo sound for 8.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Hum \/ voo out', sub: '8 seconds', cls: 'exhale', seconds: 8 }\n          ]\n        },\n        custom: {\n          instruction: 'Custom rhythm: adjust the counts and apply your own pattern.',\n          steps: [\n            { label: 'Inhale', sub: '4 seconds', cls: 'inhale', seconds: 4 },\n            { label: 'Exhale', sub: '6 seconds', cls: 'exhale', seconds: 6 }\n          ]\n        }\n      };\n\n      let breathMode = 'slow';\n      let breathDuration = 30;\n      let breathRunning = false;\n      let breathStepIndex = 0;\n      let phaseRemaining = 0;\n      let breathInterval = null;\n      let sessionElapsed = 0;\n\n      const ring = root.querySelector('#fylBreathRing');\n      const core = root.querySelector('#fylBreathCore');\n      const phaseText = root.querySelector('#fylPhaseText');\n      const counterText = root.querySelector('#fylCounterText');\n      const phaseCount = root.querySelector('#fylPhaseCount');\n      const instruction = root.querySelector('#fylBreathInstruction');\n      const customLayer = root.querySelector('#customBreathLayer');\n\n      function setCircleState(step, immediate) {\n        const duration = immediate ? '0ms' : (step.seconds * 1000) + 'ms';\n        ring.style.transitionDuration = duration;\n        core.style.transitionDuration = duration;\n        ring.className = 'fyl-breath-ring ' + step.cls;\n        core.className = 'fyl-breath-core ' + step.cls;\n        core.innerHTML = step.label + '<span id=\"fylBreathCoreSub\">' + step.sub + '<\/span>';\n      }\n\n      function getCurrentBreathMode() {\n        return breathModes[breathMode] || breathModes.slow;\n      }\n\n      function stopBreathing(message) {\n        breathRunning = false;\n        clearInterval(breathInterval);\n        breathInterval = null;\n        ring.style.transitionDuration = '700ms';\n        core.style.transitionDuration = '700ms';\n        ring.className = 'fyl-breath-ring rest';\n        core.className = 'fyl-breath-core rest';\n        core.innerHTML = 'Ready<span id=\"fylBreathCoreSub\">choose a rhythm<\/span>';\n        phaseText.textContent = 'Ready';\n        counterText.textContent = message || 'Paused. Begin again whenever you want.';\n        phaseCount.textContent = '\u2014';\n      }\n\n      function beginPhase() {\n        const mode = getCurrentBreathMode();\n        const step = mode.steps[breathStepIndex % mode.steps.length];\n        phaseRemaining = step.seconds;\n        phaseText.textContent = step.label;\n        phaseCount.textContent = phaseRemaining + ' seconds';\n        setCircleState(step, false);\n      }\n\n      function tickBreath() {\n        if (!breathRunning) return;\n\n        if (breathDuration > 0 && sessionElapsed >= breathDuration) {\n          stopBreathing('Complete. Notice what changed, even slightly.');\n          phaseText.textContent = 'Complete';\n          return;\n        }\n\n        if (phaseRemaining <= 0) {\n          breathStepIndex += 1;\n          beginPhase();\n        }\n\n        const totalText = breathDuration > 0 ? Math.max(0, breathDuration - sessionElapsed) + ' seconds remaining' : 'Open practice';\n        counterText.textContent = totalText;\n        phaseCount.textContent = Math.max(0, phaseRemaining) + ' seconds';\n        phaseRemaining -= 1;\n        sessionElapsed += 1;\n      }\n\n      function startBreathing() {\n        stopBreathing('');\n        breathRunning = true;\n        breathStepIndex = 0;\n        sessionElapsed = 0;\n        beginPhase();\n        tickBreath();\n        breathInterval = setInterval(tickBreath, 1000);\n      }\n\n      function selectBreathMode(mode, shouldStop) {\n        breathMode = mode;\n        const data = getCurrentBreathMode();\n\n        root.querySelectorAll('[data-breath]').forEach((btn) => {\n          btn.classList.toggle('active', btn.getAttribute('data-breath') === mode);\n        });\n\n        instruction.textContent = data.instruction;\n        customLayer.classList.toggle('open', mode === 'custom');\n\n        if (shouldStop !== false) stopBreathing('Choose a technique, then press start.');\n      }\n\n      root.querySelectorAll('[data-breath]').forEach((btn) => {\n        btn.addEventListener('click', () => selectBreathMode(btn.getAttribute('data-breath'), true));\n      });\n\n      root.querySelectorAll('[data-duration]').forEach((btn) => {\n        btn.addEventListener('click', () => {\n          root.querySelectorAll('[data-duration]').forEach((b) => b.classList.remove('active'));\n          btn.classList.add('active');\n          breathDuration = parseInt(btn.getAttribute('data-duration'), 10);\n          stopBreathing(breathDuration === 0 ? 'Open practice selected.' : breathDuration + ' seconds selected.');\n        });\n      });\n\n      root.querySelector('#fylStartBreath').addEventListener('click', startBreathing);\n      root.querySelector('#fylPauseBreath').addEventListener('click', () => stopBreathing('Paused. Begin again whenever you want.'));\n\n      root.querySelector('#applyCustomBreath').addEventListener('click', () => {\n        const inhale = Math.max(1, parseInt(root.querySelector('#customInhale').value, 10) || 4);\n        const holdHigh = Math.max(0, parseInt(root.querySelector('#customHoldHigh').value, 10) || 0);\n        const exhale = Math.max(1, parseInt(root.querySelector('#customExhale').value, 10) || 6);\n        const holdLow = Math.max(0, parseInt(root.querySelector('#customHoldLow').value, 10) || 0);\n\n        const steps = [{ label: 'Inhale', sub: inhale + ' seconds', cls: 'inhale', seconds: inhale }];\n\n        if (holdHigh > 0) steps.push({ label: 'Hold', sub: holdHigh + ' seconds', cls: 'hold-high', seconds: holdHigh });\n\n        steps.push({ label: 'Exhale', sub: exhale + ' seconds', cls: 'exhale', seconds: exhale });\n\n        if (holdLow > 0) steps.push({ label: 'Hold', sub: holdLow + ' seconds', cls: 'hold-low', seconds: holdLow });\n\n        breathModes.custom.steps = steps;\n        breathModes.custom.instruction = 'Custom rhythm: inhale ' + inhale + ', ' + (holdHigh ? 'hold ' + holdHigh + ', ' : '') + 'exhale ' + exhale + (holdLow ? ', hold ' + holdLow : '') + '.';\n        instruction.textContent = breathModes.custom.instruction;\n        stopBreathing('Custom rhythm applied. Press start when ready.');\n      });\n\n      const groundData = {\n        room: [\n          { title: 'Name five things you can see.', copy: 'Let your eyes land on ordinary things. You are not searching for anything special.', prompts: ['Name one color.', 'Name one shape.', 'Name one object that feels neutral.'] },\n          { title: 'Name four things you can feel.', copy: 'Let contact remind your body that it is here.', prompts: ['Feet on floor.', 'Clothes on skin.', 'Chair or bed supporting you.'] },\n          { title: 'Name three things you can hear.', copy: 'Let sound locate you in the present.', prompts: ['One close sound.', 'One far sound.', 'One quiet sound.'] },\n          { title: 'Name two things you can smell or imagine smelling.', copy: 'Only use scent if it feels safe and easy.', prompts: ['Soap, air, fabric, tea, lotion, or nothing at all.'] },\n          { title: 'Say one present-time sentence.', copy: 'Give your brain one simple fact.', prompts: ['I am here.', 'This is now.', 'I can take one next step.'] }\n        ],\n        body: [\n          { title: 'Press your feet down.', copy: 'Use gentle pressure to remind your body it has support.', prompts: ['Press for three seconds.', 'Release.', 'Notice any difference.'] },\n          { title: 'Find one supported place.', copy: 'Notice where your body is held by the chair, floor, bed, or wall.', prompts: ['Back.', 'Thighs.', 'Feet.', 'Hands.'] },\n          { title: 'Open and close your hands.', copy: 'Small movement can help the body come back online.', prompts: ['Open slowly.', 'Close softly.', 'Repeat three times.'] },\n          { title: 'Soften one area 1%.', copy: 'Do not force relaxation. Just reduce one tiny bit of effort.', prompts: ['Jaw.', 'Shoulders.', 'Forehead.', 'Hands.'] },\n          { title: 'Choose one object to hold.', copy: 'Let texture, temperature, or weight anchor you.', prompts: ['Mug.', 'Blanket.', 'Stone.', 'Fabric.', 'Charm.'] }\n        ],\n        thoughts: [\n          { title: 'Name where you are.', copy: 'Give your brain a clear present-time cue.', prompts: ['Room.', 'City.', 'Date.', 'Time of day.'] },\n          { title: 'Name what is happening.', copy: 'Use simple language without judgment.', prompts: ['I feel activated.', 'I feel disconnected.', 'I feel overwhelmed.'] },\n          { title: 'Name what is not happening.', copy: 'Let your brain separate then from now.', prompts: ['I am not back there.', 'This is not the whole story.', 'This moment can pass.'] },\n          { title: 'Name one choice.', copy: 'Agency can be very small.', prompts: ['Sit or stand.', 'Light on or off.', 'Water or blanket.', 'Quiet or sound.'] },\n          { title: 'Name the next ten minutes.', copy: 'Shrink the timeline.', prompts: ['For the next ten minutes, I only need to...'] }\n        ],\n        unsure: [\n          { title: 'Look for one color.', copy: 'Start with the least complicated sensory cue.', prompts: ['Blue.', 'White.', 'Green.', 'Brown.', 'Yellow.'] },\n          { title: 'Touch one surface.', copy: 'Let texture be enough.', prompts: ['Smooth.', 'Rough.', 'Soft.', 'Cool.', 'Warm.'] },\n          { title: 'Exhale one time.', copy: 'Do not force calm. Just complete one breath.', prompts: ['Out through the mouth if that feels easier.'] },\n          { title: 'Say \u201cthis is now.\u201d', copy: 'A simple phrase can help orient your system.', prompts: ['This is now.', 'I am here.', 'I can go slowly.'] },\n          { title: 'Do one tiny next thing.', copy: 'Tiny counts.', prompts: ['Drink water.', 'Change posture.', 'Text someone.', 'Open a window.'] }\n        ]\n      };\n\n      let groundPath = 'room';\n      let groundStep = 0;\n\n      const groundTitle = root.querySelector('#groundTitle');\n      const groundCopy = root.querySelector('#groundCopy');\n      const groundPrompts = root.querySelector('#groundPrompts');\n      const groundProgress = root.querySelector('#groundProgress');\n      const groundStepNumber = root.querySelector('#groundStepNumber');\n      const groundDots = root.querySelector('#groundDots');\n\n      function renderGround() {\n        const steps = groundData[groundPath];\n        const step = steps[groundStep];\n\n        groundTitle.textContent = step.title;\n        groundCopy.textContent = step.copy;\n        groundPrompts.innerHTML = step.prompts.map((prompt) => '<li>' + prompt + '<\/li>').join('');\n        groundProgress.textContent = 'Step ' + (groundStep + 1) + ' of ' + steps.length;\n        groundStepNumber.textContent = groundStep + 1;\n        groundDots.innerHTML = steps.map((_, index) => '<span class=\"fyl-dot ' + (index === groundStep ? 'active' : '') + '\"><\/span>').join('');\n      }\n\n      function selectGroundPath(path) {\n        groundPath = path;\n        groundStep = 0;\n\n        root.querySelectorAll('[data-ground]').forEach((btn) => {\n          btn.classList.toggle('active', btn.getAttribute('data-ground') === path);\n        });\n\n        renderGround();\n      }\n\n      root.querySelectorAll('[data-ground]').forEach((btn) => {\n        btn.addEventListener('click', () => selectGroundPath(btn.getAttribute('data-ground')));\n      });\n\n      root.querySelector('#groundNext').addEventListener('click', () => {\n        groundStep = (groundStep + 1) % groundData[groundPath].length;\n        renderGround();\n      });\n\n      root.querySelector('#groundBack').addEventListener('click', () => {\n        groundStep = (groundStep - 1 + groundData[groundPath].length) % groundData[groundPath].length;\n        renderGround();\n      });\n\n      renderGround();\n\n      const journalData = {\n        vent: {\n          prompts: ['What feels too loud inside right now?', 'What do you wish you could say without editing yourself?', 'What are you tired of carrying today?', 'What pressure needs somewhere to go?'],\n          feelings: ['angry', 'overwhelmed', 'resentful', 'hurt', 'exhausted', 'done', 'pressured', 'trapped'],\n          body: ['hot', 'tight chest', 'clenched jaw', 'buzzing', 'restless', 'heavy']\n        },\n        understand: {\n          prompts: ['What might this feeling be trying to protect?', 'What happened right before this shifted?', 'What is the need underneath the reaction?', 'What part of this feels familiar?'],\n          feelings: ['confused', 'tender', 'triggered', 'protective', 'uncertain', 'ashamed', 'scared', 'lonely'],\n          body: ['throat lump', 'stomach drop', 'tense shoulders', 'foggy', 'small', 'braced']\n        },\n        calm: {\n          prompts: ['What would help my body feel 1% safer?', 'What can I soften without forcing calm?', 'What is one thing that is true right now?', 'What would I say to myself if I were being gentle?'],\n          feelings: ['anxious', 'fragile', 'tired', 'raw', 'uncertain', 'needing quiet'],\n          body: ['shaky', 'racing heart', 'tight', 'buzzing', 'tired', 'cold']\n        },\n        release: {\n          prompts: ['What am I allowed to put down for now?', 'What is not mine to carry?', 'What would it feel like to loosen one thread?', 'What can leave the body by being named?'],\n          feelings: ['grief', 'pressure', 'guilt', 'anger', 'sadness', 'burdened'],\n          body: ['heavy arms', 'tight belly', 'held breath', 'aching', 'drained', 'compressed']\n        },\n        hope: {\n          prompts: ['What is one small reason to stay with this moment?', 'What has helped even a little before?', 'What tiny light can I name without pretending everything is okay?', 'What would future me thank me for doing gently?'],\n          feelings: ['small light', 'possibility', 'comfort', 'connection', 'surviving', 'trying', 'enough', 'still here'],\n          body: ['softening', 'warmth', 'exhale', 'a little space', 'less tight', 'steady']\n        },\n        unsure: {\n          prompts: ['If I do not know what I feel, what do I notice in my body?', 'What is the smallest true sentence I can write?', 'What feels closest: heavy, tight, numb, hot, shaky, or tired?', 'What do I need less of right now?'],\n          feelings: ['unclear', 'mixed', 'numb', 'stuck', 'blank', 'too much', 'not sure'],\n          body: ['heavy', 'tight', 'far away', 'frozen', 'restless', 'foggy', 'buzzing']\n        }\n      };\n\n      let journalMode = 'vent';\n      let journalPromptIndex = 0;\n\n      const journalPrompt = root.querySelector('#journalPrompt');\n      const feelingChips = root.querySelector('#feelingChips');\n      const bodyChips = root.querySelector('#bodyChips');\n      const journalText = root.querySelector('#journalText');\n      const journalReflection = root.querySelector('#journalReflection');\n\n      function renderJournal() {\n        const data = journalData[journalMode];\n\n        journalPrompt.innerHTML = '<strong>Prompt:<\/strong><br>' + data.prompts[journalPromptIndex % data.prompts.length];\n        feelingChips.innerHTML = data.feelings.map((word) => '<button class=\"fyl-chip\" type=\"button\" data-chip=\"' + word + '\">' + word + '<\/button>').join('');\n        bodyChips.innerHTML = data.body.map((word) => '<button class=\"fyl-chip\" type=\"button\" data-chip=\"' + word + '\">' + word + '<\/button>').join('');\n\n        root.querySelectorAll('[data-chip]').forEach((chip) => {\n          chip.addEventListener('click', () => {\n            chip.classList.toggle('active');\n            const word = chip.getAttribute('data-chip');\n            journalText.value += (journalText.value.trim() ? ' ' : '') + word;\n            journalText.focus();\n          });\n        });\n      }\n\n      function selectJournalMode(mode) {\n        journalMode = mode;\n        journalPromptIndex = 0;\n\n        root.querySelectorAll('[data-journal]').forEach((btn) => {\n          btn.classList.toggle('active', btn.getAttribute('data-journal') === mode);\n        });\n\n        renderJournal();\n      }\n\n      root.querySelectorAll('[data-journal]').forEach((btn) => {\n        btn.addEventListener('click', () => selectJournalMode(btn.getAttribute('data-journal')));\n      });\n\n      root.querySelector('#newJournalPrompt').addEventListener('click', () => {\n        journalPromptIndex += 1;\n        renderJournal();\n      });\n\n      root.querySelector('#reflectJournal').addEventListener('click', () => {\n        const text = journalText.value.trim();\n\n        if (!text) {\n          journalReflection.innerHTML = '<strong>Gentle reflection:<\/strong><br>There may not be words yet. That counts too. Try starting with: \u201cSomething in me feels\u2026\u201d';\n          return;\n        }\n\n        const reflections = {\n          vent: 'The pressure makes sense, and you do not have to make it pretty before it is real.',\n          understand: 'There may be a protective pattern underneath this, and you can get curious without blaming yourself.',\n          calm: 'Your body may need safety before clarity. One softer cue is enough for now.',\n          release: 'Something in you may be ready to loosen what was never meant to be carried alone.',\n          hope: 'Even a tiny point of light counts. You do not have to feel hopeful everywhere for one small thread to matter.',\n          unsure: 'Not knowing is still information. You can begin with what is unclear, mixed, or hard to name.'\n        };\n\n        journalReflection.innerHTML = '<strong>Gentle reflection:<\/strong><br>' + reflections[journalMode];\n      });\n\n      root.querySelector('#copyJournal').addEventListener('click', async () => {\n        const text = journalText.value;\n\n        if (!text.trim()) {\n          journalReflection.innerHTML = '<strong>Copy unavailable:<\/strong><br>There is nothing to copy yet.';\n          return;\n        }\n\n        try {\n          await navigator.clipboard.writeText(text);\n          journalReflection.innerHTML = '<strong>Copied:<\/strong><br>Your entry has been copied.';\n        } catch (e) {\n          journalReflection.innerHTML = '<strong>Copy unavailable:<\/strong><br>Select the text manually and copy it from the writing box.';\n        }\n      });\n\n      root.querySelector('#clearJournal').addEventListener('click', () => {\n        journalText.value = '';\n        journalReflection.innerHTML = '<strong>Gentle reflection:<\/strong><br>The writing box is clear. You can begin again as softly as needed.';\n      });\n\n      renderJournal();\n\n     const toolData = {\n      harm: {\n        title: \"Make this moment safer.\",\n        copy: \"When stopping completely feels impossible, aim for less danger, more delay, and one safer choice.\",\n        steps: [\n          \"Name the urge or risk as plainly as you can: \u201cSomething in me wants to ___.\u201d\",\n          \"Delay the next step by two minutes. You are not promising forever.\",\n          \"Move anything dangerous farther away, out of reach, or into another room.\",\n          \"Choose the least harmful next option available: water, warmth, grounding, texting someone, or changing rooms.\",\n          \"If you might not stay safe, use direct support now: 988, emergency services, or a trusted person nearby.\"\n        ]\n      },\n      body: {\n        title: \"Start with your body.\",\n        copy: \"When your system is activated, the body often needs safety cues before the mind can think clearly.\",\n        steps: [\n          \"Hold something cold, warm, weighted, or textured.\",\n          \"Press your feet into the floor for three seconds.\",\n          \"Take one longer exhale without forcing a deep inhale.\",\n          \"Lower one input: light, sound, screen, or movement.\"\n        ]\n      },\n      sensorimotor: {\n        title: \"Let your body finish one tiny response.\",\n        copy: \"When survival energy feels trapped, a small intentional movement can help your body reclaim agency without forcing a big release.\",\n        steps: [\n          \"Look around and remind yourself: \u201cThis is now.\u201d\",\n          \"Notice the impulse: push, turn away, reach, shake, step back, curl up, or make a boundary.\",\n          \"Do the movement slowly at 10% intensity.\",\n          \"Pause and feel what changes in your body.\",\n          \"Return to the room with your eyes, feet, or one steady object.\"\n        ]\n      },\n      parts: {\n        title: \"Listen for the part that is trying to help.\",\n        copy: \"Inner conflict often softens when each part is met with curiosity instead of force.\",\n        steps: [\n          \"Name the part that is loudest right now.\",\n          \"Ask what it is trying to protect you from.\",\n          \"Thank it for trying to help, even if its strategy is painful.\",\n          \"Ask what it needs for the next few minutes, not forever.\"\n        ]\n      },\n      thoughts: {\n        title: \"Unhook from the spiral.\",\n        copy: \"You do not have to believe every thought just because it is loud.\",\n        steps: [\n          \"Write the thought exactly as it appears.\",\n          \"Add: \u201cI am having the thought that\u2026\u201d before it.\",\n          \"Ask: is this a fact, a fear, a memory, or a prediction?\",\n          \"Choose one grounding action before solving the whole problem.\"\n        ]\n      },\n      recovery: {\n        title: \"Return to recovery gently.\",\n        copy: \"Recovery is not a perfect streak. It is the next caring choice after the old pattern gets loud.\",\n        steps: [\n          \"Name the recovery pull: restriction, checking, compensating, isolating, comparing, or self-punishing.\",\n          \"Ask: what would make this 10% more supportive?\",\n          \"Choose one body-supporting action: nourishment, hydration, rest, warmth, or reaching out.\",\n          \"Remind yourself: \u201cI can return without punishing myself first.\u201d\"\n        ]\n      },\n      values: {\n        title: \"Take the smallest values-based step.\",\n        copy: \"You do not need motivation first. Sometimes direction returns after one tiny aligned action.\",\n        steps: [\n          \"Choose one value: care, honesty, steadiness, creativity, connection, protection, or rest.\",\n          \"Ask: what would this value do for two minutes?\",\n          \"Make the step smaller than you think it should be.\",\n          \"Let it count even if your feelings do not change immediately.\"\n        ]\n      },\n      motivation: {\n        title: \"Listen for what still matters.\",\n        copy: \"You do not have to feel fully ready. This is about listening for your own reasons, your own hopes, and your own next possible step.\",\n        steps: [\n          \"Ask: what part of me still wants something different?\",\n          \"Name one reason change might matter, even if it feels small.\",\n          \"Name one reason staying the same makes sense too.\",\n          \"Choose one next step that respects both your fear and your hope.\"\n        ]\n      }\n    };\n\nlet activeTool = 'body';\n\nfunction renderTool(key) {\n  const data = toolData[key] || toolData.body;\n  activeTool = key;\n\n  root.querySelectorAll('[data-tool-pick]').forEach((btn) => {\n    btn.classList.toggle('active', btn.getAttribute('data-tool-pick') === key);\n  });\n\n  const titleEl = root.querySelector('#tool-title');\n  const copyEl = root.querySelector('#tool-copy');\n  const stepsEl = root.querySelector('#tool-steps');\n\n  if (!titleEl || !copyEl || !stepsEl) return;\n\n  titleEl.textContent = data.title;\n  copyEl.textContent = data.copy;\n  stepsEl.innerHTML = data.steps.map((step) => '<li>' + step + '<\/li>').join('');\n}\n\nroot.querySelectorAll('[data-tool-pick]').forEach((btn) => {\n  btn.addEventListener('click', () => {\n    renderTool(btn.getAttribute('data-tool-pick'));\n  });\n});\n\nconst pickAnotherTool = root.querySelector('#pickAnotherTool');\n\nif (pickAnotherTool) {\n  pickAnotherTool.addEventListener('click', () => {\n    const keys = Object.keys(toolData);\n    let next = keys[Math.floor(Math.random() * keys.length)];\n\n    if (next === activeTool && keys.length > 1) {\n      next = keys[(keys.indexOf(next) + 1) % keys.length];\n    }\n\n    renderTool(next);\n  });\n}\n\nrenderTool(activeTool);\n\n      root.querySelector('#buildNvcReflection').addEventListener('click', () => {\n        const observation = root.querySelector('#nvcObservation').value.trim() || 'something happened';\n        const feeling = root.querySelector('#nvcFeeling').value.trim() || 'something in me felt activated';\n        const need = root.querySelector('#nvcNeed').value.trim() || 'care, clarity, or support';\n        const request = root.querySelector('#nvcRequest').value.trim() || 'we could slow this down';\n\n        root.querySelector('#nvcReflection').innerHTML =\n          '<strong>Gentle reflection:<\/strong><br>' +\n          'When ' + observation + ', I felt ' + feeling + '.<br>' +\n          'I think what I needed was ' + need + '.<br>' +\n          'It might help if ' + request + '.';\n      });\n\n      root.querySelector('#buildMessageText').addEventListener('click', () => {\n        const observation = root.querySelector('#nvcObservation').value.trim() || 'what happened';\n        const feeling = root.querySelector('#nvcFeeling').value.trim() || 'activated';\n        const need = root.querySelector('#nvcNeed').value.trim() || 'some clarity or support';\n        const request = root.querySelector('#nvcRequest').value.trim() || 'talk about it gently';\n\n        root.querySelector('#messageBuilderText').textContent =\n          'Hey, I\u2019ve been sitting with something and wanted to share. When ' +\n          observation +\n          ', I felt ' +\n          feeling +\n          '. I think I needed ' +\n          need +\n          '. Would you be open to ' +\n          request +\n          '?';\n      });\n\n      root.querySelector('#copyUnsent').addEventListener('click', async () => {\n        const text = root.querySelector('#unsentText').value;\n        if (!text.trim()) return;\n\n        try {\n          await navigator.clipboard.writeText(text);\n        } catch (e) {}\n      });\n\n      root.querySelector('#clearUnsent').addEventListener('click', () => {\n        root.querySelector('#unsentText').value = '';\n      });\n\n      root.querySelector('#copyMessageText').addEventListener('click', async () => {\n        const text = root.querySelector('#messageBuilderText').textContent;\n        if (!text.trim()) return;\n\n        try {\n          await navigator.clipboard.writeText(text);\n        } catch (e) {}\n      });\n\n      root.querySelectorAll('[data-layer]').forEach((btn) => {\n        btn.addEventListener('click', () => {\n          const layer = document.getElementById(btn.getAttribute('data-layer'));\n          if (!layer) return;\n\n          layer.classList.toggle('open');\n          btn.textContent = layer.classList.contains('open')\n            ? btn.textContent.replace('Show', 'Hide')\n            : btn.textContent.replace('Hide', 'Show');\n        });\n      });\n\n      function buildSafetyPlanText() {\n        const signs = root.querySelector('#safetySigns').value.trim() || 'I notice the wave getting stronger';\n        const distance = root.querySelector('#safetyDistance').value.trim() || 'one risky thing or place';\n        const place = root.querySelector('#safetyPlace').value.trim() || 'a safer place or position';\n        const person = root.querySelector('#safetyPerson').value.trim() || 'one person, crisis line, or support option';\n        const tool = root.querySelector('#safetyTool').value.trim() || 'one grounding tool';\n        const reason = root.querySelector('#safetyReason').value.trim() || 'one reason to stay with this moment';\n\n        return 'My tiny safety plan:\\n' +\n          '1. Warning sign: ' + signs + '.\\n' +\n          '2. Move away from: ' + distance + '.\\n' +\n          '3. Move toward: ' + place + '.\\n' +\n          '4. Contact: ' + person + '.\\n' +\n          '5. Use: ' + tool + '.\\n' +\n          '6. Stay for: ' + reason + '.\\n\\n' +\n          'For the next ten minutes, I do not have to solve my whole life. I only have to move toward safety.';\n      }\n\n      root.querySelector('#buildSafetyPlan').addEventListener('click', () => {\n        const plan = buildSafetyPlanText();\n        root.querySelector('#safetyPlanOutput').innerHTML =\n          '<strong>My tiny safety plan:<\/strong><br>' + plan.replace(\/\\n\/g, '<br>');\n      });\n\n      root.querySelector('#copySafetyPlan').addEventListener('click', async () => {\n        const plan = buildSafetyPlanText();\n        try {\n          await navigator.clipboard.writeText(plan);\n          root.querySelector('#safetyPlanOutput').innerHTML =\n            '<strong>Copied:<\/strong><br>' + plan.replace(\/\\n\/g, '<br>');\n        } catch (e) {\n          root.querySelector('#safetyPlanOutput').innerHTML =\n            '<strong>Copy unavailable:<\/strong><br>Select the text manually and copy it from this box.';\n        }\n      });\n\n      root.querySelector('#clearSafetyPlan').addEventListener('click', () => {\n        ['#safetySigns', '#safetyDistance', '#safetyPlace', '#safetyPerson', '#safetyTool', '#safetyReason'].forEach((selector) => {\n          const field = root.querySelector(selector);\n          if (field) field.value = '';\n        });\n\n        root.querySelector('#safetyPlanOutput').innerHTML =\n          '<strong>My tiny safety plan:<\/strong><br>' +\n          '1. Notice the wave.<br>' +\n          '2. Move away from one risky thing.<br>' +\n          '3. Move toward one safer place or person.<br>' +\n          '4. Use one grounding tool.<br>' +\n          '5. Stay with the next ten minutes only.';\n      });\n    })();\n  \n    if (clearNvcReflection && nvcReflection) {\n      clearNvcReflection.addEventListener(\"click\", () => {\n        nvcReflection.innerHTML =\n          \"<strong>Gentle reflection:<\/strong><br>When this happened, I felt\u2026 I think what I needed was\u2026 It might help if\u2026\";\n\n        showButtonFeedback(clearNvcReflection, \"Cleared\");\n      });\n    }\n\n  \n    document.querySelectorAll(\"[data-layer-target]\").forEach((button) => {\n      button.addEventListener(\"click\", () => {\n        const targetId = button.getAttribute(\"data-layer-target\");\n        const layer = document.getElementById(targetId);\n\n        if (layer) {\n          layer.classList.add(\"open\");\n          layer.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        }\n      });\n    });\n\n  \n    document.querySelectorAll(\".fyl-pathway [data-tool-pick]\").forEach((button) => {\n      button.addEventListener(\"click\", () => {\n        const pick = button.getAttribute(\"data-tool-pick\");\n        const matchingCard = document.querySelector('.fyl-tool-card[data-tool-pick=\"' + pick + '\"]');\n\n        if (matchingCard) {\n          matchingCard.click();\n          const toolsSection = document.getElementById(\"therapeutic-tools-section\");\n          if (toolsSection) {\n            toolsSection.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n          }\n        }\n      });\n    });\n\n  <\/script>\n<\/div>\n\n\n\n<div class=\"fyl-mobile-exit\" onclick=\"fylQuickExit()\">\n  Quick Exit\n<\/div>\n\n<script>\nfunction fylQuickExit(){\n  \/\/ Choose your safe destination\n  const safeURL = \"https:\/\/www.google.com\";\n\n  \/\/ Immediately redirect\n  window.location.replace(safeURL);\n\n  \/\/ Optional: backup redirect\n  setTimeout(function(){\n    window.location.href = safeURL;\n  }, 50);\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>A Lifeline to Hold Onto Start here. When everything feels heavy, you do not have to figure it out all at once.Choose what feels closest, and this page will take you to one next step. I can\u2019t choose Give me one tiny step. I\u2019m panicking \/ activated Racing, tense, restless, keyed up. I feel unreal [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"no-title","meta":{"nf_dc_page":"inspiration","footnotes":""},"class_list":["post-12677","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/pages\/12677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/comments?post=12677"}],"version-history":[{"count":20,"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/pages\/12677\/revisions"}],"predecessor-version":[{"id":12982,"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/pages\/12677\/revisions\/12982"}],"wp:attachment":[{"href":"https:\/\/findyourlifeline.org\/es\/wp-json\/wp\/v2\/media?parent=12677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}