/* Physical columns stay left/right in both languages; text retains its own direction. */
.aca-architect { position: relative; isolation: isolate; overflow: hidden; width: min(100%, 1290px); margin: 30px auto 60px; border-radius: 100px 30px 30px 30px; background: #f6f3ec; box-sizing: border-box; direction: ltr; }
.aca-architect::before, .aca-architect::after { content: ''; position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(7,58,53,.1); border-radius: 50%; width: 460px; height: 460px; left: -150px; top: 40px; }
.aca-architect::after { width: 540px; height: 540px; left: -190px; top: 0; }
.aca-architect--with-image { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.45fr); gap: 40px; align-items: end; }
.aca-architect__portrait { grid-column: 1; grid-row: 1; align-self: end; padding: 30px 0 0 24px; position: relative; }
.aca-architect .aca-architect__image { width: 100%; height: auto; max-height: 540px; object-fit: contain; object-position: center bottom; border-radius: 0; display: block; background: transparent; }
.aca-architect__content { grid-column: 2; grid-row: 1; padding: 50px 48px 50px 0; text-align: start; position: relative; }
.aca-architect:not(.aca-architect--with-image) .aca-architect__content { padding: 48px; }
.aca-architect .aca-architect__label { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: var(--color-primary-dark,#073a35); margin: 0 0 22px; }
.aca-architect__label::before { content: ''; width: 26px; height: 1px; background: currentColor; }
.aca-architect h3 { font-size: clamp(26px, 2.7vw, 38px); font-weight: 600; line-height: 1.45; margin: 0 0 20px; color: var(--color-black-accent,#222); }
.aca-architect__bio { font-size: 15px; line-height: 2; color: #555; }
.aca-architect__bio p { margin: 0 0 24px; }
.aca-architect__links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 20px; border-top: 1px solid rgba(7,58,53,.13); }
.aca-architect__socials { display: flex; gap: 10px; flex-wrap: wrap; }
.aca-architect__socials:empty { display: none; }
@media(max-width:767px) { .aca-architect { margin-block: 20px 40px; border-radius: 50px 24px 24px 24px; } .aca-architect--with-image { grid-template-columns: 1fr; gap: 0; } .aca-architect__portrait { grid-column: 1; grid-row: 2; padding: 0 24px; max-width: 300px; width: 100%; justify-self: center; } .aca-architect__content, .aca-architect:not(.aca-architect--with-image) .aca-architect__content { grid-column: 1; grid-row: 1; padding: 32px 24px; } .aca-architect h3 { font-size: 26px; } .aca-architect__links { gap: 18px; } }
