.core-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.core-nav a{color:#0b1733;font-weight:600}.core-nav .core-manager{background:#0b1733;color:white;padding:12px 18px;border-radius:6px}.core-footer-links{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.core-footer-links a{color:white}.core-skip{position:absolute;left:-9999px}.core-skip:focus{left:16px;top:16px;z-index:10000;background:white;padding:12px}.core-search{display:grid;grid-template-columns:minmax(210px,1.4fr) 1fr auto;gap:12px;background:white;padding:12px;border-radius:8px;max-width:960px}.core-search select{width:100%;min-height:56px;border:1px solid #777;border-radius:4px;padding:10px;color:#0b1733;background:white}.core-search label{font-size:14px}.core-search-error{background:white;color:#0b1733;padding:24px}.core-hero .slider-content{width:100%}.core-hero{min-height:620px}.core-hero h1{max-width:1000px}.core-hero h4{max-width:980px}.core-hidden-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:767px){.core-search{grid-template-columns:1fr}.core-hero{min-height:800px}.core-nav{gap:12px;font-size:13px;padding:12px 0}.core-hero h1{font-size:36px}.core-hero h4{font-size:18px}.core-search button{min-height:48px}}
.core-nav a,.core-services summary{color:#fff}.core-services{position:relative}.core-services summary{cursor:pointer;font-weight:600}.core-service-menu{position:absolute;z-index:100;right:0;top:36px;background:#fff;padding:20px;width:300px;max-height:65vh;overflow:auto;border-radius:8px;box-shadow:0 10px 40px #0003}.core-service-menu a{display:block;color:#0b1733;padding:7px}.core-search button{background:#0b1733;color:#fff;border-radius:4px}
@media(max-width:767px){.header-v2 .d-list-header{position:relative;background:#0b1733}.core-hero{min-height:0}.core-hero .slider-content{position:relative!important;top:auto;transform:none;padding:48px 0}.core-hero .d-slider{position:absolute;inset:0;height:100%}.core-nav .core-manager{background:#fff;color:#0b1733}.core-service-menu{right:auto;left:0;max-width:calc(100vw - 60px)}}
@media(max-width:767px){.header-v2 .d-list-header .d-header-navbar{position:relative}}
.core-directory .d-header-navbar{position:relative;background:#0b1733}.core-directory .title-bar-inner{padding-top:65px;padding-bottom:65px}.core-city-image-placeholder{height:230px;display:grid;place-items:center;background:#e8eef5;color:#526581;font-size:48px}.core-directory #directory-search{min-width:0}.core-directory .tg-city-search-card form{margin-bottom:0}@media(max-width:767px){.core-directory .title-bar-inner{padding-top:35px;padding-bottom:35px}}
.core-city .tg-featured-card img.card-img-top {object-fit:cover;height:240px;width:100%}
.core-city .tg-pro-logo {object-fit:contain;flex-shrink:0}
.core-city .tg-pro-card,.core-city .tg-free-row {padding:24px;border-radius:18px;background:#fff;height:100%}
.core-city .tg-city-search-card {margin-bottom:28px}
.core-faq {padding:18px 0;border-bottom:1px solid #e6edf5}
.core-faq summary {font-weight:600;cursor:pointer}
/* FAQ questions are h2 like legacy's accordion headers; the heading takes the summary's font. */
.core-faq-question {display:inline;margin:0;font:inherit;color:inherit;line-height:inherit}
.core-faq p {margin-top:14px}
.core-compare-choice {align-self:center;font-size:14px}
.core-compare-bar {position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:1000;background:#0b1733;color:white;padding:16px 24px;border-radius:16px;box-shadow:0 10px 30px #0003;display:flex;align-items:center;gap:16px;width:max-content;max-width:94vw;flex-wrap:wrap}
.core-city img.tg-pro-logo {width:72px;min-width:72px;max-width:72px;height:72px;object-fit:contain;flex:0 0 72px}
.core-city #prosgrade_titlebar nav a {color:#fff}
.core-city .main-wrapper>.container {padding-top:40px;padding-bottom:60px}
.core-city .tg-featured-card .card-body>div>div {min-width:0;overflow-wrap:anywhere}
.core-city .tg-featured-card .card-body {padding:24px}
.core-compare-bar button {color:#fff;border:1px solid #a9b8d1;background:transparent;padding:8px 14px}
.core-compare-bar a {color:#0b1733;background:#fff;padding:8px 14px}
.core-city .main-wrapper>.container>section {margin-bottom:40px}
.core-profile-hero {background:linear-gradient(120deg,#0b1733,#17365a);color:#fff;padding:42px 0 52px}
.core-profile-hero h1 {color:#fff;margin:12px 0;font-size:38px}
.core-profile-hero a {color:#fff}
.core-profile-hero a.btn-light {color:#0b1733;background:white}
.core-profile-hero a.btn-outline-light {border:1px solid #b6c4d8;padding:10px 18px}
.core-profile-logo {width:96px;height:96px;object-fit:contain;background:white;border-radius:16px;padding:8px;flex:0 0 96px}
.core-profile-tier {display:inline-block;background:#e6f2ff;color:#163657;border-radius:20px;padding:5px 12px;font-weight:600;font-size:13px}
.core-profile-content {padding-top:36px;padding-bottom:60px}
.core-profile-panel {border:1px solid #e6edf5;border-radius:20px;padding:28px;margin-bottom:24px;background:white;box-shadow:0 8px 24px #0b173308}
.core-profile-panel h2 {font-size:25px;margin-bottom:20px}
.core-profile-panel h3 {font-size:19px}
.core-profile-gallery {margin-bottom:32px}
.core-profile-main-photo {width:100%;height:450px;object-fit:cover;border-radius:20px}
.core-profile-gallery summary {cursor:pointer;padding:16px;font-weight:600}
.core-profile-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.core-profile-photo-grid img {width:100%;height:240px;object-fit:cover;border-radius:12px}
.core-profile-photo-grid figcaption {font-size:12px;padding:8px}
.core-preserve-lines {white-space:pre-line;overflow-wrap:anywhere}
.core-service-tag {border:1px solid #dce7f7;background:#f2f7ff;padding:7px 12px;border-radius:20px}
.core-profile-review {padding:20px 0;border-bottom:1px solid #e3ebf5;margin-bottom:20px}
.core-profile-review blockquote {background:#f5f8fc;border-left:3px solid #4f70db;padding:16px}
@media(max-width:600px){.core-profile-hero h1{font-size:28px}.core-profile-logo{width:64px;height:64px;flex-basis:64px}.core-profile-main-photo{height:260px}.core-profile-photo-grid{grid-template-columns:1fr}.core-profile-panel{padding:20px}.core-profile-hero{padding:28px 0}}
.core-profile-hero .d-flex.align-items-center {gap:24px!important}
.core-profile-panel p:empty {display:none}
.core-profile-tabs {border-bottom:1px solid #e1e8f2;background:white;padding:18px 0}
.core-profile-tabs .container {display:flex;gap:24px;flex-wrap:wrap}
.core-profile-tabs a {font-weight:600;color:#17365a}
.core-profile section[id] {scroll-margin-top:24px}

.core-profile-review[data-target-review="true"] { outline: 2px solid #176baf; outline-offset: 6px; scroll-margin-top: 100px; }
.core-photo-dialog { width:min(1100px,94vw); max-height:94dvh; border:0; border-radius:16px; padding:20px; background:#fff; color:#17233b; }
.core-photo-dialog::backdrop { background:rgba(9,18,32,.85); }
.core-photo-toolbar,.core-photo-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.core-photo-dialog figure { margin:16px 0; }
.core-photo-dialog figure img { display:block; width:100%; height:min(65dvh,720px); object-fit:contain; background:#f1f4f8; }
.core-photo-dialog figcaption { margin-top:8px; font-size:14px; }
.core-photo-dialog button { padding:10px 16px; border:1px solid #c4cedb; border-radius:8px; background:#fff; color:#17233b; }
.core-photo-dialog button:focus-visible { outline:3px solid #176baf; outline-offset:3px; }
.core-photo-count { margin:0; }
.core-profile-gallery-mosaic {display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:170px 170px;gap:20px}
.core-profile-gallery-mosaic figure {margin:0;min-width:0;position:relative;overflow:hidden;border-radius:16px}
.core-profile-gallery-mosaic figure a {display:block;height:100%}
.core-profile-gallery-mosaic img {width:100%;height:100%;object-fit:cover}
.core-profile-gallery-mosaic .core-gallery-lead {grid-row:span 2}
.core-gallery-extra {display:none}
.core-profile-gallery-mosaic figcaption {position:absolute;bottom:0;background:rgba(255,255,255,.92);font-size:11px;padding:4px 8px;max-width:100%}
.core-profile-gallery-mosaic figcaption a {display:inline}
.core-gallery-show-all {display:flex;align-items:center;justify-content:center;text-align:center;border:3px solid #687586;border-radius:16px;color:#17233b;font-weight:600;padding:16px}
.core-gallery-show-all:hover {background:#edf3fa;color:#17233b}
@media(max-width:767px){.core-profile-gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px 120px;gap:12px}.core-profile-gallery-mosaic .core-gallery-lead{grid-column:span 2;grid-row:auto}}
.core-market-index {columns:4 180px;list-style:none;padding:0}.core-market-index li {break-inside:avoid;margin-bottom:10px}

/* Contact uses the original titlebar spacing; directory spacing is page-specific. */
.core-contact .title-bar-inner{padding-top:0;padding-bottom:0}

/* Preserve the original navigation presentation, including touch and keyboard use. */
.header-list > .header-list-item.open > .header-sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
#publicServices{max-height:65dvh;overflow-y:auto;min-width:285px}
@media(max-width:991px){
    #navbarContent{max-height:calc(100dvh - 90px);overflow-y:auto}
    #publicServices{min-width:0;max-height:none;padding-left:18px}
    #navbarContent a:focus-visible,.navbar-toggler:focus-visible{outline:2px solid white;outline-offset:2px}
}
/* Public titlebar pages retain the live site's overlaid navigation and native hero spacing.
   Scope to an actual titlebar so manager pages without a hero keep their solid header. */
.core-directory:has(#prosgrade_titlebar,#titlebar) .header-v2 .d-list-header{position:absolute;inset:0 0 auto;width:100%;z-index:1000;background:transparent}
.core-directory:has(#prosgrade_titlebar,#titlebar) .header-v2 .d-header-navbar{position:relative;background:transparent}
.core-directory:has(#prosgrade_titlebar,#titlebar) .title-bar-inner{padding:0}
/* Bootstrap collapse owns navigation visibility; Tailwind's utility must not hide it. */
#navbarContent.tg-site-nav-collapse{visibility:visible}

.card-img-top{background:#eaf0f6}.core-image-unavailable{display:flex;height:240px;align-items:center;justify-content:center;background:#eaf0f6;color:#526581;text-align:center;padding:20px}.core-logo-unavailable{display:grid;place-items:center;width:64px;height:64px;background:#eaf0f6;border-radius:12px;color:#526581}.core-profile-recommendations .card-img-top{height:170px;object-fit:cover}.core-profile-recommendations .card-body{padding:16px}.core-profile-recommendations h3{overflow-wrap:anywhere}
