/* Firm layer: institutional polish. Loads after rich.css. */
/* Header: wordmark + crisp nav */
.site-header{border-bottom:1px solid #DADFE6}
.header-inner{min-height:84px}
.brand-mark{height:40px!important;width:auto!important}
.brand-name{font-family:var(--serif)!important;font-size:1.32rem!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--navy-900)!important;line-height:1}
.brand-sub{font-family:var(--sans)!important;font-size:.6rem!important;font-weight:600!important;letter-spacing:.32em!important;text-transform:uppercase;color:var(--muted)!important;margin-top:5px}
.lockup-divider{height:32px!important;background:#D3D8DF!important;width:1px!important}
.real-logo{height:16px!important;width:auto!important;opacity:.8;filter:grayscale(1)}
.brokerage-name{font-size:.68rem!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important}
@media (min-width:1180px){
 .site-nav>ul{gap:34px!important}
 .site-nav>ul>li>a:not(.btn),.site-nav .nav-item>a{font-size:.74rem!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase}
 .site-header .btn,.site-header .btn-red{background:var(--navy-900)!important;border-color:var(--navy-900)!important;font-size:.72rem!important;letter-spacing:.18em!important;padding:13px 22px!important}
 .site-header .btn:hover{background:var(--navy-700)!important}
}
.site-nav a[aria-current="page"]:not(.btn){box-shadow:none!important}

/* Hero plaque: compact, formal */
body.home .hero-card{padding:30px 30px 24px!important;max-width:330px;justify-self:end;border-top:3px solid var(--navy-900)!important}
body.home .hero-logo{max-width:150px!important}
body.home .cobrand-name{font-size:1.15rem!important;letter-spacing:.02em}
body.home .hero-call{font-size:.9rem}

/* Trust strip */
.trust-strip{background:#F3F4F6;border-bottom:1px solid #DADFE6}
.trust-inner{display:flex;align-items:center;gap:clamp(24px,4vw,56px);padding-top:26px;padding-bottom:26px}
.trust-logo{height:22px;width:auto;filter:grayscale(1);opacity:.85;flex:none}
.trust-facts{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0 0 0 clamp(24px,4vw,56px);border-left:1px solid #C9CFD8}
.trust-facts li{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#3A4352;padding:4px 0}
.trust-facts li+li::before{content:"";display:inline-block;width:1px;height:12px;background:#B5BDC8;margin:0 22px;vertical-align:-1px}

/* Team: formal firm cards, uniform portrait frames */
.team-grid.team-profiles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(32px,4vw,64px)!important;align-items:stretch}
.team-profile{display:flex!important;flex-direction:column;border-top:2px solid var(--navy-900)!important;padding:0!important}
.team-profile .profile-media{display:block!important;padding:0!important;margin:0 0 28px}
.team-profile .avatar{width:100%!important;height:auto!important;aspect-ratio:4/3;margin:0!important;background:var(--navy-900)!important;position:relative;overflow:hidden}
.team-profile .avatar svg{display:none}
.team-profile .avatar:not(.avatar-photo)::after{content:"";position:absolute;inset:0;background:url(/assets/img/ccg-logo-white-450.webp) center/34% auto no-repeat;opacity:.9}
.team-profile .avatar-photo img{object-position:50% 22%!important}
.team-profile h3{font-size:clamp(1.6rem,2.2vw,2rem)!important;margin:0 0 6px}
.team-role{font-size:.72rem!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--muted)!important;margin-bottom:20px!important}
.team-bio p{font-size:.98rem;color:#3A4352}
.team-contact{margin-top:auto!important;border-top:1px solid #DADFE6;padding-top:18px!important;display:grid!important;grid-template-columns:auto 1fr;gap:10px 20px;list-style:none}
.team-contact li{display:contents!important}
.team-contact .label{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.team-contact a{color:var(--navy-900);text-decoration:none}
.team-contact a:hover{text-decoration:underline}
.team-social{margin-top:16px}
.social-link{border:0!important;padding:0!important;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-900)}
.social-link svg{width:14px;height:14px}
.pano{margin-bottom:clamp(56px,7vw,96px)!important}

/* Services: capability matrix */
.service-grid.service-categories{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-top:2px solid var(--navy-900);border-bottom:1px solid #DADFE6}
.service-categories .service-card{border-top:0!important;padding:32px clamp(18px,1.8vw,28px) 36px!important;border-left:1px solid #DADFE6!important}
.service-categories .service-card:first-child{border-left:0!important;padding-left:0!important}
.service-categories .service-card::after{font-size:2.4rem!important;margin-bottom:20px}
.service-categories .service-card h2,.service-categories .service-card h3{font-size:1.45rem!important;min-height:2.6em}
.service-categories .service-card p{font-size:.93rem;color:var(--muted);min-height:5.6em}
.service-categories .service-card ul{border-top:1px solid #DADFE6;padding-top:6px!important;margin-top:18px}
.service-categories .service-card li{padding:10px 0 10px 0!important;border-bottom:1px solid #EEF0F3;font-size:.9rem}
.service-categories .service-card li::before{display:none!important}
.process-steps{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;counter-reset:none}
.process-steps li{border-top:1px solid var(--navy-900)!important;padding:24px 24px 0 0!important}

/* Footer: institutional */
.site-footer{padding-top:0}
.footer-grid{padding-top:clamp(56px,6vw,80px)!important;padding-bottom:clamp(40px,5vw,56px)!important;gap:clamp(32px,4vw,64px)!important;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-logo{width:120px!important}
.footer-real-logo{height:20px!important;width:auto!important}
.footer-broker-name{font-size:1rem!important;letter-spacing:.04em}
.footer-h{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:12px;margin-bottom:16px!important}
.site-footer li{margin:.5em 0;font-size:.9rem}
.footer-brokerage p{font-size:.88rem;line-height:1.7}
.footer-legal{display:grid!important;grid-template-columns:1fr;gap:0!important;padding-top:0!important}
.footer-legal>*{padding:22px 0!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-legal>*:last-child{border-bottom:0}
.footer-legal p{font-size:.74rem!important;line-height:1.7;color:rgba(255,255,255,.6)!important;max-width:110ch}
.footer-legal .copyright{letter-spacing:.08em;text-transform:uppercase;font-size:.66rem!important}
.eho svg{opacity:.7}

@media (max-width:980px){
 .service-grid.service-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .service-categories .service-card:nth-child(3){border-left:0!important;padding-left:0!important}
 .service-categories .service-card:nth-child(n+3){border-top:1px solid #DADFE6!important}
 .process-steps{grid-template-columns:repeat(2,1fr)!important;gap:28px 0!important}
}
@media (max-width:760px){
 .trust-inner{flex-direction:column;align-items:flex-start;gap:16px}
 .trust-facts{flex-direction:column;border-left:0;padding-left:0;border-top:1px solid #C9CFD8;padding-top:12px}
 .trust-facts li+li::before{display:none}
 .team-grid.team-profiles{grid-template-columns:1fr!important}
 .service-grid.service-categories{grid-template-columns:1fr!important}
 .service-categories .service-card{border-left:0!important;padding-left:0!important;padding-right:0!important;border-top:1px solid #DADFE6!important}
 .service-categories .service-card h2,.service-categories .service-card h3,.service-categories .service-card p{min-height:0}
 .process-steps{grid-template-columns:1fr!important}
 body.home .hero-card{max-width:none;justify-self:stretch}
}
/* refinement */
.team-grid.team-profiles{max-width:1040px!important;margin:0 auto}
.team-profile .profile-media{width:100%!important;max-width:none!important;flex:none!important}
.team-profile .avatar{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important}
.team-profile .avatar-photo picture,.team-profile .avatar-photo img{width:100%!important;height:100%!important;display:block}
.team-profile .profile-body{width:100%;display:flex;flex-direction:column;flex:1}
.team-contact{display:block!important}
.team-contact li{display:flex!important;gap:16px;align-items:baseline;padding:9px 0;border-bottom:1px solid #EEF0F3;margin:0!important;font-size:.92rem}
.team-contact .label{flex:0 0 96px}
.team-contact a{overflow-wrap:anywhere}
body.home .teaser-photo{height:auto!important;aspect-ratio:3/4!important}
.team-contact li{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
.team-contact li>*{margin:0!important}
.team-contact .label{display:inline-block!important;width:96px!important;flex:0 0 96px!important}

/* Contact form status: prominent confirmation/error */
.contact-form .form-status:empty{display:none}
.contact-form .form-status{margin:0 0 18px;padding:16px 20px;border-left:3px solid currentColor;font-size:15px;line-height:1.55;background:#f4f6f9}
.contact-form .form-status.is-ok{color:#0b2a55;background:#eef3f9}
.contact-form .form-status.is-error{color:#9b1c1c;background:#fbf1f1}
.contact-form .form-status a{color:inherit;text-decoration:underline}
