@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-deep-black:#000000;--color-cream:#F7F4EC;--color-cream-light:#FAF7F2;--color-gold:#C9B37E;--color-gold-dark:#B8A36D;--color-text-dark:#333333;--color-text-light:#666666;--color-text-cream:#EAEAEA;--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}.contact-page{font-family:var(--font-sans);background:var(--color-cream)}.contact-hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--color-deep-black);padding:6rem 1rem;overflow:hidden}.contact-hero:before{content:"";position:absolute;inset:0;opacity:.1;background-image: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='%23FAF8F3' fill-opacity='0.4'%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");z-index:1}.contact-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3));z-index:2}.contact-hero-content{position:relative;z-index:10;max-width:900px;margin:0 auto;text-align:center}.contact-hero-title{font-family:var(--font-serif);font-size:clamp(3rem,6vw,5rem);font-weight:600;color:var(--color-text-cream);margin-bottom:1.5rem;letter-spacing:2px;line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.5)}.contact-hero-accent{width:80px;height:3px;background:var(--color-gold);margin:0 auto 1.5rem}.contact-hero-subtitle{font-size:1.25rem;font-weight:300;color:var(--color-text-cream);opacity:.9;letter-spacing:.5px}.contact-content-section{padding:6rem 2rem;background:var(--color-cream)}.contact-content-container{max-width:1200px;margin:0 auto;display:grid;gap:3rem}.contact-details-card{background:white;padding:3rem;border-radius:8px;border:2px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-standard)}.contact-details-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-details-title{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--color-text-dark);margin-bottom:3rem;letter-spacing:.5px}.contact-details-title:after{content:"";display:block;width:60px;height:3px;background:var(--color-gold);margin-top:1rem}.contact-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem}.contact-detail-item{display:flex;flex-direction:column}.contact-detail-label{font-size:.75rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-family:var(--font-sans)}.contact-detail-value{color:var(--color-text-dark);text-decoration:none;font-size:1rem;transition:color var(--transition-standard);font-weight:400;word-break:break-word}.contact-detail-value:hover{color:var(--color-gold)}.contact-social-links{display:flex;flex-direction:column;gap:.75rem}.contact-social-link{color:var(--color-text-dark);text-decoration:none;font-size:1rem;transition:color var(--transition-standard);font-weight:400;text-transform:capitalize;display:inline-flex;align-items:center;gap:.5rem}.contact-social-link:before{content:"→";color:var(--color-gold);font-weight:600}.contact-social-link:hover{color:var(--color-gold)}.contact-form-card{background:white;padding:3rem;border-radius:8px;border:2px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-standard)}.contact-form-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-md)}.contact-form-title{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--color-text-dark);margin-bottom:3rem;letter-spacing:.5px}.contact-form-title:after{content:"";display:block;width:60px;height:3px;background:var(--color-gold);margin-top:1rem}.contact-form{display:flex;flex-direction:column;gap:2rem}.contact-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.contact-form-field{display:flex;flex-direction:column}.contact-form-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-light);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-sans)}.contact-form-input,.contact-form-textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e5e5;border-radius:8px;background:var(--color-cream-light);color:var(--color-text-dark);font-size:1rem;font-family:var(--font-sans);transition:all var(--transition-standard)}.contact-form-input:focus,.contact-form-textarea:focus{outline:none;border-color:var(--color-gold);background:white;box-shadow:0 0 0 3px rgba(201,179,126,.1)}.contact-form-textarea{resize:vertical;min-height:150px}.contact-form-input::placeholder,.contact-form-textarea::placeholder{color:var(--color-text-light);opacity:.6}.contact-form-submit{background:rgba(10,10,10,.85);color:var(--color-gold);padding:1rem 3rem;border:2px solid var(--color-gold);border-radius:8px;font-weight:600;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all var(--transition-standard);font-size:.875rem;font-family:var(--font-sans);box-shadow:0 0 20px rgba(201,179,126,.3);align-self:flex-start}.contact-form-submit: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 4px 20px rgba(0,0,0,.3);transform:translateY(-2px)}.contact-form-submit:focus{outline:3px solid var(--color-gold);outline-offset:3px}.parish-staff-section{background:var(--color-deep-black);padding:6rem 2rem;border-top:3px solid var(--color-gold)}.parish-staff-container{max-width:1200px;margin:0 auto}.parish-staff-title{font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;color:var(--color-text-cream);margin-bottom:4rem;letter-spacing:1px;text-align:center}.parish-staff-title:after{content:"";display:block;width:80px;height:3px;background:var(--color-gold);margin:1.5rem auto 0}.parish-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem}.staff-member-card{background:white;border-radius:8px;padding:0;overflow:hidden;border:2px solid transparent;transition:all var(--transition-standard);box-shadow:var(--shadow-md)}.staff-member-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.staff-member-photo{position:relative;width:100%;height:280px;overflow:hidden;background:var(--color-text-light)}.staff-member-photo img{transition:transform .5s ease}.staff-member-card:hover .staff-member-photo img{transform:scale(1.05)}.staff-member-content{padding:2rem}.staff-member-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text-dark);margin-bottom:.5rem}.staff-member-role{font-size:.875rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem}.staff-member-bio,.staff-member-role{color:var(--color-text-light);font-family:var(--font-sans)}.staff-member-bio{font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.staff-member-contact{border-top:1px solid #e5e5e5;padding-top:1rem}.staff-contact-label{font-size:.75rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-family:var(--font-sans)}.staff-contact-link{display:block;color:var(--color-text-dark);text-decoration:none;font-size:.95rem;margin-bottom:.5rem;transition:color var(--transition-standard);word-break:break-word}.staff-contact-link:hover{color:var(--color-gold)}.contact-error,.contact-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;background:var(--color-cream)}.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}.error-text,.loading-text{color:var(--color-text-dark);font-size:1.125rem}@media (max-width:768px){.contact-hero{padding:4rem 1rem;min-height:50vh}.contact-hero-title{font-size:2.5rem}.contact-content-section,.parish-staff-section{padding:4rem 1rem}.contact-details-card,.contact-form-card{padding:2rem}.contact-details-grid{gap:2rem}.contact-details-grid,.contact-form-row,.parish-staff-grid{grid-template-columns:1fr}}@media (max-width:600px){.contact-hero{padding:3rem 1rem;min-height:40vh}.contact-hero-title{font-size:2rem;letter-spacing:1px}.contact-content-section,.parish-staff-section{padding:3rem 1rem}.contact-details-card,.contact-form-card{padding:1.5rem}.contact-details-title,.contact-form-title{font-size:1.75rem;margin-bottom:2rem}.parish-staff-title{font-size:2rem;margin-bottom:3rem}.contact-form-submit{width:100%;align-self:stretch}.staff-member-photo{height:220px}.staff-member-content{padding:1.5rem}}: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){.contact-details-card,.contact-form-card,.contact-form-input,.contact-form-textarea,.staff-member-card{border-width:3px}}@media print{.contact-hero{background:white;color:black;min-height:auto;padding:2rem 1rem}.contact-hero-title{color:black;text-shadow:none}.contact-form-submit{display:none}.parish-staff-section{background:white}.parish-staff-title{color:black}.staff-member-card{page-break-inside:avoid}}