.geo-hub-page { background: #f4efe6; color: #17130f; }
.geo-hub-main { overflow: clip; padding-top: 118px; }
.geo-hub-hero { min-height: min(820px, 86vh); background: #17120e; }
.geo-hub-hero .pl-hero__image { object-position: center; filter: saturate(.86) contrast(1.04); }
.geo-hub-hero .pl-hero__shade { background: linear-gradient(90deg, rgba(11,8,6,.94), rgba(12,9,7,.73) 43%, rgba(12,9,7,.18) 76%), linear-gradient(0deg, rgba(8,6,4,.55), transparent 48%); }
.geo-hub-hero .pl-hero__content { width: min(900px, 70vw); max-width: none; }
.geo-hub-hero h1 span,
.geo-hub-hero__accent span { display: block; white-space: nowrap; }
.geo-hub-hero__accent { margin: 16px 0 0; color: #d4ac68; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(32px, 3vw, 43px); font-style: italic; line-height: 1; }
.geo-hub-proof { color: #fff; background: #201814; }
.geo-hub-proof > .pl-shell { display: grid; grid-template-columns: repeat(3, 1fr); }
.geo-hub-proof div > div { display: grid; gap: 7px; min-height: 145px; padding: 32px; border-right: 1px solid rgba(255,255,255,.12); }
.geo-hub-proof div > div:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.geo-hub-proof small { color: #cba563; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.geo-hub-proof strong { font-family: var(--font-heading, Georgia, serif); font-size: clamp(1.7rem, 2.6vw, 2.4rem); font-weight: 500; }
.geo-hub-proof span { color: rgba(255,255,255,.62); font-size: .82rem; }
.geo-hub-intro { background: #f4efe6; }
.geo-hub-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 55px; border: 1px solid rgba(66,48,34,.18); background: rgba(66,48,34,.18); }
.geo-hub-principles article { min-height: 270px; padding: clamp(28px, 4vw, 48px); background: #fffdf8; }
.geo-hub-principles span { color: #b58c4b; font-family: var(--font-heading, Georgia, serif); font-size: 2rem; }
.geo-hub-principles h3 { margin: 28px 0 15px; font-family: var(--font-heading, Georgia, serif); font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 500; }
.geo-hub-principles p { margin: 0; color: #685c52; line-height: 1.7; }
.geo-hub-directory { background: #ebe3d8; }
.geo-hub-branch-group { margin-top: clamp(58px, 8vw, 100px); }
.geo-hub-branch-group > header { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid rgba(70,51,35,.22); }
.geo-hub-branch-group > header p { margin: 0 0 8px; color: #9a763e; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.geo-hub-branch-group h3 { margin: 0; font-family: var(--font-heading, Georgia, serif); font-size: clamp(2rem, 3.6vw, 3.5rem); font-weight: 500; }
.geo-hub-branch-group > header > span { color: #8d7147; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.geo-hub-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.geo-hub-card { display: flex; flex-direction: column; min-height: 230px; padding: 30px; border: 1px solid rgba(67,49,35,.14); color: inherit; background: rgba(255,253,248,.94); text-decoration: none; transition: transform .25s ease, background .25s ease, color .25s ease; }
.geo-hub-card:hover { transform: translateY(-4px); color: #fff; background: #211914; }
.geo-hub-card small { color: #98723a; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.geo-hub-card h4 { margin: 24px 0 12px; font-family: var(--font-heading, Georgia, serif); font-size: clamp(1.45rem, 2vw, 1.9rem); font-weight: 500; line-height: 1.08; }
.geo-hub-card p { margin: 0; color: #74675d; font-size: .85rem; line-height: 1.55; transition: color .25s ease; }
.geo-hub-card strong { margin-top: auto; padding-top: 24px; color: #89662f; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.geo-hub-card:hover p { color: rgba(255,255,255,.68); }
.geo-hub-card:hover strong { color: #dfbd7d; }
.geo-hub-cta { background: #12100e; }
@media (max-width: 1020px) { .geo-hub-main { padding-top: 96px; } .geo-hub-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
  .geo-hub-hero { min-height: 760px; }
  .geo-hub-hero .pl-hero__shade { background: linear-gradient(0deg, rgba(10,7,5,.96), rgba(10,7,5,.79) 52%, rgba(10,7,5,.22)); }
  .geo-hub-hero .pl-hero__content { width: auto; padding-top: 235px; }
  .geo-hub-hero h1 span,
  .geo-hub-hero__accent span { display: inline; white-space: normal; }
  .geo-hub-hero__accent { max-width: 23ch; font-size: clamp(27px, 8vw, 34px); }
  .geo-hub-proof > .pl-shell,
  .geo-hub-principles,
  .geo-hub-card-grid { grid-template-columns: 1fr; }
  .geo-hub-proof div > div { min-height: 0; border-left: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
  .geo-hub-branch-group > header { align-items: flex-start; }
}
@media (max-width: 640px) { .geo-hub-main { padding-top: 84px; } }
@media (max-width: 430px) { .geo-hub-card { min-height: 205px; padding: 26px 23px; } .geo-hub-branch-group > header { display: grid; } }
