@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%, 100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:2rem}body{font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;color:#2a3631;background-color:#f7f5f2;line-height:1.65;margin:0;padding:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0.03;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}::selection{background:rgba(93,122,100,0.25);color:#1a2420}h1,h2,h3,h4,h5,h6{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.15;margin:0 0 1rem;color:#1a2420}h1{font-size:clamp(2.5rem, 8vw, 4.5rem);font-weight:400;letter-spacing:-0.03em;font-variation-settings:'opsz' 144}h2{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:500;letter-spacing:-0.02em}h3{font-size:1.25rem;font-weight:500}p{margin:0 0 1.25rem}a{color:#5d7a64;text-decoration:none;transition:all 0.2s ease-out;background:linear-gradient(to right, #5d7a64, #5d7a64) no-repeat right bottom;background-size:0 2px}a:hover,a:focus{color:#5d7a64;background-size:100% 2px;background-position:left bottom}.landing-page{min-height:100vh;display:flex;flex-direction:column;position:relative}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.hero{position:relative;display:flex;align-items:center;padding:5rem 2rem 3rem;overflow:hidden}@media (min-width: 768px){.hero{padding:6rem 4rem 4rem}}.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.hero-bg::before{content:'';position:absolute;top:-20%;right:-10%;width:80%;height:120%;background:radial-gradient(ellipse at 70% 30%, rgba(157,184,160,0.12) 0%, rgba(122,154,126,0.06) 30%, transparent 60%)}@media (min-width: 768px){.hero-bg::before{width:60%;height:140%}}.hero-content{position:relative;z-index:1;max-width:1100px;margin:0 auto;width:100%;display:grid;gap:3rem;align-items:center}@media (min-width: 768px){.hero-content{grid-template-columns:1fr 1.2fr;gap:5rem}}.hero-photo-wrapper{position:relative;animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s both;justify-self:center}@media (min-width: 768px){.hero-photo-wrapper{justify-self:end;order:2}}.hero-photo-wrapper::before{content:'';position:absolute;top:-15px;left:-15px;right:15px;bottom:15px;border:2px solid #5d7a64;border-radius:4px;opacity:0.6;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.hero-photo-wrapper:hover::before{top:-20px;left:-20px;opacity:0.8}.hero-photo{width:240px;height:300px;object-fit:cover;object-position:center top;display:block;border-radius:4px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.15),0 10px 20px -5px rgba(0,0,0,0.1);transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}@media (min-width: 768px){.hero-photo{width:320px;height:400px}}.hero-photo-wrapper:hover .hero-photo{transform:translate(5px, -5px)}@media (min-width: 768px){.hero-text{order:1}}.hero-tagline{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both;font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:0.2em;color:#5d7a64;margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.hero-tagline::before{content:'';width:40px;height:1px;background:#5d7a64}@media (min-width: 768px){.hero-tagline::before{width:60px}}.hero-name{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s both;margin-bottom:1.5rem}.hero-name em{font-style:italic;color:#5d7a64}.hero-description{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s both;font-size:1.125rem;color:#4a5a54;line-height:1.7;max-width:480px;margin-bottom:2rem}@media (min-width: 768px){.hero-description{font-size:1.1875rem}}.hero-location{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9375rem;color:#6b7b74;padding:0.625rem 1rem;background:#f2efeb;border-radius:100px;border:1px solid rgba(93,122,100,0.1)}.hero-location svg{color:#5d7a64;opacity:0.8}.cards-section{padding:2rem 2rem 4rem;position:relative}@media (min-width: 768px){.cards-section{padding:2rem 4rem 6rem}}.cards-grid{display:grid;gap:2rem;max-width:900px;margin:0 auto}@media (min-width: 768px){.cards-grid{grid-template-columns:repeat(2, 1fr);gap:2.5rem}}.card{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s both;background:#fdfcfa;border-radius:3px;padding:2.5rem;position:relative;border:1px solid rgba(26,36,32,0.06);transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.card::before{content:'';position:absolute;top:0;left:2.5rem;width:40px;height:3px;background:#5d7a64;border-radius:0 0 2px 2px;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -15px rgba(0,0,0,0.1),0 10px 20px -10px rgba(0,0,0,0.05)}.card:hover::before{width:60px}.card:nth-child(2){animation-delay:0.4s}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.card-icon{width:52px;height:52px;border-radius:50%;background:rgba(93,122,100,0.08);color:#5d7a64;display:flex;align-items:center;justify-content:center;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);flex-shrink:0}.card:hover .card-icon{background:#5d7a64;color:#fdfcfa;transform:rotate(-5deg)}.card-icon-fanfare{background:rgba(242,160,61,0.1)}.card:hover .card-icon-fanfare{background:rgba(242,160,61,0.15);transform:rotate(-5deg)}.card-title{font-size:1.5rem;margin-bottom:0;font-weight:500}.card-description{color:#4a5a54;font-size:1rem;line-height:1.75;margin-bottom:1.5rem}.card-description a{font-weight:500}.card-featured{display:flex;flex-direction:column}.card-featured .card-description{flex-grow:1}.performances-section{padding:3rem 2rem;background:#fdfcfa}@media (min-width: 768px){.performances-section{padding:4rem 4rem}}.performances-container{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s both;max-width:900px;margin:0 auto}.performances-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.performances-icon{width:48px;height:48px;border-radius:50%;background:rgba(93,122,100,0.1);color:#5d7a64;display:flex;align-items:center;justify-content:center;flex-shrink:0}.performances-header-text{flex:1}.performances-title{font-size:1.5rem;margin-bottom:0.25rem}@media (min-width: 768px){.performances-title{font-size:1.75rem}}.performances-subtitle{color:#6b7b74;font-size:0.9375rem;margin:0}.photography-section{padding:4rem 2rem;background:#f2efeb}@media (min-width: 768px){.photography-section{padding:5rem 4rem}}.photography-container{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both;max-width:900px;margin:0 auto}.photography-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}@media (min-width: 600px){.photography-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.photography-header-text{flex:1}.photography-title{font-size:1.75rem;margin-bottom:0.375rem}@media (min-width: 768px){.photography-title{font-size:2rem}}.photography-subtitle{color:#6b7b74;font-size:0.9375rem;margin:0}.photography-link{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.8125rem;font-weight:500;color:#5d7a64;background:none;white-space:nowrap}.photography-link svg{transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.photography-link:hover{color:#475d4c}.photography-link:hover svg{transform:translate(2px, -2px)}.photography-gallery{columns:2;column-gap:0.75rem}@media (min-width: 600px){.photography-gallery{columns:3;column-gap:1rem}}.gallery-item{position:relative;overflow:hidden;border-radius:3px;background:linear-gradient(135deg, #f7f5f2 0%, #fdfcfa 100%);margin-bottom:0.75rem;break-inside:avoid}@media (min-width: 600px){.gallery-item{margin-bottom:1rem}}.gallery-item img{width:100%;height:auto;display:block;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);filter:saturate(0.9)}.gallery-item:hover img{transform:scale(1.03);filter:saturate(1)}.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(26,36,32,0.3) 0%, transparent 50%);opacity:0;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);pointer-events:none}.gallery-item:hover::after{opacity:1}.card-details{list-style:none;padding:0;margin:0 0 2rem;font-size:0.9375rem;color:#4a5a54}.card-details li{margin-bottom:0.75rem;padding-left:1.75rem;position:relative}.card-details li::before{content:'';position:absolute;left:0;top:0.625rem;width:8px;height:2px;background:#5d7a64}.card-details li:last-child{margin-bottom:0}.card-links{list-style:none;padding:0;margin:0}.card-links li{margin-bottom:0.75rem}.card-links li:last-child{margin-bottom:0}.card-links a{display:inline-flex;align-items:center;font-size:1rem;font-weight:500;padding:0.5rem 0;background:none}.card-links a::after{content:'\2192';margin-left:0.75rem;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);opacity:0.5}.card-links a:hover::after{transform:translateX(8px);opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;border-radius:3px;border:none;cursor:pointer;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);text-decoration:none;background-image:none;position:relative;overflow:hidden}.btn-primary{background:#5d7a64;color:#fdfcfa;box-shadow:0 4px 15px rgba(93,122,100,0.25)}.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);transition:left 0.5s ease}.btn-primary:hover{background:#526c58;color:#fdfcfa;transform:translateY(-3px);box-shadow:0 8px 25px rgba(93,122,100,0.35);background-size:0}.btn-primary:hover::before{left:100%}.btn-outline{background-color:transparent;color:#5d7a64;border:2px solid #5d7a64;box-shadow:none}.btn-outline:hover{background-color:#5d7a64;color:#fdfcfa;transform:translateY(-3px);box-shadow:0 8px 25px rgba(93,122,100,0.25);background-size:0}.performances-list{display:flex;flex-direction:column;gap:0.75rem}.performance-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.25rem;background:#fdfcfa;border-radius:3px;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);border:1px solid rgba(26,36,32,0.04)}.performance-item:hover{border-color:rgba(93,122,100,0.2);transform:translateX(3px)}@media (max-width: 600px){.performance-item{grid-template-columns:auto 1fr;gap:0.75rem}}.performance-date{display:flex;flex-direction:column;align-items:center;min-width:48px;padding:0.5rem;background:rgba(93,122,100,0.08);border-radius:3px;text-align:center}.performance-month{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#5d7a64}.performance-day{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.25rem;line-height:1;color:#1a2420}.performance-details{display:flex;flex-direction:column;gap:0.125rem;min-width:0}.performance-ensemble{font-weight:600;font-size:0.9375rem;color:#1a2420;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-event{font-size:0.8125rem;color:#4a5a54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-venue{font-size:0.75rem;color:#8a9a94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-time{font-size:0.75rem;color:#6b7b74;margin-top:0.25rem}.performance-link{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#5d7a64;padding:0.5rem 0.875rem;border:1px solid rgba(93,122,100,0.3);border-radius:3px;background:none;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);white-space:nowrap}.performance-link:hover{background:#5d7a64;color:#fdfcfa;border-color:#5d7a64;background-size:0}@media (max-width: 600px){.performance-link{grid-column:2;justify-self:start}}.blog-latest-section{padding:2.5rem 2rem;background:#f2efeb;text-align:center}@media (min-width: 768px){.blog-latest-section{padding:3rem 4rem}}.blog-latest{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both;display:flex;flex-direction:column;align-items:center;gap:0.5rem}.blog-latest-label{font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.2em;color:#8a9a94;font-weight:600}.blog-latest-link{display:inline-flex;align-items:center;gap:0.5rem;font-family:"Fraunces",Georgia,serif;font-size:1.125rem;font-weight:400;font-style:italic;color:#1a2420;background:none}.blog-latest-link svg{transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);opacity:0.4;flex-shrink:0}.blog-latest-link:hover{color:#5d7a64;background:none}.blog-latest-link:hover svg{transform:translate(2px, -2px);opacity:0.8}.connect-section{padding:3rem 2rem 4rem;background:#f2efeb;text-align:center}@media (min-width: 768px){.connect-section{padding:3rem 4rem 5rem}}.connect-card{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .5s both;max-width:900px;margin:0 auto}.connect-title{font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.2em;color:#8a9a94;margin-bottom:1.25rem;font-weight:600}.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:0.75rem}.social-links a{display:inline-flex;align-items:center;gap:0.625rem;padding:0.75rem 1.25rem;border-radius:100px;font-size:0.9375rem;font-weight:500;color:#4a5a54;background:#fdfcfa;background-image:none;border:1px solid rgba(26,36,32,0.06);transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.social-links a svg{transition:all 0.2s ease-out;opacity:0.7}.social-links a:hover{color:#5d7a64;background:#fdfcfa;background-image:none;border-color:rgba(93,122,100,0.25);transform:translateY(-2px);box-shadow:0 4px 12px -4px rgba(0,0,0,0.12)}.social-links a:hover svg{transform:scale(1.1);opacity:1}.contact-section{padding:5rem 2rem 6rem;background:#1a2420;margin-top:auto;position:relative;overflow:hidden}@media (min-width: 768px){.contact-section{padding:6rem 4rem 7rem}}.contact-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, #5d7a64, transparent);opacity:0.5}.contact-section::after{content:'';position:absolute;top:-50%;right:-20%;width:60%;height:100%;background:radial-gradient(ellipse at center, rgba(93,122,100,0.08) 0%, transparent 60%);pointer-events:none}.contact-container{animation:fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s both;max-width:560px;margin:0 auto;text-align:center;position:relative;z-index:1}.contact-title{color:#fdfcfa;margin-bottom:0.75rem;font-size:clamp(2rem, 5vw, 2.75rem);font-weight:400}.contact-subtitle{color:rgba(255,255,255,0.5);margin-bottom:3rem;font-size:1.0625rem}.contact-form{text-align:left}.form-row{display:grid;gap:1.25rem}@media (min-width: 500px){.form-row{grid-template-columns:1fr 1fr}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:0.8125rem;font-weight:500;color:rgba(255,255,255,0.7);margin-bottom:0.625rem;letter-spacing:0.02em}.form-input,.form-select,.form-textarea{width:100%;padding:1rem 1.25rem;font-size:1rem;font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;border:1px solid rgba(255,255,255,0.12);border-radius:3px;background:rgba(255,255,255,0.04);color:#fdfcfa;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,0.3)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.06)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#5d7a64;background:rgba(255,255,255,0.08);box-shadow:0 0 0 3px rgba(93,122,100,0.15)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' fill-opacity='0.6' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.25rem center;padding-right:3rem;cursor:pointer}.form-select option{background:#2a3631;color:#fdfcfa}.form-textarea{min-height:140px;resize:vertical}.form-submit{width:100%;padding:1.25rem;font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;background:#5d7a64;color:#fdfcfa;border:none;border-radius:3px;cursor:pointer;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);position:relative;overflow:hidden}.form-submit::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);transition:left 0.6s ease}.form-submit:hover{background:#7a9a7e;transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(93,122,100,0.5)}.form-submit:hover::before{left:100%}.form-submit:active{transform:translateY(0)}.footer{text-align:center;padding:2rem;background:#141b18;color:rgba(255,255,255,0.35);font-size:0.875rem}.footer p{margin:0}.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}
