/* GTC Premium 4.1 — Contrast, Discovery & Responsive correction layer */
:root{
 --gtc-v41-navy:#071426;--gtc-v41-navy2:#102a48;--gtc-v41-ink:#172235;--gtc-v41-muted:#596777;
 --gtc-v41-gold:#c89424;--gtc-v41-gold-dark:#7a5410;--gtc-v41-ivory:#fbf8f1;--gtc-v41-paper:#fff;
 --gtc-v41-line:#cfd6dc;--gtc-v41-soft:#f3efe6;--gtc-v41-success:#176b3a;
}
/* Global contrast contract: light surfaces always receive dark foregrounds. */
body.gtc-clean-experience{color:var(--gtc-v41-ink);background:var(--gtc-v41-ivory)}
.gtc-site-header{background:rgba(255,253,248,.98)!important;border-bottom:1px solid #d9d6cf!important;box-shadow:0 6px 24px rgba(7,20,38,.07)!important}
.gtc-site-header .gtc-menu>li>a,.gtc-site-header .gtc-nav a{color:var(--gtc-v41-navy)!important;opacity:1!important;text-shadow:none!important}
.gtc-site-header .gtc-menu>li>a:hover,.gtc-site-header .gtc-menu>.current-menu-item>a,.gtc-site-header .gtc-nav a:hover{color:var(--gtc-v41-gold-dark)!important}
.gtc-site-header .gtc-btn--outline{background:#fff!important;color:var(--gtc-v41-navy)!important;border-color:#aeb7c0!important}
.gtc-site-header .gtc-btn--outline:hover{background:#f4f1e9!important;border-color:var(--gtc-v41-navy)!important}
.gtc-site-header .gtc-btn--gold{background:#d8a62f!important;color:#071426!important;border-color:#b98516!important}
.gtc-site-header .gtc-mobile-toggle{color:var(--gtc-v41-navy)!important;background:#fff!important;border:1px solid #cbd2d8!important}
.gtc-site-header .sub-menu{background:#fff!important;color:var(--gtc-v41-ink)!important;border:1px solid #d8dee3!important;box-shadow:0 18px 50px rgba(7,20,38,.14)!important}
.gtc-site-header .sub-menu a,.gtc-site-header .sub-menu small{color:var(--gtc-v41-ink)!important}
.gtc-site-header .sub-menu a:hover{background:#f6f1e6!important;color:var(--gtc-v41-navy)!important}

/* Explicit accessible light-surface form system; prevents white/cream text inheritance. */
.gtc-clean-experience .gtc-core-filters,.gtc-clean-experience .gtc-core-filters *,
.gtc-clean-experience .gtc-filter-panel,.gtc-clean-experience .gtc-filter-panel *{color:var(--gtc-v41-ink)}
.gtc-clean-experience .gtc-core-filters{background:#fff!important;border:1px solid #cfd6dc!important;box-shadow:0 12px 38px rgba(7,20,38,.08)!important;border-radius:18px!important;padding:22px!important;opacity:1!important;visibility:visible!important}
.gtc-clean-experience .gtc-filter-heading h3{color:var(--gtc-v41-navy)!important;font:600 1.35rem/1.2 Georgia,serif!important}
.gtc-clean-experience .gtc-filter-reset{color:var(--gtc-v41-gold-dark)!important;text-decoration:underline;text-underline-offset:3px}
.gtc-clean-experience .gtc-core-field label,.gtc-clean-experience .gtc-toolbar-sort{color:#344253!important;opacity:1!important;font-size:.8rem!important}
.gtc-clean-experience input:not([type=checkbox]):not([type=radio]),
.gtc-clean-experience select,.gtc-clean-experience textarea,
.gtc-clean-experience .gtc-core-field input,.gtc-clean-experience .gtc-core-field select,.gtc-clean-experience .gtc-core-field textarea,
.gtc-clean-experience .gtc-toolbar-sort select{background:#fff!important;color:#172235!important;border:1px solid #aeb9c3!important;-webkit-text-fill-color:#172235!important;opacity:1!important}
.gtc-clean-experience input::placeholder,.gtc-clean-experience textarea::placeholder{color:#687687!important;opacity:1!important}
.gtc-clean-experience select option{background:#fff!important;color:#172235!important}
.gtc-clean-experience input:focus,.gtc-clean-experience select:focus,.gtc-clean-experience textarea:focus{border-color:#9a6b0e!important;outline:3px solid rgba(200,148,36,.22)!important;box-shadow:none!important}
.gtc-clean-experience input:disabled,.gtc-clean-experience select:disabled,.gtc-clean-experience textarea:disabled{background:#eceff1!important;color:#58636e!important;opacity:1!important}
.gtc-clean-experience .gtc-core-check label{color:#243244!important;text-transform:none!important;letter-spacing:0!important;font-size:.86rem!important}
.gtc-clean-experience .gtc-core-check input{accent-color:#9a6b0e}
.gtc-clean-experience .gtc-filter-close{background:#fff!important;color:#071426!important;border-color:#b9c1c9!important}
.gtc-filter-toggle{background:#fff!important;color:#071426!important;border:1px solid #aeb9c3!important}

/* Breadcrumb and all common light-surface metadata. */
.gtc-breadcrumbs,.gtc-breadcrumbs span{color:#5c6875!important}.gtc-breadcrumbs a{color:#79530e!important;font-weight:700}.gtc-breadcrumbs a:hover{color:#071426!important}
.gtc-core-meta,.gtc-meta,.gtc-card-facts,.gtc-directory-card p,.gtc-area-directory-card p{color:var(--gtc-v41-muted)!important}
.gtc-core-tag,.gtc-tag,.gtc-area-counts span{background:#f1ead9!important;color:#684b16!important;border:1px solid #e1d3b3!important}
.gtc-network-expanding{background:#eef1f3!important;color:#4f5d6a!important;border-color:#d9dfe4!important}
.gtc-verified-badge{background:#e9f6ee!important;color:#145c34!important;border:1px solid #b9dfc8!important;font-weight:800!important}
.gtc-availability-dot{color:var(--gtc-v41-success)!important}

/* Directory layout: filters visible, results compact, no artificial empty height. */
.post-type-archive-gtc_professional .gtc-section,.post-type-archive-gtc_firm .gtc-section{padding:64px 0 72px!important}
.gtc-directory{grid-template-columns:300px minmax(0,1fr)!important;gap:32px!important;align-items:start!important}
.gtc-directory-results{min-height:0!important;height:auto!important}
.gtc-directory .gtc-core-filters{position:sticky!important;top:108px!important;height:auto!important;max-height:calc(100vh - 130px)!important;overflow:auto!important}
.gtc-directory .gtc-search-inline{display:grid!important;gap:10px!important}
.gtc-results-toolbar{min-height:48px;padding:0 0 16px;margin-bottom:20px!important;border-bottom:1px solid #e0e4e7}
.gtc-results-toolbar>strong{color:var(--gtc-v41-navy)!important;font-size:1rem!important}
.gtc-toolbar-sort select{min-width:178px!important;border-radius:10px!important;padding:10px 36px 10px 12px!important}
.gtc-directory .gtc-core-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.gtc-empty-followup{margin-top:44px!important;margin-bottom:0!important;background:#fff9e9!important;color:var(--gtc-v41-ink)!important}
.gtc-empty-followup strong{color:var(--gtc-v41-navy)!important}.gtc-empty-followup p{color:#52606e!important}

/* Directory cards: stronger hierarchy and predictable dimensions. */
.gtc-directory-card{background:#fff!important;color:var(--gtc-v41-ink)!important;border:1px solid #d8dee3!important;border-radius:16px!important;overflow:hidden!important;height:100%!important;box-shadow:0 7px 24px rgba(7,20,38,.055)!important}
.gtc-directory-card:hover{border-color:#c9a04b!important;box-shadow:0 18px 45px rgba(7,20,38,.11)!important}
.gtc-directory-card .gtc-core-card__body{padding:20px!important}
.gtc-directory-card h3,.gtc-directory-card h3 a,.gtc-directory-card .gtc-core-link{color:var(--gtc-v41-navy)!important}
.gtc-directory-card h3{font:600 1.15rem/1.25 Georgia,serif!important}
.gtc-directory-card .gtc-core-headline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.05em;line-height:1.5!important;color:#52606e!important}
.gtc-directory-card .gtc-card-facts{display:flex!important;flex-wrap:wrap!important;gap:7px 12px!important;font-size:.78rem!important;margin-top:12px!important}
.gtc-directory-card .gtc-core-tags{margin:13px 0!important;min-height:30px}
.gtc-card-top-actions{z-index:4!important}.gtc-card-action{background:rgba(255,255,255,.96)!important;color:#071426!important;border:1px solid #c7cfd6!important;box-shadow:0 3px 12px rgba(7,20,38,.08)!important}
.gtc-card-action:hover{background:#071426!important;color:#fff!important}.gtc-card-action input{accent-color:#9a6b0e}

/* Expert photography remains portrait-led. */
[data-gtc-directory-type="expert"] .gtc-core-card__media{aspect-ratio:4/4.65!important;background:#e9edf0!important}
[data-gtc-directory-type="expert"] .gtc-core-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
/* Firm logos are logos, not photographs: neutral contain canvas and no clipping. */
.gtc-firm-card .gtc-center-logo-media{aspect-ratio:16/8.5!important;background:#f3f5f6!important;padding:22px!important;display:grid!important;place-items:center!important;border-bottom:1px solid #dfe4e8!important}
.gtc-firm-card .gtc-center-logo-media img{position:relative!important;z-index:2!important;width:100%!important;height:100%!important;max-width:260px!important;max-height:135px!important;object-fit:contain!important;filter:none!important}
.gtc-firm-card .gtc-firm-placeholder{position:absolute!important;inset:22px!important;display:grid!important;place-items:center!important;background:#e9edf0!important;color:#536170!important;font:700 2rem/1 Georgia,serif!important}
.gtc-firm-card .gtc-center-logo-media:has(img) .gtc-firm-placeholder{display:none!important}
.gtc-firm-card .gtc-firm-trust{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 2px}.gtc-firm-card .gtc-firm-trust span{font-size:.73rem;font-weight:750;background:#f3f5f6;color:#405063;border:1px solid #dce2e7;border-radius:999px;padding:5px 8px}

/* Consulting areas: inventory is informative without advertising empty supply. */
.gtc-area-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}.gtc-area-directory-card{min-height:230px!important;padding:26px!important}.gtc-area-directory-card h3{color:#071426!important;font:600 1.25rem/1.25 Georgia,serif!important}.gtc-area-explore{color:#071426!important}

/* Business audience should be a compact 3x2 system, not six oversized strips. */
.gtc-page-for-businesses .gtc-section:last-of-type .gtc-core-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.gtc-page-for-businesses .gtc-section:last-of-type .gtc-core-card{min-height:170px!important}.gtc-page-for-businesses .gtc-section:last-of-type .gtc-core-card__body{padding:24px!important}.gtc-page-for-businesses .gtc-section:last-of-type h3{font:600 1.18rem/1.25 Georgia,serif!important;color:#071426!important}.gtc-page-for-businesses .gtc-section:last-of-type p{color:#52606e!important}

/* Typography floor: prevent tiny, low-contrast utility text. */
.gtc-clean-experience small,.gtc-clean-experience .gtc-core-meta,.gtc-clean-experience .gtc-meta{font-size:max(.78rem,12.5px)}
.gtc-page-hero p{font-size:1.03rem!important;color:rgba(255,255,255,.78)!important;max-width:780px}.gtc-page-hero h1{color:#fff!important}
.gtc-page-hero .gtc-breadcrumbs,.gtc-page-hero .gtc-breadcrumbs span{color:rgba(255,255,255,.72)!important}.gtc-page-hero .gtc-breadcrumbs a{color:#f1d17b!important}

/* Dark surfaces get an explicit inverse contract. */
.gtc-section--navy,.gtc-section--navy p,.gtc-section--navy li{color:rgba(255,255,255,.78)!important}.gtc-section--navy h1,.gtc-section--navy h2,.gtc-section--navy h3,.gtc-section--navy strong{color:#fff!important}.gtc-section--navy .gtc-eyebrow{color:#e7c66d!important}

/* Pagination, notices and states. */
.gtc-pagination a,.gtc-pagination span{display:inline-grid;place-items:center;min-width:40px;min-height:40px;padding:0 10px;margin:0 3px;border-radius:9px;background:#fff;color:#071426!important;border:1px solid #cfd6dc}.gtc-pagination .current{background:#071426!important;color:#fff!important;border-color:#071426!important}
.gtc-core-note{background:#fff8e7!important;color:#263547!important;border-color:#e4c875!important}.gtc-core-error{background:#fff0ef!important;color:#7b241c!important}.gtc-core-success{background:#edf8f1!important;color:#155b2f!important}

/* Footer readability. */
.gtc-footer{background:#050f1d!important}.gtc-footer,.gtc-footer p,.gtc-footer li{color:#c5ccd4!important}.gtc-footer h4{color:#fff!important}.gtc-footer a{color:#d7dde4!important}.gtc-footer a:hover{color:#f0ce73!important}.gtc-footer-bottom{color:#9da8b3!important}

/* Tablet/mobile: drawer, filters, one-column cards, touch targets, compact whitespace. */
@media(max-width:1180px){
 .gtc-directory{grid-template-columns:1fr!important}.gtc-directory .gtc-core-filters{position:fixed!important;top:0!important;max-height:100vh!important}
 .gtc-directory .gtc-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .gtc-area-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .gtc-page-for-businesses .gtc-section:last-of-type .gtc-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
 .gtc-site-header .gtc-nav{background:#fff!important;color:#071426!important}.gtc-site-header .gtc-nav a{color:#071426!important}
 .gtc-site-header .gtc-mobile-actions .gtc-btn--outline{background:#fff!important;color:#071426!important}
}
@media(max-width:700px){
 body{font-size:16px!important}.gtc-container{width:min(100% - 28px,1320px)!important}.gtc-section{padding:58px 0!important}.gtc-page-hero{padding:48px 0!important}.gtc-page-hero h1{font-size:clamp(2.45rem,12vw,3.5rem)!important;line-height:1!important}
 .gtc-directory .gtc-core-grid,.gtc-area-directory-grid,.gtc-page-for-businesses .gtc-section:last-of-type .gtc-core-grid{grid-template-columns:1fr!important}
 .gtc-results-toolbar{align-items:stretch!important}.gtc-toolbar-sort{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important}.gtc-toolbar-sort select{width:100%!important;min-height:46px!important}
 .gtc-filter-toggle{width:100%!important;min-height:48px!important;margin-bottom:16px!important}.gtc-core-filters{width:min(420px,94vw)!important;padding:24px 18px!important}
 .gtc-directory-card .gtc-core-card__body{padding:18px!important}.gtc-directory-card .gtc-core-headline{min-height:0!important}
 .gtc-empty-followup{padding:20px!important}.gtc-empty-followup .gtc-btn{width:100%!important}
 .gtc-footer-grid{grid-template-columns:1fr!important;gap:28px!important}.gtc-footer{padding-top:48px!important}.gtc-footer h4{margin-bottom:10px!important}
 .gtc-sticky-requirement{left:12px!important;right:12px!important;bottom:12px!important}.gtc-sticky-requirement .gtc-btn{min-height:52px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
