:root { --ink: #165269; --teal: #165269; --deep: #165269; --cream: #f7e7bf; --paper: #fffdf7; --orange: #ed7f2d; --sky: #aedbf0; --line: rgba(22,82,105,.24); }
html { scroll-behavior: smooth; }
body { font-family: 'Lora', serif; color: var(--ink); background: var(--paper); padding-top: 58px; }
a { text-decoration: none; }
h1, h2, .navbar-brand { font-family: 'Perandory', 'Arial Narrow', serif; }
h3, h4, h5, h6, .eyebrow, .navbar-nav .nav-link, .btn-cream, .btn-outline-cream { font-family: 'Lora', serif; font-weight: 700; }
.lead-serif, .callout, .blockquote { font-family: 'Lora', serif; }

/* Navbar */
.custom-navbar { background: var(--teal); min-height: 58px; }
.navbar-brand { display: inline-flex; align-items: center; background: transparent; border-radius: 4px; overflow: hidden; }
.navbar-brand img { display: block; width: 120px; aspect-ratio: 2.23; height: auto; object-fit: cover; object-position: center; }
.navbar-nav .nav-link { color: var(--cream) !important; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; padding: .8rem 1rem !important; }
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover { color: var(--orange) !important; }
.navbar-toggler { border-color: rgba(248,236,201,.5); }
.navbar-toggler-icon { filter: invert(1) sepia(1) saturate(0) brightness(1.6); }

/* Hero (homepage) */
.hero { min-height: 100vh; position: relative; overflow: hidden; background: var(--deep); color: var(--sky); padding: 140px 24px 96px; display: flex; align-items: center; }
.hero-pattern { position: absolute; inset: 0; opacity: 1; background: var(--deep) url('/assets/images/3.png') center / cover repeat; }
.hero-inner { width: 100%; max-width: 100%; overflow: hidden; }
.hero-logo { display: block; width: min(570px, 78vw); aspect-ratio: 2.23; height: auto; object-fit: cover; object-position: center; background: transparent; border-radius: 0; margin: 0 auto; }
.hero-inner h1 { font-family: 'Perandory', 'Arial Narrow', serif; font-size: clamp(42px, 14vw, 160px); font-weight: 400; line-height: .78; letter-spacing: 0; color: var(--sky); margin: 0; text-transform: uppercase; overflow-wrap: anywhere; }
.hero-inner h1 span { display: block; }
.hero-inner h1 em { display: block; font-family: 'Lora', serif; font-style: italic; color: var(--cream); font-size: .42em; font-weight: 400; transform: rotate(-4deg); text-transform: none; }

/* Page hero (sub-pages) */
.page-hero { min-height: 46vh; display: flex; align-items: center; justify-content: center; text-align: center; background: var(--deep); color: var(--cream); position: relative; overflow: hidden; padding: 140px 24px 64px; }
.page-hero h1 { font-family: 'Perandory', 'Arial Narrow', serif; font-size: clamp(44px, 9vw, 100px); font-weight: 400; letter-spacing: .02em; margin: 0; text-transform: uppercase; }

/* Buttons */
.btn-cream { background: var(--cream); border: 1px solid var(--cream); color: var(--ink); border-radius: 999px; padding: .85rem 1.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.btn-cream:hover { background: var(--orange); border-color: var(--orange); color: var(--cream); }
.btn-outline-cream { border: 1px solid var(--cream); color: var(--cream); border-radius: 999px; padding: .7rem 1.4rem; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
.btn-outline-cream:hover { background: var(--cream); color: var(--ink); }

/* Sections */
.section-light { background: var(--paper); }
.section-dark { background: var(--deep); color: var(--cream); }
.section-accent { background: var(--orange); color: var(--cream); }
.peacock-scene { width: 100%; height: clamp(260px, 34vw, 360px); overflow: hidden; }
.peacock-2d { display: block; width: 100%; height: 100%; }
.peacock-dance { transform-box: fill-box; transform-origin: center bottom; animation: peacock-hop 1.8s ease-in-out infinite; }
.peacock-tail { transform-box: fill-box; transform-origin: center bottom; animation: peacock-sway 2.4s ease-in-out infinite; }
.feather { fill: var(--teal); stroke: var(--sky); stroke-width: 3; transform-box: fill-box; transform-origin: center bottom; }
.feather::after { content: ''; }
.feather-1 { transform: rotate(-48deg); fill: var(--teal); }
.feather-2 { transform: rotate(-32deg); fill: var(--sky); }
.feather-3 { transform: rotate(-16deg); fill: var(--teal); }
.feather-4 { transform: rotate(0deg); fill: var(--sky); }
.feather-5 { transform: rotate(16deg); fill: var(--teal); }
.feather-6 { transform: rotate(32deg); fill: var(--sky); }
.feather-7 { transform: rotate(48deg); fill: var(--teal); }
.peacock-neck, .peacock-body, .peacock-head { fill: var(--sky); stroke: var(--teal); stroke-width: 4; }
.peacock-beak, .peacock-crest, .peacock-legs { fill: none; stroke: var(--orange); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.peacock-beak { fill: var(--orange); stroke-width: 2; }
@keyframes peacock-hop { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(2deg); } }
@keyframes peacock-sway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
.eyebrow { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; margin-bottom: 1rem; }
.lead-serif { font-size: clamp(24px, 3vw, 36px); line-height: 1.15; }
.callout { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.25rem 0; font-size: 1.5rem; line-height: 1.2; margin-top: 1.5rem; }

/* Pillars */
.pillar-card { border-top: 1px solid rgba(248,236,201,.4); padding-top: 1.25rem; }
.pillar-card h3 { font-size: 1.9rem; margin-bottom: .75rem; }
.pillar-card p { color: rgba(248,236,201,.75); margin: 0; }

/* Impact */
.stat-label { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; border-top: 1px solid var(--line); padding-top: 1rem; margin: 0; }
.testimonial { max-width: 720px; }
.testimonial h3 { font-size: 1rem; letter-spacing: .18em; text-transform: uppercase; font-family: 'DM Sans', sans-serif; font-weight: 700; }
.blockquote { font-size: clamp(26px, 4vw, 44px); line-height: 1.05; }

/* Content helpers reused across sub-pages */
.list-plain { list-style: none; padding-left: 0; margin: 0; }
.list-plain li { padding: .35rem 0; border-bottom: 1px dashed var(--line); }
.card-plain { border: 1px solid var(--line); border-radius: 12px; padding: 2rem; height: 100%; background: #fff; }
.avatar-circle { width: 96px; height: 96px; border-radius: 50%; background: var(--sky); color: var(--teal); display: flex; align-items: center; justify-content: center; font-family: 'Perandory Condensed', 'Arial Narrow', serif; font-size: 1.4rem; margin: 0 auto 1rem; }
.gallery-placeholder { aspect-ratio: 4 / 3; border-radius: 10px; background: rgba(19,56,70,.08); border: 1px dashed var(--line); }

/* Footer */
.site-footer { background: var(--teal); color: var(--cream); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.site-footer a { color: var(--cream); text-underline-offset: 3px; }
.site-footer a:hover { text-decoration: underline; }

@media (max-width: 767.98px) {
  .hero, .page-hero { padding-top: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}