.office-directory-body,
.office-profile-public-body { --office-public-accent:var(--atlas-brand); --office-public-ink:var(--atlas-light-text); --office-public-muted:var(--atlas-light-muted); --office-public-line:var(--atlas-light-border); --office-public-soft:var(--atlas-light-surface-soft); }
.office-directory-body,.office-profile-public-body { background:#f6f8fb; color:var(--office-public-ink); }
.office-public-topbar { border-bottom:1px solid rgba(15,23,42,.07); box-shadow:0 6px 28px rgba(15,23,42,.045); }
.pub-menu-toggle svg { width:22px; height:22px; stroke-width:2.2; }
.office-directory-page,.office-profile-public-content { width:min(100% - 32px,1240px); margin:0 auto; }
.office-directory-hero { min-height:190px; margin:18px 0 14px; padding:clamp(24px,3.2vw,38px); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:28px; border-radius:22px; color:#fff; background:radial-gradient(520px 240px at 10% 20%,color-mix(in srgb,var(--office-public-accent) 28%,transparent),transparent 70%),linear-gradient(125deg,#071525,#102a40 64%,#0b3640); box-shadow:0 18px 44px rgba(15,35,56,.13); }
.office-directory-hero::after { content:""; position:absolute; width:220px; height:220px; left:-70px; top:-90px; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 30px rgba(255,255,255,.02),0 0 0 60px rgba(255,255,255,.012); }
.office-directory-hero-copy { max-width:690px; position:relative; z-index:1; }.office-public-eyebrow { display:inline-flex; padding:6px 10px; border:1px solid rgba(167,139,250,.28); border-radius:99px; background:rgba(109,40,217,.1); color:#ddd6fe; font-size:10px; font-weight:900; }.office-directory-hero h1 { max-width:690px; margin:11px 0 7px; color:#fff; font-size:clamp(28px,4vw,44px); line-height:1.12; letter-spacing:-.025em; }.office-directory-hero p { max-width:650px; margin:0; color:#b8c5d2; line-height:1.75; font-size:13px; }
.office-directory-summary { flex:0 0 auto; position:relative; z-index:1; display:flex; align-items:center; gap:17px; padding:15px 17px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.055); backdrop-filter:blur(14px); }.office-directory-summary div { min-width:76px; }.office-directory-summary strong,.office-directory-summary span { display:block; }.office-directory-summary strong { font-size:23px; color:#fff; }.office-directory-summary span { color:#aab8c7; font-size:10px; margin-top:3px; }.office-directory-summary i { width:1px; height:34px; background:rgba(255,255,255,.12); }
.office-directory-search-card { margin-bottom:22px; padding:16px; display:grid; grid-template-columns:200px minmax(0,1fr); gap:18px; align-items:end; border:1px solid var(--office-public-line); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(15,23,42,.045); }.office-directory-search-intro { display:flex; align-items:center; gap:11px; padding:4px; }.office-directory-search-intro>span { width:40px; height:40px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:var(--office-public-accent); background:color-mix(in srgb,var(--office-public-accent) 9%,#fff); }.office-directory-search-intro svg { width:20px; height:20px; stroke-width:1.8; }.office-directory-search-intro strong,.office-directory-search-intro small { display:block; }.office-directory-search-intro strong { font-size:12px; }.office-directory-search-intro small { color:#8290a2; font-size:9px; margin-top:3px; }
.office-directory-form { display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(160px,1fr) auto; gap:9px; align-items:end; padding:0; border:0; border-radius:0; background:transparent; }.office-directory-form label>span { display:block; color:#64748b; font-size:9px; font-weight:900; margin:0 3px 6px; }.office-directory-form .input,.office-directory-form .select { width:100%; min-height:45px; border:1px solid #dce4ec; border-radius:12px; background:#f8fafc; }.office-directory-form-actions { display:flex; gap:7px; }.office-directory-form-actions .btn { min-height:45px; white-space:nowrap; border-radius:12px; }
.office-directory-results-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:16px; }.office-directory-results-head span,.office-directory-results-head strong { display:block; }.office-directory-results-head span { color:var(--office-public-accent); font-size:9px; font-weight:900; }.office-directory-results-head strong { margin-top:4px; font-size:19px; }.office-directory-results-head>a { color:#31506c; font-size:10px; font-weight:900; }.office-directory-results-head>a b { color:var(--office-public-accent); margin-right:4px; }
.office-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.office-directory-card { overflow:hidden; display:flex; flex-direction:column; min-width:0; border:1px solid var(--office-public-line); border-radius:21px; background:#fff; box-shadow:0 10px 35px rgba(15,23,42,.045); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }.office-directory-card:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--office-public-accent) 30%,#e6ecf2); box-shadow:0 22px 55px rgba(15,23,42,.1); }.office-directory-card-cover { height:112px; position:relative; background:radial-gradient(220px 90px at 10% 25%,color-mix(in srgb,var(--office-public-accent) 25%,transparent),transparent 75%),linear-gradient(135deg,#10283d,#0a1c2d); background-size:cover; background-position:center; }.office-directory-card-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(5,15,26,.34),transparent 65%); }.office-verified-pill { position:absolute; z-index:1; top:12px; left:12px; display:flex; align-items:center; gap:5px; padding:6px 8px; border:1px solid rgba(255,255,255,.16); border-radius:99px; color:#d1fae5; background:rgba(5,20,30,.58); backdrop-filter:blur(10px); font-size:9px; font-weight:900; }.office-verified-pill svg { width:14px; height:14px; stroke-width:2; }.office-directory-card-body { flex:1; display:flex; flex-direction:column; padding:0 18px 18px; }.office-directory-identity { display:flex; align-items:flex-end; gap:11px; margin-top:-31px; position:relative; z-index:2; }.office-directory-logo { width:68px; height:68px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; border:5px solid #fff; border-radius:19px; background:#eaf1f6; color:#21405c; font-size:25px; font-weight:900; box-shadow:0 8px 20px rgba(15,23,42,.1); }.office-directory-logo img { width:100%; height:100%; object-fit:cover; background:#fff; }.office-directory-identity>div:last-child { min-width:0; padding-bottom:4px; }.office-directory-identity h2 { margin:0; color:#10243a; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.office-directory-identity small { display:block; color:#8190a2; font-size:9px; margin-top:3px; }.office-directory-description { min-height:58px; margin:15px 0; color:#68788a; font-size:10px; line-height:1.9; }.office-directory-facts { display:grid; gap:8px; padding:12px; border-radius:13px; background:#f7f9fb; }.office-directory-facts span { display:grid; grid-template-columns:17px 75px minmax(0,1fr); gap:6px; align-items:start; color:#64748b; font-size:9px; line-height:1.55; }.office-directory-facts svg { width:15px; height:15px; color:var(--office-public-accent); stroke-width:1.8; }.office-directory-facts b { color:#263c52; }.office-directory-card-actions { display:flex; gap:8px; margin-top:auto; padding-top:15px; }.office-directory-card-actions .btn { min-height:40px; flex:1; border-radius:11px; font-size:10px; }.office-wa-button { flex:0 0 auto!important; color:#08775b!important; border-color:#b9e9db!important; background:#edfbf6!important; }
.office-directory-empty { grid-column:1/-1; padding:70px 24px; text-align:center; border:1px dashed #d8e1ea; border-radius:22px; background:#fff; }.office-directory-empty>span { display:block; color:#a2b0bf; font-size:50px; }.office-directory-empty h2 { margin:8px 0 4px; }.office-directory-empty p { margin:0 0 18px; color:#7b8999; }.office-public-pagination { display:flex; justify-content:center; align-items:center; gap:12px; padding:28px 0 45px; }.office-public-pagination a,.office-public-pagination span { padding:9px 13px; border:1px solid var(--office-public-line); border-radius:10px; background:#fff; font-size:10px; font-weight:800; }.office-public-pagination a { color:#1e4d69; }.office-public-pagination span { color:#7b8999; }

/* Public office profile */
.office-profile-public-page { padding-bottom:48px; }.office-profile-hero { min-height:430px; position:relative; overflow:hidden; display:flex; align-items:flex-end; color:#fff; background:#0b1c2e center/cover no-repeat; }.office-profile-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,12,22,.97),rgba(4,12,22,.8) 48%,rgba(4,12,22,.36)),linear-gradient(to top,rgba(4,12,22,.72),transparent 60%); }.office-profile-hero-inner { width:min(100% - 32px,1240px); margin:0 auto; padding:72px 0 56px; position:relative; z-index:1; display:grid; grid-template-columns:124px minmax(0,1fr) auto; align-items:end; gap:24px; }.office-profile-logo { width:124px; height:124px; display:grid; place-items:center; overflow:hidden; border:5px solid rgba(255,255,255,.16); border-radius:29px; background:rgba(255,255,255,.1); backdrop-filter:blur(14px); font-size:42px; font-weight:900; box-shadow:0 20px 50px rgba(0,0,0,.28); }.office-profile-logo img { width:100%; height:100%; object-fit:cover; background:#fff; }.office-profile-hero-copy h1 { margin:12px 0 8px; color:#fff; font-size:clamp(34px,5vw,56px); line-height:1.1; }.office-profile-hero-copy p { max-width:720px; margin:0; color:#aab9ca; line-height:1.8; }.office-profile-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }.office-profile-actions .btn { min-height:45px; border-radius:12px; }.office-profile-actions .btn.secondary { color:#fff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.07); }.office-profile-content-grid { display:grid; grid-template-columns:320px minmax(0,1fr); gap:18px; align-items:start; margin-top:-24px; position:relative; z-index:2; }.office-profile-side { position:sticky; top:92px; display:grid; gap:12px; }.office-profile-card { padding:20px; border:1px solid var(--office-public-line); border-radius:20px; background:#fff; box-shadow:0 14px 45px rgba(15,23,42,.06); }.office-profile-card h2 { margin:0 0 15px; color:#142a40; font-size:16px; }.office-profile-contact-list { display:grid; gap:6px; }.office-profile-contact-list a,.office-profile-contact-list>div { display:grid; grid-template-columns:37px minmax(0,1fr); gap:10px; align-items:center; padding:9px; border-radius:12px; color:#526579; }.office-profile-contact-list a:hover { background:#f5f8fa; }.office-profile-contact-list i { width:37px; height:37px; display:grid; place-items:center; border-radius:11px; color:var(--office-public-accent); background:color-mix(in srgb,var(--office-public-accent) 8%,#fff); }.office-profile-contact-list svg { width:18px; height:18px; stroke-width:1.8; }.office-profile-contact-list small,.office-profile-contact-list strong { display:block; }.office-profile-contact-list small { color:#91a0af; font-size:8px; }.office-profile-contact-list strong { margin-top:2px; color:#31475c; font-size:10px; word-break:break-word; }.office-profile-coverage { display:flex; flex-wrap:wrap; gap:6px; }.office-profile-coverage span { padding:6px 9px; border-radius:99px; color:#3f596f; background:#f2f6f8; font-size:9px; font-weight:800; }.office-profile-socials { display:flex; gap:7px; margin-top:14px; }.office-profile-socials a { padding:7px 9px; border:1px solid var(--office-public-line); border-radius:9px; color:#526579; font-size:9px; font-weight:800; }.office-profile-main { display:grid; gap:14px; }.office-profile-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.office-profile-stat { padding:20px; border:1px solid var(--office-public-line); border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(15,23,42,.04); }.office-profile-stat strong,.office-profile-stat span { display:block; }.office-profile-stat strong { color:#142a40; font-size:28px; }.office-profile-stat span { color:#8493a3; font-size:9px; margin-top:5px; }.office-profile-section-head { display:flex; justify-content:space-between; align-items:end; gap:14px; margin-bottom:16px; }.office-profile-section-head h2 { margin:0; }.office-profile-section-head p { margin:4px 0 0; color:#8493a3; font-size:9px; }.office-profile-map { height:390px; overflow:hidden; border-radius:15px; background:#e9eef3; }.office-profile-listings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.office-profile-listing { display:grid; grid-template-columns:120px minmax(0,1fr); overflow:hidden; min-height:150px; border:1px solid var(--office-public-line); border-radius:16px; background:#fff; }.office-profile-listing-media { min-height:150px; position:relative; display:grid; place-items:center; color:#91a0af; background:#edf2f5; }.office-profile-listing-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.office-profile-listing-body { min-width:0; display:flex; flex-direction:column; padding:14px; }.office-profile-listing h3 { margin:0 0 5px; color:#182e43; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.office-profile-listing-location { color:#8291a1; font-size:9px; }.office-profile-listing-price { margin:10px 0; color:#102a3e; font-size:14px; font-weight:900; }.office-profile-listing-actions { display:flex; gap:6px; margin-top:auto; }.office-profile-listing-actions .btn { min-height:34px; padding:6px 9px; border-radius:9px; font-size:9px; }.office-profile-empty { padding:40px; text-align:center; border:1px dashed #dae2e9; border-radius:15px; color:#7d8c9c; background:#fafcfd; }

@media (max-width:1050px) { .office-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.office-directory-search-card { grid-template-columns:1fr; }.office-directory-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.office-directory-form-actions { align-self:end; }.office-profile-hero-inner { grid-template-columns:105px minmax(0,1fr); }.office-profile-logo { width:105px; height:105px; }.office-profile-actions { grid-column:1/-1; justify-content:flex-start; }.office-profile-content-grid { grid-template-columns:280px minmax(0,1fr); }.office-profile-listings { grid-template-columns:1fr; } }
@media (max-width:760px) { .office-directory-page,.office-profile-public-content { width:min(100% - 22px,1240px); }.office-directory-hero { min-height:auto; display:grid; gap:18px; margin-top:12px; padding:22px 18px; border-radius:18px; }.office-directory-hero h1 { font-size:clamp(26px,8vw,34px); }.office-directory-summary { width:100%; justify-content:center; padding:13px 15px; }.office-directory-search-card { padding:14px; }.office-directory-form { grid-template-columns:1fr; }.office-directory-form-actions .btn { flex:1; }.office-directory-results-head { align-items:flex-start; }.office-directory-grid { grid-template-columns:1fr; }.office-profile-hero { min-height:auto; }.office-profile-hero-inner { width:min(100% - 26px,1240px); grid-template-columns:82px minmax(0,1fr); gap:14px; padding:55px 0 45px; }.office-profile-logo { width:82px; height:82px; border-radius:21px; font-size:30px; }.office-profile-hero-copy h1 { font-size:32px; }.office-profile-hero-copy p { font-size:11px; }.office-profile-actions .btn { flex:1; }.office-profile-content-grid { grid-template-columns:1fr; margin-top:-18px; }.office-profile-side { position:static; }.office-profile-side { grid-template-columns:1fr 1fr; }.office-profile-main { grid-column:1/-1; }.office-profile-stats { gap:7px; }.office-profile-stat { padding:15px; }.office-profile-stat strong { font-size:23px; }.office-profile-map { height:320px; } }
@media (max-width:520px) { .office-directory-hero { gap:12px; padding:16px; }.office-public-eyebrow { display:none; }.office-directory-hero h1 { margin:0 0 4px; font-size:25px; }.office-directory-hero p { font-size:11px; line-height:1.6; }.office-directory-summary { gap:10px; padding:8px 10px; }.office-directory-summary div { min-width:0; flex:1; }.office-directory-summary strong { font-size:18px; }.office-directory-summary span { font-size:9px; }.office-directory-summary i { height:28px; }.office-directory-results-head { display:grid; }.office-directory-card-body { padding-left:14px; padding-right:14px; }.office-profile-hero-inner { grid-template-columns:1fr; }.office-profile-logo { grid-row:1; }.office-profile-actions { display:grid; grid-template-columns:1fr; }.office-profile-side { grid-template-columns:1fr; }.office-profile-stats { grid-template-columns:repeat(3,1fr); }.office-profile-stat { padding:12px 9px; }.office-profile-stat strong { font-size:20px; }.office-profile-listing { grid-template-columns:100px minmax(0,1fr); }.office-profile-listing-media { min-height:165px; } }
@media (prefers-reduced-motion:reduce) { .office-directory-card { transition:none; } }
.office-profile-card { display:block; grid-template-columns:none; align-items:initial; gap:0; }
