.contact{background:var(--cream);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,83,.04) 0,transparent 70%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem}.contact-grid .reveal-left{transform:translateX(-30px)}.contact-grid .reveal-left,.contact-grid .reveal-right{opacity:0;transition:opacity .6s ease,transform .6s ease}.contact-grid .reveal-right{transform:translateX(30px);transition-delay:.15s}.contact-grid.visible .reveal-left,.contact-grid.visible .reveal-right{opacity:1;transform:translateX(0)}.contact-desc{color:var(--text-body);margin-bottom:2rem;line-height:1.8;font-size:1rem}.info-cards{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.info-card{display:flex;gap:1rem;padding:1rem;background:var(--white);border-radius:var(--radius-lg);transition:var(--transition);border:1px solid transparent}.info-card:hover{border-color:rgba(212,168,83,.2);box-shadow:0 8px 25px rgba(15,23,42,.06);transform:translateX(5px)}.info-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--cream);border-radius:var(--radius-lg);flex-shrink:0;color:var(--primary);transition:var(--transition)}.info-card:hover .info-icon{background:var(--primary);color:var(--accent)}.info-content h4{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:.25rem}.info-content p{font-size:.9375rem;color:var(--text-body);line-height:1.6}.info-content a{color:var(--text-body);transition:var(--transition)}.info-content a:hover{color:var(--accent-dark)}.social-booking{display:flex;gap:1rem}.social-booking a{display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:var(--radius-lg);padding:.75rem;transition:var(--transition);border:1px solid var(--border)}.social-booking a:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(15,23,42,.08);border-color:rgba(212,168,83,.3)}.social-booking img{height:32px;width:auto}.contact-form-wrapper{background:var(--white);padding:2.5rem;border-radius:var(--radius-2xl);box-shadow:0 10px 40px rgba(15,23,42,.06);border:1px solid var(--border)}.contact-form-wrapper h3{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-family:var(--font-body);color:var(--text-dark);background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,168,83,.15);background:var(--white)}.form-group textarea{resize:vertical;min-height:100px}.btn-full{width:100%;border-radius:50px;padding:1rem;font-size:1rem}.map-wrapper{margin-top:4rem;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 10px 40px rgba(15,23,42,.08);border:1px solid var(--border)}@media (max-width:992px){.contact-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width:768px){.contact-desc{font-size:.875rem;margin-bottom:1rem}.info-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.info-card{padding:.75rem;flex-direction:column;gap:.5rem;text-align:center}.info-icon{width:40px;height:40px;margin:0 auto}.info-icon svg{width:18px;height:18px}.info-content h4{font-size:.8125rem}.info-content p{font-size:.75rem}.social-booking{justify-content:center;gap:.75rem}.social-booking img{height:24px}.contact-form-wrapper{padding:1.25rem}.contact-form-wrapper h3{font-size:1.25rem;margin-bottom:1rem}.form-row{grid-template-columns:1fr;gap:0}.form-group{margin-bottom:.75rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;font-size:.875rem}.form-group textarea{min-height:60px}.map-wrapper{display:none}.btn-full{padding:.75rem;font-size:.875rem}}