.contact-hero{width:min(1200px,92%);margin:80px auto 120px}.contact-hero .title{text-align:center;font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,38px);margin:0 0 100px;font-weight:500}.contact-hero .grid{display:grid;grid-template-columns:repeat(2,minmax(360px,460px));gap:var(--spacing-6);align-items:stretch;justify-content:center;justify-items:center}.office-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);height:100%;min-height:460px;background:url('/images/office.jpeg') center/cover no-repeat #cbd5e1;width:100%;max-width:460px;will-change:transform;transition:transform 180ms,box-shadow 180ms}.office-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.75) 100%)}.office-card .shine{position:absolute;inset:-20%;background:radial-gradient(800px 800px at center,rgba(255,255,255,.18),rgba(255,255,255,0) 45%);transform:translateZ(0);opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.office-card .info{position:absolute;left:42px;right:24px;bottom:50px;color:#fff;z-index:1}.office-card .name{font-weight:600;font-size:1.7rem;margin:0 0 3px}.office-card .line{margin:3px 0;color:rgba(255,255,255,.92);font-size:1.2rem}.contact-form{background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px;display:flex;flex-direction:column;gap:12px;width:100%;max-width:460px}.contact-form .field{display:flex;flex-direction:column;gap:6px}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{font-size:.9rem;color:var(--gray-700)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--gray-300);border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:required:invalid:not(:placeholder-shown),.contact-form textarea:required:invalid:not(:placeholder-shown){border-color:var(--error-color)}.contact-form select:required:invalid:focus{border-color:var(--error-color)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--gray-400)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgb(46 168 98 / .18)}.contact-form .error{border-color:var(--error-color);box-shadow:0 0 0 3px rgb(239 68 68 / .15)}.contact-form .submit{width:100%;border:none;background:var(--brand-green);color:#fff;border-radius:999px;padding:12px 16px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.contact-form .submit:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--brand-green-dark)}.contact-form .submit:disabled{opacity:.7;cursor:not-allowed}.form-message{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:.95rem}.form-message.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.form-message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.office-card.hovering{box-shadow:var(--shadow-lg)}@media (prefers-reduced-motion:reduce){.office-card{transition:none}.office-card .shine{display:none}}@media (max-width:900px){.contact-hero{margin:120px auto 80px}.contact-hero .title{text-align:left}.contact-hero .grid{grid-template-columns:1fr;gap:20px}.office-card{min-height:300px;max-width:100%}.contact-form{max-width:100%}.contact-form .row{grid-template-columns:1fr}}