.contact-container{max-width:1400px;margin:0 auto;padding:0 1rem}.contact-container>*:first-child{margin-top:1rem}.contact-hero{height:60vh;background:linear-gradient(#08193ab3,#08193a80),url(/images/about/garden-1.jpeg) center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.contact-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,var(--color-primary) 0%,transparent 50%,var(--color-secondary) 100%);opacity:.1;animation:heroShimmer 8s ease-in-out infinite}@keyframes heroShimmer{0%,to{opacity:.1}50%{opacity:.2}}.hero-content h1{font-size:clamp(3rem,6vw,5rem);font-weight:700;margin-bottom:1rem;animation:slideUp 1s ease-out;font-family:EB Garamond,serif}.hero-content p{font-size:clamp(1.2rem,2vw,1.5rem);opacity:.95;max-width:600px;margin:0 auto;animation:slideUp 1s ease-out .3s both}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.name-style{color:var(--color-secondary);font-family:var(--font-serif);letter-spacing:.02em}.section-header{text-align:center;margin-bottom:2rem;padding:1rem 0}.section-header h2{font-size:clamp(2.5rem,4vw,3.5rem);color:var(--color-primary);margin-bottom:1rem;position:relative;font-family:EB Garamond,serif}.section-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--color-secondary);border-radius:2px}.section-subtitle{font-size:1.2rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.contact-info-section{margin:3rem 0;padding:3rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:30px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.contact-card{background:#fff;padding:3rem 2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #08193a14;transition:all .4s ease;position:relative;overflow:hidden;opacity:0;transform:translateY(40px)}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-secondary);transform:scaleX(0);transition:transform .4s ease}.contact-card[data-animate].animate-in{opacity:1;transform:translateY(0)}.contact-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #08193a26}.contact-card:hover:before{transform:scaleX(1)}.contact-icon{width:80px;height:80px;margin:0 auto 2rem;color:var(--color-secondary);background:#ecc5661a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.contact-card:hover .contact-icon{background:var(--color-secondary);color:#fff;transform:rotate(10deg) scale(1.1)}.contact-card h3{font-size:1.5rem;font-weight:600;color:var(--color-primary);margin-bottom:1rem}.contact-detail{font-size:1.2rem;font-weight:600;color:var(--color-primary);margin-bottom:1rem;line-height:1.4}.contact-detail a{color:inherit;text-decoration:none;transition:color .3s ease}.contact-detail a:hover{color:var(--color-secondary)}.contact-description{font-size:1rem;color:var(--color-text-secondary);line-height:1.6}.contact-card.phone-contacts{text-align:left}.phone-contacts-list{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}.phone-contact-item{padding:1.5rem;background:#ecc5660d;border-radius:15px;border:1px solid rgba(236,197,102,.15);transition:all .3s ease}.phone-contact-item:hover{background:#ecc5661a;border-color:#ecc5664d;transform:translate(5px)}.contact-person{font-size:1.1rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem;font-family:var(--font-serif)}.phone-contact-item .contact-detail{margin-bottom:.5rem;font-size:1.1rem}.contact-role{font-size:.9rem;color:var(--color-text-muted);font-style:italic;line-height:1.4}.hours-section{margin:3rem 0}.hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.hours-card{background:#fff;padding:2.5rem 2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #08193a14;transition:all .4s ease;position:relative;overflow:hidden;opacity:0;transform:translateY(40px)}.hours-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-secondary);transform:scaleX(0);transition:transform .4s ease}.hours-card[data-animate].animate-in{opacity:1;transform:translateY(0)}.hours-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #08193a26}.hours-card:hover:before{transform:scaleX(1)}.hours-card.emergency{background:linear-gradient(135deg,var(--color-secondary) 0%,#f4d03f 100%);color:var(--color-primary)}.hours-card.emergency:hover{transform:translateY(-10px);box-shadow:0 20px 50px #ecc5664d}.hours-card.emergency:before{background:var(--color-primary)}.hours-icon{width:60px;height:60px;margin:0 auto 1.5rem;color:var(--color-secondary);background:#ecc5661a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.hours-card:hover .hours-icon{background:var(--color-secondary);color:#fff;transform:rotate(10deg) scale(1.1)}.hours-card.emergency .hours-icon{background:rgba(var(--color-primary-rgb),.2);color:var(--color-primary)}.hours-card.emergency:hover .hours-icon{background:var(--color-primary);color:var(--color-secondary)}.hours-card h3{font-size:1.5rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem;font-family:var(--font-serif)}.hours-card.emergency h3{color:var(--color-primary)}.hours-time{font-size:1.1rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.hours-card.emergency .hours-time{color:var(--color-primary);opacity:.8}.hours-detail{font-size:1.2rem;font-weight:600;color:var(--color-primary)}.hours-card.emergency .hours-detail{color:var(--color-primary)}.directions-section{margin:3rem 0}.directions-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;align-items:start}.directions-info,.visit-notes{height:100%;opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.16,1,.3,1);padding:2rem;background:linear-gradient(135deg,#fcfcfc,#f8f9fa);border-radius:20px;border:1px solid rgba(8,25,58,.05);box-shadow:0 8px 30px #08193a14}.directions-info[data-animate].animate-in,.visit-notes[data-animate].animate-in{opacity:1;transform:translateY(0)}.directions-info h3,.visit-notes h3{font-size:clamp(1.8rem,2.5vw,2.4rem);font-weight:600;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 60%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:2rem;font-family:var(--font-serif);position:relative;letter-spacing:-.01em}.directions-info h3:after,.visit-notes h3:after{content:"";position:absolute;bottom:-8px;left:0;width:50px;height:2px;background:linear-gradient(90deg,var(--color-secondary),var(--color-secondary-dark),transparent);border-radius:2px;box-shadow:0 0 6px #ecc5664d}.directions-list{display:flex;flex-direction:column;gap:2rem}.direction-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.8rem;background:#fff;border-radius:18px;box-shadow:0 6px 25px #08193a14;border:1px solid rgba(8,25,58,.06);transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.direction-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-dark) 100%);opacity:0;transition:opacity .3s ease}.direction-item:hover{transform:translateY(-2px);box-shadow:0 12px 40px #08193a1f}.direction-item:hover:before{opacity:1}.direction-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--color-secondary);flex-shrink:0;box-shadow:0 4px 15px #08193a26;transition:all .3s ease}.direction-item:hover .direction-icon{transform:scale(1.05);box-shadow:0 6px 20px #08193a33}.direction-item h4{font-size:1.3rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.direction-item p{font-size:1rem;color:var(--color-text-secondary);line-height:1.6;font-weight:300}.visit-list{list-style:none;padding:0;background:#fff;border-radius:18px;padding:2.5rem;box-shadow:0 8px 30px #08193a14;border:1px solid rgba(8,25,58,.06);margin-top:1rem}.visit-list li{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.6;border-bottom:1px solid rgba(8,25,58,.08);position:relative;padding:1.2rem 0 1.2rem 2.5rem;font-weight:400;transition:all .3s ease}.visit-list li:hover{color:var(--color-primary);padding-left:3rem}.visit-list li:last-child{border-bottom:none}.visit-list li:before{content:"✓";position:absolute;left:0;top:1.2rem;color:var(--color-secondary);font-weight:600;font-size:1.3rem;width:20px;height:20px;background:#ecc5661a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .3s ease}.visit-list li:hover:before{background:#ecc56633;transform:scale(1.1)}@media (max-width: 1024px){.directions-content{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.contact-hero{height:50vh}.contact-info-section,.hours-section,.directions-section{padding:2rem 0}.contact-grid,.hours-grid{grid-template-columns:1fr;gap:2rem}.contact-card,.hours-card{padding:2rem 1.5rem}.section-header{margin-bottom:1.5rem}.directions-content{gap:1.5rem}.direction-item{flex-direction:column;text-align:center;gap:1rem}.direction-icon{align-self:center}.contact-card.phone-contacts{text-align:center}.phone-contacts-list{gap:1.5rem}.phone-contact-item{padding:1.25rem;text-align:center}.phone-contact-item:hover{transform:translateY(-3px)}}@media (max-width: 480px){.contact-hero{height:40vh}.contact-container{padding:0 .5rem}.contact-info-section,.hours-section,.directions-section{padding:1.5rem 0}.contact-card,.hours-card{padding:1.5rem 1rem}.contact-icon{width:60px;height:60px}.hours-icon{width:50px;height:50px}.section-header h2{font-size:2rem}.contact-card h3,.hours-card h3{font-size:1.5rem}.contact-detail{font-size:1.1rem}.visit-list{padding:1.5rem}.visit-list li{font-size:1rem;padding:.8rem 0 .8rem 1.5rem}}
