.contact-page{background-color:#dff8ed;min-height:100dvh;padding-bottom:4rem}.container{max-width:1200px;margin:0 auto;padding:0 40px}.contact-title{font-size:clamp(32px,4vw,48px);font-weight:700;color:#3b6a55;text-align:center;margin-bottom:1rem}.contact-opening{max-width:620px;margin:0 auto 4rem;font-size:clamp(17px,1.8vw,22px);line-height:1.5;color:#0c3724;text-align:center}.contact-opening-link{color:#0c3724;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.contact-map-preview{width:min(760px,100%);margin:2.25rem auto 0;overflow:hidden;border-radius:8px;box-shadow:0 10px 24px rgba(12,55,36,.12)}.contact-map-iframe{display:block;width:100%;height:clamp(240px,32vw,360px)}.contact-grid{display:flex;justify-content:center;align-items:start}.contact-info{display:flex;flex-direction:column;gap:32px;font-weight:300;font-size:clamp(14px,1.3vw,16px)}.info-section{display:flex;align-items:flex-start;gap:16px}.info-icon{font-size:24px;flex-shrink:0}.info-text{line-height:1.6;color:#171410}.hours-row{display:flex;justify-content:space-between;gap:24px;margin-bottom:4px}.info-link{color:#171410;text-decoration:none;transition:opacity .2s}.info-link:hover{opacity:.7}.map-container{border-radius:12px;overflow:hidden;width:100%;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.map-container:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.15)}.map-iframe{width:100%;height:280px;display:block}.contact-form-container{background:white;border-radius:16px;padding:48px;box-shadow:0 4px 6px rgba(0,0,0,.05),0 10px 15px rgba(0,0,0,.1);max-width:600px;width:100%}.form-title{font-size:clamp(1.5rem,2.5vw,1.75rem);font-weight:700;text-align:center;margin-bottom:40px;color:#3b6a55;letter-spacing:-.5px}.contact-form{display:flex;flex-direction:column;gap:24px}.form-input,.form-textarea{width:100%;padding:14px 18px;font-size:15px;border:2px solid #e5e7eb;border-radius:12px;background-color:#f9fafb;transition:all .2s ease;box-sizing:border-box;font-family:Geist,sans-serif}.form-input:focus,.form-textarea:focus{outline:none;border-color:#70e0af;background-color:white;box-shadow:0 0 0 4px rgba(112,224,175,.15);transform:translateY(-1px)}.form-input:hover:not(:focus),.form-textarea:hover:not(:focus){border-color:#d1d5db;background-color:white}.form-textarea{resize:vertical;min-height:120px}.form-submit{width:100%;padding:16px 24px;background:linear-gradient(135deg,#3b6a55,#0c3724);color:white;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;margin-top:8px;font-family:Geist,sans-serif;box-shadow:0 4px 12px rgba(59,106,85,.3)}.form-submit:hover:not(:disabled){background:linear-gradient(135deg,#0c3724,#3b6a55);transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,106,85,.4)}.form-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgba(59,106,85,.3)}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-error{color:#dc2626;font-size:14px;padding:14px 16px;background-color:#fee2e2;border-radius:10px;border-left:4px solid #dc2626;margin-top:4px;display:flex;align-items:center;gap:8px}.form-error:before{content:"⚠️";font-size:16px}.submit-success{color:#16a34a;font-size:14px;padding:14px 16px;background-color:#dcfce7;border-radius:10px;border-left:4px solid #16a34a;display:flex;align-items:center;gap:8px;justify-content:center}.submit-success:before{content:"✓";font-size:16px;font-weight:700}.contact-hero{padding:12rem 0 6rem;text-align:center}.contact-hero .container{max-width:1200px;margin:0 auto;width:100%;padding:0 1rem}@media (max-width:768px){.contact-hero{padding-top:8rem}.contact-hero,.contact-page{padding-bottom:4rem}.container{padding:0 20px}.contact-title{margin-bottom:.75rem}.contact-opening{margin-bottom:0;font-size:16px}.contact-map-preview{margin-top:1.75rem}.contact-grid{display:flex;justify-content:center}.contact-info{gap:24px;align-items:center}.info-section{max-width:80%;width:100%}.map-container{max-width:300px;width:100%}.info-link,.info-text{font-size:15px}.contact-form-container{padding:32px 24px;max-width:80%;margin:0 auto}.form-title{font-size:32px;margin-bottom:32px}.form-input,.form-textarea{font-size:14px;padding:14px 16px}.form-submit{font-size:16px;padding:14px 28px}.map-placeholder{padding:40px 16px;font-size:14px}}