@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;600&display=swap");:root{--color-black:#0A0A0A;--color-cream:#F7F4EC;--color-cream-light:#FAF7F2;--color-gold:#C9B37E;--color-gold-dark:#B8A36D;--color-text-dark:#333333;--color-text-light:#666666;--font-serif:"Playfair Display",Georgia,serif;--font-sans:"Lato","Helvetica Neue",Arial,sans-serif;--shadow-sm:0 2px 8px rgba(0,0,0,0.1);--shadow-md:0 4px 16px rgba(0,0,0,0.12);--shadow-lg:0 8px 24px rgba(0,0,0,0.15);--transition-standard:0.3s ease}.home-container{background:var(--color-black);font-family:var(--font-sans);color:var(--color-cream)}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-black);overflow:hidden}.hero-background{z-index:1}.hero-background,.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.hero-overlay{background:linear-gradient(180deg,rgba(10,10,10,.3) 0,rgba(10,10,10,.5));z-index:2}.hero-content{position:relative;z-index:3;text-align:center;padding:4rem 1rem;max-width:1000px;margin:0 auto}.hero-title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:var(--color-cream);margin-bottom:1.5rem;letter-spacing:1px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero-subtitle{font-family:var(--font-sans);font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:300;color:var(--color-cream);margin-bottom:2.5rem;letter-spacing:.5px;line-height:1.6;opacity:.95}.hero-next-service{background:rgba(10,10,10,.4);border:1px solid rgba(201,179,126,.2);border-radius:12px;padding:1rem 2rem;margin:.5rem auto 1rem;max-width:600px;backdrop-filter:blur(8px);box-shadow:0 4px 20px rgba(0,0,0,.2),0 0 40px rgba(201,179,126,.05)}.hero-service-badge{display:inline-block;background:linear-gradient(135deg,#D4A76A,#C9B37E);color:var(--color-black);font-size:.75rem;font-weight:700;letter-spacing:1.5px;padding:.4rem 1rem;border-radius:20px;margin-bottom:1rem;text-transform:uppercase;box-shadow:0 2px 8px rgba(201,179,126,.3)}.hero-service-details{text-align:center}.hero-service-title{font-family:var(--font-serif);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;color:var(--color-cream);margin-bottom:1rem;letter-spacing:.5px;line-height:1.3}.hero-service-meta{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;font-family:var(--font-sans);font-size:.95rem;color:rgba(250,248,243,.85)}.hero-service-date,.hero-service-time{display:flex;align-items:center;gap:.5rem}.hero-service-date svg,.hero-service-time svg{width:18px;height:18px;opacity:.8;color:var(--color-gold)}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn-primary,.orthodox-button{display:inline-block;background:rgba(10,10,10,.85);color:var(--color-gold);padding:1rem 2.5rem;border-radius:4px;border:2px solid var(--color-gold);font-size:1.125rem;font-weight:600;font-family:var(--font-sans);text-decoration:none;transition:all var(--transition-standard);box-shadow:0 0 20px rgba(201,179,126,.3),0 0 40px rgba(201,179,126,.1);letter-spacing:.5px}.btn-primary:hover,.orthodox-button:hover{background:rgba(10,10,10,.95);color:var(--color-cream);border-color:var(--color-cream);box-shadow:0 0 30px rgba(201,179,126,.6),0 0 60px rgba(201,179,126,.3),0 4px 20px rgba(0,0,0,.3);transform:translateY(-2px)}.btn-primary:focus,.orthodox-button:focus{outline:3px solid var(--color-cream);outline-offset:3px}.current-project-btn{position:fixed;bottom:2rem;right:2rem;z-index:900;background:rgba(247,244,236,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;text-decoration:none;transition:all .4s ease;box-shadow:0 4px 20px rgba(0,0,0,.3);border:1px solid rgba(201,179,126,.3)}.current-project-btn:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.4);border-color:var(--color-gold)}.current-project-image{width:50px;height:50px;border-radius:50%;overflow:hidden}.current-project-text{display:flex;flex-direction:column;gap:.25rem}.current-project-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:400}.current-project-title{font-size:1rem;color:var(--color-text-dark);font-weight:600;font-family:var(--font-serif)}.cta-cards-section{background:var(--color-cream);padding:4rem 1rem}.cta-cards-container{max-width:1400px;margin:0 auto}.cta-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.cta-card{position:relative;height:400px;border-radius:8px;overflow:hidden;transition:transform var(--transition-standard),box-shadow var(--transition-standard),border-color var(--transition-standard);box-shadow:var(--shadow-sm);border:2px solid transparent}.cta-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-gold)}.cta-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%;transition:transform .5s ease}.cta-card:hover .cta-card-bg{transform:scale(1.05)}.cta-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(10,10,10,.3) 0,rgba(10,10,10,.7));z-index:1}.cta-card-content{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;padding:2rem}.cta-card-button{background:rgba(247,244,236,.95);color:var(--color-text-dark);padding:.875rem 2rem;border-radius:4px;font-size:1.125rem;font-weight:600;font-family:var(--font-sans);text-decoration:none;transition:background var(--transition-standard),color var(--transition-standard);letter-spacing:.3px}.cta-card:hover .cta-card-button{background:var(--color-gold);color:var(--color-black)}.about-parish-with-gallery{background:var(--color-black);padding:6rem 1rem;border-top:1px solid var(--color-gold)}.about-parish-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-parish-text{padding-right:2rem;padding-top:0;margin-top:0}.about-parish-heading{font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;color:var(--color-cream);line-height:1.2;letter-spacing:1px;margin-bottom:2rem;margin-top:0;position:relative}.about-parish-heading:after{content:"";position:absolute;bottom:-1rem;left:0;width:80px;height:2px;background:var(--color-gold)}.about-parish-content{color:var(--color-cream);font-size:1.125rem;line-height:1.8;font-weight:300;opacity:.9}.about-parish-content p{margin-bottom:1.5rem}.instagram-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:600px;transition:transform .3s ease;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md)}.instagram-gallery:hover{transform:scale(1.02)}.instagram-gallery-item{position:relative;padding-bottom:100%;overflow:hidden;background:var(--color-text-light)}.visit-section{background:var(--color-cream);padding:6rem 1rem;border-top:1px solid var(--color-gold)}.visit-section-container{max-width:1200px;margin:0 auto}.visit-heading{font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;color:var(--color-text-dark);text-align:center;margin-bottom:3rem;letter-spacing:.5px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:3rem}.visit-card{background:var(--color-cream-light);border-radius:8px;padding:2.5rem;box-shadow:var(--shadow-sm);border:2px solid transparent;transition:transform var(--transition-standard),box-shadow var(--transition-standard),border-color var(--transition-standard)}.visit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-gold)}.visit-card h3{font-family:var(--font-serif);font-size:1.75rem;color:var(--color-text-dark);margin-bottom:1.5rem;font-weight:600}.visit-times-list{list-style:none;padding:0;margin:0}.visit-times-list li{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(201,179,126,.2);font-size:1.125rem}.visit-times-list li:last-child{border-bottom:none}.visit-time-title{font-weight:600;color:var(--color-text-dark)}.visit-time-value{color:var(--color-text-light)}.visit-map-container{background:var(--color-cream-light);border-radius:8px;overflow:hidden;min-height:350px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:2px solid transparent;transition:border-color var(--transition-standard)}.visit-map-container:hover{border-color:var(--color-gold)}.visit-map-placeholder{color:var(--color-text-light);text-align:center}.visit-cta{text-align:center;margin-top:3rem}.visit-button{background:rgba(10,10,10,.85);color:var(--color-gold);padding:1rem 2.5rem;border-radius:4px;border:2px solid var(--color-gold);font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-block;transition:all var(--transition-standard);box-shadow:0 0 20px rgba(201,179,126,.3),0 0 40px rgba(201,179,126,.1)}.visit-button:hover{background:rgba(10,10,10,.95);color:var(--color-cream);border-color:var(--color-cream);box-shadow:0 0 30px rgba(201,179,126,.6),0 0 60px rgba(201,179,126,.3),0 4px 20px rgba(0,0,0,.3);transform:translateY(-2px)}.visit-button:focus{outline:3px solid var(--color-black);outline-offset:3px}.next-service-section{background:linear-gradient(135deg,var(--color-gold) 0,var(--color-gold-dark) 100%);padding:5rem 1rem;position:relative;overflow:hidden}.next-service-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.4;z-index:0}.next-service-container{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:1}.next-service-badge{display:inline-block;background:var(--color-black);color:var(--color-gold);padding:.5rem 1.5rem;border-radius:50px;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;box-shadow:0 4px 15px rgba(0,0,0,.3)}.next-service-heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--color-black);margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.next-service-content{background:white;padding:3rem 2rem;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.15);border:2px solid rgba(0,0,0,.1)}.next-service-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--color-gold);filter:drop-shadow(0 2px 4px rgba(201,179,126,.3))}.next-service-icon svg{width:100%;height:100%}.next-service-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;color:var(--color-black);margin-bottom:1.5rem;line-height:1.3}.next-service-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.next-service-date,.next-service-location,.next-service-time{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.125rem;color:var(--color-text-dark);font-weight:500}.next-service-date svg,.next-service-location svg,.next-service-time svg{width:20px;height:20px;color:var(--color-gold)}.next-service-description{font-size:1rem;color:var(--color-text-light);line-height:1.6;margin-bottom:1.5rem}.next-service-description,.next-service-location{padding-top:1rem;border-top:1px solid #e0e0e0}.next-service-button{display:inline-block;margin-top:1.5rem;padding:1rem 2.5rem;background:var(--color-black);color:var(--color-gold);font-size:1.125rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all var(--transition-standard);box-shadow:0 4px 15px rgba(0,0,0,.2);border:2px solid var(--color-black)}.next-service-button:hover{background:transparent;color:var(--color-black);transform:translateY(-2px);box-shadow:0 6px 25px rgba(0,0,0,.25)}.news-section{background:var(--color-black);padding:6rem 1rem;border-top:1px solid var(--color-gold)}.news-container{max-width:1400px;margin:0 auto}.news-heading{font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;color:var(--color-cream);text-align:center;margin-bottom:3rem;letter-spacing:.5px}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.news-card{background:var(--color-cream);border-radius:8px;overflow:hidden;transition:transform var(--transition-standard),box-shadow var(--transition-standard),border-color var(--transition-standard);box-shadow:var(--shadow-sm);border:2px solid transparent}.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-gold)}.news-card-image{position:relative;width:100%;height:240px;overflow:hidden;background:var(--color-text-light)}.news-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.news-card:hover .news-image{transform:scale(1.05)}.news-card-content{padding:2rem}.news-card-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text-dark);margin-bottom:1rem;line-height:1.3}.news-card-excerpt{color:var(--color-text-light);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.news-card-link{color:var(--color-gold);font-weight:600;text-decoration:none;transition:color var(--transition-standard);font-size:1rem}.news-card-link:hover{color:var(--color-gold-dark)}.news-cta{text-align:center;margin-top:3rem}.news-button{background:rgba(10,10,10,.85);color:var(--color-gold);padding:1rem 2.5rem;border-radius:4px;border:2px solid var(--color-gold);font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-block;transition:all var(--transition-standard);box-shadow:0 0 20px rgba(201,179,126,.3),0 0 40px rgba(201,179,126,.1)}.news-button:hover{background:rgba(10,10,10,.95);color:var(--color-cream);border-color:var(--color-cream);box-shadow:0 0 30px rgba(201,179,126,.6),0 0 60px rgba(201,179,126,.3),0 4px 20px rgba(0,0,0,.3);transform:translateY(-2px)}.liturgy-section{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;background:var(--color-black);overflow:hidden;border-top:1px solid var(--color-gold)}.liturgy-background{z-index:1}.liturgy-background,.liturgy-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.liturgy-overlay{background:linear-gradient(180deg,rgba(10,10,10,.3) 0,rgba(10,10,10,.5));z-index:2}.liturgy-content{position:relative;z-index:3;text-align:center;padding:4rem 1rem;max-width:900px;margin:0 auto}.liturgy-title{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--color-cream);margin-bottom:1.5rem;letter-spacing:1px;line-height:1.2}.liturgy-subtitle{font-family:var(--font-sans);font-size:clamp(1.125rem,2vw,1.375rem);font-weight:300;color:var(--color-cream);margin-bottom:2.5rem;letter-spacing:.5px;line-height:1.6;opacity:.95}.liturgy-button{background:rgba(10,10,10,.85);color:var(--color-gold);padding:1rem 2.5rem;border-radius:4px;border:2px solid var(--color-gold);font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-block;transition:all var(--transition-standard);box-shadow:0 0 20px rgba(201,179,126,.3),0 0 40px rgba(201,179,126,.1)}.liturgy-button:hover{background:rgba(10,10,10,.95);color:var(--color-cream);border-color:var(--color-cream);box-shadow:0 0 30px rgba(201,179,126,.6),0 0 60px rgba(201,179,126,.3),0 4px 20px rgba(0,0,0,.3);transform:translateY(-2px)}.home-error,.home-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;background:var(--color-black)}.loading-spinner{width:48px;height:48px;border:4px solid rgba(201,179,126,.2);border-top:4px solid var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{margin-top:1.5rem;color:var(--color-cream);font-size:1.125rem}.error-heading{font-family:var(--font-serif);font-size:2rem;color:#d32f2f;margin-bottom:1rem;font-weight:600}.error-text{color:var(--color-cream);font-size:1.125rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fadeInUp{animation:fadeInUp .8s ease forwards}.animate-fadeInLeft{animation:fadeInLeft .8s ease forwards}.animate-scaleIn{animation:scaleIn .6s ease forwards}.animation-delay-200{animation-delay:.2s;opacity:0}.animation-delay-400{animation-delay:.4s;opacity:0}.animation-delay-600{animation-delay:.6s;opacity:0}@media (max-width:768px){.hero-content{padding:3rem 1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.about-parish-container,.cta-cards-grid{grid-template-columns:1fr}.about-parish-container{gap:3rem}.about-parish-text{padding-right:0}.visit-grid{grid-template-columns:1fr}.next-service-section{padding:3rem 1rem}.next-service-content{padding:2rem 1.5rem}.next-service-details{gap:.75rem}.next-service-date,.next-service-time{font-size:1rem}.news-grid{grid-template-columns:1fr}.current-project-btn{bottom:1rem;right:1rem;padding:.75rem 1rem}}@media (max-width:600px){.hero-section{min-height:70vh}.hero-content{padding:2rem 1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;gap:1rem}.btn-primary,.orthodox-button{width:100%;text-align:center}.about-parish-with-gallery,.cta-cards-section,.liturgy-section,.news-section,.visit-section{padding:3rem 1rem}.about-parish-heading,.news-heading,.visit-heading{font-size:2rem}.cta-card{height:300px}.instagram-gallery{max-width:100%}.current-project-btn{flex-direction:column;text-align:center;padding:.75rem}.current-project-image{width:40px;height:40px}}:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.about-parish-with-gallery,.hero-section,.liturgy-section,.news-section{background:#000000}.cta-cards-section,.visit-section{background:#FFFFFF}.btn-primary,.liturgy-button,.news-button,.orthodox-button,.visit-button{border:2px solid}}