/* Public website - Nithya Seva Charitable Trust */
:root {
  --ns-maroon: #7a1f2b;
  --ns-maroon-dark: #5c1620;
  --ns-saffron: #e8891c;
  --ns-cream: #fbf6ee;
  --ns-ink: #2b2320;
}
body { color: var(--ns-ink); background: #fff; font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; }
h1, h2, h3, .navbar-brand { font-family: Georgia, "Times New Roman", serif; }
a { color: var(--ns-maroon); }

.site-nav { background: #fff; border-bottom: 1px solid #eee3d3; }
.site-nav .navbar-brand { color: var(--ns-maroon); font-weight: 700; font-size: 1.15rem; }
.site-nav .nav-link { color: var(--ns-ink); }
.site-nav .nav-link:hover { color: var(--ns-maroon); }

.btn-donate { background: var(--ns-saffron); border-color: var(--ns-saffron); color: #fff; font-weight: 600; padding: .5rem 1.4rem; border-radius: 999px; }
.btn-donate:hover, .btn-donate:focus { background: #cf7610; border-color: #cf7610; color: #fff; }
.btn-donate.btn-lg { padding: .8rem 2.2rem; }
.btn-outline-light.rounded-pill { padding: .8rem 2rem; }

.hero { background: linear-gradient(135deg, var(--ns-maroon) 0%, var(--ns-maroon-dark) 100%); color: #fff; padding: 5.5rem 0 5rem; }
.hero h1 { font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.15; }
.hero .lead { color: #f3dfd2; max-width: 40rem; }
.hero .eyebrow { color: #f6c98b; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; font-weight: 600; }

.section { padding: 4.5rem 0; }
.section-cream { background: var(--ns-cream); }
.section h2 { color: var(--ns-maroon); margin-bottom: 1rem; }
.work-card { background: #fff; border: 1px solid #eee3d3; border-radius: 14px; padding: 1.75rem; height: 100%; }
.work-card .bi { font-size: 1.8rem; color: var(--ns-saffron); }
.step-num { width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--ns-maroon); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; margin-bottom: .75rem; }
.cta-band { background: var(--ns-saffron); color: #fff; padding: 3.5rem 0; text-align: center; }
.cta-band .btn { background: #fff; color: var(--ns-maroon); font-weight: 700; border-radius: 999px; padding: .8rem 2.2rem; }

.site-footer { background: var(--ns-ink); color: #d9cfc6; padding: 3rem 0 2rem; }
.site-footer h5 { color: #fff; font-family: Georgia, serif; }
.site-footer a { color: #f6c98b; }
.site-footer hr { border-color: #5a4e48; }

/* Donation page */
.donate-wrap { background: var(--ns-cream); padding: 3rem 0 4rem; min-height: 70vh; }
.donate-card { background: #fff; border: 1px solid #eee3d3; border-radius: 16px; padding: 2rem; box-shadow: 0 8px 30px rgba(90, 40, 20, .06); }
.ref-banner { background: #fff4e3; border: 1px solid #f3d7ad; border-radius: 10px; padding: .75rem 1rem; }
.amount-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.amount-grid .btn { border: 1.5px solid #e3d5c2; background: #fff; font-weight: 600; padding: .7rem 0; border-radius: 10px; color: var(--ns-ink); }
.amount-grid .btn.active, .amount-grid .btn:hover { border-color: var(--ns-maroon); background: var(--ns-maroon); color: #fff; }
.freq .btn-check:checked + .btn { background: var(--ns-maroon); border-color: var(--ns-maroon); color: #fff; }
.freq .btn { border-color: #e3d5c2; color: var(--ns-ink); font-weight: 600; }
.summary-box { background: var(--ns-cream); border-radius: 10px; padding: .9rem 1rem; font-size: .95rem; }
.form-control:focus, .form-select:focus { border-color: var(--ns-saffron); box-shadow: 0 0 0 .2rem rgba(232, 137, 28, .2); }

/* Home page: illustrations, focus areas, objectives */
.hero-art { width: 100%; height: auto; aspect-ratio: 600 / 430; object-fit: cover; background: #5c1620; border-radius: 24px; box-shadow: 0 18px 50px rgba(0, 0, 0, .28); }
.area-card { background: #fff; border: 1px solid #eee3d3; border-radius: 14px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.area-card img { width: 100%; height: auto; display: block; aspect-ratio: 400 / 260; object-fit: cover; background: #fdebd0; }
.area-card .body { padding: 1.25rem 1.4rem 1.5rem; }
.area-card h3 { color: var(--ns-maroon); font-size: 1.15rem; margin-bottom: .5rem; }
.area-card p { color: #5d534d; margin-bottom: 0; font-size: .97rem; }
.objectives { counter-reset: obj; list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 2.5rem; }
.objectives li { counter-increment: obj; position: relative; padding: 0 0 1rem 2.6rem; break-inside: avoid; }
.objectives li::before { content: counter(obj); position: absolute; left: 0; top: .1rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--ns-cream); border: 1px solid #e3d5c2; color: var(--ns-maroon); font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
@media (max-width: 767px) { .objectives { columns: 1; } }
.pledge { background: #fff; border-left: 4px solid var(--ns-saffron); border-radius: 0 10px 10px 0; padding: 1rem 1.25rem; height: 100%; }
.pledge .bi { color: var(--ns-saffron); font-size: 1.4rem; }
.pledge h3 { font-family: inherit; font-size: 1rem; font-weight: 700; margin: .4rem 0 .25rem; }
.pledge p { margin: 0; color: #5d534d; font-size: .93rem; }
