/* Team, Practice Areas, and Contact pages; scroll fade-in */

/* Scroll fade-in (classes added by alg-reveal.js) */
.alg-reveal-js .alg-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s cubic-bezier(0.23, 1, 0.32, 1), transform .6s cubic-bezier(0.23, 1, 0.32, 1); }
.alg-reveal-js .alg-reveal.is-in { opacity: 1; transform: none; }

/* Team: group headings (Partners, Senior Attorneys, ...) */
.ourteam-items-section h3 { display: block; width: 100%; margin: 44px 0 24px !important; padding: 0 !important; color: #222766 !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 32px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -.01em; text-align: left !important; }
.ourteam-items-section .row:first-child h3 { margin-top: 8px !important; }

/* Team: two cards per row on phones */
@media (max-width: 767.98px) {
  .ourteam-items-section h3 { margin: 32px 0 18px !important; font-size: 25px !important; }
  .ourteam-items-section .row { margin-right: -9px !important; margin-left: -9px !important; }
  .ourteam-items-section .row > :not(.col-md-4) { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
  .ourteam-items-section .row > .col-md-4 { flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; margin: 0 !important; padding-right: 9px !important; padding-left: 9px !important; }
  .ourteam-items-section .ourteam-single-item { margin-bottom: 30px !important; }
  .ourteam-items-section .ourteam-single-item img { display: block; width: 100% !important; height: auto !important; }
  .ourteam-items-section .name-and-ocapation-team { width: 92% !important; max-width: none !important; padding: 8px 6px !important; }
  .ourteam-items-section .name-team { font-size: 14px !important; line-height: 1.25 !important; }
  .ourteam-items-section .name-occ { font-size: 12px !important; line-height: 1.3 !important; }
}

/* Practice Areas: two cards per row on phones */
@media (max-width: 575.98px) {
  .inner-pages .row > .col-md-3.col-sm-4 { display: flex; flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; padding: 0 7px 14px !important; }
  .inner-pages .row > .col-md-3.col-sm-4 > a { display: block; width: 100%; text-decoration: none !important; }
  .inner-pages .row > .col-md-3.col-sm-4 .first_1 { display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start; height: 100% !important; min-height: 0 !important; padding: 18px 10px 16px !important; text-align: center; }
  .inner-pages .row > .col-md-3.col-sm-4 .first_1 img { width: 56px !important; height: 56px !important; margin: 0 auto 12px !important; object-fit: contain; }
  .inner-pages .row > .col-md-3.col-sm-4 .first_1 span { display: block; margin: 0 !important; font-size: 14.5px !important; line-height: 1.3 !important; }
}

/* Contact */
.alg-contact { max-width: 1140px; margin: 0 auto; padding: 56px 20px 72px; }
.alg-contact * { box-sizing: border-box; }
.alg-contact__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 40px; }
.alg-contact__card { display: flex; flex-direction: column; align-items: center; margin: 0; padding: 34px 24px 28px; border: 1px solid rgba(34, 39, 102, .12); border-bottom: 3px solid #222766; border-radius: 6px; background: #fff; color: #222766 !important; text-align: center; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.alg-contact__card:hover,
.alg-contact__card:focus-visible { border-bottom-color: #B08D57; box-shadow: 0 14px 30px rgba(34, 39, 102, .12); transform: translateY(-4px); }
.alg-contact__icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: 0 0 14px; border-radius: 50%; background: #222766; color: #fff; transition: background .2s ease; }
.alg-contact__card:hover .alg-contact__icon { background: #B08D57; }
.alg-contact__txt { display: flex; flex-direction: column; align-items: inherit; margin: 0; }
.alg-contact__label { margin: 0 0 6px; color: #222766; font-family: Georgia, 'Times New Roman', serif; font-size: 24px; line-height: 1.2; }
.alg-contact__value { margin: 0; color: #3a3f66; font-size: 17px; line-height: 1.5; word-break: break-word; }
.alg-contact__action { margin: 12px 0 0; color: #B08D57; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.alg-contact__main { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: stretch; }
.alg-contact__panel { margin: 0; border: 1px solid rgba(34, 39, 102, .12); border-radius: 6px; background: #fff; }
.alg-contact__form { padding: 36px 36px 30px; }
.alg-contact__title { margin: 0 0 10px !important; color: #222766 !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 30px !important; line-height: 1.2 !important; text-align: left !important; }
.alg-contact__intro { margin: 0 0 22px; color: #4d5178; font-size: 16px; line-height: 1.6; }
.alg-contact__intro p { margin: 0 0 6px; }
.alg-contact__form .wpcf7 input:not([type=checkbox]):not([type=submit]):not([type=button]),
.alg-contact__form .wpcf7 textarea { width: 100% !important; max-width: 100% !important; }
.alg-contact__map { position: relative; min-height: 420px; overflow: hidden; }
.alg-contact__map iframe { display: block; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 991.98px) {
  .alg-contact__main { grid-template-columns: 1fr; }
  .alg-contact__map { min-height: 340px; }
}

@media (max-width: 767.98px) {
  .alg-contact { padding: 32px 16px 48px; }
  .alg-contact__cards { grid-template-columns: 1fr; gap: 14px; margin-bottom: 28px; }
  .alg-contact__card { flex-direction: row; align-items: center; padding: 18px; text-align: left; }
  .alg-contact__icon { flex: 0 0 48px; width: 48px; height: 48px; margin: 0 16px 0 0; }
  .alg-contact__txt { align-items: flex-start; }
  .alg-contact__label { margin-bottom: 2px; font-size: 20px; }
  .alg-contact__value { font-size: 15.5px; }
  .alg-contact__action { margin-top: 6px; font-size: 12px; }
  .alg-contact__form { padding: 24px 18px; }
  .alg-contact__title { font-size: 24px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .alg-contact__card,
  .alg-contact__icon { transition: none !important; }
}
