 *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}:root{--green:#2D5016;--green-mid:#3D6B1E;--green-lt:#EBF1E3;--clay:#B85C38;--clay-lt:#F7EDE7;--clay-dk:#8C3F22;--sky:#4A7FA5;--sky-lt:#E7F0F6;--cream:#F5EDD8;--stone:#FAF7F2;--bark:#2C2A25;--drift:#6B6560;--border:rgba(44,42,37,0.12);--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--body:'Source Serif 4',Georgia,serif;}html{scroll-behavior:smooth;}body{font-family:var(--body);font-size:17px;line-height:1.75;color:var(--bark);background:var(--stone);}nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,247,242,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:0 2rem;}.nav-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;}.logo{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--green);text-decoration:none;letter-spacing:-0.02em;}.logo span{color:var(--clay);}.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}.nav-links a{font-family:var(--sans);font-size:14px;font-weight:400;color:var(--drift);text-decoration:none;letter-spacing:0.01em;transition:color 0.2s;}.nav-links a:hover,.nav-links a.active{color:var(--green);}.nav-cta{font-family:var(--sans);font-size:14px;font-weight:500;background:var(--green);color:#fff !important;padding:9px 22px;border-radius:100px;text-decoration:none;transition:background 0.2s;}.nav-cta:hover{background:var(--green-mid) !important;}.nav-mobile-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}.nav-mobile-btn span{display:block;width:24px;height:2px;background:var(--bark);border-radius:2px;transition:0.3s;}.page-hero{padding:9rem 2rem 5rem;background:var(--stone);border-bottom:1px solid var(--border);}.page-hero.dark{background:var(--green);border-bottom:none;}.page-hero.clay{background:var(--clay);border-bottom:none;}.page-hero.cream{background:var(--cream);}.container{max-width:1160px;margin:0 auto;}.container-narrow{max-width:780px;margin:0 auto;}.page-overline{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem;display:flex;align-items:center;gap:8px;}.page-overline::before{content:'';display:block;width:24px;height:1.5px;background:var(--clay);}.page-hero.dark .page-overline,.page-hero.clay .page-overline{color:rgba(255,255,255,0.6);}.page-hero.dark .page-overline::before,.page-hero.clay .page-overline::before{background:rgba(255,255,255,0.4);}.page-h1{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:400;line-height:1.12;letter-spacing:-0.025em;color:var(--bark);margin-bottom:1.25rem;}.page-h1 em{font-style:italic;color:var(--green);}.page-hero.dark .page-h1,.page-hero.clay .page-h1{color:#fff;}.page-hero.dark .page-h1 em{color:var(--cream);}.page-hero.clay .page-h1 em{color:var(--cream);}.page-lead{font-size:18px;color:var(--drift);max-width:600px;line-height:1.7;}.page-hero.dark .page-lead,.page-hero.clay .page-lead{color:rgba(255,255,255,0.72);}section{padding:6rem 2rem;}.section-label{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem;}.section-heading{font-family:var(--serif);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:400;line-height:1.18;letter-spacing:-0.02em;color:var(--bark);margin-bottom:1.25rem;}.section-heading em{font-style:italic;color:var(--green);}.section-body{font-size:17px;color:var(--drift);max-width:580px;line-height:1.75;}.btn-primary{font-family:var(--sans);font-size:15px;font-weight:500;background:var(--green);color:#fff;padding:13px 28px;border-radius:100px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background 0.2s,transform 0.15s;}.btn-primary:hover{background:var(--green-mid);transform:translateY(-1px);}.btn-clay{font-family:var(--sans);font-size:15px;font-weight:500;background:var(--clay);color:#fff;padding:13px 28px;border-radius:100px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background 0.2s,transform 0.15s;}.btn-clay:hover{background:var(--clay-dk);transform:translateY(-1px);}.btn-ghost{font-family:var(--sans);font-size:15px;font-weight:400;color:var(--bark);text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-bottom:1.5px solid var(--border);padding-bottom:2px;transition:border-color 0.2s,color 0.2s;}.btn-ghost:hover{color:var(--green);border-color:var(--green);}.btn-ghost-light{font-family:var(--sans);font-size:14px;font-weight:500;background:rgba(255,255,255,0.12);color:#fff;padding:12px 26px;border-radius:100px;text-decoration:none;border:1px solid rgba(255,255,255,0.25);display:inline-block;transition:background 0.2s;}.btn-ghost-light:hover{background:rgba(255,255,255,0.22);}.testimonial-section{background:var(--clay);padding:7rem 2rem;}.testimonial-inner{max-width:860px;margin:0 auto;text-align:center;}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:3rem;max-width:1000px;margin:0 auto;}.testimonial-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:2.5rem;box-shadow:0 24px 50px rgba(0,0,0,0.09);text-align:left;}.testimonial-card .quote-mark{font-family:var(--serif);font-size:6rem;color:rgba(255,255,255,0.18);line-height:0.5;margin-bottom:1rem;margin-top:1rem;display:block;text-align:left;}.testimonial-card .testimonial-text{font-family:var(--serif);font-size:15.5px;font-weight:300;font-style:italic;color:#fff;line-height:1.7;margin-bottom:2rem;letter-spacing:-0.01em;text-align:left;}.testimonial-card .testimonial-text strong{font-style:normal;font-weight:400;color:var(--cream);}.testimonial-card .testimonial-attribution{display:flex;align-items:center;justify-content:flex-start;gap:1rem;}.attr-avatar{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.18);border:2px solid rgba(255,255,255,0.35);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14px;font-weight:500;color:#fff;}.attr-name{font-family:var(--sans);font-size:20px;font-weight:500;color:#fff;}.attr-role{font-family:var(--sans);font-size:16px;color:rgba(255,255,255,0.65);line-height:1.4;}.cta-strip{background:var(--cream);padding:6rem 2rem;text-align:center;}.cta-strip h2{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;letter-spacing:-0.025em;color:var(--bark);margin-bottom:1rem;line-height:1.15;}.cta-strip h2 em{font-style:italic;color:var(--green);}.cta-strip p{font-size:17px;color:var(--drift);max-width:500px;margin:0 auto 2.25rem;line-height:1.7;}.cta-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;}.land-ack{background:var(--green);color:rgba(255,255,255,0.82);text-align:center;padding:1.25rem 2rem;font-family:var(--sans);font-size:13.5px;line-height:1.6;letter-spacing:0.01em;}.land-ack strong{color:#fff;font-weight:500;}footer{background:var(--bark);color:rgba(255,255,255,0.6);padding:4rem 2rem 2.5rem;font-family:var(--sans);font-size:14px;}.footer-inner{max-width:1160px;margin:0 auto;}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:2rem;}.footer-brand .logo{font-size:20px;display:block;margin-bottom:0.75rem;}.footer-brand p{color:rgba(255,255,255,0.5);font-size:13.5px;line-height:1.65;max-width:300px;margin-bottom:1.25rem;}.footer-contact a{display:block;color:rgba(255,255,255,0.65);text-decoration:none;font-size:13px;margin-bottom:0.35rem;transition:color 0.2s;}.footer-contact a:hover{color:#fff;}.footer-col h4{font-size:13px;font-weight:500;color:rgba(255,255,255,0.9);margin-bottom:1rem;letter-spacing:0.05em;}.footer-col ul{list-style:none;}.footer-col ul li{margin-bottom:0.5rem;}.footer-col ul a{color:rgba(255,255,255,0.5);text-decoration:none;font-size:13px;transition:color 0.2s;}.footer-col ul a:hover{color:rgba(255,255,255,0.9);}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,0.3);flex-wrap:wrap;gap:0.5rem;}@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}.fade-up{opacity:0;animation:fadeUp 0.65s ease forwards;}.d1{animation-delay:0.1s;}.d2{animation-delay:0.25s;}.d3{animation-delay:0.4s;}@media (max-width:900px){.nav-links{display:none;}.nav-mobile-btn{display:flex;}.footer-grid{grid-template-columns:1fr;gap:2rem;}.testimonials-grid{grid-template-columns:1fr;}}@media (max-width:600px){section{padding:4rem 1.25rem;}.page-hero{padding:8rem 1.25rem 4rem;}}
/* --- IMAGE PLACEHOLDERS & GALLERY --- */
.gallery-section { background: var(--stone); padding: 5rem 2rem; border-top: 1px solid var(--border); }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem; margin-top: 3rem; }
.gallery-img-wrapper { position: relative; width: 100%; padding-top: 75%; border-radius: 16px; overflow: hidden; background: var(--border); }
.gallery-img-wrapper img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.03); color: rgba(0,0,0,0.4); font-family: var(--sans); font-size: 13px; font-weight: 500; text-align: center; border: 2px dashed rgba(0,0,0,0.1); border-radius: inherit; }
.program-card { padding: 0 !important; display: flex; flex-direction: column; overflow: hidden; }
.program-card-inner { padding: 2rem; display: flex; flex-direction: column; flex: 1; }
.program-card-img { width: 100%; height: 220px; position: relative; background: var(--green-lt); }
.prog-card-img { width: 100%; height: 100%; min-height: 240px; position: relative; background: var(--sky-lt); }
.featured-img-wrapper { width: 100%; padding-top: 50%; max-height: 480px; position: relative; border-radius: 24px; overflow: hidden; margin: 3rem 0; background: var(--clay-lt); }
