.contact-section{padding:100px 20px;background:linear-gradient(135deg,rgba(255,255,255,.92) 10%,rgba(255,255,255,.95) 30%,rgba(241,248,244,.92) 0),url(/images/contact.webp) 50%/cover no-repeat;color:#444;position:relative;overflow:hidden}@keyframes float-slow{0%,to{transform:translateY(0) translateX(0)}50%{transform:translateY(-30px) translateX(20px)}}@keyframes float-medium{0%,to{transform:translateY(0) translateX(0)}50%{transform:translateY(30px) translateX(-20px)}}@media (min-width:1024px){.contact-section{background-attachment:fixed}}.contact-container{max-width:var(--container-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;position:relative;z-index:1}.contact-info{animation:fadeInLeft .8s ease-out}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.contact-info h2{color:var(--color-primary);font-size:2.8rem;font-weight:800;margin-bottom:20px;line-height:1.2;letter-spacing:-.5px}.contact-info h2:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),transparent);border-radius:2px}.contact-badge{display:inline-flex;align-items:center;gap:12px;background:rgba(10,61,38,.05);padding:8px 16px;border-radius:50px;margin-bottom:30px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(10,61,38,.1)}.contact-badge .dot{width:14px;height:14px;background:var(--color-primary);border-radius:50%;display:block;position:relative;box-shadow:0 0 10px rgba(10,61,38,.3)}.contact-badge .dot:after{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border:1.5px solid var(--color-primary);border-radius:50%;opacity:.4;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1);opacity:.2}to{transform:scale(.8);opacity:.5}}.contact-badge .badge-text{font-family:var(--font-heading);font-size:.85rem;font-weight:800;color:var(--color-primary);letter-spacing:2px;text-transform:uppercase}.contact-intro{font-size:1.2rem;line-height:1.6;color:#555;max-width:550px;margin-bottom:40px}.contact-details{margin-top:40px}.contact-item{display:flex;margin-bottom:30px;gap:20px;transition:transform .3s ease}.contact-item:hover{transform:translateX(10px)}.contact-icon{width:60px;height:60px;background:linear-gradient(135deg,#e8f5e9,#ffffff);border:2px solid var(--color-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0;transition:all .4s ease;box-shadow:0 4px 15px rgba(10,61,38,.2)}.contact-item:hover .contact-icon{transform:rotate(1turn) scale(1.1);background:linear-gradient(135deg,var(--color-primary) 0,#052416 100%);color:white;box-shadow:0 8px 25px rgba(10,61,38,.4)}.contact-text h4{color:var(--color-primary);margin-bottom:5px;font-size:1.2rem;font-weight:700}.contact-text p{color:#666;font-size:1rem;line-height:1.6}.contact-form-wrapper{background:linear-gradient(135deg,#ffffff,#fafafa);padding:40px;border-radius:20px;color:var(--color-primary);box-shadow:0 15px 50px rgba(0,0,0,.1);border:1px solid rgba(197,160,89,.2);transition:transform .3s ease,box-shadow .3s ease;animation:fadeInRight .8s ease-out;position:relative;overflow:hidden}.contact-form-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary))}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.contact-form-wrapper:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,.15)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:.9rem;color:var(--color-primary)}.form-group input,.form-group textarea{width:100%;padding:15px;background:#ffffff;border:1px solid #d1d5db;border-radius:8px;font-family:var(--font-body);transition:all .3s;font-size:1rem;color:#1f2937}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-secondary);background:#ffffff}@media (max-width:768px){.contact-container{grid-template-columns:1fr}}.contact-map{max-width:var(--container-width);margin:60px auto 0;padding:0 20px}