/* Measured reference: 768x445; photo 43.5% top / 40.1% bottom, copy starts at 48%. */
.public-body .profile-card,.profile-card{container-type:inline-size;position:relative;display:grid;grid-template-columns:48% minmax(0,1fr);min-height:0;padding:0!important;border-radius:var(--design-radius,14px);overflow:hidden;margin-bottom:var(--design-gap,12px);color:#272c3d;background:#fff}
.profile-card::before{content:'';display:block;grid-row:1;grid-column:1;height:0;padding-top:120.7144%}
.profile-card.classic{border-top:0}
.profile-card .profile-portrait{position:absolute;left:0;top:0;bottom:0;width:43.5%;overflow:hidden;background:#eef0f4;clip-path:polygon(0 0,100% 0,92.2% 100%,0 100%)}
.profile-card .profile-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.profile-card .profile-content{grid-row:1;grid-column:2;min-width:0;padding:18px 16px 14px 0;padding:4.8cqw 4cqw 4cqw 0;display:grid;grid-template-rows:auto minmax(min-content,1fr) auto;gap:0}
.profile-card .profile-heading{display:flex;align-items:flex-start;gap:8px;gap:1cqw;min-width:0}
.profile-card .profile-name{flex:1;min-width:0}
.profile-card .profile-name h2{font-size:17px;font-size:clamp(16px,4.5cqw,21px);line-height:1.3;letter-spacing:0;margin:0 0 3px;margin-bottom:.8cqw;color:var(--profile-name-ink,var(--card-accent));overflow-wrap:anywhere}
.profile-card .profile-name p{font-size:12px;font-size:clamp(11px,3.2cqw,13px);line-height:1.35;color:#626773;margin:0;overflow-wrap:anywhere}
.profile-card .profile-logo-slot{width:48px;height:48px;width:13.2cqw;height:13.2cqw;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.profile-card .profile-logo-slot .profile-company-logo{width:calc(100% * var(--profile-logo-width))!important;height:calc(100% * var(--profile-logo-height))!important;max-width:none;max-height:none;flex-shrink:0;border-radius:calc(48px * var(--profile-logo-radius))!important;border-radius:calc(13.2cqw * var(--profile-logo-radius))!important}
.profile-card .profile-contacts{grid-row:2;align-self:end;display:flex;flex-direction:column;gap:3px;gap:.55cqw;margin:0 0 18px;margin-bottom:5cqw}
.profile-card .profile-contacts>div{display:flex;align-items:flex-start;gap:5px;gap:.75cqw;min-width:0;font-size:12px;font-size:clamp(11px,3.2cqw,14px);line-height:1.3;color:#606672}
.profile-card .profile-contacts svg{margin-top:1px;flex-shrink:0;width:12px;height:12px;width:3cqw;height:3cqw;color:#90959f}
.profile-card .profile-contacts span{min-width:0;overflow-wrap:anywhere}
.profile-card .profile-company{grid-row:3;margin:0;min-width:0}
.profile-card .profile-company strong{display:block;font-size:11px;font-size:clamp(10px,3.2cqw,14px);font-weight:600;line-height:1.35;color:inherit;overflow-wrap:anywhere}
.profile-card .profile-company p{margin:3px 0 0;margin-top:.65cqw;font-size:10px;font-size:clamp(10px,2.6cqw,12px);line-height:1.4;color:#6b707b;overflow-wrap:anywhere;white-space:normal}
.profile-card.no-portrait{grid-template-columns:minmax(0,1fr);aspect-ratio:auto}
.profile-card.no-portrait::before{display:none}
.profile-card.no-portrait .profile-content{grid-column:1;min-height:0;padding:20px;gap:16px;grid-template-rows:auto auto auto}
.profile-card.no-portrait .profile-contacts{align-self:start;margin:0}
.profile-card.modern{background:var(--card-accent);color:var(--profile-ink,#fff)}
.profile-card.modern .profile-name h2,.profile-card.modern .profile-name p,.profile-card.modern .profile-contacts>div,.profile-card.modern .profile-contacts svg,.profile-card.modern .profile-company p{color:var(--profile-ink,#fff)}
.profile-card.minimal{background:#fdfcf9}

.public-body .public-company{display:flex;align-items:center;gap:12px;min-width:0}
.public-body .public-company .logo-viewport{max-width:40px;max-height:40px;flex-shrink:0}
.public-body .public-company>div{min-width:0;flex:1}
.public-body .public-company h3{font-size:14px;line-height:1.6;margin:0;color:#323747;overflow-wrap:anywhere}
.public-body .public-company p{font-size:11px;line-height:1.5;margin-top:3px;color:#7b8190}
.public-body .design-copy,.public-body .public-panel p{color:#656d7d}

/* Anonymous visits and endorsements: only actual server figures are rendered. */
.public-body .social-proof{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.public-body .social-visitors{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.public-body .visitor-stack{display:flex;align-items:center;overflow:hidden;flex:0 1 auto;max-width:112px;min-width:0;padding-left:0}
.public-body .visitor-stack:empty{display:none}
.public-body .visitor-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid #fff;flex-shrink:0;margin-left:-7px;background:#edf1fd;color:#6c77a6}
.public-body .visitor-avatar:first-child{margin-left:0}
.public-body .visitor-avatar.tone-1{background:#e9f6f3;color:#438578}.public-body .visitor-avatar.tone-2{background:#fbf1e7;color:#a88051}.public-body .visitor-avatar.tone-3{background:#f4eefa;color:#8a69a4}.public-body .visitor-avatar.tone-4{background:#e9f3fb;color:#5685aa}
.public-body .visitor-total{min-width:0;flex-shrink:0;font-size:11px;color:#6e7483;line-height:1.5}
.public-body .visitor-total strong{color:#333b4b;font-size:17px;font-variant-numeric:tabular-nums}
.public-body .visitor-total small{display:block;font-size:10px;color:#8a909d}
.public-body .visitor-total b{font-weight:400}
.public-body .endorse-button{display:flex;gap:5px;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;min-width:82px;border:1px solid var(--action-accent,var(--accent));border-radius:23px;background:#fff;color:var(--action-accent,var(--accent));padding:7px 10px;font-size:12px}
.public-body .endorse-button.is-liked{color:#fff;background:var(--action-accent,var(--accent))}
.public-body .endorse-button:disabled{opacity:.65;cursor:default}
.public-body .endorse-button strong{font-size:13px;font-variant-numeric:tabular-nums}
.public-body .social-proof+.stats-note{font-size:10px!important;text-align:left!important;line-height:1.6!important;margin-top:12px!important;color:#8a909d!important}

.public-body .contact-action{color:var(--action-accent,var(--accent))}
.public-body .contact-action span{color:#4b5363;font-size:11px}

.profile-card.modern .profile-company-logo{background:#fff}

/* Keep controls visible when a company chooses a very pale brand color. */
.public-body .public-sticky .button.primary{background:var(--action-accent,var(--accent));border-color:var(--action-accent,var(--accent))}
