/*
Theme Name: Buscatea Fast
Theme URI: https://buscatea.com/
Author: Buscatea
Author URI: https://buscatea.com/
Description: Lightweight, accessible and server-rendered theme for the Buscatea editorial site and business directory.
Version: 1.8.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: buscatea-fast
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --b-navy: #050650;
  --b-navy-2: #101270;
  --b-navy-3: #1a1d84;
  --b-gold: #fcba2e;
  --b-gold-2: #ffd978;
  --b-ink: #17192f;
  --b-muted: #62667c;
  --b-line: #e6e8f0;
  --b-soft: #f5f6fb;
  --b-cream: #fff9ed;
  --b-white: #ffffff;
  --b-success: #087c62;
  --b-danger: #a52632;
  --b-shadow-sm: 0 8px 24px rgba(20, 22, 70, .08);
  --b-shadow: 0 20px 55px rgba(20, 22, 70, .13);
  --b-radius-sm: .75rem;
  --b-radius: 1.25rem;
  --b-radius-lg: 2rem;
  --b-container: 1180px;
  --b-reading: 760px;
  --b-transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body {
  margin: 0;
  color: var(--b-ink);
  background: var(--b-white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--b-navy-2); text-decoration-thickness: .08em; text-underline-offset: .15em; }
a:hover { color: var(--b-navy-3); }
button, input, select, textarea { font: inherit; }
button, .buscatea-button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--b-gold); outline-offset: 3px; }
::selection { color: var(--b-navy); background: var(--b-gold-2); }

.skip-link {
  position: fixed;
  z-index: 10000;
  top: .75rem;
  left: .75rem;
  padding: .7rem 1rem;
  color: var(--b-navy);
  background: var(--b-gold);
  border-radius: .5rem;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }

.container { width: min(calc(100% - 2rem), var(--b-container)); margin-inline: auto; }
.container--reading { width: min(calc(100% - 2rem), var(--b-reading)); margin-inline: auto; }
.section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.section--soft { background: var(--b-soft); }
.section--cream { background: var(--b-cream); }
.section--navy { color: var(--b-white); background: var(--b-navy); }
.stack > * + * { margin-top: 1.25rem; }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.grid { display: grid; gap: 1.35rem; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .8rem;
  color: var(--b-navy-2);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eyebrow::before { width: 1.7rem; height: 3px; content: ""; background: var(--b-gold); border-radius: 99px; }
.section--navy .eyebrow { color: var(--b-gold-2); }
h1, h2, h3, h4 { margin: 0 0 .8rem; color: var(--b-ink); font-weight: 850; line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.35rem, 6vw, 5.1rem); }
h2 { font-size: clamp(1.85rem, 4vw, 3.35rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
.section--navy h1, .section--navy h2, .section--navy h3 { color: var(--b-white); }
.lede { max-width: 720px; margin: 0; color: var(--b-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.section--navy .lede { color: rgba(255,255,255,.78); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-heading__copy { max-width: 760px; }

/* Theme-scoped action controls avoid collisions with legacy builder CSS. */
.buscatea-fast-theme .buscatea-button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .72rem 1.15rem;
  color: var(--b-white) !important;
  -webkit-text-fill-color: var(--b-white) !important;
  background-color: var(--b-navy) !important;
  border: 1px solid var(--b-navy) !important;
  border-radius: .75rem;
  font-size: .92rem !important;
  font-weight: 800;
  letter-spacing: normal !important;
  line-height: 1.2 !important;
  text-align: center;
  text-indent: 0 !important;
  text-shadow: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: normal;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform var(--b-transition), background-color var(--b-transition), border-color var(--b-transition), box-shadow var(--b-transition);
}
.buscatea-fast-theme .buscatea-button:visited { color: var(--b-white) !important; }
.buscatea-fast-theme .buscatea-button > *,
.buscatea-fast-theme .buscatea-button::before,
.buscatea-fast-theme .buscatea-button::after {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.buscatea-fast-theme .buscatea-button::before,
.buscatea-fast-theme .buscatea-button::after {
  display: none !important;
  content: none !important;
  background: none !important;
  pointer-events: none !important;
}
.buscatea-fast-theme .buscatea-button:hover {
  color: var(--b-white) !important;
  -webkit-text-fill-color: var(--b-white) !important;
  background-color: var(--b-navy-3) !important;
  border-color: var(--b-navy-3) !important;
  box-shadow: var(--b-shadow-sm);
  transform: translateY(-1px);
}
.buscatea-fast-theme .buscatea-button--gold,
.buscatea-fast-theme .buscatea-button--gold:visited {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-gold) !important;
  border-color: var(--b-gold) !important;
}
.buscatea-fast-theme .buscatea-button--gold:hover {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-gold-2) !important;
  border-color: var(--b-gold-2) !important;
}
.buscatea-fast-theme .buscatea-button--ghost,
.buscatea-fast-theme .buscatea-button--ghost:visited {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-white) !important;
  border-color: #cfd2e0 !important;
}
.buscatea-fast-theme .buscatea-button--ghost:hover {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-soft) !important;
  border-color: #cfd2e0 !important;
}
.buscatea-fast-theme .buscatea-button--light,
.buscatea-fast-theme .buscatea-button--light:visited {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-white) !important;
  border-color: var(--b-white) !important;
}
.buscatea-fast-theme .buscatea-button--light:hover {
  color: var(--b-navy) !important;
  -webkit-text-fill-color: var(--b-navy) !important;
  background-color: var(--b-gold-2) !important;
  border-color: var(--b-gold-2) !important;
}
.buscatea-fast-theme :is(.section--navy, .archive-hero, .hero, .listing-hero, .solutions-hero, .site-header, .mobile-menu__panel, .cta-band, .feature-panel) .buscatea-button--ghost,
.buscatea-fast-theme :is(.section--navy, .archive-hero, .hero, .listing-hero, .solutions-hero, .site-header, .mobile-menu__panel, .cta-band, .feature-panel) .buscatea-button--ghost:visited {
  color: var(--b-white) !important;
  -webkit-text-fill-color: var(--b-white) !important;
  background-color: transparent !important;
  border-color: rgba(255,255,255,.38) !important;
}
.buscatea-fast-theme :is(.section--navy, .archive-hero, .hero, .listing-hero, .solutions-hero, .site-header, .mobile-menu__panel, .cta-band, .feature-panel) .buscatea-button--ghost:hover {
  color: var(--b-white) !important;
  -webkit-text-fill-color: var(--b-white) !important;
  background-color: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.58) !important;
}
.buscatea-fast-theme .buscatea-button:focus-visible {
  outline: 3px solid var(--b-gold) !important;
  outline-offset: 3px;
}
.buscatea-fast-theme .buscatea-button[disabled],
.buscatea-fast-theme .buscatea-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  transform: none;
}

/* Header styles are defined in the Buscatea 1.8 header system near the end of this file. */


.hero {
  position: relative;
  overflow: hidden;
  min-height: 680px;
  display: grid;
  align-items: center;
  color: var(--b-white);
  background: var(--b-navy);
}
.hero::before, .hero::after { position: absolute; content: ""; border-radius: 999px; pointer-events: none; }
.hero::before { width: 760px; height: 760px; top: -390px; right: -180px; background: radial-gradient(circle at center, rgba(252,186,46,.26), transparent 66%); }
.hero::after { width: 460px; height: 460px; bottom: -290px; left: -110px; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 75px rgba(255,255,255,.025), 0 0 0 150px rgba(255,255,255,.02); }
.hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(5rem, 10vw, 8.5rem); }
.hero h1 { color: var(--b-white); }
.hero h1 mark { color: var(--b-gold); background: transparent; }
.hero .lede { color: rgba(255,255,255,.78); }
.hero__proof { display: grid; gap: .8rem; padding: 1.35rem; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: var(--b-radius-lg); backdrop-filter: blur(12px); }
.proof-item { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: .8rem; padding: .85rem; background: rgba(255,255,255,.06); border-radius: 1rem; }
.proof-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--b-navy); background: var(--b-gold); border-radius: .75rem; font-weight: 900; }
.proof-item strong { display: block; color: var(--b-white); line-height: 1.2; }
.proof-item span { display: block; color: rgba(255,255,255,.67); font-size: .85rem; }

