/* Shared firm profile presentation. Keep the site's typography and blue brand. */
.premium-profile{--profile-ink:#153653;--profile-blue:#1266cc;--profile-line:#e5e9ee;padding-top:24px!important;padding-bottom:56px!important;background:transparent!important}
.premium-profile .firm-summary-card{display:flex;gap:26px;align-items:flex-start;padding:32px;border:1px solid #d4e4f1;border-radius:18px;background:linear-gradient(115deg,#edf6ff 0%,#f8fbff 65%,#e2f2fe 100%);box-shadow:none;margin-bottom:0;position:relative;overflow:hidden}
.premium-profile .profile-monogram{width:82px;height:82px;flex:0 0 82px;display:grid;place-items:center;border-radius:20px;background:var(--profile-ink);color:white;font-size:27px;font-weight:800;letter-spacing:-1px;border:5px solid white}
.premium-profile .profile-identity{flex:1;min-width:0}.premium-profile .firm-summary-top{display:block}.premium-profile .firm-summary-top p{font-size:11px;letter-spacing:.12em;color:var(--profile-blue);margin-bottom:8px}
.premium-profile .firm-summary-card h1{font-size:clamp(25px,2.5vw,35px);line-height:1.2;letter-spacing:-.8px;max-width:900px;margin:0 0 18px;color:var(--profile-ink)}
.premium-profile .profile-header-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.premium-profile .btn{border-radius:9px;box-shadow:none!important;transform:none!important;min-height:42px;font-size:13px;padding:10px 16px}.premium-profile .btn-primary{background:var(--profile-blue);border-color:var(--profile-blue);color:#fff}.premium-profile .btn-primary:hover{background:#0e50a3}.premium-profile .btn-outline{background:#fff;border:1px solid var(--profile-line);color:var(--profile-ink)}.premium-profile .btn-outline:hover{border-color:var(--profile-blue);background:#f1f7ff}
.premium-profile .firm-summary-rating{margin:0 0 12px;gap:9px;flex-wrap:wrap}.premium-profile .listing-location{font-size:13px;margin:0;gap:8px;color:#46617a}.premium-profile .firm-edit-link{font-size:12px;margin-top:12px;display:inline-block;color:#315f89}
.premium-profile .profile-anchor-nav{display:flex;gap:28px;padding:18px 4px;margin-bottom:24px;border-bottom:1px solid var(--profile-line);overflow-x:auto;white-space:nowrap}.premium-profile .profile-anchor-nav a{font-size:13px;font-weight:700;color:#456078}.premium-profile .profile-anchor-nav a:hover{color:var(--profile-blue)}
.premium-profile .premium-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.premium-profile .profile-main,.premium-profile .profile-sidebar{min-width:0;display:grid;gap:22px}.premium-profile .profile-panel{background:#fff;border:1px solid var(--profile-line);border-radius:14px;padding:28px;margin:0;box-shadow:none;overflow-wrap:anywhere;scroll-margin-top:105px}
.premium-profile .profile-panel h2{font-family:var(--font-heading);font-size:20px;line-height:1.35;letter-spacing:-.35px;color:var(--profile-ink);margin:0 0 18px;font-weight:800;display:flex;align-items:center;gap:9px;border:0;padding:0}.premium-profile .rich-text-content{font-size:15px;line-height:1.85;color:#475d70}.premium-profile .rich-text-content p:last-child{margin-bottom:0}
.premium-profile .profile-caption{font-size:13px;color:#63788a;margin:-7px 0 18px}.premium-profile .profile-service-list{display:flex;flex-wrap:wrap;gap:10px}.premium-profile .profile-service{display:flex;align-items:center;gap:9px;border:1px solid #d5e5f5;background:#f2f8ff;color:#145697;border-radius:9px;padding:12px 16px;font-size:13px;font-weight:700}.premium-profile .profile-service:hover{background:#e5f1ff;border-color:#94bde6}
.premium-profile .profile-resources{background:#f0f7fc}.premium-profile .profile-resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.premium-profile .profile-resource-links a{display:flex;align-items:center;gap:10px;padding:15px;background:#fff;border:1px solid var(--profile-line);border-radius:9px;font-size:13px;font-weight:600;color:var(--profile-ink)}
.premium-profile .profile-sidebar .profile-panel{padding:23px}.premium-profile .profile-sidebar h2{font-size:17px}.premium-profile .profile-contact-list{list-style:none;display:grid;gap:18px;margin:0;padding:0;font-size:14px;line-height:1.6}.premium-profile .profile-contact-list li{display:flex;align-items:flex-start;gap:12px}.premium-profile .profile-contact-list svg{flex-shrink:0;color:var(--profile-blue);margin-top:3px}.premium-profile .profile-contact-list a{color:#215d96}.premium-profile .profile-contact-actions{display:grid;gap:9px;border-top:1px solid var(--profile-line);padding-top:20px;margin-top:20px}
.premium-profile .firm-map-widget{overflow:hidden}.premium-profile .firm-map-widget #firm-interactive-map{height:230px;margin:0 -23px;width:calc(100% + 46px);border-block:1px solid var(--profile-line)}.premium-profile .firm-map-link{padding:17px 0 0}.premium-profile .firm-map-link .btn{width:100%;font-size:12px;padding-inline:8px}.premium-profile .profile-language-list{display:flex;gap:8px;flex-wrap:wrap}.premium-profile .profile-language-list span{background:#edf5fc;color:#285b84;border-radius:6px;padding:7px 11px;font-size:13px}
.premium-profile .profile-share-actions{display:grid;gap:10px}.premium-profile .profile-share-actions>a,.premium-profile .profile-social-links a{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--profile-line);background:#f6faff;color:#205b94}.premium-profile .profile-social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.premium-profile .profile-qr{border-top:1px solid var(--profile-line);padding-top:13px;font-size:12px;color:#526a7f}.premium-profile .profile-qr summary{cursor:pointer;font-weight:600;min-height:30px}.premium-profile .profile-qr>div{text-align:center;padding-top:12px}.premium-profile .profile-qr img{display:block;margin:10px auto}.premium-profile .profile-qr span{display:block;font-size:11px}.premium-profile .firm-copy-status:empty{display:none}
.premium-profile .firm-lead-form label{font-size:12px;text-transform:none;letter-spacing:0;color:#37536a;margin-bottom:7px}.premium-profile .firm-lead-form input,.premium-profile .firm-lead-form textarea{background:#fbfdff;border:1px solid #cddde9;border-radius:8px;min-height:45px;padding:12px;font-size:14px}.premium-profile .firm-lead-form textarea{min-height:125px}.premium-profile .firm-form-note{font-size:13px;line-height:1.7;color:#586e82;margin-bottom:22px}.premium-profile .firm-lead-form button{width:100%}.premium-profile :is(a,button,input,textarea,summary):focus-visible{outline:3px solid #67b6ed;outline-offset:3px}
.premium-profile .profile-related{margin:48px 0}.premium-profile .profile-related-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.premium-profile .profile-related-heading h2{font-size:24px;color:var(--profile-ink)}.premium-profile .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.premium-profile .firm-summary-card{padding:24px 30px}.premium-profile .firm-summary-card h1{margin-bottom:13px}.premium-profile .profile-header-actions{margin-bottom:12px}.premium-profile .firm-summary-rating{margin-bottom:8px}.premium-profile .firm-edit-link{margin-top:8px}
@media(max-width:1000px){.premium-profile .premium-profile-grid{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.premium-profile .profile-panel{padding:22px}.premium-profile .profile-resource-links{grid-template-columns:1fr}}
@media(max-width:760px){.premium-profile{padding-top:16px!important}.premium-profile .firm-summary-card{padding:22px;gap:15px}.premium-profile .profile-monogram{width:50px;height:50px;flex-basis:50px;font-size:18px;border-width:3px;border-radius:13px}.premium-profile .firm-summary-card h1{font-size:25px}.premium-profile .premium-profile-grid{grid-template-columns:1fr}.premium-profile .profile-sidebar{grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.premium-profile .profile-contact{grid-column:1/-1}.premium-profile .profile-anchor-nav{gap:22px}.premium-profile .related-grid{grid-template-columns:1fr}.premium-profile .profile-related-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.premium-profile .firm-summary-card{display:block}.premium-profile .profile-monogram{margin-bottom:16px}.premium-profile .profile-sidebar{display:flex;flex-direction:column}.premium-profile .profile-main{grid-row:1}.premium-profile .profile-sidebar{grid-row:auto}.premium-profile .profile-panel{padding:22px}.premium-profile .profile-header-actions{gap:7px}.premium-profile .profile-header-actions .btn{padding:9px 12px;font-size:12px}.premium-profile .profile-anchor-nav{gap:20px}.premium-profile .form-row-2col{grid-template-columns:1fr}.premium-profile .profile-related-heading h2{font-size:21px}}
@media(max-width:760px){.premium-profile .profile-main,.premium-profile .profile-sidebar{display:contents}.premium-profile .profile-intro{order:1}.premium-profile .profile-contact{order:2}.premium-profile .profile-services{order:3}.premium-profile .firm-map-widget{order:4}.premium-profile .profile-practical{order:5}.premium-profile .profile-resources{order:6}.premium-profile #lead-form{order:7}.premium-profile .profile-share{order:8}}
@media(max-width:520px){.premium-profile .profile-monogram{position:absolute;top:22px;left:22px;width:42px;height:42px}.premium-profile .firm-summary-top>div:first-child>p{padding-left:54px;min-height:42px;display:flex;align-items:center;margin-bottom:14px}.premium-profile .profile-header-actions .btn{width:auto;flex:1;padding:9px 8px;white-space:nowrap;font-size:11px}.premium-profile .profile-header-actions{flex-wrap:nowrap}.premium-profile .firm-summary-card h1{font-size:24px}}
@media(max-width:520px){.premium-profile .profile-header-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.premium-profile .profile-header-actions .btn{font-size:11px!important;padding:9px 6px!important}}

/* Compact shared profile banner: identity, useful details and dedicated action area. */
.premium-profile .firm-summary-card{display:grid;grid-template-columns:68px minmax(0,1fr) 218px;column-gap:22px;row-gap:10px;padding:27px 28px;border-radius:16px;background:linear-gradient(110deg,#fff 35%,#f0f7fe 100%);border:1px solid #e2e8ef}
.premium-profile .profile-identity,.premium-profile .firm-summary-top{display:contents}
.premium-profile .profile-monogram{grid-column:1;grid-row:1/4;position:static;width:68px;height:68px;margin:0;border:0;border-radius:17px;background:linear-gradient(145deg,#214f72,#153653);font-size:24px;box-shadow:0 0 0 6px #edf5fc}
.premium-profile .firm-summary-top>div:first-child{grid-column:2;grid-row:1}
.premium-profile .firm-summary-top>div:first-child>p{padding:0;min-height:0;display:block;margin:0 0 7px;font-size:11px;letter-spacing:.07em;font-weight:700}
.premium-profile .firm-summary-card h1{font-size:clamp(23px,2.15vw,30px);line-height:1.24;letter-spacing:-.6px;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.premium-profile .profile-header-actions{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:1fr 1fr;align-self:center;gap:8px;margin:0;padding-left:20px;border-left:1px solid #d9e7f2}
.premium-profile .profile-header-actions .btn{font-size:12px;padding:10px;min-height:42px;justify-content:center;white-space:nowrap}
.premium-profile .profile-header-actions .btn-primary{grid-column:1/-1}
.premium-profile .listing-location{grid-column:2;grid-row:2;margin:0;font-size:12px;line-height:1.65;align-items:flex-start}
.premium-profile .listing-location svg{flex-shrink:0;margin-top:2px}
.premium-profile .firm-summary-rating{grid-column:2;grid-row:3;margin:0;font-size:11px;gap:7px;line-height:1.6}
.premium-profile .firm-edit-link{grid-column:3;grid-row:3;align-self:center;text-align:center;margin:0;font-size:11px;line-height:1.5}
@media(max-width:900px){.premium-profile .firm-summary-card{grid-template-columns:56px minmax(0,1fr);padding:23px;gap:14px 18px}.premium-profile .profile-monogram{width:56px;height:56px;font-size:21px;grid-row:1}.premium-profile .firm-summary-card h1{font-size:25px}.premium-profile .listing-location{grid-column:1/-1;grid-row:2}.premium-profile .firm-summary-rating{grid-column:1/-1;grid-row:3}.premium-profile .profile-header-actions{grid-column:1/-1;grid-row:4;display:flex;padding:14px 0 0;border-left:0;border-top:1px solid #d9e7f2;flex-wrap:wrap}.premium-profile .profile-header-actions .btn{flex:1}.premium-profile .firm-edit-link{grid-column:1/-1;grid-row:5;text-align:left}}
@media(max-width:520px){.premium-profile .firm-summary-card{padding:20px 18px;grid-template-columns:44px minmax(0,1fr);gap:12px 14px}.premium-profile .profile-monogram{width:44px;height:44px;font-size:18px;border-radius:12px;box-shadow:0 0 0 4px #edf5fc}.premium-profile .firm-summary-card h1{font-size:22px;letter-spacing:-.35px;text-wrap:initial}.premium-profile .firm-summary-top>div:first-child>p{font-size:10px;letter-spacing:.025em;margin-bottom:6px}.premium-profile .profile-header-actions{display:flex!important}.premium-profile .profile-header-actions .btn{min-height:42px}.premium-profile .firm-summary-rating{gap:6px}}

/* Same vector basemap, buildings and blue marker as the directory map. */
.premium-profile .firm-map-widget #firm-interactive-map{height:270px}.firm-vector-marker{width:23px;height:23px;border:3px solid #fff;border-radius:50%;background:#1266cc;padding:0;cursor:pointer;box-shadow:0 1px 5px #17395735}.firm-vector-marker:focus-visible{outline:3px solid #173957;outline-offset:3px}.firm-vector-controls button{color:#173957;font-weight:700;font-size:18px}.firm-vector-controls button[aria-pressed]{font-size:11px}.firm-vector-controls button[aria-pressed=true]{background:#173957;color:#fff}.premium-profile .firm-map-widget #firm-interactive-map.maplibregl-pseudo-fullscreen,.premium-profile .firm-map-widget #firm-interactive-map:fullscreen{height:100dvh!important;width:100vw!important;margin:0!important}.firm-map-widget .maplibregl-popup-content{font-size:12px;color:#173957;padding:16px 23px 16px 14px}
@media(max-width:520px){.premium-profile .firm-summary-card h1{font-size:22px!important;line-height:1.28!important}}

.profile-qr>div>span:first-child{font-weight:700;color:#153653;font-size:13px}.premium-profile .profile-qr img{width:150px;height:150px;padding:10px;border:1px solid #e5e9ee;border-radius:10px;background:#fff}

/* A calm full-width canvas separates the white information cards. */
.main-content:has(.premium-profile){background:#f2f6fa}
.premium-profile .profile-panel{background:#fff;border-color:#e0e7ee;box-shadow:0 4px 18px rgba(21,54,83,.035)}
.premium-profile .firm-mini-related>a{background:#fff;border-color:#e0e7ee;box-shadow:0 4px 18px rgba(21,54,83,.035)}
.premium-profile .firm-site-nav{border-bottom-color:#dbe4ed}

/* A readable, immediately visible address card above the cabinet marker. */
.firm-map-widget .firm-location-popup .maplibregl-popup-content{padding:0;border:1px solid #d8e5ef;border-radius:12px;background:#fff;box-shadow:0 8px 24px #17395724;overflow:hidden}
.firm-location-card{display:flex;flex-direction:column;gap:6px;min-width:170px;padding:15px 30px 15px 16px;color:#173957;text-decoration:none;background:linear-gradient(140deg,#f3f8fd,#fff 65%)}
.firm-location-eyebrow{font-size:9px;line-height:1.4;font-weight:600;letter-spacing:.035em;color:#657f94}
.firm-location-card strong{font-family:var(--font-heading);font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;text-wrap:pretty}
.firm-location-action{font-size:10px;font-weight:600;line-height:1.5;color:#1266cc;margin-top:2px}
.firm-location-card:hover strong{color:#1266cc}.firm-location-card:hover .firm-location-action{text-decoration:underline;text-underline-offset:3px}
.firm-location-card:focus-visible{outline:2px solid #1266cc;outline-offset:-3px;border-radius:12px}
.firm-map-widget .firm-location-popup .maplibregl-popup-close-button{width:28px;height:28px;padding:0;right:2px;top:2px;border-radius:50%;color:#607b90;font-size:19px;line-height:1;background:transparent}
.firm-map-widget .firm-location-popup .maplibregl-popup-close-button:hover{background:#eaf2f9;color:#173957}
.firm-map-widget .firm-location-popup .maplibregl-popup-close-button:focus-visible{outline:2px solid #1266cc;outline-offset:-3px}
