/* css/gen6-v9-composition.css (2026-10-15 v9 composition; Astra rows 8, 10, 12, 13, 14).
   Loaded by template-parts/deep/v9-composition-enqueue.php on the recomposed templates only. House system: Cormorant
   Garamond display, Manrope UI; ink #095e93/#0d2f52, channel #2b80bb, sky #60c3ef, paper #FAFBFC, mist #EEF3F7,
   line #dbe8f2, steel #51647a, action #1d5a87. Motion uses the shared tokens from css/gen6-motion.css. */

/* ---------- 1. /sell/ and /buy/ preamble (row 8) ---------- */
.g6-main-sell .g6s-problem--track { padding: clamp(110px, 10vw, 150px) 0 clamp(56px, 6vw, 84px); }
.g6-main-sell .g6s-problem--track .g6s-problem-shade { background: linear-gradient(180deg, rgba(9,94,147,.55), rgba(9,94,147,.82)); }
.g6-main-sell .g6s-problem--track h2 { max-width: 22ch; font-size: clamp(36px, 4vw, 56px) !important; line-height: 1.04; }
.g6-main-sell .g6s-problem--track h2 em { display: block; color: #60c3ef !important; }
.g6v-track { list-style: none; margin: clamp(18px, 2vw, 28px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; position: relative; }
.g6v-track::before { content: ""; position: absolute; left: 28px; right: 28px; top: 28px; height: 2px; background: linear-gradient(90deg, rgba(96,195,239,.2), #60c3ef, rgba(96,195,239,.2)); }
.g6v-track a { position: relative; display: grid; grid-template-rows: auto auto auto 1fr; gap: 8px; height: 100%; box-sizing: border-box; padding: 0 0 18px; color: #fff; text-decoration: none; }
.g6v-track-n { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #60c3ef; color: #095e93; font: 600 20px/1 Manrope, sans-serif; box-shadow: 0 0 0 8px rgba(9,94,147,.75); }
.g6v-track-shot { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; margin-top: 8px; border-radius: 18px; background: #0d2f52; border: 1px solid rgba(201,219,235,.28); box-shadow: 0 24px 60px rgba(2,10,24,.4); transition: transform var(--m-base, 260ms) var(--m-ease, ease-out), border-color var(--m-base, 260ms); }
.g6v-track-shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.g6v-track-shot--cma { display: grid; align-content: center; gap: 10px; padding: 0 22px; background: linear-gradient(160deg, #FAFBFC, #EEF3F7); }
.g6v-track-shot--cma { gap: 4px; color: #095e93; text-align: left; }
.g6v-track-shot--cma em { font: 700 11px/1.2 Manrope, sans-serif; font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: #51647a; }
.g6v-track .g6v-track-shot--cma strong { margin: 2px 0 4px; color: #095e93; font: 300 clamp(26px, 2.4vw, 36px)/1 Manrope, sans-serif; letter-spacing: -.03em; }
.g6v-track-shot--cma small { color: #51647a; font: 500 13px/1.35 Manrope, sans-serif; }
.g6v-track-shot--cma b { position: absolute; top: 12px; right: 12px; padding: 4px 10px; border-radius: 999px; border: 1px solid #2b80bb; color: #1d5a87; font: 700 11px/1 Manrope, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.g6v-track strong { margin-top: 6px; font: 500 clamp(28px, 2.4vw, 36px)/1 "Cormorant Garamond", Georgia, serif; letter-spacing: -.01em; }
.g6v-track a > span:last-child { color: #dce9f4; font: 500 15px/1.5 Manrope, sans-serif; }
.g6v-track a:hover .g6v-track-shot, .g6v-track a:focus-visible .g6v-track-shot { transform: translateY(-4px); border-color: #60c3ef; }
.g6v-track a:focus-visible { outline: 3px solid #60c3ef; outline-offset: 6px; border-radius: 18px; }
.g6-main-sell .g6s-package { padding-top: clamp(56px, 6vw, 84px); }
.g6-main-sell .g6s-row { scroll-margin-top: 120px; }
@media (max-width: 760px) {
  .g6v-track { grid-template-columns: 1fr; gap: 14px; }
  .g6v-track::before { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; background: linear-gradient(180deg, rgba(96,195,239,.2), #60c3ef, rgba(96,195,239,.2)); }
  .g6v-track a { grid-template-columns: 56px 112px minmax(0, 1fr); grid-template-rows: auto auto; grid-template-areas: "n shot title" "n shot line"; column-gap: 14px; row-gap: 2px; align-items: center; padding: 0; }
  .g6v-track-n { grid-area: n; width: 48px; height: 48px; font-size: 17px; }
  .g6v-track-shot { grid-area: shot; margin: 0; border-radius: 12px; }
  .g6v-track-shot--cma { padding: 0 10px; gap: 1px; } .g6v-track-shot--cma :is(b, em, small) { display: none; } .g6v-track .g6v-track-shot--cma strong { font-size: 15px; margin: 0; }
  .g6v-track strong { grid-area: title; margin: 0; font-size: 26px; align-self: end; }
  .g6v-track a > span:last-child { grid-area: line; font-size: 13.5px; line-height: 1.4; align-self: start; }
}
/* /buy/: the readout leads; the line above it is a short bridge, not a box list */
.g6-main-buy .g6s-problem .g6s-problem-line { max-width: 40ch; }
@media (prefers-reduced-motion: reduce) { .g6v-track-shot { transition: none !important; } }
@media (min-width: 761px) {
  .g6-main-sell .g6s-problem--track .g6s-problem-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 34px; }
  .g6-main-sell .g6s-problem--track h2 { max-width: 30ch; }
  .g6-main-sell .g6s-problem--track h2 em { display: inline; }
  .g6v-track a > span:last-child { font-size: 16px; max-width: 32ch; }
}

/* ---------- 2. /contact/ guided routing (row 12) ---------- */
/* Desktop: the hero is a split, copy left and the one routing card right. */
@media (min-width: 1001px) {
  .g6-landing .g6l-hero--book:has(.g6v-route) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: 0; padding-bottom: clamp(56px, 6vw, 84px); }
  .g6-landing .g6l-hero--book:has(.g6v-route) > .g6l-book-head { grid-column: 1; margin-right: 0; padding-right: 32px; box-sizing: border-box; width: auto; max-width: none; justify-self: end; width: min(640px, 100%); }
  .g6-landing .g6l-hero--book:has(.g6v-route) > .g6v-route { grid-column: 2; margin: 0; width: min(560px, 100%); justify-self: start; padding: 0 24px 0 0; box-sizing: border-box; }
}
.g6v-route { position: relative; z-index: 2; margin-top: 26px; }
.g6v-route-card { padding: 26px 26px 22px; border-radius: 26px; background: #fff; color: #095e93; box-shadow: 0 40px 90px rgba(2,10,24,.38); }
.g6v-route-lead { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px; align-items: center; margin-bottom: 18px; }
.g6v-route-lead img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: 50% 14%; background: #EEF3F7; box-shadow: 0 0 0 4px #EEF3F7; }
.g6v-route-role { margin: 0; color: #1d5a87; font: 800 11.5px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.g6v-route-name { margin: 6px 0 4px; color: #095e93; font: 500 30px/1.05 "Cormorant Garamond", Georgia, serif; }
.g6v-route-why { margin: 0; color: #51647a; font: 500 14px/1.45 Manrope, sans-serif; }
.g6v-route-primary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; border-radius: 999px; background: #1d5a87; color: #fff !important; font: 700 16px/1 Manrope, sans-serif; text-decoration: none; box-shadow: 0 14px 30px rgba(29,90,135,.3); transition: background var(--m-fast, 160ms), transform var(--m-fast, 160ms); }
.g6v-route-primary:hover { background: #0d2f52; }
.g6v-route-primary:focus-visible, .g6v-route-chips a:focus-visible { outline: 3px solid #2b80bb; outline-offset: 3px; }
.g6v-route-or { display: flex; align-items: center; gap: 12px; margin: 20px 0 12px; color: #51647a; font: 600 12.5px/1 Manrope, sans-serif; }
.g6v-route-or::before, .g6v-route-or::after { content: ""; flex: 1; height: 1px; background: #dbe8f2; }
.g6v-route-q { margin: 0 0 10px; color: #095e93; font: 700 15px/1.3 Manrope, sans-serif; }
.g6v-route-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.g6v-route-chips a { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 10px; border-radius: 999px; border: 1px solid #c9dbeb; background: #FAFBFC; color: #095e93; font: 700 14px/1.1 Manrope, sans-serif; text-align: center; text-decoration: none; transition: border-color var(--m-fast, 160ms), background var(--m-fast, 160ms), transform var(--m-fast, 160ms); }
.g6v-route-chips a:hover { border-color: #1d5a87; background: #EEF3F7; }
.g6v-route-note { margin: 12px 2px 0; color: #51647a; font: 500 12.5px/1.45 Manrope, sans-serif; }
.g6l-book--compact .g6v-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 22px; padding: 0 0 18px; border-bottom: 1px solid #dbe8f2; color: #51647a; font: 500 14.5px/1.5 Manrope, sans-serif; }
.g6l-book--compact .g6v-alt a { color: #095e93; font-weight: 700; text-decoration: underline; text-decoration-color: #c9dbeb; text-underline-offset: 4px; }
.g6l-book--compact .g6l-book-steps { display: none; }
.g6l-book--compact .g6l-book-panel-head h2 { font-size: clamp(26px, 2.4vw, 34px) !important; }
.g6l-book--compact .g6l-person--any { display: none; }
@media (min-width: 1001px) {
  .g6-landing .g6l-book.g6l-book--compact { margin-top: 0; padding-top: clamp(40px, 4vw, 56px); }
  .g6l-book--compact .g6l-book-grid { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 12px !important; }
  .g6l-book--compact .g6l-person a { padding: 10px 8px 12px !important; text-align: center; }
  .g6l-book--compact .g6l-person-photo { width: 84px !important; height: 84px !important; margin-inline: auto; }
  .g6l-book--compact .g6l-person-role { display: none; }
  .g6l-book--compact .g6l-person-name { font-size: 15px !important; }
  .g6l-book--compact .g6l-person-book { font-size: 12.5px !important; }
}
@media (max-width: 1000px) {
  .g6-landing .g6l-hero--book:has(.g6v-route) { padding-bottom: 40px; }
  .g6-landing .g6l-book.g6l-book--compact { margin-top: 0; padding-top: 32px; }
}
@media (max-width: 760px) {
  .g6v-route-card { padding: 20px 16px 16px; border-radius: 22px; }
  .g6v-route-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g6v-route-lead { grid-template-columns: 68px minmax(0, 1fr); }
  .g6v-route-lead img { width: 68px; height: 68px; }
  .g6v-route-name { font-size: 26px; }
  .g6l-book--compact .g6l-book-grid { display: flex !important; gap: 10px !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .g6l-book--compact .g6l-book-grid > li { flex: 0 0 132px; scroll-snap-align: start; }
  .g6l-book--compact .g6l-person-role { display: none; }
}
/* contact body: one short note + direct lines beside the form */
.g6v-direct { margin: 22px 0 0; padding: 0; border-top: 1px solid #dbe8f2; }
.g6v-direct > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid #dbe8f2; }
.g6v-direct dt { margin: 0; color: #51647a; font: 600 13.5px/1.5 Manrope, sans-serif; }
.g6v-direct dd { margin: 0; color: #095e93; font: 600 15px/1.5 Manrope, sans-serif; }
.g6v-direct dd a { color: #095e93; text-decoration: underline; text-decoration-color: #c9dbeb; text-underline-offset: 4px; }
.g6v-direct dd span { display: block; color: #51647a; font-weight: 500; font-size: 13.5px; }
@media (prefers-reduced-motion: reduce) { .g6v-route-primary, .g6v-route-chips a { transition: none !important; } }
/* specificity: the landing hero styles every <p> in the hero; the route card sets its own type */
.g6-landing .g6l-hero .g6v-route-card p.g6v-route-role { margin: 0; color: #1d5a87; font: 800 11.5px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.g6-landing .g6l-hero .g6v-route-card p.g6v-route-name { margin: 6px 0 4px; color: #095e93; font: 500 30px/1.05 "Cormorant Garamond", Georgia, serif; }
.g6-landing .g6l-hero .g6v-route-card p.g6v-route-why { margin: 0; color: #51647a; font: 500 14px/1.45 Manrope, sans-serif; max-width: none; }
.g6-landing .g6l-hero .g6v-route-card p.g6v-route-q { margin: 0 0 10px; color: #095e93; font: 700 15px/1.3 Manrope, sans-serif; }
.g6-landing .g6l-hero .g6v-route-card p.g6v-route-note { margin: 12px 2px 0; color: #51647a; font: 500 12.5px/1.45 Manrope, sans-serif; max-width: none; }
.g6l-book--compact .g6l-book-alt { display: none; }
.g6l-book--compact .g6l-person a { flex-direction: column !important; align-items: center !important; text-align: center; gap: 8px !important; }
.g6l-book--compact .g6l-person-text { align-items: center; }
.g6l-book--compact .g6l-person-book { width: 100%; justify-content: center; box-sizing: border-box; }
.g6v-contact-copy { align-self: start; }
@media (max-width: 760px) {
  .g6l-book--compact .g6v-alt { flex-direction: column; align-items: flex-start; gap: 4px; }
  .g6l-book--compact .g6v-alt > span[aria-hidden] { display: none; }
  .g6-landing .g6l-hero .g6v-route-card p.g6v-route-name { font-size: 26px; }
}
/* compact agent row: photo over name over action (the landing grid is a 64px + text row) */
.g6-landing .g6l-book--compact .g6l-person a { display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: auto auto auto; justify-items: center; row-gap: 8px; text-align: center; }
.g6-landing .g6l-book--compact .g6l-person-photo { width: 76px !important; height: 76px !important; }
.g6-landing .g6l-book--compact .g6l-person-text { justify-items: center; }
.g6-landing .g6l-book--compact .g6l-person-name { font-size: 14.5px !important; line-height: 1.2 !important; }
.g6-landing .g6l-book--compact .g6l-person-book { grid-column: auto !important; width: 100%; justify-content: center; font-size: 12.5px !important; padding-inline: 6px !important; }

/* ---------- 3. /about/ portrait on phone (row 13): an authored editorial crop, never a face under the H1 ----------
   Phone: the studio portrait is cropped head-and-shoulders (4:4.2) and sits ABOVE the H1, which follows on the ink ground. */
@media (max-width: 799px) {
  html body.gen6 .g6ph.g6ph--founder .g6ph-photo { height: auto !important; max-height: none !important; min-height: 0 !important; aspect-ratio: auto; overflow: visible; display: flex; flex-direction: column; }
  html body.gen6 .g6ph.g6ph--founder .g6ph-photo > img { position: relative !important; inset: auto !important; order: 0; width: 100%; height: auto !important; aspect-ratio: 4 / 4.2; object-fit: cover !important; object-position: 50% 6% !important; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); }
  html body.gen6 .g6ph.g6ph--founder .g6ph-photo::after { display: none !important; }
  html body.gen6 .g6ph.g6ph--founder .g6ph-photo > .g6ph-heading { position: relative !important; inset: auto !important; top: auto !important; bottom: auto !important; transform: none !important; order: 1; margin: -28px 0 0 !important; padding: 0 20px 4px !important; z-index: 2; }
  html body.gen6 .g6ph.g6ph--founder .g6ph-detail { padding-top: 12px !important; }
}

/* ---------- 4. Cape Coral city guide in five chapters (row 10) ----------
   One sticky chapter bar replaces the 12-link section strip on this page (the strip's anchors all still exist). */
body.page-template-page-cape-coral .g6-subnav { display: none; }
.g6v-chbar { position: sticky; top: var(--g6-header-h, 72px); z-index: 1100; background: rgba(9,94,147,.96); color: #fff; backdrop-filter: saturate(1.3) blur(10px); -webkit-backdrop-filter: saturate(1.3) blur(10px); box-shadow: 0 10px 30px rgba(2,10,24,.18); }
.g6v-chbar-in { position: relative; display: flex; align-items: center; gap: 22px; min-height: 56px; }
.g6v-chbar-k { margin: 0; flex: none; color: #60c3ef; font: 800 12px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.g6v-chbar ol { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.g6v-chbar ol::-webkit-scrollbar { display: none; }
.g6v-chbar a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; color: #c9dbeb; font: 700 14px/1 Manrope, sans-serif; text-decoration: none; white-space: nowrap; transition: background var(--m-fast, 160ms), color var(--m-fast, 160ms); }
.g6v-chbar a span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid rgba(201,219,235,.45); font: 700 11.5px/1 Manrope, sans-serif; }
.g6v-chbar a:hover { color: #fff; background: rgba(255,255,255,.06); }
.g6v-chbar a[aria-current="true"] { color: #095e93; background: #60c3ef; }
.g6v-chbar a[aria-current="true"] span { border-color: #095e93; }
.g6v-chbar a:focus-visible { outline: 3px solid #60c3ef; outline-offset: 2px; }
.g6v-chbar-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(201,219,235,.14); }
.g6v-chbar-bar i { display: block; height: 100%; background: linear-gradient(90deg, #2b80bb, #60c3ef); transform-origin: left center; transform: scaleX(0); }
.g6v-ch { scroll-margin-top: calc(var(--g6-header-h, 72px) + 56px); }
.g6v-ch :is([id^="ct-"], #cape-coral-newest, #g6-zip-explorer) { scroll-margin-top: calc(var(--g6-header-h, 72px) + 64px); }
.g6v-ch-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; padding-top: clamp(56px, 6vw, 88px); padding-bottom: clamp(18px, 2vw, 26px); }
.g6v-ch + .g6v-ch .g6v-ch-head { border-top: 1px solid #dbe8f2; }
.g6v-ch-n { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #095e93; color: #60c3ef; font: 300 30px/1 Manrope, sans-serif; letter-spacing: -.03em; box-shadow: 0 0 0 8px #EEF3F7; }
.g6v-ch-k { margin: 0 0 6px; color: #1d5a87; font: 800 12px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.gen6 .g6v-ch-t { margin: 0; color: #095e93; font: 500 clamp(40px, 4.4vw, 64px)/1 "Cormorant Garamond", Georgia, serif !important; letter-spacing: -.02em; }
.g6v-ch-t span { display: block; margin-top: 10px; color: #51647a; font: 500 clamp(17px, 1.4vw, 20px)/1.4 Manrope, sans-serif; letter-spacing: 0; }
/* closed "more" disclosures for repeated tools */
.g6v-more { margin: 0 auto; width: min(100% - 48px, 1248px); border: 1px solid #dbe8f2; border-radius: 20px; background: #fff; margin-block: 18px 28px; }
.g6v-more > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 0 24px; color: #095e93; font: 700 16px/1.3 Manrope, sans-serif; cursor: pointer; list-style: none; }
.g6v-more > summary::-webkit-details-marker { display: none; }
.g6v-more > summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #EEF3F7; color: #1d5a87; font: 600 20px/1 Manrope, sans-serif; transition: transform var(--m-base, 260ms) var(--m-ease, ease-out); }
.g6v-more[open] > summary::after { content: "\2212"; }
.g6v-more > summary:hover { color: #1d5a87; }
.g6v-more > summary:focus-visible { outline: 3px solid #2b80bb; outline-offset: 3px; border-radius: 20px; }
.g6v-more[open] { overflow: hidden; }
@media (max-width: 760px) {
  .g6v-chbar-k { display: none; }
  .g6v-chbar-in { min-height: 52px; gap: 0; }
  .g6v-chbar a { padding: 0 12px; font-size: 13.5px; }
  .g6v-ch-head { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding-inline: 20px; }
  .g6v-ch-n { width: 48px; height: 48px; font-size: 22px; box-shadow: 0 0 0 6px #EEF3F7; }
  .g6v-more { width: calc(100% - 32px); border-radius: 16px; }
  .g6v-more > summary { padding: 0 16px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .g6v-chbar a, .g6v-more > summary::after { transition: none !important; } }

/* ---------- 5. Price landing pages: the hero is a search result with its price ladder (row 14) ---------- */
.preset-page .g6v-ladder { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; margin: 22px auto 0; }
.preset-page .g6v-ladder-k { color: #c9dbeb; font: 700 13px/1 Manrope, sans-serif; letter-spacing: .04em; }
.preset-page .g6v-ladder ol { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin: 0; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(201,219,235,.3); }
.preset-page .g6v-ladder a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; color: #fff; font: 700 14px/1 Manrope, sans-serif; font-variant-numeric: lining-nums; text-decoration: none; transition: background var(--m-fast, 160ms); }
.preset-page .g6v-ladder a:hover { background: rgba(255,255,255,.12); }
.preset-page .g6v-ladder a[aria-current="page"] { background: #60c3ef; color: #095e93; }
.preset-page .g6v-ladder a:focus-visible { outline: 3px solid #60c3ef; outline-offset: 2px; }
@media (max-width: 760px) { .preset-page .g6v-ladder ol { border-radius: 18px; } .preset-page .g6v-ladder a { padding: 0 12px; min-height: 40px; } }

/* ---------- 6. Neighborhood hub: geographic overview beside the H1 (row 14) ---------- */
.g6v-hubhero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; position: relative; z-index: 2; max-width: 1240px !important; }
.g6v-hubhero .service-band-head { text-align: left !important; margin: 0 0 22px !important; }
.g6v-hubhero .service-band-head :is(h1, p) { margin-left: 0 !important; }
.g6v-hubhero .hero-actions { justify-content: flex-start !important; }
.g6v-quad { margin: 0; }
.g6v-quad svg { display: block; width: 100%; height: auto; max-height: 560px; filter: drop-shadow(0 30px 60px rgba(2,10,24,.45)); }
.g6v-quad-q path { fill: rgba(96,195,239,.16); stroke: #60c3ef; stroke-width: 1.4; stroke-linejoin: round; transition: fill var(--m-base, 260ms) var(--m-ease, ease-out); }
.g6v-quad-q text { fill: #fff; font: 700 15px/1 Manrope, sans-serif; letter-spacing: .02em; paint-order: stroke; stroke: rgba(9,94,147,.75); stroke-width: 4px; pointer-events: none; }
.g6v-quad-q:hover path, .g6v-quad-q:focus-visible path { fill: rgba(96,195,239,.42); }
.g6v-quad-q:focus-visible { outline: none; }
.g6v-quad-q:focus-visible path { stroke: #fff; stroke-width: 3; }
.g6v-quad figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; margin-top: 14px; color: #c9dbeb; font: 500 13.5px/1.5 Manrope, sans-serif; }
.g6v-quad figcaption a { color: #60c3ef; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.g6v10-hood-hero:has(.g6v-quad) .g6v10-hood-hero-img { opacity: .38; }
@media (max-width: 900px) {
  .g6v-hubhero { grid-template-columns: 1fr; }
  .g6v-quad svg { max-height: 360px; }
}
@media (prefers-reduced-motion: reduce) { .g6v-quad-q path { transition: none !important; } }
@media (min-width: 1001px) { .g6-landing .g6l-hero--book:has(.g6v-route) > .g6l-book-head { padding-left: clamp(24px, 4vw, 60px); } }

/* ---------- R2 2026-10-15 (Astra R2 #12): /contact/ booking is the one primary treatment ----------
   The intents become qualifiers: a quiet sub-panel under the booking action, one sentence plus four text links (44px tap
   targets), not a second row of equal buttons. The agent row's "Book with" labels become text so they do not repeat the
   primary button seven times. */
.g6v-route-primary { min-height: 60px; font-size: 17px; }
.g6v-route-alt { margin: 20px -26px -22px; padding: 16px 26px 18px; border-top: 1px solid #dbe8f2; border-radius: 0 0 26px 26px; background: #f4f8fb; }
.g6v-route-alt .g6v-route-q { margin: 0 0 4px; color: #51647a; font: 500 14px/1.45 Manrope, sans-serif; }
.g6v-route-alt .g6v-route-chips { display: flex; flex-wrap: wrap; gap: 0 4px; margin: 0; padding: 0; list-style: none; }
.g6v-route-alt .g6v-route-chips li { display: flex; align-items: center; }
.g6v-route-alt .g6v-route-chips li + li::before { content: "\00b7"; margin-right: 4px; color: #93a8bc; }
.g6v-route-alt .g6v-route-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; border: 0; border-radius: 6px; background: none; color: #1d5a87; font: 700 15px/1.2 Manrope, sans-serif; text-decoration: underline; text-decoration-color: rgba(29,90,135,.35); text-underline-offset: 4px; }
.g6v-route-alt .g6v-route-chips a:hover { background: none; color: #095e93; text-decoration-color: currentColor; }
.g6v-route-alt .g6v-route-note { margin: 2px 0 0; font-size: 12.5px; }
.g6l-book--compact .g6l-person-book { background: none !important; color: #1d5a87 !important; min-height: 40px !important; text-decoration: underline; text-decoration-color: rgba(29,90,135,.35); text-underline-offset: 4px; }
.g6l-book--compact .g6l-person a:hover .g6l-person-book { color: #095e93 !important; }
@media (max-width: 760px) {
  .g6v-route-alt { margin: 18px -16px -16px; padding: 14px 16px 16px; border-radius: 0 0 22px 22px; }
}
.g6-landing .g6l-hero .g6v-route-card .g6v-route-alt p.g6v-route-q { margin: 0 0 4px; font: 500 14px/1.45 Manrope, sans-serif; color: #51647a; }
@media (max-width: 760px) {
  .g6v-route-alt .g6v-route-chips { display: grid; grid-template-columns: repeat(2, max-content); gap: 0 18px; }
  .g6v-route-alt .g6v-route-chips li + li::before { content: none; }
}