.directory-search {
  display: grid;
  grid-template-columns: minmax(180px, 1.35fr) minmax(145px, .8fr) minmax(145px, .8fr) auto;
  gap: .65rem;
  padding: .75rem;
  margin-top: 1.7rem;
  background: var(--b-white);
  border-radius: 1rem;
  box-shadow: var(--b-shadow);
}
.directory-search label { display: grid; gap: .25rem; }
.directory-search label > span { color: var(--b-muted); font-size: .72rem; font-weight: 800; line-height: 1; text-transform: uppercase; }
.directory-search input, .directory-search select, .filter-panel input, .filter-panel select {
  width: 100%; min-height: 46px; padding: .6rem .7rem; color: var(--b-ink); background: var(--b-white); border: 1px solid var(--b-line); border-radius: .62rem;
}
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) input,
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) select,
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) textarea {
  color: var(--b-ink) !important;
  background-color: var(--b-white) !important;
  border-color: var(--b-line) !important;
  opacity: 1;
  -webkit-text-fill-color: var(--b-ink) !important;
}
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) input::placeholder,
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) textarea::placeholder {
  color: var(--b-muted) !important;
  opacity: 1;
  -webkit-text-fill-color: var(--b-muted) !important;
}
.buscatea-fast-theme :is(.directory-search, .filter-panel, .wpcf7-form) option {
  color: var(--b-ink);
  background: var(--b-white);
}
.buscatea-fast-theme .wpcf7-submit {
  min-height: 48px;
  padding: .72rem 1.15rem;
  color: var(--b-white) !important;
  background-color: var(--b-navy) !important;
  border: 1px solid var(--b-navy) !important;
  border-radius: .75rem;
  font-weight: 800;
  opacity: 1;
  -webkit-text-fill-color: var(--b-white) !important;
}
.buscatea-fast-theme .wpcf7-submit:hover {
  color: var(--b-white) !important;
  background-color: var(--b-navy-3) !important;
  border-color: var(--b-navy-3) !important;
}
.directory-search .buscatea-button { align-self: end; min-height: 50px; }
.quick-links { margin-top: 1rem; }
.quick-links > span { color: rgba(255,255,255,.6); font-size: .82rem; }
.quick-links a { color: var(--b-white); font-size: .84rem; font-weight: 750; text-decoration: none; border-bottom: 1px solid rgba(252,186,46,.5); }
.quick-links a:hover { color: var(--b-gold); }

.category-grid { align-items: stretch; }
.category-card {
  position: relative;
  min-width: 0;
  min-height: 230px;
  height: 100%;
  display: grid;
  align-content: end;
  overflow: hidden;
  color: var(--b-white);
  background: var(--b-navy);
  border: 1px solid rgba(5,6,80,.12);
  border-radius: var(--b-radius);
  box-shadow: 0 8px 24px rgba(20,22,70,.09);
  text-decoration: none;
  isolation: isolate;
  transition: transform var(--b-transition), box-shadow var(--b-transition), border-color var(--b-transition);
}
.category-card:hover { color: var(--b-white); border-color: rgba(252,186,46,.85); box-shadow: var(--b-shadow); transform: translateY(-5px); }
.category-card__media, .category-card__shade { position: absolute; inset: 0; }
.category-card__media { z-index: -2; display: block; background: linear-gradient(135deg, var(--b-navy), var(--b-navy-3)); }
.category-card__image { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.005); transition: transform 500ms ease, filter 500ms ease; }
.category-card:hover .category-card__image { transform: scale(1.055); filter: saturate(1.07); }
.category-card__shade { z-index: 1; background: linear-gradient(180deg, rgba(5,6,80,.05) 5%, rgba(5,6,80,.28) 48%, rgba(5,6,80,.96) 100%); }
.category-card__number {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  padding: .3rem;
  color: var(--b-navy);
  background: rgba(255,255,255,.93);
  border: 1px solid rgba(252,186,46,.75);
  border-radius: .75rem;
  box-shadow: 0 8px 18px rgba(5,6,80,.16);
  font-size: .8rem;
  font-weight: 900;
}
.category-card__content { position: relative; z-index: 3; display: grid; gap: .45rem; min-width: 0; padding: 4.5rem 1.15rem 1.1rem; }
.category-card__title { display: block; min-width: 0; color: var(--b-white); font-size: 1.08rem; font-weight: 900; line-height: 1.2; overflow-wrap: anywhere; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.category-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.category-card__count { display: block; color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.35; }
.category-card__arrow { width: 30px; height: 30px; display: inline-grid; flex: 0 0 auto; place-items: center; color: var(--b-navy); background: var(--b-gold); border-radius: 999px; font-weight: 900; transition: transform var(--b-transition); }
.category-card:hover .category-card__arrow { transform: translateX(3px); }

/* Editorial blog category experience. */
.blog-hero { position: relative; overflow: hidden; padding-block: clamp(4.2rem, 8vw, 7rem); color: var(--b-white); background: radial-gradient(circle at 86% 8%, rgba(252,186,46,.28), transparent 34%), linear-gradient(135deg, var(--b-navy), #17196f); }
.blog-hero::after { position: absolute; width: 420px; height: 420px; right: -170px; bottom: -240px; content: ""; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; box-shadow: 0 0 0 72px rgba(255,255,255,.035), 0 0 0 144px rgba(255,255,255,.025); }
.blog-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); }
.blog-hero h1 { max-width: 780px; color: var(--b-white); font-size: clamp(2.6rem, 6vw, 5rem); }
.blog-hero .eyebrow { color: var(--b-gold-2); }
.blog-hero .lede { color: rgba(255,255,255,.8); }
.blog-hero__search { padding: 1.35rem; color: var(--b-ink); background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.7); border-radius: var(--b-radius); box-shadow: var(--b-shadow); }
.blog-hero__search p { margin: 0 0 .65rem; }
.blog-hero__search .site-search-form__row { grid-template-columns: minmax(0, 1fr) auto; }
.blog-category-section { border-bottom: 1px solid var(--b-line); }
.blog-category-nav { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1.5rem; }
.blog-category-nav a, .blog-category-nav a:visited { display: inline-flex; align-items: center; min-height: 38px; padding: .45rem .7rem; color: var(--b-navy) !important; -webkit-text-fill-color: var(--b-navy) !important; background: var(--b-white); border: 1px solid #dfe2ec; border-radius: 999px; font-size: .78rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.blog-category-nav a:hover, .blog-category-nav a[aria-current="page"] { color: var(--b-navy) !important; background: var(--b-gold); border-color: var(--b-gold); }
.blog-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.blog-category-card { position: relative; min-width: 0; min-height: 300px; display: grid; align-content: end; overflow: hidden; color: var(--b-white); background: var(--b-navy); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); isolation: isolate; text-decoration: none; transition: transform var(--b-transition), box-shadow var(--b-transition); }
.blog-category-card:hover { color: var(--b-white); box-shadow: var(--b-shadow); transform: translateY(-5px); }
.blog-category-card__media, .blog-category-card__shade { position: absolute; inset: 0; }
.blog-category-card__media { z-index: -2; display: block; }
.blog-category-card__image { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 520ms ease, filter 520ms ease; }
.blog-category-card:hover .blog-category-card__image { transform: scale(1.055); filter: saturate(1.08); }
.blog-category-card__shade { background: linear-gradient(180deg, rgba(5,6,80,.02) 2%, rgba(5,6,80,.2) 38%, rgba(5,6,80,.96) 100%); }
.blog-category-card__content { position: relative; z-index: 2; display: grid; gap: .45rem; padding: 5.5rem 1.25rem 1.25rem; }
.blog-category-card__count { color: var(--b-gold-2); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.blog-category-card__title { color: var(--b-white); font-size: 1.35rem; font-weight: 900; line-height: 1.12; letter-spacing: -.02em; }
.blog-category-card__description { display: -webkit-box; overflow: hidden; color: rgba(255,255,255,.78); font-size: .84rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.blog-category-card__link { display: inline-flex; align-items: center; gap: .45rem; margin-top: .2rem; color: var(--b-white); font-size: .78rem; font-weight: 850; }
.blog-category-card__link span { width: 27px; height: 27px; display: inline-grid; place-items: center; color: var(--b-navy); background: var(--b-gold); border-radius: 999px; }
.blog-post-grid .card { height: 100%; display: flex; flex-direction: column; }
.blog-post-grid .card__footer { margin-top: auto; }
.card__fallback-image { width: 100%; height: 100%; display: block; object-fit: cover; }

/* Image-led editorial category archive. */
.category-archive-hero { padding-block: clamp(3.5rem, 7vw, 6.3rem); color: var(--b-white); background: var(--b-navy); }
.category-archive-hero__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); }
.category-archive-hero h1 { color: var(--b-white); font-size: clamp(2.5rem, 5.5vw, 4.8rem); }
.category-archive-hero .eyebrow { color: var(--b-gold-2); }
.category-archive-hero .lede { color: rgba(255,255,255,.78); }
.category-archive-hero__count { display: inline-flex; margin: 1.25rem 0 0; padding: .45rem .75rem; color: var(--b-navy); background: var(--b-gold); border-radius: 999px; font-size: .78rem; font-weight: 850; }
.category-archive-hero__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--b-navy-3); border: 1px solid rgba(255,255,255,.16); border-radius: var(--b-radius-lg); box-shadow: 0 28px 70px rgba(0,0,0,.28); transform: rotate(1.2deg); }
.category-archive-hero__image { width: 100%; height: 100%; display: block; object-fit: cover; }
.category-archive-nav-wrap { padding-block: 1rem; background: var(--b-soft); border-bottom: 1px solid var(--b-line); }
.category-archive-nav-wrap .blog-category-nav { margin: 0; }

