.hasm-reference .hope-home-hero{--hope-blue: #169bd5; --hope-blue-dark: #0877b6; --hope-blue-deep: #075e92; --hope-blue-soft: #eaf7fd; --hope-blue-soft-2: #f5fbfe; --hope-navy: #13213b; --hope-text: #2d4352; --hope-muted: #6f8491; --hope-border: #dcebf2; --hope-white: #ffffff; position: relative; width: 100%; overflow: hidden; padding: 88px 0 92px; font-family: Inter, Arial, sans-serif; background: radial-gradient( circle at 82% 32%, rgba(22, 155, 213, 0.12), transparent 32% ), linear-gradient( 135deg, #ffffff 0%, #fbfeff 48%, #f3fbff 100% );}
.hasm-reference .hope-home-hero *,.hasm-reference .hope-home-hero *::before,.hasm-reference .hope-home-hero *::after{box-sizing: border-box;}
.hasm-reference .hope-home-hero::before{content: ""; position: absolute; width: 450px; height: 450px; right: -180px; top: -120px; border-radius: 50%; background: rgba(22, 155, 213, 0.05); pointer-events: none;}
.hasm-reference .hope-home-hero::after{content: ""; position: absolute; width: 280px; height: 280px; left: -150px; bottom: -170px; border-radius: 50%; background: rgba(22, 155, 213, 0.035); pointer-events: none;}
.hasm-reference .hope-home-container{position: relative; z-index: 2; width: min(1200px, calc(100% - 48px)); margin: 0 auto;}
.hasm-reference .hope-home-grid{display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr); align-items: center; gap: 82px;}
.hasm-reference .hope-home-left{min-width: 0;}
.hasm-reference .hope-org-label{display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; padding: 9px 14px; border-radius: 999px; background: var(--hope-blue-soft); color: var(--hope-blue-dark); font-size: 10px; line-height: 1; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase;}
.hasm-reference .hope-org-dot{width: 7px; height: 7px; border-radius: 50%; background: var(--hope-blue);}
.hasm-reference .hope-home-title{max-width: 700px; margin: 0; color: var(--hope-navy); font-size: clamp(50px, 5vw, 72px); line-height: 1.02; letter-spacing: -3.8px; font-weight: 800;}
.hasm-reference .hope-home-title-highlight{color: var(--hope-blue);}
.hasm-reference .hope-home-description{max-width: 650px; margin: 27px 0 0; color: var(--hope-muted); font-size: 17px; line-height: 1.8; font-weight: 400;}
.hasm-reference .hope-home-actions{display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 32px;}
.hasm-reference .hope-primary-button{display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 24px; border-radius: 11px; background: var(--hope-blue); color: #ffffff !important; text-decoration: none; font-size: 13px; font-weight: 700; box-shadow: 0 10px 24px rgba(22, 155, 213, 0.18); transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;}
.hasm-reference .hope-primary-button:hover{background: var(--hope-blue-dark); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(22, 155, 213, 0.23);}
.hasm-reference .hope-primary-arrow{font-size: 15px; transition: transform 0.2s ease;}
.hasm-reference .hope-primary-button:hover .hope-primary-arrow{transform: translateX(3px);}
.hasm-reference .hope-secondary-button{display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border: 1px solid var(--hope-border); border-radius: 11px; background: rgba(255, 255, 255, 0.88); color: var(--hope-text) !important; text-decoration: none; font-size: 13px; font-weight: 700; transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;}
.hasm-reference .hope-secondary-button:hover{border-color: rgba(22, 155, 213, 0.55); background: var(--hope-blue-soft); color: var(--hope-blue-dark) !important; transform: translateY(-1px);}
.hasm-reference .hope-home-points{display: flex; align-items: center; flex-wrap: wrap; gap: 13px 24px; margin-top: 29px;}
.hasm-reference .hope-home-point{display: flex; align-items: center; gap: 8px; color: #667e8c; font-size: 11px; font-weight: 600;}
.hasm-reference .hope-point-icon{display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; border-radius: 50%; background: var(--hope-blue-soft); color: var(--hope-blue); font-size: 10px; font-weight: 800;}
.hasm-reference .hope-ai-intro-wrapper{position: relative; width: 100%; min-width: 0;}
.hasm-reference .hope-ai-intro-glow{position: absolute; z-index: 0; width: 82%; height: 80%; top: 10%; left: 9%; border-radius: 50%; background: rgba(22, 155, 213, 0.14); filter: blur(75px); pointer-events: none;}
.hasm-reference .hope-ai-intro-card{position: relative; z-index: 2; padding: 30px; border: 1px solid var(--hope-border); border-radius: 24px; background: rgba(255, 255, 255, 0.97); box-shadow: 0 30px 75px rgba(18, 86, 122, 0.12), 0 4px 14px rgba(30, 70, 90, 0.03);}
.hasm-reference .hope-ai-top{display: flex; align-items: center; gap: 11px; padding-bottom: 21px; border-bottom: 1px solid #edf4f7;}
.hasm-reference .hope-ai-logo{display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 11px; background: var(--hope-blue); color: #ffffff; font-size: 18px; font-weight: 800; box-shadow: 0 8px 18px rgba(22, 155, 213, 0.18);}
.hasm-reference .hope-ai-brand strong{display: block; color: var(--hope-text); font-size: 14px; line-height: 1.2; font-weight: 800;}
.hasm-reference .hope-ai-brand span{display: block; margin-top: 4px; color: #8b9ca6; font-size: 10px;}
.hasm-reference .hope-ai-content{padding-top: 25px;}
.hasm-reference .hope-ai-small-label{display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; color: var(--hope-blue-dark); font-size: 9px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase;}
.hasm-reference .hope-ai-small-label-icon{color: var(--hope-blue); font-size: 10px;}
.hasm-reference .hope-ai-heading{margin: 0; color: var(--hope-navy); font-size: clamp(27px, 2.5vw, 36px); line-height: 1.15; letter-spacing: -1.3px; font-weight: 800;}
.hasm-reference .hope-ai-description{margin: 15px 0 0; color: var(--hope-muted); font-size: 13px; line-height: 1.7;}
.hasm-reference .hope-ai-preview{margin-top: 19px; padding: 14px 15px; border: 1px solid var(--hope-border); border-radius: 12px; background: #ffffff;}
.hasm-reference .hope-ai-preview-label{display: flex; align-items: center; gap: 6px; color: #899aa4; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;}
.hasm-reference .hope-ai-preview-label-icon{color: var(--hope-blue); font-size: 11px;}
.hasm-reference .hope-ai-preview-text{margin-top: 8px; color: #526b79; font-size: 10px; line-height: 1.55; font-style: italic;}
.hasm-reference .hope-ai-categories{display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 19px;}
.hasm-reference .hope-ai-category{min-width: 0; padding: 13px 10px; border: 1px solid var(--hope-border); border-radius: 12px; background: var(--hope-blue-soft-2); text-align: center; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;}
.hasm-reference .hope-ai-category:hover{background: var(--hope-blue-soft); border-color: rgba(22, 155, 213, 0.35); transform: translateY(-2px);}
.hasm-reference .hope-category-icon{display: flex; align-items: center; justify-content: center; width: 31px; height: 31px; margin: 0 auto 8px; border-radius: 9px; background: var(--hope-blue-soft); color: var(--hope-blue); font-size: 14px; font-weight: 800;}
.hasm-reference .hope-ai-category strong{display: block; color: var(--hope-text); font-size: 10px; line-height: 1.3; font-weight: 700;}
.hasm-reference .hope-ai-category span{display: block; margin-top: 3px; color: #8a9aa4; font-size: 8px; line-height: 1.3;}
.hasm-reference .hope-ai-login-area{margin-top: 24px; padding-top: 22px; border-top: 1px solid #edf4f7;}
.hasm-reference .hope-ai-login-button{display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 53px; padding: 0 18px; border-radius: 12px; background: var(--hope-blue); color: #ffffff !important; text-decoration: none; font-size: 12px; font-weight: 700; box-shadow: 0 10px 22px rgba(22, 155, 213, 0.16); transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;}
.hasm-reference .hope-ai-login-button:hover{background: var(--hope-blue-dark); transform: translateY(-1px); box-shadow: 0 13px 28px rgba(22, 155, 213, 0.22);}
.hasm-reference .hope-login-arrow{font-size: 16px; transition: transform 0.2s ease;}
.hasm-reference .hope-ai-login-button:hover .hope-login-arrow{transform: translateX(3px);}
.hasm-reference .hope-member-note{display: flex; align-items: flex-start; gap: 7px; margin-top: 11px; color: #8798a2; font-size: 9px; line-height: 1.5;}
.hasm-reference .hope-member-dot{width: 6px; height: 6px; flex: 0 0 6px; margin-top: 4px; border-radius: 50%; background: #51ad8a;}
@media (max-width: 1050px){.hasm-reference .hope-home-hero{padding: 72px 0 76px;}
.hasm-reference .hope-home-grid{grid-template-columns: 1fr; gap: 58px;}
.hasm-reference .hope-home-left{max-width: 760px;}
.hasm-reference .hope-ai-intro-wrapper{width: min(620px, 100%); margin: 0 auto;}
}
@media (max-width: 700px){.hasm-reference .hope-home-hero{padding: 56px 0 60px;}
.hasm-reference .hope-home-container{width: min(100% - 28px, 1200px);}
.hasm-reference .hope-home-grid{gap: 45px;}
.hasm-reference .hope-org-label{margin-bottom: 20px; font-size: 9px; letter-spacing: 1.2px;}
.hasm-reference .hope-home-title{font-size: 44px; line-height: 1.03; letter-spacing: -2.7px;}
.hasm-reference .hope-home-description{margin-top: 22px; font-size: 15px; line-height: 1.7;}
.hasm-reference .hope-home-actions{margin-top: 27px;}
.hasm-reference .hope-primary-button,.hasm-reference .hope-secondary-button{min-height: 46px; padding: 0 18px; font-size: 12px;}
.hasm-reference .hope-home-points{gap: 11px 16px; margin-top: 24px;}
.hasm-reference .hope-home-point{font-size: 10px;}
.hasm-reference .hope-ai-intro-card{padding: 22px; border-radius: 19px;}
.hasm-reference .hope-ai-categories{grid-template-columns: 1fr;}
.hasm-reference .hope-ai-category{display: grid; grid-template-columns: 34px 1fr; align-items: center; column-gap: 10px; text-align: left; padding: 11px 12px;}
.hasm-reference .hope-category-icon{grid-row: 1 / span 2; margin: 0;}
.hasm-reference .hope-ai-category strong,.hasm-reference .hope-ai-category span{text-align: left;}
}
@media (max-width: 430px){.hasm-reference .hope-home-title{font-size: 38px; letter-spacing: -2.2px;}
.hasm-reference .hope-home-actions{flex-direction: column; align-items: stretch;}
.hasm-reference .hope-primary-button,.hasm-reference .hope-secondary-button{width: 100%;}
.hasm-reference .hope-ai-heading{font-size: 28px;}
}

.hasm-reference .hope-causes-section{--hope-blue: #169bd5; --hope-blue-dark: #0877b6; --hope-blue-deep: #075e92; --hope-navy: #11243d; --hope-text: #243947; --hope-muted: #647d8c; --hope-white: #ffffff; --hope-soft-blue: #e6f6fd; --hope-border: rgba(255,255,255,0.62); position: relative; width: 100%; overflow: hidden; padding: 96px 0 100px; font-family: Inter, Arial, sans-serif; background: radial-gradient( circle at 5% 8%, rgba(255,255,255,0.42) 0%, rgba(255,255,255,0.08) 22%, transparent 40% ), radial-gradient( circle at 96% 88%, rgba(6,119,182,0.23) 0%, rgba(6,119,182,0.08) 27%, transparent 48% ), radial-gradient( circle at 82% 10%, rgba(255,255,255,0.20) 0%, transparent 29% ), linear-gradient( 135deg, #d9f3fd 0%, #bfe9f9 32%, #c9edf9 63%, #a9ddf2 100% );}
.hasm-reference .hope-causes-section *,.hasm-reference .hope-causes-section *::before,.hasm-reference .hope-causes-section *::after{box-sizing: border-box;}
.hasm-reference .hope-causes-section::before{content: ""; position: absolute; width: 470px; height: 470px; top: -260px; right: -120px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.24); box-shadow: 0 0 0 55px rgba(255,255,255,0.035), 0 0 0 110px rgba(255,255,255,0.025); pointer-events: none;}
.hasm-reference .hope-causes-section::after{content: ""; position: absolute; width: 360px; height: 360px; left: -190px; bottom: -180px; border-radius: 50%; background: radial-gradient( circle, rgba(7,94,146,0.12), transparent 68% ); pointer-events: none;}
.hasm-reference .hope-causes-container{position: relative; z-index: 2; width: min(1200px, calc(100% - 48px)); margin: 0 auto;}
.hasm-reference .hope-causes-intro{display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: end; gap: 70px; margin-bottom: 46px;}
.hasm-reference .hope-causes-label{display: inline-flex; align-items: center; gap: 9px; margin-bottom: 17px; color: var(--hope-blue-deep); font-size: 12px; line-height: 1; font-weight: 800; letter-spacing: 1.45px; text-transform: uppercase;}
.hasm-reference .hope-causes-label-line{width: 29px; height: 3px; border-radius: 50px; background: var(--hope-blue-dark);}
.hasm-reference .hope-causes-title{max-width: 600px; margin: 0; color: var(--hope-navy); font-size: clamp(41px, 4vw, 56px); line-height: 1.06; letter-spacing: -2.8px; font-weight: 800;}
.hasm-reference .hope-causes-title span{color: var(--hope-blue-dark);}
.hasm-reference .hope-causes-description{max-width: 585px; margin: 0 0 4px auto; color: #466b7c; font-size: 16px; line-height: 1.8; font-weight: 400; text-decoration: none !important;}
.hasm-reference .hope-causes-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px;}
.hasm-reference .hope-cause-card{position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 355px; padding: 27px; overflow: hidden; border: 1px solid rgba(255,255,255,0.80); border-radius: 21px; background: linear-gradient( 145deg, rgba(255,255,255,0.96), rgba(248,253,255,0.87) ); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 17px 42px rgba(20,92,127,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;}
.hasm-reference .hope-cause-card::before{content: ""; position: absolute; width: 180px; height: 180px; right: -75px; top: -85px; border-radius: 50%; background: radial-gradient( circle, var(--cause-glow, rgba(22,155,213,0.13)), transparent 68% ); pointer-events: none; transition: transform 0.3s ease;}
.hasm-reference .hope-cause-card::after{content: ""; position: absolute; width: 150px; height: 150px; left: -80px; bottom: -105px; border-radius: 50%; background: rgba(22,155,213,0.035); pointer-events: none;}
.hasm-reference .hope-cause-card:hover{transform: translateY(-6px); border-color: rgba(255,255,255,0.95); box-shadow: 0 26px 55px rgba(15,82,116,0.14);}
.hasm-reference .hope-cause-card:hover::before{transform: scale(1.18);}
.hasm-reference .hope-cause-icon{position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 15px; background: var(--cause-icon-bg, #e8f7fd); color: var(--cause-icon-color, #159bd7); font-size: 21px; font-weight: 800; box-shadow: inset 0 0 0 1px rgba(22,155,213,0.07);}
.hasm-reference .hope-cause-category{position: relative; z-index: 2; display: inline-flex; align-items: center; align-self: flex-start; gap: 5px; margin-top: 24px; color: var(--cause-accent, var(--hope-blue-dark)); font-size: 11px; line-height: 1; font-weight: 800; letter-spacing: 1.05px; text-transform: uppercase;}
.hasm-reference .hope-cause-title{position: relative; z-index: 2; margin: 10px 0 0; color: var(--hope-navy); font-size: 22px; line-height: 1.22; letter-spacing: -0.6px; font-weight: 800; text-decoration: none !important;}
.hasm-reference .hope-cause-description{position: relative; z-index: 2; margin: 11px 0 0; color: var(--hope-muted); font-size: 14px; line-height: 1.7; font-weight: 400; text-decoration: none !important;}
.hasm-reference .hope-cause-impact{position: relative; z-index: 2; display: flex; align-items: flex-start; gap: 8px; margin-top: 17px; padding-top: 15px; border-top: 1px solid rgba(20,74,102,0.08);}
.hasm-reference .hope-cause-impact-dot{display: block; width: 7px; height: 7px; flex: 0 0 7px; margin-top: 6px; border-radius: 50%; background: var(--cause-accent, var(--hope-blue));}
.hasm-reference .hope-cause-impact span{color: #718996; font-size: 12px; line-height: 1.55; text-decoration: none !important;}
.hasm-reference .hope-cause-bottom{position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 22px;}
.hasm-reference .hope-cause-link{display: inline-flex; align-items: center; gap: 7px; color: var(--cause-accent, var(--hope-blue-dark)) !important; font-size: 15px; line-height: 1.4; font-weight: 700; text-decoration: none !important; transition: gap 0.2s ease, color 0.2s ease;}
.hasm-reference .hope-cause-link:hover{gap: 10px; color: var(--hope-blue-deep) !important; text-decoration: none !important;}
.hasm-reference .hope-cause-arrow{display: flex; align-items: center; justify-content: center; width: 39px; height: 39px; flex: 0 0 39px; border-radius: 50%; background: var(--cause-icon-bg, #e8f7fd); color: var(--cause-accent, var(--hope-blue)); font-size: 17px; text-decoration: none !important; transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;}
.hasm-reference .hope-cause-arrow:hover{transform: translateX(3px); background: var(--cause-accent, var(--hope-blue)); color: #ffffff; text-decoration: none !important;}
.hasm-reference .hope-cause-homeless{--cause-accent: #0877b6; --cause-icon-bg: #e4f5fc; --cause-icon-color: #0877b6; --cause-glow: rgba(22,155,213,0.16);}
.hasm-reference .hope-cause-meals{--cause-accent: #b67a10; --cause-icon-bg: #fff4d4; --cause-icon-color: #b67a10; --cause-glow: rgba(241,184,54,0.17);}
.hasm-reference .hope-cause-winter{--cause-accent: #406f99; --cause-icon-bg: #eaf2fa; --cause-icon-color: #406f99; --cause-glow: rgba(87,139,183,0.15);}
.hasm-reference .hope-cause-ancestry{--cause-accent: #a35d43; --cause-icon-bg: #f8e9e2; --cause-icon-color: #a35d43; --cause-glow: rgba(179,100,69,0.17);}
.hasm-reference .hope-cause-education{--cause-accent: #7755a5; --cause-icon-bg: #f1eafb; --cause-icon-color: #7755a5; --cause-glow: rgba(118,82,165,0.14);}
.hasm-reference .hope-cause-health{--cause-accent: #32886b; --cause-icon-bg: #e6f5ef; --cause-icon-color: #32886b; --cause-glow: rgba(50,136,107,0.15);}
.hasm-reference .hope-causes-footer{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-top: 34px; padding: 20px 24px; border: 1px solid rgba(255,255,255,0.62); border-radius: 16px; background: rgba(255,255,255,0.34); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}
.hasm-reference .hope-causes-footer-icon{display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,0.72); color: var(--hope-blue-dark); font-size: 17px;}
.hasm-reference .hope-causes-footer-text strong{display: block; color: var(--hope-navy); font-size: 15px; font-weight: 800;}
.hasm-reference .hope-causes-footer-text span{display: block; margin-top: 3px; color: #527283; font-size: 13px; line-height: 1.5;}
.hasm-reference .hope-causes-footer-link{color: var(--hope-blue-deep) !important; font-size: 14px; font-weight: 800; text-decoration: none !important; white-space: nowrap;}
.hasm-reference .hope-causes-footer-link:hover{text-decoration: none !important; color: #064c75 !important;}
.hasm-reference .hope-causes-section p,.hasm-reference .hope-causes-section h2,.hasm-reference .hope-causes-section h3,.hasm-reference .hope-causes-section span,.hasm-reference .hope-causes-section strong{text-decoration: none !important;}
@media (max-width: 1000px){.hasm-reference .hope-causes-section{padding: 78px 0 82px;}
.hasm-reference .hope-causes-intro{grid-template-columns: 1fr; gap: 20px; margin-bottom: 38px;}
.hasm-reference .hope-causes-description{max-width: 680px; margin-left: 0;}
.hasm-reference .hope-causes-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 700px){.hasm-reference .hope-causes-section{padding: 62px 0 66px;}
.hasm-reference .hope-causes-container{width: min(100% - 28px, 1200px);}
.hasm-reference .hope-causes-title{font-size: 38px; letter-spacing: -2px;}
.hasm-reference .hope-causes-description{font-size: 15px; line-height: 1.7;}
.hasm-reference .hope-causes-grid{grid-template-columns: 1fr; gap: 14px;}
.hasm-reference .hope-cause-card{min-height: 330px; padding: 24px; border-radius: 18px;}
.hasm-reference .hope-cause-title{font-size: 21px;}
.hasm-reference .hope-cause-description{font-size: 14px;}
.hasm-reference .hope-cause-link{font-size: 14px;}
.hasm-reference .hope-causes-footer{grid-template-columns: auto 1fr; gap: 13px;}
.hasm-reference .hope-causes-footer-link{grid-column: 2;}
}
@media (max-width: 430px){.hasm-reference .hope-causes-title{font-size: 34px;}
.hasm-reference .hope-cause-card{min-height: 320px;}
}

.hasm-reference .hope-impact-section{--hope-blue: #169bd5; --hope-blue-dark: #0877b6; --hope-navy: #132744; --hope-navy-deep: #10213b; --hope-navy-soft: #1a3151; --hope-yellow: #ffc62a; --hope-yellow-dark: #eeb400; --hope-yellow-soft: #fff5cf; --hope-white: #ffffff; --hope-text: #23384a; --hope-muted: #6f8491; position: relative; width: 100%; overflow: hidden; padding: 88px 0 28px; font-family: Inter, Arial, sans-serif; background: radial-gradient( circle at 92% 10%, rgba(22, 155, 213, 0.08), transparent 28% ), linear-gradient( 125deg, #132744 0%, #142946 55%, #10213b 100% );}
.hasm-reference .hope-impact-section *,.hasm-reference .hope-impact-section *::before,.hasm-reference .hope-impact-section *::after{box-sizing: border-box;}
.hasm-reference .hope-impact-section::before{content: ""; position: absolute; width: 430px; height: 430px; right: -210px; top: -210px; border-radius: 50%; background: radial-gradient( circle, rgba(255, 198, 42, 0.08), transparent 68% ); pointer-events: none;}
.hasm-reference .hope-impact-section::after{content: ""; position: absolute; width: 300px; height: 300px; left: -180px; bottom: -180px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.04); pointer-events: none;}
.hasm-reference .hope-impact-container{position: relative; z-index: 2; width: min(1200px, calc(100% - 48px)); margin: 0 auto;}
.hasm-reference .hope-impact-intro{display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr); align-items: end; gap: 70px; margin-bottom: 45px;}
.hasm-reference .hope-impact-eyebrow{display: inline-flex; align-items: center; gap: 9px; margin-bottom: 17px; color: var(--hope-yellow); font-size: 12px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase;}
.hasm-reference .hope-impact-eyebrow-line{display: inline-block; width: 28px; height: 3px; border-radius: 30px; background: var(--hope-yellow);}
.hasm-reference .hope-impact-title{max-width: 690px; margin: 0; color: #ffffff; font-size: clamp(42px, 4.5vw, 60px); line-height: 1.07; letter-spacing: -3px; font-weight: 800;}
.hasm-reference .hope-impact-title-light{color: #ffffff;}
.hasm-reference .hope-impact-title-highlight{color: var(--hope-yellow);}
.hasm-reference .hope-impact-intro-copy{max-width: 470px; margin: 0 0 5px; color: rgba(255,255,255,0.73); font-size: 16px; line-height: 1.75; text-decoration: none !important;}
.hasm-reference .hope-impact-main{display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(400px, 0.97fr); gap: 22px; align-items: stretch;}
.hasm-reference .hope-impact-image-card{position: relative; min-height: 570px; overflow: hidden; border-radius: 25px; background: #26394c; box-shadow: 0 25px 60px rgba(0,0,0,0.16);}
.hasm-reference .hope-impact-image-card img{position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.hasm-reference .hope-impact-image-overlay{position: absolute; inset: 0; z-index: 1; background: linear-gradient( 180deg, rgba(10,25,39,0.02) 5%, rgba(10,25,39,0.08) 40%, rgba(10,25,39,0.42) 65%, rgba(8,23,37,0.94) 100% );}
.hasm-reference .hope-impact-image-badge{position: absolute; z-index: 3; top: 25px; left: 25px; display: inline-flex; align-items: center; gap: 6px; min-height: 37px; padding: 0 14px; border-radius: 999px; background: var(--hope-yellow); color: var(--hope-navy-deep); font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px rgba(0,0,0,0.12);}
.hasm-reference .hope-impact-story{position: absolute; z-index: 3; left: 30px; right: 30px; bottom: 30px;}
.hasm-reference .hope-impact-story-label{margin-bottom: 10px; color: var(--hope-yellow); font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase;}
.hasm-reference .hope-impact-story h3{max-width: 550px; margin: 0; color: #ffffff; font-size: clamp(28px, 3vw, 38px); line-height: 1.13; letter-spacing: -1.5px; font-weight: 800;}
.hasm-reference .hope-impact-story p{max-width: 540px; margin: 15px 0 0; color: rgba(255,255,255,0.82); font-size: 15px; line-height: 1.7; text-decoration: none !important;}
.hasm-reference .hope-impact-panel{display: flex; flex-direction: column; min-height: 570px; padding: 38px; border-radius: 25px; background: radial-gradient( circle at 100% 100%, rgba(255,198,42,0.10), transparent 36% ), linear-gradient( 145deg, #ffffff 0%, #fffdf8 55%, #fff9e7 100% ); box-shadow: 0 25px 60px rgba(0,0,0,0.13);}
.hasm-reference .hope-impact-panel-label{display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; min-height: 34px; padding: 0 13px; border-radius: 999px; background: var(--hope-yellow-soft); color: #9a7100; font-size: 12px; font-weight: 800;}
.hasm-reference .hope-impact-panel h3{max-width: 500px; margin: 25px 0 0; color: var(--hope-navy-deep); font-size: clamp(30px, 3vw, 41px); line-height: 1.12; letter-spacing: -1.7px; font-weight: 800;}
.hasm-reference .hope-impact-panel-copy{max-width: 490px; margin: 16px 0 0; color: var(--hope-muted); font-size: 15px; line-height: 1.75; text-decoration: none !important;}
.hasm-reference .hope-impact-areas{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 31px;}
.hasm-reference .hope-impact-area{position: relative; min-height: 125px; padding: 17px; border: 1px solid #e4ebee; border-radius: 14px; background: rgba(255,255,255,0.80);}
.hasm-reference .hope-impact-area-icon{display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 13px; border-radius: 9px; background: #eaf7fd; color: var(--hope-blue); font-size: 16px; font-weight: 800;}
.hasm-reference .hope-impact-area strong{display: block; color: var(--hope-navy-deep); font-size: 14px; line-height: 1.3; font-weight: 800;}
.hasm-reference .hope-impact-area span{display: block; margin-top: 5px; color: var(--hope-muted); font-size: 12px; line-height: 1.45;}
.hasm-reference .hope-impact-area:nth-child(2)
.hope-impact-area-icon{background: var(--hope-yellow-soft); color: #aa7d00;}
.hasm-reference .hope-impact-area:nth-child(3)
.hope-impact-area-icon{background: #edf9f4; color: #348f6d;}
.hasm-reference .hope-impact-message{display: flex; align-items: flex-start; gap: 12px; margin-top: 23px; padding: 16px; border-radius: 13px; background: linear-gradient( 135deg, #f2f9fd, #f8fcfe );}
.hasm-reference .hope-impact-message-icon{display: flex; align-items: center; justify-content: center; width: 33px; height: 33px; flex: 0 0 33px; border-radius: 9px; background: #e5f6fd; color: var(--hope-blue); font-size: 15px; font-weight: 800;}
.hasm-reference .hope-impact-message p{margin: 1px 0 0; color: #607783; font-size: 13px; line-height: 1.6; text-decoration: none !important;}
.hasm-reference .hope-impact-actions{display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: auto; padding-top: 28px;}
.hasm-reference .hope-impact-primary{display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 49px; padding: 0 21px; border-radius: 11px; background: var(--hope-yellow); color: var(--hope-navy-deep) !important; text-decoration: none !important; font-size: 15px; font-weight: 800; transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;}
.hasm-reference .hope-impact-primary:hover{background: var(--hope-yellow-dark); transform: translateY(-2px); text-decoration: none !important; box-shadow: 0 10px 22px rgba(221,166,0,0.18);}
.hasm-reference .hope-impact-secondary{display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 0 20px; border: 1px solid #dce5e9; border-radius: 11px; background: #ffffff; color: var(--hope-navy-deep) !important; text-decoration: none !important; font-size: 15px; font-weight: 700; transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;}
.hasm-reference .hope-impact-secondary:hover{border-color: var(--hope-blue); background: #f5fbfe; color: var(--hope-blue-dark) !important; transform: translateY(-1px); text-decoration: none !important;}
.hasm-reference .hope-impact-strip{display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 1px; margin-top: 22px; overflow: hidden; border-radius: 18px; background: rgba(255,255,255,0.12);}
.hasm-reference .hope-impact-strip-intro,.hasm-reference .hope-impact-strip-item{min-height: 118px; padding: 22px; background: linear-gradient( 135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.055) );}
.hasm-reference .hope-impact-strip-intro,.hasm-reference .hope-impact-strip-item{display: flex; flex-direction: column; justify-content: center;}
.hasm-reference .hope-impact-strip-intro span{color: var(--hope-yellow); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase;}
.hasm-reference .hope-impact-strip-intro strong{display: block; margin-top: 7px; color: #ffffff; font-size: 17px; line-height: 1.4;}
.hasm-reference .hope-impact-strip-icon{color: var(--hope-yellow); font-size: 17px;}
.hasm-reference .hope-impact-strip-item strong{display: block; margin-top: 8px; color: #ffffff; font-size: 15px; font-weight: 700;}
.hasm-reference .hope-impact-strip-item span{display: block; margin-top: 5px; color: rgba(255,255,255,0.59); font-size: 12px; line-height: 1.45;}
.hasm-reference .hope-impact-section p,.hasm-reference .hope-impact-section h2,.hasm-reference .hope-impact-section h3,.hasm-reference .hope-impact-section span,.hasm-reference .hope-impact-section strong{text-decoration: none !important;}
@media (max-width: 950px){.hasm-reference .hope-impact-section{padding: 76px 0 26px;}
.hasm-reference .hope-impact-intro{grid-template-columns: 1fr; gap: 20px;}
.hasm-reference .hope-impact-intro-copy{max-width: 680px;}
.hasm-reference .hope-impact-main{grid-template-columns: 1fr;}
.hasm-reference .hope-impact-image-card{min-height: 550px;}
.hasm-reference .hope-impact-panel{min-height: auto;}
.hasm-reference .hope-impact-strip{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 700px){.hasm-reference .hope-impact-section{padding: 62px 0 20px;}
.hasm-reference .hope-impact-container{width: min(100% - 28px, 1200px);}
.hasm-reference .hope-impact-intro{margin-bottom: 34px;}
.hasm-reference .hope-impact-title{font-size: 39px; letter-spacing: -2px;}
.hasm-reference .hope-impact-intro-copy{font-size: 15px;}
.hasm-reference .hope-impact-image-card{min-height: 480px; border-radius: 20px;}
.hasm-reference .hope-impact-image-badge{top: 19px; left: 19px;}
.hasm-reference .hope-impact-story{left: 22px; right: 22px; bottom: 23px;}
.hasm-reference .hope-impact-story h3{font-size: 28px;}
.hasm-reference .hope-impact-story p{font-size: 14px;}
.hasm-reference .hope-impact-panel{padding: 25px; border-radius: 20px;}
.hasm-reference .hope-impact-panel h3{font-size: 31px;}
.hasm-reference .hope-impact-areas{grid-template-columns: 1fr;}
.hasm-reference .hope-impact-area{min-height: auto;}
.hasm-reference .hope-impact-actions{flex-direction: column; align-items: stretch;}
.hasm-reference .hope-impact-primary,.hasm-reference .hope-impact-secondary{width: 100%;}
.hasm-reference .hope-impact-strip{grid-template-columns: 1fr;}
.hasm-reference .hope-impact-strip-intro,.hasm-reference .hope-impact-strip-item{min-height: 100px;}
}
@media (max-width: 430px){.hasm-reference .hope-impact-title{font-size: 35px;}
.hasm-reference .hope-impact-image-card{min-height: 450px;}
}

.hasm-reference .hope-roots-section{--roots-navy: #122641; --roots-blue: #159bd7; --roots-blue-dark: #087bb7; --roots-gold: #d8a52f; --roots-gold-soft: #f5e7bd; --roots-earth: #b96542; --roots-earth-soft: #f4dfd4; --roots-cream: #f8f4ea; --roots-cream-light: #fffdf8; --roots-text: #263b48; --roots-muted: #6f7f82; position: relative; width: 100%; overflow: hidden; padding: 100px 0; font-family: Inter, Arial, sans-serif; background: radial-gradient( circle at 5% 10%, rgba(216,165,47,0.12), transparent 28% ), radial-gradient( circle at 95% 85%, rgba(185,101,66,0.08), transparent 30% ), linear-gradient( 135deg, #fffdf8 0%, #f8f4ea 52%, #fbf8f0 100% );}
.hasm-reference .hope-roots-section *,.hasm-reference .hope-roots-section *::before,.hasm-reference .hope-roots-section *::after{box-sizing: border-box;}
.hasm-reference .hope-roots-section::before{content: ""; position: absolute; width: 430px; height: 430px; right: -180px; top: -180px; border-radius: 50%; border: 1px solid rgba(216,165,47,0.12); box-shadow: 0 0 0 55px rgba(216,165,47,0.025), 0 0 0 110px rgba(216,165,47,0.018); pointer-events: none;}
.hasm-reference .hope-roots-section::after{content: ""; position: absolute; width: 240px; height: 240px; left: -120px; bottom: -110px; border-radius: 50%; background: radial-gradient( circle, rgba(21,155,215,0.07), transparent 70% ); pointer-events: none;}
.hasm-reference .hope-roots-container{position: relative; z-index: 2; width: min(1200px, calc(100% - 48px)); margin: 0 auto;}
.hasm-reference .hope-roots-topline{display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 34px;}
.hasm-reference .hope-roots-eyebrow{display: inline-flex; align-items: center; gap: 10px; color: #9a7020; font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase;}
.hasm-reference .hope-roots-eyebrow-icon{display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--roots-gold-soft); color: #9b711e; font-size: 13px;}
.hasm-reference .hope-roots-top-message{display: flex; align-items: center; gap: 8px; color: var(--roots-muted); font-size: 13px; font-weight: 600;}
.hasm-reference .hope-roots-top-dot{width: 7px; height: 7px; border-radius: 50%; background: var(--roots-earth);}
.hasm-reference .hope-roots-main{display: grid; grid-template-columns: minmax(400px, 0.92fr) minmax(0, 1.08fr); gap: 55px; align-items: center;}
.hasm-reference .hope-roots-visual{position: relative; min-height: 650px;}
.hasm-reference .hope-roots-image{position: absolute; left: 0; top: 0; width: calc(100% - 55px); height: 590px; overflow: hidden; border-radius: 190px 190px 24px 24px; background: #d8c9ac; box-shadow: 0 30px 70px rgba(63,48,29,0.14);}
.hasm-reference .hope-roots-image img{display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.6s ease;}
.hasm-reference .hope-roots-image:hover img{transform: scale(1.025);}
.hasm-reference .hope-roots-image::after{content: ""; position: absolute; inset: 0; background: linear-gradient( 180deg, transparent 40%, rgba(17,32,42,0.08) 65%, rgba(17,32,42,0.38) 100% ); pointer-events: none;}
.hasm-reference .hope-roots-heritage-card{position: absolute; z-index: 5; right: 0; bottom: 18px; width: 260px; padding: 22px; border: 1px solid rgba(216,165,47,0.24); border-radius: 18px; background: rgba(255,253,248,0.97); box-shadow: 0 22px 50px rgba(51,42,27,0.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);}
.hasm-reference .hope-roots-heritage-icon{display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: linear-gradient( 135deg, var(--roots-gold-soft), #fff8e6 ); color: #9a701d; font-size: 18px;}
.hasm-reference .hope-roots-heritage-card strong{display: block; margin-top: 14px; color: var(--roots-navy); font-size: 16px; line-height: 1.35; font-weight: 800;}
.hasm-reference .hope-roots-heritage-card p{margin: 7px 0 0; color: var(--roots-muted); font-size: 12px; line-height: 1.6; text-decoration: none !important;}
.hasm-reference .hope-roots-image-label{position: absolute; z-index: 4; left: 24px; bottom: 85px; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 13px; border-radius: 999px; background: rgba(18,38,65,0.88); color: #ffffff; font-size: 11px; font-weight: 700; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);}
.hasm-reference .hope-roots-image-label span{color: #f5cc65;}
.hasm-reference .hope-roots-content{max-width: 580px; padding: 20px 0;}
.hasm-reference .hope-roots-small-title{display: flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--roots-earth); font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase;}
.hasm-reference .hope-roots-small-line{width: 28px; height: 2px; border-radius: 20px; background: var(--roots-earth);}
.hasm-reference .hope-roots-title{margin: 0; color: var(--roots-navy); font-size: clamp(44px, 5vw, 67px); line-height: 1.02; letter-spacing: -3.5px; font-weight: 800;}
.hasm-reference .hope-roots-title span{display: block; color: var(--roots-earth);}
.hasm-reference .hope-roots-description{max-width: 545px; margin: 24px 0 0; color: var(--roots-muted); font-size: 16px; line-height: 1.8; text-decoration: none !important;}
.hasm-reference .hope-roots-journey{position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 34px; padding-top: 1px;}
.hasm-reference .hope-roots-journey::before{content: ""; position: absolute; left: 17px; right: 17px; top: 17px; height: 1px; background: linear-gradient( 90deg, var(--roots-gold), rgba(216,165,47,0.25) );}
.hasm-reference .hope-roots-step{position: relative; z-index: 2; padding-right: 15px;}
.hasm-reference .hope-roots-step-number{display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(216,165,47,0.35); background: var(--roots-cream-light); color: #9a701e; font-size: 12px; font-weight: 800;}
.hasm-reference .hope-roots-step strong{display: block; margin-top: 13px; color: var(--roots-navy); font-size: 14px; line-height: 1.35; font-weight: 800;}
.hasm-reference .hope-roots-step p{margin: 5px 0 0; color: var(--roots-muted); font-size: 12px; line-height: 1.55; text-decoration: none !important;}
.hasm-reference .hope-roots-support{position: relative; display: flex; align-items: center; gap: 15px; margin-top: 34px; padding: 17px 18px; overflow: hidden; border: 1px solid rgba(185,101,66,0.13); border-radius: 15px; background: linear-gradient( 135deg, #fff8f2, #fffdf8 );}
.hasm-reference .hope-roots-support-icon{display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: var(--roots-earth-soft); color: var(--roots-earth); font-size: 18px;}
.hasm-reference .hope-roots-support-copy{flex: 1; min-width: 0;}
.hasm-reference .hope-roots-support-copy strong{display: block; color: var(--roots-navy); font-size: 14px; line-height: 1.4; font-weight: 800;}
.hasm-reference .hope-roots-support-copy p{margin: 3px 0 0; color: var(--roots-muted); font-size: 12px; line-height: 1.5; text-decoration: none !important;}
.hasm-reference .hope-roots-support-link{flex: 0 0 auto; color: var(--roots-earth) !important; font-size: 13px; font-weight: 800; text-decoration: none !important; white-space: nowrap;}
.hasm-reference .hope-roots-support-link:hover{color: #8f472d !important; text-decoration: none !important;}
.hasm-reference .hope-roots-actions{display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px;}
.hasm-reference .hope-roots-primary{display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 23px; border-radius: 12px; background: var(--roots-navy); color: #ffffff !important; font-size: 15px; font-weight: 800; text-decoration: none !important; box-shadow: 0 12px 25px rgba(18,38,65,0.14); transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;}
.hasm-reference .hope-roots-primary:hover{background: var(--roots-blue-dark); transform: translateY(-2px); box-shadow: 0 15px 30px rgba(18,38,65,0.18); text-decoration: none !important;}
.hasm-reference .hope-roots-secondary{display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 20px; border: 1px solid #dfd5c3; border-radius: 12px; background: rgba(255,255,255,0.62); color: var(--roots-navy) !important; font-size: 15px; font-weight: 700; text-decoration: none !important; transition: background 0.2s ease, border-color 0.2s ease;}
.hasm-reference .hope-roots-secondary:hover{background: #ffffff; border-color: var(--roots-gold); text-decoration: none !important;}
.hasm-reference .hope-roots-bottom{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; margin-top: 65px; padding: 26px 30px; border-top: 1px solid rgba(151,124,73,0.16); border-bottom: 1px solid rgba(151,124,73,0.16);}
.hasm-reference .hope-roots-bottom-symbol{color: var(--roots-gold); font-family: Georgia, serif; font-size: 47px; line-height: 1;}
.hasm-reference .hope-roots-bottom blockquote{margin: 0; padding: 0; border: 0; color: var(--roots-navy); font-family: Georgia, "Times New Roman", serif; font-size: 19px; line-height: 1.55; font-style: italic;}
.hasm-reference .hope-roots-bottom-tag{color: var(--roots-earth); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; white-space: nowrap;}
.hasm-reference .hope-roots-section p,.hasm-reference .hope-roots-section h2,.hasm-reference .hope-roots-section h3,.hasm-reference .hope-roots-section span,.hasm-reference .hope-roots-section strong,.hasm-reference .hope-roots-section blockquote{text-decoration: none !important;}
@media (max-width: 950px){.hasm-reference .hope-roots-section{padding: 80px 0;}
.hasm-reference .hope-roots-main{grid-template-columns: 1fr; gap: 45px;}
.hasm-reference .hope-roots-visual{max-width: 650px; width: 100%; margin: 0 auto;}
.hasm-reference .hope-roots-content{max-width: 700px; margin: 0 auto;}
.hasm-reference .hope-roots-bottom{margin-top: 50px;}
}
@media (max-width: 700px){.hasm-reference .hope-roots-section{padding: 65px 0;}
.hasm-reference .hope-roots-container{width: min(100% - 28px, 1200px);}
.hasm-reference .hope-roots-topline{align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 28px;}
.hasm-reference .hope-roots-visual{min-height: 530px;}
.hasm-reference .hope-roots-image{width: calc(100% - 20px); height: 465px; border-radius: 140px 140px 20px 20px;}
.hasm-reference .hope-roots-heritage-card{width: 225px; padding: 18px; bottom: 5px;}
.hasm-reference .hope-roots-image-label{left: 18px; bottom: 82px;}
.hasm-reference .hope-roots-title{font-size: 42px; letter-spacing: -2.5px;}
.hasm-reference .hope-roots-description{font-size: 15px;}
.hasm-reference .hope-roots-journey{grid-template-columns: 1fr; gap: 20px;}
.hasm-reference .hope-roots-journey::before{left: 16px; right: auto; top: 17px; bottom: 17px; width: 1px; height: auto;}
.hasm-reference .hope-roots-step{display: grid; grid-template-columns: 34px 1fr; column-gap: 15px; padding-right: 0;}
.hasm-reference .hope-roots-step strong{margin-top: 1px;}
.hasm-reference .hope-roots-step p{grid-column: 2;}
.hasm-reference .hope-roots-support{align-items: flex-start; flex-wrap: wrap;}
.hasm-reference .hope-roots-support-link{width: 100%; padding-left: 57px;}
.hasm-reference .hope-roots-actions{flex-direction: column; align-items: stretch;}
.hasm-reference .hope-roots-primary,.hasm-reference .hope-roots-secondary{width: 100%;}
.hasm-reference .hope-roots-bottom{grid-template-columns: auto 1fr; padding: 22px 5px; gap: 14px;}
.hasm-reference .hope-roots-bottom-tag{grid-column: 2;}
.hasm-reference .hope-roots-bottom blockquote{font-size: 17px;}
}
@media (max-width: 430px){.hasm-reference .hope-roots-title{font-size: 37px;}
.hasm-reference .hope-roots-visual{min-height: 490px;}
.hasm-reference .hope-roots-image{height: 425px; border-radius: 110px 110px 18px 18px;}
.hasm-reference .hope-roots-heritage-card{width: 205px;}
}

.hasm-reference .hope-stories-section{--hope-blue: #169bd5; --hope-blue-dark: #0877b6; --hope-navy: #10233d; --hope-navy-soft: #18324f; --hope-yellow: #ffc62a; --hope-yellow-soft: #fff1b8; --hope-cream: #fffaf0; --hope-paper: #fffdf8; --hope-earth: #bd6848; --hope-green: #3c8b71; --hope-text: #263b49; --hope-muted: #71828b; position: relative; width: 100%; overflow: hidden; padding: 100px 0 86px; font-family: Inter, Arial, sans-serif; background: radial-gradient( circle at 8% 12%, rgba(255,198,42,0.15), transparent 26% ), radial-gradient( circle at 93% 80%, rgba(22,155,213,0.10), transparent 30% ), linear-gradient( 135deg, #fffaf0 0%, #fffdf9 48%, #f4fbfe 100% );}
.hasm-reference .hope-stories-section *,.hasm-reference .hope-stories-section *::before,.hasm-reference .hope-stories-section *::after{box-sizing: border-box;}
.hasm-reference .hope-stories-section::before{content: ""; position: absolute; width: 430px; height: 430px; right: -230px; top: -170px; border-radius: 50%; border: 1px solid rgba(22,155,213,0.08); box-shadow: 0 0 0 55px rgba(22,155,213,0.018), 0 0 0 110px rgba(22,155,213,0.012); pointer-events: none;}
.hasm-reference .hope-stories-section::after{content: "“"; position: absolute; left: -15px; bottom: -80px; color: rgba(255,198,42,0.13); font-family: Georgia, serif; font-size: 320px; line-height: 1; pointer-events: none;}
.hasm-reference .hope-stories-container{position: relative; z-index: 2; width: min(1200px, calc(100% - 48px)); margin: 0 auto;}
.hasm-reference .hope-stories-header{display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr); align-items: end; gap: 65px; margin-bottom: 45px;}
.hasm-reference .hope-stories-label{display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--hope-earth); font-size: 12px; font-weight: 800; letter-spacing: 1.45px; text-transform: uppercase;}
.hasm-reference .hope-stories-label-line{width: 28px; height: 3px; border-radius: 20px; background: var(--hope-yellow);}
.hasm-reference .hope-stories-title{max-width: 690px; margin: 0; color: var(--hope-navy); font-size: clamp(42px, 4.8vw, 63px); line-height: 1.04; letter-spacing: -3.2px; font-weight: 800;}
.hasm-reference .hope-stories-title span{color: var(--hope-blue);}
.hasm-reference .hope-stories-header-copy{max-width: 460px; margin: 0 0 4px; color: var(--hope-muted); font-size: 16px; line-height: 1.75; text-decoration: none !important;}
.hasm-reference .hope-stories-mosaic{display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr); gap: 20px; align-items: stretch;}
.hasm-reference .hope-featured-story{position: relative; min-height: 650px; overflow: hidden; border-radius: 28px; background: var(--hope-navy); box-shadow: 0 28px 65px rgba(28,54,73,0.13);}
.hasm-reference .hope-featured-story img{position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.hasm-reference .hope-featured-overlay{position: absolute; inset: 0; z-index: 1; background: linear-gradient( 180deg, rgba(10,29,46,0.02) 8%, rgba(10,29,46,0.10) 40%, rgba(10,29,46,0.56) 72%, rgba(10,29,46,0.96) 100% );}
.hasm-reference .hope-featured-badge{position: absolute; z-index: 3; top: 25px; left: 25px; display: inline-flex; align-items: center; gap: 7px; min-height: 37px; padding: 0 14px; border-radius: 999px; background: var(--hope-yellow); color: var(--hope-navy); font-size: 12px; font-weight: 800; box-shadow: 0 9px 22px rgba(0,0,0,0.10);}
.hasm-reference .hope-featured-content{position: absolute; z-index: 3; left: 32px; right: 32px; bottom: 32px;}
.hasm-reference .hope-featured-category{margin-bottom: 11px; color: var(--hope-yellow); font-size: 12px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase;}
.hasm-reference .hope-featured-content blockquote{max-width: 590px; margin: 0; padding: 0; border: 0; color: #ffffff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(29px, 3.2vw, 42px); line-height: 1.18; letter-spacing: -0.8px; font-style: normal; font-weight: 600;}
.hasm-reference .hope-featured-story-text{max-width: 560px; margin: 17px 0 0; color: rgba(255,255,255,0.78); font-size: 15px; line-height: 1.7; text-decoration: none !important;}
.hasm-reference .hope-featured-person{display: flex; align-items: center; gap: 11px; margin-top: 22px;}
.hasm-reference .hope-featured-avatar{display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.20); color: #ffffff; font-size: 14px; font-weight: 800;}
.hasm-reference .hope-featured-person strong{display: block; color: #ffffff; font-size: 14px; font-weight: 700;}
.hasm-reference .hope-featured-person span{display: block; margin-top: 3px; color: rgba(255,255,255,0.57); font-size: 11px;}
.hasm-reference .hope-story-stack{display: grid; grid-template-rows: repeat(3, 1fr); gap: 14px;}
.hasm-reference .hope-story-card{position: relative; display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 18px; min-height: 198px; padding: 15px; overflow: hidden; border: 1px solid rgba(25,69,92,0.08); border-radius: 20px; background: rgba(255,255,255,0.82); box-shadow: 0 14px 36px rgba(30,77,100,0.065); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.hasm-reference .hope-story-card:hover{transform: translateY(-4px); box-shadow: 0 22px 45px rgba(30,77,100,0.10);}
.hasm-reference .hope-story-image{position: relative; min-width: 0; overflow: hidden; border-radius: 14px; background: #dceaf0;}
.hasm-reference .hope-story-image img{display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease;}
.hasm-reference .hope-story-card:hover
.hope-story-image img{transform: scale(1.04);}
.hasm-reference .hope-story-card-content{display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 5px 5px 5px 0;}
.hasm-reference .hope-story-category{display: inline-flex; align-items: center; gap: 5px; margin-bottom: 8px; color: var(--story-accent, var(--hope-blue-dark)); font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;}
.hasm-reference .hope-story-card blockquote{margin: 0; padding: 0; border: 0; color: var(--hope-navy); font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1.45; font-weight: 600;}
.hasm-reference .hope-story-person{margin-top: 12px;}
.hasm-reference .hope-story-person strong{color: var(--hope-text); font-size: 12px; font-weight: 800;}
.hasm-reference .hope-story-person span{display: inline; margin-left: 5px; color: var(--hope-muted); font-size: 11px;}
.hasm-reference .hope-story-meals{--story-accent: #b37b13;}
.hasm-reference .hope-story-winter{--story-accent: #3d709d;}
.hasm-reference .hope-story-roots{--story-accent: #aa5e43;}
.hasm-reference .hope-stories-quote-strip{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-top: 26px; padding: 28px 30px; border-radius: 19px; background: linear-gradient( 120deg, var(--hope-navy) 0%, #173451 72%, #14304c 100% ); box-shadow: 0 18px 45px rgba(17,42,62,0.10);}
.hasm-reference .hope-stories-big-quote{color: var(--hope-yellow); font-family: Georgia, serif; font-size: 54px; line-height: 1;}
.hasm-reference .hope-stories-quote-copy strong{display: block; color: #ffffff; font-size: 18px; line-height: 1.4; font-weight: 700;}
.hasm-reference .hope-stories-quote-copy span{display: block; margin-top: 5px; color: rgba(255,255,255,0.61); font-size: 13px; line-height: 1.5;}
.hasm-reference .hope-stories-cta{display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 19px; border-radius: 11px; background: var(--hope-yellow); color: var(--hope-navy) !important; text-decoration: none !important; font-size: 14px; font-weight: 800; white-space: nowrap; transition: transform 0.2s ease, background 0.2s ease;}
.hasm-reference .hope-stories-cta:hover{transform: translateY(-2px); background: #edb80d; text-decoration: none !important;}
.hasm-reference .hope-stories-note{max-width: 720px; margin: 19px auto 0; color: #85949b; text-align: center; font-size: 11px; line-height: 1.6;}
.hasm-reference .hope-stories-section p,.hasm-reference .hope-stories-section h2,.hasm-reference .hope-stories-section h3,.hasm-reference .hope-stories-section span,.hasm-reference .hope-stories-section strong,.hasm-reference .hope-stories-section blockquote{text-decoration: none !important;}
@media (max-width: 950px){.hasm-reference .hope-stories-section{padding: 78px 0 72px;}
.hasm-reference .hope-stories-header{grid-template-columns: 1fr; gap: 20px;}
.hasm-reference .hope-stories-header-copy{max-width: 680px;}
.hasm-reference .hope-stories-mosaic{grid-template-columns: 1fr;}
.hasm-reference .hope-featured-story{min-height: 580px;}
.hasm-reference .hope-story-stack{grid-template-columns: repeat(3, 1fr); grid-template-rows: auto;}
.hasm-reference .hope-story-card{grid-template-columns: 1fr; min-height: 380px;}
.hasm-reference .hope-story-image{min-height: 185px;}
.hasm-reference .hope-story-card-content{justify-content: flex-start; padding: 5px;}
}
@media (max-width: 700px){.hasm-reference .hope-stories-section{padding: 62px 0 58px;}
.hasm-reference .hope-stories-container{width: min(100% - 28px, 1200px);}
.hasm-reference .hope-stories-title{font-size: 39px; letter-spacing: -2px;}
.hasm-reference .hope-stories-header-copy{font-size: 15px;}
.hasm-reference .hope-featured-story{min-height: 560px; border-radius: 21px;}
.hasm-reference .hope-featured-badge{top: 19px; left: 19px;}
.hasm-reference .hope-featured-content{left: 22px; right: 22px; bottom: 23px;}
.hasm-reference .hope-featured-content blockquote{font-size: 29px;}
.hasm-reference .hope-featured-story-text{font-size: 14px;}
.hasm-reference .hope-story-stack{grid-template-columns: 1fr; gap: 13px;}
.hasm-reference .hope-story-card{grid-template-columns: 110px minmax(0,1fr); min-height: 200px;}
.hasm-reference .hope-story-image{min-height: auto;}
.hasm-reference .hope-stories-quote-strip{grid-template-columns: auto 1fr; gap: 15px; padding: 23px;}
.hasm-reference .hope-stories-cta{grid-column: 2; justify-self: start;}
}
@media (max-width: 430px){.hasm-reference .hope-stories-title{font-size: 35px;}
.hasm-reference .hope-featured-story{min-height: 525px;}
.hasm-reference .hope-story-card{grid-template-columns: 1fr; min-height: auto;}
.hasm-reference .hope-story-image{height: 210px;}
}
/* Matching template shell and the manager-owned dynamic sections. */
body.hasm-reference-page{margin:0;background:#fff}.hasm-reference-shell{background:white;color:#13213b;font-family:Inter,Arial,sans-serif}.hasm-reference{width:100%;overflow:hidden}.hasm-reference a{text-decoration:none}.hasm-reference a:hover{text-decoration:underline}.hasm-reference h1,.hasm-reference h2,.hasm-reference h3{font-family:inherit;text-transform:none}.hasm-reference :focus-visible,.hasm-reference-shell .hasm :focus-visible{outline:3px solid #b77500;outline-offset:4px}.hasm-reference-shell .hasm-header{border:0}.hasm-reference-shell .hasm-header-inner{max-width:1248px;padding:18px 24px}.hasm-reference-shell .hasm-brand{font-family:Inter,Arial,sans-serif;color:#13213b;font-size:15px}.hasm-reference-shell .hasm-logo{height:76px;max-width:100px}.hasm-reference-shell .hasm-brand:has(img) span{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.hasm-reference-shell .hasm-navigation{font-family:Inter,Arial,sans-serif;color:#13213b;font-size:13px;gap:24px}.hasm-reference-shell .hasm-navigation .hasm-button{background:#fff4cc;border-color:#ffcc40;color:#8c6400!important}.hasm-reference-shell .hasm-footer{background:#102338;color:white;padding:54px 28px 25px}.hasm-reference-shell .hasm-footer h2{color:white;font-family:Inter,Arial,sans-serif;font-size:18px;font-weight:800;line-height:1.4;letter-spacing:-.3px}.hasm-reference-shell .hasm-footer-grid{max-width:1200px;grid-template-columns:1.6fr 1fr 1fr 1.15fr}.hasm-reference-shell .hasm-footer p{color:#b7c9d6;font-size:12px}.hasm-reference-shell .hasm-footer h3{font-size:12px;color:white}.hasm-reference-shell .hasm-footer a{font-size:12px;color:#cde6f5}.hasm-reference-shell .hasm-footer .hasm-eyebrow{color:#38b8ea;font-size:9px}.hasm-reference-shell .hasm-footer-bottom{max-width:1200px;font-size:10px}.hasm-reference .hasm-reference-extra{--hasm-accent:#169bd5;color:#13213b;font-family:Inter,Arial,sans-serif}.hasm-reference .hasm-reference-extra h1,.hasm-reference .hasm-reference-extra h2{font-family:Inter,Arial,sans-serif;font-weight:800;font-size:32px;letter-spacing:-1.2px;line-height:1.2}.hasm-reference .hasm-reference-extra .hasm-section{max-width:1248px;padding:65px 24px}.hasm-reference .hasm-reference-extra .hasm-section-membership{max-width:1200px;border-radius:20px;margin:20px auto 60px;padding:60px 30px}.hasm-reference .hasm-reference-extra .hasm-card{border-color:#dcebf2;box-shadow:0 12px 30px #13213b08}.hasm-reference .hasm-reference-extra .hasm-section-membership h2{color:white}.hasm-reference .hasm-story-disclosure{max-width:1200px;padding:12px 18px;margin:0 0 24px;border-radius:10px;color:#615329;background:#fff4d0;font-size:12px;line-height:1.6}.hasm-info{max-width:1200px;margin:0 auto;padding:65px 24px}.hasm-info .hasm-card h2{font-family:Inter,Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.4px}.hasm-info>h1{font-size:clamp(34px,5vw,55px)}.hasm-skip{position:absolute;left:20px;top:-100px;background:white;color:#13213b;padding:12px;z-index:99999}.hasm-skip:focus{top:15px}.hasm-reference-control{border:2px solid #169bd5;background:#f3fbff}.hasm-reference .hasm-empty{max-width:1200px;margin:20px auto;padding:24px}@media(max-width:1100px){.hasm-reference-shell .hasm-navigation{gap:15px}}@media(max-width:720px){.hasm-reference-shell .hasm-footer-grid{grid-template-columns:1fr 1fr}.hasm-reference-shell .hasm-header-inner{padding:12px 20px}.hasm-reference-shell .hasm-logo{height:58px}.hasm-reference .hasm-reference-extra .hasm-section{padding:48px 24px}.hasm-reference .hasm-reference-extra h2{font-size:27px}.hasm-reference-shell .hasm-navigation{gap:4px}}@media(prefers-reduced-motion:reduce){.hasm-reference *{animation:none!important;transition:none!important}}

.hasm-reference .hasm-reference-extra .hasm-button,.hasm-reference .hasm-header .hasm-button{background:var(--hasm-accent,#0877b6);color:#fff;border-color:var(--hasm-accent,#0877b6)}
.hasm-reference .hasm-reference-extra .hasm-eyebrow{color:var(--hasm-accent,#0877b6)}
.hasm-reference .hasm-reference-extra .hasm-grid{margin-top:32px;align-items:stretch}
.hasm-reference .hasm-reference-extra .hasm-card{box-shadow:0 8px 28px #13213b08}
.hasm-reference .hasm-reference-extra .hasm-section-membership .hasm-button{background:#fff;color:var(--hasm-accent)!important;border-color:#fff}
