/* Tejo Prabha Foundation homepage v1 — scoped styles; no dependency or Javascript. */
.tpf-home {
  --home-deep: #123e32; --home-dark: #173d35; --home-green: #2c624f;
  --home-gold: #e9b05b; --home-gold-light: #f7d59d; --home-cream: #f8f6ef;
  --home-ink: #193c31; --home-subtle: #5d7165; --home-focus: #b57520;
  color: var(--home-ink); background: #fff; font: 400 16px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  min-width: 0; overflow: clip; -webkit-font-smoothing: antialiased;
}
.tpf-home, .tpf-home *, .tpf-home *::before, .tpf-home *::after { box-sizing: border-box; }
.tpf-home * { min-width: 0; }
.tpf-home h1, .tpf-home h2, .tpf-home h3, .tpf-home p { margin: 0; }
.tpf-home a { text-decoration: none; }
.tpf-home a:focus-visible { outline: 3px solid var(--home-focus); outline-offset: 5px; border-radius: 4px; }
.tpf-home section[id] { scroll-margin-top: 116px; }
.tpf-home__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.tpf-home__container { width: min(100% - 64px, 1210px); margin: 0 auto; }
.tpf-home__eyebrow { display: flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1.5; font-weight: 850; color: #92703a; letter-spacing: .15em; text-transform: uppercase; }
.tpf-home__eyebrow--light { color: #e9c488; }
.tpf-home__eyebrow-line { display: inline-block; width: 25px; height: 2px; background: #e9b05b; flex: 0 0 auto; }
.tpf-home h1, .tpf-home h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 600; letter-spacing: -.037em; }
.tpf-home h2 { font-size: clamp(35px, 4.1vw, 56px); line-height: 1.14; }
.tpf-home__hero { position: relative; background: radial-gradient(ellipse 50% 75% at 95% 25%, #285849 0%, #123e32 77%), linear-gradient(115deg, #173f33, #0d2e27); color: #fff; isolation: isolate; overflow: hidden; }
.tpf-home__hero-decoration { position: absolute; border: 1px solid rgba(245, 216, 153, .1); width: 840px; height: 840px; border-radius: 50%; top: -450px; left: -350px; pointer-events: none; }
.tpf-home__hero::before { content: ''; position: absolute; top: -120px; right: -120px; width: 550px; height: 550px; border: 1px solid rgba(244,226,193,.09); border-radius: 50%; }
.tpf-home__hero-inner { position: relative; display: grid; grid-template-columns: 1.03fr 1fr; align-items: center; gap: 20px; padding: 63px 0 73px; min-height: 650px; }
.tpf-home__hero-copy { position: relative; z-index: 2; padding: 35px 0 24px; }
.tpf-home h1 { font-size: clamp(48px, 5.3vw, 80px); line-height: 1.04; max-width: 630px; margin-top: 25px; color: #fffaf1; }
.tpf-home__hero-description { margin-top: 26px !important; color: #d1e2d7; max-width: 545px; font-size: 17px; line-height: 1.83; }
.tpf-home__hero-buttons { display: flex; flex-wrap: wrap; gap: 14px 29px; align-items: center; margin-top: 32px; }
.tpf-home__button { display: inline-flex; justify-content: center; align-items: center; min-height: 54px; padding: 13px 22px; border-radius: 9px; gap: 12px; font-size: 14px; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.tpf-home__button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.tpf-home__button--gold { background: var(--home-gold); color: #25351d !important; box-shadow: 0 4px 0 #c69041; }
.tpf-home__button--gold:hover { background: #f6c77f; transform: translateY(-2px); }
.tpf-home__text-link { display: inline-flex; align-items: center; gap: 13px; color: #f3edda !important; font-size: 14px; font-weight: 700; min-height: 50px; }
.tpf-home__text-link:hover { color: #f8c97d !important; }
.tpf-home__text-link span { font-size: 22px; }
.tpf-home__hero-values { border-top: 1px solid rgba(251,255,247,.18); margin-top: 50px; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 11px 25px; font-size: 12px; font-weight: 650; color: #d3e3d6; letter-spacing: .02em; }
.tpf-home__hero-values span::before { content: '•'; color: #edbe6d; margin-right: 9px; }
.tpf-home__hero-art { position: relative; display: grid; place-items: center; min-height: 540px; }
.tpf-home__art-glow { position: absolute; width: 90%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(224,184,120,.18), transparent 70%); }
.tpf-home__hero-art > img { position: relative; width: min(100%, 625px); max-height: 615px; object-fit: contain; filter: drop-shadow(0 19px 24px rgba(3,26,18,.2)); }
.tpf-home__art-note { position: absolute; bottom: 4%; left: 0; display: flex; align-items: center; gap: 12px; min-width: 228px; padding: 17px 18px; border-radius: 13px; color: #23483a; background: #fffaf0; box-shadow: 0 18px 55px rgba(6,27,17,.27); font-size: 12px; line-height: 1.5; }
.tpf-home__art-note strong { font-size: 14px; }
.tpf-home__note-symbol { color: #ba8839; font-size: 30px; }
.tpf-home__hero-edge { position: absolute; left: 0; right: 0; bottom: 0; height: 11px; background: linear-gradient(90deg, #e9b05b 0 10%, #2e6553 10% 100%); }
.tpf-home__beliefs { background: #fffaf0; border-bottom: 1px solid #eee8d9; }
.tpf-home__beliefs-inner { display: flex; gap: 15px 24px; justify-content: space-between; align-items: center; min-height: 98px; }
.tpf-home__beliefs p { display: flex; align-items: center; gap: 12px; color: #335746; font-size: 14px; font-weight: 700; }
.tpf-home__beliefs p > span { font-size: 19px; color: #c3934e; }
.tpf-home__section { padding: 103px 0 113px; }
.tpf-home__section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px 70px; margin-bottom: 42px; }
.tpf-home__section-head > div { flex: 1.05; }
.tpf-home__section-head h2 { max-width: 560px; margin-top: 11px; }
.tpf-home__section-head > p { flex: .85; max-width: 445px; color: var(--home-subtle); font-size: 15px; line-height: 1.85; padding-bottom: 5px; }
.tpf-home__cause-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px; }
.tpf-home__cause-card { position: relative; background: #f7f9f5; min-height: 278px; padding: 33px 31px 30px; border-radius: 16px; border: 1px solid #e7ebe3; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .18s ease, transform .18s ease; }
.tpf-home__cause-card:hover { box-shadow: 0 14px 34px rgba(28,72,50,.08); transform: translateY(-3px); }
.tpf-home__cause-card--1, .tpf-home__cause-card--4 { background: #fbf7ee; border-color: #f0e9d9; }
.tpf-home__cause-card--2, .tpf-home__cause-card--5 { background: #f0f6f2; }
.tpf-home__cause-icon { width: 63px; height: 63px; display: grid; place-items: center; background: #e1ece2; border-radius: 17px 6px 17px 6px; color: #2d6953; margin-bottom: 28px; }
.tpf-home__cause-card--1 .tpf-home__cause-icon, .tpf-home__cause-card--4 .tpf-home__cause-icon { background: #f3e6cd; color: #a87835; }
.tpf-home__cause-icon svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 1.65; stroke-linejoin: round; stroke-linecap: round; }
.tpf-home__cause-card h3 { color: #193f32; font-size: 19px; line-height: 1.32; letter-spacing: -.017em; font-weight: 800; }
.tpf-home__cause-card > p { color: #60756a; font-size: 13.5px; line-height: 1.75; margin-top: 11px; max-width: 315px; }
.tpf-home__cause-rule { display: block; width: 33px; height: 3px; background: #d8a85f; border-radius: 2px; margin-top: auto; transform: translateY(19px); }
.tpf-home__card-link { color: #2d664f !important; margin-top: auto; padding-top: 17px; font-size: 13px; font-weight: 800; min-height: 44px; display: inline-flex; align-items: center; gap: 10px; }
.tpf-home__card-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.tpf-home__mission { padding: 84px 0; background: var(--home-cream); }
.tpf-home__mission-inner { display: grid; grid-template-columns: .83fr 1.17fr; align-items: center; gap: clamp(60px, 9vw, 145px); }
.tpf-home__mission-illustration { position: relative; width: min(100%,440px); margin-inline: auto; aspect-ratio: 1; background: radial-gradient(circle at 50% 50%, #dee9d6 0 40%, transparent 40.5% 100%),radial-gradient(circle,#f5e8cb 0 62%,transparent 62.5%); display: grid; place-items: center; }
.tpf-home__mission-circle { width: 80%; height: 80%; border-radius: 50%; display: grid; place-items: center; background: #2d6550; box-shadow: 0 25px 50px rgba(46,82,53,.13); }
.tpf-home__mission-circle svg { width: 76%; color: #f1e5cd; }
.tpf-home__mission-small { position: absolute; right: -23px; bottom: 22px; background: #fff; border: 1px solid #eee8d8; border-radius: 11px; padding: 14px 19px; box-shadow: 0 12px 30px rgba(44,71,54,.1); color: #446153; font: italic 15px/1.5 Georgia,serif; }
.tpf-home__mission-copy h2 { max-width: 670px; margin-top: 14px; }
.tpf-home__mission-copy > p:not(.tpf-home__eyebrow) { margin-top: 25px; max-width: 590px; color: #5d7165; font-size: 16px; line-height: 1.85; }
.tpf-home__inline-link { display: inline-flex; min-height: 46px; align-items: center; gap: 12px; margin-top: 20px; color: #1e5b44 !important; font-size: 14px; font-weight: 800; }
.tpf-home__inline-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.tpf-home__approach { background: #fff; }
.tpf-home__approach-heading { text-align: center; max-width: 720px; margin: 0 auto 51px; }
.tpf-home__approach-heading .tpf-home__eyebrow { justify-content: center; }
.tpf-home__approach-heading h2 { margin-top: 12px; }
.tpf-home__approach-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.tpf-home__step { padding: 30px 32px 35px; border-top: 3px solid #e7b66d; background: #fafbf8; min-height: 225px; }
.tpf-home__step-number { font: 600 31px Georgia,serif; color: #bc8d49; }
.tpf-home__step h3 { font-size: 19px; color: #1d4437; margin-top: 17px; }
.tpf-home__step p { font-size: 14px; color: #64786c; line-height: 1.75; margin-top: 10px; }
.tpf-home__metrics { background: #f7f8f3; }
.tpf-home__metrics h2 { margin: 9px 0 30px; }
.tpf-home__metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.tpf-home__metric { background: white; padding: 30px; border-radius: 12px; display: flex; flex-direction: column; gap: 8px; }
.tpf-home__metric strong { font: 600 44px Georgia,serif; color: #1b5542; }
.tpf-home__metric span { color: #52695b; }
.tpf-home__metric a, .tpf-home__story a { display: inline-block; margin-top: 10px; color: #1b6248; font-size: 13px; font-weight: 800; }
.tpf-home__stories h2 { margin: 10px 0 30px; }
.tpf-home__stories-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.tpf-home__story { background: #f5f8f3; padding: 26px; border-radius: 12px; }
.tpf-home__story h3 { font-size: 19px; color: #184c3a; }
.tpf-home__story p { margin-top: 13px; font-size: 14px; color: #5d7165; }
.tpf-home__closing { position: relative; color: white; background: #205340; overflow: hidden; }
.tpf-home__closing::before { content: ''; position: absolute; width: 650px; height: 650px; right: -250px; top: -270px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 110px rgba(255,255,255,.025), 0 0 0 220px rgba(255,255,255,.023); }
.tpf-home__closing-inner { position: relative; display: grid; grid-template-columns: 1.7fr .75fr; gap: 80px; align-items: center; padding-top: 78px; padding-bottom: 85px; }
.tpf-home__closing h2 { max-width: 775px; font-size: clamp(33px, 3.65vw, 49px); color: #fff9ed; margin-top: 13px; }
.tpf-home__closing p:not(.tpf-home__eyebrow) { max-width: 635px; color: #d0e2d5; margin-top: 16px; font-size: 15px; }
.tpf-home__closing-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.tpf-home__closing-secondary { color: #f2deb8 !important; font-weight: 700; font-size: 14px; }
@media (max-width: 1100px) {
 .tpf-home__hero-inner { min-height: 570px; gap: 5px; padding-top: 52px; padding-bottom: 65px; }
 .tpf-home h1 { font-size: clamp(45px,5.1vw,65px); }
 .tpf-home__hero-art { min-height: 400px; }
 .tpf-home__hero-values { margin-top: 30px; }
 .tpf-home__mission-inner { gap: 60px; }
}
@media (max-width: 780px) {
 .tpf-home__container { width: min(100% - 40px, 640px); }
 .tpf-home__hero-inner { grid-template-columns: 1fr; text-align: left; padding: 55px 0 75px; gap: 12px; }
 .tpf-home__hero-copy { padding: 0; }
 .tpf-home h1 { font-size: clamp(44px, 8vw, 68px); max-width: 700px; }
 .tpf-home__hero-art { min-height: 0; max-width: 530px; width: 100%; justify-self: center; }
 .tpf-home__hero-art > img { width: 95%; }
 .tpf-home__art-note { left: 0; bottom: 6%; }
 .tpf-home__hero-values { margin-top: 32px; }
 .tpf-home__beliefs-inner { flex-wrap: wrap; justify-content: flex-start; padding-block: 23px; gap: 10px 30px; }
 .tpf-home__section { padding: 73px 0 80px; }
 .tpf-home__section-head { flex-direction: column; align-items: flex-start; gap: 13px; margin-bottom: 30px; }
 .tpf-home__section-head > p { max-width: 590px; }
 .tpf-home__cause-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
 .tpf-home__cause-card { padding: 27px 23px 24px; }
 .tpf-home__mission-inner { grid-template-columns: 1fr; gap: 25px; }
 .tpf-home__mission-illustration { width: min(80%,370px); }
 .tpf-home__mission-copy { padding: 10px 0; }
 .tpf-home__approach-grid { grid-template-columns: 1fr; gap: 14px; }
 .tpf-home__step { min-height: 0; }
 .tpf-home__closing-inner { grid-template-columns: 1fr; gap: 26px; padding-block: 65px; }
 .tpf-home__metrics-grid, .tpf-home__stories-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
 .tpf-home__container { width: calc(100% - 34px); }
 .tpf-home__hero-inner { padding-top: 46px; padding-bottom: 60px; }
 .tpf-home h1 { font-size: clamp(39px, 11vw, 52px); line-height: 1.09; }
 .tpf-home__hero-description { font-size: 15px; line-height: 1.75; margin-top: 19px !important; }
 .tpf-home__hero-buttons { margin-top: 25px; gap: 7px 17px; }
 .tpf-home__button { min-height: 52px; padding: 11px 17px; }
 .tpf-home__hero-values { gap: 8px 17px; font-size: 11px; }
 .tpf-home__hero-art { margin-top: 11px; }
 .tpf-home__art-note { left: 1%; bottom: 1%; padding: 11px 12px; min-width: 0; font-size: 11px; }
 .tpf-home__art-note strong { font-size: 12px; }
 .tpf-home__beliefs-inner { min-height: 0; padding-block: 19px; }
 .tpf-home__beliefs p { font-size: 12px; gap: 8px; }
 .tpf-home h2 { font-size: clamp(31px, 8.5vw, 42px); }
 .tpf-home__cause-grid { grid-template-columns: 1fr; }
 .tpf-home__cause-card { min-height: 0; padding: 25px 26px; }
 .tpf-home__cause-icon { margin-bottom: 18px; width: 52px; height: 52px; }
 .tpf-home__cause-rule { margin-top: 9px; transform: none; }
 .tpf-home__mission { padding: 60px 0 66px; }
 .tpf-home__mission-small { right: -9px; bottom: 2px; font-size: 12px; padding: 10px 13px; }
 .tpf-home__approach-heading { margin-bottom: 30px; }
 .tpf-home__step { padding: 26px; }
 .tpf-home__closing-inner { padding-block: 60px; gap: 25px; }
}
@media (prefers-reduced-motion: reduce) { .tpf-home *, .tpf-home *::before, .tpf-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