.card {
  min-width: 0;
  overflow: hidden;
  color: var(--b-ink);
  background: var(--b-white);
  border: 1px solid var(--b-line);
  border-radius: var(--b-radius);
  box-shadow: 0 1px 0 rgba(20,22,70,.02);
  transition: transform var(--b-transition), box-shadow var(--b-transition), border-color var(--b-transition);
}
.card:hover { border-color: #d9dce9; box-shadow: var(--b-shadow-sm); transform: translateY(-3px); }
.card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, var(--b-navy), var(--b-navy-3)); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.card:hover .card__media img { transform: scale(1.035); }
.card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,255,255,.8); font-size: 2rem; font-weight: 900; background: radial-gradient(circle at 75% 25%, rgba(252,186,46,.48), transparent 30%), linear-gradient(135deg, var(--b-navy), var(--b-navy-3)); }
.card__body { padding: 1.2rem; }
.card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .55rem; color: var(--b-muted); font-size: .76rem; font-weight: 750; }
.card__category { color: var(--b-navy); }
.card__title { margin: 0 0 .55rem; font-size: 1.18rem; line-height: 1.25; letter-spacing: -.02em; }
.card__title a { color: inherit; text-decoration: none; }
.card__title a::after { position: absolute; inset: 0; content: ""; }
.card__body { position: relative; }
.card__excerpt { display: -webkit-box; overflow: hidden; margin: 0; color: var(--b-muted); font-size: .92rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.card__footer { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: 0 1.2rem 1.15rem; color: var(--b-muted); font-size: .78rem; }
.card__link { position: relative; z-index: 2; color: var(--b-navy); font-weight: 850; text-decoration: none; }
.card__link:hover { color: var(--b-navy-3); }
.card--listing .card__media { aspect-ratio: 4 / 3; }
.card__badge { position: absolute; z-index: 2; top: .75rem; left: .75rem; padding: .35rem .55rem; color: var(--b-navy); background: var(--b-gold); border-radius: .45rem; font-size: .67rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.listing-location { display: flex; gap: .35rem; align-items: flex-start; color: var(--b-muted); font-size: .86rem; }

.feature-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  overflow: hidden;
  background: var(--b-navy);
  border-radius: var(--b-radius-lg);
  box-shadow: var(--b-shadow);
}
.feature-panel__copy { padding: clamp(2rem, 5vw, 4rem); color: var(--b-white); }
.feature-panel__copy h2 { color: var(--b-white); }
.feature-panel__copy p { color: rgba(255,255,255,.72); }
.feature-panel__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-top: 1.6rem; }
.feature-stat { padding: 1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; }
.feature-stat strong { display: block; color: var(--b-gold); font-size: 1.5rem; line-height: 1.1; }
.feature-stat span { color: rgba(255,255,255,.65); font-size: .78rem; }
.feature-panel__visual { min-height: 420px; display: grid; place-items: center; padding: 2rem; background: var(--b-gold); }
.visual-stack { width: min(100%, 380px); display: grid; gap: .9rem; transform: rotate(2deg); }
.visual-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: .8rem; padding: .9rem; color: var(--b-ink); background: var(--b-white); border-radius: 1rem; box-shadow: 0 15px 30px rgba(5,6,80,.14); }
.visual-row:nth-child(2) { transform: translateX(-1.5rem); }
.visual-row:nth-child(3) { transform: translateX(1rem); }
.visual-avatar { width: 48px; height: 48px; display: grid; place-items: center; color: var(--b-white); background: var(--b-navy); border-radius: .8rem; font-weight: 900; }
.visual-row strong { display: block; line-height: 1.2; }
.visual-row span { color: var(--b-muted); font-size: .75rem; }
.visual-check { color: var(--b-success); font-weight: 900; }

.archive-hero { padding-block: clamp(3.7rem, 8vw, 6.5rem); color: var(--b-white); background: radial-gradient(circle at 80% 0%, rgba(252,186,46,.25), transparent 34%), var(--b-navy); }
.archive-hero h1 { max-width: 900px; color: var(--b-white); font-size: clamp(2.25rem, 5vw, 4.4rem); }
.archive-hero .lede { color: rgba(255,255,255,.75); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.1rem; color: rgba(255,255,255,.62); font-size: .8rem; }
.breadcrumbs a { color: rgba(255,255,255,.82); }

