/* Use the supplied Hope Focus mark as the visible brand asset across the site. */
.brand{width:122px;height:44px;display:block;background:url('/hope-focus-logo.png') center/contain no-repeat;flex-shrink:0}.brand .brand-mark,.brand .brand-wordmark{display:none}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-brand::before{content:"";display:block;width:112px;height:39px;border-radius:6px;background:#fff url('/hope-focus-logo.png') center/92% auto no-repeat}.footer-brand>span{display:none}.footer-brand small{margin:0;color:#93b2b1;font-size:11px;letter-spacing:0}.footer-brand .brand-mark{display:none}
@media(max-width:480px){.brand{width:110px;height:40px}.footer-brand::before{width:104px;height:36px}}


/* The market journey is a service explainer, not a live product dashboard. */
.hero-visual.hf-journey{min-height:0;margin:0;padding:30px;border-radius:26px;background:linear-gradient(135deg,#12314b,#105666);color:#fff}
.hf-journey-label{color:#a7e4d3;font:700 11px/1.4 var(--sans);letter-spacing:.12em}
.hf-journey h2{margin:20px 0 22px;font:700 clamp(32px,3.2vw,44px)/1.05 var(--serif);letter-spacing:-.04em;color:#fff}
.hf-journey h2 span{color:#a7e4d3}
.hf-direction{display:flex;gap:4px;padding:4px;border:1px solid #557e86;border-radius:12px}
.hf-direction button{flex:1;padding:11px 7px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#d5e9e5;font-size:13px;font-weight:700;cursor:pointer}
.hf-direction button[aria-pressed="true"]{background:#a7e4d3;color:#12314b}
.hf-crossing{display:flex;gap:10px;align-items:center;margin:26px 0 16px;font:700 11px/1.4 var(--sans);letter-spacing:.06em;color:#d5e9e5}
.hf-crossing-line{flex:1;height:1px;background:#76bbb7;position:relative;min-width:8px}
.hf-crossing-line::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid #a7e4d3;border-right:1px solid #a7e4d3;transform:rotate(45deg)}
.hf-crossing-focus{color:#a7e4d3}
.hf-journey-hint{margin:0 0 18px;color:#c4dcdb;font-size:12px;line-height:1.5}
.hf-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:20px}
.hf-stations button{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;min-height:76px;padding:0 4px 6px;border:0;background:transparent;color:#cfdfdf;font:600 12px/1.4 var(--sans);cursor:pointer}
.hf-stations button::before{content:"";position:absolute;top:17px;left:0;right:0;height:1px;background:#6c979c}
.hf-stations button:first-child::before{left:50%}.hf-stations button:last-child::before{right:50%}
.hf-stations button>span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid #759da2;border-radius:50%;background:#16465a;color:#d5e9e5;font-size:12px}
.hf-stations button[aria-pressed="true"]{color:#fff}
.hf-stations button[aria-pressed="true"]>span{background:#a7e4d3;border-color:#a7e4d3;color:#12314b;box-shadow:0 0 0 5px rgba(167,228,211,.10)}
.hf-decision{padding:22px;background:#f1f8f5;color:#12314b;border-radius:14px;min-height:227px}
.hf-decision-label{color:#22645f;font-size:11px;letter-spacing:.08em;font-weight:700}
.hf-decision h3{margin:11px 0 10px;font:700 23px/1.2 var(--serif);letter-spacing:-.03em}
.hf-decision p{margin:0;font-size:14px;line-height:1.6;color:#42606a}
.hf-deliverable{display:flex;flex-direction:column;gap:5px;margin-top:17px;padding-top:14px;border-top:1px solid #c8dcd5}
.hf-deliverable>span{font-size:10px;letter-spacing:.1em;color:#4b6a6f;font-weight:700}
.hf-deliverable strong{font-size:13px;line-height:1.5;color:#12314b}
.hf-journey-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;font-size:12px;color:#c5ddda}
.hf-journey-footer a{color:#a7e4d3;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.hf-journey button:focus-visible,.hf-journey a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hf-journey button:disabled{cursor:default}
@media(max-width:1050px) and (min-width:781px){.hero:has(.hf-journey){grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.hero-visual.hf-journey{padding:24px}}
@media(max-width:480px){.hero-visual.hf-journey{padding:22px 17px;border-radius:22px}.hf-journey h2{font-size:35px}.hf-crossing{gap:7px;font-size:10px}.hf-decision{padding:18px;min-height:255px}.hf-decision h3{font-size:22px}.hf-stations button{font-size:11px}.hf-direction button{font-size:12px}}
