.aiss-team { background: #fff; color: #5f727f; font-family: 'Source Sans Pro', sans-serif; font-size: 16px; line-height: 1.5; padding-bottom: 80px; }
.aiss-team *, .aiss-team *::before, .aiss-team *::after { box-sizing: border-box; }
.aiss-team > :first-child { padding-top: 80px; }
.aiss-team-area { padding-top: 40px; }

.aiss-team .aiss-wrap { max-width: calc(1170px + 2 * var(--aiss-gutter, 24px)); }

.aiss-team-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; align-items: stretch; }

.aiss-team-card { min-width: 0; margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid #e1e8e6; border-radius: 4px; overflow: hidden; transition: border-color .18s ease, box-shadow .18s ease; }

.aiss-team-card.has-contact:hover, .aiss-team-card.has-contact:focus-within { border-color: #b7c7cd; box-shadow: 0 6px 18px rgba(0, 71, 107, .09); }

.aiss-team-photo { aspect-ratio: 4 / 5; background: linear-gradient(165deg, var(--aiss-navy, #00476b) 0%, #003352 100%); position: relative; overflow: hidden; }
.aiss-team-photo::before, .aiss-team-photo::after { content: ""; position: absolute; z-index: 0; top: -10%; height: 120%; transform: skewX(-19deg); pointer-events: none; }
.aiss-team-photo::before { left: 58%; width: 20%; background: rgba(0, 188, 212, .30); }
.aiss-team-photo::after { left: 30%; width: 12%; background: rgba(255, 255, 255, .08); }
.aiss-team .aiss-team-photo img.aiss-team-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center bottom; display: block; z-index: 1; }
.aiss-team-photo.is-empty { display: grid; place-items: center; }
.aiss-team-ini { position: relative; z-index: 1; font: 700 clamp(48px, 6vw, 72px)/1 'Montserrat', sans-serif; letter-spacing: .04em; color: #fff; text-transform: uppercase; user-select: none; }

.aiss-team-body { flex: 1; display: flex; flex-direction: column; padding: 20px; }
.aiss-team-card.has-contact .aiss-team-body { padding-bottom: 8px; }
#main .aiss-team .aiss-team-name { font-size: 20px !important; line-height: 1.25 !important; margin: 0 0 6px; color: #46485c; font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: none; letter-spacing: 0; overflow-wrap: normal; word-break: normal; hyphens: none; min-height: 2.5em; }
#main .aiss-team .aiss-team-card.has-role .aiss-team-name { margin-bottom: 4px; }
#main .aiss-team .aiss-team-role { margin: 0; font: 600 15px/1.35 'Source Sans Pro', sans-serif; color: #007c8c; }
.aiss-team-tel, .aiss-team-mail { margin: 0; font-size: 15px; line-height: 1.35; }
.aiss-team-tel:first-of-type { margin-top: 0; padding-top: 6px; }
.aiss-team-tel + .aiss-team-mail { margin-top: 0; }
.aiss-team-body > .aiss-team-mail:first-of-type { margin-top: 0; padding-top: 6px; }
.aiss-team-tel a, .aiss-team-tel .aiss-team-line, .aiss-team-mail a { display: flex; align-items: center; gap: 8px; min-height: 44px; color: #00476b; overflow-wrap: anywhere; }
.aiss-team-tel a, .aiss-team-mail a { text-decoration: underline; text-underline-offset: 3px; }
.aiss-team-tel a:hover, .aiss-team-mail a:hover { color: #003a58; }
.aiss-team-ico { flex: 0 0 18px; width: 18px; height: 18px; color: #00476b; }
.aiss-team-tel span { white-space: nowrap; overflow-wrap: normal; }
.aiss-team a:focus-visible { outline: 2px solid #00476b; outline-offset: 2px; box-shadow: 0 0 0 5px rgba(0, 188, 212, .35); border-radius: 2px; }

.aiss-team-edit { margin: 0; padding: 0 0 8px; font-size: 13px; line-height: 1.3; }
.aiss-team-edit a { display: inline-flex; align-items: center; min-height: 32px; color: #566a77; text-decoration: underline; text-underline-offset: 3px; }
.aiss-team-edit a:hover { color: #00476b; }
.aiss-team-empty { border: 1px dashed #d9a400; background: #fffaeb; border-radius: 4px; padding: 20px 22px; color: #6b4e00; margin: 0; }

@media (max-width: 1199px) { .aiss-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) { .aiss-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.aiss-team { padding-bottom: 56px; }
	.aiss-team > :first-child { padding-top: 56px; }
	.aiss-team-area { padding-top: 32px; }
	.aiss-team-grid { gap: 16px; }
	.aiss-team-body { padding: 14px 10px; }
	.aiss-team-card.has-contact .aiss-team-body { padding-bottom: 4px; }
		#main .aiss-team .aiss-team-name { font-size: 16px !important; line-height: 1.25 !important; margin-bottom: 4px; }
	.aiss-team-tel, .aiss-team-mail { font-size: 14px; }
	#main .aiss-team .aiss-team-role { font-size: 13px; }
	.aiss-team-tel a, .aiss-team-tel .aiss-team-line, .aiss-team-mail a { gap: 5px; }
	.aiss-team-tel { font-size: 14px; }
	.aiss-team-ico { flex-basis: 18px; }
	.aiss-team a:focus-visible { outline-offset: -2px; box-shadow: none; }
	.aiss-team-mail a span { word-break: break-word; min-width: 0; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .aiss-team-card { transition: none; } }