.directory-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 2rem; }
.directory-results { min-width: 0; scroll-margin-top: 110px; }
.directory-results:focus { outline: none; }
.filter-panel { position: sticky; top: 96px; padding: 1.25rem; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.filter-panel h2 { font-size: 1.2rem; }
.filter-panel form { display: grid; gap: .9rem; }
.filter-panel label { display: grid; gap: .3rem; color: var(--b-ink); font-size: .8rem; font-weight: 800; }
.results-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.results-head h2 { margin: 0; font-size: 1.5rem; }
.results-count { color: var(--b-muted); font-size: .85rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.filter-chip { display: inline-flex; padding: .35rem .55rem; color: var(--b-navy); background: var(--b-cream); border: 1px solid rgba(252,186,46,.5); border-radius: .45rem; font-size: .75rem; font-weight: 800; }

.pagination { margin-top: 2.2rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.pagination .page-numbers, .pagination .page-numbers:visited { min-width: 42px; min-height: 42px; display: inline-grid; place-items: center; padding: .35rem .55rem; color: var(--b-navy) !important; -webkit-text-fill-color: var(--b-navy) !important; background: var(--b-white); border: 1px solid var(--b-line); border-radius: .55rem; font-weight: 800; text-decoration: none; }
.pagination .current, .pagination a.page-numbers:hover { color: var(--b-white) !important; -webkit-text-fill-color: var(--b-white) !important; background: var(--b-navy); border-color: var(--b-navy); }

.article-header { padding-block: clamp(3.8rem, 8vw, 7rem) 2.3rem; background: var(--b-soft); }
.article-header__inner { width: min(calc(100% - 2rem), 940px); margin-inline: auto; }
.article-header h1 { font-size: clamp(2.25rem, 5.8vw, 4.6rem); }
.article-kicker { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.article-kicker a { padding: .32rem .52rem; color: var(--b-navy); background: var(--b-cream); border: 1px solid rgba(252,186,46,.45); border-radius: .45rem; font-size: .72rem; font-weight: 850; text-decoration: none; }
.article-byline { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.2rem; color: var(--b-muted); font-size: .86rem; }
.article-byline a { font-weight: 800; }
.article-featured { width: min(calc(100% - 2rem), 1080px); margin: 0 auto 3rem; }
.article-featured img { width: 100%; max-height: 650px; object-fit: cover; border-radius: var(--b-radius-lg); box-shadow: var(--b-shadow); }
.entry-content { color: #25273c; font-size: 1.08rem; }
.entry-content > * { max-width: var(--b-reading); margin-inline: auto; }
.entry-content > .alignwide { max-width: var(--b-container); }
.entry-content > .alignfull { max-width: none; }
.entry-content h2 { margin-top: 2.6rem; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.entry-content h3 { margin-top: 2rem; }
.entry-content p, .entry-content ul, .entry-content ol { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.entry-content img { border-radius: 1rem; }
.entry-content blockquote { padding: 1.2rem 1.4rem; color: var(--b-navy); background: var(--b-cream); border-left: 5px solid var(--b-gold); border-radius: 0 1rem 1rem 0; font-size: 1.16rem; font-weight: 650; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.entry-content th, .entry-content td { padding: .7rem; border: 1px solid var(--b-line); text-align: left; }
.entry-content th { color: var(--b-white); background: var(--b-navy); }
.author-box, .method-box, .disclosure-box { max-width: var(--b-reading); padding: 1.3rem; margin: 2.5rem auto; background: var(--b-soft); border: 1px solid var(--b-line); border-radius: var(--b-radius); }
.disclosure-box { background: var(--b-cream); border-color: rgba(252,186,46,.5); }
.author-box h2, .method-box h2, .disclosure-box h2 { font-size: 1.15rem; }

.listing-hero { padding-block: clamp(3rem, 7vw, 5.5rem); color: var(--b-white); background: radial-gradient(circle at 85% 0%, rgba(252,186,46,.28), transparent 38%), var(--b-navy); }
.listing-hero h1 { color: var(--b-white); font-size: clamp(2.4rem, 6vw, 4.8rem); }
.listing-hero__meta { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; color: rgba(255,255,255,.75); }
.verified { display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .55rem; color: #d9fff3; background: rgba(8,124,98,.25); border: 1px solid rgba(129,255,218,.35); border-radius: .45rem; font-size: .75rem; font-weight: 850; }
.listing-gallery { display: grid; grid-template-columns: 1.45fr .55fr; gap: .7rem; margin-top: -2.4rem; }
.listing-gallery__main, .listing-gallery__side figure { overflow: hidden; margin: 0; background: var(--b-soft); border-radius: 1.15rem; }
.listing-gallery__main { aspect-ratio: 16 / 9; }
.listing-gallery__side { display: grid; gap: .7rem; }
.listing-gallery__side figure { aspect-ratio: 16 / 9; }
.listing-gallery img { width: 100%; height: 100%; object-fit: cover; }
.listing-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 2rem; }
.listing-sidebar { position: sticky; top: 96px; display: grid; gap: 1rem; }
.info-card { padding: 1.2rem; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.info-card h2 { font-size: 1.2rem; }
.contact-list { display: grid; gap: .75rem; padding: 0; margin: 0; list-style: none; }
.contact-list li { display: grid; gap: .12rem; }
.contact-list span { color: var(--b-muted); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.contact-list a { overflow-wrap: anywhere; font-weight: 800; }
.contact-actions { display: grid; gap: .6rem; }
.contact-actions .buscatea-button { width: 100%; }
.hours-list { display: grid; gap: .35rem; padding: 0; margin: 0; list-style: none; font-size: .84rem; }
.hours-list li { display: flex; justify-content: space-between; gap: .75rem; padding-bottom: .35rem; border-bottom: 1px solid var(--b-line); }

.empty-state { grid-column: 1 / -1; padding: 2rem; text-align: center; background: var(--b-soft); border: 1px dashed #c9ccda; border-radius: var(--b-radius); }
.empty-state h2 { font-size: 1.4rem; }

.cta-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding: clamp(2rem, 5vw, 3.5rem); color: var(--b-white); background: radial-gradient(circle at 90% 10%, rgba(252,186,46,.26), transparent 32%), var(--b-navy); border-radius: var(--b-radius-lg); }
.cta-band h2 { color: var(--b-white); }
.cta-band p { max-width: 700px; margin: 0; color: rgba(255,255,255,.72); }

.site-footer { color: rgba(255,255,255,.72); background: #03043b; }
.footer-main { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 3rem; padding-block: 4.5rem 3rem; }
.footer-brand img { width: auto; height: 36px; margin-bottom: 1rem; }
.footer-brand p { max-width: 450px; }
.footer-title { margin: 0 0 1rem; color: var(--b-white); font-size: .82rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.footer-links { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; }
.footer-links a, .footer-menu a { color: rgba(255,255,255,.72); text-decoration: none; }
.footer-links a:hover, .footer-menu a:hover { color: var(--b-gold); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.footer-bottom p { margin: 0; }
.footer-menu { flex-wrap: wrap; gap: .8rem; }


/* About and contact pages */
.trust-hero { padding-block: clamp(4rem, 8vw, 7rem); color: var(--b-white); background: radial-gradient(circle at 82% 5%, rgba(252,186,46,.28), transparent 36%), var(--b-navy); }
.trust-hero h1 { max-width: 900px; color: var(--b-white); font-size: clamp(2.45rem, 5.5vw, 4.8rem); }
.trust-hero .lede { color: rgba(255,255,255,.78); }
.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.trust-card { padding: 1.5rem; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.trust-card__number { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; margin-bottom: 1rem; color: var(--b-navy); background: var(--b-gold); border-radius: .75rem; font-weight: 900; }
.trust-card h2, .trust-card h3 { font-size: 1.25rem; }
.trust-card p { margin-bottom: 0; color: var(--b-muted); }
.contact-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); align-items: start; gap: 2rem; }
.contact-panel { padding: clamp(1.4rem, 3vw, 2rem); background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.contact-panel h2 { font-size: 1.45rem; }
.contact-panel ul { padding-left: 1.2rem; }
.contact-panel li + li { margin-top: .55rem; }
.contact-email { display: inline-flex; align-items: center; gap: .55rem; overflow-wrap: anywhere; font-size: 1.08rem; font-weight: 850; }
.contact-note { padding: 1rem 1.1rem; color: var(--b-ink); background: var(--b-cream); border: 1px solid rgba(252,186,46,.45); border-radius: .8rem; }
.contact-form-shell .wpcf7-form p { margin: 0 0 1rem; }
.contact-form-shell .wpcf7-form-control-wrap { display: block; margin-top: .35rem; }
.contact-form-shell input:not([type="submit"]), .contact-form-shell textarea, .contact-form-shell select { width: 100%; min-height: 48px; padding: .7rem .8rem; }
.contact-form-shell textarea { min-height: 150px; resize: vertical; }


/* Business solutions */
.solutions-hero { overflow: hidden; color: var(--b-white); background: radial-gradient(circle at 90% 0%, rgba(252,186,46,.3), transparent 34%), var(--b-navy); }
.solutions-hero__inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); align-items: center; gap: clamp(2rem,6vw,5rem); min-height: 610px; padding-block: clamp(4rem,8vw,7rem); }
.solutions-hero h1 { max-width: 760px; color: var(--b-white); font-size: clamp(2.7rem,6vw,5.3rem); }
.solutions-hero h1 mark { color: var(--b-gold); background: none; }
.solutions-hero .lede { max-width: 760px; color: rgba(255,255,255,.76); font-size: clamp(1.05rem,2vw,1.28rem); }

.solutions-proof { display: grid; gap: .75rem; padding: 1.1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: var(--b-radius-lg); }
.solutions-proof > div { padding: 1rem; background: rgba(255,255,255,.07); border-radius: var(--b-radius-sm); }
.solutions-proof strong, .solutions-proof span { display: block; }
.solutions-proof strong { color: var(--b-white); }
.solutions-proof span { margin-top: .25rem; color: rgba(255,255,255,.65); font-size: .88rem; }
.offer-grid { align-items: stretch; }
.offer-card { position: relative; padding: 1.5rem; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.offer-card__number { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; color: var(--b-navy); background: var(--b-gold); border-radius: .75rem; font-size: .82rem; font-weight: 900; }
.offer-card h3 { margin-top: 1.2rem; font-size: 1.35rem; }
.offer-card p { color: var(--b-muted); font-size: .94rem; }
.offer-card ul { padding-left: 1.1rem; margin-bottom: 0; color: var(--b-ink); font-size: .9rem; }
.offer-card li + li { margin-top: .45rem; }
.process-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); gap: clamp(2rem,7vw,6rem); align-items: start; }
.process-list { display: grid; gap: .8rem; padding: 0; margin: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 2.8rem 1fr; gap: .85rem; padding: 1rem; background: var(--b-white); border: 1px solid rgba(252,186,46,.35); border-radius: var(--b-radius-sm); }
.process-list li > span { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; color: var(--b-white); background: var(--b-navy); border-radius: .7rem; font-weight: 900; }
.process-list strong { display: block; }
.process-list p { margin: .2rem 0 0; color: var(--b-muted); font-size: .9rem; }
.author-profile { display: grid; grid-template-columns: 6rem 1fr; align-items: center; gap: 1.5rem; }
.author-profile__mark { width: 6rem; height: 6rem; display: grid; place-items: center; color: var(--b-navy); background: var(--b-gold); border-radius: 1.4rem; font-size: 2.4rem; font-weight: 950; }


/* Complete page, form, search, dashboard and comments coverage. */
.trust-hero__actions { margin-top: 1.6rem; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 2rem; }
.legal-content { width: 100%; }
.legal-sidebar { position: sticky; top: 96px; display: grid; gap: 1rem; }
.legal-links { gap: .7rem; }
.legal-links a,
.legal-links a:visited { color: var(--b-navy) !important; font-weight: 750; }
.legal-links a:hover { color: var(--b-navy-3) !important; }
.article-header--compact { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.article-header--compact h1 { max-width: 900px; }
.dashboard-shell { max-width: 1100px; }
.dashboard-shell :is(table, .job-manager-jobs) { width: 100%; border-collapse: collapse; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); overflow: hidden; }
.dashboard-shell th,
.dashboard-shell td { padding: .85rem; text-align: left; border-bottom: 1px solid var(--b-line); }
.dashboard-shell th { color: var(--b-navy); background: var(--b-cream); font-size: .82rem; }
.dashboard-shell tr:last-child td { border-bottom: 0; }
.dashboard-shell :is(a.button, button, input[type="submit"]) { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: .6rem .9rem; color: var(--b-white) !important; -webkit-text-fill-color: var(--b-white) !important; background: var(--b-navy) !important; border: 1px solid var(--b-navy) !important; border-radius: .65rem; font-weight: 800; text-decoration: none !important; }
.dashboard-shell :is(a.button, button, input[type="submit"]):hover { color: var(--b-white) !important; background: var(--b-navy-3) !important; border-color: var(--b-navy-3) !important; }
.clear-filters { display: inline-flex; margin-top: .9rem; color: var(--b-navy); font-size: .88rem; font-weight: 800; }
.site-search-form { display: grid; gap: .45rem; }
.site-search-form > label { color: inherit; font-weight: 850; }
.site-search-form__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.site-search-form input[type="search"] { min-height: 48px; width: 100%; padding: .7rem .8rem; color: var(--b-ink); -webkit-text-fill-color: var(--b-ink); background: var(--b-white); border: 1px solid var(--b-line); border-radius: .75rem; }
.site-search-form input[type="search"]::placeholder { color: var(--b-muted); opacity: 1; }
.not-found-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: center; gap: 3rem; }
.not-found-actions { margin-top: 1.5rem; }
.not-found-search { padding: 1.25rem; color: var(--b-ink); background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.2); border-radius: var(--b-radius); box-shadow: var(--b-shadow); }
.comments-area { padding-block: 2rem 5rem; }
.comments-title { font-size: 1.6rem; }
.comment-list { display: grid; gap: 1rem; padding: 0; list-style: none; }
.comment-list .comment-body { padding: 1.15rem; background: var(--b-soft); border: 1px solid var(--b-line); border-radius: var(--b-radius-sm); }
.comment-list .children { display: grid; gap: 1rem; margin-top: 1rem; list-style: none; }
.comment-meta { color: var(--b-muted); font-size: .82rem; }
.comment-content p:last-child { margin-bottom: 0; }
.comment-respond { margin-top: 2rem; padding: 1.3rem; background: var(--b-soft); border: 1px solid var(--b-line); border-radius: var(--b-radius); }
.comment-form { display: grid; gap: 1rem; }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-bottom: .3rem; font-weight: 800; }
.comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) { width: 100%; min-height: 48px; padding: .7rem .8rem; color: var(--b-ink); background: var(--b-white); border: 1px solid var(--b-line); border-radius: .65rem; }
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form input[type="submit"] { min-height: 48px; padding: .72rem 1.15rem; color: var(--b-white); background: var(--b-navy); border: 1px solid var(--b-navy); border-radius: .75rem; font-weight: 800; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .8rem 1rem; color: var(--b-ink); background: var(--b-cream); border: 1px solid var(--b-gold); border-radius: .65rem; }
.wpcf7-not-valid-tip { color: var(--b-danger); font-weight: 700; }

/* Graceful rendering for retained Elementor markup after the builder is disabled. */
.entry-content :is(.elementor, .elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap, .elementor-widget-container) { max-width: 100%; }
.entry-content .elementor-container { width: 100%; }
.entry-content .elementor-column { min-width: 0; }
.entry-content .elementor-heading-title { color: var(--b-ink); font: inherit; font-weight: 850; line-height: 1.18; }
.entry-content :is(.elementor-button, .elementor-button:visited) { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: .7rem 1rem; color: var(--b-white) !important; -webkit-text-fill-color: var(--b-white) !important; background: var(--b-navy) !important; border: 1px solid var(--b-navy) !important; border-radius: .7rem; font-weight: 800; text-decoration: none !important; }
.entry-content .elementor-button:hover { color: var(--b-white) !important; background: var(--b-navy-3) !important; border-color: var(--b-navy-3) !important; }
.entry-content :is(.elementor-spacer, .elementor-divider) { max-height: 3rem; }

@media (max-width: 1020px) {
  .solutions-hero__inner, .process-panel, .contact-grid, .legal-layout, .not-found-layout { grid-template-columns: 1fr; }
  .legal-sidebar { position: static; }
  .grid--4, .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-hero__inner, .category-archive-hero__inner { grid-template-columns: 1fr; }
  .blog-hero__search { max-width: 680px; }
  .category-archive-hero__media { max-width: 760px; transform: none; }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__proof { grid-template-columns: repeat(3, 1fr); }
  .directory-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-panel { grid-template-columns: 1fr; }
  .feature-panel__visual { min-height: 350px; }
  .directory-layout { grid-template-columns: 1fr; }
  .filter-panel { position: static; }
  .listing-layout { grid-template-columns: 1fr; }
  .listing-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .solutions-hero__inner { min-height: auto; }
  .author-profile { grid-template-columns: 1fr; }
  body.admin-bar .site-header { top: 46px; }
  .section { padding-block: 3.5rem; }
  .grid--2, .grid--3, .grid--4, .trust-grid, .blog-category-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 245px; }
  .blog-category-card { min-height: 285px; }
  .blog-hero__search .site-search-form__row { grid-template-columns: 1fr; }
  .blog-category-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: thin; }
  .blog-category-nav a { flex: 0 0 auto; }
  .hero { min-height: auto; }
  .hero__inner { padding-block: 4.5rem; }
  .hero__proof { grid-template-columns: 1fr; }
  .directory-search { grid-template-columns: 1fr; }
  .site-search-form__row { grid-template-columns: 1fr; }
  .site-search-form .buscatea-button { width: 100%; }
  .directory-search .buscatea-button { width: 100%; }
  .results-head { align-items: flex-start; flex-direction: column; }
  .results-count { display: block; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .feature-panel__stats { grid-template-columns: 1fr; }
  .feature-panel__visual { min-height: 300px; }
  .visual-row:nth-child(2), .visual-row:nth-child(3) { transform: none; }
  .listing-gallery { grid-template-columns: 1fr; margin-top: -1.5rem; }
  .listing-gallery__side { grid-template-columns: repeat(2, 1fr); }
  .listing-layout { gap: 1.25rem; }
  .listing-sidebar { grid-template-columns: 1fr; }
  .cta-band { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; }
  .article-header { padding-top: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Portable directory and dashboard shortcodes supplied by Buscatea Core. */
.buscatea-core-listings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.buscatea-core-listing { overflow: hidden; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); box-shadow: var(--b-shadow-sm); }
.buscatea-core-listing__image { aspect-ratio: 16 / 10; display: block; overflow: hidden; background: var(--b-soft); }
.buscatea-core-listing__image img { width: 100%; height: 100%; object-fit: cover; }
.buscatea-core-listing > div { padding: 1rem; }
.buscatea-core-listing h2 { margin-bottom: .45rem; font-size: 1.2rem; }
.buscatea-core-listing h2 a { color: var(--b-ink); text-decoration: none; }
.buscatea-core-listing p { margin: 0 0 .7rem; color: var(--b-muted); }
.buscatea-core-listing > div > a { font-weight: 800; }
.buscatea-core-empty { padding: 1.25rem; background: var(--b-soft); border: 1px dashed #c9ccda; border-radius: var(--b-radius-sm); }
.buscatea-core-dashboard-login { max-width: 560px; padding: 1.25rem; background: var(--b-white); border: 1px solid var(--b-line); border-radius: var(--b-radius); }
.buscatea-core-dashboard-login form { display: grid; gap: .9rem; }
.buscatea-core-dashboard-login label { display: grid; gap: .3rem; font-weight: 800; }
.buscatea-core-dashboard-login input:not([type="checkbox"]):not([type="submit"]) { width: 100%; min-height: 48px; padding: .7rem .8rem; color: var(--b-ink); background: var(--b-white); border: 1px solid var(--b-line); border-radius: .65rem; }
.buscatea-core-dashboard-login input[type="submit"] { min-height: 46px; padding: .7rem 1rem; color: var(--b-white); background: var(--b-navy); border: 1px solid var(--b-navy); border-radius: .7rem; font-weight: 800; }
.buscatea-core-dashboard-table-wrap { overflow-x: auto; }
.buscatea-core-dashboard-table { min-width: 680px; }

@media (max-width: 1020px) {
  .buscatea-core-listings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .buscatea-core-listings { grid-template-columns: 1fr; }
}

/* Buscatea 1.8 header and contact system. */
.site-header {
  position: sticky;
  z-index: 1000;
  width: 100%;
  top: 0;
  color: var(--b-white);
  background: rgba(5, 6, 80, .985);
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 28px rgba(2, 3, 45, .16);
  backdrop-filter: blur(14px);
}
.header-inner {
  position: relative;
  min-height: 84px;
  display: grid;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2.2rem);
}
.site-header__brand { min-width: 0; }
.site-brand,
.custom-logo-link {
  display: inline-flex;
  max-width: 248px;
  align-items: center;
  text-decoration: none;
}
.site-brand img,
.custom-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 38px;
}
.primary-nav { min-width: 0; margin: 0; justify-self: center; }
.primary-nav > ul,
.primary-nav .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.72rem, 1.15vw, 1.18rem);
  padding: 0;
  margin: 0;
  list-style: none;
}
.primary-nav li { position: relative; margin: 0; }
.primary-nav a {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .4rem 0;
  color: rgba(255,255,255,.88);
  font-size: .9rem;
  font-weight: 780;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.primary-nav a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--b-gold);
  border-radius: 99px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--b-transition);
}
.primary-nav a:hover,
.primary-nav a:focus-visible,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a { color: var(--b-white); }
.primary-nav a:hover::after,
.primary-nav a:focus-visible::after,
.primary-nav .current-menu-item > a::after,
.primary-nav .current-menu-ancestor > a::after { transform: scaleX(1); }
.primary-nav .sub-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% - 2px);
  left: 50%;
  min-width: 230px;
  display: grid;
  gap: 0;
  padding: .55rem;
  margin: 0;
  background: var(--b-white);
  border: 1px solid var(--b-line);
  border-radius: .85rem;
  box-shadow: var(--b-shadow);
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, .55rem);
  transition: opacity var(--b-transition), transform var(--b-transition), visibility var(--b-transition);
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.primary-nav .sub-menu a {
  min-height: 40px;
  display: flex;
  padding: .55rem .7rem;
  color: var(--b-ink);
  border-radius: .55rem;
  white-space: normal;
}
.primary-nav .sub-menu a::after { display: none; }
.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus-visible { color: var(--b-navy); background: var(--b-soft); }
.header-actions,
.header-tools { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.header-tools { min-width: max-content; }
.header-cta { min-height: 44px !important; padding-inline: 1rem !important; font-size: .88rem !important; }
.language-switch {
  display: inline-flex;
  align-items: center;
  gap: .18rem;
  padding: .22rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .65rem;
}
.language-switch a,
.language-switch a:visited {
  min-width: 32px;
  min-height: 32px;
  display: grid;
  place-items: center;
  padding: .2rem .35rem;
  color: rgba(255,255,255,.8);
  border-radius: .44rem;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}
.language-switch a:hover,
.language-switch a:focus-visible,
.language-switch a[aria-current="page"] {
  color: var(--b-navy);
  background: var(--b-gold);
}
.mobile-menu { position: static; display: none; margin: 0; }
.mobile-menu summary {
  min-width: 48px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .55rem .7rem;
  color: var(--b-white);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: .7rem;
  font-weight: 800;
  line-height: 1;
  list-style: none;
  cursor: pointer;
}
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu__icon { width: 20px; display: grid; gap: 4px; }
.mobile-menu__icon span { height: 2px; display: block; background: currentColor; border-radius: 99px; transition: transform var(--b-transition), opacity var(--b-transition); }
.mobile-menu[open] .mobile-menu__icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mobile-menu[open] .mobile-menu__icon span:nth-child(2) { opacity: 0; }
.mobile-menu[open] .mobile-menu__icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-menu__panel {
  position: absolute;
  z-index: 30;
  top: 100%;
  left: 50%;
  width: 100vw;
  max-height: calc(100vh - 84px);
  overflow-y: auto;
  padding: 0;
  color: var(--b-white);
  background: linear-gradient(180deg, var(--b-navy), #03043d);
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 50px rgba(2, 3, 45, .3);
  transform: translateX(-50%);
  overscroll-behavior: contain;
}
.mobile-menu__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem; padding-block: 1rem 1.2rem; }
.mobile-menu__panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem .8rem; padding: 0; margin: 0; list-style: none; }
.mobile-menu__panel li { min-width: 0; }
.mobile-menu__panel a:not(.buscatea-button) {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: .62rem .7rem;
  color: var(--b-white);
  border: 0;
  border-radius: .55rem;
  font-weight: 750;
  text-decoration: none;
}
.mobile-menu__panel a:not(.buscatea-button):hover,
.mobile-menu__panel a:not(.buscatea-button):focus-visible,
.mobile-menu__panel .current-menu-item > a { color: var(--b-navy); background: var(--b-gold); }
.mobile-menu__panel .sub-menu { grid-template-columns: 1fr; padding-left: .8rem; }
.mobile-menu__actions { display: flex; align-items: center; gap: .75rem; }

