/* Gen6 Slice 1. Source identity and page engines are retained in style.css. */
:root {
  --g6-paper: #FAFBFC;
  --g6-mist: #EEF3F7;
  --g6-ink: #16283E;
  --g6-channel: #2E6FA3;
  --g6-slate: #53677A; /* 2026-09-28: was #64798C (4.0–4.5:1 on paper/mist, fails AA); now >=5.2:1 */
  --g6-live-teal: #0FA3B1;
  --g6-line: rgba(22,40,62,.08);
  --g6-radius: 18px;
  --g6-header-h: 72px;
  --g6-subnav-h: 48px;
  --g6-display: 'Cormorant Garamond', Georgia, serif;
  --g6-ui: 'Manrope', sans-serif;
  --g6-motion: 180ms;
  --g6-floating-shadow: 0 16px 48px rgba(22,40,62,.12);
}
body.gen6 {
  --paper: var(--g6-paper); --mist: var(--g6-mist); --ink: var(--g6-ink);
  --channel: var(--g6-channel); --steel: var(--g6-slate); --signal: var(--g6-live-teal);
  --ink-900: var(--g6-ink); --ink-800: var(--g6-ink); --ink-700: var(--g6-channel);
  --sky-500: var(--g6-channel); --sky-700: var(--g6-channel);
  --foam-100: var(--g6-mist); --sand-100: var(--g6-paper);
  --text: var(--g6-ink); --text-soft: var(--g6-slate);
  --font-heading: var(--g6-display); --font-body: var(--g6-ui); --font-eyebrow: var(--g6-ui);
  --header-h: var(--g6-header-h); --radius-lg: var(--g6-radius); --radius-xl: 20px;
  padding-top: 0; background: var(--g6-paper); color: var(--g6-ink);
  overflow-x: clip; overflow-y: visible;
  font-family: var(--g6-ui); font-size: 16px; line-height: 1.65;
}
.gen6 #main-content { padding-top: 0; }
.gen6 .city-hero-nav-strip { display: none; }
.gen6 :is(h1,h2,h3) { font-family: var(--g6-display); text-wrap: balance; }
.gen6 h1 { font-size: clamp(2.75rem,5.2vw,5rem); line-height: 1.02; letter-spacing: -.035em; font-weight: 500; }
.gen6 h2 { font-size: clamp(2.1rem,3.5vw,3.75rem); line-height: 1.1; letter-spacing: -.025em; font-weight: 500; }
.gen6 h3 { font-size: clamp(1.5rem,2.3vw,2.25rem); line-height: 1.2; letter-spacing: -.015em; }
.gen6 h1 em { font-weight: 500; }
.gen6 .hero-editorial { padding-top: clamp(32px,5vw,72px); }
.gen6 :is(section[id],div[id],h2[id],h3[id]) { scroll-margin-top: calc(var(--g6-header-h) + var(--g6-subnav-h) + 24px); }
.gen6 :is(a,button,summary,input,select,textarea):focus-visible { outline: 2px solid var(--g6-channel); outline-offset: 4px; }
.g6-wrap { width: min(100% - 80px,1320px); margin-inline: auto; }
.g6-skip { position: fixed; top: 8px; left: 12px; z-index: 10000; padding: 12px 20px; background: var(--g6-ink); color: var(--g6-paper); border-radius: 8px; transform: translateY(-160%); }
.g6-skip:focus { transform: translateY(0); }
.g6-header { position: sticky; top: 0; z-index: 1200; height: var(--g6-header-h); background: var(--g6-paper); border-bottom: 1px solid transparent; transition: background var(--g6-motion),border-color var(--g6-motion); }
.g6-header.is-scrolled { border-bottom-color: var(--g6-line); }
.g6-header[data-over-video="true"]:not(.is-scrolled) { background: transparent; color: var(--g6-paper); }
.g6-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 100%; }
.g6-brand { display: inline-flex; align-items: center; justify-content: flex-start; width: 130px; min-height: 44px; flex: 0 0 130px; }
.g6-brand img { display: block; height: 56px; width: auto; max-width: 100%; object-fit: contain; }
.g6-primary { display: flex; align-items: center; justify-content: center; gap: 24px; }
.g6-primary > a,.g6-areas > summary { min-height: 44px; min-width: 44px; justify-content: center; display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; white-space: nowrap; color: var(--g6-ink); text-decoration: none; }
.g6-primary > a:hover,.g6-primary > a[aria-current="page"] { color: var(--g6-channel); }
.g6-areas > summary { cursor: pointer; list-style: none; }
.g6-areas > summary::-webkit-details-marker { display: none; }
.g6-areas > summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg) translateY(-2px); margin-left: 5px; }
.g6-areas[open] > summary::after { transform: rotate(225deg); }
.g6-area-panel { position: absolute; top: calc(100% - 1px); left: 50%; transform: translateX(-50%); width: min(900px,calc(100vw - 80px)); padding: 26px 32px 30px; background: var(--g6-paper); border: 1px solid var(--g6-line); border-radius: 0 0 var(--g6-radius) var(--g6-radius); box-shadow: var(--g6-floating-shadow); }
.g6-area-intro { margin: 0 0 18px; font-size: 14px; color: var(--g6-slate); }
.g6-area-tree { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.gen6 .g6-county h3 { font: 700 15px/1.4 var(--g6-ui); letter-spacing: 0; margin: 0 0 8px; }
.g6-area-tree ul { list-style: none; padding: 0; margin: 0; }
.g6-area-tree li { margin: 0; }
.g6-area-tree a,.g6-area-name { display: flex; align-items: center; min-height: 36px; font-size: 14px; line-height: 1.4; }
.g6-area-tree a { color: var(--g6-ink); text-decoration: underline; text-decoration-color: rgba(46,111,163,.3); text-underline-offset: 4px; min-height: 44px; }
.g6-area-tree a:hover { color: var(--g6-channel); }
.g6-area-name { color: var(--g6-slate); }
.g6-header-actions { display: flex; align-items: center; gap: 18px; }
.g6-phone { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; gap: 8px; font-size: 13px; font-weight: 600; white-space: nowrap; color: var(--g6-ink); text-decoration: none; }
.g6-phone svg { display: none; }
.g6-book { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border-radius: 999px; border: 1px solid var(--g6-ink); color: var(--g6-paper); background: var(--g6-ink); font: 600 13px/1.4 var(--g6-ui); white-space: nowrap; text-decoration: none; transition: background var(--g6-motion); }
.g6-book:hover { color: var(--g6-paper); background: var(--g6-channel); border-color: var(--g6-channel); }
.g6-menu-trigger,.g6-mobile-fallback { display: none; }
.g6-subnav { position: sticky; top: var(--g6-header-h); z-index: 1100; height: var(--g6-subnav-h); color: var(--g6-paper); background: var(--g6-ink); }
.g6-subnav-inner { height: 100%; display: flex; align-items: center; gap: 30px; }
.g6-subnav-place { flex: none; font-size: 14px; font-weight: 700; }
.g6-subnav-links { display: flex; gap: 24px; height: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.g6-subnav a { display: inline-flex; align-items: center; flex: none; min-height: 44px; color: var(--g6-paper); font-size: 13px; text-decoration: none; border-bottom: 3px solid transparent; }
.g6-subnav a[aria-current="location"] { border-bottom-color: var(--g6-live-teal); }
.g6-subnav a:focus-visible,.g6-footer a:focus-visible,.g6-footer summary:focus-visible { outline-color: var(--g6-paper); }
.g6-drawer { position: fixed; inset: 0 0 0 auto; width: min(100%,460px); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 24px; border: 0; background: var(--g6-paper); color: var(--g6-ink); overflow-y: auto; overscroll-behavior: contain; }
.g6-drawer::backdrop { background: rgba(22,40,62,.45); }
.g6-drawer-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.gen6 .g6-drawer h2 { font-size: 36px; margin: 0; max-width: 250px; }
.g6-drawer-close,.g6-menu-trigger { align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--g6-line); border-radius: 50%; background: transparent; color: var(--g6-ink); cursor: pointer; }
.g6-drawer-close { display: flex; }
.g6-drawer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--g6-line); }
.g6-drawer-links a { display: flex; align-items: center; min-height: 48px; color: var(--g6-ink); font: 600 16px/1.4 var(--g6-ui); }
.g6-drawer .g6-area-tree,.g6-footer .g6-area-tree { display: block; }
.g6-county summary { min-height: 48px; padding-block: 10px; font-size: 15px; font-weight: 600; cursor: pointer; }
.g6-drawer .g6-county { border-bottom: 1px solid var(--g6-line); }
.g6-drawer .g6-county ul { padding: 0 0 12px 12px; }
.g6-drawer .g6-phone { margin-top: 26px; display: flex; justify-content: flex-start; font-size: 16px; }
.g6-footer { background: var(--g6-ink); color: var(--g6-paper); padding: 64px 0 24px; }
.g6-footer-lead { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; padding-bottom: 30px; margin-bottom: 28px; border-bottom: 1px solid rgba(238,243,247,.18); }
.gen6 .g6-footer-lead h2 { font-size: clamp(32px,3.5vw,48px); margin: 0; color: var(--g6-paper); }
.g6-footer-lead p { margin: 0; font-size: 14px; }
.g6-footer-grid { display: grid; grid-template-columns: 1.1fr .85fr .95fr 1.15fr .8fr; gap: 36px; }
.gen6 .g6-footer h3 { font: 700 15px/1.4 var(--g6-ui); letter-spacing: 0; color: var(--g6-paper); margin: 0 0 16px; }
.g6-footer a { color: var(--g6-paper); text-decoration: none; }
.g6-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.g6-footer-list { margin: 0; padding: 0; list-style: none; }
.g6-footer-list a { display: flex; align-items: center; min-height: 44px; font-size: 14px; }
.g6-footer .g6-area-name { color: var(--g6-mist); }
.g6-footer .g6-county summary { border-bottom: 1px solid rgba(238,243,247,.18); }
.g6-footer .g6-county ul { padding: 8px 0 12px 12px; }
.g6-footer address { font-style: normal; font-size: 14px; line-height: 1.8; margin-bottom: 12px; }
.g6-footer-contact { display: flex; align-items: center; min-height: 44px; font-size: 14px; overflow-wrap: anywhere; }
.g6-footer-legal { font-size: 13px; line-height: 1.75; }
.g6-footer-bottom { padding-top: 24px; margin-top: 36px; border-top: 1px solid rgba(238,243,247,.18); font-size: 12px; line-height: 1.8; }
.g6-footer-bottom p { margin: 0 0 6px; }
.g6-footer-source { color: var(--g6-mist); }
@media (max-width: 1179px) {
  .g6-primary { display: none; }
  .g6-brand { margin-right: auto; }
  .g6-js .g6-menu-trigger { display: flex; }
  .g6-mobile-fallback { display: block; }
  .g6-js .g6-mobile-fallback { display: none; }
  .g6-mobile-fallback summary { min-width: 44px; min-height: 44px; display: flex; align-items: center; cursor: pointer; }
  .g6-mobile-fallback nav { position: absolute; top: 100%; left: 0; right: 0; padding: 20px; max-height: 80dvh; overflow-y: auto; background: var(--g6-paper); border-bottom: 1px solid var(--g6-line); }
  .g6-mobile-fallback nav > a { display: block; min-height: 44px; padding: 10px; }
  .g6-footer-grid { gap: 28px; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  :root { --g6-header-h: 60px; }
  .g6-wrap { width: calc(100% - 40px); }
  .g6-header .g6-wrap { width: calc(100% - 24px); }
  .g6-header-inner { gap: 8px; }
  .g6-brand { width: 76px; flex-basis: 76px; }
  .g6-brand img { height: 48px; }
  .g6-header-actions { gap: 4px; }
  .g6-phone svg { display: block; }
  .g6-phone span { display: none; }
  .g6-book { padding-inline: 14px; font-size: 12px; }
  .g6-subnav-place { display: none; }
  .g6-subnav-links { width: 100%; gap: 23px; }
  .g6-subnav .g6-wrap { width: calc(100% - 24px); }
  .g6-footer { padding-top: 40px; }
  .g6-footer-lead { display: block; padding-bottom: 22px; margin-bottom: 22px; }
  .g6-footer-lead p { margin-top: 12px; }
  .g6-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .g6-footer-grid > :first-child { grid-column: 1 / -1; }
  .g6-footer-grid > :nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
  .g6-footer-bottom { margin-top: 28px; }
  .g6-footer-contact { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .gen6 { --g6-motion: 0ms; }
  .gen6 *, .gen6 *::before, .gen6 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .gen6 .reveal-section,.gen6 .reveal { opacity: 1 !important; transform: none !important; }
}
@media print {
  .g6-header,.g6-subnav,.g6-drawer,.g6-mobile-fallback,.g6-skip { display: none !important; }
  .gen6 { background: var(--g6-paper); padding: 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .gen6 .reveal-section,.gen6 .reveal { opacity: 1 !important; transform: none !important; }
  .g6-footer { padding-top: 24px; break-inside: avoid; print-color-adjust: exact; }
  .g6-footer-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
  .g6-footer a::after { content: none !important; }
}

/* Text-only cards must not reserve space for quarantined generated imagery. */
.gen6 .home-video-cards .video-card:not(:has(img)) { grid-template-columns: minmax(0,1fr); }
.gen6 .insight-card__image:empty { display: none; }

/* R3: unavailable guides are text, not links. Scope outranks legacy span rules. */
.gen6 .g6-area-tree .g6-area-name,
.gen6 .g6-area-tree .g6-area-name:hover {
  color: var(--g6-slate); opacity: .8; cursor: default;
  background: transparent; text-decoration: none; transition: none;
}
.gen6 .g6-area-tree .g6-ready-guides a {
  color: var(--g6-ink); font-weight: 650; text-decoration: underline;
  text-underline-offset: 4px; cursor: pointer;
}
.gen6 .g6-planned-group { margin-top: 12px; }
.gen6 .g6-planned-note {
  margin: 0 0 4px; color: var(--g6-slate); font: 400 12px/1.5 var(--g6-ui);
}
.gen6 .g6-planned-note > span { font-weight: 650; font-size: 10px; margin-right: 5px; }
.gen6 .g6-footer .g6-area-name { color: var(--g6-mist); opacity: .65; }
.gen6 .g6-footer .g6-ready-guides a { color: var(--g6-paper); }
.gen6 .g6-footer .g6-planned-note { color: var(--g6-mist); }
.gen6 .g6-drawer .g6-ready-guides { padding-left: 0; }

/* 2026-10-01 wave1 chrome: Tools / Resources dropdowns, social icons, 5-col footer. */
@media (max-width: 1350px) {
  .g6-primary { gap: 14px; }
  .g6-header-inner { gap: 12px; }
}
.g6-drop-panel { width: min(560px,calc(100vw - 80px)); padding: 20px 24px 22px; }
.g6-drop-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.g6-drop-list a { display: flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.4; color: var(--g6-ink); text-decoration: underline; text-decoration-color: rgba(46,111,163,.3); text-underline-offset: 4px; }
.g6-drop-list a:hover { color: var(--g6-channel); }
.g6-drawer-group { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--g6-line); }
.g6-drawer-group-title { font: 700 13px/1.4 var(--g6-ui); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 4px; color: var(--g6-slate); }
.g6-drawer-group-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.g6-drawer-group-list a { display: flex; align-items: center; min-height: 48px; color: var(--g6-ink); font: 600 15px/1.4 var(--g6-ui); text-decoration: none; }
.g6-fallback-group summary { min-height: 44px; display: flex; align-items: center; padding: 10px; cursor: pointer; font-weight: 600; }
.g6-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.g6-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(238,243,247,.3); border-radius: 50%; color: var(--g6-paper); text-decoration: none; }
.g6-social a:hover { border-color: var(--g6-paper); text-decoration: none; }
.g6-footer-compact { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.g6-footer-compact a { font-size: 13px; }
@media (max-width: 1179px) {
  .g6-footer-grid > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .g6-social { margin-top: 16px; }
  .g6-footer-grid > :nth-child(3) { grid-column: auto; grid-row: auto; }
  .g6-footer-grid > :nth-child(4) { grid-column: 1 / -1; }
  .g6-footer-compact { grid-template-columns: 1fr 1fr; }
}