@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:85vh;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-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}.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}.news-grid,.visit-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}}