/* City hub Agents composition. Every new selector is isolated to the hub. */
:is(.g6-hub-page) { background: #f7f9fc; }
:is(.g6-hub-page) .g6s-problem { padding: 80px 0; }
:is(.g6-hub-page) .g6s-problem-shade { background: linear-gradient(90deg,rgba(9,94,147,.96),rgba(9,94,147,.88)); }
:is(.g6-hub-page) .g6s-problem-grid { grid-template-columns: minmax(0,40fr) minmax(0,60fr); }
:is(.g6-hub-page) .g6s-problem h2 { max-width: 20ch; }
:is(.g6-hub-page) .g6s-problem-boxes { grid-template-columns: repeat(2,minmax(0,1fr)); }
:is(.g6-hub-page) .g6s-problem-boxes li { padding: 0; }
:is(.g6-hub-page) .g6s-problem-boxes a { display: block; padding: 20px; min-height: 84px; text-decoration: none; color: #fff; border-radius: 10px; }
:is(.g6-hub-page) .g6s-problem-boxes a:hover { background: rgba(255,255,255,.08); }
:is(.g6-hub-page) [hidden] { display: none !important; }
:is(.g6-hub-page) :is(a,button,summary,[tabindex]):focus-visible { outline: 3px solid #1466d6; outline-offset: 4px; }
:is(.g6-hub-page) #g6-hub-promise :is(a,button):focus-visible { outline-color: #fff; }
:is(.g6-hub-page) .g6-hub-band { padding: 24px 0; background: #f7f9fc; }
:is(.g6-hub-page) .g6-hub-resource-row { display: block; margin-inline: auto; }
:is(.g6-hub-page) .g6-hub-resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
:is(.g6-hub-page) .g6-hub-resource-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; min-height: 44px; border: 1px solid #dce4eb; border-radius: 14px; padding: 22px; color: var(--g6-ink); text-decoration: none; background: #f7f9fc; }
:is(.g6-hub-page) .g6-hub-resource-card:hover { border-color: #1466d6; background: #eef3f8; }
:is(.g6-hub-page) .g6-hub-resource-card strong { font: 500 26px/1.15 var(--g6-display); }
:is(.g6-hub-page) .g6-hub-resource-card span { font: 400 14px/1.6 var(--g6-ui); }
:is(.g6-hub-page) .g6-hub-resource-card .g6-hub-card-action { margin-top: auto; font-weight: 700; }
:is(.g6-hub-page) .g6-hub-count-chip { align-self: start; border-radius: 20px; padding: 5px 10px; background: #e0ecf8; font-weight: 700 !important; }
:is(.g6-hub-page) :is(#g6-hub-living,.g6-citydeep > .g6-hub-band,#g6-hub-guides,#g6-hub-market,[aria-label^="Selling in"]) > .g6-body-wrap { width: min(100% - 48px,1180px); margin-inline: auto; padding: 40px; border: 1px solid rgba(9,94,147,.10); border-radius: var(--g6-radius,20px); background: #fff; box-shadow: 0 18px 40px rgba(9,94,147,.08); }
:is(.g6-hub-page) .g6-hub-split { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
:is(.g6-hub-page) .g6-hub-split > div { min-width: 0; }
:is(.g6-hub-page) .g6-citydeep-quote { border-left: 0; padding-left: 0; }
:is(.g6-hub-page) .g6-citydeep :is(.g6-citydeep-links a,.g6-text-link) { min-height: 44px; }
:is(.g6-hub-page) .g6-citydeep .g6-citydeep-linkrow a { display: inline-flex; align-items: center; }
:is(.g6-hub-page) .g6-hub-film-feature article { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 8px 36px; align-items: start; }
:is(.g6-hub-page) .g6-hub-film-feature article > a { grid-row: 1 / 3; margin: 0; }
:is(.g6-hub-page) .g6-hub-film-feature h3 { margin-top: 8px; }
:is(.g6-hub-page) .g6-hub-film-feature p { margin: 0; }
:is(.g6-hub-page) .g6-hub-film-rail { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 4px 16px; margin: 24px -4px 0; }
:is(.g6-hub-page) .g6-hub-film-rail article { flex: 0 0 min(320px,85%); min-width: 0; scroll-snap-align: start; }
:is(.g6-hub-page) .g6-hub-film-rail h3 { font-size: 23px; }
:is(.g6-hub-page) .g6-hub-legacy-films { margin-top: 24px; border-top: 1px solid #dce4eb; }
:is(.g6-hub-page) summary { min-height: 44px; cursor: pointer; }
:is(.g6-hub-page) .g6-hub-legacy-films summary { padding: 14px 0; }
:is(.g6-hub-page) .g6-hub-legacy-films .g6-hub-guide-row { grid-template-columns: 1fr; margin-top: 0; }
:is(.g6-hub-page) .g6-hub-legacy-films .g6-hub-guide-row a { font-size: 21px; }
:is(.g6-hub-page) .g6-hub-client { margin: 0 0 36px; padding: 28px; border-radius: 16px; background: #eef3f8; }
:is(.g6-hub-page) .g6-hub-client blockquote { margin: 0; }
:is(.g6-hub-page) .g6-hub-client blockquote p { font: 500 clamp(1.4rem,2vw,1.85rem)/1.4 var(--g6-display); margin: 0 0 18px; }
:is(.g6-hub-page) .g6-hub-client figcaption { font: 600 .875rem/1.6 var(--g6-ui); }
:is(.g6-hub-page) .g6-hub-client a { display: inline-flex; align-items: center; min-height: 44px; }
:is(.g6-hub-page) .g6-deep-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
:is(.g6-hub-page) .g6-deep-gallery figure { margin: 0; min-width: 0; }
:is(.g6-hub-page) .g6-deep-gallery img { width: 100%; height: 280px; object-fit: cover; border-radius: 12px; }
:is(.g6-hub-page) .g6-deep-gallery figcaption { font: 500 13px/1.6 var(--g6-ui); margin-top: 10px; }
:is(.g6-hub-page) .g6-hub-school-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; }
:is(.g6-hub-page) .g6-hub-school-panel summary::after { content: "+"; font-size: 26px; }
:is(.g6-hub-page) .g6-hub-school-panel[open] summary::after { content: "−"; }
:is(.g6-hub-page) .g6-hub-school-panel summary h2 { margin: 0; }
:is(.g6-hub-page) .g6-hub-school-panel[open] summary { margin-bottom: 28px; }
:is(.g6-hub-page) .g6-citydeep-faq summary { min-height: 44px; }
@media (max-width:999px) {
 :is(.g6-hub-page) .g6s-problem-grid { grid-template-columns: 1fr; }
 :is(.g6-hub-page) .g6s-problem-boxes { grid-column: auto; grid-row: auto; }
 :is(.g6-hub-page) .g6s-problem-line { grid-column: auto; }
 :is(.g6-hub-page) .g6-hub-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
 :is(.g6-hub-page) :is(#g6-hub-living,.g6-citydeep > .g6-hub-band,#g6-hub-guides,#g6-hub-market,[aria-label^="Selling in"]) > .g6-body-wrap { width: calc(100% - 32px); padding: 22px; }
 :is(.g6-hub-page) .g6-hub-split { grid-template-columns: 1fr; gap: 28px; }
 :is(.g6-hub-page) .g6-hub-film-feature article { display: block; }
 :is(.g6-hub-page) .g6-hub-film-feature article > a { margin-bottom: 20px; }
 :is(.g6-hub-page) .g6-deep-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
 :is(.g6-hub-page) .g6-deep-gallery img { height: 220px; }
 :is(.g6-hub-page) .g6-hub-client { padding: 22px; }
}
@media (max-width:600px) {
 :is(.g6-hub-page) .g6s-problem { padding: 56px 0; }
 :is(.g6-hub-page) .g6s-problem-boxes a { padding: 16px; }
 :is(.g6-hub-page) .g6-hub-resource-grid { grid-template-columns: 1fr; }
 :is(.g6-hub-page) .g6-hub-guide-row { grid-template-columns: 1fr; }
 :is(.g6-hub-page) .g6-hub-resource-card { padding: 18px; }
 :is(.g6-hub-page) .g6s-row { padding: 22px; }
}
@media (prefers-reduced-motion:reduce) {
 :is(.g6-hub-page) * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Existing checks and comparable-sale copy stays intact in paired proof boxes. */
:is(.g6-hub-page) :is(.g6-citydeep .g6-hub-split,[aria-label^="Selling in"] .g6-hub-split) > div { padding: 24px; border: 1px solid #dce4eb; border-radius: 16px; background: #f7f9fc; }
@media (max-width:600px) { :is(.g6-hub-page) :is(.g6-citydeep .g6-hub-split,[aria-label^="Selling in"] .g6-hub-split) > div { padding: 18px; } }

/* Fill a last unmatched promise cell, counting only currently visible resources. */
:is(.g6-hub-page) .g6s-problem-boxes li:nth-child(odd of :not([hidden])):nth-last-child(1 of :not([hidden])) { grid-column: 1 / -1; }

:is(.g6-hub-page) .g6s-problem-boxes li:nth-child(even of :not([hidden])):nth-last-child(1 of :not([hidden])) { grid-column: auto; }

/* 2026-10-12 director: hub opening on place (photo hero). H1 text untouched. */
:is(.g6-hub-page, .g6-county-page) .g6-hub-open { position: relative; min-height: min(760px, 82svh); display: grid; align-items: end; background: #095e93; color: #f2f7fc; overflow: hidden; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open-media, :is(.g6-hub-page, .g6-county-page) .g6-hub-open-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,94,147,.92) 0%, rgba(9,94,147,.72) 36%, rgba(9,94,147,.28) 62%, rgba(9,94,147,.12) 100%), linear-gradient(0deg, rgba(9,94,147,.78) 0%, rgba(9,94,147,0) 46%); }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open-copy { position: relative; z-index: 2; width: min(100% - 48px, 1320px); margin: 0 auto; padding: clamp(96px, 12vw, 160px) 0 clamp(48px, 6vw, 72px); max-width: 1320px; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open h1 { margin: 0 0 16px; max-width: 14ch; color: #f2f7fc; font: 500 clamp(44px, 6vw, 84px)/0.98 "Cormorant Garamond", serif; letter-spacing: -.02em; text-wrap: balance; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open h1 em { font-style: italic; color: #60c3ef; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open .g6-hub-hero-lede { margin: 0 0 26px; max-width: 58ch; color: #e4eef8; font: 400 clamp(17px, 1.4vw, 20px)/1.55 Manrope, sans-serif; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open .g6-hub-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open .g6-hub-hero-cta .g6-action { background: #60c3ef; color: #095e93; border-color: #60c3ef; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open .g6-hub-hero-ghost { display: inline-flex; align-items: center; min-height: 50px; padding: 0 22px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); color: #f2f7fc; font: 600 15px/1 Manrope, sans-serif; text-decoration: none; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-open-credit { margin: 22px 0 0; color: rgba(228,238,248,.72); font: 500 12px/1 Manrope, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around { padding-top: clamp(56px, 7vw, 96px); }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around-head { width: min(100% - 48px, 1320px); margin: 0 auto 22px; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around-head h2 { margin: 0 0 8px; color: #095e93; font: 500 clamp(32px, 3.6vw, 48px)/1.04 "Cormorant Garamond", serif; letter-spacing: -.016em; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around-head p { margin: 0; color: #51647a; font: 400 16px/1.6 Manrope, sans-serif; }
@media (max-width: 700px) {
  :is(.g6-hub-page, .g6-county-page) .g6-hub-open { min-height: 78svh; }
  :is(.g6-hub-page, .g6-county-page) .g6-hub-open-copy { width: min(100% - 36px, 1320px); padding: 120px 0 36px; }
  :is(.g6-hub-page, .g6-county-page) .g6-hub-open h1 { font-size: clamp(36px, 10.5vw, 44px); }
  :is(.g6-hub-page, .g6-county-page) .g6-hub-open .g6-hub-hero-cta a { flex: 1 1 auto; justify-content: center; }
}
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside { padding-top: 18px; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around-note { margin: 0 0 12px; color: #51647a; font: 400 15px/1.5 Manrope, sans-serif; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside .g6-county-map-frame { border-radius: 16px; overflow: hidden; border: 1px solid #dbe8f2; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside { display: block; min-height: 0; padding: 18px 0 0; background: transparent; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside .g6-county-map-frame { width: 100%; height: 460px; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside #g6-county-map { height: 100%; }
:is(.g6-hub-page, .g6-county-page) .g6-hub-around--inside .g6-county-rail { display: none; }
.g6-county-page .g6-hub-open h1 { color: #f2f7fc; }
.g6-county-page .g6-county-places-wrap { padding-top: clamp(40px, 5vw, 72px); }
.g6-county-page .g6-county-places-wrap .g6-county-rail-heading h2 { margin: 0 0 6px; color: #095e93; font: 500 clamp(28px, 3vw, 40px)/1.05 "Cormorant Garamond", serif; }
/* 2026-10-12 real-browser pass: county/hub opening shade was too light over bright aerials; the H1 must read on every photo. */
:is(.g6-hub-page, .g6-county-page) .g6-hub-open-shade, .g6-county-page .g6-hub-open-shade { background: linear-gradient(90deg, rgba(9,94,147,.94) 0%, rgba(9,94,147,.82) 38%, rgba(9,94,147,.46) 64%, rgba(9,94,147,.22) 100%), linear-gradient(0deg, rgba(9,94,147,.86) 0%, rgba(9,94,147,.2) 55%, rgba(9,94,147,.05) 100%); }
.g6-county-page .g6-hub-open h1, :is(.g6-hub-page, .g6-county-page) .g6-hub-open h1 { text-shadow: 0 2px 24px rgba(4,16,36,.45); }
