@import"https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600&family=Source+Sans+Pro:wght@300;400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--font-primary: "Crimson Text", serif;--font-secondary: "Source Sans Pro", sans-serif;--text-xs: .875rem;--text-sm: 1rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--text-4xl: 3.75rem;--color-warm-sand: #FAF8F3;--color-sacred-ochre: #C19A6B;--color-deep-earth: #3E2723;--color-sage: #7A8B7F;--color-sky-dusk: #E4D5C7;--color-soft-white: #FEFDFB;--color-stone-gray: #6B6B6B;--color-clay-rose: #D4A59A;--light-sage: var(--color-warm-sand);--medium-sage: var(--color-sage);--teal-blue: var(--color-sage);--dark-teal: var(--color-deep-earth);--charcoal: var(--color-deep-earth);--primary-color: var(--color-deep-earth);--secondary-color: var(--color-warm-sand);--accent-color: var(--color-sacred-ochre);--text-light: var(--color-soft-white);--text-dark: var(--color-deep-earth);--shadow-soft: 0 4px 20px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 30px rgba(0, 0, 0, .12);--border-radius: 8px}html{scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--text-base);line-height:1.8;color:var(--color-deep-earth);background-color:var(--color-soft-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:400;letter-spacing:.05em;line-height:1.4;margin-bottom:1.5rem;color:var(--color-deep-earth)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.section{padding:100px 0;position:relative}.section:nth-child(2n){background-color:var(--color-warm-sand)}.section-title{font-size:var(--text-3xl);text-align:center;margin-bottom:4rem;color:var(--color-deep-earth)}.container{max-width:1200px;margin:0 auto;padding:0 40px}.btn{font-family:var(--font-secondary);font-size:var(--text-sm);font-weight:400;letter-spacing:.15em;text-transform:uppercase;padding:14px 32px;border:2px solid var(--color-sacred-ochre);background:transparent;color:var(--color-sacred-ochre);border-radius:8px;transition:all .3s ease;cursor:pointer;display:inline-block;text-decoration:none}.btn:hover{background-color:var(--color-sacred-ochre);color:var(--color-soft-white);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-secondary{border-color:var(--color-sage);color:var(--color-sage)}.btn-secondary:hover{background-color:var(--color-sage);color:var(--color-soft-white)}.btn-large{padding:16px 40px;font-size:var(--text-base)}@media (max-width: 768px){:root{--text-3xl: 2.25rem;--text-4xl: 2.75rem}.container{padding:0 20px}.section{padding:60px 0}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}.navbar{position:fixed;top:0;width:100%;background:#fefdfbf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:20px 0;transition:all .3s ease;box-shadow:var(--shadow-soft)}.nav-content{display:flex;justify-content:space-between;align-items:center}.nav-brand h2{margin:0;font-size:var(--text-xl);color:var(--color-deep-earth);font-family:var(--font-primary);font-weight:600}.nav-brand .tagline{font-family:var(--font-secondary);font-size:var(--text-sm);font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--color-stone-gray);margin-top:.5rem}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center;margin:0}.nav-links a{font-family:var(--font-secondary);font-size:var(--text-sm);color:var(--color-deep-earth);text-decoration:none;margin:0 1rem;position:relative;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--color-sacred-ochre);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--color-sacred-ochre)}.nav-links a.active{color:var(--color-sacred-ochre);font-weight:500}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:5px}.nav-toggle span{width:25px;height:3px;background-color:var(--color-deep-earth);margin:3px 0;transition:.3s}@media (max-width: 768px){.navbar{padding:15px 0}.nav-brand h2{font-size:var(--text-lg)}.nav-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;background:#fefdfbfa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);flex-direction:column;padding:2rem 1rem;gap:1.5rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:var(--shadow-soft)}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.nav-links a{margin:0}}.hero{position:relative;width:100%;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-carousel{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;transition:opacity 1.5s ease-in-out}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#3e272366,#3e272380,#3e272399);z-index:1}.hero-content{position:relative;text-align:center;width:90%;max-width:800px;margin:0 auto;padding:0 20px;z-index:2}.hero h1{font-family:var(--font-primary);font-size:clamp(2rem,5vw,3.75rem);font-weight:400;margin-bottom:2rem;letter-spacing:.08em;color:var(--color-soft-white);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-description{font-family:var(--font-primary);font-size:clamp(1rem,2vw,1.25rem);line-height:1.8;color:var(--color-soft-white);font-weight:300;letter-spacing:.02em;opacity:.95;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.carousel-dots{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:3}.dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-soft-white);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.dot.active{background:var(--color-soft-white);transform:scale(1.2)}.dot:hover{background:var(--color-soft-white);opacity:.7}.hero-slide.portrait{background-position:center top}.hero-slide:nth-child(2){background-position:center 30%}@media (min-width: 769px){.hero-slide{background-size:cover;background-position:center center!important}}@media (max-width: 768px){.hero{min-height:500px}.carousel-dots{bottom:20px}.hero-slide.portrait,.hero-slide:nth-child(2){background-position:center center}}@media (min-width: 769px) and (max-width: 1024px){.hero-content{width:85%}}@media (min-width: 1440px){.hero-content{max-width:900px}}.offerings{background-color:var(--color-warm-sand)}.offerings-page{max-width:1200px;margin:0 auto;padding:6rem 2rem 3rem;min-height:100vh}.page-container{padding-top:80px}.intro-text{font-size:var(--text-lg);line-height:1.7;color:var(--color-stone-gray);margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto;text-align:center;font-family:var(--font-primary)}.offerings-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:3rem}@media (min-width: 768px){.offerings-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem}}.offering-card{background-color:var(--color-sky-dusk);border-radius:12px;padding:3rem 2.5rem;transition:all .3s ease;box-shadow:var(--shadow-soft)}.offering-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.offering-title{font-size:var(--text-xl);margin-bottom:.5rem;color:var(--color-deep-earth);line-height:1.3;font-family:var(--font-primary);font-weight:400}.event-date{font-family:var(--font-secondary);font-size:var(--text-sm);color:var(--color-stone-gray);font-weight:300;letter-spacing:.05em;margin-bottom:1.5rem}.event-description{font-size:var(--text-base);line-height:1.8;margin-bottom:2rem;color:var(--color-deep-earth);font-family:var(--font-primary)}.event-description p{margin-bottom:1.5rem}.event-description p:last-child{margin-bottom:0}.event-header{display:flex;justify-content:center;margin-bottom:2rem}.teacher-portrait{width:190px;height:190px;border-radius:50%;object-fit:cover;object-position:center;border:4px solid var(--color-sacred-ochre);box-shadow:0 4px 20px #0000001a}.bio-toggle{background:none;border:none;color:var(--color-sacred-ochre);font-family:var(--font-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;padding:0;margin:1.5rem 0;display:flex;align-items:center;gap:.5rem;transition:color .3s ease}.bio-toggle:hover{color:var(--color-deep-earth)}.bio-toggle .arrow{display:inline-block;transition:transform .3s ease;font-size:.8em}.bio-toggle .arrow.up{transform:rotate(180deg)}.bio-content{max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .3s ease;opacity:0}.bio-content.expanded{max-height:1200px;opacity:1;margin-bottom:2rem}.bio-content p{font-size:var(--text-base);line-height:1.7;margin-bottom:1rem;color:var(--color-stone-gray);padding-top:.5rem;font-family:var(--font-primary)}.bio-content p:last-child{margin-bottom:0}.bio-content ul{list-style:none;padding-left:0;margin-bottom:1.5rem}.bio-content ul li{font-size:var(--text-base);line-height:1.7;color:var(--color-stone-gray);margin-bottom:.8rem;padding-left:1.5rem;position:relative}.bio-content ul li:before{content:"•";color:var(--color-sacred-ochre);font-weight:700;position:absolute;left:0}.bio-content strong{color:var(--color-deep-earth);font-weight:600}.bio-content em{font-style:italic;color:var(--color-stone-gray)}.logistics{font-style:italic;color:var(--color-stone-gray);margin-top:1.5rem;margin-bottom:2rem;font-size:var(--text-base)}.previous-offerings{margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(139,69,19,.1)}.previous-offerings .section-title{margin-bottom:2rem}.previous-offerings-list{max-width:900px;margin:0 auto}.year-group{margin-bottom:2.5rem}.year-header{font-weight:600;font-size:var(--text-lg);margin-bottom:1.5rem;color:var(--color-deep-earth);font-family:var(--font-secondary);letter-spacing:.05em}.offerings-cards{display:flex;flex-direction:column;gap:1rem}.previous-offering-card{background:#fff;border:1px solid rgba(139,69,19,.15);border-radius:8px;overflow:hidden;transition:all .3s ease}.previous-offering-card:hover{box-shadow:var(--shadow-soft)}.previous-offering-header{width:100%;padding:1rem 1.5rem;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left;font-family:var(--font-primary);transition:background-color .3s ease}.previous-offering-header:hover{background-color:#fefdfb80}.offering-title-row{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.offering-title-row strong{color:var(--color-deep-earth);font-size:var(--text-base);font-weight:500}.offering-date{color:var(--color-stone-gray);font-size:.95rem}.expand-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-sacred-ochre);font-size:1.25rem;font-weight:300;transition:transform .3s ease;flex-shrink:0}.expand-icon.expanded{transform:rotate(180deg)}.previous-offering-content{padding:1.25rem 1.5rem;animation:slideDown .3s ease-out;border-top:1px solid rgba(139,69,19,.1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.previous-offering-inner{display:flex;gap:1.5rem;align-items:flex-start}.offering-image-circular{flex-shrink:0;width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--color-warm-sand);box-shadow:0 2px 8px #0000001a}.offering-image-small{width:120px;height:120px;object-fit:cover;object-position:center;display:block}.offering-details{flex:1;min-width:0}.offering-description{margin-bottom:.75rem}.offering-description p{color:var(--color-stone-gray);line-height:1.6;font-size:var(--text-sm);margin:0}.offering-description strong,.offering-facilitator strong{color:var(--color-deep-earth);font-weight:500}.offering-facilitator p{color:var(--color-stone-gray);font-size:var(--text-sm);line-height:1.6;margin:0}@media (max-width: 640px){.previous-offering-inner{flex-direction:column;align-items:center;text-align:center}.offering-image-circular{margin-bottom:1rem}}.email-link{color:var(--color-sacred-ochre);text-decoration:none;transition:color .3s ease}.email-link:hover{color:var(--color-deep-earth);text-decoration:underline}.inline-link{color:var(--color-sacred-ochre);text-decoration:none;transition:color .3s ease}.inline-link:hover{color:var(--color-deep-earth);text-decoration:underline}.view-all-cta{text-align:center;margin-top:3rem}.cta-button{display:inline-block;padding:1rem 2rem;background:var(--color-sacred-ochre);color:#fff;text-decoration:none;border-radius:8px;font-family:var(--font-secondary);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease;box-shadow:var(--shadow-soft)}.cta-button:hover{background:var(--color-deep-earth);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.offerings-preview-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:3rem}@media (min-width: 768px){.offerings-preview-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem}}.offering-card .btn{position:relative;z-index:1;margin-top:1.5rem}#no-upcoming-offerings .intro-text{font-size:var(--text-lg);line-height:1.8;color:var(--color-stone-gray);margin-bottom:0}@media (max-width: 768px){.offerings-grid{grid-template-columns:1fr;gap:2rem}.offering-card{padding:2.25rem 1.75rem}.offering-title{font-size:var(--text-lg)}.event-description{font-size:var(--text-sm)}.bio-content.expanded{max-height:1600px}.teacher-portrait{width:160px;height:160px}.intro-text{font-size:var(--text-base);margin-bottom:2rem}.previous-offerings{margin-top:3rem;padding-top:2rem}}.about{background-color:var(--color-soft-white)}.about h2{text-align:center;margin-bottom:4rem}.about-content{max-width:800px;margin:0 auto;text-align:center}.about-content p{font-size:var(--text-lg);line-height:1.8;margin-bottom:2rem;color:var(--color-deep-earth);font-family:var(--font-primary)}.about-content p:last-child{margin-bottom:0}@media (max-width: 768px){.about h2{margin-bottom:3rem}.about-content p{font-size:var(--text-base);margin-bottom:1.5rem}}.contact{background-color:var(--color-warm-sand)}.contact h2{text-align:center;margin-bottom:2rem}.contact-intro{text-align:center;max-width:700px;margin:0 auto 4rem;font-size:var(--text-lg);line-height:1.8;color:var(--color-deep-earth);font-family:var(--font-primary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1000px;margin:0 auto}.contact-info h3,.contact-form h3{font-size:var(--text-xl);margin-bottom:2rem;color:var(--color-deep-earth);font-family:var(--font-primary);font-weight:400}.contact-detail{margin-bottom:1.5rem}.contact-detail .label{font-family:var(--font-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-sm);display:block;margin-bottom:.5rem;color:var(--color-stone-gray)}.contact-detail a{color:var(--color-sacred-ochre);text-decoration:none;font-size:var(--text-lg);font-family:var(--font-primary);transition:color .3s ease}.contact-detail a:hover{color:var(--color-deep-earth)}.location-note{font-style:italic;color:var(--color-stone-gray);line-height:1.6;font-family:var(--font-primary);font-size:var(--text-base)}.contact-form input,.contact-form textarea{width:100%;padding:14px 20px;margin-bottom:20px;border:1px solid rgba(122,139,127,.3);border-radius:8px;font-family:var(--font-primary);font-size:var(--text-base);background:#faf8f380;transition:all .3s ease;color:var(--color-deep-earth);box-sizing:border-box}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-sacred-ochre);background:var(--color-soft-white)}.contact-form textarea{resize:vertical;min-height:120px;font-family:var(--font-primary)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-stone-gray);opacity:.7;font-family:var(--font-primary)}.contact-form .btn{width:100%;margin-top:1rem}.contact-form .btn:disabled{opacity:.7;cursor:not-allowed}.success-message{text-align:center;padding:2rem;background:#c18a541a;border-radius:8px;color:var(--color-deep-earth)}.success-message h3{color:var(--color-sacred-ochre);margin-bottom:1rem;font-family:var(--font-primary)}.success-message p{margin-bottom:.5rem;font-family:var(--font-primary)}@media (max-width: 768px){.contact-content{grid-template-columns:1fr;gap:60px}.contact-intro{margin-bottom:3rem;font-size:var(--text-base)}.contact-info h3,.contact-form h3{font-size:var(--text-lg)}}.footer{background-color:var(--color-deep-earth);color:var(--color-soft-white);padding:60px 0 20px;margin-top:100px}.footer-content{display:grid;grid-template-columns:2fr 1fr 2fr;gap:60px;margin-bottom:40px}.footer-section h3{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:400;margin-bottom:1rem;color:var(--color-soft-white)}.footer-section h4{font-family:var(--font-secondary);font-size:var(--text-base);font-weight:400;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:var(--color-soft-white)}.footer-section p{line-height:1.6;color:#fefdfbcc;margin-bottom:1rem;font-family:var(--font-primary)}.footer-section a{color:var(--color-sacred-ochre);text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:var(--color-soft-white)}.social-links{margin-top:1.5rem}.social-links a{color:var(--color-sacred-ochre);margin-right:1.5rem;transition:color .3s ease}.social-links a:hover{color:var(--color-soft-white)}.social-links svg{width:24px;height:24px}.newsletter-form{display:flex;gap:10px;margin-top:1rem}.newsletter-form input{flex:1;padding:12px 16px;border:1px solid rgba(254,253,251,.3);background:#fefdfb1a;border-radius:8px;color:var(--color-soft-white);font-family:var(--font-primary);font-size:var(--text-base)}.newsletter-form input::placeholder{color:#fefdfb80}.newsletter-form input:focus{outline:none;border-color:var(--color-sacred-ochre);background:#fefdfb26}.btn-subscribe{padding:12px 24px;background:var(--color-sacred-ochre);color:var(--color-soft-white);border:none;border-radius:8px;font-family:var(--font-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .3s ease}.btn-subscribe:hover{background:var(--color-clay-rose);transform:translateY(-1px)}.btn-subscribe:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-subscribe:disabled:hover{background:var(--color-sacred-ochre);transform:none}.newsletter-success{color:var(--color-sacred-ochre);font-style:italic;margin-top:1rem;font-family:var(--font-primary)}.footer-bottom{border-top:1px solid rgba(254,253,251,.2);padding-top:20px;text-align:center}.footer-bottom p{font-size:var(--text-sm);color:#fefdfb99;margin:0;font-family:var(--font-primary)}@media (max-width: 768px){.footer{padding:40px 0 20px;margin-top:60px}.footer-content{grid-template-columns:1fr;gap:40px;text-align:center}.newsletter-form{flex-direction:column}.social-links{display:flex;justify-content:center}}.App{min-height:100vh;display:flex;flex-direction:column}
