/* Company overview: the same type, surfaces and spacing as property cards. */
.companies-modern { --bg:#fafbf8; --muted:#626b5b; --border:#e0e3dc; }
.companies-modern .page-hero h1 { font-family:'Jost',sans-serif; }
.companies-modern .ph-desc { font-family:'Jost',sans-serif; font-size:17px; color:#50594d; max-width:640px; }
.companies-modern .ph-meta { gap:12px; margin-top:24px; }
.companies-modern .ph-meta .pm { flex-direction:row; align-items:baseline; gap:7px; padding:0; }
.companies-modern .ph-meta .pm + .pm { padding-left:16px; border-color:#dfe3dc; }
.companies-modern .ph-meta .pm b { font-family:'Jost',sans-serif; font-size:20px; font-weight:500; color:#202b22; }
.companies-modern .ph-meta .pm span { font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; color:#626b5b; }
.companies-modern .section { padding:28px 0 48px; }
.companies-modern .sub-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; grid-auto-rows:auto; }
.companies-modern .sub-group { grid-column:1/-1; min-width:0; }
.companies-modern .sub-group + .sub-group { margin-top:16px; border-top:1px solid #e0e3dc; padding-top:32px; }
.companies-modern .sub-group-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 16px; margin-bottom:18px; }
.companies-modern .sub-group-heading h2 { font:500 24px/1.3 'Jost',sans-serif; color:#202b22; letter-spacing:-.02em; }
.companies-modern .sub-group-heading span { font-size:14px; color:#626b5b; }
.companies-modern .sub-group-intro { margin:-6px 0 22px; font-size:16px; line-height:1.6; color:#50594d; }
.companies-modern .sub-logo[hidden] { display:none; }
.companies-modern .sub-card { min-width:0; padding:12px; border:1px solid #e0e3dc; border-radius:16px; background:#fff; opacity:1; transform:none; animation:none; box-shadow:none; }
.companies-modern .sub-card:hover { border-color:#bac5b5; box-shadow:0 4px 18px rgba(25,43,32,.04); }
.companies-modern .sub-logo-frame { height:112px; padding:24px; display:flex; align-items:center; justify-content:center; background:#f5f7f3; border-radius:10px; }
.companies-modern .sub-logo { width:100%; max-width:230px; height:64px; max-height:100%; object-fit:contain; object-position:center; }
.companies-modern .sub-mono { width:58px; height:58px; border:0; border-radius:12px; background:#e9eee5; font:500 23px 'Jost',sans-serif; color:#374932; }
.companies-modern .sub-content { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:20px 10px 8px; }
.companies-modern .sub-sector { display:inline-flex; margin-bottom:12px; padding:6px 10px; border-radius:999px; background:#edf2e8; color:#36432e; font:400 13px/1.4 'Jost',sans-serif; letter-spacing:0; text-transform:none; }
.companies-modern .sub-name { font:500 21px/1.3 'Jost',sans-serif; letter-spacing:-.02em; color:#202b22; margin:0 0 10px; overflow-wrap:anywhere; }
.companies-modern .sub-desc { display:block; flex:1; font:400 15px/1.65 'Jost',sans-serif; color:#50594d; margin:0 0 18px; overflow:visible; }
.companies-modern .sub-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; width:100%; border-top:1px solid #e5e8e0; padding-top:10px; margin-top:auto; }
.companies-modern .sub-cta { min-height:44px; padding:6px 0; margin:0; border:0; font:500 14px/1.5 'Jost',sans-serif; letter-spacing:0; text-transform:none; background:transparent; color:#203326; }
.companies-modern .sub-card:hover .sub-cta { background:transparent; color:#203326; border-color:transparent; }
.companies-modern .sub-cta:hover { text-decoration:underline; text-underline-offset:4px; }
.companies-modern .sub-cta::after { content:none; }
.companies-modern .sub-certs { gap:16px; padding:0 0 16px; margin:0; }
.companies-modern .sub-certs img { height:54px; width:auto; }
.companies-modern .sub-empty { grid-column:1/-1; padding:24px; border:1px solid #e0e3dc; border-radius:12px; background:white; font:400 16px/1.6 'Jost',sans-serif; color:#50594d; }
.companies-modern .sub-retry { display:block; min-height:44px; margin-top:12px; padding:8px 18px; border:1px solid #d5dbd1; border-radius:8px; background:white; font:inherit; cursor:pointer; }
.companies-modern a:focus-visible,.companies-modern button:focus-visible { outline:2px solid #506246; outline-offset:4px; }
@media(max-width:1000px){.companies-modern .sub-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.companies-modern .sub-grid{grid-template-columns:minmax(0,1fr);gap:20px;}.companies-modern .sub-content{padding:16px 6px 6px;}.companies-modern .sub-name{font-size:22px;}.companies-modern .sub-logo-frame{height:112px;}.companies-modern .ph-desc{font-size:16px;}}