.contact-hero { padding-block: clamp(3.8rem, 8vw, 6.5rem); }
.contact-hero h1 { max-width: 850px; }
.contact-section { overflow: hidden; }
.contact-page-grid {
  display: grid;
  grid-template-columns: minmax(0, .83fr) minmax(500px, 1.17fr);
  align-items: start;
  gap: clamp(1.4rem, 3vw, 2.5rem);
}
.contact-info-stack { min-width: 0; display: grid; gap: 1.35rem; }
.contact-panel,
.contact-form-card {
  min-width: 0;
  padding: clamp(1.35rem, 2.7vw, 2.15rem);
  color: var(--b-ink);
  background: var(--b-white);
  border: 1px solid var(--b-line);
  border-radius: var(--b-radius);
  box-shadow: var(--b-shadow-sm);
}
.contact-panel h2,
.contact-form-card h2 { font-size: clamp(1.55rem, 2.8vw, 2.2rem); }
.contact-panel h3 { font-size: 1.08rem; }
.contact-panel p,
.contact-form-card p { overflow-wrap: anywhere; }
.contact-checklist { display: grid; gap: .65rem; padding: 0; margin: 1.15rem 0; list-style: none; }
.contact-checklist li { position: relative; padding-left: 1.8rem; }
.contact-checklist li::before {
  position: absolute;
  top: .28rem;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  display: grid;
  place-items: center;
  content: "✓";
  color: var(--b-navy);
  background: var(--b-gold-2);
  border-radius: 50%;
  font-size: .74rem;
  font-weight: 900;
}
.contact-note { padding: .9rem 1rem; margin: 1.15rem 0 0; background: var(--b-cream); border: 1px solid rgba(252,186,46,.65); border-radius: .8rem; }
.contact-panel--compact { background: linear-gradient(145deg, var(--b-white), #fbfbff); }
.contact-email {
  display: inline-flex;
  max-width: 100%;
  padding: .7rem .85rem;
  color: var(--b-navy);
  background: var(--b-cream);
  border: 1px solid rgba(252,186,46,.55);
  border-radius: .7rem;
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  font-weight: 850;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contact-email:hover { color: var(--b-navy-3); background: var(--b-gold-2); }
.contact-commercial { padding-top: 1.25rem; margin-top: 1.4rem; border-top: 1px solid var(--b-line); }
.contact-form-card { position: relative; min-height: 300px; display: block !important; visibility: visible !important; opacity: 1 !important; box-shadow: var(--b-shadow); }
.contact-form-card::before {
  position: absolute;
  top: 0;
  right: 1.4rem;
  left: 1.4rem;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, var(--b-gold), var(--b-navy-3));
  border-radius: 0 0 99px 99px;
}
.contact-form-intro { margin: 0 0 1.4rem; color: var(--b-muted); }
.buscatea-contact-form-wrap { min-width: 0; display: block !important; visibility: visible !important; opacity: 1 !important; }
.buscatea-contact-form { width: 100%; min-width: 0; display: grid !important; gap: 1.15rem; visibility: visible !important; opacity: 1 !important; }
.buscatea-contact-form :where(label, span, p, div, input, select, textarea, button, option) { visibility: visible !important; opacity: 1 !important; }
.contact-form-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.buscatea-contact-form .form-field { min-width: 0; display: grid; align-content: start; gap: .38rem; margin: 0; }
.buscatea-contact-form .form-field--full { grid-column: 1 / -1; }
.buscatea-contact-form label,
.buscatea-contact-form .form-field > label { color: var(--b-ink); font-size: .91rem; font-weight: 800; line-height: 1.35; }
.buscatea-contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: .72rem .82rem;
  color: var(--b-ink) !important;
  -webkit-text-fill-color: var(--b-ink) !important;
  background: var(--b-white) !important;
  border: 1px solid #cfd2df !important;
  border-radius: .72rem !important;
  box-shadow: none !important;
  line-height: 1.4;
  opacity: 1 !important;
}
.buscatea-contact-form textarea { min-height: 165px; resize: vertical; }
.buscatea-contact-form :is(input, select, textarea):hover { border-color: #aeb2c4 !important; }
.buscatea-contact-form :is(input, select, textarea):focus {
  outline: 3px solid rgba(252,186,46,.35) !important;
  outline-offset: 1px;
  border-color: var(--b-navy-2) !important;
}
.buscatea-contact-form :is(input, textarea)::placeholder { color: #6d7186; -webkit-text-fill-color: #6d7186; opacity: 1; }
.buscatea-contact-form .has-error :is(input, select, textarea) { border-color: var(--b-danger) !important; }
.form-error { min-height: 1px; display: block; color: var(--b-danger); font-size: .82rem; font-weight: 700; line-height: 1.35; }
.form-error:empty { display: none; }
.contact-consent { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .65rem; color: #4f5369 !important; -webkit-text-fill-color: #4f5369 !important; font-size: .88rem; font-weight: 500 !important; }
.contact-consent span { color: #4f5369 !important; -webkit-text-fill-color: #4f5369 !important; opacity: 1 !important; }
.contact-consent input[type="checkbox"] { width: 20px; height: 20px; margin: .05rem 0 0; accent-color: var(--b-navy); }
.contact-consent a,
.contact-consent a:visited { color: var(--b-navy-2) !important; -webkit-text-fill-color: var(--b-navy-2) !important; font-weight: 800; text-decoration-thickness: .1em; }
.contact-consent a:hover { color: var(--b-navy-3) !important; -webkit-text-fill-color: var(--b-navy-3) !important; }
.contact-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; padding-top: .15rem; }
.contact-form-actions p { margin: 0; color: var(--b-muted); font-size: .82rem; }
.contact-form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.form-notice { display: grid; gap: .2rem; padding: .9rem 1rem; margin: 0 0 1.15rem; border: 1px solid; border-radius: .8rem; }
.form-notice strong { color: inherit; }
.form-notice--success { color: #075b49; background: #eaf8f3; border-color: #6cc6aa; }
.form-notice--error { color: #7f1f29; background: #fff1f2; border-color: #dfa1a7; }
.buscatea-contact-form button[type="submit"] { min-width: 170px; }

@media (max-width: 1120px) {
  .contact-page-grid { grid-template-columns: 1fr; }
  .contact-form-card { order: -1; }
  .contact-info-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
  .header-inner { min-height: 72px; }
  .mobile-menu__panel { max-height: calc(100vh - 118px); }
  .mobile-menu__inner { grid-template-columns: 1fr; }
  .mobile-menu__actions { justify-content: space-between; }
}
@media (max-width: 700px) {
  .site-brand,
  .custom-logo-link { max-width: 210px; }
  .site-brand img,
  .custom-logo { max-height: 34px; }
  .mobile-menu__label { display: none; }
  .mobile-menu__panel ul { grid-template-columns: 1fr; }
  .mobile-menu__actions { align-items: stretch; flex-direction: column; }
  .mobile-menu__actions .buscatea-button { width: 100%; }
  .contact-info-stack { grid-template-columns: 1fr; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-hero { padding-block: 3.25rem; }
  .contact-form-card,
  .contact-panel { padding: 1.25rem; }
  .contact-form-actions { align-items: stretch; flex-direction: column; }
  .buscatea-contact-form button[type="submit"] { width: 100%; }
}
@media (max-width: 430px) {
  .header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; }
  .site-brand,
  .custom-logo-link { max-width: 178px; }
}



/* Form and pagination hardening against cached builder styles. */
.buscatea-fast-theme :is(
  .directory-search,
  .filter-panel__form,
  .site-search-form,
  .buscatea-contact-form,
  .comment-form,
  .wpcf7-form
) {
  opacity: 1 !important;
  visibility: visible !important;
}
.buscatea-fast-theme :is(
  .directory-search,
  .filter-panel__form,
  .site-search-form,
  .buscatea-contact-form,
  .comment-form,
  .wpcf7-form
) :is(label, p, span, div, fieldset, legend, small, strong, input, select, textarea, button) {
  opacity: 1 !important;
  visibility: visible !important;
}
.buscatea-fast-theme .directory-search,
.buscatea-fast-theme .filter-panel__form,
.buscatea-fast-theme .site-search-form,
.buscatea-fast-theme .buscatea-contact-form,
.buscatea-fast-theme .comment-form,
.buscatea-fast-theme .wpcf7-form {
  color: var(--b-ink);
  -webkit-text-fill-color: currentColor;
}
.buscatea-fast-theme .directory-search {
  background-color: var(--b-white) !important;
}
.buscatea-fast-theme .directory-search label,
.buscatea-fast-theme .filter-panel__form label,
.buscatea-fast-theme .site-search-form > label,
.buscatea-fast-theme .buscatea-contact-form label,
.buscatea-fast-theme .buscatea-contact-form .form-field > label,
.buscatea-fast-theme .comment-form label,
.buscatea-fast-theme .wpcf7-form label {
  color: var(--b-ink) !important;
  -webkit-text-fill-color: var(--b-ink) !important;
}
.buscatea-fast-theme .directory-search label > span {
  color: #41455c !important;
  -webkit-text-fill-color: #41455c !important;
}
.buscatea-fast-theme :is(.directory-search, .filter-panel__form, .buscatea-contact-form, .wpcf7-form) option {
  color: var(--b-ink) !important;
  -webkit-text-fill-color: var(--b-ink) !important;
  background-color: var(--b-white) !important;
}
.buscatea-fast-theme .site-search-form input[type="search"] {
  color: var(--b-ink) !important;
  -webkit-text-fill-color: var(--b-ink) !important;
  background-color: var(--b-white) !important;
  border-color: var(--b-line) !important;
}
.buscatea-fast-theme .site-search-form input[type="search"]::placeholder {
  color: var(--b-muted) !important;
  -webkit-text-fill-color: var(--b-muted) !important;
  opacity: 1 !important;
}
.buscatea-fast-theme .contact-consent,
.buscatea-fast-theme .contact-consent > span {
  color: var(--b-muted) !important;
  -webkit-text-fill-color: var(--b-muted) !important;
}
.buscatea-fast-theme .contact-consent a,
.buscatea-fast-theme .contact-consent a:visited {
  color: var(--b-navy-2) !important;
  -webkit-text-fill-color: var(--b-navy-2) !important;
}
.buscatea-fast-theme .contact-consent a:hover {
  color: var(--b-navy-3) !important;
  -webkit-text-fill-color: var(--b-navy-3) !important;
}
.buscatea-fast-theme .contact-form-actions p {
  color: var(--b-muted) !important;
  -webkit-text-fill-color: var(--b-muted) !important;
}
.buscatea-fast-theme .form-error {
  color: var(--b-danger) !important;
  -webkit-text-fill-color: var(--b-danger) !important;
}
.buscatea-fast-theme .form-notice--success,
.buscatea-fast-theme .form-notice--success * {
  color: #075b49 !important;
  -webkit-text-fill-color: #075b49 !important;
}
.buscatea-fast-theme .form-notice--error,
.buscatea-fast-theme .form-notice--error * {
  color: #7f1f29 !important;
  -webkit-text-fill-color: #7f1f29 !important;
}
.buscatea-fast-theme .pagination .nav-links {
  align-items: center;
}
.buscatea-fast-theme .pagination .page-numbers {
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}
.buscatea-fast-theme .pagination .page-numbers::before,
.buscatea-fast-theme .pagination .page-numbers::after {
  display: none !important;
  content: none !important;
}

/* Buscatea 1.8.0 final header hardening. */
html, body { max-width: 100%; overflow-x: clip; }
.site-header .header-inner {
  width: min(calc(100% - 2rem), var(--b-container));
  grid-template-columns: minmax(190px, 1fr) minmax(0, auto) minmax(190px, 1fr);
  column-gap: clamp(.85rem, 2vw, 2rem);
}
.site-header__brand { justify-self: start; }
.site-header .primary-nav { width: max-content; max-width: 100%; }
.site-header .header-actions { min-width: 0; justify-self: end; }
.site-header .header-tools { min-width: 0; }
.site-header .header-cta { white-space: nowrap; }
.site-header :is(a, summary):focus-visible { outline: 3px solid var(--b-gold); outline-offset: 3px; }
.mobile-menu[open] summary { color: var(--b-navy); background: var(--b-gold); border-color: var(--b-gold); }
.mobile-menu__panel .container { width: min(calc(100% - 2rem), var(--b-container)); }

@media (max-width: 1320px) {
  .site-header .header-inner { grid-template-columns: minmax(190px, 1fr) auto; }
  .site-header .primary-nav,
  .site-header .header-tools { display: none; }
  .site-header .mobile-menu { display: block; }
}
@media (max-width: 520px) {
  .site-header .header-inner { width: min(calc(100% - 1.25rem), var(--b-container)); }
  .site-brand,
  .custom-logo-link { max-width: 176px; }
  .site-brand img,
  .custom-logo { max-height: 32px; }
  .mobile-menu summary { min-width: 46px; padding-inline: .65rem; }
  .mobile-menu__panel .container { width: min(calc(100% - 1.25rem), var(--b-container)); }
}
