.contact__grid{display:grid;grid-template-columns:1fr 400px;gap:var(--space-12);align-items:start}.form-card{background:#fff;border:1px solid var(--clr-surface-3);border-radius:var(--radius-xl);padding:var(--space-10)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--clr-text)}.form-label span{color:var(--clr-orange)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-4) var(--space-5);border:1.5px solid var(--clr-surface-3);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--clr-text);background:var(--clr-surface);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--clr-blue);background:#fff;box-shadow:0 0 0 3px var(--clr-blue-dim)}.form-input.error,.form-select.error,.form-textarea.error{border-color:#cc243d}.form-textarea{resize:vertical;min-height:130px;line-height:var(--leading-relaxed)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.form-error{font-size:var(--text-xs);color:#cc243d;min-height:1.2em}.form-feedback{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);margin-top:var(--space-5);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.form-feedback--success{background:#0894281a;border:1px solid oklch(58% .18 145 / .3);color:#00480e;color:oklch(35% .15 145)}.form-feedback--error{background:#cc243d1a;border:1px solid oklch(55% .2 20 / .3);color:#720019;color:oklch(35% .2 20)}.form-feedback strong{display:block;margin-bottom:4px}.form-feedback p{margin:0;opacity:.8}.form-feedback[hidden]{display:none!important}.contact__info-col{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:calc(72px + var(--space-6))}.contact-card{background:#fff;border:1px solid var(--clr-surface-3);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-5);transition:box-shadow var(--dur-normal) var(--ease-out)}.contact-card:hover{box-shadow:var(--shadow-md)}.contact-card--whatsapp{border-color:#0894284d;background:#0894280a}.contact-card--hours{flex-direction:column}.contact-card__icon{width:52px;height:52px;background:#0894281f;color:#006818;color:oklch(45% .18 145);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-card__icon--blue{background:var(--clr-blue-dim);color:var(--clr-blue)}.contact-card__title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--clr-text)}.contact-card__desc{font-size:var(--text-sm);color:var(--clr-text-mid);line-height:var(--leading-relaxed);margin-top:var(--space-1)}.contact-card__number{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--clr-text-mid);margin-top:var(--space-3);display:block}.hours-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.hours-table td{padding:var(--space-2) 0;border-bottom:1px solid var(--clr-surface-3)}.hours-table td:first-child{color:var(--clr-text-mid)}.hours-table td:last-child{text-align:right;font-weight:var(--weight-semibold);color:var(--clr-text);font-family:var(--font-mono);font-size:var(--text-xs)}@media (max-width: 900px){.contact__grid{grid-template-columns:1fr}.contact__info-col{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.contact-card--hours{grid-column:span 2}}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.form-card{padding:var(--space-6)}.contact__info-col{grid-template-columns:1fr}.contact-card--hours{grid-column:span 1}}
