.v3rim-form, .fluentform, .gform_wrapper { --form-gap: 1rem; }
.v3rim-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--form-gap); }
.v3rim-form__full { grid-column: 1 / -1; }
.v3rim-form label, .fluentform label, .gform_wrapper label { display: block; margin-bottom: .45rem; color: var(--graphite); font-size: .8rem; font-weight: 650; }
.v3rim-form input, .v3rim-form select, .v3rim-form textarea,
.fluentform input:not([type="submit"]), .fluentform select, .fluentform textarea,
.gform_wrapper input:not([type="submit"]), .gform_wrapper select, .gform_wrapper textarea {
  width: 100%; min-height: 50px; padding: .78rem .9rem;
  appearance: none; background: var(--white); color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.v3rim-form textarea, .fluentform textarea, .gform_wrapper textarea { min-height: 150px; resize: vertical; }
.v3rim-form input:focus, .v3rim-form select:focus, .v3rim-form textarea:focus,
.fluentform input:focus, .fluentform select:focus, .fluentform textarea:focus,
.gform_wrapper input:focus, .gform_wrapper select:focus, .gform_wrapper textarea:focus { outline: 0; border-color: var(--signal-dark); box-shadow: 0 0 0 3px rgba(8,124,104,.14); }
.v3rim-form__note { color: var(--muted); font-size: .8rem; }
.contact-layout { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: clamp(3rem, 8vw, 8rem); }
.contact-aside { display: flex; flex-direction: column; }
.contact-aside p { color: var(--slate); }
.contact-aside__title { font-size: clamp(2rem, 4vw, 3.6rem); }
.contact-response { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.contact-card { padding: clamp(1.5rem, 4vw, 3rem); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 50px rgba(11,16,22,.08); }
.contact-card h2 { margin-top: .7rem; }
.contact-checklist { display: grid; gap: .8rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.contact-checklist li { position: relative; padding-left: 1.7rem; color: var(--slate); }
.contact-checklist li::before { position: absolute; left: 0; color: var(--signal-dark); content: "✓"; font-weight: 700; }
.contact-card__button { margin-bottom: 1.5rem; }
.contact-card__address { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; margin: 0; }
.contact-card__address span { color: var(--muted); font: .65rem/1.3 var(--font-mono); text-transform: uppercase; }
.contact-card__address a { font-size: 1.05rem; font-weight: 650; }
.contact-safety { margin-top: 2rem; padding: 1rem 1.1rem; background: var(--paper-2); border-left: 3px solid var(--signal-dark); }
.contact-safety p { margin: .35rem 0 0; color: var(--slate); font-size: .86rem; }
.contact-privacy { margin: 1rem 0 0; color: var(--muted); font-size: .8rem; }
.notice { margin-bottom: 1rem; padding: 1rem; border-radius: var(--radius-sm); font-size: .9rem; }
.notice--success { background: rgba(101,211,145,.16); border: 1px solid rgba(27,120,64,.3); color: #155c31; }
.notice--error { background: rgba(255,99,110,.1); border: 1px solid rgba(185,42,53,.25); color: #8d252e; }
@media (max-width: 760px) { .v3rim-form, .contact-layout { grid-template-columns: 1fr; } .v3rim-form__full { grid-column: auto; } }
