/* Public editorial layer: isolated from triage, home and dashboard styles. */
.public-wrap { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.public-hero { position: relative; overflow: hidden; border-bottom: 1px solid #dce8df; background: linear-gradient(118deg, #f8fbf8 0%, #eef6ef 58%, #e5f0e6 100%); }
.public-hero-grid { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(12,75,61,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(12,75,61,.05) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, #000 0%, transparent 80%); }
.public-hero-content { position: relative; padding: 54px 0 76px; }
.public-breadcrumbs { margin-bottom: 36px; color: #6a8176; font-size: 11px; }
.public-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.public-breadcrumbs li { display: inline-flex; min-width: 0; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.public-breadcrumbs li + li::before { content: "/"; color: #9aac9f; }
.public-breadcrumbs a { color: #1b6c52; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.public-breadcrumbs a:hover { text-decoration: underline; }
.public-breadcrumbs a:focus-visible { border-radius: 3px; outline: 3px solid var(--gold-light); outline-offset: 3px; }
.public-eyebrow, .public-label { display: inline-flex; align-items: center; gap: 8px; color: #5f7e6e; font-size: 10px; font-weight: 800; letter-spacing: 1.35px; text-transform: uppercase; }
.public-eyebrow { padding: 7px 10px; border: 1px solid #d2e4d5; border-radius: 999px; background: rgba(255,255,255,.58); }
.public-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 3px rgba(185,139,55,.14); }
.public-hero h1 { max-width: 780px; margin: 19px 0 18px; color: var(--forest); font-size: clamp(40px, 5.3vw, 69px); letter-spacing: -3px; line-height: 1; }
.public-hero h1 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.public-hero-content > p { max-width: 680px; margin-bottom: 26px; color: #557268; font-size: 17px; line-height: 1.65; }
.public-problem-layout { display: grid; grid-template-columns: 205px minmax(0, 760px); justify-content: space-between; gap: 70px; padding-top: 82px; padding-bottom: 100px; }
.public-side-nav { position: sticky; top: 112px; align-self: start; display: grid; gap: 13px; color: #6d857a; font-size: 11px; }
.public-side-nav > span { color: var(--forest); font-size: 10px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; }
.public-side-nav a { padding-left: 11px; border-left: 1px solid #d9e5db; line-height: 1.4; }
.public-side-nav a:hover { color: var(--emerald); border-color: var(--gold); }
.public-side-nav .button-primary { margin-top: 11px; width: 100%; font-size: 11px; }
.public-article { min-width: 0; }
.public-article-section, .editorial-article-column > section { padding: 0 0 62px; margin-bottom: 62px; border-bottom: 1px solid #e1eae2; scroll-margin-top: 110px; }
.public-index { display: block; margin-bottom: 13px; color: var(--gold); font: 23px var(--serif); }
.public-article h2, .editorial-article-column h2, .institutional-content h2 { margin: 0 0 14px; color: var(--forest); font-size: clamp(27px, 3.2vw, 42px); letter-spacing: -1.7px; line-height: 1.08; }
.public-article p, .editorial-article-column p, .institutional-content p { max-width: 690px; margin-bottom: 17px; color: #62786e; font-size: 15px; line-height: 1.75; }
.public-note, .public-care, .public-source-note { display: flex; align-items: flex-start; gap: 13px; margin-top: 24px; padding: 17px 18px; border: 1px solid #d6e6d8; border-radius: 9px; color: #3a6654; background: #f0f7f0; }
.public-note svg, .public-care svg, .public-source-note svg { flex: 0 0 auto; color: var(--gold); }
.public-note p, .public-care p, .public-source-note p { margin: 0; color: #587369; font-size: 12px; line-height: 1.6; }
.public-check-list { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.public-check-list li { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #e1eae2; border-radius: 7px; color: #446859; font-size: 13px; }
.public-check-list svg { flex: 0 0 auto; color: #2a8b67; }
.public-route-section { padding: 29px 25px 62px; border: 1px solid #dce9de; border-radius: 11px; background: #f8fbf8; }
.public-route-list { display: grid; gap: 0; margin-top: 25px; border-top: 1px solid #dce9de; }
.public-route-list div { display: grid; gap: 3px; padding: 15px 0; border-bottom: 1px solid #dce9de; }
.public-route-list strong { color: var(--forest); font-size: 13px; }
.public-route-list span { color: #6b8277; font-size: 12px; }
.public-document-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 25px; }
.public-document-list div { display: flex; align-items: center; gap: 10px; padding: 15px; border: 1px solid #e1eae2; border-radius: 7px; color: #426657; font-size: 12px; }
.public-document-list svg { color: var(--gold); }
.public-faq { border-top: 1px solid #dce7de; }
.public-faq details, .institutional-faq { border-bottom: 1px solid #dce7de; }
.public-faq summary, .institutional-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 0; color: var(--forest); cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; }
.public-faq summary:focus-visible, .institutional-faq summary:focus-visible { border-radius: 4px; outline: 3px solid var(--gold-light); outline-offset: 4px; }
.public-faq summary::-webkit-details-marker, .institutional-faq summary::-webkit-details-marker { display: none; }
.public-faq summary svg, .institutional-faq summary svg { color: var(--gold); transition: transform .18s var(--ease-out); }
.public-faq details[open] summary svg, .institutional-faq[open] summary svg { transform: rotate(180deg); }
.public-faq p, .institutional-faq p { padding: 0 0 18px; margin: 0; font-size: 13px; }
.public-next-step { padding: 30px; border-radius: 11px; background: var(--forest); }
.public-next-step h3 { margin: 9px 0 9px; color: #fff; font-size: clamp(24px, 3vw, 34px); letter-spacing: -1px; }
.public-next-step > p { color: #bed0c5; font-size: 13px; }
.public-next-step .public-label { color: #d7bd78; }
.public-index-page { padding-top: 80px; padding-bottom: 105px; }
.public-section-intro { max-width: 720px; margin-bottom: 33px; }
.public-section-intro h2 { margin: 10px 0 13px; color: var(--forest); font-size: clamp(31px, 4vw, 49px); letter-spacing: -2.2px; line-height: 1.05; }
.public-section-intro h2 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.public-section-intro p { max-width: 680px; margin: 0; color: #647b70; font-size: 14px; line-height: 1.7; }
.editorial-link-list { max-width: 870px; border-top: 1px solid #dce7de; }
.editorial-link { display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; align-items: center; gap: 18px; padding: 22px 3px; border-bottom: 1px solid #dce7de; color: var(--forest); transition: padding .18s var(--ease-out), color .18s var(--ease-out); }
.editorial-link:hover { padding-left: 10px; color: var(--emerald); }
.editorial-link-number, .editorial-article-index { color: var(--gold); font: 20px var(--serif); }
.editorial-link span:nth-child(2) { display: grid; gap: 4px; }
.editorial-link strong { font-size: 16px; }
.editorial-link small { color: #71877c; font-size: 12px; line-height: 1.5; }
.editorial-hub-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 68px; }
.editorial-hub-nav a { padding: 9px 12px; border: 1px solid #d5e3d7; border-radius: 999px; color: #537466; background: #f7fbf7; font-size: 11px; font-weight: 700; }
.editorial-hub-nav a:hover { border-color: #9cbea5; color: var(--forest); background: #fff; }
.editorial-article-list { max-width: 930px; border-top: 1px solid #dce7de; }
.editorial-article { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 19px; padding: 28px 3px; border-bottom: 1px solid #dce7de; }
.editorial-article:hover h2, .editorial-read { color: var(--emerald); }
.editorial-article-copy { display: grid; gap: 8px; }
.editorial-meta { color: #73897d; font-size: 10px; font-weight: 800; letter-spacing: .85px; text-transform: uppercase; }
.editorial-article h2 { margin: 0; color: var(--forest); font-size: 25px; letter-spacing: -1px; line-height: 1.14; }
.editorial-article p { max-width: 680px; margin: 0; color: #6c8278; font-size: 13px; line-height: 1.6; }
.editorial-read { display: inline-flex; align-items: center; gap: 5px; width: fit-content; margin-top: 6px; color: #276e55; font-size: 11px; font-weight: 800; }
.article-published { display: block; color: #70877b; font-size: 11px; font-weight: 700; }
.editorial-article-page { padding-top: 77px; padding-bottom: 105px; }
.editorial-article-column { max-width: 760px; margin-inline: auto; }
.editorial-lead { padding-bottom: 31px; border-bottom: 2px solid #cfded2; color: var(--forest) !important; font-size: 19px !important; line-height: 1.55 !important; }
.public-source-note { margin: 0 0 39px; }
.institutional-page { display: grid; grid-template-columns: 180px minmax(0, 760px); justify-content: space-between; gap: 80px; padding-top: 80px; padding-bottom: 105px; }
.institutional-rail { display: grid; align-content: start; gap: 17px; position: sticky; top: 112px; height: fit-content; color: #688074; font-size: 11px; line-height: 1.45; text-transform: uppercase; letter-spacing: 1px; }
.institutional-rail img { width: 45px; height: 45px; object-fit: contain; padding: 7px; border: 1px solid #d4e1d5; border-radius: 8px; background: #fff; }
.institutional-content > section { display: grid; grid-template-columns: 45px minmax(0, 1fr); column-gap: 20px; padding-bottom: 41px; margin-bottom: 41px; border-bottom: 1px solid #dce7de; }
.institutional-content > section > .public-index { grid-row: span 2; }
.institutional-content > section > h2, .institutional-content > section > p, .institutional-content > section > .institutional-faq { grid-column: 2; }
.institutional-content h2 { font-size: 29px; }
.institutional-content p { font-size: 14px; }
.institutional-faq summary { padding-top: 0; font-size: 17px; }
.institutional-note { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid #d7e4d8; border-radius: 10px; background: #f2f7f2; }
.institutional-note > svg { flex: 0 0 auto; color: var(--gold); }
.institutional-note > div { flex: 1; }
.institutional-note strong { display: block; color: var(--forest); font-size: 13px; }
.institutional-note p { margin: 4px 0 0; font-size: 11px; }
.institutional-note .button-primary { flex: 0 0 auto; min-height: 40px; padding-inline: 13px; font-size: 11px; }
.public-demo-page { display: grid; gap: 22px; padding-top: 65px; padding-bottom: 105px; }
.demo-outline { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #dce7de; border-radius: 11px; background: #fff; overflow: hidden; }
.demo-outline > div { display: grid; gap: 7px; min-height: 150px; padding: 23px; border-right: 1px solid #dce7de; color: #6d8479; }
.demo-outline > div:last-child { border-right: 0; }
.demo-outline svg { color: var(--gold); }
.demo-outline strong { color: var(--forest); font-size: 14px; }
.demo-outline small { font-size: 11px; }
.public-not-found { padding-top: 125px; padding-bottom: 155px; }
.public-not-found h1 { max-width: 680px; margin: 15px 0; color: var(--forest); font-size: clamp(39px, 5vw, 66px); line-height: 1; letter-spacing: -3px; }
.public-not-found h1 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.public-not-found p { color: #61786d; font-size: 16px; }
.public-not-found > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }

