/* Step 24 — company identity and social presence */
.brand-stock-logo { position:relative; display:grid; flex:0 0 auto; place-items:center; overflow:hidden; isolation:isolate; border:1px solid rgba(10,37,27,.09); color:var(--white); background:var(--forest); }
.brand-stock-logo .brand-logo-fallback { position:relative; z-index:1; max-width:90%; overflow:hidden; font:800 11px var(--font-display); letter-spacing:-.025em; text-overflow:ellipsis; transition:opacity .18s ease; }
.brand-stock-logo img { position:absolute; inset:0; z-index:2; width:64%; height:64%; margin:auto; object-fit:contain; opacity:0; transform:scale(.92); transition:opacity .18s ease,transform .18s ease; }
.brand-stock-logo.logo-ready { color:var(--forest); background:#fff; box-shadow:0 5px 14px rgba(9,35,25,.07); }
.brand-stock-logo.logo-ready img { opacity:1; transform:scale(1); }
.brand-stock-logo.logo-ready .brand-logo-fallback { opacity:0; }
.brand-stock-logo.logo-missing img { display:none; }
.profile-symbol.brand-stock-logo { width:77px; height:77px; border-color:rgba(255,255,255,.18); border-radius:21px; background:var(--mint); color:#163525; }
.profile-symbol.brand-stock-logo img { width:58%; height:58%; }
.related-brand-logo { width:39px; height:39px; border-radius:11px; }
.related-symbol { display:flex; align-items:center; }
.activity-logo .activity-brand-logo { width:37px; height:37px; border:0; border-radius:11px; }
.activity-logo { overflow:visible; background:transparent; text-decoration:none; }
.footer-brand { display:grid; gap:9px; }
.footer-brand .footer-note { margin:0; }
.footer-socials { display:grid; gap:8px; }
.footer-socials > span { color:var(--ink-soft); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.company-social-links { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.company-social-link { display:flex; min-width:0; align-items:center; gap:10px; padding:13px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:var(--white); text-decoration:none; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
a.company-social-link:hover { border-color:#a9c49a; box-shadow:0 9px 24px rgba(9,35,25,.08); transform:translateY(-2px); }
.company-social-link.coming-soon { color:var(--ink-soft); background:#f3f4ef; cursor:default; }
.social-monogram { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; color:var(--mint); background:var(--forest); font:800 10px var(--font-display); letter-spacing:-.02em; }
.coming-soon .social-monogram { color:#52625a; background:#e3e7df; }
.social-copy { display:grid; min-width:0; gap:2px; }
.social-copy strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.social-copy small { color:var(--ink-soft); font-size:7px; }
.company-social-links.compact { display:flex; gap:6px; }
.company-social-links.compact .company-social-link { padding:0; border:0; background:transparent; }
.company-social-links.compact .social-monogram { width:29px; height:29px; flex-basis:29px; border:1px solid var(--line); color:var(--forest); background:#f1f4ed; }
.company-social-links.compact .social-copy { display:none; }
.company-socials-panel { margin-top:18px; padding:25px; border:1px solid #d9e5d2; border-radius:20px; background:linear-gradient(135deg,#f8faef,#edf5e8); box-shadow:var(--shadow-soft); }
.company-socials-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; }
.company-socials-heading h3 { margin:6px 0 5px; font:800 24px var(--font-display); letter-spacing:-.04em; }
.company-socials-heading p { max-width:690px; margin:0; color:var(--ink-soft); font-size:9px; line-height:1.55; }
.social-readiness { flex:0 0 auto; padding:7px 10px; border:1px solid #cdddc5; border-radius:999px; color:#43634f; background:rgba(255,255,255,.7); font-size:7px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.social-config-note { margin:15px 0 0; color:var(--ink-soft); font-size:8px; }
.social-config-note strong { color:var(--forest); }
@media (max-width:1000px) { .footer-row { flex-wrap:wrap; } .company-social-links { grid-template-columns:repeat(3,1fr); } }
@media (max-width:650px) { .footer-row { align-items:flex-start; flex-direction:column; } .company-socials-panel { padding:19px; } .company-socials-heading { flex-direction:column; } .company-social-links { grid-template-columns:1fr 1fr; } .company-social-link:last-child { grid-column:1/-1; } .profile-symbol.brand-stock-logo { width:63px; height:63px; } }
